rip-lang 3.13.0 → 3.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/dist/rip.min.js +19 -19
- package/docs/dist/rip.min.js.br +0 -0
- package/package.json +1 -1
- package/src/compiler.js +20 -13
- package/src/repl.js +4 -1
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</p>
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
|
-
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.13.
|
|
12
|
+
<a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.13.1-blue.svg" alt="Version"></a>
|
|
13
13
|
<a href="#zero-dependencies"><img src="https://img.shields.io/badge/dependencies-ZERO-brightgreen.svg" alt="Dependencies"></a>
|
|
14
14
|
<a href="#"><img src="https://img.shields.io/badge/tests-1%2C243%2F1%2C243-brightgreen.svg" alt="Tests"></a>
|
|
15
15
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
|
package/docs/dist/rip.min.js
CHANGED
|
@@ -10,7 +10,7 @@ var c2=Object.defineProperty;var v2=($,W)=>{for(var A in W)c2($,A,{get:W[A],enum
|
|
|
10
10
|
`)u--;u++;let f=this.chunk.slice(u,U),Y=/^\s*$/.test(f)?f.length:null,F="";for(let R of A)if(R[0]==="NEOSTRING")F+=R[1];let _=null,X;Y2.lastIndex=0;while(X=Y2.exec(F))if(_===null||X[1].length>0&&X[1].length<_.length)_=X[1];if(Y===null)return _;if(_===null)return" ".repeat(Y);if(Y<=_.length)return" ".repeat(Y);return _}matchWithInterpolations($,W,A,U){if(!A)A=W;if(!U)U=/^[#$]\{/;let u=[],f=W.length;if(this.chunk.slice(0,f)!==W)return null;let Y=this.chunk.slice(f);while(!0){let[F]=$.exec(Y);u.push(["NEOSTRING",F,{offset:f}]),Y=Y.slice(F.length),f+=F.length;let _=U.exec(Y);if(!_)break;let R=_[0].length-1,w=Y.slice(R),H=new p().tokenize(w,{row:this.row,col:this.col+f+R,untilBalanced:!0,rewrite:!1}),Z=H.index+R;if(Y[Z-1]==="}"){let Q=H.tokens[0],M=H.tokens[H.tokens.length-1];Q[0]="INTERPOLATION_START",Q[1]="(",M[0]="INTERPOLATION_END",M[1]=")"}if(H.tokens[1]?.[0]==="TERMINATOR")H.tokens.splice(1,1);let K=H.tokens.length;if(K>2&&H.tokens[K-3]?.[0]==="INDENT"&&H.tokens[K-2]?.[0]==="OUTDENT")H.tokens.splice(K-3,2);u.push(["TOKENS",H.tokens]),Y=Y.slice(Z),f+=Z}if(Y.slice(0,A.length)!==A)g(`missing ${A}`,{row:this.row,col:this.col});return{tokens:u,index:f+A.length}}mergeInterpolationTokens($,{quote:W,indent:A,endOffset:U,raw:u}){if($.length>1)this.emit("STRING_START","(",{len:W?.length||0,data:{quote:W}});for(let f=0;f<$.length;f++){let[Y,F]=$[f];if(Y==="TOKENS")for(let _ of F)this.tokens.push(_);else if(Y==="NEOSTRING"){let _=F;if(A){let X=new RegExp("\\n"+A,"g");_=_.replace(X,`
|
|
11
11
|
`)}if(f===0&&W?.length===3)_=_.replace(/^\n/,"");if(f===$.length-1&&W?.length===3)_=_.replace(/\n[^\S\n]*$/,"");if(u)_=_.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${_}"`,{len:F.length,data:{quote:W}})}}if($.length>1)this.emit("STRING_END",")",{len:W?.length||0});return U}numberToken(){let $=U3.exec(this.chunk);if(!$)return 0;let W=$[0],A=W.length,U={row:this.row,col:this.col};if(/^0[BOX]/.test(W))g(`radix prefix in '${W}' must be lowercase`,{...U,col:U.col+1});if(/^0\d*[89]/.test(W))g(`decimal literal '${W}' must not be prefixed with '0'`,{...U,len:A});if(/^0\d+/.test(W))g(`octal literal '${W}' must be prefixed with '0o'`,{...U,len:A});let u=G3(W),f=u===1/0?"INFINITY":"NUMBER",Y={parsedValue:u};if(f==="INFINITY")Y.original=W;return this.emit(f,W,{len:A,data:Y}),A}regexToken(){let $=this.matchWithInterpolations(D3,"///");if($){let{tokens:X,index:R}=$,[w]=F2.exec(this.chunk.slice(R)),H=R+w.length;if(X.length===1||!X.some((Z)=>Z[0]==="TOKENS")){let Z=(X[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${Z}/${w}`,{len:H,data:{delimiter:"///",heregex:{flags:w}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(X,{quote:"///",endOffset:H-w.length}),w)this.emit(",",",",{len:0}),this.emit("STRING",`"${w}"`,{len:w.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return H}let W=w3.exec(this.chunk);if(!W)return 0;let[A,U,u]=W,f=this.prev();if(f){if(f.spaced&&J1.has(f[0])&&(!u||/^\/=?\s/.test(A)))return 0;if(s2.has(f[0])&&!(f.spaced&&J1.has(f[0])))return 0}if(!u)g("missing / (unclosed regex)",{row:this.row,col:this.col});let Y=A.length,[F]=F2.exec(this.chunk.slice(Y)),_=Y+F.length;if(!M3.test(F))g(`invalid regular expression flags ${F}`,{row:this.row,col:this.col+Y,len:F.length});return this.emit("REGEX",`/${U}/${F}`,{len:_,data:{delimiter:"/"}}),_}jsToken(){if(this.chunk[0]!=="`")return 0;let $=z3.exec(this.chunk)||H3.exec(this.chunk);if(!$)return 0;let W=$[1],A=$[0].length;return this.emit("JS",W,{len:A,data:{here:$[0].startsWith("```")}}),A}literalToken(){let $=W3.exec(this.chunk),W=$?$[0]:this.chunk.charAt(0),A=W,U=this.prev();if(_3.test(W))this.tagParameters();if(W==="="&&U&&U[1]==="."&&!U.spaced){let u=this.tokens,f=u.length-2;while(f>=1&&u[f][0]==="PROPERTY"&&u[f-1]?.[1]===".")f-=2;if(f>=0&&(u[f][0]==="IDENTIFIER"||u[f][0]===")"||u[f][0]==="]")){let Y=u.slice(f,u.length-1);U[0]="=",U[1]="=";for(let F of Y)this.tokens.push(K1(F[0],F[1],{pre:0,row:F[2],col:F[3],len:F[4]}));return this.tokens.push(K1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if(U&&(W==="="||A2.has(W))){if(W==="="&&(U[1]==="||"||U[1]==="&&"||U[1]==="??")&&!U.spaced)return U[0]="COMPOUND_ASSIGN",U[1]+="=",W.length}if(W==="("&&U?.[0]==="IMPORT")U[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&U?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,A="TERMINATOR";else if(W==="|>")A="PIPE";else if(W==="::=")A="TYPE_ALIAS";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")A="TYPE_ANNOTATION";else if(W==="~=")A="COMPUTED_ASSIGN";else if(W===":=")A="REACTIVE_ASSIGN";else if(W==="<=>")A="BIND";else if(W==="~>")A="EFFECT";else if(W==="=!")A="READONLY_ASSIGN";else if(W==="*"&&(!U||U[0]==="TERMINATOR"||U[0]==="INDENT"||U[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[1]||"")||this.chunk[1]==="@")){let u=this.chunk.slice(1),f=/^@(\s*)=(?!=)/.exec(u);if(f){let F=f[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let _=this.emit("PROPERTY","assign");return _.spaced=!0,this.emit("@","@"),this.emit(",",","),2+F.length+1}let Y=/^((?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(u);if(Y){let F=Y[1],_=Y[2],X=F.split("."),R=()=>{this.emit("IDENTIFIER",X[0]);for(let H=1;H<X.length;H++)this.emit(".","."),this.emit("PROPERTY",X[H])};R(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),R(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let w=this.prev();return w.mergeClose=!0,1+F.length+_.length+1}}else if(W==="*"&&U?.[0]==="EXPORT")A="EXPORT_ALL";else if(t2.has(W))A="MATH";else if(e2.has(W))A="COMPARE";else if(A2.has(W))A="COMPOUND_ASSIGN";else if(f3.has(W))A="UNARY_MATH";else if(u3.has(W))A="SHIFT";else if(W==="?"&&U?.spaced)A="SPACE?";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))A="?.";else if(U){if(W==="("&&!U.spaced&&J1.has(U[0])){if(U[0]==="?.")U[0]="ES6_OPTIONAL_CALL";A="CALL_START"}if(W==="["&&!U.spaced&&Z2.has(U[0])){if(A="INDEX_START",U[0]==="?.")U[0]="ES6_OPTIONAL_INDEX"}}if(W==="("||W==="{"||W==="[")this.ends.push({tag:r2[W],origin:[A,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(A,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let $=this.tokens.length-1,W=[];this.tokens[$][0]="PARAM_END";while($-- >0){let A=this.tokens[$];if(A[0]===")")W.push(A);else if(A[0]==="("||A[0]==="CALL_START")if(W.length)W.pop();else if(A[0]==="(")return A[0]="PARAM_START",this.tagDoIife($-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife($){let W=this.tokens[$??this.tokens.length-1];if(W?.[0]==="DO")W[0]="DO_IIFE"}rewrite($){return this.tokens=$,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.closeMergeAssignments(),this.tokens}removeLeadingNewlines(){let $=0;while(this.tokens[$]?.[0]==="TERMINATOR")$++;if($>0)this.tokens.splice(0,$)}closeOpenCalls(){this.scanTokens(($,W)=>{if($[0]==="CALL_START")this.detectEnd(W+1,(A)=>A[0]===")"||A[0]==="CALL_END",(A)=>A[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens(($,W)=>{if($[0]==="INDEX_START")this.detectEnd(W+1,(A)=>A[0]==="]"||A[0]==="INDEX_END",(A,U)=>{if(this.tokens[U+1]?.[0]===":")$[0]="[",A[0]="]";else A[0]="INDEX_END"});return 1})}normalizeLines(){let $=null,W=null,A=null,U=(f,Y)=>{return f[1]!==";"&&a2.has(f[0])&&!(f[0]==="TERMINATOR"&&f2.has(this.tokens[Y+1]?.[0]))&&!(f[0]==="ELSE"&&$!=="THEN")||f[0]==="INDENT"&&!f.generated&&($==="->"||$==="=>")||f[0]===","&&($==="->"||$==="=>")&&!this.commaInImplicitCall(Y)&&!this.commaInImplicitObject(Y)||U2.has(f[0])&&(this.tokens[Y-1]?.newLine||this.tokens[Y-1]?.[0]==="OUTDENT")},u=(f,Y)=>{let F=this.tokens[Y-1]?.[0]===","?Y-1:Y;this.tokens.splice(F,0,A)};this.scanTokens((f,Y,F)=>{let[_]=f;if(_==="TERMINATOR"){if(this.tokens[Y+1]?.[0]==="ELSE"&&this.tokens[Y-1]?.[0]!=="OUTDENT")return F.splice(Y,1,...this.makeIndentation()),1;if(f2.has(this.tokens[Y+1]?.[0]))return F.splice(Y,1),0}if(_==="CATCH")for(let X=1;X<=2;X++){let R=this.tokens[Y+X]?.[0];if(R==="OUTDENT"||R==="TERMINATOR"||R==="FINALLY")return F.splice(Y+X,0,...this.makeIndentation()),2+X}if((_==="->"||_==="=>")&&(this.tokens[Y+1]?.[0]===","||this.tokens[Y+1]?.[0]==="]"))return[W,A]=this.makeIndentation(),F.splice(Y+1,0,W,A),1;if($2.has(_)&&this.tokens[Y+1]?.[0]!=="INDENT"&&!(_==="ELSE"&&this.tokens[Y+1]?.[0]==="IF")){if($=_,[W,A]=this.makeIndentation(),_==="THEN")W.fromThen=!0;if(F.splice(Y+1,0,W),this.detectEnd(Y+2,U,u),_==="THEN")F.splice(Y,1);return 1}return 1})}tagPostfixConditionals(){let $=null,W=(U,u)=>{return U[0]==="TERMINATOR"||U[0]==="INDENT"&&!$2.has(this.tokens[u-1]?.[0])},A=(U)=>{if(U[0]!=="INDENT"||U.generated&&!U.fromThen)$[0]="POST_"+$[0]};this.scanTokens((U,u)=>{if(U[0]!=="IF"&&U[0]!=="UNLESS")return 1;return $=U,this.detectEnd(u+1,W,A),1})}addImplicitBracesAndParens(){let $=[],W=!1;this.scanTokens((A,U,u)=>{let[f]=A,Y=u[U-1]||[],F=u[U+1]||[],[_]=Y,[X]=F,R=U,w=(J)=>U-R+J,H=()=>$[$.length-1],Z=(J)=>J?.[2]?.ours,K=()=>Z(H())&&H()?.[0]==="(",Q=()=>Z(H())&&H()?.[0]==="{",M=(J)=>{$.push(["(",J,{ours:!0}]),u.splice(J,0,l("CALL_START","("))},D=()=>{$.pop(),u.splice(U,0,l("CALL_END",")")),U+=1},q=(J,G={})=>{$.push(["{",J,{sameLine:!0,startsLine:G.startsLine??!0,ours:!0}]);let I=l("{","{");if(!I.data)I.data={};I.data.generated=!0,u.splice(J,0,I)},O=(J)=>{J=J??U,$.pop(),u.splice(J,0,l("}","}")),U+=1};if((K()||Q())&&o2.has(f))return $.push(["CONTROL",U,{ours:!0}]),w(1);if(f==="INDENT"&&Z(H())){if(_!=="=>"&&_!=="->"&&_!=="["&&_!=="("&&_!==","&&_!=="{"&&_!=="ELSE"&&_!=="=")while(K()||Q()&&_!==":")if(K())D();else O();if(H()?.[2]?.ours&&H()[0]==="CONTROL")$.pop();return $.push([f,U]),w(1)}if(i.has(f))return $.push([f,U]),w(1);if(k.has(f)){while(Z(H()))if(K())D();else if(Q())O();else $.pop();$.pop()}if(L1.has(f)&&A.spaced&&(X1.has(X)||X==="..."&&X1.has(u[U+2]?.[0])||i2.has(X)&&!F.spaced&&!F.newLine)&&!((f==="]"||f==="}")&&(X==="->"||X==="=>")))return M(U+1),w(2);if(L1.has(f)&&this.tokens[U+1]?.[0]==="INDENT"&&this.looksObjectish(U+2)&&!this.findTagsBackwards(U,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return M(U+1),$.push(["INDENT",U+2]),w(3);if(f==="SPACE?")W=!0;if(f===":"){if(W)return W=!1,w(1);let J=k.has(this.tokens[U-1]?.[0])?$[$.length-1]?.[1]??U-1:U-1;if(this.tokens[U-2]?.[0]==="@")J=U-2;let G=J<=0||U1.has(this.tokens[J-1]?.[0])||this.tokens[J-1]?.newLine;if(H()){let[I,B]=H(),N=$[$.length-2];if((I==="{"||I==="INDENT"&&N?.[0]==="{"&&!Z(N))&&(G||this.tokens[J-1]?.[0]===","||this.tokens[J-1]?.[0]==="{"||this.tokens[J]?.[0]==="{"))return w(1)}return q(J,{startsLine:!!G}),w(2)}if(U1.has(f))for(let J=$.length-1;J>=0;J--){if(!Z($[J]))break;if($[J][0]==="{")$[J][2].sameLine=!1}let z=_==="OUTDENT"||Y.newLine,E=f==="||"||f==="&&",P=!1;if(E){let J=U+1,G=u[J]?.[0];if(G==="("||G==="["||G==="{"){for(let I=1;++J<u.length&&I>0;)if(G=u[J][0],G==="("||G==="["||G==="{")I++;else if(G===")"||G==="]"||G==="}")I--}else if(G&&G!=="TERMINATOR"&&G!=="OUTDENT"&&G!==",")J++;P=u[J]?.[0]===","}if(p2.has(f)&&!P||U2.has(f)&&z)while(Z(H())){let[J,,{sameLine:G,startsLine:I}]=H();if(K()&&_!==",")D();else if(Q()&&!E&&G&&f!=="TERMINATOR"&&_!==":")O();else if(Q()&&f==="TERMINATOR"&&_!==","&&!(I&&this.looksObjectish(U+1)))O();else if(H()?.[2]?.ours&&H()[0]==="CONTROL"&&u[H()[1]]?.[0]==="CLASS"&&f==="TERMINATOR")$.pop();else break}if(f===","&&!this.looksObjectish(U+1)&&Q()&&(X!=="TERMINATOR"||!this.looksObjectish(U+2))){let J=X==="OUTDENT"?1:0;while(Q())O(U+J)}return w(1)})}addImplicitCallCommas(){let $=0,W=0,A=this.tokens;while(W<A.length){let U=A[W][0],u=W>0?A[W-1][0]:null;if(U==="CALL_START"||U==="(")$++;if(U==="CALL_END"||U===")")$--;if($>0&&(U==="->"||U==="=>")&&d2.has(u))A.splice(W,0,l(",",",")),W++;W++}}scanTokens($){let W=0;while(W<this.tokens.length)W+=$.call(this,this.tokens[W],W,this.tokens)}detectEnd($,W,A,U={}){let u=0;while($<this.tokens.length){let f=this.tokens[$];if(u===0&&W.call(this,f,$))return A.call(this,f,$);if(i.has(f[0]))u++;if(k.has(f[0]))u--;if(u<0){if(U.returnOnNegativeLevel)return;return A.call(this,f,$)}$++}}closeMergeAssignments(){let $=this.tokens;for(let W=0;W<$.length;W++){if(!$[W].mergeClose)continue;let A=0;for(let U=W+1;U<$.length;U++){let u=$[U][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")A++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")A--;if(A<0||A===0&&u==="TERMINATOR"){$.splice(U,0,l("CALL_END",")",$[U-1]));break}if(U===$.length-1){$.splice(U+1,0,l("CALL_END",")",$[U]));break}}}}commaInImplicitCall($){let W=0;for(let A=$-1;A>=0;A--){let U=this.tokens[A][0];if(k.has(U)){W++;continue}if(i.has(U)){if(U==="INDENT")return!1;if(W--,W<0)return!1;continue}if(W>0)continue;if(L1.has(U)&&this.tokens[A].spaced){let u=this.tokens[A+1]?.[0];return X1.has(u)||u==="..."&&X1.has(this.tokens[A+2]?.[0])}}return!1}commaInImplicitObject($){let W=0;for(let A=$-1;A>=0;A--){let U=this.tokens[A][0];if(k.has(U)){W++;continue}if(i.has(U)){if(W--,W<0)return!1;continue}if(W>0)continue;if(U===":"&&A>0&&this.tokens[A-1][0]==="PROPERTY")return this.looksObjectish($+1);if(U1.has(U))return!1}return!1}looksObjectish($){if(!this.tokens[$])return!1;if(this.tokens[$]?.[0]==="@"&&this.tokens[$+2]?.[0]===":")return!0;if(this.tokens[$+1]?.[0]===":")return!0;if(i.has(this.tokens[$]?.[0])){let W=null;if(this.detectEnd($+1,(A)=>k.has(A[0]),(A,U)=>W=U),W&&this.tokens[W+1]?.[0]===":")return!0}return!1}findTagsBackwards($,W){let A=new Set(W),U=[];while($>=0){let u=this.tokens[$]?.[0];if(!U.length&&A.has(u))return!0;if(k.has(u))U.push(u);if(i.has(u)&&U.length)U.pop();if(!U.length&&(i.has(u)&&!this.tokens[$]?.generated||U1.has(u)))break;$--}return!1}makeIndentation($){let W=l("INDENT",2),A=l("OUTDENT",2);if($)W.generated=A.generated=!0,W.origin=A.origin=$;else W.explicit=A.explicit=!0;return[W,A]}}a1(p);var P3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,CodeLine:34,OperationLine:35,Assignable:36,Literal:37,Parenthetical:38,Range:39,Invocation:40,DoIife:41,This:42,Super:43,MetaProperty:44,AlphaNumeric:45,JS:46,Regex:47,UNDEFINED:48,NULL:49,BOOL:50,INFINITY:51,NAN:52,NUMBER:53,String:54,Identifier:55,IDENTIFIER:56,Property:57,PROPERTY:58,STRING:59,STRING_START:60,Interpolations:61,STRING_END:62,InterpolationChunk:63,INTERPOLATION_START:64,INTERPOLATION_END:65,INDENT:66,OUTDENT:67,REGEX:68,REGEX_START:69,REGEX_END:70,RegexWithIndex:71,",":72,"=":73,REACTIVE_ASSIGN:74,COMPUTED_ASSIGN:75,Block:76,READONLY_ASSIGN:77,EFFECT:78,SimpleAssignable:79,Array:80,Object:81,ThisProperty:82,".":83,"?.":84,INDEX_START:85,INDEX_END:86,Slice:87,ES6_OPTIONAL_INDEX:88,"{":89,ObjAssignable:90,":":91,FOR:92,ForVariables:93,FOROF:94,OptComma:95,"}":96,WHEN:97,OWN:98,AssignList:99,AssignObj:100,ObjRestValue:101,SimpleObjAssignable:102,"[":103,"]":104,"@":105,"...":106,ObjSpreadExpr:107,SUPER:108,Arguments:109,DYNAMIC_IMPORT:110,Elisions:111,ArgElisionList:112,OptElisions:113,ArgElision:114,Arg:115,Elision:116,RangeDots:117,"..":118,DEF:119,CALL_START:120,ParamList:121,CALL_END:122,PARAM_START:123,PARAM_END:124,FuncGlyph:125,"->":126,"=>":127,Param:128,ParamVar:129,Splat:130,ES6_OPTIONAL_CALL:131,ArgList:132,SimpleArgs:133,THIS:134,NEW_TARGET:135,IMPORT_META:136,"(":137,")":138,RETURN:139,THROW:140,YIELD:141,FROM:142,IfBlock:143,IF:144,ELSE:145,UnlessBlock:146,UNLESS:147,POST_IF:148,POST_UNLESS:149,TRY:150,Catch:151,FINALLY:152,CATCH:153,SWITCH:154,Whens:155,When:156,LEADING_WHEN:157,WhileSource:158,WHILE:159,UNTIL:160,Loop:161,LOOP:162,FORIN:163,BY:164,FORAS:165,AWAIT:166,FORASAWAIT:167,ForValue:168,CLASS:169,EXTENDS:170,ENUM:171,COMPONENT:172,ComponentBody:173,ComponentLine:174,RENDER:175,IMPORT:176,ImportDefaultSpecifier:177,ImportNamespaceSpecifier:178,ImportSpecifierList:179,ImportSpecifier:180,AS:181,DEFAULT:182,IMPORT_ALL:183,EXPORT:184,ExportSpecifierList:185,EXPORT_ALL:186,ExportSpecifier:187,UNARY:188,DO:189,DO_IIFE:190,UNARY_MATH:191,"-":192,"+":193,"?":194,"--":195,"++":196,MATH:197,"**":198,SHIFT:199,COMPARE:200,"&":201,"^":202,"|":203,"||":204,"??":205,"&&":206,"!?":207,PIPE:208,RELATION:209,"SPACE?":210,COMPOUND_ASSIGN:211},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",46:"JS",48:"UNDEFINED",49:"NULL",50:"BOOL",51:"INFINITY",52:"NAN",53:"NUMBER",56:"IDENTIFIER",58:"PROPERTY",59:"STRING",60:"STRING_START",62:"STRING_END",64:"INTERPOLATION_START",65:"INTERPOLATION_END",66:"INDENT",67:"OUTDENT",68:"REGEX",69:"REGEX_START",70:"REGEX_END",72:",",73:"=",74:"REACTIVE_ASSIGN",75:"COMPUTED_ASSIGN",77:"READONLY_ASSIGN",78:"EFFECT",83:".",84:"?.",85:"INDEX_START",86:"INDEX_END",88:"ES6_OPTIONAL_INDEX",89:"{",91:":",92:"FOR",94:"FOROF",96:"}",97:"WHEN",98:"OWN",103:"[",104:"]",105:"@",106:"...",108:"SUPER",110:"DYNAMIC_IMPORT",118:"..",119:"DEF",120:"CALL_START",122:"CALL_END",123:"PARAM_START",124:"PARAM_END",126:"->",127:"=>",131:"ES6_OPTIONAL_CALL",134:"THIS",135:"NEW_TARGET",136:"IMPORT_META",137:"(",138:")",139:"RETURN",140:"THROW",141:"YIELD",142:"FROM",144:"IF",145:"ELSE",147:"UNLESS",148:"POST_IF",149:"POST_UNLESS",150:"TRY",152:"FINALLY",153:"CATCH",154:"SWITCH",157:"LEADING_WHEN",159:"WHILE",160:"UNTIL",162:"LOOP",163:"FORIN",164:"BY",165:"FORAS",166:"AWAIT",167:"FORASAWAIT",169:"CLASS",170:"EXTENDS",171:"ENUM",172:"COMPONENT",175:"RENDER",176:"IMPORT",181:"AS",182:"DEFAULT",183:"IMPORT_ALL",184:"EXPORT",186:"EXPORT_ALL",188:"UNARY",189:"DO",190:"DO_IIFE",191:"UNARY_MATH",192:"-",193:"+",194:"?",195:"--",196:"++",197:"MATH",198:"**",199:"SHIFT",200:"COMPARE",201:"&",202:"^",203:"|",204:"||",205:"??",206:"&&",207:"!?",208:"PIPE",209:"RELATION",210:"SPACE?",211:"COMPOUND_ASSIGN"},parseTable:(()=>{let $=[107,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-1,1,2,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,1,1,0,2,1,5,-2,107,5,1,5,59,2,71,-3,-3,-3,-3,-3,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,127,-6,-6,-6,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,9,1,5,59,1,1,5,32,18,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,59,1,1,5,32,18,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,128,129,130,96,97,54,1,5,48,5,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,3,9,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,132,105,106,-13,-13,-13,-13,135,136,137,-13,138,-13,-13,-13,-13,-13,-13,-13,133,-13,139,-13,-13,134,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,131,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,59,1,1,5,11,1,1,1,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,140,141,142,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,9,1,5,59,1,1,5,32,18,16,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,59,1,1,5,32,18,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,143,144,145,146,147,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,152,104,-173,-173,-173,154,155,153,99,157,156,151,148,-173,-173,149,150,106,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,159,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,160,102,103,158,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,161,162,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,164,165,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,166,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,172,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,173,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,174,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,175,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,177,178,179,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,176,72,73,93,99,83,87,84,85,167,168,90,91,86,88,89,82,171,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,177,178,179,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,180,72,73,93,99,83,87,84,85,167,168,90,91,86,88,89,82,171,60,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,181,182,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,183,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,185,184,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,160,102,103,186,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,187,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,66,10,160,188,2,66,10,160,189,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,193,152,104,154,155,153,99,190,191,83,156,195,192,194,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,196,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,197,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,90,1,5,8,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,20,2,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,177,178,179,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-304,160,-304,102,103,-304,198,200,72,73,93,-304,99,-304,-304,-304,-304,-304,83,-304,87,-304,84,85,-304,-304,167,-304,168,90,91,86,88,89,82,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,199,171,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,1,66,201,2,66,10,160,202,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,203,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,204,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,139,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,3,1,8,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,205,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-224,206,-224,102,103,-224,53,52,72,73,93,-224,99,-224,-224,-224,-224,-224,83,-224,87,-224,84,85,-224,66,-224,167,-224,168,90,91,86,88,89,82,-224,69,64,65,207,54,94,-224,55,95,-224,-224,56,60,57,-224,-224,58,98,-224,-224,-224,49,-224,61,67,62,63,70,71,169,170,171,46,47,48,50,51,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,2,55,1,208,104,2,55,1,209,104,6,15,19,89,2,1,1,211,210,42,43,90,91,138,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,3,1,8,4,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,212,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-221,213,-221,102,103,-221,53,52,72,73,93,-221,99,-221,-221,-221,-221,-221,83,-221,87,-221,84,85,-221,66,-221,167,-221,168,90,91,86,88,89,82,-221,69,64,65,54,94,-221,55,95,-221,-221,56,60,57,-221,-221,58,98,-221,-221,-221,49,-221,61,67,62,63,70,71,169,170,171,46,47,48,50,51,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,9,54,1,1,3,1,29,88,1,5,214,218,104,105,106,217,215,216,219,60,14,1,3,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,14,2,3,2,9,4,2,1,1,7,1,1,1,32,2,1,10,4,4,177,178,226,227,228,229,221,222,223,224,232,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,225,104,105,106,102,103,53,233,72,73,93,220,83,87,84,85,66,167,168,90,91,86,88,89,82,61,67,62,230,231,171,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,234,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,235,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,236,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,242,102,103,243,53,52,72,73,93,99,59,83,237,87,247,84,85,238,239,241,244,240,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,83,2,24,11,249,250,248,139,2,109,11,251,139,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,54,1,5,51,1,1,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,252,253,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,83,254,1,83,255,54,11,35,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,54,11,35,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,256,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,257,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,258,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,259,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,261,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,160,102,103,260,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,23,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-109,267,100,101,269,104,270,253,105,106,-109,-109,-109,271,262,-109,263,268,272,264,265,266,273,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,177,178,179,34,35,36,274,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,233,72,73,93,99,83,87,84,85,167,168,90,91,86,88,89,82,171,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,11,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,55,1,5,53,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,6,54,5,1,1,2,1,278,105,106,275,276,277,109,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-5,279,-5,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-5,-5,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,-5,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,280,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,281,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,282,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,283,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,284,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,285,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,286,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,287,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,288,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,291,163,289,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,290,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,294,163,292,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,293,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,297,163,295,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,296,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,298,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,299,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,300,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,301,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,302,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,303,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,307,152,104,154,155,153,99,304,305,83,156,195,306,194,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,308,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,309,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,2,109,11,310,139,2,57,1,311,253,2,57,1,312,253,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,7,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,313,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,318,77,78,79,80,81,100,101,92,104,105,106,314,102,103,316,53,52,72,73,93,315,99,59,83,87,320,84,85,317,319,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,85,321,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,325,102,103,53,52,72,73,93,99,59,83,87,247,84,85,324,66,322,42,43,90,91,246,323,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,2,57,1,327,253,2,57,1,328,253,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,329,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,330,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,332,331,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,333,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,335,334,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,336,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,338,337,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,160,102,103,339,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,341,340,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,342,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,344,343,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,160,102,103,345,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,9,6,60,1,5,23,1,8,18,2,-217,-217,-217,347,348,-217,-217,-217,346,6,6,60,1,5,50,2,-174,-174,-174,-174,-174,-174,7,6,60,1,5,1,49,2,-178,-178,-178,-178,349,-178,-178,15,6,49,1,10,1,5,8,1,1,7,14,2,17,2,5,-181,152,104,-181,-181,-181,154,155,153,99,157,156,-181,-181,350,11,6,60,1,5,1,21,28,2,39,2,2,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,11,6,60,1,5,1,21,28,2,39,2,2,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,11,6,60,1,5,1,21,28,2,39,2,2,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,11,6,60,1,5,1,21,28,2,39,2,2,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,2,57,1,252,253,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,242,102,103,243,53,52,72,73,93,99,59,83,237,87,247,84,85,238,239,241,244,240,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,9,1,5,59,1,1,5,32,18,16,-170,-170,-170,-170,-170,-170,-170,-170,-170,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,352,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,351,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,125,126,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,118,-370,120,-370,-370,-370,9,1,5,59,1,1,5,32,18,16,-367,-367,-367,-367,-367,-367,-367,-367,-367,5,148,1,9,1,1,128,129,130,96,97,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,125,126,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,118,-371,120,-371,-371,-371,9,1,5,59,1,1,5,32,18,16,-368,-368,-368,-368,-368,-368,-368,-368,-368,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,125,126,-372,-372,-372,-372,-372,-372,-372,-372,-372,111,-372,-372,-372,-372,-372,-372,118,-372,120,-372,-372,-372,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,152,104,-173,-173,-173,154,155,153,99,157,156,151,353,-173,-173,149,150,2,66,10,160,158,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,161,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,164,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,5,15,108,2,1,1,211,167,168,90,91,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,125,126,-373,-373,-373,-373,-373,-373,-373,-373,-373,111,-373,-373,-373,-373,-373,-373,118,-373,120,-373,-373,-373,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,125,126,-374,-374,-374,-374,-374,-374,-374,-374,-374,111,-374,-374,-374,-374,-374,-374,118,-374,120,-374,-374,-374,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,125,126,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,118,-376,120,-376,-376,-376,2,81,8,354,99,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-86,-86,-378,-378,-378,-378,-86,-86,-86,-86,-86,-86,-86,-86,-378,-86,-378,-378,-378,-378,-378,-378,-378,-378,-86,-378,-378,-86,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-86,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,10,54,5,1,23,1,1,3,21,11,11,132,105,106,135,136,137,138,133,139,134,3,83,1,1,140,141,142,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-86,-86,-379,-379,-379,-379,-86,-86,-86,-86,-86,-86,-86,-86,-379,-86,-379,-379,-379,-379,-379,-379,-379,-379,-86,-379,-379,-86,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-86,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,357,355,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,356,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,127,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,124,125,126,96,97,-83,-83,-83,-83,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,358,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,66,10,68,160,359,360,46,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,361,362,363,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,4,94,69,2,2,365,364,366,367,11,55,1,24,1,1,7,4,10,2,24,39,152,104,154,155,153,99,368,157,156,195,194,11,55,1,24,1,1,7,4,10,2,24,39,152,104,154,155,153,99,369,157,156,195,194,3,66,10,88,160,370,371,5,72,22,69,2,2,372,-302,-302,-302,-302,6,72,1,21,69,2,2,-300,373,-300,-300,-300,-300,23,66,26,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,374,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,3,155,1,1,375,376,377,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,378,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,59,1,5,53,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-86,-86,-308,160,-308,-308,-86,-86,-86,379,-86,-86,-86,-86,-86,-308,-86,-308,-308,-308,-308,-308,-308,-308,-308,-86,-308,-308,-86,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,380,-308,-308,-86,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,8,4,1,1,1,1,1,2,1,383,384,385,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,381,382,63,70,71,44,45,68,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,125,126,-222,-222,-222,-222,-222,-222,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,386,99,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,125,126,-225,-225,-225,-225,-225,-225,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,387,99,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,388,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,3,66,10,44,160,390,389,2,66,10,160,391,9,1,5,59,1,1,5,32,18,16,-369,-369,-369,-369,-369,-369,-369,-369,-369,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,125,126,-219,-219,-219,-219,-219,-219,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,392,99,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,2,72,70,394,393,1,142,395,7,55,1,10,30,83,1,2,400,104,399,396,397,398,401,2,72,70,-337,-337,1,181,402,26,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,76,3,2,-109,267,100,101,407,104,270,253,105,106,406,-109,-109,271,262,403,263,268,272,264,265,266,273,408,404,405,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,409,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,410,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,411,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,142,412,56,1,5,53,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,144,145,146,147,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,2,6,132,107,413,105,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,414,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,31,6,60,1,5,20,12,2,11,1,4,26,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,127,-199,320,415,319,-199,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,243,53,52,72,73,93,99,59,83,416,87,247,84,85,418,417,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,420,421,-217,-217,419,-217,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,422,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,5,6,60,1,5,32,-145,-145,-145,-145,-145,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,242,102,103,243,53,52,72,73,93,99,59,83,87,247,84,85,424,423,241,244,240,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,5,6,60,1,5,32,-150,-150,-150,-150,-150,6,6,60,1,5,32,18,-200,-200,-200,-200,-200,-200,6,6,60,1,5,32,18,-201,-201,-201,-201,-201,-201,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,3,2,9,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-202,425,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-202,-202,102,103,-202,53,52,72,73,93,99,59,83,-202,87,84,85,66,-202,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,2,57,1,426,253,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,427,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,428,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,2,57,1,429,253,2,57,1,430,253,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,431,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,432,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,127,-255,-255,433,-255,-255,-255,-255,-255,-255,-255,-255,125,126,96,97,-255,-255,-255,-255,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,127,-257,-257,434,-257,-257,-257,-257,-257,-257,-257,-257,125,126,96,97,-257,-257,-257,-257,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,160,-264,-264,435,-264,-264,127,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,125,126,96,97,-264,-264,-264,-264,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,6,6,60,1,5,19,5,-114,-114,-114,-114,436,-114,8,6,60,1,5,23,1,8,18,-217,-217,-217,438,437,-217,-217,-217,7,6,60,1,5,1,18,5,-123,-123,-123,-123,439,-123,-123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,440,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,3,57,1,45,252,253,441,6,6,60,1,5,19,5,-126,-126,-126,-126,-126,-126,5,6,60,1,5,24,-110,-110,-110,-110,-110,11,6,60,1,5,1,10,1,1,6,5,24,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,11,6,60,1,5,1,10,1,1,6,5,24,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,11,6,60,1,5,1,10,1,1,6,5,24,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,5,6,60,1,5,24,-115,-115,-115,-115,-115,17,38,4,1,12,1,1,1,23,1,7,13,3,2,1,2,24,3,445,447,446,269,104,270,253,444,271,99,442,87,443,448,449,86,82,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,450,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,6,54,5,1,2,1,1,278,105,106,451,452,277,4,59,1,2,2,-58,-58,-58,-58,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,453,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,455,454,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,59,1,2,2,-63,-63,-63,-63,5,1,5,59,2,71,-4,-4,-4,-4,-4,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,125,126,-382,-382,-382,-382,-382,-382,-382,-382,110,111,-382,-382,-382,-382,-382,-382,118,-382,120,-382,-382,-382,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,125,126,-383,-383,-383,-383,-383,-383,-383,-383,110,111,-383,-383,-383,-383,-383,-383,118,-383,120,-383,-383,-383,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,125,126,-384,-384,-384,-384,-384,-384,-384,-384,-384,111,-384,-384,-384,-384,-384,-384,118,-384,120,-384,-384,-384,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,125,126,-385,-385,-385,-385,-385,-385,-385,-385,-385,111,-385,-385,-385,-385,-385,-385,118,-385,120,-385,-385,-385,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,125,126,-386,-386,-386,-386,-386,-386,109,108,110,111,-386,-386,-386,-386,-386,-386,118,-386,120,-386,-386,-386,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,125,126,-387,-387,-387,-387,-387,-387,109,108,110,111,112,-387,-387,-387,-387,-387,118,-387,120,-387,122,-387,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,125,126,-388,-388,-388,-388,-388,-388,109,108,110,111,112,113,-388,-388,-388,-388,118,-388,120,-388,122,-388,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,125,126,-389,-389,-389,-389,-389,-389,109,108,110,111,112,113,114,-389,-389,-389,118,-389,120,-389,122,-389,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,125,126,-390,-390,-390,-390,-390,-390,109,108,110,111,112,113,114,115,-390,-390,118,-390,120,-390,122,-390,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,125,126,-398,-398,-398,-398,-398,-398,109,108,110,111,112,113,114,115,116,-398,118,119,120,-398,122,-398,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,127,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,124,125,126,96,97,-399,-399,-399,-399,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,125,126,-397,-397,-397,-397,-397,-397,109,108,110,111,112,113,114,115,116,-397,118,-397,120,-397,122,-397,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,127,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,124,125,126,96,97,-400,-400,-400,-400,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,125,126,-401,-401,-401,-401,-401,-401,109,108,110,111,112,113,114,115,116,117,118,119,120,-401,122,-401,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,125,126,-402,-402,-402,-402,-402,-402,109,108,110,111,112,-402,-402,-402,-402,-402,118,-402,120,-402,-402,-402,23,91,1,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,456,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,127,-236,-236,-236,-236,-236,-236,-236,-236,-236,457,-236,125,126,96,97,-236,-236,-236,-236,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,127,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,124,125,126,96,97,-239,-239,-239,-239,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,94,69,2,2,459,458,460,461,11,55,1,24,1,1,7,4,10,2,24,39,152,104,154,155,153,99,462,157,156,195,194,11,55,1,24,1,1,7,4,10,2,24,39,152,104,154,155,153,99,463,157,156,195,194,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,464,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,127,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,125,126,96,97,-235,-235,-235,-235,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,127,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,124,125,126,96,97,-238,-238,-238,-238,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,26,86,6,14,11,1,30,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,465,127,320,466,319,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,467,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,468,99,59,83,87,320,84,85,317,319,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,86,469,1,86,470,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,471,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-164,102,103,53,52,72,73,93,-164,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,472,-46,-46,-46,-67,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,55,11,35,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,55,11,35,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,473,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,474,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,8,6,60,1,5,23,1,8,18,-217,-217,-217,476,475,-217,-217,-217,5,6,60,1,5,50,-194,-194,-194,-194,-194,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,325,102,103,53,52,72,73,93,99,59,83,87,247,84,85,324,66,42,43,90,91,246,477,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,28,6,60,1,5,20,12,18,26,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,127,-199,-199,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,23,86,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,478,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,479,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,125,126,-68,-68,-68,-68,-68,-68,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,480,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,481,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,127,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,124,125,126,96,97,-71,-71,-71,-71,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,482,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,483,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,127,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,124,125,126,96,97,-74,-74,-74,-74,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,484,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,127,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,124,125,126,96,97,-77,-77,-77,-77,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,485,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,486,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,127,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,124,125,126,96,97,-80,-80,-80,-80,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,487,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,3,125,1,1,488,90,91,17,6,49,1,10,1,13,1,1,7,7,7,1,1,1,16,6,1,-218,152,104,-218,-218,154,155,153,99,-218,157,-218,156,151,-218,489,150,2,6,60,490,491,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,492,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,6,6,60,1,5,50,2,-180,-180,-180,-180,-180,-180,55,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,2,6,61,107,493,9,6,60,1,5,23,1,8,18,2,-217,-217,-217,347,348,-217,-217,-217,494,1,67,495,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,125,126,-404,-404,-404,-404,-404,-404,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,496,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,497,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,127,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,124,125,126,96,97,-84,-84,-84,-84,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,498,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,499,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,2,66,10,160,500,6,55,1,10,10,5,8,501,104,160,503,502,99,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,504,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,505,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,506,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,507,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,94,508,1,165,509,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,510,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,10,55,1,24,1,1,7,14,2,24,39,152,104,154,155,153,99,157,156,195,511,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,512,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,3,155,1,1,513,376,377,4,67,78,11,1,514,515,516,377,3,67,78,12,-251,-251,-251,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,518,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,517,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,160,-306,-306,519,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,125,126,-306,-306,-306,-306,-306,-306,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,520,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,2,6,61,522,521,2,6,61,-314,-314,24,6,61,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,6,61,-318,-318,7,6,61,81,1,9,1,1,-319,-319,128,129,130,96,97,1,67,523,1,67,524,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,125,126,-227,-227,-227,-227,-227,-227,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,152,104,-173,-173,-173,154,155,153,99,157,156,151,525,-173,-173,149,150,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,1,67,526,3,54,5,1,527,105,106,3,89,89,5,529,528,219,3,54,5,1,530,105,106,1,142,531,8,6,60,1,5,23,1,8,18,-217,-217,-217,533,532,-217,-217,-217,5,6,60,1,5,24,-328,-328,-328,-328,-328,6,55,1,10,113,1,2,400,104,399,534,398,401,6,6,60,1,5,24,85,-333,-333,-333,-333,-333,535,6,6,60,1,5,24,85,-335,-335,-335,-335,-335,536,2,55,1,537,104,14,1,5,59,1,1,5,32,18,16,4,6,1,10,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,538,-339,-339,-339,-339,8,6,60,1,5,23,1,8,18,-217,-217,-217,540,539,-217,-217,-217,5,6,60,1,5,24,-357,-357,-357,-357,-357,6,55,1,10,116,3,2,542,104,406,408,541,405,12,6,60,1,5,1,10,1,1,6,5,24,61,-362,-362,-362,-362,-120,-120,-120,-120,-120,-362,-120,543,6,6,60,1,5,24,85,-365,-365,-365,-365,-365,544,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,546,545,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,547,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,127,-352,-352,-352,-352,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,548,99,3,54,5,1,549,105,106,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,2,6,61,107,550,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,551,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,422,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,5,6,60,1,5,32,-151,-151,-151,-151,-151,2,66,38,553,552,116,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,4,7,1,1,1,2,2,1,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-218,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-218,-218,102,103,243,53,52,72,73,93,99,59,-218,83,-218,87,247,84,85,555,554,244,240,66,-218,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,6,60,1,37,556,-152,-152,-152,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,420,421,-217,-217,557,-217,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,243,53,52,72,73,93,99,59,83,87,247,84,85,418,417,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,28,6,60,1,5,20,12,18,26,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,127,-186,-186,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,23,86,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,558,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,559,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,560,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,561,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,562,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,563,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,564,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,3,6,60,30,566,567,565,23,6,39,8,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,16,-218,267,100,101,269,104,270,253,105,106,-218,-218,271,569,-218,568,272,264,265,-218,266,273,-218,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,570,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,571,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,23,92,12,44,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,127,572,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,573,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,10,6,60,1,5,11,1,1,11,13,11,-127,-127,-127,-127,-129,-129,-129,-127,574,139,10,6,60,1,5,11,1,1,11,13,11,-128,-128,-128,-128,576,577,578,-128,575,139,9,6,60,1,5,11,1,1,11,24,-130,-130,-130,-130,-130,-130,-130,-130,-130,9,6,60,1,5,11,1,1,11,24,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,60,1,5,11,1,1,11,24,-132,-132,-132,-132,-132,-132,-132,-132,-132,9,6,60,1,5,11,1,1,11,24,-133,-133,-133,-133,-133,-133,-133,-133,-133,4,83,2,24,11,249,250,579,139,2,109,11,580,139,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,55,1,5,53,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,4,59,1,2,2,-59,-59,-59,-59,2,6,59,107,581,105,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,582,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,59,1,2,2,-62,-62,-62,-62,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,583,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,66,584,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,585,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,586,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,587,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,588,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,94,589,1,165,590,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,591,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,592,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-162,102,103,53,52,72,73,93,-162,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,26,67,25,14,11,1,30,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,593,127,320,466,319,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,67,594,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,24,67,19,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,595,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,23,86,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,596,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,597,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,3,6,60,56,599,600,598,112,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,7,3,4,7,1,1,1,2,2,5,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,-218,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-218,-218,102,103,53,52,72,73,93,99,59,-218,83,-218,87,247,84,85,601,66,-218,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,8,6,60,1,5,23,1,8,18,-217,-217,-217,476,602,-217,-217,-217,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,603,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,125,126,-69,-69,-69,-69,-69,-69,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,604,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,127,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,124,125,126,96,97,-72,-72,-72,-72,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,605,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,127,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,124,125,126,96,97,-75,-75,-75,-75,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,127,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,124,125,126,96,97,-78,-78,-78,-78,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,606,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,127,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,124,125,126,96,97,-81,-81,-81,-81,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,106,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,608,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,160,102,103,607,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,6,6,60,1,5,50,2,-175,-175,-175,-175,-175,-175,11,55,1,24,1,1,7,14,2,1,22,1,152,104,154,155,153,99,157,156,151,609,150,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,152,104,-173,-173,-173,154,155,153,99,157,156,151,610,-173,-173,149,150,28,6,60,1,5,20,30,2,24,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,127,-179,-179,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,55,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,3,125,1,1,611,90,91,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,612,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,125,126,-406,-406,-406,-406,-406,-406,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,613,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,66,10,160,614,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,2,66,10,160,615,2,66,10,160,616,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,26,66,10,16,5,51,1,9,1,1,4,28,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,617,127,618,124,125,126,96,97,619,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,620,127,621,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,622,127,623,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,624,127,625,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,626,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,627,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,628,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,94,69,2,2,-303,-303,-303,-303,27,72,20,2,54,1,9,1,1,3,2,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,127,-301,124,125,126,96,97,-301,-301,-301,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,67,78,11,1,629,630,516,377,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,2,66,10,160,631,3,67,78,12,-252,-252,-252,3,66,6,4,160,633,632,24,66,6,20,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,160,-310,-310,634,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,125,126,-310,-310,-310,-310,-310,-310,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,106,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,8,4,1,1,1,1,1,2,1,-316,383,384,385,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-316,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,635,63,70,71,44,45,68,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,8,6,60,1,5,23,1,8,18,-217,-217,-217,347,348,-217,-217,636,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,1,142,637,6,55,1,10,113,1,2,400,104,399,638,398,401,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,54,5,1,639,105,106,3,6,60,30,641,642,640,10,6,49,1,10,1,29,8,18,58,2,-218,400,104,-218,-218,-218,-218,-218,643,401,8,6,60,1,5,23,1,8,18,-217,-217,-217,533,644,-217,-217,-217,2,55,1,645,104,2,55,1,646,104,1,142,-338,3,54,5,1,647,105,106,3,6,60,30,649,650,648,10,6,49,1,10,1,29,8,18,60,5,-218,542,104,-218,-218,-218,-218,-218,408,651,8,6,60,1,5,23,1,8,18,-217,-217,-217,540,652,-217,-217,-217,6,6,60,1,5,24,85,-362,-362,-362,-362,-362,543,3,55,1,126,653,104,654,2,55,1,655,104,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,127,-345,-345,-345,-345,125,126,-345,-345,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,656,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,657,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,67,658,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,1,138,659,23,92,12,44,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,127,660,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,242,102,103,243,53,52,72,73,93,99,59,83,87,247,84,85,424,661,241,244,240,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,5,6,60,1,5,32,-146,-146,-146,-146,-146,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-153,-153,102,103,243,53,52,72,73,93,99,59,83,-153,87,247,84,85,418,417,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,243,53,52,72,73,93,99,59,83,87,247,84,85,424,662,244,240,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,2,66,1,553,663,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,664,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,66,10,160,665,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,125,126,-256,-256,-256,-256,-256,-256,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,125,126,-258,-258,-258,-258,-258,-258,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,27,6,60,1,5,20,4,52,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,666,-116,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,667,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,17,45,8,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,267,100,101,269,104,270,253,105,106,271,569,668,272,264,265,266,273,23,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-109,267,100,101,269,104,270,253,105,106,-109,-109,-109,271,569,-109,669,268,272,264,265,266,273,5,6,60,1,5,24,-111,-111,-111,-111,-111,6,6,60,1,5,19,5,-114,-114,-114,-114,670,-114,27,6,60,1,5,20,4,52,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,127,-118,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,671,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,6,6,60,1,5,19,5,-124,-124,-124,-124,-124,-124,23,92,12,44,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,127,672,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,9,6,60,1,5,11,1,1,11,24,-136,-136,-136,-136,-136,-136,-136,-136,-136,9,6,60,1,5,11,1,1,11,24,-137,-137,-137,-137,-137,-137,-137,-137,-137,2,57,1,673,253,2,57,1,674,253,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,675,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,676,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,9,6,60,1,5,11,1,1,11,24,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,60,1,5,11,1,1,11,24,-135,-135,-135,-135,-135,-135,-135,-135,-135,4,59,1,2,2,-60,-60,-60,-60,2,6,61,107,677,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,125,126,-403,-403,-403,-403,-403,-403,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,678,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,679,-283,-283,-283,-283,-283,-283,-283,-283,125,126,-283,-283,-283,680,-283,-283,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,681,-288,-288,-288,-288,-288,-288,-288,-288,125,126,-288,-288,-288,-288,-288,-288,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,682,-292,-292,-292,-292,-292,-292,-292,-292,125,126,-292,-292,-292,-292,-292,-292,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,683,-296,-296,-296,-296,-296,-296,-296,-296,125,126,-296,-296,-296,-296,-296,-296,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,684,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,685,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,125,126,-299,-299,-299,-299,-299,-299,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,67,19,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,86,686,1,86,687,23,86,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,688,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,53,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,247,84,85,689,66,42,43,90,91,246,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,326,245,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,325,102,103,53,52,72,73,93,99,59,83,87,247,84,85,324,66,42,43,90,91,246,690,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,5,6,60,1,5,50,-195,-195,-195,-195,-195,3,6,60,1,599,600,691,1,86,692,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,9,1,5,59,1,1,5,32,18,16,-169,-169,-169,-169,-169,-169,-169,-169,-169,6,6,60,1,5,50,2,-176,-176,-176,-176,-176,-176,8,6,60,1,5,23,1,8,18,-217,-217,-217,347,693,-217,-217,-217,2,66,10,160,607,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,694,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,695,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,696,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,697,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,698,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,25,66,10,16,5,51,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,699,127,700,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,701,127,702,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,2,66,10,160,703,1,67,704,4,6,61,78,12,705,-253,-253,-253,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,706,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,2,6,61,-315,-315,2,66,10,160,707,3,54,5,1,708,105,106,8,6,60,1,5,23,1,8,18,-217,-217,-217,533,709,-217,-217,-217,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,1,142,710,4,55,1,124,2,400,104,711,401,6,55,1,10,113,1,2,400,104,399,712,398,401,5,6,60,1,5,24,-329,-329,-329,-329,-329,3,6,60,1,641,642,713,5,6,60,1,5,24,-334,-334,-334,-334,-334,5,6,60,1,5,24,-336,-336,-336,-336,-336,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,14,1,5,59,1,1,5,32,18,16,4,6,1,10,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,714,-340,-340,-340,-340,4,55,1,126,5,542,104,408,715,6,55,1,10,116,3,2,542,104,406,408,716,405,5,6,60,1,5,24,-358,-358,-358,-358,-358,3,6,60,1,649,650,717,5,6,60,1,5,24,-363,-363,-363,-363,-363,5,6,60,1,5,24,-364,-364,-364,-364,-364,5,6,60,1,5,24,-366,-366,-366,-366,-366,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,127,-346,-346,-346,-346,125,126,-346,-346,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,718,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,420,421,-217,-217,719,-217,5,6,60,1,5,32,-147,-147,-147,-147,-147,5,6,60,1,5,32,-148,-148,-148,-148,-148,1,86,720,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,307,152,104,154,155,153,99,721,722,83,156,195,306,194,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,723,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,24,-112,-112,-112,-112,-112,8,6,60,1,5,23,1,8,18,-217,-217,-217,438,724,-217,-217,-217,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,725,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,564,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,726,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,6,6,60,1,5,19,5,-125,-125,-125,-125,-125,-125,9,6,60,1,5,11,1,1,11,24,-138,-138,-138,-138,-138,-138,-138,-138,-138,9,6,60,1,5,11,1,1,11,24,-139,-139,-139,-139,-139,-139,-139,-139,-139,23,86,6,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,727,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,728,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,65,729,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,730,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,731,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,732,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,733,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,734,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,735,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,736,-290,-290,-290,-290,-290,-290,-290,-290,125,126,-290,-290,-290,-290,-290,-290,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,737,-294,-294,-294,-294,-294,-294,-294,-294,125,126,-294,-294,-294,-294,-294,-294,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,1,86,738,5,6,60,1,5,50,-196,-196,-196,-196,-196,8,6,60,1,5,23,1,8,18,-217,-217,-217,476,739,-217,-217,-217,5,6,60,1,5,50,-197,-197,-197,-197,-197,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,3,6,60,1,490,491,740,25,66,10,16,56,1,9,1,1,4,28,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,741,127,124,125,126,96,97,742,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,743,127,744,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,745,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,746,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,747,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,748,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,749,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,67,750,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,3,67,78,12,-254,-254,-254,24,66,6,20,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,3,6,60,30,641,642,751,3,54,5,1,752,105,106,5,6,60,1,5,24,-330,-330,-330,-330,-330,8,6,60,1,5,23,1,8,18,-217,-217,-217,533,753,-217,-217,-217,5,6,60,1,5,24,-331,-331,-331,-331,-331,3,54,5,1,754,105,106,5,6,60,1,5,24,-359,-359,-359,-359,-359,8,6,60,1,5,23,1,8,18,-217,-217,-217,540,755,-217,-217,-217,5,6,60,1,5,24,-360,-360,-360,-360,-360,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,2,66,1,553,756,52,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,4,94,69,2,2,757,458,460,461,11,55,1,24,1,1,7,4,10,2,24,39,152,104,154,155,153,99,758,157,156,195,194,5,6,60,1,5,24,-117,-117,-117,-117,-117,3,6,60,1,566,567,759,27,6,60,1,5,20,4,52,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,127,-116,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,24,-119,-119,-119,-119,-119,9,6,60,1,5,11,1,1,11,24,-140,-140,-140,-140,-140,-140,-140,-140,-140,23,67,25,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,760,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,59,1,2,2,-61,-61,-61,-61,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,125,126,-284,-284,-284,761,-284,-284,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,762,-285,-285,-285,-285,-285,-285,-285,-285,125,126,-285,-285,-285,-285,-285,-285,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,125,126,-289,-289,-289,-289,-289,-289,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,125,126,-293,-293,-293,-293,-293,-293,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,125,126,-297,-297,-297,-297,-297,-297,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,763,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,764,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,61,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,3,6,60,1,599,600,765,6,6,60,1,5,50,2,-177,-177,-177,-177,-177,-177,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,766,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,767,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,768,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,769,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,1,142,770,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,3,6,60,1,641,642,771,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,6,60,1,649,650,772,5,6,60,1,5,32,-149,-149,-149,-149,-149,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,773,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,94,774,5,6,60,1,5,24,-113,-113,-113,-113,-113,1,86,775,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,776,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,777,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,125,126,-291,-291,-291,-291,-291,-291,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,125,126,-295,-295,-295,-295,-295,-295,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,50,-198,-198,-198,-198,-198,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,778,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,160,779,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,3,54,5,1,780,105,106,5,6,60,1,5,24,-332,-332,-332,-332,-332,5,6,60,1,5,24,-361,-361,-361,-361,-361,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,783,-288,-288,-288,-288,781,-288,782,-288,-288,-288,-288,-288,-288,-288,-288,125,126,-288,-288,-288,-288,-288,-288,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,784,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,9,6,60,1,5,11,1,1,11,24,-141,-141,-141,-141,-141,-141,-141,-141,-141,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,125,126,-286,-286,-286,-286,-286,-286,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,125,126,-287,-287,-287,-287,-287,-287,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,1,96,785,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,786,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,6,6,60,1,29,8,18,-218,-218,-218,-218,-218,-218,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,783,-290,-290,-290,-290,787,-290,788,-290,-290,-290,-290,-290,-290,-290,-290,125,126,-290,-290,-290,-290,-290,-290,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,783,-289,-289,-289,-289,789,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,125,126,-289,-289,-289,-289,-289,-289,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,96,790,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,2,1,791,163,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,167,168,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,169,170,171,46,47,48,50,51,1,96,792,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,783,-291,-291,-291,-291,793,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,125,126,-291,-291,-291,-291,-291,-291,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,1,96,794,57,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107],W=[],A=0,U,u,f,Y;while(A<$.length){U=$[A++],u={},f=0,Y=[];while(U--)f+=$[A++],Y.push(f);for(f of Y)u[f]=$[A++];W.push(u)}return W})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,45,1,45,1,55,1,57,1,54,1,54,3,61,1,61,2,63,3,63,5,63,2,63,1,47,1,47,3,71,3,71,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,36,1,36,1,36,1,79,1,79,1,79,3,79,3,79,4,79,6,79,4,79,6,79,4,79,5,79,7,79,3,79,3,79,4,79,6,81,10,81,12,81,11,81,13,81,4,99,0,99,1,99,3,99,4,99,6,100,1,100,1,100,3,100,5,100,3,100,5,102,1,102,1,102,1,90,1,90,3,90,4,90,1,101,2,101,2,107,1,107,1,107,1,107,1,107,1,107,2,107,2,107,2,107,2,107,3,107,3,107,4,107,6,80,2,80,3,80,4,112,1,112,3,112,4,112,4,112,6,114,1,114,2,113,1,113,2,111,1,111,2,116,1,116,2,117,1,117,1,39,5,87,3,87,2,87,2,87,1,32,6,32,3,15,5,15,2,34,5,34,2,125,1,125,1,121,0,121,1,121,3,121,4,121,6,128,1,128,3,128,2,128,1,129,1,129,1,129,1,129,1,130,2,40,2,40,2,40,3,40,2,40,2,109,2,109,4,132,1,132,3,132,4,132,4,132,6,115,1,115,1,115,1,115,1,133,1,133,3,42,1,42,1,82,2,43,3,43,4,43,6,44,3,44,3,76,2,76,3,38,3,38,5,95,0,95,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,143,3,143,5,146,3,146,5,22,1,22,3,22,1,22,3,22,3,22,7,22,3,22,3,23,2,23,3,23,4,23,5,151,3,151,3,151,2,26,5,26,7,26,4,26,6,155,1,155,2,156,3,156,4,158,2,158,4,158,2,158,4,24,2,24,2,24,2,24,1,161,2,161,2,161,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,168,1,168,3,93,1,93,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,28,4,173,1,173,3,173,2,174,1,174,1,174,1,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,179,1,179,3,179,4,179,4,179,6,180,1,180,3,180,1,180,3,177,1,178,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,185,1,185,3,185,4,185,4,185,6,187,1,187,3,187,3,187,1,187,3,35,2,35,2,35,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,41,2],ruleActions:($,W,A,U)=>{let u=W,f=W.length-1;switch($){case 1:return["program"];case 2:return["program",...u[f]];case 3:case 58:case 110:case 150:case 154:case 174:case 194:case 203:case 251:case 302:case 314:case 328:case 357:return[u[f]];case 4:case 111:case 175:case 195:case 204:case 315:case 329:case 358:return[...u[f-2],u[f]];case 5:case 60:case 157:case 316:return u[f-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 63:case 64:case 86:case 87:case 88:case 89:case 90:case 115:case 120:case 121:case 122:case 123:case 126:case 129:case 130:case 131:case 132:case 133:case 145:case 171:case 172:case 178:case 182:case 183:case 184:case 185:case 199:case 200:case 201:case 217:case 218:case 232:case 234:case 262:case 300:case 317:case 318:case 319:case 333:case 335:case 337:case 362:case 365:return u[f];case 47:return"undefined";case 48:return"null";case 57:return["str",...u[f-1]];case 59:case 151:case 155:case 252:return[...u[f-1],u[f]];case 61:case 193:case 197:case 331:case 360:return u[f-2];case 62:return"";case 65:return["regex",u[f-1]];case 66:return["regex-index",u[f-2],u[f]];case 67:return["regex-index",u[f],null];case 68:return["=",u[f-2],u[f]];case 69:return["=",u[f-3],u[f]];case 70:return["=",u[f-4],u[f-1]];case 71:return["state",u[f-2],u[f]];case 72:return["state",u[f-3],u[f]];case 73:return["state",u[f-4],u[f-1]];case 74:case 76:return["computed",u[f-2],u[f]];case 75:return["computed",u[f-3],u[f]];case 77:return["readonly",u[f-2],u[f]];case 78:return["readonly",u[f-3],u[f]];case 79:return["readonly",u[f-4],u[f-1]];case 80:case 82:return["effect",u[f-2],u[f]];case 81:return["effect",u[f-3],u[f]];case 83:case 84:case 85:return["effect",null,u[f]];case 91:case 100:case 138:return[".",u[f-2],u[f]];case 92:case 101:case 139:return["?.",u[f-2],u[f]];case 93:case 95:case 102:case 140:return["[]",u[f-3],u[f-1]];case 94:case 96:case 103:case 141:return["[]",u[f-5],u[f-2]];case 97:return[u[f-1][0],u[f-3],...u[f-1].slice(1)];case 98:return["optindex",u[f-4],u[f-1]];case 99:return["optindex",u[f-6],u[f-2]];case 104:return["object-comprehension",u[f-8],u[f-6],[["for-of",u[f-4],u[f-2],!1]],[]];case 105:return["object-comprehension",u[f-10],u[f-8],[["for-of",u[f-6],u[f-4],!1]],[u[f-2]]];case 106:return["object-comprehension",u[f-9],u[f-7],[["for-of",u[f-4],u[f-2],!0]],[]];case 107:return["object-comprehension",u[f-11],u[f-9],[["for-of",u[f-6],u[f-4],!0]],[u[f-2]]];case 108:return["object",...u[f-2]];case 109:case 152:case 173:case 192:return[];case 112:case 176:case 196:case 330:case 359:return[...u[f-3],u[f]];case 113:case 177:case 198:case 332:case 361:return[...u[f-5],...u[f-2]];case 114:return[u[f],u[f],null];case 116:return[u[f-2],u[f],":"];case 117:return[u[f-4],u[f-1],":"];case 118:return[u[f-2],u[f],"="];case 119:return[u[f-4],u[f-1],"="];case 124:return["dynamicKey",u[f-1]];case 125:return["[]","this",u[f-1]];case 127:case 128:case 186:return["...",u[f]];case 134:case 190:return["super",...u[f]];case 135:case 136:case 137:case 188:case 191:return[u[f-1],...u[f]];case 142:return["array"];case 143:return["array",...u[f-1]];case 144:return["array",...u[f-2],...u[f-1]];case 146:return[...u[f-2],...u[f]];case 147:return[...u[f-3],...u[f]];case 148:return[...u[f-2],...u[f-1]];case 149:return[...u[f-5],...u[f-4],...u[f-2],...u[f-1]];case 153:return[...u[f]];case 156:return null;case 158:return"..";case 159:case 202:return"...";case 160:return[u[f-2],u[f-3],u[f-1]];case 161:case 384:case 386:case 387:case 402:case 404:return[u[f-1],u[f-2],u[f]];case 162:return[u[f],u[f-1],null];case 163:return[u[f-1],null,u[f]];case 164:return[u[f],null,null];case 165:return["def",u[f-4],u[f-2],u[f]];case 166:return["def",u[f-1],[],u[f]];case 167:case 169:return[u[f-1],u[f-3],u[f]];case 168:case 170:return[u[f-1],[],u[f]];case 179:case 301:return["default",u[f-2],u[f]];case 180:return["rest",u[f]];case 181:return["expansion"];case 187:return["tagged-template",u[f-1],u[f]];case 189:return["optcall",u[f-2],...u[f]];case 205:case 206:return"this";case 207:return[".","this",u[f]];case 208:return[".","super",u[f]];case 209:return["[]","super",u[f-1]];case 210:return["[]","super",u[f-2]];case 211:return[".","new",u[f]];case 212:return[".","import",u[f]];case 213:return["block"];case 214:return["block",...u[f-1]];case 215:return u[f-1].length===1?u[f-1][0]:["block",...u[f-1]];case 216:return u[f-2].length===1?u[f-2][0]:["block",...u[f-2]];case 219:return["return",u[f]];case 220:return["return",u[f-1]];case 221:return["return"];case 222:return["throw",u[f]];case 223:return["throw",u[f-1]];case 224:return["yield"];case 225:return["yield",u[f]];case 226:return["yield",u[f-1]];case 227:return["yield-from",u[f]];case 228:return["if",u[f-1],u[f]];case 229:return u[f-4].length===3?["if",u[f-4][1],u[f-4][2],["if",u[f-1],u[f]]]:[...u[f-4],["if",u[f-1],u[f]]];case 230:return["if",["!",u[f-1]],u[f]];case 231:return["if",["!",u[f-3]],u[f-2],u[f]];case 233:return u[f-2].length===3?["if",u[f-2][1],u[f-2][2],u[f]]:[...u[f-2],u[f]];case 235:case 236:return["if",u[f],[u[f-2]]];case 237:return["?:",u[f-4],u[f-6],u[f-1]];case 238:case 239:return["if",["!",u[f]],[u[f-2]]];case 240:return["try",u[f]];case 241:return["try",u[f-1],u[f]];case 242:return["try",u[f-2],u[f]];case 243:return["try",u[f-3],u[f-2],u[f]];case 244:case 245:case 367:case 370:case 372:return[u[f-1],u[f]];case 246:return[null,u[f]];case 247:return["switch",u[f-3],u[f-1],null];case 248:return["switch",u[f-5],u[f-3],u[f-1]];case 249:return["switch",null,u[f-1],null];case 250:return["switch",null,u[f-3],u[f-1]];case 253:return["when",u[f-1],u[f]];case 254:return["when",u[f-2],u[f-1]];case 255:return["while",u[f]];case 256:return["while",u[f-2],u[f]];case 257:return["while",["!",u[f]]];case 258:return["while",["!",u[f-2]],u[f]];case 259:return u[f-1].length===2?[u[f-1][0],u[f-1][1],u[f]]:[u[f-1][0],u[f-1][1],u[f-1][2],u[f]];case 260:case 261:return u[f].length===2?[u[f][0],u[f][1],[u[f-1]]]:[u[f][0],u[f][1],u[f][2],[u[f-1]]];case 263:return["loop",u[f]];case 264:return["loop",[u[f]]];case 265:return["loop-n",u[f-1],u[f]];case 266:return["for-in",u[f-3],u[f-1],null,null,u[f]];case 267:return["for-in",u[f-5],u[f-3],null,u[f-1],u[f]];case 268:return["for-in",u[f-5],u[f-3],u[f-1],null,u[f]];case 269:return["for-in",u[f-7],u[f-5],u[f-1],u[f-3],u[f]];case 270:return["for-in",u[f-7],u[f-5],u[f-3],u[f-1],u[f]];case 271:return["for-of",u[f-3],u[f-1],!1,null,u[f]];case 272:return["for-of",u[f-5],u[f-3],!1,u[f-1],u[f]];case 273:return["for-of",u[f-3],u[f-1],!0,null,u[f]];case 274:return["for-of",u[f-5],u[f-3],!0,u[f-1],u[f]];case 275:return["for-as",u[f-3],u[f-1],!1,null,u[f]];case 276:return["for-as",u[f-5],u[f-3],!1,u[f-1],u[f]];case 277:case 279:return["for-as",u[f-3],u[f-1],!0,null,u[f]];case 278:case 280:return["for-as",u[f-5],u[f-3],!0,u[f-1],u[f]];case 281:return["for-in",[],u[f-1],null,null,u[f]];case 282:return["for-in",[],u[f-3],u[f-1],null,u[f]];case 283:return["comprehension",u[f-4],[["for-in",u[f-2],u[f],null]],[]];case 284:return["comprehension",u[f-6],[["for-in",u[f-4],u[f-2],null]],[u[f]]];case 285:return["comprehension",u[f-6],[["for-in",u[f-4],u[f-2],u[f]]],[]];case 286:return["comprehension",u[f-8],[["for-in",u[f-6],u[f-4],u[f]]],[u[f-2]]];case 287:return["comprehension",u[f-8],[["for-in",u[f-6],u[f-4],u[f-2]]],[u[f]]];case 288:return["comprehension",u[f-4],[["for-of",u[f-2],u[f],!1]],[]];case 289:return["comprehension",u[f-6],[["for-of",u[f-4],u[f-2],!1]],[u[f]]];case 290:return["comprehension",u[f-5],[["for-of",u[f-2],u[f],!0]],[]];case 291:return["comprehension",u[f-7],[["for-of",u[f-4],u[f-2],!0]],[u[f]]];case 292:return["comprehension",u[f-4],[["for-as",u[f-2],u[f],!1,null]],[]];case 293:return["comprehension",u[f-6],[["for-as",u[f-4],u[f-2],!1,null]],[u[f]]];case 294:return["comprehension",u[f-5],[["for-as",u[f-2],u[f],!0,null]],[]];case 295:return["comprehension",u[f-7],[["for-as",u[f-4],u[f-2],!0,null]],[u[f]]];case 296:return["comprehension",u[f-4],[["for-as",u[f-2],u[f],!0,null]],[]];case 297:return["comprehension",u[f-6],[["for-as",u[f-4],u[f-2],!0,null]],[u[f]]];case 298:return["comprehension",u[f-2],[["for-in",[],u[f],null]],[]];case 299:return["comprehension",u[f-4],[["for-in",[],u[f-2],u[f]]],[]];case 303:case 334:case 336:case 363:case 364:case 366:return[u[f-2],u[f]];case 304:return["class",null,null];case 305:return["class",null,null,u[f]];case 306:return["class",null,u[f]];case 307:return["class",null,u[f-1],u[f]];case 308:return["class",u[f],null];case 309:return["class",u[f-1],null,u[f]];case 310:return["class",u[f-2],u[f]];case 311:return["class",u[f-3],u[f-1],u[f]];case 312:return["enum",u[f-1],u[f]];case 313:return["component",null,["block",...u[f-1]]];case 320:return["render",u[f]];case 321:case 324:return["import","{}",u[f]];case 322:case 323:return["import",u[f-2],u[f]];case 325:return["import",u[f-4],u[f]];case 326:return["import",[u[f-4],u[f-2]],u[f]];case 327:return["import",[u[f-7],u[f-4]],u[f]];case 338:return["*",u[f]];case 339:return["export","{}"];case 340:return["export",u[f-2]];case 341:case 342:case 343:case 344:case 348:case 349:case 350:case 351:return["export",u[f]];case 345:return["export",["=",u[f-2],u[f]]];case 346:return["export",["=",u[f-3],u[f]]];case 347:return["export",["=",u[f-4],u[f-1]]];case 352:return["export-default",u[f]];case 353:return["export-default",u[f-1]];case 354:return["export-all",u[f]];case 355:return["export-from","{}",u[f]];case 356:return["export-from",u[f-4],u[f]];case 368:case 369:case 371:case 407:return["do-iife",u[f]];case 373:return["-",u[f]];case 374:return["+",u[f]];case 375:return["?",u[f-1]];case 376:return["await",u[f]];case 377:return["await",u[f-1]];case 378:return["--",u[f],!1];case 379:return["++",u[f],!1];case 380:return["--",u[f-1],!0];case 381:return["++",u[f-1],!0];case 382:return["+",u[f-2],u[f]];case 383:return["-",u[f-2],u[f]];case 385:return["**",u[f-2],u[f]];case 388:return["&",u[f-2],u[f]];case 389:return["^",u[f-2],u[f]];case 390:return["|",u[f-2],u[f]];case 391:case 392:case 393:case 394:case 395:case 396:return["control",u[f-1],u[f-2],u[f]];case 397:return["&&",u[f-2],u[f]];case 398:return["||",u[f-2],u[f]];case 399:return["??",u[f-2],u[f]];case 400:return["!?",u[f-2],u[f]];case 401:return["|>",u[f-2],u[f]];case 403:return["?:",u[f-4],u[f-2],u[f]];case 405:return[u[f-3],u[f-4],u[f-1]];case 406:return[u[f-2],u[f-3],u[f]]}},parseError($,W){let A,U,u,f,Y,F,_;if(W.recoverable)return this.trace($);else throw u=(W.line||0)+1,A=W.loc?.c||0,_=W.token?` (token: ${W.token})`:"",F=W.text?` near '${W.text}'`:"",f=`line ${u}, column ${A}`,Y=`Parse error at ${f}${_}${F}: ${$}`,U=Error(Y),U.hash=W,U},parse($){let W,A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P,J,G,I,B;[z,B,R]=[[0],[null],[]],[Z,I,J,P,M]=[this.parseTable,"",0,0,0],[A,W]=[2,1],_=Object.create(this.lexer),q={ctx:{}};for(let N in this.ctx){if(!Object.hasOwn(this.ctx,N))continue;let T=this.ctx[N];q.ctx[N]=T}if(_.setInput($,q.ctx),[q.ctx.lexer,q.ctx.parser]=[_,this],_.loc==null)_.loc={};G=_.loc,R.push(G),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,F=()=>{let N;if(N=_.lex()||W,typeof N!=="number")N=this.symbolIds[N]||N;return N},E=K=O=U=Q=H=Y=w=f=null,D={};while(!0){if(O=z[z.length-1],E==null)E=F();if(U=Z[O]?.[E],U==null){if(u="",!M)f=(()=>{let N=[];for(let T in Z[O]){if(!Object.hasOwn(Z[O],T))continue;if(this.tokenNames[T]&&T>A)N.push(`'${this.tokenNames[T]}'`)}return N})();throw u=(()=>{if(_.showPosition)return`Parse error on line ${J+1}:
|
|
12
12
|
${_.showPosition()}
|
|
13
|
-
Expecting ${f.join(", ")}, got '${this.tokenNames[E]||E}'`;else return`Parse error on line ${J+1}: Unexpected ${E===W?"end of input":`'${this.tokenNames[E]||E}'`}`,this.parseError(u,{text:_.match,token:this.tokenNames[E]||E,line:_.line,loc:G,expected:f})})(),Error(u)}if(U>0)if(z.push(E,U),B.push(_.text),R.push(_.loc),E=null,!K){if([P,I,J,G]=[_.len,_.text,_.line,_.loc],M>0)M--}else[E,K]=[K,null];else if(U<0){if(Y=this.ruleTable[-U*2+1],D.$=B[B.length-Y],X=R[R.length-(Y||1)],D._$={r:X.r,c:X.c},Q=this.ruleActions.call(D,-U,B,R,q.ctx),Q!=null)D.$=Q;if(Array.isArray(D.$))D.$.loc=D._$;if(Y)z.length-=Y*2,B.length-=Y,R.length-=Y;z.push(this.ruleTable[-U*2]),B.push(D.$),R.push(D._$),w=Z[z[z.length-2]][z[z.length-1]],z.push(w)}else if(U===0)return B[B.length-1]}},trace(){},ctx:{}},E3=($={})=>{let W=Object.create(P3);return Object.defineProperty(W,"ctx",{value:{...$},enumerable:!1,writable:!0,configurable:!0}),W},s=E3();var i3=s.parse.bind(s);var I3=new Set(["html","head","title","base","link","meta","style","body","address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rp","rt","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","area","audio","img","map","track","video","embed","iframe","object","param","picture","portal","source","svg","math","canvas","noscript","script","del","ins","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr","button","datalist","fieldset","form","input","label","legend","meter","optgroup","option","output","progress","select","textarea","details","dialog","menu","summary","slot","template"]),W1=new Set(["svg","g","defs","symbol","use","marker","clipPath","mask","pattern","circle","ellipse","line","path","polygon","polyline","rect","text","textPath","tspan","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","animate","animateMotion","animateTransform","set","mpath","desc","foreignObject","image","metadata","switch","title","view"]),R2=new Set([...I3,...W1]);var Q2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted"]),B3=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]);function N3($){for(let W of $){if(!Array.isArray(W))continue;let A=W[0]instanceof String?W[0].valueOf():W[0],U=W[1]instanceof String?W[1].valueOf():W[1];if(A==="type"&&typeof U==="string")return U.replace(/^["']|["']$/g,"")}return null}function w1($){if(typeof $==="string")return $;if(Array.isArray($)&&$[0]==="."&&$[1]==="this"&&typeof $[2]==="string")return $[2];return null}function h1($){return Array.isArray($)&&$[0]==="."&&$[1]==="this"}function X2($,W,A){let U=A($);if(!/_frag\d+$/.test(U))return null;let u=[],f=new RegExp(`^${U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\.appendChild\\(([^)]+)\\);`);for(let Y of W){let F=A(Y).match(f);if(F)u.push(F[1])}return u.length>0?u:null}function J2($,W){W.prototype.rewriteRender=function(){let U=(Z,K,Q)=>{let M=[Z,K];if(M.pre=0,M.data=null,M.loc=Q?.loc??{r:0,c:0,n:0},M.spaced=!1,M.newLine=!1,M.generated=!0,Q)M.origin=Q;return M},u=!1,f=0,Y=0,F=[],_=(Z)=>{let K=Z.split("#")[0];return R2.has(K)},X=(Z)=>{if(!Z||typeof Z!=="string")return!1;return/^[A-Z]/.test(Z)},R=(Z)=>{return _(Z)||X(Z)},w=(Z,K,Q,M)=>{let D=1,q=K;while(q>=0&&D>0){let O=Z[q][0];if(O===Q)D++;else if(O===M)D--;if(D>0)q--}return q},H=(Z,K)=>{let Q=K;while(Q>0){let M=Z[Q-1][0];if(M==="TERMINATOR"||M==="RENDER")break;if(M==="INDENT"||M==="OUTDENT"){let D=Z[Q][0];if(D==="CALL_END"||D===")"){Q=w(Z,Q-1,D,D==="CALL_END"?"CALL_START":"(");continue}break}if(M==="CALL_END"||M===")"){Q=w(Z,Q-2,M,M==="CALL_END"?"CALL_START":"(");continue}if(M==="INTERPOLATION_END"){Q=w(Z,Q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(M==="STRING_END"){Q=w(Z,Q-2,"STRING_END","STRING_START");continue}Q--}return Z[Q]&&Z[Q][0]==="IDENTIFIER"&&R(Z[Q][1])};this.scanTokens(function(Z,K,Q){let M=Z[0],D=K<Q.length-1?Q[K+1]:null;if(M==="RENDER")return u=!0,f=Y+1,1;if(M==="INDENT")return Y++,1;if(M==="OUTDENT"){Y--;let q=0;while(F.length>0&&F[F.length-1]>Y){let O=U("CALL_END",")",Z);Q.splice(K+1+q,0,O),F.pop(),q++}if(u&&Y<f)u=!1;return 1+q}if(!u)return 1;if(M==="IDENTIFIER"&&!Z.spaced){let q=[Z[1]],O=K+1;while(O+1<Q.length){let z=Q[O],E=Q[O+1];if(z[0]==="-"&&!z.spaced&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")){if(q.push(E[1]),O+=2,E[0]==="PROPERTY")break}else break}if(q.length>1&&O>K+1&&Q[O-1][0]==="PROPERTY")return Z[0]="STRING",Z[1]=`"${q.join("-")}"`,Q.splice(K+1,O-K-1),1}if(M==="."){let q=K>0?Q[K-1]:null,O=q?q[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(D&&D[0]==="PROPERTY"){let z=U("IDENTIFIER","div",Z);return Q.splice(K,0,z),2}if(!D||D[0]!=="(")return Z[0]="IDENTIFIER",Z[1]="div",0}}if(M==="IDENTIFIER"||M==="PROPERTY"){let q=Q[K+1],O=Q[K+2];if(q&&q[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(Z[1]=Z[1]+"#"+O[1],O.spaced)Z.spaced=!0;return Q.splice(K+1,2),1}}if(M==="BIND"){let q=K>0?Q[K-1]:null,O=Q[K+1];if(q&&(q[0]==="IDENTIFIER"||q[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return q[1]=`__bind_${q[1]}__`,Z[0]=":",Z[1]=":",1}if(M==="@"){let q=K+1;if(q<Q.length&&Q[q][0]==="PROPERTY"){q++;while(q+1<Q.length&&Q[q][0]==="."&&Q[q+1][0]==="PROPERTY")q+=2;if(q>K+2&&q<Q.length&&Q[q][0]===":"){let O=U("[","[",Z);Q.splice(K,0,O);let z=U("]","]",Q[q+1]);return Q.splice(q+1,0,z),2}}}if(M==="."&&D&&D[0]==="("){let q=K>0?Q[K-1]:null,O=q?q[0]:null,z=O==="INDENT"||O==="TERMINATOR",E=U("PROPERTY","__clsx",Z);D[0]="CALL_START";let P=1;for(let J=K+2;J<Q.length&&P>0;J++)if(Q[J][0]==="("||Q[J][0]==="CALL_START")P++;else if(Q[J][0]===")"){if(P--,P===0)Q[J][0]="CALL_END"}else if(Q[J][0]==="CALL_END")P--;if(z){let J=U("IDENTIFIER","div",Z);return Q.splice(K,0,J),Q.splice(K+2,0,E),3}else if(O===":")return Q[K]=U("IDENTIFIER","__clsx",Z),1;else return Q.splice(K+1,0,E),2}if(D&&D[0]==="INDENT"){if(M==="->"||M==="=>"||M==="CALL_START"||M==="(")return 1;let q=!1,O=K>0?Q[K-1][0]:null,z=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN",E=!1;if(M==="CALL_END"){let P=1;for(let J=K-1;J>=0&&P>0;J--)if(Q[J][0]==="CALL_END")P++;else if(Q[J][0]==="CALL_START"){if(P--,P===0&&J>0&&Q[J-1][0]==="PROPERTY"&&Q[J-1][1]==="__clsx")E=!0}}if(E)q=!0;else if(M==="IDENTIFIER"&&R(Z[1])&&!z)q=!0;else if(M==="PROPERTY"||M==="STRING"||M==="STRING_END"||M==="CALL_END"||M===")")q=H(Q,K);else if(M==="IDENTIFIER"&&K>1&&Q[K-1][0]==="..."){if(H(Q,K)){let P=U(",",",",Z),J=U("->","->",Z);return J.newLine=!0,Q.splice(K+1,0,P,J),3}}if(q){let P=M==="PROPERTY"&&K>0&&(Q[K-1][0]==="."||Q[K-1][0]==="#");if(E){let J=U("CALL_START","(",Z),G=U("->","->",Z);return G.newLine=!0,Q.splice(K+1,0,J,G),F.push(Y+1),3}else if(M==="IDENTIFIER"&&R(Z[1])||P){let J=U("CALL_START","(",Z),G=U("->","->",Z);return G.newLine=!0,Q.splice(K+1,0,J,G),F.push(Y+1),3}else{let J=U(",",",",Z),G=U("->","->",Z);return G.newLine=!0,Q.splice(K+1,0,J,G),3}}}if(M==="IDENTIFIER"&&X(Z[1])&&D&&(D[0]==="OUTDENT"||D[0]==="TERMINATOR"))return Q.splice(K+1,0,U("CALL_START","(",Z),U("CALL_END",")",Z)),3;return 1})};let A=$.prototype;A.localizeVar=function(U){let u=U.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+|_empty\d+)/g,"$1");return u=u.replace(/\bthis\b/g,"ctx"),u},A.isHtmlTag=function(U){let u=U.split("#")[0];return R2.has(u.toLowerCase())},A.isComponent=function(U){if(!U||typeof U!=="string")return!1;return/^[A-Z]/.test(U)},A.collectTemplateClasses=function(U){let u=[],f=U;while(this.is(f,".")){let X=f[2];if(typeof X==="string"||X instanceof String)u.unshift(X.valueOf());f=f[1]}let Y=typeof f==="string"?f:f instanceof String?f.valueOf():null;if(Y===null)return{tag:null,classes:u,id:void 0};let[F,_]=Y.split("#");if(!F)F="div";return{tag:F,classes:u,id:_}},A.transformComponentMembers=function(U){if(!Array.isArray(U)){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return[".",[".","this",U],"value"];if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return[".","this",U];return U}if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string"){let u=U[2];if(this.reactiveMembers&&this.reactiveMembers.has(u))return[".",U,"value"];return U}if(U[0]===".")return[".",this.transformComponentMembers(U[1]),U[2]];if(U[0]==="->")return["=>",...U.slice(1).map((u)=>this.transformComponentMembers(u))];if(U[0]==="object")return["object",...U.slice(1).map((u)=>{if(Array.isArray(u)&&u.length>=2){let f=u[0],Y=Array.isArray(f)?this.transformComponentMembers(f):f,F=this.transformComponentMembers(u[1]);return[Y,F,u[2]]}return this.transformComponentMembers(u)})];return U.map((u)=>this.transformComponentMembers(u))},A.generateComponent=function(U,u,f,Y){let[,F]=u;this.usesTemplates=!0,this.usesReactivity=!0;let _=this.is(F,"block")?F.slice(1):[],X=[],R=[],w=[],H=[],Z=[],K=[],Q=null,M=new Set,D=new Set;for(let P of _){if(!Array.isArray(P))continue;let[J]=P;if(J==="state"){let G=w1(P[1]);if(G)X.push({name:G,value:P[2],isPublic:h1(P[1])}),M.add(G),D.add(G)}else if(J==="computed"){let G=w1(P[1]);if(G)R.push({name:G,expr:P[2]}),M.add(G),D.add(G)}else if(J==="readonly"){let G=w1(P[1]);if(G)w.push({name:G,value:P[2],isPublic:h1(P[1])}),M.add(G)}else if(J==="="){let G=w1(P[1]);if(G)if(Q2.has(G))Z.push({name:G,value:P[2]});else{let I=P[2];if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>"))H.push({name:G,func:I}),M.add(G);else X.push({name:G,value:I,isPublic:h1(P[1])}),M.add(G),D.add(G)}}else if(J==="effect")K.push(P);else if(J==="render")Q=P;else if(J==="object")for(let G=1;G<P.length;G++){let I=P[G];if(!Array.isArray(I))continue;let[B,N]=I;if(typeof B==="string"&&Q2.has(B))Z.push({name:B,value:N});else if(typeof B==="string")H.push({name:B,func:N}),M.add(B)}}let q=this.componentMembers,O=this.reactiveMembers;this.componentMembers=M,this.reactiveMembers=D;let z=[],E="";z.push("class extends __Component {"),z.push(" _init(props) {");for(let{name:P,value:J,isPublic:G}of w){let I=this.generateInComponent(J,"value");z.push(G?` this.${P} = props.${P} ?? ${I};`:` this.${P} = ${I};`)}for(let{name:P,value:J,isPublic:G}of X){let I=this.generateInComponent(J,"value");z.push(G?` this.${P} = __state(props.${P} ?? ${I});`:` this.${P} = __state(${I});`)}for(let{name:P,expr:J}of R)if(this.is(J,"block")&&J.length>2){let G=this.transformComponentMembers(J),I=this.generateFunctionBody(G);z.push(` this.${P} = __computed(() => ${I});`)}else{let G=this.generateInComponent(J,"value");z.push(` this.${P} = __computed(() => ${G});`)}for(let P of K){let J=P[2],G=this.containsAwait(J)?"async ":"";if(this.is(J,"block")&&J.length>2){let I=this.transformComponentMembers(J),B=this.generateFunctionBody(I,[],!0);z.push(` __effect(${G}() => ${B});`)}else{let I=this.generateInComponent(J,"value");z.push(` __effect(${G}() => { ${I}; });`)}}z.push(" }");for(let{name:P,func:J}of H)if(Array.isArray(J)&&(J[0]==="->"||J[0]==="=>")){let[,G,I]=J,B=Array.isArray(G)?G.map((h)=>this.formatParam(h)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(I):I,T=this.containsAwait(I),L=this.generateFunctionBody(N,G||[]);z.push(` ${T?"async ":""}${P}(${B}) ${L}`)}for(let{name:P,value:J}of Z)if(Array.isArray(J)&&(J[0]==="->"||J[0]==="=>")){let[,,G]=J,I=this.reactiveMembers?this.transformComponentMembers(G):G,B=this.containsAwait(G),N=this.generateFunctionBody(I,[]);z.push(` ${B?"async ":""}${P}() ${N}`)}if(Q){let P=Q[1],J=this.buildRender(P);if(J.blockFactories.length>0)E=J.blockFactories.join(`
|
|
13
|
+
Expecting ${f.join(", ")}, got '${this.tokenNames[E]||E}'`;else return`Parse error on line ${J+1}: Unexpected ${E===W?"end of input":`'${this.tokenNames[E]||E}'`}`,this.parseError(u,{text:_.match,token:this.tokenNames[E]||E,line:_.line,loc:G,expected:f})})(),Error(u)}if(U>0)if(z.push(E,U),B.push(_.text),R.push(_.loc),E=null,!K){if([P,I,J,G]=[_.len,_.text,_.line,_.loc],M>0)M--}else[E,K]=[K,null];else if(U<0){if(Y=this.ruleTable[-U*2+1],D.$=B[B.length-Y],X=R[R.length-(Y||1)],D._$={r:X.r,c:X.c},Q=this.ruleActions.call(D,-U,B,R,q.ctx),Q!=null)D.$=Q;if(Array.isArray(D.$))D.$.loc=D._$;if(Y)z.length-=Y*2,B.length-=Y,R.length-=Y;z.push(this.ruleTable[-U*2]),B.push(D.$),R.push(D._$),w=Z[z[z.length-2]][z[z.length-1]],z.push(w)}else if(U===0)return B[B.length-1]}},trace(){},ctx:{}},E3=($={})=>{let W=Object.create(P3);return Object.defineProperty(W,"ctx",{value:{...$},enumerable:!1,writable:!0,configurable:!0}),W},s=E3();var p3=s.parse.bind(s);var I3=new Set(["html","head","title","base","link","meta","style","body","address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rp","rt","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","area","audio","img","map","track","video","embed","iframe","object","param","picture","portal","source","svg","math","canvas","noscript","script","del","ins","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr","button","datalist","fieldset","form","input","label","legend","meter","optgroup","option","output","progress","select","textarea","details","dialog","menu","summary","slot","template"]),W1=new Set(["svg","g","defs","symbol","use","marker","clipPath","mask","pattern","circle","ellipse","line","path","polygon","polyline","rect","text","textPath","tspan","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","animate","animateMotion","animateTransform","set","mpath","desc","foreignObject","image","metadata","switch","title","view"]),R2=new Set([...I3,...W1]);var Q2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted"]),B3=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]);function N3($){for(let W of $){if(!Array.isArray(W))continue;let A=W[0]instanceof String?W[0].valueOf():W[0],U=W[1]instanceof String?W[1].valueOf():W[1];if(A==="type"&&typeof U==="string")return U.replace(/^["']|["']$/g,"")}return null}function w1($){if(typeof $==="string")return $;if(Array.isArray($)&&$[0]==="."&&$[1]==="this"&&typeof $[2]==="string")return $[2];return null}function h1($){return Array.isArray($)&&$[0]==="."&&$[1]==="this"}function X2($,W,A){let U=A($);if(!/_frag\d+$/.test(U))return null;let u=[],f=new RegExp(`^${U.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}\\.appendChild\\(([^)]+)\\);`);for(let Y of W){let F=A(Y).match(f);if(F)u.push(F[1])}return u.length>0?u:null}function J2($,W){W.prototype.rewriteRender=function(){let U=(Z,K,Q)=>{let M=[Z,K];if(M.pre=0,M.data=null,M.loc=Q?.loc??{r:0,c:0,n:0},M.spaced=!1,M.newLine=!1,M.generated=!0,Q)M.origin=Q;return M},u=!1,f=0,Y=0,F=[],_=(Z)=>{let K=Z.split("#")[0];return R2.has(K)},X=(Z)=>{if(!Z||typeof Z!=="string")return!1;return/^[A-Z]/.test(Z)},R=(Z)=>{return _(Z)||X(Z)},w=(Z,K,Q,M)=>{let D=1,q=K;while(q>=0&&D>0){let O=Z[q][0];if(O===Q)D++;else if(O===M)D--;if(D>0)q--}return q},H=(Z,K)=>{let Q=K;while(Q>0){let M=Z[Q-1][0];if(M==="TERMINATOR"||M==="RENDER")break;if(M==="INDENT"||M==="OUTDENT"){let D=Z[Q][0];if(D==="CALL_END"||D===")"){Q=w(Z,Q-1,D,D==="CALL_END"?"CALL_START":"(");continue}break}if(M==="CALL_END"||M===")"){Q=w(Z,Q-2,M,M==="CALL_END"?"CALL_START":"(");continue}if(M==="INTERPOLATION_END"){Q=w(Z,Q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(M==="STRING_END"){Q=w(Z,Q-2,"STRING_END","STRING_START");continue}Q--}return Z[Q]&&Z[Q][0]==="IDENTIFIER"&&R(Z[Q][1])};this.scanTokens(function(Z,K,Q){let M=Z[0],D=K<Q.length-1?Q[K+1]:null;if(M==="RENDER")return u=!0,f=Y+1,1;if(M==="INDENT")return Y++,1;if(M==="OUTDENT"){Y--;let q=0;while(F.length>0&&F[F.length-1]>Y){let O=U("CALL_END",")",Z);Q.splice(K+1+q,0,O),F.pop(),q++}if(u&&Y<f)u=!1;return 1+q}if(!u)return 1;if(M==="IDENTIFIER"&&!Z.spaced){let q=[Z[1]],O=K+1;while(O+1<Q.length){let z=Q[O],E=Q[O+1];if(z[0]==="-"&&!z.spaced&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")){if(q.push(E[1]),O+=2,E[0]==="PROPERTY")break}else break}if(q.length>1&&O>K+1&&Q[O-1][0]==="PROPERTY")return Z[0]="STRING",Z[1]=`"${q.join("-")}"`,Q.splice(K+1,O-K-1),1}if(M==="."){let q=K>0?Q[K-1]:null,O=q?q[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(D&&D[0]==="PROPERTY"){let z=U("IDENTIFIER","div",Z);return Q.splice(K,0,z),2}if(!D||D[0]!=="(")return Z[0]="IDENTIFIER",Z[1]="div",0}}if(M==="IDENTIFIER"||M==="PROPERTY"){let q=Q[K+1],O=Q[K+2];if(q&&q[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(Z[1]=Z[1]+"#"+O[1],O.spaced)Z.spaced=!0;return Q.splice(K+1,2),1}}if(M==="BIND"){let q=K>0?Q[K-1]:null,O=Q[K+1];if(q&&(q[0]==="IDENTIFIER"||q[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return q[1]=`__bind_${q[1]}__`,Z[0]=":",Z[1]=":",1}if(M==="@"){let q=K+1;if(q<Q.length&&Q[q][0]==="PROPERTY"){q++;while(q+1<Q.length&&Q[q][0]==="."&&Q[q+1][0]==="PROPERTY")q+=2;if(q>K+2&&q<Q.length&&Q[q][0]===":"){let O=U("[","[",Z);Q.splice(K,0,O);let z=U("]","]",Q[q+1]);return Q.splice(q+1,0,z),2}}}if(M==="."&&D&&D[0]==="("){let q=K>0?Q[K-1]:null,O=q?q[0]:null,z=O==="INDENT"||O==="TERMINATOR",E=U("PROPERTY","__clsx",Z);D[0]="CALL_START";let P=1;for(let J=K+2;J<Q.length&&P>0;J++)if(Q[J][0]==="("||Q[J][0]==="CALL_START")P++;else if(Q[J][0]===")"){if(P--,P===0)Q[J][0]="CALL_END"}else if(Q[J][0]==="CALL_END")P--;if(z){let J=U("IDENTIFIER","div",Z);return Q.splice(K,0,J),Q.splice(K+2,0,E),3}else if(O===":")return Q[K]=U("IDENTIFIER","__clsx",Z),1;else return Q.splice(K+1,0,E),2}if(D&&D[0]==="INDENT"){if(M==="->"||M==="=>"||M==="CALL_START"||M==="(")return 1;let q=!1,O=K>0?Q[K-1][0]:null,z=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN",E=!1;if(M==="CALL_END"){let P=1;for(let J=K-1;J>=0&&P>0;J--)if(Q[J][0]==="CALL_END")P++;else if(Q[J][0]==="CALL_START"){if(P--,P===0&&J>0&&Q[J-1][0]==="PROPERTY"&&Q[J-1][1]==="__clsx")E=!0}}if(E)q=!0;else if(M==="IDENTIFIER"&&R(Z[1])&&!z)q=!0;else if(M==="PROPERTY"||M==="STRING"||M==="STRING_END"||M==="CALL_END"||M===")")q=H(Q,K);else if(M==="IDENTIFIER"&&K>1&&Q[K-1][0]==="..."){if(H(Q,K)){let P=U(",",",",Z),J=U("->","->",Z);return J.newLine=!0,Q.splice(K+1,0,P,J),3}}if(q){let P=M==="PROPERTY"&&K>0&&(Q[K-1][0]==="."||Q[K-1][0]==="#");if(E){let J=U("CALL_START","(",Z),G=U("->","->",Z);return G.newLine=!0,Q.splice(K+1,0,J,G),F.push(Y+1),3}else if(M==="IDENTIFIER"&&R(Z[1])||P){let J=U("CALL_START","(",Z),G=U("->","->",Z);return G.newLine=!0,Q.splice(K+1,0,J,G),F.push(Y+1),3}else{let J=U(",",",",Z),G=U("->","->",Z);return G.newLine=!0,Q.splice(K+1,0,J,G),3}}}if(M==="IDENTIFIER"&&X(Z[1])&&D&&(D[0]==="OUTDENT"||D[0]==="TERMINATOR"))return Q.splice(K+1,0,U("CALL_START","(",Z),U("CALL_END",")",Z)),3;return 1})};let A=$.prototype;A.localizeVar=function(U){let u=U.replace(/this\.(_el\d+|_t\d+|_anchor\d+|_frag\d+|_slot\d+|_c\d+|_inst\d+|_empty\d+)/g,"$1");return u=u.replace(/\bthis\b/g,"ctx"),u},A.isHtmlTag=function(U){let u=U.split("#")[0];return R2.has(u.toLowerCase())},A.isComponent=function(U){if(!U||typeof U!=="string")return!1;return/^[A-Z]/.test(U)},A.collectTemplateClasses=function(U){let u=[],f=U;while(this.is(f,".")){let X=f[2];if(typeof X==="string"||X instanceof String)u.unshift(X.valueOf());f=f[1]}let Y=typeof f==="string"?f:f instanceof String?f.valueOf():null;if(Y===null)return{tag:null,classes:u,id:void 0};let[F,_]=Y.split("#");if(!F)F="div";return{tag:F,classes:u,id:_}},A.transformComponentMembers=function(U){if(!Array.isArray(U)){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return[".",[".","this",U],"value"];if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return[".","this",U];return U}if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string"){let u=U[2];if(this.reactiveMembers&&this.reactiveMembers.has(u))return[".",U,"value"];return U}if(U[0]===".")return[".",this.transformComponentMembers(U[1]),U[2]];if(U[0]==="->")return["=>",...U.slice(1).map((u)=>this.transformComponentMembers(u))];if(U[0]==="object")return["object",...U.slice(1).map((u)=>{if(Array.isArray(u)&&u.length>=2){let f=u[0],Y=Array.isArray(f)?this.transformComponentMembers(f):f,F=this.transformComponentMembers(u[1]);return[Y,F,u[2]]}return this.transformComponentMembers(u)})];return U.map((u)=>this.transformComponentMembers(u))},A.generateComponent=function(U,u,f,Y){let[,F]=u;this.usesTemplates=!0,this.usesReactivity=!0;let _=this.is(F,"block")?F.slice(1):[],X=[],R=[],w=[],H=[],Z=[],K=[],Q=null,M=new Set,D=new Set;for(let P of _){if(!Array.isArray(P))continue;let[J]=P;if(J==="state"){let G=w1(P[1]);if(G)X.push({name:G,value:P[2],isPublic:h1(P[1])}),M.add(G),D.add(G)}else if(J==="computed"){let G=w1(P[1]);if(G)R.push({name:G,expr:P[2]}),M.add(G),D.add(G)}else if(J==="readonly"){let G=w1(P[1]);if(G)w.push({name:G,value:P[2],isPublic:h1(P[1])}),M.add(G)}else if(J==="="){let G=w1(P[1]);if(G)if(Q2.has(G))Z.push({name:G,value:P[2]});else{let I=P[2];if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>"))H.push({name:G,func:I}),M.add(G);else X.push({name:G,value:I,isPublic:h1(P[1])}),M.add(G),D.add(G)}}else if(J==="effect")K.push(P);else if(J==="render")Q=P;else if(J==="object")for(let G=1;G<P.length;G++){let I=P[G];if(!Array.isArray(I))continue;let[B,N]=I;if(typeof B==="string"&&Q2.has(B))Z.push({name:B,value:N});else if(typeof B==="string")H.push({name:B,func:N}),M.add(B)}}let q=this.componentMembers,O=this.reactiveMembers;this.componentMembers=M,this.reactiveMembers=D;let z=[],E="";z.push("class extends __Component {"),z.push(" _init(props) {");for(let{name:P,value:J,isPublic:G}of w){let I=this.generateInComponent(J,"value");z.push(G?` this.${P} = props.${P} ?? ${I};`:` this.${P} = ${I};`)}for(let{name:P,value:J,isPublic:G}of X){let I=this.generateInComponent(J,"value");z.push(G?` this.${P} = __state(props.${P} ?? ${I});`:` this.${P} = __state(${I});`)}for(let{name:P,expr:J}of R)if(this.is(J,"block")&&J.length>2){let G=this.transformComponentMembers(J),I=this.generateFunctionBody(G);z.push(` this.${P} = __computed(() => ${I});`)}else{let G=this.generateInComponent(J,"value");z.push(` this.${P} = __computed(() => ${G});`)}for(let P of K){let J=P[2],G=this.containsAwait(J)?"async ":"";if(this.is(J,"block")&&J.length>2){let I=this.transformComponentMembers(J),B=this.generateFunctionBody(I,[],!0);z.push(` __effect(${G}() => ${B});`)}else{let I=this.generateInComponent(J,"value");z.push(` __effect(${G}() => { ${I}; });`)}}z.push(" }");for(let{name:P,func:J}of H)if(Array.isArray(J)&&(J[0]==="->"||J[0]==="=>")){let[,G,I]=J,B=Array.isArray(G)?G.map((h)=>this.formatParam(h)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(I):I,T=this.containsAwait(I),L=this.generateFunctionBody(N,G||[]);z.push(` ${T?"async ":""}${P}(${B}) ${L}`)}for(let{name:P,value:J}of Z)if(Array.isArray(J)&&(J[0]==="->"||J[0]==="=>")){let[,,G]=J,I=this.reactiveMembers?this.transformComponentMembers(G):G,B=this.containsAwait(G),N=this.generateFunctionBody(I,[]);z.push(` ${B?"async ":""}${P}() ${N}`)}if(Q){let P=Q[1],J=this.buildRender(P);if(J.blockFactories.length>0)E=J.blockFactories.join(`
|
|
14
14
|
|
|
15
15
|
`)+`
|
|
16
16
|
|
|
@@ -119,20 +119,7 @@ if (typeof globalThis !== 'undefined') {
|
|
|
119
119
|
`),w=!0;if(this.programVars.size>0){let K=Array.from(this.programVars).sort().join(", ");if(w)u+=`
|
|
120
120
|
`;u+=`let ${K};
|
|
121
121
|
`,w=!0}let H=this.options.skipPreamble;if(!H){if(w)u+=`
|
|
122
|
-
`;if(u
|
|
123
|
-
`,u+=`globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
124
|
-
`,u+=`globalThis.exit ??= (code) => process.exit(code || 0);
|
|
125
|
-
`,u+=`globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
126
|
-
`,u+=`globalThis.noop ??= () => {};
|
|
127
|
-
`,u+=`globalThis.p ??= console.log;
|
|
128
|
-
`,u+=`globalThis.pp ??= (v) => { console.log(JSON.stringify(v, null, 2)); return v; };
|
|
129
|
-
`,u+=`globalThis.raise ??= (a, b) => { throw (b !== undefined ? new a(b) : new Error(a)); };
|
|
130
|
-
`,u+=`globalThis.rand ??= (a, b) => b !== undefined ? (a > b && ([a, b] = [b, a]), Math.floor(Math.random() * (b - a + 1) + a)) : a ? Math.floor(Math.random() * a) : Math.random();
|
|
131
|
-
`,u+=`globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
132
|
-
`,u+=`globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
133
|
-
`,u+=`globalThis.warn ??= console.warn;
|
|
134
|
-
`,u+=`globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
135
|
-
`,w=!0,this.helpers.has("slice"))u+=`const slice = [].slice;
|
|
122
|
+
`;if(u+=S3(),w=!0,this.helpers.has("slice"))u+=`const slice = [].slice;
|
|
136
123
|
`,w=!0;if(this.helpers.has("modulo"))u+=`const modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
137
124
|
`,w=!0;if(this.helpers.has("toMatchable"))u+=`const toMatchable = (v, allowNewlines) => {
|
|
138
125
|
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
@@ -529,10 +516,23 @@ if (typeof globalThis !== 'undefined') {
|
|
|
529
516
|
`:"",$=U.slice(0,u).join(`
|
|
530
517
|
`)}let Y=new p().tokenize($);if(this.options.showTokens)Y.forEach((Q)=>console.log(`${Q[0].padEnd(12)} ${JSON.stringify(Q[1])}`)),console.log();let F=null,_=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)_=[...Y];Y=Y.filter((Q)=>Q[0]!=="TYPE_DECL");while(Y.length>0&&Y[0][0]==="TERMINATOR")Y.shift();if(Y.every((Q)=>Q[0]==="TERMINATOR")){if(_)F=S1(_,["program"]);return{tokens:Y,sexpr:["program"],code:"",dts:F,data:A,reactiveVars:{}}}s.lexer={tokens:Y,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let Q=this.tokens[this.pos++],M=Q[1];if(Q.data)M=new String(M),Object.assign(M,Q.data);return this.text=M,this.loc=Q.loc,Q[0]}};let X;try{X=s.parse($)}catch(Q){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test($)||/\?\s+\w+\s+\?\s+/.test($))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw Q}if(this.options.showSExpr)console.log(x(X,0,!0)),console.log();let R=null;if(this.options.sourceMap){let Q=(this.options.filename||"output")+".js",M=this.options.filename||"input.rip";R=new j1(Q,M,$)}let w=new y({dataSection:A,skipPreamble:this.options.skipPreamble,reactiveVars:this.options.reactiveVars,sourceMap:R}),H=w.compile(X),Z=R?R.toJSON():null,K=R?R.toReverseMap():null;if(Z&&this.options.sourceMap==="inline"){let Q=typeof Buffer<"u"?Buffer.from(Z).toString("base64"):btoa(Z);H+=`
|
|
531
518
|
//# sourceMappingURL=data:application/json;base64,${Q}`}else if(Z&&this.options.filename)H+=`
|
|
532
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(_)F=S1(_,X);return{tokens:Y,sexpr:X,code:H,dts:F,map:Z,reverseMap:K,data:A,reactiveVars:w.reactiveVars}}compileToJS($){return this.compile($).code}compileToSExpr($){return this.compile($).sexpr}}J2(y,p);y.prototype.generateEnum=s1;function C1($,W={}){return new D1(W).compile($)}function d($,W={}){return new D1(W).compileToJS($)}function
|
|
519
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(_)F=S1(_,X);return{tokens:Y,sexpr:X,code:H,dts:F,map:Z,reverseMap:K,data:A,reactiveVars:w.reactiveVars}}compileToJS($){return this.compile($).code}compileToSExpr($){return this.compile($).sexpr}}J2(y,p);y.prototype.generateEnum=s1;function C1($,W={}){return new D1(W).compile($)}function d($,W={}){return new D1(W).compileToJS($)}function S3(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
520
|
+
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
521
|
+
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
522
|
+
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
523
|
+
globalThis.noop ??= () => {};
|
|
524
|
+
globalThis.p ??= console.log;
|
|
525
|
+
globalThis.pp ??= (v) => { console.log(JSON.stringify(v, null, 2)); return v; };
|
|
526
|
+
globalThis.raise ??= (a, b) => { throw (b !== undefined ? new a(b) : new Error(a)); };
|
|
527
|
+
globalThis.rand ??= (a, b) => b !== undefined ? (a > b && ([a, b] = [b, a]), Math.floor(Math.random() * (b - a + 1) + a)) : a ? Math.floor(Math.random() * a) : Math.random();
|
|
528
|
+
globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
529
|
+
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
530
|
+
globalThis.warn ??= console.warn;
|
|
531
|
+
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
532
|
+
`}function H1(){return new y({}).getReactiveRuntime()}function y1(){return new y({}).getComponentRuntime()}var L3="3.13.1",V3="2026-02-23@03:45:47GMT";if(typeof globalThis<"u"&&!globalThis.__rip)Function(H1())();var h3=($)=>{let W=$.match(/^[ \t]*(?=\S)/gm),A=Math.min(...(W||[]).map((U)=>U.length));return $.replace(RegExp(`^[ ]{${A}}`,"gm"),"").trim()};async function j3(){let $=document.querySelectorAll('script[type="text/rip"]');for(let W of $){if(W.hasAttribute("data-rip-processed"))continue;if(W.hasAttribute("data-name"))continue;try{let A;if(W.src){let u=await fetch(W.src);if(!u.ok){console.error(`Rip: failed to fetch ${W.src} (${u.status})`);continue}A=await u.text()}else A=h3(W.textContent);let U;try{U=d(A)}catch(u){console.error("Rip compile error:",u.message),console.error("Source:",A);continue}await(0,eval)(`(async()=>{
|
|
533
533
|
${U}
|
|
534
534
|
})()`),W.setAttribute("data-rip-processed","true")}catch(A){console.error("Rip runtime error:",A)}}}async function e($){for(let[Y,F]of Object.entries(e.modules))if($.includes(Y))return F;let W=await fetch($).then((Y)=>{if(!Y.ok)throw Error(`importRip: ${$} (${Y.status})`);return Y.text()}),A=d(W),U=`// ${$}
|
|
535
|
-
`,u=new Blob([U+A],{type:"application/javascript"});return await import(URL.createObjectURL(u))}e.modules={};function
|
|
536
|
-
${W}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");U=U.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(U);if(u&&typeof u.then==="function")return u.then((f)=>{if(f!==void 0)globalThis._=f;return f});if(u!==void 0)globalThis._=u;return u}catch(W){console.error("Rip compilation error:",W.message);return}}if(typeof globalThis<"u")globalThis.rip=
|
|
535
|
+
`,u=new Blob([U+A],{type:"application/javascript"});return await import(URL.createObjectURL(u))}e.modules={};function C3($){try{let W=$.replace(/^/gm," "),U=d(`do ->
|
|
536
|
+
${W}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");U=U.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(U);if(u&&typeof u.then==="function")return u.then((f)=>{if(f!==void 0)globalThis._=f;return f});if(u!==void 0)globalThis._=u;return u}catch(W){console.error("Rip compilation error:",W.message);return}}if(typeof globalThis<"u")globalThis.rip=C3,globalThis.importRip=e,globalThis.compileToJS=d,globalThis.__ripExports={compile:C1,compileToJS:d,formatSExpr:x,VERSION:L3,BUILD_DATE:V3,getReactiveRuntime:H1,getComponentRuntime:y1};async function y3(){if(globalThis.__ripLaunched)return;let $=e.modules?.["app.rip"];if(!$?.launch)return;let W=document.querySelector("script[data-hash], script[data-url]"),A=W?.getAttribute("data-url")||"",u={hash:W?.getAttribute("data-hash")!=="false"};await $.launch(A,u)}if(typeof document<"u")globalThis.__ripScriptsReady=new Promise(($)=>{let W=()=>j3().then(y3).then($);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(W));else queueMicrotask(W)});var G1={};v2(G1,{throttle:()=>g3,stash:()=>L2,setContext:()=>B2,raw:()=>V2,launch:()=>x3,isStash:()=>b3,hold:()=>l3,hasContext:()=>P2,getContext:()=>O2,delay:()=>h2,debounce:()=>v3,createRouter:()=>C2,createResource:()=>c3,createRenderer:()=>y2,createComponents:()=>j2});var K2,g1,u1,m,O1,w2,r,j,b1,F1,_1,l1,M2,D2,z1,q1,H2,z2,q2,c1,v1,O2,G2,x1,P2,Y1,k1,E2,I2,B2,N2,T2,m1,S2;globalThis.abort??=($)=>{if($)console.error($);process.exit(1)};globalThis.assert??=($,W)=>{if(!$)throw Error(W||"Assertion failed")};globalThis.exit??=($)=>process.exit($||0);globalThis.kind??=($)=>$!=null?($.constructor?.name||Object.prototype.toString.call($).slice(8,-1)).toLowerCase():String($);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=($)=>{return console.log(JSON.stringify($,null,2)),$};globalThis.raise??=($,W)=>{throw W!==void 0?new $(W):Error($)};globalThis.rand??=($,W)=>W!==void 0?($>W&&([$,W]=[W,$]),Math.floor(Math.random()*(W-$+1)+$)):$?Math.floor(Math.random()*$):Math.random();globalThis.sleep??=($)=>new Promise((W)=>setTimeout(W,$));globalThis.todo??=($)=>{throw Error($||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...$)=>$[0].map((W,A)=>$.map((U)=>U[A]));({__state:j,__effect:r,__batch:w2}=globalThis.__rip);({setContext:B2,getContext:O2,hasContext:P2}=globalThis.__ripComponent||{});O1=Symbol("stash");m=Symbol("signals");u1=Symbol("raw");g1=new WeakMap;b1=0;l1=j(0);x1=function($,W){let A;if(!$[m])Object.defineProperty($,m,{value:new Map,enumerable:!1});if(A=$[m].get(W),!A)A=j($[W]),$[m].set(W,A);return A};Y1=function($){return x1($,Symbol.for("keys"))};S2=function($){let W;if(!($!=null&&typeof $==="object"))return $;if($[O1])return $;if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Promise)return $;if(W=g1.get($),W)return W;return k1($)};k1=function($){let W,A;return A=null,W={get:function(U,u){let f,Y;if(u===O1)return!0;if(u===u1)return U;if(typeof u==="symbol")return Reflect.get(U,u);if(u==="length"&&Array.isArray(U))return Y1(U).value,U.length;if(u==="get")return function(F){return N2(A,F)};if(u==="set")return function(F,_){return T2(A,F,_)};if(f=x1(U,u),Y=f.value,Y!=null&&typeof Y==="object")return S2(Y);return Y},set:function(U,u,f){let Y,F;if(Y=U[u],F=f?.[u1]?f[u1]:f,F===Y)return!0;if(U[u]=F,U[m]?.has(u))U[m].get(u).value=F;if(Y===void 0&&F!==void 0)Y1(U).value=++b1;return l1.value++,!0},deleteProperty:function(U,u){let f;if(delete U[u],f=U[m]?.get(u),f)f.value=void 0;return Y1(U).value=++b1,!0},ownKeys:function(U){return Y1(U).value,Reflect.ownKeys(U)}},A=new Proxy($,W),g1.set($,A),A};K2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;m1=function($){let W,A,U,u,f;U=("."+$).split(K2),U.shift(),f=[],A=0;while(A<U.length){if(u=U[A],W=u[0],W==="."||W==="/")f.push(u.slice(1));else if(W==="[")if(u[1]==='"'||u[1]==="'")f.push(u.slice(2,-2));else f.push(+u.slice(1,-1));A+=2}return f};N2=function($,W){let A,U;U=m1(W),A=$;for(let u of U){if(A==null)return;A=A[u]}return A};T2=function($,W,A){let U,u;u=m1(W),U=$;for(let f=0;f<u.length;f++){let Y=u[f];if(f===u.length-1)U[Y]=A;else{if(U[Y]==null)U[Y]={};U=U[Y]}}return A};_1=function($){return typeof $==="function"?$:function(){return $.value}};F1=function($,W){let A;return A={read:function(){return $.read()}},Object.defineProperty(A,"value",{get:function(){return $.value},set:function(U){return W.value=U}}),A};q2=function($){let W;if(W=$.replace(/\.rip$/,""),W=W.replace(/\[\.\.\.(\w+)\]/g,"*$1"),W=W.replace(/\[(\w+)\]/g,":$1"),W==="index")return"/";return W=W.replace(/\/index$/,""),"/"+W};I2=function($){let W,A;return W=[],A=$.replace(/\*(\w+)/g,function(U,u){return W.push(u),"(.+)"}).replace(/:(\w+)/g,function(U,u){return W.push(u),"([^/]+)"}),{regex:new RegExp("^"+A+"$"),names:W}};E2=function($,W){let A,U;for(let u of W)if(A=$.match(u.regex.regex),A){U={};for(let f=0;f<u.regex.names.length;f++){let Y=u.regex.names[f];U[Y]=decodeURIComponent(A[f+1])}return{route:u,params:U}}return null};z1=function($,W="components"){let A,U,u,f,Y,F,_,X,R;_=[],u=new Map,A=$.listAll(W);for(let w of A){if(F=w.slice(W.length+1),!F.endsWith(".rip"))continue;if(f=F.split("/").pop(),f==="_layout.rip"){U=F==="_layout.rip"?"":F.slice(0,-12),u.set(U,w);continue}if(f.startsWith("_"))continue;if(X=F.split("/"),X.length>1&&X.some(function(H,Z){return Z<X.length-1&&H.startsWith("_")}))continue;R=q2(F),Y=I2(R),_.push({pattern:R,regex:Y,file:w,rel:F})}return _.sort(function(w,H){let Z,K,Q,M;if(K=(w.pattern.match(/:/g)||[]).length,M=(H.pattern.match(/:/g)||[]).length,Z=w.pattern.includes("*")?1:0,Q=H.pattern.includes("*")?1:0,Z!==Q)return Z-Q;if(K!==M)return K-M;return w.pattern.localeCompare(H.pattern)}),{routes:_,layouts:u}};G2=function($,W,A){let U,u,f,Y;if(U=[],f=$.slice(W.length+1),Y=f.split("/"),u="",A.has(""))U.push(A.get(""));for(let F=0;F<Y.length;F++){let _=Y[F];if(F===Y.length-1)break;if(u=u?u+"/"+_:_,A.has(u))U.push(A.get(u))}return U};M2=function($,W){if($.length!==W.length)return!1;for(let A=0;A<$.length;A++)if($[A]!==W[A])return!1;return!0};v1=function($){for(let W in $){let A=$[W];if(typeof A==="function"&&(A.prototype?.mount||A.prototype?._create))return A}return typeof $.default==="function"?$.default:void 0};c1=function($){let W;W={};for(let A in $){let U=$[A];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))W[A]=U}return W};z2=function($){let W;return W=$.split("/").pop().replace(/\.rip$/,""),W.replace(/(^|[-_])([a-z])/g,function(A,U,u){return u.toUpperCase()})};D2=function($,W="components"){let A,U,u;U={};for(let f of $.listAll(W)){if(!f.endsWith(".rip"))continue;if(A=f.split("/").pop(),A.startsWith("_"))continue;if(u=z2(f),U[u])console.warn(`[Rip] Component name collision: ${u} (${U[u]} vs ${f})`);U[u]=f}return U};q1=async function($,W,A=null,U=null,u=null){let f,Y,F,_,X,R,w,H,Z,K,Q,M;if(A&&U){if(Y=A.getCompiled(U),Y)return Y}if(w=W($),u){K={};for(let D in u.map){let q=u.map[D];if(q!==U&&w.includes(`new ${D}(`)){if(!u.classes[D]){if(_=A.read(q),_){F=await q1(_,W,A,q,u),X=c1(F);for(let O in X){let z=X[O];u.classes[O]=z}}}if(u.classes[D])K[D]=!0}}if(Z=Object.keys(K),Z.length>0)Q=`const {${Z.join(", ")}} = globalThis['${u.key}'];
|
|
537
537
|
`,w=Q+w}if(R=U?`// ${U}
|
|
538
|
-
`:"",f=new Blob([R+w],{type:"application/javascript"}),M=URL.createObjectURL(f),H=await import(M),u){X=c1(H);for(let D in X){let q=X[D];u.classes[D]=q}}if(A&&U)A.setCompiled(U,H);return H};H2=function($){let W,A,U;return U=1000,A=30000,W=function(){let u;return u=new EventSource($),u.addEventListener("connected",function(){return U=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let f of document.querySelectorAll('link[rel="stylesheet"]'))$=new URL(f.href),$.searchParams.set("_t",Date.now()),f.href=$.toString()}),u.onerror=function(){return u.close(),setTimeout(W,U),U=Math.min(U*2,A)}},W()};var L2=function($={}){return k1($)},V2=function($){return $?.[u1]?$[u1]:$},y3=function($){return $?.[O1]===!0},b3=function($,W={}){let A,U,u,f,Y;if(A=j(W.initial||null),u=j(!1),U=j(null),f=async function(){let F;return u.value=!0,U.value=null,(async()=>{try{return F=await $(),A.value=F}catch(_){return U.value=_}finally{u.value=!1}})()},Y={data:void 0,loading:void 0,error:void 0,refetch:f},Object.defineProperty(Y,"data",{get:function(){return A.value}}),Object.defineProperty(Y,"loading",{get:function(){return u.value}}),Object.defineProperty(Y,"error",{get:function(){return U.value}}),!W.lazy)f();return Y},h2=function($,W){let A,U;return A=_1(W),U=j(!!A()),r(function(){let u;if(A())return u=setTimeout(function(){return U.value=!0},$),function(){return clearTimeout(u)};else return U.value=!1}),typeof W!=="function"?F1(U,W):U},c3=function($,W){let A,U;return A=_1(W),U=j(A()),r(function(){let u,f;return f=A(),u=setTimeout(function(){return U.value=f},$),function(){return clearTimeout(u)}}),typeof W!=="function"?F1(U,W):U},v3=function($,W){let A,U,u;return A=_1(W),u=j(A()),U=0,r(function(){let f,Y,F,_;if(_=A(),f=Date.now(),Y=$-(f-U),Y<=0)return u.value=_,U=f;else return F=setTimeout(function(){return u.value=A(),U=Date.now()},Y),function(){return clearTimeout(F)}}),typeof W!=="function"?F1(u,W):u},g3=function($,W){let A,U;return A=_1(W),U=j(!!A()),r(function(){let u;if(A())return U.value=!0;else return u=setTimeout(function(){return U.value=!1},$),function(){return clearTimeout(u)}}),typeof W!=="function"?F1(U,W):U},j2=function(){let $,W,A,U;return W=new Map,U=[],$=new Map,A=function(u,f){for(let Y of U)Y(u,f)},{read:function(u){return W.get(u)},write:function(u,f){let Y;return Y=!W.has(u),W.set(u,f),$.delete(u),A(Y?"create":"change",u)},del:function(u){return W.delete(u),$.delete(u),A("delete",u)},exists:function(u){return W.has(u)},size:function(){return W.size},list:function(u=""){let f,Y,F;F=[],f=u?u+"/":"";for(let[_]of W)if(_.startsWith(f)){if(Y=_.slice(f.length),Y.includes("/"))continue;F.push(_)}return F},listAll:function(u=""){let f,Y;Y=[],f=u?u+"/":"";for(let[F]of W)if(F.startsWith(f))Y.push(F);return Y},load:function(u){for(let f in u){let Y=u[f];W.set(f,Y)}},watch:function(u){return U.push(u),function(){return U.splice(U.indexOf(u),1)}},getCompiled:function(u){return $.get(u)},setCompiled:function(u,f){return $.set(u,f)}}},C2=function($,W={}){let A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P;if(q=W.root||"components",R=W.base||"",w=W.hash||!1,K=W.onError||null,z=function(J){return R&&J.startsWith(R)?J.slice(R.length)||"/":J},X=function(J){return R?R+J:J},M=function(){let J;if(w){if(J=location.hash.slice(1),!J)return"/";return J[0]==="/"?J:"/"+J}else return location.pathname+location.search+location.hash},P=function(J){return w?J==="/"?location.pathname:"#"+J.slice(1):X(J)},Y=j(z(w?M():location.pathname)),f=j({}),_=j(null),U=j([]),F=j({}),A=j(""),u=h2(100,j(!1)),E=z1($,q),H=new Set,$.watch(function(J,G){if(!G.startsWith(q+"/"))return;return E=z1($,q)}),D=function(J){let G,I,B,N,T;if(N=J.split("?")[0].split("#")[0],I=z(N),I=I[0]==="/"?I:"/"+I,B=J.split("?")[1]?.split("#")[0]||"",G=J.includes("#")?J.split("#")[1]:"",T=E2(I,E.routes),T){w2(function(){return Y.value=I,f.value=T.params,_.value=T.route,U.value=G2(T.route.file,q,E.layouts),F.value=Object.fromEntries(new URLSearchParams(B)),A.value=G});for(let L of H)L(O.current);return!0}if(K)K({status:404,path:I});return!1},Q=function(){return D(M())},typeof window<"u")window.addEventListener("popstate",Q);if(Z=function(J){let G,I,B;if(J.button!==0||J.metaKey||J.ctrlKey||J.shiftKey||J.altKey)return;I=J.target;while(I&&I.tagName!=="A")I=I.parentElement;if(!I?.href)return;if(B=new URL(I.href,location.origin),B.origin!==location.origin)return;if(I.target==="_blank"||I.hasAttribute("data-external"))return;return J.preventDefault(),G=w&&B.hash?B.hash.slice(1)||"/":B.pathname+B.search+B.hash,O.push(G)},typeof document<"u")document.addEventListener("click",Z);return O={push:function(J){return D(J)?history.pushState(null,"",P(Y.read())):void 0},replace:function(J){return D(J)?history.replaceState(null,"",P(Y.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(J){return H.add(J),function(){return H.delete(J)}},rebuild:function(){return E=z1($,q)},routes:void 0,init:function(){return D(M()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",Q);if(typeof document<"u")document.removeEventListener("click",Z);return H.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:Y.value,params:f.value,route:_.value,layouts:U.value,query:F.value,hash:A.value}}}),Object.defineProperty(O,"path",{get:function(){return Y.value}}),Object.defineProperty(O,"params",{get:function(){return f.value}}),Object.defineProperty(O,"route",{get:function(){return _.value}}),Object.defineProperty(O,"layouts",{get:function(){return U.value}}),Object.defineProperty(O,"query",{get:function(){return F.value}}),Object.defineProperty(O,"hash",{get:function(){return A.value}}),Object.defineProperty(O,"navigating",{get:function(){return u.value},set:function(J){return u.value=J}}),Object.defineProperty(O,"routes",{get:function(){return E.routes}}),O},y2=function($={}){let W,A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P;if({router:z,app:W,components:f,resolver:O,compile:U,target:E,onError:D}=$,Y=typeof E==="string"?document.querySelector(E):E||document.getElementById("app"),!Y)Y=document.createElement("div"),Y.id="app",document.body.appendChild(Y);return Y.style.opacity="0",F=null,R=null,X=null,_=[],Z=[],Q=Y,H=0,w=null,u=new Map,K=$.cacheSize||10,A=function(){let J,G;if(F&&R){if(F.beforeUnmount)F.beforeUnmount();if(u.set(R,F),u.size>K){if(G=u.keys().next().value,J=u.get(G),J.unmounted)J.unmounted();u.delete(G)}return F=null,R=null}},P=function(){A();for(let J=Z.length-1;J>=0;J--){let G=Z[J];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return Z=[],Q=Y},f.watch(function(J,G){let I;if(u.has(G)){if(I=u.get(G),I.unmounted)I.unmounted();return u.delete(G)}}),M=async function(J){let G,I,B,N,T,L,h,c,Z1,P1,f1,n1,n,i1,R1,o,Q1,E1,C,p1,I1,a;if({route:C,params:o,layouts:c,query:E1}=J,!C)return;if(C.file===R&&JSON.stringify(o)===JSON.stringify(X))return;return X=o,N=++H,z.navigating=!0,(async()=>{try{if(I1=f.read(C.file),!I1){if(D)D({status:404,message:`File not found: ${C.file}`});z.navigating=!1;return}if(n1=await q1(I1,U,f,C.file,O),N!==H){z.navigating=!1;return}if(G=v1(n1),!G){if(D)D({status:500,message:`No component found in ${C.file}`});z.navigating=!1;return}if(f1=!M2(c,_),i1=F?._target,f1)P();else A();if(n=f1?Y:Q,f1&&c.length>0){Y.innerHTML="",n=Y;for(let v of c){if(P1=f.read(v),!P1)continue;if(Z1=await q1(P1,U,f,v,O),N!==H){z.navigating=!1;return}if(I=v1(Z1),!I)continue;if(L=new I({app:W,params:o,router:z}),L.beforeMount)L.beforeMount();a=document.createElement("div"),a.setAttribute("data-layout",v),n.appendChild(a),L.mount(a),Z.push(L),p1=a.querySelector("#content")||a,n=p1}_=[...c],Q=n}else if(f1)Y.innerHTML="",_=[],Q=Y;if(B=u.get(C.file),B)u.delete(C.file),n.appendChild(B._target),F=B,R=C.file;else{if(R1=document.createElement("div"),R1.setAttribute("data-component",C.file),n.appendChild(R1),h=new G({app:W,params:o,query:E1,router:z}),h.beforeMount)h.beforeMount();if(h.mount(R1),F=h,R=C.file,h.load)await h.load(o,E1)}return i1?.remove(),z.navigating=!1,Y.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return Y.style.transition="opacity 150ms ease-in",Y.style.opacity="1"})}):void 0}catch(v){if(z.navigating=!1,Y.style.opacity="1",console.error(`Renderer: error mounting ${C.file}:`,v),D)D({status:500,message:v.message,error:v});T=!1;for(let B1=Z.length-1;B1>=0;B1--){let d1=Z[B1];if(d1.onError)try{d1.onError(v),T=!0;break}catch(b2){console.error("Renderer: error boundary failed:",b2)}}return(()=>{if(!T)return Q1=document.createElement("pre"),Q1.style.cssText="color:red;padding:1em",Q1.textContent=v.stack||v.message,Y.innerHTML="",Y.appendChild(Q1)})()}})()},q={start:function(){return w=r(function(){let J;return J=z.current,J.route?M(J):void 0}),z.init(),q},stop:function(){if(P(),w)w(),w=null;return Y.innerHTML=""},remount:function(){let J;return J=z.current,J.route?M(J):void 0},cache:u},q},l3=async function($="",W={}){let A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P;if(globalThis.__ripLaunched=!0,typeof $==="object")W=$,$="";if($=$.replace(/\/+$/,""),P=W.target||"#app",R=W.compile||null,Q=W.persist||!1,Z=W.hash||!1,!R)R=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(P))H=document.createElement("div"),H.id=P.replace(/^#/,""),document.body.prepend(H);if(W.bundle)F=W.bundle;else if(W.components&&Array.isArray(W.components)){w={};for(let J of W.components)if(D=await fetch(J),D.ok)K=J.split("/").pop(),w[`components/${K}`]=await D.text();F={components:w,data:{}}}else if(typeof document<"u"&&document.querySelectorAll('script[type="text/rip"][data-name]').length>0){w={};for(let J of document.querySelectorAll('script[type="text/rip"][data-name]'))K=J.getAttribute("data-name"),K+=!K.endsWith(".rip")?".rip":void 0,w[`components/${K}`]=J.textContent;F={components:w,data:{}}}else{if(_=`${$}/bundle`,D=await fetch(_,{cache:"no-cache"}),!D.ok)throw Error(`launch: ${_} (${D.status})`);F=await D.json()}if(f=L2({components:{},routes:{},data:{}}),F.data)f.data=F.data;if(F.routes)f.routes=F.routes;if(Q&&typeof sessionStorage<"u"){u=`__rip_${$}`,U=Q==="local"?localStorage:sessionStorage;try{if(z=U.getItem(u),z){E=JSON.parse(z);for(let J in E){let G=E[J];f.data[J]=G}}}catch{}A=function(){return(()=>{try{return U.setItem(u,JSON.stringify(V2(f.data)))}catch{return null}})()},r(function(){let J;return l1.value,J=setTimeout(A,2000),function(){return clearTimeout(J)}}),window.addEventListener("beforeunload",A)}if(Y=j2(),F.components)Y.load(F.components);if(X=`__rip_${$.replace(/\//g,"_")||"app"}`,q={map:D2(Y),classes:{},key:X},typeof globalThis<"u")globalThis[X]=q.classes;if(f.data.title&&typeof document<"u")document.title=f.data.title;if(O=C2(Y,{root:"components",base:$,hash:Z,onError:function(J){return console.error(`[Rip] Error ${J.status}: ${J.message||J.path}`)}}),M=y2({router:O,app:f,components:Y,resolver:q,compile:R,target:P,onError:function(J){return console.error(`[Rip] ${J.message}`,J.error)}}),M.start(),F.data?.watch)H2(`${$}/watch`);if(typeof window<"u")window.app=f,window.__RIP__={app:f,components:Y,router:O,renderer:M,cache:M.cache,version:"0.3.0"};return{app:f,components:Y,router:O,renderer:M}};e.modules["app.rip"]=G1;for(let[$,W]of Object.entries(G1))if(typeof W==="function")globalThis[$]=W;export{j3 as rip,h3 as processRipScripts,s as parser,e as importRip,H1 as getReactiveRuntime,y1 as getComponentRuntime,x as formatSExpr,d as compileToJS,C1 as compile,S3 as VERSION,p as Lexer,D1 as Compiler,y as CodeGenerator,L3 as BUILD_DATE};
|
|
538
|
+
`:"",f=new Blob([R+w],{type:"application/javascript"}),M=URL.createObjectURL(f),H=await import(M),u){X=c1(H);for(let D in X){let q=X[D];u.classes[D]=q}}if(A&&U)A.setCompiled(U,H);return H};H2=function($){let W,A,U;return U=1000,A=30000,W=function(){let u;return u=new EventSource($),u.addEventListener("connected",function(){return U=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let f of document.querySelectorAll('link[rel="stylesheet"]'))$=new URL(f.href),$.searchParams.set("_t",Date.now()),f.href=$.toString()}),u.onerror=function(){return u.close(),setTimeout(W,U),U=Math.min(U*2,A)}},W()};var L2=function($={}){return k1($)},V2=function($){return $?.[u1]?$[u1]:$},b3=function($){return $?.[O1]===!0},c3=function($,W={}){let A,U,u,f,Y;if(A=j(W.initial||null),u=j(!1),U=j(null),f=async function(){let F;return u.value=!0,U.value=null,(async()=>{try{return F=await $(),A.value=F}catch(_){return U.value=_}finally{u.value=!1}})()},Y={data:void 0,loading:void 0,error:void 0,refetch:f},Object.defineProperty(Y,"data",{get:function(){return A.value}}),Object.defineProperty(Y,"loading",{get:function(){return u.value}}),Object.defineProperty(Y,"error",{get:function(){return U.value}}),!W.lazy)f();return Y},h2=function($,W){let A,U;return A=_1(W),U=j(!!A()),r(function(){let u;if(A())return u=setTimeout(function(){return U.value=!0},$),function(){return clearTimeout(u)};else return U.value=!1}),typeof W!=="function"?F1(U,W):U},v3=function($,W){let A,U;return A=_1(W),U=j(A()),r(function(){let u,f;return f=A(),u=setTimeout(function(){return U.value=f},$),function(){return clearTimeout(u)}}),typeof W!=="function"?F1(U,W):U},g3=function($,W){let A,U,u;return A=_1(W),u=j(A()),U=0,r(function(){let f,Y,F,_;if(_=A(),f=Date.now(),Y=$-(f-U),Y<=0)return u.value=_,U=f;else return F=setTimeout(function(){return u.value=A(),U=Date.now()},Y),function(){return clearTimeout(F)}}),typeof W!=="function"?F1(u,W):u},l3=function($,W){let A,U;return A=_1(W),U=j(!!A()),r(function(){let u;if(A())return U.value=!0;else return u=setTimeout(function(){return U.value=!1},$),function(){return clearTimeout(u)}}),typeof W!=="function"?F1(U,W):U},j2=function(){let $,W,A,U;return W=new Map,U=[],$=new Map,A=function(u,f){for(let Y of U)Y(u,f)},{read:function(u){return W.get(u)},write:function(u,f){let Y;return Y=!W.has(u),W.set(u,f),$.delete(u),A(Y?"create":"change",u)},del:function(u){return W.delete(u),$.delete(u),A("delete",u)},exists:function(u){return W.has(u)},size:function(){return W.size},list:function(u=""){let f,Y,F;F=[],f=u?u+"/":"";for(let[_]of W)if(_.startsWith(f)){if(Y=_.slice(f.length),Y.includes("/"))continue;F.push(_)}return F},listAll:function(u=""){let f,Y;Y=[],f=u?u+"/":"";for(let[F]of W)if(F.startsWith(f))Y.push(F);return Y},load:function(u){for(let f in u){let Y=u[f];W.set(f,Y)}},watch:function(u){return U.push(u),function(){return U.splice(U.indexOf(u),1)}},getCompiled:function(u){return $.get(u)},setCompiled:function(u,f){return $.set(u,f)}}},C2=function($,W={}){let A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P;if(q=W.root||"components",R=W.base||"",w=W.hash||!1,K=W.onError||null,z=function(J){return R&&J.startsWith(R)?J.slice(R.length)||"/":J},X=function(J){return R?R+J:J},M=function(){let J;if(w){if(J=location.hash.slice(1),!J)return"/";return J[0]==="/"?J:"/"+J}else return location.pathname+location.search+location.hash},P=function(J){return w?J==="/"?location.pathname:"#"+J.slice(1):X(J)},Y=j(z(w?M():location.pathname)),f=j({}),_=j(null),U=j([]),F=j({}),A=j(""),u=h2(100,j(!1)),E=z1($,q),H=new Set,$.watch(function(J,G){if(!G.startsWith(q+"/"))return;return E=z1($,q)}),D=function(J){let G,I,B,N,T;if(N=J.split("?")[0].split("#")[0],I=z(N),I=I[0]==="/"?I:"/"+I,B=J.split("?")[1]?.split("#")[0]||"",G=J.includes("#")?J.split("#")[1]:"",T=E2(I,E.routes),T){w2(function(){return Y.value=I,f.value=T.params,_.value=T.route,U.value=G2(T.route.file,q,E.layouts),F.value=Object.fromEntries(new URLSearchParams(B)),A.value=G});for(let L of H)L(O.current);return!0}if(K)K({status:404,path:I});return!1},Q=function(){return D(M())},typeof window<"u")window.addEventListener("popstate",Q);if(Z=function(J){let G,I,B;if(J.button!==0||J.metaKey||J.ctrlKey||J.shiftKey||J.altKey)return;I=J.target;while(I&&I.tagName!=="A")I=I.parentElement;if(!I?.href)return;if(B=new URL(I.href,location.origin),B.origin!==location.origin)return;if(I.target==="_blank"||I.hasAttribute("data-external"))return;return J.preventDefault(),G=w&&B.hash?B.hash.slice(1)||"/":B.pathname+B.search+B.hash,O.push(G)},typeof document<"u")document.addEventListener("click",Z);return O={push:function(J){return D(J)?history.pushState(null,"",P(Y.read())):void 0},replace:function(J){return D(J)?history.replaceState(null,"",P(Y.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(J){return H.add(J),function(){return H.delete(J)}},rebuild:function(){return E=z1($,q)},routes:void 0,init:function(){return D(M()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",Q);if(typeof document<"u")document.removeEventListener("click",Z);return H.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:Y.value,params:f.value,route:_.value,layouts:U.value,query:F.value,hash:A.value}}}),Object.defineProperty(O,"path",{get:function(){return Y.value}}),Object.defineProperty(O,"params",{get:function(){return f.value}}),Object.defineProperty(O,"route",{get:function(){return _.value}}),Object.defineProperty(O,"layouts",{get:function(){return U.value}}),Object.defineProperty(O,"query",{get:function(){return F.value}}),Object.defineProperty(O,"hash",{get:function(){return A.value}}),Object.defineProperty(O,"navigating",{get:function(){return u.value},set:function(J){return u.value=J}}),Object.defineProperty(O,"routes",{get:function(){return E.routes}}),O},y2=function($={}){let W,A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P;if({router:z,app:W,components:f,resolver:O,compile:U,target:E,onError:D}=$,Y=typeof E==="string"?document.querySelector(E):E||document.getElementById("app"),!Y)Y=document.createElement("div"),Y.id="app",document.body.appendChild(Y);return Y.style.opacity="0",F=null,R=null,X=null,_=[],Z=[],Q=Y,H=0,w=null,u=new Map,K=$.cacheSize||10,A=function(){let J,G;if(F&&R){if(F.beforeUnmount)F.beforeUnmount();if(u.set(R,F),u.size>K){if(G=u.keys().next().value,J=u.get(G),J.unmounted)J.unmounted();u.delete(G)}return F=null,R=null}},P=function(){A();for(let J=Z.length-1;J>=0;J--){let G=Z[J];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return Z=[],Q=Y},f.watch(function(J,G){let I;if(u.has(G)){if(I=u.get(G),I.unmounted)I.unmounted();return u.delete(G)}}),M=async function(J){let G,I,B,N,T,L,h,c,Z1,P1,f1,n1,n,i1,R1,o,Q1,E1,C,p1,I1,a;if({route:C,params:o,layouts:c,query:E1}=J,!C)return;if(C.file===R&&JSON.stringify(o)===JSON.stringify(X))return;return X=o,N=++H,z.navigating=!0,(async()=>{try{if(I1=f.read(C.file),!I1){if(D)D({status:404,message:`File not found: ${C.file}`});z.navigating=!1;return}if(n1=await q1(I1,U,f,C.file,O),N!==H){z.navigating=!1;return}if(G=v1(n1),!G){if(D)D({status:500,message:`No component found in ${C.file}`});z.navigating=!1;return}if(f1=!M2(c,_),i1=F?._target,f1)P();else A();if(n=f1?Y:Q,f1&&c.length>0){Y.innerHTML="",n=Y;for(let v of c){if(P1=f.read(v),!P1)continue;if(Z1=await q1(P1,U,f,v,O),N!==H){z.navigating=!1;return}if(I=v1(Z1),!I)continue;if(L=new I({app:W,params:o,router:z}),L.beforeMount)L.beforeMount();a=document.createElement("div"),a.setAttribute("data-layout",v),n.appendChild(a),L.mount(a),Z.push(L),p1=a.querySelector("#content")||a,n=p1}_=[...c],Q=n}else if(f1)Y.innerHTML="",_=[],Q=Y;if(B=u.get(C.file),B)u.delete(C.file),n.appendChild(B._target),F=B,R=C.file;else{if(R1=document.createElement("div"),R1.setAttribute("data-component",C.file),n.appendChild(R1),h=new G({app:W,params:o,query:E1,router:z}),h.beforeMount)h.beforeMount();if(h.mount(R1),F=h,R=C.file,h.load)await h.load(o,E1)}return i1?.remove(),z.navigating=!1,Y.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return Y.style.transition="opacity 150ms ease-in",Y.style.opacity="1"})}):void 0}catch(v){if(z.navigating=!1,Y.style.opacity="1",console.error(`Renderer: error mounting ${C.file}:`,v),D)D({status:500,message:v.message,error:v});T=!1;for(let B1=Z.length-1;B1>=0;B1--){let d1=Z[B1];if(d1.onError)try{d1.onError(v),T=!0;break}catch(b2){console.error("Renderer: error boundary failed:",b2)}}return(()=>{if(!T)return Q1=document.createElement("pre"),Q1.style.cssText="color:red;padding:1em",Q1.textContent=v.stack||v.message,Y.innerHTML="",Y.appendChild(Q1)})()}})()},q={start:function(){return w=r(function(){let J;return J=z.current,J.route?M(J):void 0}),z.init(),q},stop:function(){if(P(),w)w(),w=null;return Y.innerHTML=""},remount:function(){let J;return J=z.current,J.route?M(J):void 0},cache:u},q},x3=async function($="",W={}){let A,U,u,f,Y,F,_,X,R,w,H,Z,K,Q,M,D,q,O,z,E,P;if(globalThis.__ripLaunched=!0,typeof $==="object")W=$,$="";if($=$.replace(/\/+$/,""),P=W.target||"#app",R=W.compile||null,Q=W.persist||!1,Z=W.hash||!1,!R)R=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(P))H=document.createElement("div"),H.id=P.replace(/^#/,""),document.body.prepend(H);if(W.bundle)F=W.bundle;else if(W.components&&Array.isArray(W.components)){w={};for(let J of W.components)if(D=await fetch(J),D.ok)K=J.split("/").pop(),w[`components/${K}`]=await D.text();F={components:w,data:{}}}else if(typeof document<"u"&&document.querySelectorAll('script[type="text/rip"][data-name]').length>0){w={};for(let J of document.querySelectorAll('script[type="text/rip"][data-name]'))K=J.getAttribute("data-name"),K+=!K.endsWith(".rip")?".rip":void 0,w[`components/${K}`]=J.textContent;F={components:w,data:{}}}else{if(_=`${$}/bundle`,D=await fetch(_,{cache:"no-cache"}),!D.ok)throw Error(`launch: ${_} (${D.status})`);F=await D.json()}if(f=L2({components:{},routes:{},data:{}}),F.data)f.data=F.data;if(F.routes)f.routes=F.routes;if(Q&&typeof sessionStorage<"u"){u=`__rip_${$}`,U=Q==="local"?localStorage:sessionStorage;try{if(z=U.getItem(u),z){E=JSON.parse(z);for(let J in E){let G=E[J];f.data[J]=G}}}catch{}A=function(){return(()=>{try{return U.setItem(u,JSON.stringify(V2(f.data)))}catch{return null}})()},r(function(){let J;return l1.value,J=setTimeout(A,2000),function(){return clearTimeout(J)}}),window.addEventListener("beforeunload",A)}if(Y=j2(),F.components)Y.load(F.components);if(X=`__rip_${$.replace(/\//g,"_")||"app"}`,q={map:D2(Y),classes:{},key:X},typeof globalThis<"u")globalThis[X]=q.classes;if(f.data.title&&typeof document<"u")document.title=f.data.title;if(O=C2(Y,{root:"components",base:$,hash:Z,onError:function(J){return console.error(`[Rip] Error ${J.status}: ${J.message||J.path}`)}}),M=y2({router:O,app:f,components:Y,resolver:q,compile:R,target:P,onError:function(J){return console.error(`[Rip] ${J.message}`,J.error)}}),M.start(),F.data?.watch)H2(`${$}/watch`);if(typeof window<"u")window.app=f,window.__RIP__={app:f,components:Y,router:O,renderer:M,cache:M.cache,version:"0.3.0"};return{app:f,components:Y,router:O,renderer:M}};e.modules["app.rip"]=G1;for(let[$,W]of Object.entries(G1))if(typeof W==="function")globalThis[$]=W;export{C3 as rip,j3 as processRipScripts,s as parser,e as importRip,H1 as getReactiveRuntime,y1 as getComponentRuntime,x as formatSExpr,d as compileToJS,C1 as compile,L3 as VERSION,p as Lexer,D1 as Compiler,y as CodeGenerator,V3 as BUILD_DATE};
|
package/docs/dist/rip.min.js.br
CHANGED
|
Binary file
|
package/package.json
CHANGED
package/src/compiler.js
CHANGED
|
@@ -640,21 +640,10 @@ export class CodeGenerator {
|
|
|
640
640
|
|
|
641
641
|
// Standard library — always available, override by redeclaring
|
|
642
642
|
if (needsBlank) code += '\n';
|
|
643
|
-
code +=
|
|
644
|
-
code += 'globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };\n';
|
|
645
|
-
code += 'globalThis.exit ??= (code) => process.exit(code || 0);\n';
|
|
646
|
-
code += 'globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);\n';
|
|
647
|
-
code += 'globalThis.noop ??= () => {};\n';
|
|
648
|
-
code += 'globalThis.p ??= console.log;\n';
|
|
649
|
-
code += 'globalThis.pp ??= (v) => { console.log(JSON.stringify(v, null, 2)); return v; };\n';
|
|
650
|
-
code += 'globalThis.raise ??= (a, b) => { throw (b !== undefined ? new a(b) : new Error(a)); };\n';
|
|
651
|
-
code += 'globalThis.rand ??= (a, b) => b !== undefined ? (a > b && ([a, b] = [b, a]), Math.floor(Math.random() * (b - a + 1) + a)) : a ? Math.floor(Math.random() * a) : Math.random();\n';
|
|
652
|
-
code += 'globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));\n';
|
|
653
|
-
code += 'globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };\n';
|
|
654
|
-
code += 'globalThis.warn ??= console.warn;\n';
|
|
655
|
-
code += 'globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));\n';
|
|
643
|
+
code += getStdlibCode();
|
|
656
644
|
needsBlank = true;
|
|
657
645
|
|
|
646
|
+
// On-demand helpers — only emitted when referenced
|
|
658
647
|
if (this.helpers.has('slice' )) { code += 'const slice = [].slice;\n'; needsBlank = true; }
|
|
659
648
|
if (this.helpers.has('modulo' )) { code += 'const modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };\n'; needsBlank = true; }
|
|
660
649
|
if (this.helpers.has('toMatchable')) {
|
|
@@ -3286,6 +3275,24 @@ export function generate(sexpr, options = {}) {
|
|
|
3286
3275
|
return new CodeGenerator(options).compile(sexpr);
|
|
3287
3276
|
}
|
|
3288
3277
|
|
|
3278
|
+
export function getStdlibCode() {
|
|
3279
|
+
return `\
|
|
3280
|
+
globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
3281
|
+
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
3282
|
+
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
3283
|
+
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
3284
|
+
globalThis.noop ??= () => {};
|
|
3285
|
+
globalThis.p ??= console.log;
|
|
3286
|
+
globalThis.pp ??= (v) => { console.log(JSON.stringify(v, null, 2)); return v; };
|
|
3287
|
+
globalThis.raise ??= (a, b) => { throw (b !== undefined ? new a(b) : new Error(a)); };
|
|
3288
|
+
globalThis.rand ??= (a, b) => b !== undefined ? (a > b && ([a, b] = [b, a]), Math.floor(Math.random() * (b - a + 1) + a)) : a ? Math.floor(Math.random() * a) : Math.random();
|
|
3289
|
+
globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
3290
|
+
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
3291
|
+
globalThis.warn ??= console.warn;
|
|
3292
|
+
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
3293
|
+
`;
|
|
3294
|
+
}
|
|
3295
|
+
|
|
3289
3296
|
export function getReactiveRuntime() {
|
|
3290
3297
|
return new CodeGenerator({}).getReactiveRuntime();
|
|
3291
3298
|
}
|
package/src/repl.js
CHANGED
|
@@ -17,7 +17,7 @@ import * as fs from 'fs';
|
|
|
17
17
|
import * as path from 'path';
|
|
18
18
|
import * as os from 'os';
|
|
19
19
|
import * as vm from 'vm';
|
|
20
|
-
import { Compiler, compileToJS, getReactiveRuntime, getComponentRuntime } from './compiler.js';
|
|
20
|
+
import { Compiler, compileToJS, getStdlibCode, getReactiveRuntime, getComponentRuntime } from './compiler.js';
|
|
21
21
|
import packageJson from '../package.json' with { type: 'json' };
|
|
22
22
|
|
|
23
23
|
const VERSION = packageJson.version;
|
|
@@ -65,6 +65,9 @@ export class RipREPL {
|
|
|
65
65
|
__vars: this.vars // Reference to persisted variables
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
+
// Inject standard library into REPL context
|
|
69
|
+
vm.runInContext(getStdlibCode(), this.vmContext);
|
|
70
|
+
|
|
68
71
|
// Inject reactive and component runtimes
|
|
69
72
|
this.injectReactiveRuntime();
|
|
70
73
|
this.injectComponentRuntime();
|