rip-lang 3.13.133 → 3.13.135
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/CHANGELOG.md +0 -1
- package/README.md +4 -7
- package/bin/rip +16 -4
- package/docs/RIP-LANG.md +0 -42
- package/docs/RIP-TYPES.md +47 -52
- package/docs/demo.html +2 -2
- package/docs/dist/rip.js +2294 -1544
- package/docs/dist/rip.min.js +202 -192
- package/docs/dist/rip.min.js.br +0 -0
- package/package.json +1 -1
- package/rip-loader.js +2 -2
- package/src/AGENTS.md +76 -11
- package/src/browser.js +5 -5
- package/src/compiler.js +961 -639
- package/src/components.js +274 -109
- package/src/error.js +250 -0
- package/src/grammar/grammar.rip +2 -12
- package/src/lexer.js +15 -11
- package/src/parser.js +220 -223
- package/src/repl.js +3 -2
- package/src/sourcemap-utils.js +39 -6
- package/src/typecheck.js +312 -80
- package/src/types.js +229 -54
- package/src/ui.rip +4 -0
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
(()=>{var{defineProperty:m1,getOwnPropertyNames:G3,getOwnPropertyDescriptor:H3}=Object,O3=Object.prototype.hasOwnProperty;function q3(f){return this[f]}var E3=(f)=>{var w=(R2??=new WeakMap).get(f),A;if(w)return w;if(w=m1({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var _ of G3(f))if(!O3.call(w,_))m1(w,_,{get:q3.bind(f,_),enumerable:!(A=H3(f,_))||A.enumerable})}return R2.set(f,w),w},R2;var P3=(f)=>f;function I3(f,w){this[f]=P3.bind(null,w)}var Z2=(f,w)=>{for(var A in w)m1(f,A,{get:w[A],enumerable:!0,configurable:!0,set:I3.bind(w,A)})};var T4={};Z2(T4,{rip:()=>b2,processRipScripts:()=>y2,parser:()=>M1,importRip:()=>J1,getStdlibCode:()=>B1,getReactiveRuntime:()=>L1,getComponentRuntime:()=>N1,formatSExpr:()=>F1,compileToJS:()=>Y1,compile:()=>y1,VERSION:()=>c2,Lexer:()=>Z1,Compiler:()=>I1,CodeGenerator:()=>f1,BUILD_DATE:()=>j2});function D2(f){let w=f.prototype;w.rewriteTypes=function(){let A=this.tokens,_=(u,$,F)=>{let U=[u,$];if(U.pre=0,U.data=null,U.loc=F?.loc??{r:0,c:0,n:0},U.spaced=!1,U.newLine=!1,U.generated=!0,F)U.origin=F;return U};this.scanTokens((u,$,F)=>{let U=u[0];if(U==="IDENTIFIER"){let W=F[$+1];if(W&&W[0]==="COMPARE"&&W[1]==="<"&&!W.spaced){let Z=F[$-1]?.[0]==="DEF",Y=M2(F,$+1);if(Y&&Z){if(!u.data)u.data={};if(u.data.typeParams=X1(Y),F.splice($+1,Y.length),F[$+1]?.[0]==="("){F[$+1][0]="CALL_START";let R=1,z=$+2;while(z<F.length&&R>0){if(F[z][0]==="("||F[z][0]==="CALL_START")R++;if(F[z][0]===")"||F[z][0]==="CALL_END")R--;if(R===0)F[z][0]="CALL_END";z++}}}}}if(U==="TYPE_ANNOTATION"){let W=F[$-1];if(!W)return 1;let Z=z2(F,$+1),Y=X1(Z),R=W,z="type";if(W[0]==="CALL_END"||W[0]===")"){let D=1,J=$-2;while(J>=0&&D>0){let O=F[J][0];if(O==="CALL_END"||O===")")D++;if(O==="CALL_START"||O==="(")D--;J--}if(J>=0)R=F[J];z="returnType"}else if(W[0]==="PARAM_END"){let D=$+1+Z.length,J=F[D];if(J&&(J[0]==="->"||J[0]==="=>"))R=J;z="returnType"}else if(W[0]==="IDENTIFIER"&&$>=2&&F[$-2]?.[0]==="DEF")z="returnType";if(!R.data)R.data={};R.data[z]=Y;let M=1+Z.length;return F.splice($,M),0}if(U==="IDENTIFIER"&&u[1]==="type"){let W=F[$-1]?.[0];if(!(!W||W==="TERMINATOR"||W==="INDENT"||W==="EXPORT"))return 1;let Y=$+1,R=F[Y];if(!R||R[0]!=="IDENTIFIER")return 1;let z=R[1],M=W==="EXPORT",D=M?$-1:$,J=Y+1;if(F[J]?.[0]==="COMPARE"&&F[J]?.[1]==="<"&&!F[J].spaced){let G=M2(F,J);if(G){if(!R.data)R.data={};R.data.typeParams=X1(G),F.splice(J,G.length)}}if(F[J]?.[0]!=="=")return 1;let O=(G)=>{let I=_("TYPE_DECL",z,R);if(I.data={name:z,typeText:G,exported:M},R.data?.typeParams)I.data.typeParams=R.data.typeParams;return I},Q=J+1,q=F[Q];if(q&&(q[0]==="TERMINATOR"||q[0]==="INDENT")){let G=B3(F,Q);if(G)return F.splice(D,G.endIdx-D+1,O(G.typeText)),0}if(q&&q[0]==="INDENT"){let G=k1(F,Q);return F.splice(D,G-D+1,O(Q2(F,Q))),0}let X=z2(F,Q);return F.splice(D,Q+X.length-D,O(X1(X))),0}if(U==="INTERFACE"){let W=$>=1&&F[$-1]?.[0]==="EXPORT",Z=$+1,Y=F[Z];if(!Y)return 1;let R=Y[1],z=null,M=Z+1;if(F[M]?.[0]==="EXTENDS")z=F[M+1]?.[1],M=M+2;if(F[M]?.[0]==="INDENT"){let D=Q2(F,M),J=k1(F,M),O=_("TYPE_DECL",R,Y);O.data={name:R,kind:"interface",extends:z,typeText:D,exported:W};let Q=W?$-1:$,q=J-Q+1;return F.splice(Q,q,O),0}return 1}return 1})}}function z2(f,w){let A=[],_=0;while(w<f.length){let u=f[w],$=u[0],F=$==="("||$==="["||$==="{"||$==="CALL_START"||$==="PARAM_START"||$==="INDEX_START"||$==="COMPARE"&&u[1]==="<",U=$===")"||$==="]"||$==="}"||$==="CALL_END"||$==="PARAM_END"||$==="INDEX_END"||$==="COMPARE"&&u[1]===">";if($==="SHIFT"&&u[1]===">>"&&_>=2){_-=2,A.push(u),w++;continue}if(F){_++,A.push(u),w++;continue}if(U){if(_>0){_--,A.push(u),w++;continue}break}if(_===0){if($==="="||$==="REACTIVE_ASSIGN"||$==="COMPUTED_ASSIGN"||$==="READONLY_ASSIGN"||$==="EFFECT"||$==="TERMINATOR"||$==="INDENT"||$==="OUTDENT"||$==="->"||$===",")break}A.push(u),w++}return A}function X1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let w=f.map((A)=>A[1]).join(" ").replace(/\s+/g," ").trim();return w=w.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": "),w}function M2(f,w){if(w>=f.length)return null;let A=f[w];if(A[0]!=="COMPARE"||A[1]!=="<")return null;let _=[A],u=1,$=w+1;while($<f.length&&u>0){let F=f[$];if(_.push(F),F[0]==="COMPARE"&&F[1]==="<")u++;else if(F[0]==="COMPARE"&&F[1]===">")u--;$++}return u===0?_:null}function Q2(f,w){let A=[],_=w+1,u=1;while(_<f.length&&u>0){let $=f[_];if($[0]==="INDENT"){u++,_++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;_++;continue}if($[0]==="TERMINATOR"){_++;continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[_+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&F){let U=$[1],W=!1,Z=!1;if(_++,U==="readonly"&&f[_]&&(f[_][0]==="PROPERTY"||f[_][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[_][1])&&f[_+1]?.[0]==="TYPE_ANNOTATION")){if(Z=!0,U=f[_][1],f[_].data?.predicate)W=!0;_++}if($.data?.predicate)W=!0;if(f[_]?.[1]==="?"&&!f[_]?.spaced)W=!0,_++;if(f[_]?.[1]===":"||f[_]?.[0]==="TYPE_ANNOTATION")_++;let Y=[],R=0;while(_<f.length){let J=f[_];if(J[0]==="INDENT"){R++,_++;continue}if(J[0]==="OUTDENT"){if(R>0){R--,_++;continue}break}if(J[0]==="TERMINATOR"&&R===0)break;Y.push(J),_++}let z=X1(Y),M=Z?"readonly ":"",D=W?"?":"";A.push(`${M}${U}${D}: ${z}`)}else _++}return"{ "+A.join("; ")+" }"}function k1(f,w){let A=0;for(let _=w;_<f.length;_++){if(f[_][0]==="INDENT")A++;if(f[_][0]==="OUTDENT"){if(A--,A===0)return _}}return f.length-1}function B3(f,w){let A=w;if(f[A]?.[0]==="TERMINATOR")A++;if(f[A]?.[0]!=="INDENT")return null;let _=A;A++;while(A<f.length&&f[A][0]==="TERMINATOR")A++;if(!f[A]||f[A][1]!=="|")return null;let u=[],$=1;A=_+1;while(A<f.length&&$>0){let U=f[A];if(U[0]==="INDENT"){$++,A++;continue}if(U[0]==="OUTDENT"){if($--,$===0)break;A++;continue}if(U[0]==="TERMINATOR"){A++;continue}if(U[1]==="|"&&$===1){A++;let W=[];while(A<f.length){let Z=f[A];if(Z[0]==="TERMINATOR"||Z[0]==="OUTDENT"||Z[1]==="|"&&$===1)break;W.push(Z),A++}if(W.length>0)u.push(X1(W));continue}A++}if(u.length===0)return null;let F=k1(f,_);return{typeText:u.join(" | "),endIdx:F}}function n1(f,w=null,A=""){let _=[],u=0,$=" ",F=()=>$.repeat(u),U=!1,W=new Set,Z=!1,Y=!1,R=!1,z=typeof A==="string"?A.split(`
|
|
2
|
-
`):[];for(let G=0;G<f.length;G++){let I=f[G][0];if(I==="REACTIVE_ASSIGN")Z=!0;else if(I==="COMPUTED_ASSIGN")Y=!0}let M=(G,I,E)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let K=0,H=-1;for(let P=0;P<I.length;P++)if(I[P]==="{")K++;else if(I[P]==="}"){if(K--,K===0){H=P;break}}if(H===I.length-1){let P=I.slice(2,-2).split("; ").filter((N)=>N.trim());if(P.length>0){_.push(`${F()}${G}{`),u++;for(let N of P)_.push(`${F()}${N};`);u--,_.push(`${F()}}${E}`);return}}}_.push(`${F()}${G}${I}${E}`)},D=(G,I)=>{I++;let E=0;while(I<G.length){let K=G[I];if(K[0]==="("||K[0]==="["||K[0]==="{")E++;if(K[0]===")"||K[0]==="]"||K[0]==="}"){if(E===0)break;E--}if(E===0&&K[1]===",")break;I++}return I},J=(G,I)=>{let E=[],K=!1,H=I+1,P=1;while(H<G.length&&P>0){if(G[H][0]==="{")P++;if(G[H][0]==="}")P--;if(P<=0){H++;break}if(G[H][0]==="..."||G[H][0]==="SPREAD"){if(H++,G[H]?.[0]==="IDENTIFIER")E.push({kind:"rest",propName:G[H][1]}),H++;continue}if(G[H][0]==="PROPERTY"&&G[H+1]?.[0]===":"){let B=G[H][1];if(H+=2,G[H]?.[0]==="{"){let h=J(G,H);if(h.hasAnyType)K=!0;E.push({kind:"nested-obj",propName:B,inner:h}),H=h.endJ;continue}if(G[H]?.[0]==="["){let h=O(G,H);if(h.hasAnyType)K=!0;E.push({kind:"nested-arr",propName:B,inner:h}),H=h.endJ;continue}if(G[H]?.[0]==="IDENTIFIER"){let h=G[H][1],j=G[H].data?.type;if(j)K=!0;let T=G[H+1]?.[0]==="=";if(E.push({kind:"rename",propName:B,localName:h,type:j?u1(j):null,hasDefault:T}),H++,T)H=D(G,H)}continue}if(G[H][0]==="IDENTIFIER"){let B=G[H][1],h=G[H].data?.type;if(h)K=!0;let j=G[H+1]?.[0]==="=";if(E.push({kind:"simple",propName:B,type:h?u1(h):null,hasDefault:j}),H++,j)H=D(G,H);continue}H++}let N=[],L=[];for(let B of E)if(B.kind==="rest")N.push(`...${B.propName}`),L.push("[key: string]: unknown");else if(B.kind==="nested-obj"||B.kind==="nested-arr")N.push(`${B.propName}: ${B.inner.patternStr}`),L.push(`${B.propName}: ${B.inner.typeStr}`);else if(B.kind==="rename")N.push(`${B.propName}: ${B.localName}`),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);else N.push(B.propName),L.push(`${B.propName}${B.hasDefault?"?":""}: ${B.type||"any"}`);return{patternStr:`{${N.join(", ")}}`,typeStr:`{${L.join(", ")}}`,endJ:H,hasAnyType:K}},O=(G,I)=>{let E=[],K=[],H=!1,P=I+1,N=1;while(P<G.length&&N>0){if(G[P][0]==="[")N++;if(G[P][0]==="]")N--;if(N>0&&G[P][0]==="IDENTIFIER"){let L=G[P][1],B=G[P].data?.type;if(E.push(L),K.push(B?u1(B):null),B)H=!0}P++}return{patternStr:`[${E.join(", ")}]`,typeStr:`[${K.map((L)=>L||"any").join(", ")}]`,endJ:P,hasAnyType:H}},Q=(G,I)=>{let E=[],K=[],H=I,P=G[H]?.[0];if(P!=="CALL_START"&&P!=="PARAM_START")return{params:E,fields:K,endIdx:H};let N=P==="CALL_START"?"CALL_END":"PARAM_END";H++;let L=0;while(H<G.length&&!(G[H][0]===N&&L===0)){let B=G[H];if(B[1]===","&&L===0){H++;continue}if(B[0]==="{"||B[0]==="["||B[0]==="CALL_START"||B[0]==="PARAM_START"||B[0]==="INDEX_START")L++;if(B[0]==="}"||B[0]==="]"||B[0]==="CALL_END"||B[0]==="PARAM_END"||B[0]==="INDEX_END"){L--,H++;continue}if(B[0]==="@"){if(H++,G[H]?.[0]==="PROPERTY"||G[H]?.[0]==="IDENTIFIER"){let h=G[H][1],j=G[H].data?.type;if(E.push(j?`${h}: ${u1(j)}`:h),j)K.push({name:h,type:u1(j)});H++}continue}if(B[0]==="SPREAD"||B[1]==="..."){if(H++,G[H]?.[0]==="IDENTIFIER"){let h=G[H][1],j=G[H].data?.type;E.push(j?`...${h}: ${u1(j)}`:`...${h}: any[]`),H++}continue}if(B[0]==="{"){L--;let h=J(G,H);if(H=h.endJ,h.hasAnyType)E.push(`${h.patternStr}: ${h.typeStr}`);else E.push(h.patternStr);continue}if(B[0]==="["){L--;let h=O(G,H);if(H=h.endJ,h.hasAnyType)E.push(`${h.patternStr}: ${h.typeStr}`);else E.push(h.patternStr);continue}if(B[0]==="IDENTIFIER"){let h=B[1],j=B.data?.type,T=!1;if(G[H+1]?.[0]==="=")T=!0;let p=T||B.data?.predicate;if(j)E.push(`${h}${p?"?":""}: ${u1(j)}`);else E.push(h);if(H++,T){H++;let S=0;while(H<G.length){let C=G[H];if(C[0]==="("||C[0]==="["||C[0]==="{")S++;if(C[0]===")"||C[0]==="]"||C[0]==="}")S--;if(S===0&&(C[1]===","||C[0]==="CALL_END"))break;H++}}continue}H++}return{params:E,fields:K,endIdx:H}};for(let G=0;G<f.length;G++){let I=f[G],E=I[0],K=!1;if(E==="EXPORT"){if(K=!0,G++,G>=f.length)break;if(I=f[G],E=I[0],E==="DEFAULT"){if(G++,G>=f.length)break;if(I=f[G],E=I[0],E==="IDENTIFIER")_.push(`${F()}export default ${I[1]};`);continue}}if(E==="IMPORT"){let H=[],P=G+1;while(P<f.length&&f[P][0]!=="TERMINATOR")H.push(f[P]),P++;let N="import "+H.map((L)=>L[1]).join(" ");N=N.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),_.push(`${F()}${N};`),G=P;continue}if(E==="TYPE_DECL"){let H=I.data;if(!H)continue;let P=K||H.exported?"export ":"",N=H.typeParams||"";if(H.kind==="interface"){let L=H.extends?` extends ${H.extends}`:"";M(`${P}interface ${H.name}${N}${L} `,H.typeText||"{}","")}else{let L=u1(H.typeText||"");M(`${P}type ${H.name}${N} = `,L,";")}continue}if(E==="ENUM"){let H=K?"export ":"",P=f[G+1];if(!P)continue;let N=P[1],L=G+2;if(f[L]?.[0]==="INDENT"){_.push(`${F()}${H}enum ${N} {`),u++,L++;let B=[];while(L<f.length&&f[L][0]!=="OUTDENT"){if(f[L][0]==="TERMINATOR"){L++;continue}if(f[L][0]==="IDENTIFIER"){let h=f[L][1];if(L++,f[L]?.[1]==="="){L++;let j=f[L]?.[1];B.push(`${h} = ${j}`),L++}else B.push(h)}else L++}for(let h=0;h<B.length;h++){let j=h<B.length-1?",":"";_.push(`${F()}${B[h]}${j}`)}u--,_.push(`${F()}}`)}continue}if(E==="CLASS"){let H=K?"export ":"",P=f[G+1];if(!P)continue;let N=P[1],L="",B=G+2;if(f[B]?.[0]==="EXTENDS")L=` extends ${f[B+1]?.[1]||""}`,B+=2;if(f[B]?.[0]==="INDENT"){let h=!1,j=B+1;while(j<f.length&&f[j][0]!=="OUTDENT"){if(f[j].data?.type||f[j].data?.returnType){h=!0;break}j++}if(h)_.push(`${F()}${H}declare class ${N}${L} {`),U=!0,W.clear(),u++}continue}if(E==="DEF"){let H=f[G+1];if(!H)continue;let P=H[1],N=H.data?.returnType;if(!N&&H.data?.await===!0)N="void";let L=H.data?.typeParams||"",{params:B,endIdx:h}=Q(f,G+2);if(N||B.some((j)=>j.includes(":"))){let j=K?"export ":"",T=U?"":K?"":"declare ",p=N?`: ${u1(N)}`:"",S=B.join(", ");if(U)_.push(`${F()}${P}${L}(${S})${p};`);else _.push(`${F()}${j}${T}function ${P}${L}(${S})${p};`)}G=h;continue}if(E==="{"&&U){let H=G+1,P=1;while(H<f.length&&P>0){let N=f[H];if(N[0]==="{"){P++,H++;continue}if(N[0]==="}"){P--,H++;continue}if(N[0]==="TERMINATOR"){H++;continue}if(N[0]==="PROPERTY"&&P===1){let L=N[1],B=N.data?.returnType;if(H++,f[H]?.[1]===":")H++;let h=[],j=[];if(f[H]?.[0]==="PARAM_START"){let T=Q(f,H);h=T.params,j=T.fields,H=T.endIdx+1}if(f[H]?.[0]==="->"||f[H]?.[0]==="=>")H++;if(f[H]?.[0]==="INDENT"){let T=1;H++;while(H<f.length&&T>0){if(f[H][0]==="INDENT")T++;if(f[H][0]==="OUTDENT")T--;H++}}if(B||h.some((T)=>T.includes(":"))){let T=B?`: ${u1(B)}`:"",p=h.join(", ");if(L==="constructor"&&j.length){for(let S of j)if(!W.has(S.name))_.push(`${F()}${S.name}: ${S.type};`),W.add(S.name)}_.push(`${F()}${L}(${p})${T};`)}continue}H++}G=H-1;continue}if(E==="INDENT")continue;if(E==="OUTDENT"){if(U)u--,_.push(`${F()}}`),U=!1;continue}if(E==="IDENTIFIER"&&!U&&f[G+1]?.[0]==="="&&(f[G+2]?.[0]==="PARAM_START"||f[G+2]?.[0]==="(")){let H=I[1],P=G+2,{params:N}=Q(f,P),L=P,B=0;while(L<f.length){if(f[L][0]==="PARAM_START"||f[L][0]==="(")B++;if(f[L][0]==="PARAM_END"||f[L][0]===")")B--;if(B===0&&(f[L][0]==="->"||f[L][0]==="=>"))break;L++}let h=f[L]?.data?.returnType;if(h||N.some((j)=>j.includes(":"))){let j=K?"export ":"",T=K?"":"declare ",p=h?`: ${u1(h)}`:"",S=N.join(", ");_.push(`${F()}${j}${T}function ${H}(${S})${p};`);continue}}if(E==="IDENTIFIER"&&I.data?.type){let H=I[1],P=u1(I.data.type),N=f[G+1];if(N){let L=K?"export ":"",B=K?"":"declare ";if(N[0]==="READONLY_ASSIGN")_.push(`${F()}${L}${B}const ${H}: ${P};`);else if(N[0]==="REACTIVE_ASSIGN")Z=!0,_.push(`${F()}${L}${B}const ${H}: Signal<${P}>;`);else if(N[0]==="COMPUTED_ASSIGN")Y=!0,_.push(`${F()}${L}${B}const ${H}: Computed<${P}>;`);else if(N[0]==="EFFECT")_.push(`${F()}${L}${B}const ${H}: () => void;`);else if(N[0]==="="){let h=G+2;if(f[h]?.[0]==="PARAM_START"){let T=1,p=h+1;while(p<f.length&&T>0){if(f[p][0]==="PARAM_START")T++;if(f[p][0]==="PARAM_END")T--;p++}h=p}let j=f[h];if(j&&(j[0]==="->"||j[0]==="=>")&&j.data?.returnType){let T=u1(j.data.returnType),{params:p}=Q(f,G+2),S=p.join(", ");_.push(`${F()}${L}${B}function ${H}(${S}): ${T};`)}else if(U)_.push(`${F()}${H}: ${P};`),W.add(H);else _.push(`${F()}${L}let ${H}: ${P};`)}else if(U)_.push(`${F()}${H}: ${P};`),W.add(H)}else if(U)_.push(`${F()}${H}: ${P};`)}}let q=new Set;if(w){if(R=i1(w,_,F,u,q,z)||R,q.size>0)for(let G=_.length-1;G>=0;G--){let I=_[G].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&q.has(I[1]))_.splice(G,1)}}if(_.length===0)return null;let X=[];if(R)X.push("type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;"),X.push("type __RipTag = keyof __RipElementMap;"),X.push("type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };"),X.push("type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;"),X.push("type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' ? never : T[K] extends (...args: any[]) => any ? never : K }[keyof T] & string;"),X.push("type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };"),X.push("type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[]"),X.push("type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };");if(/\bARIA\./.test(A))X.push("type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };"),X.push("declare const ARIA: {"),X.push(" bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"),X.push(" bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"),X.push(" popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"),X.push(" popupGuard(delay?: number): any;"),X.push(" listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"),X.push(" rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"),X.push(" positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"),X.push(" position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"),X.push(" trapFocus(panel: Element | null | undefined): void;"),X.push(" wireAria(panel: Element, id: string): void;"),X.push(" lockScroll(instance: any): void;"),X.push(" unlockScroll(instance: any): void;"),X.push(" hasAnchor: boolean;"),X.push(" [key: string]: any;"),X.push("};");if(Z)X.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),X.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(Y)X.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),X.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(Z||Y)X.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(X.length>0)X.push("");return X.concat(_).join(`
|
|
1
|
+
(()=>{var{defineProperty:d1,getOwnPropertyNames:$3,getOwnPropertyDescriptor:_3}=Object,U3=Object.prototype.hasOwnProperty;function w3(f){return this[f]}var F3=(f)=>{var _=(G2??=new WeakMap).get(f),U;if(_)return _;if(_=d1({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var w of $3(f))if(!U3.call(_,w))d1(_,w,{get:w3.bind(f,w),enumerable:!(U=_3(f,w))||U.enumerable})}return G2.set(f,_),_},G2;var W3=(f)=>f;function A3(f,_){this[f]=W3.bind(null,_)}var Z2=(f,_)=>{for(var U in _)d1(f,U,{get:_[U],enumerable:!0,configurable:!0,set:A3.bind(_,U)})};var l4={};Z2(l4,{rip:()=>j2,processRipScripts:()=>b2,parser:()=>M1,importRip:()=>P1,getStdlibCode:()=>V1,getReactiveRuntime:()=>C1,getComponentRuntime:()=>h1,formatSExpr:()=>Z1,formatErrorHTML:()=>w2,formatError:()=>q1,compileToJS:()=>Q1,compile:()=>l1,VERSION:()=>C2,RipError:()=>W1,Lexer:()=>J1,Compiler:()=>T1,CodeEmitter:()=>w1,BUILD_DATE:()=>h2});var Y3=["type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;","type __RipTag = keyof __RipElementMap;","type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };","type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;","type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' | 'classList' | 'className' | 'nodeValue' | 'textContent' | 'innerHTML' | 'innerText' | 'outerHTML' | 'outerText' | 'scrollLeft' | 'scrollTop' ? never : K extends `on${string}` | `aria${string}Element` | `aria${string}Elements` ? never : T[K] extends (...args: any[]) => any ? never : (<V>() => V extends Pick<T, K> ? 1 : 2) extends (<V>() => V extends { -readonly [P in K]: T[P] } ? 1 : 2) ? K : never }[keyof T] & string;","type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };","type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[];","type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };"];var G3=["type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };","declare const ARIA: {"," bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"," bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"," popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"," popupGuard(delay?: number): any;"," listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"," rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"," positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"," position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"," trapFocus(panel: Element | null | undefined): void;"," wireAria(panel: Element, id: string): void;"," lockScroll(instance: any): void;"," unlockScroll(instance: any): void;"," hasAnchor: boolean;"," [key: string]: any;","};"];function K2(f){let _=f.prototype;_.rewriteTypes=function(){let U=this.tokens,w=this.typeRefNames=new Set,u=($,W,F)=>{let A=[$,W];if(A.pre=0,A.data=null,A.loc=F?.loc??{r:0,c:0,n:0},A.spaced=!1,A.newLine=!1,A.generated=!0,F)A.origin=F;return A};this.scanTokens(($,W,F)=>{let A=$[0];if(A==="IDENTIFIER"){let Y=F[W+1];if(Y&&Y[0]==="COMPARE"&&Y[1]==="<"&&!Y.spaced){let G=F[W-1]?.[0]==="DEF",Z=Q2(F,W+1);if(Z){let Q=W+1+Z.length,J=!G&&F[Q]?.[0]==="="&&F[Q+1]?.[0]==="COMPONENT";if(G||J){if(!$.data)$.data={};if($.data.typeParams=K1(Z),F.splice(W+1,Z.length),G&&F[W+1]?.[0]==="("){F[W+1][0]="CALL_START";let M=1,K=W+2;while(K<F.length&&M>0){if(F[K][0]==="("||F[K][0]==="CALL_START")M++;if(F[K][0]===")"||F[K][0]==="CALL_END")M--;if(M===0)F[K][0]="CALL_END";K++}}}}}}if(A==="TYPE_ANNOTATION"){let Y=F[W-1];if(!Y)return 1;let G=z2(F,W+1),Z=K1(G),Q=Y,J="type";if(Y[0]==="CALL_END"||Y[0]===")"){let K=1,R=W-2;while(R>=0&&K>0){let z=F[R][0];if(z==="CALL_END"||z===")")K++;if(z==="CALL_START"||z==="(")K--;R--}if(R>=0)Q=F[R];J="returnType"}else if(Y[0]==="PARAM_END"){let K=W+1+G.consumed,R=F[K];if(R&&(R[0]==="->"||R[0]==="=>"))Q=R;J="returnType"}else if(Y[0]==="IDENTIFIER"&&W>=2&&F[W-2]?.[0]==="DEF")J="returnType";if(!Q.data)Q.data={};Q.data[J]=Z;for(let K of G)if(K[0]==="IDENTIFIER")w.add(K[1]);let M=1+G.consumed;return F.splice(W,M),0}if(A==="IDENTIFIER"&&$[1]==="type"){let Y=F[W-1]?.[0];if(!(!Y||Y==="TERMINATOR"||Y==="INDENT"||Y==="EXPORT"))return 1;let Z=W+1,Q=F[Z];if(!Q||Q[0]!=="IDENTIFIER")return 1;let J=Q[1],M=Y==="EXPORT",K=M?W-1:W,R=Z+1;if(F[R]?.[0]==="COMPARE"&&F[R]?.[1]==="<"&&!F[R].spaced){let I=Q2(F,R);if(I){if(!Q.data)Q.data={};Q.data.typeParams=K1(I),F.splice(R,I.length)}}if(F[R]?.[0]!=="=")return 1;let z=(I)=>{let B=u("TYPE_DECL",J,Q);if(B.data={name:J,typeText:I,exported:M},Q.data?.typeParams)B.data.typeParams=Q.data.typeParams;return B},q=R+1,O=F[q];if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let I=Z3(F,q);if(I)return F.splice(K,I.endIdx-K+1,z(I.typeText)),0}if(O&&O[0]==="INDENT"){let I=o1(F,q);return F.splice(K,I-K+1,z(p1(F,q))),0}let D=z2(F,q);return F.splice(K,q+D.consumed-K,z(K1(D))),0}if(A==="INTERFACE"){let Y=W>=1&&F[W-1]?.[0]==="EXPORT",G=W+1,Z=F[G];if(!Z)return 1;let Q=Z[1],J=null,M=G+1;if(F[M]?.[0]==="EXTENDS")J=F[M+1]?.[1],M=M+2;if(F[M]?.[0]==="INDENT"){let K=p1(F,M),R=o1(F,M),z=u("TYPE_DECL",Q,Z);z.data={name:Q,kind:"interface",extends:J,typeText:K,exported:Y};let q=Y?W-1:W,O=R-q+1;return F.splice(q,O,z),0}return 1}return 1});for(let $=U.length-1;$>=0;$--){if(U[$][0]!=="DEF")continue;let W=U[$+1];if(!W||W[0]!=="IDENTIFIER")continue;let F=$+2;if(U[F]?.[0]!=="CALL_START")continue;let A=1;F++;while(F<U.length&&A>0){if(U[F][0]==="CALL_START")A++;if(U[F][0]==="CALL_END")A--;F++}let Y=F-1,G=U[F];if(G&&G[0]!=="TERMINATOR")continue;let Z=W.data?.returnType;if(!Z){for(let z=$+2;z<=Y;z++)if(U[z].data?.type){Z=!0;break}}if(!Z)continue;let Q=U.slice($,F+1),J=$>=1&&U[$-1]?.[0]==="EXPORT",M=J?$-1:$,K=F+1-M,R=u("TYPE_DECL",W[1],W);if(R.data={name:W[1],kind:"overload",overloadTokens:Q,exported:J},W.data?.typeParams)R.data.typeParams=W.data.typeParams;U.splice(M,K,R)}}}function z2(f,_){let U=[],w=0,u=_;while(_<f.length){let $=f[_],W=$[0],F=W==="("||W==="["||W==="{"||W==="CALL_START"||W==="PARAM_START"||W==="INDEX_START"||W==="COMPARE"&&$[1]==="<",A=W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="PARAM_END"||W==="INDEX_END"||W==="COMPARE"&&$[1]===">";if(W==="SHIFT"&&$[1]===">>"&&w>=2){w-=2,U.push($),_++;continue}if(F){w++,U.push($),_++;continue}if(A){if(w>0){w--,U.push($),_++;continue}break}if(w===0){if(W==="INDENT"&&U.length>0&&U[U.length-1][0]==="=>"){_++;let Y=1;while(_<f.length&&Y>0)if(f[_][0]==="INDENT")Y++,_++;else if(f[_][0]==="OUTDENT")Y--,_++;else U.push(f[_]),_++;continue}if(W==="="||W==="REACTIVE_ASSIGN"||W==="COMPUTED_ASSIGN"||W==="READONLY_ASSIGN"||W==="EFFECT"||W==="TERMINATOR"||W==="INDENT"||W==="OUTDENT"||W==="->"||W===",")break}U.push($),_++}return U.consumed=_-u,U}function K1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let _=f.map((U)=>U[1]).join(" ").replace(/\s+/g," ").trim();return _=_.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": ").replace(/ : /g,": "),_}function Q2(f,_){if(_>=f.length)return null;let U=f[_];if(U[0]!=="COMPARE"||U[1]!=="<")return null;let w=[U],u=1,$=_+1;while($<f.length&&u>0){let W=f[$];if(w.push(W),W[0]==="COMPARE"&&W[1]==="<")u++;else if(W[0]==="COMPARE"&&W[1]===">")u--;$++}return u===0?w:null}function p1(f,_){let U=[],w=_+1,u=1;while(w<f.length&&u>0){let $=f[w];if($[0]==="INDENT"){u++,w++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;w++;continue}if($[0]==="TERMINATOR"){w++;continue}if(u===1&&$[0]==="["){let F=[];w++;while(w<f.length&&f[w][0]!=="]")F.push(f[w]),w++;if(w++,f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let A=[];while(w<f.length){let Z=f[w];if(Z[0]==="TERMINATOR"||Z[0]==="OUTDENT")break;A.push(Z),w++}let Y=K1(F),G=K1(A);U.push(`[${Y}]: ${G}`);continue}let W=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[w+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&W){let F=$[1],A=!1,Y=!1;if(w++,F==="readonly"&&f[w]&&(f[w][0]==="PROPERTY"||f[w][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[w][1])&&f[w+1]?.[0]==="TYPE_ANNOTATION")){if(Y=!0,F=f[w][1],f[w].data?.predicate)A=!0;w++}if($.data?.predicate)A=!0;if(f[w]?.[1]==="?"&&!f[w]?.spaced)A=!0,w++;if(f[w]?.[1]===":"||f[w]?.[0]==="TYPE_ANNOTATION")w++;let G=[],Z=0;while(w<f.length){let K=f[w];if(K[0]==="IDENTIFIER"&&K[1]==="type"&&f[w+1]?.[0]==="INDENT"){w++;let R=p1(f,w);G.push(["",R]);let z=1;w++;while(w<f.length&&z>0){if(f[w][0]==="INDENT")z++;if(f[w][0]==="OUTDENT")z--;w++}continue}if(K[0]==="INDENT"){Z++,w++;continue}if(K[0]==="OUTDENT"){if(Z>0){Z--,w++;continue}break}if(K[0]==="TERMINATOR"&&Z===0)break;G.push(K),w++}let Q=K1(G),J=Y?"readonly ":"",M=A?"?":"";U.push(`${J}${F}${M}: ${Q}`)}else w++}return"{ "+U.join("; ")+" }"}function o1(f,_){let U=0;for(let w=_;w<f.length;w++){if(f[w][0]==="INDENT")U++;if(f[w][0]==="OUTDENT"){if(U--,U===0)return w}}return f.length-1}function Z3(f,_){let U=_;if(f[U]?.[0]==="TERMINATOR")U++;if(f[U]?.[0]!=="INDENT")return null;let w=U;U++;while(U<f.length&&f[U][0]==="TERMINATOR")U++;if(!f[U]||f[U][1]!=="|")return null;let u=[],$=1;U=w+1;while(U<f.length&&$>0){let F=f[U];if(F[0]==="INDENT"){$++,U++;continue}if(F[0]==="OUTDENT"){if($--,$===0)break;U++;continue}if(F[0]==="TERMINATOR"){U++;continue}if(F[1]==="|"&&$===1){U++;let A=[];while(U<f.length){let Y=f[U];if(Y[0]==="TERMINATOR"||Y[0]==="OUTDENT"||Y[1]==="|"&&$===1)break;A.push(Y),U++}if(A.length>0)u.push(K1(A));continue}U++}if(u.length===0)return null;let W=o1(f,w);return{typeText:u.join(" | "),endIdx:W}}function r1(f,_=null,U=""){let w=[],u=0,$=" ",W=()=>$.repeat(u),F=!1,A=new Set,Y=!1,G=!1,Z=!1,Q=typeof U==="string"?U.split(`
|
|
2
|
+
`):[];for(let D=0;D<f.length;D++){let I=f[D][0];if(I==="REACTIVE_ASSIGN")Y=!0;else if(I==="COMPUTED_ASSIGN")G=!0}let J=(D,I,B)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let H=0,X=-1;for(let P=0;P<I.length;P++)if(I[P]==="{")H++;else if(I[P]==="}"){if(H--,H===0){X=P;break}}if(X===I.length-1){let P=I.slice(2,-2),S=[],E=0,L=0;for(let T=0;T<P.length;T++)if(P[T]==="{")L++;else if(P[T]==="}")L--;else if(L===0&&P[T]===";"&&P[T+1]===" ")S.push(P.slice(E,T)),E=T+2;if(E<P.length)S.push(P.slice(E));if(S=S.filter((T)=>T.trim()),S.length>0){w.push(`${W()}${D}{`),u++;for(let T of S)w.push(`${W()}${T};`);u--,w.push(`${W()}}${B}`);return}}}w.push(`${W()}${D}${I}${B}`)},M=(D,I)=>{I++;let B=0;while(I<D.length){let H=D[I];if(H[0]==="("||H[0]==="["||H[0]==="{")B++;if(H[0]===")"||H[0]==="]"||H[0]==="}"){if(B===0)break;B--}if(B===0&&H[1]===",")break;I++}return I},K=(D,I)=>{let B=[],H=!1,X=I+1,P=1;while(X<D.length&&P>0){if(D[X][0]==="{")P++;if(D[X][0]==="}")P--;if(P<=0){X++;break}if(D[X][0]==="..."||D[X][0]==="SPREAD"){if(X++,D[X]?.[0]==="IDENTIFIER")B.push({kind:"rest",propName:D[X][1]}),X++;continue}if(D[X][0]==="PROPERTY"&&D[X+1]?.[0]===":"){let L=D[X][1];if(X+=2,D[X]?.[0]==="{"){let T=K(D,X);if(T.hasAnyType)H=!0;B.push({kind:"nested-obj",propName:L,inner:T}),X=T.endJ;continue}if(D[X]?.[0]==="["){let T=R(D,X);if(T.hasAnyType)H=!0;B.push({kind:"nested-arr",propName:L,inner:T}),X=T.endJ;continue}if(D[X]?.[0]==="IDENTIFIER"){let T=D[X][1],C=D[X].data?.type;if(C)H=!0;let N=D[X+1]?.[0]==="=";if(B.push({kind:"rename",propName:L,localName:T,type:C?U1(C):null,hasDefault:N}),X++,N)X=M(D,X)}continue}if(D[X][0]==="IDENTIFIER"){let L=D[X][1],T=D[X].data?.type;if(T)H=!0;let C=D[X+1]?.[0]==="=";if(B.push({kind:"simple",propName:L,type:T?U1(T):null,hasDefault:C}),X++,C)X=M(D,X);continue}X++}let S=[],E=[];for(let L of B)if(L.kind==="rest")S.push(`...${L.propName}`),E.push("[key: string]: unknown");else if(L.kind==="nested-obj"||L.kind==="nested-arr")S.push(`${L.propName}: ${L.inner.patternStr}`),E.push(`${L.propName}: ${L.inner.typeStr}`);else if(L.kind==="rename")S.push(`${L.propName}: ${L.localName}`),E.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);else S.push(L.propName),E.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);return{patternStr:`{${S.join(", ")}}`,typeStr:`{${E.join(", ")}}`,endJ:X,hasAnyType:H}},R=(D,I)=>{let B=[],H=[],X=!1,P=I+1,S=1;while(P<D.length&&S>0){if(D[P][0]==="[")S++;if(D[P][0]==="]")S--;if(S>0&&D[P][0]==="IDENTIFIER"){let E=D[P][1],L=D[P].data?.type;if(B.push(E),H.push(L?U1(L):null),L)X=!0}P++}return{patternStr:`[${B.join(", ")}]`,typeStr:`[${H.map((E)=>E||"any").join(", ")}]`,endJ:P,hasAnyType:X}},z=(D,I)=>{let B=[],H=[],X=I,P=D[X]?.[0];if(P!=="CALL_START"&&P!=="PARAM_START")return{params:B,fields:H,endIdx:X};let S=P==="CALL_START"?"CALL_END":"PARAM_END";X++;let E=0;while(X<D.length&&!(D[X][0]===S&&E===0)){let L=D[X];if(L[1]===","&&E===0){X++;continue}if(L[0]==="{"||L[0]==="["||L[0]==="CALL_START"||L[0]==="PARAM_START"||L[0]==="INDEX_START")E++;if(L[0]==="}"||L[0]==="]"||L[0]==="CALL_END"||L[0]==="PARAM_END"||L[0]==="INDEX_END"){E--,X++;continue}if(L[0]==="@"){if(X++,D[X]?.[0]==="PROPERTY"||D[X]?.[0]==="IDENTIFIER"){let T=D[X][1],C=D[X].data?.type;if(B.push(C?`${T}: ${U1(C)}`:T),C)H.push({name:T,type:U1(C)});X++}continue}if(L[0]==="SPREAD"||L[1]==="..."){if(X++,D[X]?.[0]==="IDENTIFIER"){let T=D[X][1],C=D[X].data?.type;B.push(C?`...${T}: ${U1(C)}`:`...${T}: any[]`),X++}continue}if(L[0]==="{"){E--;let T=K(D,X);if(X=T.endJ,T.hasAnyType)B.push(`${T.patternStr}: ${T.typeStr}`);else B.push(T.patternStr);continue}if(L[0]==="["){E--;let T=R(D,X);if(X=T.endJ,T.hasAnyType)B.push(`${T.patternStr}: ${T.typeStr}`);else B.push(T.patternStr);continue}if(L[0]==="IDENTIFIER"){let T=L[1],C=L.data?.type,N=!1;if(D[X+1]?.[0]==="=")N=!0;let d=N||L.data?.predicate;if(C)B.push(`${T}${d?"?":""}: ${U1(C)}`);else B.push(T);if(X++,N){X++;let V=0;while(X<D.length){let h=D[X];if(h[0]==="("||h[0]==="["||h[0]==="{")V++;if(h[0]===")"||h[0]==="]"||h[0]==="}")V--;if(V===0&&(h[1]===","||h[0]==="CALL_END"))break;X++}}continue}X++}return{params:B,fields:H,endIdx:X}};for(let D=0;D<f.length;D++){let I=f[D],B=I[0],H=!1;if(B==="EXPORT"){if(H=!0,D++,D>=f.length)break;if(I=f[D],B=I[0],B==="DEFAULT"){if(D++,D>=f.length)break;if(I=f[D],B=I[0],B==="IDENTIFIER")w.push(`${W()}export default ${I[1]};`);continue}}if(B==="IMPORT"){let X=[],P=D+1;while(P<f.length&&f[P][0]!=="TERMINATOR")X.push(f[P]),P++;let S="import "+X.map((E)=>E[1]).join(" ");S=S.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),w.push(`${W()}${S};`),D=P;continue}if(B==="TYPE_DECL"){let X=I.data;if(!X)continue;let P=H||X.exported?"export ":"",S=X.typeParams||"";if(X.kind==="overload"){let E=X.overloadTokens,L=E[1],{params:T}=z(E,2),C=L.data?.returnType,N=C?`: ${U1(C)}`:"",d=F?"":P?"":"declare ",V=X.typeParams||"";if(F)w.push(`${W()}${X.name}${V}(${T.join(", ")})${N};`);else w.push(`${W()}${P}${d}function ${X.name}${V}(${T.join(", ")})${N};`)}else if(X.kind==="interface"){let E=X.extends?` extends ${X.extends}`:"";J(`${P}interface ${X.name}${S}${E} `,X.typeText||"{}","")}else{let E=U1(X.typeText||"");J(`${P}type ${X.name}${S} = `,E,";")}continue}if(B==="ENUM"){let X=H?"export ":"",P=f[D+1];if(!P)continue;let S=P[1],E=D+2;if(f[E]?.[0]==="INDENT"){w.push(`${W()}${X}enum ${S} {`),u++,E++;let L=[];while(E<f.length&&f[E][0]!=="OUTDENT"){if(f[E][0]==="TERMINATOR"){E++;continue}if(f[E][0]==="IDENTIFIER"){let T=f[E][1];if(E++,f[E]?.[1]==="="){E++;let C=f[E]?.[1];L.push(`${T} = ${C}`),E++}else L.push(T)}else E++}for(let T=0;T<L.length;T++){let C=T<L.length-1?",":"";w.push(`${W()}${L[T]}${C}`)}u--,w.push(`${W()}}`)}continue}if(B==="CLASS"){let X=H?"export ":"",P=f[D+1];if(!P)continue;let S=P[1],E="",L=D+2;if(f[L]?.[0]==="EXTENDS")E=` extends ${f[L+1]?.[1]||""}`,L+=2;if(f[L]?.[0]==="INDENT"){let T=!1,C=L+1;while(C<f.length&&f[C][0]!=="OUTDENT"){if(f[C].data?.type||f[C].data?.returnType){T=!0;break}C++}if(T)w.push(`${W()}${X}declare class ${S}${E} {`),F=!0,A.clear(),u++}continue}if(B==="DEF"){let X=f[D+1];if(!X)continue;let P=X[1],S=X.data?.returnType;if(!S&&X.data?.await===!0)S="void";let E=X.data?.typeParams||"",{params:L,endIdx:T}=z(f,D+2);if(S||L.some((C)=>C.includes(":"))){let C=H?"export ":"",N=F?"":H?"":"declare ",d=S?`: ${U1(S)}`:"",V=L.join(", ");if(F)w.push(`${W()}${P}${E}(${V})${d};`);else w.push(`${W()}${C}${N}function ${P}${E}(${V})${d};`)}D=T;continue}if(B==="{"&&F){let X=D+1,P=1;while(X<f.length&&P>0){let S=f[X];if(S[0]==="{"){P++,X++;continue}if(S[0]==="}"){P--,X++;continue}if(S[0]==="TERMINATOR"){X++;continue}if(S[0]==="PROPERTY"&&P===1){let E=S[1],L=S.data?.returnType;if(X++,f[X]?.[1]===":")X++;let T=[],C=[];if(f[X]?.[0]==="PARAM_START"){let N=z(f,X);T=N.params,C=N.fields,X=N.endIdx+1}if(f[X]?.[0]==="->"||f[X]?.[0]==="=>")X++;if(f[X]?.[0]==="INDENT"){let N=1;X++;while(X<f.length&&N>0){if(f[X][0]==="INDENT")N++;if(f[X][0]==="OUTDENT")N--;X++}}if(L||T.some((N)=>N.includes(":"))){let N=L?`: ${U1(L)}`:"",d=T.join(", ");if(E==="constructor"&&C.length){for(let V of C)if(!A.has(V.name))w.push(`${W()}${V.name}: ${V.type};`),A.add(V.name)}w.push(`${W()}${E}(${d})${N};`)}continue}X++}D=X-1;continue}if(B==="INDENT")continue;if(B==="OUTDENT"){if(F)u--,w.push(`${W()}}`),F=!1;continue}if(B==="IDENTIFIER"&&!F&&f[D+1]?.[0]==="="&&(f[D+2]?.[0]==="PARAM_START"||f[D+2]?.[0]==="(")){let X=I[1],P=D+2,{params:S}=z(f,P),E=P,L=0;while(E<f.length){if(f[E][0]==="PARAM_START"||f[E][0]==="(")L++;if(f[E][0]==="PARAM_END"||f[E][0]===")")L--;if(L===0&&(f[E][0]==="->"||f[E][0]==="=>"))break;E++}let T=f[E]?.data?.returnType;if(T||S.some((C)=>C.includes(":"))){let C=H?"export ":"",N=H?"":"declare ",d=T?`: ${U1(T)}`:"",V=S.join(", ");w.push(`${W()}${C}${N}function ${X}(${V})${d};`);continue}}if(B==="IDENTIFIER"&&I.data?.type){let X=I[1],P=U1(I.data.type),S=f[D+1];if(S){let E=H?"export ":"",L=H?"":"declare ";if(S[0]==="READONLY_ASSIGN")w.push(`${W()}${E}${L}const ${X}: ${P};`);else if(S[0]==="REACTIVE_ASSIGN")Y=!0,w.push(`${W()}${E}${L}const ${X}: Signal<${P}>;`);else if(S[0]==="COMPUTED_ASSIGN")G=!0,w.push(`${W()}${E}${L}const ${X}: Computed<${P}>;`);else if(S[0]==="EFFECT")w.push(`${W()}${E}${L}const ${X}: () => void;`);else if(S[0]==="="){let T=D+2;if(f[T]?.[0]==="PARAM_START"){let N=1,d=T+1;while(d<f.length&&N>0){if(f[d][0]==="PARAM_START")N++;if(f[d][0]==="PARAM_END")N--;d++}T=d}let C=f[T];if(C&&(C[0]==="->"||C[0]==="=>")&&C.data?.returnType){let N=U1(C.data.returnType),{params:d}=z(f,D+2),V=d.join(", ");w.push(`${W()}${E}${L}function ${X}(${V}): ${N};`)}else if(F)w.push(`${W()}${X}: ${P};`),A.add(X);else w.push(`${W()}${E}let ${X}: ${P};`)}else if(F)w.push(`${W()}${X}: ${P};`),A.add(X)}else if(F)w.push(`${W()}${X}: ${P};`)}}let q=new Set;if(_){if(Z=a1(_,w,W,u,q,Q)||Z,q.size>0)for(let D=w.length-1;D>=0;D--){let I=w[D].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&q.has(I[1]))w.splice(D,1)}}if(w.length===0)return null;let O=[];if(Z)O.push(...Y3);if(/\bARIA\./.test(U))O.push(...G3);if(Y)O.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),O.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(G)O.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),O.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(Y||G)O.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(O.length>0)O.push("");return O.concat(w).join(`
|
|
3
3
|
`)+`
|
|
4
|
-
`}function
|
|
5
|
-
`),f=f.replace(
|
|
6
|
-
`+f;return f}advance(f){let
|
|
7
|
-
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,
|
|
8
|
-
`)return 0;let
|
|
9
|
-
`);if(this.isUnfinished()){if(
|
|
10
|
-
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&
|
|
11
|
-
`)u--;u++;let $=this.chunk.slice(u,
|
|
12
|
-
`)}if($===0&&w?.length===3)W=W.replace(/^\n/,"");if($===f.length-1&&w?.length===3)W=W.replace(/\n[^\S\n]*$/,"");if(u)W=W.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${W}"`,{len:U.length,data:{quote:w}})}}if(f.length>1)this.emit("STRING_END",")",{len:w?.length||0});return _}numberToken(){let f=i3.exec(this.chunk);if(!f)return 0;let w=f[0],A=w.length,_={row:this.row,col:this.col};if(/^0[BOX]/.test(w))U1(`radix prefix in '${w}' must be lowercase`,{..._,col:_.col+1});if(/^0\d*[89]/.test(w))U1(`decimal literal '${w}' must not be prefixed with '0'`,{..._,len:A});if(/^0\d+/.test(w))U1(`octal literal '${w}' must be prefixed with '0o'`,{..._,len:A});let u=Y4(w),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=w;return this.emit($,w,{len:A,data:F}),A}regexToken(){let f=this.matchWithInterpolations(_4,"///");if(f){let{tokens:Z,index:Y}=f,[R]=B2.exec(this.chunk.slice(Y)),z=Y+R.length;if(Z.length===1||!Z.some((M)=>M[0]==="TOKENS")){let M=(Z[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${M}/${R}`,{len:z,data:{delimiter:"///",heregex:{flags:R}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Z,{quote:"///",endOffset:z-R.length}),R)this.emit(",",",",{len:0}),this.emit("STRING",`"${R}"`,{len:R.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return z}let w=$4.exec(this.chunk);if(!w)return 0;let[A,_,u]=w,$=this.prev();if($){if($.spaced&&V1.has($[0])&&(!u||/^\/=?\s/.test(A)))return 0;if(g3.has($[0])&&!($.spaced&&V1.has($[0])))return 0}if(!u)U1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=A.length,[U]=B2.exec(this.chunk.slice(F)),W=F+U.length;if(!w4.test(U))U1(`invalid regular expression flags ${U}`,{row:this.row,col:this.col+F,len:U.length});return this.emit("REGEX",`/${_}/${U}`,{len:W,data:{delimiter:"/"}}),W}jsToken(){if(this.chunk[0]!=="`")return 0;let f=U4.exec(this.chunk)||A4.exec(this.chunk);if(!f)return 0;let w=f[1],A=f[0].length;return this.emit("JS",w,{len:A,data:{here:f[0].startsWith("```")}}),A}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let A={"[":"]","(":")","{":"}","<":">"}[f]||f,_=A!==f,u=1,$=3;while($<this.chunk.length&&u>0){let Z=this.chunk[$];if(Z==="\\"){$+=2;continue}if(_&&Z===f)u++;if(Z===A)u--;if(u>0)$++}if(u!==0)return 0;let F=this.chunk.slice(3,$),U=$+1,W=[];if(F.trim()){let Z=F.trim().split(/(?<!\\)\s+/);for(let Y of Z)W.push(Y.replace(/\\ /g," "))}this.emit("[","[",{len:U});for(let Z=0;Z<W.length;Z++){if(Z>0)this.emit(",",",");this.emit("STRING",`"${W[Z]}"`)}return this.emit("]","]"),U}literalToken(){let f=this.wordLiteral();if(f)return f;let w=n3.exec(this.chunk),A=w?w[0]:this.chunk.charAt(0),_=A,u=this.prev();if(o3.test(A))this.tagParameters();if(A==="="&&u&&u[1]==="."&&!u.spaced){let $=this.tokens,F=$.length-2;while(F>=1&&$[F][0]==="PROPERTY"&&$[F-1]?.[1]===".")F-=2;if(F>=0&&($[F][0]==="IDENTIFIER"||$[F][0]===")"||$[F][0]==="]")){let U=$.slice(F,$.length-1);u[0]="=",u[1]="=";for(let W of U)this.tokens.push(c1(W[0],W[1],{pre:0,row:W[2],col:W[3],len:W[4]}));return this.tokens.push(c1(".",".",{pre:0,row:this.row,col:this.col,len:1})),A.length}}if(u&&(A==="="||P2.has(A))){if(A==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",A.length}if(A==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(A==="{"&&this.seenImport)this.importSpecifierList=!0;if(A==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(A==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(A==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(A===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,_="TERMINATOR";else if(A==="|>")_="PIPE";else if(A==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(A==="::")_="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(A==="~=")_="COMPUTED_ASSIGN";else if(A===":=")_="REACTIVE_ASSIGN";else if(A===":>")_="RIGHTWARD_ASSIGN";else if(A==="<=>")_="BIND";else if(A==="~>")_="EFFECT",this.inTypeAnnotation=!1;else if(A==="=!")_="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(A==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let $=this.chunk.slice(2),F=/^@(\s*)=(?!=)/.exec($);if(F){let W=F[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Z=this.emit("PROPERTY","assign");return Z.spaced=!0,this.emit("@","@"),this.emit(",",","),3+W.length+1}let U=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec($);if(U){let W=U[1],Z=U[2],Y=W[0]==="@",R=Y?W.slice(1):W,z=R?R.split("."):[],M=()=>{if(Y){if(this.emit("@","@"),z.length>0)this.emit("PROPERTY",z[0])}else this.emit("IDENTIFIER",z[0]);for(let J=1;J<z.length;J++)this.emit(".","."),this.emit("PROPERTY",z[J])};M(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),M(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let D=this.prev();return D.mergeClose=!0,2+W.length+Z.length+1}}else if(A==="*"&&u?.[0]==="EXPORT")_="EXPORT_ALL";else if(v3.has(A))_="MATH";else if(l3.has(A))_="COMPARE";else if(P2.has(A))_="COMPOUND_ASSIGN";else if(m3.has(A))_="UNARY_MATH";else if(x3.has(A))_="SHIFT";else if(A==="?"&&u?.spaced)_="TERNARY";else if(A==="!?"&&u&&!u.spaced)_="DEFINED";else if(A==="?!"&&u&&!u.spaced)_="PRESENCE";else if(A==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))_="?.";else if(u){if(A==="("&&!u.spaced&&V1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";_="CALL_START"}if(A==="["&&!u.spaced&&r1.has(u[0])){if(_="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(A==="="||_==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(A==="("||A==="{"||A==="[")this.ends.push({tag:c3[A],origin:[_,A]});else if(A===")"||A==="}"||A==="]")this.pair(A);return this.emit(_,A,{len:A.length}),A.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,w=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let A=this.tokens[f];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(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let w=this.tokens[f??this.tokens.length-1];if(w?.[0]==="DO")w[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let w=0;w<f.length;w++){if(f[w][0]!=="MATH"||f[w][1]!=="*")continue;let A=f[w+1];if(!A||A[0]!=="{")continue;if(f[w].spaced||f[w].newLine)continue;let _=f[w-1];if(_&&r1.has(_[0]))continue;f.splice(w,1),f[w][0]="MAP_START";let u=1;for(let $=w+1;$<f.length&&u>0;$++){let F=f[$][0];if(F==="{"||F==="MAP_START")u++;if(F==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((f,w)=>{if(f[0]==="CALL_START")this.detectEnd(w+1,(A)=>A[0]===")"||A[0]==="CALL_END",(A)=>A[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,w)=>{if(f[0]==="INDEX_START")this.detectEnd(w+1,(A)=>A[0]==="]"||A[0]==="INDEX_END",(A,_)=>{if(this.tokens[_+1]?.[0]===":")f[0]="[",A[0]="]";else A[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,w=null,A=null,_=($,F)=>{return $[1]!==";"&&b3.has($[0])&&!($[0]==="TERMINATOR"&&H2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||q2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,F)=>{let U=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(U,0,A)};this.scanTokens(($,F,U)=>{let[W]=$;if(W==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return U.splice(F,1,...this.makeIndentation()),1;if(H2.has(this.tokens[F+1]?.[0]))return U.splice(F,1),0}if(W==="CATCH")for(let Z=1;Z<=2;Z++){let Y=this.tokens[F+Z]?.[0];if(Y==="OUTDENT"||Y==="TERMINATOR"||Y==="FINALLY")return U.splice(F+Z,0,...this.makeIndentation()),2+Z}if((W==="->"||W==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[w,A]=this.makeIndentation(),U.splice(F+1,0,w,A),1;if(O2.has(W)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(W==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(W==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(f=W,[w,A]=this.makeIndentation(),W==="THEN")w.fromThen=!0;if(U.splice(F+1,0,w),W==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,_,u);else this.detectEnd(F+2,_,u);if(W==="THEN")U.splice(F,1);return 1}return 1})}singleLineOwner(f){let w=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let A=f-1;A>=0;A--){let _=this.tokens[A],u=_?.[0];if(w.has(u))return u;if(G1.has(u)||_?.newLine)return null}return null}detectWhenThenEnd(f,w,A){let _=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],F=$[0];if(_===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(w.call(this,$,f))return A.call(this,$,f)}if(R1.has(F))_++;if(W1.has(F))_--;if(_<0)return A.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,w=(_,u)=>{return _[0]==="TERMINATOR"||_[0]==="INDENT"&&!O2.has(this.tokens[u-1]?.[0])},A=(_)=>{if(_[0]!=="INDENT"||_.generated&&!_.fromThen)f[0]="POST_"+f[0]};this.scanTokens((_,u)=>{if(_[0]!=="IF"&&_[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=_,this.detectEnd(u+1,w,A),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let w=f.length-2;w>=0;w--)if(f[w][0]==="IDENTIFIER"&&f[w][1]==="$"&&(f[w+1]?.[0]==="STRING"||f[w+1]?.[0]==="STRING_START")){let A=f[w-1];if(A&&j3.has(A[0])){if(f.splice(w,1),A.spaced=!1,f[w].spaced=!1,f[w].pre=0,f[w].newLine)f[w].newLine=!1}}}addImplicitBracesAndParens(){let f=[],w=!1;this.scanTokens((A,_,u)=>{let[$]=A,F=u[_-1]||[],U=u[_+1]||[],[W]=F,[Z]=U,Y=_,R=(K)=>_-Y+K,z=()=>f[f.length-1],M=(K)=>K?.[2]?.ours,D=()=>M(z())&&z()?.[0]==="(",J=()=>M(z())&&z()?.[0]==="{",O=(K)=>{f.push(["(",K,{ours:!0}]),u.splice(K,0,A1("CALL_START","("))},Q=()=>{f.pop(),u.splice(_,0,A1("CALL_END",")")),_+=1},q=(K,H={})=>{f.push(["{",K,{sameLine:!0,startsLine:H.startsLine??!0,ours:!0}]);let P=A1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(K,0,P)},X=(K)=>{K=K??_,f.pop(),u.splice(K,0,A1("}","}")),_+=1};if((D()||J())&&y3.has($))return f.push(["CONTROL",_,{ours:!0}]),R(1);if($==="INDENT"&&M(z())){if(W!=="=>"&&W!=="->"&&W!=="["&&W!=="("&&W!==","&&W!=="{"&&W!=="ELSE"&&W!=="=")while(D()||J()&&W!==":")if(D())Q();else X();if(z()?.[2]?.ours&&z()[0]==="CONTROL")f.pop();return f.push([$,_]),R(1)}if(R1.has($))return f.push([$,_]),R(1);if(W1.has($)){while(M(z()))if(D())Q();else if(J())X();else f.pop();f.pop()}if(d1.has($)&&A.spaced&&(C1.has(Z)||Z==="..."&&C1.has(u[_+2]?.[0])||h3.has(Z)&&!U.spaced&&!U.newLine)&&!(($==="]"||$==="}")&&(Z==="->"||Z==="=>")))return O(_+1),R(2);if(d1.has($)&&this.tokens[_+1]?.[0]==="INDENT"&&this.looksObjectish(_+2)&&!this.findTagsBackwards(_,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return O(_+1),f.push(["INDENT",_+2]),R(3);if($==="TERNARY")w=!0;if($===":"){if(w)return w=!1,R(1);if(u[_-1]?.[0]==="PROPERTY"&&u[_-2]?.[0]==="."){let P=_-2;while(P>=2&&u[P]?.[0]==="."&&(u[P-1]?.[0]==="PROPERTY"||u[P-1]?.[0]==="IDENTIFIER"))P-=2;if(P+=1,u[P]?.[0]==="IDENTIFIER"||u[P]?.[0]==="PROPERTY"){let N=[];for(let B=P;B<_;B+=2)N.push(u[B][1]);let L=A1("STRING",`"${N.join(".")}"`,u[P]);L.pre=u[P].pre,L.spaced=u[P].spaced,L.newLine=u[P].newLine,L.loc=u[P].loc,u.splice(P,_-P,L),_=P+1}}let K=W1.has(this.tokens[_-1]?.[0])?f[f.length-1]?.[1]??_-1:_-1;if(this.tokens[_-2]?.[0]==="@")K=_-2;let H=K<=0||G1.has(this.tokens[K-1]?.[0])||this.tokens[K-1]?.newLine;if(z()){let[P,N]=z(),L=f[f.length-2],B=(h)=>h==="{"||h==="MAP_START";if((B(P)||P==="INDENT"&&B(L?.[0])&&!M(L))&&(H||this.tokens[K-1]?.[0]===","||B(this.tokens[K-1]?.[0])||B(this.tokens[K]?.[0])))return R(1)}return q(K,{startsLine:!!H}),R(2)}if(G1.has($))for(let K=f.length-1;K>=0;K--){if(!M(f[K]))break;if(f[K][0]==="{")f[K][2].sameLine=!1}let G=W==="OUTDENT"||F.newLine,I=$==="||"||$==="&&",E=!1;if(I){let K=_+1,H=u[K]?.[0];if(H==="("||H==="["||H==="{"){for(let P=1;++K<u.length&&P>0;)if(H=u[K][0],H==="("||H==="["||H==="{")P++;else if(H===")"||H==="]"||H==="}")P--}else if(H&&H!=="TERMINATOR"&&H!=="OUTDENT"&&H!==",")K++;E=u[K]?.[0]===","}if(C3.has($)&&!E||q2.has($)&&G)while(M(z())){let[K,,{sameLine:H,startsLine:P}]=z();if(D()&&W!==",")Q();else if(J()&&!I&&H&&$!=="TERMINATOR"&&W!==":")X();else if(J()&&$==="TERMINATOR"&&W!==","&&!(P&&this.looksObjectish(_+1)))X();else if(z()?.[2]?.ours&&z()[0]==="CONTROL"&&u[z()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(_+1)&&J()&&(Z!=="TERMINATOR"||!this.looksObjectish(_+2))){let K=Z==="OUTDENT"?1:0;while(J())X(_+K)}return R(1)})}addImplicitCallCommas(){let f=0,w=0,A=this.tokens;while(w<A.length){let _=A[w][0],u=w>0?A[w-1][0]:null;if(_==="CALL_START"||_==="(")f++;if(_==="CALL_END"||_===")")f--;if(f>0&&(_==="->"||_==="=>")&&V3.has(u))A.splice(w,0,A1(",",",")),w++;w++}}scanTokens(f){let w=0;while(w<this.tokens.length)w+=f.call(this,this.tokens[w],w,this.tokens)}detectEnd(f,w,A,_={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&w.call(this,$,f))return A.call(this,$,f);if(R1.has($[0]))u++;if(W1.has($[0]))u--;if(u<0){if(_.returnOnNegativeLevel)return;return A.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let w=0;w<f.length;w++){if(!f[w].mergeClose)continue;let A=0;for(let _=w+1;_<f.length;_++){let u=f[_][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"){f.splice(_,0,A1("CALL_END",")",f[_-1]));break}if(_===f.length-1){f.splice(_+1,0,A1("CALL_END",")",f[_]));break}}}}commaInImplicitCall(f){let w=0;for(let A=f-1;A>=0;A--){let _=this.tokens[A][0];if(W1.has(_)){w++;continue}if(R1.has(_)){if(_==="INDENT")return!1;if(w--,w<0)return!1;continue}if(w>0)continue;if(d1.has(_)&&this.tokens[A].spaced){let u=this.tokens[A+1]?.[0];return C1.has(u)||u==="..."&&C1.has(this.tokens[A+2]?.[0])}}return!1}commaInImplicitObject(f){let w=0;for(let A=f-1;A>=0;A--){let _=this.tokens[A][0];if(W1.has(_)){w++;continue}if(R1.has(_)){if(w--,w<0)return!1;continue}if(w>0)continue;if(_===":"&&A>0&&this.tokens[A-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(G1.has(_))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if((this.tokens[f]?.[0]==="IDENTIFIER"||this.tokens[f]?.[0]==="PROPERTY")&&this.tokens[f+1]?.[0]==="."){let w=f+2;while(this.tokens[w]?.[0]==="PROPERTY"&&this.tokens[w+1]?.[0]===".")w+=2;if(this.tokens[w]?.[0]==="PROPERTY"&&this.tokens[w+1]?.[0]===":")return!0}if(R1.has(this.tokens[f]?.[0])){let w=null;if(this.detectEnd(f+1,(A)=>W1.has(A[0]),(A,_)=>w=_),w&&this.tokens[w+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,w){let A=new Set(w),_=[];while(f>=0){let u=this.tokens[f]?.[0];if(!_.length&&A.has(u))return!0;if(W1.has(u))_.push(u);if(R1.has(u)&&_.length)_.pop();if(!_.length&&(R1.has(u)&&!this.tokens[f]?.generated||G1.has(u)))break;f--}return!1}makeIndentation(f){let w=A1("INDENT",2),A=A1("OUTDENT",2);if(f)w.generated=A.generated=!0,w.origin=A.origin=f;else w.explicit=A.explicit=!0;return[w,A]}}D2(Z1);var R4={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,RightwardAssign:18,ReactiveAssign:19,ComputedAssign:20,ReadonlyAssign:21,Effect:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,NUMBER:55,String:56,Identifier:57,IDENTIFIER:58,Property:59,PROPERTY:60,STRING:61,STRING_START:62,Interpolations:63,STRING_END:64,InterpolationChunk:65,INTERPOLATION_START:66,INTERPOLATION_END:67,INDENT:68,OUTDENT:69,REGEX:70,REGEX_START:71,REGEX_END:72,RegexWithIndex:73,",":74,"=":75,RIGHTWARD_ASSIGN:76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,ES6_OPTIONAL_INDEX:91,"{":92,ObjAssignable:93,":":94,FOR:95,ForVariables:96,FOROF:97,OptComma:98,"}":99,WHEN:100,OWN:101,AssignList:102,AssignObj:103,ObjRestValue:104,SimpleObjAssignable:105,"[":106,"]":107,"@":108,"...":109,ObjSpreadExpr:110,SUPER:111,Arguments:112,DYNAMIC_IMPORT:113,MAP_START:114,MAP_END:115,MapAssignList:116,MapAssignObj:117,MapAssignable:118,Elisions:119,ArgElisionList:120,OptElisions:121,ArgElision:122,Arg:123,Elision:124,RangeDots:125,"..":126,DEF:127,CALL_START:128,ParamList:129,CALL_END:130,PARAM_START:131,PARAM_END:132,FuncGlyph:133,"->":134,"=>":135,Param:136,ParamVar:137,Splat:138,ES6_OPTIONAL_CALL:139,ArgList:140,SimpleArgs:141,THIS:142,NEW_TARGET:143,IMPORT_META:144,"(":145,")":146,RETURN:147,THROW:148,YIELD:149,FROM:150,IfBlock:151,IF:152,ELSE:153,UnlessBlock:154,UNLESS:155,POST_IF:156,POST_UNLESS:157,TRY:158,Catch:159,FINALLY:160,CATCH:161,SWITCH:162,Whens:163,When:164,LEADING_WHEN:165,WhileSource:166,WHILE:167,UNTIL:168,Loop:169,LOOP:170,FORIN:171,BY:172,FORAS:173,AWAIT:174,FORASAWAIT:175,ForValue:176,CLASS:177,EXTENDS:178,ENUM:179,COMPONENT:180,ComponentBody:181,ComponentLine:182,OFFER:183,ACCEPT:184,RENDER:185,IMPORT:186,ImportDefaultSpecifier:187,ImportNamespaceSpecifier:188,ImportSpecifierList:189,ImportSpecifier:190,AS:191,DEFAULT:192,IMPORT_ALL:193,EXPORT:194,ExportSpecifierList:195,EXPORT_ALL:196,ExportSpecifier:197,UNARY:198,DO:199,DO_IIFE:200,UNARY_MATH:201,"-":202,"+":203,"?":204,DEFINED:205,PRESENCE:206,"--":207,"++":208,MATH:209,"**":210,SHIFT:211,COMPARE:212,"&":213,"^":214,"|":215,"||":216,"??":217,"&&":218,"!?":219,PIPE:220,RELATION:221,TERNARY:222,COMPOUND_ASSIGN:223},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"NUMBER",58:"IDENTIFIER",60:"PROPERTY",61:"STRING",62:"STRING_START",64:"STRING_END",66:"INTERPOLATION_START",67:"INTERPOLATION_END",68:"INDENT",69:"OUTDENT",70:"REGEX",71:"REGEX_START",72:"REGEX_END",74:",",75:"=",76:"RIGHTWARD_ASSIGN",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"ES6_OPTIONAL_INDEX",92:"{",94:":",95:"FOR",97:"FOROF",99:"}",100:"WHEN",101:"OWN",106:"[",107:"]",108:"@",109:"...",111:"SUPER",113:"DYNAMIC_IMPORT",114:"MAP_START",115:"MAP_END",126:"..",127:"DEF",128:"CALL_START",130:"CALL_END",131:"PARAM_START",132:"PARAM_END",134:"->",135:"=>",139:"ES6_OPTIONAL_CALL",142:"THIS",143:"NEW_TARGET",144:"IMPORT_META",145:"(",146:")",147:"RETURN",148:"THROW",149:"YIELD",150:"FROM",152:"IF",153:"ELSE",155:"UNLESS",156:"POST_IF",157:"POST_UNLESS",158:"TRY",160:"FINALLY",161:"CATCH",162:"SWITCH",165:"LEADING_WHEN",167:"WHILE",168:"UNTIL",170:"LOOP",171:"FORIN",172:"BY",173:"FORAS",174:"AWAIT",175:"FORASAWAIT",177:"CLASS",178:"EXTENDS",179:"ENUM",180:"COMPONENT",183:"OFFER",184:"ACCEPT",185:"RENDER",186:"IMPORT",191:"AS",192:"DEFAULT",193:"IMPORT_ALL",194:"EXPORT",196:"EXPORT_ALL",198:"UNARY",199:"DO",200:"DO_IIFE",201:"UNARY_MATH",202:"-",203:"+",204:"?",205:"DEFINED",206:"PRESENCE",207:"--",208:"++",209:"MATH",210:"**",211:"SHIFT",212:"COMPARE",213:"&",214:"^",215:"|",216:"||",217:"??",218:"&&",219:"!?",220:"PIPE",221:"RELATION",222:"TERNARY",223:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[110,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,1,1,0,2,1,5,-2,110,5,1,5,61,2,77,-3,-3,-3,-3,-3,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,127,131,-6,-6,-6,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,9,1,5,61,1,1,5,33,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,61,1,1,5,33,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,99,100,58,1,5,50,5,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,3,3,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,108,109,-13,-13,-13,-13,-13,141,142,143,-13,144,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,145,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,48,1,5,61,1,1,5,2,10,1,1,1,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-14,146,147,148,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-15,-15,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-16,-16,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-17,-17,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-18,-18,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-19,-19,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-20,-20,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-21,-21,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-22,-22,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-23,-23,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-24,-24,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-25,-25,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-26,-26,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-27,-27,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-28,-28,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-29,-29,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-30,-30,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-31,-31,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-32,-32,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,61,1,1,5,33,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,61,1,1,5,33,23,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,149,-36,150,151,152,153,-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,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-37,-37,-37,-37,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-38,-38,-38,-38,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-39,-39,-39,-39,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-40,-40,-40,-40,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-41,-41,-41,-41,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-42,-42,-42,-42,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-43,-43,-43,-43,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-44,-44,-44,-44,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-45,-45,-45,-45,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,154,-199,-199,155,156,109,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,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,165,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,164,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,167,168,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,170,171,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,172,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,178,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,179,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,180,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,181,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,14,1,22,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,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,182,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,47,14,1,22,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,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,186,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,64,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,187,188,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,189,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,1,3,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,8,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,191,190,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,192,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,193,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-260,-260,2,68,11,166,194,2,68,11,166,195,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,199,158,107,160,161,159,102,196,197,85,162,201,198,200,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,202,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,203,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,94,1,5,8,1,22,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,1,1,1,3,2,3,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,22,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,183,184,185,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-331,166,-331,105,106,-331,-331,204,206,74,75,96,-331,102,-331,-331,-331,-331,-331,85,-331,89,-331,86,87,92,-331,-331,-331,173,-331,174,93,94,88,90,91,84,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,205,177,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,2,68,110,207,208,2,68,11,166,209,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,210,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,211,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,144,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,1,3,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,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,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,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,212,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-250,213,-250,105,106,-250,-250,55,54,74,75,96,-250,102,-250,-250,-250,-250,-250,85,-250,89,-250,86,87,92,-250,-250,68,-250,173,-250,174,93,94,88,90,91,84,-250,71,66,67,214,56,97,-250,57,98,-250,-250,58,62,59,-250,-250,60,101,-250,-250,-250,51,-250,63,69,64,65,72,73,175,176,177,48,49,50,52,53,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,2,57,1,215,107,2,57,1,216,107,6,15,20,96,2,1,1,218,217,44,45,93,94,143,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,1,3,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,1,1,1,3,2,5,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,1,1,11,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,5,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,219,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-247,220,-247,105,106,-247,-247,55,54,74,75,96,-247,102,-247,-247,-247,-247,-247,85,-247,89,-247,86,87,92,-247,-247,68,-247,173,-247,174,93,94,88,90,91,84,-247,71,66,67,56,97,-247,57,98,-247,-247,58,62,59,-247,-247,60,101,-247,-247,-247,51,-247,63,69,64,65,72,73,175,176,177,48,49,50,52,53,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,9,56,1,1,3,1,30,95,1,5,221,225,107,108,109,224,222,223,226,62,14,1,4,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,1,3,1,8,1,10,1,1,1,1,7,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,1,12,4,4,183,184,233,234,235,236,228,229,230,231,239,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,232,107,108,109,105,106,55,240,74,75,96,227,85,89,86,87,92,68,173,174,93,94,88,90,91,84,63,69,64,237,238,177,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-46,-46,-46,-46,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-47,-47,-47,-47,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-48,-48,-48,-48,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-49,-49,-49,-49,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-50,-50,-50,-50,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-51,-51,-51,-51,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-52,-52,-52,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-53,-53,-53,-53,109,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,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,241,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,242,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,116,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,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,4,1,243,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,244,89,254,86,87,92,245,246,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,86,2,24,16,256,257,255,145,2,112,16,258,145,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,58,1,5,53,1,1,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,259,260,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,1,86,261,1,86,262,34,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,1,7,14,2,1,6,1,1,1,27,-147,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-147,-147,105,106,-147,278,279,270,102,163,162,267,263,264,265,266,84,55,11,37,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,55,11,37,2,1,1,1,1,1,3,3,1,6,2,1,10,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-92,-92,-92,-92,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-93,-93,-93,-93,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,281,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,282,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,283,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,284,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,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,1,3,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,8,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,286,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,285,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,23,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-112,292,103,104,294,107,295,260,108,109,-112,-112,-112,296,287,-112,288,293,297,289,290,291,298,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,47,14,1,22,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,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,185,35,36,37,299,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,240,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,67,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,13,11,1,1,1,1,1,1,1,1,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,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,59,1,5,55,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,6,56,5,1,1,2,1,303,108,109,300,301,302,112,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,1,1,3,1,5,2,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,-5,304,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-5,-5,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,-5,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,305,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,306,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,307,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,308,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,309,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,310,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,311,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,312,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,313,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,316,169,314,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,315,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,319,169,317,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,318,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,322,169,320,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,321,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,323,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,324,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,325,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,326,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,14,1,22,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,11,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,183,184,327,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,240,74,75,96,102,85,89,86,87,92,173,174,93,94,88,90,91,84,177,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,328,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,329,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,333,158,107,160,161,159,102,330,331,85,162,201,332,200,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,334,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,335,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-405,-405,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-213,-213,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-214,-214,2,112,16,336,145,2,59,1,337,260,2,59,1,338,260,109,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,1,3,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,2,8,1,1,1,1,5,2,3,11,2,1,2,2,1,11,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,5,1,8,4,1,1,1,1,1,4,1,339,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,344,79,80,81,82,83,103,104,95,107,108,109,340,105,106,342,55,54,74,75,96,341,102,61,85,89,346,86,87,92,343,345,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,88,347,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,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,348,44,45,93,94,253,349,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,2,59,1,353,260,2,59,1,354,260,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,355,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,356,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,358,357,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,359,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,361,360,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,362,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,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,1,3,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,8,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,364,363,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,365,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,105,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,367,366,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,368,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,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,1,3,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,8,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,370,369,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,371,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,6,62,1,5,24,1,8,8,15,2,-243,-243,-243,373,374,-243,-243,-243,-243,372,6,6,62,1,5,56,2,-200,-200,-200,-200,-200,-200,7,6,62,1,5,1,55,2,-204,-204,-204,-204,375,-204,-204,15,6,51,1,10,1,5,9,1,1,7,14,2,22,2,5,-207,158,107,-207,-207,-207,160,161,159,102,163,162,-207,-207,376,11,6,62,1,5,1,22,33,2,39,2,2,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,11,6,62,1,5,1,22,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,11,6,62,1,5,1,22,33,2,39,2,2,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,11,6,62,1,5,1,22,33,2,39,2,2,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,2,59,1,259,260,116,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,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,244,89,254,86,87,92,245,246,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,9,1,5,61,1,1,5,33,23,16,-196,-196,-196,-196,-196,-196,-196,-196,-196,109,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,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,378,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,377,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,130,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,121,-400,123,-400,-400,-400,9,1,5,61,1,1,5,33,23,16,-397,-397,-397,-397,-397,-397,-397,-397,-397,5,156,1,9,1,1,132,133,134,99,100,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-401,-401,-401,130,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,121,-401,123,-401,-401,-401,9,1,5,61,1,1,5,33,23,16,-398,-398,-398,-398,-398,-398,-398,-398,-398,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-402,-402,-402,130,-402,-402,-402,-402,-402,-402,-402,-402,-402,114,-402,-402,-402,-402,-402,-402,121,-402,123,-402,-402,-402,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,379,-199,-199,155,156,2,68,11,166,164,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,167,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,170,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,5,15,116,2,1,1,218,173,174,93,94,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-403,-403,-403,130,-403,-403,-403,-403,-403,-403,-403,-403,-403,114,-403,-403,-403,-403,-403,-403,121,-403,123,-403,-403,-403,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,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,-404,-404,-404,130,-404,-404,-404,-404,-404,-404,-404,-404,-404,114,-404,-404,-404,-404,-404,-404,121,-404,123,-404,-404,-404,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,130,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,121,-408,123,-408,-408,-408,2,84,8,380,102,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-89,-89,-410,-410,-410,-410,-89,-410,-89,-89,-89,-89,-89,-89,-89,-410,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-89,-410,-410,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-89,-89,-89,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,10,56,5,1,24,1,1,3,21,16,11,138,108,109,141,142,143,144,139,145,140,3,86,1,1,146,147,148,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-36,-36,-36,-36,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-89,-89,-411,-411,-411,-411,-89,-411,-89,-89,-89,-89,-89,-89,-89,-411,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-89,-411,-411,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-89,-89,-89,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,105,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,383,381,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,382,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,127,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,99,100,-86,-86,-86,-86,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,384,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,3,68,11,73,166,385,386,48,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,27,1,6,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,387,388,389,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,4,97,74,2,2,391,390,392,393,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,394,163,162,201,200,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,395,163,162,201,200,3,68,11,93,166,396,397,5,74,23,74,2,2,398,-329,-329,-329,-329,6,74,1,22,74,2,2,-327,399,-327,-327,-327,-327,24,68,8,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,400,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,3,163,1,1,401,402,403,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,404,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,63,1,5,55,1,5,1,1,5,1,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-89,-89,-335,166,-335,-335,-89,-335,-89,-89,405,-89,-89,-89,-89,-89,-335,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-89,-335,-335,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,406,-335,-335,-89,-89,-89,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,1,1,8,4,1,1,1,1,1,4,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,407,408,412,413,65,72,73,46,47,70,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,414,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,127,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,130,-248,-248,-248,-248,-248,-248,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,415,102,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,130,-251,-251,-251,-251,-251,-251,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,416,102,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,417,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,68,11,49,166,419,418,2,68,11,166,420,9,1,5,61,1,1,5,33,23,16,-399,-399,-399,-399,-399,-399,-399,-399,-399,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,127,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,130,-245,-245,-245,-245,-245,-245,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,421,102,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,2,74,76,423,422,1,150,424,7,57,1,10,31,90,1,2,429,107,428,425,426,427,430,2,74,76,-367,-367,1,191,431,26,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,83,3,2,-112,292,103,104,436,107,295,260,108,109,435,-112,-112,296,287,432,288,293,297,289,290,291,298,437,433,434,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,438,-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,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,439,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,440,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,150,441,60,1,5,55,1,5,1,1,5,2,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,150,151,152,153,-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,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,2,6,140,110,442,108,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,443,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,32,6,62,1,5,2,19,12,2,16,1,4,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,127,131,-225,346,444,345,-225,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-168,-168,-168,-168,-168,-168,-168,-168,-168,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,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,445,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,448,-243,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,451,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,5,6,62,1,5,33,-171,-171,-171,-171,-171,115,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,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,452,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,5,6,62,1,5,33,-176,-176,-176,-176,-176,6,6,62,1,5,33,23,-226,-226,-226,-226,-226,-226,6,6,62,1,5,33,23,-227,-227,-227,-227,-227,-227,109,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,1,3,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,7,1,1,1,1,7,3,11,1,1,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,-228,454,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-228,-228,105,106,-228,55,54,74,75,96,102,61,85,-228,89,86,87,92,68,-228,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-216,-216,-216,-216,-216,2,59,1,455,260,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,456,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,457,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,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,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,2,59,1,458,260,2,59,1,459,260,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,461,460,-243,-243,-243,-243,5,6,62,1,5,41,-148,-148,-148,-148,-148,1,94,462,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,463,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,94,-155,1,94,-156,1,94,-157,1,94,-158,1,94,-159,1,94,-160,1,94,-161,1,94,-162,1,94,-163,1,94,-164,1,94,-165,1,94,-166,1,94,-167,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,464,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,465,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,127,-282,-282,131,-282,-282,466,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,99,100,-282,-282,-282,-282,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,127,-284,-284,131,-284,-284,467,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,99,100,-284,-284,-284,-284,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,166,-291,-291,127,468,-291,-291,131,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,130,99,100,-291,-291,-291,-291,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,6,6,62,1,5,20,5,-117,-117,-117,-117,469,-117,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,471,470,-243,-243,-243,-243,7,6,62,1,5,1,19,5,-126,-126,-126,-126,472,-126,-126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,473,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,59,1,46,259,260,474,6,6,62,1,5,20,5,-129,-129,-129,-129,-129,-129,5,6,62,1,5,25,-113,-113,-113,-113,-113,11,6,62,1,5,1,11,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,62,1,5,1,11,1,1,6,5,29,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,11,6,62,1,5,1,11,1,1,6,5,29,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,5,6,62,1,5,25,-118,-118,-118,-118,-118,17,39,4,1,13,1,1,1,24,1,7,13,3,2,1,2,29,3,478,480,479,294,107,295,260,477,296,102,475,89,476,481,482,88,84,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,483,-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,6,56,5,1,2,1,1,303,108,109,484,485,302,4,61,1,2,2,-60,-60,-60,-60,110,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,1,1,3,1,5,1,2,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,486,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,488,487,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,61,1,2,2,-65,-65,-65,-65,5,1,5,61,2,77,-4,-4,-4,-4,-4,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,130,-414,-414,-414,-414,-414,-414,-414,-414,113,114,-414,-414,-414,-414,-414,-414,121,-414,123,-414,-414,-414,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,130,-415,-415,-415,-415,-415,-415,-415,-415,113,114,-415,-415,-415,-415,-415,-415,121,-415,123,-415,-415,-415,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,130,-416,-416,-416,-416,-416,-416,-416,-416,-416,114,-416,-416,-416,-416,-416,-416,121,-416,123,-416,-416,-416,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,130,-417,-417,-417,-417,-417,-417,-417,-417,-417,114,-417,-417,-417,-417,-417,-417,121,-417,123,-417,-417,-417,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,130,-418,-418,-418,-418,-418,-418,112,111,113,114,-418,-418,-418,-418,-418,-418,121,-418,123,-418,-418,-418,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,130,-419,-419,-419,-419,-419,-419,112,111,113,114,115,-419,-419,-419,-419,-419,121,-419,123,-419,125,-419,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,112,111,113,114,115,116,-420,-420,-420,-420,121,-420,123,-420,125,-420,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,112,111,113,114,115,116,117,-421,-421,-421,121,-421,123,-421,125,-421,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,130,-422,-422,-422,-422,-422,-422,112,111,113,114,115,116,117,118,-422,-422,121,-422,123,-422,125,-422,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,130,-430,-430,-430,-430,-430,-430,112,111,113,114,115,116,117,118,119,-430,121,122,123,-430,125,-430,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,127,-431,-431,131,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,128,129,130,99,100,-431,-431,-431,-431,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,130,-429,-429,-429,-429,-429,-429,112,111,113,114,115,116,117,118,119,-429,121,-429,123,-429,125,-429,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,127,-432,-432,131,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,128,129,130,99,100,-432,-432,-432,-432,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,112,111,113,114,115,116,117,118,119,120,121,122,123,-433,125,-433,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,130,-434,-434,-434,-434,-434,-434,112,111,113,114,115,-434,-434,-434,-434,-434,121,-434,123,-434,-434,-434,24,76,18,1,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,489,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-36,-36,-73,-73,-73,-73,-73,-36,-36,-36,-73,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-36,-73,-73,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-36,-36,-36,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,127,-262,-262,131,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,490,-262,-262,130,99,100,-262,-262,-262,-262,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,127,-266,-266,131,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,99,100,-266,-266,-266,-266,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,97,74,2,2,492,491,493,494,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,495,163,162,201,200,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,496,163,162,201,200,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,497,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,127,-261,-261,131,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,130,99,100,-261,-261,-261,-261,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,127,-265,-265,131,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,130,99,100,-265,-265,-265,-265,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-215,-215,-215,-215,-215,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-94,-94,-94,-94,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-95,-95,-95,-95,27,76,13,6,14,16,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,498,131,346,499,345,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,107,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,1,3,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,10,1,1,1,1,5,2,3,11,2,1,2,2,1,11,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,5,1,8,4,1,1,1,1,1,4,1,500,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,501,102,61,85,89,346,86,87,92,343,345,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,89,502,1,89,503,105,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,1,3,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,10,1,1,1,1,4,3,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,504,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-190,105,106,55,54,74,75,96,-190,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,505,-48,-48,-48,-48,-69,-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,56,11,37,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,56,11,37,2,1,1,1,1,1,3,3,1,7,1,1,10,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,506,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,507,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,508,-243,-243,-243,-243,5,6,62,1,5,56,-220,-220,-220,-220,-220,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,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,44,45,93,94,253,510,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,29,6,62,1,5,2,19,12,23,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,127,131,-225,-225,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-103,-103,-103,-103,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,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,-104,-104,-104,-104,-104,-104,-104,-104,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,511,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,512,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,127,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,130,-70,-70,-70,-70,-70,-70,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,513,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,514,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,127,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,99,100,-74,-74,-74,-74,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,515,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,516,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,127,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,99,100,-77,-77,-77,-77,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,517,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-79,-79,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,127,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,99,100,-80,-80,-80,-80,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,518,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,519,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,127,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,99,100,-83,-83,-83,-83,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,520,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-85,-85,3,133,1,1,521,93,94,18,6,51,1,10,1,14,1,1,7,7,7,1,1,1,6,15,6,1,-244,158,107,-244,-244,160,161,159,102,-244,163,-244,162,157,-244,-244,522,156,2,6,62,523,524,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,525,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,6,6,62,1,5,56,2,-206,-206,-206,-206,-206,-206,59,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,2,6,63,110,526,10,6,62,1,5,24,1,8,8,15,2,-243,-243,-243,373,374,-243,-243,-243,-243,527,1,69,528,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,127,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,529,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,530,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,127,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,99,100,-87,-87,-87,-87,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-259,-259,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,531,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,532,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,68,11,166,533,6,57,1,10,11,5,8,534,107,166,536,535,102,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,537,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,538,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,539,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,540,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,541,1,173,542,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,543,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,57,1,25,1,1,7,14,2,29,39,158,107,160,161,159,102,163,162,201,544,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,545,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,163,1,1,546,402,403,4,69,84,11,1,547,548,549,403,3,69,84,12,-278,-278,-278,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,551,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,550,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,166,-333,-333,127,552,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,553,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,2,6,63,555,554,2,6,63,-342,-342,25,6,63,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-345,-345,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,6,63,-346,-346,7,6,63,87,1,9,1,1,-347,-347,132,133,134,99,100,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,556,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,58,557,24,68,8,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,558,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,69,559,1,69,560,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,130,-253,-253,-253,-253,-253,-253,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,561,-199,-199,155,156,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,1,69,562,3,56,5,1,563,108,109,3,92,96,5,565,564,226,3,56,5,1,566,108,109,1,150,567,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,568,-243,-243,-243,-243,5,6,62,1,5,25,-358,-358,-358,-358,-358,6,57,1,10,121,1,2,429,107,428,570,427,430,6,6,62,1,5,25,92,-363,-363,-363,-363,-363,571,6,6,62,1,5,25,92,-365,-365,-365,-365,-365,572,2,57,1,573,107,14,1,5,61,1,1,5,33,23,16,4,6,1,10,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,574,-369,-369,-369,-369,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,575,-243,-243,-243,-243,5,6,62,1,5,25,-387,-387,-387,-387,-387,6,57,1,10,124,3,2,578,107,435,437,577,434,12,6,62,1,5,1,11,1,1,6,5,29,63,-392,-392,-392,-392,-123,-123,-123,-123,-123,-392,-123,579,6,6,62,1,5,25,92,-395,-395,-395,-395,-395,580,105,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,582,581,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,583,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,127,131,-382,-382,-382,-382,-382,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,84,8,584,102,3,56,5,1,585,108,109,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,2,6,63,110,586,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,587,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,451,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,5,6,62,1,5,33,-177,-177,-177,-177,-177,2,68,39,589,588,120,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,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,4,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,5,1,8,4,1,1,1,1,1,4,1,-244,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-244,-244,105,106,250,55,54,74,75,96,102,61,-244,85,-244,89,254,86,87,92,-244,591,590,251,247,68,-244,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,6,62,1,38,592,-178,-178,-178,60,6,5,37,2,1,1,1,1,1,3,3,1,6,1,1,1,3,7,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,4,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,593,-243,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,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,29,6,62,1,5,2,19,12,23,26,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,127,131,-212,-212,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,594,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,595,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,3,6,62,47,597,598,596,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,1,7,7,7,1,1,1,6,2,1,12,15,-244,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-244,-244,105,106,278,279,270,102,-244,163,-244,162,267,-244,599,266,-244,84,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,600,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,601,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,28,6,62,1,5,2,19,20,41,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,127,131,-154,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,602,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,603,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,604,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,605,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,606,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,6,62,31,608,609,607,24,6,41,8,1,1,1,1,1,1,1,6,1,16,8,6,4,1,1,1,1,1,1,6,15,-244,292,103,104,294,107,295,260,108,109,-244,-244,296,611,-244,610,297,289,290,-244,291,298,-244,-244,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,612,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,613,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,614,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,615,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,10,6,62,1,5,12,1,1,11,13,16,-130,-130,-130,-130,-132,-132,-132,-130,616,145,10,6,62,1,5,12,1,1,11,13,16,-131,-131,-131,-131,618,619,620,-131,617,145,9,6,62,1,5,12,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,62,1,5,12,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,62,1,5,12,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,62,1,5,12,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,86,2,24,16,256,257,621,145,2,112,16,622,145,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,59,1,5,55,1,2,2,1,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,4,61,1,2,2,-61,-61,-61,-61,2,6,61,110,623,108,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,624,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,4,61,1,2,2,-64,-64,-64,-64,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,625,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,627,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,626,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,628,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,629,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,630,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,631,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,632,1,173,633,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,634,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-96,-96,-96,-96,105,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,1,3,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,10,1,1,1,1,4,3,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,635,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-188,105,106,55,54,74,75,96,-188,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,27,69,7,19,14,16,1,30,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,636,127,131,346,499,345,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,69,637,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-98,-98,-98,-98,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-100,-100,-100,-100,25,69,7,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,127,-189,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,638,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,639,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,640,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,3,6,62,62,642,643,641,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,1,1,3,1,6,1,1,1,10,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,8,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,5,1,8,4,1,1,1,1,1,4,1,-244,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-244,-244,105,106,55,54,74,75,96,102,61,-244,85,-244,89,254,86,87,92,-244,644,68,-244,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,645,-243,-243,-243,-243,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,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,-105,-105,-105,-105,-105,-105,-105,-105,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,646,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,127,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,647,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,127,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,99,100,-75,-75,-75,-75,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,648,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,127,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,99,100,-78,-78,-78,-78,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,127,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,99,100,-81,-81,-81,-81,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,649,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,127,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,99,100,-84,-84,-84,-84,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,109,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,1,1,3,1,6,2,1,8,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,651,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,166,105,106,650,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,6,6,62,1,5,56,2,-201,-201,-201,-201,-201,-201,11,57,1,25,1,1,7,14,2,1,27,1,158,107,160,161,159,102,163,162,157,652,156,18,6,51,1,10,1,5,9,1,1,7,14,2,1,20,1,2,4,1,-199,158,107,-199,-199,-199,160,161,159,102,163,162,157,653,-199,-199,155,156,29,6,62,1,5,2,19,35,2,24,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,127,131,-205,-205,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,59,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,1,3,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,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,3,133,1,1,654,93,94,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,655,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,127,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,656,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,68,11,166,657,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-269,-269,2,68,11,166,658,2,68,11,166,659,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,-273,-273,-273,27,68,8,3,16,5,56,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,660,131,661,128,129,130,99,100,662,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,663,131,664,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,665,131,666,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,667,131,668,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,669,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,670,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,671,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,97,74,2,2,-330,-330,-330,-330,28,74,2,19,2,59,1,9,1,1,3,2,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,127,131,-328,128,129,130,99,100,-328,-328,-328,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,69,84,11,1,672,673,549,403,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-276,-276,2,68,11,166,674,3,69,84,12,-279,-279,-279,3,68,6,5,166,676,675,25,68,6,2,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,47,1,5,61,1,1,5,2,3,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,166,-337,-337,127,677,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,111,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,1,1,3,1,7,1,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,1,1,8,4,1,1,1,1,1,4,1,-344,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-344,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,678,412,413,65,72,73,46,47,70,48,49,50,52,53,25,6,63,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,2,6,63,-349,-349,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,3,2,1,13,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,1,1,8,4,1,1,1,1,1,4,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,44,45,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,679,408,412,413,65,72,73,46,47,70,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-249,-249,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,373,374,-243,-243,-243,680,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-246,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,1,150,681,6,57,1,10,121,1,2,429,107,428,682,427,430,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,3,56,5,1,683,108,109,3,6,62,31,685,686,684,11,6,51,1,10,1,30,8,8,15,60,2,-244,429,107,-244,-244,-244,-244,-244,-244,687,430,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,688,-243,-243,-243,-243,2,57,1,689,107,2,57,1,690,107,1,150,-368,3,56,5,1,691,108,109,3,6,62,31,693,694,692,11,6,51,1,10,1,30,8,8,15,62,5,-244,578,107,-244,-244,-244,-244,-244,-244,437,695,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,696,-243,-243,-243,-243,6,6,62,1,5,25,92,-392,-392,-392,-392,-392,579,3,57,1,134,697,107,698,2,57,1,699,107,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,127,131,-375,-375,-375,-375,-375,130,-375,-375,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,700,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,701,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,69,702,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,1,146,703,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,704,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,115,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,1,1,3,1,6,2,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,249,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,705,248,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,5,6,62,1,5,33,-172,-172,-172,-172,-172,114,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,1,1,3,1,6,1,1,1,3,7,1,1,1,1,7,3,11,1,1,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,-179,-179,105,106,250,55,54,74,75,96,102,61,85,-179,89,254,86,87,92,447,446,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,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,1,1,3,1,8,1,3,7,1,1,1,1,7,3,11,2,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,250,55,54,74,75,96,102,61,85,89,254,86,87,92,453,706,251,247,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,2,68,1,589,707,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,708,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,28,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,1,7,14,2,1,8,1,27,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,105,106,278,279,270,102,163,162,267,709,266,84,34,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,1,7,14,2,1,6,1,1,1,27,-147,280,271,272,275,274,273,276,277,103,104,268,107,269,260,108,109,-147,-147,105,106,-147,278,279,270,102,163,162,267,-147,710,265,266,84,5,6,62,1,5,41,-149,-149,-149,-149,-149,28,6,62,1,5,2,19,20,41,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,127,131,-152,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,711,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,2,68,11,166,712,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,127,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,-283,-283,-283,-283,-283,-283,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,127,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,130,-285,-285,-285,-285,-285,-285,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,127,713,-119,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,714,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,17,47,8,1,1,1,1,1,1,1,23,8,10,1,1,1,2,1,292,103,104,294,107,295,260,108,109,296,611,715,297,289,290,291,298,23,6,41,8,1,1,1,1,1,1,1,6,1,5,11,8,6,3,1,1,1,1,2,1,-112,292,103,104,294,107,295,260,108,109,-112,-112,-112,296,611,-112,716,293,297,289,290,291,298,5,6,62,1,5,25,-114,-114,-114,-114,-114,6,6,62,1,5,20,5,-117,-117,-117,-117,717,-117,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,127,131,-121,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,718,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,6,6,62,1,5,20,5,-127,-127,-127,-127,-127,-127,24,76,19,12,49,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,131,719,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,9,6,62,1,5,12,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,62,1,5,12,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,2,59,1,720,260,2,59,1,721,260,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,722,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,723,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,9,6,62,1,5,12,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,62,1,5,12,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,61,1,2,2,-62,-62,-62,-62,2,6,63,110,724,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,127,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,725,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,127,-264,-264,131,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,130,99,100,-264,-264,-264,-264,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,127,-310,-310,-310,-310,-310,726,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,130,-310,-310,-310,727,-310,-310,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,728,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,127,-319,-319,-319,-319,-319,729,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,127,-323,-323,-323,-323,-323,730,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,130,-323,-323,-323,-323,-323,-323,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,731,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,732,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,127,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,130,-326,-326,-326,-326,-326,-326,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,69,7,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,127,-187,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,89,733,1,89,734,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,-68,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-101,-101,-101,-101,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,735,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,57,1,5,55,1,5,1,1,3,2,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,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,1,1,3,1,8,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,736,68,44,45,93,94,253,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,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,1,1,3,1,6,2,1,10,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,4,1,352,252,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,351,105,106,55,54,74,75,96,102,61,85,89,254,86,87,92,350,68,44,45,93,94,253,737,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,46,47,70,48,49,50,52,53,5,6,62,1,5,56,-221,-221,-221,-221,-221,3,6,62,1,642,643,738,1,89,739,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-76,-76,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-82,-82,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-193,-193,-193,9,1,5,61,1,1,5,33,23,16,-195,-195,-195,-195,-195,-195,-195,-195,-195,6,6,62,1,5,56,2,-202,-202,-202,-202,-202,-202,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,373,740,-243,-243,-243,-243,2,68,11,166,650,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-270,-270,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,-271,-271,-271,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,6,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,-272,-272,-272,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,741,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,742,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,743,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,744,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,745,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,746,131,747,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,748,131,749,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-309,-309,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-274,-274,2,68,11,166,750,1,69,751,4,6,63,84,12,752,-280,-280,-280,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,753,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,2,6,63,-343,-343,2,6,63,555,754,2,68,11,166,755,3,56,5,1,756,108,109,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,757,-243,-243,-243,-243,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,1,150,758,4,57,1,132,2,429,107,759,430,6,57,1,10,121,1,2,429,107,428,760,427,430,5,6,62,1,5,25,-359,-359,-359,-359,-359,3,6,62,1,685,686,761,5,6,62,1,5,25,-364,-364,-364,-364,-364,5,6,62,1,5,25,-366,-366,-366,-366,-366,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,14,1,5,61,1,1,5,33,23,16,4,6,1,10,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,762,-370,-370,-370,-370,4,57,1,134,5,578,107,437,763,6,57,1,10,124,3,2,578,107,435,437,764,434,5,6,62,1,5,25,-388,-388,-388,-388,-388,3,6,62,1,693,694,765,5,6,62,1,5,25,-393,-393,-393,-393,-393,5,6,62,1,5,25,-394,-394,-394,-394,-394,5,6,62,1,5,25,-396,-396,-396,-396,-396,32,1,5,61,1,1,5,2,19,12,23,16,10,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,127,131,-376,-376,-376,-376,-376,130,-376,-376,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,766,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,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,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,10,6,62,1,5,24,1,8,8,6,9,-243,-243,-243,449,450,-243,-243,-243,767,-243,5,6,62,1,5,33,-173,-173,-173,-173,-173,5,6,62,1,5,33,-174,-174,-174,-174,-174,1,89,768,5,6,62,1,5,41,-150,-150,-150,-150,-150,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,461,769,-243,-243,-243,-243,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,770,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,14,40,17,1,25,1,1,7,4,5,5,2,29,37,2,333,158,107,160,161,159,102,771,772,85,162,201,332,200,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,773,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,25,-115,-115,-115,-115,-115,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,471,774,-243,-243,-243,-243,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,775,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,606,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,776,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,6,6,62,1,5,20,5,-128,-128,-128,-128,-128,-128,9,6,62,1,5,12,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,9,6,62,1,5,12,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,24,76,13,6,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,777,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,778,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,67,779,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,780,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,781,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,782,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,783,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,784,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,785,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,127,-317,-317,-317,-317,-317,786,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,127,-321,-321,-321,-321,-321,787,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,130,-321,-321,-321,-321,-321,-321,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-97,-97,-97,-97,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-99,-99,-99,-99,1,89,788,5,6,62,1,5,56,-222,-222,-222,-222,-222,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,509,789,-243,-243,-243,-243,5,6,62,1,5,56,-223,-223,-223,-223,-223,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,1,1,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,-106,-106,-106,-106,-106,-106,-106,-106,3,6,62,1,523,524,790,26,68,8,3,16,61,1,9,1,1,4,30,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,791,131,128,129,130,99,100,792,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,26,68,8,3,16,5,56,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,793,131,794,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,795,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,796,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,797,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,798,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,799,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,69,800,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-277,-277,3,69,84,12,-281,-281,-281,25,68,6,2,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,6,62,31,685,686,801,3,56,5,1,802,108,109,5,6,62,1,5,25,-360,-360,-360,-360,-360,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,569,803,-243,-243,-243,-243,5,6,62,1,5,25,-361,-361,-361,-361,-361,3,56,5,1,804,108,109,5,6,62,1,5,25,-389,-389,-389,-389,-389,9,6,62,1,5,24,1,8,8,15,-243,-243,-243,576,805,-243,-243,-243,-243,5,6,62,1,5,25,-390,-390,-390,-390,-390,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,2,68,1,589,806,56,1,5,55,1,5,1,1,5,2,10,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,3,6,62,1,597,598,807,5,6,62,1,5,41,-153,-153,-153,-153,-153,4,97,74,2,2,808,491,493,494,11,57,1,25,1,1,7,4,10,2,29,39,158,107,160,161,159,102,809,163,162,201,200,5,6,62,1,5,25,-120,-120,-120,-120,-120,3,6,62,1,608,609,810,28,6,62,1,5,2,19,4,57,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,127,131,-119,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,25,-122,-122,-122,-122,-122,9,6,62,1,5,12,1,1,11,29,-143,-143,-143,-143,-143,-143,-143,-143,-143,24,69,7,19,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,811,127,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,4,61,1,2,2,-63,-63,-63,-63,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-263,-263,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,-311,-311,-311,127,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,130,-311,-311,-311,812,-311,-311,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,127,-312,-312,-312,-312,-312,813,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,130,-312,-312,-312,-312,-312,-312,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,127,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,130,-320,-320,-320,-320,-320,-320,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,127,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,130,-324,-324,-324,-324,-324,-324,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,814,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,815,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,65,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,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,-102,-102,-102,-102,3,6,62,1,642,643,816,6,6,62,1,5,56,2,-203,-203,-203,-203,-203,-203,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,817,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,818,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-307,-307,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,819,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,820,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-275,-275,1,150,821,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,3,6,62,1,685,686,822,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,3,6,62,1,693,694,823,5,6,62,1,5,33,-175,-175,-175,-175,-175,5,6,62,1,5,41,-151,-151,-151,-151,-151,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,824,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,97,825,5,6,62,1,5,25,-116,-116,-116,-116,-116,1,89,826,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,827,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,828,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,127,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,127,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,130,-322,-322,-322,-322,-322,-322,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,5,6,62,1,5,56,-224,-224,-224,-224,-224,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,829,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,25,68,8,3,16,61,1,9,1,1,34,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,166,127,830,131,128,129,130,99,100,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-305,-305,3,56,5,1,831,108,109,5,6,62,1,5,25,-362,-362,-362,-362,-362,5,6,62,1,5,25,-391,-391,-391,-391,-391,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,834,127,-315,-315,-315,-315,832,-315,833,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,835,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,9,6,62,1,5,12,1,1,11,29,-144,-144,-144,-144,-144,-144,-144,-144,-144,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,130,-313,-313,-313,-313,-313,-313,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,46,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,130,-314,-314,-314,-314,-314,-314,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,45,1,5,61,1,1,5,2,13,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,6,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,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,13,1,5,61,1,1,5,33,23,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,99,836,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,837,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,7,6,62,1,30,8,8,15,-244,-244,-244,-244,-244,-244,-244,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,834,127,-317,-317,-317,-317,838,-317,839,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-107,-107,-107,-107,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,834,127,-316,-316,-316,-316,840,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,1,99,841,103,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,1,3,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,10,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,4,1,842,169,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,76,77,78,79,80,81,82,83,103,104,95,107,108,109,105,106,55,54,74,75,96,102,61,85,89,86,87,92,68,173,174,93,94,88,90,91,84,71,66,67,56,97,57,98,58,62,59,99,100,60,101,51,63,69,64,65,72,73,175,176,177,48,49,50,52,53,1,99,843,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,47,1,5,61,1,1,5,2,13,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,834,127,-318,-318,-318,-318,844,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,112,111,113,114,115,116,117,118,119,120,121,122,123,124,125,126,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,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,-108,-108,-108,-108,1,99,845,61,1,5,55,1,5,1,1,5,1,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110],w=[],A=0,_,u,$,F;while(A<f.length){_=f[A++],u={},$=0,F=[];while(_--)$+=f[A++],F.push($);for($ of F)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,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,57,1,59,1,56,1,56,3,63,1,63,2,65,3,65,5,65,2,65,1,49,1,49,3,73,3,73,1,17,3,17,4,17,5,18,3,19,3,19,4,19,5,20,3,20,4,20,3,21,3,21,4,21,5,22,3,22,4,22,3,22,2,22,3,22,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,102,0,102,1,102,3,102,4,102,6,103,1,103,1,103,3,103,5,103,3,103,5,105,1,105,1,105,1,93,1,93,3,93,4,93,1,104,2,104,2,110,1,110,1,110,1,110,1,110,1,110,2,110,2,110,2,110,2,110,3,110,3,110,4,110,6,46,2,46,4,116,0,116,1,116,3,116,4,116,6,117,3,117,5,117,2,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,83,2,83,3,83,4,120,1,120,3,120,4,120,4,120,6,122,1,122,2,121,1,121,2,119,1,119,2,124,1,124,2,125,1,125,1,40,5,90,3,90,2,90,2,90,1,33,6,33,3,15,5,15,2,35,5,35,2,133,1,133,1,129,0,129,1,129,3,129,4,129,6,136,1,136,3,136,2,136,1,137,1,137,1,137,1,137,1,138,2,41,2,41,2,41,3,41,2,41,2,112,2,112,4,140,1,140,3,140,4,140,4,140,6,123,1,123,1,123,1,123,1,141,1,141,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,98,0,98,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,151,3,151,5,154,3,154,5,23,1,23,3,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,159,3,159,3,159,2,27,5,27,7,27,4,27,6,163,1,163,2,164,3,164,4,166,2,166,4,166,2,166,4,25,2,25,2,25,2,25,1,169,2,169,2,169,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,176,1,176,3,96,1,96,3,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,29,4,29,6,181,1,181,3,181,2,182,1,182,1,182,1,182,2,182,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,189,1,189,3,189,4,189,4,189,6,190,1,190,3,190,1,190,3,187,1,188,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,195,1,195,3,195,4,195,4,195,6,197,1,197,3,197,3,197,1,197,3,36,2,36,2,36,2,16,2,16,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,42,2],ruleActions:(f,w,A,_)=>{let u=w,$=w.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 60:case 113:case 148:case 176:case 180:case 200:case 220:case 229:case 278:case 329:case 342:case 358:case 387:return[u[$]];case 4:case 114:case 149:case 201:case 221:case 230:case 343:case 359:case 388:return[...u[$-2],u[$]];case 5:case 62:case 183:case 344:return u[$-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 47:case 48:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 58:case 65:case 66:case 89:case 90:case 91:case 92:case 93:case 118:case 123:case 124:case 125:case 126:case 129:case 132:case 133:case 134:case 135:case 136:case 155:case 156:case 157:case 158:case 159:case 160:case 163:case 164:case 165:case 166:case 167:case 171:case 197:case 198:case 204:case 208:case 209:case 210:case 211:case 225:case 226:case 227:case 243:case 244:case 258:case 260:case 289:case 327:case 345:case 346:case 347:case 363:case 365:case 367:case 392:case 395:return u[$];case 49:case 162:return"undefined";case 50:case 161:return"null";case 59:return["str",...u[$-1]];case 61:case 177:case 181:case 279:return[...u[$-1],u[$]];case 63:case 219:case 223:case 361:case 390:return u[$-2];case 64:return"";case 67:return["regex",u[$-1]];case 68:return["regex-index",u[$-2],u[$]];case 69:return["regex-index",u[$],null];case 70:case 121:return["=",u[$-2],u[$]];case 71:return["=",u[$-3],u[$]];case 72:case 122:return["=",u[$-4],u[$-1]];case 73:return["=",u[$],u[$-2]];case 74:return["state",u[$-2],u[$]];case 75:return["state",u[$-3],u[$]];case 76:return["state",u[$-4],u[$-1]];case 77:case 79:return["computed",u[$-2],u[$]];case 78:return["computed",u[$-3],u[$]];case 80:return["readonly",u[$-2],u[$]];case 81:return["readonly",u[$-3],u[$]];case 82:return["readonly",u[$-4],u[$-1]];case 83:case 85:return["effect",u[$-2],u[$]];case 84:return["effect",u[$-3],u[$]];case 86:case 87:case 88:return["effect",null,u[$]];case 94:case 103:case 141:return[".",u[$-2],u[$]];case 95:case 104:case 142:return["?.",u[$-2],u[$]];case 96:case 98:case 105:case 143:return["[]",u[$-3],u[$-1]];case 97:case 99:case 106:case 144:return["[]",u[$-5],u[$-2]];case 100:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 101:return["optindex",u[$-4],u[$-1]];case 102:return["optindex",u[$-6],u[$-2]];case 107:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 108:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 109:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 110:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 111:return["object",...u[$-2]];case 112:case 147:case 178:case 199:case 218:return[];case 115:case 150:case 202:case 222:case 360:case 389:return[...u[$-3],u[$]];case 116:case 151:case 203:case 224:case 362:case 391:return[...u[$-5],...u[$-2]];case 117:return[null,u[$],u[$]];case 119:case 152:return[":",u[$-2],u[$]];case 120:case 153:return[":",u[$-4],u[$-1]];case 127:return["dynamicKey",u[$-1]];case 128:return["[]","this",u[$-1]];case 130:case 131:case 154:case 212:return["...",u[$]];case 137:case 216:return["super",...u[$]];case 138:case 139:case 140:case 214:case 217:return[u[$-1],...u[$]];case 145:return["map-literal"];case 146:return["map-literal",...u[$-2]];case 168:return["array"];case 169:return["array",...u[$-1]];case 170:return["array",...u[$-2],...u[$-1]];case 172:return[...u[$-2],...u[$]];case 173:return[...u[$-3],...u[$]];case 174:return[...u[$-2],...u[$-1]];case 175:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 179:return[...u[$]];case 182:return null;case 184:return"..";case 185:case 228:return"...";case 186:return[u[$-2],u[$-3],u[$-1]];case 187:case 416:case 418:case 419:case 434:case 436:return[u[$-1],u[$-2],u[$]];case 188:return[u[$],u[$-1],null];case 189:return[u[$-1],null,u[$]];case 190:return[u[$],null,null];case 191:return["def",u[$-4],u[$-2],u[$]];case 192:return["def",u[$-1],[],u[$]];case 193:case 195:return[u[$-1],u[$-3],u[$]];case 194:case 196:return[u[$-1],[],u[$]];case 205:case 328:return["default",u[$-2],u[$]];case 206:return["rest",u[$]];case 207:return["expansion"];case 213:return["tagged-template",u[$-1],u[$]];case 215:return["optcall",u[$-2],...u[$]];case 231:case 232:return"this";case 233:return[".","this",u[$]];case 234:return[".","super",u[$]];case 235:return["[]","super",u[$-1]];case 236:return["[]","super",u[$-2]];case 237:return[".","new",u[$]];case 238:return[".","import",u[$]];case 239:return["block"];case 240:return["block",...u[$-1]];case 241:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 242:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 245:return["return",u[$]];case 246:return["return",u[$-1]];case 247:return["return"];case 248:return["throw",u[$]];case 249:return["throw",u[$-1]];case 250:return["yield"];case 251:return["yield",u[$]];case 252:return["yield",u[$-1]];case 253:return["yield-from",u[$]];case 254:return["if",u[$-1],u[$]];case 255:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 256:return["if",["!",u[$-1]],u[$]];case 257:return["if",["!",u[$-3]],u[$-2],u[$]];case 259:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 261:case 262:return["if",u[$],[u[$-2]]];case 263:return["?:",u[$-4],u[$-6],u[$-1]];case 264:return["?:",u[$-2],u[$-4],u[$]];case 265:case 266:return["if",["!",u[$]],[u[$-2]]];case 267:return["try",u[$]];case 268:return["try",u[$-1],u[$]];case 269:return["try",u[$-2],u[$]];case 270:return["try",u[$-3],u[$-2],u[$]];case 271:case 272:case 397:case 400:case 402:return[u[$-1],u[$]];case 273:return[null,u[$]];case 274:return["switch",u[$-3],u[$-1],null];case 275:return["switch",u[$-5],u[$-3],u[$-1]];case 276:return["switch",null,u[$-1],null];case 277:return["switch",null,u[$-3],u[$-1]];case 280:return["when",u[$-1],u[$]];case 281:return["when",u[$-2],u[$-1]];case 282:return["while",u[$]];case 283:return["while",u[$-2],u[$]];case 284:return["while",["!",u[$]]];case 285:return["while",["!",u[$-2]],u[$]];case 286:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 287:case 288:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 290:return["loop",u[$]];case 291:return["loop",[u[$]]];case 292:return["loop-n",u[$-1],u[$]];case 293:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 294:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 295:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 296:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 297:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 298:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 299:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 300:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 301:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 302:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 303:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 304:case 306:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 305:case 307:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 308:return["for-in",[],u[$-1],null,null,u[$]];case 309:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 310:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 311:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 312:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 313:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 314:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 315:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 316:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 317:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 318:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 319:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 320:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 321:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 322:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 323:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 324:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 325:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 326:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 330:case 364:case 366:case 393:case 394:case 396:return[u[$-2],u[$]];case 331:return["class",null,null];case 332:return["class",null,null,u[$]];case 333:return["class",null,u[$]];case 334:return["class",null,u[$-1],u[$]];case 335:return["class",u[$],null];case 336:return["class",u[$-1],null,u[$]];case 337:return["class",u[$-2],u[$]];case 338:return["class",u[$-3],u[$-1],u[$]];case 339:return["enum",u[$-1],u[$]];case 340:return["component",null,["block",...u[$-1]]];case 341:return["component",u[$-3],["block",...u[$-1]]];case 348:return["offer",u[$]];case 349:return["accept",u[$]];case 350:return["render",u[$]];case 351:case 354:return["import","{}",u[$]];case 352:case 353:return["import",u[$-2],u[$]];case 355:return["import",u[$-4],u[$]];case 356:return["import",u[$-4],u[$-2],u[$]];case 357:return["import",u[$-7],u[$-4],u[$]];case 368:return["*",u[$]];case 369:return["export","{}"];case 370:return["export",u[$-2]];case 371:case 372:case 373:case 374:case 378:case 379:case 380:case 381:return["export",u[$]];case 375:return["export",["=",u[$-2],u[$]]];case 376:return["export",["=",u[$-3],u[$]]];case 377:return["export",["=",u[$-4],u[$-1]]];case 382:return["export-default",u[$]];case 383:return["export-default",u[$-1]];case 384:return["export-all",u[$]];case 385:return["export-from","{}",u[$]];case 386:return["export-from",u[$-4],u[$]];case 398:case 399:case 401:case 439:return["do-iife",u[$]];case 403:return["-",u[$]];case 404:return["+",u[$]];case 405:return["?",u[$-1]];case 406:return["defined",u[$-1]];case 407:return["presence",u[$-1]];case 408:return["await",u[$]];case 409:return["await",u[$-1]];case 410:return["--",u[$],!1];case 411:return["++",u[$],!1];case 412:return["--",u[$-1],!0];case 413:return["++",u[$-1],!0];case 414:return["+",u[$-2],u[$]];case 415:return["-",u[$-2],u[$]];case 417:return["**",u[$-2],u[$]];case 420:return["&",u[$-2],u[$]];case 421:return["^",u[$-2],u[$]];case 422:return["|",u[$-2],u[$]];case 423:case 424:case 425:case 426:case 427:case 428:return["control",u[$-1],u[$-2],u[$]];case 429:return["&&",u[$-2],u[$]];case 430:return["||",u[$-2],u[$]];case 431:return["??",u[$-2],u[$]];case 432:return["!?",u[$-2],u[$]];case 433:return["|>",u[$-2],u[$]];case 435:return["?:",u[$-4],u[$-2],u[$]];case 437:return[u[$-3],u[$-4],u[$-1]];case 438:return[u[$-2],u[$-3],u[$]]}},parseError(f,w){let A,_,u,$,F,U,W;if(w.recoverable)return this.trace(f);else throw u=(w.line||0)+1,A=w.loc?.c||0,W=w.token?` (token: ${w.token})`:"",U=w.text?` near '${w.text}'`:"",$=`line ${u}, column ${A}`,F=`Parse error at ${$}${W}${U}: ${f}`,_=Error(F),_.hash=w,_},parse(f){let w,A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q,X,G,I,E,K,H,P,N;[G,N,Y]=[[0],[null],[]],[M,P,K,E,O]=[this.parseTable,"",0,0,0],[A,w]=[2,1],W=Object.create(this.lexer),q={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let B=this.ctx[L];q.ctx[L]=B}if(W.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[W,this],W.loc==null)W.loc={};H=W.loc,Y.push(H),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,U=()=>{let L;if(L=W.lex()||w,typeof L!=="number")L=this.symbolIds[L]||L;return L},I=D=X=_=J=z=F=R=$=null,Q={};while(!0){if(X=G[G.length-1],I==null)I=U();if(_=M[X]?.[I],_==null){if(u="",!O)$=(()=>{let L=[];for(let B in M[X]){if(!Object.hasOwn(M[X],B))continue;if(this.tokenNames[B]&&B>A)L.push(`'${this.tokenNames[B]}'`)}return L})();throw u=(()=>{if(W.showPosition)return`Parse error on line ${K+1}:
|
|
13
|
-
${
|
|
14
|
-
Expecting ${$.join(", ")}, got '${this.tokenNames[I]||I}'`;else return`Parse error on line ${K+1}: Unexpected ${I===w?"end of input":`'${this.tokenNames[I]||I}'`}`,this.parseError(u,{text:W.match,token:this.tokenNames[I]||I,line:W.line,loc:H,expected:$})})(),Error(u)}if(_>0)if(G.push(I,_),N.push(W.text),Y.push(W.loc),I=null,!D){if([E,P,K,H]=[W.len,W.text,W.line,W.loc],O>0)O--}else[I,D]=[D,null];else if(_<0){if(F=this.ruleTable[-_*2+1],Q.$=N[N.length-F],Z=Y[Y.length-(F||1)],Q._$={r:Z.r,c:Z.c},J=this.ruleActions.call(Q,-_,N,Y,q.ctx),J!=null)Q.$=J;if(Array.isArray(Q.$))Q.$.loc=Q._$;if(F)G.length-=F*2,N.length-=F,Y.length-=F;G.push(this.ruleTable[-_*2]),N.push(Q.$),Y.push(Q._$),R=M[G[G.length-2]][G[G.length-1]],G.push(R)}else if(_===0)return N[N.length-1]}},trace(){},ctx:{}},Z4=(f={})=>{let w=Object.create(R4);return Object.defineProperty(w,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),w},M1=Z4();var c4=M1.parse.bind(M1);var z4=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"],N2=new Set(z4);var M4=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var Q4=["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","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","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],D4=["math","param","portal"],T2=new Set([...M4,...D4]),Q1=new Set(Q4),E1=new Set([...T2,...Q1]);var S2="__bind_",h2="__",o1=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),J4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),a1="http://www.w3.org/2000/svg";function K4(f){for(let w of f){if(!Array.isArray(w))continue;let A=w[1]instanceof String?w[1].valueOf():w[1],_=w[2]instanceof String?w[2].valueOf():w[2];if(A==="type"&&typeof _==="string")return _.replace(/^["']|["']$/g,"")}return null}function D1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function s1(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function C2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function V2(f,w){let A=(U,W)=>U instanceof String?U[W]:void 0,_=w.prototype.classifyKeyword;w.prototype.classifyKeyword=function(U,W,Z){if(U==="offer"||U==="accept"){let Y=0;for(let R=this.tokens.length-1;R>=0;R--){let z=this.tokens[R][0];if(z==="OUTDENT")Y++;else if(z==="INDENT")Y--;if(Y<0&&this.tokens[R-1]?.[0]==="COMPONENT")return U.toUpperCase()}return W}return _.call(this,U,W,Z)},w.prototype.rewriteRender=function(){let U=(Q,q,X)=>{let G=[Q,q];if(G.pre=0,G.data=null,G.loc=X?.loc??{r:0,c:0,n:0},G.spaced=!1,G.newLine=!1,G.generated=!0,X)G.origin=X;return G},W=!1,Z=0,Y=0,R=[],z=(Q)=>{let q=Q.split("#")[0];return E1.has(q)},M=(Q)=>{if(!Q||typeof Q!=="string")return!1;return/^[A-Z]/.test(Q)},D=(Q)=>{return z(Q)||M(Q)},J=(Q,q,X,G)=>{let I=1,E=q;while(E>=0&&I>0){let K=Q[E][0];if(K===X)I++;else if(K===G)I--;if(I>0)E--}return E},O=(Q,q)=>{let X=q;while(X>0){let G=Q[X-1][0];if(G==="TERMINATOR"||G==="RENDER")break;if(G==="INDENT"||G==="OUTDENT"){let I=Q[X][0];if(I==="CALL_END"||I===")"){X=J(Q,X-1,I,I==="CALL_END"?"CALL_START":"(");continue}break}if(G==="CALL_END"||G===")"){X=J(Q,X-2,G,G==="CALL_END"?"CALL_START":"(");continue}if(G==="INTERPOLATION_END"){X=J(Q,X-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(G==="STRING_END"){X=J(Q,X-2,"STRING_END","STRING_START");continue}X--}return Q[X]&&Q[X][0]==="IDENTIFIER"&&(D(Q[X][1])||(X===0||Q[X-1][0]==="INDENT"||Q[X-1][0]==="TERMINATOR"||Q[X-1][0]==="RENDER"))};this.scanTokens(function(Q,q,X){let G=Q[0],I=q<X.length-1?X[q+1]:null;if(G==="RENDER")return W=!0,Z=Y+1,1;if(G==="INDENT")return Y++,1;if(G==="OUTDENT"){Y--;let E=0;while(R.length>0&&R[R.length-1]>Y){let K=U("CALL_END",")",Q);X.splice(q+1+E,0,K),R.pop(),E++}if(W&&Y<Z)W=!1;return 1+E}if(!W)return 1;if(G==="="&&q>0){let E=X[q-1][0];if(E==="TERMINATOR"||E==="INDENT"||E==="RENDER"){let K=U("IDENTIFIER","__text__",Q),H=U("CALL_START","(",Q);return X.splice(q,1,K,H),this.detectEnd(q+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,N)=>X.splice(N,0,U("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(G==="UNARY_MATH"&&Q[1]==="~"&&I&&I[0]==="IDENTIFIER"){Q[0]="PROPERTY",Q[1]="__transition__";let E=U(":",":",Q),K=U("STRING",`"${I[1]}"`,I);return X.splice(q+1,1,E,K),1}if(G==="PROPERTY"&&Q[1][0]==="$"&&Q[1].length>1)return Q[0]="STRING",Q[1]=`"data-${Q[1].slice(1)}"`,1;if(G==="IDENTIFIER"&&!Q.spaced){let E=[Q[1]],K=q+1;while(K+1<X.length){let H=X[K],P=X[K+1];if(H[0]==="-"&&!H.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(E.push(P[1]),K+=2,P[0]==="PROPERTY")break}else break}if(E.length>1&&K>q+1&&X[K-1][0]==="PROPERTY"){let H=E.join("-");if(H[0]==="$")H="data-"+H.slice(1);return Q[0]="STRING",Q[1]=`"${H}"`,X.splice(q+1,K-q-1),1}}if(G==="."){let E=q>0?X[q-1]:null,K=E?E[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(I&&I[0]==="PROPERTY"){let H=q+2<X.length?X[q+2]:null;if(!H||H[0]!==":"){let P=U("IDENTIFIER","div",Q);return X.splice(q,0,P),2}}if(!I||I[0]!=="(")return Q[0]="IDENTIFIER",Q[1]="div",0}}if(G==="IDENTIFIER"||G==="PROPERTY"){let E=X[q+1],K=X[q+2];if(E&&E[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(Q[1]=Q[1]+"#"+K[1],K.spaced)Q.spaced=!0;return X.splice(q+1,2),0}}if(G==="BIND"){let E=q>0?X[q-1]:null,K=X[q+1];if(E&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return E[1]=`__bind_${E[1]}__`,Q[0]=":",Q[1]=":",1}if(G==="@"){let E=q+1;if(E<X.length&&X[E][0]==="PROPERTY"){E++;while(E+1<X.length&&X[E][0]==="."&&X[E+1][0]==="PROPERTY")E+=2;if(E>q+2&&E<X.length&&X[E][0]===":"){let K=U("[","[",Q);X.splice(q,0,K);let H=U("]","]",X[E+1]);return X.splice(E+1,0,H),2}}}if(G==="."&&I&&I[0]==="("){let E=q>0?X[q-1]:null,K=E?E[0]:null,H=K==="INDENT"||K==="TERMINATOR",P=U("PROPERTY","__clsx",Q);I[0]="CALL_START";let N=1;for(let L=q+2;L<X.length&&N>0;L++)if(X[L][0]==="("||X[L][0]==="CALL_START")N++;else if(X[L][0]===")"){if(N--,N===0)X[L][0]="CALL_END"}else if(X[L][0]==="CALL_END")N--;if(H){let L=U("IDENTIFIER","div",Q);return X.splice(q,0,L),X.splice(q+2,0,P),3}else if(K===":")return X[q]=U("IDENTIFIER","__clsx",Q),1;else return X.splice(q+1,0,P),2}if(I&&I[0]==="INDENT"){if(I.fromThen)return 1;if(G==="->"||G==="=>"||G==="CALL_START"||G==="(")return 1;let E=!1,K=q>0?X[q-1][0]:null,H=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",P=!1;if(G==="CALL_END"){let L=1;for(let B=q-1;B>=0&&L>0;B--)if(X[B][0]==="CALL_END")L++;else if(X[B][0]==="CALL_START"){if(L--,L===0&&B>0&&X[B-1][0]==="PROPERTY"&&X[B-1][1]==="__clsx")P=!0}}let N=G==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(P)E=!0;else if(G==="IDENTIFIER"&&D(Q[1])&&!H)E=!0;else if(G==="IDENTIFIER"&&!H)E=N||O(X,q);else if(G==="PROPERTY"||G==="STRING"||G==="STRING_END"||G==="NUMBER"||G==="BOOL"||G==="CALL_END"||G===")"||G==="PRESENCE")E=O(X,q);if(E){let L=!1;if(G==="PROPERTY"&&q>0&&X[q-1][0]==="."){let h=q;while(h>=2&&X[h-1][0]==="."&&X[h-2][0]==="PROPERTY")h-=2;if(h>=2&&X[h-1][0]==="."&&X[h-2][0]==="IDENTIFIER"&&D(X[h-2][1])){let j=h>=3?X[h-3][0]:null;if(!j||j==="INDENT"||j==="OUTDENT"||j==="TERMINATOR"||j==="RENDER")L=!0}}if(P||G==="IDENTIFIER"&&(D(Q[1])||N)||L){let h=U("CALL_START","(",Q),j=U("->","->",Q);return j.newLine=!0,X.splice(q+1,0,h,j),R.push(Y+1),3}else{let h=U(",",",",Q),j=U("->","->",Q);return j.newLine=!0,X.splice(q+1,0,h,j),3}}}if(G==="IDENTIFIER"&&M(Q[1])&&I&&(I[0]==="OUTDENT"||I[0]==="TERMINATOR"))return X.splice(q+1,0,U("CALL_START","(",Q),U("CALL_END",")",Q)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(U){let W=U.split("#")[0];return E1.has(W.toLowerCase())},u.isComponent=function(U){if(!U||typeof U!=="string")return!1;return/^[A-Z]/.test(U)},u.collectTemplateClasses=function(U){let W=[],Z=U;while(this.is(Z,".")){let M=Z[2];if(typeof M==="string"||M instanceof String)W.unshift(M.valueOf());Z=Z[1]}let Y=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Y===null)return{tag:null,classes:W,id:void 0,base:Z};let[R,z]=Y.split("#");if(!R)R="div";return{tag:R,classes:W,id:z,base:Z}};let $=(U)=>typeof U==="string"?U:U instanceof String?U.valueOf():null,F=(U,W)=>{if(!(U instanceof String))return W;let Z=new String(W);if(U.predicate)Z.predicate=!0;if(U.await)Z.await=!0;return Z.predicate||Z.await?Z:W};u.transformComponentMembers=function(U,W=new Set){let Z=this._self;if(!Array.isArray(U)){let Y=$(U);if(Y&&W.has(Y))return U;if(Y&&this.reactiveMembers&&this.reactiveMembers.has(Y))return[".",[".",Z,Y],F(U,"value")];if(Y&&this.componentMembers&&this.componentMembers.has(Y))return[".",Z,F(U,Y)];return U}if(U[0]==="."&&U[1]==="this"&&$(U[2])!=null){let Y=U[2],R=$(Y);if(this.reactiveMembers&&this.reactiveMembers.has(R))return[".",[".",Z,R],F(Y,"value")];return this._factoryMode?[".",Z,Y]:U}if(U[0]==="."||U[0]==="?.")return[U[0],this.transformComponentMembers(U[1]),U[2]];if(U[0]==="->"){let Y=U[1],R=new Set(W);if(Array.isArray(Y))for(let z of Y){let M=$(Array.isArray(z)&&z[0]==="default"?z[1]:z);if(M)R.add(M)}return["=>",U[1],this.transformComponentMembers(U[2],R)]}if(U[0]==="object"||U[0]==="map-literal")return[U[0],...U.slice(1).map((Y)=>{if(Array.isArray(Y)&&Y[0]==="...")return["...",this.transformComponentMembers(Y[1],W)];if(Array.isArray(Y)&&Y.length>=2){let R=Y[1],z=Array.isArray(R)?this.transformComponentMembers(R,W):R,M=this.transformComponentMembers(Y[2],W);return[Y[0],z,M]}return this.transformComponentMembers(Y,W)})];if(U[0]==="block"||U[0]==="program"){let Y=new Set(W),R=[U[0]];for(let z=1;z<U.length;z++){let M=U[z];if(Array.isArray(M)&&M[0]==="="){let D=$(M[1]);if(D&&!(this.reactiveMembers&&this.reactiveMembers.has(D))){R.push(["=",M[1],this.transformComponentMembers(M[2],Y)]),Y.add(D);continue}}R.push(this.transformComponentMembers(M,Y))}return R}return U.map((Y)=>this.transformComponentMembers(Y,W))},u.generateComponent=function(U,W,Z,Y){let[,R]=W,z=this.is(R,"block")?R.slice(1):[],M=[],D=[],J=[],O=[],Q=[],q=[],X=[],G=[],I=null,E=new Set,K=new Set;for(let S of z){if(!Array.isArray(S))continue;let[C]=S;if(C==="offer"){if(S=S[1],!Array.isArray(S))continue;C=S[0];let V=D1(S[1]);if(V)X.push(V)}if(C==="accept"){let V=typeof S[1]==="string"?S[1]:D1(S[1]);if(V)G.push(V),E.add(V),K.add(V)}else if(C==="."&&S[1]==="this"&&D1(S)){let V=typeof S[2]==="string"||S[2]instanceof String?S[2].valueOf():null;if(V)M.push({name:V,value:void 0,isPublic:!0,type:S[2]?.type||null,required:!0}),E.add(V),K.add(V)}else if(C==="state"){let V=D1(S[1]);if(V)M.push({name:V,value:S[2],isPublic:s1(S[1]),type:C2(S[1])}),E.add(V),K.add(V)}else if(C==="computed"){let V=D1(S[1]);if(V)D.push({name:V,expr:S[2]}),E.add(V),K.add(V)}else if(C==="readonly"){let V=D1(S[1]);if(V)J.push({name:V,value:S[2],isPublic:s1(S[1]),type:C2(S[1])}),E.add(V)}else if(C==="="){let V=D1(S[1]);if(V)if(o1.has(V))Q.push({name:V,value:S[2]});else{let l=S[2];if(Array.isArray(l)&&(l[0]==="->"||l[0]==="=>"))O.push({name:V,func:l}),E.add(V);else M.push({name:V,value:l,isPublic:s1(S[1])}),E.add(V),K.add(V)}}else if(C==="effect")q.push(S);else if(C==="render")I=S;else if(C==="object")for(let V=1;V<S.length;V++){let l=S[V];if(!Array.isArray(l))continue;let[,n,c]=l;if(typeof n==="string"&&o1.has(n))Q.push({name:n,value:c});else if(typeof n==="string")O.push({name:n,func:c}),E.add(n)}}let H=new Map;for(let{name:S}of O)if(/^on[A-Z]/.test(S)&&!o1.has(S)){let C=S[2].toLowerCase()+S.slice(3);if(N2.has(C))H.set(C,S)}let P=W[0]?.valueOf?.()??null,N=new Set;for(let{name:S,isPublic:C}of M)if(C)N.add(S);for(let{name:S,isPublic:C}of J)if(C)N.add(S);let L=this.componentMembers,B=this.reactiveMembers,h=this._autoEventHandlers,j=this._inheritsTag;if(this.componentMembers=E,this.reactiveMembers=K,this._autoEventHandlers=H.size>0?H:null,this._inheritsTag=P||null,this.options.stubComponents){let S=(c)=>c?c.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,C=[];C.push("class {"),C.push(" declare _root: Element | null;"),C.push(" emit(_name: string, _detail?: any): void {}");let V=[];for(let{name:c,type:y,isPublic:b,required:g}of M){if(!b)continue;let i=S(y),d=g?"":"?";V.push(`${c}${d}: ${i||"any"}`),V.push(`__bind_${c}__?: Signal<${i||"any"}>`)}for(let{name:c,type:y,isPublic:b}of J){if(!b)continue;let g=S(y);V.push(`${c}?: ${g||"any"}`)}{let y=V.length>0&&M.some((g)=>g.isPublic&&g.required)?"":"?",b=V.length>0?`{${V.join("; ")}}`:"{}";if(P)b+=` & __RipProps<'${P}'>`;C.push(` constructor(_props${y}: ${b}) {}`)}let l=(c)=>{let y=c?.valueOf?.()??c;if(typeof y!=="string")return null;if(y==="true"||y==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(y))return"number";if(y.startsWith('"')||y.startsWith("'"))return"string";return null};for(let{name:c,type:y,value:b}of M){let g=S(y)||l(b);C.push(g?` declare ${c}: Signal<${g}>;`:` declare ${c}: Signal<any>;`)}for(let{name:c,type:y,value:b}of J){let g=S(y)||l(b);C.push(g?` declare ${c}: ${g};`:` declare ${c}: any;`)}for(let{name:c,expr:y}of D)if(this.is(y,"block")){let b=this.transformComponentMembers(y),g=this.generateFunctionBody(b);C.push(` ${c} = __computed(() => ${g});`)}else{let b=this.generateInComponent(y,"value");C.push(` ${c} = __computed(() => ${b});`)}C.push(" _init(props) {");for(let{name:c,value:y,isPublic:b}of J){let g=this.generateInComponent(y,"value");C.push(b?` this.${c} = props.${c} ?? ${g};`:` this.${c} = ${g};`)}for(let{name:c,value:y,isPublic:b,required:g,type:i}of M)if(b&&g)C.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c});`);else if(b){let d=this.generateInComponent(y,"value");C.push(` this.${c} = __state(props.__bind_${c}__ ?? props.${c} ?? ${d});`)}else{let d=this.generateInComponent(y,"value");C.push(` this.${c} = __state(${d});`)}for(let c of q){let y=c[2],b=this.containsAwait(y)?"async ":"";if(this.is(y,"block")){let g=this.transformComponentMembers(y),i=this.generateFunctionBody(g,[],!0);C.push(` __effect(${b}() => ${i});`)}else{let g=this.generateInComponent(y,"value");C.push(` __effect(${b}() => { ${g}; });`)}}C.push(" }");let n=new Map;for(let[c,y]of H)n.set(y,c);if(I){let c=(y)=>{if(!Array.isArray(y))return;let b=y[0]?.valueOf?.()??y[0];if(typeof b==="string"&&b!=="object"&&b!=="switch"&&E1.has(b.split(/[.#]/)[0]))for(let g=1;g<y.length;g++){let i=y[g],d=this.is(i,"object")?i:null;if(!d&&Array.isArray(i)&&(i[0]==="->"||i[0]==="=>")&&this.is(i[2],"block")){for(let r=1;r<i[2].length;r++)if(this.is(i[2][r],"object")){d=i[2][r];break}}if(!d)continue;for(let r=1;r<d.length;r++){let v=d[r];if(!Array.isArray(v)||v.length<2)continue;let[,k,x]=v;if(Array.isArray(k)&&k[0]==="."&&k[1]==="this"&&Array.isArray(x)&&x[0]==="."&&x[1]==="this"){let s=typeof k[2]==="string"?k[2]:k[2]?.valueOf?.(),o=typeof x[2]==="string"?x[2]:x[2]?.valueOf?.();if(s&&o&&!n.has(o))n.set(o,s)}}}for(let g=1;g<y.length;g++)c(y[g])};c(I)}for(let{name:c,func:y}of O)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(g))b=["it"];let i=Array.isArray(b)?b.map((x)=>{let s=this.formatParam(x);if(x?.type)s+=`: ${x.type}`;return s}).join(", "):"",d=n.get(c);if(d&&Array.isArray(b)&&b.length>0){let x=b[0];if(!(x?.type||x instanceof String&&x.type)&&typeof(x?.valueOf?.()??x)==="string"){let o=x?.valueOf?.()??x;i=i.replace(o,`${o}: HTMLElementEventMap['${d}']`)}}let r=this.reactiveMembers?this.transformComponentMembers(g):g,v=this.containsAwait(g),k=this.generateFunctionBody(r,b||[]);C.push(` ${v?"async ":""}${c}(${i}) ${k}`)}for(let{name:c,value:y}of Q)if(Array.isArray(y)&&(y[0]==="->"||y[0]==="=>")){let[,b,g]=y,i=Array.isArray(b)?b.map((k)=>this.formatParam(k)).join(", "):"",d=this.reactiveMembers?this.transformComponentMembers(g):g,r=this.containsAwait(g),v=this.generateFunctionBody(d,b||[]);C.push(` ${r?"async ":""}${c}(${i}) ${v}`)}if(I){let c=[],y=0,b=(d)=>{let r=[];for(let v of d){let k=null;if(this.is(v,"object"))k=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let x=1;x<v[2].length;x++)if(this.is(v[2][x],"object")){k=v[2][x];break}}if(k)for(let x=1;x<k.length;x++){let s=k[x],[,o,a]=s;if(typeof o==="string"&&!o.startsWith("@")){let _1=s.loc?.r??k.loc?.r;if(o.startsWith("__bind_")&&o.endsWith("__")){let w1=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}else{let w1=this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}}}}return r},g=(d)=>{let r=[];for(let v of d){let k=null;if(this.is(v,"object"))k=v;else if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")&&this.is(v[2],"block")){for(let x=1;x<v[2].length;x++)if(this.is(v[2][x],"object")){k=v[2][x];break}}if(k)for(let x=1;x<k.length;x++){let s=k[x];if(!Array.isArray(s)||s.length<2)continue;let[,o,a]=s,_1=s.loc?.r??k.loc?.r;if(Array.isArray(o)&&o[0]==="."&&o[1]==="this"){let w1=typeof o[2]==="string"?o[2]:o[2]?.valueOf?.();if(!w1)continue;let x1="@"+w1.split(".")[0],X3=this.generateInComponent(a,"value");r.push({code:`'${x1}': ${X3}`,srcLine:_1})}else if(typeof o==="string"){if(o==="key")continue;if(o.startsWith("__bind_")&&o.endsWith("__")){let w1=o.slice(7,-2),x1=this.generateInComponent(a,"value");r.push({code:`${w1}: ${x1}`,srcLine:_1})}else{let w1=this.generateInComponent(a,"value");r.push({code:`${o}: ${w1}`,srcLine:_1})}}}}return r},i=(d)=>{if(!Array.isArray(d))return;let r=d[0]?.valueOf?.()??d[0];if(typeof r==="string"&&/^[A-Z]/.test(r)){let v=b(d.slice(1)),k=`_${y++}`,x=`ConstructorParameters<typeof ${r}>[0] & {}`;if(v.length===0){let s=d.loc?.r;c.push(` const ${k}: ${x} = {};`+(s!=null?` // @rip-src:${s}`:""))}else if(v.length===1){let s=d.loc?.r??v[0].srcLine;c.push(` const ${k}: ${x} = {${v[0].code}};`+(s!=null?` // @rip-src:${s}`:""))}else{let s=d.loc?.r;if(new Set(v.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=v[0].srcLine??s;c.push(` const ${k}: ${x} = {${v.map((_1)=>_1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{c.push(` const ${k}: ${x} = {`+(s!=null?` // @rip-src:${s}`:""));for(let a of v)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" };")}}}else if(typeof r==="string"&&!f.GENERATORS[r]&&(E1.has(r.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(r)&&d.length>1)){let v=r.split(/[.#]/)[0],k=g(d.slice(1)),x=d.loc?.r,s=x!=null?` // @rip-src:${x}`:"";if(k.length===0)c.push(` __ripEl('${v}');${s}`);else if(k.length===1){let o=k[0].srcLine??x,a=o!=null?` // @rip-src:${o}`:"";c.push(` __ripEl('${v}', {${k[0].code}});${a}`)}else if(new Set(k.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=k[0].srcLine??x,_1=a!=null?` // @rip-src:${a}`:"";c.push(` __ripEl('${v}', {${k.map((w1)=>w1.code).join(", ")}});${_1}`)}else{c.push(` __ripEl('${v}', {${s}`);for(let a of k)c.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));c.push(" });")}}for(let v=1;v<d.length;v++)i(d[v])};if(i(I),c.length>0){C.push(" _render() {");for(let d of c)C.push(d);C.push(" }")}}return C.push("}"),this.componentMembers=L,this.reactiveMembers=B,this._autoEventHandlers=h,this._inheritsTag=j,C.join(`
|
|
15
|
-
`)
|
|
4
|
+
`}function U1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function a1(f,_,U,w,u,$){if(!Array.isArray(f))return!1;let W=f[0]?.valueOf?.()??f[0],F=!1,A=new Map,Y=(K)=>typeof K==="string"&&/^[a-z]/.test(K),G=(K)=>{if(!Array.isArray(K))return;let R=K[0]?.valueOf?.()??K[0];if(Y(R))for(let z=1;z<K.length;z++){let q=K[z];if(!Array.isArray(q))continue;if((q[0]?.valueOf?.()??q[0])!=="object")continue;for(let D=1;D<q.length;D++){let I=q[D];if(!Array.isArray(I))continue;if((I[0]?.valueOf?.()??I[0])!=="ref")continue;let H=I[1]?.valueOf?.()??I[1];if(typeof H==="string")H=H.replace(/^["']|["']$/g,"");if(typeof H==="string"&&!A.has(H))A.set(H,`__RipDomEl<'${R}'> | null`)}}for(let z=1;z<K.length;z++)if(Array.isArray(K[z]))G(K[z])},Z=!1,Q=null,J=null,M="";if(W==="export"&&Array.isArray(f[1])){Z=!0;let K=f[1];if((K[0]?.valueOf?.()??K[0])==="="&&Array.isArray(K[2])&&(K[2][0]?.valueOf?.()??K[2][0])==="component")M=K[1]?.typeParams||"",Q=K[1]?.valueOf?.()??K[1],J=K[2]}else if(W==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")M=f[1]?.typeParams||"",Q=f[1]?.valueOf?.()??f[1],J=f[2];if(Q&&J){let K=Z?"export ":"",R=J[1]?.valueOf?.()??null,z=R?`__RipProps<'${R}'>`:null;if(z)F=!0;let q=J[2],O=Array.isArray(q)&&(q[0]?.valueOf?.()??q[0])==="block"?q.slice(1):q?[q]:[],D=[],I=[],B=!1,H=(X)=>{let P=X?.valueOf?.()??X;if(typeof P!=="string")return null;if(P==="true"||P==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(P))return"number";if(P.startsWith('"')||P.startsWith("'"))return"string";return null};for(let X of O){if(!Array.isArray(X))continue;let P=X[0]?.valueOf?.()??X[0],S,E,L,T,C;if(P==="state"||P==="readonly"||P==="computed"){if(S=X[1],L=Array.isArray(S)&&(S[0]?.valueOf?.()??S[0])==="."&&(S[1]?.valueOf?.()??S[1])==="this",E=L?S[2]?.valueOf?.()??S[2]:S?.valueOf?.()??S,T=L?S[2]?.type:S?.type,C=!0,!L){u.add(E);let V=P==="computed"?"Computed":"Signal",h=T?U1(T):H(X[2])||"any";I.push(` ${E}: ${V}<${h}>;`);continue}}else if(P==="."){if(L=(X[1]?.valueOf?.()??X[1])==="this",E=L?X[2]?.valueOf?.()??X[2]:null,T=L?X[2]?.type:null,C=!1,!L&&E)u.add(E)}else if(P==="object"){for(let V=1;V<X.length;V++){let h=X[V];if(!Array.isArray(h)||h.length<3)continue;let b=h[1]?.valueOf?.()??h[1],l=h[2];if(!Array.isArray(l))continue;let p=l[0]?.valueOf?.()??l[0];if(p!=="->"&&p!=="=>")continue;let _1=l[1];if(!Array.isArray(_1))continue;if(!_1.some((v)=>v?.type))continue;let g=[];for(let v of _1){let n=v?.valueOf?.()??v,s=v?.type?U1(v.type):"any";g.push(`${n}: ${s}`)}I.push(` ${b}(${g.join(", ")}): void;`)}continue}else if(P==="render"){F=!0,G(X[1]);continue}else continue;if(!L||!E)continue;let N=T?U1(T):"any",d=C?"?":"";if(!C)B=!0;if(D.push(` ${E}${d}: ${N};`),P==="state")D.push(` __bind_${E}__?: Signal<${N}>;`)}if(_.push(`${K}declare class ${Q}${M} {`),D.length>0||z){let X=B?"":"?";if(D.length>0){_.push(` constructor(props${X}: {`);for(let P of D)_.push(P);_.push(z?` } & ${z});`:" });")}else _.push(` constructor(props${X}: ${z});`)}for(let[X,P]of A)I.push(` ${X}: ${P};`);for(let X of I)_.push(X);_.push("}")}if(W==="program"||W==="block"){for(let K=1;K<f.length;K++)if(Array.isArray(f[K]))F=a1(f[K],_,U,w,u,$)||F}if(W==="export"&&Array.isArray(f[1])&&!J)F=a1(f[1],_,U,w,u,$)||F;return F}function X2(f,_,U){let[w,u]=_,$=w?.valueOf?.()??w,W=[];if(Array.isArray(u)){let Y=u[0]==="block"?u.slice(1):[u];for(let G of Y)if(Array.isArray(G)){if(G[0]?.valueOf?.()==="="){let Z=G[1]?.valueOf?.()??G[1],Q=G[2]?.valueOf?.()??G[2];W.push([Z,Q])}}}if(W.length===0)return`const ${$} = {}`;let F=W.map(([Y,G])=>`${Y}: ${G}`).join(", "),A=W.map(([Y,G])=>`${G}: "${Y}"`).join(", ");return`const ${$} = {${F}, ${A}}`}var J2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),M2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),s1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},D2=new Set(Object.keys(s1)),z3=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Q3=new Set(["break","continue","debugger"]),K3=new Set(["NEW","TYPEOF","DELETE"]),X3=new Set(["IN","OF","INSTANCEOF"]),c1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),e1=new Set([...c1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END"]),y1=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++"]),J3=new Set(["+","-"]),M3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),D3=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END"]),X1=new Set(["(","[","{","MAP_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),z1=new Set([")","]","}","MAP_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),H3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START"},H2=new Set(["CATCH","THEN","ELSE","FINALLY",...z1]),t1=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),R3=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),O3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),R2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),q3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),E1=new Set(["INDENT","OUTDENT","TERMINATOR"]),O2=new Set([".","?."]),q2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),P3=new Set([...e1,"++","--"]),P2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),B3=new Set(["*","/","%","//","%%"]),I3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),E3=new Set(["<<",">>",">>>"]),S3=new Set(["!","~"]),L3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,N3=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,T3=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,V3=/^[^\n\S]+/,C3=/^(?:\n[^\n\S]*)+/,h3=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,b3=/^[-=]>/,j3=/^(?:~[=>]|=!)/,y3=/^(?:'''\\|"""\\|'''|"""|'|")/,c3=/^(?:[^\\']|\\[\s\S])*/,g3=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,v3=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,l3=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,B2=/\n+([^\n\S]*)(?=\S)/g,x3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,I2=/^\w*/,m3=/^(?!.*(.).*\1)[gimsuy]*$/,k3=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,i3=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,n3=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,d3=/\s+$/,E2=/^\s*(?:,|\??\.(?![.\d]))/,p3=65279;function g1(f,_,{pre:U=0,row:w=0,col:u=0,len:$=0,data:W=null}={}){let F=[f,_];return F.pre=U,F.data=W,F.loc={r:w,c:u,n:$},F.spaced=U>0,F.newLine=!1,F}function Y1(f,_,U){let w=g1(f,_);if(w.generated=!0,U)w.origin=U;return w}function G1(f,{row:_=0,col:U=0,len:w=1}={}){let u=SyntaxError(f);throw u.location={first_line:_,first_column:U,last_column:U+w-1},u}function o3(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class J1{tokenize(f,_={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=_.row||0,this.col=_.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let U=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(U===0)G1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(U),_.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let U=this.ends[this.ends.length-1];G1(`missing ${U.tag}`,{row:this.row,col:this.col})}if(_.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===p3)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
5
|
+
`),f=f.replace(d3,""),/^[^\n\S]/.test(f))f=`
|
|
6
|
+
`+f;return f}advance(f){let _=this.code.slice(this.pos,this.pos+f);for(let U=0;U<_.length;U++)if(_[U]===`
|
|
7
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,_,{len:U,data:w,pre:u}={}){let $=g1(f,_,{pre:u??0,row:this.row,col:this.col,len:U??(typeof _==="string"?_.length:0),data:w});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}identifierToken(){if(j3.test(this.chunk))return 0;let f=L3.exec(this.chunk);if(!f)return 0;let[,_,U]=f,w=_.length,u={},$;if(_==="own"&&this.prevTag()==="FOR")return this.emit("OWN",_,{len:w}),w;if(_==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",_,{len:w}),w;if(_==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let G=this.prevTag();if(G==="DEFAULT"||G==="IMPORT_ALL"||G==="IDENTIFIER")return this.emit("AS",_,{len:w}),w}if((_==="as"||_==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(_==="as!"?"FORASAWAIT":"FORAS","as",{len:w}),w;if(_==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",_,{len:w}),w;let W;if(_==="do"&&(W=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),W[1].length+3;let F=this.prev();if(U&&F&&F[0]==="TERNARY")U=null;if(U||F&&(F[0]==="."||F[0]==="?."||!F.spaced&&F[0]==="@")){if($="PROPERTY",this.inRenderBlock&&F&&F[0]==="."&&!U){let G=this.chunk.slice(w);while(G[0]==="-"&&/^-[a-zA-Z]/.test(G)){let Z=/^-([a-zA-Z][\w]*)/.exec(G);if(!Z)break;_+="-"+Z[1],w+=1+Z[1].length,G=this.chunk.slice(w)}}}else $="IDENTIFIER";let A=_.endsWith("!")||_.endsWith("?")?_.slice(0,-1):_;if($==="IDENTIFIER"&&!_.endsWith("!")&&!_.endsWith("?")&&(J2.has(_)||M2.has(_)||D2.has(_))&&!(this.exportSpecifierList&&D2.has(_))){if(s1[_]!==void 0)u.original=_,_=s1[_];$=this.classifyKeyword(_,$,u)}if($==="IDENTIFIER"&&z3.has(A))if(A==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else G1(`reserved word '${A}'`,{row:this.row,col:this.col,len:w});if($==="PROPERTY"&&F){if(F[0]==="."&&this.tokens.length>1){let G=this.tokens[this.tokens.length-2];if(G[0]==="UNARY"&&G[1]==="new")G[0]="NEW_TARGET";if(G[0]==="IMPORT"&&G[1]==="import")this.seenImport=!1,G[0]="IMPORT_META"}}if(_.length>1&&_.endsWith("!"))u.await=!0,_=_.slice(0,-1);if(_.length>1&&_.endsWith("?"))u.predicate=!0,_=_.slice(0,-1);let Y=this.emit($,_,{len:w,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(U)return this.emit(":",":",{len:1}),w+U.length;return w}classifyKeyword(f,_,U){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(Q3.has(f))return"STATEMENT";let w=f.toUpperCase();if(w==="WHEN"&&E1.has(this.prevTag()))return"LEADING_WHEN";if(w==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(w==="UNLESS")return"UNLESS";if(w==="IMPORT")return this.seenImport=!0,"IMPORT";if(w==="EXPORT")return this.seenExport=!0,"EXPORT";if(K3.has(w))return"UNARY";if(X3.has(w)){if(w!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+w;if(this.prevVal()==="!"){let u=this.tokens.pop();U.invert=u.data?.original||u[1]}return"RELATION"}if(J2.has(f)||M2.has(f))return w;return _}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let _=this.prev();if(_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY"))return 0;let U=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(U)return this.emit("IDENTIFIER","div#"+U[1]),U[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let f=h3.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=V3.exec(this.chunk);if(!f&&this.chunk[0]!==`
|
|
8
|
+
`)return 0;let _=this.prev();if(_)if(f)_.spaced=!0,_.pre=f[0].length;else _.newLine=!0;return f?f[0].length:0}lineToken(){let f=C3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length-1-_.lastIndexOf(`
|
|
9
|
+
`);if(this.isUnfinished()){if(U<this.indent&&/^\s*,/.test(this.chunk)&&!q2.has(this.prevTag())){if(this.outdentTo(U,_.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return _.length}return _.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,U===this.indent)return this.emitNewline(),_.length;if(U>this.indent){if(!this.tokens.length)return this.indent=U,_.length;let w=U-this.indent;return this.emit("INDENT",w,{len:U}),this.indents.push(w),this.ends.push({tag:"OUTDENT"}),this.indent=U,_.length}return this.outdentTo(U,_.length),_.length}outdentTo(f,_=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let U=this.indent-f;while(U>0){let w=this.indents[this.indents.length-1];if(!w)U=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",U,{len:_}),U-=w}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
10
|
+
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&E2.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let U=this.tokens.length;if(U>=2){let w=this.tokens[U-2][0];if(w==="INDENT"||w==="TERMINATOR"||w==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"||f?.[0]==="SHIFT"&&(f[1]===">>"||f[1]===">>>")){let U=0;for(let w=this.tokens.length-1;w>=0;w--){let u=this.tokens[w];if(u[0]==="COMPARE"&&u[1]===">")U++;else if(u[0]==="SHIFT"&&u[1]===">>")U+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")U+=3;else if(u[0]==="COMPARE"&&u[1]==="<")U--;if(U===0&&u[0]==="TYPE_ANNOTATION")return!1;if(U===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return E2.test(this.chunk)||q2.has(this.prevTag())}pair(f){let _=this.ends[this.ends.length-1];if(!_||f!==_.tag){if(_?.tag==="OUTDENT"){let U=this.indents[this.indents.length-1];if(U)this.outdentTo(this.indent-U);return this.pair(f)}G1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=y3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length>1&&_.endsWith("\\"),w=U?_.slice(0,-1):_,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(w){case"'":$=c3;break;case'"':$=g3;break;case"'''":$=v3;break;case'"""':$=l3;break}let{tokens:W,index:F}=this.matchWithInterpolations($,_,w),A=w.length===3,Y=null;if(A)Y=this.processHeredocIndent(F,w,W);return this.mergeInterpolationTokens(W,{quote:w,indent:Y,endOffset:F,raw:U}),F}processHeredocIndent(f,_,U){let w=f-_.length,u=w-1;while(u>=0&&this.chunk[u]!==`
|
|
11
|
+
`)u--;u++;let $=this.chunk.slice(u,w),W=/^\s*$/.test($)?$.length:null,F="";for(let G of U)if(G[0]==="NEOSTRING")F+=G[1];let A=null,Y;B2.lastIndex=0;while(Y=B2.exec(F))if(A===null||Y[1].length>0&&Y[1].length<A.length)A=Y[1];if(W===null)return A;if(A===null)return" ".repeat(W);if(W<=A.length)return" ".repeat(W);return A}matchWithInterpolations(f,_,U,w){if(!U)U=_;if(!w)w=/^[#$]\{/;let u=[],$=_.length;if(this.chunk.slice(0,$)!==_)return null;let W=this.chunk.slice($);while(!0){let[F]=f.exec(W);u.push(["NEOSTRING",F,{offset:$}]),W=W.slice(F.length),$+=F.length;let A=w.exec(W);if(!A)break;let G=A[0].length-1,Z=W.slice(G),Q=new J1().tokenize(Z,{row:this.row,col:this.col+$+G,untilBalanced:!0,rewrite:!1}),J=Q.index+G;if(W[J-1]==="}"){let K=Q.tokens[0],R=Q.tokens[Q.tokens.length-1];K[0]="INTERPOLATION_START",K[1]="(",R[0]="INTERPOLATION_END",R[1]=")"}if(Q.tokens[1]?.[0]==="TERMINATOR")Q.tokens.splice(1,1);let M=Q.tokens.length;if(M>2&&Q.tokens[M-3]?.[0]==="INDENT"&&Q.tokens[M-2]?.[0]==="OUTDENT")Q.tokens.splice(M-3,2);u.push(["TOKENS",Q.tokens]),W=W.slice(J),$+=J}if(W.slice(0,U.length)!==U)G1(`missing ${U}`,{row:this.row,col:this.col});return{tokens:u,index:$+U.length}}mergeInterpolationTokens(f,{quote:_,indent:U,endOffset:w,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:_?.length||0,data:{quote:_}});for(let $=0;$<f.length;$++){let[W,F]=f[$];if(W==="TOKENS")for(let A of F)this.tokens.push(A);else if(W==="NEOSTRING"){let A=F;if(U){let Y=new RegExp("\\n"+U,"g");A=A.replace(Y,`
|
|
12
|
+
`)}if($===0&&_?.length===3)A=A.replace(/^\n/,"");if($===f.length-1&&_?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:F.length,data:{quote:_}})}}if(f.length>1)this.emit("STRING_END",")",{len:_?.length||0});return w}numberToken(){let f=N3.exec(this.chunk);if(!f)return 0;let _=f[0],U=_.length,w={row:this.row,col:this.col};if(/^0[BOX]/.test(_))G1(`radix prefix in '${_}' must be lowercase`,{...w,col:w.col+1});if(/^0\d*[89]/.test(_))G1(`decimal literal '${_}' must not be prefixed with '0'`,{...w,len:U});if(/^0\d+/.test(_))G1(`octal literal '${_}' must be prefixed with '0o'`,{...w,len:U});let u=o3(_),$=u===1/0?"INFINITY":"NUMBER",W={parsedValue:u};if($==="INFINITY")W.original=_;return this.emit($,_,{len:U,data:W}),U}regexToken(){let f=this.matchWithInterpolations(k3,"///");if(f){let{tokens:Y,index:G}=f,[Z]=I2.exec(this.chunk.slice(G)),Q=G+Z.length;if(Y.length===1||!Y.some((J)=>J[0]==="TOKENS")){let J=(Y[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${J}/${Z}`,{len:Q,data:{delimiter:"///",heregex:{flags:Z}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(Y,{quote:"///",endOffset:Q-Z.length}),Z)this.emit(",",",",{len:0}),this.emit("STRING",`"${Z}"`,{len:Z.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return Q}let _=x3.exec(this.chunk);if(!_)return 0;let[U,w,u]=_,$=this.prev();if($){if($.spaced&&c1.has($[0])&&(!u||/^\/=?\s/.test(U)))return 0;if(P3.has($[0])&&!($.spaced&&c1.has($[0])))return 0}if(!u)G1("missing / (unclosed regex)",{row:this.row,col:this.col});let W=U.length,[F]=I2.exec(this.chunk.slice(W)),A=W+F.length;if(!m3.test(F))G1(`invalid regular expression flags ${F}`,{row:this.row,col:this.col+W,len:F.length});return this.emit("REGEX",`/${w}/${F}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let f=n3.exec(this.chunk)||i3.exec(this.chunk);if(!f)return 0;let _=f[1],U=f[0].length;return this.emit("JS",_,{len:U,data:{here:f[0].startsWith("```")}}),U}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let U={"[":"]","(":")","{":"}","<":">"}[f]||f,w=U!==f,u=1,$=3;while($<this.chunk.length&&u>0){let Y=this.chunk[$];if(Y==="\\"){$+=2;continue}if(w&&Y===f)u++;if(Y===U)u--;if(u>0)$++}if(u!==0)return 0;let W=this.chunk.slice(3,$),F=$+1,A=[];if(W.trim()){let Y=W.trim().split(/(?<!\\)\s+/);for(let G of Y)A.push(G.replace(/\\ /g," "))}this.emit("[","[",{len:F});for(let Y=0;Y<A.length;Y++){if(Y>0)this.emit(",",",");this.emit("STRING",`"${A[Y]}"`)}return this.emit("]","]"),F}literalToken(){let f=this.wordLiteral();if(f)return f;let _=T3.exec(this.chunk),U=_?_[0]:this.chunk.charAt(0),w=U,u=this.prev();if(b3.test(U))this.tagParameters();if(U==="="&&u&&u[1]==="."&&!u.spaced){let $=this.tokens,W=$.length-2;while(W>=1&&$[W][0]==="PROPERTY"&&$[W-1]?.[1]===".")W-=2;if(W>=0&&($[W][0]==="IDENTIFIER"||$[W][0]===")"||$[W][0]==="]")){let F=$.slice(W,$.length-1);u[0]="=",u[1]="=";for(let A of F)this.tokens.push(g1(A[0],A[1],{pre:0,row:A[2],col:A[3],len:A[4]}));return this.tokens.push(g1(".",".",{pre:0,row:this.row,col:this.col,len:1})),U.length}}if(u&&(U==="="||P2.has(U))){if(U==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",U.length}if(U==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(U==="{"&&this.seenImport)this.importSpecifierList=!0;if(U==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(U==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(U==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(U===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,w="TERMINATOR";else if(U==="|>")w="PIPE";else if(U==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(U==="::")w="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(U==="~=")w="COMPUTED_ASSIGN";else if(U===":=")w="REACTIVE_ASSIGN";else if(U==="<=>")w="BIND";else if(U==="~>")w="EFFECT",this.inTypeAnnotation=!1;else if(U==="=!")w="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(U==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let $=this.chunk.slice(2),W=/^@(\s*)=(?!=)/.exec($);if(W){let A=W[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Y=this.emit("PROPERTY","assign");return Y.spaced=!0,this.emit("@","@"),this.emit(",",","),3+A.length+1}let F=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec($);if(F){let A=F[1],Y=F[2],G=A[0]==="@",Z=G?A.slice(1):A,Q=Z?Z.split("."):[],J=()=>{if(G){if(this.emit("@","@"),Q.length>0)this.emit("PROPERTY",Q[0])}else this.emit("IDENTIFIER",Q[0]);for(let K=1;K<Q.length;K++)this.emit(".","."),this.emit("PROPERTY",Q[K])};J(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),J(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let M=this.prev();return M.mergeClose=!0,2+A.length+Y.length+1}}else if(U==="*"&&u?.[0]==="EXPORT")w="EXPORT_ALL";else if(B3.has(U))w="MATH";else if(I3.has(U))w="COMPARE";else if(P2.has(U))w="COMPOUND_ASSIGN";else if(S3.has(U))w="UNARY_MATH";else if(E3.has(U))w="SHIFT";else if(U==="?"&&u?.spaced)w="TERNARY";else if(U==="?!"&&u&&!u.spaced)w="PRESENCE";else if(U==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))w="?.";else if(u){if(U==="("&&!u.spaced&&c1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";w="CALL_START"}if(U==="["&&!u.spaced&&e1.has(u[0])){if(w="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(U==="="||w==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(U==="("||U==="{"||U==="[")this.ends.push({tag:H3[U],origin:[w,U]});else if(U===")"||U==="}"||U==="]")this.pair(U);return this.emit(w,U,{len:U.length}),U.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,_=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let U=this.tokens[f];if(U[0]===")")_.push(U);else if(U[0]==="("||U[0]==="CALL_START")if(_.length)_.pop();else if(U[0]==="(")return U[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let _=this.tokens[f??this.tokens.length-1];if(_?.[0]==="DO")_[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let _=0;_<f.length;_++){if(f[_][0]!=="MATH"||f[_][1]!=="*")continue;let U=f[_+1];if(!U||U[0]!=="{")continue;if(f[_].spaced||f[_].newLine)continue;let w=f[_-1];if(w&&e1.has(w[0]))continue;f.splice(_,1),f[_][0]="MAP_START";let u=1;for(let $=_+1;$<f.length&&u>0;$++){let W=f[$][0];if(W==="{"||W==="MAP_START")u++;if(W==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((f,_)=>{if(f[0]==="CALL_START")this.detectEnd(_+1,(U)=>U[0]===")"||U[0]==="CALL_END",(U)=>U[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,_)=>{if(f[0]==="INDEX_START")this.detectEnd(_+1,(U)=>U[0]==="]"||U[0]==="INDEX_END",(U,w)=>{if(this.tokens[w+1]?.[0]===":")f[0]="[",U[0]="]";else U[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,_=null,U=null,w=($,W)=>{return $[1]!==";"&&q3.has($[0])&&!($[0]==="TERMINATOR"&&H2.has(this.tokens[W+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(W)&&!this.commaInImplicitObject(W)||O2.has($[0])&&(this.tokens[W-1]?.newLine||this.tokens[W-1]?.[0]==="OUTDENT")},u=($,W)=>{let F=this.tokens[W-1]?.[0]===","?W-1:W;this.tokens.splice(F,0,U)};this.scanTokens(($,W,F)=>{let[A]=$;if(A==="TERMINATOR"){if(this.tokens[W+1]?.[0]==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")return F.splice(W,1,...this.makeIndentation()),1;if(H2.has(this.tokens[W+1]?.[0]))return F.splice(W,1),0}if(A==="CATCH")for(let Y=1;Y<=2;Y++){let G=this.tokens[W+Y]?.[0];if(G==="OUTDENT"||G==="TERMINATOR"||G==="FINALLY")return F.splice(W+Y,0,...this.makeIndentation()),2+Y}if((A==="->"||A==="=>")&&(this.tokens[W+1]?.[0]===","||this.tokens[W+1]?.[0]==="]"))return[_,U]=this.makeIndentation(),F.splice(W+1,0,_,U),1;if(R2.has(A)&&this.tokens[W+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[W+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[W-1]?.[0]!=="OUTDENT")){if(f=A,[_,U]=this.makeIndentation(),A==="THEN")_.fromThen=!0;if(F.splice(W+1,0,_),A==="THEN"&&this.singleLineOwner(W)==="LEADING_WHEN")this.detectWhenThenEnd(W+2,w,u);else this.detectEnd(W+2,w,u);if(A==="THEN")F.splice(W,1);return 1}return 1})}singleLineOwner(f){let _=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let U=f-1;U>=0;U--){let w=this.tokens[U],u=w?.[0];if(_.has(u))return u;if(E1.has(u)||w?.newLine)return null}return null}detectWhenThenEnd(f,_,U){let w=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],W=$[0];if(w===0){if(W==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(W==="ELSE"&&u>0)u--;else if(_.call(this,$,f))return U.call(this,$,f)}if(X1.has(W))w++;if(z1.has(W))w--;if(w<0)return U.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,_=(w,u)=>{return w[0]==="TERMINATOR"||w[0]==="INDENT"&&!R2.has(this.tokens[u-1]?.[0])},U=(w)=>{if(w[0]!=="INDENT"||w.generated&&!w.fromThen)f[0]="POST_"+f[0]};this.scanTokens((w,u)=>{if(w[0]!=="IF"&&w[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=w,this.detectEnd(u+1,_,U),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let _=f.length-2;_>=0;_--)if(f[_][0]==="IDENTIFIER"&&f[_][1]==="$"&&(f[_+1]?.[0]==="STRING"||f[_+1]?.[0]==="STRING_START")){let U=f[_-1];if(U&&R3.has(U[0])){if(f.splice(_,1),U.spaced=!1,f[_].spaced=!1,f[_].pre=0,f[_].newLine)f[_].newLine=!1}}}addImplicitBracesAndParens(){let f=[],_=!1;this.scanTokens((U,w,u)=>{let[$]=U,W=u[w-1]||[],F=u[w+1]||[],[A]=W,[Y]=F,G=w,Z=(H)=>w-G+H,Q=()=>f[f.length-1],J=(H)=>H?.[2]?.ours,M=()=>J(Q())&&Q()?.[0]==="(",K=()=>J(Q())&&Q()?.[0]==="{",R=(H)=>{f.push(["(",H,{ours:!0}]),u.splice(H,0,Y1("CALL_START","("))},z=()=>{f.pop(),u.splice(w,0,Y1("CALL_END",")")),w+=1},q=(H,X={})=>{f.push(["{",H,{sameLine:!0,startsLine:X.startsLine??!0,ours:!0}]);let P=Y1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(H,0,P)},O=(H)=>{H=H??w,f.pop(),u.splice(H,0,Y1("}","}")),w+=1};if((M()||K())&&O3.has($))return f.push(["CONTROL",w,{ours:!0}]),Z(1);if($==="INDENT"&&J(Q())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(M()||K()&&A!==":")if(M())z();else O();if(Q()?.[2]?.ours&&Q()[0]==="CONTROL")f.pop();return f.push([$,w]),Z(1)}if(X1.has($))return f.push([$,w]),Z(1);if(z1.has($)){while(J(Q()))if(M())z();else if(K())O();else f.pop();f.pop()}if(t1.has($)&&U.spaced&&(y1.has(Y)||Y==="..."&&y1.has(u[w+2]?.[0])||J3.has(Y)&&!F.spaced&&!F.newLine)&&!(($==="]"||$==="}")&&(Y==="->"||Y==="=>")))return R(w+1),Z(2);if(t1.has($)&&this.tokens[w+1]?.[0]==="INDENT"&&this.looksObjectish(w+2)&&!this.findTagsBackwards(w,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return R(w+1),f.push(["INDENT",w+2]),Z(3);if($==="TERNARY")_=!0;if($===":"){if(_)return _=!1,Z(1);if(u[w-1]?.[0]==="PROPERTY"&&u[w-2]?.[0]==="."){let P=w-2;while(P>=2&&u[P]?.[0]==="."&&(u[P-1]?.[0]==="PROPERTY"||u[P-1]?.[0]==="IDENTIFIER"))P-=2;if(P+=1,u[P]?.[0]==="IDENTIFIER"||u[P]?.[0]==="PROPERTY"){let S=[];for(let L=P;L<w;L+=2)S.push(u[L][1]);let E=Y1("STRING",`"${S.join(".")}"`,u[P]);E.pre=u[P].pre,E.spaced=u[P].spaced,E.newLine=u[P].newLine,E.loc=u[P].loc,u.splice(P,w-P,E),w=P+1}}let H=z1.has(this.tokens[w-1]?.[0])?f[f.length-1]?.[1]??w-1:w-1;if(this.tokens[w-2]?.[0]==="@")H=w-2;let X=H<=0||E1.has(this.tokens[H-1]?.[0])||this.tokens[H-1]?.newLine;if(Q()){let[P,S]=Q(),E=f[f.length-2],L=(T)=>T==="{"||T==="MAP_START";if((L(P)||P==="INDENT"&&L(E?.[0])&&!J(E))&&(X||this.tokens[H-1]?.[0]===","||L(this.tokens[H-1]?.[0])||L(this.tokens[H]?.[0])))return Z(1)}return q(H,{startsLine:!!X}),Z(2)}if(E1.has($))for(let H=f.length-1;H>=0;H--){if(!J(f[H]))break;if(f[H][0]==="{")f[H][2].sameLine=!1}let D=A==="OUTDENT"||W.newLine,I=$==="||"||$==="&&",B=!1;if(I){let H=w+1,X=u[H]?.[0];if(X==="("||X==="["||X==="{"){for(let P=1;++H<u.length&&P>0;)if(X=u[H][0],X==="("||X==="["||X==="{")P++;else if(X===")"||X==="]"||X==="}")P--}else if(X&&X!=="TERMINATOR"&&X!=="OUTDENT"&&X!==",")H++;B=u[H]?.[0]===","}if(M3.has($)&&!B||O2.has($)&&D)while(J(Q())){let[H,,{sameLine:X,startsLine:P}]=Q();if(M()&&A!==",")z();else if(K()&&!I&&X&&$!=="TERMINATOR"&&A!==":")O();else if(K()&&$==="TERMINATOR"&&A!==","&&!(P&&this.looksObjectish(w+1)))O();else if(Q()?.[2]?.ours&&Q()[0]==="CONTROL"&&u[Q()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(w+1)&&K()&&(Y!=="TERMINATOR"||!this.looksObjectish(w+2))){let H=Y==="OUTDENT"?1:0;while(K())O(w+H)}return Z(1)})}addImplicitCallCommas(){let f=0,_=0,U=this.tokens;while(_<U.length){let w=U[_][0],u=_>0?U[_-1][0]:null;if(w==="CALL_START"||w==="(")f++;if(w==="CALL_END"||w===")")f--;if(f>0&&(w==="->"||w==="=>")&&D3.has(u))U.splice(_,0,Y1(",",",")),_++;_++}}scanTokens(f){let _=0;while(_<this.tokens.length)_+=f.call(this,this.tokens[_],_,this.tokens)}detectEnd(f,_,U,w={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&_.call(this,$,f))return U.call(this,$,f);if(X1.has($[0]))u++;if(z1.has($[0]))u--;if(u<0){if(w.returnOnNegativeLevel)return;return U.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let _=0;_<f.length;_++){if(!f[_].mergeClose)continue;let U=0;for(let w=_+1;w<f.length;w++){let u=f[w][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")U++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")U--;if(U<0||U===0&&u==="TERMINATOR"){f.splice(w,0,Y1("CALL_END",")",f[w-1]));break}if(w===f.length-1){f.splice(w+1,0,Y1("CALL_END",")",f[w]));break}}}}commaInImplicitCall(f){let _=0;for(let U=f-1;U>=0;U--){let w=this.tokens[U][0];if(z1.has(w)){_++;continue}if(X1.has(w)){if(w==="INDENT")return!1;if(_--,_<0)return!1;continue}if(_>0)continue;if(t1.has(w)&&this.tokens[U].spaced){let u=this.tokens[U+1]?.[0];return y1.has(u)||u==="..."&&y1.has(this.tokens[U+2]?.[0])}}return!1}commaInImplicitObject(f){let _=0;for(let U=f-1;U>=0;U--){let w=this.tokens[U][0];if(z1.has(w)){_++;continue}if(X1.has(w)){if(_--,_<0)return!1;continue}if(_>0)continue;if(w===":"&&U>0&&this.tokens[U-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(E1.has(w))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if((this.tokens[f]?.[0]==="IDENTIFIER"||this.tokens[f]?.[0]==="PROPERTY")&&this.tokens[f+1]?.[0]==="."){let _=f+2;while(this.tokens[_]?.[0]==="PROPERTY"&&this.tokens[_+1]?.[0]===".")_+=2;if(this.tokens[_]?.[0]==="PROPERTY"&&this.tokens[_+1]?.[0]===":")return!0}if(X1.has(this.tokens[f]?.[0])){let _=null;if(this.detectEnd(f+1,(U)=>z1.has(U[0]),(U,w)=>_=w),_&&this.tokens[_+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,_){let U=new Set(_),w=[];while(f>=0){let u=this.tokens[f]?.[0];if(!w.length&&U.has(u))return!0;if(z1.has(u))w.push(u);if(X1.has(u)&&w.length)w.pop();if(!w.length&&(X1.has(u)&&!this.tokens[f]?.generated||E1.has(u)))break;f--}return!1}makeIndentation(f){let _=Y1("INDENT",2),U=Y1("OUTDENT",2);if(f)_.generated=U.generated=!0,_.origin=U.origin=f;else _.explicit=U.explicit=!0;return[_,U]}}K2(J1);var a3={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,MapLiteral:45,AlphaNumeric:46,JS:47,Regex:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,NUMBER:54,String:55,Identifier:56,IDENTIFIER:57,Property:58,PROPERTY:59,STRING:60,STRING_START:61,Interpolations:62,STRING_END:63,InterpolationChunk:64,INTERPOLATION_START:65,INTERPOLATION_END:66,INDENT:67,OUTDENT:68,REGEX:69,REGEX_START:70,REGEX_END:71,RegexWithIndex:72,",":73,"=":74,REACTIVE_ASSIGN:75,COMPUTED_ASSIGN:76,Block:77,READONLY_ASSIGN:78,EFFECT:79,SimpleAssignable:80,Array:81,Object:82,ThisProperty:83,".":84,"?.":85,INDEX_START:86,INDEX_END:87,Slice:88,ES6_OPTIONAL_INDEX:89,"{":90,ObjAssignable:91,":":92,FOR:93,ForVariables:94,FOROF:95,OptComma:96,"}":97,WHEN:98,OWN:99,AssignList:100,AssignObj:101,ObjRestValue:102,SimpleObjAssignable:103,"[":104,"]":105,"@":106,"...":107,ObjSpreadExpr:108,SUPER:109,Arguments:110,DYNAMIC_IMPORT:111,MAP_START:112,MAP_END:113,MapAssignList:114,MapAssignObj:115,MapAssignable:116,Elisions:117,ArgElisionList:118,OptElisions:119,ArgElision:120,Arg:121,Elision:122,RangeDots:123,"..":124,DEF:125,CALL_START:126,ParamList:127,CALL_END:128,PARAM_START:129,PARAM_END:130,FuncGlyph:131,"->":132,"=>":133,Param:134,ParamVar:135,Splat:136,ES6_OPTIONAL_CALL:137,ArgList:138,SimpleArgs:139,THIS:140,NEW_TARGET:141,IMPORT_META:142,"(":143,")":144,RETURN:145,THROW:146,YIELD:147,FROM:148,IfBlock:149,IF:150,ELSE:151,UnlessBlock:152,UNLESS:153,POST_IF:154,POST_UNLESS:155,TRY:156,Catch:157,FINALLY:158,CATCH:159,SWITCH:160,Whens:161,When:162,LEADING_WHEN:163,WhileSource:164,WHILE:165,UNTIL:166,Loop:167,LOOP:168,FORIN:169,BY:170,FORAS:171,AWAIT:172,FORASAWAIT:173,ForValue:174,CLASS:175,EXTENDS:176,ENUM:177,COMPONENT:178,ComponentBody:179,ComponentLine:180,OFFER:181,ACCEPT:182,RENDER:183,IMPORT:184,ImportDefaultSpecifier:185,ImportNamespaceSpecifier:186,ImportSpecifierList:187,ImportSpecifier:188,AS:189,DEFAULT:190,IMPORT_ALL:191,EXPORT:192,ExportSpecifierList:193,EXPORT_ALL:194,ExportSpecifier:195,UNARY:196,DO:197,DO_IIFE:198,UNARY_MATH:199,"-":200,"+":201,"?":202,PRESENCE:203,"--":204,"++":205,MATH:206,"**":207,SHIFT:208,COMPARE:209,"&":210,"^":211,"|":212,"||":213,"??":214,"&&":215,PIPE:216,RELATION:217,TERNARY:218,COMPOUND_ASSIGN:219},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",47:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",54:"NUMBER",57:"IDENTIFIER",59:"PROPERTY",60:"STRING",61:"STRING_START",63:"STRING_END",65:"INTERPOLATION_START",66:"INTERPOLATION_END",67:"INDENT",68:"OUTDENT",69:"REGEX",70:"REGEX_START",71:"REGEX_END",73:",",74:"=",75:"REACTIVE_ASSIGN",76:"COMPUTED_ASSIGN",78:"READONLY_ASSIGN",79:"EFFECT",84:".",85:"?.",86:"INDEX_START",87:"INDEX_END",89:"ES6_OPTIONAL_INDEX",90:"{",92:":",93:"FOR",95:"FOROF",97:"}",98:"WHEN",99:"OWN",104:"[",105:"]",106:"@",107:"...",109:"SUPER",111:"DYNAMIC_IMPORT",112:"MAP_START",113:"MAP_END",124:"..",125:"DEF",126:"CALL_START",128:"CALL_END",129:"PARAM_START",130:"PARAM_END",132:"->",133:"=>",137:"ES6_OPTIONAL_CALL",140:"THIS",141:"NEW_TARGET",142:"IMPORT_META",143:"(",144:")",145:"RETURN",146:"THROW",147:"YIELD",148:"FROM",150:"IF",151:"ELSE",153:"UNLESS",154:"POST_IF",155:"POST_UNLESS",156:"TRY",158:"FINALLY",159:"CATCH",160:"SWITCH",163:"LEADING_WHEN",165:"WHILE",166:"UNTIL",168:"LOOP",169:"FORIN",170:"BY",171:"FORAS",172:"AWAIT",173:"FORASAWAIT",175:"CLASS",176:"EXTENDS",177:"ENUM",178:"COMPONENT",181:"OFFER",182:"ACCEPT",183:"RENDER",184:"IMPORT",189:"AS",190:"DEFAULT",191:"IMPORT_ALL",192:"EXPORT",194:"EXPORT_ALL",196:"UNARY",197:"DO",198:"DO_IIFE",199:"UNARY_MATH",200:"-",201:"+",202:"?",203:"PRESENCE",204:"--",205:"++",206:"MATH",207:"**",208:"SHIFT",209:"COMPARE",210:"&",211:"^",212:"|",213:"||",214:"??",215:"&&",216:"PIPE",217:"RELATION",218:"TERNARY",219:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[109,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,1,1,0,2,1,5,-2,109,5,1,5,60,2,76,-3,-3,-3,-3,-3,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,128,-6,-6,-6,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,9,1,5,60,1,1,5,32,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,60,1,1,5,32,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,129,130,131,98,99,55,1,5,49,5,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,3,3,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,134,107,108,-13,-13,-13,-13,137,138,139,-13,140,-13,-13,-13,-13,-13,-13,-13,135,-13,-13,141,-13,-13,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,132,133,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,60,1,1,5,11,1,1,1,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,142,143,144,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,60,1,1,5,32,23,16,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,60,1,1,5,32,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,145,146,147,148,149,-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,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-36,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-37,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-38,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-39,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-40,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-41,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-42,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-43,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-44,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,150,-197,-197,151,152,108,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,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,161,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,160,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,163,164,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,166,167,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,168,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,174,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,175,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,176,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,177,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,47,14,1,21,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,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,179,180,181,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,178,73,74,95,101,84,88,85,86,91,169,170,92,93,87,89,90,83,173,47,14,1,21,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,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,179,180,181,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,182,73,74,95,101,84,88,85,86,91,169,170,92,93,87,89,90,83,173,61,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,1,1,1,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,183,184,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,185,105,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,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,187,186,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,188,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,189,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,2,67,10,162,190,2,67,10,162,191,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,14,39,17,1,24,1,1,7,4,5,5,2,29,37,2,195,154,106,156,157,155,101,192,193,84,158,197,194,196,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,198,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,199,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,92,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,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,1,1,11,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,22,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,179,180,181,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-329,162,-329,104,105,-329,200,202,73,74,95,-329,101,-329,-329,-329,-329,-329,84,-329,88,-329,85,86,91,-329,-329,-329,169,-329,170,92,93,87,89,90,83,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,201,173,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,2,67,109,203,204,2,67,10,162,205,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,206,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,207,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,141,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,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,1,1,11,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,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,208,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-248,209,-248,104,105,-248,54,53,73,74,95,-248,101,-248,-248,-248,-248,-248,84,-248,88,-248,85,86,91,-248,-248,67,-248,169,-248,170,92,93,87,89,90,83,-248,70,65,66,210,55,96,-248,56,97,-248,-248,57,61,58,-248,-248,59,100,-248,-248,-248,50,-248,62,68,63,64,71,72,171,172,173,47,48,49,51,52,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,2,56,1,211,106,2,56,1,212,106,6,15,19,95,2,1,1,214,213,43,44,92,93,140,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,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,1,1,11,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,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,215,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-245,216,-245,104,105,-245,54,53,73,74,95,-245,101,-245,-245,-245,-245,-245,84,-245,88,-245,85,86,91,-245,-245,67,-245,169,-245,170,92,93,87,89,90,83,-245,70,65,66,55,96,-245,56,97,-245,-245,57,61,58,-245,-245,59,100,-245,-245,-245,50,-245,62,68,63,64,71,72,171,172,173,47,48,49,51,52,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,9,55,1,1,3,1,29,95,1,5,217,221,106,107,108,220,218,219,222,62,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,1,3,1,8,1,9,1,1,1,1,7,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,1,12,4,4,179,180,229,230,231,232,224,225,226,227,235,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,228,106,107,108,104,105,54,236,73,74,95,223,84,88,85,86,91,67,169,170,92,93,87,89,90,83,62,68,63,233,234,173,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-88,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-45,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-46,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-47,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-48,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-49,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-50,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-51,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,108,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,237,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,238,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,115,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,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,3,1,239,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,240,88,250,85,86,91,241,242,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,84,2,24,16,252,253,251,141,2,110,16,254,141,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,55,1,5,52,1,1,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,255,256,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,1,84,257,1,84,258,34,6,32,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,7,14,2,1,6,1,1,1,27,-145,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,-145,-145,104,105,-145,274,275,266,101,159,158,263,259,260,261,262,83,55,11,36,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,55,11,36,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-90,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-91,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,277,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,278,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,279,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,280,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,282,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,281,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,23,6,40,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-110,288,102,103,290,106,291,256,107,108,-110,-110,-110,292,283,-110,284,289,293,285,286,287,294,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-53,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-65,47,14,1,21,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,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,55,179,180,181,34,35,36,295,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,236,73,74,95,101,84,88,85,86,91,169,170,92,93,87,89,90,83,173,64,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,13,11,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,-55,-55,-55,56,1,5,54,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-57,6,55,5,1,1,2,1,299,107,108,296,297,298,111,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,1,3,1,5,2,1,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,-5,300,-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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-5,-5,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,-5,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,301,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,302,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,303,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,304,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,305,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,306,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,307,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,308,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,309,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,312,165,310,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,311,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,315,165,313,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,314,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,318,165,316,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,317,24,25,26,33,34,35,36,37,38,39,40,41,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,319,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,320,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,321,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,322,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,323,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,14,39,17,1,24,1,1,7,4,5,5,2,29,37,2,327,154,106,156,157,155,101,324,325,84,158,197,326,196,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,328,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,329,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-211,-211,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-212,-212,2,110,16,330,141,2,58,1,331,256,2,58,1,332,256,108,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,1,3,1,6,2,1,2,7,1,1,1,1,5,2,3,11,2,1,2,2,1,11,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,5,1,8,4,1,1,1,1,1,3,1,333,165,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,42,75,76,338,78,79,80,81,82,102,103,94,106,107,108,334,104,105,336,54,53,73,74,95,335,101,60,84,88,340,85,86,91,337,339,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,86,341,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,345,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,344,67,342,43,44,92,93,249,343,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,2,58,1,347,256,2,58,1,348,256,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,349,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,350,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,352,351,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,353,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,355,354,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,356,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,105,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,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,358,357,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,359,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,104,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,361,360,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,362,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,105,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,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,364,363,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,365,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,10,6,61,1,5,23,1,8,8,15,2,-241,-241,-241,367,368,-241,-241,-241,-241,366,6,6,61,1,5,55,2,-198,-198,-198,-198,-198,-198,7,6,61,1,5,1,54,2,-202,-202,-202,-202,369,-202,-202,15,6,50,1,10,1,5,8,1,1,7,14,2,22,2,5,-205,154,106,-205,-205,-205,156,157,155,101,159,158,-205,-205,370,11,6,61,1,5,1,21,33,2,39,2,2,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,11,6,61,1,5,1,21,33,2,39,2,2,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,11,6,61,1,5,1,21,33,2,39,2,2,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,11,6,61,1,5,1,21,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,2,58,1,255,256,115,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,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,240,88,250,85,86,91,241,242,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,9,1,5,60,1,1,5,32,23,16,-194,-194,-194,-194,-194,-194,-194,-194,-194,108,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,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,372,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,371,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,-398,-398,127,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,120,-398,-398,-398,-398,9,1,5,60,1,1,5,32,23,16,-395,-395,-395,-395,-395,-395,-395,-395,-395,5,154,1,9,1,1,129,130,131,98,99,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,127,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,120,-399,-399,-399,-399,9,1,5,60,1,1,5,32,23,16,-396,-396,-396,-396,-396,-396,-396,-396,-396,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,127,-400,-400,-400,-400,-400,-400,-400,-400,-400,113,-400,-400,-400,-400,-400,-400,120,-400,-400,-400,-400,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,373,-197,-197,151,152,2,67,10,162,160,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,163,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,166,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,5,15,114,2,1,1,214,169,170,92,93,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,-401,-401,127,-401,-401,-401,-401,-401,-401,-401,-401,-401,113,-401,-401,-401,-401,-401,-401,120,-401,-401,-401,-401,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,-402,-402,127,-402,-402,-402,-402,-402,-402,-402,-402,-402,113,-402,-402,-402,-402,-402,-402,120,-402,-402,-402,-402,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,120,-405,-405,-405,-405,2,82,8,374,101,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-87,-87,-407,-407,-407,-407,-87,-87,-87,-87,-87,-87,-87,-87,-407,-87,-407,-407,-407,-407,-407,-407,-407,-407,-407,-87,-407,-407,-87,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-87,-87,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,10,55,5,1,23,1,1,3,21,16,11,134,107,108,137,138,139,140,135,141,136,3,84,1,1,142,143,144,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-35,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-87,-87,-408,-408,-408,-408,-87,-87,-87,-87,-87,-87,-87,-87,-408,-87,-408,-408,-408,-408,-408,-408,-408,-408,-408,-87,-408,-408,-87,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-87,-87,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,104,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,377,375,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,376,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,128,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,125,126,127,98,99,-84,-84,-84,-84,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,378,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,3,67,10,73,162,379,380,46,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,27,1,5,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,381,382,383,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,4,95,74,2,2,385,384,386,387,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,388,159,158,197,196,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,389,159,158,197,196,3,67,10,93,162,390,391,5,73,22,74,2,2,392,-327,-327,-327,-327,6,73,1,21,74,2,2,-325,393,-325,-325,-325,-325,22,67,26,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,394,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,3,161,1,1,395,396,397,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,398,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,60,1,5,54,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-87,-87,-333,162,-333,-333,-87,-87,-87,399,-87,-87,-87,-87,-87,-333,-87,-333,-333,-333,-333,-333,-333,-333,-333,-333,-87,-333,-333,-87,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,400,-333,-333,-87,-87,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,1,1,8,4,1,1,1,1,1,3,1,403,404,405,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,401,402,406,407,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,408,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-246,-246,-246,-246,-246,-246,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,409,101,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-249,-249,-249,-249,-249,-249,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,410,101,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,411,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,67,10,49,162,413,412,2,67,10,162,414,9,1,5,60,1,1,5,32,23,16,-397,-397,-397,-397,-397,-397,-397,-397,-397,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-243,-243,-243,-243,-243,-243,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,415,101,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,73,75,417,416,1,148,418,7,56,1,10,30,90,1,2,423,106,422,419,420,421,424,2,73,75,-365,-365,1,189,425,26,6,40,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,83,3,2,-110,288,102,103,430,106,291,256,107,108,429,-110,-110,292,283,426,284,289,293,285,286,287,294,431,427,428,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,432,-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,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,433,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,434,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,148,435,57,1,5,54,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,146,147,148,149,-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,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-87,2,6,138,109,436,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,437,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,30,6,61,1,5,20,12,2,16,1,4,26,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,128,-223,340,438,339,-223,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,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,1,3,1,8,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,246,54,53,73,74,95,101,60,84,439,88,250,85,86,91,441,440,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,10,6,61,1,5,23,1,8,8,6,9,-241,-241,-241,443,444,-241,-241,-241,442,-241,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,445,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,5,6,61,1,5,32,-169,-169,-169,-169,-169,114,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,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,447,446,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,5,6,61,1,5,32,-174,-174,-174,-174,-174,6,6,61,1,5,32,23,-224,-224,-224,-224,-224,-224,6,6,61,1,5,32,23,-225,-225,-225,-225,-225,-225,108,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,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,-226,448,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-226,-226,104,105,-226,54,53,73,74,95,101,60,84,-226,88,85,86,91,67,-226,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,2,58,1,449,256,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,450,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,451,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-215,-215,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,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,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,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,-56,-56,-56,-56,-56,-56,-56,2,58,1,452,256,2,58,1,453,256,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,455,454,-241,-241,-241,-241,5,6,61,1,5,40,-146,-146,-146,-146,-146,1,92,456,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,457,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,92,-153,1,92,-154,1,92,-155,1,92,-156,1,92,-157,1,92,-158,1,92,-159,1,92,-160,1,92,-161,1,92,-162,1,92,-163,1,92,-164,1,92,-165,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,458,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,459,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,128,-280,-280,460,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,127,98,99,-280,-280,-280,-280,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,128,-282,-282,461,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,127,98,99,-282,-282,-282,-282,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,45,1,5,60,1,1,5,4,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,162,-289,-289,462,-289,-289,128,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,127,98,99,-289,-289,-289,-289,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,6,6,61,1,5,19,5,-115,-115,-115,-115,463,-115,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,465,464,-241,-241,-241,-241,7,6,61,1,5,1,18,5,-124,-124,-124,-124,466,-124,-124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,467,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,58,1,45,255,256,468,6,6,61,1,5,19,5,-127,-127,-127,-127,-127,-127,5,6,61,1,5,24,-111,-111,-111,-111,-111,11,6,61,1,5,1,10,1,1,6,5,29,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,11,6,61,1,5,1,10,1,1,6,5,29,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,11,6,61,1,5,1,10,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,5,6,61,1,5,24,-116,-116,-116,-116,-116,17,38,4,1,13,1,1,1,23,1,7,13,3,2,1,2,29,3,472,474,473,290,106,291,256,471,292,101,469,88,470,475,476,87,83,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,477,-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,6,55,5,1,2,1,1,299,107,108,478,479,298,4,60,1,2,2,-59,-59,-59,-59,109,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,1,3,1,5,1,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,480,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,482,481,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,60,1,2,2,-64,-64,-64,-64,5,1,5,60,2,76,-4,-4,-4,-4,-4,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,127,-411,-411,-411,-411,-411,-411,-411,-411,112,113,-411,-411,-411,-411,-411,-411,120,-411,-411,-411,-411,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,127,-412,-412,-412,-412,-412,-412,-412,-412,112,113,-412,-412,-412,-412,-412,-412,120,-412,-412,-412,-412,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,127,-413,-413,-413,-413,-413,-413,-413,-413,-413,113,-413,-413,-413,-413,-413,-413,120,-413,-413,-413,-413,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,127,-414,-414,-414,-414,-414,-414,-414,-414,-414,113,-414,-414,-414,-414,-414,-414,120,-414,-414,-414,-414,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,127,-415,-415,-415,-415,-415,-415,111,110,112,113,-415,-415,-415,-415,-415,-415,120,-415,-415,-415,-415,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,127,-416,-416,-416,-416,-416,-416,111,110,112,113,114,-416,-416,-416,-416,-416,120,-416,-416,123,-416,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,127,-417,-417,-417,-417,-417,-417,111,110,112,113,114,115,-417,-417,-417,-417,120,-417,-417,123,-417,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,127,-418,-418,-418,-418,-418,-418,111,110,112,113,114,115,116,-418,-418,-418,120,-418,-418,123,-418,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,127,-419,-419,-419,-419,-419,-419,111,110,112,113,114,115,116,117,-419,-419,120,-419,-419,123,-419,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,127,-427,-427,-427,-427,-427,-427,111,110,112,113,114,115,116,117,118,-427,120,121,-427,123,-427,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,128,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,125,126,127,98,99,-428,-428,-428,-428,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,127,-426,-426,-426,-426,-426,-426,111,110,112,113,114,115,116,117,118,-426,120,-426,-426,123,-426,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,127,-429,-429,-429,-429,-429,-429,111,110,112,113,114,115,116,117,118,119,120,121,-429,123,-429,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,127,-430,-430,-430,-430,-430,-430,111,110,112,113,114,-430,-430,-430,-430,-430,120,-430,-430,-430,-430,22,92,1,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,483,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,128,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,484,-260,-260,127,98,99,-260,-260,-260,-260,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,128,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,127,98,99,-264,-264,-264,-264,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,95,74,2,2,486,485,487,488,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,489,159,158,197,196,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,490,159,158,197,196,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,491,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,128,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,127,98,99,-259,-259,-259,-259,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,128,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,127,98,99,-263,-263,-263,-263,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-92,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-93,25,87,6,14,16,1,30,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,492,128,340,493,339,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,5,2,3,11,2,1,2,2,1,11,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,5,1,8,4,1,1,1,1,1,3,1,494,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,495,101,60,84,88,340,85,86,91,337,339,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,87,496,1,87,497,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,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,498,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-188,104,105,54,53,73,74,95,-188,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,499,-47,-47,-47,-68,-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,56,11,36,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,56,11,36,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,500,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,501,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-216,-216,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,503,502,-241,-241,-241,-241,5,6,61,1,5,55,-218,-218,-218,-218,-218,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,345,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,344,67,43,44,92,93,249,504,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,27,6,61,1,5,20,12,23,26,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,128,-223,-223,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-101,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-102,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,505,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,506,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,-69,-69,127,-69,-69,-69,-69,-69,-69,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,507,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,508,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,128,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,125,126,127,98,99,-72,-72,-72,-72,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,509,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,510,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,128,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,125,126,127,98,99,-75,-75,-75,-75,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,511,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,128,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,125,126,127,98,99,-78,-78,-78,-78,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,512,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,513,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,128,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,125,126,127,98,99,-81,-81,-81,-81,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,514,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,3,131,1,1,515,92,93,18,6,50,1,10,1,13,1,1,7,7,7,1,1,1,6,15,6,1,-242,154,106,-242,-242,156,157,155,101,-242,159,-242,158,153,-242,-242,516,152,2,6,61,517,518,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,519,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,6,6,61,1,5,55,2,-204,-204,-204,-204,-204,-204,56,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,3,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,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,2,6,62,109,520,10,6,61,1,5,23,1,8,8,15,2,-241,-241,-241,367,368,-241,-241,-241,-241,521,1,68,522,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,127,-432,-432,-432,-432,-432,-432,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,523,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,524,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,128,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,125,126,127,98,99,-85,-85,-85,-85,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,525,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,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,526,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,2,67,10,162,527,6,56,1,10,10,5,8,528,106,162,530,529,101,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,531,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,532,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,533,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,534,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,95,535,1,171,536,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,537,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,10,56,1,24,1,1,7,14,2,29,39,154,106,156,157,155,101,159,158,197,538,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,539,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,161,1,1,540,396,397,4,68,83,11,1,541,542,543,397,3,68,83,12,-276,-276,-276,103,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,545,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,544,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,45,1,5,60,1,1,5,4,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,162,-331,-331,546,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,127,-331,-331,-331,-331,-331,-331,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,547,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,2,6,62,549,548,2,6,62,-340,-340,23,6,62,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,6,62,-344,-344,7,6,62,86,1,9,1,1,-345,-345,129,130,131,98,99,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,550,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,57,551,22,67,26,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,552,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,68,553,1,68,554,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,127,-251,-251,-251,-251,-251,-251,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,555,-197,-197,151,152,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,1,68,556,3,55,5,1,557,107,108,3,90,96,5,559,558,222,3,55,5,1,560,107,108,1,148,561,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,562,-241,-241,-241,-241,5,6,61,1,5,24,-356,-356,-356,-356,-356,6,56,1,10,120,1,2,423,106,422,564,421,424,6,6,61,1,5,24,92,-361,-361,-361,-361,-361,565,6,6,61,1,5,24,92,-363,-363,-363,-363,-363,566,2,56,1,567,106,14,1,5,60,1,1,5,32,23,16,4,6,1,10,1,-367,-367,-367,-367,-367,-367,-367,-367,-367,568,-367,-367,-367,-367,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,570,569,-241,-241,-241,-241,5,6,61,1,5,24,-385,-385,-385,-385,-385,6,56,1,10,123,3,2,572,106,429,431,571,428,12,6,61,1,5,1,10,1,1,6,5,29,63,-390,-390,-390,-390,-121,-121,-121,-121,-121,-390,-121,573,6,6,61,1,5,24,92,-393,-393,-393,-393,-393,574,104,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,576,575,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,577,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,128,-380,-380,-380,-380,-380,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,82,8,578,101,3,55,5,1,579,107,108,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,2,6,62,109,580,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,581,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-167,-167,-167,-167,-167,-167,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,445,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,5,6,61,1,5,32,-175,-175,-175,-175,-175,2,67,38,583,582,119,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,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,4,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,5,1,8,4,1,1,1,1,1,3,1,-242,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-242,-242,104,105,246,54,53,73,74,95,101,60,-242,84,-242,88,250,85,86,91,-242,585,584,247,243,67,-242,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,6,61,1,37,586,-176,-176,-176,60,6,5,36,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,1,13,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,5,1,8,4,1,1,1,1,1,3,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,10,6,61,1,5,23,1,8,8,6,9,-241,-241,-241,443,444,-241,-241,-241,587,-241,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,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,441,440,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,27,6,61,1,5,20,12,23,26,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,128,-210,-210,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,588,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,589,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,3,6,61,46,591,592,590,35,6,32,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,7,7,7,1,1,1,6,2,1,12,15,-242,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,-242,-242,104,105,274,275,266,101,-242,159,-242,158,263,-242,593,262,-242,83,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,594,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,595,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,26,6,61,1,5,20,20,41,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,128,-152,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,596,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,597,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,598,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,599,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,600,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,6,61,30,602,603,601,24,6,40,8,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,6,15,-242,288,102,103,290,106,291,256,107,108,-242,-242,292,605,-242,604,293,285,286,-242,287,294,-242,-242,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,606,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,607,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,22,93,12,49,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,128,608,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,609,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,10,6,61,1,5,11,1,1,11,13,16,-128,-128,-128,-128,-130,-130,-130,-128,610,141,10,6,61,1,5,11,1,1,11,13,16,-129,-129,-129,-129,612,613,614,-129,611,141,9,6,61,1,5,11,1,1,11,29,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,61,1,5,11,1,1,11,29,-132,-132,-132,-132,-132,-132,-132,-132,-132,9,6,61,1,5,11,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,61,1,5,11,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,4,84,2,24,16,252,253,615,141,2,110,16,616,141,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,56,1,5,54,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,4,60,1,2,2,-60,-60,-60,-60,2,6,60,109,617,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,618,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,4,60,1,2,2,-63,-63,-63,-63,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,619,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,621,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,620,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,622,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,623,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,624,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,625,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,95,626,1,171,627,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,628,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-94,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,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,629,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-186,104,105,54,53,73,74,95,-186,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,25,68,25,14,16,1,30,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,630,128,340,493,339,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,68,631,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-96,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-98,23,68,19,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,632,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,633,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,634,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,3,6,61,61,636,637,635,115,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,1,3,1,6,1,1,1,9,1,1,1,1,7,3,4,7,1,1,1,2,2,1,1,8,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,5,1,8,4,1,1,1,1,1,3,1,-242,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-242,-242,104,105,54,53,73,74,95,101,60,-242,84,-242,88,250,85,86,91,-242,638,67,-242,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,503,639,-241,-241,-241,-241,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-103,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,640,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-70,-70,-70,-70,-70,-70,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,641,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,128,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,125,126,127,98,99,-73,-73,-73,-73,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,642,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,128,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,125,126,127,98,99,-76,-76,-76,-76,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,128,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,125,126,127,98,99,-79,-79,-79,-79,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,643,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,128,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,125,126,127,98,99,-82,-82,-82,-82,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,108,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,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,645,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,162,104,105,644,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,6,6,61,1,5,55,2,-199,-199,-199,-199,-199,-199,11,56,1,24,1,1,7,14,2,1,27,1,154,106,156,157,155,101,159,158,153,646,152,18,6,50,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-197,154,106,-197,-197,-197,156,157,155,101,159,158,153,647,-197,-197,151,152,27,6,61,1,5,20,35,2,24,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,-203,128,-203,-203,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,56,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,3,131,1,1,648,92,93,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,649,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,127,-434,-434,-434,-434,-434,-434,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,650,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,67,10,162,651,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,2,67,10,162,652,2,67,10,162,653,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,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,-271,25,67,10,16,5,56,1,9,1,1,4,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,654,128,655,125,126,127,98,99,656,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,657,128,658,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,659,128,660,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,661,128,662,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,663,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,664,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,665,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,95,74,2,2,-328,-328,-328,-328,26,73,20,2,59,1,9,1,1,3,2,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,128,-326,125,126,127,98,99,-326,-326,-326,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,68,83,11,1,666,667,543,397,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,2,67,10,162,668,3,68,83,12,-277,-277,-277,3,67,6,4,162,670,669,23,67,6,20,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,45,1,5,60,1,1,5,4,10,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,162,-335,-335,671,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,127,-335,-335,-335,-335,-335,-335,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,110,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,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,1,1,8,4,1,1,1,1,1,3,1,-342,403,404,405,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-342,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,672,406,407,64,71,72,45,46,69,47,48,49,51,52,23,6,62,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,2,6,62,-347,-347,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,1,1,8,4,1,1,1,1,1,3,1,403,404,405,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,43,44,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,673,402,406,407,64,71,72,45,46,69,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,367,368,-241,-241,-241,674,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,1,148,675,6,56,1,10,120,1,2,423,106,422,676,421,424,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,3,55,5,1,677,107,108,3,6,61,30,679,680,678,11,6,50,1,10,1,29,8,8,15,60,2,-242,423,106,-242,-242,-242,-242,-242,-242,681,424,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,682,-241,-241,-241,-241,2,56,1,683,106,2,56,1,684,106,1,148,-366,3,55,5,1,685,107,108,3,6,61,30,687,688,686,11,6,50,1,10,1,29,8,8,15,62,5,-242,572,106,-242,-242,-242,-242,-242,-242,431,689,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,570,690,-241,-241,-241,-241,6,6,61,1,5,24,92,-390,-390,-390,-390,-390,573,3,56,1,133,691,106,692,2,56,1,693,106,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,128,-373,-373,-373,-373,-373,127,-373,-373,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,694,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,695,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,68,696,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,1,144,697,22,93,12,49,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,128,698,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-168,-168,-168,-168,-168,-168,114,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,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,245,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,447,699,244,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,5,6,61,1,5,32,-170,-170,-170,-170,-170,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,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,-177,-177,104,105,246,54,53,73,74,95,101,60,84,-177,88,250,85,86,91,441,440,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,5,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,246,54,53,73,74,95,101,60,84,88,250,85,86,91,447,700,247,243,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,2,67,1,583,701,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,702,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,28,38,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,7,14,2,1,8,1,27,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,104,105,274,275,266,101,159,158,263,703,262,83,34,6,32,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,7,14,2,1,6,1,1,1,27,-145,276,267,268,271,270,269,272,273,102,103,264,106,265,256,107,108,-145,-145,104,105,-145,274,275,266,101,159,158,263,-145,704,261,262,83,5,6,61,1,5,40,-147,-147,-147,-147,-147,26,6,61,1,5,20,20,41,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,128,-150,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,705,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,2,67,10,162,706,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-281,-281,-281,-281,-281,-281,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,127,-283,-283,-283,-283,-283,-283,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,26,6,61,1,5,20,4,57,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,707,-117,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,708,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,17,46,8,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,288,102,103,290,106,291,256,107,108,292,605,709,293,285,286,287,294,23,6,40,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-110,288,102,103,290,106,291,256,107,108,-110,-110,-110,292,605,-110,710,289,293,285,286,287,294,5,6,61,1,5,24,-112,-112,-112,-112,-112,6,6,61,1,5,19,5,-115,-115,-115,-115,711,-115,26,6,61,1,5,20,4,57,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,128,-119,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,712,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,6,6,61,1,5,19,5,-125,-125,-125,-125,-125,-125,22,93,12,49,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,128,713,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,9,6,61,1,5,11,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,61,1,5,11,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,2,58,1,714,256,2,58,1,715,256,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,716,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,717,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,9,6,61,1,5,11,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,61,1,5,11,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,60,1,2,2,-61,-61,-61,-61,2,6,62,109,718,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,127,-431,-431,-431,-431,-431,-431,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,719,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,128,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,127,98,99,-262,-262,-262,-262,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,720,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,127,-308,-308,-308,721,-308,-308,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,722,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,723,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,127,-317,-317,-317,-317,-317,-317,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,724,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,127,-321,-321,-321,-321,-321,-321,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,725,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,726,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,127,-324,-324,-324,-324,-324,-324,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,68,19,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,87,727,1,87,728,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-67,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-99,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,729,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,54,1,5,54,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,730,67,43,44,92,93,249,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,1,9,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,5,1,8,4,1,1,1,1,1,3,1,346,248,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,345,104,105,54,53,73,74,95,101,60,84,88,250,85,86,91,344,67,43,44,92,93,249,731,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,45,46,69,47,48,49,51,52,5,6,61,1,5,55,-219,-219,-219,-219,-219,3,6,61,1,636,637,732,1,87,733,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,9,1,5,60,1,1,5,32,23,16,-193,-193,-193,-193,-193,-193,-193,-193,-193,6,6,61,1,5,55,2,-200,-200,-200,-200,-200,-200,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,367,734,-241,-241,-241,-241,2,67,10,162,644,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,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,-269,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,3,7,1,3,1,1,2,27,1,5,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,-270,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,735,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,736,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,737,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,738,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,739,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,740,128,741,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,742,128,743,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,2,67,10,162,744,1,68,745,4,6,62,83,12,746,-278,-278,-278,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,747,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,2,6,62,-341,-341,2,6,62,549,748,2,67,10,162,749,3,55,5,1,750,107,108,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,751,-241,-241,-241,-241,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,1,148,752,4,56,1,131,2,423,106,753,424,6,56,1,10,120,1,2,423,106,422,754,421,424,5,6,61,1,5,24,-357,-357,-357,-357,-357,3,6,61,1,679,680,755,5,6,61,1,5,24,-362,-362,-362,-362,-362,5,6,61,1,5,24,-364,-364,-364,-364,-364,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,14,1,5,60,1,1,5,32,23,16,4,6,1,10,1,-368,-368,-368,-368,-368,-368,-368,-368,-368,756,-368,-368,-368,-368,4,56,1,133,5,572,106,431,757,6,56,1,10,123,3,2,572,106,429,431,758,428,5,6,61,1,5,24,-386,-386,-386,-386,-386,3,6,61,1,687,688,759,5,6,61,1,5,24,-391,-391,-391,-391,-391,5,6,61,1,5,24,-392,-392,-392,-392,-392,5,6,61,1,5,24,-394,-394,-394,-394,-394,30,1,5,60,1,1,5,20,12,23,16,10,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,128,-374,-374,-374,-374,-374,127,-374,-374,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,760,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,10,6,61,1,5,23,1,8,8,6,9,-241,-241,-241,443,444,-241,-241,-241,761,-241,5,6,61,1,5,32,-171,-171,-171,-171,-171,5,6,61,1,5,32,-172,-172,-172,-172,-172,1,87,762,5,6,61,1,5,40,-148,-148,-148,-148,-148,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,455,763,-241,-241,-241,-241,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,764,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,14,39,17,1,24,1,1,7,4,5,5,2,29,37,2,327,154,106,156,157,155,101,765,766,84,158,197,326,196,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,767,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,24,-113,-113,-113,-113,-113,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,465,768,-241,-241,-241,-241,103,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,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,769,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,600,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,6,6,61,1,5,19,5,-126,-126,-126,-126,-126,-126,9,6,61,1,5,11,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,61,1,5,11,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,22,87,6,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,771,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,772,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,66,773,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,774,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,775,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,776,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,777,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,778,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,779,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,780,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,-315,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,781,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,127,-319,-319,-319,-319,-319,-319,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-95,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-97,1,87,782,5,6,61,1,5,55,-220,-220,-220,-220,-220,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,503,783,-241,-241,-241,-241,5,6,61,1,5,55,-221,-221,-221,-221,-221,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,1,1,1,1,1,1,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,-104,-104,-104,-104,-104,3,6,61,1,517,518,784,24,67,10,16,61,1,9,1,1,4,30,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,785,128,125,126,127,98,99,786,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,24,67,10,16,5,56,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,787,128,788,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,789,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,790,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,791,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,792,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,793,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,68,794,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,3,68,83,12,-279,-279,-279,23,67,6,20,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,3,6,61,30,679,680,795,3,55,5,1,796,107,108,5,6,61,1,5,24,-358,-358,-358,-358,-358,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,563,797,-241,-241,-241,-241,5,6,61,1,5,24,-359,-359,-359,-359,-359,3,55,5,1,798,107,108,5,6,61,1,5,24,-387,-387,-387,-387,-387,9,6,61,1,5,23,1,8,8,15,-241,-241,-241,570,799,-241,-241,-241,-241,5,6,61,1,5,24,-388,-388,-388,-388,-388,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,2,67,1,583,800,53,1,5,54,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,3,6,61,1,591,592,801,5,6,61,1,5,40,-151,-151,-151,-151,-151,4,95,74,2,2,802,485,487,488,11,56,1,24,1,1,7,4,10,2,29,39,154,106,156,157,155,101,803,159,158,197,196,5,6,61,1,5,24,-118,-118,-118,-118,-118,3,6,61,1,602,603,804,26,6,61,1,5,20,4,57,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,128,-117,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,24,-120,-120,-120,-120,-120,9,6,61,1,5,11,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,22,68,25,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,4,60,1,2,2,-62,-62,-62,-62,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-309,-309,-309,806,-309,-309,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,807,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,127,-310,-310,-310,-310,-310,-310,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,127,-318,-318,-318,-318,-318,-318,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,127,-322,-322,-322,-322,-322,-322,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,808,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,809,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,62,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,24,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,-100,3,6,61,1,636,637,810,6,6,61,1,5,55,2,-201,-201,-201,-201,-201,-201,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,811,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,812,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,813,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,814,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,1,148,815,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,3,6,61,1,679,680,816,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,3,6,61,1,687,688,817,5,6,61,1,5,32,-173,-173,-173,-173,-173,5,6,61,1,5,40,-149,-149,-149,-149,-149,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,818,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,95,819,5,6,61,1,5,24,-114,-114,-114,-114,-114,1,87,820,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,821,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,822,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-320,-320,-320,-320,-320,-320,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,5,6,61,1,5,55,-222,-222,-222,-222,-222,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,823,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,23,67,10,16,61,1,9,1,1,34,1,5,1,1,1,1,1,1,1,1,1,1,1,1,162,824,128,125,126,127,98,99,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,3,55,5,1,825,107,108,5,6,61,1,5,24,-360,-360,-360,-360,-360,5,6,61,1,5,24,-389,-389,-389,-389,-389,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,828,-313,-313,-313,-313,826,-313,827,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,127,-313,-313,-313,-313,-313,-313,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,829,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,9,6,61,1,5,11,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-311,-311,-311,-311,-311,-311,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,44,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,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,127,-312,-312,-312,-312,-312,-312,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,43,1,5,60,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,27,1,5,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,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,13,1,5,60,1,1,5,32,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,97,830,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,831,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,7,6,61,1,29,8,8,15,-242,-242,-242,-242,-242,-242,-242,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,828,-315,-315,-315,-315,832,-315,833,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,127,-315,-315,-315,-315,-315,-315,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-105,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,828,-314,-314,-314,-314,834,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,127,-314,-314,-314,-314,-314,-314,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,1,97,835,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,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,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,5,1,8,4,1,1,1,1,1,3,1,836,165,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,42,75,76,77,78,79,80,81,82,102,103,94,106,107,108,104,105,54,53,73,74,95,101,60,84,88,85,86,91,67,169,170,92,93,87,89,90,83,70,65,66,55,96,56,97,57,61,58,98,99,59,100,50,62,68,63,64,71,72,171,172,173,47,48,49,51,52,1,97,837,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-107,45,1,5,60,1,1,5,14,5,1,2,1,1,1,7,2,6,11,4,2,14,7,3,1,9,1,1,3,1,1,2,27,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,828,-316,-316,-316,-316,838,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,127,-316,-316,-316,-316,-316,-316,111,110,112,113,114,115,116,117,118,119,120,121,122,123,124,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-106,1,97,839,58,1,5,54,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,6,11,2,2,2,7,7,7,3,1,10,1,3,1,1,2,27,1,1,1,3,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,-108],_=[],U=0,w,u,$,W;while(U<f.length){w=f[U++],u={},$=0,W=[];while(w--)$+=f[U++],W.push($);for($ of W)u[$]=f[U++];_.push(u)}return _})(),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,14,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,46,1,46,1,56,1,58,1,55,1,55,3,62,1,62,2,64,3,64,5,64,2,64,1,48,1,48,3,72,3,72,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,80,1,80,1,80,3,80,3,80,4,80,6,80,4,80,6,80,4,80,5,80,7,80,3,80,3,80,4,80,6,82,10,82,12,82,11,82,13,82,4,100,0,100,1,100,3,100,4,100,6,101,1,101,1,101,3,101,5,101,3,101,5,103,1,103,1,103,1,91,1,91,3,91,4,91,1,102,2,102,2,108,1,108,1,108,1,108,1,108,1,108,2,108,2,108,2,108,2,108,3,108,3,108,4,108,6,45,2,45,4,114,0,114,1,114,3,114,4,114,6,115,3,115,5,115,2,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,81,2,81,3,81,4,118,1,118,3,118,4,118,4,118,6,120,1,120,2,119,1,119,2,117,1,117,2,122,1,122,2,123,1,123,1,39,5,88,3,88,2,88,2,88,1,32,6,32,3,15,5,15,2,34,5,34,2,131,1,131,1,127,0,127,1,127,3,127,4,127,6,134,1,134,3,134,2,134,1,135,1,135,1,135,1,135,1,136,2,40,2,40,2,40,3,40,2,40,2,110,2,110,4,138,1,138,3,138,4,138,4,138,6,121,1,121,1,121,1,121,1,139,1,139,3,42,1,42,1,83,2,43,3,43,4,43,6,44,3,44,3,77,2,77,3,38,3,38,5,96,0,96,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,149,3,149,5,152,3,152,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,157,3,157,3,157,2,26,5,26,7,26,4,26,6,161,1,161,2,162,3,162,4,164,2,164,4,164,2,164,4,24,2,24,2,24,2,24,1,167,2,167,2,167,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,174,1,174,3,94,1,94,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,28,4,28,6,179,1,179,3,179,2,180,1,180,1,180,1,180,2,180,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,187,1,187,3,187,4,187,4,187,6,188,1,188,3,188,1,188,3,185,1,186,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,193,1,193,3,193,4,193,4,193,6,195,1,195,3,195,3,195,1,195,3,35,2,35,2,35,2,16,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,5,16,3,16,5,16,4,41,2],ruleActions:(f,_,U,w)=>{let u=_,$=_.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 59:case 111:case 146:case 174:case 178:case 198:case 218:case 227:case 276:case 327:case 340:case 356:case 385:return[u[$]];case 4:case 112:case 147:case 199:case 219:case 228:case 341:case 357:case 386:return[...u[$-2],u[$]];case 5:case 61:case 181:case 342:return u[$-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 47:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:case 64:case 65:case 87:case 88:case 89:case 90:case 91:case 116:case 121:case 122:case 123:case 124:case 127:case 130:case 131:case 132:case 133:case 134:case 153:case 154:case 155:case 156:case 157:case 158:case 161:case 162:case 163:case 164:case 165:case 169:case 195:case 196:case 202:case 206:case 207:case 208:case 209:case 223:case 224:case 225:case 241:case 242:case 256:case 258:case 287:case 325:case 343:case 344:case 345:case 361:case 363:case 365:case 390:case 393:return u[$];case 48:case 160:return"undefined";case 49:case 159:return"null";case 58:return["str",...u[$-1]];case 60:case 175:case 179:case 277:return[...u[$-1],u[$]];case 62:case 217:case 221:case 359:case 388:return u[$-2];case 63:return"";case 66:return["regex",u[$-1]];case 67:return["regex-index",u[$-2],u[$]];case 68:return["regex-index",u[$],null];case 69:case 119:return["=",u[$-2],u[$]];case 70:return["=",u[$-3],u[$]];case 71:case 120:return["=",u[$-4],u[$-1]];case 72:return["state",u[$-2],u[$]];case 73:return["state",u[$-3],u[$]];case 74:return["state",u[$-4],u[$-1]];case 75:case 77:return["computed",u[$-2],u[$]];case 76:return["computed",u[$-3],u[$]];case 78:return["readonly",u[$-2],u[$]];case 79:return["readonly",u[$-3],u[$]];case 80:return["readonly",u[$-4],u[$-1]];case 81:case 83:return["effect",u[$-2],u[$]];case 82:return["effect",u[$-3],u[$]];case 84:case 85:case 86:return["effect",null,u[$]];case 92:case 101:case 139:return[".",u[$-2],u[$]];case 93:case 102:case 140:return["?.",u[$-2],u[$]];case 94:case 96:case 103:case 141:return["[]",u[$-3],u[$-1]];case 95:case 97:case 104:case 142:return["[]",u[$-5],u[$-2]];case 98:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 99:return["optindex",u[$-4],u[$-1]];case 100:return["optindex",u[$-6],u[$-2]];case 105:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 106:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 107:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 108:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 109:return["object",...u[$-2]];case 110:case 145:case 176:case 197:case 216:return[];case 113:case 148:case 200:case 220:case 358:case 387:return[...u[$-3],u[$]];case 114:case 149:case 201:case 222:case 360:case 389:return[...u[$-5],...u[$-2]];case 115:return[null,u[$],u[$]];case 117:case 150:return[":",u[$-2],u[$]];case 118:case 151:return[":",u[$-4],u[$-1]];case 125:return["dynamicKey",u[$-1]];case 126:return["[]","this",u[$-1]];case 128:case 129:case 152:case 210:return["...",u[$]];case 135:case 214:return["super",...u[$]];case 136:case 137:case 138:case 212:case 215:return[u[$-1],...u[$]];case 143:return["map-literal"];case 144:return["map-literal",...u[$-2]];case 166:return["array"];case 167:return["array",...u[$-1]];case 168:return["array",...u[$-2],...u[$-1]];case 170:return[...u[$-2],...u[$]];case 171:return[...u[$-3],...u[$]];case 172:return[...u[$-2],...u[$-1]];case 173:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 177:return[...u[$]];case 180:return null;case 182:return"..";case 183:case 226:return"...";case 184:return[u[$-2],u[$-3],u[$-1]];case 185:case 413:case 415:case 416:case 430:case 432:return[u[$-1],u[$-2],u[$]];case 186:return[u[$],u[$-1],null];case 187:return[u[$-1],null,u[$]];case 188:return[u[$],null,null];case 189:return["def",u[$-4],u[$-2],u[$]];case 190:return["def",u[$-1],[],u[$]];case 191:case 193:return[u[$-1],u[$-3],u[$]];case 192:case 194:return[u[$-1],[],u[$]];case 203:case 326:return["default",u[$-2],u[$]];case 204:return["rest",u[$]];case 205:return["expansion"];case 211:return["tagged-template",u[$-1],u[$]];case 213:return["optcall",u[$-2],...u[$]];case 229:case 230:return"this";case 231:return[".","this",u[$]];case 232:return[".","super",u[$]];case 233:return["[]","super",u[$-1]];case 234:return["[]","super",u[$-2]];case 235:return[".","new",u[$]];case 236:return[".","import",u[$]];case 237:return["block"];case 238:return["block",...u[$-1]];case 239:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 240:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 243:return["return",u[$]];case 244:return["return",u[$-1]];case 245:return["return"];case 246:return["throw",u[$]];case 247:return["throw",u[$-1]];case 248:return["yield"];case 249:return["yield",u[$]];case 250:return["yield",u[$-1]];case 251:return["yield-from",u[$]];case 252:return["if",u[$-1],u[$]];case 253:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 254:return["if",["!",u[$-1]],u[$]];case 255:return["if",["!",u[$-3]],u[$-2],u[$]];case 257:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 259:case 260:return["if",u[$],[u[$-2]]];case 261:return["?:",u[$-4],u[$-6],u[$-1]];case 262:return["?:",u[$-2],u[$-4],u[$]];case 263:case 264:return["if",["!",u[$]],[u[$-2]]];case 265:return["try",u[$]];case 266:return["try",u[$-1],u[$]];case 267:return["try",u[$-2],u[$]];case 268:return["try",u[$-3],u[$-2],u[$]];case 269:case 270:case 395:case 398:case 400:return[u[$-1],u[$]];case 271:return[null,u[$]];case 272:return["switch",u[$-3],u[$-1],null];case 273:return["switch",u[$-5],u[$-3],u[$-1]];case 274:return["switch",null,u[$-1],null];case 275:return["switch",null,u[$-3],u[$-1]];case 278:return["when",u[$-1],u[$]];case 279:return["when",u[$-2],u[$-1]];case 280:return["while",u[$]];case 281:return["while",u[$-2],u[$]];case 282:return["while",["!",u[$]]];case 283:return["while",["!",u[$-2]],u[$]];case 284:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 285:case 286:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 288:return["loop",u[$]];case 289:return["loop",[u[$]]];case 290:return["loop-n",u[$-1],u[$]];case 291:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 292:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 293:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 294:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 295:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 296:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 297:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 298:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 299:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 300:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 301:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 302:case 304:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 303:case 305:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 306:return["for-in",[],u[$-1],null,null,u[$]];case 307:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 308:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 309:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 310:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 311:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 312:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 313:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 314:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 315:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 316:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 317:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 318:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 319:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 320:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 321:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 322:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 323:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 324:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 328:case 362:case 364:case 391:case 392:case 394:return[u[$-2],u[$]];case 329:return["class",null,null];case 330:return["class",null,null,u[$]];case 331:return["class",null,u[$]];case 332:return["class",null,u[$-1],u[$]];case 333:return["class",u[$],null];case 334:return["class",u[$-1],null,u[$]];case 335:return["class",u[$-2],u[$]];case 336:return["class",u[$-3],u[$-1],u[$]];case 337:return["enum",u[$-1],u[$]];case 338:return["component",null,["block",...u[$-1]]];case 339:return["component",u[$-3],["block",...u[$-1]]];case 346:return["offer",u[$]];case 347:return["accept",u[$]];case 348:return["render",u[$]];case 349:case 352:return["import","{}",u[$]];case 350:case 351:return["import",u[$-2],u[$]];case 353:return["import",u[$-4],u[$]];case 354:return["import",u[$-4],u[$-2],u[$]];case 355:return["import",u[$-7],u[$-4],u[$]];case 366:return["*",u[$]];case 367:return["export","{}"];case 368:return["export",u[$-2]];case 369:case 370:case 371:case 372:case 376:case 377:case 378:case 379:return["export",u[$]];case 373:return["export",["=",u[$-2],u[$]]];case 374:return["export",["=",u[$-3],u[$]]];case 375:return["export",["=",u[$-4],u[$-1]]];case 380:return["export-default",u[$]];case 381:return["export-default",u[$-1]];case 382:return["export-all",u[$]];case 383:return["export-from","{}",u[$]];case 384:return["export-from",u[$-4],u[$]];case 396:case 397:case 399:case 435:return["do-iife",u[$]];case 401:return["-",u[$]];case 402:return["+",u[$]];case 403:return["?",u[$-1]];case 404:return["presence",u[$-1]];case 405:return["await",u[$]];case 406:return["await",u[$-1]];case 407:return["--",u[$],!1];case 408:return["++",u[$],!1];case 409:return["--",u[$-1],!0];case 410:return["++",u[$-1],!0];case 411:return["+",u[$-2],u[$]];case 412:return["-",u[$-2],u[$]];case 414:return["**",u[$-2],u[$]];case 417:return["&",u[$-2],u[$]];case 418:return["^",u[$-2],u[$]];case 419:return["|",u[$-2],u[$]];case 420:case 421:case 422:case 423:case 424:case 425:return["control",u[$-1],u[$-2],u[$]];case 426:return["&&",u[$-2],u[$]];case 427:return["||",u[$-2],u[$]];case 428:return["??",u[$-2],u[$]];case 429:return["|>",u[$-2],u[$]];case 431:return["?:",u[$-4],u[$-2],u[$]];case 433:return[u[$-3],u[$-4],u[$-1]];case 434:return[u[$-2],u[$-3],u[$]]}},parseError(f,_){let U,w,u,$,W,F,A;if(_.recoverable)return this.trace(f);else throw u=(_.line||0)+1,U=_.loc?.c||0,A=_.token?` (token: ${_.token})`:"",F=_.text?` near '${_.text}'`:"",$=`line ${u}, column ${U}`,W=`Parse error at ${$}${A}${F}: ${f}`,w=Error(W),w.hash=_,w},parse(f){let _,U,w,u,$,W,F,A,Y,G,Z,Q,J,M,K,R,z,q,O,D,I,B,H,X,P,S;[D,S,G]=[[0],[null],[]],[J,P,H,B,R]=[this.parseTable,"",0,0,0],[U,_]=[2,1],A=Object.create(this.lexer),q={ctx:{}};for(let E in this.ctx){if(!Object.hasOwn(this.ctx,E))continue;let L=this.ctx[E];q.ctx[E]=L}if(A.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[A,this],A.loc==null)A.loc={};X=A.loc,G.push(X),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,F=()=>{let E;if(E=A.lex()||_,typeof E!=="number")E=this.symbolIds[E]||E;return E},I=M=O=w=K=Q=W=Z=$=null,z={};while(!0){if(O=D[D.length-1],I==null)I=F();if(w=J[O]?.[I],w==null){if(u="",!R)$=(()=>{let E=[];for(let L in J[O]){if(!Object.hasOwn(J[O],L))continue;if(this.tokenNames[L]&&L>U)E.push(`'${this.tokenNames[L]}'`)}return E})();throw u=(()=>{if(A.showPosition)return`Parse error on line ${H+1}:
|
|
13
|
+
${A.showPosition()}
|
|
14
|
+
Expecting ${$.join(", ")}, got '${this.tokenNames[I]||I}'`;else return`Parse error on line ${H+1}: Unexpected ${I===_?"end of input":`'${this.tokenNames[I]||I}'`}`,this.parseError(u,{text:A.match,token:this.tokenNames[I]||I,line:A.line,loc:X,expected:$})})(),Error(u)}if(w>0)if(D.push(I,w),S.push(A.text),G.push(A.loc),I=null,!M){if([B,P,H,X]=[A.len,A.text,A.line,A.loc],R>0)R--}else[I,M]=[M,null];else if(w<0){if(W=this.ruleTable[-w*2+1],z.$=S[S.length-W],Y=G[G.length-(W||1)],z._$={r:Y.r,c:Y.c},K=this.ruleActions.call(z,-w,S,G,q.ctx),K!=null)z.$=K;if(Array.isArray(z.$))z.$.loc=z._$;if(W)D.length-=W*2,S.length-=W,G.length-=W;D.push(this.ruleTable[-w*2]),S.push(z.$),G.push(z._$),Z=J[D[D.length-2]][D[D.length-1]],D.push(Z)}else if(w===0)return S[S.length-1]}},trace(){},ctx:{}},r3=(f={})=>{let _=Object.create(a3);return Object.defineProperty(_,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),_},M1=r3();var n4=M1.parse.bind(M1);var t3=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"],S2=new Set(t3);var s3=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"];var e3=["animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","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","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],u4=["math","param","portal"],L2=new Set([...s3,...u4]),D1=new Set(e3),H1=new Set([...L2,...D1]);var N2="__bind_",T2="__",u2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),f4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),f2="http://www.w3.org/2000/svg";function $4(f){for(let _ of f){if(!Array.isArray(_))continue;let U=_[1]instanceof String?_[1].valueOf():_[1],w=_[2]instanceof String?_[2].valueOf():_[2];if(U==="type"&&typeof w==="string")return w.replace(/^["']|["']$/g,"")}return null}function R1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function $2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function _2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function V2(f,_){let U=(F,A)=>F instanceof String?F[A]:void 0,w=_.prototype.classifyKeyword;_.prototype.classifyKeyword=function(F,A,Y){if(F==="offer"||F==="accept"){let G=0;for(let Z=this.tokens.length-1;Z>=0;Z--){let Q=this.tokens[Z][0];if(Q==="OUTDENT")G++;else if(Q==="INDENT")G--;if(G<0&&this.tokens[Z-1]?.[0]==="COMPONENT")return F.toUpperCase()}return A}return w.call(this,F,A,Y)},_.prototype.rewriteRender=function(){let F=(z,q,O)=>{let D=[z,q];if(D.pre=0,D.data=null,D.loc=O?.loc??{r:0,c:0,n:0},D.spaced=!1,D.newLine=!1,D.generated=!0,O)D.origin=O;return D},A=!1,Y=0,G=0,Z=[],Q=(z)=>{let q=z.split("#")[0];return H1.has(q)},J=(z)=>{if(!z||typeof z!=="string")return!1;return/^[A-Z]/.test(z)},M=(z)=>{return Q(z)||J(z)},K=(z,q,O,D)=>{let I=1,B=q;while(B>=0&&I>0){let H=z[B][0];if(H===O)I++;else if(H===D)I--;if(I>0)B--}return B},R=(z,q)=>{let O=q;while(O>0){let D=z[O-1][0];if(D==="TERMINATOR"||D==="RENDER")break;if(D==="INDENT"||D==="OUTDENT"){let I=z[O][0];if(I==="CALL_END"||I===")"){O=K(z,O-1,I,I==="CALL_END"?"CALL_START":"(");continue}break}if(D==="CALL_END"||D===")"){O=K(z,O-2,D,D==="CALL_END"?"CALL_START":"(");continue}if(D==="INTERPOLATION_END"){O=K(z,O-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(D==="STRING_END"){O=K(z,O-2,"STRING_END","STRING_START");continue}O--}return z[O]&&z[O][0]==="IDENTIFIER"&&(M(z[O][1])||(O===0||z[O-1][0]==="INDENT"||z[O-1][0]==="TERMINATOR"||z[O-1][0]==="RENDER"))};this.scanTokens(function(z,q,O){let D=z[0],I=q<O.length-1?O[q+1]:null;if(D==="RENDER")return A=!0,Y=G+1,1;if(D==="INDENT")return G++,1;if(D==="OUTDENT"){G--;let B=0;while(Z.length>0&&Z[Z.length-1]>G){let H=F("CALL_END",")",z);O.splice(q+1+B,0,H),Z.pop(),B++}if(A&&G<Y)A=!1;return 1+B}if(!A)return 1;if(D==="="&&q>0){let B=O[q-1][0];if(B==="TERMINATOR"||B==="INDENT"||B==="RENDER"){let H=F("IDENTIFIER","__text__",z),X=F("CALL_START","(",z);return O.splice(q,1,H,X),this.detectEnd(q+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,S)=>O.splice(S,0,F("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(D==="UNARY_MATH"&&z[1]==="~"&&I&&I[0]==="IDENTIFIER"){z[0]="PROPERTY",z[1]="__transition__";let B=F(":",":",z),H=F("STRING",`"${I[1]}"`,I);return O.splice(q+1,1,B,H),1}if(D==="PROPERTY"&&z[1][0]==="$"&&z[1].length>1)return z[0]="STRING",z[1]=`"data-${z[1].slice(1)}"`,1;if(D==="IDENTIFIER"&&!z.spaced){let B=[z[1]],H=q+1;while(H+1<O.length){let X=O[H],P=O[H+1];if(X[0]==="-"&&!X.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(B.push(P[1]),H+=2,P[0]==="PROPERTY")break}else break}if(B.length>1&&H>q+1&&O[H-1][0]==="PROPERTY"){let X=B.join("-");if(X[0]==="$")X="data-"+X.slice(1);return z[0]="STRING",z[1]=`"${X}"`,O.splice(q+1,H-q-1),1}}if(D==="."){let B=q>0?O[q-1]:null,H=B?B[0]:null;if(H==="INDENT"||H==="TERMINATOR"){if(I&&I[0]==="PROPERTY"){let X=q+2<O.length?O[q+2]:null;if(!X||X[0]!==":"){let P=F("IDENTIFIER","div",z);return O.splice(q,0,P),2}}if(!I||I[0]!=="(")return z[0]="IDENTIFIER",z[1]="div",0}}if(D==="IDENTIFIER"||D==="PROPERTY"){let B=O[q+1],H=O[q+2];if(B&&B[0]==="#"&&H&&(H[0]==="PROPERTY"||H[0]==="IDENTIFIER")){if(z[1]=z[1]+"#"+H[1],H.spaced)z.spaced=!0;return O.splice(q+1,2),0}}if(D==="BIND"){let B=q>0?O[q-1]:null,H=O[q+1];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")&&H&&H[0]==="IDENTIFIER")return B[1]=`__bind_${B[1]}__`,z[0]=":",z[1]=":",1}if(D==="@"){let B=q+1;if(B<O.length&&O[B][0]==="PROPERTY"){B++;while(B+1<O.length&&O[B][0]==="."&&O[B+1][0]==="PROPERTY")B+=2;if(B>q+2&&B<O.length&&O[B][0]===":"){let H=F("[","[",z);O.splice(q,0,H);let X=F("]","]",O[B+1]);return O.splice(B+1,0,X),2}}}if(D==="."&&I&&I[0]==="("){let B=q>0?O[q-1]:null,H=B?B[0]:null,X=H==="INDENT"||H==="TERMINATOR",P=F("PROPERTY","__clsx",z);I[0]="CALL_START";let S=1;for(let E=q+2;E<O.length&&S>0;E++)if(O[E][0]==="("||O[E][0]==="CALL_START")S++;else if(O[E][0]===")"){if(S--,S===0)O[E][0]="CALL_END"}else if(O[E][0]==="CALL_END")S--;if(X){let E=F("IDENTIFIER","div",z);return O.splice(q,0,E),O.splice(q+2,0,P),3}else if(H===":")return O[q]=F("IDENTIFIER","__clsx",z),1;else return O.splice(q+1,0,P),2}if(I&&I[0]==="INDENT"){if(I.fromThen)return 1;if(D==="->"||D==="=>"||D==="CALL_START"||D==="(")return 1;let B=!1,H=q>0?O[q-1][0]:null,X=H==="IF"||H==="UNLESS"||H==="WHILE"||H==="UNTIL"||H==="WHEN"||H==="FORIN"||H==="FOROF"||H==="FORAS"||H==="FORASAWAIT"||H==="BY",P=!1;if(D==="CALL_END"){let E=1;for(let L=q-1;L>=0&&E>0;L--)if(O[L][0]==="CALL_END")E++;else if(O[L][0]==="CALL_START"){if(E--,E===0&&L>0&&O[L-1][0]==="PROPERTY"&&O[L-1][1]==="__clsx")P=!0}}let S=D==="IDENTIFIER"&&(H==="INDENT"||H==="TERMINATOR"||H==="RENDER");if(P)B=!0;else if(D==="IDENTIFIER"&&M(z[1])&&!X)B=!0;else if(D==="IDENTIFIER"&&!X)B=S||R(O,q);else if(D==="PROPERTY"||D==="STRING"||D==="STRING_END"||D==="NUMBER"||D==="BOOL"||D==="CALL_END"||D===")"||D==="PRESENCE")B=R(O,q);if(B){let E=!1;if(D==="PROPERTY"&&q>0&&O[q-1][0]==="."){let T=q;while(T>=2&&O[T-1][0]==="."&&O[T-2][0]==="PROPERTY")T-=2;if(T>=2&&O[T-1][0]==="."&&O[T-2][0]==="IDENTIFIER"&&M(O[T-2][1])){let C=T>=3?O[T-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")E=!0}}if(P||D==="IDENTIFIER"&&(M(z[1])||S)||E){let T=F("CALL_START","(",z),C=F("->","->",z);return C.newLine=!0,O.splice(q+1,0,T,C),Z.push(G+1),3}else{let T=F(",",",",z),C=F("->","->",z);return C.newLine=!0,O.splice(q+1,0,T,C),3}}}if(D==="IDENTIFIER"&&J(z[1])&&I&&(I[0]==="OUTDENT"||I[0]==="TERMINATOR"))return O.splice(q+1,0,F("CALL_START","(",z),F("CALL_END",")",z)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(F){let A=F.split("#")[0];return H1.has(A.toLowerCase())},u.isComponent=function(F){if(!F||typeof F!=="string")return!1;return/^[A-Z]/.test(F)},u.collectTemplateClasses=function(F){let A=[],Y=F;while(this.is(Y,".")){let J=Y[2];if(typeof J==="string"||J instanceof String)A.unshift(J.valueOf());Y=Y[1]}let G=typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null;if(G===null)return{tag:null,classes:A,id:void 0,base:Y};let[Z,Q]=G.split("#");if(!Z)Z="div";return{tag:Z,classes:A,id:Q,base:Y}};let $=(F)=>typeof F==="string"?F:F instanceof String?F.valueOf():null,W=(F,A)=>{if(!(F instanceof String))return A;let Y=new String(A);if(F.predicate)Y.predicate=!0;if(F.await)Y.await=!0;return Y.predicate||Y.await?Y:A};u.transformComponentMembers=function(F,A=new Set){let Y=this._self;if(!Array.isArray(F)){let G=$(F);if(G&&A.has(G))return F;if(G&&this.reactiveMembers&&this.reactiveMembers.has(G))return[".",[".",Y,G],W(F,"value")];if(G&&this.componentMembers&&this.componentMembers.has(G))return[".",Y,W(F,G)];return F}if(F[0]==="."&&F[1]==="this"&&$(F[2])!=null){let G=F[2],Z=$(G);if(this.reactiveMembers&&this.reactiveMembers.has(Z))return[".",[".",Y,Z],W(G,"value")];return this._factoryMode?[".",Y,G]:F}if(F[0]==="."||F[0]==="?.")return[F[0],this.transformComponentMembers(F[1]),F[2]];if(F[0]==="->"){let G=F[1],Z=new Set(A);if(Array.isArray(G))for(let Q of G){let J=$(Array.isArray(Q)&&Q[0]==="default"?Q[1]:Q);if(J)Z.add(J)}return["=>",F[1],this.transformComponentMembers(F[2],Z)]}if(F[0]==="object"||F[0]==="map-literal")return[F[0],...F.slice(1).map((G)=>{if(Array.isArray(G)&&G[0]==="...")return["...",this.transformComponentMembers(G[1],A)];if(Array.isArray(G)&&G.length>=2){let Z=G[1],Q=Array.isArray(Z)?this.transformComponentMembers(Z,A):Z,J=this.transformComponentMembers(G[2],A);return[G[0],Q,J]}return this.transformComponentMembers(G,A)})];if(F[0]==="block"||F[0]==="program"){let G=new Set(A),Z=[F[0]];for(let Q=1;Q<F.length;Q++){let J=F[Q];if(Array.isArray(J)&&J[0]==="="){let M=$(J[1]);if(M&&!(this.reactiveMembers&&this.reactiveMembers.has(M))){Z.push(["=",J[1],this.transformComponentMembers(J[2],G)]),G.add(M);continue}}Z.push(this.transformComponentMembers(J,G))}return Z}return F.map((G)=>this.transformComponentMembers(G,A))},u.emitComponent=function(F,A,Y,G){let[,Z]=A,Q=this.is(Z,"block")?Z.slice(1):[],J=[],M=[],K=[],R=[],z=[],q=[],O=[],D=[],I=null,B=new Set,H=new Set;for(let V of Q){if(!Array.isArray(V))continue;let[h]=V;if(h==="offer"){if(V=V[1],!Array.isArray(V))continue;h=V[0];let b=R1(V[1]);if(b)O.push(b)}if(h==="accept"){let b=typeof V[1]==="string"?V[1]:R1(V[1]);if(b)D.push(b),B.add(b),H.add(b)}else if(h==="."&&V[1]==="this"&&R1(V)){let b=typeof V[2]==="string"||V[2]instanceof String?V[2].valueOf():null;if(b)J.push({name:b,value:void 0,isPublic:!0,type:V[2]?.type||null,required:!0}),B.add(b),H.add(b)}else if(h==="state"){let b=R1(V[1]);if(b)J.push({name:b,value:V[2],isPublic:$2(V[1]),type:_2(V[1])}),B.add(b),H.add(b)}else if(h==="computed"){let b=R1(V[1]);if(b)M.push({name:b,expr:V[2],type:_2(V[1])}),B.add(b),H.add(b)}else if(h==="readonly"){let b=R1(V[1]);if(b)K.push({name:b,value:V[2],isPublic:$2(V[1]),type:_2(V[1])}),B.add(b)}else if(h==="="){let b=R1(V[1]);if(b)if(u2.has(b))z.push({name:b,value:V[2]});else{let l=V[2];if(Array.isArray(l)&&(l[0]==="->"||l[0]==="=>"))R.push({name:b,func:l}),B.add(b);else J.push({name:b,value:l,isPublic:$2(V[1])}),B.add(b),H.add(b)}}else if(h==="effect")q.push(V);else if(h==="render")I=V;else if(h==="object")for(let b=1;b<V.length;b++){let l=V[b];if(!Array.isArray(l))continue;let[,p,_1]=l;if(typeof p==="string"&&u2.has(p))z.push({name:p,value:_1});else if(typeof p==="string")R.push({name:p,func:_1}),B.add(p)}}let X=new Map;for(let{name:V}of R)if(/^on[A-Z]/.test(V)&&!u2.has(V)){let h=V[2].toLowerCase()+V.slice(3);if(S2.has(h))X.set(h,V)}let P=A[0]?.valueOf?.()??null,S=new Set;for(let{name:V,isPublic:h}of J)if(h)S.add(V);for(let{name:V,isPublic:h}of K)if(h)S.add(V);let E=this.componentMembers,L=this.reactiveMembers,T=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=B,this.reactiveMembers=H,this._autoEventHandlers=X.size>0?X:null,this._inheritsTag=P||null,this.options.stubComponents){let V=(y)=>y?y.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,h=[],b=this._componentTypeParams||"";h.push(`class ${b}{`),h.push(" declare _root: Element | null; declare app: any;"),h.push(" emit(_name: string, _detail?: any): void {}");let l=[];for(let{name:y,type:g,isPublic:v,required:n}of J){if(!v)continue;let s=V(g),u1=n?"":"?";l.push(`${y}${u1}: ${s||"any"}`),l.push(`__bind_${y}__?: Signal<${s||"any"}>`)}for(let{name:y,type:g,isPublic:v}of K){if(!v)continue;let n=V(g);l.push(`${y}?: ${n||"any"}`)}{let g=l.length>0&&J.some((n)=>n.isPublic&&n.required)?"":"?",v=l.length>0?`{${l.join("; ")}}`:"{}";if(P)v+=` & __RipProps<'${P}'>`;h.push(` constructor(_props${g}: ${v}) {}`)}let p=(y)=>{let g=y?.valueOf?.()??y;if(typeof g!=="string")return null;if(g==="true"||g==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(g))return"number";if(g.startsWith('"')||g.startsWith("'"))return"string";return null};for(let{name:y,type:g,value:v}of J){let n=V(g)||p(v);h.push(n?` declare ${y}: Signal<${n}>;`:` declare ${y}: Signal<any>;`)}for(let{name:y,type:g,value:v}of K){let n=V(g)||p(v);h.push(n?` declare ${y}: ${n};`:` declare ${y}: any;`)}for(let{name:y,expr:g,type:v}of M){let n=V(v),s=n?`: Computed<${n}>`:"";if(this.is(g,"block")){let u1=this.transformComponentMembers(g),x=this.emitFunctionBody(u1);h.push(` ${y}${s} = __computed(() => ${x});`)}else{let u1=this.emitInComponent(g,"value");h.push(` ${y}${s} = __computed(() => ${u1});`)}}h.push(" _init(props) {");for(let{name:y,value:g,isPublic:v}of K){let n=this.emitInComponent(g,"value");h.push(v?` this.${y} = props.${y} ?? ${n};`:` this.${y} = ${n};`)}for(let{name:y,value:g,isPublic:v,required:n,type:s}of J)if(v&&n)h.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y});`);else if(v){let u1=this.emitInComponent(g,"value");h.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y} ?? ${u1});`)}else{let u1=this.emitInComponent(g,"value");h.push(` this.${y} = __state(${u1});`)}for(let y of q){let g=y[2],v=this.containsAwait(g)?"async ":"";if(this.is(g,"block")){let n=this.transformComponentMembers(g),s=this.emitFunctionBody(n,[],!0);h.push(` __effect(${v}() => ${s});`)}else{let n=this.emitInComponent(g,"value");h.push(` __effect(${v}() => { ${n}; });`)}}h.push(" }");let _1=new Map;for(let[y,g]of X)_1.set(g,y);if(I){let y=(g)=>{if(!Array.isArray(g))return;let v=g[0]?.valueOf?.()??g[0];if(typeof v==="string"&&v!=="object"&&v!=="switch"&&H1.has(v.split(/[.#]/)[0]))for(let n=1;n<g.length;n++){let s=g[n],u1=this.is(s,"object")?s:null;if(!u1&&Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let x=1;x<s[2].length;x++)if(this.is(s[2][x],"object")){u1=s[2][x];break}}if(!u1)continue;for(let x=1;x<u1.length;x++){let o=u1[x];if(!Array.isArray(o)||o.length<2)continue;let[,t,r]=o;if(Array.isArray(t)&&t[0]==="."&&t[1]==="this"&&Array.isArray(r)&&r[0]==="."&&r[1]==="this"){let j=typeof t[2]==="string"?t[2]:t[2]?.valueOf?.(),k=typeof r[2]==="string"?r[2]:r[2]?.valueOf?.();if(j&&k&&!_1.has(k))_1.set(k,j)}}}for(let n=1;n<g.length;n++)y(g[n])};y(I)}for(let{name:y,func:g}of R)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,v,n]=g;if((!v||Array.isArray(v)&&v.length===0)&&this.containsIt(n))v=["it"];let s=Array.isArray(v)?v.map((r)=>{let j=this.formatParam(r);if(r?.type)j+=`: ${r.type}`;return j}).join(", "):"",u1=_1.get(y);if(u1&&Array.isArray(v)&&v.length>0){let r=v[0];if(!(r?.type||r instanceof String&&r.type)&&typeof(r?.valueOf?.()??r)==="string"){let k=r?.valueOf?.()??r;s=s.replace(k,`${k}: HTMLElementEventMap['${u1}']`)}}let x=this.reactiveMembers?this.transformComponentMembers(n):n,o=this.containsAwait(n),t=this.emitFunctionBody(x,v||[]);h.push(` ${o?"async ":""}${y}(${s}) ${t}`)}for(let{name:y,value:g}of z)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,v,n]=g,s=Array.isArray(v)?v.map((t)=>this.formatParam(t)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(n):n,x=this.containsAwait(n),o=this.emitFunctionBody(u1,v||[]);h.push(` ${x?"async ":""}${y}(${s}) ${o}`)}if(I){let y=[],g=0,v=this.options.source?.split(`
|
|
15
|
+
`),n=(x)=>{let o=[];for(let t of x){let r=null;if(this.is(t,"object"))r=t;else if(Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let j=1;j<t[2].length;j++)if(this.is(t[2][j],"object")){r=t[2][j];break}}if(r)for(let j=1;j<r.length;j++){let k=r[j],[,m,a]=k;if(typeof m==="string"&&!m.startsWith("@")){let f1=k.loc?.r??r.loc?.r;if(m.startsWith("__bind_")&&m.endsWith("__")){let i=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.emitInComponent(a,"value");o.push({code:`${m}: ${i}`,srcLine:f1})}else{let i=this.emitInComponent(a,"value");o.push({code:`${m}: ${i}`,srcLine:f1})}}}}return o},s=(x)=>{let o=[];for(let t of x){let r=null;if(this.is(t,"object"))r=t;else if(Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let j=1;j<t[2].length;j++)if(this.is(t[2][j],"object")){r=t[2][j];break}}if(r)for(let j=1;j<r.length;j++){let k=r[j];if(!Array.isArray(k)||k.length<2)continue;let[,m,a]=k,f1=k.loc?.r??r.loc?.r;if(Array.isArray(m)&&m[0]==="."&&m[1]==="this"){let i=typeof m[2]==="string"?m[2]:m[2]?.valueOf?.();if(!i)continue;let e="@"+i.split(".")[0],n1=this.emitInComponent(a,"value");o.push({code:`'${e}': ${n1}`,srcLine:f1})}else if(typeof m==="string"){if(m==="key"){let i=this.emitInComponent(a,"value"),e=f1!=null?` // @rip-src:${f1}`:"";y.push(` (${i});${e}`);continue}if(m.startsWith("__bind_")&&m.endsWith("__")){let i=m.slice(7,-2),e=this.emitInComponent(a,"value");o.push({code:`${i}: ${e}`,srcLine:f1})}else{let i=this.emitInComponent(a,"value");o.push({code:`${m}: ${i}`,srcLine:f1})}}}}return o},u1=(x)=>{if(!Array.isArray(x))return;let o=x[0]?.valueOf?.()??x[0];if(o==="object")return;if(o==="if"||o==="unless"){let j=x[1];if(j!=null){let k=this.emitInComponent(j,"value"),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";y.push(` ${k};${a}`)}}else if(o==="?:"){let j=this.emitInComponent(x,"value"),k=x.loc?.r,m=k!=null?` // @rip-src:${k}`:"";y.push(` ${j};${m}`)}else if(o==="switch"){let j=x[1];if(j!=null){let k=this.emitInComponent(j,"value"),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";y.push(` ${k};${a}`)}}else if(o==="for-in"||o==="for-of"||o==="for-as"){let j=x[1],k=x[2];if(k!=null){let m=this.emitInComponent(k,"value"),a=x.loc?.r,f1=a!=null?` // @rip-src:${a}`:"",i;if(Array.isArray(j))if(j.length===1){let e=j[0];i=Array.isArray(e)?this.emitDestructuringPattern(e):String(e)}else if(o==="for-of")i=`[${j.map((e)=>String(e)).join(", ")}]`;else i=String(j[0]);else i=String(j);if(o==="for-of")y.push(` for (const ${i} of Object.entries(${m})) {${f1}`);else y.push(` for (const ${i} of ${m}) {${f1}`);for(let e=3;e<x.length;e++)if(x[e]!=null)u1(x[e]);y.push(" }");return}}else if(o==="__text__"){let j=x[1];if(j!=null){let k=this.emitInComponent(j,"value"),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";y.push(` ${k};${a}`)}}let t=(j,k,m)=>{if(typeof j!=="string"||!/^[a-z][\w-]*$/.test(j))return;if(f.GENERATORS[j])return;if(j==="null"||j==="undefined"||j==="true"||j==="false")return;let a=k.loc?.r;if(a!=null&&v){let i=new RegExp(`\\b${j}\\b`);for(let e=a;e<v.length;e++)if(i.test(v[e])){a=e;break}}let f1=a!=null?` // @rip-src:${a}`:"";if(this.componentMembers&&this.componentMembers.has(j))y.push(` this.${j};${f1}`);else if(m)y.push(` ${j};${f1}`);else y.push(` __ripEl('${j}');${f1}`)},r=typeof o==="string"&&/^[a-z][\w-]*$/.test(o)&&!f.GENERATORS[o]&&H1.has(o.split(/[.#]/)[0]);if(o==="block")for(let j=1;j<x.length;j++)t(x[j],x,!1);else if(r){for(let j=1;j<x.length;j++)t(x[j],x,!0);for(let j=1;j<x.length;j++){let k=x[j];if(!Array.isArray(k))continue;let m=k[0]?.valueOf?.()??k[0];if(m==="object"||m==="block"||m==="__text__")continue;if(typeof m==="string"){if(/^[A-Z]/.test(m))continue;if(H1.has(m.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(m)&&!f.GENERATORS[m])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test(m))continue}try{let a=this.emitInComponent(k,"value"),f1=k.loc?.r??x.loc?.r,i=f1!=null?` // @rip-src:${f1}`:"";y.push(` ${a};${i}`)}catch{}}}for(let j=1;j<x.length;j++)u1(x[j]);if(typeof o==="string"&&/^[A-Z]/.test(o)){let j=n(x.slice(1)),k=`_${g++}`,m=`ConstructorParameters<typeof ${o}>[0] & {}`;if(j.length===0){let a=x.loc?.r;y.push(` const ${k}: ${m} = {};`+(a!=null?` // @rip-src:${a}`:""))}else if(j.length===1){let a=x.loc?.r??j[0].srcLine;y.push(` const ${k}: ${m} = {${j[0].code}};`+(a!=null?` // @rip-src:${a}`:""))}else{let a=x.loc?.r;if(new Set(j.map((i)=>i.srcLine).filter((i)=>i!=null)).size<=1){let i=j[0].srcLine??a;y.push(` const ${k}: ${m} = {${j.map((e)=>e.code).join(", ")}};`+(i!=null?` // @rip-src:${i}`:""))}else{y.push(` const ${k}: ${m} = {`+(a!=null?` // @rip-src:${a}`:""));for(let i of j)y.push(` ${i.code},`+(i.srcLine!=null?` // @rip-src:${i.srcLine}`:""));y.push(" };")}}}else if(typeof o==="string"&&!f.GENERATORS[o]&&(H1.has(o.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(o)&&x.length>1)){let j=o.split(/[.#]/)[0],k=s(x.slice(1)),m=x.loc?.r,a=m!=null?` // @rip-src:${m}`:"";if(k.length===0)y.push(` __ripEl('${j}');${a}`);else if(k.length===1){let f1=k[0].srcLine??m,i=f1!=null?` // @rip-src:${f1}`:"";y.push(` __ripEl('${j}', {${k[0].code}});${i}`)}else if(new Set(k.map((i)=>i.srcLine).filter((i)=>i!=null)).size<=1){let i=k[0].srcLine??m,e=i!=null?` // @rip-src:${i}`:"";y.push(` __ripEl('${j}', {${k.map((n1)=>n1.code).join(", ")}});${e}`)}else{y.push(` __ripEl('${j}', {${a}`);for(let i of k)y.push(` ${i.code},`+(i.srcLine!=null?` // @rip-src:${i.srcLine}`:""));y.push(" });")}}};if(u1(I),y.length>0){h.push(" _render() {");for(let x of y)h.push(x);h.push(" }")}}return h.push("}"),this.componentMembers=E,this.reactiveMembers=L,this._autoEventHandlers=T,this._inheritsTag=C,h.join(`
|
|
16
|
+
`)}this.usesTemplates=!0,this.usesReactivity=!0;let N=[],d="";N.push("class extends __Component {"),N.push(" _init(props) {");for(let{name:V,value:h,isPublic:b}of K){let l=this.emitInComponent(h,"value");N.push(b?` this.${V} = props.${V} ?? ${l};`:` this.${V} = ${l};`)}for(let V of D)N.push(` this.${V} = getContext('${V}');`);for(let{name:V,value:h,isPublic:b,required:l}of J)if(b&&l)N.push(` this.${V} = __state(props.__bind_${V}__ ?? props.${V});`);else if(b){let p=this.emitInComponent(h,"value");N.push(` this.${V} = __state(props.__bind_${V}__ ?? props.${V} ?? ${p});`)}else{let p=this.emitInComponent(h,"value");N.push(` this.${V} = __state(${p});`)}if(P){if(N.push(" this._rest = {};"),N.push(" for (const __k in props) {"),S.size>0){let V=[...S].map((h)=>`__k !== '${h}'`).join(" && ");N.push(` if (${V} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else N.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");N.push(" }")}for(let{name:V,expr:h}of M)if(this.is(h,"block")){let b=this.transformComponentMembers(h),l=this.emitFunctionBody(b);N.push(` this.${V} = __computed(() => ${l});`)}else{let b=this.emitInComponent(h,"value");N.push(` this.${V} = __computed(() => ${b});`)}for(let V of O)N.push(` setContext('${V}', this.${V});`);for(let V of q){let h=V[2],b=this.containsAwait(h)?"async ":"";if(this.is(h,"block")){let l=this.transformComponentMembers(h),p=this.emitFunctionBody(l,[],!0);N.push(` __effect(${b}() => ${p});`)}else{let l=this.emitInComponent(h,"value");N.push(` __effect(${b}() => { ${l}; });`)}}if(N.push(" }"),P)N.push(" _setRestProp(key, value) {"),N.push(" if (key.startsWith('__bind_')) return;"),N.push(" this._rest || (this._rest = {});"),N.push(" if (value == null) delete this._rest[key];"),N.push(" else this._rest[key] = value;"),N.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),N.push(" }"),N.push(" _applyRestToInheritedEl() {"),N.push(" if (!this._inheritedEl || !this._rest) return;"),N.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),N.push(" }"),N.push(" _applyInheritedProp(el, key, value) {"),N.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),N.push(" if (key[0] === '@') {"),N.push(" const event = key.slice(1).split('.')[0];"),N.push(" this._restHandlers || (this._restHandlers = {});"),N.push(" const prev = this._restHandlers[key];"),N.push(" if (prev) el.removeEventListener(event, prev);"),N.push(" if (typeof value === 'function') {"),N.push(" const next = (e) => __batch(() => value(e));"),N.push(" this._restHandlers[key] = next;"),N.push(" el.addEventListener(event, next);"),N.push(" } else {"),N.push(" delete this._restHandlers[key];"),N.push(" }"),N.push(" return;"),N.push(" }"),N.push(" if (key === 'class' || key === 'className') {"),N.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),N.push(" else el.className = __clsx(value);"),N.push(" return;"),N.push(" }"),N.push(" if (key === 'style') {"),N.push(" if (value == null) { el.removeAttribute('style'); return; }"),N.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),N.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),N.push(" }"),N.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),N.push(" el[key] = value ?? '';"),N.push(" return;"),N.push(" }"),N.push(" if (key in el && !key.includes('-')) {"),N.push(" el[key] = value;"),N.push(" return;"),N.push(" }"),N.push(" if (value == null || value === false) {"),N.push(" el.removeAttribute(key);"),N.push(" return;"),N.push(" }"),N.push(" if (value === true) {"),N.push(" el.setAttribute(key, '');"),N.push(" return;"),N.push(" }"),N.push(" el.setAttribute(key, value);"),N.push(" }");for(let{name:V,func:h}of R)if(Array.isArray(h)&&(h[0]==="->"||h[0]==="=>")){let[,b,l]=h;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(l))b=["it"];let p=Array.isArray(b)?b.map((v)=>this.formatParam(v)).join(", "):"",_1=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),g=this.emitFunctionBody(_1,b||[]);N.push(` ${y?"async ":""}${V}(${p}) ${g}`)}for(let{name:V,value:h}of z)if(Array.isArray(h)&&(h[0]==="->"||h[0]==="=>")){let[,b,l]=h,p=Array.isArray(b)?b.map((v)=>this.formatParam(v)).join(", "):"",_1=this.reactiveMembers?this.transformComponentMembers(l):l,y=this.containsAwait(l),g=this.emitFunctionBody(_1,b||[]);N.push(` ${y?"async ":""}${V}(${p}) ${g}`)}if(I){let V=I[1],h=this.buildRender(V);if(h.blockFactories.length>0)d=h.blockFactories.join(`
|
|
16
17
|
|
|
17
18
|
`)+`
|
|
18
19
|
|
|
19
|
-
`;
|
|
20
|
-
${
|
|
20
|
+
`;N.push(" _create() {");for(let b of h.createLines)N.push(` ${b}`);if(N.push(` return ${h.rootVar};`),N.push(" }"),h.setupLines.length>0){N.push(" _setup() {");for(let b of h.setupLines)N.push(` ${b}`);N.push(" }")}}if(N.push("}"),this.componentMembers=E,this.reactiveMembers=L,this._autoEventHandlers=T,this._inheritsTag=C,d)return`(() => {
|
|
21
|
+
${d}return ${N.join(`
|
|
21
22
|
`)};
|
|
22
|
-
})()`;return
|
|
23
|
-
`)},u.generateInComponent=function(U,W){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return`${this._self}.${U}.value`;if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return`${this._self}.${U}`;if(Array.isArray(U)&&this.reactiveMembers){let Z=this.transformComponentMembers(U);return this.generate(Z,W)}return this.generate(U,W)},u.generateRender=function(U,W,Z,Y){throw Error("render blocks can only be used inside a component")},u.generateOffer=function(U,W,Z,Y){throw Error("offer can only be used inside a component")},u.generateAccept=function(U,W,Z,Y){throw Error("accept can only be used inside a component")},u.buildRender=function(U){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let W=this.is(U,"block")?U.slice(1):[U],Z;if(W.length===0)Z="null";else if(W.length===1)this._pendingAutoWire=!!this._autoEventHandlers,Z=this.generateNode(W[0]),this._pendingAutoWire=!1;else{Z=this.newElementVar("frag"),this._createLines.push(`${Z} = document.createDocumentFragment();`);let Y=[];for(let R of W){let z=this.generateNode(R);this._createLines.push(`${Z}.appendChild(${z});`),Y.push(z)}this._fragChildren.set(Z,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:Z}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(U="el"){let W=`_${U}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(W);return this._factoryMode?W:`this.${W}`},u.newTextVar=function(){let U=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(U);return this._factoryMode?U:`this.${U}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(U){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${U} }));`);else this._setupLines.push(`__effect(() => { ${U} });`)},u.generateNode=function(U){if(typeof U==="string"||U instanceof String){let M=U.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${M});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${M}.value;`),q}if(M==="slot"&&this.componentMembers){let q=this._self,X=this.newElementVar("slot");return this._createLines.push(`${X} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),X}let[D,J]=M.split("#"),O=this.newElementVar(),Q=D||"div";if(Q1.has(Q)||this._svgDepth>0)this._createLines.push(`${O} = document.createElementNS('${a1}', '${Q}');`);else this._createLines.push(`${O} = document.createElement('${Q}');`);if(J)this._createLines.push(`${O}.id = '${J}';`);return this._bindInheritedTarget(Q,O),O}if(!Array.isArray(U)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[W,...Z]=U,Y=typeof W==="string"?W:W instanceof String?W.valueOf():null;if(Y&&this.isComponent(Y))return this.generateChildComponent(Y,Z);if(Y==="slot"&&this.componentMembers){let M=this._self,D=this.newElementVar("slot");return this._createLines.push(`${D} = ${M}.children instanceof Node ? ${M}.children : (${M}.children != null ? document.createTextNode(String(${M}.children)) : document.createComment(''));`),D}if(Y==="switch"){let M=Z[0],D=Z[1]||[],O=Z[2]||null;for(let q=D.length-1;q>=0;q--){let[,X,G]=D[q],I;if(M===null)I=X.length===1?X[0]:X.reduce((E,K)=>E?["||",E,K]:K,null);else I=X.length===1?["==",M,X[0]]:X.map((E)=>["==",M,E]).reduce((E,K)=>E?["||",E,K]:K,null);O=["if",I,G,O]}if(O){if(Array.isArray(O)&&O[0]==="if")return this.generateConditional(O);return this.generateTemplateBlock(O)}let Q=this.newElementVar("c");return this._createLines.push(`${Q} = document.createComment('switch');`),Q}if(Y&&this.isHtmlTag(Y)&&!A(W,"text")){let[M,D]=Y.split("#");return this.generateTag(M||"div",[],Z,D)}if(Y==="."){let[,M,D]=U;if(M==="this"&&typeof D==="string"){let I=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(D)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${I}.${D}.value;`),K}let E=this.newElementVar("slot");return this._createLines.push(`${E} = ${I}.${D} instanceof Node ? ${I}.${D} : (${I}.${D} != null ? document.createTextNode(String(${I}.${D})) : document.createComment(''));`),E}let{tag:J,classes:O,id:Q,base:q}=this.collectTemplateClasses(U);if(!A(q,"text")&&J&&this.isHtmlTag(J))return this.generateTag(J,O,[],Q);let X=this.newTextVar(),G=this.generateInComponent(U,"value");return this._createLines.push(`${X} = document.createTextNode(String(${G}));`),X}if(Array.isArray(W)){if(Array.isArray(W[0])&&W[0][0]==="."&&(W[0][2]==="__clsx"||W[0][2]instanceof String&&W[0][2].valueOf()==="__clsx")){let O=W[0][1],Q=W.slice(1);if(Array.isArray(O)){let{tag:X,classes:G,id:I}=this.collectTemplateClasses(O);if(X){let E=G.map((K)=>`"${K}"`);return this.generateDynamicTag(X,Q,Z,E,I)}}let q=typeof O==="string"?O:O.valueOf();return this.generateDynamicTag(q,Q,Z)}let{tag:M,classes:D,id:J}=this.collectTemplateClasses(W);if(M&&this.isHtmlTag(M)){if(D.length>0&&D[D.length-1]==="__clsx"){let Q=D.slice(0,-1).map((q)=>`"${q}"`);return this.generateDynamicTag(M,Z,[],Q,J)}return this.generateTag(M,D,Z,J)}}if(Y==="->"||Y==="=>")return this.generateTemplateBlock(Z[1]);if(Y==="if")return this.generateConditional(U);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.generateTemplateLoop(U);if(Y==="__text__"){let M=Z[0]??"undefined",D=this.newTextVar(),J=this.generateInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = String(${J});`);else this._createLines.push(`${D} = document.createTextNode(String(${J}));`);return D}let R=this.newTextVar(),z=this.generateInComponent(U,"value");if(this.hasReactiveDeps(U))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${z};`);else this._createLines.push(`${R} = document.createTextNode(String(${z}));`);return R},u.appendChildren=function(U,W){for(let Z of W)if(this.is(Z,"->")||this.is(Z,"=>")){let Y=Z[2];if(this.is(Y,"block"))for(let R of Y.slice(1))if(this.is(R,"object"))this.generateAttributes(U,R);else{let z=this.generateNode(R);this._createLines.push(`${U}.appendChild(${z});`)}else if(Y){let R=this.generateNode(Y);this._createLines.push(`${U}.appendChild(${R});`)}}else if(this.is(Z,"object"))this.generateAttributes(U,Z);else if(typeof Z==="string"||Z instanceof String){let Y=Z.valueOf(),R=Y.split(/[#.]/)[0];if(this.isHtmlTag(R||"div")||this.isComponent(R)){let z=this.generateNode(Z);this._createLines.push(`${U}.appendChild(${z});`)}else{let z=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${z} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${z} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${z} = document.createTextNode(${this.generateInComponent(Z,"value")});`);this._createLines.push(`${U}.appendChild(${z});`)}}else if(Z){let Y=this.generateNode(Z);this._createLines.push(`${U}.appendChild(${Y});`)}},u._claimAutoWire=function(U){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=U,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(U,W){if(!W)return;for(let[Z,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(Z))this._createLines.push(`${U}.addEventListener('${Z}', (e) => __batch(() => ${this._self}.${Y}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(U,W){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(U!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${W};`),this._createLines.push("this._applyRestToInheritedEl();")},u.generateTag=function(U,W,Z,Y){let R=this.newElementVar(),z=Q1.has(U)||this._svgDepth>0;if(z)this._createLines.push(`${R} = document.createElementNS('${a1}', '${U}');`);else this._createLines.push(`${R} = document.createElement('${U}');`);if(Y)this._createLines.push(`${R}.id = '${Y}';`);if(this._bindInheritedTarget(U,R),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${R}.setAttribute('data-part', '${this._componentName}');`);let M=this._claimAutoWire(R),D=this._pendingClassArgs,J=this._pendingClassEl;if(W.length>0)this._pendingClassArgs=[`'${W.join(" ")}'`],this._pendingClassEl=R;if(U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,Z),U==="svg")this._svgDepth--;if(W.length>0){if(this._pendingClassArgs.length===1)if(z)this._createLines.push(`${R}.setAttribute('class', '${W.join(" ")}');`);else this._createLines.push(`${R}.className = '${W.join(" ")}';`);else{let O=this._pendingClassArgs.join(", ");if(z)this._pushEffect(`${R}.setAttribute('class', __clsx(${O}));`);else this._pushEffect(`${R}.className = __clsx(${O});`)}this._pendingClassArgs=D,this._pendingClassEl=J}return this._emitAutoWire(R,M),R},u.generateDynamicTag=function(U,W,Z,Y,R){let z=this.newElementVar();if(Q1.has(U)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('${a1}', '${U}');`);else this._createLines.push(`${z} = document.createElement('${U}');`);if(R)this._createLines.push(`${z}.id = '${R}';`);this._bindInheritedTarget(U,z);let M=this._claimAutoWire(z),D=[...Y||[],...W.map((Q)=>this.generateInComponent(Q,"value"))],J=this._pendingClassArgs,O=this._pendingClassEl;if(this._pendingClassArgs=D,this._pendingClassEl=z,U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,Z),U==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let Q=this._pendingClassArgs.join(", ");if(Q1.has(U)||this._svgDepth>0)this._pushEffect(`${z}.setAttribute('class', __clsx(${Q}));`);else this._pushEffect(`${z}.className = __clsx(${Q});`)}return this._pendingClassArgs=J,this._pendingClassEl=O,this._emitAutoWire(z,M),z},u.generateAttributes=function(U,W){let Z=K4(W.slice(1));for(let Y=1;Y<W.length;Y++){let[,R,z]=W[Y];if(this.is(R,".")&&R[1]==="this"){let M=R[2];if(this._autoWireExplicit&&this._autoWireEl===U)this._autoWireExplicit.add(M);if(typeof z==="string"&&this.componentMembers?.has(z))this._createLines.push(`${U}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${z}(e)));`);else{let D=this.generateInComponent(z,"value");this._createLines.push(`${U}.addEventListener('${M}', (e) => __batch(() => (${D})(e)));`)}continue}if(typeof R==="string"||R instanceof String){if(R.startsWith('"')&&R.endsWith('"'))R=R.slice(1,-1);if(R==="class"||R==="className"){let D=this.generateInComponent(z,"value");if(this._pendingClassArgs&&this._pendingClassEl===U)this._pendingClassArgs.push(D);else if(this.hasReactiveDeps(z))if(this._svgDepth>0)this._pushEffect(`${U}.setAttribute('class', __clsx(${D}));`);else this._pushEffect(`${U}.className = __clsx(${D});`);else if(this._svgDepth>0)this._createLines.push(`${U}.setAttribute('class', ${D});`);else this._createLines.push(`${U}.className = ${D};`);continue}if(R==="__transition__"){let D=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${D}";`);continue}if(R==="ref"){let D=String(z).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${D} = ${U};`);continue}if(R.startsWith(S2)&&R.endsWith(h2)){let D=R.slice(S2.length,-h2.length),J=this.generateInComponent(z,"value"),O,Q;if(D==="checked")O="change",Q="e.target.checked";else O="input",Q=Z==="number"||Z==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${U}.${D} = ${J};`);let q=`${J} = ${Q}`,X=!this.isSimpleAssignable(z)&&this.findRootReactiveMember(z);if(X)q+=`; ${this._self}.${X}.touch?.()`;this._createLines.push(`${U}.addEventListener('${O}', (e) => { ${q}; });`);continue}let M=this.generateInComponent(z,"value");if((R==="value"||R==="checked")&&this.hasReactiveDeps(z)){this._pushEffect(`${U}.${R} = ${M};`);continue}if(R==="innerHTML"||R==="textContent"||R==="innerText")if(this.hasReactiveDeps(z))this._pushEffect(`${U}.${R} = ${M};`);else this._createLines.push(`${U}.${R} = ${M};`);else if(J4.has(R))if(this.hasReactiveDeps(z))this._pushEffect(`${U}.toggleAttribute('${R}', !!${M});`);else this._createLines.push(`if (${M}) ${U}.setAttribute('${R}', '');`);else if(this.hasReactiveDeps(z))if(Array.isArray(z)&&z[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${U}.removeAttribute('${R}') : ${U}.setAttribute('${R}', __v); }`);else this._pushEffect(`${U}.setAttribute('${R}', ${M});`);else if(Array.isArray(z)&&z[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${U}.setAttribute('${R}', __v); }`);else this._createLines.push(`${U}.setAttribute('${R}', ${M});`)}}},u.generateTemplateBlock=function(U){if(!Array.isArray(U)||U[0]!=="block")return this.generateNode(U);let W=U.slice(1);if(W.length===0){let R=this.newElementVar("empty");return this._createLines.push(`${R} = document.createComment('');`),R}if(W.length===1)return this.generateNode(W[0]);let Z=this.newElementVar("frag");this._createLines.push(`${Z} = document.createDocumentFragment();`);let Y=[];for(let R of W){let z=this.generateNode(R);this._createLines.push(`${Z}.appendChild(${z});`),Y.push(z)}return this._fragChildren.set(Z,Y),Z},u.generateConditional=function(U){this._pendingAutoWire=!1;let[,W,Z,Y]=U,R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('if');`);let z=this.generateInComponent(W,"value"),M=this._loopVarStack.map((G)=>`${G.itemVar}, ${G.indexVar}`).join(", "),D=M?`, ${M}`:"",J=this.newBlockVar();this.generateConditionBranch(J,Z);let O=null;if(Y)O=this.newBlockVar(),this.generateConditionBranch(O,Y);let Q=[];Q.push(`// Conditional: ${J}${O?" / "+O:""}`),Q.push("{"),Q.push(` const anchor = ${R};`),Q.push(" let currentBlock = null;"),Q.push(" let showing = null;");let q=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",X=this._factoryMode?"}));":"});";if(Q.push(` ${q}`),Q.push(` const show = !!(${z});`),Q.push(` const want = show ? 'then' : ${Y?"'else'":"null"};`),Q.push(" if (want === showing) return;"),Q.push(""),Q.push(" if (currentBlock) {"),Q.push(" const leaving = currentBlock;"),Q.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),Q.push(" else { leaving.d(true); }"),Q.push(" currentBlock = null;"),Q.push(" }"),Q.push(" showing = want;"),Q.push(""),Q.push(" if (want === 'then') {"),Q.push(` currentBlock = ${J}(${this._self}${D});`),Q.push(" currentBlock.c();"),Q.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Q.push(` currentBlock.p(${this._self}${D});`),Q.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Q.push(" }"),Y)Q.push(" if (want === 'else') {"),Q.push(` currentBlock = ${O}(${this._self}${D});`),Q.push(" currentBlock.c();"),Q.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Q.push(` currentBlock.p(${this._self}${D});`),Q.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Q.push(" }");return Q.push(` ${X}`),Q.push("}"),this._setupLines.push(Q.join(`
|
|
24
|
-
`)),
|
|
25
|
-
`))},u.
|
|
26
|
-
`)),
|
|
23
|
+
})()`;return N.join(`
|
|
24
|
+
`)},u.emitInComponent=function(F,A){if(typeof F==="string"&&this.reactiveMembers&&this.reactiveMembers.has(F))return`${this._self}.${F}.value`;if(typeof F==="string"&&this.componentMembers&&this.componentMembers.has(F))return`${this._self}.${F}`;if(Array.isArray(F)&&this.reactiveMembers){let Y=this.transformComponentMembers(F);return this.emit(Y,A)}return this.emit(F,A)},u.emitRender=function(F,A,Y,G){this.error("render blocks can only be used inside a component",G)},u.emitOffer=function(F,A,Y,G){this.error("offer can only be used inside a component",G)},u.emitAccept=function(F,A,Y,G){this.error("accept can only be used inside a component",G)},u.buildRender=function(F){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let A=this.is(F,"block")?F.slice(1):[F],Y;if(A.length===0)Y="null";else if(A.length===1)this._pendingAutoWire=!!this._autoEventHandlers,Y=this.emitNode(A[0]),this._pendingAutoWire=!1;else{Y=this.newElementVar("frag"),this._createLines.push(`${Y} = document.createDocumentFragment();`);let G=[];for(let Z of A){let Q=this.emitNode(Z);this._createLines.push(`${Y}.appendChild(${Q});`),G.push(Q)}this._fragChildren.set(Y,G)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:Y}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(F="el"){let A=`_${F}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(A);return this._factoryMode?A:`this.${A}`},u.newTextVar=function(){let F=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(F);return this._factoryMode?F:`this.${F}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(F){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${F} }));`);else this._setupLines.push(`__effect(() => { ${F} });`)},u.emitNode=function(F){if(typeof F==="string"||F instanceof String){let J=F.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${J});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${J}.value;`),q}if(J==="slot"&&this.componentMembers){let q=this._self,O=this.newElementVar("slot");return this._createLines.push(`${O} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),O}let[M,K]=J.split("#"),R=this.newElementVar(),z=M||"div";if(D1.has(z)||this._svgDepth>0)this._createLines.push(`${R} = document.createElementNS('${f2}', '${z}');`);else this._createLines.push(`${R} = document.createElement('${z}');`);if(K)this._createLines.push(`${R}.id = '${K}';`);return this._bindInheritedTarget(z,R),R}if(!Array.isArray(F)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[A,...Y]=F,G=typeof A==="string"?A:A instanceof String?A.valueOf():null;if(G&&this.isComponent(G))return this.emitChildComponent(G,Y);if(G==="slot"&&this.componentMembers){let J=this._self,M=this.newElementVar("slot");return this._createLines.push(`${M} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),M}if(G==="switch"){let J=Y[0],M=Y[1]||[],R=Y[2]||null;for(let q=M.length-1;q>=0;q--){let[,O,D]=M[q],I;if(J===null)I=O.length===1?O[0]:O.reduce((B,H)=>B?["||",B,H]:H,null);else I=O.length===1?["==",J,O[0]]:O.map((B)=>["==",J,B]).reduce((B,H)=>B?["||",B,H]:H,null);R=["if",I,D,R]}if(R){if(Array.isArray(R)&&R[0]==="if")return this.emitConditional(R);return this.emitTemplateBlock(R)}let z=this.newElementVar("c");return this._createLines.push(`${z} = document.createComment('switch');`),z}if(G&&this.isHtmlTag(G)&&!U(A,"text")){let[J,M]=G.split("#");return this.emitTag(J||"div",[],Y,M)}if(G==="."){let[,J,M]=F;if(J==="this"&&typeof M==="string"){let I=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(M)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${I}.${M}.value;`),H}let B=this.newElementVar("slot");return this._createLines.push(`${B} = ${I}.${M} instanceof Node ? ${I}.${M} : (${I}.${M} != null ? document.createTextNode(String(${I}.${M})) : document.createComment(''));`),B}let{tag:K,classes:R,id:z,base:q}=this.collectTemplateClasses(F);if(!U(q,"text")&&K&&this.isHtmlTag(K))return this.emitTag(K,R,[],z);let O=this.newTextVar(),D=this.emitInComponent(F,"value");return this._createLines.push(`${O} = document.createTextNode(String(${D}));`),O}if(Array.isArray(A)){if(Array.isArray(A[0])&&A[0][0]==="."&&(A[0][2]==="__clsx"||A[0][2]instanceof String&&A[0][2].valueOf()==="__clsx")){let R=A[0][1],z=A.slice(1);if(Array.isArray(R)){let{tag:O,classes:D,id:I}=this.collectTemplateClasses(R);if(O){let B=D.map((H)=>`"${H}"`);return this.emitDynamicTag(O,z,Y,B,I)}}let q=typeof R==="string"?R:R.valueOf();return this.emitDynamicTag(q,z,Y)}let{tag:J,classes:M,id:K}=this.collectTemplateClasses(A);if(J&&this.isHtmlTag(J)){if(M.length>0&&M[M.length-1]==="__clsx"){let z=M.slice(0,-1).map((q)=>`"${q}"`);return this.emitDynamicTag(J,Y,[],z,K)}return this.emitTag(J,M,Y,K)}}if(G==="->"||G==="=>")return this.emitTemplateBlock(Y[1]);if(G==="if")return this.emitConditional(F);if(G==="for"||G==="for-in"||G==="for-of"||G==="for-as")return this.emitTemplateLoop(F);if(G==="__text__"){let J=Y[0]??"undefined",M=this.newTextVar(),K=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J))this._createLines.push(`${M} = document.createTextNode('');`),this._pushEffect(`${M}.data = String(${K});`);else this._createLines.push(`${M} = document.createTextNode(String(${K}));`);return M}let Z=this.newTextVar(),Q=this.emitInComponent(F,"value");if(this.hasReactiveDeps(F))this._createLines.push(`${Z} = document.createTextNode('');`),this._pushEffect(`${Z}.data = ${Q};`);else this._createLines.push(`${Z} = document.createTextNode(String(${Q}));`);return Z},u.appendChildren=function(F,A){for(let Y of A)if(this.is(Y,"->")||this.is(Y,"=>")){let G=Y[2];if(this.is(G,"block"))for(let Z of G.slice(1))if(this.is(Z,"object"))this.emitAttributes(F,Z);else{let Q=this.emitNode(Z);this._createLines.push(`${F}.appendChild(${Q});`)}else if(G){let Z=this.emitNode(G);this._createLines.push(`${F}.appendChild(${Z});`)}}else if(this.is(Y,"object"))this.emitAttributes(F,Y);else if(typeof Y==="string"||Y instanceof String){let G=Y.valueOf(),Z=G.split(/[#.]/)[0];if(this.isHtmlTag(Z||"div")||this.isComponent(Z)){let Q=this.emitNode(Y);this._createLines.push(`${F}.appendChild(${Q});`)}else{let Q=this.newTextVar();if(G.startsWith('"')||G.startsWith("'")||G.startsWith("`"))this._createLines.push(`${Q} = document.createTextNode(${G});`);else if(this.reactiveMembers&&this.reactiveMembers.has(G))this._createLines.push(`${Q} = document.createTextNode('');`),this._pushEffect(`${Q}.data = ${this._self}.${G}.value;`);else if(this.componentMembers&&this.componentMembers.has(G))this._createLines.push(`${Q} = document.createTextNode(String(${this._self}.${G}));`);else this._createLines.push(`${Q} = document.createTextNode(${this.emitInComponent(Y,"value")});`);this._createLines.push(`${F}.appendChild(${Q});`)}}else if(Y){let G=this.emitNode(Y);this._createLines.push(`${F}.appendChild(${G});`)}},u._claimAutoWire=function(F){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=F,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(F,A){if(!A)return;for(let[Y,G]of this._autoEventHandlers)if(!this._autoWireExplicit.has(Y))this._createLines.push(`${F}.addEventListener('${Y}', (e) => __batch(() => ${this._self}.${G}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(F,A){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(F!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${A};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(F,A,Y,G){let Z=this.newElementVar(),Q=D1.has(F)||this._svgDepth>0;if(Q)this._createLines.push(`${Z} = document.createElementNS('${f2}', '${F}');`);else this._createLines.push(`${Z} = document.createElement('${F}');`);if(G)this._createLines.push(`${Z}.id = '${G}';`);if(this._bindInheritedTarget(F,Z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${Z}.setAttribute('data-part', '${this._componentName}');`);let J=this._claimAutoWire(Z),M=this._pendingClassArgs,K=this._pendingClassEl;if(A.length>0)this._pendingClassArgs=[`'${A.join(" ")}'`],this._pendingClassEl=Z;if(F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Z,Y),F==="svg")this._svgDepth--;if(A.length>0){if(this._pendingClassArgs.length===1)if(Q)this._createLines.push(`${Z}.setAttribute('class', '${A.join(" ")}');`);else this._createLines.push(`${Z}.className = '${A.join(" ")}';`);else{let R=this._pendingClassArgs.join(", ");if(Q)this._pushEffect(`${Z}.setAttribute('class', __clsx(${R}));`);else this._pushEffect(`${Z}.className = __clsx(${R});`)}this._pendingClassArgs=M,this._pendingClassEl=K}return this._emitAutoWire(Z,J),Z},u.emitDynamicTag=function(F,A,Y,G,Z){let Q=this.newElementVar();if(D1.has(F)||this._svgDepth>0)this._createLines.push(`${Q} = document.createElementNS('${f2}', '${F}');`);else this._createLines.push(`${Q} = document.createElement('${F}');`);if(Z)this._createLines.push(`${Q}.id = '${Z}';`);this._bindInheritedTarget(F,Q);let J=this._claimAutoWire(Q),M=[...G||[],...A.map((z)=>this.emitInComponent(z,"value"))],K=this._pendingClassArgs,R=this._pendingClassEl;if(this._pendingClassArgs=M,this._pendingClassEl=Q,F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Q,Y),F==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let z=this._pendingClassArgs.join(", ");if(D1.has(F)||this._svgDepth>0)this._pushEffect(`${Q}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${Q}.className = __clsx(${z});`)}return this._pendingClassArgs=K,this._pendingClassEl=R,this._emitAutoWire(Q,J),Q},u.emitAttributes=function(F,A){let Y=$4(A.slice(1));for(let G=1;G<A.length;G++){let[,Z,Q]=A[G];if(this.is(Z,".")&&Z[1]==="this"){let J=Z[2];if(this._autoWireExplicit&&this._autoWireEl===F)this._autoWireExplicit.add(J);if(typeof Q==="string"&&this.componentMembers?.has(Q))this._createLines.push(`${F}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${Q}(e)));`);else{let M=this.emitInComponent(Q,"value");this._createLines.push(`${F}.addEventListener('${J}', (e) => __batch(() => (${M})(e)));`)}continue}if(typeof Z==="string"||Z instanceof String){if(Z.startsWith('"')&&Z.endsWith('"'))Z=Z.slice(1,-1);if(Z==="class"||Z==="className"){let M=this.emitInComponent(Q,"value");if(this._pendingClassArgs&&this._pendingClassEl===F)this._pendingClassArgs.push(M);else if(this.hasReactiveDeps(Q))if(this._svgDepth>0)this._pushEffect(`${F}.setAttribute('class', __clsx(${M}));`);else this._pushEffect(`${F}.className = __clsx(${M});`);else if(this._svgDepth>0)this._createLines.push(`${F}.setAttribute('class', ${M});`);else this._createLines.push(`${F}.className = ${M};`);continue}if(Z==="__transition__"){let M=String(Q).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${M}";`);continue}if(Z==="ref"){let M=String(Q).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${M} = ${F};`);continue}if(Z.startsWith(N2)&&Z.endsWith(T2)){let M=Z.slice(N2.length,-T2.length),K=this.emitInComponent(Q,"value"),R,z;if(M==="checked")R="change",z="e.target.checked";else R="input",z=Y==="number"||Y==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${F}.${M} = ${K};`);let q=`${K} = ${z}`,O=!this.isSimpleAssignable(Q)&&this.findRootReactiveMember(Q);if(O)q+=`; ${this._self}.${O}.touch?.()`;this._createLines.push(`${F}.addEventListener('${R}', (e) => { ${q}; });`);continue}let J=this.emitInComponent(Q,"value");if((Z==="value"||Z==="checked")&&this.hasReactiveDeps(Q)){this._pushEffect(`${F}.${Z} = ${J};`);continue}if(Z==="innerHTML"||Z==="textContent"||Z==="innerText")if(this.hasReactiveDeps(Q))this._pushEffect(`${F}.${Z} = ${J};`);else this._createLines.push(`${F}.${Z} = ${J};`);else if(f4.has(Z))if(this.hasReactiveDeps(Q))this._pushEffect(`${F}.toggleAttribute('${Z}', !!${J});`);else this._createLines.push(`if (${J}) ${F}.setAttribute('${Z}', '');`);else if(this.hasReactiveDeps(Q))if(Array.isArray(Q)&&Q[0]==="presence")this._pushEffect(`{ const __v = ${J}; __v == null ? ${F}.removeAttribute('${Z}') : ${F}.setAttribute('${Z}', __v); }`);else this._pushEffect(`${F}.setAttribute('${Z}', ${J});`);else if(Array.isArray(Q)&&Q[0]==="presence")this._createLines.push(`{ const __v = ${J}; if (__v != null) ${F}.setAttribute('${Z}', __v); }`);else this._createLines.push(`${F}.setAttribute('${Z}', ${J});`)}}},u.emitTemplateBlock=function(F){if(!Array.isArray(F)||F[0]!=="block")return this.emitNode(F);let A=F.slice(1);if(A.length===0){let Z=this.newElementVar("empty");return this._createLines.push(`${Z} = document.createComment('');`),Z}if(A.length===1)return this.emitNode(A[0]);let Y=this.newElementVar("frag");this._createLines.push(`${Y} = document.createDocumentFragment();`);let G=[];for(let Z of A){let Q=this.emitNode(Z);this._createLines.push(`${Y}.appendChild(${Q});`),G.push(Q)}return this._fragChildren.set(Y,G),Y},u.emitConditional=function(F){if(this._pendingAutoWire=!1,F.length>4){let D=F[F.length-1];for(let I=F.length-2;I>=3;I--)D=[...F[I],D];F=[F[0],F[1],F[2],D]}let[,A,Y,G]=F,Z=this.newElementVar("anchor");this._createLines.push(`${Z} = document.createComment('if');`);let Q=this.emitInComponent(A,"value"),J=this._loopVarStack.map((D)=>`${D.itemVar}, ${D.indexVar}`).join(", "),M=J?`, ${J}`:"",K=this.newBlockVar();this.emitConditionBranch(K,Y);let R=null;if(G)R=this.newBlockVar(),this.emitConditionBranch(R,G);let z=[];z.push(`// Conditional: ${K}${R?" / "+R:""}`),z.push("{"),z.push(` const anchor = ${Z};`),z.push(" let currentBlock = null;"),z.push(" let showing = null;");let q=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",O=this._factoryMode?"}));":"});";if(z.push(` ${q}`),z.push(` const show = !!(${Q});`),z.push(` const want = show ? 'then' : ${G?"'else'":"null"};`),z.push(" if (want === showing) return;"),z.push(""),z.push(" if (currentBlock) {"),z.push(" const leaving = currentBlock;"),z.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),z.push(" else { leaving.d(true); }"),z.push(" currentBlock = null;"),z.push(" }"),z.push(" showing = want;"),z.push(""),z.push(" if (want === 'then') {"),z.push(` currentBlock = ${K}(${this._self}${M});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${M});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }"),G)z.push(" if (want === 'else') {"),z.push(` currentBlock = ${R}(${this._self}${M});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${M});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }");if(z.push(` ${O}`),this._factoryMode)z.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return z.push("}"),this._setupLines.push(z.join(`
|
|
25
|
+
`)),Z},u.emitConditionBranch=function(F,A){let Y=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let G=this.emitTemplateBlock(A),Z=this._createLines,Q=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=Y;let M=this._loopVarStack.map((R)=>`${R.itemVar}, ${R.indexVar}`).join(", "),K=M?`, ${M}`:"";this.emitBlockFactory(F,`ctx${K}`,G,Z,Q,J)},u.emitBlockFactory=function(F,A,Y,G,Z,Q,J){let M=[];if(M.push(`function ${F}(${A}) {`),Q.size>0)M.push(` let ${[...Q].join(", ")};`);let K=Z.length>0;if(K)M.push(" let disposers = [];");if(M.push(" return {"),J)M.push(" _s: true,");let R=this._fragChildren.get(Y),z=R?R[0]:Y;M.push(" c() {");for(let q of G)M.push(` ${q}`);if(M.push(` this._first = ${z};`),M.push(" },"),M.push(" m(target, anchor) {"),R)for(let q of R)M.push(` if (target) target.insertBefore(${q}, anchor);`);else M.push(` if (target) target.insertBefore(${Y}, anchor);`);if(M.push(" },"),M.push(` p(${A}) {`),K){M.push(" disposers.forEach(d => d());"),M.push(" disposers = [];");for(let q of Z)M.push(` ${q}`)}if(M.push(" },"),M.push(" d(detaching) {"),K)M.push(" disposers.forEach(d => d());");if(R)for(let q of R)M.push(` if (detaching && ${q}) ${q}.remove();`);else M.push(` if (detaching && ${Y}) ${Y}.remove();`);M.push(" }"),M.push(" };"),M.push("}"),this._blockFactories.push(M.join(`
|
|
26
|
+
`))},u.emitTemplateLoop=function(F){this._pendingAutoWire=!1;let[A,Y,G,Z,Q,J]=F,M=this.newBlockVar(),K=this.newElementVar("anchor");this._createLines.push(`${K} = document.createComment('for');`);let R=Array.isArray(Y)?Y:[Y],z=R[0],q=R[1]||null;if(!q){let l=new Set(this._loopVarStack.flatMap((p)=>[p.itemVar,p.indexVar]));l.add(z);for(let p of["i","j","k","l","m","n"])if(!l.has(p)){q=p;break}q=q||`_i${this._loopVarStack.length}`}let O=this.emitInComponent(G,"value"),D=z;if(this.is(J,"block")&&J.length>1){let l=J[1];if(Array.isArray(l))for(let p of l){if(this.is(p,"object"))for(let _1=1;_1<p.length;_1++){let[y,g]=p[_1];if(y==="key"){D=this.emit(g,"value");break}}if(D!==z)break}}let I=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let B=this._loopVarStack.map((l)=>`${l.itemVar}, ${l.indexVar}`).join(", "),H=B?`, ${B}`:"";this._loopVarStack.push({itemVar:z,indexVar:q});let X=this.emitTemplateBlock(J);this._loopVarStack.pop();let P=this._createLines,S=this._setupLines,E=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=I;let L=S.length===0,T=`ctx, ${z}, ${q}${H}`;this.emitBlockFactory(M,T,X,P,S,E,L);let N=D!==z?`(${z}, ${q}) => ${D}`:"null",d=B?`, ${B}`:"",V=[];V.push(`// Loop: ${M}`),V.push("{"),V.push(" const __s = { blocks: [], keys: [] };");let h=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",b=this._factoryMode?"}));":"});";return V.push(` ${h}`),V.push(` __reconcile(${K}, __s, ${O}, ${this._self}, ${M}, ${N}${d});`),V.push(` ${b}`),V.push("}"),this._setupLines.push(V.join(`
|
|
27
|
+
`)),K},u.emitChildComponent=function(F,A){this._pendingAutoWire=!1;let Y=this.newElementVar("inst"),G=this.newElementVar("el"),{propsCode:Z,reactiveProps:Q,eventBindings:J,childrenSetupLines:M}=this.buildComponentProps(A),K=this._self;this._createLines.push(`{ const __prev = __pushComponent(${K}); try {`),this._createLines.push(`${Y} = new ${F}(${Z});`),this._createLines.push(`${G} = ${Y}._root = ${Y}._create();`),this._createLines.push(`(${K}._children || (${K}._children = [])).push(${Y});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:R,value:z}of J){let q=this.emitInComponent(z,"value");this._createLines.push(`${G}.addEventListener('${R}', (e) => __batch(() => (${q})(e)));`)}this._setupLines.push(`try { if (${Y}._setup) ${Y}._setup(); if (${Y}.mounted) ${Y}.mounted(); } catch (__e) { __handleComponentError(__e, ${Y}); }`);for(let{key:R,valueCode:z}of Q)this._pushEffect(`if (${Y}.${R} && typeof ${Y}.${R} === 'object' && 'value' in ${Y}.${R}) ${Y}.${R}.value = ${z}; else if (${Y}._setRestProp) ${Y}._setRestProp('${R}', ${z});`);for(let R of M)this._setupLines.push(R);return G},u.buildComponentProps=function(F){let A=[],Y=[],G=[],Z=null,Q=[],J=(R,z)=>{if(R.startsWith("@")){G.push({event:R.slice(1).split(".")[0],value:z});return}if(this.reactiveMembers&&(typeof z==="string"&&this.reactiveMembers.has(z)||Array.isArray(z)&&z[0]==="."&&z[1]==="this"&&typeof z[2]==="string"&&this.reactiveMembers.has(z[2]))){let O=typeof z==="string"?z:z[2];A.push(`${R}: ${this._self}.${O}`)}else{let O=this.emitInComponent(z,"value");if(A.push(`${R}: ${O}`),this.hasReactiveDeps(z))Y.push({key:R,valueCode:O})}},M=(R)=>{for(let z=1;z<R.length;z++){let[,q,O]=R[z];if(typeof q==="string")J(q,O);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")G.push({event:q[2],value:O})}};for(let R of F)if(this.is(R,"object"))M(R);else if(Array.isArray(R)&&(R[0]==="->"||R[0]==="=>")){let z=R[2];if(z){if(this.is(z,"block")){let q=[];for(let O of z.slice(1))if(this.is(O,"object"))M(O);else q.push(O);z=q.length>0?["block",...q]:null}if(z){let q=this._createLines,O=this._setupLines;this._createLines=[],this._setupLines=[],Z=this.emitTemplateBlock(z);let D=this._createLines,I=this._setupLines;this._createLines=q,this._setupLines=O;for(let B of D)this._createLines.push(B);Q.push(...I),A.push(`children: ${Z}`)}}}else if(R&&!Z){let z=this.newTextVar(),q=this.emitInComponent(R,"value");if(this.hasReactiveDeps(R)){this._createLines.push(`${z} = document.createTextNode('');`);let O=`${z}.data = ${q};`,D=this._factoryMode?`disposers.push(__effect(() => { ${O} }));`:`__effect(() => { ${O} });`;Q.push(D)}else this._createLines.push(`${z} = document.createTextNode(${q});`);Z=z,A.push(`children: ${Z}`)}return{propsCode:A.length>0?`{ ${A.join(", ")} }`:"{}",reactiveProps:Y,eventBindings:G,childrenSetupLines:Q}},u.hasReactiveDeps=function(F){if(typeof F==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F));if(!Array.isArray(F))return!1;if(F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F[2]));if(F[0]==="."&&this._rootsAtThis(F[1]))return!0;if(Array.isArray(F[0])&&F[0][0]==="."&&F[0][1]==="this"){let A=$(F[0][2]);if(A&&this.componentMembers?.has(A))return!0}for(let A of F)if(this.hasReactiveDeps(A))return!0;return!1},u.isSimpleAssignable=function(F){if(typeof F==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F));if(Array.isArray(F)&&F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(F[2]));return!1},u.findRootReactiveMember=function(F){if(typeof F==="string")return this.reactiveMembers?.has(F)?F:null;if(!Array.isArray(F))return null;if(F[0]==="."&&F[1]==="this"&&typeof F[2]==="string")return this.reactiveMembers?.has(F[2])?F[2]:null;if(F[0]==="."||F[0]==="[]")return this.findRootReactiveMember(F[1]);return null},u._rootsAtThis=function(F){if(typeof F==="string")return F==="this";if(!Array.isArray(F)||F[0]!==".")return!1;return this._rootsAtThis(F[1])},u.getComponentRuntime=function(){return`
|
|
27
28
|
// ============================================================================
|
|
28
29
|
// Rip Component Runtime
|
|
29
30
|
// ============================================================================
|
|
@@ -304,28 +305,31 @@ if (typeof globalThis !== 'undefined') {
|
|
|
304
305
|
globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
|
|
305
306
|
}
|
|
306
307
|
|
|
307
|
-
`}}function
|
|
308
|
-
`)
|
|
309
|
-
`)
|
|
310
|
-
`)
|
|
311
|
-
`))
|
|
312
|
-
`))F=
|
|
313
|
-
`).
|
|
314
|
-
`)
|
|
315
|
-
`))
|
|
316
|
-
`)
|
|
317
|
-
`)
|
|
318
|
-
`)
|
|
319
|
-
`)
|
|
320
|
-
`),
|
|
321
|
-
`),
|
|
322
|
-
`;u
|
|
323
|
-
|
|
308
|
+
`}}function S1(f){let _="",U=f<0?-f<<1|1:f<<1;do{let w=U&31;if(U>>>=5,U>0)w|=32;_+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[w]}while(U>0);return _}class U2{constructor(f,_,U=null){this.file=f,this.source=_,this.sourceContent=U,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let _=this.names.length;return this.names.push(f),this.nameIndex.set(f,_),_}addMapping(f,_,U,w,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(U==null){this.lines[f].push(S1(_-this.prevGenCol)),this.prevGenCol=_;return}this.mappings.push({genLine:f,genCol:_,origLine:U,origCol:w});let $=S1(_-this.prevGenCol);if(this.prevGenCol=_,$+=S1(0),$+=S1(U-this.prevOrigLine),this.prevOrigLine=U,$+=S1(w-this.prevOrigCol),this.prevOrigCol=w,u!=null){let W=this.addName(u);$+=S1(W-this.prevNameIdx),this.prevNameIdx=W}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let _ of this.mappings){if(!f.has(_.origLine))f.set(_.origLine,[]);f.get(_.origLine).push({origCol:_.origCol,genLine:_.genLine,genCol:_.genCol})}return f}toJSON(){let f=this.lines.map((U)=>U.join(",")).join(";"),_={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)_.sourcesContent=[this.sourceContent];return JSON.stringify(_)}}class W1 extends Error{constructor(f,{code:_=null,file:U=null,line:w=null,column:u=null,length:$=1,source:W=null,suggestion:F=null,phase:A=null}={}){super(f);this.name="RipError",this.code=_,this.file=U,this.line=w,this.column=u,this.length=$,this.source=W,this.suggestion=F,this.phase=A}static fromLexer(f,_,U){let w=f.location||{};return new W1(f.message,{code:"E_SYNTAX",file:U,line:w.first_line??null,column:w.first_column??null,length:w.last_column!=null&&w.first_column!=null?w.last_column-w.first_column+1:1,source:_,phase:"lexer"})}static fromParser(f,_,U){let w=f.hash||{},u=w.loc||{},$=w.line??u.r??null,W=u.first_column??u.c??null,F=null;if(w.expected?.length){if(F=`Expected ${w.expected.slice(0,5).map((Q)=>Q.replace(/'/g,"")).join(", ")}`,w.expected.length>5)F+=`, ... (${w.expected.length} total)`}let A=w.token||"token",Y=w.text?` near '${w.text}'`:"",G=`Unexpected ${A}${Y}`;return new W1(G,{code:"E_PARSE",file:U,line:$,column:W,length:w.text?.length||1,source:_,suggestion:F,phase:"parser"})}static fromSExpr(f,_,U,w,u){let $=_?.loc||{};return new W1(f,{code:"E_CODEGEN",file:w,line:$.r??null,column:$.c??null,length:$.n??1,source:U,suggestion:u,phase:"codegen"})}get locationString(){let f=[];if(this.file)f.push(this.file);if(this.line!=null)f.push(`${this.line+1}:${(this.column??0)+1}`);return f.join(":")}format({color:f=!0}={}){let _=f?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},U=[],w=this.locationString,u=w?`${_.cyan}${w}${_.reset} `:"";U.push(`${u}${_.red}${_.bold}error${_.reset}${_.bold}: ${this.message}${_.reset}`);let $=this._snippet();if($){U.push("");for(let W of $)if(W.type==="source")U.push(`${_.dim}${W.gutter}${_.reset}${W.text}`);else if(W.type==="caret")U.push(`${_.dim}${W.gutter}${_.reset}${_.red}${_.bold}${W.text}${_.reset}`)}if(this.suggestion)U.push(""),U.push(`${_.yellow}hint${_.reset}: ${this.suggestion}`);return U.join(`
|
|
309
|
+
`)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let _=this.locationString,U=_?`<span class="re-loc">${O1(_)}</span> `:"";f.push(`<div class="re-header">${U}error: ${O1(this.message)}</div>`);let w=this._snippet();if(w){f.push('<pre class="re-snippet">');for(let u of w)if(u.type==="source")f.push(`<span class="re-gutter">${O1(u.gutter)}</span>${O1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${O1(u.gutter)}</span><span class="re-caret">${O1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${O1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
|
|
310
|
+
`)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
|
|
311
|
+
`),_=this.line;if(_<0||_>=f.length)return null;let U=2,w=Math.max(0,_-U),u=Math.min(f.length-1,_+U),$=String(u+1).length,W=[];for(let F=w;F<=u;F++){let Y=` ${String(F+1).padStart($)} │ `;if(W.push({type:"source",gutter:Y,text:f[F]}),F===_&&this.column!=null){let G=" ".repeat(this.column),Z=Math.max(1,Math.min(this.length||1,f[F].length-this.column)),Q="^".repeat(Z),J=" ".repeat($+2)+"│ ";W.push({type:"caret",gutter:J,text:`${G}${Q}`})}}return W}}function _4(f){return f instanceof SyntaxError&&f.location!=null}function U4(f){return!(f instanceof SyntaxError)&&f.hash!=null}function L1(f,_,U){if(f instanceof W1){if(U&&!f.file)f.file=U;if(_&&!f.source)f.source=_;return f}if(_4(f))return W1.fromLexer(f,_,U);if(U4(f))return W1.fromParser(f,_,U);return new W1(f.message,{file:U,source:_,phase:"unknown"})}function q1(f,{source:_,file:U,color:w=!0}={}){return(f instanceof W1?f:L1(f,_,U)).format({color:w})}function w2(f,{source:_,file:U}={}){return(f instanceof W1?f:L1(f,_,U)).formatHTML()}function O1(f){return f.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var $1=(f,_)=>f instanceof String?f[_]:void 0,c=(f)=>f instanceof String?f.valueOf():f,w4=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),F4=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),W4=new Set(["true","false","null","undefined","Infinity","NaN"]);function v1(f){if(!Array.isArray(f)||f.length===0)return!1;let _=f[0]?.valueOf?.()??f[0];if(w4.has(_))return!0;return f.length<=4&&!f.some(Array.isArray)}function N1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let _=String(f);if(_[0]==="/"&&_.indexOf(`
|
|
312
|
+
`)>=0){let U=_.match(/\/([gimsuvy]*)$/),w=U?U[1]:"",u=_.slice(1);return u=w?u.slice(0,-w.length-1):u.slice(0,-1),`"/${u.split(`
|
|
313
|
+
`).map((F)=>F.replace(/#.*$/,"").trim()).join("")}/${w}"`}return _}function Z1(f,_=0,U=!1){if(!Array.isArray(f))return N1(f);if(U&&f[0]==="program"){let Y=f[1],Z=[Array.isArray(Y)?"(program":"(program "+N1(Y)],Q=Array.isArray(Y)?1:2;for(let J=Q;J<f.length;J++){let M=Z1(f[J],2,!1);Z.push(M[0]==="("?" "+M:M)}return Z.push(")"),Z.join(`
|
|
314
|
+
`)}let w=f[0];if(v1(f)&&f.slice(1).every((Y)=>!Array.isArray(Y)||v1(Y))){let G=`(${f.map((Z)=>Array.isArray(Z)?Z1(Z,0,!1):N1(Z)).join(" ")})`;if(!G.includes(`
|
|
315
|
+
`))return" ".repeat(_)+G}let $=" ".repeat(_),W;if(Array.isArray(w)){if(W=Z1(w,0,!1),W.includes(`
|
|
316
|
+
`))W=W.split(`
|
|
317
|
+
`).map((G,Z)=>Z===0?G:" ".repeat(_+2)+G).join(`
|
|
318
|
+
`)}else W=N1(w);let F=[`${$}(${W}`],A=w==="block";for(let Y=1;Y<f.length;Y++){let G=f[Y];if(!Array.isArray(G))F[F.length-1]+=" "+N1(G);else{let Z=v1(G)&&G.every((Q)=>!Array.isArray(Q)||v1(Q));if(!A&&Z){let Q=Z1(G,0,!1);if(!Q.includes(`
|
|
319
|
+
`)){F[F.length-1]+=" "+Q;continue}}F.push(Z1(G,_+2,!1))}}return F[F.length-1]+=")",F.join(`
|
|
320
|
+
`)}class w1{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",def:"emitDef","->":"emitThinArrow","=>":"emitFatArrow",return:"emitReturn",state:"emitState",computed:"emitComputed",readonly:"emitReadonly",effect:"emitEffect",break:"emitBreak",continue:"emitContinue","?":"emitExistential",presence:"emitPresence","?:":"emitTernary","|>":"emitPipe",loop:"emitLoop","loop-n":"emitLoopN",await:"emitAwait",yield:"emitYield","yield-from":"emitYieldFrom",if:"emitIf","for-in":"emitForIn","for-of":"emitForOf","for-as":"emitForAs",while:"emitWhile",try:"emitTry",throw:"emitThrow",control:"emitControl",switch:"emitSwitch",when:"emitWhen",comprehension:"emitComprehension","object-comprehension":"emitObjectComprehension",class:"emitClass",super:"emitSuper",component:"emitComponent",render:"emitRender",offer:"emitOffer",accept:"emitAccept",enum:"emitEnum",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString"};constructor(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}error(f,_,{suggestion:U}={}){throw W1.fromSExpr(f,_,this.options.source,this.options.filename,U)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let _=this.emit(f);if(this.sourceMap)this.buildMappings();return _}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let _ of this._stmtEntries){if(_.loc)this.sourceMap.addMapping(f,0,_.loc.r,_.loc.c);if(_.sexpr&&_.loc)this.recordSubMappings(_.code,_.sexpr,f);f+=_.code.split(`
|
|
321
|
+
`).length}}recordSubMappings(f,_,U){let w=_.loc?_.loc.r:0,u=[];this.collectSubExprs(_,u);for(let{name:$,origLine:W,origCol:F}of u){let A=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Y=new RegExp("\\b"+A+"\\b","g"),G,Z=null,Q=1/0,J=W-w;while((G=Y.exec(f))!==null){let K=f.substring(0,G.index).split(`
|
|
322
|
+
`),R=U+K.length-1,z=K[K.length-1].length,q=K.length-1,O=Math.abs(q-J)*1e4+Math.abs(z-F);if(O<Q)Q=O,Z={genLine:R,genCol:z}}if(Z)this.sourceMap.addMapping(Z.genLine,Z.genCol,W,F)}}collectSubExprs(f,_){if(!Array.isArray(f))return;let U=f[0];if(Array.isArray(U)||U!=null&&typeof U!=="string"&&!(U instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],_);return}if(f.loc){U=c(U);let u=null;if(U==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof U==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(U)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof U==="string"&&/^[a-zA-Z_$]/.test(U))u=U;if(u)_.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let w=U==="->"||U==="=>"?2:1;for(let u=w;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],_)}collectProgramVariables(f){if(!Array.isArray(f))return;let[_,...U]=f;if(_=c(_),Array.isArray(_)){f.forEach((w)=>this.collectProgramVariables(w));return}if(_==="export"||_==="export-default"||_==="export-all"||_==="export-from")return;if(_==="state"||_==="computed"){let[w]=U,u=c(w)??w;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(_==="readonly"){let[w]=U,u=c(w)??w;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(_==="component")return;if(_==="enum")return;if(w1.ASSIGNMENT_OPS.has(_)){let[w,u]=U;if(typeof w==="string"||w instanceof String){let $=c(w);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(w,"array"))this.collectVarsFromArray(w,this.programVars);else if(this.is(w,"object"))this.collectVarsFromObject(w,this.programVars);this.collectProgramVariables(u);return}if(_==="def"||_==="->"||_==="=>"||_==="effect")return;if(_==="if"){let[w,u,$]=U;if(this.collectProgramVariables(w),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(_==="try"){if(this.collectProgramVariables(U[0]),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[w,u]=U[1];if(w&&this.is(w,"object"))w.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(w&&this.is(w,"array"))w.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(U.length===3)this.collectProgramVariables(U[2]);else if(U.length===2&&(!Array.isArray(U[1])||U[1][0]==="block"))this.collectProgramVariables(U[1]);return}U.forEach((w)=>this.collectProgramVariables(w))}collectFunctionVariables(f){let _=new Set,U=(w)=>{if(!Array.isArray(w))return;let[u,...$]=w;if(u=c(u),Array.isArray(u)){w.forEach((W)=>U(W));return}if(w1.ASSIGNMENT_OPS.has(u)){let[W,F]=$;if(typeof W==="string")_.add(W);else if(this.is(W,"array"))this.collectVarsFromArray(W,_);else if(this.is(W,"object"))this.collectVarsFromObject(W,_);U(F);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(U($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[W,F]=$[1];if(W&&this.is(W,"object"))W.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")_.add(A[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach((A)=>{if(typeof A==="string")_.add(A)});U(F)}if($.length===3)U($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))U($[1]);return}$.forEach((W)=>U(W))};return U(f),_}emit(f,_="statement"){if(f instanceof String){if($1(f,"await")===!0)return`await ${c(f)}()`;if($1(f,"predicate"))return`(${c(f)} != null)`;if($1(f,"delimiter")==="///"&&$1(f,"heregex")){let F=c(f),A=F.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,Y,G]=A;return`/${this.processHeregex(Y)}/${G}`}return F}let W=$1(f,"quote");if(W){let F=c(f);if(W==='"""'||W==="'''"){let Y=this.extractStringContent(f);return Y=Y.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${Y}\``}if(F[0]===W)return F;let A=F.slice(1,-1);return`${W}${A}${W}`}f=c(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let W=f.slice(1,-1);if(W.includes(`
|
|
323
|
+
`))return`\`${W.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let F=W.includes("'")&&!W.includes('"')?'"':"'",A=W.replace(new RegExp(F,"g"),`\\${F}`);return`${F}${A}${F}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))this.error(`Invalid s-expression: ${JSON.stringify(f)}`,f);let[U,...w]=f,u=$1(U,"await");U=c(U);let $=w1.GENERATORS[U];if($)return this[$](U,w,_,f);if(typeof U==="string"&&!U.startsWith('"')&&!U.startsWith("'")){if(w1.NUMBER_START_RE.test(U))return U;if(U==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(w)})`;let W=this._tryPostfixCall(U,w,_);if(W)return W;let F=u===!0,A=`${this.emit(U,"value")}(${this._emitArgs(w)})`;return F?`await ${A}`:A}if(Array.isArray(U)&&typeof U[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(U[0]))return`(${f.map((F)=>this.emit(F,"value")).join(", ")})`}if(Array.isArray(U)){if(U[0]==="."&&(U[2]==="new"||c(U[2])==="new")){let G=U[1],Z=this.emit(G,"value");return`new ${Array.isArray(G)?`(${Z})`:Z}(${this._emitArgs(w)})`}let W=this._tryPostfixCall(U,w,_);if(W)return W;let F=!1,A;if(U[0]==="."&&$1(U[2],"await")===!0){F=!0;let[G,Z]=U.slice(1),Q=this.emit(G,"value");A=`${w1.NUMBER_LITERAL_RE.test(Q)||(this.is(G,"object")||this.is(G,"await")||this.is(G,"yield"))?`(${Q})`:Q}.${c(Z)}`}else A=this.emit(U,"value");let Y=`${A}(${this._emitArgs(w)})`;return F?`await ${Y}`:Y}this.error(`Unknown s-expression type: ${U}`,f)}emitProgram(f,_,U,w){let u="",$=[],W=[];for(let K of _){if(!Array.isArray(K)){W.push(K);continue}if(K[0]==="import")$.push(K);else W.push(K)}let F=this._inlineVarsPending,A=new Set;if(this.programVars.size>0&&W.length>0){if(A=this.classifyVarsForInlining(W,this.programVars).inlineVars,A.delete("_"),A.size>0)this._inlineVarsPending=new Set(A)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],G=W.map((K,R)=>{let z=W.length===1&&$.length===0,q=this.is(K,"object"),O=q&&K.length===2&&Array.isArray(K[1])&&Array.isArray(K[1][2])&&K[1][2][0]==="comprehension",D=this.is(K,"comprehension")||this.is(K,"object-comprehension")||this.is(K,"do-iife"),I=this.programVars.size===0,B=z&&q&&I&&!D&&!O,X=R===W.length-1&&D,P;if(B)P=`(${this.emit(K,"value")})`;else if(X)P=this.emit(K,"value");else P=this.emit(K,"statement");if(P&&!P.endsWith(";")){let E=Array.isArray(K)?K[0]:null;if(!Y.includes(E)||!P.endsWith("}"))P+=";"}let S=Array.isArray(K)?K.loc:null;return{code:P,loc:S,sexpr:Array.isArray(K)?K:null}}),Z=G.map((K)=>K.code).join(`
|
|
324
|
+
`);this._inlineVarsPending=F;let Q=!1;if($.length>0)u+=$.map((K)=>this.addSemicolon(K,this.emit(K,"statement"))).join(`
|
|
325
|
+
`),Q=!0;if(this.programVars.size>0){let K=this.programVars.has("_");if(K)this.programVars.delete("_");if(this.programVars.size>0){let R=Array.from(this.programVars).filter((z)=>!A.has(z)).sort().join(", ");if(R){if(Q)u+=`
|
|
326
|
+
`;u+=`let ${R};
|
|
327
|
+
`,Q=!0}}if(K){if(Q)u+=`
|
|
324
328
|
`;u+=`var _;
|
|
325
|
-
`,
|
|
326
|
-
`;u+=
|
|
327
|
-
`,
|
|
328
|
-
`,
|
|
329
|
+
`,Q=!0}}let J=this.options.skipPreamble,M=this.options.skipRuntimes;if(!J){if(Q)u+=`
|
|
330
|
+
`;u+=V1(),Q=!0;let K=M?"var":"const";if(this.helpers.has("slice"))u+=`${K} slice = [].slice;
|
|
331
|
+
`,Q=!0;if(this.helpers.has("modulo"))u+=`${K} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
332
|
+
`,Q=!0;if(this.helpers.has("toMatchable"))u+=`${K} toMatchable = (v, allowNewlines) => {
|
|
329
333
|
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
330
334
|
`,u+=` if (v == null) return "";
|
|
331
335
|
`,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
@@ -339,155 +343,161 @@ if (typeof globalThis !== 'undefined') {
|
|
|
339
343
|
`,u+=` }
|
|
340
344
|
`,u+=` return "";
|
|
341
345
|
`,u+=`};
|
|
342
|
-
`,
|
|
346
|
+
`,Q=!0}if(this.usesReactivity&&!J){if(M)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
343
347
|
`;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
344
|
-
`;else u+=this.getReactiveRuntime();
|
|
348
|
+
`;else u+=this.getReactiveRuntime();Q=!0}if(this.usesTemplates&&!J){if(M)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
345
349
|
`;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
346
|
-
`;else u+=this.getComponentRuntime();
|
|
350
|
+
`;else u+=this.getComponentRuntime();Q=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!J)u+=`var DATA;
|
|
347
351
|
_setDataSection();
|
|
348
|
-
`,
|
|
349
|
-
`;if(this._stmtEntries=
|
|
352
|
+
`,Q=!0;if(Q&&u.length>0)u+=`
|
|
353
|
+
`;if(this._stmtEntries=G,this._preambleLines=u.length===0?0:u.split(`
|
|
350
354
|
`).length-1,u+=Z,this.dataSection!==null&&this.dataSection!==void 0)u+=`
|
|
351
355
|
|
|
352
356
|
function _setDataSection() {
|
|
353
357
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
354
|
-
}`;return u}generateBinaryOp(f,w,A,_){if((f==="+"||f==="-")&&w.length===1)return`(${f}${this.generate(w[0],"value")})`;let[u,$]=w;if(f==="*"){let U=u?.valueOf?.()??u;if(typeof U==="string"&&/^["']/.test(U))return`${this.generate(u,"value")}.repeat(${this.generate($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let U=u[0]?.valueOf?.()??u[0];if(F.has(U)){let W=this.generate(u[1],"value"),Z=this.generate(u[2],"value"),Y=this.generate($,"value");return`((${W} ${U} ${Z}) && (${Z} ${f} ${Y}))`}}if(f==="!?"){let U=this.generate(u,"value"),W=this.generate($,"value");return`(${U} !== undefined ? ${U} : ${W})`}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.generate(u,"value")} ${f} ${this.generate($,"value")})`}generateModulo(f,w){let[A,_]=w;return this.helpers.add("modulo"),`modulo(${this.generate(A,"value")}, ${this.generate(_,"value")})`}generateModuloAssign(f,w){let[A,_]=w;this.helpers.add("modulo");let u=this.generate(A,"value"),$=this.generate(_,"value");return`${u} = modulo(${u}, ${$})`}generateFloorDiv(f,w){let[A,_]=w;return`Math.floor(${this.generate(A,"value")} / ${this.generate(_,"value")})`}generateFloorDivAssign(f,w){let[A,_]=w,u=this.generate(A,"value"),$=this.generate(_,"value");return`${u} = Math.floor(${u} / ${$})`}generateAssignment(f,w,A,_){let[u,$]=w,F=f==="?="?"??=":f,U=this._findOptionalInTarget(u);if(U){let Q=this.generate(U.guard,"value"),q=this.generate(U.rewritten,"value"),X=this.generate($,"value");if(A==="value")return`(${Q} != null ? (${q} ${F} ${X}) : undefined)`;return`if (${Q} != null) ${q} ${F} ${X}`}let W=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&t(u,"await")!==void 0&&!W){let Q=t(u,"await")===!0?"!":"&";throw Error(`Cannot use ${Q} sigil in variable declaration '${m(u)}'.`)}if(u instanceof String&&t(u,"await")===!0&&W)this.nextFunctionIsVoid=!0;let Z=this.is(u,"array",0),Y=this.is(u,"object",0);if(Z||Y){let Q=this.generate($,"value");return Y&&A==="statement"?`(${Q})`:Q}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,Q,q,X]=$,G=m(Q),I=X[0]==="return",E=this.generate(u,"value"),K=this.generate(q,"value"),H=X.length>1?X[1]:null,P=I?H?`return ${this.generate(H,"value")}`:"return":H?`throw ${this.generate(H,"value")}`:"throw new Error()";if(A==="value"){if(G==="??")return`(() => { const __v = ${K}; if (__v == null) ${P}; return (${E} = __v); })()`;if(G==="||")return`(() => { const __v = ${K}; if (!__v) ${P}; return (${E} = __v); })()`;return`(() => { const __v = ${K}; if (__v) ${P}; return (${E} = __v); })()`}if(G==="??")return`if ((${E} = ${K}) == null) ${P}`;if(G==="||")return`if (!(${E} = ${K})) ${P}`;return`if ((${E} = ${K})) ${P}`}if(this.is(u,"array")){let Q=u.slice(1).findIndex((q)=>this.is(q,"...")||q==="...");if(Q!==-1&&Q<u.length-2){let q=u.slice(1),X=q.slice(Q+1),G=X.length;if(G>0){let I=this.generate($,"value"),K=q.slice(0,Q).map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),H=X.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");this.helpers.add("slice"),q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])});let P=q[Q],N=this.is(P,"...")?P[1]:null,L=[];if(K)L.push(`[${K}] = ${I}`);if(N)L.push(`[...${N}] = ${I}.slice(${Q}, -${G})`);return L.push(`[${H}] = slice.call(${I}, -${G})`),L.join(", ")}}}if(A==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[Q,q,X]=$;if(this.is(X,"if")&&X.length===3){let[,G,I]=X,E=Array.isArray(I)&&I.length===1?I[0]:I,K=[Q,q,E],H=this.generate(u,"value"),P=this.generate(G,"value"),N=this.generate(K,"value");return`if (${P}) ${H} = ${N}`}}if(A==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[Q,q,X]=$,G=Array.isArray(X)&&X.length===1&&(!Array.isArray(X[0])||X[0][0]!=="block");if(Q==="if"&&G){let I=Array.isArray(X)&&X.length===1?X[0]:X,E=this.generate(u,"value"),K=this.unwrapLogical(this.generate(q,"value")),H=this.generate(I,"value");return`if (${K}) ${E} = ${H}`}}let R;if(u instanceof String&&t(u,"await")!==void 0)R=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))R=`${u}.value`;else R=this.generate(u,"value");let z=this._componentName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u);let M=this.generate($,"value");if(this._componentName=z,!this.is($,"object"))M=this.unwrap(M);let J=A==="value",O=A==="statement"&&this.is(u,"object");if(J||O)return`(${R} ${F} ${M})`;return`${R} ${F} ${M}`}generatePropertyAccess(f,w,A,_){let[u,$]=w;if(this._atParamMap&&u==="this"){let Z=this._atParamMap.get(m($));if(Z)return Z}let F=this.generate(u,"value"),W=f1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(t($,"await")===!0)return`await ${W}.${m($)}()`;if(t($,"predicate"))return`(${W}.${m($)} != null)`;return`${W}.${m($)}`}generateOptionalProperty(f,w){let[A,_]=w;return`${this.generate(A,"value")}?.${_}`}generateRegexIndex(f,w){let[A,_,u]=w;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.generate(A,"value"),F=this.generate(_,"value"),U=u!==null?this.generate(u,"value"):"0",W=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${W}).match(${F})) && _[${U}]`}generateIndexAccess(f,w){let[A,_]=w;if(this.is(_,"..")||this.is(_,"...")){let u=_[0]==="..",$=this.generate(A,"value"),[F,U]=_.slice(1),W=(z)=>{if(z===null)return null;let M=m(z)??z;if(typeof M==="number")return M;if(typeof M==="string"&&/^\d+$/.test(M))return+M;if(Array.isArray(z)&&z[0]==="-"&&z.length===2){let D=m(z[1])??z[1];if(typeof D==="number")return-D;if(typeof D==="string"&&/^\d+$/.test(D))return-D}return null},Z=(z,M,D)=>{let J=W(D);if(J!==null&&J!==-1)return`${$}.slice(${z}, ${J+1})`;return`${$}.slice(${z}, +${M} + 1 || 9e9)`};if(F===null&&U===null)return`${$}.slice()`;if(F===null){if(u&&this.is(U,"-",1)&&(m(U[1])??U[1])==1)return`${$}.slice(0)`;let z=this.generate(U,"value");return u?Z("0",z,U):`${$}.slice(0, ${z})`}if(U===null)return`${$}.slice(${this.generate(F,"value")})`;let Y=this.generate(F,"value");if(u&&this.is(U,"-",1)&&(m(U[1])??U[1])==1)return`${$}.slice(${Y})`;let R=this.generate(U,"value");return u?Z(Y,R,U):`${$}.slice(${Y}, ${R})`}if(this.is(_,"-",1)){let u=m(_[1])??_[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(A,"value")}.at(-${u})`}return`${this.generate(A,"value")}[${this.unwrap(this.generate(_,"value"))}]`}generateOptIndex(f,w){let[A,_]=w;if(this.is(_,"-",1)){let u=m(_[1])??_[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(A,"value")}?.at(-${u})`}return`${this.generate(A,"value")}?.[${this.generate(_,"value")}]`}generateOptCall(f,w){let[A,..._]=w;return`${this.generate(A,"value")}?.(${_.map((u)=>this.generate(u,"value")).join(", ")})`}generateDef(f,w,A,_){let[u,$,F]=w,U=t(u,"await")===!0,W=m(u),Z=this.generateParamList($),Y=this.generateFunctionBody(F,$,U),R=this.containsAwait(F),z=this.containsYield(F);return`${R?"async ":""}function${z?"*":""} ${W}(${Z}) ${Y}`}generateThinArrow(f,w,A,_){let[u,$]=w;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let U=this.generateParamList(u),W=this.generateFunctionBody($,u,F),Z=this.containsAwait($),Y=this.containsYield($),R=`${Z?"async ":""}function${Y?"*":""}(${U}) ${W}`;return A==="value"?`(${R})`:R}generateFatArrow(f,w,A,_){let[u,$]=w;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let U=this.generateParamList(u),Z=u.length===1&&typeof u[0]==="string"&&!U.includes("=")&&!U.includes("...")&&!U.includes("[")&&!U.includes("{")?U:`(${U})`,R=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let M=$[1],D=Array.isArray(M)?M[0]:null;if(D!=="return"&&!G4.has(D)){let J=this.generate(M,"value");if(J[0]==="{")J=`(${J})`;return`${R}${Z} => ${J}`}}if(!Array.isArray($)||$[0]!=="block"){let M=this.generate($,"value");if(M[0]==="{")M=`(${M})`;return`${R}${Z} => ${M}`}}let z=this.generateFunctionBody($,u,F);return`${R}${Z} => ${z}`}generateReturn(f,w,A,_){if(w.length===0)return"return";let[u]=w;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))throw Error("Cannot return a value from a void function (declared with !)");if(this.is(u,"if")){let[,$,F,...U]=u;if(U.length===0){let W=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.generate($,"value")}) return ${this.generate(W,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[1],U=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.generate($,"value")}) return ${this.generate(["new",U],"value")}`}return`return ${this.generate(u,"value")}`}generateState(f,w){let[A,_]=w;this.usesReactivity=!0;let u=m(A)??A;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.generate(_,"value")})`}generateComputed(f,w){let[A,_]=w;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(A)??A;if(this.reactiveVars.add(u),this.is(_,"block")&&_.length>2)return`const ${u} = __computed(() => ${this.generateFunctionBody(_)})`;return`const ${u} = __computed(() => ${this.generate(_,"value")})`}generateReadonly(f,w){let[A,_]=w;return`const ${m(A)??A} = ${this.generate(_,"value")}`}generateEffect(f,w){let[A,_]=w;this.usesReactivity=!0;let u;if(this.is(_,"block"))u=this.generateFunctionBody(_);else if(this.is(_,"->")||this.is(_,"=>")){let F=this.generate(_,"value");if(A)return`const ${m(A)??this.generate(A,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.generate(_,"value")}; }`;let $=`__effect(() => ${u})`;if(A)return`const ${m(A)??this.generate(A,"value")} = ${$}`;return $}generateBreak(){return"break"}generateContinue(){return"continue"}generateExistential(f,w){return`(${this.generate(w[0],"value")} != null)`}generateDefined(f,w){return`(${this.generate(w[0],"value")} !== undefined)`}generatePresence(f,w){return`(${this.generate(w[0],"value")} ? true : undefined)`}generateTernary(f,w,A){let[_,u,$]=w;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let U=this.generate(u[1],"value"),W=this.generate(u[2],"value"),Z=this.generate($,"value");return`${U} = (${this.unwrap(this.generate(_,"value"))} ? ${W} : ${Z})`}return`(${this.unwrap(this.generate(_,"value"))} ? ${this.generate(u,"value")} : ${this.generate($,"value")})`}generatePipe(f,w){let[A,_]=w,u=this.generate(A,"value");if(Array.isArray(_)&&_.length>1){let $=_[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let U=this.generate($,"value"),W=_.slice(1).map((Z)=>this.generate(Z,"value"));return`${U}(${u}, ${W.join(", ")})`}}return`${this.generate(_,"value")}(${u})`}generateLoop(f,w){return`while (true) ${this.generateLoopBody(w[0])}`}generateLoopN(f,w){let[A,_]=w;return`for (let it = 0; it < ${this.generate(A,"value")}; it++) ${this.generateLoopBody(_)}`}generateAwait(f,w){return`await ${this.generate(w[0],"value")}`}generateYield(f,w){return w.length===0?"yield":`yield ${this.generate(w[0],"value")}`}generateYieldFrom(f,w){return`yield* ${this.generate(w[0],"value")}`}generateIf(f,w,A,_){let[u,$,...F]=w;return A==="value"?this.generateIfAsExpression(u,$,F):this.generateIfAsStatement(u,$,F)}generateForIn(f,w,A,_){let[u,$,F,U,W]=w;if(A==="value"&&this.comprehensionDepth===0){let O=["for-in",u,$,F];return this.generate(["comprehension",W,[O],U?[U]:[]],A)}let Z=Array.isArray(u)?u:[u],Y=Z.length===0,[R,z]=Y?["_i",null]:Z,M=this.is(R,"array")||this.is(R,"object")?this.generateDestructuringPattern(R):R;if(F&&F!==null){let O=this.generate($,"value"),Q=z||"_i",q=this.generate(F,"value"),X=this.is(F,"-",1),G=X&&(F[1]==="1"||F[1]===1||m(F[1])==="1"),I=!X&&(F==="1"||F===1||m(F)==="1"),E;if(G)E=`for (let ${Q} = ${O}.length - 1; ${Q} >= 0; ${Q}--) `;else if(I)E=`for (let ${Q} = 0; ${Q} < ${O}.length; ${Q}++) `;else if(X)E=`for (let ${Q} = ${O}.length - 1; ${Q} >= 0; ${Q} += ${q}) `;else E=`for (let ${Q} = 0; ${Q} < ${O}.length; ${Q} += ${q}) `;if(this.is(W,"block")){let K=W.slice(1);this.indentLevel++;let H=[];if(!Y)H.push(`const ${M} = ${O}[${Q}];`);if(U)H.push(`if (${this.generate(U,"value")}) {`),this.indentLevel++,H.push(...this.formatStatements(K)),this.indentLevel--,H.push(this.indent()+"}");else H.push(...K.map((P)=>this.addSemicolon(P,this.generate(P,"statement"))));return this.indentLevel--,E+`{
|
|
355
|
-
${
|
|
358
|
+
}`;return u}emitBinaryOp(f,_,U,w){if((f==="+"||f==="-")&&_.length===1)return`(${f}${this.emit(_[0],"value")})`;let[u,$]=_;if(f==="*"){let F=u?.valueOf?.()??u;if(typeof F==="string"&&/^["']/.test(F))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let W=new Set(["<",">","<=",">="]);if(W.has(f)&&Array.isArray(u)){let F=u[0]?.valueOf?.()??u[0];if(W.has(F)){let A=this.emit(u[1],"value"),Y=this.emit(u[2],"value"),G=this.emit($,"value");return`((${A} ${F} ${Y}) && (${Y} ${f} ${G}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,_){let[U,w]=_;return this.helpers.add("modulo"),`modulo(${this.emit(U,"value")}, ${this.emit(w,"value")})`}emitModuloAssign(f,_){let[U,w]=_;this.helpers.add("modulo");let u=this.emit(U,"value"),$=this.emit(w,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,_){let[U,w]=_;return`Math.floor(${this.emit(U,"value")} / ${this.emit(w,"value")})`}emitFloorDivAssign(f,_){let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,_,U,w){let[u,$]=_,W=f==="?="?"??=":f,F=this._findOptionalInTarget(u);if(F){let O=this.emit(F.guard,"value"),D=this.emit(F.rewritten,"value"),I=this.emit($,"value");if(U==="value")return`(${O} != null ? (${D} ${W} ${I}) : undefined)`;return`if (${O} != null) ${D} ${W} ${I}`}let A=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&$1(u,"await")!==void 0&&!A){let O=$1(u,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${c(u)}'`,w)}if(u instanceof String&&$1(u,"await")===!0&&A)this.nextFunctionIsVoid=!0;let Y=this.is(u,"array",0),G=this.is(u,"object",0);if(Y||G){let O=this.emit($,"value");return G&&U==="statement"?`(${O})`:O}if(Array.isArray($)&&W==="="&&$[0]==="control"){let[,O,D,I]=$,B=c(O),H=I[0]==="return",X=this.emit(u,"value"),P=this.emit(D,"value"),S=I.length>1?I[1]:null,E=H?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(U==="value"){if(B==="??")return`(() => { const __v = ${P}; if (__v == null) ${E}; return (${X} = __v); })()`;if(B==="||")return`(() => { const __v = ${P}; if (!__v) ${E}; return (${X} = __v); })()`;return`(() => { const __v = ${P}; if (__v) ${E}; return (${X} = __v); })()`}let L=typeof u==="string"?u:u instanceof String?c(u):null;if(L&&U==="statement"&&this._inlineVarsPending?.delete(L)){let T=this.indent();if(B==="??")return`let ${X} = ${P};
|
|
359
|
+
${T}if (${X} == null) ${E}`;if(B==="||")return`let ${X} = ${P};
|
|
360
|
+
${T}if (!${X}) ${E}`;return`let ${X} = ${P};
|
|
361
|
+
${T}if (${X}) ${E}`}if(B==="??")return`if ((${X} = ${P}) == null) ${E}`;if(B==="||")return`if (!(${X} = ${P})) ${E}`;return`if ((${X} = ${P})) ${E}`}if(this.is(u,"array")){let O=u.slice(1).findIndex((D)=>this.is(D,"...")||D==="...");if(O!==-1&&O<u.length-2){let D=u.slice(1),I=D.slice(O+1),B=I.length;if(B>0){let H=this.emit($,"value"),P=D.slice(0,O).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),S=I.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),D.forEach((C)=>{if(C===","||C==="...")return;if(typeof C==="string")this.programVars.add(C);else if(this.is(C,"...")&&typeof C[1]==="string")this.programVars.add(C[1])});let E=D[O],L=this.is(E,"...")?E[1]:null,T=[];if(P)T.push(`[${P}] = ${H}`);if(L)T.push(`[...${L}] = ${H}.slice(${O}, -${B})`);return T.push(`[${S}] = slice.call(${H}, -${B})`),T.join(", ")}}}if(U==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[O,D,I]=$;if(this.is(I,"if")&&I.length===3){let[,B,H]=I,X=Array.isArray(H)&&H.length===1?H[0]:H,P=[O,D,X],S=this.emit(u,"value"),E=this.emit(B,"value"),L=this.emit(P,"value"),T=typeof u==="string"?u:u instanceof String?c(u):null;if(T&&this._inlineVarsPending?.delete(T))return`let ${S};
|
|
362
|
+
${this.indent()}if (${E}) ${S} = ${L}`;return`if (${E}) ${S} = ${L}`}}if(U==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[O,D,I]=$,B=Array.isArray(I)&&I.length===1&&(!Array.isArray(I[0])||I[0][0]!=="block");if(O==="if"&&B){let H=Array.isArray(I)&&I.length===1?I[0]:I,X=this.emit(u,"value"),P=this.unwrapLogical(this.emit(D,"value")),S=this.emit(H,"value"),E=typeof u==="string"?u:u instanceof String?c(u):null;if(E&&this._inlineVarsPending?.delete(E))return`let ${X};
|
|
363
|
+
${this.indent()}if (${P}) ${X} = ${S}`;return`if (${P}) ${X} = ${S}`}}let Z;if(u instanceof String&&$1(u,"await")!==void 0)Z=c(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))Z=`${u}.value`;else Z=this.emit(u,"value");let Q=this._componentName,J=this._componentTypeParams;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=c(u),this._componentTypeParams=u.typeParams||"";let M=this.emit($,"value");if(this._componentName=Q,this._componentTypeParams=J,!this.is($,"object"))M=this.unwrap(M);let R=typeof u==="string"?u:u instanceof String?c(u):null;if(f==="="&&R&&U==="statement"&&this._inlineVarsPending?.delete(R))return`let ${Z} = ${M}`;let z=U==="value",q=U==="statement"&&this.is(u,"object");if(z||q)return`(${Z} ${W} ${M})`;return`${Z} ${W} ${M}`}emitPropertyAccess(f,_,U,w){let[u,$]=_;if(this._atParamMap&&u==="this"){let Y=this._atParamMap.get(c($));if(Y)return Y}let W=this.emit(u,"value"),A=w1.NUMBER_LITERAL_RE.test(W)||W.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${W})`:W;if($1($,"await")===!0)return`await ${A}.${c($)}()`;if($1($,"predicate"))return`(${A}.${c($)} != null)`;return`${A}.${c($)}`}emitOptionalProperty(f,_){let[U,w]=_;return`${this.emit(U,"value")}?.${w}`}emitRegexIndex(f,_){let[U,w,u]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(U,"value"),W=this.emit(w,"value"),F=u!==null?this.emit(u,"value"):"0",A=W.includes("/m")?", true":"";return`(_ = toMatchable(${$}${A}).match(${W})) && _[${F}]`}emitIndexAccess(f,_){let[U,w]=_;if(this.is(w,"..")||this.is(w,"...")){let u=w[0]==="..",$=this.emit(U,"value"),[W,F]=w.slice(1),A=(Q)=>{if(Q===null)return null;let J=c(Q)??Q;if(typeof J==="number")return J;if(typeof J==="string"&&/^\d+$/.test(J))return+J;if(Array.isArray(Q)&&Q[0]==="-"&&Q.length===2){let M=c(Q[1])??Q[1];if(typeof M==="number")return-M;if(typeof M==="string"&&/^\d+$/.test(M))return-M}return null},Y=(Q,J,M)=>{let K=A(M);if(K!==null&&K!==-1)return`${$}.slice(${Q}, ${K+1})`;return`${$}.slice(${Q}, +${J} + 1 || 9e9)`};if(W===null&&F===null)return`${$}.slice()`;if(W===null){if(u&&this.is(F,"-",1)&&(c(F[1])??F[1])==1)return`${$}.slice(0)`;let Q=this.emit(F,"value");return u?Y("0",Q,F):`${$}.slice(0, ${Q})`}if(F===null)return`${$}.slice(${this.emit(W,"value")})`;let G=this.emit(W,"value");if(u&&this.is(F,"-",1)&&(c(F[1])??F[1])==1)return`${$}.slice(${G})`;let Z=this.emit(F,"value");return u?Y(G,Z,F):`${$}.slice(${G}, ${Z})`}if(this.is(w,"-",1)){let u=c(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(U,"value")}.at(-${u})`}return`${this.emit(U,"value")}[${this.unwrap(this.emit(w,"value"))}]`}emitOptIndex(f,_){let[U,w]=_;if(this.is(w,"-",1)){let u=c(w[1])??w[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(U,"value")}?.at(-${u})`}return`${this.emit(U,"value")}?.[${this.emit(w,"value")}]`}emitOptCall(f,_){let[U,...w]=_;return`${this.emit(U,"value")}?.(${w.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,_,U,w){let[u,$,W]=_,F=$1(u,"await")===!0,A=c(u),Y=this.emitParamList($),G=this.emitFunctionBody(W,$,F),Z=this.containsAwait(W),Q=this.containsYield(W);return`${Z?"async ":""}function${Q?"*":""} ${A}(${Y}) ${G}`}emitThinArrow(f,_,U,w){let[u,$]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let F=this.emitParamList(u),A=this.emitFunctionBody($,u,W),Y=this.containsAwait($),G=this.containsYield($),Z=`${Y?"async ":""}function${G?"*":""}(${F}) ${A}`;return U==="value"?`(${Z})`:Z}emitFatArrow(f,_,U,w){let[u,$]=_;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let W=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let F=this.emitParamList(u),Y=u.length===1&&typeof u[0]==="string"&&!F.includes("=")&&!F.includes("...")&&!F.includes("[")&&!F.includes("{")?F:`(${F})`,Z=this.containsAwait($)?"async ":"";if(!W){if(this.is($,"block")&&$.length===2){let J=$[1],M=Array.isArray(J)?J[0]:null;if(M!=="return"&&!F4.has(M)){let K=this.emit(J,"value");if(K[0]==="{")K=`(${K})`;return`${Z}${Y} => ${K}`}}if(!Array.isArray($)||$[0]!=="block"){let J=this.emit($,"value");if(J[0]==="{")J=`(${J})`;return`${Z}${Y} => ${J}`}}let Q=this.emitFunctionBody($,u,W);return`${Z}${Y} => ${Q}`}emitReturn(f,_,U,w){if(_.length===0)return"return";let[u]=_;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",w);if(this.is(u,"if")){let[,$,W,...F]=u;if(F.length===0){let A=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.emit($,"value")}) return ${this.emit(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,W]=u[1],F=Array.isArray(W)&&W.length===1?W[0]:W;return`if (${this.emit($,"value")}) return ${this.emit(["new",F],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,_){let[U,w]=_;this.usesReactivity=!0;let u=c(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(w,"value")})`}emitComputed(f,_){let[U,w]=_;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=c(U)??U;if(this.reactiveVars.add(u),this.is(w,"block")&&w.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(w)})`;return`const ${u} = __computed(() => ${this.emit(w,"value")})`}emitReadonly(f,_){let[U,w]=_;return`const ${c(U)??U} = ${this.emit(w,"value")}`}emitEffect(f,_){let[U,w]=_;this.usesReactivity=!0;let u;if(this.is(w,"block"))u=this.emitFunctionBody(w);else if(this.is(w,"->")||this.is(w,"=>")){let W=this.emit(w,"value");if(U)return`const ${c(U)??this.emit(U,"value")} = __effect(${W})`;return`__effect(${W})`}else u=`{ ${this.emit(w,"value")}; }`;let $=`__effect(() => ${u})`;if(U)return`const ${c(U)??this.emit(U,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,_){return`(${this.emit(_[0],"value")} != null)`}emitPresence(f,_){return`(${this.emit(_[0],"value")} ? true : undefined)`}emitTernary(f,_,U){let[w,u,$]=_;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let F=this.emit(u[1],"value"),A=this.emit(u[2],"value"),Y=this.emit($,"value");return`${F} = (${this.unwrap(this.emit(w,"value"))} ? ${A} : ${Y})`}return`(${this.unwrap(this.emit(w,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,_){let[U,w]=_,u=this.emit(U,"value");if(Array.isArray(w)&&w.length>1){let $=w[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let F=this.emit($,"value"),A=w.slice(1).map((Y)=>this.emit(Y,"value"));return`${F}(${u}, ${A.join(", ")})`}}return`${this.emit(w,"value")}(${u})`}emitLoop(f,_){return`while (true) ${this.emitLoopBody(_[0])}`}emitLoopN(f,_){let[U,w]=_;return`for (let it = 0; it < ${this.emit(U,"value")}; it++) ${this.emitLoopBody(w)}`}emitAwait(f,_){return`await ${this.emit(_[0],"value")}`}emitYield(f,_){return _.length===0?"yield":`yield ${this.emit(_[0],"value")}`}emitYieldFrom(f,_){return`yield* ${this.emit(_[0],"value")}`}emitIf(f,_,U,w){let[u,$,...W]=_;return U==="value"?this.emitIfAsExpression(u,$,W):this.emitIfAsStatement(u,$,W)}emitForIn(f,_,U,w){let[u,$,W,F,A]=_;if(U==="value"&&this.comprehensionDepth===0){let R=["for-in",u,$,W];return this.emit(["comprehension",A,[R],F?[F]:[]],U)}let Y=Array.isArray(u)?u:[u],G=Y.length===0,[Z,Q]=G?["_i",null]:Y,J=this.is(Z,"array")||this.is(Z,"object")?this.emitDestructuringPattern(Z):Z;if(W&&W!==null){let R=this.emit($,"value"),z=Q||"_i",q=this.emit(W,"value"),O=this.is(W,"-",1),D=O&&(W[1]==="1"||W[1]===1||c(W[1])==="1"),I=!O&&(W==="1"||W===1||c(W)==="1"),B;if(D)B=`for (let ${z} = ${R}.length - 1; ${z} >= 0; ${z}--) `;else if(I)B=`for (let ${z} = 0; ${z} < ${R}.length; ${z}++) `;else if(O)B=`for (let ${z} = ${R}.length - 1; ${z} >= 0; ${z} += ${q}) `;else B=`for (let ${z} = 0; ${z} < ${R}.length; ${z} += ${q}) `;if(this.is(A,"block")){let H=A.slice(1);this.indentLevel++;let X=[];if(!G)X.push(`const ${J} = ${R}[${z}];`);if(F)X.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,X.push(...this.formatStatements(H)),this.indentLevel--,X.push(this.indent()+"}");else X.push(...H.map((P)=>this.addSemicolon(P,this.emit(P,"statement"))));return this.indentLevel--,B+`{
|
|
364
|
+
${X.map((P)=>this.indent()+P).join(`
|
|
356
365
|
`)}
|
|
357
|
-
${this.indent()}}`}if(
|
|
358
|
-
`,this.indentLevel++,
|
|
359
|
-
`,
|
|
360
|
-
`,this.indentLevel++,
|
|
366
|
+
${this.indent()}}`}if(G)return F?B+`{ if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:B+`{ ${this.emit(A,"statement")}; }`;return F?B+`{ const ${J} = ${R}[${z}]; if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:B+`{ const ${J} = ${R}[${z}]; ${this.emit(A,"statement")}; }`}if(Q){let R=this.emit($,"value"),z=`for (let ${Q} = 0; ${Q} < ${R}.length; ${Q}++) `;if(this.is(A,"block")){if(z+=`{
|
|
367
|
+
`,this.indentLevel++,z+=this.indent()+`const ${J} = ${R}[${Q}];
|
|
368
|
+
`,F)z+=this.indent()+`if (${this.unwrap(this.emit(F,"value"))}) {
|
|
369
|
+
`,this.indentLevel++,z+=this.formatStatements(A.slice(1)).join(`
|
|
361
370
|
`)+`
|
|
362
|
-
`,this.indentLevel--,
|
|
363
|
-
`;else
|
|
371
|
+
`,this.indentLevel--,z+=this.indent()+`}
|
|
372
|
+
`;else z+=this.formatStatements(A.slice(1)).join(`
|
|
364
373
|
`)+`
|
|
365
|
-
`;this.indentLevel--,
|
|
366
|
-
${
|
|
374
|
+
`;this.indentLevel--,z+=this.indent()+"}"}else z+=F?`{ const ${J} = ${R}[${Q}]; if (${this.unwrap(this.emit(F,"value"))}) ${this.emit(A,"statement")}; }`:`{ const ${J} = ${R}[${Q}]; ${this.emit(A,"statement")}; }`;return z}let M=Array.isArray($)&&$[0];if(M instanceof String)M=c(M);if(M===".."||M==="..."){let R=M==="...",[z,q]=$.slice(1),O=(D)=>typeof D==="number"||typeof D==="string"&&!D.includes("(")||D instanceof String&&!c(D).includes("(")||this.is(D,".");if(O(z)&&O(q)){let D=this.emit(z,"value"),I=this.emit(q,"value"),B=R?"<":"<=",H=W?`${J} += ${this.emit(W,"value")}`:`${J}++`,X=`for (let ${J} = ${D}; ${J} ${B} ${I}; ${H}) `;return X+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),X}}let K=`for (const ${J} of ${this.emit($,"value")}) `;return K+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),K}emitForOf(f,_,U,w){let[u,$,W,F,A]=_;if(U==="value"&&this.comprehensionDepth===0){let J=["for-of",u,$,W];return this.emit(["comprehension",A,[J],F?[F]:[]],U)}let[Y,G]=Array.isArray(u)?u:[u],Z=this.emit($,"value"),Q=`for (const ${Y} in ${Z}) `;if(W&&!G&&!F){if(this.is(A,"block")){this.indentLevel++;let J=[`if (!Object.hasOwn(${Z}, ${Y})) continue;`,...A.slice(1).map((M)=>this.addSemicolon(M,this.emit(M,"statement")))];return this.indentLevel--,Q+`{
|
|
375
|
+
${J.map((M)=>this.indent()+M).join(`
|
|
367
376
|
`)}
|
|
368
|
-
${this.indent()}}`}return
|
|
369
|
-
${
|
|
377
|
+
${this.indent()}}`}return Q+`{ if (!Object.hasOwn(${Z}, ${Y})) continue; ${this.emit(A,"statement")}; }`}if(G){if(this.is(A,"block")){let M=A.slice(1);this.indentLevel++;let K=[];if(W)K.push(`if (!Object.hasOwn(${Z}, ${Y})) continue;`);if(K.push(`const ${G} = ${Z}[${Y}];`),F)K.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,K.push(...M.map((R)=>this.addSemicolon(R,this.emit(R,"statement")))),this.indentLevel--,K.push(this.indent()+"}");else K.push(...M.map((R)=>this.addSemicolon(R,this.emit(R,"statement"))));return this.indentLevel--,Q+`{
|
|
378
|
+
${K.map((R)=>this.indent()+R).join(`
|
|
370
379
|
`)}
|
|
371
|
-
${this.indent()}}`}let
|
|
372
|
-
${
|
|
380
|
+
${this.indent()}}`}let J="";if(W)J+=`if (!Object.hasOwn(${Z}, ${Y})) continue; `;if(J+=`const ${G} = ${Z}[${Y}]; `,F)J+=`if (${this.emit(F,"value")}) `;return J+=`${this.emit(A,"statement")};`,Q+`{ ${J} }`}return Q+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),Q}emitForAs(f,_,U,w){let u=Array.isArray(_[0])?_[0]:[_[0]],[$]=u,W=_[1],F=_[2],A=_[3],Y=_[4],G=!1,Z=[];if(this.is($,"array")){let R=$.slice(1),z=R.findIndex((q)=>this.is(q,"...")||q==="...");if(z!==-1&&z<R.length-1){G=!0;let q=R.slice(z+1),O=q.length,D=R.slice(0,z),I=R[z],B=this.is(I,"...")?I[1]:"_rest",H=D.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", "),X=H?`${H}, ...${B}`:`...${B}`,P=q.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", ");Z.push(`[${X}] = _item`),Z.push(`[${P}] = ${B}.splice(-${O})`),this.helpers.add("slice"),R.forEach((S)=>{if(S===","||S==="...")return;if(typeof S==="string")this.programVars.add(S);else if(this.is(S,"...")&&typeof S[1]==="string")this.programVars.add(S[1])})}}let Q=this.emit(W,"value"),J=F?"await ":"",M;if(G)M="_item";else if(this.is($,"array")||this.is($,"object"))M=this.emitDestructuringPattern($);else M=$;let K=`for ${J}(const ${M} of ${Q}) `;if(G&&Z.length>0){let R=this.unwrapBlock(Y),z=this.withIndent(()=>[...Z.map((q)=>this.indent()+q+";"),...this.formatStatements(R)]);K+=`{
|
|
381
|
+
${z.join(`
|
|
373
382
|
`)}
|
|
374
|
-
${this.indent()}}`}else
|
|
375
|
-
${this.withIndent(()=>this.formatStatements(
|
|
383
|
+
${this.indent()}}`}else K+=A?this.emitLoopBodyWithGuard(Y,A):this.emitLoopBody(Y);return K}emitWhile(f,_){let U=_[0],w=_.length===3?_[1]:null,u=_[_.length-1];return`while (${this.unwrap(this.emit(U,"value"))}) `+(w?this.emitLoopBodyWithGuard(u,w):this.emitLoopBody(u))}emitRange(f,_){if(f==="..."){if(_.length===1)return`...${this.emit(_[0],"value")}`;let[W,F]=_,A=this.emit(W,"value"),Y=this.emit(F,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${Y})`}let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}emitNot(f,_){let[U]=_;if(typeof U==="string"||U instanceof String)return`!${this.emit(U,"value")}`;if(Array.isArray(U)){if([".","?.","[]","optindex","optcall"].includes(U[0]))return`!${this.emit(U,"value")}`}let w=this.emit(U,"value");return w.startsWith("(")?`!${w}`:`(!${w})`}emitBitwiseNot(f,_){return`(~${this.emit(_[0],"value")})`}emitIncDec(f,_){let[U,w]=_,u=this.emit(U,"value");return w?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,_){return`typeof ${this.emit(_[0],"value")}`}emitDelete(f,_){return`(delete ${this.emit(_[0],"value")})`}emitInstanceof(f,_,U,w){let[u,$]=_,W=$1(w[0],"invert"),F=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return W?`(!${F})`:F}emitIn(f,_,U,w){let[u,$]=_,W=this.emit(u,"value"),F=$1(w[0],"invert");if(this.is($,"object")){let G=`(${W} in ${this.emit($,"value")})`;return F?`(!${G})`:G}let A=this.emit($,"value"),Y=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${W}) : (${W} in ${A}))`;return F?`(!${Y})`:Y}emitOf(f,_,U,w){let[u,$]=_,W=this.emit(u,"value"),F=this.emit($,"value"),A=$1(w[0],"invert"),Y=`(${W} in ${F})`;return A?`(!${Y})`:Y}emitRegexMatch(f,_){let[U,w]=_;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(w,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(U,"value")}${$}).match(${u}))`}emitNew(f,_){let[U]=_;if(this.is(U,".")||this.is(U,"?.")){let[w,u,$]=U;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(U)){let[w,...u]=U;return`new ${this.emit(w,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(U,"value")}()`}emitLogicalAnd(f,_,U,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(f,_,U,w){let u=this.flattenBinaryChain(w).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" || ")})`}emitArray(f,_){let U=_.length>0&&_[_.length-1]===",",w=_.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return U?`[${w},]`:`[${w}]`}emitObject(f,_,U){if(_.length===1&&Array.isArray(_[0])&&Array.isArray(_[0][2])&&_[0][2][0]==="comprehension"){let[,u,$]=_[0],[,W,F,A]=$;return this.emit(["object-comprehension",u,W,F,A],U)}return`{${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,W,F]=u,A;if(this.is(W,"dynamicKey"))A=`[${this.emit(W[1],"value")}]`;else if(this.is(W,"str"))A=`[${this.emit(W,"value")}]`;else this.suppressReactiveUnwrap=!0,A=this.emit(W,"value"),this.suppressReactiveUnwrap=!1;let Y=this.emit(F,"value");if($==="=")return`${A} = ${Y}`;if($===":")return`${A}: ${Y}`;if(A===Y&&!Array.isArray(W))return A;return`${A}: ${Y}`}).join(", ")}}`}emitMap(f,_,U){if(_.length===0)return"new Map()";return`new Map([${_.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,W]=u,F;if(Array.isArray($))F=this.emit($,"value");else{let Y=c($)??$;F=!Y.startsWith('"')&&!Y.startsWith("'")&&!Y.startsWith("/")&&!w1.NUMBER_START_RE.test(Y)&&!W4.has(Y)?`"${Y}"`:this.emit($,"value")}let A=this.emit(W,"value");return`[${F}, ${A}]`}).join(", ")}])`}emitBlock(f,_,U){if(U==="statement")return`{
|
|
384
|
+
${this.withIndent(()=>this.formatStatements(_)).join(`
|
|
376
385
|
`)}
|
|
377
|
-
${this.indent()}}`;if(
|
|
378
|
-
${this.withIndent(()=>$.map((
|
|
386
|
+
${this.indent()}}`;if(_.length===0)return"undefined";if(_.length===1)return this.emit(_[0],U);let w=_[_.length-1];if(Array.isArray(w)&&["break","continue","return","throw"].includes(w[0])){let $=_.map((W)=>this.addSemicolon(W,this.emit(W,"statement")));return`{
|
|
387
|
+
${this.withIndent(()=>$.map((W)=>this.indent()+W).join(`
|
|
379
388
|
`))}
|
|
380
|
-
${this.indent()}}`}return`(${
|
|
381
|
-
${this.indent()} ${
|
|
382
|
-
${this.indent()}}`}}let u=`throw ${this.
|
|
383
|
-
`;this.indentLevel++;for(let
|
|
384
|
-
`}this.indentLevel++,
|
|
385
|
-
`,this.indentLevel++,
|
|
386
|
-
`;this.indentLevel++,this.comprehensionDepth++,
|
|
387
|
-
`;for(let
|
|
388
|
-
`,this.indentLevel++,
|
|
389
|
-
`}else if(
|
|
390
|
-
`,this.indentLevel++,
|
|
391
|
-
`;if(
|
|
392
|
-
`}else if(
|
|
393
|
-
`,this.indentLevel++}}for(let
|
|
394
|
-
`,this.indentLevel++;let
|
|
395
|
-
`;else if(Array.isArray(
|
|
396
|
-
`;else
|
|
397
|
-
`}else if(
|
|
398
|
-
`;else if(Array.isArray(
|
|
399
|
-
`;else
|
|
400
|
-
`;for(let
|
|
401
|
-
`;for(let
|
|
402
|
-
`;return
|
|
403
|
-
`,this.indentLevel--,this.comprehensionDepth--,
|
|
404
|
-
`;this.indentLevel++,
|
|
405
|
-
`;for(let
|
|
406
|
-
`,this.indentLevel++,
|
|
407
|
-
`;if(
|
|
408
|
-
`}}for(let
|
|
409
|
-
`,this.indentLevel++;
|
|
410
|
-
`;for(let
|
|
411
|
-
`;for(let
|
|
412
|
-
`;return
|
|
413
|
-
`,this.indentLevel--,
|
|
414
|
-
`,$.length>0&&Array.isArray($[0])){let
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
`;
|
|
420
|
-
`}
|
|
421
|
-
|
|
422
|
-
`;this.
|
|
423
|
-
`;else
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
`;if(
|
|
427
|
-
`;
|
|
428
|
-
`;
|
|
429
|
-
`;return}}if(
|
|
430
|
-
|
|
431
|
-
`;
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
`;
|
|
435
|
-
`;
|
|
436
|
-
`;
|
|
437
|
-
|
|
438
|
-
|
|
389
|
+
${this.indent()}}`}return`(${_.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,_,U){let w=U==="value",u="try ",$=_[0];if(u+=w&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,F]=_[1];if(u+=" catch",W&&(this.is(W,"object")||this.is(W,"array"))){u+=" (error)";let A=`(${this.emit(W,"value")} = error)`;F=this.is(F,"block")?["block",A,...F.slice(1)]:["block",A,F]}else if(W)u+=` (${W})`;u+=" "+(w&&this.is(F,"block")?this.emitBlockWithReturns(F):this.emit(F,"statement"))}else if(_.length===2)u+=" finally "+this.emit(_[1],"statement");if(_.length===3)u+=" finally "+this.emit(_[2],"statement");if(_.length===1)u+=" catch {}";if(w){let W=this.containsAwait(_[0])||_[1]&&this.containsAwait(_[1])||_[2]&&this.containsAwait(_[2]);return this.asyncIIFE(W,u)}return u}emitThrow(f,_,U){let[w]=_;if(Array.isArray(w)){let $=w,W=null;if(w[0]==="new"&&Array.isArray(w[1])&&w[1][0]==="if")W="new",$=w[1];else if(w[0]==="if")$=w;if($[0]==="if"){let[,F,A]=$,Y=Array.isArray(A)&&A.length===1?A[0]:A;w=W==="new"?["new",Y]:Y;let G=this.emit(F,"value"),Z=`throw ${this.emit(w,"value")}`;return`if (${G}) {
|
|
390
|
+
${this.indent()} ${Z};
|
|
391
|
+
${this.indent()}}`}}let u=`throw ${this.emit(w,"value")}`;return U==="value"?`(() => { ${u}; })()`:u}emitControl(f,_,U){let[w,u,$]=_,W=c(w),F=$[0]==="return",A=this.emit(u,"value"),Y=$.length>1?$[1]:null,G=F?Y?`return ${this.emit(Y,"value")}`:"return":Y?`throw ${this.emit(Y,"value")}`:"throw new Error()",Z=this.wrapForCondition(A);if(U==="value"){if(W==="??")return`(() => { const __v = ${A}; if (__v == null) ${G}; return __v; })()`;if(W==="||")return`(() => { const __v = ${A}; if (!__v) ${G}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${G}; return __v; })()`}if(W==="??")return`if (${Z} == null) ${G}`;if(W==="||")return`if (!${Z}) ${G}`;return`if (${Z}) ${G}`}emitSwitch(f,_,U){let[w,u,$]=_;if(w===null)return this.emitSwitchAsIfChain(u,$,U);let W=`switch (${this.emit(w,"value")}) {
|
|
392
|
+
`;this.indentLevel++;for(let F of u){let[,A,Y]=F;for(let G of A){let Z=c(G)??G,Q;if(Array.isArray(Z))Q=this.emit(Z,"value");else if(typeof Z==="string"&&(Z.startsWith('"')||Z.startsWith("'")))Q=`'${Z.slice(1,-1)}'`;else Q=this.emit(Z,"value");W+=this.indent()+`case ${Q}:
|
|
393
|
+
`}this.indentLevel++,W+=this.emitSwitchCaseBody(Y,U),this.indentLevel--}if($)W+=this.indent()+`default:
|
|
394
|
+
`,this.indentLevel++,W+=this.emitSwitchCaseBody($,U),this.indentLevel--;if(this.indentLevel--,W+=this.indent()+"}",U==="value"){let F=this.containsAwait(w)||u.some((A)=>this.containsAwait(A[1])||this.containsAwait(A[2]))||$&&this.containsAwait($);return this.asyncIIFE(F,W)}return W}emitWhen(f,_,U,w){this.error("when clause should be handled by switch",w)}_forInHeader(f,_,U){let w=Array.isArray(f)?f:[f],u=w.length===0,[$,W]=u?["_i",null]:w,F=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(U&&U!==null){let A=Array.isArray(_)&&_[0];if(A instanceof String)A=c(A);if(A===".."||A==="..."){let q=A==="...",[O,D]=_.slice(1),I=this.emit(O,"value"),B=this.emit(D,"value"),H=this.emit(U,"value");return{header:`for (let ${F} = ${I}; ${F} ${q?"<":"<="} ${B}; ${F} += ${H})`,setup:null}}let G=this.emit(_,"value"),Z=W||"_i",Q=this.emit(U,"value"),J=this.is(U,"-",1),M=J&&(U[1]==="1"||U[1]===1||c(U[1])==="1"),K=!J&&(U==="1"||U===1||c(U)==="1"),R=M?`${Z}--`:K?`${Z}++`:`${Z} += ${Q}`;return{header:J?`for (let ${Z} = ${G}.length - 1; ${Z} >= 0; ${R})`:`for (let ${Z} = 0; ${Z} < ${G}.length; ${R})`,setup:u?null:`const ${F} = ${G}[${Z}];`}}if(W){let A=this.emit(_,"value");return{header:`for (let ${W} = 0; ${W} < ${A}.length; ${W}++)`,setup:`const ${F} = ${A}[${W}];`}}return{header:`for (const ${F} of ${this.emit(_,"value")})`,setup:null}}_forOfHeader(f,_,U){let w=Array.isArray(f)?f:[f],[u,$]=w,W=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,F=this.emit(_,"value");return{header:`for (const ${W} in ${F})`,own:U,vv:$,oc:F,kvp:W}}_forAsHeader(f,_,U){let w=Array.isArray(f)?f:[f],[u]=w,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${U?"await ":""}(const ${$} of ${this.emit(_,"value")})`}}emitComprehension(f,_,U){let[w,u,$]=_;if(U==="statement")return this.emitComprehensionAsLoop(w,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(w,u,$,this.comprehensionTarget);let W=this.containsAwait(w)||u.some((G)=>this.containsAwait(G))||$.some((G)=>this.containsAwait(G)),F=this.asyncIIFEOpen(W)+`
|
|
395
|
+
`;this.indentLevel++,this.comprehensionDepth++,F+=this.indent()+`const result = [];
|
|
396
|
+
`;for(let G of u){let[Z,Q,J,M]=G;if(Z==="for-in"){let{header:K,setup:R}=this._forInHeader(Q,J,M);if(F+=this.indent()+K+` {
|
|
397
|
+
`,this.indentLevel++,R)F+=this.indent()+R+`
|
|
398
|
+
`}else if(Z==="for-of"){let{header:K,own:R,vv:z,oc:q,kvp:O}=this._forOfHeader(Q,J,M);if(F+=this.indent()+K+` {
|
|
399
|
+
`,this.indentLevel++,R)F+=this.indent()+`if (!Object.hasOwn(${q}, ${O})) continue;
|
|
400
|
+
`;if(z)F+=this.indent()+`const ${z} = ${q}[${O}];
|
|
401
|
+
`}else if(Z==="for-as"){let{header:K}=this._forAsHeader(Q,J,G[3]);F+=this.indent()+K+` {
|
|
402
|
+
`,this.indentLevel++}}for(let G of $)F+=this.indent()+`if (${this.emit(G,"value")}) {
|
|
403
|
+
`,this.indentLevel++;let A=(G)=>{if(typeof G==="string"&&(G==="break"||G==="continue"))return!0;if(!Array.isArray(G))return!1;if(["break","continue","return","throw"].includes(G[0]))return!0;if(G[0]==="if")return G.slice(1).some(A);return G.some(A)},Y=["for-in","for-of","for-as","while","loop"];if(this.is(w,"block"))for(let G=0;G<w.length-1;G++){let Z=w[G+1];if(G!==w.length-2||A(Z))F+=this.indent()+this.emit(Z,"statement")+`;
|
|
404
|
+
`;else if(Array.isArray(Z)&&Y.includes(Z[0]))F+=this.indent()+this.emit(Z,"statement")+`;
|
|
405
|
+
`;else F+=this.indent()+`result.push(${this.emit(Z,"value")});
|
|
406
|
+
`}else if(A(w))F+=this.indent()+this.emit(w,"statement")+`;
|
|
407
|
+
`;else if(Array.isArray(w)&&Y.includes(w[0]))F+=this.indent()+this.emit(w,"statement")+`;
|
|
408
|
+
`;else F+=this.indent()+`result.push(${this.emit(w,"value")});
|
|
409
|
+
`;for(let G=0;G<$.length;G++)this.indentLevel--,F+=this.indent()+`}
|
|
410
|
+
`;for(let G=0;G<u.length;G++)this.indentLevel--,F+=this.indent()+`}
|
|
411
|
+
`;return F+=this.indent()+`return result;
|
|
412
|
+
`,this.indentLevel--,this.comprehensionDepth--,F+=this.indent()+"})()",F}emitObjectComprehension(f,_,U){let[w,u,$,W]=_,F=this.containsAwait(w)||this.containsAwait(u)||$.some((Y)=>this.containsAwait(Y))||W.some((Y)=>this.containsAwait(Y)),A=this.asyncIIFEOpen(F)+`
|
|
413
|
+
`;this.indentLevel++,A+=this.indent()+`const result = {};
|
|
414
|
+
`;for(let Y of $){let[G,Z,Q,J]=Y;if(G==="for-of"){let[M,K]=Z,R=this.emit(Q,"value");if(A+=this.indent()+`for (const ${M} in ${R}) {
|
|
415
|
+
`,this.indentLevel++,J)A+=this.indent()+`if (!Object.hasOwn(${R}, ${M})) continue;
|
|
416
|
+
`;if(K)A+=this.indent()+`const ${K} = ${R}[${M}];
|
|
417
|
+
`}}for(let Y of W)A+=this.indent()+`if (${this.emit(Y,"value")}) {
|
|
418
|
+
`,this.indentLevel++;A+=this.indent()+`result[${this.emit(w,"value")}] = ${this.emit(u,"value")};
|
|
419
|
+
`;for(let Y=0;Y<W.length;Y++)this.indentLevel--,A+=this.indent()+`}
|
|
420
|
+
`;for(let Y=0;Y<$.length;Y++)this.indentLevel--,A+=this.indent()+`}
|
|
421
|
+
`;return A+=this.indent()+`return result;
|
|
422
|
+
`,this.indentLevel--,A+=this.indent()+"})()",A}emitClass(f,_,U){let[w,u,...$]=_,W=w?`class ${w}`:"class";if(u)W+=` extends ${this.emit(u,"value")}`;if(W+=` {
|
|
423
|
+
`,$.length>0&&Array.isArray($[0])){let F=$[0];if(F[0]==="block"){let A=F.slice(1);if(A.length>0&&Array.isArray(A[0])&&A[0][0]==="object"){let G=A[0].slice(1);this.indentLevel++,W+=this._emitClassMembers(G,u);for(let Z of A.slice(1))if(this.is(Z,"class")){let[,Q,J,...M]=Z;if(this.is(Q,".")&&Q[1]==="this")W+=this.indent()+`static ${Q[2]} = ${this.emit(["class",null,J,...M],"value")};
|
|
424
|
+
`;else W+=this.indent()+this.emit(Z,"statement")+`;
|
|
425
|
+
`}else W+=this.indent()+this.emit(Z,"statement")+`;
|
|
426
|
+
`;this.indentLevel--}else{this.indentLevel++;for(let G of A)if(this.is(G,"=")&&Array.isArray(G[1])&&G[1][0]==="."&&G[1][1]==="this")W+=this.indent()+`static ${G[1][2]} = ${this.emit(G[2],"value")};
|
|
427
|
+
`;else W+=this.indent()+this.emit(G,"statement")+`;
|
|
428
|
+
`;this.indentLevel--}}}return W+=this.indent()+"}",W}_emitClassMembers(f,_){let U="",w=[];for(let[,u,$]of f){let W=this.is(u,".")&&u[1]==="this",F=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is($,"=>")&&!W&&!F&&A!=="constructor")w.push(A)}for(let[,u,$]of f){let W=this.is(u,".")&&u[1]==="this",F=this.is(u,"computed"),A=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,Y,G]=$,Z=this.containsAwait(G),Q=this.containsYield(G),J=Y,M=[];if(A==="constructor"){let z=!!_,q=z?new Map:null;J=Y.map((O)=>{if(this.is(O,".")&&O[1]==="this"){let D=O[2],I=z?`_${D}`:D;if(M.push(`this.${D} = ${I}`),z)q.set(D,I);return I}if(this.is(O,"default")&&this.is(O[1],".")&&O[1][1]==="this"){let D=O[1][2],I=z?`_${D}`:D;if(M.push(`this.${D} = ${I}`),z)q.set(D,I);return["default",I,O[2]]}return O});for(let O of w)M.unshift(`this.${O} = this.${O}.bind(this)`);if(q?.size>0)this._atParamMap=q}let K=this.emitParamList(J),R=(W?"static ":"")+(Z?"async ":"")+(Q?"*":"");if(U+=this.indent()+`${R}${A}(${K}) `,!F)this.currentMethodName=A;U+=this.emitMethodBody(G,M,A==="constructor",J),this._atParamMap=null,this.currentMethodName=null,U+=`
|
|
429
|
+
`}else if(W)U+=this.indent()+`static ${A} = ${this.emit($,"value")};
|
|
430
|
+
`;else U+=this.indent()+`${A} = ${this.emit($,"value")};
|
|
431
|
+
`}return U}emitSuper(f,_){if(_.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let U=_.map((w)=>this.unwrap(this.emit(w,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${U})`;return`super(${U})`}emitImport(f,_,U,w){if(_.length===1){let F=`import(${this.emit(_[0],"value")})`;if($1(w[0],"await")===!0)return`(await ${F})`;return F}if(this.options.skipImports)return"";if(_.length===3){let[F,A,Y]=_,G=this.addJsExtensionAndAssertions(Y);if(A[0]==="*"&&A.length===2)return`import ${F}, * as ${A[1]} from ${G}`;let Z=A.map((Q)=>Array.isArray(Q)&&Q.length===2?`${Q[0]} as ${Q[1]}`:Q).join(", ");return`import ${F}, { ${Z} } from ${G}`}let[u,$]=_,W=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${W}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${W}`;return`import { ${u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ")} } from ${W}`}return`import ${this.emit(u,"value")} from ${W}`}emitExport(f,_){let[U]=_;if(this.options.skipExports){if(this.is(U,"=")){let w=this._componentName,u=this._componentTypeParams;if(this.is(U[2],"component"))this._componentName=c(U[1]),this._componentTypeParams=U[1]?.typeParams||"";let $=`const ${U[1]} = ${this.emit(U[2],"value")}`;return this._componentName=w,this._componentTypeParams=u,$}if(Array.isArray(U)&&U.every((w)=>typeof w==="string"))return"";return this.emit(U,"statement")}if(this.is(U,"=")){let w=this._componentName,u=this._componentTypeParams;if(this.is(U[2],"component"))this._componentName=c(U[1]),this._componentTypeParams=U[1]?.typeParams||"";let $=`export const ${U[1]} = ${this.emit(U[2],"value")}`;return this._componentName=w,this._componentTypeParams=u,$}if(Array.isArray(U)&&U.every((w)=>typeof w==="string"))return`export { ${U.join(", ")} }`;return`export ${this.emit(U,"statement")}`}emitExportDefault(f,_){let[U]=_;if(this.options.skipExports){if(this.is(U,"="))return`const ${U[1]} = ${this.emit(U[2],"value")}`;return this.emit(U,"statement")}if(this.is(U,"="))return`const ${U[1]} = ${this.emit(U[2],"value")};
|
|
432
|
+
export default ${U[1]}`;return`export default ${this.emit(U,"statement")}`}emitExportAll(f,_){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(_[0])}`}emitExportFrom(f,_){if(this.options.skipExports)return"";let[U,w]=_,u=this.addJsExtensionAndAssertions(w);if(Array.isArray(U))return`export { ${U.map((W)=>Array.isArray(W)&&W.length===2?`${W[0]} as ${W[1]}`:W).join(", ")} } from ${u}`;return`export ${U} from ${u}`}emitDoIIFE(f,_){return`(${this.emit(_[0],"statement")})()`}emitRegex(f,_){return _.length===0?f:this.emit(_[0],"value")}emitTaggedTemplate(f,_){let[U,w]=_,u=this.emit(U,"value"),$=this.emit(w,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,_){let U="`";for(let w of _)if(w instanceof String)U+=this.extractStringContent(w);else if(typeof w==="string")if(w.startsWith('"')||w.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",w);U+=w.slice(1,-1)}else U+=w;else if(Array.isArray(w))if(w.length===1&&typeof w[0]==="string"&&!Array.isArray(w[0])){let u=w[0];U+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=w.length===1&&Array.isArray(w[0])?w[0]:w;U+="${"+this.emit(u,"value")+"}"}return U+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let _=f[0];if(_==="if"&&f.length===3)return{type:_,condition:f[1],value:f[2]};if(_==="+"||_==="-"||_==="*"||_==="/")for(let U=1;U<f.length;U++){let w=this.findPostfixConditional(f[U]);if(w)return w.parentOp=_,w.operandIndex=U,w.otherOperands=f.slice(1).filter((u,$)=>$!==U-1),w}return null}rebuildWithoutConditional(f){let _=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,_];return _}_tryPostfixCall(f,_,U){if(U!=="statement"||_.length!==1)return null;let w=this.findPostfixConditional(_[0]);if(!w)return null;let u=this.rebuildWithoutConditional(w),$=this.emit(f,"value"),W=this.emit(w.condition,"value"),F=this.emit(u,"value");return`if (${W}) ${$}(${F})`}_emitArgs(f){return f.map((_)=>this.unwrap(this.emit(_,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let _=f.findIndex((w)=>this.is(w,"expansion"));if(_!==-1){let w=f.slice(0,_),u=f.slice(_+1),$=w.map((W)=>this.formatParam(W)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let U=f.findIndex((w)=>this.is(w,"rest"));if(U!==-1&&U<f.length-1){let w=f.slice(0,U),u=f[U],$=f.slice(U+1),W=w.map((F)=>this.formatParam(F));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:w.length},W.length>0?`${W.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((w)=>this.formatParam(w)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${f[1]} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((U)=>{if(U===",")return"";if(U==="...")return"";if(this.is(U,"..."))return`...${U[1]}`;if(this.is(U,"=")&&typeof U[1]==="string")return`${U[1]} = ${this.emit(U[2],"value")}`;if(typeof U==="string")return U;return this.formatParam(U)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((U)=>{if(this.is(U,"..."))return`...${U[1]}`;if(this.is(U,"default"))return`${U[1]} = ${this.emit(U[2],"value")}`;let[w,u,$]=U;if(w==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,_=[],U={}){let{sideEffectOnly:w=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:W=!1}=U,F=this.sideEffectOnly;this.sideEffectOnly=w;let A=new Set,Y=(K)=>{if(typeof K==="string")A.add(K);else if(Array.isArray(K)){if(K[0]==="rest"||K[0]==="..."){if(typeof K[1]==="string")A.add(K[1])}else if(K[0]==="default"){if(typeof K[1]==="string")A.add(K[1])}else if(K[0]==="array"||K[0]==="object")this.collectVarsFromArray(K,A)}};if(Array.isArray(_))_.forEach(Y);let G=this.collectFunctionVariables(f),Z=new Set([...G].filter((K)=>!this.programVars.has(K)&&!this.reactiveVars?.has(K)&&!A.has(K)&&!this.scopeStack.some((R)=>R.has(K)))),Q=["return","throw","break","continue"],J=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...Z,...A])),this.is(f,"block")){let K=this.unwrapBlock(f);if(W&&this.expansionAfterParams?.length>0)K=[...this.expansionAfterParams.map((H,X)=>{return`const ${typeof H==="string"?H:JSON.stringify(H)} = _rest[_rest.length - ${this.expansionAfterParams.length-X}]`}),...K],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:B,afterParams:H}=this.restMiddleParam,X=H.length,P=[];if(H.forEach((S,E)=>{let L=typeof S==="string"?S:this.is(S,"default")?S[1]:JSON.stringify(S);P.push(`const ${L} = ${B}[${B}.length - ${X-E}]`)}),X>0)P.push(`${B} = ${B}.slice(0, -${X})`);K=[...P,...K],this.restMiddleParam=null}let R=this._inlineVarsPending,z=new Set;if(Z.size>0&&K.length>0){if(z=this.classifyVarsForInlining(K,Z).inlineVars,z.size>0)this._inlineVarsPending=new Set(z)}this.indentLevel++;let q=`{
|
|
433
|
+
`,O=new Set([...Z].filter((B)=>!z.has(B)));if(O.size>0)q+=this.indent()+`let ${Array.from(O).sort().join(", ")};
|
|
434
|
+
`;let D=u.length>0&&K.length>0&&Array.isArray(K[0])&&K[0][0]==="super",I=(B)=>{B.forEach((H,X)=>{let P=X===B.length-1,S=Array.isArray(H)?H[0]:null;if(!P&&S==="comprehension"){let[,C,N,d]=H;q+=this.indent()+this.emitComprehensionAsLoop(C,N,d)+`
|
|
435
|
+
`;return}if(!$&&!w&&P&&S==="if"){let[C,N,...d]=H.slice(1),V=(b)=>this.is(b,"block")&&b.length>2;if(this.hasStatementInBranch(N)||d.some((b)=>this.hasStatementInBranch(b))||V(N)||d.some(V)){q+=this.emitIfElseWithEarlyReturns(H)+`
|
|
436
|
+
`;return}}if(!$&&!w&&P&&S==="="){let[C,N]=H.slice(1);if(typeof C==="string"&&Array.isArray(N)){let d=N[0];if(d==="comprehension"||d==="for-in"){if(this._inlineVarsPending?.delete(C))q+=this.indent()+`let ${C};
|
|
437
|
+
`;this.comprehensionTarget=C,q+=this.emit(N,"value"),this.comprehensionTarget=null,q+=this.indent()+`return ${C};
|
|
438
|
+
`;return}}if((typeof C==="string"||C instanceof String)&&this._inlineVarsPending?.has(c(C))){this._inlineVarsPending.delete(c(C));let d=this.emit(H,"statement");q+=this.indent()+"let "+this.addSemicolon(H,d)+`
|
|
439
|
+
`,q+=this.indent()+`return ${c(C)};
|
|
440
|
+
`;return}}let E=!$&&!w&&P&&!Q.includes(S)&&!J.includes(S)&&!this.hasExplicitControlFlow(H),L=E?"value":"statement",T=this.emit(H,L);if(E)q+=this.indent()+"return "+T+`;
|
|
441
|
+
`;else q+=this.indent()+this.addSemicolon(H,T)+`
|
|
442
|
+
`})};if(D){if(K.length===1&&!$)q+=this.indent()+"return "+this.emit(K[0],"value")+`;
|
|
443
|
+
`;else q+=this.indent()+this.emit(K[0],"statement")+`;
|
|
444
|
+
`;for(let H of u)q+=this.indent()+H+`;
|
|
445
|
+
`;I(K.slice(1))}else{for(let B of u)q+=this.indent()+B+`;
|
|
446
|
+
`;I(K)}if(w&&K.length>0){let B=Array.isArray(K[K.length-1])?K[K.length-1][0]:null;if(!Q.includes(B))q+=this.indent()+`return;
|
|
447
|
+
`}return this._inlineVarsPending=R,this.indentLevel--,q+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=F,q}this.sideEffectOnly=F;let M;if($&&u.length>0){let K=Array.isArray(f)&&f[0]==="super",R=this.emit(f,"statement"),z=u.map((q)=>`${q};`).join(" ");M=K?`{ ${R}; ${z} }`:`{ ${z} ${R}; }`}else if($||this.hasExplicitControlFlow(f))M=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(Q.includes(f[0])||J.includes(f[0])))M=`{ ${this.emit(f,"statement")}; }`;else if(w)M=`{ ${this.emit(f,"statement")}; return; }`;else M=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),M}emitFunctionBody(f,_=[],U=!1){return this.emitBodyWithReturns(f,_,{sideEffectOnly:U,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,_=[],U=!1,w=[]){return this.emitBodyWithReturns(f,w,{autoAssignments:_,isConstructor:U})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let _=this.unwrapBlock(f);return`{
|
|
448
|
+
${this.withIndent(()=>_.map((w,u)=>{let $=u===_.length-1,W=Array.isArray(w)?w[0]:null,F=$&&!["return","throw","break","continue"].includes(W),A=this.emit(w,F?"value":"statement");return F?this.indent()+"return "+A+";":this.indent()+A+";"})).join(`
|
|
439
449
|
`)}
|
|
440
|
-
${this.indent()}}`}
|
|
441
|
-
${this.withIndent(()=>
|
|
450
|
+
${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let _=f[0]==="block"?f.slice(1):f;return`{
|
|
451
|
+
${this.withIndent(()=>_.map((w)=>{if(this.is(w,"comprehension")){let[,u,$,W]=w;return this.indent()+this.emitComprehensionAsLoop(u,$,W)}return this.indent()+this.addSemicolon(w,this.emit(w,"statement"))})).join(`
|
|
442
452
|
`)}
|
|
443
|
-
${this.indent()}}`}return`{ ${this.
|
|
444
|
-
`,
|
|
445
|
-
${u}${$}${
|
|
453
|
+
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,_){let U=this.unwrap(this.emit(_,"value"));if(!Array.isArray(f))return`{ if (${U}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let w=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),$=`if (${U}) {
|
|
454
|
+
`,W=this.withIndent(()=>{this.indentLevel++;let A=this.formatStatements(w);return this.indentLevel--,A}),F=this.withIndent(()=>this.indent()+"}");return`{
|
|
455
|
+
${u}${$}${W.join(`
|
|
446
456
|
`)}
|
|
447
|
-
${
|
|
448
|
-
${this.indent()}}`}return`{ if (${this.
|
|
449
|
-
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(
|
|
450
|
-
`,this.indentLevel++,
|
|
451
|
-
`;if(
|
|
452
|
-
`,this.indentLevel++;if(u+=this.indent()+`${
|
|
453
|
-
`,
|
|
457
|
+
${F}
|
|
458
|
+
${this.indent()}}`}return`{ if (${this.emit(_,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,_,U,w){let u="";u+=this.indent()+`${w} = [];
|
|
459
|
+
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(_.length===1){let[W,F,A,Y]=_[0];if(W==="for-in"){let{header:G,setup:Z}=this._forInHeader(F,A,Y);if(u+=this.indent()+G+` {
|
|
460
|
+
`,this.indentLevel++,Z)u+=this.indent()+Z+`
|
|
461
|
+
`;if(U&&U.length>0)u+=this.indent()+`if (${U.map((Q)=>this.emit(Q,"value")).join(" && ")}) {
|
|
462
|
+
`,this.indentLevel++;if(u+=this.indent()+`${w}.push(${this.unwrap(this.emit($,"value"))});
|
|
463
|
+
`,U&&U.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
454
464
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
455
|
-
`,u}}return this.indent()+`${
|
|
456
|
-
`}
|
|
457
|
-
`,this.indentLevel++,
|
|
458
|
-
`,this.indentLevel--,
|
|
459
|
-
`;else
|
|
460
|
-
`};if(
|
|
461
|
-
`,this.indentLevel++,
|
|
462
|
-
`;return $(),this.indentLevel--,
|
|
463
|
-
`,this.indentLevel++,$(),this.indentLevel--,
|
|
464
|
-
`,this.indentLevel++,
|
|
465
|
-
`;if(
|
|
466
|
-
`;return $(),this.indentLevel--,
|
|
467
|
-
`,$+=this.withIndent(()=>this.
|
|
468
|
-
`,$+=this.withIndent(()=>this.
|
|
469
|
-
`,$+=this.withIndent(()=>this.
|
|
470
|
-
`,$+=this.withIndent(()=>this.
|
|
471
|
-
`;else
|
|
472
|
-
`}return
|
|
473
|
-
`;else if(
|
|
474
|
-
`;else
|
|
475
|
-
`;else
|
|
476
|
-
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,F
|
|
477
|
-
`}else if(this.is(f,"block")&&f.length>1)for(let $ of u)
|
|
478
|
-
`;else
|
|
479
|
-
`;
|
|
480
|
-
`}return
|
|
481
|
-
`,this.indentLevel++,
|
|
482
|
-
`;else for(let
|
|
483
|
-
`;this.indentLevel--,
|
|
484
|
-
`,this.indentLevel++,
|
|
485
|
-
`;else for(let u of this.unwrapBlock(
|
|
486
|
-
`;this.indentLevel--,
|
|
487
|
-
`);if(
|
|
488
|
-
`))
|
|
489
|
-
`))
|
|
490
|
-
`)
|
|
465
|
+
`,u}}return this.indent()+`${w} = (() => { /* complex comprehension */ })();
|
|
466
|
+
`}emitComprehensionAsLoop(f,_,U){let w="",u=U?.length?U.map((W)=>this.emit(W,"value")).join(" && "):null,$=()=>{if(u)w+=this.indent()+`if (${u}) {
|
|
467
|
+
`,this.indentLevel++,w+=this.indent()+this.emit(f,"statement")+`;
|
|
468
|
+
`,this.indentLevel--,w+=this.indent()+`}
|
|
469
|
+
`;else w+=this.indent()+this.emit(f,"statement")+`;
|
|
470
|
+
`};if(_.length===1){let[W,F,A,Y]=_[0];if(W==="for-in"){let{header:G,setup:Z}=this._forInHeader(F,A,Y);if(w+=G+` {
|
|
471
|
+
`,this.indentLevel++,Z)w+=this.indent()+Z+`
|
|
472
|
+
`;return $(),this.indentLevel--,w+=this.indent()+"}",w}if(W==="for-as"){let{header:G}=this._forAsHeader(F,A,Y);return w+=G+` {
|
|
473
|
+
`,this.indentLevel++,$(),this.indentLevel--,w+=this.indent()+"}",w}if(W==="for-of"){let{header:G,own:Z,vv:Q,oc:J,kvp:M}=this._forOfHeader(F,A,Y);if(w+=G+` {
|
|
474
|
+
`,this.indentLevel++,Z)w+=this.indent()+`if (!Object.hasOwn(${J}, ${M})) continue;
|
|
475
|
+
`;if(Q)w+=this.indent()+`const ${Q} = ${J}[${M}];
|
|
476
|
+
`;return $(),this.indentLevel--,w+=this.indent()+"}",w}}return this.emit(["comprehension",f,_,U],"value")}emitIfElseWithEarlyReturns(f){let[_,U,w,...u]=f,$="",W=this.emit(U,"value");$+=this.indent()+`if (${W}) {
|
|
477
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(w)),$+=this.indent()+"}";for(let F of u)if($+=" else ",this.is(F,"if")){let[,A,Y,...G]=F;$+=`if (${this.emit(A,"value")}) {
|
|
478
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";for(let Z of G)$+=` else {
|
|
479
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(Z)),$+=this.indent()+"}"}else $+=`{
|
|
480
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(F)),$+=this.indent()+"}";return $}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let _=this.unwrapBlock(f),U="";for(let w=0;w<_.length;w++){let u=w===_.length-1,$=_[w],W=Array.isArray($)?$[0]:null;if(u&&!(W==="return"||W==="throw"||W==="break"||W==="continue"))U+=this.indent()+`return ${this.emit($,"value")};
|
|
481
|
+
`;else U+=this.indent()+this.emit($,"statement")+`;
|
|
482
|
+
`}return U}emitIfAsExpression(f,_,U){if(this.is(_,"block")&&_.length>2||this.hasStatementInBranch(_)||U.some((F)=>this.is(F,"block")&&F.length>2||this.hasStatementInBranch(F)||this.hasNestedMultiStatement(F))){let F=this.containsAwait(f)||this.containsAwait(_)||U.some((Y)=>this.containsAwait(Y)),A=this.asyncIIFEOpen(F)+" ";A+=`if (${this.emit(f,"value")}) `,A+=this.emitBlockWithReturns(_);for(let Y of U)if(A+=" else ",this.is(Y,"if")){let[G,Z,Q,...J]=Y;A+=`if (${this.emit(Z,"value")}) `,A+=this.emitBlockWithReturns(Q);for(let M of J)if(A+=" else ",this.is(M,"if")){let[K,R,z,...q]=M;A+=`if (${this.emit(R,"value")}) `,A+=this.emitBlockWithReturns(z),U.push(...q)}else A+=this.emitBlockWithReturns(M)}else A+=this.emitBlockWithReturns(Y);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(_)),$=this.buildTernaryChain(U),W=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))W=`(${W})`;return`(${W} ? ${u} : ${$})`}emitIfAsStatement(f,_,U){let w=`if (${this.unwrap(this.emit(f,"value"))}) `;w+=this.emit(this.unwrapIfBranch(_),"statement");for(let u of U)w+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return w}emitSwitchCaseBody(f,_){let U="",w=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(w)for(let $ of u)U+=this.indent()+this.emit($,"statement")+`;
|
|
483
|
+
`;else if(_==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)U+=this.indent()+`return ${this.emit(u[$],"value")};
|
|
484
|
+
`;else U+=this.indent()+this.emit(u[$],"statement")+`;
|
|
485
|
+
`;else U+=this.indent()+`return ${this.extractExpression(f)};
|
|
486
|
+
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,W,F,...A]=u[0],Y=this.extractExpression(this.unwrapIfBranch(F)),G=this.buildTernaryChain(A);U+=this.indent()+`(${this.unwrap(this.emit(W,"value"))} ? ${Y} : ${G});
|
|
487
|
+
`}else if(this.is(f,"block")&&f.length>1)for(let $ of u)U+=this.indent()+this.emit($,"statement")+`;
|
|
488
|
+
`;else U+=this.indent()+this.emit(f,"statement")+`;
|
|
489
|
+
`;U+=this.indent()+`break;
|
|
490
|
+
`}return U}emitSwitchAsIfChain(f,_,U){let w="";for(let u=0;u<f.length;u++){let[,$,W]=f[u],F=Array.isArray($)?$[0]:$;if(w+=(u===0?"":" else ")+`if (${this.emit(F,"value")}) {
|
|
491
|
+
`,this.indentLevel++,U==="value")w+=this.indent()+`return ${this.extractExpression(W)};
|
|
492
|
+
`;else for(let A of this.unwrapBlock(W))w+=this.indent()+this.emit(A,"statement")+`;
|
|
493
|
+
`;this.indentLevel--,w+=this.indent()+"}"}if(_){if(w+=` else {
|
|
494
|
+
`,this.indentLevel++,U==="value")w+=this.indent()+`return ${this.extractExpression(_)};
|
|
495
|
+
`;else for(let u of this.unwrapBlock(_))w+=this.indent()+this.emit(u,"statement")+`;
|
|
496
|
+
`;this.indentLevel--,w+=this.indent()+"}"}if(U==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||_&&this.containsAwait(_);return this.asyncIIFE(u,w)}return w}asyncIIFE(f,_){return`${f?"await ":""}(${f?"async ":""}() => { ${_} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let _=this.unwrapBlock(f);return _.length>0?this.emit(_[_.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,_){if(!_||_.endsWith(";"))return!1;if(!_.endsWith("}"))return!0;let U=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(U)}addSemicolon(f,_){return _+(this.needsSemicolon(f,_)?";":"")}formatStatements(f,_="statement"){return f.map((U)=>this.indent()+this.addSemicolon(U,this.emit(U,_)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((U)=>Array.isArray(U)&&["return","throw","break","continue"].includes(U[0]));if(_==="switch"){let[,,U]=f;return U?.some((w)=>{return this.unwrapBlock(w[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(_==="if"){let[,,U,w]=f;return this.branchHasControlFlow(U)&&w&&this.branchHasControlFlow(w)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let _=this.unwrapBlock(f);if(_.length===0)return!1;let U=_[_.length-1];return Array.isArray(U)&&["return","throw","break","continue"].includes(U[0])}withIndent(f){this.indentLevel++;let _=f();return this.indentLevel--,_}is(f,_,U){if(!Array.isArray(f))return null;if((c(f[0])??f[0])!==_)return null;let w=f.slice(1);if(U!=null&&w.length!==U)return null;return w}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,U=0,w=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")_++;if(f[$]===")")_--;if(f[$]==="["||f[$]==="{")U++;if(f[$]==="]"||f[$]==="}")U--;if(f[$]===","&&_===1&&U===0)u=!0;if(_===0&&$<f.length-1){w=!1;break}}if(u)w=!1;if(w)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let _=this._findOptionalInTarget(f[1]);if(_)return{guard:_.guard,rewritten:[f[0],_.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let _=0,U=1/0;for(let w=1;w<f.length-1;w++){if(f[w]==="(")_++;if(f[w]===")")_--;U=Math.min(U,_)}if(U>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[_,...U]=f;if(_!=="&&"&&_!=="||")return f;let w=[],u=($)=>{if(Array.isArray($)&&$[0]===_)for(let W=1;W<$.length;W++)u($[W]);else w.push($)};for(let $ of U)u($);return[_,...w]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let _=f[0];if(_==="return"||_==="throw"||_==="break"||_==="continue")return!0;if(_==="block")return f.slice(1).some((U)=>this.hasStatementInBranch(U));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[_,U,w,...u]=f;return this.is(w,"block")&&w.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let _=f[0];if(this.is(_,"if")){let[U,w,u,...$]=_,W=this.extractExpression(this.unwrapIfBranch(u)),F=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(w,"value")} ? ${W} : ${F})`}return this.extractExpression(this.unwrapIfBranch(_))}collectVarsFromArray(f,_){f.slice(1).forEach((U)=>{if(U===","||U==="...")return;if(typeof U==="string"){_.add(U);return}if(Array.isArray(U)){if(U[0]==="..."&&typeof U[1]==="string")_.add(U[1]);else if(U[0]==="array")this.collectVarsFromArray(U,_);else if(U[0]==="object")this.collectVarsFromObject(U,_)}})}collectVarsFromObject(f,_){f.slice(1).forEach((U)=>{if(!Array.isArray(U))return;if(U[0]==="..."&&typeof U[1]==="string"){_.add(U[1]);return}if(U.length>=2){let[w,u,$]=U;if(w==="="){if(typeof u==="string")_.add(u)}else if(typeof $==="string")_.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,_);else if($[0]==="object")this.collectVarsFromObject($,_)}}})}extractStringContent(f){let _=c(f).slice(1,-1),U=$1(f,"indent");if(U)_=_.replace(new RegExp(`\\n${U}`,"g"),`
|
|
497
|
+
`);if($1(f,"initialChunk")&&_.startsWith(`
|
|
498
|
+
`))_=_.slice(1);if($1(f,"finalChunk")&&_.endsWith(`
|
|
499
|
+
`))_=_.slice(0,-1);return _}processHeregex(f){let _="",U=!1,w=0,u=()=>{let $=0,W=w-1;while(W>=0&&f[W]==="\\")$++,W--;return $%2===1};while(w<f.length){let $=f[w];if($==="["&&!u()){U=!0,_+=$,w++;continue}if($==="]"&&U&&!u()){U=!1,_+=$,w++;continue}if(U){_+=$,w++;continue}if(/\s/.test($)){w++;continue}if($==="#"){if(u()){_+=$,w++;continue}let W=w-1;while(W>=0&&f[W]==="\\")W--;if(W<w-1){_+=$,w++;continue}while(w<f.length&&f[w]!==`
|
|
500
|
+
`)w++;continue}_+=$,w++}return _}addJsExtensionAndAssertions(f){if(f instanceof String)f=c(f);if(typeof f!=="string")return f;let U=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,w=U.startsWith("./")||U.startsWith("../"),u=U,$="";if(w){let W=U.lastIndexOf("/"),F=W>=0?U.substring(W+1):U;if(F.includes(".")){if(F.endsWith(".json"))$=" with { type: 'json' }"}else u=U+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&c(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsIt(_));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&$1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsAwait(_));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((_)=>this.containsYield(_));return!1}referencesVar(f,_){if(!f)return!1;if(f instanceof String)return c(f)===_;if(typeof f==="string")return f===_;if(!Array.isArray(f))return!1;let U=f[0],w=typeof U==="string"?U:U instanceof String?c(U):null;if(w==="def"||w==="->"||w==="=>"||w==="effect")return!1;if(w==="."||w==="?.")return this.referencesVar(f[1],_);if(w==="object"){for(let u=1;u<f.length;u++){let $=f[u];if(Array.isArray($)){if(this.is($,"...")){if(this.referencesVar($[1],_))return!0}else if($.length>=2){if(this.referencesVar($[$.length-1],_))return!0}}else if(this.referencesVar($,_))return!0}return!1}return f.some((u)=>this.referencesVar(u,_))}firstRefIsAssignment(f,_){let U=null,w=($)=>($ instanceof String?c($):$)===_,u=($,W)=>{if(U!==null)return;if(!$)return;if(!Array.isArray($)){if(w($))U="read";return}let F=$[0],A=typeof F==="string"?F:F instanceof String?c(F):null;if(A==="def"||A==="->"||A==="=>"||A==="effect")return;if(A==="="&&(typeof $[1]==="string"||$[1]instanceof String)&&c($[1])===_){if(W){U="read";return}U=this.referencesVar($[2],_)?"read":"write";return}if(w1.ASSIGNMENT_OPS.has(A)&&A!=="="&&(typeof $[1]==="string"||$[1]instanceof String)&&c($[1])===_){U="read";return}if(A==="."||A==="?."){u($[1],W);return}if(A==="object"){for(let Y=1;Y<$.length;Y++){let G=$[Y];if(Array.isArray(G)){if(this.is(G,"..."))u(G[1],!0);else if(G.length>=2)u(G[G.length-1],!0)}else u(G,!0)}return}if(A==="block"){for(let Y=1;Y<$.length;Y++)u($[Y],!1);return}if(A==="if"){u($[1],!0);for(let Y=2;Y<$.length;Y++)u($[Y],W);return}if(A==="for-in"||A==="for-of"||A==="for-as"){if(u($[2],!0),$.length>3)u($[$.length-1],!1);return}if(A==="while"){u($[1],!0),u($[2],!1);return}if(A==="try"){for(let Y=1;Y<$.length;Y++)u($[Y],!1);return}if(w1.ASSIGNMENT_OPS.has(A)){u($[2],!0);return}for(let Y=0;Y<$.length;Y++)u($[Y],!0)};return u(f,!1),U==="write"}allRefsInSingleBlock(f,_){if(!Array.isArray(f))return!1;let U=f[0],w=typeof U==="string"?U:U instanceof String?c(U):null;if(w==="if"){if(this.referencesVar(f[1],_))return!1;let u=0,$=null;for(let W=2;W<f.length;W++)if(this.referencesVar(f[W],_))u++,$=f[W];if(u!==1)return!1;return this.allRefsInSingleBlock($,_)}if(w==="block"){let u=0,$=null;for(let W=1;W<f.length;W++)if(this.referencesVar(f[W],_))u++,$=f[W];if(u!==1)return!1;if(Array.isArray($)&&$[0]==="="&&(typeof $[1]==="string"||$[1]instanceof String)&&c($[1])===_)return!0;return this.allRefsInSingleBlock($,_)}if(w==="for-in"||w==="for-of"||w==="for-as"){if(this.referencesVar(f[2],_))return!1;return!0}if(w==="while"){if(this.referencesVar(f[1],_))return!1;return!0}if(w==="try")return!0;return!1}classifyVarsForInlining(f,_){if(_.size===0)return{inlineVars:new Set,hoistVars:new Set(_)};let U=new Set,w=(F)=>{if(!Array.isArray(F))return;if(F[0]==="="&&F[1]instanceof String&&F[1].type&&_.has(c(F[1])))U.add(c(F[1]));for(let A=1;A<F.length;A++)w(F[A])};for(let F of f)w(F);let u=new Map;for(let F of _)u.set(F,[]);for(let F=0;F<f.length;F++)for(let A of _)if(this.referencesVar(f[F],A))u.get(A).push(F);let $=new Set,W=new Set;for(let[F,A]of u){if(A.length===0){W.add(F);continue}if(U.has(F)){W.add(F);continue}let Y=A[0],G=f[Y];if(Array.isArray(G)&&G[0]==="="&&(typeof G[1]==="string"||G[1]instanceof String)&&c(G[1])===F&&!this.referencesVar(G[2],F))$.add(F);else if(A.length===1&&!this.is(G,"switch")&&this.allRefsInSingleBlock(G,F)&&this.firstRefIsAssignment(G,F))$.add(F);else W.add(F)}return{inlineVars:$,hoistVars:W}}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
|
|
491
501
|
// Rip Reactive Runtime
|
|
492
502
|
// A minimal, fine-grained reactivity system
|
|
493
503
|
//
|
|
@@ -716,13 +726,13 @@ if (typeof globalThis !== 'undefined') {
|
|
|
716
726
|
}
|
|
717
727
|
|
|
718
728
|
// === End Reactive Runtime ===
|
|
719
|
-
`}}class
|
|
720
|
-
`),u=
|
|
729
|
+
`}}class T1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,_){if(_)this.options={...this.options,..._};let U=null,w=f.split(`
|
|
730
|
+
`),u=w.findIndex((R)=>R==="__DATA__");if(u!==-1){let R=w.slice(u+1);U=R.length>0?R.join(`
|
|
721
731
|
`)+`
|
|
722
|
-
`:"",f=
|
|
723
|
-
`)}let
|
|
724
|
-
//# sourceMappingURL=data:application/json;base64,${
|
|
725
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(
|
|
732
|
+
`:"",f=w.slice(0,u).join(`
|
|
733
|
+
`)}let $=new J1,W;try{W=$.tokenize(f)}catch(R){throw L1(R,f,this.options.filename)}if(this.options.showTokens)W.forEach((R)=>console.log(`${R[0].padEnd(12)} ${JSON.stringify(R[1])}`)),console.log();let F=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...W];if(W=W.filter((R)=>R[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let R=$.typeRefNames,z=new Set,q=!1;for(let O of W){if(O[0]==="IMPORT"){q=!0;continue}if(q&&O[0]==="TERMINATOR"){q=!1;continue}if(q)continue;if(O[0]==="IDENTIFIER")z.add(O[1])}for(let O=W.length-1;O>=0;O--){if(W[O][0]!=="IMPORT")continue;let D=O+1;if(D>=W.length)continue;if(W[D][0]==="CALL_START"||W[D][0]==="(")continue;if(W[D][0]==="STRING")continue;let I=[];while(D<W.length&&W[D][0]!=="FROM"&&W[D][0]!=="TERMINATOR"){if(W[D][0]==="IDENTIFIER")I.push(W[D][1]);D++}if(I.length===0)continue;if(I.some((H)=>z.has(H)))continue;if(!I.some((H)=>R.has(H)))continue;let B=D;while(B<W.length&&W[B][0]!=="TERMINATOR")B++;if(B<W.length)B++;W.splice(O,B-O)}}while(W.length>0&&W[0][0]==="TERMINATOR")W.shift();if(W.every((R)=>R[0]==="TERMINATOR")){if(A)F=r1(A,["program"],f);return{tokens:W,sexpr:["program"],code:"",dts:F,data:U,reactiveVars:{}}}let Y=null;M1.lexer={tokens:W,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let R=this.tokens[this.pos++],z=R[1];if(R.data)z=new String(z),Object.assign(z,R.data);return this.text=z,this.loc=R.loc,this.line=R.loc?.r,Y=R.loc,R[0]}};let G;try{G=M1.parse(f)}catch(R){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new W1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let z=L1(R,f,this.options.filename);if(z.phase==="parser"&&Y)z.line=Y.r??z.line,z.column=Y.c??z.column,z.length=Y.n||1;throw z}if(this.options.showSExpr)console.log(Z1(G,0,!0)),console.log();let Z=null;if(this.options.sourceMap){let R=(this.options.filename||"output")+".js",z=this.options.filename||"input.rip";Z=new U2(R,z,f)}let Q=new w1({dataSection:U,source:f,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,sourceMap:Z}),J=Q.compile(G),M=Z?Z.toJSON():null,K=Z?Z.toReverseMap():null;if(M&&this.options.sourceMap==="inline"){let R=typeof Buffer<"u"?Buffer.from(M).toString("base64"):btoa(M);J+=`
|
|
734
|
+
//# sourceMappingURL=data:application/json;base64,${R}`}else if(M&&this.options.filename)J+=`
|
|
735
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(A)F=r1(A,G,f);return{tokens:W,sexpr:G,code:J,dts:F,map:M,reverseMap:K,data:U,reactiveVars:Q.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}V2(w1,J1);w1.prototype.emitEnum=X2;function l1(f,_={}){return new T1(_).compile(f)}function Q1(f,_={}){return new T1(_).compileToJS(f)}function V1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
726
736
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
727
737
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
728
738
|
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
@@ -735,17 +745,17 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
|
735
745
|
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
736
746
|
globalThis.warn ??= console.warn;
|
|
737
747
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
738
|
-
`}function
|
|
739
|
-
`}catch(
|
|
740
|
-
${
|
|
741
|
-
})()`)}catch(
|
|
742
|
-
`),
|
|
743
|
-
${
|
|
744
|
-
${
|
|
745
|
-
})()`),document.body.classList.add("ready")}catch(
|
|
746
|
-
${
|
|
747
|
-
})()`)}catch(
|
|
748
|
-
`,u=new Blob([
|
|
749
|
-
${w}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");_=_.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(_);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(w){console.error("Rip compilation error:",w.message);return}}if(typeof globalThis<"u")globalThis.rip=b2,globalThis.importRip=J1,globalThis.compileToJS=Y1,globalThis.__ripExports={compile:y1,compileToJS:Y1,formatSExpr:F1,getStdlibCode:B1,VERSION:c2,BUILD_DATE:j2,getReactiveRuntime:L1,getComponentRuntime:N1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let w=()=>y2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(w));else queueMicrotask(w)});var l1={};Z2(l1,{throttle:()=>I4,stash:()=>z3,setContext:()=>W3,raw:()=>w2,persistStash:()=>M3,launch:()=>L4,isStash:()=>q4,hold:()=>B4,hasContext:()=>A3,getContext:()=>w3,delay:()=>Q3,debounce:()=>P4,createRouter:()=>J3,createResource:()=>E4,createRenderer:()=>K3,createComponents:()=>D3});var g2,e1,_2,O1,z1,v1,v2,K1,e,l2,x2,A2,m2,k2,q1,$1,i2,n2,d2,p2,r2,o2,a2,s2,u2,S1,h1,U2,t2,e2,b1,g1,u3,f3,$3,f2,$2,w3,_3,F2,A3,T1,W2,U3,F3,W3,Y3,R3,Y2,Z3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,w)=>{if(!f)throw Error(w||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,w)=>{throw w!==void 0?new f(w):Error(f)};globalThis.rand??=(f,w)=>w!==void 0?(f>w&&([f,w]=[w,f]),Math.floor(Math.random()*(w-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((w)=>setTimeout(w,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((w,A)=>f.map((_)=>_[A]));({__state:e,__effect:K1,__batch:v2}=globalThis.__rip);({setContext:W3,getContext:w3,hasContext:A3}=globalThis.__ripComponent||{});v1=Symbol("stash");z1=Symbol("signals");O1=Symbol("raw");e1=Symbol("persisted");_2=new WeakMap;u2=0;U2=e(0);F2=function(f,w){let A;if(!f[z1])Object.defineProperty(f,z1,{value:new Map,enumerable:!1});if(A=f[z1].get(w),!A)A=e(f[w]),f[z1].set(w,A);return A};T1=function(f){return F2(f,Symbol.for("keys"))};Z3=function(f){let w;if(!(f!=null&&typeof f==="object"))return f;if(f[v1])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(w=_2.get(f),w)return w;return W2(f)};W2=function(f){let w,A;return A=null,w={get:function(_,u){let $,F;if(u===v1)return!0;if(u===O1)return _;if(typeof u==="symbol")return Reflect.get(_,u);if(u==="length"&&Array.isArray(_))return T1(_).value,_.length;if(u==="get")return function(U){return Y3(A,U)};if(u==="set")return function(U,W){return R3(A,U,W)};if($=F2(_,u),F=$.value,F!=null&&typeof F==="object")return Z3(F);return F},set:function(_,u,$){let F,U;if(F=_[u],U=$?.[O1]?$[O1]:$,U===F)return!0;if(_[u]=U,_[z1]?.has(u))_[z1].get(u).value=U;if(F===void 0&&U!==void 0)T1(_).value=++u2;return U2.value++,!0},deleteProperty:function(_,u){let $;if(delete _[u],$=_[z1]?.get(u),$!=null)$.value=void 0;return T1(_).value=++u2,!0},ownKeys:function(_){return T1(_).value,Reflect.ownKeys(_)}},A=new Proxy(f,w),_2.set(f,A),A};g2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;Y2=function(f){let w,A,_,u,$;_=("."+f).split(g2),_.shift(),$=[],A=0;while(A<_.length){if(u=_[A],w=u[0],w==="."||w==="/")$.push(u.slice(1));else if(w==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));A+=2}return $};Y3=function(f,w){let A,_;_=Y2(w),A=f;for(let u of _){if(A==null)return;A=A[u]}return A};R3=function(f,w,A){let _,u;u=Y2(w),_=f;for(let $=0;$<u.length;$++){let F=u[$];if($===u.length-1)_[F]=A;else{if(_[F]==null)_[F]={};_=_[F]}}return A};var z3=function(f={}){return W2(f)},w2=function(f){return f?.[O1]?f[O1]:f},q4=function(f){return f?.[v1]===!0},M3=function(f,w={}){let A,_,u,$,F,U;if(U=w2(f)||f,U[e1])return;U[e1]=!0,$=w.local?localStorage:sessionStorage,F=w.key||"__rip_app";try{if(_=$.getItem(F),_){u=JSON.parse(_);for(let W in u){let Z=u[W];f.data[W]=Z}}}catch{}return A=function(){return(()=>{try{return $.setItem(F,JSON.stringify(w2(f.data)))}catch{return null}})()},K1(function(){let W;return U2.value,W=setTimeout(A,2000),function(){return clearTimeout(W)}}),window.addEventListener("beforeunload",A)},E4=function(f,w={}){let A,_,u,$,F;if(A=e(w.initial||null),u=e(!1),_=e(null),$=async function(){let U;return u.value=!0,_.value=null,(async()=>{try{return U=await f(),A.value=U}catch(W){return _.value=W}finally{u.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return A.value}}),Object.defineProperty(F,"loading",{get:function(){return u.value}}),Object.defineProperty(F,"error",{get:function(){return _.value}}),!w.lazy)$();return F};h1=function(f){return typeof f==="function"?f:function(){return f.value}};S1=function(f,w){let A;return A={read:function(){return f.read()}},Object.defineProperty(A,"value",{get:function(){return f.value},set:function(_){return w.value=_}}),A};var Q3=function(f,w){let A,_;return A=h1(w),_=e(!!A()),K1(function(){let u;if(A())return u=setTimeout(function(){return _.value=!0},f),function(){return clearTimeout(u)};else return _.value=!1}),typeof w!=="function"?S1(_,w):_},P4=function(f,w){let A,_;return A=h1(w),_=e(A()),K1(function(){let u,$;return $=A(),u=setTimeout(function(){return _.value=$},f),function(){return clearTimeout(u)}}),typeof w!=="function"?S1(_,w):_},I4=function(f,w){let A,_,u;return A=h1(w),u=e(A()),_=0,K1(function(){let $,F,U,W;if(W=A(),$=Date.now(),F=f-($-_),F<=0)return u.value=W,_=$;else return U=setTimeout(function(){return u.value=A(),_=Date.now()},F),function(){return clearTimeout(U)}}),typeof w!=="function"?S1(u,w):u},B4=function(f,w){let A,_;return A=h1(w),_=e(!!A()),K1(function(){let u;if(A())return _.value=!0;else return u=setTimeout(function(){return _.value=!1},f),function(){return clearTimeout(u)}}),typeof w!=="function"?S1(_,w):_},D3=function(){let f,w,A,_;return w=new Map,_=[],f=new Map,A=function(u,$){for(let F of _)F(u,$)},{read:function(u){return w.get(u)},write:function(u,$){let F;return F=!w.has(u),w.set(u,$),f.delete(u),A(F?"create":"change",u)},del:function(u){return w.delete(u),f.delete(u),A("delete",u)},exists:function(u){return w.has(u)},size:function(){return w.size},list:function(u=""){let $,F,U;U=[],$=u?u+"/":"";for(let[W]of w)if(W.startsWith($)){if(F=W.slice($.length),F.includes("/"))continue;U.push(W)}return U},listAll:function(u=""){let $,F;F=[],$=u?u+"/":"";for(let[U]of w)if(U.startsWith($))F.push(U);return F},load:function(u){for(let $ in u){let F=u[$];w.set($,F)}},watch:function(u){return _.push(u),function(){return _.splice(_.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};$3=function(f){let w;if(w=f.replace(/\.rip$/,""),w=w.replace(/\[\.\.\.(\w+)\]/g,"*$1"),w=w.replace(/\[(\w+)\]/g,":$1"),w==="index")return"/";return w=w.replace(/\/index$/,""),"/"+w};F3=function(f){let w,A;return w=[],A=f.replace(/\*(\w+)/g,function(_,u){return w.push(u),"(.+)"}).replace(/:(\w+)/g,function(_,u){return w.push(u),"([^/]+)"}),{regex:new RegExp("^"+A+"$"),names:w}};U3=function(f,w){let A,_;for(let u of w)if(A=f.match(u.regex.regex),A){_={};for(let $=0;$<u.regex.names.length;$++){let F=u.regex.names[$];_[F]=decodeURIComponent(A[$+1])}return{route:u,params:_}}return null};b1=function(f,w="components"){let A,_,u,$,F,U,W,Z,Y;W=[],u=new Map,A=f.listAll(w);for(let R of A){if(U=R.slice(w.length+1),!U.endsWith(".rip"))continue;if($=U.split("/").pop(),$==="_layout.rip"){_=U==="_layout.rip"?"":U.slice(0,-12),u.set(_,R);continue}if($.startsWith("_"))continue;if(Z=U.split("/"),Z.length>1&&Z.some(function(z,M){return M<Z.length-1&&z.startsWith("_")}))continue;Y=$3(U),F=F3(Y),W.push({pattern:Y,regex:F,file:R,rel:U})}return W.sort(function(R,z){let M,D,J,O;if(D=(R.pattern.match(/:/g)||[]).length,O=(z.pattern.match(/:/g)||[]).length,M=R.pattern.includes("*")?1:0,J=z.pattern.includes("*")?1:0,M!==J)return M-J;if(D!==O)return D-O;return R.pattern.localeCompare(z.pattern)}),{routes:W,layouts:u}};_3=function(f,w,A){let _,u,$,F;if(_=[],$=f.slice(w.length+1),F=$.split("/"),u="",A.has(""))_.push(A.get(""));for(let U=0;U<F.length;U++){let W=F[U];if(U===F.length-1)break;if(u=u?u+"/"+W:W,A.has(u))_.push(A.get(u))}return _};var J3=function(f,w={}){let A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q,X,G,I,E;if(q=w.root||"components",Y=w.base||"",R=w.hash||!1,D=w.onError||null,G=function(K){return Y&&K.startsWith(Y)?K.slice(Y.length)||"/":K},Z=function(K){return Y?Y+K:K},O=function(){let K;if(R){if(K=location.hash.slice(1),!K)return"/";return K[0]==="/"?K:"/"+K}else return location.pathname+location.search+location.hash},E=function(K){return R?K==="/"?location.pathname:"#"+K.slice(1):Z(K)},F=e(G(R?O():location.pathname)),$=e({}),W=e(null),_=e([]),U=e({}),A=e(""),u=Q3(100,e(!1)),I=b1(f,q),z=new Set,f.watch(function(K,H){if(!H.startsWith(q+"/"))return;return I=b1(f,q)}),Q=function(K){let H,P,N,L,B;if(L=K.split("?")[0].split("#")[0],P=G(L),P=P[0]==="/"?P:"/"+P,N=K.split("?")[1]?.split("#")[0]||"",H=K.includes("#")?K.split("#")[1]:"",B=U3(P,I.routes),B){v2(function(){return F.value=P,$.value=B.params,W.value=B.route,_.value=_3(B.route.file,q,I.layouts),U.value=Object.fromEntries(new URLSearchParams(N)),A.value=H});for(let h of z)h(X.current);return!0}if(D)D({status:404,path:P});return!1},J=function(){return Q(O())},typeof window<"u")window.addEventListener("popstate",J);if(M=function(K){let H,P,N;if(K.button!==0||K.metaKey||K.ctrlKey||K.shiftKey||K.altKey)return;P=K.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P?.href)return;if(N=new URL(P.href,location.origin),N.origin!==location.origin)return;if(P.target==="_blank"||P.hasAttribute("data-external"))return;return K.preventDefault(),H=R&&N.hash?N.hash.slice(1)||"/":N.pathname+N.search+N.hash,X.push(H)},typeof document<"u")document.addEventListener("click",M);return X={push:function(K){return Q(K)?history.pushState(null,"",E(F.read())):void 0},replace:function(K){return Q(K)?history.replaceState(null,"",E(F.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(K){return z.add(K),function(){return z.delete(K)}},rebuild:function(){return I=b1(f,q)},routes:void 0,init:function(){return Q(O()),X},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",J);if(typeof document<"u")document.removeEventListener("click",M);return z.clear()}},Object.defineProperty(X,"current",{get:function(){return{path:F.value,params:$.value,route:W.value,layouts:_.value,query:U.value,hash:A.value}}}),Object.defineProperty(X,"path",{get:function(){return F.value}}),Object.defineProperty(X,"params",{get:function(){return $.value}}),Object.defineProperty(X,"route",{get:function(){return W.value}}),Object.defineProperty(X,"layouts",{get:function(){return _.value}}),Object.defineProperty(X,"query",{get:function(){return U.value}}),Object.defineProperty(X,"hash",{get:function(){return A.value}}),Object.defineProperty(X,"navigating",{get:function(){return u.value},set:function(K){return u.value=K}}),Object.defineProperty(X,"routes",{get:function(){return I.routes}}),X};t2=function(f,w){if(f.length!==w.length)return!1;for(let A=0;A<f.length;A++)if(f[A]!==w[A])return!1;return!0};$2=function(f){for(let w in f){let A=f[w];if(typeof A==="function"&&(A.prototype?.mount||A.prototype?._create))return A}return typeof f.default==="function"?f.default:void 0};f2=function(f){let w;w={};for(let A in f){let _=f[A];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))w[A]=_}return w};f3=function(f){let w;return w=f.split("/").pop().replace(/\.rip$/,""),w.replace(/(^|[-_])([a-z])/g,function(A,_,u){return u.toUpperCase()})};e2=function(f,w="components"){let A,_,u;_={};for(let $ of f.listAll(w)){if(!$.endsWith(".rip"))continue;if(A=$.split("/").pop(),A.startsWith("_"))continue;if(u=f3($),_[u])console.warn(`[Rip] Component name collision: ${u} (${_[u]} vs ${$})`);_[u]=$}return _};g1=async function(f,w,A=null,_=null,u=null){let $,F,U,W,Z,Y,R,z,M,D,J,O;if(A&&_){if(F=A.getCompiled(_),F)return F}if(R=w(f),u){D={};for(let Q in u.map){let q=u.map[Q];if(q!==_&&R.includes(`new ${Q}(`)){if(!u.classes[Q]){if(W=A.read(q),W){U=await g1(W,w,A,q,u),Z=f2(U);for(let X in Z){let G=Z[X];u.classes[X]=G}}}if(u.classes[Q])D[Q]=!0}}if(M=Object.keys(D),M.length>0)J=`const {${M.join(", ")}} = globalThis['${u.key}'];
|
|
750
|
-
`,
|
|
751
|
-
`:"",$=new Blob([Y+R],{type:"application/javascript"}),O=URL.createObjectURL($),z=await import(O),u){Z=f2(z);for(let Q in Z){let q=Z[Q];u.classes[Q]=q}}if(A&&_)A.setCompiled(_,z);return z};var K3=function(f={}){let w,A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q,X,G,I,E;if({router:G,app:w,components:$,resolver:X,compile:_,target:I,onError:Q}=f,F=typeof I==="string"?document.querySelector(I):I||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return F.style.opacity="0",U=null,Y=null,Z=null,W=[],M=[],J=F,z=0,R=null,u=new Map,D=f.cacheSize||10,A=function(){let K,H;if(U&&Y){if(U.beforeUnmount)U.beforeUnmount();if(u.set(Y,U),u.size>D){if(H=u.keys().next().value,K=u.get(H),K.unmounted)K.unmounted();u.delete(H)}return U=null,Y=null}},E=function(){A();for(let K=M.length-1;K>=0;K--){let H=M[K];if(H.beforeUnmount)H.beforeUnmount();if(H.unmounted)H.unmounted();H._target?.remove()}return M=[],J=F},$.watch(function(K,H){let P;if(u.has(H)){if(P=u.get(H),P.unmounted)P.unmounted();return u.delete(H)}}),O=async function(K){let H,P,N,L,B,h,j,T,p,S,C,V,l,n,c,y,b,g,i,d,r,v;if({route:i,params:y,layouts:T,query:g}=K,!i)return;if(i.file===Y&&JSON.stringify(y)===JSON.stringify(Z))return;return Z=y,L=++z,G.navigating=!0,(async()=>{try{if(r=$.read(i.file),!r){if(Q)Q({status:404,message:`File not found: ${i.file}`});G.navigating=!1;return}if(V=await g1(r,_,$,i.file,X),L!==z){G.navigating=!1;return}if(H=$2(V),!H){if(Q)Q({status:500,message:`No component found in ${i.file}`});G.navigating=!1;return}if(C=!t2(T,W),n=U?._target,C)E();else A();if(l=C?F:J,C&&T.length>0){F.innerHTML="",l=F;for(let k of T){if(S=$.read(k),!S)continue;if(p=await g1(S,_,$,k,X),L!==z){G.navigating=!1;return}if(P=$2(p),!P)continue;if(h=new P({app:w,params:y,router:G}),h.beforeMount)h.beforeMount();v=document.createElement("div"),v.setAttribute("data-layout",k),l.appendChild(v),h.mount(v),M.push(h),d=v.querySelector("#content")||v,l=d}W=[...T],J=l}else if(C)F.innerHTML="",W=[],J=F;if(N=u.get(i.file),N)u.delete(i.file),l.appendChild(N._target),U=N,Y=i.file;else{if(c=document.createElement("div"),c.setAttribute("data-component",i.file),l.appendChild(c),j=new H({app:w,params:y,query:g,router:G}),j.beforeMount)j.beforeMount();if(j.mount(c),U=j,Y=i.file,j.load)await j.load(y,g)}return n?.remove(),G.navigating=!1,F.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return F.style.transition="opacity 150ms ease-in",F.style.opacity="1"})}):void 0}catch(k){if(G.navigating=!1,F.style.opacity="1",console.error(`Renderer: error mounting ${i.file}:`,k),Q)Q({status:500,message:k.message,error:k});B=!1;for(let x=M.length-1;x>=0;x--){let s=M[x];if(s.onError)try{s.onError(k),B=!0;break}catch(o){console.error("Renderer: error boundary failed:",o)}}return(()=>{if(!B)return b=document.createElement("pre"),b.style.cssText="color:red;padding:1em",b.textContent=k.stack||k.message,F.innerHTML="",F.appendChild(b)})()}})()},q={start:function(){return R=K1(function(){let K;return K=G.current,K.route?O(K):void 0}),G.init(),q},stop:function(){if(E(),R)R(),R=null;return F.innerHTML=""},remount:function(){let K;return K=G.current,K.route?O(K):void 0},cache:u},q};u3=function(f){let w,A,_;return _=1000,A=30000,w=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return _=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString()}),u.onerror=function(){return u.close(),setTimeout(w,_),_=Math.min(_*2,A)}},w()};var L4=async function(f="",w={}){let A,_,u,$,F,U,W,Z,Y,R,z,M,D,J,O,Q,q;if(globalThis.__ripLaunched=!0,typeof f==="object")w=f,f="";if(f=f.replace(/\/+$/,""),q=w.target||"#app",U=w.compile||null,M=w.persist||!1,R=w.hash||!1,!U)U=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(q))W=document.createElement("div"),W.id=q.replace(/^#/,""),document.body.prepend(W);if(w.bundle)u=w.bundle;else if(w.bundleUrl){if(z={},Y=`__rip_etag_${w.bundleUrl}`,$=sessionStorage.getItem(Y),$)z["If-None-Match"]=$;if(J=await fetch(w.bundleUrl,{headers:z}),J.status===304)u=JSON.parse(sessionStorage.getItem(`${Y}_data`));else if(J.ok){if(u=await J.json(),Z=J.headers.get("etag"),Z)sessionStorage.setItem(Y,Z),sessionStorage.setItem(`${Y}_data`,JSON.stringify(u))}else throw Error(`launch: ${w.bundleUrl} (${J.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(A=z3({components:{},routes:{},data:{}}),globalThis.__ripApp=A,u.data)A.data=u.data;if(u.routes)A.routes=u.routes;if(M&&typeof sessionStorage<"u")M3(A,{local:M==="local",key:`__rip_${f}`});if(_=D3(),u.components)_.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,O={map:e2(_),classes:{},key:F},typeof globalThis<"u")globalThis[F]=O.classes;if(A.data.title&&typeof document<"u")document.title=A.data.title;if(Q=J3(_,{root:"components",base:f,hash:R,onError:function(X){return console.error(`[Rip] Error ${X.status}: ${X.message||X.path}`)}}),D=K3({router:Q,app:A,components:_,resolver:O,compile:U,target:q,onError:function(X){return console.error(`[Rip] ${X.message}`,X.error)}}),D.start(),u.data?.watch)u3(`${f}/watch`);if(typeof window<"u")window.app=A,window.__RIP__={app:A,components:_,router:Q,renderer:D,cache:D.cache,version:"0.3.0"};return{app:A,components:_,router:Q,renderer:D}};$1=function(f,w){if(!w)return;return f.preventDefault(),f.stopPropagation(),w()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;m2=function(f,w){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return $1(f,w.next);case"ArrowUp":return $1(f,w.prev);case"Home":case"PageUp":return $1(f,w.first);case"End":case"PageDown":return $1(f,w.last);case"Enter":case" ":return $1(f,w.select);case"Escape":return $1(f,w.dismiss);case"Tab":return w.tab?.();default:return f.key.length===1?w.char?.(f.key):void 0}})()};i2=function(f,w,A,_=[],u=null){let $,F,U;if(!f)return;return $=function(W){return typeof W==="function"?W():W},F=(W)=>{return![$(w),..._.map($)].some(function(Z){return Z?.contains(W.target)})?A():void 0},U=(W)=>{if($(w)?.contains(W.target))return;return u?u():A()},document.addEventListener("mousedown",F),window.addEventListener("scroll",U,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",U,!0)}};n2=function(f=250){let w;return w=0,{block:function(A=f){return w=Date.now()+A},canOpen:function(){return Date.now()>=w}}};x2=function(f,w,A,_=null){let u,$,F,U,W,Z,Y,R,z,M,D;if(U=function(J){return typeof J==="function"?J():J},u=function(){let J,O;if(J=document.activeElement,J&&J!==document.body)return J;if(O=globalThis.__ariaLastFocusedEl,O?.isConnected!==!1)return O;return null},F=U(w),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Y=null,D=function(J){if(J){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},R=function(){let J,O;if(O=Y,Y=null,!O?.focus)return;return J=function(Q=6){if(O.isConnected===!1)return;try{O.focus({preventScroll:!0})}catch{O.focus()}if(document.activeElement===O||Q<=1)return;return setTimeout(function(){return J(Q-1)},16)},requestAnimationFrame(function(){return J()})},W=function(J){let O;if(O=J.newState==="open",O)Y=U(_)||u(),D(!0);else D(!1),R();return A?.(O)},F.addEventListener("toggle",W),z=F.matches(":popover-open"),$=!!f,z!==$){if(M=U(_),$)Y=M||u(),D(!0);Z=M&&$?{force:$,source:M}:{force:$};try{F.togglePopover(Z)}catch{}}else D($);return function(){return F.removeEventListener("toggle",W)}};l2=function(f,w,A,_=!0){let u,$,F,U,W,Z,Y,R;if(F=function(z){return typeof z==="function"?z():z},u=function(){let z,M;if(z=document.activeElement,z&&z!==document.body)return z;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},$=F(w),!$?.showModal)return;if(Z=null,R=function(z){if(z){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Y=function(){let z,M;if(M=Z,Z=null,!M?.focus)return;return z=function(D=6){if(M.isConnected===!1)return;try{M.focus({preventScroll:!0})}catch{M.focus()}if(document.activeElement===M||D<=1)return;return setTimeout(function(){return z(D-1)},16)},requestAnimationFrame(function(){return z()})},U=function(z){if(!_){z.preventDefault();return}return A?.(!1)},W=function(){return A?.(!1),R(!1),Y()},$.addEventListener("cancel",U),$.addEventListener("close",W),f&&!$.open){if(!Z)Z=u();R(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else R(!!f);return function(){return $.removeEventListener("cancel",U),$.removeEventListener("close",W)}};r2=function(f,w,A="vertical"){let _,u;if(f.isComposing)return;return u=A!=="horizontal",_=A!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?$1(f,w.next):void 0;case"ArrowUp":return u?$1(f,w.prev):void 0;case"ArrowRight":return _?$1(f,w.next):void 0;case"ArrowLeft":return _?$1(f,w.prev):void 0;case"Home":case"PageUp":return $1(f,w.first);case"End":case"PageDown":return $1(f,w.last);case"Enter":case" ":return $1(f,w.select);case"Escape":return $1(f,w.dismiss);default:return f.key.length===1?w.char?.(f.key):void 0}})()};p2=function(f,w,A=4,_=!0){let u,$;if(!(f&&w))return;if($=f.getBoundingClientRect(),w.style.position="fixed",w.style.left=`${$.left}px`,w.style.top=`${$.bottom+A}px`,w.style.minWidth=`${$.width}px`,u=w.getBoundingClientRect(),u.bottom>window.innerHeight)w.style.top=`${$.top-u.height-A}px`;if(u.right>window.innerWidth)w.style.left=`${window.innerWidth-u.width-A}px`;return _?w.style.visibility="visible":void 0};var N4='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';o2=function(f){let w;return w=function(A){let _,u,$;if(A.key!=="Tab")return;if($=Array.from(f.querySelectorAll(N4)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return _=$[0],u=$[$.length-1],A.shiftKey?document.activeElement===_?(A.preventDefault(),u.focus()):void 0:document.activeElement===u?(A.preventDefault(),_.focus()):void 0},f.addEventListener("keydown",w),function(){return f.removeEventListener("keydown",w)}};s2=function(f,w){let A,_;if(!f)return;if(_=f.querySelector("h1,h2,h3,h4,h5,h6"),_)_.id??=`${w}-title`,f.setAttribute("aria-labelledby",_.id);if(A=f.querySelector("p"),A)return A.id??=`${w}-desc`,f.setAttribute("aria-describedby",A.id)};q1=[];k2=function(f){let w;if(w=window.scrollY,q1.push({instance:f,scrollY:w}),q1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${w}px`,document.body.style.width="100%"};a2=function(f){let w,A;if(w=q1.findIndex(function(_){return _.instance===f}),w<0)return;if({scrollY:A}=q1.splice(w,1)[0],!q1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,A)};A2=function(){let f,w,A;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),w=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",w.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(w),A=w.getBoundingClientRect(),f.remove(),w.remove(),A.top>50}catch{return!1}})()}();d2=function(f,w,A={}){let _,u,$,F,U,W,Z;if(!(f&&w))return;if(U=A.placement??"bottom start",F=A.offset??4,u=A.matchWidth??!1,A2){switch($=`--anchor-${w.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,w.style.positionAnchor=$,w.style.position="fixed",w.style.inset="auto",w.style.margin="0",w.style.positionArea=U,w.style.positionTry="flip-block, flip-inline, flip-block flip-inline",w.style.positionVisibility="anchors-visible",[Z]=U.split(" "),w.style.marginTop="",w.style.marginBottom="",w.style.marginLeft="",w.style.marginRight="",Z){case"bottom":w.style.marginTop=`${F}px`;break;case"top":w.style.marginBottom=`${F}px`;break;case"left":w.style.marginRight=`${F}px`;break;case"right":w.style.marginLeft=`${F}px`;break}return u?w.style.minWidth="anchor-size(width)":void 0}else{switch(W=f.getBoundingClientRect(),w.style.position="fixed",w.style.inset="auto",w.style.margin="0",[Z,_]=U.split(" "),_??="start",Z){case"bottom":w.style.top=`${W.bottom+F}px`;break;case"top":w.style.bottom=`${window.innerHeight-W.top+F}px`;break;case"left":w.style.right=`${window.innerWidth-W.left+F}px`;break;case"right":w.style.left=`${W.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(Z):(Z in["bottom","top"]))switch(_){case"start":w.style.left=`${W.left}px`;break;case"center":w.style.left=`${W.left+W.width/2}px`,w.style.transform="translateX(-50%)";break;case"end":w.style.right=`${window.innerWidth-W.right}px`;break}else switch(_){case"start":w.style.top=`${W.top}px`;break;case"center":w.style.top=`${W.top+W.height/2}px`,w.style.transform="translateY(-50%)";break;case"end":w.style.bottom=`${window.innerHeight-W.bottom}px`;break}return u?w.style.minWidth=`${W.width}px`:void 0}};globalThis.__aria??={listNav:m2,rovingNav:r2,popupDismiss:i2,popupGuard:n2,bindPopover:x2,bindDialog:l2,positionBelow:p2,trapFocus:o2,wireAria:s2,lockScroll:k2,unlockScroll:a2,position:d2,hasAnchor:A2};globalThis.ARIA??=globalThis.__aria;J1.modules["ui.rip"]=l1;for(let[f,w]of Object.entries(l1))if(typeof w==="function")globalThis[f]=w;})();
|
|
748
|
+
`}function C1(){return new w1({}).getReactiveRuntime()}function h1(){return new w1({}).getComponentRuntime()}var C2="3.13.135",h2="2026-04-10@10:00:31GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(C1())();if(!globalThis.__ripComponent)Function(h1())()}var A4=(f)=>{let _=f.match(/^[ \t]*(?=\S)/gm),U=Math.min(...(_||[]).map((w)=>w.length));return f.replace(RegExp(`^[ ]{${U}}`,"gm"),"").trim()};async function b2(){let f=[],_=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),U=_?.getAttribute("data-src");if(U){for(let w of U.trim().split(/\s+/))if(w)f.push({url:w})}for(let w of document.querySelectorAll('script[type="text/rip"]'))if(w.src)f.push({url:w.src});else{let u=A4(w.textContent);if(u)f.push({code:u})}if(f.length>0){let w=await Promise.allSettled(f.map(async(A)=>{if(!A.url)return;let Y=await fetch(A.url);if(!Y.ok)throw Error(`${A.url} (${Y.status})`);if(A.url.endsWith(".rip"))A.code=await Y.text();else{let G=await Y.json();A.bundle=G}}));for(let A of w)if(A.status==="rejected")console.warn("Rip: fetch failed:",A.reason.message);let u=[],$=[];for(let A of f)if(A.bundle)u.push(A.bundle);else if(A.code)$.push(A);let W=_?.getAttribute("data-router");if(W!=null&&u.length>0){let A={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let G="";for(let Z of $)try{G+=Q1(Z.code,A)+`
|
|
749
|
+
`}catch(Q){console.error(q1(Q,{source:Z.code,file:Z.url||"inline",color:!1}))}if(G)try{await(0,eval)(`(async()=>{
|
|
750
|
+
${G}
|
|
751
|
+
})()`)}catch(Z){console.error("Rip runtime error:",Z)}}let Y=P1.modules?.["ui.rip"];if(Y?.launch){let G=u[u.length-1],Z=_.getAttribute("data-persist"),Q={bundle:G,hash:W==="hash"};if(Z!=null)Q.persist=Z==="local"?"local":!0;await Y.launch("",Q)}}else{let A=[];for(let Z of u){for(let[Q,J]of Object.entries(Z.components||{}))A.push({code:J,url:Q});if(Z.data){let Q=_?.getAttribute("data-state"),J={};if(Q)try{J=JSON.parse(Q)}catch{}Object.assign(J,Z.data),_?.setAttribute("data-state",JSON.stringify(J))}}A.push(...$);let Y={skipRuntimes:!0,skipExports:!0,skipImports:!0},G=[];for(let Z of A){if(!Z.code)continue;try{let Q=Q1(Z.code,Y);G.push({js:Q,url:Z.url||"inline"})}catch(Q){console.error(q1(Q,{source:Z.code,file:Z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&_){let Z=globalThis.stash;if(Z){let Q={},J=_.getAttribute("data-state");if(J)try{Q=JSON.parse(J)}catch(R){console.error("Rip: invalid data-state JSON:",R.message)}let M=Z({data:Q});if(globalThis.__ripApp=M,typeof window<"u")window.app=M;let K=_.getAttribute("data-persist");if(K!=null&&globalThis.persistStash)globalThis.persistStash(M,{local:K==="local"})}}if(G.length>0){let Z=G.map((J)=>J.js).join(`
|
|
752
|
+
`),Q=_?.getAttribute("data-mount");if(Q){let J=_.getAttribute("data-target")||"body";Z+=`
|
|
753
|
+
${Q}.mount(${JSON.stringify(J)});`}try{await(0,eval)(`(async()=>{
|
|
754
|
+
${Z}
|
|
755
|
+
})()`),document.body.classList.add("ready")}catch(J){if(J instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${J.message}`);for(let M of G)try{Function(`(async()=>{
|
|
756
|
+
${M.js}
|
|
757
|
+
})()`)}catch(K){console.error(` → source: ${M.url}`,K.message)}}else console.error("Rip runtime error:",J)}}}}if(_?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let w=!1,u=1000,$=30000,W=()=>{let F=new EventSource("/watch");F.addEventListener("connected",()=>{if(u=1000,w)location.reload();w=!0}),F.addEventListener("reload",(A)=>{if(A.data==="styles"){let Y=Date.now(),G=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((Z)=>{if(new URL(Z.href).origin!==location.origin)return;let Q=new URL(Z.href);Q.searchParams.set("_r",Y),Z.href=Q.toString(),G++}),!G)location.reload()}else location.reload()}),F.onerror=()=>{F.close(),setTimeout(W,u),u=Math.min(u*2,$)}};W()}}async function P1(f){for(let[W,F]of Object.entries(P1.modules))if(f.includes(W))return F;let _=await fetch(f).then((W)=>{if(!W.ok)throw Error(`importRip: ${f} (${W.status})`);return W.text()}),U=Q1(_),w=`// ${f}
|
|
758
|
+
`,u=new Blob([w+U],{type:"application/javascript"});return await import(URL.createObjectURL(u))}P1.modules={};function j2(f){try{let _=f.replace(/^/gm," "),w=Q1(`do ->
|
|
759
|
+
${_}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");w=w.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(w);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(_){console.error(q1(_,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=j2,globalThis.importRip=P1,globalThis.compileToJS=Q1,globalThis.__ripExports={compile:l1,compileToJS:Q1,formatSExpr:Z1,getStdlibCode:V1,VERSION:C2,BUILD_DATE:h2,getReactiveRuntime:C1,getComponentRuntime:h1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let _=()=>b2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(_));else queueMicrotask(_)});var i1={};Z2(i1,{throttle:()=>J4,stash:()=>a2,setContext:()=>k2,raw:()=>W2,persistStash:()=>r2,launch:()=>E4,isStash:()=>Q4,hold:()=>M4,hasContext:()=>m2,getContext:()=>x2,delay:()=>t2,debounce:()=>X4,createRouter:()=>e2,createResource:()=>K4,createRenderer:()=>u3,createComponents:()=>s2});var l2,I1,F1,x2,m2,k2;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,_)=>{if(!f)throw Error(_||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,_)=>{throw _!==void 0?new f(_):Error(f)};globalThis.rand??=(f,_)=>_!==void 0?(f>_&&([f,_]=[_,f]),Math.floor(Math.random()*(_-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((_)=>setTimeout(_,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((_,U)=>f.map((w)=>w[U]));({__state:F1,__effect:I1,__batch:l2}=globalThis.__rip);({setContext:k2,getContext:x2,hasContext:m2}=globalThis.__ripComponent||{});var Y2=Symbol("stash"),B1=Symbol("signals"),b1=Symbol("raw"),y2=Symbol("persisted"),i2=new WeakMap,c2=0,n2=F1(0),d2=function(f,_){if(!f[B1])Object.defineProperty(f,B1,{value:new Map,enumerable:!1});let U=f[B1].get(_);if(!U)U=F1(f[_]),f[B1].set(_,U);return U},x1=function(f){return d2(f,Symbol.for("keys"))},Y4=function(f){if(!(f!=null&&typeof f==="object"))return f;if(f[Y2])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;let _=i2.get(f);if(_)return _;return p2(f)},p2=function(f){let _=null;return _=new Proxy(f,{get:function(w,u){if(u===Y2)return!0;if(u===b1)return w;if(typeof u==="symbol")return Reflect.get(w,u);if(u==="length"&&Array.isArray(w))return x1(w).value,w.length;if(u==="get")return function(F){return Z4(_,F)};if(u==="set")return function(F,A){return z4(_,F,A)};let W=d2(w,u).value;if(W!=null&&typeof W==="object")return Y4(W);return W},set:function(w,u,$){let W=w[u],F=$?.[b1]?$[b1]:$;if(F===W)return!0;if(w[u]=F,w[B1]?.has(u))w[B1].get(u).value=F;if(W===void 0&&F!==void 0)x1(w).value=++c2;return n2.value++,!0},deleteProperty:function(w,u){delete w[u];let $=w[B1]?.get(u);if($!=null)$.value=void 0;return x1(w).value=++c2,!0},ownKeys:function(w){return x1(w).value,Reflect.ownKeys(w)}}),i2.set(f,_),_},G4=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/,o2=function(f){let _=("."+f).split(G4);_.shift();let U=[],w=0;while(w<_.length){let u=_[w],$=u[0];if($==="."||$==="/")U.push(u.slice(1));else if($==="[")if(u[1]==='"'||u[1]==="'")U.push(u.slice(2,-2));else U.push(+u.slice(1,-1));w+=2}return U},Z4=function(f,_){let U=o2(_),w=f;for(let u of U){if(w==null)return;w=w[u]}return w},z4=function(f,_,U){let w=o2(_),u=f;for(let $=0;$<w.length;$++){let W=w[$];if($===w.length-1)u[W]=U;else{if(u[W]==null)u[W]={};u=u[W]}}return U},a2=function(f={}){return p2(f)},W2=function(f){return f?.[b1]?f[b1]:f},Q4=function(f){return f?.[Y2]===!0},r2=function(f,_={}){let U=W2(f)||f;if(U[y2])return;U[y2]=!0;let w=_.local?localStorage:sessionStorage,u=_.key||"__rip_app";try{let W=w.getItem(u);if(W){let F=JSON.parse(W);for(let A in F){let Y=F[A];f.data[A]=Y}}}catch{}let $=function(){return(()=>{try{return w.setItem(u,JSON.stringify(W2(f.data)))}catch{return null}})()};return I1(function(){n2.value;let W=setTimeout($,2000);return function(){return clearTimeout(W)}}),window.addEventListener("beforeunload",$)},K4=function(f,_={}){let U=F1(_.initial||null),w=F1(!1),u=F1(null),$=async function(){return w.value=!0,u.value=null,await(async()=>{try{let F=await f();return U.value=F}catch(F){return u.value=F}finally{w.value=!1}})()},W={data:void 0,loading:void 0,error:void 0,refetch:$};if(Object.defineProperty(W,"data",{get:function(){return U.value}}),Object.defineProperty(W,"loading",{get:function(){return w.value}}),Object.defineProperty(W,"error",{get:function(){return u.value}}),!_.lazy)$();return W},m1=function(f){return typeof f==="function"?f:function(){return f.value}},k1=function(f,_){let U={read:function(){return f.read()}};return Object.defineProperty(U,"value",{get:function(){return f.value},set:function(w){return _.value=w}}),U},t2=function(f,_){let U=m1(_),w=F1(!!U());return I1(function(){if(U()){let u=setTimeout(function(){return w.value=!0},f);return function(){return clearTimeout(u)}}else return w.value=!1}),typeof _!=="function"?k1(w,_):w},X4=function(f,_){let U=m1(_),w=F1(U());return I1(function(){let u=U(),$=setTimeout(function(){return w.value=u},f);return function(){return clearTimeout($)}}),typeof _!=="function"?k1(w,_):w},J4=function(f,_){let U=m1(_),w=F1(U()),u=0;return I1(function(){let $=U(),W=Date.now(),F=f-(W-u);if(F<=0)return w.value=$,u=W;else{let A=setTimeout(function(){return w.value=U(),u=Date.now()},F);return function(){return clearTimeout(A)}}}),typeof _!=="function"?k1(w,_):w},M4=function(f,_){let U=m1(_),w=F1(!!U());return I1(function(){if(U())return w.value=!0;else{let u=setTimeout(function(){return w.value=!1},f);return function(){return clearTimeout(u)}}}),typeof _!=="function"?k1(w,_):w},s2=function(){let f=new Map,_=[],U=new Map,w=function(u,$){for(let W of _)W(u,$)};return{read:function(u){return f.get(u)},write:function(u,$){let W=!f.has(u);return f.set(u,$),U.delete(u),w(W?"create":"change",u)},del:function(u){return f.delete(u),U.delete(u),w("delete",u)},exists:function(u){return f.has(u)},size:function(){return f.size},list:function(u=""){let $=[],W=u?u+"/":"";for(let[F]of f)if(F.startsWith(W)){if(F.slice(W.length).includes("/"))continue;$.push(F)}return $},listAll:function(u=""){let $=[],W=u?u+"/":"";for(let[F]of f)if(F.startsWith(W))$.push(F);return $},load:function(u){for(let $ in u){let W=u[$];f.set($,W)}},watch:function(u){return _.push(u),function(){return _.splice(_.indexOf(u),1)}},getCompiled:function(u){return U.get(u)},setCompiled:function(u,$){return U.set(u,$)}}},D4=function(f){let _=f.replace(/\.rip$/,"");if(_=_.replace(/\[\.\.\.(\w+)\]/g,"*$1"),_=_.replace(/\[(\w+)\]/g,":$1"),_==="index")return"/";return _=_.replace(/\/index$/,""),"/"+_},H4=function(f){let _=[],U=f.replace(/\*(\w+)/g,function(w,u){return _.push(u),"(.+)"}).replace(/:(\w+)/g,function(w,u){return _.push(u),"([^/]+)"});return{regex:new RegExp("^"+U+"$"),names:_}},R4=function(f,_){for(let U of _){let w=f.match(U.regex.regex);if(w){let u={};for(let $=0;$<U.regex.names.length;$++){let W=U.regex.names[$];u[W]=decodeURIComponent(w[$+1])}return{route:U,params:u}}}return null},F2=function(f,_="components"){let U=[],w=new Map,u=f.listAll(_);for(let $ of u){let W=$.slice(_.length+1);if(!W.endsWith(".rip"))continue;let F=W.split("/").pop();if(F==="_layout.rip"){let Z=W==="_layout.rip"?"":W.slice(0,-12);w.set(Z,$);continue}if(F.startsWith("_"))continue;let A=W.split("/");if(A.length>1&&A.some(function(Z,Q){return Q<A.length-1&&Z.startsWith("_")}))continue;let Y=D4(W),G=H4(Y);U.push({pattern:Y,regex:G,file:$,rel:W})}return U.sort(function($,W){let F=($.pattern.match(/:/g)||[]).length,A=(W.pattern.match(/:/g)||[]).length,Y=$.pattern.includes("*")?1:0,G=W.pattern.includes("*")?1:0;if(Y!==G)return Y-G;if(F!==A)return F-A;return $.pattern.localeCompare(W.pattern)}),{routes:U,layouts:w}},O4=function(f,_,U){let w=[],$=f.slice(_.length+1).split("/"),W="";if(U.has(""))w.push(U.get(""));for(let F=0;F<$.length;F++){let A=$[F];if(F===$.length-1)break;if(W=W?W+"/"+A:A,U.has(W))w.push(U.get(W))}return w},e2=function(f,_={}){let U=_.root||"components",w=_.base||"",u=_.hash||!1,$=_.onError||null,W=function(H){return w&&H.startsWith(w)?H.slice(w.length)||"/":H},F=function(H){return w?w+H:H},A=function(){let H;if(u){if(H=location.hash.slice(1),!H)return"/";return H[0]==="/"?H:"/"+H}else return location.pathname+location.search+location.hash},Y=function(H){return u?H==="/"?location.pathname:"#"+H.slice(1):F(H)},G=F1(W(u?A():location.pathname)),Z=F1({}),Q=F1(null),J=F1([]),M=F1({}),K=F1(""),R=t2(100,F1(!1)),z=F2(f,U),q=new Set;f.watch(function(H,X){if(!X.startsWith(U+"/"))return;return z=F2(f,U)});let O=function(H){let X=H.split("?")[0].split("#")[0],P=W(X);P=P[0]==="/"?P:"/"+P;let S=H.split("?")[1]?.split("#")[0]||"",E=H.includes("#")?H.split("#")[1]:"",L=R4(P,z.routes);if(L){l2(function(){return G.value=P,Z.value=L.params,Q.value=L.route,J.value=O4(L.route.file,U,z.layouts),M.value=Object.fromEntries(new URLSearchParams(S)),K.value=E});for(let T of q)T(B.current);return!0}if($)$({status:404,path:P});return!1},D=function(){return O(A())};if(typeof window<"u")window.addEventListener("popstate",D);let I=function(H){if(H.button!==0||H.metaKey||H.ctrlKey||H.shiftKey||H.altKey)return;let X=H.target;while(X&&X.tagName!=="A")X=X.parentElement;if(!X?.href)return;let P=new URL(X.href,location.origin);if(P.origin!==location.origin)return;if(X.target==="_blank"||X.hasAttribute("data-external"))return;H.preventDefault();let S=u&&P.hash?P.hash.slice(1)||"/":P.pathname+P.search+P.hash;return B.push(S)};if(typeof document<"u")document.addEventListener("click",I);let B={push:function(H){return O(H)?history.pushState(null,"",Y(G.read())):void 0},replace:function(H){return O(H)?history.replaceState(null,"",Y(G.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(H){return q.add(H),function(){return q.delete(H)}},rebuild:function(){return z=F2(f,U)},routes:void 0,init:function(){return O(A()),B},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",I);return q.clear()}};return Object.defineProperty(B,"current",{get:function(){return{path:G.value,params:Z.value,route:Q.value,layouts:J.value,query:M.value,hash:K.value}}}),Object.defineProperty(B,"path",{get:function(){return G.value}}),Object.defineProperty(B,"params",{get:function(){return Z.value}}),Object.defineProperty(B,"route",{get:function(){return Q.value}}),Object.defineProperty(B,"layouts",{get:function(){return J.value}}),Object.defineProperty(B,"query",{get:function(){return M.value}}),Object.defineProperty(B,"hash",{get:function(){return K.value}}),Object.defineProperty(B,"navigating",{get:function(){return R.value},set:function(H){return R.value=H}}),Object.defineProperty(B,"routes",{get:function(){return z.routes}}),B},q4=function(f,_){if(f.length!==_.length)return!1;for(let U=0;U<f.length;U++)if(f[U]!==_[U])return!1;return!0},g2=function(f){for(let _ in f){let U=f[_];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))return U}return typeof f.default==="function"?f.default:void 0},v2=function(f){let _={};for(let U in f){let w=f[U];if(typeof w==="function"&&(w.prototype?.mount||w.prototype?._create))_[U]=w}return _},P4=function(f){return f.split("/").pop().replace(/\.rip$/,"").replace(/(^|[-_])([a-z])/g,function(U,w,u){return u.toUpperCase()})},B4=function(f,_="components"){let U={};for(let w of f.listAll(_)){if(!w.endsWith(".rip"))continue;if(w.split("/").pop().startsWith("_"))continue;let $=P4(w);if(U[$])console.warn(`[Rip] Component name collision: ${$} (${U[$]} vs ${w})`);U[$]=w}return U},A2=async function(f,_,U=null,w=null,u=null){let $,W,F,A,Y;if(U&&w){if($=U.getCompiled(w),$)return $}let G=_(f);if(u){A={};for(let K in u.map){let R=u.map[K];if(R!==w&&G.includes(`new ${K}(`)){if(!u.classes[K]){let z=U.read(R);if(z){let q=await A2(z,_,U,R,u);W=v2(q);for(let O in W){let D=W[O];u.classes[O]=D}}}if(u.classes[K])A[K]=!0}}if(F=Object.keys(A),F.length>0)Y=`const {${F.join(", ")}} = globalThis['${u.key}'];
|
|
760
|
+
`,G=Y+G}let Z=w?`// ${w}
|
|
761
|
+
`:"",Q=new Blob([Z+G],{type:"application/javascript"}),M=await import(URL.createObjectURL(Q));if(u){W=v2(M);for(let K in W){let R=W[K];u.classes[K]=R}}if(U&&w)U.setCompiled(w,M);return M},u3=function(f={}){let _,U,w,u,$,W,F;({router:W,app:_,components:w,resolver:$,compile:U,target:F,onError:u}=f);let A=typeof F==="string"?document.querySelector(F):F||document.getElementById("app");if(!A)A=document.createElement("div"),A.id="app",document.body.appendChild(A);A.style.opacity="0";let Y=null,G=null,Z=null,Q=[],J=[],M=A,K=0,R=null,z=new Map,q=f.cacheSize||10,O=function(){let H,X;if(Y&&G){if(Y.beforeUnmount)Y.beforeUnmount();if(z.set(G,Y),z.size>q){if(X=z.keys().next().value,H=z.get(X),H.unmounted)H.unmounted();z.delete(X)}return Y=null,G=null}},D=function(){O();for(let H=J.length-1;H>=0;H--){let X=J[H];if(X.beforeUnmount)X.beforeUnmount();if(X.unmounted)X.unmounted();X._target?.remove()}return J=[],M=A};w.watch(function(H,X){let P;if(z.has(X)){if(P=z.get(X),P.unmounted)P.unmounted();return z.delete(X)}});let I=async function(H){let X,P,S,E;if({route:E,params:P,layouts:X,query:S}=H,!E)return;if(E.file===G&&JSON.stringify(P)===JSON.stringify(Z))return;Z=P;let L=++K;return W.navigating=!0,await(async()=>{try{let T=w.read(E.file);if(!T){if(u)u({status:404,message:`File not found: ${E.file}`});W.navigating=!1;return}let C=await A2(T,U,w,E.file,$);if(L!==K){W.navigating=!1;return}let N=g2(C);if(!N){if(u)u({status:500,message:`No component found in ${E.file}`});W.navigating=!1;return}let d=!q4(X,Q),V=Y?._target;if(d)D();else O();let h=d?A:M;if(d&&X.length>0){A.innerHTML="",h=A;for(let l of X){let p=w.read(l);if(!p)continue;let _1=await A2(p,U,w,l,$);if(L!==K){W.navigating=!1;return}let y=g2(_1);if(!y)continue;let g=new y({app:_,params:P,router:W});if(g.beforeMount)g.beforeMount();let v=document.createElement("div");v.setAttribute("data-layout",l),h.appendChild(v),g.mount(v),J.push(g),h=v.querySelector("#content")||v}Q=[...X],M=h}else if(d)A.innerHTML="",Q=[],M=A;let b=z.get(E.file);if(b){if(z.delete(E.file),h.appendChild(b._target),Y=b,G=E.file,P)b.params=P;if(S)b.query=S;if(b.mounted)b.mounted();if(b.load)await b.load(P,S)}else{let l=document.createElement("div");l.setAttribute("data-component",E.file),h.appendChild(l);let p=new N({app:_,params:P,query:S,router:W});if(p.beforeMount)p.beforeMount();if(p.mount(l),Y=p,G=E.file,p.load)await p.load(P,S)}return V?.remove(),W.navigating=!1,A.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return A.style.transition="opacity 150ms ease-in",A.style.opacity="1"})}):void 0}catch(T){if(W.navigating=!1,A.style.opacity="1",console.error(`Renderer: error mounting ${E.file}:`,T),u)u({status:500,message:T.message,error:T});let C=!1;for(let N=J.length-1;N>=0;N--){let d=J[N];if(d.onError)try{d.onError(T),C=!0;break}catch(V){console.error("Renderer: error boundary failed:",V)}}return(()=>{if(!C){let N=document.createElement("pre");return N.style.cssText="color:red;padding:1em",N.textContent=T.stack||T.message,A.innerHTML="",A.appendChild(N)}})()}})()},B={start:function(){return R=I1(function(){let H=W.current;return H.route?I(H):void 0}),W.init(),B},stop:function(){if(D(),R)R(),R=null;return A.innerHTML=""},remount:function(){let H=W.current;return H.route?I(H):void 0},cache:z};return B},I4=function(f){let _=1000,U=30000,w=function(){let u=new EventSource(f);return u.addEventListener("connected",function(){return _=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString()}),u.onerror=function(){return u.close(),setTimeout(w,_),_=Math.min(_*2,U)}};return w()},E4=async function(f="",_={}){let U,w,u,$,W,F,A;if(globalThis.__ripLaunched=!0,typeof f==="object")_=f,f="";f=f.replace(/\/+$/,"");let Y=_.target||"#app",G=_.compile||null,Z=_.persist||!1,Q=_.hash||!1;if(!G)G=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(Y))u=document.createElement("div"),u.id=Y.replace(/^#/,""),document.body.prepend(u);if(_.bundle)U=_.bundle;else if(_.bundleUrl){if(F={},W=`__rip_etag_${_.bundleUrl}`,w=sessionStorage.getItem(W),w)F["If-None-Match"]=w;if(A=await fetch(_.bundleUrl,{headers:F}),A.status===304)U=JSON.parse(sessionStorage.getItem(`${W}_data`));else if(A.ok){if(U=await A.json(),$=A.headers.get("etag"),$)sessionStorage.setItem(W,$),sessionStorage.setItem(`${W}_data`,JSON.stringify(U))}else throw Error(`launch: ${_.bundleUrl} (${A.status})`)}else throw Error("launch: no bundle or bundleUrl provided");let J=a2({components:{},routes:{},data:{}});if(globalThis.__ripApp=J,U.data)J.data=U.data;if(U.routes)J.routes=U.routes;if(Z&&typeof sessionStorage<"u")r2(J,{local:Z==="local",key:`__rip_${f}`});let M=s2();if(U.components)M.load(U.components);let K=`__rip_${f.replace(/\//g,"_")||"app"}`,R={map:B4(M),classes:{},key:K};if(typeof globalThis<"u")globalThis[K]=R.classes;if(J.data.title&&typeof document<"u")document.title=J.data.title;let z=e2(M,{root:"components",base:f,hash:Q,onError:function(O){return console.error(`[Rip] Error ${O.status}: ${O.message||O.path}`)}}),q=u3({router:z,app:J,components:M,resolver:R,compile:G,target:Y,onError:function(O){return console.error(`[Rip] ${O.message}`,O.error)}});if(q.start(),U.data?.watch)I4(`${f}/watch`);if(typeof window<"u")window.app=J,window.__RIP__={app:J,components:M,router:z,renderer:q,cache:q.cache,version:"0.3.0"};return{app:J,components:M,router:z,renderer:q}},A1=function(f,_){if(!_)return;return f.preventDefault(),f.stopPropagation(),_()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;var S4=function(f,_){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return A1(f,_.next);case"ArrowUp":return A1(f,_.prev);case"Home":case"PageUp":return A1(f,_.first);case"End":case"PageDown":return A1(f,_.last);case"Enter":case" ":return A1(f,_.select);case"Escape":return A1(f,_.dismiss);case"Tab":return _.tab?.();default:return f.key.length===1?_.char?.(f.key):void 0}})()},L4=function(f,_,U,w=[],u=null){if(!f)return;let $=function(A){return typeof A==="function"?A():A},W=(A)=>{return![$(_),...w.map($)].some(function(Y){return Y?.contains(A.target)})?U():void 0},F=(A)=>{if($(_)?.contains(A.target))return;return u?u():U()};return document.addEventListener("mousedown",W),window.addEventListener("scroll",F,!0),function(){return document.removeEventListener("mousedown",W),window.removeEventListener("scroll",F,!0)}},N4=function(f=250){let _=0;return{block:function(U=f){return _=Date.now()+U},canOpen:function(){return Date.now()>=_}}},T4=function(f,_,U,w=null){let u,$,W=function(K){return typeof K==="function"?K():K},F=function(){let K=document.activeElement;if(K&&K!==document.body)return K;let R=globalThis.__ariaLastFocusedEl;if(R?.isConnected!==!1)return R;return null},A=W(_);if(!A)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;let Y=null,G=function(K){if(K){A.hidden=!1;try{A.inert=!1}catch{}return A.removeAttribute("aria-hidden")}else{try{A.inert=!0}catch{}return A.setAttribute("aria-hidden","true"),A.hidden=!0}},Z=function(){let K=Y;if(Y=null,!K?.focus)return;let R=function(z=6){if(K.isConnected===!1)return;try{K.focus({preventScroll:!0})}catch{K.focus()}if(document.activeElement===K||z<=1)return;return setTimeout(function(){return R(z-1)},16)};return requestAnimationFrame(function(){return R()})},Q=function(K){let R=K.newState==="open";if(R)Y=W(w)||F(),G(!0);else G(!1),Z();return U?.(R)};A.addEventListener("toggle",Q);let J=A.matches(":popover-open"),M=!!f;if(J!==M){if($=W(w),M)Y=$||F(),G(!0);u=$&&M?{force:M,source:$}:{force:M};try{A.togglePopover(u)}catch{}}else G(M);return function(){return A.removeEventListener("toggle",Q)}},V4=function(f,_,U,w=!0){let u=function(Q){return typeof Q==="function"?Q():Q},$=function(){let Q=document.activeElement;if(Q&&Q!==document.body)return Q;let J=globalThis.__ariaLastFocusedEl;if(J?.isConnected!==!1)return J;return null},W=u(_);if(!W?.showModal)return;let F=null,A=function(Q){if(Q){W.hidden=!1;try{W.inert=!1}catch{}return W.removeAttribute("aria-hidden")}else{try{W.inert=!0}catch{}return W.setAttribute("aria-hidden","true"),W.hidden=!0}},Y=function(){let Q=F;if(F=null,!Q?.focus)return;let J=function(M=6){if(Q.isConnected===!1)return;try{Q.focus({preventScroll:!0})}catch{Q.focus()}if(document.activeElement===Q||M<=1)return;return setTimeout(function(){return J(M-1)},16)};return requestAnimationFrame(function(){return J()})},G=function(Q){if(!w){Q.preventDefault();return}return U?.(!1)},Z=function(){return U?.(!1),A(!1),Y()};if(W.addEventListener("cancel",G),W.addEventListener("close",Z),f&&!W.open){if(!F)F=$();A(!0);try{W.showModal()}catch{}}else if(!f&&W.open)W.close();else A(!!f);return function(){return W.removeEventListener("cancel",G),W.removeEventListener("close",Z)}},C4=function(f,_,U="vertical"){if(f.isComposing)return;let w=U!=="horizontal",u=U!=="vertical";return(()=>{switch(f.key){case"ArrowDown":return w?A1(f,_.next):void 0;case"ArrowUp":return w?A1(f,_.prev):void 0;case"ArrowRight":return u?A1(f,_.next):void 0;case"ArrowLeft":return u?A1(f,_.prev):void 0;case"Home":case"PageUp":return A1(f,_.first);case"End":case"PageDown":return A1(f,_.last);case"Enter":case" ":return A1(f,_.select);case"Escape":return A1(f,_.dismiss);default:return f.key.length===1?_.char?.(f.key):void 0}})()},h4=function(f,_,U=4,w=!0){if(!(f&&_))return;let u=f.getBoundingClientRect();_.style.position="fixed",_.style.left=`${u.left}px`,_.style.top=`${u.bottom+U}px`,_.style.minWidth=`${u.width}px`;let $=_.getBoundingClientRect();if($.bottom>window.innerHeight)_.style.top=`${u.top-$.height-U}px`;if($.right>window.innerWidth)_.style.left=`${window.innerWidth-$.width-U}px`;return w?_.style.visibility="visible":void 0},b4='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])',j4=function(f){let _=function(U){if(U.key!=="Tab")return;let w=Array.from(f.querySelectorAll(b4)).filter(function(W){return W.offsetParent!==null});if(!w.length)return;let u=w[0],$=w[w.length-1];return U.shiftKey?document.activeElement===u?(U.preventDefault(),$.focus()):void 0:document.activeElement===$?(U.preventDefault(),u.focus()):void 0};return f.addEventListener("keydown",_),function(){return f.removeEventListener("keydown",_)}},y4=function(f,_){if(!f)return;let U=f.querySelector("h1,h2,h3,h4,h5,h6");if(U)U.id??=`${_}-title`,f.setAttribute("aria-labelledby",U.id);let w=f.querySelector("p");if(w)return w.id??=`${_}-desc`,f.setAttribute("aria-describedby",w.id)},j1=[],c4=function(f){let _=window.scrollY;if(j1.push({instance:f,scrollY:_}),j1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${_}px`,document.body.style.width="100%"},g4=function(f){let _,U=j1.findIndex(function(w){return w.instance===f});if(U<0)return;if({scrollY:_}=j1.splice(U,1)[0],!j1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)},f3=function(){return(()=>{try{if(!document?.createElement)return!1;let f=document.createElement("div"),_=document.createElement("div");f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",_.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(_);let U=_.getBoundingClientRect();return f.remove(),_.remove(),U.top>50}catch{return!1}})()}(),v4=function(f,_,U={}){let w,u,$,W;if(!(f&&_))return;let F=U.placement??"bottom start",A=U.offset??4,Y=U.matchWidth??!1;if(f3){switch(u=`--anchor-${_.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=u,_.style.positionAnchor=u,_.style.position="fixed",_.style.inset="auto",_.style.margin="0",_.style.positionArea=F,_.style.positionTry="flip-block, flip-inline, flip-block flip-inline",_.style.positionVisibility="anchors-visible",[W]=F.split(" "),_.style.marginTop="",_.style.marginBottom="",_.style.marginLeft="",_.style.marginRight="",W){case"bottom":_.style.marginTop=`${A}px`;break;case"top":_.style.marginBottom=`${A}px`;break;case"left":_.style.marginRight=`${A}px`;break;case"right":_.style.marginLeft=`${A}px`;break}return Y?_.style.minWidth="anchor-size(width)":void 0}else{switch($=f.getBoundingClientRect(),_.style.position="fixed",_.style.inset="auto",_.style.margin="0",[W,w]=F.split(" "),w??="start",W){case"bottom":_.style.top=`${$.bottom+A}px`;break;case"top":_.style.bottom=`${window.innerHeight-$.top+A}px`;break;case"left":_.style.right=`${window.innerWidth-$.left+A}px`;break;case"right":_.style.left=`${$.right+A}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(W):(W in["bottom","top"]))switch(w){case"start":_.style.left=`${$.left}px`;break;case"center":_.style.left=`${$.left+$.width/2}px`,_.style.transform="translateX(-50%)";break;case"end":_.style.right=`${window.innerWidth-$.right}px`;break}else switch(w){case"start":_.style.top=`${$.top}px`;break;case"center":_.style.top=`${$.top+$.height/2}px`,_.style.transform="translateY(-50%)";break;case"end":_.style.bottom=`${window.innerHeight-$.bottom}px`;break}return Y?_.style.minWidth=`${$.width}px`:void 0}};globalThis.__aria??={listNav:S4,rovingNav:C4,popupDismiss:L4,popupGuard:N4,bindPopover:T4,bindDialog:V4,positionBelow:h4,trapFocus:j4,wireAria:y4,lockScroll:c4,unlockScroll:g4,position:v4,hasAnchor:f3};globalThis.ARIA??=globalThis.__aria;P1.modules["ui.rip"]=i1;for(let[f,_]of Object.entries(i1))if(typeof _==="function")globalThis[f]=_;})();
|