rip-lang 3.13.135 → 3.13.136
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/dist/rip.js +379 -548
- package/docs/dist/rip.min.js +173 -181
- package/docs/dist/rip.min.js.br +0 -0
- package/package.json +1 -1
- package/src/compiler.js +2 -245
- package/src/typecheck.js +53 -0
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
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
|
|
1
|
+
(()=>{var{defineProperty:a1,getOwnPropertyNames:E3,getOwnPropertyDescriptor:N3}=Object,S3=Object.prototype.hasOwnProperty;function L3(f){return this[f]}var T3=(f)=>{var w=(R2??=new WeakMap).get(f),_;if(w)return w;if(w=a1({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var U of E3(f))if(!S3.call(w,U))a1(w,U,{get:L3.bind(f,U),enumerable:!(_=N3(f,U))||_.enumerable})}return R2.set(f,w),w},R2;var V3=(f)=>f;function C3(f,w){this[f]=V3.bind(null,w)}var O2=(f,w)=>{for(var _ in w)a1(f,_,{get:w[_],enumerable:!0,configurable:!0,set:C3.bind(w,_)})};var l4={};O2(l4,{rip:()=>n2,processRipScripts:()=>i2,parser:()=>D1,importRip:()=>I1,getStdlibCode:()=>h1,getReactiveRuntime:()=>b1,getComponentRuntime:()=>j1,formatSExpr:()=>Z1,formatErrorHTML:()=>A2,formatError:()=>P1,compileToJS:()=>Q1,compile:()=>k1,VERSION:()=>m2,RipError:()=>F1,Lexer:()=>J1,Compiler:()=>C1,CodeEmitter:()=>W1,BUILD_DATE:()=>k2});var h3=["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 b3=["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 I2(f){let w=f.prototype;w.rewriteTypes=function(){let _=this.tokens,U=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 G=F[W+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Y=F[W-1]?.[0]==="DEF",Z=P2(F,W+1);if(Z){let Q=W+1+Z.length,K=!Y&&F[Q]?.[0]==="="&&F[Q+1]?.[0]==="COMPONENT";if(Y||K){if(!$.data)$.data={};if($.data.typeParams=K1(Z),F.splice(W+1,Z.length),Y&&F[W+1]?.[0]==="("){F[W+1][0]="CALL_START";let D=1,H=W+2;while(H<F.length&&D>0){if(F[H][0]==="("||F[H][0]==="CALL_START")D++;if(F[H][0]===")"||F[H][0]==="CALL_END")D--;if(D===0)F[H][0]="CALL_END";H++}}}}}}if(A==="TYPE_ANNOTATION"){let G=F[W-1];if(!G)return 1;let Y=q2(F,W+1),Z=K1(Y),Q=G,K="type";if(G[0]==="CALL_END"||G[0]===")"){let H=1,J=W-2;while(J>=0&&H>0){let z=F[J][0];if(z==="CALL_END"||z===")")H++;if(z==="CALL_START"||z==="(")H--;J--}if(J>=0)Q=F[J];K="returnType"}else if(G[0]==="PARAM_END"){let H=W+1+Y.consumed,J=F[H];if(J&&(J[0]==="->"||J[0]==="=>"))Q=J;K="returnType"}else if(G[0]==="IDENTIFIER"&&W>=2&&F[W-2]?.[0]==="DEF")K="returnType";if(!Q.data)Q.data={};Q.data[K]=Z;for(let H of Y)if(H[0]==="IDENTIFIER")U.add(H[1]);let D=1+Y.consumed;return F.splice(W,D),0}if(A==="IDENTIFIER"&&$[1]==="type"){let G=F[W-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let Z=W+1,Q=F[Z];if(!Q||Q[0]!=="IDENTIFIER")return 1;let K=Q[1],D=G==="EXPORT",H=D?W-1:W,J=Z+1;if(F[J]?.[0]==="COMPARE"&&F[J]?.[1]==="<"&&!F[J].spaced){let B=P2(F,J);if(B){if(!Q.data)Q.data={};Q.data.typeParams=K1(B),F.splice(J,B.length)}}if(F[J]?.[0]!=="=")return 1;let z=(B)=>{let I=u("TYPE_DECL",K,Q);if(I.data={name:K,typeText:B,exported:D},Q.data?.typeParams)I.data.typeParams=Q.data.typeParams;return I},q=J+1,R=F[q];if(R&&(R[0]==="TERMINATOR"||R[0]==="INDENT")){let B=j3(F,q);if(B)return F.splice(H,B.endIdx-H+1,z(B.typeText)),0}if(R&&R[0]==="INDENT"){let B=s1(F,q);return F.splice(H,B-H+1,z(r1(F,q))),0}let X=q2(F,q);return F.splice(H,q+X.consumed-H,z(K1(X))),0}if(A==="INTERFACE"){let G=W>=1&&F[W-1]?.[0]==="EXPORT",Y=W+1,Z=F[Y];if(!Z)return 1;let Q=Z[1],K=null,D=Y+1;if(F[D]?.[0]==="EXTENDS")K=F[D+1]?.[1],D=D+2;if(F[D]?.[0]==="INDENT"){let H=r1(F,D),J=s1(F,D),z=u("TYPE_DECL",Q,Z);z.data={name:Q,kind:"interface",extends:K,typeText:H,exported:G};let q=G?W-1:W,R=J-q+1;return F.splice(q,R,z),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let W=_[$+1];if(!W||W[0]!=="IDENTIFIER")continue;let F=$+2;if(_[F]?.[0]!=="CALL_START")continue;let A=1;F++;while(F<_.length&&A>0){if(_[F][0]==="CALL_START")A++;if(_[F][0]==="CALL_END")A--;F++}let G=F-1,Y=_[F];if(Y&&Y[0]!=="TERMINATOR")continue;let Z=W.data?.returnType;if(!Z){for(let z=$+2;z<=G;z++)if(_[z].data?.type){Z=!0;break}}if(!Z)continue;let Q=_.slice($,F+1),K=$>=1&&_[$-1]?.[0]==="EXPORT",D=K?$-1:$,H=F+1-D,J=u("TYPE_DECL",W[1],W);if(J.data={name:W[1],kind:"overload",overloadTokens:Q,exported:K},W.data?.typeParams)J.data.typeParams=W.data.typeParams;_.splice(D,H,J)}}}function q2(f,w){let _=[],U=0,u=w;while(w<f.length){let $=f[w],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]===">>"&&U>=2){U-=2,_.push($),w++;continue}if(F){U++,_.push($),w++;continue}if(A){if(U>0){U--,_.push($),w++;continue}break}if(U===0){if(W==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){w++;let G=1;while(w<f.length&&G>0)if(f[w][0]==="INDENT")G++,w++;else if(f[w][0]==="OUTDENT")G--,w++;else _.push(f[w]),w++;continue}if(W==="="||W==="REACTIVE_ASSIGN"||W==="COMPUTED_ASSIGN"||W==="READONLY_ASSIGN"||W==="EFFECT"||W==="TERMINATOR"||W==="INDENT"||W==="OUTDENT"||W==="->"||W===",")break}_.push($),w++}return _.consumed=w-u,_}function K1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let w=f.map((_)=>_[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,": ").replace(/ : /g,": "),w}function P2(f,w){if(w>=f.length)return null;let _=f[w];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let U=[_],u=1,$=w+1;while($<f.length&&u>0){let W=f[$];if(U.push(W),W[0]==="COMPARE"&&W[1]==="<")u++;else if(W[0]==="COMPARE"&&W[1]===">")u--;$++}return u===0?U:null}function r1(f,w){let _=[],U=w+1,u=1;while(U<f.length&&u>0){let $=f[U];if($[0]==="INDENT"){u++,U++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;U++;continue}if($[0]==="TERMINATOR"){U++;continue}if(u===1&&$[0]==="["){let F=[];U++;while(U<f.length&&f[U][0]!=="]")F.push(f[U]),U++;if(U++,f[U]?.[1]===":"||f[U]?.[0]==="TYPE_ANNOTATION")U++;let A=[];while(U<f.length){let Z=f[U];if(Z[0]==="TERMINATOR"||Z[0]==="OUTDENT")break;A.push(Z),U++}let G=K1(F),Y=K1(A);_.push(`[${G}]: ${Y}`);continue}let W=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[U+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&W){let F=$[1],A=!1,G=!1;if(U++,F==="readonly"&&f[U]&&(f[U][0]==="PROPERTY"||f[U][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[U][1])&&f[U+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,F=f[U][1],f[U].data?.predicate)A=!0;U++}if($.data?.predicate)A=!0;if(f[U]?.[1]==="?"&&!f[U]?.spaced)A=!0,U++;if(f[U]?.[1]===":"||f[U]?.[0]==="TYPE_ANNOTATION")U++;let Y=[],Z=0;while(U<f.length){let H=f[U];if(H[0]==="IDENTIFIER"&&H[1]==="type"&&f[U+1]?.[0]==="INDENT"){U++;let J=r1(f,U);Y.push(["",J]);let z=1;U++;while(U<f.length&&z>0){if(f[U][0]==="INDENT")z++;if(f[U][0]==="OUTDENT")z--;U++}continue}if(H[0]==="INDENT"){Z++,U++;continue}if(H[0]==="OUTDENT"){if(Z>0){Z--,U++;continue}break}if(H[0]==="TERMINATOR"&&Z===0)break;Y.push(H),U++}let Q=K1(Y),K=G?"readonly ":"",D=A?"?":"";_.push(`${K}${F}${D}: ${Q}`)}else U++}return"{ "+_.join("; ")+" }"}function s1(f,w){let _=0;for(let U=w;U<f.length;U++){if(f[U][0]==="INDENT")_++;if(f[U][0]==="OUTDENT"){if(_--,_===0)return U}}return f.length-1}function j3(f,w){let _=w;if(f[_]?.[0]==="TERMINATOR")_++;if(f[_]?.[0]!=="INDENT")return null;let U=_;_++;while(_<f.length&&f[_][0]==="TERMINATOR")_++;if(!f[_]||f[_][1]!=="|")return null;let u=[],$=1;_=U+1;while(_<f.length&&$>0){let F=f[_];if(F[0]==="INDENT"){$++,_++;continue}if(F[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(F[0]==="TERMINATOR"){_++;continue}if(F[1]==="|"&&$===1){_++;let A=[];while(_<f.length){let G=f[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;A.push(G),_++}if(A.length>0)u.push(K1(A));continue}_++}if(u.length===0)return null;let W=s1(f,U);return{typeText:u.join(" | "),endIdx:W}}function e1(f,w=null,_=""){let U=[],u=0,$=" ",W=()=>$.repeat(u),F=!1,A=new Set,G=!1,Y=!1,Z=!1,Q=typeof _==="string"?_.split(`
|
|
2
|
+
`):[];for(let X=0;X<f.length;X++){let B=f[X][0];if(B==="REACTIVE_ASSIGN")G=!0;else if(B==="COMPUTED_ASSIGN")Y=!0}let K=(X,B,I)=>{if(B.startsWith("{ ")&&B.endsWith(" }")){let O=0,M=-1;for(let P=0;P<B.length;P++)if(B[P]==="{")O++;else if(B[P]==="}"){if(O--,O===0){M=P;break}}if(M===B.length-1){let P=B.slice(2,-2),E=[],S=0,N=0;for(let L=0;L<P.length;L++)if(P[L]==="{")N++;else if(P[L]==="}")N--;else if(N===0&&P[L]===";"&&P[L+1]===" ")E.push(P.slice(S,L)),S=L+2;if(S<P.length)E.push(P.slice(S));if(E=E.filter((L)=>L.trim()),E.length>0){U.push(`${W()}${X}{`),u++;for(let L of E)U.push(`${W()}${L};`);u--,U.push(`${W()}}${I}`);return}}}U.push(`${W()}${X}${B}${I}`)},D=(X,B)=>{B++;let I=0;while(B<X.length){let O=X[B];if(O[0]==="("||O[0]==="["||O[0]==="{")I++;if(O[0]===")"||O[0]==="]"||O[0]==="}"){if(I===0)break;I--}if(I===0&&O[1]===",")break;B++}return B},H=(X,B)=>{let I=[],O=!1,M=B+1,P=1;while(M<X.length&&P>0){if(X[M][0]==="{")P++;if(X[M][0]==="}")P--;if(P<=0){M++;break}if(X[M][0]==="..."||X[M][0]==="SPREAD"){if(M++,X[M]?.[0]==="IDENTIFIER")I.push({kind:"rest",propName:X[M][1]}),M++;continue}if(X[M][0]==="PROPERTY"&&X[M+1]?.[0]===":"){let N=X[M][1];if(M+=2,X[M]?.[0]==="{"){let L=H(X,M);if(L.hasAnyType)O=!0;I.push({kind:"nested-obj",propName:N,inner:L}),M=L.endJ;continue}if(X[M]?.[0]==="["){let L=J(X,M);if(L.hasAnyType)O=!0;I.push({kind:"nested-arr",propName:N,inner:L}),M=L.endJ;continue}if(X[M]?.[0]==="IDENTIFIER"){let L=X[M][1],j=X[M].data?.type;if(j)O=!0;let T=X[M+1]?.[0]==="=";if(I.push({kind:"rename",propName:N,localName:L,type:j?_1(j):null,hasDefault:T}),M++,T)M=D(X,M)}continue}if(X[M][0]==="IDENTIFIER"){let N=X[M][1],L=X[M].data?.type;if(L)O=!0;let j=X[M+1]?.[0]==="=";if(I.push({kind:"simple",propName:N,type:L?_1(L):null,hasDefault:j}),M++,j)M=D(X,M);continue}M++}let E=[],S=[];for(let N of I)if(N.kind==="rest")E.push(`...${N.propName}`),S.push("[key: string]: unknown");else if(N.kind==="nested-obj"||N.kind==="nested-arr")E.push(`${N.propName}: ${N.inner.patternStr}`),S.push(`${N.propName}: ${N.inner.typeStr}`);else if(N.kind==="rename")E.push(`${N.propName}: ${N.localName}`),S.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);else E.push(N.propName),S.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);return{patternStr:`{${E.join(", ")}}`,typeStr:`{${S.join(", ")}}`,endJ:M,hasAnyType:O}},J=(X,B)=>{let I=[],O=[],M=!1,P=B+1,E=1;while(P<X.length&&E>0){if(X[P][0]==="[")E++;if(X[P][0]==="]")E--;if(E>0&&X[P][0]==="IDENTIFIER"){let S=X[P][1],N=X[P].data?.type;if(I.push(S),O.push(N?_1(N):null),N)M=!0}P++}return{patternStr:`[${I.join(", ")}]`,typeStr:`[${O.map((S)=>S||"any").join(", ")}]`,endJ:P,hasAnyType:M}},z=(X,B)=>{let I=[],O=[],M=B,P=X[M]?.[0];if(P!=="CALL_START"&&P!=="PARAM_START")return{params:I,fields:O,endIdx:M};let E=P==="CALL_START"?"CALL_END":"PARAM_END";M++;let S=0;while(M<X.length&&!(X[M][0]===E&&S===0)){let N=X[M];if(N[1]===","&&S===0){M++;continue}if(N[0]==="{"||N[0]==="["||N[0]==="CALL_START"||N[0]==="PARAM_START"||N[0]==="INDEX_START")S++;if(N[0]==="}"||N[0]==="]"||N[0]==="CALL_END"||N[0]==="PARAM_END"||N[0]==="INDEX_END"){S--,M++;continue}if(N[0]==="@"){if(M++,X[M]?.[0]==="PROPERTY"||X[M]?.[0]==="IDENTIFIER"){let L=X[M][1],j=X[M].data?.type;if(I.push(j?`${L}: ${_1(j)}`:L),j)O.push({name:L,type:_1(j)});M++}continue}if(N[0]==="SPREAD"||N[1]==="..."){if(M++,X[M]?.[0]==="IDENTIFIER"){let L=X[M][1],j=X[M].data?.type;I.push(j?`...${L}: ${_1(j)}`:`...${L}: any[]`),M++}continue}if(N[0]==="{"){S--;let L=H(X,M);if(M=L.endJ,L.hasAnyType)I.push(`${L.patternStr}: ${L.typeStr}`);else I.push(L.patternStr);continue}if(N[0]==="["){S--;let L=J(X,M);if(M=L.endJ,L.hasAnyType)I.push(`${L.patternStr}: ${L.typeStr}`);else I.push(L.patternStr);continue}if(N[0]==="IDENTIFIER"){let L=N[1],j=N.data?.type,T=!1;if(X[M+1]?.[0]==="=")T=!0;let s=T||N.data?.predicate;if(j)I.push(`${L}${s?"?":""}: ${_1(j)}`);else I.push(L);if(M++,T){M++;let V=0;while(M<X.length){let C=X[M];if(C[0]==="("||C[0]==="["||C[0]==="{")V++;if(C[0]===")"||C[0]==="]"||C[0]==="}")V--;if(V===0&&(C[1]===","||C[0]==="CALL_END"))break;M++}}continue}M++}return{params:I,fields:O,endIdx:M}};for(let X=0;X<f.length;X++){let B=f[X],I=B[0],O=!1;if(I==="EXPORT"){if(O=!0,X++,X>=f.length)break;if(B=f[X],I=B[0],I==="DEFAULT"){if(X++,X>=f.length)break;if(B=f[X],I=B[0],I==="IDENTIFIER")U.push(`${W()}export default ${B[1]};`);continue}}if(I==="IMPORT"){let M=[],P=X+1;while(P<f.length&&f[P][0]!=="TERMINATOR")M.push(f[P]),P++;let E="import "+M.map((S)=>S[1]).join(" ");E=E.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),U.push(`${W()}${E};`),X=P;continue}if(I==="TYPE_DECL"){let M=B.data;if(!M)continue;let P=O||M.exported?"export ":"",E=M.typeParams||"";if(M.kind==="overload"){let S=M.overloadTokens,N=S[1],{params:L}=z(S,2),j=N.data?.returnType,T=j?`: ${_1(j)}`:"",s=F?"":P?"":"declare ",V=M.typeParams||"";if(F)U.push(`${W()}${M.name}${V}(${L.join(", ")})${T};`);else U.push(`${W()}${P}${s}function ${M.name}${V}(${L.join(", ")})${T};`)}else if(M.kind==="interface"){let S=M.extends?` extends ${M.extends}`:"";K(`${P}interface ${M.name}${E}${S} `,M.typeText||"{}","")}else{let S=_1(M.typeText||"");K(`${P}type ${M.name}${E} = `,S,";")}continue}if(I==="ENUM"){let M=O?"export ":"",P=f[X+1];if(!P)continue;let E=P[1],S=X+2;if(f[S]?.[0]==="INDENT"){U.push(`${W()}${M}enum ${E} {`),u++,S++;let N=[];while(S<f.length&&f[S][0]!=="OUTDENT"){if(f[S][0]==="TERMINATOR"){S++;continue}if(f[S][0]==="IDENTIFIER"){let L=f[S][1];if(S++,f[S]?.[1]==="="){S++;let j=f[S]?.[1];N.push(`${L} = ${j}`),S++}else N.push(L)}else S++}for(let L=0;L<N.length;L++){let j=L<N.length-1?",":"";U.push(`${W()}${N[L]}${j}`)}u--,U.push(`${W()}}`)}continue}if(I==="CLASS"){let M=O?"export ":"",P=f[X+1];if(!P)continue;let E=P[1],S="",N=X+2;if(f[N]?.[0]==="EXTENDS")S=` extends ${f[N+1]?.[1]||""}`,N+=2;if(f[N]?.[0]==="INDENT"){let L=!1,j=N+1;while(j<f.length&&f[j][0]!=="OUTDENT"){if(f[j].data?.type||f[j].data?.returnType){L=!0;break}j++}if(L)U.push(`${W()}${M}declare class ${E}${S} {`),F=!0,A.clear(),u++}continue}if(I==="DEF"){let M=f[X+1];if(!M)continue;let P=M[1],E=M.data?.returnType;if(!E&&M.data?.await===!0)E="void";let S=M.data?.typeParams||"",{params:N,endIdx:L}=z(f,X+2);if(E||N.some((j)=>j.includes(":"))){let j=O?"export ":"",T=F?"":O?"":"declare ",s=E?`: ${_1(E)}`:"",V=N.join(", ");if(F)U.push(`${W()}${P}${S}(${V})${s};`);else U.push(`${W()}${j}${T}function ${P}${S}(${V})${s};`)}X=L;continue}if(I==="{"&&F){let M=X+1,P=1;while(M<f.length&&P>0){let E=f[M];if(E[0]==="{"){P++,M++;continue}if(E[0]==="}"){P--,M++;continue}if(E[0]==="TERMINATOR"){M++;continue}if(E[0]==="PROPERTY"&&P===1){let S=E[1],N=E.data?.returnType;if(M++,f[M]?.[1]===":")M++;let L=[],j=[];if(f[M]?.[0]==="PARAM_START"){let T=z(f,M);L=T.params,j=T.fields,M=T.endIdx+1}if(f[M]?.[0]==="->"||f[M]?.[0]==="=>")M++;if(f[M]?.[0]==="INDENT"){let T=1;M++;while(M<f.length&&T>0){if(f[M][0]==="INDENT")T++;if(f[M][0]==="OUTDENT")T--;M++}}if(N||L.some((T)=>T.includes(":"))){let T=N?`: ${_1(N)}`:"",s=L.join(", ");if(S==="constructor"&&j.length){for(let V of j)if(!A.has(V.name))U.push(`${W()}${V.name}: ${V.type};`),A.add(V.name)}U.push(`${W()}${S}(${s})${T};`)}continue}M++}X=M-1;continue}if(I==="INDENT")continue;if(I==="OUTDENT"){if(F)u--,U.push(`${W()}}`),F=!1;continue}if(I==="IDENTIFIER"&&!F&&f[X+1]?.[0]==="="&&(f[X+2]?.[0]==="PARAM_START"||f[X+2]?.[0]==="(")){let M=B[1],P=X+2,{params:E}=z(f,P),S=P,N=0;while(S<f.length){if(f[S][0]==="PARAM_START"||f[S][0]==="(")N++;if(f[S][0]==="PARAM_END"||f[S][0]===")")N--;if(N===0&&(f[S][0]==="->"||f[S][0]==="=>"))break;S++}let L=f[S]?.data?.returnType;if(L||E.some((j)=>j.includes(":"))){let j=O?"export ":"",T=O?"":"declare ",s=L?`: ${_1(L)}`:"",V=E.join(", ");U.push(`${W()}${j}${T}function ${M}(${V})${s};`);continue}}if(I==="IDENTIFIER"&&B.data?.type){let M=B[1],P=_1(B.data.type),E=f[X+1];if(E){let S=O?"export ":"",N=O?"":"declare ";if(E[0]==="READONLY_ASSIGN")U.push(`${W()}${S}${N}const ${M}: ${P};`);else if(E[0]==="REACTIVE_ASSIGN")G=!0,U.push(`${W()}${S}${N}const ${M}: Signal<${P}>;`);else if(E[0]==="COMPUTED_ASSIGN")Y=!0,U.push(`${W()}${S}${N}const ${M}: Computed<${P}>;`);else if(E[0]==="EFFECT")U.push(`${W()}${S}${N}const ${M}: () => void;`);else if(E[0]==="="){let L=X+2;if(f[L]?.[0]==="PARAM_START"){let T=1,s=L+1;while(s<f.length&&T>0){if(f[s][0]==="PARAM_START")T++;if(f[s][0]==="PARAM_END")T--;s++}L=s}let j=f[L];if(j&&(j[0]==="->"||j[0]==="=>")&&j.data?.returnType){let T=_1(j.data.returnType),{params:s}=z(f,X+2),V=s.join(", ");U.push(`${W()}${S}${N}function ${M}(${V}): ${T};`)}else if(F)U.push(`${W()}${M}: ${P};`),A.add(M);else U.push(`${W()}${S}let ${M}: ${P};`)}else if(F)U.push(`${W()}${M}: ${P};`),A.add(M)}else if(F)U.push(`${W()}${M}: ${P};`)}}let q=new Set;if(w){if(Z=t1(w,U,W,u,q,Q)||Z,q.size>0)for(let X=U.length-1;X>=0;X--){let B=U[X].match(/(?:declare |export )*(?:const|let) (\w+)/);if(B&&q.has(B[1]))U.splice(X,1)}}if(U.length===0)return null;let R=[];if(Z)R.push(...h3);if(/\bARIA\./.test(_))R.push(...b3);if(G)R.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }"),R.push("declare function __state<T>(value: T | Signal<T>): Signal<T>;");if(Y)R.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }"),R.push("declare function __computed<T>(fn: () => T): Computed<T>;");if(G||Y)R.push("declare function __effect(fn: () => void | (() => void)): () => void;");if(R.length>0)R.push("");return R.concat(U).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&&_?.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}:
|
|
4
|
+
`}function _1(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 t1(f,w,_,U,u,$){if(!Array.isArray(f))return!1;let W=f[0]?.valueOf?.()??f[0],F=!1,A=new Map,G=(H)=>typeof H==="string"&&/^[a-z]/.test(H),Y=(H)=>{if(!Array.isArray(H))return;let J=H[0]?.valueOf?.()??H[0];if(G(J))for(let z=1;z<H.length;z++){let q=H[z];if(!Array.isArray(q))continue;if((q[0]?.valueOf?.()??q[0])!=="object")continue;for(let X=1;X<q.length;X++){let B=q[X];if(!Array.isArray(B))continue;if((B[0]?.valueOf?.()??B[0])!=="ref")continue;let O=B[1]?.valueOf?.()??B[1];if(typeof O==="string")O=O.replace(/^["']|["']$/g,"");if(typeof O==="string"&&!A.has(O))A.set(O,`__RipDomEl<'${J}'> | null`)}}for(let z=1;z<H.length;z++)if(Array.isArray(H[z]))Y(H[z])},Z=!1,Q=null,K=null,D="";if(W==="export"&&Array.isArray(f[1])){Z=!0;let H=f[1];if((H[0]?.valueOf?.()??H[0])==="="&&Array.isArray(H[2])&&(H[2][0]?.valueOf?.()??H[2][0])==="component")D=H[1]?.typeParams||"",Q=H[1]?.valueOf?.()??H[1],K=H[2]}else if(W==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")D=f[1]?.typeParams||"",Q=f[1]?.valueOf?.()??f[1],K=f[2];if(Q&&K){let H=Z?"export ":"",J=K[1]?.valueOf?.()??null,z=J?`__RipProps<'${J}'>`:null;if(z)F=!0;let q=K[2],R=Array.isArray(q)&&(q[0]?.valueOf?.()??q[0])==="block"?q.slice(1):q?[q]:[],X=[],B=[],I=!1,O=(M)=>{let P=M?.valueOf?.()??M;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 M of R){if(!Array.isArray(M))continue;let P=M[0]?.valueOf?.()??M[0],E,S,N,L,j;if(P==="state"||P==="readonly"||P==="computed"){if(E=M[1],N=Array.isArray(E)&&(E[0]?.valueOf?.()??E[0])==="."&&(E[1]?.valueOf?.()??E[1])==="this",S=N?E[2]?.valueOf?.()??E[2]:E?.valueOf?.()??E,L=N?E[2]?.type:E?.type,j=!0,!N){u.add(S);let V=P==="computed"?"Computed":"Signal",C=L?_1(L):O(M[2])||"any";B.push(` ${S}: ${V}<${C}>;`);continue}}else if(P==="."){if(N=(M[1]?.valueOf?.()??M[1])==="this",S=N?M[2]?.valueOf?.()??M[2]:null,L=N?M[2]?.type:null,j=!1,!N&&S)u.add(S)}else if(P==="object"){for(let V=1;V<M.length;V++){let C=M[V];if(!Array.isArray(C)||C.length<3)continue;let y=C[1]?.valueOf?.()??C[1],x=C[2];if(!Array.isArray(x))continue;let r=x[0]?.valueOf?.()??x[0];if(r!=="->"&&r!=="=>")continue;let f1=x[1];if(!Array.isArray(f1))continue;if(!f1.some((g)=>g?.type))continue;let c=[];for(let g of f1){let l=g?.valueOf?.()??g,t=g?.type?_1(g.type):"any";c.push(`${l}: ${t}`)}B.push(` ${y}(${c.join(", ")}): void;`)}continue}else if(P==="render"){F=!0,Y(M[1]);continue}else continue;if(!N||!S)continue;let T=L?_1(L):"any",s=j?"?":"";if(!j)I=!0;if(X.push(` ${S}${s}: ${T};`),P==="state")X.push(` __bind_${S}__?: Signal<${T}>;`)}if(w.push(`${H}declare class ${Q}${D} {`),X.length>0||z){let M=I?"":"?";if(X.length>0){w.push(` constructor(props${M}: {`);for(let P of X)w.push(P);w.push(z?` } & ${z});`:" });")}else w.push(` constructor(props${M}: ${z});`)}for(let[M,P]of A)B.push(` ${M}: ${P};`);for(let M of B)w.push(M);w.push("}")}if(W==="program"||W==="block"){for(let H=1;H<f.length;H++)if(Array.isArray(f[H]))F=t1(f[H],w,_,U,u,$)||F}if(W==="export"&&Array.isArray(f[1])&&!K)F=t1(f[1],w,_,U,u,$)||F;return F}function B2(f,w,_){let[U,u]=w,$=U?.valueOf?.()??U,W=[];if(Array.isArray(u)){let G=u[0]==="block"?u.slice(1):[u];for(let Y of G)if(Array.isArray(Y)){if(Y[0]?.valueOf?.()==="="){let Z=Y[1]?.valueOf?.()??Y[1],Q=Y[2]?.valueOf?.()??Y[2];W.push([Z,Q])}}}if(W.length===0)return`const ${$} = {}`;let F=W.map(([G,Y])=>`${G}: ${Y}`).join(", "),A=W.map(([G,Y])=>`${Y}: "${G}"`).join(", ");return`const ${$} = {${F}, ${A}}`}var E2=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"]),N2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),f2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},S2=new Set(Object.keys(f2)),y3=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),c3=new Set(["break","continue","debugger"]),v3=new Set(["NEW","TYPEOF","DELETE"]),g3=new Set(["IN","OF","INSTANCEOF"]),l1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),$2=new Set([...l1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END"]),g1=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","--","++"]),l3=new Set(["+","-"]),x3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),m3=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"]),k3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},L2=new Set(["CATCH","THEN","ELSE","FINALLY",...z1]),u2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),i3=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),n3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),T2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),d3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),E1=new Set(["INDENT","OUTDENT","TERMINATOR"]),V2=new Set([".","?."]),C2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),p3=new Set([...$2,"++","--"]),h2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),o3=new Set(["*","/","%","//","%%"]),a3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),r3=new Set(["<<",">>",">>>"]),s3=new Set(["!","~"]),t3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,e3=/^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,u4=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,f4=/^[^\n\S]+/,$4=/^(?:\n[^\n\S]*)+/,w4=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,_4=/^[-=]>/,U4=/^(?:~[=>]|=!)/,F4=/^(?:'''\\|"""\\|'''|"""|'|")/,W4=/^(?:[^\\']|\\[\s\S])*/,A4=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,Y4=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,G4=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,b2=/\n+([^\n\S]*)(?=\S)/g,Z4=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,j2=/^\w*/,z4=/^(?!.*(.).*\1)[gimsuy]*$/,Q4=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,K4=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,X4=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,J4=/\s+$/,y2=/^\s*(?:,|\??\.(?![.\d]))/,M4=65279;function x1(f,w,{pre:_=0,row:U=0,col:u=0,len:$=0,data:W=null}={}){let F=[f,w];return F.pre=_,F.data=W,F.loc={r:U,c:u,n:$},F.spaced=_>0,F.newLine=!1,F}function Y1(f,w,_){let U=x1(f,w);if(U.generated=!0,_)U.origin=_;return U}function G1(f,{row:w=0,col:_=0,len:U=1}={}){let u=SyntaxError(f);throw u.location={first_line:w,first_column:_,last_column:_+U-1},u}function D4(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,w={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=w.row||0,this.col=w.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 _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)G1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(_),w.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let _=this.ends[this.ends.length-1];G1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(w.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===M4)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
|
|
5
|
+
`),f=f.replace(J4,""),/^[^\n\S]/.test(f))f=`
|
|
6
|
+
`+f;return f}advance(f){let w=this.code.slice(this.pos,this.pos+f);for(let _=0;_<w.length;_++)if(w[_]===`
|
|
7
|
+
`)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,w,{len:_,data:U,pre:u}={}){let $=x1(f,w,{pre:u??0,row:this.row,col:this.col,len:_??(typeof w==="string"?w.length:0),data:U});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(U4.test(this.chunk))return 0;let f=t3.exec(this.chunk);if(!f)return 0;let[,w,_]=f,U=w.length,u={},$;if(w==="own"&&this.prevTag()==="FOR")return this.emit("OWN",w,{len:U}),U;if(w==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",w,{len:U}),U;if(w==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Y=this.prevTag();if(Y==="DEFAULT"||Y==="IMPORT_ALL"||Y==="IDENTIFIER")return this.emit("AS",w,{len:U}),U}if((w==="as"||w==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(w==="as!"?"FORASAWAIT":"FORAS","as",{len:U}),U;if(w==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",w,{len:U}),U;let W;if(w==="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(_&&F&&F[0]==="TERNARY")_=null;if(_||F&&(F[0]==="."||F[0]==="?."||!F.spaced&&F[0]==="@")){if($="PROPERTY",this.inRenderBlock&&F&&F[0]==="."&&!_){let Y=this.chunk.slice(U);while(Y[0]==="-"&&/^-[a-zA-Z]/.test(Y)){let Z=/^-([a-zA-Z][\w]*)/.exec(Y);if(!Z)break;w+="-"+Z[1],U+=1+Z[1].length,Y=this.chunk.slice(U)}}}else $="IDENTIFIER";let A=w.endsWith("!")||w.endsWith("?")?w.slice(0,-1):w;if($==="IDENTIFIER"&&!w.endsWith("!")&&!w.endsWith("?")&&(E2.has(w)||N2.has(w)||S2.has(w))&&!(this.exportSpecifierList&&S2.has(w))){if(f2[w]!==void 0)u.original=w,w=f2[w];$=this.classifyKeyword(w,$,u)}if($==="IDENTIFIER"&&y3.has(A))if(A==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else G1(`reserved word '${A}'`,{row:this.row,col:this.col,len:U});if($==="PROPERTY"&&F){if(F[0]==="."&&this.tokens.length>1){let Y=this.tokens[this.tokens.length-2];if(Y[0]==="UNARY"&&Y[1]==="new")Y[0]="NEW_TARGET";if(Y[0]==="IMPORT"&&Y[1]==="import")this.seenImport=!1,Y[0]="IMPORT_META"}}if(w.length>1&&w.endsWith("!"))u.await=!0,w=w.slice(0,-1);if(w.length>1&&w.endsWith("?"))u.predicate=!0,w=w.slice(0,-1);let G=this.emit($,w,{len:U,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(_)return this.emit(":",":",{len:1}),U+_.length;return U}classifyKeyword(f,w,_){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(c3.has(f))return"STATEMENT";let U=f.toUpperCase();if(U==="WHEN"&&E1.has(this.prevTag()))return"LEADING_WHEN";if(U==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(U==="UNLESS")return"UNLESS";if(U==="IMPORT")return this.seenImport=!0,"IMPORT";if(U==="EXPORT")return this.seenExport=!0,"EXPORT";if(v3.has(U))return"UNARY";if(g3.has(U)){if(U!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+U;if(this.prevVal()==="!"){let u=this.tokens.pop();_.invert=u.data?.original||u[1]}return"RELATION"}if(E2.has(f)||N2.has(f))return U;return w}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let w=this.prev();if(w&&(w[0]==="IDENTIFIER"||w[0]==="PROPERTY"))return 0;let _=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(_)return this.emit("IDENTIFIER","div#"+_[1]),_[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let f=w4.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=f4.exec(this.chunk);if(!f&&this.chunk[0]!==`
|
|
8
|
+
`)return 0;let w=this.prev();if(w)if(f)w.spaced=!0,w.pre=f[0].length;else w.newLine=!0;return f?f[0].length:0}lineToken(){let f=$4.exec(this.chunk);if(!f)return 0;let w=f[0],_=w.length-1-w.lastIndexOf(`
|
|
9
|
+
`);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!C2.has(this.prevTag())){if(this.outdentTo(_,w.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return w.length}return w.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,_===this.indent)return this.emitNewline(),w.length;if(_>this.indent){if(!this.tokens.length)return this.indent=_,w.length;let U=_-this.indent;return this.emit("INDENT",U,{len:_}),this.indents.push(U),this.ends.push({tag:"OUTDENT"}),this.indent=_,w.length}return this.outdentTo(_,w.length),w.length}outdentTo(f,w=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let _=this.indent-f;while(_>0){let U=this.indents[this.indents.length-1];if(!U)_=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",_,{len:w}),_-=U}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
|
|
10
|
+
`,{len:0})}isUnfinished(){if(this.inRenderBlock&&y2.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let _=this.tokens.length;if(_>=2){let U=this.tokens[_-2][0];if(U==="INDENT"||U==="TERMINATOR"||U==="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 _=0;for(let U=this.tokens.length-1;U>=0;U--){let u=this.tokens[U];if(u[0]==="COMPARE"&&u[1]===">")_++;else if(u[0]==="SHIFT"&&u[1]===">>")_+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")_+=3;else if(u[0]==="COMPARE"&&u[1]==="<")_--;if(_===0&&u[0]==="TYPE_ANNOTATION")return!1;if(_===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return y2.test(this.chunk)||C2.has(this.prevTag())}pair(f){let w=this.ends[this.ends.length-1];if(!w||f!==w.tag){if(w?.tag==="OUTDENT"){let _=this.indents[this.indents.length-1];if(_)this.outdentTo(this.indent-_);return this.pair(f)}G1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=F4.exec(this.chunk);if(!f)return 0;let w=f[0],_=w.length>1&&w.endsWith("\\"),U=_?w.slice(0,-1):w,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(U){case"'":$=W4;break;case'"':$=A4;break;case"'''":$=Y4;break;case'"""':$=G4;break}let{tokens:W,index:F}=this.matchWithInterpolations($,w,U),A=U.length===3,G=null;if(A)G=this.processHeredocIndent(F,U,W);return this.mergeInterpolationTokens(W,{quote:U,indent:G,endOffset:F,raw:_}),F}processHeredocIndent(f,w,_){let U=f-w.length,u=U-1;while(u>=0&&this.chunk[u]!==`
|
|
11
|
+
`)u--;u++;let $=this.chunk.slice(u,U),W=/^\s*$/.test($)?$.length:null,F="";for(let Y of _)if(Y[0]==="NEOSTRING")F+=Y[1];let A=null,G;b2.lastIndex=0;while(G=b2.exec(F))if(A===null||G[1].length>0&&G[1].length<A.length)A=G[1];if(W===null)return A;if(A===null)return" ".repeat(W);if(W<=A.length)return" ".repeat(W);return A}matchWithInterpolations(f,w,_,U){if(!_)_=w;if(!U)U=/^[#$]\{/;let u=[],$=w.length;if(this.chunk.slice(0,$)!==w)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=U.exec(W);if(!A)break;let Y=A[0].length-1,Z=W.slice(Y),Q=new J1().tokenize(Z,{row:this.row,col:this.col+$+Y,untilBalanced:!0,rewrite:!1}),K=Q.index+Y;if(W[K-1]==="}"){let H=Q.tokens[0],J=Q.tokens[Q.tokens.length-1];H[0]="INTERPOLATION_START",H[1]="(",J[0]="INTERPOLATION_END",J[1]=")"}if(Q.tokens[1]?.[0]==="TERMINATOR")Q.tokens.splice(1,1);let D=Q.tokens.length;if(D>2&&Q.tokens[D-3]?.[0]==="INDENT"&&Q.tokens[D-2]?.[0]==="OUTDENT")Q.tokens.splice(D-3,2);u.push(["TOKENS",Q.tokens]),W=W.slice(K),$+=K}if(W.slice(0,_.length)!==_)G1(`missing ${_}`,{row:this.row,col:this.col});return{tokens:u,index:$+_.length}}mergeInterpolationTokens(f,{quote:w,indent:_,endOffset:U,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:w?.length||0,data:{quote:w}});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(_){let G=new RegExp("\\n"+_,"g");A=A.replace(G,`
|
|
12
|
+
`)}if($===0&&w?.length===3)A=A.replace(/^\n/,"");if($===f.length-1&&w?.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:w}})}}if(f.length>1)this.emit("STRING_END",")",{len:w?.length||0});return U}numberToken(){let f=e3.exec(this.chunk);if(!f)return 0;let w=f[0],_=w.length,U={row:this.row,col:this.col};if(/^0[BOX]/.test(w))G1(`radix prefix in '${w}' must be lowercase`,{...U,col:U.col+1});if(/^0\d*[89]/.test(w))G1(`decimal literal '${w}' must not be prefixed with '0'`,{...U,len:_});if(/^0\d+/.test(w))G1(`octal literal '${w}' must be prefixed with '0o'`,{...U,len:_});let u=D4(w),$=u===1/0?"INFINITY":"NUMBER",W={parsedValue:u};if($==="INFINITY")W.original=w;return this.emit($,w,{len:_,data:W}),_}regexToken(){let f=this.matchWithInterpolations(Q4,"///");if(f){let{tokens:G,index:Y}=f,[Z]=j2.exec(this.chunk.slice(Y)),Q=Y+Z.length;if(G.length===1||!G.some((K)=>K[0]==="TOKENS")){let K=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${K}/${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(G,{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 w=Z4.exec(this.chunk);if(!w)return 0;let[_,U,u]=w,$=this.prev();if($){if($.spaced&&l1.has($[0])&&(!u||/^\/=?\s/.test(_)))return 0;if(p3.has($[0])&&!($.spaced&&l1.has($[0])))return 0}if(!u)G1("missing / (unclosed regex)",{row:this.row,col:this.col});let W=_.length,[F]=j2.exec(this.chunk.slice(W)),A=W+F.length;if(!z4.test(F))G1(`invalid regular expression flags ${F}`,{row:this.row,col:this.col+W,len:F.length});return this.emit("REGEX",`/${U}/${F}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let f=X4.exec(this.chunk)||K4.exec(this.chunk);if(!f)return 0;let w=f[1],_=f[0].length;return this.emit("JS",w,{len:_,data:{here:f[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let _={"[":"]","(":")","{":"}","<":">"}[f]||f,U=_!==f,u=1,$=3;while($<this.chunk.length&&u>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(U&&G===f)u++;if(G===_)u--;if(u>0)$++}if(u!==0)return 0;let W=this.chunk.slice(3,$),F=$+1,A=[];if(W.trim()){let G=W.trim().split(/(?<!\\)\s+/);for(let Y of G)A.push(Y.replace(/\\ /g," "))}this.emit("[","[",{len:F});for(let G=0;G<A.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${A[G]}"`)}return this.emit("]","]"),F}literalToken(){let f=this.wordLiteral();if(f)return f;let w=u4.exec(this.chunk),_=w?w[0]:this.chunk.charAt(0),U=_,u=this.prev();if(_4.test(_))this.tagParameters();if(_==="="&&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(x1(A[0],A[1],{pre:0,row:A[2],col:A[3],len:A[4]}));return this.tokens.push(x1(".",".",{pre:0,row:this.row,col:this.col,len:1})),_.length}}if(u&&(_==="="||h2.has(_))){if(_==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",_.length}if(_==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(_==="{"&&this.seenImport)this.importSpecifierList=!0;if(_==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(_==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(_==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(_===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,U="TERMINATOR";else if(_==="|>")U="PIPE";else if(_==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(_==="::")U="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(_==="~=")U="COMPUTED_ASSIGN";else if(_===":=")U="REACTIVE_ASSIGN";else if(_==="<=>")U="BIND";else if(_==="~>")U="EFFECT",this.inTypeAnnotation=!1;else if(_==="=!")U="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(_==="*>"&&(!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 G=this.emit("PROPERTY","assign");return G.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],G=F[2],Y=A[0]==="@",Z=Y?A.slice(1):A,Q=Z?Z.split("."):[],K=()=>{if(Y){if(this.emit("@","@"),Q.length>0)this.emit("PROPERTY",Q[0])}else this.emit("IDENTIFIER",Q[0]);for(let H=1;H<Q.length;H++)this.emit(".","."),this.emit("PROPERTY",Q[H])};K(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),K(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let D=this.prev();return D.mergeClose=!0,2+A.length+G.length+1}}else if(_==="*"&&u?.[0]==="EXPORT")U="EXPORT_ALL";else if(o3.has(_))U="MATH";else if(a3.has(_))U="COMPARE";else if(h2.has(_))U="COMPOUND_ASSIGN";else if(s3.has(_))U="UNARY_MATH";else if(r3.has(_))U="SHIFT";else if(_==="?"&&u?.spaced)U="TERNARY";else if(_==="?!"&&u&&!u.spaced)U="PRESENCE";else if(_==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))U="?.";else if(u){if(_==="("&&!u.spaced&&l1.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";U="CALL_START"}if(_==="["&&!u.spaced&&$2.has(u[0])){if(U="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(_==="="||U==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(_==="("||_==="{"||_==="[")this.ends.push({tag:k3[_],origin:[U,_]});else if(_===")"||_==="}"||_==="]")this.pair(_);return this.emit(U,_,{len:_.length}),_.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 _=this.tokens[f];if(_[0]===")")w.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(w.length)w.pop();else if(_[0]==="(")return _[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 _=f[w+1];if(!_||_[0]!=="{")continue;if(f[w].spaced||f[w].newLine)continue;let U=f[w-1];if(U&&$2.has(U[0]))continue;f.splice(w,1),f[w][0]="MAP_START";let u=1;for(let $=w+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,w)=>{if(f[0]==="CALL_START")this.detectEnd(w+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,w)=>{if(f[0]==="INDEX_START")this.detectEnd(w+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,U)=>{if(this.tokens[U+1]?.[0]===":")f[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,w=null,_=null,U=($,W)=>{return $[1]!==";"&&d3.has($[0])&&!($[0]==="TERMINATOR"&&L2.has(this.tokens[W+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(W)&&!this.commaInImplicitObject(W)||V2.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,_)};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(L2.has(this.tokens[W+1]?.[0]))return F.splice(W,1),0}if(A==="CATCH")for(let G=1;G<=2;G++){let Y=this.tokens[W+G]?.[0];if(Y==="OUTDENT"||Y==="TERMINATOR"||Y==="FINALLY")return F.splice(W+G,0,...this.makeIndentation()),2+G}if((A==="->"||A==="=>")&&(this.tokens[W+1]?.[0]===","||this.tokens[W+1]?.[0]==="]"))return[w,_]=this.makeIndentation(),F.splice(W+1,0,w,_),1;if(T2.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,[w,_]=this.makeIndentation(),A==="THEN")w.fromThen=!0;if(F.splice(W+1,0,w),A==="THEN"&&this.singleLineOwner(W)==="LEADING_WHEN")this.detectWhenThenEnd(W+2,U,u);else this.detectEnd(W+2,U,u);if(A==="THEN")F.splice(W,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 _=f-1;_>=0;_--){let U=this.tokens[_],u=U?.[0];if(w.has(u))return u;if(E1.has(u)||U?.newLine)return null}return null}detectWhenThenEnd(f,w,_){let U=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],W=$[0];if(U===0){if(W==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(W==="ELSE"&&u>0)u--;else if(w.call(this,$,f))return _.call(this,$,f)}if(X1.has(W))U++;if(z1.has(W))U--;if(U<0)return _.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,w=(U,u)=>{return U[0]==="TERMINATOR"||U[0]==="INDENT"&&!T2.has(this.tokens[u-1]?.[0])},_=(U)=>{if(U[0]!=="INDENT"||U.generated&&!U.fromThen)f[0]="POST_"+f[0]};this.scanTokens((U,u)=>{if(U[0]!=="IF"&&U[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=U,this.detectEnd(u+1,w,_),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 _=f[w-1];if(_&&i3.has(_[0])){if(f.splice(w,1),_.spaced=!1,f[w].spaced=!1,f[w].pre=0,f[w].newLine)f[w].newLine=!1}}}addImplicitBracesAndParens(){let f=[],w=!1;this.scanTokens((_,U,u)=>{let[$]=_,W=u[U-1]||[],F=u[U+1]||[],[A]=W,[G]=F,Y=U,Z=(O)=>U-Y+O,Q=()=>f[f.length-1],K=(O)=>O?.[2]?.ours,D=()=>K(Q())&&Q()?.[0]==="(",H=()=>K(Q())&&Q()?.[0]==="{",J=(O)=>{f.push(["(",O,{ours:!0}]),u.splice(O,0,Y1("CALL_START","("))},z=()=>{f.pop(),u.splice(U,0,Y1("CALL_END",")")),U+=1},q=(O,M={})=>{f.push(["{",O,{sameLine:!0,startsLine:M.startsLine??!0,ours:!0}]);let P=Y1("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(O,0,P)},R=(O)=>{O=O??U,f.pop(),u.splice(O,0,Y1("}","}")),U+=1};if((D()||H())&&n3.has($))return f.push(["CONTROL",U,{ours:!0}]),Z(1);if($==="INDENT"&&K(Q())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(D()||H()&&A!==":")if(D())z();else R();if(Q()?.[2]?.ours&&Q()[0]==="CONTROL")f.pop();return f.push([$,U]),Z(1)}if(X1.has($))return f.push([$,U]),Z(1);if(z1.has($)){while(K(Q()))if(D())z();else if(H())R();else f.pop();f.pop()}if(u2.has($)&&_.spaced&&(g1.has(G)||G==="..."&&g1.has(u[U+2]?.[0])||l3.has(G)&&!F.spaced&&!F.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return J(U+1),Z(2);if(u2.has($)&&this.tokens[U+1]?.[0]==="INDENT"&&this.looksObjectish(U+2)&&!this.findTagsBackwards(U,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return J(U+1),f.push(["INDENT",U+2]),Z(3);if($==="TERNARY")w=!0;if($===":"){if(w)return w=!1,Z(1);if(u[U-1]?.[0]==="PROPERTY"&&u[U-2]?.[0]==="."){let P=U-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 E=[];for(let N=P;N<U;N+=2)E.push(u[N][1]);let S=Y1("STRING",`"${E.join(".")}"`,u[P]);S.pre=u[P].pre,S.spaced=u[P].spaced,S.newLine=u[P].newLine,S.loc=u[P].loc,u.splice(P,U-P,S),U=P+1}}let O=z1.has(this.tokens[U-1]?.[0])?f[f.length-1]?.[1]??U-1:U-1;if(this.tokens[U-2]?.[0]==="@")O=U-2;let M=O<=0||E1.has(this.tokens[O-1]?.[0])||this.tokens[O-1]?.newLine;if(Q()){let[P,E]=Q(),S=f[f.length-2],N=(L)=>L==="{"||L==="MAP_START";if((N(P)||P==="INDENT"&&N(S?.[0])&&!K(S))&&(M||this.tokens[O-1]?.[0]===","||N(this.tokens[O-1]?.[0])||N(this.tokens[O]?.[0])))return Z(1)}return q(O,{startsLine:!!M}),Z(2)}if(E1.has($))for(let O=f.length-1;O>=0;O--){if(!K(f[O]))break;if(f[O][0]==="{")f[O][2].sameLine=!1}let X=A==="OUTDENT"||W.newLine,B=$==="||"||$==="&&",I=!1;if(B){let O=U+1,M=u[O]?.[0];if(M==="("||M==="["||M==="{"){for(let P=1;++O<u.length&&P>0;)if(M=u[O][0],M==="("||M==="["||M==="{")P++;else if(M===")"||M==="]"||M==="}")P--}else if(M&&M!=="TERMINATOR"&&M!=="OUTDENT"&&M!==",")O++;I=u[O]?.[0]===","}if(x3.has($)&&!I||V2.has($)&&X)while(K(Q())){let[O,,{sameLine:M,startsLine:P}]=Q();if(D()&&A!==",")z();else if(H()&&!B&&M&&$!=="TERMINATOR"&&A!==":")R();else if(H()&&$==="TERMINATOR"&&A!==","&&!(P&&this.looksObjectish(U+1)))R();else if(Q()?.[2]?.ours&&Q()[0]==="CONTROL"&&u[Q()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(U+1)&&H()&&(G!=="TERMINATOR"||!this.looksObjectish(U+2))){let O=G==="OUTDENT"?1:0;while(H())R(U+O)}return Z(1)})}addImplicitCallCommas(){let f=0,w=0,_=this.tokens;while(w<_.length){let U=_[w][0],u=w>0?_[w-1][0]:null;if(U==="CALL_START"||U==="(")f++;if(U==="CALL_END"||U===")")f--;if(f>0&&(U==="->"||U==="=>")&&m3.has(u))_.splice(w,0,Y1(",",",")),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,_,U={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&w.call(this,$,f))return _.call(this,$,f);if(X1.has($[0]))u++;if(z1.has($[0]))u--;if(u<0){if(U.returnOnNegativeLevel)return;return _.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let w=0;w<f.length;w++){if(!f[w].mergeClose)continue;let _=0;for(let U=w+1;U<f.length;U++){let u=f[U][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")_++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")_--;if(_<0||_===0&&u==="TERMINATOR"){f.splice(U,0,Y1("CALL_END",")",f[U-1]));break}if(U===f.length-1){f.splice(U+1,0,Y1("CALL_END",")",f[U]));break}}}}commaInImplicitCall(f){let w=0;for(let _=f-1;_>=0;_--){let U=this.tokens[_][0];if(z1.has(U)){w++;continue}if(X1.has(U)){if(U==="INDENT")return!1;if(w--,w<0)return!1;continue}if(w>0)continue;if(u2.has(U)&&this.tokens[_].spaced){let u=this.tokens[_+1]?.[0];return g1.has(u)||u==="..."&&g1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(f){let w=0;for(let _=f-1;_>=0;_--){let U=this.tokens[_][0];if(z1.has(U)){w++;continue}if(X1.has(U)){if(w--,w<0)return!1;continue}if(w>0)continue;if(U===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(E1.has(U))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(X1.has(this.tokens[f]?.[0])){let w=null;if(this.detectEnd(f+1,(_)=>z1.has(_[0]),(_,U)=>w=U),w&&this.tokens[w+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,w){let _=new Set(w),U=[];while(f>=0){let u=this.tokens[f]?.[0];if(!U.length&&_.has(u))return!0;if(z1.has(u))U.push(u);if(X1.has(u)&&U.length)U.pop();if(!U.length&&(X1.has(u)&&!this.tokens[f]?.generated||E1.has(u)))break;f--}return!1}makeIndentation(f){let w=Y1("INDENT",2),_=Y1("OUTDENT",2);if(f)w.generated=_.generated=!0,w.origin=_.origin=f;else w.explicit=_.explicit=!0;return[w,_]}}I2(J1);var H4={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],w=[],_=0,U,u,$,W;while(_<f.length){U=f[_++],u={},$=0,W=[];while(U--)$+=f[_++],W.push($);for($ of W)u[$]=f[_++];w.push(u)}return w})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,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,w,_,U)=>{let u=w,$=w.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,w){let _,U,u,$,W,F,A;if(w.recoverable)return this.trace(f);else throw u=(w.line||0)+1,_=w.loc?.c||0,A=w.token?` (token: ${w.token})`:"",F=w.text?` near '${w.text}'`:"",$=`line ${u}, column ${_}`,W=`Parse error at ${$}${A}${F}: ${f}`,U=Error(W),U.hash=w,U},parse(f){let w,_,U,u,$,W,F,A,G,Y,Z,Q,K,D,H,J,z,q,R,X,B,I,O,M,P,E;[X,E,Y]=[[0],[null],[]],[K,P,O,I,J]=[this.parseTable,"",0,0,0],[_,w]=[2,1],A=Object.create(this.lexer),q={ctx:{}};for(let S in this.ctx){if(!Object.hasOwn(this.ctx,S))continue;let N=this.ctx[S];q.ctx[S]=N}if(A.setInput(f,q.ctx),[q.ctx.lexer,q.ctx.parser]=[A,this],A.loc==null)A.loc={};M=A.loc,Y.push(M),this.parseError=typeof q.ctx.parseError==="function"?q.ctx.parseError:Object.getPrototypeOf(this).parseError,F=()=>{let S;if(S=A.lex()||w,typeof S!=="number")S=this.symbolIds[S]||S;return S},B=D=R=U=H=Q=W=Z=$=null,z={};while(!0){if(R=X[X.length-1],B==null)B=F();if(U=K[R]?.[B],U==null){if(u="",!J)$=(()=>{let S=[];for(let N in K[R]){if(!Object.hasOwn(K[R],N))continue;if(this.tokenNames[N]&&N>_)S.push(`'${this.tokenNames[N]}'`)}return S})();throw u=(()=>{if(A.showPosition)return`Parse error on line ${O+1}:
|
|
13
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
|
-
`),
|
|
16
|
-
`)}this.usesTemplates=!0,this.usesReactivity=!0;let
|
|
14
|
+
Expecting ${$.join(", ")}, got '${this.tokenNames[B]||B}'`;else return`Parse error on line ${O+1}: Unexpected ${B===w?"end of input":`'${this.tokenNames[B]||B}'`}`,this.parseError(u,{text:A.match,token:this.tokenNames[B]||B,line:A.line,loc:M,expected:$})})(),Error(u)}if(U>0)if(X.push(B,U),E.push(A.text),Y.push(A.loc),B=null,!D){if([I,P,O,M]=[A.len,A.text,A.line,A.loc],J>0)J--}else[B,D]=[D,null];else if(U<0){if(W=this.ruleTable[-U*2+1],z.$=E[E.length-W],G=Y[Y.length-(W||1)],z._$={r:G.r,c:G.c},H=this.ruleActions.call(z,-U,E,Y,q.ctx),H!=null)z.$=H;if(Array.isArray(z.$))z.$.loc=z._$;if(W)X.length-=W*2,E.length-=W,Y.length-=W;X.push(this.ruleTable[-U*2]),E.push(z.$),Y.push(z._$),Z=K[X[X.length-2]][X[X.length-1]],X.push(Z)}else if(U===0)return E[E.length-1]}},trace(){},ctx:{}},R4=(f={})=>{let w=Object.create(H4);return Object.defineProperty(w,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),w},D1=R4();var n4=D1.parse.bind(D1);var O4=["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"],c2=new Set(O4);var q4=["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 P4=["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"],I4=["math","param","portal"],v2=new Set([...q4,...I4]),H1=new Set(P4),R1=new Set([...v2,...H1]);var g2="__bind_",l2="__",w2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),B4=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),_2="http://www.w3.org/2000/svg";function E4(f){for(let w of f){if(!Array.isArray(w))continue;let _=w[1]instanceof String?w[1].valueOf():w[1],U=w[2]instanceof String?w[2].valueOf():w[2];if(_==="type"&&typeof U==="string")return U.replace(/^["']|["']$/g,"")}return null}function O1(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 U2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function F2(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 x2(f,w){let _=(F,A)=>F instanceof String?F[A]:void 0,U=w.prototype.classifyKeyword;w.prototype.classifyKeyword=function(F,A,G){if(F==="offer"||F==="accept"){let Y=0;for(let Z=this.tokens.length-1;Z>=0;Z--){let Q=this.tokens[Z][0];if(Q==="OUTDENT")Y++;else if(Q==="INDENT")Y--;if(Y<0&&this.tokens[Z-1]?.[0]==="COMPONENT")return F.toUpperCase()}return A}return U.call(this,F,A,G)},w.prototype.rewriteRender=function(){let F=(z,q,R)=>{let X=[z,q];if(X.pre=0,X.data=null,X.loc=R?.loc??{r:0,c:0,n:0},X.spaced=!1,X.newLine=!1,X.generated=!0,R)X.origin=R;return X},A=!1,G=0,Y=0,Z=[],Q=(z)=>{let q=z.split("#")[0];return R1.has(q)},K=(z)=>{if(!z||typeof z!=="string")return!1;return/^[A-Z]/.test(z)},D=(z)=>{return Q(z)||K(z)},H=(z,q,R,X)=>{let B=1,I=q;while(I>=0&&B>0){let O=z[I][0];if(O===R)B++;else if(O===X)B--;if(B>0)I--}return I},J=(z,q)=>{let R=q;while(R>0){let X=z[R-1][0];if(X==="TERMINATOR"||X==="RENDER")break;if(X==="INDENT"||X==="OUTDENT"){let B=z[R][0];if(B==="CALL_END"||B===")"){R=H(z,R-1,B,B==="CALL_END"?"CALL_START":"(");continue}break}if(X==="CALL_END"||X===")"){R=H(z,R-2,X,X==="CALL_END"?"CALL_START":"(");continue}if(X==="INTERPOLATION_END"){R=H(z,R-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(X==="STRING_END"){R=H(z,R-2,"STRING_END","STRING_START");continue}R--}return z[R]&&z[R][0]==="IDENTIFIER"&&(D(z[R][1])||(R===0||z[R-1][0]==="INDENT"||z[R-1][0]==="TERMINATOR"||z[R-1][0]==="RENDER"))};this.scanTokens(function(z,q,R){let X=z[0],B=q<R.length-1?R[q+1]:null;if(X==="RENDER")return A=!0,G=Y+1,1;if(X==="INDENT")return Y++,1;if(X==="OUTDENT"){Y--;let I=0;while(Z.length>0&&Z[Z.length-1]>Y){let O=F("CALL_END",")",z);R.splice(q+1+I,0,O),Z.pop(),I++}if(A&&Y<G)A=!1;return 1+I}if(!A)return 1;if(X==="="&&q>0){let I=R[q-1][0];if(I==="TERMINATOR"||I==="INDENT"||I==="RENDER"){let O=F("IDENTIFIER","__text__",z),M=F("CALL_START","(",z);return R.splice(q,1,O,M),this.detectEnd(q+2,(P)=>P[0]==="TERMINATOR"||P[0]==="OUTDENT",(P,E)=>R.splice(E,0,F("CALL_END",")",P)),{returnOnNegativeLevel:!0}),2}}if(X==="UNARY_MATH"&&z[1]==="~"&&B&&B[0]==="IDENTIFIER"){z[0]="PROPERTY",z[1]="__transition__";let I=F(":",":",z),O=F("STRING",`"${B[1]}"`,B);return R.splice(q+1,1,I,O),1}if(X==="PROPERTY"&&z[1][0]==="$"&&z[1].length>1)return z[0]="STRING",z[1]=`"data-${z[1].slice(1)}"`,1;if(X==="IDENTIFIER"&&!z.spaced){let I=[z[1]],O=q+1;while(O+1<R.length){let M=R[O],P=R[O+1];if(M[0]==="-"&&!M.spaced&&(P[0]==="IDENTIFIER"||P[0]==="PROPERTY")){if(I.push(P[1]),O+=2,P[0]==="PROPERTY")break}else break}if(I.length>1&&O>q+1&&R[O-1][0]==="PROPERTY"){let M=I.join("-");if(M[0]==="$")M="data-"+M.slice(1);return z[0]="STRING",z[1]=`"${M}"`,R.splice(q+1,O-q-1),1}}if(X==="."){let I=q>0?R[q-1]:null,O=I?I[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(B&&B[0]==="PROPERTY"){let M=q+2<R.length?R[q+2]:null;if(!M||M[0]!==":"){let P=F("IDENTIFIER","div",z);return R.splice(q,0,P),2}}if(!B||B[0]!=="(")return z[0]="IDENTIFIER",z[1]="div",0}}if(X==="IDENTIFIER"||X==="PROPERTY"){let I=R[q+1],O=R[q+2];if(I&&I[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(z[1]=z[1]+"#"+O[1],O.spaced)z.spaced=!0;return R.splice(q+1,2),0}}if(X==="BIND"){let I=q>0?R[q-1]:null,O=R[q+1];if(I&&(I[0]==="IDENTIFIER"||I[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return I[1]=`__bind_${I[1]}__`,z[0]=":",z[1]=":",1}if(X==="@"){let I=q+1;if(I<R.length&&R[I][0]==="PROPERTY"){I++;while(I+1<R.length&&R[I][0]==="."&&R[I+1][0]==="PROPERTY")I+=2;if(I>q+2&&I<R.length&&R[I][0]===":"){let O=F("[","[",z);R.splice(q,0,O);let M=F("]","]",R[I+1]);return R.splice(I+1,0,M),2}}}if(X==="."&&B&&B[0]==="("){let I=q>0?R[q-1]:null,O=I?I[0]:null,M=O==="INDENT"||O==="TERMINATOR",P=F("PROPERTY","__clsx",z);B[0]="CALL_START";let E=1;for(let S=q+2;S<R.length&&E>0;S++)if(R[S][0]==="("||R[S][0]==="CALL_START")E++;else if(R[S][0]===")"){if(E--,E===0)R[S][0]="CALL_END"}else if(R[S][0]==="CALL_END")E--;if(M){let S=F("IDENTIFIER","div",z);return R.splice(q,0,S),R.splice(q+2,0,P),3}else if(O===":")return R[q]=F("IDENTIFIER","__clsx",z),1;else return R.splice(q+1,0,P),2}if(B&&B[0]==="INDENT"){if(B.fromThen)return 1;if(X==="->"||X==="=>"||X==="CALL_START"||X==="(")return 1;let I=!1,O=q>0?R[q-1][0]:null,M=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN"||O==="FORIN"||O==="FOROF"||O==="FORAS"||O==="FORASAWAIT"||O==="BY",P=!1;if(X==="CALL_END"){let S=1;for(let N=q-1;N>=0&&S>0;N--)if(R[N][0]==="CALL_END")S++;else if(R[N][0]==="CALL_START"){if(S--,S===0&&N>0&&R[N-1][0]==="PROPERTY"&&R[N-1][1]==="__clsx")P=!0}}let E=X==="IDENTIFIER"&&(O==="INDENT"||O==="TERMINATOR"||O==="RENDER");if(P)I=!0;else if(X==="IDENTIFIER"&&D(z[1])&&!M)I=!0;else if(X==="IDENTIFIER"&&!M)I=E||J(R,q);else if(X==="PROPERTY"||X==="STRING"||X==="STRING_END"||X==="NUMBER"||X==="BOOL"||X==="CALL_END"||X===")"||X==="PRESENCE")I=J(R,q);if(I){let S=!1;if(X==="PROPERTY"&&q>0&&R[q-1][0]==="."){let L=q;while(L>=2&&R[L-1][0]==="."&&R[L-2][0]==="PROPERTY")L-=2;if(L>=2&&R[L-1][0]==="."&&R[L-2][0]==="IDENTIFIER"&&D(R[L-2][1])){let j=L>=3?R[L-3][0]:null;if(!j||j==="INDENT"||j==="OUTDENT"||j==="TERMINATOR"||j==="RENDER")S=!0}}if(P||X==="IDENTIFIER"&&(D(z[1])||E)||S){let L=F("CALL_START","(",z),j=F("->","->",z);return j.newLine=!0,R.splice(q+1,0,L,j),Z.push(Y+1),3}else{let L=F(",",",",z),j=F("->","->",z);return j.newLine=!0,R.splice(q+1,0,L,j),3}}}if(X==="IDENTIFIER"&&K(z[1])&&B&&(B[0]==="OUTDENT"||B[0]==="TERMINATOR"))return R.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 R1.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=[],G=F;while(this.is(G,".")){let K=G[2];if(typeof K==="string"||K instanceof String)A.unshift(K.valueOf());G=G[1]}let Y=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Y===null)return{tag:null,classes:A,id:void 0,base:G};let[Z,Q]=Y.split("#");if(!Z)Z="div";return{tag:Z,classes:A,id:Q,base:G}};let $=(F)=>typeof F==="string"?F:F instanceof String?F.valueOf():null,W=(F,A)=>{if(!(F instanceof String))return A;let G=new String(A);if(F.predicate)G.predicate=!0;if(F.await)G.await=!0;return G.predicate||G.await?G:A};u.transformComponentMembers=function(F,A=new Set){let G=this._self;if(!Array.isArray(F)){let Y=$(F);if(Y&&A.has(Y))return F;if(Y&&this.reactiveMembers&&this.reactiveMembers.has(Y))return[".",[".",G,Y],W(F,"value")];if(Y&&this.componentMembers&&this.componentMembers.has(Y))return[".",G,W(F,Y)];return F}if(F[0]==="."&&F[1]==="this"&&$(F[2])!=null){let Y=F[2],Z=$(Y);if(this.reactiveMembers&&this.reactiveMembers.has(Z))return[".",[".",G,Z],W(Y,"value")];return this._factoryMode?[".",G,Y]:F}if(F[0]==="."||F[0]==="?.")return[F[0],this.transformComponentMembers(F[1]),F[2]];if(F[0]==="->"){let Y=F[1],Z=new Set(A);if(Array.isArray(Y))for(let Q of Y){let K=$(Array.isArray(Q)&&Q[0]==="default"?Q[1]:Q);if(K)Z.add(K)}return["=>",F[1],this.transformComponentMembers(F[2],Z)]}if(F[0]==="object"||F[0]==="map-literal")return[F[0],...F.slice(1).map((Y)=>{if(Array.isArray(Y)&&Y[0]==="...")return["...",this.transformComponentMembers(Y[1],A)];if(Array.isArray(Y)&&Y.length>=2){let Z=Y[1],Q=Array.isArray(Z)?this.transformComponentMembers(Z,A):Z,K=this.transformComponentMembers(Y[2],A);return[Y[0],Q,K]}return this.transformComponentMembers(Y,A)})];if(F[0]==="block"||F[0]==="program"){let Y=new Set(A),Z=[F[0]];for(let Q=1;Q<F.length;Q++){let K=F[Q];if(Array.isArray(K)&&K[0]==="="){let D=$(K[1]);if(D&&!(this.reactiveMembers&&this.reactiveMembers.has(D))){Z.push(["=",K[1],this.transformComponentMembers(K[2],Y)]),Y.add(D);continue}}Z.push(this.transformComponentMembers(K,Y))}return Z}return F.map((Y)=>this.transformComponentMembers(Y,A))},u.emitComponent=function(F,A,G,Y){let[,Z]=A,Q=this.is(Z,"block")?Z.slice(1):[],K=[],D=[],H=[],J=[],z=[],q=[],R=[],X=[],B=null,I=new Set,O=new Set;for(let V of Q){if(!Array.isArray(V))continue;let[C]=V;if(C==="offer"){if(V=V[1],!Array.isArray(V))continue;C=V[0];let y=O1(V[1]);if(y)R.push(y)}if(C==="accept"){let y=typeof V[1]==="string"?V[1]:O1(V[1]);if(y)X.push(y),I.add(y),O.add(y)}else if(C==="."&&V[1]==="this"&&O1(V)){let y=typeof V[2]==="string"||V[2]instanceof String?V[2].valueOf():null;if(y)K.push({name:y,value:void 0,isPublic:!0,type:V[2]?.type||null,required:!0}),I.add(y),O.add(y)}else if(C==="state"){let y=O1(V[1]);if(y)K.push({name:y,value:V[2],isPublic:U2(V[1]),type:F2(V[1])}),I.add(y),O.add(y)}else if(C==="computed"){let y=O1(V[1]);if(y)D.push({name:y,expr:V[2],type:F2(V[1])}),I.add(y),O.add(y)}else if(C==="readonly"){let y=O1(V[1]);if(y)H.push({name:y,value:V[2],isPublic:U2(V[1]),type:F2(V[1])}),I.add(y)}else if(C==="="){let y=O1(V[1]);if(y)if(w2.has(y))z.push({name:y,value:V[2]});else{let x=V[2];if(Array.isArray(x)&&(x[0]==="->"||x[0]==="=>"))J.push({name:y,func:x}),I.add(y);else K.push({name:y,value:x,isPublic:U2(V[1])}),I.add(y),O.add(y)}}else if(C==="effect")q.push(V);else if(C==="render")B=V;else if(C==="object")for(let y=1;y<V.length;y++){let x=V[y];if(!Array.isArray(x))continue;let[,r,f1]=x;if(typeof r==="string"&&w2.has(r))z.push({name:r,value:f1});else if(typeof r==="string")J.push({name:r,func:f1}),I.add(r)}}let M=new Map;for(let{name:V}of J)if(/^on[A-Z]/.test(V)&&!w2.has(V)){let C=V[2].toLowerCase()+V.slice(3);if(c2.has(C))M.set(C,V)}let P=A[0]?.valueOf?.()??null,E=new Set;for(let{name:V,isPublic:C}of K)if(C)E.add(V);for(let{name:V,isPublic:C}of H)if(C)E.add(V);let S=this.componentMembers,N=this.reactiveMembers,L=this._autoEventHandlers,j=this._inheritsTag;if(this.componentMembers=I,this.reactiveMembers=O,this._autoEventHandlers=M.size>0?M:null,this._inheritsTag=P||null,this.options.stubComponents){let V=(h)=>h?h.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,C=[],y=this._componentTypeParams||"";C.push(`class ${y}{`),C.push(" declare _root: Element | null; declare app: any;"),C.push(" emit(_name: string, _detail?: any): void {}");let x=[];for(let{name:h,type:c,isPublic:g,required:l}of K){if(!g)continue;let t=V(c),e=l?"":"?";x.push(`${h}${e}: ${t||"any"}`),x.push(`__bind_${h}__?: Signal<${t||"any"}>`)}for(let{name:h,type:c,isPublic:g}of H){if(!g)continue;let l=V(c);x.push(`${h}?: ${l||"any"}`)}{let c=x.length>0&&K.some((l)=>l.isPublic&&l.required)?"":"?",g=x.length>0?`{${x.join("; ")}}`:"{}";if(P)g+=` & __RipProps<'${P}'>`;C.push(` constructor(_props${c}: ${g}) {}`)}let r=(h)=>{let c=h?.valueOf?.()??h;if(typeof c!=="string")return null;if(c==="true"||c==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(c))return"number";if(c.startsWith('"')||c.startsWith("'"))return"string";return null};for(let{name:h,type:c,value:g}of K){let l=V(c)||r(g);C.push(l?` declare ${h}: Signal<${l}>;`:` declare ${h}: Signal<any>;`)}for(let{name:h,type:c,value:g}of H){let l=V(c)||r(g);C.push(l?` declare ${h}: ${l};`:` declare ${h}: any;`)}for(let{name:h,expr:c,type:g}of D){let l=V(g),t=l?`: Computed<${l}>`:"";if(this.is(c,"block")){let e=this.transformComponentMembers(c),v=this.emitFunctionBody(e);C.push(` ${h}${t} = __computed(() => ${v});`)}else{let e=this.emitInComponent(c,"value");C.push(` ${h}${t} = __computed(() => ${e});`)}}C.push(" _init(props) {");for(let{name:h,value:c,isPublic:g}of H){let l=this.emitInComponent(c,"value");C.push(g?` this.${h} = props.${h} ?? ${l};`:` this.${h} = ${l};`)}for(let{name:h,value:c,isPublic:g,required:l,type:t}of K)if(g&&l)C.push(` this.${h} = __state(props.__bind_${h}__ ?? props.${h});`);else if(g){let e=this.emitInComponent(c,"value");C.push(` this.${h} = __state(props.__bind_${h}__ ?? props.${h} ?? ${e});`)}else{let e=this.emitInComponent(c,"value");C.push(` this.${h} = __state(${e});`)}for(let h of q){let c=h[2],g=this.containsAwait(c)?"async ":"";if(this.is(c,"block")){let l=this.transformComponentMembers(c),t=this.emitFunctionBody(l,[],!0);C.push(` __effect(${g}() => ${t});`)}else{let l=this.emitInComponent(c,"value");C.push(` __effect(${g}() => { ${l}; });`)}}C.push(" }");let f1=new Map;for(let[h,c]of M)f1.set(c,h);if(B){let h=(c)=>{if(!Array.isArray(c))return;let g=c[0]?.valueOf?.()??c[0];if(typeof g==="string"&&g!=="object"&&g!=="switch"&&R1.has(g.split(/[.#]/)[0]))for(let l=1;l<c.length;l++){let t=c[l],e=this.is(t,"object")?t:null;if(!e&&Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let v=1;v<t[2].length;v++)if(this.is(t[2][v],"object")){e=t[2][v];break}}if(!e)continue;for(let v=1;v<e.length;v++){let k=e[v];if(!Array.isArray(k)||k.length<2)continue;let[,o,a]=k;if(Array.isArray(o)&&o[0]==="."&&o[1]==="this"&&Array.isArray(a)&&a[0]==="."&&a[1]==="this"){let b=typeof o[2]==="string"?o[2]:o[2]?.valueOf?.(),n=typeof a[2]==="string"?a[2]:a[2]?.valueOf?.();if(b&&n&&!f1.has(n))f1.set(n,b)}}}for(let l=1;l<c.length;l++)h(c[l])};h(B)}for(let{name:h,func:c}of J)if(Array.isArray(c)&&(c[0]==="->"||c[0]==="=>")){let[,g,l]=c;if((!g||Array.isArray(g)&&g.length===0)&&this.containsIt(l))g=["it"];let t=Array.isArray(g)?g.map((a)=>{let b=this.formatParam(a);if(a?.type)b+=`: ${a.type}`;return b}).join(", "):"",e=f1.get(h);if(e&&Array.isArray(g)&&g.length>0){let a=g[0];if(!(a?.type||a instanceof String&&a.type)&&typeof(a?.valueOf?.()??a)==="string"){let n=a?.valueOf?.()??a;t=t.replace(n,`${n}: HTMLElementEventMap['${e}']`)}}let v=this.reactiveMembers?this.transformComponentMembers(l):l,k=this.containsAwait(l),o=this.emitFunctionBody(v,g||[]);C.push(` ${k?"async ":""}${h}(${t}) ${o}`)}for(let{name:h,value:c}of z)if(Array.isArray(c)&&(c[0]==="->"||c[0]==="=>")){let[,g,l]=c,t=Array.isArray(g)?g.map((o)=>this.formatParam(o)).join(", "):"",e=this.reactiveMembers?this.transformComponentMembers(l):l,v=this.containsAwait(l),k=this.emitFunctionBody(e,g||[]);C.push(` ${v?"async ":""}${h}(${t}) ${k}`)}if(B){let h=[],c=0,g=this.options.source?.split(`
|
|
15
|
+
`),l=(v)=>{let k=[];for(let o of v){let a=null;if(this.is(o,"object"))a=o;else if(Array.isArray(o)&&(o[0]==="->"||o[0]==="=>")&&this.is(o[2],"block")){for(let b=1;b<o[2].length;b++)if(this.is(o[2][b],"object")){a=o[2][b];break}}if(a)for(let b=1;b<a.length;b++){let n=a[b],[,m,p]=n;if(typeof m==="string"&&!m.startsWith("@")){let $1=n.loc?.r??a.loc?.r;if(m.startsWith("__bind_")&&m.endsWith("__")){let d=typeof p==="string"&&this.reactiveMembers?.has(p)?`this.${p}`:this.emitInComponent(p,"value");k.push({code:`${m}: ${d}`,srcLine:$1})}else{let d=this.emitInComponent(p,"value");k.push({code:`${m}: ${d}`,srcLine:$1})}}}}return k},t=(v)=>{let k=[];for(let o of v){let a=null;if(this.is(o,"object"))a=o;else if(Array.isArray(o)&&(o[0]==="->"||o[0]==="=>")&&this.is(o[2],"block")){for(let b=1;b<o[2].length;b++)if(this.is(o[2][b],"object")){a=o[2][b];break}}if(a)for(let b=1;b<a.length;b++){let n=a[b];if(!Array.isArray(n)||n.length<2)continue;let[,m,p]=n,$1=n.loc?.r??a.loc?.r;if(Array.isArray(m)&&m[0]==="."&&m[1]==="this"){let d=typeof m[2]==="string"?m[2]:m[2]?.valueOf?.();if(!d)continue;let u1="@"+d.split(".")[0],o1=this.emitInComponent(p,"value");k.push({code:`'${u1}': ${o1}`,srcLine:$1})}else if(typeof m==="string"){if(m==="key"){let d=this.emitInComponent(p,"value"),u1=$1!=null?` // @rip-src:${$1}`:"";h.push(` (${d});${u1}`);continue}if(m.startsWith("__bind_")&&m.endsWith("__")){let d=m.slice(7,-2),u1=this.emitInComponent(p,"value");k.push({code:`${d}: ${u1}`,srcLine:$1})}else{let d=this.emitInComponent(p,"value");k.push({code:`${m}: ${d}`,srcLine:$1})}}}}return k},e=(v)=>{if(!Array.isArray(v))return;let k=v[0]?.valueOf?.()??v[0];if(k==="object")return;if(k==="if"||k==="unless"){let b=v[1];if(b!=null){let n=this.emitInComponent(b,"value"),m=v.loc?.r,p=m!=null?` // @rip-src:${m}`:"";h.push(` ${n};${p}`)}}else if(k==="?:"){let b=this.emitInComponent(v,"value"),n=v.loc?.r,m=n!=null?` // @rip-src:${n}`:"";h.push(` ${b};${m}`)}else if(k==="switch"){let b=v[1];if(b!=null){let n=this.emitInComponent(b,"value"),m=v.loc?.r,p=m!=null?` // @rip-src:${m}`:"";h.push(` ${n};${p}`)}}else if(k==="for-in"||k==="for-of"||k==="for-as"){let b=v[1],n=v[2];if(n!=null){let m=this.emitInComponent(n,"value"),p=v.loc?.r,$1=p!=null?` // @rip-src:${p}`:"",d;if(Array.isArray(b))if(b.length===1){let u1=b[0];d=Array.isArray(u1)?this.emitDestructuringPattern(u1):String(u1)}else if(k==="for-of")d=`[${b.map((u1)=>String(u1)).join(", ")}]`;else d=String(b[0]);else d=String(b);if(k==="for-of")h.push(` for (const ${d} of Object.entries(${m})) {${$1}`);else h.push(` for (const ${d} of ${m}) {${$1}`);for(let u1=3;u1<v.length;u1++)if(v[u1]!=null)e(v[u1]);h.push(" }");return}}else if(k==="__text__"){let b=v[1];if(b!=null){let n=this.emitInComponent(b,"value"),m=v.loc?.r,p=m!=null?` // @rip-src:${m}`:"";h.push(` ${n};${p}`)}}let o=(b,n,m)=>{if(typeof b!=="string"||!/^[a-z][\w-]*$/.test(b))return;if(f.GENERATORS[b])return;if(b==="null"||b==="undefined"||b==="true"||b==="false")return;let p=n.loc?.r;if(p!=null&&g){let d=new RegExp(`\\b${b}\\b`);for(let u1=p;u1<g.length;u1++)if(d.test(g[u1])){p=u1;break}}let $1=p!=null?` // @rip-src:${p}`:"";if(this.componentMembers&&this.componentMembers.has(b))h.push(` this.${b};${$1}`);else if(m)h.push(` ${b};${$1}`);else h.push(` __ripEl('${b}');${$1}`)},a=typeof k==="string"&&/^[a-z][\w-]*$/.test(k)&&!f.GENERATORS[k]&&R1.has(k.split(/[.#]/)[0]);if(k==="block")for(let b=1;b<v.length;b++)o(v[b],v,!1);else if(a){for(let b=1;b<v.length;b++)o(v[b],v,!0);for(let b=1;b<v.length;b++){let n=v[b];if(!Array.isArray(n))continue;let m=n[0]?.valueOf?.()??n[0];if(m==="object"||m==="block"||m==="__text__")continue;if(typeof m==="string"){if(/^[A-Z]/.test(m))continue;if(R1.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 p=this.emitInComponent(n,"value"),$1=n.loc?.r??v.loc?.r,d=$1!=null?` // @rip-src:${$1}`:"";h.push(` ${p};${d}`)}catch{}}}for(let b=1;b<v.length;b++)e(v[b]);if(typeof k==="string"&&/^[A-Z]/.test(k)){let b=l(v.slice(1)),n=`_${c++}`,m=`ConstructorParameters<typeof ${k}>[0] & {}`;if(b.length===0){let p=v.loc?.r;h.push(` const ${n}: ${m} = {};`+(p!=null?` // @rip-src:${p}`:""))}else if(b.length===1){let p=v.loc?.r??b[0].srcLine;h.push(` const ${n}: ${m} = {${b[0].code}};`+(p!=null?` // @rip-src:${p}`:""))}else{let p=v.loc?.r;if(new Set(b.map((d)=>d.srcLine).filter((d)=>d!=null)).size<=1){let d=b[0].srcLine??p;h.push(` const ${n}: ${m} = {${b.map((u1)=>u1.code).join(", ")}};`+(d!=null?` // @rip-src:${d}`:""))}else{h.push(` const ${n}: ${m} = {`+(p!=null?` // @rip-src:${p}`:""));for(let d of b)h.push(` ${d.code},`+(d.srcLine!=null?` // @rip-src:${d.srcLine}`:""));h.push(" };")}}}else if(typeof k==="string"&&!f.GENERATORS[k]&&(R1.has(k.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(k)&&v.length>1)){let b=k.split(/[.#]/)[0],n=t(v.slice(1)),m=v.loc?.r,p=m!=null?` // @rip-src:${m}`:"";if(n.length===0)h.push(` __ripEl('${b}');${p}`);else if(n.length===1){let $1=n[0].srcLine??m,d=$1!=null?` // @rip-src:${$1}`:"";h.push(` __ripEl('${b}', {${n[0].code}});${d}`)}else if(new Set(n.map((d)=>d.srcLine).filter((d)=>d!=null)).size<=1){let d=n[0].srcLine??m,u1=d!=null?` // @rip-src:${d}`:"";h.push(` __ripEl('${b}', {${n.map((o1)=>o1.code).join(", ")}});${u1}`)}else{h.push(` __ripEl('${b}', {${p}`);for(let d of n)h.push(` ${d.code},`+(d.srcLine!=null?` // @rip-src:${d.srcLine}`:""));h.push(" });")}}};if(e(B),h.length>0){C.push(" _render() {");for(let v of h)C.push(v);C.push(" }")}}return C.push("}"),this.componentMembers=S,this.reactiveMembers=N,this._autoEventHandlers=L,this._inheritsTag=j,C.join(`
|
|
16
|
+
`)}this.usesTemplates=!0,this.usesReactivity=!0;let T=[],s="";T.push("class extends __Component {"),T.push(" _init(props) {");for(let{name:V,value:C,isPublic:y}of H){let x=this.emitInComponent(C,"value");T.push(y?` this.${V} = props.${V} ?? ${x};`:` this.${V} = ${x};`)}for(let V of X)T.push(` this.${V} = getContext('${V}');`);for(let{name:V,value:C,isPublic:y,required:x}of K)if(y&&x)T.push(` this.${V} = __state(props.__bind_${V}__ ?? props.${V});`);else if(y){let r=this.emitInComponent(C,"value");T.push(` this.${V} = __state(props.__bind_${V}__ ?? props.${V} ?? ${r});`)}else{let r=this.emitInComponent(C,"value");T.push(` this.${V} = __state(${r});`)}if(P){if(T.push(" this._rest = {};"),T.push(" for (const __k in props) {"),E.size>0){let V=[...E].map((C)=>`__k !== '${C}'`).join(" && ");T.push(` if (${V} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else T.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");T.push(" }")}for(let{name:V,expr:C}of D)if(this.is(C,"block")){let y=this.transformComponentMembers(C),x=this.emitFunctionBody(y);T.push(` this.${V} = __computed(() => ${x});`)}else{let y=this.emitInComponent(C,"value");T.push(` this.${V} = __computed(() => ${y});`)}for(let V of R)T.push(` setContext('${V}', this.${V});`);for(let V of q){let C=V[2],y=this.containsAwait(C)?"async ":"";if(this.is(C,"block")){let x=this.transformComponentMembers(C),r=this.emitFunctionBody(x,[],!0);T.push(` __effect(${y}() => ${r});`)}else{let x=this.emitInComponent(C,"value");T.push(` __effect(${y}() => { ${x}; });`)}}if(T.push(" }"),P)T.push(" _setRestProp(key, value) {"),T.push(" if (key.startsWith('__bind_')) return;"),T.push(" this._rest || (this._rest = {});"),T.push(" if (value == null) delete this._rest[key];"),T.push(" else this._rest[key] = value;"),T.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),T.push(" }"),T.push(" _applyRestToInheritedEl() {"),T.push(" if (!this._inheritedEl || !this._rest) return;"),T.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),T.push(" }"),T.push(" _applyInheritedProp(el, key, value) {"),T.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),T.push(" if (key[0] === '@') {"),T.push(" const event = key.slice(1).split('.')[0];"),T.push(" this._restHandlers || (this._restHandlers = {});"),T.push(" const prev = this._restHandlers[key];"),T.push(" if (prev) el.removeEventListener(event, prev);"),T.push(" if (typeof value === 'function') {"),T.push(" const next = (e) => __batch(() => value(e));"),T.push(" this._restHandlers[key] = next;"),T.push(" el.addEventListener(event, next);"),T.push(" } else {"),T.push(" delete this._restHandlers[key];"),T.push(" }"),T.push(" return;"),T.push(" }"),T.push(" if (key === 'class' || key === 'className') {"),T.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),T.push(" else el.className = __clsx(value);"),T.push(" return;"),T.push(" }"),T.push(" if (key === 'style') {"),T.push(" if (value == null) { el.removeAttribute('style'); return; }"),T.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),T.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),T.push(" }"),T.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),T.push(" el[key] = value ?? '';"),T.push(" return;"),T.push(" }"),T.push(" if (key in el && !key.includes('-')) {"),T.push(" el[key] = value;"),T.push(" return;"),T.push(" }"),T.push(" if (value == null || value === false) {"),T.push(" el.removeAttribute(key);"),T.push(" return;"),T.push(" }"),T.push(" if (value === true) {"),T.push(" el.setAttribute(key, '');"),T.push(" return;"),T.push(" }"),T.push(" el.setAttribute(key, value);"),T.push(" }");for(let{name:V,func:C}of J)if(Array.isArray(C)&&(C[0]==="->"||C[0]==="=>")){let[,y,x]=C;if((!y||Array.isArray(y)&&y.length===0)&&this.containsIt(x))y=["it"];let r=Array.isArray(y)?y.map((g)=>this.formatParam(g)).join(", "):"",f1=this.reactiveMembers?this.transformComponentMembers(x):x,h=this.containsAwait(x),c=this.emitFunctionBody(f1,y||[]);T.push(` ${h?"async ":""}${V}(${r}) ${c}`)}for(let{name:V,value:C}of z)if(Array.isArray(C)&&(C[0]==="->"||C[0]==="=>")){let[,y,x]=C,r=Array.isArray(y)?y.map((g)=>this.formatParam(g)).join(", "):"",f1=this.reactiveMembers?this.transformComponentMembers(x):x,h=this.containsAwait(x),c=this.emitFunctionBody(f1,y||[]);T.push(` ${h?"async ":""}${V}(${r}) ${c}`)}if(B){let V=B[1],C=this.buildRender(V);if(C.blockFactories.length>0)s=C.blockFactories.join(`
|
|
17
17
|
|
|
18
18
|
`)+`
|
|
19
19
|
|
|
20
|
-
`;
|
|
21
|
-
${
|
|
20
|
+
`;T.push(" _create() {");for(let y of C.createLines)T.push(` ${y}`);if(T.push(` return ${C.rootVar};`),T.push(" }"),C.setupLines.length>0){T.push(" _setup() {");for(let y of C.setupLines)T.push(` ${y}`);T.push(" }")}}if(T.push("}"),this.componentMembers=S,this.reactiveMembers=N,this._autoEventHandlers=L,this._inheritsTag=j,s)return`(() => {
|
|
21
|
+
${s}return ${T.join(`
|
|
22
22
|
`)};
|
|
23
|
-
})()`;return
|
|
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
|
|
26
|
-
`))},u.emitTemplateLoop=function(F){this._pendingAutoWire=!1;let[A,Y,
|
|
27
|
-
`)),
|
|
23
|
+
})()`;return T.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 G=this.transformComponentMembers(F);return this.emit(G,A)}return this.emit(F,A)},u.emitRender=function(F,A,G,Y){this.error("render blocks can only be used inside a component",Y)},u.emitOffer=function(F,A,G,Y){this.error("offer can only be used inside a component",Y)},u.emitAccept=function(F,A,G,Y){this.error("accept can only be used inside a component",Y)},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],G;if(A.length===0)G="null";else if(A.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(A[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Y=[];for(let Z of A){let Q=this.emitNode(Z);this._createLines.push(`${G}.appendChild(${Q});`),Y.push(Q)}this._fragChildren.set(G,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},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 K=F.valueOf();if(K.startsWith('"')||K.startsWith("'")||K.startsWith("`")){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode(${K});`),q}if(this.reactiveMembers&&this.reactiveMembers.has(K)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${this._self}.${K}.value;`),q}if(K==="slot"&&this.componentMembers){let q=this._self,R=this.newElementVar("slot");return this._createLines.push(`${R} = ${q}.children instanceof Node ? ${q}.children : (${q}.children != null ? document.createTextNode(String(${q}.children)) : document.createComment(''));`),R}let[D,H]=K.split("#"),J=this.newElementVar(),z=D||"div";if(H1.has(z)||this._svgDepth>0)this._createLines.push(`${J} = document.createElementNS('${_2}', '${z}');`);else this._createLines.push(`${J} = document.createElement('${z}');`);if(H)this._createLines.push(`${J}.id = '${H}';`);return this._bindInheritedTarget(z,J),J}if(!Array.isArray(F)){let K=this.newElementVar("c");return this._createLines.push(`${K} = document.createComment('unknown');`),K}let[A,...G]=F,Y=typeof A==="string"?A:A instanceof String?A.valueOf():null;if(Y&&this.isComponent(Y))return this.emitChildComponent(Y,G);if(Y==="slot"&&this.componentMembers){let K=this._self,D=this.newElementVar("slot");return this._createLines.push(`${D} = ${K}.children instanceof Node ? ${K}.children : (${K}.children != null ? document.createTextNode(String(${K}.children)) : document.createComment(''));`),D}if(Y==="switch"){let K=G[0],D=G[1]||[],J=G[2]||null;for(let q=D.length-1;q>=0;q--){let[,R,X]=D[q],B;if(K===null)B=R.length===1?R[0]:R.reduce((I,O)=>I?["||",I,O]:O,null);else B=R.length===1?["==",K,R[0]]:R.map((I)=>["==",K,I]).reduce((I,O)=>I?["||",I,O]:O,null);J=["if",B,X,J]}if(J){if(Array.isArray(J)&&J[0]==="if")return this.emitConditional(J);return this.emitTemplateBlock(J)}let z=this.newElementVar("c");return this._createLines.push(`${z} = document.createComment('switch');`),z}if(Y&&this.isHtmlTag(Y)&&!_(A,"text")){let[K,D]=Y.split("#");return this.emitTag(K||"div",[],G,D)}if(Y==="."){let[,K,D]=F;if(K==="this"&&typeof D==="string"){let B=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(D)){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode('');`),this._pushEffect(`${O}.data = ${B}.${D}.value;`),O}let I=this.newElementVar("slot");return this._createLines.push(`${I} = ${B}.${D} instanceof Node ? ${B}.${D} : (${B}.${D} != null ? document.createTextNode(String(${B}.${D})) : document.createComment(''));`),I}let{tag:H,classes:J,id:z,base:q}=this.collectTemplateClasses(F);if(!_(q,"text")&&H&&this.isHtmlTag(H))return this.emitTag(H,J,[],z);let R=this.newTextVar(),X=this.emitInComponent(F,"value");return this._createLines.push(`${R} = document.createTextNode(String(${X}));`),R}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 J=A[0][1],z=A.slice(1);if(Array.isArray(J)){let{tag:R,classes:X,id:B}=this.collectTemplateClasses(J);if(R){let I=X.map((O)=>`"${O}"`);return this.emitDynamicTag(R,z,G,I,B)}}let q=typeof J==="string"?J:J.valueOf();return this.emitDynamicTag(q,z,G)}let{tag:K,classes:D,id:H}=this.collectTemplateClasses(A);if(K&&this.isHtmlTag(K)){if(D.length>0&&D[D.length-1]==="__clsx"){let z=D.slice(0,-1).map((q)=>`"${q}"`);return this.emitDynamicTag(K,G,[],z,H)}return this.emitTag(K,D,G,H)}}if(Y==="->"||Y==="=>")return this.emitTemplateBlock(G[1]);if(Y==="if")return this.emitConditional(F);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.emitTemplateLoop(F);if(Y==="__text__"){let K=G[0]??"undefined",D=this.newTextVar(),H=this.emitInComponent(K,"value");if(this.hasReactiveDeps(K))this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = String(${H});`);else this._createLines.push(`${D} = document.createTextNode(String(${H}));`);return D}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 G of A)if(this.is(G,"->")||this.is(G,"=>")){let Y=G[2];if(this.is(Y,"block"))for(let Z of Y.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(Y){let Z=this.emitNode(Y);this._createLines.push(`${F}.appendChild(${Z});`)}}else if(this.is(G,"object"))this.emitAttributes(F,G);else if(typeof G==="string"||G instanceof String){let Y=G.valueOf(),Z=Y.split(/[#.]/)[0];if(this.isHtmlTag(Z||"div")||this.isComponent(Z)){let Q=this.emitNode(G);this._createLines.push(`${F}.appendChild(${Q});`)}else{let Q=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${Q} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${Q} = document.createTextNode('');`),this._pushEffect(`${Q}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${Q} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${Q} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${F}.appendChild(${Q});`)}}else if(G){let Y=this.emitNode(G);this._createLines.push(`${F}.appendChild(${Y});`)}},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[G,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${F}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Y}(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,G,Y){let Z=this.newElementVar(),Q=H1.has(F)||this._svgDepth>0;if(Q)this._createLines.push(`${Z} = document.createElementNS('${_2}', '${F}');`);else this._createLines.push(`${Z} = document.createElement('${F}');`);if(Y)this._createLines.push(`${Z}.id = '${Y}';`);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 K=this._claimAutoWire(Z),D=this._pendingClassArgs,H=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,G),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 J=this._pendingClassArgs.join(", ");if(Q)this._pushEffect(`${Z}.setAttribute('class', __clsx(${J}));`);else this._pushEffect(`${Z}.className = __clsx(${J});`)}this._pendingClassArgs=D,this._pendingClassEl=H}return this._emitAutoWire(Z,K),Z},u.emitDynamicTag=function(F,A,G,Y,Z){let Q=this.newElementVar();if(H1.has(F)||this._svgDepth>0)this._createLines.push(`${Q} = document.createElementNS('${_2}', '${F}');`);else this._createLines.push(`${Q} = document.createElement('${F}');`);if(Z)this._createLines.push(`${Q}.id = '${Z}';`);this._bindInheritedTarget(F,Q);let K=this._claimAutoWire(Q),D=[...Y||[],...A.map((z)=>this.emitInComponent(z,"value"))],H=this._pendingClassArgs,J=this._pendingClassEl;if(this._pendingClassArgs=D,this._pendingClassEl=Q,F==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Q,G),F==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let z=this._pendingClassArgs.join(", ");if(H1.has(F)||this._svgDepth>0)this._pushEffect(`${Q}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${Q}.className = __clsx(${z});`)}return this._pendingClassArgs=H,this._pendingClassEl=J,this._emitAutoWire(Q,K),Q},u.emitAttributes=function(F,A){let G=E4(A.slice(1));for(let Y=1;Y<A.length;Y++){let[,Z,Q]=A[Y];if(this.is(Z,".")&&Z[1]==="this"){let K=Z[2];if(this._autoWireExplicit&&this._autoWireEl===F)this._autoWireExplicit.add(K);if(typeof Q==="string"&&this.componentMembers?.has(Q))this._createLines.push(`${F}.addEventListener('${K}', (e) => __batch(() => ${this._self}.${Q}(e)));`);else{let D=this.emitInComponent(Q,"value");this._createLines.push(`${F}.addEventListener('${K}', (e) => __batch(() => (${D})(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 D=this.emitInComponent(Q,"value");if(this._pendingClassArgs&&this._pendingClassEl===F)this._pendingClassArgs.push(D);else if(this.hasReactiveDeps(Q))if(this._svgDepth>0)this._pushEffect(`${F}.setAttribute('class', __clsx(${D}));`);else this._pushEffect(`${F}.className = __clsx(${D});`);else if(this._svgDepth>0)this._createLines.push(`${F}.setAttribute('class', ${D});`);else this._createLines.push(`${F}.className = ${D};`);continue}if(Z==="__transition__"){let D=String(Q).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${D}";`);continue}if(Z==="ref"){let D=String(Q).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${D} = ${F};`);continue}if(Z.startsWith(g2)&&Z.endsWith(l2)){let D=Z.slice(g2.length,-l2.length),H=this.emitInComponent(Q,"value"),J,z;if(D==="checked")J="change",z="e.target.checked";else J="input",z=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${F}.${D} = ${H};`);let q=`${H} = ${z}`,R=!this.isSimpleAssignable(Q)&&this.findRootReactiveMember(Q);if(R)q+=`; ${this._self}.${R}.touch?.()`;this._createLines.push(`${F}.addEventListener('${J}', (e) => { ${q}; });`);continue}let K=this.emitInComponent(Q,"value");if((Z==="value"||Z==="checked")&&this.hasReactiveDeps(Q)){this._pushEffect(`${F}.${Z} = ${K};`);continue}if(Z==="innerHTML"||Z==="textContent"||Z==="innerText")if(this.hasReactiveDeps(Q))this._pushEffect(`${F}.${Z} = ${K};`);else this._createLines.push(`${F}.${Z} = ${K};`);else if(B4.has(Z))if(this.hasReactiveDeps(Q))this._pushEffect(`${F}.toggleAttribute('${Z}', !!${K});`);else this._createLines.push(`if (${K}) ${F}.setAttribute('${Z}', '');`);else if(this.hasReactiveDeps(Q))if(Array.isArray(Q)&&Q[0]==="presence")this._pushEffect(`{ const __v = ${K}; __v == null ? ${F}.removeAttribute('${Z}') : ${F}.setAttribute('${Z}', __v); }`);else this._pushEffect(`${F}.setAttribute('${Z}', ${K});`);else if(Array.isArray(Q)&&Q[0]==="presence")this._createLines.push(`{ const __v = ${K}; if (__v != null) ${F}.setAttribute('${Z}', __v); }`);else this._createLines.push(`${F}.setAttribute('${Z}', ${K});`)}}},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 G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Y=[];for(let Z of A){let Q=this.emitNode(Z);this._createLines.push(`${G}.appendChild(${Q});`),Y.push(Q)}return this._fragChildren.set(G,Y),G},u.emitConditional=function(F){if(this._pendingAutoWire=!1,F.length>4){let X=F[F.length-1];for(let B=F.length-2;B>=3;B--)X=[...F[B],X];F=[F[0],F[1],F[2],X]}let[,A,G,Y]=F,Z=this.newElementVar("anchor");this._createLines.push(`${Z} = document.createComment('if');`);let Q=this.emitInComponent(A,"value"),K=this._loopVarStack.map((X)=>`${X.itemVar}, ${X.indexVar}`).join(", "),D=K?`, ${K}`:"",H=this.newBlockVar();this.emitConditionBranch(H,G);let J=null;if(Y)J=this.newBlockVar(),this.emitConditionBranch(J,Y);let z=[];z.push(`// Conditional: ${H}${J?" / "+J:""}`),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(() => {",R=this._factoryMode?"}));":"});";if(z.push(` ${q}`),z.push(` const show = !!(${Q});`),z.push(` const want = show ? 'then' : ${Y?"'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 = ${H}(${this._self}${D});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${D});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }"),Y)z.push(" if (want === 'else') {"),z.push(` currentBlock = ${J}(${this._self}${D});`),z.push(" currentBlock.c();"),z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),z.push(` currentBlock.p(${this._self}${D});`),z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),z.push(" }");if(z.push(` ${R}`),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 G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Y=this.emitTemplateBlock(A),Z=this._createLines,Q=this._setupLines,K=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let D=this._loopVarStack.map((J)=>`${J.itemVar}, ${J.indexVar}`).join(", "),H=D?`, ${D}`:"";this.emitBlockFactory(F,`ctx${H}`,Y,Z,Q,K)},u.emitBlockFactory=function(F,A,G,Y,Z,Q,K){let D=[];if(D.push(`function ${F}(${A}) {`),Q.size>0)D.push(` let ${[...Q].join(", ")};`);let H=Z.length>0;if(H)D.push(" let disposers = [];");if(D.push(" return {"),K)D.push(" _s: true,");let J=this._fragChildren.get(G),z=J?J[0]:G;D.push(" c() {");for(let q of Y)D.push(` ${q}`);if(D.push(` this._first = ${z};`),D.push(" },"),D.push(" m(target, anchor) {"),J)for(let q of J)D.push(` if (target) target.insertBefore(${q}, anchor);`);else D.push(` if (target) target.insertBefore(${G}, anchor);`);if(D.push(" },"),D.push(` p(${A}) {`),H){D.push(" disposers.forEach(d => d());"),D.push(" disposers = [];");for(let q of Z)D.push(` ${q}`)}if(D.push(" },"),D.push(" d(detaching) {"),H)D.push(" disposers.forEach(d => d());");if(J)for(let q of J)D.push(` if (detaching && ${q}) ${q}.remove();`);else D.push(` if (detaching && ${G}) ${G}.remove();`);D.push(" }"),D.push(" };"),D.push("}"),this._blockFactories.push(D.join(`
|
|
26
|
+
`))},u.emitTemplateLoop=function(F){this._pendingAutoWire=!1;let[A,G,Y,Z,Q,K]=F,D=this.newBlockVar(),H=this.newElementVar("anchor");this._createLines.push(`${H} = document.createComment('for');`);let J=Array.isArray(G)?G:[G],z=J[0],q=J[1]||null;if(!q){let x=new Set(this._loopVarStack.flatMap((r)=>[r.itemVar,r.indexVar]));x.add(z);for(let r of["i","j","k","l","m","n"])if(!x.has(r)){q=r;break}q=q||`_i${this._loopVarStack.length}`}let R=this.emitInComponent(Y,"value"),X=z;if(this.is(K,"block")&&K.length>1){let x=K[1];if(Array.isArray(x))for(let r of x){if(this.is(r,"object"))for(let f1=1;f1<r.length;f1++){let[h,c]=r[f1];if(h==="key"){X=this.emit(c,"value");break}}if(X!==z)break}}let B=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let I=this._loopVarStack.map((x)=>`${x.itemVar}, ${x.indexVar}`).join(", "),O=I?`, ${I}`:"";this._loopVarStack.push({itemVar:z,indexVar:q});let M=this.emitTemplateBlock(K);this._loopVarStack.pop();let P=this._createLines,E=this._setupLines,S=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=B;let N=E.length===0,L=`ctx, ${z}, ${q}${O}`;this.emitBlockFactory(D,L,M,P,E,S,N);let T=X!==z?`(${z}, ${q}) => ${X}`:"null",s=I?`, ${I}`:"",V=[];V.push(`// Loop: ${D}`),V.push("{"),V.push(" const __s = { blocks: [], keys: [] };");let C=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",y=this._factoryMode?"}));":"});";return V.push(` ${C}`),V.push(` __reconcile(${H}, __s, ${R}, ${this._self}, ${D}, ${T}${s});`),V.push(` ${y}`),V.push("}"),this._setupLines.push(V.join(`
|
|
27
|
+
`)),H},u.emitChildComponent=function(F,A){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Y=this.newElementVar("el"),{propsCode:Z,reactiveProps:Q,eventBindings:K,childrenSetupLines:D}=this.buildComponentProps(A),H=this._self;this._createLines.push(`{ const __prev = __pushComponent(${H}); try {`),this._createLines.push(`${G} = new ${F}(${Z});`),this._createLines.push(`${Y} = ${G}._root = ${G}._create();`),this._createLines.push(`(${H}._children || (${H}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:J,value:z}of K){let q=this.emitInComponent(z,"value");this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => (${q})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:J,valueCode:z}of Q)this._pushEffect(`if (${G}.${J} && typeof ${G}.${J} === 'object' && 'value' in ${G}.${J}) ${G}.${J}.value = ${z}; else if (${G}._setRestProp) ${G}._setRestProp('${J}', ${z});`);for(let J of D)this._setupLines.push(J);return Y},u.buildComponentProps=function(F){let A=[],G=[],Y=[],Z=null,Q=[],K=(J,z)=>{if(J.startsWith("@")){Y.push({event:J.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 R=typeof z==="string"?z:z[2];A.push(`${J}: ${this._self}.${R}`)}else{let R=this.emitInComponent(z,"value");if(A.push(`${J}: ${R}`),this.hasReactiveDeps(z))G.push({key:J,valueCode:R})}},D=(J)=>{for(let z=1;z<J.length;z++){let[,q,R]=J[z];if(typeof q==="string")K(q,R);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")Y.push({event:q[2],value:R})}};for(let J of F)if(this.is(J,"object"))D(J);else if(Array.isArray(J)&&(J[0]==="->"||J[0]==="=>")){let z=J[2];if(z){if(this.is(z,"block")){let q=[];for(let R of z.slice(1))if(this.is(R,"object"))D(R);else q.push(R);z=q.length>0?["block",...q]:null}if(z){let q=this._createLines,R=this._setupLines;this._createLines=[],this._setupLines=[],Z=this.emitTemplateBlock(z);let X=this._createLines,B=this._setupLines;this._createLines=q,this._setupLines=R;for(let I of X)this._createLines.push(I);Q.push(...B),A.push(`children: ${Z}`)}}}else if(J&&!Z){let z=this.newTextVar(),q=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J)){this._createLines.push(`${z} = document.createTextNode('');`);let R=`${z}.data = ${q};`,X=this._factoryMode?`disposers.push(__effect(() => { ${R} }));`:`__effect(() => { ${R} });`;Q.push(X)}else this._createLines.push(`${z} = document.createTextNode(${q});`);Z=z,A.push(`children: ${Z}`)}return{propsCode:A.length>0?`{ ${A.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Y,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`
|
|
28
28
|
// ============================================================================
|
|
29
29
|
// Rip Component Runtime
|
|
30
30
|
// ============================================================================
|
|
@@ -305,31 +305,31 @@ if (typeof globalThis !== 'undefined') {
|
|
|
305
305
|
globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
|
|
306
306
|
}
|
|
307
307
|
|
|
308
|
-
`}}function
|
|
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
|
|
308
|
+
`}}function N1(f){let w="",_=f<0?-f<<1|1:f<<1;do{let U=_&31;if(_>>>=5,_>0)U|=32;w+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U]}while(_>0);return w}class W2{constructor(f,w,_=null){this.file=f,this.source=w,this.sourceContent=_,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 w=this.names.length;return this.names.push(f),this.nameIndex.set(f,w),w}addMapping(f,w,_,U,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(_==null){this.lines[f].push(N1(w-this.prevGenCol)),this.prevGenCol=w;return}this.mappings.push({genLine:f,genCol:w,origLine:_,origCol:U});let $=N1(w-this.prevGenCol);if(this.prevGenCol=w,$+=N1(0),$+=N1(_-this.prevOrigLine),this.prevOrigLine=_,$+=N1(U-this.prevOrigCol),this.prevOrigCol=U,u!=null){let W=this.addName(u);$+=N1(W-this.prevNameIdx),this.prevNameIdx=W}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let w of this.mappings){if(!f.has(w.origLine))f.set(w.origLine,[]);f.get(w.origLine).push({origCol:w.origCol,genLine:w.genLine,genCol:w.genCol})}return f}toJSON(){let f=this.lines.map((_)=>_.join(",")).join(";"),w={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)w.sourcesContent=[this.sourceContent];return JSON.stringify(w)}}class F1 extends Error{constructor(f,{code:w=null,file:_=null,line:U=null,column:u=null,length:$=1,source:W=null,suggestion:F=null,phase:A=null}={}){super(f);this.name="RipError",this.code=w,this.file=_,this.line=U,this.column=u,this.length=$,this.source=W,this.suggestion=F,this.phase=A}static fromLexer(f,w,_){let U=f.location||{};return new F1(f.message,{code:"E_SYNTAX",file:_,line:U.first_line??null,column:U.first_column??null,length:U.last_column!=null&&U.first_column!=null?U.last_column-U.first_column+1:1,source:w,phase:"lexer"})}static fromParser(f,w,_){let U=f.hash||{},u=U.loc||{},$=U.line??u.r??null,W=u.first_column??u.c??null,F=null;if(U.expected?.length){if(F=`Expected ${U.expected.slice(0,5).map((Q)=>Q.replace(/'/g,"")).join(", ")}`,U.expected.length>5)F+=`, ... (${U.expected.length} total)`}let A=U.token||"token",G=U.text?` near '${U.text}'`:"",Y=`Unexpected ${A}${G}`;return new F1(Y,{code:"E_PARSE",file:_,line:$,column:W,length:U.text?.length||1,source:w,suggestion:F,phase:"parser"})}static fromSExpr(f,w,_,U,u){let $=w?.loc||{};return new F1(f,{code:"E_CODEGEN",file:U,line:$.r??null,column:$.c??null,length:$.n??1,source:_,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 w=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=this.locationString,u=U?`${w.cyan}${U}${w.reset} `:"";_.push(`${u}${w.red}${w.bold}error${w.reset}${w.bold}: ${this.message}${w.reset}`);let $=this._snippet();if($){_.push("");for(let W of $)if(W.type==="source")_.push(`${w.dim}${W.gutter}${w.reset}${W.text}`);else if(W.type==="caret")_.push(`${w.dim}${W.gutter}${w.reset}${w.red}${w.bold}${W.text}${w.reset}`)}if(this.suggestion)_.push(""),_.push(`${w.yellow}hint${w.reset}: ${this.suggestion}`);return _.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 w=this.locationString,_=w?`<span class="re-loc">${q1(w)}</span> `:"";f.push(`<div class="re-header">${_}error: ${q1(this.message)}</div>`);let U=this._snippet();if(U){f.push('<pre class="re-snippet">');for(let u of U)if(u.type==="source")f.push(`<span class="re-gutter">${q1(u.gutter)}</span>${q1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${q1(u.gutter)}</span><span class="re-caret">${q1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${q1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
|
|
310
310
|
`)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
|
|
311
|
-
`),
|
|
312
|
-
`)>=0){let
|
|
313
|
-
`).map((F)=>F.replace(/#.*$/,"").trim()).join("")}/${
|
|
314
|
-
`)}let
|
|
315
|
-
`))return" ".repeat(
|
|
311
|
+
`),w=this.line;if(w<0||w>=f.length)return null;let _=2,U=Math.max(0,w-_),u=Math.min(f.length-1,w+_),$=String(u+1).length,W=[];for(let F=U;F<=u;F++){let G=` ${String(F+1).padStart($)} │ `;if(W.push({type:"source",gutter:G,text:f[F]}),F===w&&this.column!=null){let Y=" ".repeat(this.column),Z=Math.max(1,Math.min(this.length||1,f[F].length-this.column)),Q="^".repeat(Z),K=" ".repeat($+2)+"│ ";W.push({type:"caret",gutter:K,text:`${Y}${Q}`})}}return W}}function N4(f){return f instanceof SyntaxError&&f.location!=null}function S4(f){return!(f instanceof SyntaxError)&&f.hash!=null}function S1(f,w,_){if(f instanceof F1){if(_&&!f.file)f.file=_;if(w&&!f.source)f.source=w;return f}if(N4(f))return F1.fromLexer(f,w,_);if(S4(f))return F1.fromParser(f,w,_);return new F1(f.message,{file:_,source:w,phase:"unknown"})}function P1(f,{source:w,file:_,color:U=!0}={}){return(f instanceof F1?f:S1(f,w,_)).format({color:U})}function A2(f,{source:w,file:_}={}){return(f instanceof F1?f:S1(f,w,_)).formatHTML()}function q1(f){return f.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}var w1=(f,w)=>f instanceof String?f[w]:void 0,i=(f)=>f instanceof String?f.valueOf():f,L4=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),T4=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),V4=new Set(["true","false","null","undefined","Infinity","NaN"]);function m1(f){if(!Array.isArray(f)||f.length===0)return!1;let w=f[0]?.valueOf?.()??f[0];if(L4.has(w))return!0;return f.length<=4&&!f.some(Array.isArray)}function V1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let w=String(f);if(w[0]==="/"&&w.indexOf(`
|
|
312
|
+
`)>=0){let _=w.match(/\/([gimsuvy]*)$/),U=_?_[1]:"",u=w.slice(1);return u=U?u.slice(0,-U.length-1):u.slice(0,-1),`"/${u.split(`
|
|
313
|
+
`).map((F)=>F.replace(/#.*$/,"").trim()).join("")}/${U}"`}return w}function Z1(f,w=0,_=!1){if(!Array.isArray(f))return V1(f);if(_&&f[0]==="program"){let G=f[1],Z=[Array.isArray(G)?"(program":"(program "+V1(G)],Q=Array.isArray(G)?1:2;for(let K=Q;K<f.length;K++){let D=Z1(f[K],2,!1);Z.push(D[0]==="("?" "+D:D)}return Z.push(")"),Z.join(`
|
|
314
|
+
`)}let U=f[0];if(m1(f)&&f.slice(1).every((G)=>!Array.isArray(G)||m1(G))){let Y=`(${f.map((Z)=>Array.isArray(Z)?Z1(Z,0,!1):V1(Z)).join(" ")})`;if(!Y.includes(`
|
|
315
|
+
`))return" ".repeat(w)+Y}let $=" ".repeat(w),W;if(Array.isArray(U)){if(W=Z1(U,0,!1),W.includes(`
|
|
316
316
|
`))W=W.split(`
|
|
317
|
-
`).map((
|
|
318
|
-
`)}else W=
|
|
319
|
-
`)){F[F.length-1]+=" "+Q;continue}}F.push(Z1(
|
|
320
|
-
`)}class
|
|
321
|
-
`).length}}recordSubMappings(f,_
|
|
322
|
-
`),
|
|
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
|
|
324
|
-
`)
|
|
325
|
-
`),
|
|
326
|
-
`;u+=`let ${
|
|
327
|
-
`,
|
|
317
|
+
`).map((Y,Z)=>Z===0?Y:" ".repeat(w+2)+Y).join(`
|
|
318
|
+
`)}else W=V1(U);let F=[`${$}(${W}`],A=U==="block";for(let G=1;G<f.length;G++){let Y=f[G];if(!Array.isArray(Y))F[F.length-1]+=" "+V1(Y);else{let Z=m1(Y)&&Y.every((Q)=>!Array.isArray(Q)||m1(Q));if(!A&&Z){let Q=Z1(Y,0,!1);if(!Q.includes(`
|
|
319
|
+
`)){F[F.length-1]+=" "+Q;continue}}F.push(Z1(Y,w+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,w,{suggestion:_}={}){throw F1.fromSExpr(f,w,this.options.source,this.options.filename,_)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let w=this.emit(f);if(this.sourceMap)this.buildMappings();return w}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let w of this._stmtEntries){if(w.loc)this.sourceMap.addMapping(f,0,w.loc.r,w.loc.c);if(w.sexpr&&w.loc)this.recordSubMappings(w.code,w.sexpr,f);f+=w.code.split(`
|
|
321
|
+
`).length}}recordSubMappings(f,w,_){let U=w.loc?w.loc.r:0,u=[];this.collectSubExprs(w,u);for(let{name:$,origLine:W,origCol:F}of u){let A=$.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),G=new RegExp("\\b"+A+"\\b","g"),Y,Z=null,Q=1/0,K=W-U;while((Y=G.exec(f))!==null){let H=f.substring(0,Y.index).split(`
|
|
322
|
+
`),J=_+H.length-1,z=H[H.length-1].length,q=H.length-1,R=Math.abs(q-K)*1e4+Math.abs(z-F);if(R<Q)Q=R,Z={genLine:J,genCol:z}}if(Z)this.sourceMap.addMapping(Z.genLine,Z.genCol,W,F)}}collectSubExprs(f,w){if(!Array.isArray(f))return;let _=f[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],w);return}if(f.loc){_=i(_);let u=null;if(_==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))u=_;if(u)w.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let U=_==="->"||_==="=>"?2:1;for(let u=U;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],w)}collectProgramVariables(f){if(!Array.isArray(f))return;let[w,..._]=f;if(w=i(w),Array.isArray(w)){f.forEach((U)=>this.collectProgramVariables(U));return}if(w==="export"||w==="export-default"||w==="export-all"||w==="export-from")return;if(w==="state"||w==="computed"){let[U]=_,u=i(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(w==="readonly"){let[U]=_,u=i(U)??U;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(w==="component")return;if(w==="enum")return;if(W1.ASSIGNMENT_OPS.has(w)){let[U,u]=_;if(typeof U==="string"||U instanceof String){let $=i(U);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(U,"array"))this.collectVarsFromArray(U,this.programVars);else if(this.is(U,"object"))this.collectVarsFromObject(U,this.programVars);this.collectProgramVariables(u);return}if(w==="def"||w==="->"||w==="=>"||w==="effect")return;if(w==="if"){let[U,u,$]=_;if(this.collectProgramVariables(U),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(w==="try"){if(this.collectProgramVariables(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[U,u]=_[1];if(U&&this.is(U,"object"))U.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(U&&this.is(U,"array"))U.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(_.length===3)this.collectProgramVariables(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))this.collectProgramVariables(_[1]);return}_.forEach((U)=>this.collectProgramVariables(U))}collectFunctionVariables(f){let w=new Set,_=(U)=>{if(!Array.isArray(U))return;let[u,...$]=U;if(u=i(u),Array.isArray(u)){U.forEach((W)=>_(W));return}if(W1.ASSIGNMENT_OPS.has(u)){let[W,F]=$;if(typeof W==="string")w.add(W);else if(this.is(W,"array"))this.collectVarsFromArray(W,w);else if(this.is(W,"object"))this.collectVarsFromObject(W,w);_(F);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(_($[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")w.add(A[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach((A)=>{if(typeof A==="string")w.add(A)});_(F)}if($.length===3)_($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))_($[1]);return}$.forEach((W)=>_(W))};return _(f),w}emit(f,w="statement"){if(f instanceof String){if(w1(f,"await")===!0)return`await ${i(f)}()`;if(w1(f,"predicate"))return`(${i(f)} != null)`;if(w1(f,"delimiter")==="///"&&w1(f,"heregex")){let F=i(f),A=F.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,G,Y]=A;return`/${this.processHeregex(G)}/${Y}`}return F}let W=w1(f,"quote");if(W){let F=i(f);if(W==='"""'||W==="'''"){let G=this.extractStringContent(f);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(F[0]===W)return F;let A=F.slice(1,-1);return`${W}${A}${W}`}f=i(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]=f,u=w1(_,"await");_=i(_);let $=W1.GENERATORS[_];if($)return this[$](_,U,w,f);if(typeof _==="string"&&!_.startsWith('"')&&!_.startsWith("'")){if(W1.NUMBER_START_RE.test(_))return _;if(_==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(U)})`;let W=this._tryPostfixCall(_,U,w);if(W)return W;let F=u===!0,A=`${this.emit(_,"value")}(${this._emitArgs(U)})`;return F?`await ${A}`:A}if(Array.isArray(_)&&typeof _[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(_[0]))return`(${f.map((F)=>this.emit(F,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||i(_[2])==="new")){let Y=_[1],Z=this.emit(Y,"value");return`new ${Array.isArray(Y)?`(${Z})`:Z}(${this._emitArgs(U)})`}let W=this._tryPostfixCall(_,U,w);if(W)return W;let F=!1,A;if(_[0]==="."&&w1(_[2],"await")===!0){F=!0;let[Y,Z]=_.slice(1),Q=this.emit(Y,"value");A=`${W1.NUMBER_LITERAL_RE.test(Q)||(this.is(Y,"object")||this.is(Y,"await")||this.is(Y,"yield"))?`(${Q})`:Q}.${i(Z)}`}else A=this.emit(_,"value");let G=`${A}(${this._emitArgs(U)})`;return F?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,f)}emitProgram(f,w,_,U){let u="",$=[],W=[];for(let K of w){if(!Array.isArray(K)){W.push(K);continue}if(K[0]==="import")$.push(K);else W.push(K)}let F=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],A=W.map((K,D)=>{let H=W.length===1&&$.length===0,J=this.is(K,"object"),z=J&&K.length===2&&Array.isArray(K[1])&&Array.isArray(K[1][2])&&K[1][2][0]==="comprehension",q=this.is(K,"comprehension")||this.is(K,"object-comprehension")||this.is(K,"do-iife"),R=this.programVars.size===0,X=H&&J&&R&&!q&&!z,I=D===W.length-1&&q,O;if(X)O=`(${this.emit(K,"value")})`;else if(I)O=this.emit(K,"value");else O=this.emit(K,"statement");if(O&&!O.endsWith(";")){let P=Array.isArray(K)?K[0]:null;if(!F.includes(P)||!O.endsWith("}"))O+=";"}let M=Array.isArray(K)?K.loc:null;return{code:O,loc:M,sexpr:Array.isArray(K)?K:null}}),G=A.map((K)=>K.code).join(`
|
|
324
|
+
`),Y=!1;if($.length>0)u+=$.map((K)=>this.addSemicolon(K,this.emit(K,"statement"))).join(`
|
|
325
|
+
`),Y=!0;if(this.programVars.size>0){let K=this.programVars.has("_");if(K)this.programVars.delete("_");if(this.programVars.size>0){let D=Array.from(this.programVars).sort().join(", ");if(D){if(Y)u+=`
|
|
326
|
+
`;u+=`let ${D};
|
|
327
|
+
`,Y=!0}}if(K){if(Y)u+=`
|
|
328
328
|
`;u+=`var _;
|
|
329
|
-
`,
|
|
330
|
-
`;u+=
|
|
331
|
-
`,
|
|
332
|
-
`,
|
|
329
|
+
`,Y=!0}}let Z=this.options.skipPreamble,Q=this.options.skipRuntimes;if(!Z){if(Y)u+=`
|
|
330
|
+
`;u+=h1(),Y=!0;let K=Q?"var":"const";if(this.helpers.has("slice"))u+=`${K} slice = [].slice;
|
|
331
|
+
`,Y=!0;if(this.helpers.has("modulo"))u+=`${K} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
332
|
+
`,Y=!0;if(this.helpers.has("toMatchable"))u+=`${K} toMatchable = (v, allowNewlines) => {
|
|
333
333
|
`,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
334
334
|
`,u+=` if (v == null) return "";
|
|
335
335
|
`,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
|
|
@@ -343,161 +343,153 @@ if (typeof globalThis !== 'undefined') {
|
|
|
343
343
|
`,u+=` }
|
|
344
344
|
`,u+=` return "";
|
|
345
345
|
`,u+=`};
|
|
346
|
-
`,
|
|
346
|
+
`,Y=!0}if(this.usesReactivity&&!Z){if(Q)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
347
347
|
`;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
|
|
348
|
-
`;else u+=this.getReactiveRuntime();
|
|
348
|
+
`;else u+=this.getReactiveRuntime();Y=!0}if(this.usesTemplates&&!Z){if(Q)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
349
349
|
`;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
|
|
350
|
-
`;else u+=this.getComponentRuntime();
|
|
350
|
+
`;else u+=this.getComponentRuntime();Y=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!Z)u+=`var DATA;
|
|
351
351
|
_setDataSection();
|
|
352
|
-
`,
|
|
353
|
-
`;if(this._stmtEntries=
|
|
354
|
-
`).length-1,u+=
|
|
352
|
+
`,Y=!0;if(Y&&u.length>0)u+=`
|
|
353
|
+
`;if(this._stmtEntries=A,this._preambleLines=u.length===0?0:u.split(`
|
|
354
|
+
`).length-1,u+=G,this.dataSection!==null&&this.dataSection!==void 0)u+=`
|
|
355
355
|
|
|
356
356
|
function _setDataSection() {
|
|
357
357
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
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
|
-
${
|
|
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(`
|
|
358
|
+
}`;return u}emitBinaryOp(f,w,_,U){if((f==="+"||f==="-")&&w.length===1)return`(${f}${this.emit(w[0],"value")})`;let[u,$]=w;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"),G=this.emit(u[2],"value"),Y=this.emit($,"value");return`((${A} ${F} ${G}) && (${G} ${f} ${Y}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,w){let[_,U]=w;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(U,"value")})`}emitModuloAssign(f,w){let[_,U]=w;this.helpers.add("modulo");let u=this.emit(_,"value"),$=this.emit(U,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,w){let[_,U]=w;return`Math.floor(${this.emit(_,"value")} / ${this.emit(U,"value")})`}emitFloorDivAssign(f,w){let[_,U]=w,u=this.emit(_,"value"),$=this.emit(U,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,w,_,U){let[u,$]=w,W=f==="?="?"??=":f,F=this._findOptionalInTarget(u);if(F){let q=this.emit(F.guard,"value"),R=this.emit(F.rewritten,"value"),X=this.emit($,"value");if(_==="value")return`(${q} != null ? (${R} ${W} ${X}) : undefined)`;return`if (${q} != null) ${R} ${W} ${X}`}let A=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&w1(u,"await")!==void 0&&!A){let q=w1(u,"await")===!0?"!":"&";this.error(`Cannot use ${q} sigil in variable declaration '${i(u)}'`,U)}if(u instanceof String&&w1(u,"await")===!0&&A)this.nextFunctionIsVoid=!0;let G=this.is(u,"array",0),Y=this.is(u,"object",0);if(G||Y){let q=this.emit($,"value");return Y&&_==="statement"?`(${q})`:q}if(Array.isArray($)&&W==="="&&$[0]==="control"){let[,q,R,X]=$,B=i(q),I=X[0]==="return",O=this.emit(u,"value"),M=this.emit(R,"value"),P=X.length>1?X[1]:null,E=I?P?`return ${this.emit(P,"value")}`:"return":P?`throw ${this.emit(P,"value")}`:"throw new Error()";if(_==="value"){if(B==="??")return`(() => { const __v = ${M}; if (__v == null) ${E}; return (${O} = __v); })()`;if(B==="||")return`(() => { const __v = ${M}; if (!__v) ${E}; return (${O} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${E}; return (${O} = __v); })()`}if(B==="??")return`if ((${O} = ${M}) == null) ${E}`;if(B==="||")return`if (!(${O} = ${M})) ${E}`;return`if ((${O} = ${M})) ${E}`}if(this.is(u,"array")){let q=u.slice(1).findIndex((R)=>this.is(R,"...")||R==="...");if(q!==-1&&q<u.length-2){let R=u.slice(1),X=R.slice(q+1),B=X.length;if(B>0){let I=this.emit($,"value"),M=R.slice(0,q).map((L)=>L===","?"":typeof L==="string"?L:this.emit(L,"value")).join(", "),P=X.map((L)=>L===","?"":typeof L==="string"?L:this.emit(L,"value")).join(", ");this.helpers.add("slice"),R.forEach((L)=>{if(L===","||L==="...")return;if(typeof L==="string")this.programVars.add(L);else if(this.is(L,"...")&&typeof L[1]==="string")this.programVars.add(L[1])});let E=R[q],S=this.is(E,"...")?E[1]:null,N=[];if(M)N.push(`[${M}] = ${I}`);if(S)N.push(`[...${S}] = ${I}.slice(${q}, -${B})`);return N.push(`[${P}] = slice.call(${I}, -${B})`),N.join(", ")}}}if(_==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[q,R,X]=$;if(this.is(X,"if")&&X.length===3){let[,B,I]=X,O=Array.isArray(I)&&I.length===1?I[0]:I,M=[q,R,O],P=this.emit(u,"value"),E=this.emit(B,"value"),S=this.emit(M,"value");return`if (${E}) ${P} = ${S}`}}if(_==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[q,R,X]=$,B=Array.isArray(X)&&X.length===1&&(!Array.isArray(X[0])||X[0][0]!=="block");if(q==="if"&&B){let I=Array.isArray(X)&&X.length===1?X[0]:X,O=this.emit(u,"value"),M=this.unwrapLogical(this.emit(R,"value")),P=this.emit(I,"value");return`if (${M}) ${O} = ${P}`}}let Z;if(u instanceof String&&w1(u,"await")!==void 0)Z=i(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))Z=`${u}.value`;else Z=this.emit(u,"value");let Q=this._componentName,K=this._componentTypeParams;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=i(u),this._componentTypeParams=u.typeParams||"";let D=this.emit($,"value");if(this._componentName=Q,this._componentTypeParams=K,!this.is($,"object"))D=this.unwrap(D);let J=_==="value",z=_==="statement"&&this.is(u,"object");if(J||z)return`(${Z} ${W} ${D})`;return`${Z} ${W} ${D}`}emitPropertyAccess(f,w,_,U){let[u,$]=w;if(this._atParamMap&&u==="this"){let G=this._atParamMap.get(i($));if(G)return G}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(w1($,"await")===!0)return`await ${A}.${i($)}()`;if(w1($,"predicate"))return`(${A}.${i($)} != null)`;return`${A}.${i($)}`}emitOptionalProperty(f,w){let[_,U]=w;return`${this.emit(_,"value")}?.${U}`}emitRegexIndex(f,w){let[_,U,u]=w;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),W=this.emit(U,"value"),F=u!==null?this.emit(u,"value"):"0",A=W.includes("/m")?", true":"";return`(_ = toMatchable(${$}${A}).match(${W})) && _[${F}]`}emitIndexAccess(f,w){let[_,U]=w;if(this.is(U,"..")||this.is(U,"...")){let u=U[0]==="..",$=this.emit(_,"value"),[W,F]=U.slice(1),A=(Q)=>{if(Q===null)return null;let K=i(Q)??Q;if(typeof K==="number")return K;if(typeof K==="string"&&/^\d+$/.test(K))return+K;if(Array.isArray(Q)&&Q[0]==="-"&&Q.length===2){let D=i(Q[1])??Q[1];if(typeof D==="number")return-D;if(typeof D==="string"&&/^\d+$/.test(D))return-D}return null},G=(Q,K,D)=>{let H=A(D);if(H!==null&&H!==-1)return`${$}.slice(${Q}, ${H+1})`;return`${$}.slice(${Q}, +${K} + 1 || 9e9)`};if(W===null&&F===null)return`${$}.slice()`;if(W===null){if(u&&this.is(F,"-",1)&&(i(F[1])??F[1])==1)return`${$}.slice(0)`;let Q=this.emit(F,"value");return u?G("0",Q,F):`${$}.slice(0, ${Q})`}if(F===null)return`${$}.slice(${this.emit(W,"value")})`;let Y=this.emit(W,"value");if(u&&this.is(F,"-",1)&&(i(F[1])??F[1])==1)return`${$}.slice(${Y})`;let Z=this.emit(F,"value");return u?G(Y,Z,F):`${$}.slice(${Y}, ${Z})`}if(this.is(U,"-",1)){let u=i(U[1])??U[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}.at(-${u})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(U,"value"))}]`}emitOptIndex(f,w){let[_,U]=w;if(this.is(U,"-",1)){let u=i(U[1])??U[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}?.at(-${u})`}return`${this.emit(_,"value")}?.[${this.emit(U,"value")}]`}emitOptCall(f,w){let[_,...U]=w;return`${this.emit(_,"value")}?.(${U.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,w,_,U){let[u,$,W]=w,F=w1(u,"await")===!0,A=i(u),G=this.emitParamList($),Y=this.emitFunctionBody(W,$,F),Z=this.containsAwait(W),Q=this.containsYield(W);return`${Z?"async ":""}function${Q?"*":""} ${A}(${G}) ${Y}`}emitThinArrow(f,w,_,U){let[u,$]=w;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),G=this.containsAwait($),Y=this.containsYield($),Z=`${G?"async ":""}function${Y?"*":""}(${F}) ${A}`;return _==="value"?`(${Z})`:Z}emitFatArrow(f,w,_,U){let[u,$]=w;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),G=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 K=$[1],D=Array.isArray(K)?K[0]:null;if(D!=="return"&&!T4.has(D)){let H=this.emit(K,"value");if(H[0]==="{")H=`(${H})`;return`${Z}${G} => ${H}`}}if(!Array.isArray($)||$[0]!=="block"){let K=this.emit($,"value");if(K[0]==="{")K=`(${K})`;return`${Z}${G} => ${K}`}}let Q=this.emitFunctionBody($,u,W);return`${Z}${G} => ${Q}`}emitReturn(f,w,_,U){if(w.length===0)return"return";let[u]=w;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",U);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,w){let[_,U]=w;this.usesReactivity=!0;let u=i(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(U,"value")})`}emitComputed(f,w){let[_,U]=w;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=i(_)??_;if(this.reactiveVars.add(u),this.is(U,"block")&&U.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(U)})`;return`const ${u} = __computed(() => ${this.emit(U,"value")})`}emitReadonly(f,w){let[_,U]=w;return`const ${i(_)??_} = ${this.emit(U,"value")}`}emitEffect(f,w){let[_,U]=w;this.usesReactivity=!0;let u;if(this.is(U,"block"))u=this.emitFunctionBody(U);else if(this.is(U,"->")||this.is(U,"=>")){let W=this.emit(U,"value");if(_)return`const ${i(_)??this.emit(_,"value")} = __effect(${W})`;return`__effect(${W})`}else u=`{ ${this.emit(U,"value")}; }`;let $=`__effect(() => ${u})`;if(_)return`const ${i(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,w){return`(${this.emit(w[0],"value")} != null)`}emitPresence(f,w){return`(${this.emit(w[0],"value")} ? true : undefined)`}emitTernary(f,w,_){let[U,u,$]=w;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let F=this.emit(u[1],"value"),A=this.emit(u[2],"value"),G=this.emit($,"value");return`${F} = (${this.unwrap(this.emit(U,"value"))} ? ${A} : ${G})`}return`(${this.unwrap(this.emit(U,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,w){let[_,U]=w,u=this.emit(_,"value");if(Array.isArray(U)&&U.length>1){let $=U[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let F=this.emit($,"value"),A=U.slice(1).map((G)=>this.emit(G,"value"));return`${F}(${u}, ${A.join(", ")})`}}return`${this.emit(U,"value")}(${u})`}emitLoop(f,w){return`while (true) ${this.emitLoopBody(w[0])}`}emitLoopN(f,w){let[_,U]=w;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(U)}`}emitAwait(f,w){return`await ${this.emit(w[0],"value")}`}emitYield(f,w){return w.length===0?"yield":`yield ${this.emit(w[0],"value")}`}emitYieldFrom(f,w){return`yield* ${this.emit(w[0],"value")}`}emitIf(f,w,_,U){let[u,$,...W]=w;return _==="value"?this.emitIfAsExpression(u,$,W):this.emitIfAsStatement(u,$,W)}emitForIn(f,w,_,U){let[u,$,W,F,A]=w;if(_==="value"&&this.comprehensionDepth===0){let J=["for-in",u,$,W];return this.emit(["comprehension",A,[J],F?[F]:[]],_)}let G=Array.isArray(u)?u:[u],Y=G.length===0,[Z,Q]=Y?["_i",null]:G,K=this.is(Z,"array")||this.is(Z,"object")?this.emitDestructuringPattern(Z):Z;if(W&&W!==null){let J=this.emit($,"value"),z=Q||"_i",q=this.emit(W,"value"),R=this.is(W,"-",1),X=R&&(W[1]==="1"||W[1]===1||i(W[1])==="1"),B=!R&&(W==="1"||W===1||i(W)==="1"),I;if(X)I=`for (let ${z} = ${J}.length - 1; ${z} >= 0; ${z}--) `;else if(B)I=`for (let ${z} = 0; ${z} < ${J}.length; ${z}++) `;else if(R)I=`for (let ${z} = ${J}.length - 1; ${z} >= 0; ${z} += ${q}) `;else I=`for (let ${z} = 0; ${z} < ${J}.length; ${z} += ${q}) `;if(this.is(A,"block")){let O=A.slice(1);this.indentLevel++;let M=[];if(!Y)M.push(`const ${K} = ${J}[${z}];`);if(F)M.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,M.push(...this.formatStatements(O)),this.indentLevel--,M.push(this.indent()+"}");else M.push(...O.map((P)=>this.addSemicolon(P,this.emit(P,"statement"))));return this.indentLevel--,I+`{
|
|
359
|
+
${M.map((P)=>this.indent()+P).join(`
|
|
365
360
|
`)}
|
|
366
|
-
${this.indent()}}`}if(
|
|
367
|
-
`,this.indentLevel++,z+=this.indent()+`const ${
|
|
361
|
+
${this.indent()}}`}if(Y)return F?I+`{ if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:I+`{ ${this.emit(A,"statement")}; }`;return F?I+`{ const ${K} = ${J}[${z}]; if (${this.emit(F,"value")}) ${this.emit(A,"statement")}; }`:I+`{ const ${K} = ${J}[${z}]; ${this.emit(A,"statement")}; }`}if(Q){let J=this.emit($,"value"),z=`for (let ${Q} = 0; ${Q} < ${J}.length; ${Q}++) `;if(this.is(A,"block")){if(z+=`{
|
|
362
|
+
`,this.indentLevel++,z+=this.indent()+`const ${K} = ${J}[${Q}];
|
|
368
363
|
`,F)z+=this.indent()+`if (${this.unwrap(this.emit(F,"value"))}) {
|
|
369
364
|
`,this.indentLevel++,z+=this.formatStatements(A.slice(1)).join(`
|
|
370
365
|
`)+`
|
|
371
366
|
`,this.indentLevel--,z+=this.indent()+`}
|
|
372
367
|
`;else z+=this.formatStatements(A.slice(1)).join(`
|
|
373
368
|
`)+`
|
|
374
|
-
`;this.indentLevel--,z+=this.indent()+"}"}else z+=F?`{ const ${
|
|
375
|
-
${
|
|
369
|
+
`;this.indentLevel--,z+=this.indent()+"}"}else z+=F?`{ const ${K} = ${J}[${Q}]; if (${this.unwrap(this.emit(F,"value"))}) ${this.emit(A,"statement")}; }`:`{ const ${K} = ${J}[${Q}]; ${this.emit(A,"statement")}; }`;return z}let D=Array.isArray($)&&$[0];if(D instanceof String)D=i(D);if(D===".."||D==="..."){let J=D==="...",[z,q]=$.slice(1),R=(X)=>typeof X==="number"||typeof X==="string"&&!X.includes("(")||X instanceof String&&!i(X).includes("(")||this.is(X,".");if(R(z)&&R(q)){let X=this.emit(z,"value"),B=this.emit(q,"value"),I=J?"<":"<=",O=W?`${K} += ${this.emit(W,"value")}`:`${K}++`,M=`for (let ${K} = ${X}; ${K} ${I} ${B}; ${O}) `;return M+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),M}}let H=`for (const ${K} of ${this.emit($,"value")}) `;return H+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),H}emitForOf(f,w,_,U){let[u,$,W,F,A]=w;if(_==="value"&&this.comprehensionDepth===0){let K=["for-of",u,$,W];return this.emit(["comprehension",A,[K],F?[F]:[]],_)}let[G,Y]=Array.isArray(u)?u:[u],Z=this.emit($,"value"),Q=`for (const ${G} in ${Z}) `;if(W&&!Y&&!F){if(this.is(A,"block")){this.indentLevel++;let K=[`if (!Object.hasOwn(${Z}, ${G})) continue;`,...A.slice(1).map((D)=>this.addSemicolon(D,this.emit(D,"statement")))];return this.indentLevel--,Q+`{
|
|
370
|
+
${K.map((D)=>this.indent()+D).join(`
|
|
376
371
|
`)}
|
|
377
|
-
${this.indent()}}`}return Q+`{ if (!Object.hasOwn(${Z}, ${
|
|
378
|
-
${
|
|
372
|
+
${this.indent()}}`}return Q+`{ if (!Object.hasOwn(${Z}, ${G})) continue; ${this.emit(A,"statement")}; }`}if(Y){if(this.is(A,"block")){let D=A.slice(1);this.indentLevel++;let H=[];if(W)H.push(`if (!Object.hasOwn(${Z}, ${G})) continue;`);if(H.push(`const ${Y} = ${Z}[${G}];`),F)H.push(`if (${this.emit(F,"value")}) {`),this.indentLevel++,H.push(...D.map((J)=>this.addSemicolon(J,this.emit(J,"statement")))),this.indentLevel--,H.push(this.indent()+"}");else H.push(...D.map((J)=>this.addSemicolon(J,this.emit(J,"statement"))));return this.indentLevel--,Q+`{
|
|
373
|
+
${H.map((J)=>this.indent()+J).join(`
|
|
379
374
|
`)}
|
|
380
|
-
${this.indent()}}`}let
|
|
375
|
+
${this.indent()}}`}let K="";if(W)K+=`if (!Object.hasOwn(${Z}, ${G})) continue; `;if(K+=`const ${Y} = ${Z}[${G}]; `,F)K+=`if (${this.emit(F,"value")}) `;return K+=`${this.emit(A,"statement")};`,Q+`{ ${K} }`}return Q+=F?this.emitLoopBodyWithGuard(A,F):this.emitLoopBody(A),Q}emitForAs(f,w,_,U){let u=Array.isArray(w[0])?w[0]:[w[0]],[$]=u,W=w[1],F=w[2],A=w[3],G=w[4],Y=!1,Z=[];if(this.is($,"array")){let J=$.slice(1),z=J.findIndex((q)=>this.is(q,"...")||q==="...");if(z!==-1&&z<J.length-1){Y=!0;let q=J.slice(z+1),R=q.length,X=J.slice(0,z),B=J[z],I=this.is(B,"...")?B[1]:"_rest",O=X.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", "),M=O?`${O}, ...${I}`:`...${I}`,P=q.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", ");Z.push(`[${M}] = _item`),Z.push(`[${P}] = ${I}.splice(-${R})`),this.helpers.add("slice"),J.forEach((E)=>{if(E===","||E==="...")return;if(typeof E==="string")this.programVars.add(E);else if(this.is(E,"...")&&typeof E[1]==="string")this.programVars.add(E[1])})}}let Q=this.emit(W,"value"),K=F?"await ":"",D;if(Y)D="_item";else if(this.is($,"array")||this.is($,"object"))D=this.emitDestructuringPattern($);else D=$;let H=`for ${K}(const ${D} of ${Q}) `;if(Y&&Z.length>0){let J=this.unwrapBlock(G),z=this.withIndent(()=>[...Z.map((q)=>this.indent()+q+";"),...this.formatStatements(J)]);H+=`{
|
|
381
376
|
${z.join(`
|
|
382
377
|
`)}
|
|
383
|
-
${this.indent()}}`}else
|
|
384
|
-
${this.withIndent(()=>this.formatStatements(
|
|
378
|
+
${this.indent()}}`}else H+=A?this.emitLoopBodyWithGuard(G,A):this.emitLoopBody(G);return H}emitWhile(f,w){let _=w[0],U=w.length===3?w[1]:null,u=w[w.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(U?this.emitLoopBodyWithGuard(u,U):this.emitLoopBody(u))}emitRange(f,w){if(f==="..."){if(w.length===1)return`...${this.emit(w[0],"value")}`;let[W,F]=w,A=this.emit(W,"value"),G=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}, ${G})`}let[_,U]=w,u=this.emit(_,"value"),$=this.emit(U,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}emitNot(f,w){let[_]=w;if(typeof _==="string"||_ instanceof String)return`!${this.emit(_,"value")}`;if(Array.isArray(_)){if([".","?.","[]","optindex","optcall"].includes(_[0]))return`!${this.emit(_,"value")}`}let U=this.emit(_,"value");return U.startsWith("(")?`!${U}`:`(!${U})`}emitBitwiseNot(f,w){return`(~${this.emit(w[0],"value")})`}emitIncDec(f,w){let[_,U]=w,u=this.emit(_,"value");return U?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,w){return`typeof ${this.emit(w[0],"value")}`}emitDelete(f,w){return`(delete ${this.emit(w[0],"value")})`}emitInstanceof(f,w,_,U){let[u,$]=w,W=w1(U[0],"invert"),F=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return W?`(!${F})`:F}emitIn(f,w,_,U){let[u,$]=w,W=this.emit(u,"value"),F=w1(U[0],"invert");if(this.is($,"object")){let Y=`(${W} in ${this.emit($,"value")})`;return F?`(!${Y})`:Y}let A=this.emit($,"value"),G=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${W}) : (${W} in ${A}))`;return F?`(!${G})`:G}emitOf(f,w,_,U){let[u,$]=w,W=this.emit(u,"value"),F=this.emit($,"value"),A=w1(U[0],"invert"),G=`(${W} in ${F})`;return A?`(!${G})`:G}emitRegexMatch(f,w){let[_,U]=w;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(U,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${u}))`}emitNew(f,w){let[_]=w;if(this.is(_,".")||this.is(_,"?.")){let[U,u,$]=_;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(_)){let[U,...u]=_;return`new ${this.emit(U,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"value")}()`}emitLogicalAnd(f,w,_,U){let u=this.flattenBinaryChain(U).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,w,_,U){let u=this.flattenBinaryChain(U).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,w){let _=w.length>0&&w[w.length-1]===",",U=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},]`:`[${U}]`}emitObject(f,w,_){if(w.length===1&&Array.isArray(w[0])&&Array.isArray(w[0][2])&&w[0][2][0]==="comprehension"){let[,u,$]=w[0],[,W,F,A]=$;return this.emit(["object-comprehension",u,W,F,A],_)}return`{${w.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 G=this.emit(F,"value");if($==="=")return`${A} = ${G}`;if($===":")return`${A}: ${G}`;if(A===G&&!Array.isArray(W))return A;return`${A}: ${G}`}).join(", ")}}`}emitMap(f,w,_){if(w.length===0)return"new Map()";return`new Map([${w.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 G=i($)??$;F=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!W1.NUMBER_START_RE.test(G)&&!V4.has(G)?`"${G}"`:this.emit($,"value")}let A=this.emit(W,"value");return`[${F}, ${A}]`}).join(", ")}])`}emitBlock(f,w,_){if(_==="statement")return`{
|
|
379
|
+
${this.withIndent(()=>this.formatStatements(w)).join(`
|
|
385
380
|
`)}
|
|
386
|
-
${this.indent()}}`;if(
|
|
381
|
+
${this.indent()}}`;if(w.length===0)return"undefined";if(w.length===1)return this.emit(w[0],_);let U=w[w.length-1];if(Array.isArray(U)&&["break","continue","return","throw"].includes(U[0])){let $=w.map((W)=>this.addSemicolon(W,this.emit(W,"statement")));return`{
|
|
387
382
|
${this.withIndent(()=>$.map((W)=>this.indent()+W).join(`
|
|
388
383
|
`))}
|
|
389
|
-
${this.indent()}}`}return`(${
|
|
384
|
+
${this.indent()}}`}return`(${w.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,w,_){let U=_==="value",u="try ",$=w[0];if(u+=U&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),w.length>=2&&Array.isArray(w[1])&&w[1].length===2&&w[1][0]!=="block"){let[W,F]=w[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+=" "+(U&&this.is(F,"block")?this.emitBlockWithReturns(F):this.emit(F,"statement"))}else if(w.length===2)u+=" finally "+this.emit(w[1],"statement");if(w.length===3)u+=" finally "+this.emit(w[2],"statement");if(w.length===1)u+=" catch {}";if(U){let W=this.containsAwait(w[0])||w[1]&&this.containsAwait(w[1])||w[2]&&this.containsAwait(w[2]);return this.asyncIIFE(W,u)}return u}emitThrow(f,w,_){let[U]=w;if(Array.isArray(U)){let $=U,W=null;if(U[0]==="new"&&Array.isArray(U[1])&&U[1][0]==="if")W="new",$=U[1];else if(U[0]==="if")$=U;if($[0]==="if"){let[,F,A]=$,G=Array.isArray(A)&&A.length===1?A[0]:A;U=W==="new"?["new",G]:G;let Y=this.emit(F,"value"),Z=`throw ${this.emit(U,"value")}`;return`if (${Y}) {
|
|
390
385
|
${this.indent()} ${Z};
|
|
391
|
-
${this.indent()}}`}}let u=`throw ${this.emit(
|
|
392
|
-
`;this.indentLevel++;for(let F of u){let[,A,
|
|
393
|
-
`}this.indentLevel++,W+=this.emitSwitchCaseBody(
|
|
394
|
-
`,this.indentLevel++,W+=this.emitSwitchCaseBody($,
|
|
386
|
+
${this.indent()}}`}}let u=`throw ${this.emit(U,"value")}`;return _==="value"?`(() => { ${u}; })()`:u}emitControl(f,w,_){let[U,u,$]=w,W=i(U),F=$[0]==="return",A=this.emit(u,"value"),G=$.length>1?$[1]:null,Y=F?G?`return ${this.emit(G,"value")}`:"return":G?`throw ${this.emit(G,"value")}`:"throw new Error()",Z=this.wrapForCondition(A);if(_==="value"){if(W==="??")return`(() => { const __v = ${A}; if (__v == null) ${Y}; return __v; })()`;if(W==="||")return`(() => { const __v = ${A}; if (!__v) ${Y}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${Y}; return __v; })()`}if(W==="??")return`if (${Z} == null) ${Y}`;if(W==="||")return`if (!${Z}) ${Y}`;return`if (${Z}) ${Y}`}emitSwitch(f,w,_){let[U,u,$]=w;if(U===null)return this.emitSwitchAsIfChain(u,$,_);let W=`switch (${this.emit(U,"value")}) {
|
|
387
|
+
`;this.indentLevel++;for(let F of u){let[,A,G]=F;for(let Y of A){let Z=i(Y)??Y,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}:
|
|
388
|
+
`}this.indentLevel++,W+=this.emitSwitchCaseBody(G,_),this.indentLevel--}if($)W+=this.indent()+`default:
|
|
389
|
+
`,this.indentLevel++,W+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,W+=this.indent()+"}",_==="value"){let F=this.containsAwait(U)||u.some((A)=>this.containsAwait(A[1])||this.containsAwait(A[2]))||$&&this.containsAwait($);return this.asyncIIFE(F,W)}return W}emitWhen(f,w,_,U){this.error("when clause should be handled by switch",U)}_forInHeader(f,w,_){let U=Array.isArray(f)?f:[f],u=U.length===0,[$,W]=u?["_i",null]:U,F=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let A=Array.isArray(w)&&w[0];if(A instanceof String)A=i(A);if(A===".."||A==="..."){let q=A==="...",[R,X]=w.slice(1),B=this.emit(R,"value"),I=this.emit(X,"value"),O=this.emit(_,"value");return{header:`for (let ${F} = ${B}; ${F} ${q?"<":"<="} ${I}; ${F} += ${O})`,setup:null}}let Y=this.emit(w,"value"),Z=W||"_i",Q=this.emit(_,"value"),K=this.is(_,"-",1),D=K&&(_[1]==="1"||_[1]===1||i(_[1])==="1"),H=!K&&(_==="1"||_===1||i(_)==="1"),J=D?`${Z}--`:H?`${Z}++`:`${Z} += ${Q}`;return{header:K?`for (let ${Z} = ${Y}.length - 1; ${Z} >= 0; ${J})`:`for (let ${Z} = 0; ${Z} < ${Y}.length; ${J})`,setup:u?null:`const ${F} = ${Y}[${Z}];`}}if(W){let A=this.emit(w,"value");return{header:`for (let ${W} = 0; ${W} < ${A}.length; ${W}++)`,setup:`const ${F} = ${A}[${W}];`}}return{header:`for (const ${F} of ${this.emit(w,"value")})`,setup:null}}_forOfHeader(f,w,_){let U=Array.isArray(f)?f:[f],[u,$]=U,W=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,F=this.emit(w,"value");return{header:`for (const ${W} in ${F})`,own:_,vv:$,oc:F,kvp:W}}_forAsHeader(f,w,_){let U=Array.isArray(f)?f:[f],[u]=U,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${_?"await ":""}(const ${$} of ${this.emit(w,"value")})`}}emitComprehension(f,w,_){let[U,u,$]=w;if(_==="statement")return this.emitComprehensionAsLoop(U,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(U,u,$,this.comprehensionTarget);let W=this.containsAwait(U)||u.some((Y)=>this.containsAwait(Y))||$.some((Y)=>this.containsAwait(Y)),F=this.asyncIIFEOpen(W)+`
|
|
395
390
|
`;this.indentLevel++,this.comprehensionDepth++,F+=this.indent()+`const result = [];
|
|
396
|
-
`;for(let
|
|
397
|
-
`,this.indentLevel++,
|
|
398
|
-
`}else if(Z==="for-of"){let{header:
|
|
399
|
-
`,this.indentLevel++,
|
|
400
|
-
`;if(z)F+=this.indent()+`const ${z} = ${q}[${
|
|
401
|
-
`}else if(Z==="for-as"){let{header:
|
|
402
|
-
`,this.indentLevel++}}for(let
|
|
403
|
-
`,this.indentLevel++;let A=(
|
|
404
|
-
`;else if(Array.isArray(Z)&&
|
|
391
|
+
`;for(let Y of u){let[Z,Q,K,D]=Y;if(Z==="for-in"){let{header:H,setup:J}=this._forInHeader(Q,K,D);if(F+=this.indent()+H+` {
|
|
392
|
+
`,this.indentLevel++,J)F+=this.indent()+J+`
|
|
393
|
+
`}else if(Z==="for-of"){let{header:H,own:J,vv:z,oc:q,kvp:R}=this._forOfHeader(Q,K,D);if(F+=this.indent()+H+` {
|
|
394
|
+
`,this.indentLevel++,J)F+=this.indent()+`if (!Object.hasOwn(${q}, ${R})) continue;
|
|
395
|
+
`;if(z)F+=this.indent()+`const ${z} = ${q}[${R}];
|
|
396
|
+
`}else if(Z==="for-as"){let{header:H}=this._forAsHeader(Q,K,Y[3]);F+=this.indent()+H+` {
|
|
397
|
+
`,this.indentLevel++}}for(let Y of $)F+=this.indent()+`if (${this.emit(Y,"value")}) {
|
|
398
|
+
`,this.indentLevel++;let A=(Y)=>{if(typeof Y==="string"&&(Y==="break"||Y==="continue"))return!0;if(!Array.isArray(Y))return!1;if(["break","continue","return","throw"].includes(Y[0]))return!0;if(Y[0]==="if")return Y.slice(1).some(A);return Y.some(A)},G=["for-in","for-of","for-as","while","loop"];if(this.is(U,"block"))for(let Y=0;Y<U.length-1;Y++){let Z=U[Y+1];if(Y!==U.length-2||A(Z))F+=this.indent()+this.emit(Z,"statement")+`;
|
|
399
|
+
`;else if(Array.isArray(Z)&&G.includes(Z[0]))F+=this.indent()+this.emit(Z,"statement")+`;
|
|
405
400
|
`;else F+=this.indent()+`result.push(${this.emit(Z,"value")});
|
|
406
|
-
`}else if(A(
|
|
407
|
-
`;else if(Array.isArray(
|
|
408
|
-
`;else F+=this.indent()+`result.push(${this.emit(
|
|
409
|
-
`;for(let
|
|
410
|
-
`;for(let
|
|
401
|
+
`}else if(A(U))F+=this.indent()+this.emit(U,"statement")+`;
|
|
402
|
+
`;else if(Array.isArray(U)&&G.includes(U[0]))F+=this.indent()+this.emit(U,"statement")+`;
|
|
403
|
+
`;else F+=this.indent()+`result.push(${this.emit(U,"value")});
|
|
404
|
+
`;for(let Y=0;Y<$.length;Y++)this.indentLevel--,F+=this.indent()+`}
|
|
405
|
+
`;for(let Y=0;Y<u.length;Y++)this.indentLevel--,F+=this.indent()+`}
|
|
411
406
|
`;return F+=this.indent()+`return result;
|
|
412
|
-
`,this.indentLevel--,this.comprehensionDepth--,F+=this.indent()+"})()",F}emitObjectComprehension(f,_
|
|
407
|
+
`,this.indentLevel--,this.comprehensionDepth--,F+=this.indent()+"})()",F}emitObjectComprehension(f,w,_){let[U,u,$,W]=w,F=this.containsAwait(U)||this.containsAwait(u)||$.some((G)=>this.containsAwait(G))||W.some((G)=>this.containsAwait(G)),A=this.asyncIIFEOpen(F)+`
|
|
413
408
|
`;this.indentLevel++,A+=this.indent()+`const result = {};
|
|
414
|
-
`;for(let
|
|
415
|
-
`,this.indentLevel++,
|
|
416
|
-
`;if(
|
|
417
|
-
`}}for(let
|
|
418
|
-
`,this.indentLevel++;A+=this.indent()+`result[${this.emit(
|
|
419
|
-
`;for(let
|
|
420
|
-
`;for(let
|
|
409
|
+
`;for(let G of $){let[Y,Z,Q,K]=G;if(Y==="for-of"){let[D,H]=Z,J=this.emit(Q,"value");if(A+=this.indent()+`for (const ${D} in ${J}) {
|
|
410
|
+
`,this.indentLevel++,K)A+=this.indent()+`if (!Object.hasOwn(${J}, ${D})) continue;
|
|
411
|
+
`;if(H)A+=this.indent()+`const ${H} = ${J}[${D}];
|
|
412
|
+
`}}for(let G of W)A+=this.indent()+`if (${this.emit(G,"value")}) {
|
|
413
|
+
`,this.indentLevel++;A+=this.indent()+`result[${this.emit(U,"value")}] = ${this.emit(u,"value")};
|
|
414
|
+
`;for(let G=0;G<W.length;G++)this.indentLevel--,A+=this.indent()+`}
|
|
415
|
+
`;for(let G=0;G<$.length;G++)this.indentLevel--,A+=this.indent()+`}
|
|
421
416
|
`;return A+=this.indent()+`return result;
|
|
422
|
-
`,this.indentLevel--,A+=this.indent()+"})()",A}emitClass(f,_
|
|
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
|
|
417
|
+
`,this.indentLevel--,A+=this.indent()+"})()",A}emitClass(f,w,_){let[U,u,...$]=w,W=U?`class ${U}`:"class";if(u)W+=` extends ${this.emit(u,"value")}`;if(W+=` {
|
|
418
|
+
`,$.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 Y=A[0].slice(1);this.indentLevel++,W+=this._emitClassMembers(Y,u);for(let Z of A.slice(1))if(this.is(Z,"class")){let[,Q,K,...D]=Z;if(this.is(Q,".")&&Q[1]==="this")W+=this.indent()+`static ${Q[2]} = ${this.emit(["class",null,K,...D],"value")};
|
|
424
419
|
`;else W+=this.indent()+this.emit(Z,"statement")+`;
|
|
425
420
|
`}else W+=this.indent()+this.emit(Z,"statement")+`;
|
|
426
|
-
`;this.indentLevel--}else{this.indentLevel++;for(let
|
|
427
|
-
`;else W+=this.indent()+this.emit(
|
|
428
|
-
`;this.indentLevel--}}}return W+=this.indent()+"}",W}_emitClassMembers(f,
|
|
429
|
-
`}else if(W)
|
|
430
|
-
`;else
|
|
431
|
-
`}return
|
|
432
|
-
export default ${
|
|
433
|
-
|
|
434
|
-
`;let
|
|
435
|
-
`;return}if(!$&&!
|
|
436
|
-
`;return}}if(!$&&!
|
|
437
|
-
`;
|
|
438
|
-
`;
|
|
439
|
-
|
|
440
|
-
`;
|
|
441
|
-
`;
|
|
442
|
-
|
|
443
|
-
`;
|
|
444
|
-
|
|
445
|
-
|
|
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(`
|
|
421
|
+
`;this.indentLevel--}else{this.indentLevel++;for(let Y of A)if(this.is(Y,"=")&&Array.isArray(Y[1])&&Y[1][0]==="."&&Y[1][1]==="this")W+=this.indent()+`static ${Y[1][2]} = ${this.emit(Y[2],"value")};
|
|
422
|
+
`;else W+=this.indent()+this.emit(Y,"statement")+`;
|
|
423
|
+
`;this.indentLevel--}}}return W+=this.indent()+"}",W}_emitClassMembers(f,w){let _="",U=[];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")U.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[,G,Y]=$,Z=this.containsAwait(Y),Q=this.containsYield(Y),K=G,D=[];if(A==="constructor"){let z=!!w,q=z?new Map:null;K=G.map((R)=>{if(this.is(R,".")&&R[1]==="this"){let X=R[2],B=z?`_${X}`:X;if(D.push(`this.${X} = ${B}`),z)q.set(X,B);return B}if(this.is(R,"default")&&this.is(R[1],".")&&R[1][1]==="this"){let X=R[1][2],B=z?`_${X}`:X;if(D.push(`this.${X} = ${B}`),z)q.set(X,B);return["default",B,R[2]]}return R});for(let R of U)D.unshift(`this.${R} = this.${R}.bind(this)`);if(q?.size>0)this._atParamMap=q}let H=this.emitParamList(K),J=(W?"static ":"")+(Z?"async ":"")+(Q?"*":"");if(_+=this.indent()+`${J}${A}(${H}) `,!F)this.currentMethodName=A;_+=this.emitMethodBody(Y,D,A==="constructor",K),this._atParamMap=null,this.currentMethodName=null,_+=`
|
|
424
|
+
`}else if(W)_+=this.indent()+`static ${A} = ${this.emit($,"value")};
|
|
425
|
+
`;else _+=this.indent()+`${A} = ${this.emit($,"value")};
|
|
426
|
+
`}return _}emitSuper(f,w){if(w.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let _=w.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${_})`;return`super(${_})`}emitImport(f,w,_,U){if(w.length===1){let F=`import(${this.emit(w[0],"value")})`;if(w1(U[0],"await")===!0)return`(await ${F})`;return F}if(this.options.skipImports)return"";if(w.length===3){let[F,A,G]=w,Y=this.addJsExtensionAndAssertions(G);if(A[0]==="*"&&A.length===2)return`import ${F}, * as ${A[1]} from ${Y}`;let Z=A.map((Q)=>Array.isArray(Q)&&Q.length===2?`${Q[0]} as ${Q[1]}`:Q).join(", ");return`import ${F}, { ${Z} } from ${Y}`}let[u,$]=w,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,w){let[_]=w;if(this.options.skipExports){if(this.is(_,"=")){let U=this._componentName,u=this._componentTypeParams;if(this.is(_[2],"component"))this._componentName=i(_[1]),this._componentTypeParams=_[1]?.typeParams||"";let $=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=U,this._componentTypeParams=u,$}if(Array.isArray(_)&&_.every((U)=>typeof U==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let U=this._componentName,u=this._componentTypeParams;if(this.is(_[2],"component"))this._componentName=i(_[1]),this._componentTypeParams=_[1]?.typeParams||"";let $=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=U,this._componentTypeParams=u,$}if(Array.isArray(_)&&_.every((U)=>typeof U==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(f,w){let[_]=w;if(this.options.skipExports){if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")}`;return this.emit(_,"statement")}if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")};
|
|
427
|
+
export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(f,w){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(w[0])}`}emitExportFrom(f,w){if(this.options.skipExports)return"";let[_,U]=w,u=this.addJsExtensionAndAssertions(U);if(Array.isArray(_))return`export { ${_.map((W)=>Array.isArray(W)&&W.length===2?`${W[0]} as ${W[1]}`:W).join(", ")} } from ${u}`;return`export ${_} from ${u}`}emitDoIIFE(f,w){return`(${this.emit(w[0],"statement")})()`}emitRegex(f,w){return w.length===0?f:this.emit(w[0],"value")}emitTaggedTemplate(f,w){let[_,U]=w,u=this.emit(_,"value"),$=this.emit(U,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,w){let _="`";for(let U of w)if(U instanceof String)_+=this.extractStringContent(U);else if(typeof U==="string")if(U.startsWith('"')||U.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",U);_+=U.slice(1,-1)}else _+=U;else if(Array.isArray(U))if(U.length===1&&typeof U[0]==="string"&&!Array.isArray(U[0])){let u=U[0];_+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=U.length===1&&Array.isArray(U[0])?U[0]:U;_+="${"+this.emit(u,"value")+"}"}return _+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let w=f[0];if(w==="if"&&f.length===3)return{type:w,condition:f[1],value:f[2]};if(w==="+"||w==="-"||w==="*"||w==="/")for(let _=1;_<f.length;_++){let U=this.findPostfixConditional(f[_]);if(U)return U.parentOp=w,U.operandIndex=_,U.otherOperands=f.slice(1).filter((u,$)=>$!==_-1),U}return null}rebuildWithoutConditional(f){let w=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,w];return w}_tryPostfixCall(f,w,_){if(_!=="statement"||w.length!==1)return null;let U=this.findPostfixConditional(w[0]);if(!U)return null;let u=this.rebuildWithoutConditional(U),$=this.emit(f,"value"),W=this.emit(U.condition,"value"),F=this.emit(u,"value");return`if (${W}) ${$}(${F})`}_emitArgs(f){return f.map((w)=>this.unwrap(this.emit(w,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let w=f.findIndex((U)=>this.is(U,"expansion"));if(w!==-1){let U=f.slice(0,w),u=f.slice(w+1),$=U.map((W)=>this.formatParam(W)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let _=f.findIndex((U)=>this.is(U,"rest"));if(_!==-1&&_<f.length-1){let U=f.slice(0,_),u=f[_],$=f.slice(_+1),W=U.map((F)=>this.formatParam(F));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:U.length},W.length>0?`${W.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((U)=>this.formatParam(U)).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((_)=>{if(_===",")return"";if(_==="...")return"";if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"=")&&typeof _[1]==="string")return`${_[1]} = ${this.emit(_[2],"value")}`;if(typeof _==="string")return _;return this.formatParam(_)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[U,u,$]=_;if(U==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,w=[],_={}){let{sideEffectOnly:U=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:W=!1}=_,F=this.sideEffectOnly;this.sideEffectOnly=U;let A=new Set,G=(H)=>{if(typeof H==="string")A.add(H);else if(Array.isArray(H)){if(H[0]==="rest"||H[0]==="..."){if(typeof H[1]==="string")A.add(H[1])}else if(H[0]==="default"){if(typeof H[1]==="string")A.add(H[1])}else if(H[0]==="array"||H[0]==="object")this.collectVarsFromArray(H,A)}};if(Array.isArray(w))w.forEach(G);let Y=this.collectFunctionVariables(f),Z=new Set([...Y].filter((H)=>!this.programVars.has(H)&&!this.reactiveVars?.has(H)&&!A.has(H)&&!this.scopeStack.some((J)=>J.has(H)))),Q=["return","throw","break","continue"],K=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...Z,...A])),this.is(f,"block")){let H=this.unwrapBlock(f);if(W&&this.expansionAfterParams?.length>0)H=[...this.expansionAfterParams.map((X,B)=>{return`const ${typeof X==="string"?X:JSON.stringify(X)} = _rest[_rest.length - ${this.expansionAfterParams.length-B}]`}),...H],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:R,afterParams:X}=this.restMiddleParam,B=X.length,I=[];if(X.forEach((O,M)=>{let P=typeof O==="string"?O:this.is(O,"default")?O[1]:JSON.stringify(O);I.push(`const ${P} = ${R}[${R}.length - ${B-M}]`)}),B>0)I.push(`${R} = ${R}.slice(0, -${B})`);H=[...I,...H],this.restMiddleParam=null}this.indentLevel++;let J=`{
|
|
428
|
+
`;if(Z.size>0)J+=this.indent()+`let ${Array.from(Z).sort().join(", ")};
|
|
429
|
+
`;let z=u.length>0&&H.length>0&&Array.isArray(H[0])&&H[0][0]==="super",q=(R)=>{R.forEach((X,B)=>{let I=B===R.length-1,O=Array.isArray(X)?X[0]:null;if(!I&&O==="comprehension"){let[,S,N,L]=X;J+=this.indent()+this.emitComprehensionAsLoop(S,N,L)+`
|
|
430
|
+
`;return}if(!$&&!U&&I&&O==="if"){let[S,N,...L]=X.slice(1),j=(s)=>this.is(s,"block")&&s.length>2;if(this.hasStatementInBranch(N)||L.some((s)=>this.hasStatementInBranch(s))||j(N)||L.some(j)){J+=this.emitIfElseWithEarlyReturns(X)+`
|
|
431
|
+
`;return}}if(!$&&!U&&I&&O==="="){let[S,N]=X.slice(1);if(typeof S==="string"&&Array.isArray(N)){let L=N[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=S,J+=this.emit(N,"value"),this.comprehensionTarget=null,J+=this.indent()+`return ${S};
|
|
432
|
+
`;return}}}let M=!$&&!U&&I&&!Q.includes(O)&&!K.includes(O)&&!this.hasExplicitControlFlow(X),P=M?"value":"statement",E=this.emit(X,P);if(M)J+=this.indent()+"return "+E+`;
|
|
433
|
+
`;else J+=this.indent()+this.addSemicolon(X,E)+`
|
|
434
|
+
`})};if(z){if(H.length===1&&!$)J+=this.indent()+"return "+this.emit(H[0],"value")+`;
|
|
435
|
+
`;else J+=this.indent()+this.emit(H[0],"statement")+`;
|
|
436
|
+
`;for(let X of u)J+=this.indent()+X+`;
|
|
437
|
+
`;q(H.slice(1))}else{for(let R of u)J+=this.indent()+R+`;
|
|
438
|
+
`;q(H)}if(U&&H.length>0){let R=Array.isArray(H[H.length-1])?H[H.length-1][0]:null;if(!Q.includes(R))J+=this.indent()+`return;
|
|
439
|
+
`}return this.indentLevel--,J+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=F,J}this.sideEffectOnly=F;let D;if($&&u.length>0){let H=Array.isArray(f)&&f[0]==="super",J=this.emit(f,"statement"),z=u.map((q)=>`${q};`).join(" ");D=H?`{ ${J}; ${z} }`:`{ ${z} ${J}; }`}else if($||this.hasExplicitControlFlow(f))D=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(Q.includes(f[0])||K.includes(f[0])))D=`{ ${this.emit(f,"statement")}; }`;else if(U)D=`{ ${this.emit(f,"statement")}; return; }`;else D=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),D}emitFunctionBody(f,w=[],_=!1){return this.emitBodyWithReturns(f,w,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,w=[],_=!1,U=[]){return this.emitBodyWithReturns(f,U,{autoAssignments:w,isConstructor:_})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let w=this.unwrapBlock(f);return`{
|
|
440
|
+
${this.withIndent(()=>w.map((U,u)=>{let $=u===w.length-1,W=Array.isArray(U)?U[0]:null,F=$&&!["return","throw","break","continue"].includes(W),A=this.emit(U,F?"value":"statement");return F?this.indent()+"return "+A+";":this.indent()+A+";"})).join(`
|
|
449
441
|
`)}
|
|
450
|
-
${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let
|
|
451
|
-
${this.withIndent(()=>
|
|
442
|
+
${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let w=f[0]==="block"?f.slice(1):f;return`{
|
|
443
|
+
${this.withIndent(()=>w.map((U)=>{if(this.is(U,"comprehension")){let[,u,$,W]=U;return this.indent()+this.emitComprehensionAsLoop(u,$,W)}return this.indent()+this.addSemicolon(U,this.emit(U,"statement"))})).join(`
|
|
452
444
|
`)}
|
|
453
|
-
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,
|
|
454
|
-
`,W=this.withIndent(()=>{this.indentLevel++;let A=this.formatStatements(
|
|
445
|
+
${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,w){let _=this.unwrap(this.emit(w,"value"));if(!Array.isArray(f))return`{ if (${_}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let U=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),$=`if (${_}) {
|
|
446
|
+
`,W=this.withIndent(()=>{this.indentLevel++;let A=this.formatStatements(U);return this.indentLevel--,A}),F=this.withIndent(()=>this.indent()+"}");return`{
|
|
455
447
|
${u}${$}${W.join(`
|
|
456
448
|
`)}
|
|
457
449
|
${F}
|
|
458
|
-
${this.indent()}}`}return`{ if (${this.emit(
|
|
459
|
-
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(
|
|
450
|
+
${this.indent()}}`}return`{ if (${this.emit(w,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,w,_,U){let u="";u+=this.indent()+`${U} = [];
|
|
451
|
+
`;let $=this.is(f,"block")&&f.length===2?f[1]:f;if(w.length===1){let[W,F,A,G]=w[0];if(W==="for-in"){let{header:Y,setup:Z}=this._forInHeader(F,A,G);if(u+=this.indent()+Y+` {
|
|
460
452
|
`,this.indentLevel++,Z)u+=this.indent()+Z+`
|
|
461
|
-
`;if(
|
|
462
|
-
`,this.indentLevel++;if(u+=this.indent()+`${
|
|
463
|
-
`,
|
|
453
|
+
`;if(_&&_.length>0)u+=this.indent()+`if (${_.map((Q)=>this.emit(Q,"value")).join(" && ")}) {
|
|
454
|
+
`,this.indentLevel++;if(u+=this.indent()+`${U}.push(${this.unwrap(this.emit($,"value"))});
|
|
455
|
+
`,_&&_.length>0)this.indentLevel--,u+=this.indent()+`}
|
|
464
456
|
`;return this.indentLevel--,u+=this.indent()+`}
|
|
465
|
-
`,u}}return this.indent()+`${
|
|
466
|
-
`}emitComprehensionAsLoop(f,_
|
|
467
|
-
`,this.indentLevel++,
|
|
468
|
-
`,this.indentLevel--,
|
|
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")+`;
|
|
457
|
+
`,u}}return this.indent()+`${U} = (() => { /* complex comprehension */ })();
|
|
458
|
+
`}emitComprehensionAsLoop(f,w,_){let U="",u=_?.length?_.map((W)=>this.emit(W,"value")).join(" && "):null,$=()=>{if(u)U+=this.indent()+`if (${u}) {
|
|
459
|
+
`,this.indentLevel++,U+=this.indent()+this.emit(f,"statement")+`;
|
|
460
|
+
`,this.indentLevel--,U+=this.indent()+`}
|
|
488
461
|
`;else U+=this.indent()+this.emit(f,"statement")+`;
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
`;
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
462
|
+
`};if(w.length===1){let[W,F,A,G]=w[0];if(W==="for-in"){let{header:Y,setup:Z}=this._forInHeader(F,A,G);if(U+=Y+` {
|
|
463
|
+
`,this.indentLevel++,Z)U+=this.indent()+Z+`
|
|
464
|
+
`;return $(),this.indentLevel--,U+=this.indent()+"}",U}if(W==="for-as"){let{header:Y}=this._forAsHeader(F,A,G);return U+=Y+` {
|
|
465
|
+
`,this.indentLevel++,$(),this.indentLevel--,U+=this.indent()+"}",U}if(W==="for-of"){let{header:Y,own:Z,vv:Q,oc:K,kvp:D}=this._forOfHeader(F,A,G);if(U+=Y+` {
|
|
466
|
+
`,this.indentLevel++,Z)U+=this.indent()+`if (!Object.hasOwn(${K}, ${D})) continue;
|
|
467
|
+
`;if(Q)U+=this.indent()+`const ${Q} = ${K}[${D}];
|
|
468
|
+
`;return $(),this.indentLevel--,U+=this.indent()+"}",U}}return this.emit(["comprehension",f,w,_],"value")}emitIfElseWithEarlyReturns(f){let[w,_,U,...u]=f,$="",W=this.emit(_,"value");$+=this.indent()+`if (${W}) {
|
|
469
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(U)),$+=this.indent()+"}";for(let F of u)if($+=" else ",this.is(F,"if")){let[,A,G,...Y]=F;$+=`if (${this.emit(A,"value")}) {
|
|
470
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(G)),$+=this.indent()+"}";for(let Z of Y)$+=` else {
|
|
471
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(Z)),$+=this.indent()+"}"}else $+=`{
|
|
472
|
+
`,$+=this.withIndent(()=>this.emitBranchWithReturn(F)),$+=this.indent()+"}";return $}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let w=this.unwrapBlock(f),_="";for(let U=0;U<w.length;U++){let u=U===w.length-1,$=w[U],W=Array.isArray($)?$[0]:null;if(u&&!(W==="return"||W==="throw"||W==="break"||W==="continue"))_+=this.indent()+`return ${this.emit($,"value")};
|
|
473
|
+
`;else _+=this.indent()+this.emit($,"statement")+`;
|
|
474
|
+
`}return _}emitIfAsExpression(f,w,_){if(this.is(w,"block")&&w.length>2||this.hasStatementInBranch(w)||_.some((F)=>this.is(F,"block")&&F.length>2||this.hasStatementInBranch(F)||this.hasNestedMultiStatement(F))){let F=this.containsAwait(f)||this.containsAwait(w)||_.some((G)=>this.containsAwait(G)),A=this.asyncIIFEOpen(F)+" ";A+=`if (${this.emit(f,"value")}) `,A+=this.emitBlockWithReturns(w);for(let G of _)if(A+=" else ",this.is(G,"if")){let[Y,Z,Q,...K]=G;A+=`if (${this.emit(Z,"value")}) `,A+=this.emitBlockWithReturns(Q);for(let D of K)if(A+=" else ",this.is(D,"if")){let[H,J,z,...q]=D;A+=`if (${this.emit(J,"value")}) `,A+=this.emitBlockWithReturns(z),_.push(...q)}else A+=this.emitBlockWithReturns(D)}else A+=this.emitBlockWithReturns(G);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(w)),$=this.buildTernaryChain(_),W=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))W=`(${W})`;return`(${W} ? ${u} : ${$})`}emitIfAsStatement(f,w,_){let U=`if (${this.unwrap(this.emit(f,"value"))}) `;U+=this.emit(this.unwrapIfBranch(w),"statement");for(let u of _)U+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return U}emitSwitchCaseBody(f,w){let _="",U=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(U)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
|
|
475
|
+
`;else if(w==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)_+=this.indent()+`return ${this.emit(u[$],"value")};
|
|
476
|
+
`;else _+=this.indent()+this.emit(u[$],"statement")+`;
|
|
477
|
+
`;else _+=this.indent()+`return ${this.extractExpression(f)};
|
|
478
|
+
`;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,W,F,...A]=u[0],G=this.extractExpression(this.unwrapIfBranch(F)),Y=this.buildTernaryChain(A);_+=this.indent()+`(${this.unwrap(this.emit(W,"value"))} ? ${G} : ${Y});
|
|
479
|
+
`}else if(this.is(f,"block")&&f.length>1)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
|
|
480
|
+
`;else _+=this.indent()+this.emit(f,"statement")+`;
|
|
481
|
+
`;_+=this.indent()+`break;
|
|
482
|
+
`}return _}emitSwitchAsIfChain(f,w,_){let U="";for(let u=0;u<f.length;u++){let[,$,W]=f[u],F=Array.isArray($)?$[0]:$;if(U+=(u===0?"":" else ")+`if (${this.emit(F,"value")}) {
|
|
483
|
+
`,this.indentLevel++,_==="value")U+=this.indent()+`return ${this.extractExpression(W)};
|
|
484
|
+
`;else for(let A of this.unwrapBlock(W))U+=this.indent()+this.emit(A,"statement")+`;
|
|
485
|
+
`;this.indentLevel--,U+=this.indent()+"}"}if(w){if(U+=` else {
|
|
486
|
+
`,this.indentLevel++,_==="value")U+=this.indent()+`return ${this.extractExpression(w)};
|
|
487
|
+
`;else for(let u of this.unwrapBlock(w))U+=this.indent()+this.emit(u,"statement")+`;
|
|
488
|
+
`;this.indentLevel--,U+=this.indent()+"}"}if(_==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||w&&this.containsAwait(w);return this.asyncIIFE(u,U)}return U}asyncIIFE(f,w){return`${f?"await ":""}(${f?"async ":""}() => { ${w} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let w=this.unwrapBlock(f);return w.length>0?this.emit(w[w.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,w){if(!w||w.endsWith(";"))return!1;if(!w.endsWith("}"))return!0;let _=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(_)}addSemicolon(f,w){return w+(this.needsSemicolon(f,w)?";":"")}formatStatements(f,w="statement"){return f.map((_)=>this.indent()+this.addSemicolon(_,this.emit(_,w)))}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 w=f[0];if(w==="return"||w==="throw"||w==="break"||w==="continue")return!0;if(w==="block")return f.slice(1).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]));if(w==="switch"){let[,,_]=f;return _?.some((U)=>{return this.unwrapBlock(U[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(w==="if"){let[,,_,U]=f;return this.branchHasControlFlow(_)&&U&&this.branchHasControlFlow(U)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let w=this.unwrapBlock(f);if(w.length===0)return!1;let _=w[w.length-1];return Array.isArray(_)&&["return","throw","break","continue"].includes(_[0])}withIndent(f){this.indentLevel++;let w=f();return this.indentLevel--,w}is(f,w,_){if(!Array.isArray(f))return null;if((i(f[0])??f[0])!==w)return null;let U=f.slice(1);if(_!=null&&U.length!==_)return null;return U}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let w=0,_=0,U=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")w++;if(f[$]===")")w--;if(f[$]==="["||f[$]==="{")_++;if(f[$]==="]"||f[$]==="}")_--;if(f[$]===","&&w===1&&_===0)u=!0;if(w===0&&$<f.length-1){U=!1;break}}if(u)U=!1;if(U)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 w=this._findOptionalInTarget(f[1]);if(w)return{guard:w.guard,rewritten:[f[0],w.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let w=0,_=1/0;for(let U=1;U<f.length-1;U++){if(f[U]==="(")w++;if(f[U]===")")w--;_=Math.min(_,w)}if(_>=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[w,..._]=f;if(w!=="&&"&&w!=="||")return f;let U=[],u=($)=>{if(Array.isArray($)&&$[0]===w)for(let W=1;W<$.length;W++)u($[W]);else U.push($)};for(let $ of _)u($);return[w,...U]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let w=f[0];if(w==="return"||w==="throw"||w==="break"||w==="continue")return!0;if(w==="block")return f.slice(1).some((_)=>this.hasStatementInBranch(_));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[w,_,U,...u]=f;return this.is(U,"block")&&U.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 w=f[0];if(this.is(w,"if")){let[_,U,u,...$]=w,W=this.extractExpression(this.unwrapIfBranch(u)),F=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(U,"value")} ? ${W} : ${F})`}return this.extractExpression(this.unwrapIfBranch(w))}collectVarsFromArray(f,w){f.slice(1).forEach((_)=>{if(_===","||_==="...")return;if(typeof _==="string"){w.add(_);return}if(Array.isArray(_)){if(_[0]==="..."&&typeof _[1]==="string")w.add(_[1]);else if(_[0]==="array")this.collectVarsFromArray(_,w);else if(_[0]==="object")this.collectVarsFromObject(_,w)}})}collectVarsFromObject(f,w){f.slice(1).forEach((_)=>{if(!Array.isArray(_))return;if(_[0]==="..."&&typeof _[1]==="string"){w.add(_[1]);return}if(_.length>=2){let[U,u,$]=_;if(U==="="){if(typeof u==="string")w.add(u)}else if(typeof $==="string")w.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,w);else if($[0]==="object")this.collectVarsFromObject($,w)}}})}extractStringContent(f){let w=i(f).slice(1,-1),_=w1(f,"indent");if(_)w=w.replace(new RegExp(`\\n${_}`,"g"),`
|
|
489
|
+
`);if(w1(f,"initialChunk")&&w.startsWith(`
|
|
490
|
+
`))w=w.slice(1);if(w1(f,"finalChunk")&&w.endsWith(`
|
|
491
|
+
`))w=w.slice(0,-1);return w}processHeregex(f){let w="",_=!1,U=0,u=()=>{let $=0,W=U-1;while(W>=0&&f[W]==="\\")$++,W--;return $%2===1};while(U<f.length){let $=f[U];if($==="["&&!u()){_=!0,w+=$,U++;continue}if($==="]"&&_&&!u()){_=!1,w+=$,U++;continue}if(_){w+=$,U++;continue}if(/\s/.test($)){U++;continue}if($==="#"){if(u()){w+=$,U++;continue}let W=U-1;while(W>=0&&f[W]==="\\")W--;if(W<U-1){w+=$,U++;continue}while(U<f.length&&f[U]!==`
|
|
492
|
+
`)U++;continue}w+=$,U++}return w}addJsExtensionAndAssertions(f){if(f instanceof String)f=i(f);if(typeof f!=="string")return f;let _=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,U=_.startsWith("./")||_.startsWith("../"),u=_,$="";if(U){let W=_.lastIndexOf("/"),F=W>=0?_.substring(W+1):_;if(F.includes(".")){if(F.endsWith(".json"))$=" with { type: 'json' }"}else u=_+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&i(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((w)=>this.containsIt(w));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&w1(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((w)=>this.containsAwait(w));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((w)=>this.containsYield(w));return!1}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`// ============================================================================
|
|
501
493
|
// Rip Reactive Runtime
|
|
502
494
|
// A minimal, fine-grained reactivity system
|
|
503
495
|
//
|
|
@@ -726,13 +718,13 @@ if (typeof globalThis !== 'undefined') {
|
|
|
726
718
|
}
|
|
727
719
|
|
|
728
720
|
// === End Reactive Runtime ===
|
|
729
|
-
`}}class
|
|
730
|
-
`),u=
|
|
721
|
+
`}}class C1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,w){if(w)this.options={...this.options,...w};let _=null,U=f.split(`
|
|
722
|
+
`),u=U.findIndex((J)=>J==="__DATA__");if(u!==-1){let J=U.slice(u+1);_=J.length>0?J.join(`
|
|
731
723
|
`)+`
|
|
732
|
-
`:"",f=
|
|
733
|
-
`)}let $=new J1,W;try{W=$.tokenize(f)}catch(
|
|
734
|
-
//# sourceMappingURL=data:application/json;base64,${
|
|
735
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(A)F=
|
|
724
|
+
`:"",f=U.slice(0,u).join(`
|
|
725
|
+
`)}let $=new J1,W;try{W=$.tokenize(f)}catch(J){throw S1(J,f,this.options.filename)}if(this.options.showTokens)W.forEach((J)=>console.log(`${J[0].padEnd(12)} ${JSON.stringify(J[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((J)=>J[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let J=$.typeRefNames,z=new Set,q=!1;for(let R of W){if(R[0]==="IMPORT"){q=!0;continue}if(q&&R[0]==="TERMINATOR"){q=!1;continue}if(q)continue;if(R[0]==="IDENTIFIER")z.add(R[1])}for(let R=W.length-1;R>=0;R--){if(W[R][0]!=="IMPORT")continue;let X=R+1;if(X>=W.length)continue;if(W[X][0]==="CALL_START"||W[X][0]==="(")continue;if(W[X][0]==="STRING")continue;let B=[];while(X<W.length&&W[X][0]!=="FROM"&&W[X][0]!=="TERMINATOR"){if(W[X][0]==="IDENTIFIER")B.push(W[X][1]);X++}if(B.length===0)continue;if(B.some((O)=>z.has(O)))continue;if(!B.some((O)=>J.has(O)))continue;let I=X;while(I<W.length&&W[I][0]!=="TERMINATOR")I++;if(I<W.length)I++;W.splice(R,I-R)}}while(W.length>0&&W[0][0]==="TERMINATOR")W.shift();if(W.every((J)=>J[0]==="TERMINATOR")){if(A)F=e1(A,["program"],f);return{tokens:W,sexpr:["program"],code:"",dts:F,data:_,reactiveVars:{}}}let G=null;D1.lexer={tokens:W,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let J=this.tokens[this.pos++],z=J[1];if(J.data)z=new String(z),Object.assign(z,J.data);return this.text=z,this.loc=J.loc,this.line=J.loc?.r,G=J.loc,J[0]}};let Y;try{Y=D1.parse(f)}catch(J){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new F1("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=S1(J,f,this.options.filename);if(z.phase==="parser"&&G)z.line=G.r??z.line,z.column=G.c??z.column,z.length=G.n||1;throw z}if(this.options.showSExpr)console.log(Z1(Y,0,!0)),console.log();let Z=null;if(this.options.sourceMap){let J=(this.options.filename||"output")+".js",z=this.options.filename||"input.rip";Z=new W2(J,z,f)}let Q=new W1({dataSection:_,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}),K=Q.compile(Y),D=Z?Z.toJSON():null,H=Z?Z.toReverseMap():null;if(D&&this.options.sourceMap==="inline"){let J=typeof Buffer<"u"?Buffer.from(D).toString("base64"):btoa(D);K+=`
|
|
726
|
+
//# sourceMappingURL=data:application/json;base64,${J}`}else if(D&&this.options.filename)K+=`
|
|
727
|
+
//# sourceMappingURL=${this.options.filename}.js.map`;if(A)F=e1(A,Y,f);return{tokens:W,sexpr:Y,code:K,dts:F,map:D,reverseMap:H,data:_,reactiveVars:Q.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}x2(W1,J1);W1.prototype.emitEnum=B2;function k1(f,w={}){return new C1(w).compile(f)}function Q1(f,w={}){return new C1(w).compileToJS(f)}function h1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
736
728
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
737
729
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
738
730
|
globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
|
|
@@ -745,17 +737,17 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
|
|
|
745
737
|
globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
746
738
|
globalThis.warn ??= console.warn;
|
|
747
739
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
748
|
-
`}function
|
|
749
|
-
`}catch(Q){console.error(
|
|
750
|
-
${
|
|
751
|
-
})()`)}catch(Z){console.error("Rip runtime error:",Z)}}let
|
|
752
|
-
`),Q=
|
|
753
|
-
${Q}.mount(${JSON.stringify(
|
|
740
|
+
`}function b1(){return new W1({}).getReactiveRuntime()}function j1(){return new W1({}).getComponentRuntime()}var m2="3.13.136",k2="2026-04-10@10:36:35GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(b1())();if(!globalThis.__ripComponent)Function(j1())()}var C4=(f)=>{let w=f.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(w||[]).map((U)=>U.length));return f.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function i2(){let f=[],w=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),_=w?.getAttribute("data-src");if(_){for(let U of _.trim().split(/\s+/))if(U)f.push({url:U})}for(let U of document.querySelectorAll('script[type="text/rip"]'))if(U.src)f.push({url:U.src});else{let u=C4(U.textContent);if(u)f.push({code:u})}if(f.length>0){let U=await Promise.allSettled(f.map(async(A)=>{if(!A.url)return;let G=await fetch(A.url);if(!G.ok)throw Error(`${A.url} (${G.status})`);if(A.url.endsWith(".rip"))A.code=await G.text();else{let Y=await G.json();A.bundle=Y}}));for(let A of U)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=w?.getAttribute("data-router");if(W!=null&&u.length>0){let A={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Y="";for(let Z of $)try{Y+=Q1(Z.code,A)+`
|
|
741
|
+
`}catch(Q){console.error(P1(Q,{source:Z.code,file:Z.url||"inline",color:!1}))}if(Y)try{await(0,eval)(`(async()=>{
|
|
742
|
+
${Y}
|
|
743
|
+
})()`)}catch(Z){console.error("Rip runtime error:",Z)}}let G=I1.modules?.["ui.rip"];if(G?.launch){let Y=u[u.length-1],Z=w.getAttribute("data-persist"),Q={bundle:Y,hash:W==="hash"};if(Z!=null)Q.persist=Z==="local"?"local":!0;await G.launch("",Q)}}else{let A=[];for(let Z of u){for(let[Q,K]of Object.entries(Z.components||{}))A.push({code:K,url:Q});if(Z.data){let Q=w?.getAttribute("data-state"),K={};if(Q)try{K=JSON.parse(Q)}catch{}Object.assign(K,Z.data),w?.setAttribute("data-state",JSON.stringify(K))}}A.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Y=[];for(let Z of A){if(!Z.code)continue;try{let Q=Q1(Z.code,G);Y.push({js:Q,url:Z.url||"inline"})}catch(Q){console.error(P1(Q,{source:Z.code,file:Z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&w){let Z=globalThis.stash;if(Z){let Q={},K=w.getAttribute("data-state");if(K)try{Q=JSON.parse(K)}catch(J){console.error("Rip: invalid data-state JSON:",J.message)}let D=Z({data:Q});if(globalThis.__ripApp=D,typeof window<"u")window.app=D;let H=w.getAttribute("data-persist");if(H!=null&&globalThis.persistStash)globalThis.persistStash(D,{local:H==="local"})}}if(Y.length>0){let Z=Y.map((K)=>K.js).join(`
|
|
744
|
+
`),Q=w?.getAttribute("data-mount");if(Q){let K=w.getAttribute("data-target")||"body";Z+=`
|
|
745
|
+
${Q}.mount(${JSON.stringify(K)});`}try{await(0,eval)(`(async()=>{
|
|
754
746
|
${Z}
|
|
755
|
-
})()`),document.body.classList.add("ready")}catch(
|
|
756
|
-
${
|
|
757
|
-
})()`)}catch(
|
|
758
|
-
`,u=new Blob([
|
|
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
|
-
`,
|
|
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]=_;})();
|
|
747
|
+
})()`),document.body.classList.add("ready")}catch(K){if(K instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${K.message}`);for(let D of Y)try{Function(`(async()=>{
|
|
748
|
+
${D.js}
|
|
749
|
+
})()`)}catch(H){console.error(` → source: ${D.url}`,H.message)}}else console.error("Rip runtime error:",K)}}}}if(w?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let U=!1,u=1000,$=30000,W=()=>{let F=new EventSource("/watch");F.addEventListener("connected",()=>{if(u=1000,U)location.reload();U=!0}),F.addEventListener("reload",(A)=>{if(A.data==="styles"){let G=Date.now(),Y=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",G),Z.href=Q.toString(),Y++}),!Y)location.reload()}else location.reload()}),F.onerror=()=>{F.close(),setTimeout(W,u),u=Math.min(u*2,$)}};W()}}async function I1(f){for(let[W,F]of Object.entries(I1.modules))if(f.includes(W))return F;let w=await fetch(f).then((W)=>{if(!W.ok)throw Error(`importRip: ${f} (${W.status})`);return W.text()}),_=Q1(w),U=`// ${f}
|
|
750
|
+
`,u=new Blob([U+_],{type:"application/javascript"});return await import(URL.createObjectURL(u))}I1.modules={};function n2(f){try{let w=f.replace(/^/gm," "),U=Q1(`do ->
|
|
751
|
+
${w}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");U=U.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(U);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(w){console.error(P1(w,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=n2,globalThis.importRip=I1,globalThis.compileToJS=Q1,globalThis.__ripExports={compile:k1,compileToJS:Q1,formatSExpr:Z1,getStdlibCode:h1,VERSION:m2,BUILD_DATE:k2,getReactiveRuntime:b1,getComponentRuntime:j1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let w=()=>i2().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(w));else queueMicrotask(w)});var p1={};O2(p1,{throttle:()=>y4,stash:()=>R3,setContext:()=>J3,raw:()=>Q2,persistStash:()=>O3,launch:()=>v4,isStash:()=>h4,hold:()=>c4,hasContext:()=>Q3,getContext:()=>Z3,delay:()=>q3,debounce:()=>j4,createRouter:()=>I3,createResource:()=>b4,createRenderer:()=>B3,createComponents:()=>P3});var d2,Y2,K2,L1,M1,d1,p2,B1,U1,o2,a2,X2,r2,s2,T1,A1,t2,e2,u3,f3,$3,w3,_3,U3,G2,c1,v1,J2,F3,W3,i1,n1,A3,Y3,G3,Z2,z2,Z3,z3,M2,Q3,y1,D2,K3,X3,J3,M3,D3,H2,H3;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,_)=>f.map((U)=>U[_]));({__state:U1,__effect:B1,__batch:p2}=globalThis.__rip);({setContext:J3,getContext:Z3,hasContext:Q3}=globalThis.__ripComponent||{});d1=Symbol("stash");M1=Symbol("signals");L1=Symbol("raw");Y2=Symbol("persisted");K2=new WeakMap;G2=0;J2=U1(0);M2=function(f,w){let _;if(!f[M1])Object.defineProperty(f,M1,{value:new Map,enumerable:!1});if(_=f[M1].get(w),!_)_=U1(f[w]),f[M1].set(w,_);return _};y1=function(f){return M2(f,Symbol.for("keys"))};H3=function(f){let w;if(!(f!=null&&typeof f==="object"))return f;if(f[d1])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(w=K2.get(f),w)return w;return D2(f)};D2=function(f){let w,_;return _=null,w={get:function(U,u){let $,W;if(u===d1)return!0;if(u===L1)return U;if(typeof u==="symbol")return Reflect.get(U,u);if(u==="length"&&Array.isArray(U))return y1(U).value,U.length;if(u==="get")return function(F){return M3(_,F)};if(u==="set")return function(F,A){return D3(_,F,A)};if($=M2(U,u),W=$.value,W!=null&&typeof W==="object")return H3(W);return W},set:function(U,u,$){let W,F;if(W=U[u],F=$?.[L1]?$[L1]:$,F===W)return!0;if(U[u]=F,U[M1]?.has(u))U[M1].get(u).value=F;if(W===void 0&&F!==void 0)y1(U).value=++G2;return J2.value++,!0},deleteProperty:function(U,u){let $;if(delete U[u],$=U[M1]?.get(u),$!=null)$.value=void 0;return y1(U).value=++G2,!0},ownKeys:function(U){return y1(U).value,Reflect.ownKeys(U)}},_=new Proxy(f,w),K2.set(f,_),_};d2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;H2=function(f){let w,_,U,u,$;U=("."+f).split(d2),U.shift(),$=[],_=0;while(_<U.length){if(u=U[_],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));_+=2}return $};M3=function(f,w){let _,U;U=H2(w),_=f;for(let u of U){if(_==null)return;_=_[u]}return _};D3=function(f,w,_){let U,u;u=H2(w),U=f;for(let $=0;$<u.length;$++){let W=u[$];if($===u.length-1)U[W]=_;else{if(U[W]==null)U[W]={};U=U[W]}}return _};var R3=function(f={}){return D2(f)},Q2=function(f){return f?.[L1]?f[L1]:f},h4=function(f){return f?.[d1]===!0},O3=function(f,w={}){let _,U,u,$,W,F;if(F=Q2(f)||f,F[Y2])return;F[Y2]=!0,$=w.local?localStorage:sessionStorage,W=w.key||"__rip_app";try{if(U=$.getItem(W),U){u=JSON.parse(U);for(let A in u){let G=u[A];f.data[A]=G}}}catch{}return _=function(){return(()=>{try{return $.setItem(W,JSON.stringify(Q2(f.data)))}catch{return null}})()},B1(function(){let A;return J2.value,A=setTimeout(_,2000),function(){return clearTimeout(A)}}),window.addEventListener("beforeunload",_)},b4=function(f,w={}){let _,U,u,$,W;if(_=U1(w.initial||null),u=U1(!1),U=U1(null),$=async function(){let F;return u.value=!0,U.value=null,await(async()=>{try{return F=await f(),_.value=F}catch(A){return U.value=A}finally{u.value=!1}})()},W={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(W,"data",{get:function(){return _.value}}),Object.defineProperty(W,"loading",{get:function(){return u.value}}),Object.defineProperty(W,"error",{get:function(){return U.value}}),!w.lazy)$();return W};v1=function(f){return typeof f==="function"?f:function(){return f.value}};c1=function(f,w){let _;return _={read:function(){return f.read()}},Object.defineProperty(_,"value",{get:function(){return f.value},set:function(U){return w.value=U}}),_};var q3=function(f,w){let _,U;return _=v1(w),U=U1(!!_()),B1(function(){let u;if(_())return u=setTimeout(function(){return U.value=!0},f),function(){return clearTimeout(u)};else return U.value=!1}),typeof w!=="function"?c1(U,w):U},j4=function(f,w){let _,U;return _=v1(w),U=U1(_()),B1(function(){let u,$;return $=_(),u=setTimeout(function(){return U.value=$},f),function(){return clearTimeout(u)}}),typeof w!=="function"?c1(U,w):U},y4=function(f,w){let _,U,u;return _=v1(w),u=U1(_()),U=0,B1(function(){let $,W,F,A;if(A=_(),$=Date.now(),W=f-($-U),W<=0)return u.value=A,U=$;else return F=setTimeout(function(){return u.value=_(),U=Date.now()},W),function(){return clearTimeout(F)}}),typeof w!=="function"?c1(u,w):u},c4=function(f,w){let _,U;return _=v1(w),U=U1(!!_()),B1(function(){let u;if(_())return U.value=!0;else return u=setTimeout(function(){return U.value=!1},f),function(){return clearTimeout(u)}}),typeof w!=="function"?c1(U,w):U},P3=function(){let f,w,_,U;return w=new Map,U=[],f=new Map,_=function(u,$){for(let W of U)W(u,$)},{read:function(u){return w.get(u)},write:function(u,$){let W;return W=!w.has(u),w.set(u,$),f.delete(u),_(W?"create":"change",u)},del:function(u){return w.delete(u),f.delete(u),_("delete",u)},exists:function(u){return w.has(u)},size:function(){return w.size},list:function(u=""){let $,W,F;F=[],$=u?u+"/":"";for(let[A]of w)if(A.startsWith($)){if(W=A.slice($.length),W.includes("/"))continue;F.push(A)}return F},listAll:function(u=""){let $,W;W=[],$=u?u+"/":"";for(let[F]of w)if(F.startsWith($))W.push(F);return W},load:function(u){for(let $ in u){let W=u[$];w.set($,W)}},watch:function(u){return U.push(u),function(){return U.splice(U.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};G3=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};X3=function(f){let w,_;return w=[],_=f.replace(/\*(\w+)/g,function(U,u){return w.push(u),"(.+)"}).replace(/:(\w+)/g,function(U,u){return w.push(u),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:w}};K3=function(f,w){let _,U;for(let u of w)if(_=f.match(u.regex.regex),_){U={};for(let $=0;$<u.regex.names.length;$++){let W=u.regex.names[$];U[W]=decodeURIComponent(_[$+1])}return{route:u,params:U}}return null};i1=function(f,w="components"){let _,U,u,$,W,F,A,G,Y;A=[],u=new Map,_=f.listAll(w);for(let Z of _){if(F=Z.slice(w.length+1),!F.endsWith(".rip"))continue;if($=F.split("/").pop(),$==="_layout.rip"){U=F==="_layout.rip"?"":F.slice(0,-12),u.set(U,Z);continue}if($.startsWith("_"))continue;if(G=F.split("/"),G.length>1&&G.some(function(Q,K){return K<G.length-1&&Q.startsWith("_")}))continue;Y=G3(F),W=X3(Y),A.push({pattern:Y,regex:W,file:Z,rel:F})}return A.sort(function(Z,Q){let K,D,H,J;if(D=(Z.pattern.match(/:/g)||[]).length,J=(Q.pattern.match(/:/g)||[]).length,K=Z.pattern.includes("*")?1:0,H=Q.pattern.includes("*")?1:0,K!==H)return K-H;if(D!==J)return D-J;return Z.pattern.localeCompare(Q.pattern)}),{routes:A,layouts:u}};z3=function(f,w,_){let U,u,$,W;if(U=[],$=f.slice(w.length+1),W=$.split("/"),u="",_.has(""))U.push(_.get(""));for(let F=0;F<W.length;F++){let A=W[F];if(F===W.length-1)break;if(u=u?u+"/"+A:A,_.has(u))U.push(_.get(u))}return U};var I3=function(f,w={}){let _,U,u,$,W,F,A,G,Y,Z,Q,K,D,H,J,z,q,R,X,B,I;if(q=w.root||"components",Y=w.base||"",Z=w.hash||!1,D=w.onError||null,X=function(O){return Y&&O.startsWith(Y)?O.slice(Y.length)||"/":O},G=function(O){return Y?Y+O:O},J=function(){let O;if(Z){if(O=location.hash.slice(1),!O)return"/";return O[0]==="/"?O:"/"+O}else return location.pathname+location.search+location.hash},I=function(O){return Z?O==="/"?location.pathname:"#"+O.slice(1):G(O)},W=U1(X(Z?J():location.pathname)),$=U1({}),A=U1(null),U=U1([]),F=U1({}),_=U1(""),u=q3(100,U1(!1)),B=i1(f,q),Q=new Set,f.watch(function(O,M){if(!M.startsWith(q+"/"))return;return B=i1(f,q)}),z=function(O){let M,P,E,S,N;if(S=O.split("?")[0].split("#")[0],P=X(S),P=P[0]==="/"?P:"/"+P,E=O.split("?")[1]?.split("#")[0]||"",M=O.includes("#")?O.split("#")[1]:"",N=K3(P,B.routes),N){p2(function(){return W.value=P,$.value=N.params,A.value=N.route,U.value=z3(N.route.file,q,B.layouts),F.value=Object.fromEntries(new URLSearchParams(E)),_.value=M});for(let L of Q)L(R.current);return!0}if(D)D({status:404,path:P});return!1},H=function(){return z(J())},typeof window<"u")window.addEventListener("popstate",H);if(K=function(O){let M,P,E;if(O.button!==0||O.metaKey||O.ctrlKey||O.shiftKey||O.altKey)return;P=O.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P?.href)return;if(E=new URL(P.href,location.origin),E.origin!==location.origin)return;if(P.target==="_blank"||P.hasAttribute("data-external"))return;return O.preventDefault(),M=Z&&E.hash?E.hash.slice(1)||"/":E.pathname+E.search+E.hash,R.push(M)},typeof document<"u")document.addEventListener("click",K);return R={push:function(O){return z(O)?history.pushState(null,"",I(W.read())):void 0},replace:function(O){return z(O)?history.replaceState(null,"",I(W.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(O){return Q.add(O),function(){return Q.delete(O)}},rebuild:function(){return B=i1(f,q)},routes:void 0,init:function(){return z(J()),R},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",H);if(typeof document<"u")document.removeEventListener("click",K);return Q.clear()}},Object.defineProperty(R,"current",{get:function(){return{path:W.value,params:$.value,route:A.value,layouts:U.value,query:F.value,hash:_.value}}}),Object.defineProperty(R,"path",{get:function(){return W.value}}),Object.defineProperty(R,"params",{get:function(){return $.value}}),Object.defineProperty(R,"route",{get:function(){return A.value}}),Object.defineProperty(R,"layouts",{get:function(){return U.value}}),Object.defineProperty(R,"query",{get:function(){return F.value}}),Object.defineProperty(R,"hash",{get:function(){return _.value}}),Object.defineProperty(R,"navigating",{get:function(){return u.value},set:function(O){return u.value=O}}),Object.defineProperty(R,"routes",{get:function(){return B.routes}}),R};F3=function(f,w){if(f.length!==w.length)return!1;for(let _=0;_<f.length;_++)if(f[_]!==w[_])return!1;return!0};z2=function(f){for(let w in f){let _=f[w];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _}return typeof f.default==="function"?f.default:void 0};Z2=function(f){let w;w={};for(let _ in f){let U=f[_];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))w[_]=U}return w};Y3=function(f){let w;return w=f.split("/").pop().replace(/\.rip$/,""),w.replace(/(^|[-_])([a-z])/g,function(_,U,u){return u.toUpperCase()})};W3=function(f,w="components"){let _,U,u;U={};for(let $ of f.listAll(w)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(u=Y3($),U[u])console.warn(`[Rip] Component name collision: ${u} (${U[u]} vs ${$})`);U[u]=$}return U};n1=async function(f,w,_=null,U=null,u=null){let $,W,F,A,G,Y,Z,Q,K,D,H,J;if(_&&U){if(W=_.getCompiled(U),W)return W}if(Z=w(f),u){D={};for(let z in u.map){let q=u.map[z];if(q!==U&&Z.includes(`new ${z}(`)){if(!u.classes[z]){if(A=_.read(q),A){F=await n1(A,w,_,q,u),G=Z2(F);for(let R in G){let X=G[R];u.classes[R]=X}}}if(u.classes[z])D[z]=!0}}if(K=Object.keys(D),K.length>0)H=`const {${K.join(", ")}} = globalThis['${u.key}'];
|
|
752
|
+
`,Z=H+Z}if(Y=U?`// ${U}
|
|
753
|
+
`:"",$=new Blob([Y+Z],{type:"application/javascript"}),J=URL.createObjectURL($),Q=await import(J),u){G=Z2(Q);for(let z in G){let q=G[z];u.classes[z]=q}}if(_&&U)_.setCompiled(U,Q);return Q};var B3=function(f={}){let w,_,U,u,$,W,F,A,G,Y,Z,Q,K,D,H,J,z,q,R,X,B,I;if({router:X,app:w,components:$,resolver:R,compile:U,target:B,onError:z}=f,W=typeof B==="string"?document.querySelector(B):B||document.getElementById("app"),!W)W=document.createElement("div"),W.id="app",document.body.appendChild(W);return W.style.opacity="0",F=null,Y=null,G=null,A=[],K=[],H=W,Q=0,Z=null,u=new Map,D=f.cacheSize||10,_=function(){let O,M;if(F&&Y){if(F.beforeUnmount)F.beforeUnmount();if(u.set(Y,F),u.size>D){if(M=u.keys().next().value,O=u.get(M),O.unmounted)O.unmounted();u.delete(M)}return F=null,Y=null}},I=function(){_();for(let O=K.length-1;O>=0;O--){let M=K[O];if(M.beforeUnmount)M.beforeUnmount();if(M.unmounted)M.unmounted();M._target?.remove()}return K=[],H=W},$.watch(function(O,M){let P;if(u.has(M)){if(P=u.get(M),P.unmounted)P.unmounted();return u.delete(M)}}),J=async function(O){let M,P,E,S,N,L,j,T,s,V,C,y,x,r,f1,h,c,g,l,t,e,v;if({route:l,params:h,layouts:T,query:g}=O,!l)return;if(l.file===Y&&JSON.stringify(h)===JSON.stringify(G))return;return G=h,S=++Q,X.navigating=!0,await(async()=>{try{if(e=$.read(l.file),!e){if(z)z({status:404,message:`File not found: ${l.file}`});X.navigating=!1;return}if(y=await n1(e,U,$,l.file,R),S!==Q){X.navigating=!1;return}if(M=z2(y),!M){if(z)z({status:500,message:`No component found in ${l.file}`});X.navigating=!1;return}if(C=!F3(T,A),r=F?._target,C)I();else _();if(x=C?W:H,C&&T.length>0){W.innerHTML="",x=W;for(let k of T){if(V=$.read(k),!V)continue;if(s=await n1(V,U,$,k,R),S!==Q){X.navigating=!1;return}if(P=z2(s),!P)continue;if(L=new P({app:w,params:h,router:X}),L.beforeMount)L.beforeMount();v=document.createElement("div"),v.setAttribute("data-layout",k),x.appendChild(v),L.mount(v),K.push(L),t=v.querySelector("#content")||v,x=t}A=[...T],H=x}else if(C)W.innerHTML="",A=[],H=W;if(E=u.get(l.file),E){if(u.delete(l.file),x.appendChild(E._target),F=E,Y=l.file,h)E.params=h;if(g)E.query=g;if(E.mounted)E.mounted();if(E.load)await E.load(h,g)}else{if(f1=document.createElement("div"),f1.setAttribute("data-component",l.file),x.appendChild(f1),j=new M({app:w,params:h,query:g,router:X}),j.beforeMount)j.beforeMount();if(j.mount(f1),F=j,Y=l.file,j.load)await j.load(h,g)}return r?.remove(),X.navigating=!1,W.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return W.style.transition="opacity 150ms ease-in",W.style.opacity="1"})}):void 0}catch(k){if(X.navigating=!1,W.style.opacity="1",console.error(`Renderer: error mounting ${l.file}:`,k),z)z({status:500,message:k.message,error:k});N=!1;for(let o=K.length-1;o>=0;o--){let a=K[o];if(a.onError)try{a.onError(k),N=!0;break}catch(b){console.error("Renderer: error boundary failed:",b)}}return(()=>{if(!N)return c=document.createElement("pre"),c.style.cssText="color:red;padding:1em",c.textContent=k.stack||k.message,W.innerHTML="",W.appendChild(c)})()}})()},q={start:function(){return Z=B1(function(){let O;return O=X.current,O.route?J(O):void 0}),X.init(),q},stop:function(){if(I(),Z)Z(),Z=null;return W.innerHTML=""},remount:function(){let O;return O=X.current,O.route?J(O):void 0},cache:u},q};A3=function(f){let w,_,U;return U=1000,_=30000,w=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return U=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let $ 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,U),U=Math.min(U*2,_)}},w()};var v4=async function(f="",w={}){let _,U,u,$,W,F,A,G,Y,Z,Q,K,D,H,J,z,q;if(globalThis.__ripLaunched=!0,typeof f==="object")w=f,f="";if(f=f.replace(/\/+$/,""),q=w.target||"#app",F=w.compile||null,K=w.persist||!1,Z=w.hash||!1,!F)F=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(q))A=document.createElement("div"),A.id=q.replace(/^#/,""),document.body.prepend(A);if(w.bundle)u=w.bundle;else if(w.bundleUrl){if(Q={},Y=`__rip_etag_${w.bundleUrl}`,$=sessionStorage.getItem(Y),$)Q["If-None-Match"]=$;if(H=await fetch(w.bundleUrl,{headers:Q}),H.status===304)u=JSON.parse(sessionStorage.getItem(`${Y}_data`));else if(H.ok){if(u=await H.json(),G=H.headers.get("etag"),G)sessionStorage.setItem(Y,G),sessionStorage.setItem(`${Y}_data`,JSON.stringify(u))}else throw Error(`launch: ${w.bundleUrl} (${H.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=R3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,u.data)_.data=u.data;if(u.routes)_.routes=u.routes;if(K&&typeof sessionStorage<"u")O3(_,{local:K==="local",key:`__rip_${f}`});if(U=P3(),u.components)U.load(u.components);if(W=`__rip_${f.replace(/\//g,"_")||"app"}`,J={map:W3(U),classes:{},key:W},typeof globalThis<"u")globalThis[W]=J.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(z=I3(U,{root:"components",base:f,hash:Z,onError:function(R){return console.error(`[Rip] Error ${R.status}: ${R.message||R.path}`)}}),D=B3({router:z,app:_,components:U,resolver:J,compile:F,target:q,onError:function(R){return console.error(`[Rip] ${R.message}`,R.error)}}),D.start(),u.data?.watch)A3(`${f}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:U,router:z,renderer:D,cache:D.cache,version:"0.3.0"};return{app:_,components:U,router:z,renderer:D}};A1=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;r2=function(f,w){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return A1(f,w.next);case"ArrowUp":return A1(f,w.prev);case"Home":case"PageUp":return A1(f,w.first);case"End":case"PageDown":return A1(f,w.last);case"Enter":case" ":return A1(f,w.select);case"Escape":return A1(f,w.dismiss);case"Tab":return w.tab?.();default:return f.key.length===1?w.char?.(f.key):void 0}})()};t2=function(f,w,_,U=[],u=null){let $,W,F;if(!f)return;return $=function(A){return typeof A==="function"?A():A},W=(A)=>{return![$(w),...U.map($)].some(function(G){return G?.contains(A.target)})?_():void 0},F=(A)=>{if($(w)?.contains(A.target))return;return u?u():_()},document.addEventListener("mousedown",W),window.addEventListener("scroll",F,!0),function(){return document.removeEventListener("mousedown",W),window.removeEventListener("scroll",F,!0)}};e2=function(f=250){let w;return w=0,{block:function(_=f){return w=Date.now()+_},canOpen:function(){return Date.now()>=w}}};a2=function(f,w,_,U=null){let u,$,W,F,A,G,Y,Z,Q,K,D;if(F=function(H){return typeof H==="function"?H():H},u=function(){let H,J;if(H=document.activeElement,H&&H!==document.body)return H;if(J=globalThis.__ariaLastFocusedEl,J?.isConnected!==!1)return J;return null},W=F(w),!W)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Y=null,D=function(H){if(H){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}},Z=function(){let H,J;if(J=Y,Y=null,!J?.focus)return;return H=function(z=6){if(J.isConnected===!1)return;try{J.focus({preventScroll:!0})}catch{J.focus()}if(document.activeElement===J||z<=1)return;return setTimeout(function(){return H(z-1)},16)},requestAnimationFrame(function(){return H()})},A=function(H){let J;if(J=H.newState==="open",J)Y=F(U)||u(),D(!0);else D(!1),Z();return _?.(J)},W.addEventListener("toggle",A),Q=W.matches(":popover-open"),$=!!f,Q!==$){if(K=F(U),$)Y=K||u(),D(!0);G=K&&$?{force:$,source:K}:{force:$};try{W.togglePopover(G)}catch{}}else D($);return function(){return W.removeEventListener("toggle",A)}};o2=function(f,w,_,U=!0){let u,$,W,F,A,G,Y,Z;if(W=function(Q){return typeof Q==="function"?Q():Q},u=function(){let Q,K;if(Q=document.activeElement,Q&&Q!==document.body)return Q;if(K=globalThis.__ariaLastFocusedEl,K?.isConnected!==!1)return K;return null},$=W(w),!$?.showModal)return;if(G=null,Z=function(Q){if(Q){$.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 Q,K;if(K=G,G=null,!K?.focus)return;return Q=function(D=6){if(K.isConnected===!1)return;try{K.focus({preventScroll:!0})}catch{K.focus()}if(document.activeElement===K||D<=1)return;return setTimeout(function(){return Q(D-1)},16)},requestAnimationFrame(function(){return Q()})},F=function(Q){if(!U){Q.preventDefault();return}return _?.(!1)},A=function(){return _?.(!1),Z(!1),Y()},$.addEventListener("cancel",F),$.addEventListener("close",A),f&&!$.open){if(!G)G=u();Z(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else Z(!!f);return function(){return $.removeEventListener("cancel",F),$.removeEventListener("close",A)}};$3=function(f,w,_="vertical"){let U,u;if(f.isComposing)return;return u=_!=="horizontal",U=_!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?A1(f,w.next):void 0;case"ArrowUp":return u?A1(f,w.prev):void 0;case"ArrowRight":return U?A1(f,w.next):void 0;case"ArrowLeft":return U?A1(f,w.prev):void 0;case"Home":case"PageUp":return A1(f,w.first);case"End":case"PageDown":return A1(f,w.last);case"Enter":case" ":return A1(f,w.select);case"Escape":return A1(f,w.dismiss);default:return f.key.length===1?w.char?.(f.key):void 0}})()};f3=function(f,w,_=4,U=!0){let u,$;if(!(f&&w))return;if($=f.getBoundingClientRect(),w.style.position="fixed",w.style.left=`${$.left}px`,w.style.top=`${$.bottom+_}px`,w.style.minWidth=`${$.width}px`,u=w.getBoundingClientRect(),u.bottom>window.innerHeight)w.style.top=`${$.top-u.height-_}px`;if(u.right>window.innerWidth)w.style.left=`${window.innerWidth-u.width-_}px`;return U?w.style.visibility="visible":void 0};var g4='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';w3=function(f){let w;return w=function(_){let U,u,$;if(_.key!=="Tab")return;if($=Array.from(f.querySelectorAll(g4)).filter(function(W){return W.offsetParent!==null}),!$.length)return;return U=$[0],u=$[$.length-1],_.shiftKey?document.activeElement===U?(_.preventDefault(),u.focus()):void 0:document.activeElement===u?(_.preventDefault(),U.focus()):void 0},f.addEventListener("keydown",w),function(){return f.removeEventListener("keydown",w)}};U3=function(f,w){let _,U;if(!f)return;if(U=f.querySelector("h1,h2,h3,h4,h5,h6"),U)U.id??=`${w}-title`,f.setAttribute("aria-labelledby",U.id);if(_=f.querySelector("p"),_)return _.id??=`${w}-desc`,f.setAttribute("aria-describedby",_.id)};T1=[];s2=function(f){let w;if(w=window.scrollY,T1.push({instance:f,scrollY:w}),T1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${w}px`,document.body.style.width="100%"};_3=function(f){let w,_;if(w=T1.findIndex(function(U){return U.instance===f}),w<0)return;if({scrollY:_}=T1.splice(w,1)[0],!T1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)};X2=function(){let f,w,_;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),_=w.getBoundingClientRect(),f.remove(),w.remove(),_.top>50}catch{return!1}})()}();u3=function(f,w,_={}){let U,u,$,W,F,A,G;if(!(f&&w))return;if(F=_.placement??"bottom start",W=_.offset??4,u=_.matchWidth??!1,X2){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=F,w.style.positionTry="flip-block, flip-inline, flip-block flip-inline",w.style.positionVisibility="anchors-visible",[G]=F.split(" "),w.style.marginTop="",w.style.marginBottom="",w.style.marginLeft="",w.style.marginRight="",G){case"bottom":w.style.marginTop=`${W}px`;break;case"top":w.style.marginBottom=`${W}px`;break;case"left":w.style.marginRight=`${W}px`;break;case"right":w.style.marginLeft=`${W}px`;break}return u?w.style.minWidth="anchor-size(width)":void 0}else{switch(A=f.getBoundingClientRect(),w.style.position="fixed",w.style.inset="auto",w.style.margin="0",[G,U]=F.split(" "),U??="start",G){case"bottom":w.style.top=`${A.bottom+W}px`;break;case"top":w.style.bottom=`${window.innerHeight-A.top+W}px`;break;case"left":w.style.right=`${window.innerWidth-A.left+W}px`;break;case"right":w.style.left=`${A.right+W}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(U){case"start":w.style.left=`${A.left}px`;break;case"center":w.style.left=`${A.left+A.width/2}px`,w.style.transform="translateX(-50%)";break;case"end":w.style.right=`${window.innerWidth-A.right}px`;break}else switch(U){case"start":w.style.top=`${A.top}px`;break;case"center":w.style.top=`${A.top+A.height/2}px`,w.style.transform="translateY(-50%)";break;case"end":w.style.bottom=`${window.innerHeight-A.bottom}px`;break}return u?w.style.minWidth=`${A.width}px`:void 0}};globalThis.__aria??={listNav:r2,rovingNav:$3,popupDismiss:t2,popupGuard:e2,bindPopover:a2,bindDialog:o2,positionBelow:f3,trapFocus:w3,wireAria:U3,lockScroll:s2,unlockScroll:_3,position:u3,hasAnchor:X2};globalThis.ARIA??=globalThis.__aria;I1.modules["ui.rip"]=p1;for(let[f,w]of Object.entries(p1))if(typeof w==="function")globalThis[f]=w;})();
|