rip-lang 3.14.0 → 3.14.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
- (()=>{var{defineProperty:U2,getOwnPropertyNames:p3,getOwnPropertyDescriptor:n3}=Object,o3=Object.prototype.hasOwnProperty;function a3(u){return this[u]}var r3=(u)=>{var U=(V2??=new WeakMap).get(u),_;if(U)return U;if(U=U2({},"__esModule",{value:!0}),u&&typeof u==="object"||typeof u==="function"){for(var W of p3(u))if(!o3.call(U,W))U2(U,W,{get:a3.bind(u,W),enumerable:!(_=n3(u,W))||_.enumerable})}return V2.set(u,U),U},V2;var s3=(u)=>u;function t3(u,U){this[u]=s3.bind(null,U)}var C2=(u,U)=>{for(var _ in U)U2(u,_,{get:U[_],enumerable:!0,configurable:!0,set:t3.bind(U,_)})};var e5={};C2(e5,{rip:()=>Q3,processRipScripts:()=>G3,parser:()=>z1,importRip:()=>I1,getStdlibCode:()=>l1,getReactiveRuntime:()=>m1,getComponentRuntime:()=>k1,formatSExpr:()=>X1,formatErrorHTML:()=>D2,formatError:()=>B1,compileToJS:()=>M1,compile:()=>t1,VERSION:()=>F3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>x1,CodeEmitter:()=>Y1,BUILD_DATE:()=>Z3});var e3={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,Schema:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,ES6_OPTIONAL_INDEX:91,"{":92,ObjAssignable:93,":":94,FOR:95,ForVariables:96,FOROF:97,OptComma:98,"}":99,WHEN:100,OWN:101,AssignList:102,AssignObj:103,ObjRestValue:104,SimpleObjAssignable:105,"[":106,"]":107,"@":108,"...":109,ObjSpreadExpr:110,SUPER:111,Arguments:112,DYNAMIC_IMPORT:113,MAP_START:114,MAP_END:115,MapAssignList:116,MapAssignObj:117,MapAssignable:118,Elisions:119,ArgElisionList:120,OptElisions:121,ArgElision:122,Arg:123,Elision:124,RangeDots:125,"..":126,DEF:127,CALL_START:128,ParamList:129,CALL_END:130,PARAM_START:131,PARAM_END:132,FuncGlyph:133,"->":134,"=>":135,Param:136,ParamVar:137,Splat:138,ES6_OPTIONAL_CALL:139,ArgList:140,SimpleArgs:141,THIS:142,NEW_TARGET:143,IMPORT_META:144,"(":145,")":146,RETURN:147,THROW:148,YIELD:149,FROM:150,IfBlock:151,IF:152,ELSE:153,UnlessBlock:154,UNLESS:155,POST_IF:156,POST_UNLESS:157,TRY:158,Catch:159,FINALLY:160,CATCH:161,SWITCH:162,Whens:163,When:164,LEADING_WHEN:165,WhileSource:166,WHILE:167,UNTIL:168,Loop:169,LOOP:170,FORIN:171,BY:172,FORAS:173,AWAIT:174,FORASAWAIT:175,ForValue:176,CLASS:177,EXTENDS:178,ENUM:179,SCHEMA:180,SCHEMA_BODY:181,COMPONENT:182,ComponentBody:183,ComponentLine:184,OFFER:185,ACCEPT:186,RENDER:187,IMPORT:188,ImportDefaultSpecifier:189,ImportNamespaceSpecifier:190,ImportSpecifierList:191,ImportSpecifier:192,AS:193,DEFAULT:194,IMPORT_ALL:195,EXPORT:196,ExportSpecifierList:197,EXPORT_ALL:198,ExportSpecifier:199,UNARY:200,DO:201,DO_IIFE:202,UNARY_MATH:203,"-":204,"+":205,"?":206,PRESENCE:207,"--":208,"++":209,MATH:210,"**":211,SHIFT:212,COMPARE:213,"&":214,"^":215,"|":216,"||":217,"??":218,"&&":219,PIPE:220,RELATION:221,TERNARY:222,COMPOUND_ASSIGN:223},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"ES6_OPTIONAL_INDEX",92:"{",94:":",95:"FOR",97:"FOROF",99:"}",100:"WHEN",101:"OWN",106:"[",107:"]",108:"@",109:"...",111:"SUPER",113:"DYNAMIC_IMPORT",114:"MAP_START",115:"MAP_END",126:"..",127:"DEF",128:"CALL_START",130:"CALL_END",131:"PARAM_START",132:"PARAM_END",134:"->",135:"=>",139:"ES6_OPTIONAL_CALL",142:"THIS",143:"NEW_TARGET",144:"IMPORT_META",145:"(",146:")",147:"RETURN",148:"THROW",149:"YIELD",150:"FROM",152:"IF",153:"ELSE",155:"UNLESS",156:"POST_IF",157:"POST_UNLESS",158:"TRY",160:"FINALLY",161:"CATCH",162:"SWITCH",165:"LEADING_WHEN",167:"WHILE",168:"UNTIL",170:"LOOP",171:"FORIN",172:"BY",173:"FORAS",174:"AWAIT",175:"FORASAWAIT",177:"CLASS",178:"EXTENDS",179:"ENUM",180:"SCHEMA",181:"SCHEMA_BODY",182:"COMPONENT",185:"OFFER",186:"ACCEPT",187:"RENDER",188:"IMPORT",193:"AS",194:"DEFAULT",195:"IMPORT_ALL",196:"EXPORT",198:"EXPORT_ALL",200:"UNARY",201:"DO",202:"DO_IIFE",203:"UNARY_MATH",204:"-",205:"+",206:"?",207:"PRESENCE",208:"--",209:"++",210:"MATH",211:"**",212:"SHIFT",213:"COMPARE",214:"&",215:"^",216:"|",217:"||",218:"??",219:"&&",220:"PIPE",221:"RELATION",222:"TERNARY",223:"COMPOUND_ASSIGN"},parseTable:(()=>{let u=[112,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,76,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,32,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,32,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,55,1,5,51,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,144,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,145,146,147,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,62,1,1,5,32,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,32,23,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,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,62,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,62,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,62,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,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,148,149,150,151,152,-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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,53,1,5,56,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,29,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,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,153,-200,-200,154,155,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,164,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,163,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,166,167,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,169,170,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,171,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,177,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,178,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,179,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,180,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,181,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,185,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,61,1,5,56,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,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,186,187,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,190,189,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,191,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,192,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,69,10,165,193,2,69,10,165,194,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,198,157,109,159,160,158,104,195,196,87,161,200,197,199,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,201,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,202,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,93,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-332,165,-332,107,108,-332,203,205,75,76,98,-332,104,-332,-332,-332,-332,-332,87,-332,91,-332,88,89,94,-332,-332,-332,172,-332,173,95,96,90,92,93,86,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,204,176,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,2,69,109,206,207,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,209,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,208,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,210,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,211,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,144,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,212,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-251,213,-251,107,108,-251,55,54,75,76,98,-251,104,-251,-251,-251,-251,-251,87,-251,91,-251,88,89,94,-251,-251,68,-251,172,-251,173,95,96,90,92,93,86,-251,72,66,67,214,56,99,-251,57,100,-251,-251,58,62,59,-251,-251,60,103,-251,-251,-251,51,-251,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,2,58,1,215,109,2,58,1,216,109,1,181,217,6,15,20,96,2,1,1,219,218,44,45,95,96,143,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,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,220,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-248,221,-248,107,108,-248,55,54,75,76,98,-248,104,-248,-248,-248,-248,-248,87,-248,91,-248,88,89,94,-248,-248,68,-248,172,-248,173,95,96,90,92,93,86,-248,72,66,67,56,99,-248,57,100,-248,-248,58,62,59,-248,-248,60,103,-248,-248,-248,51,-248,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,9,57,1,1,3,1,29,97,1,5,222,226,109,110,111,225,223,224,227,63,14,1,3,1,1,1,6,1,4,1,4,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,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,3,12,4,4,182,183,234,235,236,237,229,230,231,232,240,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,233,109,110,111,107,108,55,241,75,76,98,228,87,91,88,89,94,68,172,173,95,96,90,92,93,86,63,69,64,238,239,176,58,1,5,56,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,29,1,1,1,3,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,58,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,53,1,5,56,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,29,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,56,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,29,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,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,242,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,243,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,244,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,245,91,255,88,89,94,246,247,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,24,16,257,258,256,144,2,112,16,259,144,53,1,5,56,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,29,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,55,1,5,54,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,260,261,-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,1,86,262,1,86,263,35,6,33,8,2,1,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,-147,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-147,-147,107,108,-147,279,280,271,104,162,161,268,264,265,266,267,86,57,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,57,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,62,1,5,56,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,26,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,56,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,26,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,283,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,284,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,285,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,286,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,288,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,287,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-112,294,105,106,296,109,297,261,110,111,-112,-112,-112,298,289,-112,290,295,299,291,292,293,300,53,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,301,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,241,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,64,1,5,56,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,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,6,57,5,1,1,2,1,305,110,111,302,303,304,114,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-5,306,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,307,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,308,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,309,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,310,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,311,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,312,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,313,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,314,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,315,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,318,168,316,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,317,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,321,168,319,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,320,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,324,168,322,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,323,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,325,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,326,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,327,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,328,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,329,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,333,157,109,159,160,158,104,330,331,87,161,200,332,199,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,334,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,335,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,54,1,5,56,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,29,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,54,1,5,56,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,29,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,2,112,16,336,144,2,60,1,337,261,2,60,1,338,261,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,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,2,5,1,8,4,1,1,1,1,1,3,1,339,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,344,80,81,82,83,84,85,105,106,97,109,110,111,340,107,108,342,55,54,75,76,98,341,104,61,87,91,346,88,89,94,343,345,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,88,347,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,348,44,45,95,96,254,349,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,353,261,2,60,1,354,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,355,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,356,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,358,357,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,359,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,361,360,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,362,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,364,363,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,365,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,367,366,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,368,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,370,369,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,371,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,6,63,1,5,23,1,8,8,15,2,-244,-244,-244,373,374,-244,-244,-244,-244,372,6,6,63,1,5,55,2,-201,-201,-201,-201,-201,-201,7,6,63,1,5,1,54,2,-205,-205,-205,-205,375,-205,-205,15,6,52,1,10,1,5,8,1,1,7,14,2,22,2,5,-208,157,109,-208,-208,-208,159,160,158,104,162,161,-208,-208,376,11,6,63,1,5,1,21,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,11,6,63,1,5,1,21,33,2,39,2,2,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,11,6,63,1,5,1,21,33,2,39,2,2,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,11,6,63,1,5,1,21,33,2,39,2,2,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,2,60,1,260,261,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,245,91,255,88,89,94,246,247,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,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,9,1,5,62,1,1,5,32,23,16,-197,-197,-197,-197,-197,-197,-197,-197,-197,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,5,1,8,4,1,1,1,1,1,3,1,378,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,377,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,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,29,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,130,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,123,-403,-403,-403,-403,9,1,5,62,1,1,5,32,23,16,-400,-400,-400,-400,-400,-400,-400,-400,-400,5,156,1,9,1,1,132,133,134,101,102,44,1,5,62,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,29,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,130,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,123,-404,-404,-404,-404,9,1,5,62,1,1,5,32,23,16,-401,-401,-401,-401,-401,-401,-401,-401,-401,44,1,5,62,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,29,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,130,-405,-405,-405,-405,-405,-405,-405,-405,-405,116,-405,-405,-405,-405,-405,-405,123,-405,-405,-405,-405,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,379,-200,-200,154,155,2,69,10,165,163,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,166,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,169,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,5,15,116,2,1,1,219,172,173,95,96,44,1,5,62,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,29,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,130,-406,-406,-406,-406,-406,-406,-406,-406,-406,116,-406,-406,-406,-406,-406,-406,123,-406,-406,-406,-406,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,130,-407,-407,-407,-407,-407,-407,-407,-407,-407,116,-407,-407,-407,-407,-407,-407,123,-407,-407,-407,-407,44,1,5,62,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,29,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,130,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,123,-410,-410,-410,-410,2,84,8,380,104,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-89,-89,-412,-412,-412,-412,-89,-89,-89,-89,-89,-89,-89,-89,-412,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-89,-412,-412,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-89,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,10,57,5,1,23,1,1,3,21,16,11,137,110,111,140,141,142,143,138,144,139,3,86,1,1,145,146,147,53,1,5,56,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,29,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,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-89,-89,-413,-413,-413,-413,-89,-89,-89,-89,-89,-89,-89,-89,-413,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-89,-413,-413,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-89,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,383,381,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,382,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,384,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,3,69,10,73,165,385,386,46,1,5,62,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,29,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,387,388,389,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,4,97,74,2,2,391,390,392,393,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,394,162,161,200,199,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,395,162,161,200,199,3,69,10,93,165,396,397,5,75,22,74,2,2,398,-330,-330,-330,-330,6,75,1,21,74,2,2,-328,399,-328,-328,-328,-328,22,69,26,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,400,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,163,1,1,401,402,403,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,404,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,60,1,5,56,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,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-89,-89,-336,165,-336,-336,-89,-89,-89,405,-89,-89,-89,-89,-89,-336,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-89,-336,-336,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,406,-336,-336,-89,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,1,1,8,4,1,1,1,1,1,3,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,407,408,412,413,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,414,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,131,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,130,101,102,-353,-353,-353,-353,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-249,-249,-249,-249,-249,-249,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,415,104,44,1,5,62,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,29,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,130,-252,-252,-252,-252,-252,-252,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,416,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,417,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,69,10,49,165,419,418,2,69,10,165,420,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,9,1,5,62,1,1,5,32,23,16,-402,-402,-402,-402,-402,-402,-402,-402,-402,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,62,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,29,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,130,-246,-246,-246,-246,-246,-246,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,421,104,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,75,75,423,422,1,150,424,7,58,1,10,30,92,1,2,429,109,428,425,426,427,430,2,75,75,-370,-370,1,193,431,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,85,3,2,-112,294,105,106,436,109,297,261,110,111,435,-112,-112,298,289,432,290,295,299,291,292,293,300,437,433,434,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,13,1,5,62,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,62,1,1,5,32,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,438,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,439,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,440,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,150,441,57,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,149,150,151,152,-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,58,1,5,56,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,29,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,2,6,140,112,442,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,443,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,20,12,2,16,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,131,-226,346,444,345,-226,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,445,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,448,-244,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,451,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,5,6,63,1,5,32,-172,-172,-172,-172,-172,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,452,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,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,2,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,-183,-183,-183,-183,-183,-183,5,6,63,1,5,32,-177,-177,-177,-177,-177,6,6,63,1,5,32,23,-227,-227,-227,-227,-227,-227,6,6,63,1,5,32,23,-228,-228,-228,-228,-228,-228,111,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-229,454,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-229,-229,107,108,-229,55,54,75,76,98,104,61,87,-229,91,88,89,94,68,-229,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,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,2,60,1,455,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,456,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,457,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,2,60,1,458,261,2,60,1,459,261,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,461,460,-244,-244,-244,-244,5,6,63,1,5,40,-148,-148,-148,-148,-148,1,94,462,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,463,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,94,-155,1,94,-156,1,94,-157,1,94,-158,1,94,-159,1,94,-160,1,94,-161,1,94,-162,1,94,-163,1,94,-164,1,94,-165,1,94,-166,1,94,-167,1,94,-168,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,464,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,465,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,466,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,131,-285,-285,467,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,130,101,102,-285,-285,-285,-285,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,165,-292,-292,468,-292,-292,131,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,130,101,102,-292,-292,-292,-292,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,19,5,-117,-117,-117,-117,469,-117,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,471,470,-244,-244,-244,-244,7,6,63,1,5,1,18,5,-126,-126,-126,-126,472,-126,-126,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,473,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,60,1,45,260,261,474,6,6,63,1,5,19,5,-129,-129,-129,-129,-129,-129,5,6,63,1,5,24,-113,-113,-113,-113,-113,11,6,63,1,5,1,10,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,63,1,5,1,10,1,1,6,5,29,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,11,6,63,1,5,1,10,1,1,6,5,29,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,5,6,63,1,5,24,-118,-118,-118,-118,-118,17,39,4,1,14,1,1,1,23,1,7,13,3,2,1,2,29,3,478,480,479,296,109,297,261,477,298,104,475,91,476,481,482,90,86,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,483,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,57,5,1,2,1,1,305,110,111,484,485,304,4,62,1,2,2,-61,-61,-61,-61,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,486,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,488,487,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,76,-4,-4,-4,-4,-4,44,1,5,62,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,29,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,130,-416,-416,-416,-416,-416,-416,-416,-416,115,116,-416,-416,-416,-416,-416,-416,123,-416,-416,-416,-416,44,1,5,62,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,29,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,130,-417,-417,-417,-417,-417,-417,-417,-417,115,116,-417,-417,-417,-417,-417,-417,123,-417,-417,-417,-417,44,1,5,62,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,29,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,130,-418,-418,-418,-418,-418,-418,-418,-418,-418,116,-418,-418,-418,-418,-418,-418,123,-418,-418,-418,-418,44,1,5,62,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,29,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,130,-419,-419,-419,-419,-419,-419,-419,-419,-419,116,-419,-419,-419,-419,-419,-419,123,-419,-419,-419,-419,44,1,5,62,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,29,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,130,-420,-420,-420,-420,-420,-420,114,113,115,116,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,44,1,5,62,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,29,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,130,-421,-421,-421,-421,-421,-421,114,113,115,116,117,-421,-421,-421,-421,-421,123,-421,-421,126,-421,44,1,5,62,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,29,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,130,-422,-422,-422,-422,-422,-422,114,113,115,116,117,118,-422,-422,-422,-422,123,-422,-422,126,-422,44,1,5,62,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,29,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,130,-423,-423,-423,-423,-423,-423,114,113,115,116,117,118,119,-423,-423,-423,123,-423,-423,126,-423,44,1,5,62,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,29,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,130,-424,-424,-424,-424,-424,-424,114,113,115,116,117,118,119,120,-424,-424,123,-424,-424,126,-424,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,44,1,5,62,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,29,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,130,-432,-432,-432,-432,-432,-432,114,113,115,116,117,118,119,120,121,-432,123,124,-432,126,-432,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,131,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,128,129,130,101,102,-433,-433,-433,-433,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,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,29,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,130,-431,-431,-431,-431,-431,-431,114,113,115,116,117,118,119,120,121,-431,123,-431,-431,126,-431,44,1,5,62,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,29,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,130,-434,-434,-434,-434,-434,-434,114,113,115,116,117,118,119,120,121,122,123,124,-434,126,-434,44,1,5,62,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,29,1,5,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,130,-435,-435,-435,-435,-435,-435,114,113,115,116,117,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,22,94,1,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,489,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,131,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,490,-263,-263,130,101,102,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,131,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,130,101,102,-267,-267,-267,-267,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,97,74,2,2,492,491,493,494,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,495,162,161,200,199,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,496,162,161,200,199,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,497,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,131,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,130,101,102,-262,-262,-262,-262,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,131,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,101,102,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,54,1,5,56,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,29,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,62,1,5,56,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,26,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,62,1,5,56,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,26,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,25,89,6,14,16,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,498,131,346,499,345,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,500,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,501,104,61,87,91,346,88,89,94,343,345,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,89,502,1,89,503,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,504,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-191,107,108,55,54,75,76,98,-191,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,505,-48,-48,-48,-70,-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,58,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,58,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,506,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,507,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,508,-244,-244,-244,-244,5,6,63,1,5,55,-221,-221,-221,-221,-221,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,44,45,95,96,254,510,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,20,12,23,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,131,-226,-226,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,62,1,5,56,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,26,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,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,511,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,512,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,513,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,514,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,515,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,516,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,517,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,518,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,519,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,520,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,133,1,1,521,95,96,18,6,52,1,10,1,13,1,1,7,7,7,1,1,1,6,15,6,1,-245,157,109,-245,-245,159,160,158,104,-245,162,-245,161,156,-245,-245,522,155,2,6,63,523,524,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,525,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,6,6,63,1,5,55,2,-207,-207,-207,-207,-207,-207,56,1,5,56,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,29,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,-240,-240,-240,2,6,64,112,526,10,6,63,1,5,23,1,8,8,15,2,-244,-244,-244,373,374,-244,-244,-244,-244,527,1,70,528,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,529,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,530,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,531,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,532,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,2,69,10,165,533,6,58,1,10,10,5,8,534,109,165,536,535,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,537,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,538,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,539,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,540,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,541,1,173,542,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,543,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,58,1,24,1,1,7,14,2,29,39,157,109,159,160,158,104,162,161,200,544,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,545,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,163,1,1,546,402,403,4,70,83,11,1,547,548,549,403,3,70,83,12,-279,-279,-279,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,1,3,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,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,551,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,550,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,165,-334,-334,552,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,553,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,2,6,64,555,554,2,6,64,-344,-344,23,6,64,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-348,-348,7,6,64,86,1,9,1,1,-349,-349,132,133,134,101,102,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,556,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,59,557,22,69,26,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,558,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,559,1,70,560,44,1,5,62,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,29,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,-254,-254,-254,130,-254,-254,-254,-254,-254,-254,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,561,-200,-200,154,155,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,1,70,562,3,57,5,1,563,110,111,3,92,98,5,565,564,227,3,57,5,1,566,110,111,1,150,567,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,568,-244,-244,-244,-244,5,6,63,1,5,24,-361,-361,-361,-361,-361,6,58,1,10,122,1,2,429,109,428,570,427,430,6,6,63,1,5,24,94,-366,-366,-366,-366,-366,571,6,6,63,1,5,24,94,-368,-368,-368,-368,-368,572,2,58,1,573,109,14,1,5,62,1,1,5,32,23,16,4,6,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,574,-372,-372,-372,-372,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,575,-244,-244,-244,-244,5,6,63,1,5,24,-390,-390,-390,-390,-390,6,58,1,10,125,3,2,578,109,435,437,577,434,12,6,63,1,5,1,10,1,1,6,5,29,65,-395,-395,-395,-395,-123,-123,-123,-123,-123,-395,-123,579,6,6,63,1,5,24,94,-398,-398,-398,-398,-398,580,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,582,581,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,583,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,131,-385,-385,-385,-385,-385,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,584,104,3,57,5,1,585,110,111,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,2,6,64,112,586,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,587,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,451,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,5,6,63,1,5,32,-178,-178,-178,-178,-178,2,69,38,589,588,122,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-245,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-245,-245,107,108,251,55,54,75,76,98,104,61,-245,87,-245,91,255,88,89,94,-245,591,590,252,248,68,-245,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,37,592,-179,-179,-179,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,593,-244,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,20,12,23,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,131,-213,-213,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,53,1,5,56,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,29,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,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,594,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,595,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,53,1,5,56,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,29,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,53,1,5,56,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,29,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,3,6,63,46,597,598,596,36,6,33,8,2,1,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,-245,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-245,-245,107,108,279,280,271,104,-245,162,-245,161,268,-245,599,267,-245,86,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,600,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,601,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,26,6,63,1,5,20,20,41,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,131,-154,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,602,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,603,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,604,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,605,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,606,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,6,63,30,608,609,607,24,6,41,9,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,6,15,-245,294,105,106,296,109,297,261,110,111,-245,-245,298,611,-245,610,299,291,292,-245,293,300,-245,-245,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,612,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,613,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,614,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,615,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,6,63,1,5,11,1,1,11,13,16,-130,-130,-130,-130,-132,-132,-132,-130,616,144,10,6,63,1,5,11,1,1,11,13,16,-131,-131,-131,-131,618,619,620,-131,617,144,9,6,63,1,5,11,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,63,1,5,11,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,63,1,5,11,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,63,1,5,11,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,86,2,24,16,257,258,621,144,2,112,16,622,144,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,623,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,624,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,625,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,627,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,626,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,628,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,629,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,630,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,631,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,632,1,173,633,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,634,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,62,1,5,56,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,26,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,635,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-189,107,108,55,54,75,76,98,-189,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,25,70,25,14,16,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,636,131,346,499,345,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,637,62,1,5,56,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,26,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,62,1,5,56,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,26,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,23,70,19,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,638,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,639,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,640,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,6,63,61,642,643,641,118,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-245,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-245,-245,107,108,55,54,75,76,98,104,61,-245,87,-245,91,255,88,89,94,-245,644,68,-245,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,645,-244,-244,-244,-244,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,646,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,647,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,648,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,649,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,651,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,650,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,55,2,-202,-202,-202,-202,-202,-202,11,58,1,24,1,1,7,14,2,1,27,1,157,109,159,160,158,104,162,161,156,652,155,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,653,-200,-200,154,155,27,6,63,1,5,20,35,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,131,-206,-206,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,3,133,1,1,654,95,96,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,656,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,165,657,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,69,10,165,658,2,69,10,165,659,44,1,5,62,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,29,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,-274,25,69,10,16,5,56,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,660,131,661,128,129,130,101,102,662,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,663,131,664,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,665,131,666,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,667,131,668,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,669,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,670,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,671,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,97,74,2,2,-331,-331,-331,-331,26,75,20,2,59,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,131,-329,128,129,130,101,102,-329,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,83,11,1,672,673,549,403,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,2,69,10,165,674,3,70,83,12,-280,-280,-280,3,69,6,4,165,676,675,23,69,6,20,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,165,-338,-338,677,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,113,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-346,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-346,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,678,412,413,65,73,74,46,47,71,48,49,50,52,53,23,6,64,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-351,-351,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,1,1,8,4,1,1,1,1,1,3,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,679,408,412,413,65,73,74,46,47,71,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,373,374,-244,-244,-244,680,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,150,681,6,58,1,10,122,1,2,429,109,428,682,427,430,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,57,5,1,683,110,111,3,6,63,30,685,686,684,11,6,52,1,10,1,29,8,8,15,62,2,-245,429,109,-245,-245,-245,-245,-245,-245,687,430,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,688,-244,-244,-244,-244,2,58,1,689,109,2,58,1,690,109,1,150,-371,3,57,5,1,691,110,111,3,6,63,30,693,694,692,11,6,52,1,10,1,29,8,8,15,64,5,-245,578,109,-245,-245,-245,-245,-245,-245,437,695,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,696,-244,-244,-244,-244,6,6,63,1,5,24,94,-395,-395,-395,-395,-395,579,3,58,1,135,697,109,698,2,58,1,699,109,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,131,-378,-378,-378,-378,-378,130,-378,-378,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,700,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,701,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,70,702,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,1,146,703,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,704,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,705,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,32,-173,-173,-173,-173,-173,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-180,-180,107,108,251,55,54,75,76,98,104,61,87,-180,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,706,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,589,707,53,1,5,56,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,29,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,708,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,29,39,8,2,1,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,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,107,108,279,280,271,104,162,161,268,709,267,86,35,6,33,8,2,1,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,-147,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-147,-147,107,108,-147,279,280,271,104,162,161,268,-147,710,266,267,86,5,6,63,1,5,40,-149,-149,-149,-149,-149,26,6,63,1,5,20,20,41,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,131,-152,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,711,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,2,69,10,165,712,44,1,5,62,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,29,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,130,-284,-284,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-286,-286,-286,-286,-286,-286,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,713,-119,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,714,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,17,47,9,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,294,105,106,296,109,297,261,110,111,298,611,715,299,291,292,293,300,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-112,294,105,106,296,109,297,261,110,111,-112,-112,-112,298,611,-112,716,295,299,291,292,293,300,5,6,63,1,5,24,-114,-114,-114,-114,-114,6,6,63,1,5,19,5,-117,-117,-117,-117,717,-117,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,131,-121,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,718,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,6,6,63,1,5,19,5,-127,-127,-127,-127,-127,-127,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,719,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,6,63,1,5,11,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,63,1,5,11,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,2,60,1,720,261,2,60,1,721,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,722,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,723,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,9,6,63,1,5,11,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,63,1,5,11,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,724,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,725,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,131,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,130,101,102,-265,-265,-265,-265,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,726,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,130,-311,-311,-311,727,-311,-311,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,728,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,729,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,130,-320,-320,-320,-320,-320,-320,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,730,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,130,-324,-324,-324,-324,-324,-324,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,731,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,732,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,130,-327,-327,-327,-327,-327,-327,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,733,1,89,734,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,736,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,44,45,95,96,254,737,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,55,-222,-222,-222,-222,-222,3,6,63,1,642,643,738,1,89,739,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,9,1,5,62,1,1,5,32,23,16,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,63,1,5,55,2,-203,-203,-203,-203,-203,-203,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,373,740,-244,-244,-244,-244,2,69,10,165,650,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-256,-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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,44,1,5,62,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,29,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,-272,44,1,5,62,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,29,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,-273,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,741,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,742,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,743,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,744,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,745,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,746,131,747,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,748,131,749,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,69,10,165,750,1,70,751,4,6,64,83,12,752,-281,-281,-281,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,753,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,6,64,-345,-345,2,6,64,555,754,2,69,10,165,755,3,57,5,1,756,110,111,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,757,-244,-244,-244,-244,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,150,758,4,58,1,133,2,429,109,759,430,6,58,1,10,122,1,2,429,109,428,760,427,430,5,6,63,1,5,24,-362,-362,-362,-362,-362,3,6,63,1,685,686,761,5,6,63,1,5,24,-367,-367,-367,-367,-367,5,6,63,1,5,24,-369,-369,-369,-369,-369,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,14,1,5,62,1,1,5,32,23,16,4,6,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,762,-373,-373,-373,-373,4,58,1,135,5,578,109,437,763,6,58,1,10,125,3,2,578,109,435,437,764,434,5,6,63,1,5,24,-391,-391,-391,-391,-391,3,6,63,1,693,694,765,5,6,63,1,5,24,-396,-396,-396,-396,-396,5,6,63,1,5,24,-397,-397,-397,-397,-397,5,6,63,1,5,24,-399,-399,-399,-399,-399,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,131,-379,-379,-379,-379,-379,130,-379,-379,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,766,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,767,-244,5,6,63,1,5,32,-174,-174,-174,-174,-174,5,6,63,1,5,32,-175,-175,-175,-175,-175,1,89,768,5,6,63,1,5,40,-150,-150,-150,-150,-150,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,461,769,-244,-244,-244,-244,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,333,157,109,159,160,158,104,771,772,87,161,200,332,199,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,773,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,24,-115,-115,-115,-115,-115,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,471,774,-244,-244,-244,-244,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,775,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,606,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,776,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,19,5,-128,-128,-128,-128,-128,-128,9,6,63,1,5,11,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,9,6,63,1,5,11,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,777,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,778,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,68,779,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,780,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,781,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,782,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,783,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,784,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,785,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,786,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,787,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,130,-322,-322,-322,-322,-322,-322,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,62,1,5,56,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,26,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,1,89,788,5,6,63,1,5,55,-223,-223,-223,-223,-223,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,789,-244,-244,-244,-244,5,6,63,1,5,55,-224,-224,-224,-224,-224,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,3,6,63,1,523,524,790,24,69,10,16,61,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,791,131,128,129,130,101,102,792,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,793,131,794,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,795,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,796,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,797,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,798,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,799,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,70,800,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,3,70,83,12,-282,-282,-282,23,69,6,20,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,3,6,63,30,685,686,801,3,57,5,1,802,110,111,5,6,63,1,5,24,-363,-363,-363,-363,-363,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,803,-244,-244,-244,-244,5,6,63,1,5,24,-364,-364,-364,-364,-364,3,57,5,1,804,110,111,5,6,63,1,5,24,-392,-392,-392,-392,-392,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,805,-244,-244,-244,-244,5,6,63,1,5,24,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,2,69,1,589,806,53,1,5,56,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,29,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,3,6,63,1,597,598,807,5,6,63,1,5,40,-153,-153,-153,-153,-153,4,97,74,2,2,808,491,493,494,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,809,162,161,200,199,5,6,63,1,5,24,-120,-120,-120,-120,-120,3,6,63,1,608,609,810,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,131,-119,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,24,-122,-122,-122,-122,-122,9,6,63,1,5,11,1,1,11,29,-143,-143,-143,-143,-143,-143,-143,-143,-143,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,62,1,2,2,-64,-64,-64,-64,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,44,1,5,62,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,29,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,130,-312,-312,-312,812,-312,-312,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,813,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,130,-313,-313,-313,-313,-313,-313,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,130,-321,-321,-321,-321,-321,-321,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,130,-325,-325,-325,-325,-325,-325,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,814,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,815,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,62,1,5,56,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,26,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,3,6,63,1,642,643,816,6,6,63,1,5,55,2,-204,-204,-204,-204,-204,-204,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,817,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,818,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,820,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,1,150,821,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,3,6,63,1,685,686,822,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,3,6,63,1,693,694,823,5,6,63,1,5,32,-176,-176,-176,-176,-176,5,6,63,1,5,40,-151,-151,-151,-151,-151,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,824,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,825,5,6,63,1,5,24,-116,-116,-116,-116,-116,1,89,826,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,827,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,828,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-323,-323,-323,-323,-323,-323,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,55,-225,-225,-225,-225,-225,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,829,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,830,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,3,57,5,1,831,110,111,5,6,63,1,5,24,-365,-365,-365,-365,-365,5,6,63,1,5,24,-394,-394,-394,-394,-394,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,834,-316,-316,-316,-316,832,-316,833,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,835,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,9,6,63,1,5,11,1,1,11,29,-144,-144,-144,-144,-144,-144,-144,-144,-144,44,1,5,62,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,29,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,130,-314,-314,-314,-314,-314,-314,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,99,836,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,837,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,7,6,63,1,29,8,8,15,-245,-245,-245,-245,-245,-245,-245,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,834,-318,-318,-318,-318,838,-318,839,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,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,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,834,-317,-317,-317,-317,840,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,99,841,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,842,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,99,843,58,1,5,56,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,29,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,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,834,-319,-319,-319,-319,844,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,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,1,99,845,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110],U=[],_=0,W,f,$,F;while(_<u.length){W=u[_++],f={},$=0,F=[];while(W--)$+=u[_++],F.push($);for($ of F)f[$]=u[_++];U.push(f)}return U})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,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,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,102,0,102,1,102,3,102,4,102,6,103,1,103,1,103,3,103,5,103,3,103,5,105,1,105,1,105,1,93,1,93,3,93,4,93,1,104,2,104,2,110,1,110,1,110,1,110,1,110,1,110,2,110,2,110,2,110,2,110,3,110,3,110,4,110,6,46,2,46,4,116,0,116,1,116,3,116,4,116,6,117,3,117,5,117,2,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,83,2,83,3,83,4,120,1,120,3,120,4,120,4,120,6,122,1,122,2,121,1,121,2,119,1,119,2,124,1,124,2,125,1,125,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,133,1,133,1,129,0,129,1,129,3,129,4,129,6,136,1,136,3,136,2,136,1,137,1,137,1,137,1,137,1,138,2,41,2,41,2,41,3,41,2,41,2,112,2,112,4,140,1,140,3,140,4,140,4,140,6,123,1,123,1,123,1,123,1,141,1,141,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,98,0,98,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,151,3,151,5,154,3,154,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,159,3,159,3,159,2,26,5,26,7,26,4,26,6,163,1,163,2,164,3,164,4,166,2,166,4,166,2,166,4,24,2,24,2,24,2,24,1,169,2,169,2,169,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,176,1,176,3,96,1,96,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,183,1,183,3,183,2,184,1,184,1,184,1,184,2,184,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,191,1,191,3,191,4,191,4,191,6,192,1,192,3,192,1,192,3,189,1,190,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,197,1,197,3,197,4,197,4,197,6,199,1,199,3,199,3,199,1,199,3,36,2,36,2,36,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,42,2],ruleActions:(u,U,_,W)=>{let f=U,$=U.length-1;switch(u){case 1:return["program"];case 2:return["program",...f[$]];case 3:case 61:case 113:case 148:case 177:case 181:case 201:case 221:case 230:case 279:case 330:case 344:case 361:case 390:return[f[$]];case 4:case 114:case 149:case 202:case 222:case 231:case 345:case 362:case 391:return[...f[$-2],f[$]];case 5:case 63:case 184:case 346:return f[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 118:case 123:case 124:case 125:case 126:case 129:case 132:case 133:case 134:case 135:case 136:case 155:case 156:case 157:case 158:case 159:case 160:case 163:case 164:case 165:case 166:case 167:case 172:case 198:case 199:case 205:case 209:case 210:case 211:case 212:case 226:case 227:case 228:case 244:case 245:case 259:case 261:case 290:case 328:case 347:case 348:case 349:case 366:case 368:case 370:case 395:case 398:return f[$];case 49:case 162:return"undefined";case 50:case 161:return"null";case 54:case 168:return["symbol",f[$]];case 60:return["str",...f[$-1]];case 62:case 178:case 182:case 280:return[...f[$-1],f[$]];case 64:case 220:case 224:case 364:case 393:return f[$-2];case 65:return"";case 68:return["regex",f[$-1]];case 69:return["regex-index",f[$-2],f[$]];case 70:return["regex-index",f[$],null];case 71:case 121:return["=",f[$-2],f[$]];case 72:return["=",f[$-3],f[$]];case 73:case 122:return["=",f[$-4],f[$-1]];case 74:return["state",f[$-2],f[$]];case 75:return["state",f[$-3],f[$]];case 76:return["state",f[$-4],f[$-1]];case 77:case 79:return["computed",f[$-2],f[$]];case 78:return["computed",f[$-3],f[$]];case 80:return["readonly",f[$-2],f[$]];case 81:return["readonly",f[$-3],f[$]];case 82:return["readonly",f[$-4],f[$-1]];case 83:case 85:return["effect",f[$-2],f[$]];case 84:return["effect",f[$-3],f[$]];case 86:case 87:case 88:return["effect",null,f[$]];case 94:case 103:case 141:return[".",f[$-2],f[$]];case 95:case 104:case 142:return["?.",f[$-2],f[$]];case 96:case 98:case 105:case 143:return["[]",f[$-3],f[$-1]];case 97:case 99:case 106:case 144:return["[]",f[$-5],f[$-2]];case 100:return[f[$-1][0],f[$-3],...f[$-1].slice(1)];case 101:return["optindex",f[$-4],f[$-1]];case 102:return["optindex",f[$-6],f[$-2]];case 107:return["object-comprehension",f[$-8],f[$-6],[["for-of",f[$-4],f[$-2],!1]],[]];case 108:return["object-comprehension",f[$-10],f[$-8],[["for-of",f[$-6],f[$-4],!1]],[f[$-2]]];case 109:return["object-comprehension",f[$-9],f[$-7],[["for-of",f[$-4],f[$-2],!0]],[]];case 110:return["object-comprehension",f[$-11],f[$-9],[["for-of",f[$-6],f[$-4],!0]],[f[$-2]]];case 111:return["object",...f[$-2]];case 112:case 147:case 179:case 200:case 219:return[];case 115:case 150:case 203:case 223:case 363:case 392:return[...f[$-3],f[$]];case 116:case 151:case 204:case 225:case 365:case 394:return[...f[$-5],...f[$-2]];case 117:return[null,f[$],f[$]];case 119:case 152:return[":",f[$-2],f[$]];case 120:case 153:return[":",f[$-4],f[$-1]];case 127:return["dynamicKey",f[$-1]];case 128:return["[]","this",f[$-1]];case 130:case 131:case 154:case 213:return["...",f[$]];case 137:case 217:return["super",...f[$]];case 138:case 139:case 140:case 215:case 218:return[f[$-1],...f[$]];case 145:return["map-literal"];case 146:return["map-literal",...f[$-2]];case 169:return["array"];case 170:return["array",...f[$-1]];case 171:return["array",...f[$-2],...f[$-1]];case 173:return[...f[$-2],...f[$]];case 174:return[...f[$-3],...f[$]];case 175:return[...f[$-2],...f[$-1]];case 176:return[...f[$-5],...f[$-4],...f[$-2],...f[$-1]];case 180:return[...f[$]];case 183:return null;case 185:return"..";case 186:case 229:return"...";case 187:return[f[$-2],f[$-3],f[$-1]];case 188:case 418:case 420:case 421:case 435:case 437:return[f[$-1],f[$-2],f[$]];case 189:return[f[$],f[$-1],null];case 190:return[f[$-1],null,f[$]];case 191:return[f[$],null,null];case 192:return["def",f[$-4],f[$-2],f[$]];case 193:return["def",f[$-1],[],f[$]];case 194:case 196:return[f[$-1],f[$-3],f[$]];case 195:case 197:return[f[$-1],[],f[$]];case 206:case 329:return["default",f[$-2],f[$]];case 207:return["rest",f[$]];case 208:return["expansion"];case 214:return["tagged-template",f[$-1],f[$]];case 216:return["optcall",f[$-2],...f[$]];case 232:case 233:return"this";case 234:return[".","this",f[$]];case 235:return[".","super",f[$]];case 236:return["[]","super",f[$-1]];case 237:return["[]","super",f[$-2]];case 238:return[".","new",f[$]];case 239:return[".","import",f[$]];case 240:return["block"];case 241:return["block",...f[$-1]];case 242:return f[$-1].length===1?f[$-1][0]:["block",...f[$-1]];case 243:return f[$-2].length===1?f[$-2][0]:["block",...f[$-2]];case 246:return["return",f[$]];case 247:return["return",f[$-1]];case 248:return["return"];case 249:return["throw",f[$]];case 250:return["throw",f[$-1]];case 251:return["yield"];case 252:return["yield",f[$]];case 253:return["yield",f[$-1]];case 254:return["yield-from",f[$]];case 255:return["if",f[$-1],f[$]];case 256:return f[$-4].length===3?["if",f[$-4][1],f[$-4][2],["if",f[$-1],f[$]]]:[...f[$-4],["if",f[$-1],f[$]]];case 257:return["if",["!",f[$-1]],f[$]];case 258:return["if",["!",f[$-3]],f[$-2],f[$]];case 260:return f[$-2].length===3?["if",f[$-2][1],f[$-2][2],f[$]]:[...f[$-2],f[$]];case 262:case 263:return["if",f[$],[f[$-2]]];case 264:return["?:",f[$-4],f[$-6],f[$-1]];case 265:return["?:",f[$-2],f[$-4],f[$]];case 266:case 267:return["if",["!",f[$]],[f[$-2]]];case 268:return["try",f[$]];case 269:return["try",f[$-1],f[$]];case 270:return["try",f[$-2],f[$]];case 271:return["try",f[$-3],f[$-2],f[$]];case 272:case 273:case 400:case 403:case 405:return[f[$-1],f[$]];case 274:return[null,f[$]];case 275:return["switch",f[$-3],f[$-1],null];case 276:return["switch",f[$-5],f[$-3],f[$-1]];case 277:return["switch",null,f[$-1],null];case 278:return["switch",null,f[$-3],f[$-1]];case 281:return["when",f[$-1],f[$]];case 282:return["when",f[$-2],f[$-1]];case 283:return["while",f[$]];case 284:return["while",f[$-2],f[$]];case 285:return["while",["!",f[$]]];case 286:return["while",["!",f[$-2]],f[$]];case 287:return f[$-1].length===2?[f[$-1][0],f[$-1][1],f[$]]:[f[$-1][0],f[$-1][1],f[$-1][2],f[$]];case 288:case 289:return f[$].length===2?[f[$][0],f[$][1],[f[$-1]]]:[f[$][0],f[$][1],f[$][2],[f[$-1]]];case 291:return["loop",f[$]];case 292:return["loop",[f[$]]];case 293:return["loop-n",f[$-1],f[$]];case 294:return["for-in",f[$-3],f[$-1],null,null,f[$]];case 295:return["for-in",f[$-5],f[$-3],null,f[$-1],f[$]];case 296:return["for-in",f[$-5],f[$-3],f[$-1],null,f[$]];case 297:return["for-in",f[$-7],f[$-5],f[$-1],f[$-3],f[$]];case 298:return["for-in",f[$-7],f[$-5],f[$-3],f[$-1],f[$]];case 299:return["for-of",f[$-3],f[$-1],!1,null,f[$]];case 300:return["for-of",f[$-5],f[$-3],!1,f[$-1],f[$]];case 301:return["for-of",f[$-3],f[$-1],!0,null,f[$]];case 302:return["for-of",f[$-5],f[$-3],!0,f[$-1],f[$]];case 303:return["for-as",f[$-3],f[$-1],!1,null,f[$]];case 304:return["for-as",f[$-5],f[$-3],!1,f[$-1],f[$]];case 305:case 307:return["for-as",f[$-3],f[$-1],!0,null,f[$]];case 306:case 308:return["for-as",f[$-5],f[$-3],!0,f[$-1],f[$]];case 309:return["for-in",[],f[$-1],null,null,f[$]];case 310:return["for-in",[],f[$-3],f[$-1],null,f[$]];case 311:return["comprehension",f[$-4],[["for-in",f[$-2],f[$],null]],[]];case 312:return["comprehension",f[$-6],[["for-in",f[$-4],f[$-2],null]],[f[$]]];case 313:return["comprehension",f[$-6],[["for-in",f[$-4],f[$-2],f[$]]],[]];case 314:return["comprehension",f[$-8],[["for-in",f[$-6],f[$-4],f[$]]],[f[$-2]]];case 315:return["comprehension",f[$-8],[["for-in",f[$-6],f[$-4],f[$-2]]],[f[$]]];case 316:return["comprehension",f[$-4],[["for-of",f[$-2],f[$],!1]],[]];case 317:return["comprehension",f[$-6],[["for-of",f[$-4],f[$-2],!1]],[f[$]]];case 318:return["comprehension",f[$-5],[["for-of",f[$-2],f[$],!0]],[]];case 319:return["comprehension",f[$-7],[["for-of",f[$-4],f[$-2],!0]],[f[$]]];case 320:return["comprehension",f[$-4],[["for-as",f[$-2],f[$],!1,null]],[]];case 321:return["comprehension",f[$-6],[["for-as",f[$-4],f[$-2],!1,null]],[f[$]]];case 322:return["comprehension",f[$-5],[["for-as",f[$-2],f[$],!0,null]],[]];case 323:return["comprehension",f[$-7],[["for-as",f[$-4],f[$-2],!0,null]],[f[$]]];case 324:return["comprehension",f[$-4],[["for-as",f[$-2],f[$],!0,null]],[]];case 325:return["comprehension",f[$-6],[["for-as",f[$-4],f[$-2],!0,null]],[f[$]]];case 326:return["comprehension",f[$-2],[["for-in",[],f[$],null]],[]];case 327:return["comprehension",f[$-4],[["for-in",[],f[$-2],f[$]]],[]];case 331:case 367:case 369:case 396:case 397:case 399:return[f[$-2],f[$]];case 332:return["class",null,null];case 333:return["class",null,null,f[$]];case 334:return["class",null,f[$]];case 335:return["class",null,f[$-1],f[$]];case 336:return["class",f[$],null];case 337:return["class",f[$-1],null,f[$]];case 338:return["class",f[$-2],f[$]];case 339:return["class",f[$-3],f[$-1],f[$]];case 340:return["enum",f[$-1],f[$]];case 341:return["schema",f[$]];case 342:return["component",null,["block",...f[$-1]]];case 343:return["component",f[$-3],["block",...f[$-1]]];case 350:return["offer",f[$]];case 351:return["accept",f[$]];case 352:case 353:return["render",f[$]];case 354:case 357:return["import","{}",f[$]];case 355:case 356:return["import",f[$-2],f[$]];case 358:return["import",f[$-4],f[$]];case 359:return["import",f[$-4],f[$-2],f[$]];case 360:return["import",f[$-7],f[$-4],f[$]];case 371:return["*",f[$]];case 372:return["export","{}"];case 373:return["export",f[$-2]];case 374:case 375:case 376:case 377:case 381:case 382:case 383:case 384:return["export",f[$]];case 378:return["export",["=",f[$-2],f[$]]];case 379:return["export",["=",f[$-3],f[$]]];case 380:return["export",["=",f[$-4],f[$-1]]];case 385:return["export-default",f[$]];case 386:return["export-default",f[$-1]];case 387:return["export-all",f[$]];case 388:return["export-from","{}",f[$]];case 389:return["export-from",f[$-4],f[$]];case 401:case 402:case 404:case 440:return["do-iife",f[$]];case 406:return["-",f[$]];case 407:return["+",f[$]];case 408:return["?",f[$-1]];case 409:return["presence",f[$-1]];case 410:return["await",f[$]];case 411:return["await",f[$-1]];case 412:return["--",f[$],!1];case 413:return["++",f[$],!1];case 414:return["--",f[$-1],!0];case 415:return["++",f[$-1],!0];case 416:return["+",f[$-2],f[$]];case 417:return["-",f[$-2],f[$]];case 419:return["**",f[$-2],f[$]];case 422:return["&",f[$-2],f[$]];case 423:return["^",f[$-2],f[$]];case 424:return["|",f[$-2],f[$]];case 425:case 426:case 427:case 428:case 429:case 430:return["control",f[$-1],f[$-2],f[$]];case 431:return["&&",f[$-2],f[$]];case 432:return["||",f[$-2],f[$]];case 433:return["??",f[$-2],f[$]];case 434:return["|>",f[$-2],f[$]];case 436:return["?:",f[$-4],f[$-2],f[$]];case 438:return[f[$-3],f[$-4],f[$-1]];case 439:return[f[$-2],f[$-3],f[$]]}},parseError(u,U){let _,W,f,$,F,Y,Z;if(U.recoverable)return this.trace(u);else throw f=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${f}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${u}`,W=Error(F),W.hash=U,W},parse(u){let U,_,W,f,$,F,Y,Z,G,Q,z,J,X,K,D,w,A,R,O,P,q,B,M,I,H,S;[P,S,Q]=[[0],[null],[]],[X,H,M,B,w]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),R={ctx:{}};for(let N in this.ctx){if(!Object.hasOwn(this.ctx,N))continue;let V=this.ctx[N];R.ctx[N]=V}if(Z.setInput(u,R.ctx),[R.ctx.lexer,R.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};I=Z.loc,Q.push(I),this.parseError=typeof R.ctx.parseError==="function"?R.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let N;if(N=Z.lex()||U,typeof N!=="number")N=this.symbolIds[N]||N;return N},q=K=O=W=D=J=F=z=$=null,A={};while(!0){if(O=P[P.length-1],q==null)q=Y();if(W=X[O]?.[q],W==null){if(f="",!w)$=(()=>{let N=[];for(let V in X[O]){if(!Object.hasOwn(X[O],V))continue;if(this.tokenNames[V]&&V>_)N.push(`'${this.tokenNames[V]}'`)}return N})();throw f=(()=>{if(Z.showPosition)return`Parse error on line ${M+1}:
1
+ (()=>{var{defineProperty:U2,getOwnPropertyNames:n3,getOwnPropertyDescriptor:o3}=Object,a3=Object.prototype.hasOwnProperty;function r3(u){return this[u]}var s3=(u)=>{var U=(C2??=new WeakMap).get(u),_;if(U)return U;if(U=U2({},"__esModule",{value:!0}),u&&typeof u==="object"||typeof u==="function"){for(var W of n3(u))if(!a3.call(U,W))U2(U,W,{get:r3.bind(u,W),enumerable:!(_=o3(u,W))||_.enumerable})}return C2.set(u,U),U},C2;var t3=(u)=>u;function e3(u,U){this[u]=t3.bind(null,U)}var T2=(u,U)=>{for(var _ in U)U2(u,_,{get:U[_],enumerable:!0,configurable:!0,set:e3.bind(U,_)})};var u0={};T2(u0,{rip:()=>z3,processRipScripts:()=>Q3,parser:()=>z1,importRip:()=>I1,getStdlibCode:()=>l1,getReactiveRuntime:()=>m1,getComponentRuntime:()=>k1,formatSExpr:()=>w1,formatErrorHTML:()=>O2,formatError:()=>B1,compileToJS:()=>D1,compile:()=>t1,VERSION:()=>Z3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>x1,CodeEmitter:()=>Y1,BUILD_DATE:()=>G3});var u4={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,Schema:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,ES6_OPTIONAL_INDEX:91,"{":92,ObjAssignable:93,":":94,FOR:95,ForVariables:96,FOROF:97,OptComma:98,"}":99,WHEN:100,OWN:101,AssignList:102,AssignObj:103,ObjRestValue:104,SimpleObjAssignable:105,"[":106,"]":107,"@":108,"...":109,ObjSpreadExpr:110,SUPER:111,Arguments:112,DYNAMIC_IMPORT:113,MAP_START:114,MAP_END:115,MapAssignList:116,MapAssignObj:117,MapAssignable:118,Elisions:119,ArgElisionList:120,OptElisions:121,ArgElision:122,Arg:123,Elision:124,RangeDots:125,"..":126,DEF:127,CALL_START:128,ParamList:129,CALL_END:130,PARAM_START:131,PARAM_END:132,FuncGlyph:133,"->":134,"=>":135,Param:136,ParamVar:137,Splat:138,ES6_OPTIONAL_CALL:139,ArgList:140,SimpleArgs:141,THIS:142,NEW_TARGET:143,IMPORT_META:144,"(":145,")":146,RETURN:147,THROW:148,YIELD:149,FROM:150,IfBlock:151,IF:152,ELSE:153,UnlessBlock:154,UNLESS:155,POST_IF:156,POST_UNLESS:157,TRY:158,Catch:159,FINALLY:160,CATCH:161,SWITCH:162,Whens:163,When:164,LEADING_WHEN:165,WhileSource:166,WHILE:167,UNTIL:168,Loop:169,LOOP:170,FORIN:171,BY:172,FORAS:173,AWAIT:174,FORASAWAIT:175,ForValue:176,CLASS:177,EXTENDS:178,ENUM:179,SCHEMA:180,SCHEMA_BODY:181,COMPONENT:182,ComponentBody:183,ComponentLine:184,OFFER:185,ACCEPT:186,RENDER:187,IMPORT:188,ImportDefaultSpecifier:189,ImportNamespaceSpecifier:190,ImportSpecifierList:191,ImportSpecifier:192,AS:193,DEFAULT:194,IMPORT_ALL:195,EXPORT:196,ExportSpecifierList:197,EXPORT_ALL:198,ExportSpecifier:199,UNARY:200,DO:201,DO_IIFE:202,UNARY_MATH:203,"-":204,"+":205,"?":206,PRESENCE:207,"--":208,"++":209,MATH:210,"**":211,SHIFT:212,COMPARE:213,"&":214,"^":215,"|":216,"||":217,"??":218,"&&":219,PIPE:220,RELATION:221,TERNARY:222,COMPOUND_ASSIGN:223},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"ES6_OPTIONAL_INDEX",92:"{",94:":",95:"FOR",97:"FOROF",99:"}",100:"WHEN",101:"OWN",106:"[",107:"]",108:"@",109:"...",111:"SUPER",113:"DYNAMIC_IMPORT",114:"MAP_START",115:"MAP_END",126:"..",127:"DEF",128:"CALL_START",130:"CALL_END",131:"PARAM_START",132:"PARAM_END",134:"->",135:"=>",139:"ES6_OPTIONAL_CALL",142:"THIS",143:"NEW_TARGET",144:"IMPORT_META",145:"(",146:")",147:"RETURN",148:"THROW",149:"YIELD",150:"FROM",152:"IF",153:"ELSE",155:"UNLESS",156:"POST_IF",157:"POST_UNLESS",158:"TRY",160:"FINALLY",161:"CATCH",162:"SWITCH",165:"LEADING_WHEN",167:"WHILE",168:"UNTIL",170:"LOOP",171:"FORIN",172:"BY",173:"FORAS",174:"AWAIT",175:"FORASAWAIT",177:"CLASS",178:"EXTENDS",179:"ENUM",180:"SCHEMA",181:"SCHEMA_BODY",182:"COMPONENT",185:"OFFER",186:"ACCEPT",187:"RENDER",188:"IMPORT",193:"AS",194:"DEFAULT",195:"IMPORT_ALL",196:"EXPORT",198:"EXPORT_ALL",200:"UNARY",201:"DO",202:"DO_IIFE",203:"UNARY_MATH",204:"-",205:"+",206:"?",207:"PRESENCE",208:"--",209:"++",210:"MATH",211:"**",212:"SHIFT",213:"COMPARE",214:"&",215:"^",216:"|",217:"||",218:"??",219:"&&",220:"PIPE",221:"RELATION",222:"TERNARY",223:"COMPOUND_ASSIGN"},parseTable:(()=>{let u=[112,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,76,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,32,23,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,32,23,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,55,1,5,51,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,144,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,145,146,147,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,62,1,1,5,32,23,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,32,23,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,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,62,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,62,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,62,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,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,148,149,150,151,152,-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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,53,1,5,56,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,29,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,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,153,-200,-200,154,155,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,164,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,163,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,166,167,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,169,170,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,171,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,177,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,178,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,179,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,180,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,181,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,185,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,61,1,5,56,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,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,186,187,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,190,189,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,191,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,192,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,69,10,165,193,2,69,10,165,194,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,198,157,109,159,160,158,104,195,196,87,161,200,197,199,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,201,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,202,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,93,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-332,-332,182,183,184,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-332,165,-332,107,108,-332,203,205,75,76,98,-332,104,-332,-332,-332,-332,-332,87,-332,91,-332,88,89,94,-332,-332,-332,172,-332,173,95,96,90,92,93,86,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,204,176,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,2,69,109,206,207,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,209,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,208,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,210,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,211,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,144,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,212,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-251,213,-251,107,108,-251,55,54,75,76,98,-251,104,-251,-251,-251,-251,-251,87,-251,91,-251,88,89,94,-251,-251,68,-251,172,-251,173,95,96,90,92,93,86,-251,72,66,67,214,56,99,-251,57,100,-251,-251,58,62,59,-251,-251,60,103,-251,-251,-251,51,-251,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,2,58,1,215,109,2,58,1,216,109,1,181,217,6,15,20,96,2,1,1,219,218,44,45,95,96,143,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,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,220,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-248,221,-248,107,108,-248,55,54,75,76,98,-248,104,-248,-248,-248,-248,-248,87,-248,91,-248,88,89,94,-248,-248,68,-248,172,-248,173,95,96,90,92,93,86,-248,72,66,67,56,99,-248,57,100,-248,-248,58,62,59,-248,-248,60,103,-248,-248,-248,51,-248,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,9,57,1,1,3,1,29,97,1,5,222,226,109,110,111,225,223,224,227,63,14,1,3,1,1,1,6,1,4,1,4,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,14,2,3,2,1,13,4,2,1,1,7,1,1,1,32,2,3,12,4,4,182,183,234,235,236,237,229,230,231,232,240,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,233,109,110,111,107,108,55,241,75,76,98,228,87,91,88,89,94,68,172,173,95,96,90,92,93,86,63,69,64,238,239,176,58,1,5,56,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,29,1,1,1,3,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,58,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,56,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,29,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,53,1,5,56,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,29,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,56,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,29,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,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,242,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,243,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,244,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,245,91,255,88,89,94,246,247,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,24,16,257,258,256,144,2,112,16,259,144,53,1,5,56,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,29,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,55,1,5,54,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,260,261,-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,1,86,262,1,86,263,35,6,33,8,2,1,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,-147,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-147,-147,107,108,-147,279,280,271,104,162,161,268,264,265,266,267,86,57,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,57,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,62,1,5,56,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,26,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,56,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,26,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,283,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,284,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,285,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,286,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,288,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,287,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-112,294,105,106,296,109,297,261,110,111,-112,-112,-112,298,289,-112,290,295,299,291,292,293,300,53,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,1,1,1,3,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,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,1,17,2,1,1,7,1,1,1,57,182,183,184,35,36,37,301,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,241,75,76,98,104,87,91,88,89,94,172,173,95,96,90,92,93,86,176,64,1,5,56,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,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,6,57,5,1,1,2,1,305,110,111,302,303,304,114,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-5,306,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,307,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,308,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,309,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,310,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,311,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,312,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,313,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,314,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,315,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,318,168,316,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,317,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,321,168,319,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,320,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,324,168,322,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,323,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,325,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,326,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,327,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,328,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,329,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,333,157,109,159,160,158,104,330,331,87,161,200,332,199,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,334,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,335,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,54,1,5,56,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,29,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,54,1,5,56,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,29,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,2,112,16,336,144,2,60,1,337,261,2,60,1,338,261,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,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,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,2,5,1,8,4,1,1,1,1,1,3,1,339,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,344,80,81,82,83,84,85,105,106,97,109,110,111,340,107,108,342,55,54,75,76,98,341,104,61,87,91,346,88,89,94,343,345,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,88,347,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,348,44,45,95,96,254,349,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,353,261,2,60,1,354,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,355,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,356,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,358,357,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,359,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,361,360,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,362,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,364,363,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,365,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,367,366,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,368,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,370,369,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,371,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,6,63,1,5,23,1,8,8,15,2,-244,-244,-244,373,374,-244,-244,-244,-244,372,6,6,63,1,5,55,2,-201,-201,-201,-201,-201,-201,7,6,63,1,5,1,54,2,-205,-205,-205,-205,375,-205,-205,15,6,52,1,10,1,5,8,1,1,7,14,2,22,2,5,-208,157,109,-208,-208,-208,159,160,158,104,162,161,-208,-208,376,11,6,63,1,5,1,21,33,2,39,2,2,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,11,6,63,1,5,1,21,33,2,39,2,2,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,11,6,63,1,5,1,21,33,2,39,2,2,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,11,6,63,1,5,1,21,33,2,39,2,2,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,2,60,1,260,261,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,245,91,255,88,89,94,246,247,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,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,9,1,5,62,1,1,5,32,23,16,-197,-197,-197,-197,-197,-197,-197,-197,-197,111,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,5,1,8,4,1,1,1,1,1,3,1,378,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,377,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,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,29,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,130,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,123,-403,-403,-403,-403,9,1,5,62,1,1,5,32,23,16,-400,-400,-400,-400,-400,-400,-400,-400,-400,5,156,1,9,1,1,132,133,134,101,102,44,1,5,62,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,29,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,130,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,123,-404,-404,-404,-404,9,1,5,62,1,1,5,32,23,16,-401,-401,-401,-401,-401,-401,-401,-401,-401,44,1,5,62,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,29,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,130,-405,-405,-405,-405,-405,-405,-405,-405,-405,116,-405,-405,-405,-405,-405,-405,123,-405,-405,-405,-405,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,379,-200,-200,154,155,2,69,10,165,163,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,166,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,169,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,5,15,116,2,1,1,219,172,173,95,96,44,1,5,62,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,29,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,130,-406,-406,-406,-406,-406,-406,-406,-406,-406,116,-406,-406,-406,-406,-406,-406,123,-406,-406,-406,-406,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,130,-407,-407,-407,-407,-407,-407,-407,-407,-407,116,-407,-407,-407,-407,-407,-407,123,-407,-407,-407,-407,44,1,5,62,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,29,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,130,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,123,-410,-410,-410,-410,2,84,8,380,104,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-89,-89,-412,-412,-412,-412,-89,-89,-89,-89,-89,-89,-89,-89,-412,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-89,-412,-412,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-89,-89,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,10,57,5,1,23,1,1,3,21,16,11,137,110,111,140,141,142,143,138,144,139,3,86,1,1,145,146,147,53,1,5,56,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,29,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,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-89,-89,-413,-413,-413,-413,-89,-89,-89,-89,-89,-89,-89,-89,-413,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-89,-413,-413,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-89,-89,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,383,381,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,382,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,384,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,3,69,10,73,165,385,386,46,1,5,62,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,29,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,387,388,389,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,4,97,74,2,2,391,390,392,393,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,394,162,161,200,199,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,395,162,161,200,199,3,69,10,93,165,396,397,5,75,22,74,2,2,398,-330,-330,-330,-330,6,75,1,21,74,2,2,-328,399,-328,-328,-328,-328,22,69,26,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,400,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,163,1,1,401,402,403,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,404,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,60,1,5,56,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,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-89,-89,-336,165,-336,-336,-89,-89,-89,405,-89,-89,-89,-89,-89,-336,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-89,-336,-336,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,406,-336,-336,-89,-89,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,1,1,8,4,1,1,1,1,1,3,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,407,408,412,413,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,414,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,131,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,130,101,102,-353,-353,-353,-353,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-249,-249,-249,-249,-249,-249,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,415,104,44,1,5,62,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,29,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,130,-252,-252,-252,-252,-252,-252,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,416,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,417,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,69,10,49,165,419,418,2,69,10,165,420,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,9,1,5,62,1,1,5,32,23,16,-402,-402,-402,-402,-402,-402,-402,-402,-402,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,62,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,29,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,130,-246,-246,-246,-246,-246,-246,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,421,104,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,75,75,423,422,1,150,424,7,58,1,10,30,92,1,2,429,109,428,425,426,427,430,2,75,75,-370,-370,1,193,431,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,85,3,2,-112,294,105,106,436,109,297,261,110,111,435,-112,-112,298,289,432,290,295,299,291,292,293,300,437,433,434,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,13,1,5,62,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,62,1,1,5,32,23,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,438,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,439,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,440,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,150,441,57,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,149,150,151,152,-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,58,1,5,56,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,29,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,2,6,140,112,442,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,443,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,20,12,2,16,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,131,-226,346,444,345,-226,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,445,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,448,-244,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,451,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,5,6,63,1,5,32,-172,-172,-172,-172,-172,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,452,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,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,2,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,-183,-183,-183,-183,-183,-183,5,6,63,1,5,32,-177,-177,-177,-177,-177,6,6,63,1,5,32,23,-227,-227,-227,-227,-227,-227,6,6,63,1,5,32,23,-228,-228,-228,-228,-228,-228,111,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-229,454,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-229,-229,107,108,-229,55,54,75,76,98,104,61,87,-229,91,88,89,94,68,-229,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,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,2,60,1,455,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,456,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,457,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,2,60,1,458,261,2,60,1,459,261,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,461,460,-244,-244,-244,-244,5,6,63,1,5,40,-148,-148,-148,-148,-148,1,94,462,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,463,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,94,-155,1,94,-156,1,94,-157,1,94,-158,1,94,-159,1,94,-160,1,94,-161,1,94,-162,1,94,-163,1,94,-164,1,94,-165,1,94,-166,1,94,-167,1,94,-168,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,464,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,465,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,466,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,131,-285,-285,467,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,130,101,102,-285,-285,-285,-285,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,165,-292,-292,468,-292,-292,131,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,130,101,102,-292,-292,-292,-292,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,19,5,-117,-117,-117,-117,469,-117,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,471,470,-244,-244,-244,-244,7,6,63,1,5,1,18,5,-126,-126,-126,-126,472,-126,-126,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,473,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,60,1,45,260,261,474,6,6,63,1,5,19,5,-129,-129,-129,-129,-129,-129,5,6,63,1,5,24,-113,-113,-113,-113,-113,11,6,63,1,5,1,10,1,1,6,5,29,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,11,6,63,1,5,1,10,1,1,6,5,29,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,11,6,63,1,5,1,10,1,1,6,5,29,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,5,6,63,1,5,24,-118,-118,-118,-118,-118,17,39,4,1,14,1,1,1,23,1,7,13,3,2,1,2,29,3,478,480,479,296,109,297,261,477,298,104,475,91,476,481,482,90,86,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,483,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,6,57,5,1,2,1,1,305,110,111,484,485,304,4,62,1,2,2,-61,-61,-61,-61,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,486,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,488,487,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,76,-4,-4,-4,-4,-4,44,1,5,62,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,29,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,130,-416,-416,-416,-416,-416,-416,-416,-416,115,116,-416,-416,-416,-416,-416,-416,123,-416,-416,-416,-416,44,1,5,62,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,29,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,130,-417,-417,-417,-417,-417,-417,-417,-417,115,116,-417,-417,-417,-417,-417,-417,123,-417,-417,-417,-417,44,1,5,62,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,29,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,130,-418,-418,-418,-418,-418,-418,-418,-418,-418,116,-418,-418,-418,-418,-418,-418,123,-418,-418,-418,-418,44,1,5,62,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,29,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,130,-419,-419,-419,-419,-419,-419,-419,-419,-419,116,-419,-419,-419,-419,-419,-419,123,-419,-419,-419,-419,44,1,5,62,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,29,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,130,-420,-420,-420,-420,-420,-420,114,113,115,116,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,44,1,5,62,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,29,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,130,-421,-421,-421,-421,-421,-421,114,113,115,116,117,-421,-421,-421,-421,-421,123,-421,-421,126,-421,44,1,5,62,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,29,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,130,-422,-422,-422,-422,-422,-422,114,113,115,116,117,118,-422,-422,-422,-422,123,-422,-422,126,-422,44,1,5,62,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,29,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,130,-423,-423,-423,-423,-423,-423,114,113,115,116,117,118,119,-423,-423,-423,123,-423,-423,126,-423,44,1,5,62,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,29,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,130,-424,-424,-424,-424,-424,-424,114,113,115,116,117,118,119,120,-424,-424,123,-424,-424,126,-424,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,44,1,5,62,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,29,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,130,-432,-432,-432,-432,-432,-432,114,113,115,116,117,118,119,120,121,-432,123,124,-432,126,-432,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,131,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,128,129,130,101,102,-433,-433,-433,-433,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,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,29,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,130,-431,-431,-431,-431,-431,-431,114,113,115,116,117,118,119,120,121,-431,123,-431,-431,126,-431,44,1,5,62,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,29,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,130,-434,-434,-434,-434,-434,-434,114,113,115,116,117,118,119,120,121,122,123,124,-434,126,-434,44,1,5,62,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,29,1,5,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,130,-435,-435,-435,-435,-435,-435,114,113,115,116,117,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,22,94,1,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,489,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,131,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,490,-263,-263,130,101,102,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,131,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,130,101,102,-267,-267,-267,-267,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,97,74,2,2,492,491,493,494,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,495,162,161,200,199,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,496,162,161,200,199,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,497,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,131,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,130,101,102,-262,-262,-262,-262,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,131,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,101,102,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,54,1,5,56,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,29,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,62,1,5,56,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,26,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,62,1,5,56,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,26,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,25,89,6,14,16,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,498,131,346,499,345,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,500,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,501,104,61,87,91,346,88,89,94,343,345,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,89,502,1,89,503,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,504,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-191,107,108,55,54,75,76,98,-191,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,505,-48,-48,-48,-70,-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,58,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,58,11,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,506,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,507,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,508,-244,-244,-244,-244,5,6,63,1,5,55,-221,-221,-221,-221,-221,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,44,45,95,96,254,510,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,20,12,23,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,131,-226,-226,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,62,1,5,56,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,26,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,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,511,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,512,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,513,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,514,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,515,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,516,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,517,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,518,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,519,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,520,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,133,1,1,521,95,96,18,6,52,1,10,1,13,1,1,7,7,7,1,1,1,6,15,6,1,-245,157,109,-245,-245,159,160,158,104,-245,162,-245,161,156,-245,-245,522,155,2,6,63,523,524,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,525,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,6,6,63,1,5,55,2,-207,-207,-207,-207,-207,-207,56,1,5,56,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,29,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,-240,-240,-240,2,6,64,112,526,10,6,63,1,5,23,1,8,8,15,2,-244,-244,-244,373,374,-244,-244,-244,-244,527,1,70,528,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,529,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,530,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,531,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,532,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,2,69,10,165,533,6,58,1,10,10,5,8,534,109,165,536,535,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,537,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,538,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,539,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,540,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,541,1,173,542,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,543,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,58,1,24,1,1,7,14,2,29,39,157,109,159,160,158,104,162,161,200,544,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,545,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,163,1,1,546,402,403,4,70,83,11,1,547,548,549,403,3,70,83,12,-279,-279,-279,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,1,3,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,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,551,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,550,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,165,-334,-334,552,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,553,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,2,6,64,555,554,2,6,64,-344,-344,23,6,64,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-348,-348,7,6,64,86,1,9,1,1,-349,-349,132,133,134,101,102,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,556,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,59,557,22,69,26,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,558,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,559,1,70,560,44,1,5,62,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,29,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,-254,-254,-254,130,-254,-254,-254,-254,-254,-254,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,561,-200,-200,154,155,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,1,70,562,3,57,5,1,563,110,111,3,92,98,5,565,564,227,3,57,5,1,566,110,111,1,150,567,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,568,-244,-244,-244,-244,5,6,63,1,5,24,-361,-361,-361,-361,-361,6,58,1,10,122,1,2,429,109,428,570,427,430,6,6,63,1,5,24,94,-366,-366,-366,-366,-366,571,6,6,63,1,5,24,94,-368,-368,-368,-368,-368,572,2,58,1,573,109,14,1,5,62,1,1,5,32,23,16,4,6,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,574,-372,-372,-372,-372,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,575,-244,-244,-244,-244,5,6,63,1,5,24,-390,-390,-390,-390,-390,6,58,1,10,125,3,2,578,109,435,437,577,434,12,6,63,1,5,1,10,1,1,6,5,29,65,-395,-395,-395,-395,-123,-123,-123,-123,-123,-395,-123,579,6,6,63,1,5,24,94,-398,-398,-398,-398,-398,580,107,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,582,581,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,583,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,131,-385,-385,-385,-385,-385,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,8,584,104,3,57,5,1,585,110,111,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,2,6,64,112,586,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,587,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,451,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,5,6,63,1,5,32,-178,-178,-178,-178,-178,2,69,38,589,588,122,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-245,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-245,-245,107,108,251,55,54,75,76,98,104,61,-245,87,-245,91,255,88,89,94,-245,591,590,252,248,68,-245,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,37,592,-179,-179,-179,62,6,5,37,2,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,593,-244,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,20,12,23,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,131,-213,-213,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,53,1,5,56,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,29,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,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,594,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,595,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,53,1,5,56,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,29,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,53,1,5,56,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,29,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,3,6,63,46,597,598,596,36,6,33,8,2,1,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,-245,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-245,-245,107,108,279,280,271,104,-245,162,-245,161,268,-245,599,267,-245,86,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,600,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,601,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,26,6,63,1,5,20,20,41,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,131,-154,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,602,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,603,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,604,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,605,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,606,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,6,63,30,608,609,607,24,6,41,9,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,6,15,-245,294,105,106,296,109,297,261,110,111,-245,-245,298,611,-245,610,299,291,292,-245,293,300,-245,-245,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,612,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,613,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,614,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,615,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,10,6,63,1,5,11,1,1,11,13,16,-130,-130,-130,-130,-132,-132,-132,-130,616,144,10,6,63,1,5,11,1,1,11,13,16,-131,-131,-131,-131,618,619,620,-131,617,144,9,6,63,1,5,11,1,1,11,29,-133,-133,-133,-133,-133,-133,-133,-133,-133,9,6,63,1,5,11,1,1,11,29,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,63,1,5,11,1,1,11,29,-135,-135,-135,-135,-135,-135,-135,-135,-135,9,6,63,1,5,11,1,1,11,29,-136,-136,-136,-136,-136,-136,-136,-136,-136,4,86,2,24,16,257,258,621,144,2,112,16,622,144,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,623,110,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,624,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,625,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,627,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,626,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,628,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,629,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,630,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,631,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,632,1,173,633,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,634,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,62,1,5,56,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,26,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,635,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-189,107,108,55,54,75,76,98,-189,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,25,70,25,14,16,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,636,131,346,499,345,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,637,62,1,5,56,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,26,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,62,1,5,56,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,26,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,23,70,19,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,638,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,639,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,640,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,3,6,63,61,642,643,641,118,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,-245,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-245,-245,107,108,55,54,75,76,98,104,61,-245,87,-245,91,255,88,89,94,-245,644,68,-245,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,645,-244,-244,-244,-244,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,646,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,647,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,648,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,649,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,651,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,165,107,108,650,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,55,2,-202,-202,-202,-202,-202,-202,11,58,1,24,1,1,7,14,2,1,27,1,157,109,159,160,158,104,162,161,156,652,155,18,6,52,1,10,1,5,8,1,1,7,14,2,1,20,1,2,4,1,-200,157,109,-200,-200,-200,159,160,158,104,162,161,156,653,-200,-200,154,155,27,6,63,1,5,20,35,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,-206,-206,131,-206,-206,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,3,133,1,1,654,95,96,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,656,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,165,657,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,69,10,165,658,2,69,10,165,659,44,1,5,62,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,29,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,-274,25,69,10,16,5,56,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,660,131,661,128,129,130,101,102,662,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,663,131,664,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,665,131,666,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,667,131,668,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,669,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,670,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,671,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,97,74,2,2,-331,-331,-331,-331,26,75,20,2,59,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,131,-329,128,129,130,101,102,-329,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,83,11,1,672,673,549,403,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,2,69,10,165,674,3,70,83,12,-280,-280,-280,3,69,6,4,165,676,675,23,69,6,20,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,165,-338,-338,677,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,113,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-346,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-346,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,678,412,413,65,73,74,46,47,71,48,49,50,52,53,23,6,64,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-351,-351,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,1,1,8,4,1,1,1,1,1,3,1,409,410,411,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,679,408,412,413,65,73,74,46,47,71,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,373,374,-244,-244,-244,680,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,150,681,6,58,1,10,122,1,2,429,109,428,682,427,430,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,3,57,5,1,683,110,111,3,6,63,30,685,686,684,11,6,52,1,10,1,29,8,8,15,62,2,-245,429,109,-245,-245,-245,-245,-245,-245,687,430,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,688,-244,-244,-244,-244,2,58,1,689,109,2,58,1,690,109,1,150,-371,3,57,5,1,691,110,111,3,6,63,30,693,694,692,11,6,52,1,10,1,29,8,8,15,64,5,-245,578,109,-245,-245,-245,-245,-245,-245,437,695,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,696,-244,-244,-244,-244,6,6,63,1,5,24,94,-395,-395,-395,-395,-395,579,3,58,1,135,697,109,698,2,58,1,699,109,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,131,-378,-378,-378,-378,-378,130,-378,-378,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,700,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,701,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,70,702,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,1,146,703,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,704,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,250,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,705,249,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,32,-173,-173,-173,-173,-173,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-180,-180,107,108,251,55,54,75,76,98,104,61,87,-180,91,255,88,89,94,447,446,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,251,55,54,75,76,98,104,61,87,91,255,88,89,94,453,706,252,248,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,589,707,53,1,5,56,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,29,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,708,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,29,39,8,2,1,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,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,107,108,279,280,271,104,162,161,268,709,267,86,35,6,33,8,2,1,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,-147,281,272,273,276,275,274,277,278,282,105,106,269,109,270,261,110,111,-147,-147,107,108,-147,279,280,271,104,162,161,268,-147,710,266,267,86,5,6,63,1,5,40,-149,-149,-149,-149,-149,26,6,63,1,5,20,20,41,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,131,-152,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,711,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,2,69,10,165,712,44,1,5,62,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,29,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,130,-284,-284,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-286,-286,-286,-286,-286,-286,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,713,-119,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,714,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,17,47,9,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,294,105,106,296,109,297,261,110,111,298,611,715,299,291,292,293,300,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-112,294,105,106,296,109,297,261,110,111,-112,-112,-112,298,611,-112,716,295,299,291,292,293,300,5,6,63,1,5,24,-114,-114,-114,-114,-114,6,6,63,1,5,19,5,-117,-117,-117,-117,717,-117,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,131,-121,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,718,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,6,6,63,1,5,19,5,-127,-127,-127,-127,-127,-127,22,95,12,49,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,719,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,6,63,1,5,11,1,1,11,29,-139,-139,-139,-139,-139,-139,-139,-139,-139,9,6,63,1,5,11,1,1,11,29,-140,-140,-140,-140,-140,-140,-140,-140,-140,2,60,1,720,261,2,60,1,721,261,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,722,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,723,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,9,6,63,1,5,11,1,1,11,29,-137,-137,-137,-137,-137,-137,-137,-137,-137,9,6,63,1,5,11,1,1,11,29,-138,-138,-138,-138,-138,-138,-138,-138,-138,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,724,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,725,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,-265,-265,-265,-265,-265,131,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,130,101,102,-265,-265,-265,-265,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,726,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,130,-311,-311,-311,727,-311,-311,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,728,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,729,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,130,-320,-320,-320,-320,-320,-320,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,730,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,130,-324,-324,-324,-324,-324,-324,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,731,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,732,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,130,-327,-327,-327,-327,-327,-327,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,733,1,89,734,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,54,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,736,68,44,45,95,96,254,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,2,5,1,8,4,1,1,1,1,1,3,1,352,253,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,351,107,108,55,54,75,76,98,104,61,87,91,255,88,89,94,350,68,44,45,95,96,254,737,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,55,-222,-222,-222,-222,-222,3,6,63,1,642,643,738,1,89,739,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,9,1,5,62,1,1,5,32,23,16,-196,-196,-196,-196,-196,-196,-196,-196,-196,6,6,63,1,5,55,2,-203,-203,-203,-203,-203,-203,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,373,740,-244,-244,-244,-244,2,69,10,165,650,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-256,-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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,44,1,5,62,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,29,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,-272,44,1,5,62,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,29,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,-273,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,741,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,742,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,743,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,744,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,745,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,746,131,747,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,748,131,749,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,69,10,165,750,1,70,751,4,6,64,83,12,752,-281,-281,-281,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,753,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,2,6,64,-345,-345,2,6,64,555,754,2,69,10,165,755,3,57,5,1,756,110,111,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,757,-244,-244,-244,-244,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,150,758,4,58,1,133,2,429,109,759,430,6,58,1,10,122,1,2,429,109,428,760,427,430,5,6,63,1,5,24,-362,-362,-362,-362,-362,3,6,63,1,685,686,761,5,6,63,1,5,24,-367,-367,-367,-367,-367,5,6,63,1,5,24,-369,-369,-369,-369,-369,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,14,1,5,62,1,1,5,32,23,16,4,6,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,762,-373,-373,-373,-373,4,58,1,135,5,578,109,437,763,6,58,1,10,125,3,2,578,109,435,437,764,434,5,6,63,1,5,24,-391,-391,-391,-391,-391,3,6,63,1,693,694,765,5,6,63,1,5,24,-396,-396,-396,-396,-396,5,6,63,1,5,24,-397,-397,-397,-397,-397,5,6,63,1,5,24,-399,-399,-399,-399,-399,30,1,5,62,1,1,5,20,12,23,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,131,-379,-379,-379,-379,-379,130,-379,-379,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,766,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,53,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,10,6,63,1,5,23,1,8,8,6,9,-244,-244,-244,449,450,-244,-244,-244,767,-244,5,6,63,1,5,32,-174,-174,-174,-174,-174,5,6,63,1,5,32,-175,-175,-175,-175,-175,1,89,768,5,6,63,1,5,40,-150,-150,-150,-150,-150,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,461,769,-244,-244,-244,-244,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,14,40,18,1,24,1,1,7,4,5,5,2,29,37,2,333,157,109,159,160,158,104,771,772,87,161,200,332,199,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,773,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,24,-115,-115,-115,-115,-115,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,471,774,-244,-244,-244,-244,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,1,3,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,2,5,1,8,4,1,1,1,1,1,3,1,775,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,606,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,776,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,19,5,-128,-128,-128,-128,-128,-128,9,6,63,1,5,11,1,1,11,29,-141,-141,-141,-141,-141,-141,-141,-141,-141,9,6,63,1,5,11,1,1,11,29,-142,-142,-142,-142,-142,-142,-142,-142,-142,22,89,6,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,777,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,778,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,68,779,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,780,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,781,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,782,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,783,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,784,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,785,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,786,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,787,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,130,-322,-322,-322,-322,-322,-322,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,62,1,5,56,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,26,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,62,1,5,56,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,26,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,1,89,788,5,6,63,1,5,55,-223,-223,-223,-223,-223,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,509,789,-244,-244,-244,-244,5,6,63,1,5,55,-224,-224,-224,-224,-224,62,1,5,56,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,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,3,6,63,1,523,524,790,24,69,10,16,61,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,791,131,128,129,130,101,102,792,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,16,5,56,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,793,131,794,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,795,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,796,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,797,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,798,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,799,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,70,800,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,3,70,83,12,-282,-282,-282,23,69,6,20,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,3,6,63,30,685,686,801,3,57,5,1,802,110,111,5,6,63,1,5,24,-363,-363,-363,-363,-363,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,569,803,-244,-244,-244,-244,5,6,63,1,5,24,-364,-364,-364,-364,-364,3,57,5,1,804,110,111,5,6,63,1,5,24,-392,-392,-392,-392,-392,9,6,63,1,5,23,1,8,8,15,-244,-244,-244,576,805,-244,-244,-244,-244,5,6,63,1,5,24,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,2,69,1,589,806,53,1,5,56,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,29,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,3,6,63,1,597,598,807,5,6,63,1,5,40,-153,-153,-153,-153,-153,4,97,74,2,2,808,491,493,494,11,58,1,24,1,1,7,4,10,2,29,39,157,109,159,160,158,104,809,162,161,200,199,5,6,63,1,5,24,-120,-120,-120,-120,-120,3,6,63,1,608,609,810,26,6,63,1,5,20,4,57,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,131,-119,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,24,-122,-122,-122,-122,-122,9,6,63,1,5,11,1,1,11,29,-143,-143,-143,-143,-143,-143,-143,-143,-143,22,70,25,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,62,1,2,2,-64,-64,-64,-64,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,44,1,5,62,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,29,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,130,-312,-312,-312,812,-312,-312,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,813,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,130,-313,-313,-313,-313,-313,-313,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,130,-321,-321,-321,-321,-321,-321,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,130,-325,-325,-325,-325,-325,-325,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,814,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,815,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,62,1,5,56,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,26,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,3,6,63,1,642,643,816,6,6,63,1,5,55,2,-204,-204,-204,-204,-204,-204,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,817,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,818,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,820,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,1,150,821,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,3,6,63,1,685,686,822,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,3,6,63,1,693,694,823,5,6,63,1,5,32,-176,-176,-176,-176,-176,5,6,63,1,5,40,-151,-151,-151,-151,-151,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,824,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,97,825,5,6,63,1,5,24,-116,-116,-116,-116,-116,1,89,826,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,827,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,828,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,44,1,5,62,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,29,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,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,130,-323,-323,-323,-323,-323,-323,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,55,-225,-225,-225,-225,-225,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,829,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,16,61,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,165,830,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,3,57,5,1,831,110,111,5,6,63,1,5,24,-365,-365,-365,-365,-365,5,6,63,1,5,24,-394,-394,-394,-394,-394,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,834,-316,-316,-316,-316,832,-316,833,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,130,-316,-316,-316,-316,-316,-316,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,835,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,9,6,63,1,5,11,1,1,11,29,-144,-144,-144,-144,-144,-144,-144,-144,-144,44,1,5,62,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,29,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,130,-314,-314,-314,-314,-314,-314,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,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,29,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,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,130,-315,-315,-315,-315,-315,-315,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,43,1,5,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,62,1,1,5,14,5,1,2,2,1,7,2,6,11,4,2,14,7,3,1,10,1,3,1,1,2,29,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,13,1,5,62,1,1,5,32,23,16,10,1,10,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,1,99,836,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,837,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,7,6,63,1,29,8,8,15,-245,-245,-245,-245,-245,-245,-245,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,834,-318,-318,-318,-318,838,-318,839,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,130,-318,-318,-318,-318,-318,-318,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,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,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,834,-317,-317,-317,-317,840,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,130,-317,-317,-317,-317,-317,-317,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,99,841,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,1,13,4,2,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,5,1,8,4,1,1,1,1,1,3,1,842,168,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,172,173,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,174,175,176,48,49,50,52,53,1,99,843,58,1,5,56,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,29,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,45,1,5,62,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,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,834,-319,-319,-319,-319,844,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,130,-319,-319,-319,-319,-319,-319,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,58,1,5,56,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,29,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,1,99,845,58,1,5,56,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,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110],U=[],_=0,W,f,$,F;while(_<u.length){W=u[_++],f={},$=0,F=[];while(W--)$+=u[_++],F.push($);for($ of F)f[$]=u[_++];U.push(f)}return U})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,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,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,102,0,102,1,102,3,102,4,102,6,103,1,103,1,103,3,103,5,103,3,103,5,105,1,105,1,105,1,93,1,93,3,93,4,93,1,104,2,104,2,110,1,110,1,110,1,110,1,110,1,110,2,110,2,110,2,110,2,110,3,110,3,110,4,110,6,46,2,46,4,116,0,116,1,116,3,116,4,116,6,117,3,117,5,117,2,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,118,1,83,2,83,3,83,4,120,1,120,3,120,4,120,4,120,6,122,1,122,2,121,1,121,2,119,1,119,2,124,1,124,2,125,1,125,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,133,1,133,1,129,0,129,1,129,3,129,4,129,6,136,1,136,3,136,2,136,1,137,1,137,1,137,1,137,1,138,2,41,2,41,2,41,3,41,2,41,2,112,2,112,4,140,1,140,3,140,4,140,4,140,6,123,1,123,1,123,1,123,1,141,1,141,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,98,0,98,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,151,3,151,5,154,3,154,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,159,3,159,3,159,2,26,5,26,7,26,4,26,6,163,1,163,2,164,3,164,4,166,2,166,4,166,2,166,4,24,2,24,2,24,2,24,1,169,2,169,2,169,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,176,1,176,3,96,1,96,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,183,1,183,3,183,2,184,1,184,1,184,1,184,2,184,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,191,1,191,3,191,4,191,4,191,6,192,1,192,3,192,1,192,3,189,1,190,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,197,1,197,3,197,4,197,4,197,6,199,1,199,3,199,3,199,1,199,3,36,2,36,2,36,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,42,2],ruleActions:(u,U,_,W)=>{let f=U,$=U.length-1;switch(u){case 1:return["program"];case 2:return["program",...f[$]];case 3:case 61:case 113:case 148:case 177:case 181:case 201:case 221:case 230:case 279:case 330:case 344:case 361:case 390:return[f[$]];case 4:case 114:case 149:case 202:case 222:case 231:case 345:case 362:case 391:return[...f[$-2],f[$]];case 5:case 63:case 184:case 346:return f[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 118:case 123:case 124:case 125:case 126:case 129:case 132:case 133:case 134:case 135:case 136:case 155:case 156:case 157:case 158:case 159:case 160:case 163:case 164:case 165:case 166:case 167:case 172:case 198:case 199:case 205:case 209:case 210:case 211:case 212:case 226:case 227:case 228:case 244:case 245:case 259:case 261:case 290:case 328:case 347:case 348:case 349:case 366:case 368:case 370:case 395:case 398:return f[$];case 49:case 162:return"undefined";case 50:case 161:return"null";case 54:case 168:return["symbol",f[$]];case 60:return["str",...f[$-1]];case 62:case 178:case 182:case 280:return[...f[$-1],f[$]];case 64:case 220:case 224:case 364:case 393:return f[$-2];case 65:return"";case 68:return["regex",f[$-1]];case 69:return["regex-index",f[$-2],f[$]];case 70:return["regex-index",f[$],null];case 71:case 121:return["=",f[$-2],f[$]];case 72:return["=",f[$-3],f[$]];case 73:case 122:return["=",f[$-4],f[$-1]];case 74:return["state",f[$-2],f[$]];case 75:return["state",f[$-3],f[$]];case 76:return["state",f[$-4],f[$-1]];case 77:case 79:return["computed",f[$-2],f[$]];case 78:return["computed",f[$-3],f[$]];case 80:return["readonly",f[$-2],f[$]];case 81:return["readonly",f[$-3],f[$]];case 82:return["readonly",f[$-4],f[$-1]];case 83:case 85:return["effect",f[$-2],f[$]];case 84:return["effect",f[$-3],f[$]];case 86:case 87:case 88:return["effect",null,f[$]];case 94:case 103:case 141:return[".",f[$-2],f[$]];case 95:case 104:case 142:return["?.",f[$-2],f[$]];case 96:case 98:case 105:case 143:return["[]",f[$-3],f[$-1]];case 97:case 99:case 106:case 144:return["[]",f[$-5],f[$-2]];case 100:return[f[$-1][0],f[$-3],...f[$-1].slice(1)];case 101:return["optindex",f[$-4],f[$-1]];case 102:return["optindex",f[$-6],f[$-2]];case 107:return["object-comprehension",f[$-8],f[$-6],[["for-of",f[$-4],f[$-2],!1]],[]];case 108:return["object-comprehension",f[$-10],f[$-8],[["for-of",f[$-6],f[$-4],!1]],[f[$-2]]];case 109:return["object-comprehension",f[$-9],f[$-7],[["for-of",f[$-4],f[$-2],!0]],[]];case 110:return["object-comprehension",f[$-11],f[$-9],[["for-of",f[$-6],f[$-4],!0]],[f[$-2]]];case 111:return["object",...f[$-2]];case 112:case 147:case 179:case 200:case 219:return[];case 115:case 150:case 203:case 223:case 363:case 392:return[...f[$-3],f[$]];case 116:case 151:case 204:case 225:case 365:case 394:return[...f[$-5],...f[$-2]];case 117:return[null,f[$],f[$]];case 119:case 152:return[":",f[$-2],f[$]];case 120:case 153:return[":",f[$-4],f[$-1]];case 127:return["dynamicKey",f[$-1]];case 128:return["[]","this",f[$-1]];case 130:case 131:case 154:case 213:return["...",f[$]];case 137:case 217:return["super",...f[$]];case 138:case 139:case 140:case 215:case 218:return[f[$-1],...f[$]];case 145:return["map-literal"];case 146:return["map-literal",...f[$-2]];case 169:return["array"];case 170:return["array",...f[$-1]];case 171:return["array",...f[$-2],...f[$-1]];case 173:return[...f[$-2],...f[$]];case 174:return[...f[$-3],...f[$]];case 175:return[...f[$-2],...f[$-1]];case 176:return[...f[$-5],...f[$-4],...f[$-2],...f[$-1]];case 180:return[...f[$]];case 183:return null;case 185:return"..";case 186:case 229:return"...";case 187:return[f[$-2],f[$-3],f[$-1]];case 188:case 418:case 420:case 421:case 435:case 437:return[f[$-1],f[$-2],f[$]];case 189:return[f[$],f[$-1],null];case 190:return[f[$-1],null,f[$]];case 191:return[f[$],null,null];case 192:return["def",f[$-4],f[$-2],f[$]];case 193:return["def",f[$-1],[],f[$]];case 194:case 196:return[f[$-1],f[$-3],f[$]];case 195:case 197:return[f[$-1],[],f[$]];case 206:case 329:return["default",f[$-2],f[$]];case 207:return["rest",f[$]];case 208:return["expansion"];case 214:return["tagged-template",f[$-1],f[$]];case 216:return["optcall",f[$-2],...f[$]];case 232:case 233:return"this";case 234:return[".","this",f[$]];case 235:return[".","super",f[$]];case 236:return["[]","super",f[$-1]];case 237:return["[]","super",f[$-2]];case 238:return[".","new",f[$]];case 239:return[".","import",f[$]];case 240:return["block"];case 241:return["block",...f[$-1]];case 242:return f[$-1].length===1?f[$-1][0]:["block",...f[$-1]];case 243:return f[$-2].length===1?f[$-2][0]:["block",...f[$-2]];case 246:return["return",f[$]];case 247:return["return",f[$-1]];case 248:return["return"];case 249:return["throw",f[$]];case 250:return["throw",f[$-1]];case 251:return["yield"];case 252:return["yield",f[$]];case 253:return["yield",f[$-1]];case 254:return["yield-from",f[$]];case 255:return["if",f[$-1],f[$]];case 256:return f[$-4].length===3?["if",f[$-4][1],f[$-4][2],["if",f[$-1],f[$]]]:[...f[$-4],["if",f[$-1],f[$]]];case 257:return["if",["!",f[$-1]],f[$]];case 258:return["if",["!",f[$-3]],f[$-2],f[$]];case 260:return f[$-2].length===3?["if",f[$-2][1],f[$-2][2],f[$]]:[...f[$-2],f[$]];case 262:case 263:return["if",f[$],[f[$-2]]];case 264:return["?:",f[$-4],f[$-6],f[$-1]];case 265:return["?:",f[$-2],f[$-4],f[$]];case 266:case 267:return["if",["!",f[$]],[f[$-2]]];case 268:return["try",f[$]];case 269:return["try",f[$-1],f[$]];case 270:return["try",f[$-2],f[$]];case 271:return["try",f[$-3],f[$-2],f[$]];case 272:case 273:case 400:case 403:case 405:return[f[$-1],f[$]];case 274:return[null,f[$]];case 275:return["switch",f[$-3],f[$-1],null];case 276:return["switch",f[$-5],f[$-3],f[$-1]];case 277:return["switch",null,f[$-1],null];case 278:return["switch",null,f[$-3],f[$-1]];case 281:return["when",f[$-1],f[$]];case 282:return["when",f[$-2],f[$-1]];case 283:return["while",f[$]];case 284:return["while",f[$-2],f[$]];case 285:return["while",["!",f[$]]];case 286:return["while",["!",f[$-2]],f[$]];case 287:return f[$-1].length===2?[f[$-1][0],f[$-1][1],f[$]]:[f[$-1][0],f[$-1][1],f[$-1][2],f[$]];case 288:case 289:return f[$].length===2?[f[$][0],f[$][1],[f[$-1]]]:[f[$][0],f[$][1],f[$][2],[f[$-1]]];case 291:return["loop",f[$]];case 292:return["loop",[f[$]]];case 293:return["loop-n",f[$-1],f[$]];case 294:return["for-in",f[$-3],f[$-1],null,null,f[$]];case 295:return["for-in",f[$-5],f[$-3],null,f[$-1],f[$]];case 296:return["for-in",f[$-5],f[$-3],f[$-1],null,f[$]];case 297:return["for-in",f[$-7],f[$-5],f[$-1],f[$-3],f[$]];case 298:return["for-in",f[$-7],f[$-5],f[$-3],f[$-1],f[$]];case 299:return["for-of",f[$-3],f[$-1],!1,null,f[$]];case 300:return["for-of",f[$-5],f[$-3],!1,f[$-1],f[$]];case 301:return["for-of",f[$-3],f[$-1],!0,null,f[$]];case 302:return["for-of",f[$-5],f[$-3],!0,f[$-1],f[$]];case 303:return["for-as",f[$-3],f[$-1],!1,null,f[$]];case 304:return["for-as",f[$-5],f[$-3],!1,f[$-1],f[$]];case 305:case 307:return["for-as",f[$-3],f[$-1],!0,null,f[$]];case 306:case 308:return["for-as",f[$-5],f[$-3],!0,f[$-1],f[$]];case 309:return["for-in",[],f[$-1],null,null,f[$]];case 310:return["for-in",[],f[$-3],f[$-1],null,f[$]];case 311:return["comprehension",f[$-4],[["for-in",f[$-2],f[$],null]],[]];case 312:return["comprehension",f[$-6],[["for-in",f[$-4],f[$-2],null]],[f[$]]];case 313:return["comprehension",f[$-6],[["for-in",f[$-4],f[$-2],f[$]]],[]];case 314:return["comprehension",f[$-8],[["for-in",f[$-6],f[$-4],f[$]]],[f[$-2]]];case 315:return["comprehension",f[$-8],[["for-in",f[$-6],f[$-4],f[$-2]]],[f[$]]];case 316:return["comprehension",f[$-4],[["for-of",f[$-2],f[$],!1]],[]];case 317:return["comprehension",f[$-6],[["for-of",f[$-4],f[$-2],!1]],[f[$]]];case 318:return["comprehension",f[$-5],[["for-of",f[$-2],f[$],!0]],[]];case 319:return["comprehension",f[$-7],[["for-of",f[$-4],f[$-2],!0]],[f[$]]];case 320:return["comprehension",f[$-4],[["for-as",f[$-2],f[$],!1,null]],[]];case 321:return["comprehension",f[$-6],[["for-as",f[$-4],f[$-2],!1,null]],[f[$]]];case 322:return["comprehension",f[$-5],[["for-as",f[$-2],f[$],!0,null]],[]];case 323:return["comprehension",f[$-7],[["for-as",f[$-4],f[$-2],!0,null]],[f[$]]];case 324:return["comprehension",f[$-4],[["for-as",f[$-2],f[$],!0,null]],[]];case 325:return["comprehension",f[$-6],[["for-as",f[$-4],f[$-2],!0,null]],[f[$]]];case 326:return["comprehension",f[$-2],[["for-in",[],f[$],null]],[]];case 327:return["comprehension",f[$-4],[["for-in",[],f[$-2],f[$]]],[]];case 331:case 367:case 369:case 396:case 397:case 399:return[f[$-2],f[$]];case 332:return["class",null,null];case 333:return["class",null,null,f[$]];case 334:return["class",null,f[$]];case 335:return["class",null,f[$-1],f[$]];case 336:return["class",f[$],null];case 337:return["class",f[$-1],null,f[$]];case 338:return["class",f[$-2],f[$]];case 339:return["class",f[$-3],f[$-1],f[$]];case 340:return["enum",f[$-1],f[$]];case 341:return["schema",f[$]];case 342:return["component",null,["block",...f[$-1]]];case 343:return["component",f[$-3],["block",...f[$-1]]];case 350:return["offer",f[$]];case 351:return["accept",f[$]];case 352:case 353:return["render",f[$]];case 354:case 357:return["import","{}",f[$]];case 355:case 356:return["import",f[$-2],f[$]];case 358:return["import",f[$-4],f[$]];case 359:return["import",f[$-4],f[$-2],f[$]];case 360:return["import",f[$-7],f[$-4],f[$]];case 371:return["*",f[$]];case 372:return["export","{}"];case 373:return["export",f[$-2]];case 374:case 375:case 376:case 377:case 381:case 382:case 383:case 384:return["export",f[$]];case 378:return["export",["=",f[$-2],f[$]]];case 379:return["export",["=",f[$-3],f[$]]];case 380:return["export",["=",f[$-4],f[$-1]]];case 385:return["export-default",f[$]];case 386:return["export-default",f[$-1]];case 387:return["export-all",f[$]];case 388:return["export-from","{}",f[$]];case 389:return["export-from",f[$-4],f[$]];case 401:case 402:case 404:case 440:return["do-iife",f[$]];case 406:return["-",f[$]];case 407:return["+",f[$]];case 408:return["?",f[$-1]];case 409:return["presence",f[$-1]];case 410:return["await",f[$]];case 411:return["await",f[$-1]];case 412:return["--",f[$],!1];case 413:return["++",f[$],!1];case 414:return["--",f[$-1],!0];case 415:return["++",f[$-1],!0];case 416:return["+",f[$-2],f[$]];case 417:return["-",f[$-2],f[$]];case 419:return["**",f[$-2],f[$]];case 422:return["&",f[$-2],f[$]];case 423:return["^",f[$-2],f[$]];case 424:return["|",f[$-2],f[$]];case 425:case 426:case 427:case 428:case 429:case 430:return["control",f[$-1],f[$-2],f[$]];case 431:return["&&",f[$-2],f[$]];case 432:return["||",f[$-2],f[$]];case 433:return["??",f[$-2],f[$]];case 434:return["|>",f[$-2],f[$]];case 436:return["?:",f[$-4],f[$-2],f[$]];case 438:return[f[$-3],f[$-4],f[$-1]];case 439:return[f[$-2],f[$-3],f[$]]}},parseError(u,U){let _,W,f,$,F,Y,Z;if(U.recoverable)return this.trace(u);else throw f=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${f}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${u}`,W=Error(F),W.hash=U,W},parse(u){let U,_,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B,D,I,M,S;[P,S,Q]=[[0],[null],[]],[w,M,D,B,A]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),R={ctx:{}};for(let N in this.ctx){if(!Object.hasOwn(this.ctx,N))continue;let V=this.ctx[N];R.ctx[N]=V}if(Z.setInput(u,R.ctx),[R.ctx.lexer,R.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};I=Z.loc,Q.push(I),this.parseError=typeof R.ctx.parseError==="function"?R.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let N;if(N=Z.lex()||U,typeof N!=="number")N=this.symbolIds[N]||N;return N},q=K=O=W=H=X=F=z=$=null,J={};while(!0){if(O=P[P.length-1],q==null)q=Y();if(W=w[O]?.[q],W==null){if(f="",!A)$=(()=>{let N=[];for(let V in w[O]){if(!Object.hasOwn(w[O],V))continue;if(this.tokenNames[V]&&V>_)N.push(`'${this.tokenNames[V]}'`)}return N})();throw f=(()=>{if(Z.showPosition)return`Parse error on line ${D+1}:
2
2
  ${Z.showPosition()}
3
- Expecting ${$.join(", ")}, got '${this.tokenNames[q]||q}'`;else return`Parse error on line ${M+1}: Unexpected ${q===U?"end of input":`'${this.tokenNames[q]||q}'`}`,this.parseError(f,{text:Z.match,token:this.tokenNames[q]||q,line:Z.line,loc:I,expected:$})})(),Error(f)}if(W>0)if(P.push(q,W),S.push(Z.text),Q.push(Z.loc),q=null,!K){if([B,H,M,I]=[Z.len,Z.text,Z.line,Z.loc],w>0)w--}else[q,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],A.$=S[S.length-F],G=Q[Q.length-(F||1)],A._$={r:G.r,c:G.c},D=this.ruleActions.call(A,-W,S,Q,R.ctx),D!=null)A.$=D;if(Array.isArray(A.$))A.$.loc=A._$;if(F)P.length-=F*2,S.length-=F,Q.length-=F;P.push(this.ruleTable[-W*2]),S.push(A.$),Q.push(A._$),z=X[P[P.length-2]][P[P.length-1]],P.push(z)}else if(W===0)return S[S.length-1]}},trace(){},ctx:{}},u4=(u={})=>{let U=Object.create(e3);return Object.defineProperty(U,"ctx",{value:{...u},enumerable:!1,writable:!0,configurable:!0}),U},z1=u4();var f0=z1.parse.bind(z1);var f4=new Set(["input","shape","model","mixin","enum"]),y2="input",$4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),U4=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function n1(u,U){if(u)u.prototype.rewriteSchema=function(){W4(this)},v1._LexerCtor=u;if(U)U.prototype.emitSchema=function(_,W,f){return O4(this,_,W,f)},U.prototype.getSchemaRuntime=function(){return y4()}}var T2=new Set(["defaultMaxString"]);function W4(u){let U=u.tokens,_={defaultMaxString:null},W=0,f=0;while(f<U.length){let $=U[f];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=_4(U,f,_,W);if(F>0){U.splice(f,F);continue}if(Y4(U,f))F4(u,U,f,_);f++}}function _4(u,U,_,W){let f=u[U];if(!f||f[0]!=="IDENTIFIER"||f[1]!=="schema")return 0;if(u[U+1]?.[0]!==".")return 0;let $=u[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(u[U+3]?.[0]!=="=")return 0;let F=u[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!T2.has(Y))throw v($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...T2].join(", ")}.`);if(W>0)throw v($,`Schema pragma 'schema.${Y}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let Z=u[U+4];if(!Z||Z[0]!=="NUMBER")throw v(Z||$,`Pragma 'schema.${Y}' requires a number literal. Example: schema.${Y} = 100.`);let G=Number(Z[1]);if(!Number.isFinite(G)||G<0||!Number.isInteger(G))throw v(Z,`Pragma 'schema.${Y}' expects a non-negative integer (got ${Z[1]}). Use 0 to disable.`);_[Y]=G===0?null:G;let Q=U+5;if(u[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function Y4(u,U){let _=u[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=u[U-1];if(W){let $=W[0];if($==="."||$==="?.")return!1;if(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"||W[0]===")"||W[0]==="]"||W[0]==="}"||W[0]==="STRING"||W[0]==="NUMBER"){if(!U4.has($))return!1}}let f=U+1;if(u[f]?.[0]==="SYMBOL")f++;if(u[f]?.[0]==="TERMINATOR"){if(u[f][1]===";")return!0;f++}return u[f]?.[0]==="INDENT"}function F4(u,U,_,W){let f=U[_],$=null,F=y2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let X=$[1];if(!f4.has(X))throw v($,`Unknown schema kind :${X}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=X,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let X=Y+1,K=X,D=0,w=U[X]?.loc?.r??null;while(K<U.length){let A=U[K],R=A[0];if(D===0&&w!=null&&A.loc&&A.loc.r>w)break;if(R==="("||R==="["||R==="{"||R==="CALL_START"||R==="INDEX_START"||R==="PARAM_START")D++;else if(R===")"||R==="]"||R==="}"||R==="CALL_END"||R==="INDEX_END"||R==="PARAM_END")D--;else if(D===0&&R==="TERMINATOR"&&A[1]!==";")break;else if(D===0&&(R==="INDENT"||R==="OUTDENT"))break;else if(D===0&&R==="->")throw v(A,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(D===0&&R==="EFFECT")throw v(A,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(D===0&&R==="UNARY_MATH"&&A[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw v(A,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>X&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(X,K),G=K,!Z.length)throw v(f,`Inline schema body is empty. Either add '; field; …' entries after 'schema${$?" :"+F:""};' or switch to the indented form.`)}else{if(U[Y]?.[0]==="TERMINATOR")Y++;if(U[Y]?.[0]!=="INDENT")throw v(f,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let X=Y,K=b4(U,X);if(K<0)throw v(U[X],"Unterminated schema body.");Z=U.slice(X+1,K),G=K+1}let Q=Z4(F,Z,{schemaLoc:f.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=_2("SCHEMA","schema",f),J=_2("SCHEMA_BODY",F,f);J.data={descriptor:Q},U.splice(_,G-_,z,J)}function Z4(u,U,_){let W=[],f=G4(U);if(u===y2&&!_.kindLoc&&f.length>0&&f[0][0]?.[0]==="SYMBOL")u="enum",_.kind="enum";if(u==="enum")for(let $ of f)D4($,W);else{for(let $ of f)z4(u,$,W,_);if(u==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw v({loc:$.headerLoc||$.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(u==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:input schemas are fields-only. '${$.name}' is a ${$.tag}; use :shape or :model if you need behavior.`);if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(u==="shape")for(let $ of W){if($.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:shape schemas don't have lifecycle hooks. '${$.name}' runs only on :model; move it or remove it.`);if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:u,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function G4(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(f)}if(_.length)U.push(_);return U}var Q4=new Set(["string","email","url","phone","zip"]);function z4(u,U,_,W){let f=U[0];if(!f)return;if(f[0]==="@"){let B=U[1];if(!B||B[0]!=="IDENTIFIER"&&B[0]!=="PROPERTY")throw v(f,"Expected directive name after '@'.");let M=U.slice(2),I=B[1];if(I==="ensure"){let S=w4(M,f);for(let N of S)_.push({tag:"ensure",name:"ensure",message:N.message,paramTokens:N.paramTokens,bodyTokens:N.bodyTokens,loc:N.loc,headerLoc:f.loc});return}let H=null;if(I==="belongs_to"||I==="has_many"||I==="has_one"||I==="one"||I==="many"||I==="mixin"){let S=M[0];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")){let N=S.data?.predicate===!0;if(!N&&M[1]?.[0]==="?")N=!0;H=[{target:S[1],optional:N}]}}_.push({tag:"directive",name:I,args:H,argTokens:M,loc:f.loc});return}if(f[0]==="PROPERTY"){X4(u,f,U,_);return}if(f[0]!=="IDENTIFIER")throw v(f,`Unexpected ${f[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=f[1];if(U[1]?.[0]===":")throw v(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=j4(f),Y=1;while(Y<U.length){let B=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(B[0]==="#"||B[0]==="?"||B[0]==="!"){F.push(B[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw v(Z,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let G="string",Q=null;if(Z?.[0]==="IDENTIFIER")G=Z[1],Y++;else if(Z?.[0]==="STRING"){Q=[JSON.parse(Z[1])],Y++;while(U[Y]?.[0]==="|"&&U[Y+1]?.[0]==="STRING")Y++,Q.push(JSON.parse(U[Y][1])),Y++;if(U[Y]?.[0]==="|"){let B=U[Y+1],M=B?.[0]??"<end>";throw v(B||U[Y],`Literal unions contain string literals only. '${M}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw v(Z,`Literal union needs at least two string literals. Use '${JSON.stringify(Q[0])}' as a default with '[${JSON.stringify(Q[0])}]' instead.`);G="literal-union"}let z=!1,J=U[Y]?.[0],X=U[Y+1]?.[0];if((J==="["||J==="INDEX_START")&&(X==="]"||X==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw v(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let w=null,A=null,R=null,O=null,P=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let B=g1(K);for(let M=0;M<B.length;M++){let I=B[M];while(I.length&&(I[0][0]==="INDENT"||I[0][0]==="TERMINATOR"))I=I.slice(1);if(!I.length)continue;if(I[0][0]!=="->"){let S=A4(I);if(S>0)throw v(I[S],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let H=I[0];if(H[0]!=="->"){while(I.length&&(I[I.length-1][0]==="OUTDENT"||I[I.length-1][0]==="TERMINATOR"))I=I.slice(0,-1);if(!I.length)continue;H=I[0]}if(H[0]==="["||H[0]==="INDEX_START"){if(w)throw v(H,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);w=I}else if(H[0]==="{"){if(A)throw v(H,`Field '${$}' has more than one '{…}' attrs bracket.`);A=I}else if(J4(I)){if(R)throw v(H,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);R=I}else if(H[0]==="REGEX"&&I.length===1){if(O)throw v(H,`Field '${$}' has more than one regex constraint.`);O=H}else if(H[0]==="->"){if(M!==B.length-1)throw v(H,`Transform '-> …' must be the last element on the field line for '${$}'.`);P=I.slice(1)}else throw v(H,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw v(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let q=null;if(W?.defaultMaxString!=null&&!O&&!Q&&Q4.has(G))q=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:w,attrsTokens:A,rangeTokens:R,regexToken:O,transformTokens:P,defaultMax:q,loc:f.loc})}function A4(u){let U=0;for(let _=0;_<u.length;_++){let W=u[_][0];if(W==="("||W==="["||W==="{"||W==="CALL_START"||W==="INDEX_START"||W==="PARAM_START")U++;else if(W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="INDEX_END"||W==="PARAM_END")U--;else if(U===0&&W==="->")return _}return-1}function J4(u){let U=0,_=!1;if(u[U]?.[0]==="-"&&u[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(u[U]?.[0]==="NUMBER")U++,_=!0;if(u[U]?.[0]!=="..")return!1;U++;let W=!1;if(u[U]?.[0]==="-"&&u[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(u[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===u.length}function X4(u,U,_,W){let f=U[1],$=_[1];if(!$||$[0]!==":")throw v(U,`Expected ':' after '${f}' before arrow.`);let F=_[2],Y=_[3],Z,G,Q;if(F&&F[0]==="->")Z="->",G=F.loc,Q=3;else if(F&&F[0]==="EFFECT")Z="~>",G=F.loc,Q=3;else if(F&&F[0]==="UNARY_MATH"&&F[1]==="!"&&Y&&Y[0]==="COMPARE"&&Y[1]===">"&&!F.spaced)Z="!>",G=F.loc,Q=4;else throw v($,`Schema top-level '${f}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),J=$4.has(f),X;if(Z==="~>")X="computed";else if(Z==="!>")X="derived";else if(u==="model"&&J)X="hook";else X="method";W.push({tag:X,name:f,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function w4(u,U){let _=u;if(!_.length)throw v(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(_[0]?.[0]==="CALL_START"&&_[_.length-1]?.[0]==="CALL_END")_=_.slice(1,-1);if(!_.length)throw v(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=K4(_,W),F=M4($);if(F.length===0)throw v(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw v(W,`@ensure [...] must have pairs of 'message, fn' (got ${F.length} elements; odd count).`);let Y=[];for(let Z=0;Z<F.length;Z+=2)Y.push(j2(F[Z],F[Z+1],W));return Y}let f=g1(_);if(f.length<2)throw v(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(f.length>2)throw v(W,`@ensure inline form takes exactly 'message, fn' (got ${f.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[j2(f[0],f[1],W)]}function K4(u,U){let _=0,W=[];for(let f=0;f<u.length;f++){let $=u[f],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(f<u.length-1)throw v(u[f+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(W.length>=2&&W[0][0]==="INDENT"&&W[W.length-1][0]==="OUTDENT"){let Y=0,Z=!1;for(let G=0;G<W.length;G++)if(W[G][0]==="INDENT")Y++;else if(W[G][0]==="OUTDENT"){if(Y--,Y===0&&G===W.length-1){Z=!0;break}if(Y===0)break}if(Z)W=W.slice(1,-1)}return W}}if(_>=1)W.push($)}throw v(U,"@ensure: unclosed '['.")}function M4(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if(W===0&&($===","||$==="TERMINATOR")){if(_.length)U.push(_),_=[];continue}_.push(f)}if(_.length)U.push(_);return U}function j2(u,U,_){if(!u||!u.length)throw v(_,"@ensure: missing message (expected a string literal).");if(u.length!==1||u[0][0]!=="STRING")throw v(u[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=u[0],f=JSON.parse(W[1]);if(!U||!U.length)throw v(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw v($,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let F=1,Y=1,Z=[];while(Y<U.length&&F>0){let z=U[Y],J=z[0];if(J==="("||J==="PARAM_START")F++;if(J===")"||J==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw v($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw v(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw v(G,"@ensure: predicate function body is empty.");return{message:f,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function H4(u,U){if(!u.length)return[];return g1(u).map((W)=>{let f=W.filter(($)=>$[0]!=="TERMINATOR");if(f.length!==1||f[0][0]!=="IDENTIFIER")throw v(f[0]||U,"@ensure: predicate parameters must be plain identifiers.");return f[0][1]})}function D4(u,U){let _=u[0];if(!_)return;if(_[0]==="@"){let $=u[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw v(_,`:enum schemas don't accept '@${F}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(_[0]!=="SYMBOL")throw v(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],f=u[1];if(!f){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(f[0]===":")throw v(f,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(u.length>2)throw v(u[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:h4(f),loc:_.loc})}function O4(u,U,_,W){let f=_[0],$=q4(f);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");u.usesSchemas=!0;let F=u._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>R4(u,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function q4(u){if(u&&typeof u==="object"){if(u.descriptor)return u.descriptor;if(u.data?.descriptor)return u.data.descriptor}return null}function R4(u,U){switch(U.tag){case"field":{let _=['tag: "field"',`name: ${JSON.stringify(U.name)}`,`modifiers: ${JSON.stringify(U.modifiers)}`,`typeName: ${JSON.stringify(U.typeName)}`,`array: ${U.array?"true":"false"}`];if(U.literals)_.push(`literals: ${JSON.stringify(U.literals)}`);let W=U.rangeTokens?E4(U.rangeTokens,U):null,f=U.constraintTokens?S4(U.constraintTokens,U):null,$=U.regexToken?N4(U.regexToken):null,F=L4(W,f,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${B4(u,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=C4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=I4(u,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=P4(u,U);return`{${[`tag: ${JSON.stringify(U.tag)}`,`name: ${JSON.stringify(U.name)}`,`fn: ${_}`].join(", ")}}`}case"enum-member":{let _=['tag: "enum-member"',`name: ${JSON.stringify(U.name)}`];if(U.value!==void 0)_.push(`value: ${JSON.stringify(U.value)}`);return`{${_.join(", ")}}`}default:return'{tag: "unknown"}'}}function P4(u,U){let _=v1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return u.emit(W,"value")}function B4(u,U){let _=v1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return u.emit(W,"value")}function I4(u,U){let _=v1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let f=["->",H4(U.paramTokens,U),_];return u.emit(f,"value")}function S4(u,U){let _=u.slice(1,-1),W=g1(_);if(!W.length)return{c:null};let f=W.map(($)=>v2($,U));if(f.length===1){let $=f[0];if($ instanceof RegExp)throw v(u[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(f.length===2&&typeof f[0]==="number"&&typeof f[1]==="number")throw v(u[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${f[0]}, ${f[1]}]' with '${f[0]}..${f[1]}'.`);if(f.length===3&&f.every(($)=>typeof $==="number"))throw v(u[0],`Range + default is two separate constraints in v2. Replace '[${f[0]}, ${f[1]}, ${f[2]}]' with '${f[0]}..${f[1]}, [${f[2]}]'.`);throw v(u[0],`Constraint bracket takes a single default value in v2. Got ${f.length} elements.`)}function N4(u){let U=u[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw v(u,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw v(u,`Invalid regex '${U}': ${W.message}`)}}function E4(u,U){let _=0,W=()=>{let Y=1;if(u[_]?.[0]==="-")Y=-1,_++;let Z=u[_++],G=v2([Z],U);if(typeof G!=="number")throw v(Z,"Range endpoints must be numeric literals.");return Y*G},f;if(u[_]?.[0]!=="..")f=W();_++;let $;if(_<u.length)$=W();if(f!==void 0&&$!==void 0&&f>$)throw v(u[0],`Range '${f}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(f!==void 0)F.min=f;if($!==void 0)F.max=$;return F}function L4(u,U,_,W){let f=U&&U.c||{},$=u&&u.min===void 0;if(u){if(u.min!==void 0)f.min=u.min;if(u.max!==void 0)f.max=u.max;if($&&f.min===void 0&&W?.modifiers?.includes("!"))f.min=1}if(_)f.regex=_;if(W?.defaultMax!=null&&f.max===void 0)f.max=W.defaultMax;if(f.min!==void 0&&f.max!==void 0&&f.min>f.max){let F=u&&u.min!==void 0?`range min ${u.min}`:"implicit min=1 from `!`",Y=u&&u.max!==void 0?`range max ${u.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw v({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${f.min} > max=${f.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(f.min===void 0&&f.max===void 0&&f.default===void 0&&f.regex===void 0)return null;return V4(f)}function V4(u){let U=[];if(u.min!==void 0)U.push(`min: ${W2(u.min)}`);if(u.max!==void 0)U.push(`max: ${W2(u.max)}`);if(u.default!==void 0)U.push(`default: ${W2(u.default)}`);if(u.regex!==void 0)U.push(`regex: ${u.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function W2(u){if(u===null)return"null";if(u===void 0)return"undefined";if(typeof u==="string")return JSON.stringify(u);if(typeof u==="number"||typeof u==="boolean")return String(u);if(u instanceof RegExp)return u.toString();return JSON.stringify(u)}function C4(u,U){if(!U.length)return null;if(u==="belongs_to"||u==="has_many"||u==="has_one"||u==="one"||u==="many"||u==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw v(_||U[U.length-1],`@${u} requires a target name.`);let W=_[1],f=_.data?.predicate===!0,$=1;if(!f&&U[$]?.[0]==="?")f=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(f)F.push("optional: true");return`[{${F.join(", ")}}]`}if(u==="index"){let _=[],W=!1,f=0;if(U[f]?.[0]==="IDENTIFIER"||U[f]?.[0]==="PROPERTY")_.push(U[f][1]),f++;else if(U[f]?.[0]==="["||U[f]?.[0]==="INDEX_START"){let F=[],Y=1;f++;while(f<U.length&&Y>0){let Z=U[f];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){f++;break}}F.push(Z),f++}for(let Z of g1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[f]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}return null}function v2(u,U){if(!u.length)throw v(null,"Empty constraint value.");let _=u[0],W=_[0];if(u.length===1){if(W==="NUMBER")return Number(_[1]);if(W==="STRING")return JSON.parse(_[1]);if(W==="BOOL")return _[1]==="true";if(W==="NULL")return null;if(W==="UNDEFINED")return;if(W==="REGEX")return T4(_[1]);if(W==="SYMBOL")return _[1]}if(u.length===2&&W==="-"&&u[1][0]==="NUMBER")return-Number(u[1][1]);throw v(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function T4(u){let U=typeof u==="string"?u:String(u),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function v1(u){if(!u||!u.length)return null;let U=v1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=u.slice();if(W.length>=2&&W[0]?.[0]==="INDENT"){let G=0,Q=-1;for(let z=0;z<W.length;z++)if(W[z][0]==="INDENT")G++;else if(W[z][0]==="OUTDENT"){if(G--,G===0){Q=z;break}}if(Q===W.length-1)W=W.slice(1,-1)}if(_.tokens=W,_.seenFor=_.seenImport=_.seenExport=!1,_.ends=[],_.indent=0,_.outdebt=0,_.indents=[],_.tokens[_.tokens.length-1]?.[0]!=="TERMINATOR")_.tokens.push(_2("TERMINATOR",`
4
- `,u[u.length-1]));try{_.rewriteTypes?.(),_.tagPostfixConditionals?.(),_.rewriteTaggedTemplates?.(),_.addImplicitBracesAndParens?.(),_.addImplicitCallCommas?.()}catch(G){throw v(u[0],`schema: failed to compile body: ${G.message}`)}let $=_.tokens.filter((G)=>G[0]!=="TYPE_DECL"),F=z1.lexer;z1.lexer={tokens:$,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let G=this.tokens[this.pos++],Q=G[1];if(G.data)Q=new String(Q),Object.assign(Q,G.data);return this.text=Q,this.loc=G.loc,this.line=G.loc?.r,G[0]}};let Y;try{Y=z1.parse("")}finally{z1.lexer=F}if(!Array.isArray(Y)||Y[0]!=="program")return null;let Z=Y.slice(1);if(Z.length===0)return null;if(Z.length===1)return Z[0];return["block",...Z]}function j4(u){let U=[],_=u.data;if(_?.await===!0)U.push("!");if(_?.predicate===!0)U.push("?");return U}function b4(u,U){let _=0;for(let W=U;W<u.length;W++)if(u[W][0]==="INDENT")_++;else if(u[W][0]==="OUTDENT"){if(_--,_===0)return W}return-1}function g1(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if($===","&&W===0){if(_.length)U.push(_);_=[];continue}_.push(f)}if(_.length)U.push(_);return U}function h4(u){let U=u[0],_=u[1];if(U==="NUMBER")return Number(_);if(U==="STRING")return JSON.parse(_);if(U==="BOOL")return _==="true";if(U==="NULL")return null;if(U==="UNDEFINED")return;return _}function _2(u,U,_){let W=[u,U];if(W.pre=0,W.data=null,W.loc=_?.loc??{r:0,c:0,n:0},W.spaced=!1,W.newLine=!1,W.generated=!0,_)W.origin=_;return W}function v(u,U){let _=u?.loc||{r:0,c:0},W=Error(U);return W.name="SchemaSyntaxError",W.loc=_,W.line=_.r,W.column=_.c,W.phase="schema",W.code="E_SCHEMA",W}var g2=`
3
+ Expecting ${$.join(", ")}, got '${this.tokenNames[q]||q}'`;else return`Parse error on line ${D+1}: Unexpected ${q===U?"end of input":`'${this.tokenNames[q]||q}'`}`,this.parseError(f,{text:Z.match,token:this.tokenNames[q]||q,line:Z.line,loc:I,expected:$})})(),Error(f)}if(W>0)if(P.push(q,W),S.push(Z.text),Q.push(Z.loc),q=null,!K){if([B,M,D,I]=[Z.len,Z.text,Z.line,Z.loc],A>0)A--}else[q,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],J.$=S[S.length-F],G=Q[Q.length-(F||1)],J._$={r:G.r,c:G.c},H=this.ruleActions.call(J,-W,S,Q,R.ctx),H!=null)J.$=H;if(Array.isArray(J.$))J.$.loc=J._$;if(F)P.length-=F*2,S.length-=F,Q.length-=F;P.push(this.ruleTable[-W*2]),S.push(J.$),Q.push(J._$),z=w[P[P.length-2]][P[P.length-1]],P.push(z)}else if(W===0)return S[S.length-1]}},trace(){},ctx:{}},f4=(u={})=>{let U=Object.create(u4);return Object.defineProperty(U,"ctx",{value:{...u},enumerable:!1,writable:!0,configurable:!0}),U},z1=f4();var $0=z1.parse.bind(z1);var $4=new Set(["input","shape","model","mixin","enum"]),v2="input",U4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),W4=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function n1(u,U){if(u)u.prototype.rewriteSchema=function(){_4(this)},v1._LexerCtor=u;if(U)U.prototype.emitSchema=function(_,W,f){return q4(this,_,W,f)},U.prototype.getSchemaRuntime=function(){return v4()}}var j2=new Set(["defaultMaxString"]);function _4(u){let U=u.tokens,_={defaultMaxString:null},W=0,f=0;while(f<U.length){let $=U[f];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=Y4(U,f,_,W);if(F>0){U.splice(f,F);continue}if(F4(U,f))Z4(u,U,f,_);f++}}function Y4(u,U,_,W){let f=u[U];if(!f||f[0]!=="IDENTIFIER"||f[1]!=="schema")return 0;if(u[U+1]?.[0]!==".")return 0;let $=u[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(u[U+3]?.[0]!=="=")return 0;let F=u[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!j2.has(Y))throw v($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...j2].join(", ")}.`);if(W>0)throw v($,`Schema pragma 'schema.${Y}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let Z=u[U+4];if(!Z||Z[0]!=="NUMBER")throw v(Z||$,`Pragma 'schema.${Y}' requires a number literal. Example: schema.${Y} = 100.`);let G=Number(Z[1]);if(!Number.isFinite(G)||G<0||!Number.isInteger(G))throw v(Z,`Pragma 'schema.${Y}' expects a non-negative integer (got ${Z[1]}). Use 0 to disable.`);_[Y]=G===0?null:G;let Q=U+5;if(u[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function F4(u,U){let _=u[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=u[U-1];if(W){let $=W[0];if($==="."||$==="?.")return!1;if(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"||W[0]===")"||W[0]==="]"||W[0]==="}"||W[0]==="STRING"||W[0]==="NUMBER"){if(!W4.has($))return!1}}let f=U+1;if(u[f]?.[0]==="SYMBOL")f++;if(u[f]?.[0]==="TERMINATOR"){if(u[f][1]===";")return!0;f++}return u[f]?.[0]==="INDENT"}function Z4(u,U,_,W){let f=U[_],$=null,F=v2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let w=$[1];if(!$4.has(w))throw v($,`Unknown schema kind :${w}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=w,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let w=Y+1,K=w,H=0,A=U[w]?.loc?.r??null;while(K<U.length){let J=U[K],R=J[0];if(H===0&&A!=null&&J.loc&&J.loc.r>A)break;if(R==="("||R==="["||R==="{"||R==="CALL_START"||R==="INDEX_START"||R==="PARAM_START")H++;else if(R===")"||R==="]"||R==="}"||R==="CALL_END"||R==="INDEX_END"||R==="PARAM_END")H--;else if(H===0&&R==="TERMINATOR"&&J[1]!==";")break;else if(H===0&&(R==="INDENT"||R==="OUTDENT"))break;else if(H===0&&R==="->")throw v(J,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(H===0&&R==="EFFECT")throw v(J,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(H===0&&R==="UNARY_MATH"&&J[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw v(J,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>w&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(w,K),G=K,!Z.length)throw v(f,`Inline schema body is empty. Either add '; field; …' entries after 'schema${$?" :"+F:""};' or switch to the indented form.`)}else{if(U[Y]?.[0]==="TERMINATOR")Y++;if(U[Y]?.[0]!=="INDENT")throw v(f,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let w=Y,K=h4(U,w);if(K<0)throw v(U[w],"Unterminated schema body.");Z=U.slice(w+1,K),G=K+1}let Q=G4(F,Z,{schemaLoc:f.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=Y2("SCHEMA","schema",f),X=Y2("SCHEMA_BODY",F,f);X.data={descriptor:Q},U.splice(_,G-_,z,X)}function G4(u,U,_){let W=[],f=Q4(U);if(u===v2&&!_.kindLoc&&f.length>0&&f[0][0]?.[0]==="SYMBOL")u="enum",_.kind="enum";if(u==="enum")for(let $ of f)O4($,W);else{for(let $ of f)J4(u,$,W,_);if(u==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw v({loc:$.headerLoc||$.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(u==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:input schemas are fields-only. '${$.name}' is a ${$.tag}; use :shape or :model if you need behavior.`);if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(u==="shape")for(let $ of W){if($.tag==="hook")throw v({loc:$.headerLoc||$.loc},`:shape schemas don't have lifecycle hooks. '${$.name}' runs only on :model; move it or remove it.`);if($.tag==="directive"&&$.name!=="mixin")throw v({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:u,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function Q4(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(f)}if(_.length)U.push(_);return U}var z4=new Set(["string","email","url","phone","zip"]);function J4(u,U,_,W){let f=U[0];if(!f)return;if(f[0]==="@"){let B=U[1];if(!B||B[0]!=="IDENTIFIER"&&B[0]!=="PROPERTY")throw v(f,"Expected directive name after '@'.");let D=U.slice(2),I=B[1];if(I==="ensure"){let S=K4(D,f);for(let N of S)_.push({tag:"ensure",name:"ensure",message:N.message,paramTokens:N.paramTokens,bodyTokens:N.bodyTokens,loc:N.loc,headerLoc:f.loc});return}let M=null;if(I==="belongs_to"||I==="has_many"||I==="has_one"||I==="one"||I==="many"||I==="mixin"){let S=D[0];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")){let N=S.data?.predicate===!0;if(!N&&D[1]?.[0]==="?")N=!0;M=[{target:S[1],optional:N}]}}_.push({tag:"directive",name:I,args:M,argTokens:D,loc:f.loc});return}if(f[0]==="PROPERTY"){A4(u,f,U,_);return}if(f[0]!=="IDENTIFIER")throw v(f,`Unexpected ${f[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=f[1];if(U[1]?.[0]===":")throw v(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=b4(f),Y=1;while(Y<U.length){let B=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(B[0]==="#"||B[0]==="?"||B[0]==="!"){F.push(B[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw v(Z,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let G="string",Q=null;if(Z?.[0]==="IDENTIFIER")G=Z[1],Y++;else if(Z?.[0]==="STRING"){Q=[JSON.parse(Z[1])],Y++;while(U[Y]?.[0]==="|"&&U[Y+1]?.[0]==="STRING")Y++,Q.push(JSON.parse(U[Y][1])),Y++;if(U[Y]?.[0]==="|"){let B=U[Y+1],D=B?.[0]??"<end>";throw v(B||U[Y],`Literal unions contain string literals only. '${D}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw v(Z,`Literal union needs at least two string literals. Use '${JSON.stringify(Q[0])}' as a default with '[${JSON.stringify(Q[0])}]' instead.`);G="literal-union"}let z=!1,X=U[Y]?.[0],w=U[Y+1]?.[0];if((X==="["||X==="INDEX_START")&&(w==="]"||w==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw v(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let A=null,J=null,R=null,O=null,P=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let B=g1(K);for(let D=0;D<B.length;D++){let I=B[D];while(I.length&&(I[0][0]==="INDENT"||I[0][0]==="TERMINATOR"))I=I.slice(1);if(!I.length)continue;if(I[0][0]!=="->"){let S=X4(I);if(S>0)throw v(I[S],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let M=I[0];if(M[0]!=="->"){while(I.length&&(I[I.length-1][0]==="OUTDENT"||I[I.length-1][0]==="TERMINATOR"))I=I.slice(0,-1);if(!I.length)continue;M=I[0]}if(M[0]==="["||M[0]==="INDEX_START"){if(A)throw v(M,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);A=I}else if(M[0]==="{"){if(J)throw v(M,`Field '${$}' has more than one '{…}' attrs bracket.`);J=I}else if(w4(I)){if(R)throw v(M,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);R=I}else if(M[0]==="REGEX"&&I.length===1){if(O)throw v(M,`Field '${$}' has more than one regex constraint.`);O=M}else if(M[0]==="->"){if(D!==B.length-1)throw v(M,`Transform '-> …' must be the last element on the field line for '${$}'.`);P=I.slice(1)}else throw v(M,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw v(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let q=null;if(W?.defaultMaxString!=null&&!O&&!Q&&z4.has(G))q=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:A,attrsTokens:J,rangeTokens:R,regexToken:O,transformTokens:P,defaultMax:q,loc:f.loc})}function X4(u){let U=0;for(let _=0;_<u.length;_++){let W=u[_][0];if(W==="("||W==="["||W==="{"||W==="CALL_START"||W==="INDEX_START"||W==="PARAM_START")U++;else if(W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="INDEX_END"||W==="PARAM_END")U--;else if(U===0&&W==="->")return _}return-1}function w4(u){let U=0,_=!1;if(u[U]?.[0]==="-"&&u[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(u[U]?.[0]==="NUMBER")U++,_=!0;if(u[U]?.[0]!=="..")return!1;U++;let W=!1;if(u[U]?.[0]==="-"&&u[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(u[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===u.length}function A4(u,U,_,W){let f=U[1],$=_[1];if(!$||$[0]!==":")throw v(U,`Expected ':' after '${f}' before arrow.`);let F=_[2],Y=_[3],Z,G,Q;if(F&&F[0]==="->")Z="->",G=F.loc,Q=3;else if(F&&F[0]==="EFFECT")Z="~>",G=F.loc,Q=3;else if(F&&F[0]==="UNARY_MATH"&&F[1]==="!"&&Y&&Y[0]==="COMPARE"&&Y[1]===">"&&!F.spaced)Z="!>",G=F.loc,Q=4;else throw v($,`Schema top-level '${f}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),X=U4.has(f),w;if(Z==="~>")w="computed";else if(Z==="!>")w="derived";else if(u==="model"&&X)w="hook";else w="method";W.push({tag:w,name:f,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function K4(u,U){let _=u;if(!_.length)throw v(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(_[0]?.[0]==="CALL_START"&&_[_.length-1]?.[0]==="CALL_END")_=_.slice(1,-1);if(!_.length)throw v(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=D4(_,W),F=M4($);if(F.length===0)throw v(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw v(W,`@ensure [...] must have pairs of 'message, fn' (got ${F.length} elements; odd count).`);let Y=[];for(let Z=0;Z<F.length;Z+=2)Y.push(b2(F[Z],F[Z+1],W));return Y}let f=g1(_);if(f.length<2)throw v(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(f.length>2)throw v(W,`@ensure inline form takes exactly 'message, fn' (got ${f.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[b2(f[0],f[1],W)]}function D4(u,U){let _=0,W=[];for(let f=0;f<u.length;f++){let $=u[f],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(f<u.length-1)throw v(u[f+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(W.length>=2&&W[0][0]==="INDENT"&&W[W.length-1][0]==="OUTDENT"){let Y=0,Z=!1;for(let G=0;G<W.length;G++)if(W[G][0]==="INDENT")Y++;else if(W[G][0]==="OUTDENT"){if(Y--,Y===0&&G===W.length-1){Z=!0;break}if(Y===0)break}if(Z)W=W.slice(1,-1)}return W}}if(_>=1)W.push($)}throw v(U,"@ensure: unclosed '['.")}function M4(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if(W===0&&($===","||$==="TERMINATOR")){if(_.length)U.push(_),_=[];continue}_.push(f)}if(_.length)U.push(_);return U}function b2(u,U,_){if(!u||!u.length)throw v(_,"@ensure: missing message (expected a string literal).");if(u.length!==1||u[0][0]!=="STRING")throw v(u[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=u[0],f=JSON.parse(W[1]);if(!U||!U.length)throw v(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw v($,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let F=1,Y=1,Z=[];while(Y<U.length&&F>0){let z=U[Y],X=z[0];if(X==="("||X==="PARAM_START")F++;if(X===")"||X==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw v($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw v(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw v(G,"@ensure: predicate function body is empty.");return{message:f,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function H4(u,U){if(!u.length)return[];return g1(u).map((W)=>{let f=W.filter(($)=>$[0]!=="TERMINATOR");if(f.length!==1||f[0][0]!=="IDENTIFIER")throw v(f[0]||U,"@ensure: predicate parameters must be plain identifiers.");return f[0][1]})}function O4(u,U){let _=u[0];if(!_)return;if(_[0]==="@"){let $=u[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw v(_,`:enum schemas don't accept '@${F}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(_[0]!=="SYMBOL")throw v(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],f=u[1];if(!f){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(f[0]===":")throw v(f,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(u.length>2)throw v(u[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:y4(f),loc:_.loc})}function q4(u,U,_,W){let f=_[0],$=R4(f);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");u.usesSchemas=!0;let F=u._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>P4(u,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function R4(u){if(u&&typeof u==="object"){if(u.descriptor)return u.descriptor;if(u.data?.descriptor)return u.data.descriptor}return null}function P4(u,U){switch(U.tag){case"field":{let _=['tag: "field"',`name: ${JSON.stringify(U.name)}`,`modifiers: ${JSON.stringify(U.modifiers)}`,`typeName: ${JSON.stringify(U.typeName)}`,`array: ${U.array?"true":"false"}`];if(U.literals)_.push(`literals: ${JSON.stringify(U.literals)}`);let W=U.rangeTokens?L4(U.rangeTokens,U):null,f=U.constraintTokens?N4(U.constraintTokens,U):null,$=U.regexToken?E4(U.regexToken):null,F=V4(W,f,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${I4(u,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=T4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=S4(u,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=B4(u,U);return`{${[`tag: ${JSON.stringify(U.tag)}`,`name: ${JSON.stringify(U.name)}`,`fn: ${_}`].join(", ")}}`}case"enum-member":{let _=['tag: "enum-member"',`name: ${JSON.stringify(U.name)}`];if(U.value!==void 0)_.push(`value: ${JSON.stringify(U.value)}`);return`{${_.join(", ")}}`}default:return'{tag: "unknown"}'}}function B4(u,U){let _=v1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return u.emit(W,"value")}function I4(u,U){let _=v1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return u.emit(W,"value")}function S4(u,U){let _=v1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let f=["->",H4(U.paramTokens,U),_];return u.emit(f,"value")}function N4(u,U){let _=u.slice(1,-1),W=g1(_);if(!W.length)return{c:null};let f=W.map(($)=>g2($,U));if(f.length===1){let $=f[0];if($ instanceof RegExp)throw v(u[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(f.length===2&&typeof f[0]==="number"&&typeof f[1]==="number")throw v(u[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${f[0]}, ${f[1]}]' with '${f[0]}..${f[1]}'.`);if(f.length===3&&f.every(($)=>typeof $==="number"))throw v(u[0],`Range + default is two separate constraints in v2. Replace '[${f[0]}, ${f[1]}, ${f[2]}]' with '${f[0]}..${f[1]}, [${f[2]}]'.`);throw v(u[0],`Constraint bracket takes a single default value in v2. Got ${f.length} elements.`)}function E4(u){let U=u[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw v(u,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw v(u,`Invalid regex '${U}': ${W.message}`)}}function L4(u,U){let _=0,W=()=>{let Y=1;if(u[_]?.[0]==="-")Y=-1,_++;let Z=u[_++],G=g2([Z],U);if(typeof G!=="number")throw v(Z,"Range endpoints must be numeric literals.");return Y*G},f;if(u[_]?.[0]!=="..")f=W();_++;let $;if(_<u.length)$=W();if(f!==void 0&&$!==void 0&&f>$)throw v(u[0],`Range '${f}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(f!==void 0)F.min=f;if($!==void 0)F.max=$;return F}function V4(u,U,_,W){let f=U&&U.c||{},$=u&&u.min===void 0;if(u){if(u.min!==void 0)f.min=u.min;if(u.max!==void 0)f.max=u.max;if($&&f.min===void 0&&W?.modifiers?.includes("!"))f.min=1}if(_)f.regex=_;if(W?.defaultMax!=null&&f.max===void 0)f.max=W.defaultMax;if(f.min!==void 0&&f.max!==void 0&&f.min>f.max){let F=u&&u.min!==void 0?`range min ${u.min}`:"implicit min=1 from `!`",Y=u&&u.max!==void 0?`range max ${u.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw v({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${f.min} > max=${f.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(f.min===void 0&&f.max===void 0&&f.default===void 0&&f.regex===void 0)return null;return C4(f)}function C4(u){let U=[];if(u.min!==void 0)U.push(`min: ${W2(u.min)}`);if(u.max!==void 0)U.push(`max: ${W2(u.max)}`);if(u.default!==void 0)U.push(`default: ${W2(u.default)}`);if(u.regex!==void 0)U.push(`regex: ${u.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function W2(u){if(u===null)return"null";if(u===void 0)return"undefined";if(typeof u==="string")return JSON.stringify(u);if(typeof u==="number"||typeof u==="boolean")return String(u);if(u instanceof RegExp)return u.toString();return JSON.stringify(u)}function T4(u,U){if(!U.length)return null;if(u==="belongs_to"||u==="has_many"||u==="has_one"||u==="one"||u==="many"||u==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw v(_||U[U.length-1],`@${u} requires a target name.`);let W=_[1],f=_.data?.predicate===!0,$=1;if(!f&&U[$]?.[0]==="?")f=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(f)F.push("optional: true");return`[{${F.join(", ")}}]`}if(u==="index"){let _=[],W=!1,f=0;if(U[f]?.[0]==="IDENTIFIER"||U[f]?.[0]==="PROPERTY")_.push(U[f][1]),f++;else if(U[f]?.[0]==="["||U[f]?.[0]==="INDEX_START"){let F=[],Y=1;f++;while(f<U.length&&Y>0){let Z=U[f];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){f++;break}}F.push(Z),f++}for(let Z of g1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[f]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}return null}function g2(u,U){if(!u.length)throw v(null,"Empty constraint value.");let _=u[0],W=_[0];if(u.length===1){if(W==="NUMBER")return Number(_[1]);if(W==="STRING")return JSON.parse(_[1]);if(W==="BOOL")return _[1]==="true";if(W==="NULL")return null;if(W==="UNDEFINED")return;if(W==="REGEX")return j4(_[1]);if(W==="SYMBOL")return _[1]}if(u.length===2&&W==="-"&&u[1][0]==="NUMBER")return-Number(u[1][1]);throw v(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function j4(u){let U=typeof u==="string"?u:String(u),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function v1(u){if(!u||!u.length)return null;let U=v1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=u.slice();if(W.length>=2&&W[0]?.[0]==="INDENT"){let G=0,Q=-1;for(let z=0;z<W.length;z++)if(W[z][0]==="INDENT")G++;else if(W[z][0]==="OUTDENT"){if(G--,G===0){Q=z;break}}if(Q===W.length-1)W=W.slice(1,-1)}if(_.tokens=W,_.seenFor=_.seenImport=_.seenExport=!1,_.ends=[],_.indent=0,_.outdebt=0,_.indents=[],_.tokens[_.tokens.length-1]?.[0]!=="TERMINATOR")_.tokens.push(Y2("TERMINATOR",`
4
+ `,u[u.length-1]));try{_.rewriteTypes?.(),_.tagPostfixConditionals?.(),_.rewriteTaggedTemplates?.(),_.addImplicitBracesAndParens?.(),_.addImplicitCallCommas?.()}catch(G){throw v(u[0],`schema: failed to compile body: ${G.message}`)}let $=_.tokens.filter((G)=>G[0]!=="TYPE_DECL"),F=z1.lexer;z1.lexer={tokens:$,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let G=this.tokens[this.pos++],Q=G[1];if(G.data)Q=new String(Q),Object.assign(Q,G.data);return this.text=Q,this.loc=G.loc,this.line=G.loc?.r,G[0]}};let Y;try{Y=z1.parse("")}finally{z1.lexer=F}if(!Array.isArray(Y)||Y[0]!=="program")return null;let Z=Y.slice(1);if(Z.length===0)return null;if(Z.length===1)return Z[0];return["block",...Z]}function b4(u){let U=[],_=u.data;if(_?.await===!0)U.push("!");if(_?.predicate===!0)U.push("?");return U}function h4(u,U){let _=0;for(let W=U;W<u.length;W++)if(u[W][0]==="INDENT")_++;else if(u[W][0]==="OUTDENT"){if(_--,_===0)return W}return-1}function g1(u){let U=[],_=[],W=0;for(let f of u){let $=f[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if($===","&&W===0){if(_.length)U.push(_);_=[];continue}_.push(f)}if(_.length)U.push(_);return U}function y4(u){let U=u[0],_=u[1];if(U==="NUMBER")return Number(_);if(U==="STRING")return JSON.parse(_);if(U==="BOOL")return _==="true";if(U==="NULL")return null;if(U==="UNDEFINED")return;return _}function Y2(u,U,_){let W=[u,U];if(W.pre=0,W.data=null,W.loc=_?.loc??{r:0,c:0,n:0},W.spaced=!1,W.newLine=!1,W.generated=!0,_)W.origin=_;return W}function v(u,U){let _=u?.loc||{r:0,c:0},W=Error(U);return W.name="SchemaSyntaxError",W.loc=_,W.line=_.r,W.column=_.c,W.phase="schema",W.code="E_SCHEMA",W}var _2=1,c2=`
5
5
  // ---- Rip Schema Runtime ----------------------------------------------------
6
6
  // Four layers, lazy compilation:
7
7
  // 1 (descriptor) object passed to __schema({...}). Raw metadata.
@@ -10,6 +10,26 @@ Expecting ${$.join(", ")}, got '${this.tokenNames[q]||q}'`;else return`Parse err
10
10
  // 3 (validator) compiled validator plan. Built on first .parse.
11
11
  // 4a (ORM plan) built on first .find/.create/.save.
12
12
  // 4b (DDL plan) built on first .toSQL(). Independent of 4a.
13
+ //
14
+ // Instance-singleton model:
15
+ // The runtime installs itself on globalThis.__ripSchema the first time a
16
+ // compiled bundle executes. Subsequent bundles that inject the same runtime
17
+ // template detect the existing installation and bind to it instead of
18
+ // re-running the body — giving every bundle a single shared registry,
19
+ // adapter, and class identity. The IIFE wrapper below enforces that.
20
+
21
+ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function() {
22
+ if (typeof globalThis !== 'undefined' && globalThis.__ripSchema) {
23
+ if (globalThis.__ripSchema.__version !== ${_2}) {
24
+ throw new Error(
25
+ "rip-schema runtime version mismatch: loaded runtime is v" +
26
+ globalThis.__ripSchema.__version +
27
+ ", but this bundle expects v" + ${_2} +
28
+ ". Two compiled Rip bundles with incompatible schema runtimes are loaded in the same process."
29
+ );
30
+ }
31
+ return globalThis.__ripSchema;
32
+ }
13
33
 
14
34
  class SchemaError extends Error {
15
35
  constructor(issues, schemaName, schemaKind) {
@@ -321,13 +341,12 @@ class __SchemaDef {
321
341
  hooks.set(e.name, e.fn);
322
342
  break;
323
343
  case 'directive': {
324
- if (e.name === 'mixin') {
325
- // Deferred to the post-pass so we can dedupe diamond includes
326
- // and detect cycles with a full expansion stack.
327
- directives.push({ name: e.name, args: e.args || [] });
328
- break;
329
- }
330
344
  directives.push({ name: e.name, args: e.args || [] });
345
+ // @mixin is recorded but further handling is deferred to the
346
+ // post-pass so we can dedupe diamond includes and detect
347
+ // cycles with a full expansion stack. All other directives
348
+ // get their relation / timestamps / softDelete processing now.
349
+ if (e.name === 'mixin') break;
331
350
  if (e.name === 'timestamps') timestamps = true;
332
351
  if (e.name === 'softDelete') softDelete = true;
333
352
  const rel = __schemaNormalizeDirectiveRelation(e, this.name);
@@ -1233,27 +1252,29 @@ function __schema(descriptor) {
1233
1252
  return def;
1234
1253
  }
1235
1254
 
1236
- if (typeof globalThis !== 'undefined') {
1237
- globalThis.__ripSchema = {
1255
+ const exports = {
1238
1256
  __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter,
1257
+ __version: ${_2},
1239
1258
  };
1240
- }
1259
+ if (typeof globalThis !== 'undefined') globalThis.__ripSchema = exports;
1260
+ return exports;
1261
+ })();
1241
1262
 
1242
1263
  // === End Schema Runtime ===
1243
- `;function y4(){return g2.trimStart()}var c2=["interface SchemaIssue { field: string; error: string; message: string; }","type SchemaSafeResult<T> = { ok: true; value: T; errors: null } | { ok: false; value: null; errors: SchemaIssue[] };","interface Schema<Out, In = unknown> {"," parse(data: In): Out;"," safe(data: In): SchemaSafeResult<Out>;"," ok(data: unknown): boolean;"," pick<K extends keyof In>(...keys: K[]): Schema<Pick<In, K>, Pick<In, K>>;"," omit<K extends keyof In>(...keys: K[]): Schema<Omit<In, K>, Omit<In, K>>;"," partial(): Schema<Partial<In>, Partial<In>>;"," required<K extends keyof In>(...keys: K[]): Schema<Omit<In, K> & Required<Pick<In, K>>, Omit<In, K> & Required<Pick<In, K>>>;"," extend<U>(other: Schema<U>): Schema<In & U, In & U>;","}","interface SchemaQuery<T> {"," all(): Promise<T[]>;"," first(): Promise<T | null>;"," count(): Promise<number>;"," limit(n: number): SchemaQuery<T>;"," offset(n: number): SchemaQuery<T>;"," order(spec: string): SchemaQuery<T>;","}","interface ModelSchema<Instance, Data = unknown> extends Schema<Instance, Data> {"," find(id: unknown): Promise<Instance | null>;"," findMany(ids: unknown[]): Promise<Instance[]>;"," where(cond: Record<string, unknown> | string, ...params: unknown[]): SchemaQuery<Instance>;"," all(limit?: number): Promise<Instance[]>;"," first(): Promise<Instance | null>;"," count(cond?: Record<string, unknown>): Promise<number>;"," create(data: Partial<Data>): Promise<Instance>;"," toSQL(options?: { dropFirst?: boolean; header?: string }): string;","}"],v4={string:"string",text:"string",email:"string",url:"string",uuid:"string",phone:"string",zip:"string",number:"number",integer:"number",boolean:"boolean",date:"Date",datetime:"Date",json:"unknown",any:"any"};function g4(u){if(u.typeName==="literal-union"&&u.literals?.length)return u.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=v4[u.typeName]??u.typeName;return u.array?`${U}[]`:U}function c4(u){if(!Array.isArray(u))return null;if((u[0]?.valueOf?.()??u[0])!=="schema")return null;let _=u[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function x2(u,U){let _=[];if(Y2(u,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),f=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")b2($,f,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")b2($,f,W,U);return!0}function Y2(u,U){if(!Array.isArray(u))return;let _=u[0]?.valueOf?.()??u[0],W=!1,f=null;if(_==="export"&&Array.isArray(u[1])){let $=u[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,f=$;else Y2(u[1],U)}else if(_==="=")f=u;else if(_==="program"||_==="block"){for(let $=1;$<u.length;$++)if(Array.isArray(u[$]))Y2(u[$],U)}if(f&&Array.isArray(f[2])){let $=f[1]?.valueOf?.()??f[1],F=c4(f[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function b2(u,U,_,W){let{name:f,descriptor:$,exported:F}=u,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let w=[];for(let R of $.entries){if(R.tag!=="enum-member")continue;let O=R.value!==void 0?R.value:R.name;w.push(typeof O==="string"?JSON.stringify(O):String(O))}let A=w.length?w.join(" | "):"never";W.push(`${Y}type ${f} = ${A};`),W.push(`${Y}${Z}const ${f}: { parse(data: unknown): ${f}; safe(data: unknown): SchemaSafeResult<${f}>; ok(data: unknown): data is ${f}; };`);return}if($.kind==="mixin"){let w=h2($);W.push(`${Y}type ${f} = { ${w.join("; ")} };`);return}let G=h2($),Q=x4($,U),z=[],J=[];for(let w of $.entries)if(w.tag==="method")z.push(`${w.name}: (...args: any[]) => unknown`);else if(w.tag==="computed")J.push(`readonly ${w.name}: unknown`);let X=`{ ${G.join("; ")} }`,K=Q.length?`${X} & ${Q.join(" & ")}`:X;if($.kind==="model"){let w=`${f}Data`,A=`${f}Instance`,R=l4($,_),O=[...J,...z,...R,`save(): Promise<${A}>`,`destroy(): Promise<${A}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${w}`];W.push(`${Y}type ${w} = ${K};`),W.push(`${Y}type ${A} = ${w} & { ${O.join("; ")} };`),W.push(`${Y}${Z}const ${f}: ModelSchema<${A}, ${w}>;`);return}if($.kind==="shape"){let w=`${f}Data`,A=`${f}Instance`,R=z.length+J.length>0;if(W.push(`${Y}type ${w} = ${K};`),R)W.push(`${Y}type ${A} = ${w} & { ${[...J,...z].join("; ")} };`),W.push(`${Y}${Z}const ${f}: Schema<${A}, ${w}>;`);else W.push(`${Y}${Z}const ${f}: Schema<${w}, ${w}>;`);return}let D=`${f}Value`;W.push(`${Y}type ${D} = ${K};`),W.push(`${Y}${Z}const ${f}: Schema<${D}, ${D}>;`)}function x4(u,U){let _=[];for(let W of u.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let f=W.args,$=f&&f[0]&&f[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function l4(u,U){let _=[];for(let W of u.entries){if(W.tag!=="directive")continue;let f=W.args;if(!f||!f[0])continue;let $=f[0].target;if(!$)continue;let F=f[0].optional===!0,Y=$[0].toLowerCase()+$.slice(1),Z=`${$}Instance`,G=U&&U.has($);if(W.name==="belongs_to"){let Q=G?F?`${Z} | null`:`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_one"||W.name==="one"){let Q=G?`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_many"||W.name==="many"){let Q=G?`${Z}[]`:"unknown[]",z=m4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function m4(u){let U=u.toLowerCase();if(/[^aeiouy]y$/i.test(u))return u.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(u))return u+"es";return u+"s"}function h2(u){let U=[];for(let _ of u.entries){if(_.tag!=="field")continue;let f=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${f}: ${g4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(g2)}catch{}var k4=["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 i4=["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;","};"],d4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",p4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",n4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",o4="declare function __computed<T>(fn: () => T): Computed<T>;",a4="declare function __effect(fn: () => void | (() => void)): () => void;";function k2(u){let U=u.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,f=($,F,Y)=>{let Z=[$,F];if(Z.pre=0,Z.data=null,Z.loc=Y?.loc??{r:0,c:0,n:0},Z.spaced=!1,Z.newLine=!1,Z.generated=!0,Y)Z.origin=Y;return Z};this.scanTokens(($,F,Y)=>{let Z=$[0];if(Z==="IDENTIFIER"){let G=Y[F+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Q=Y[F-1]?.[0]==="DEF",z=m2(Y,F+1);if(z){let J=F+1+z.length,X=!Q&&Y[J]?.[0]==="="&&Y[J+1]?.[0]==="COMPONENT";if(Q||X){if(!$.data)$.data={};if($.data.typeParams=H1(z),Y.splice(F+1,z.length),Q&&Y[F+1]?.[0]==="("){Y[F+1][0]="CALL_START";let K=1,D=F+2;while(D<Y.length&&K>0){if(Y[D][0]==="("||Y[D][0]==="CALL_START")K++;if(Y[D][0]===")"||Y[D][0]==="CALL_END")K--;if(K===0)Y[D][0]="CALL_END";D++}}}}}}if(Z==="TYPE_ANNOTATION"){let G=Y[F-1];if(!G)return 1;let Q=l2(Y,F+1),z=H1(Q),J=G,X="type";if(G[0]==="CALL_END"||G[0]===")"){let D=1,w=F-2;while(w>=0&&D>0){let A=Y[w][0];if(A==="CALL_END"||A===")")D++;if(A==="CALL_START"||A==="(")D--;w--}if(w>=0)J=Y[w];X="returnType"}else if(G[0]==="PARAM_END"){let D=F+1+Q.consumed,w=Y[D];if(w&&(w[0]==="->"||w[0]==="=>"))J=w;X="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")X="returnType";if(!J.data)J.data={};J.data[X]=z;for(let D of Q)if(D[0]==="IDENTIFIER")W.add(D[1]);let K=1+Q.consumed;return Y.splice(F,K),0}if(Z==="IDENTIFIER"&&$[1]==="type"){let G=Y[F-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let z=F+1,J=Y[z];if(!J||J[0]!=="IDENTIFIER")return 1;let X=J[1],K=G==="EXPORT",D=K?F-1:F,w=z+1;if(Y[w]?.[0]==="COMPARE"&&Y[w]?.[1]==="<"&&!Y[w].spaced){let q=m2(Y,w);if(q){if(!J.data)J.data={};J.data.typeParams=H1(q),Y.splice(w,q.length)}}if(Y[w]?.[0]!=="=")return 1;let A=(q)=>{let B=f("TYPE_DECL",X,J);if(B.data={name:X,typeText:q,exported:K},J.data?.typeParams)B.data.typeParams=J.data.typeParams;return B},R=w+1,O=Y[R];if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let q=r4(Y,R);if(q)return Y.splice(D,q.endIdx-D+1,A(q.typeText)),0}if(O&&O[0]==="INDENT"){let q=Z2(Y,R);return Y.splice(D,q-D+1,A(F2(Y,R))),0}let P=l2(Y,R);return Y.splice(D,R+P.consumed-D,A(H1(P))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let J=z[1],X=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")X=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let D=F2(Y,K),w=Z2(Y,K),A=f("TYPE_DECL",J,z);A.data={name:J,kind:"interface",extends:X,typeText:D,exported:G};let R=G?F-1:F,O=w-R+1;return Y.splice(R,O,A),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let F=_[$+1];if(!F||F[0]!=="IDENTIFIER")continue;let Y=$+2;if(_[Y]?.[0]!=="CALL_START")continue;let Z=1;Y++;while(Y<_.length&&Z>0){if(_[Y][0]==="CALL_START")Z++;if(_[Y][0]==="CALL_END")Z--;Y++}let G=Y-1,Q=_[Y];if(Q&&Q[0]!=="TERMINATOR")continue;let z=F.data?.returnType;if(!z){for(let A=$+2;A<=G;A++)if(_[A].data?.type){z=!0;break}}if(!z)continue;let J=_.slice($,Y+1),X=$>=1&&_[$-1]?.[0]==="EXPORT",K=X?$-1:$,D=Y+1-K,w=f("TYPE_DECL",F[1],F);if(w.data={name:F[1],kind:"overload",overloadTokens:J,exported:X},F.data?.typeParams)w.data.typeParams=F.data.typeParams;_.splice(K,D,w)}}}function l2(u,U){let _=[],W=0,f=U;while(U<u.length){let $=u[U],F=$[0],Y=F==="("||F==="["||F==="{"||F==="CALL_START"||F==="PARAM_START"||F==="INDEX_START"||F==="COMPARE"&&$[1]==="<",Z=F===")"||F==="]"||F==="}"||F==="CALL_END"||F==="PARAM_END"||F==="INDEX_END"||F==="COMPARE"&&$[1]===">";if(F==="SHIFT"&&$[1]===">>"&&W>=2){W-=2,_.push($),U++;continue}if(Y){W++,_.push($),U++;continue}if(Z){if(W>0){W--,_.push($),U++;continue}break}if(W===0){if(F==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){U++;let G=1;while(U<u.length&&G>0)if(u[U][0]==="INDENT")G++,U++;else if(u[U][0]==="OUTDENT")G--,U++;else _.push(u[U]),U++;continue}if(F==="="||F==="REACTIVE_ASSIGN"||F==="COMPUTED_ASSIGN"||F==="READONLY_ASSIGN"||F==="EFFECT"||F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"||F==="->"||F===",")break}_.push($),U++}return _.consumed=U-f,_}function H1(u){if(u.length===0)return"";if(u[0]?.[0]==="=>")u.unshift(["","()"]);let U=u.map((_)=>_[1]).join(" ").replace(/\s+/g," ").trim();return U=U.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,": "),U}function m2(u,U){if(U>=u.length)return null;let _=u[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],f=1,$=U+1;while($<u.length&&f>0){let F=u[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")f++;else if(F[0]==="COMPARE"&&F[1]===">")f--;$++}return f===0?W:null}function F2(u,U){let _=[],W=U+1,f=1;while(W<u.length&&f>0){let $=u[W];if($[0]==="INDENT"){f++,W++;continue}if($[0]==="OUTDENT"){if(f--,f===0)break;W++;continue}if($[0]==="TERMINATOR"){W++;continue}if(f===1&&$[0]==="["){let Y=[];W++;while(W<u.length&&u[W][0]!=="]")Y.push(u[W]),W++;if(W++,u[W]?.[1]===":"||u[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<u.length){let z=u[W];if(z[0]==="TERMINATOR"||z[0]==="OUTDENT")break;Z.push(z),W++}let G=H1(Y),Q=H1(Z);_.push(`[${G}]: ${Q}`);continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||f===1&&/^[a-zA-Z_$]/.test($[1])&&u[W+1]?.[0]==="TYPE_ANNOTATION";if(f===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="readonly"&&u[W]&&(u[W][0]==="PROPERTY"||u[W][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(u[W][1])&&u[W+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,Y=u[W][1],u[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(u[W]?.[1]==="?"&&!u[W]?.spaced)Z=!0,W++;if(u[W]?.[1]===":"||u[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<u.length){let D=u[W];if(D[0]==="IDENTIFIER"&&D[1]==="type"&&u[W+1]?.[0]==="INDENT"){W++;let w=F2(u,W);Q.push(["",w]);let A=1;W++;while(W<u.length&&A>0){if(u[W][0]==="INDENT")A++;if(u[W][0]==="OUTDENT")A--;W++}continue}if(D[0]==="INDENT"){z++,W++;continue}if(D[0]==="OUTDENT"){if(z>0){z--,W++;continue}break}if(D[0]==="TERMINATOR"&&z===0)break;Q.push(D),W++}let J=H1(Q),X=G?"readonly ":"",K=Z?"?":"";_.push(`${X}${Y}${K}: ${J}`)}else W++}return"{ "+_.join("; ")+" }"}function Z2(u,U){let _=0;for(let W=U;W<u.length;W++){if(u[W][0]==="INDENT")_++;if(u[W][0]==="OUTDENT"){if(_--,_===0)return W}}return u.length-1}function r4(u,U){let _=U;if(u[_]?.[0]==="TERMINATOR")_++;if(u[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<u.length&&u[_][0]==="TERMINATOR")_++;if(!u[_]||u[_][1]!=="|")return null;let f=[],$=1;_=W+1;while(_<u.length&&$>0){let Y=u[_];if(Y[0]==="INDENT"){$++,_++;continue}if(Y[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(Y[0]==="TERMINATOR"){_++;continue}if(Y[1]==="|"&&$===1){_++;let Z=[];while(_<u.length){let G=u[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)f.push(H1(Z));continue}_++}if(f.length===0)return null;let F=Z2(u,W);return{typeText:f.join(" | "),endIdx:F}}function Q2(u,U=null,_=""){let W=[],f=0,$=" ",F=()=>$.repeat(f),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,J=typeof _==="string"?_.split(`
1244
- `):[];for(let q=0;q<u.length;q++){let B=u[q][0];if(B==="REACTIVE_ASSIGN")G=!0;else if(B==="COMPUTED_ASSIGN")Q=!0}let X=(q,B,M)=>{if(B.startsWith("{ ")&&B.endsWith(" }")){let I=0,H=-1;for(let S=0;S<B.length;S++)if(B[S]==="{")I++;else if(B[S]==="}"){if(I--,I===0){H=S;break}}if(H===B.length-1){let S=B.slice(2,-2),N=[],V=0,L=0;for(let C=0;C<S.length;C++)if(S[C]==="{")L++;else if(S[C]==="}")L--;else if(L===0&&S[C]===";"&&S[C+1]===" ")N.push(S.slice(V,C)),V=C+2;if(V<S.length)N.push(S.slice(V));if(N=N.filter((C)=>C.trim()),N.length>0){W.push(`${F()}${q}{`),f++;for(let C of N)W.push(`${F()}${C};`);f--,W.push(`${F()}}${M}`);return}}}W.push(`${F()}${q}${B}${M}`)},K=(q,B)=>{B++;let M=0;while(B<q.length){let I=q[B];if(I[0]==="("||I[0]==="["||I[0]==="{")M++;if(I[0]===")"||I[0]==="]"||I[0]==="}"){if(M===0)break;M--}if(M===0&&I[1]===",")break;B++}return B},D=(q,B)=>{let M=[],I=!1,H=B+1,S=1;while(H<q.length&&S>0){if(q[H][0]==="{")S++;if(q[H][0]==="}")S--;if(S<=0){H++;break}if(q[H][0]==="..."||q[H][0]==="SPREAD"){if(H++,q[H]?.[0]==="IDENTIFIER")M.push({kind:"rest",propName:q[H][1]}),H++;continue}if(q[H][0]==="PROPERTY"&&q[H+1]?.[0]===":"){let L=q[H][1];if(H+=2,q[H]?.[0]==="{"){let C=D(q,H);if(C.hasAnyType)I=!0;M.push({kind:"nested-obj",propName:L,inner:C}),H=C.endJ;continue}if(q[H]?.[0]==="["){let C=w(q,H);if(C.hasAnyType)I=!0;M.push({kind:"nested-arr",propName:L,inner:C}),H=C.endJ;continue}if(q[H]?.[0]==="IDENTIFIER"){let C=q[H][1],E=q[H].data?.type;if(E)I=!0;let n=q[H+1]?.[0]==="=";if(M.push({kind:"rename",propName:L,localName:C,type:E?_1(E):null,hasDefault:n}),H++,n)H=K(q,H)}continue}if(q[H][0]==="IDENTIFIER"){let L=q[H][1],C=q[H].data?.type;if(C)I=!0;let E=q[H+1]?.[0]==="=";if(M.push({kind:"simple",propName:L,type:C?_1(C):null,hasDefault:E}),H++,E)H=K(q,H);continue}H++}let N=[],V=[];for(let L of M)if(L.kind==="rest")N.push(`...${L.propName}`),V.push("[key: string]: unknown");else if(L.kind==="nested-obj"||L.kind==="nested-arr")N.push(`${L.propName}: ${L.inner.patternStr}`),V.push(`${L.propName}: ${L.inner.typeStr}`);else if(L.kind==="rename")N.push(`${L.propName}: ${L.localName}`),V.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);else N.push(L.propName),V.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);return{patternStr:`{${N.join(", ")}}`,typeStr:`{${V.join(", ")}}`,endJ:H,hasAnyType:I}},w=(q,B)=>{let M=[],I=[],H=!1,S=B+1,N=1;while(S<q.length&&N>0){if(q[S][0]==="[")N++;if(q[S][0]==="]")N--;if(N>0&&q[S][0]==="IDENTIFIER"){let V=q[S][1],L=q[S].data?.type;if(M.push(V),I.push(L?_1(L):null),L)H=!0}S++}return{patternStr:`[${M.join(", ")}]`,typeStr:`[${I.map((V)=>V||"any").join(", ")}]`,endJ:S,hasAnyType:H}},A=(q,B)=>{let M=[],I=[],H=B,S=q[H]?.[0];if(S!=="CALL_START"&&S!=="PARAM_START")return{params:M,fields:I,endIdx:H};let N=S==="CALL_START"?"CALL_END":"PARAM_END";H++;let V=0;while(H<q.length&&!(q[H][0]===N&&V===0)){let L=q[H];if(L[1]===","&&V===0){H++;continue}if(L[0]==="{"||L[0]==="["||L[0]==="CALL_START"||L[0]==="PARAM_START"||L[0]==="INDEX_START")V++;if(L[0]==="}"||L[0]==="]"||L[0]==="CALL_END"||L[0]==="PARAM_END"||L[0]==="INDEX_END"){V--,H++;continue}if(L[0]==="@"){if(H++,q[H]?.[0]==="PROPERTY"||q[H]?.[0]==="IDENTIFIER"){let C=q[H][1],E=q[H].data?.type;if(M.push(E?`${C}: ${_1(E)}`:C),E)I.push({name:C,type:_1(E)});H++}continue}if(L[0]==="SPREAD"||L[1]==="..."){if(H++,q[H]?.[0]==="IDENTIFIER"){let C=q[H][1],E=q[H].data?.type;M.push(E?`...${C}: ${_1(E)}`:`...${C}: any[]`),H++}continue}if(L[0]==="{"){V--;let C=D(q,H);if(H=C.endJ,C.hasAnyType)M.push(`${C.patternStr}: ${C.typeStr}`);else M.push(C.patternStr);continue}if(L[0]==="["){V--;let C=w(q,H);if(H=C.endJ,C.hasAnyType)M.push(`${C.patternStr}: ${C.typeStr}`);else M.push(C.patternStr);continue}if(L[0]==="IDENTIFIER"){let C=L[1],E=L.data?.type,n=!1;if(q[H+1]?.[0]==="=")n=!0;let T=n||L.data?.predicate;if(E)M.push(`${C}${T?"?":""}: ${_1(E)}`);else M.push(C);if(H++,n){H++;let j=0;while(H<q.length){let y=q[H];if(y[0]==="("||y[0]==="["||y[0]==="{")j++;if(y[0]===")"||y[0]==="]"||y[0]==="}")j--;if(j===0&&(y[1]===","||y[0]==="CALL_END"))break;H++}}continue}H++}return{params:M,fields:I,endIdx:H}};for(let q=0;q<u.length;q++){let B=u[q],M=B[0],I=!1;if(M==="EXPORT"){if(I=!0,q++,q>=u.length)break;if(B=u[q],M=B[0],M==="DEFAULT"){if(q++,q>=u.length)break;if(B=u[q],M=B[0],M==="IDENTIFIER")W.push(`${F()}export default ${B[1]};`);continue}}if(M==="IMPORT"){let H=[],S=q+1;while(S<u.length&&u[S][0]!=="TERMINATOR")H.push(u[S]),S++;let N="import "+H.map((V)=>V[1]).join(" ");N=N.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),W.push(`${F()}${N};`),q=S;continue}if(M==="TYPE_DECL"){let H=B.data;if(!H)continue;let S=I||H.exported?"export ":"",N=H.typeParams||"";if(H.kind==="overload"){let V=H.overloadTokens,L=V[1],{params:C}=A(V,2),E=L.data?.returnType,n=E?`: ${_1(E)}`:"",T=Y?"":S?"":"declare ",j=H.typeParams||"";if(Y)W.push(`${F()}${H.name}${j}(${C.join(", ")})${n};`);else W.push(`${F()}${S}${T}function ${H.name}${j}(${C.join(", ")})${n};`)}else if(H.kind==="interface"){let V=H.extends?` extends ${H.extends}`:"";X(`${S}interface ${H.name}${N}${V} `,H.typeText||"{}","")}else{let V=_1(H.typeText||"");X(`${S}type ${H.name}${N} = `,V,";")}continue}if(M==="ENUM"){let H=I?"export ":"",S=u[q+1];if(!S)continue;let N=S[1],V=q+2;if(u[V]?.[0]==="INDENT"){W.push(`${F()}${H}enum ${N} {`),f++,V++;let L=[];while(V<u.length&&u[V][0]!=="OUTDENT"){if(u[V][0]==="TERMINATOR"){V++;continue}if(u[V][0]==="IDENTIFIER"){let C=u[V][1];if(V++,u[V]?.[1]==="="){V++;let E=u[V]?.[1];L.push(`${C} = ${E}`),V++}else L.push(C)}else V++}for(let C=0;C<L.length;C++){let E=C<L.length-1?",":"";W.push(`${F()}${L[C]}${E}`)}f--,W.push(`${F()}}`)}continue}if(M==="CLASS"){let H=I?"export ":"",S=u[q+1];if(!S)continue;let N=S[1],V="",L=q+2;if(u[L]?.[0]==="EXTENDS")V=` extends ${u[L+1]?.[1]||""}`,L+=2;if(u[L]?.[0]==="INDENT"){let C=!1,E=L+1;while(E<u.length&&u[E][0]!=="OUTDENT"){if(u[E].data?.type||u[E].data?.returnType){C=!0;break}E++}if(C)W.push(`${F()}${H}declare class ${N}${V} {`),Y=!0,Z.clear(),f++}continue}if(M==="DEF"){let H=u[q+1];if(!H)continue;let S=H[1],N=H.data?.returnType;if(!N&&H.data?.await===!0)N="void";let V=H.data?.typeParams||"",{params:L,endIdx:C}=A(u,q+2);if(N||L.some((E)=>E.includes(":"))){let E=I?"export ":"",n=Y?"":I?"":"declare ",T=N?`: ${_1(N)}`:"",j=L.join(", ");if(Y)W.push(`${F()}${S}${V}(${j})${T};`);else W.push(`${F()}${E}${n}function ${S}${V}(${j})${T};`)}q=C;continue}if(M==="{"&&Y){let H=q+1,S=1;while(H<u.length&&S>0){let N=u[H];if(N[0]==="{"){S++,H++;continue}if(N[0]==="}"){S--,H++;continue}if(N[0]==="TERMINATOR"){H++;continue}if(N[0]==="PROPERTY"&&S===1){let V=N[1],L=N.data?.returnType;if(H++,u[H]?.[1]===":")H++;let C=[],E=[];if(u[H]?.[0]==="PARAM_START"){let n=A(u,H);C=n.params,E=n.fields,H=n.endIdx+1}if(u[H]?.[0]==="->"||u[H]?.[0]==="=>")H++;if(u[H]?.[0]==="INDENT"){let n=1;H++;while(H<u.length&&n>0){if(u[H][0]==="INDENT")n++;if(u[H][0]==="OUTDENT")n--;H++}}if(L||C.some((n)=>n.includes(":"))){let n=L?`: ${_1(L)}`:"",T=C.join(", ");if(V==="constructor"&&E.length){for(let j of E)if(!Z.has(j.name))W.push(`${F()}${j.name}: ${j.type};`),Z.add(j.name)}W.push(`${F()}${V}(${T})${n};`)}continue}H++}q=H-1;continue}if(M==="INDENT")continue;if(M==="OUTDENT"){if(Y)f--,W.push(`${F()}}`),Y=!1;continue}if(M==="IDENTIFIER"&&!Y&&u[q+1]?.[0]==="="&&(u[q+2]?.[0]==="PARAM_START"||u[q+2]?.[0]==="(")){let H=B[1],S=q+2,{params:N}=A(u,S),V=S,L=0;while(V<u.length){if(u[V][0]==="PARAM_START"||u[V][0]==="(")L++;if(u[V][0]==="PARAM_END"||u[V][0]===")")L--;if(L===0&&(u[V][0]==="->"||u[V][0]==="=>"))break;V++}let C=u[V]?.data?.returnType;if(C||N.some((E)=>E.includes(":"))){let E=I?"export ":"",n=I?"":"declare ",T=C?`: ${_1(C)}`:"",j=N.join(", ");W.push(`${F()}${E}${n}function ${H}(${j})${T};`);continue}}if(M==="IDENTIFIER"&&B.data?.type){let H=B[1],S=_1(B.data.type),N=u[q+1];if(N){let V=I?"export ":"",L=I?"":"declare ";if(N[0]==="READONLY_ASSIGN")W.push(`${F()}${V}${L}const ${H}: ${S};`);else if(N[0]==="REACTIVE_ASSIGN")G=!0,W.push(`${F()}${V}${L}const ${H}: Signal<${S}>;`);else if(N[0]==="COMPUTED_ASSIGN")Q=!0,W.push(`${F()}${V}${L}const ${H}: Computed<${S}>;`);else if(N[0]==="EFFECT")W.push(`${F()}${V}${L}const ${H}: () => void;`);else if(N[0]==="="){let C=q+2;if(u[C]?.[0]==="PARAM_START"){let n=1,T=C+1;while(T<u.length&&n>0){if(u[T][0]==="PARAM_START")n++;if(u[T][0]==="PARAM_END")n--;T++}C=T}let E=u[C];if(E&&(E[0]==="->"||E[0]==="=>")&&E.data?.returnType){let n=_1(E.data.returnType),{params:T}=A(u,q+2),j=T.join(", ");W.push(`${F()}${V}${L}function ${H}(${j}): ${n};`)}else if(Y)W.push(`${F()}${H}: ${S};`),Z.add(H);else W.push(`${F()}${V}let ${H}: ${S};`)}else if(Y)W.push(`${F()}${H}: ${S};`),Z.add(H)}else if(Y)W.push(`${F()}${H}: ${S};`)}}let R=new Set,O=!1;if(U){if(z=G2(U,W,F,f,R,J)||z,R.size>0)for(let B=W.length-1;B>=0;B--){let M=W[B].match(/(?:declare |export )*(?:const|let) (\w+)/);if(M&&R.has(M[1]))W.splice(B,1)}let q=[];if(O=x2(U,q),O){let B=new Set;for(let M of q){let I=M.match(/(?:declare |export )*const (\w+)/);if(I)B.add(I[1])}for(let M=W.length-1;M>=0;M--){let I=W[M].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&B.has(I[1]))W.splice(M,1)}W.push(...q)}}if(W.length===0)return null;let P=[];if(z)P.push(...k4);if(/\bARIA\./.test(_))P.push(...i4);if(G)P.push(d4),P.push(p4);if(Q)P.push(n4),P.push(o4);if(G||Q)P.push(a4);if(O)P.push(...c2);if(P.length>0)P.push("");return P.concat(W).join(`
1264
+ `;function v4(){return c2.trimStart()}var x2=["interface SchemaIssue { field: string; error: string; message: string; }","type SchemaSafeResult<T> = { ok: true; value: T; errors: null } | { ok: false; value: null; errors: SchemaIssue[] };","interface Schema<Out, In = unknown> {"," parse(data: In): Out;"," safe(data: In): SchemaSafeResult<Out>;"," ok(data: unknown): boolean;"," pick<K extends keyof In>(...keys: K[]): Schema<Pick<In, K>, Pick<In, K>>;"," omit<K extends keyof In>(...keys: K[]): Schema<Omit<In, K>, Omit<In, K>>;"," partial(): Schema<Partial<In>, Partial<In>>;"," required<K extends keyof In>(...keys: K[]): Schema<Omit<In, K> & Required<Pick<In, K>>, Omit<In, K> & Required<Pick<In, K>>>;"," extend<U>(other: Schema<U>): Schema<In & U, In & U>;","}","interface SchemaQuery<T> {"," all(): Promise<T[]>;"," first(): Promise<T | null>;"," count(): Promise<number>;"," limit(n: number): SchemaQuery<T>;"," offset(n: number): SchemaQuery<T>;"," order(spec: string): SchemaQuery<T>;","}","interface ModelSchema<Instance, Data = unknown> extends Schema<Instance, Data> {"," find(id: unknown): Promise<Instance | null>;"," findMany(ids: unknown[]): Promise<Instance[]>;"," where(cond: Record<string, unknown> | string, ...params: unknown[]): SchemaQuery<Instance>;"," all(limit?: number): Promise<Instance[]>;"," first(): Promise<Instance | null>;"," count(cond?: Record<string, unknown>): Promise<number>;"," create(data: Partial<Data>): Promise<Instance>;"," toSQL(options?: { dropFirst?: boolean; header?: string }): string;","}"],g4={string:"string",text:"string",email:"string",url:"string",uuid:"string",phone:"string",zip:"string",number:"number",integer:"number",boolean:"boolean",date:"Date",datetime:"Date",json:"unknown",any:"any"};function c4(u){if(u.typeName==="literal-union"&&u.literals?.length)return u.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=g4[u.typeName]??u.typeName;return u.array?`${U}[]`:U}function x4(u){if(!Array.isArray(u))return null;if((u[0]?.valueOf?.()??u[0])!=="schema")return null;let _=u[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function l2(u,U){let _=[];if(F2(u,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),f=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")h2($,f,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")h2($,f,W,U);return!0}function F2(u,U){if(!Array.isArray(u))return;let _=u[0]?.valueOf?.()??u[0],W=!1,f=null;if(_==="export"&&Array.isArray(u[1])){let $=u[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,f=$;else F2(u[1],U)}else if(_==="=")f=u;else if(_==="program"||_==="block"){for(let $=1;$<u.length;$++)if(Array.isArray(u[$]))F2(u[$],U)}if(f&&Array.isArray(f[2])){let $=f[1]?.valueOf?.()??f[1],F=x4(f[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function h2(u,U,_,W){let{name:f,descriptor:$,exported:F}=u,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let A=[];for(let R of $.entries){if(R.tag!=="enum-member")continue;let O=R.value!==void 0?R.value:R.name;A.push(typeof O==="string"?JSON.stringify(O):String(O))}let J=A.length?A.join(" | "):"never";W.push(`${Y}type ${f} = ${J};`),W.push(`${Y}${Z}const ${f}: { parse(data: unknown): ${f}; safe(data: unknown): SchemaSafeResult<${f}>; ok(data: unknown): data is ${f}; };`);return}if($.kind==="mixin"){let A=y2($);W.push(`${Y}type ${f} = { ${A.join("; ")} };`);return}let G=y2($),Q=l4($,U),z=[],X=[];for(let A of $.entries)if(A.tag==="method")z.push(`${A.name}: (...args: any[]) => unknown`);else if(A.tag==="computed")X.push(`readonly ${A.name}: unknown`);let w=`{ ${G.join("; ")} }`,K=Q.length?`${w} & ${Q.join(" & ")}`:w;if($.kind==="model"){let A=`${f}Data`,J=`${f}Instance`,R=m4($,_),O=[...X,...z,...R,`save(): Promise<${J}>`,`destroy(): Promise<${J}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${A}`];W.push(`${Y}type ${A} = ${K};`),W.push(`${Y}type ${J} = ${A} & { ${O.join("; ")} };`),W.push(`${Y}${Z}const ${f}: ModelSchema<${J}, ${A}>;`);return}if($.kind==="shape"){let A=`${f}Data`,J=`${f}Instance`,R=z.length+X.length>0;if(W.push(`${Y}type ${A} = ${K};`),R)W.push(`${Y}type ${J} = ${A} & { ${[...X,...z].join("; ")} };`),W.push(`${Y}${Z}const ${f}: Schema<${J}, ${A}>;`);else W.push(`${Y}${Z}const ${f}: Schema<${A}, ${A}>;`);return}let H=`${f}Value`;W.push(`${Y}type ${H} = ${K};`),W.push(`${Y}${Z}const ${f}: Schema<${H}, ${H}>;`)}function l4(u,U){let _=[];for(let W of u.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let f=W.args,$=f&&f[0]&&f[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function m4(u,U){let _=[];for(let W of u.entries){if(W.tag!=="directive")continue;let f=W.args;if(!f||!f[0])continue;let $=f[0].target;if(!$)continue;let F=f[0].optional===!0,Y=$[0].toLowerCase()+$.slice(1),Z=`${$}Instance`,G=U&&U.has($);if(W.name==="belongs_to"){let Q=G?F?`${Z} | null`:`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_one"||W.name==="one"){let Q=G?`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_many"||W.name==="many"){let Q=G?`${Z}[]`:"unknown[]",z=k4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function k4(u){let U=u.toLowerCase();if(/[^aeiouy]y$/i.test(u))return u.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(u))return u+"es";return u+"s"}function y2(u){let U=[];for(let _ of u.entries){if(_.tag!=="field")continue;let f=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${f}: ${c4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(c2)}catch{}var i4=["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 d4=["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;","};"],p4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",n4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",o4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",a4="declare function __computed<T>(fn: () => T): Computed<T>;",r4="declare function __effect(fn: () => void | (() => void)): () => void;";function i2(u){let U=u.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,f=($,F,Y)=>{let Z=[$,F];if(Z.pre=0,Z.data=null,Z.loc=Y?.loc??{r:0,c:0,n:0},Z.spaced=!1,Z.newLine=!1,Z.generated=!0,Y)Z.origin=Y;return Z};this.scanTokens(($,F,Y)=>{let Z=$[0];if(Z==="IDENTIFIER"){let G=Y[F+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Q=Y[F-1]?.[0]==="DEF",z=k2(Y,F+1);if(z){let X=F+1+z.length,w=!Q&&Y[X]?.[0]==="="&&Y[X+1]?.[0]==="COMPONENT";if(Q||w){if(!$.data)$.data={};if($.data.typeParams=M1(z),Y.splice(F+1,z.length),Q&&Y[F+1]?.[0]==="("){Y[F+1][0]="CALL_START";let K=1,H=F+2;while(H<Y.length&&K>0){if(Y[H][0]==="("||Y[H][0]==="CALL_START")K++;if(Y[H][0]===")"||Y[H][0]==="CALL_END")K--;if(K===0)Y[H][0]="CALL_END";H++}}}}}}if(Z==="TYPE_ANNOTATION"){let G=Y[F-1];if(!G)return 1;let Q=m2(Y,F+1),z=M1(Q),X=G,w="type";if(G[0]==="CALL_END"||G[0]===")"){let H=1,A=F-2;while(A>=0&&H>0){let J=Y[A][0];if(J==="CALL_END"||J===")")H++;if(J==="CALL_START"||J==="(")H--;A--}if(A>=0)X=Y[A];w="returnType"}else if(G[0]==="PARAM_END"){let H=F+1+Q.consumed,A=Y[H];if(A&&(A[0]==="->"||A[0]==="=>"))X=A;w="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")w="returnType";if(!X.data)X.data={};X.data[w]=z;for(let H of Q)if(H[0]==="IDENTIFIER")W.add(H[1]);let K=1+Q.consumed;return Y.splice(F,K),0}if(Z==="IDENTIFIER"&&$[1]==="type"){let G=Y[F-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let z=F+1,X=Y[z];if(!X||X[0]!=="IDENTIFIER")return 1;let w=X[1],K=G==="EXPORT",H=K?F-1:F,A=z+1;if(Y[A]?.[0]==="COMPARE"&&Y[A]?.[1]==="<"&&!Y[A].spaced){let q=k2(Y,A);if(q){if(!X.data)X.data={};X.data.typeParams=M1(q),Y.splice(A,q.length)}}if(Y[A]?.[0]!=="=")return 1;let J=(q)=>{let B=f("TYPE_DECL",w,X);if(B.data={name:w,typeText:q,exported:K},X.data?.typeParams)B.data.typeParams=X.data.typeParams;return B},R=A+1,O=Y[R];if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let q=s4(Y,R);if(q)return Y.splice(H,q.endIdx-H+1,J(q.typeText)),0}if(O&&O[0]==="INDENT"){let q=G2(Y,R);return Y.splice(H,q-H+1,J(Z2(Y,R))),0}let P=m2(Y,R);return Y.splice(H,R+P.consumed-H,J(M1(P))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let X=z[1],w=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")w=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let H=Z2(Y,K),A=G2(Y,K),J=f("TYPE_DECL",X,z);J.data={name:X,kind:"interface",extends:w,typeText:H,exported:G};let R=G?F-1:F,O=A-R+1;return Y.splice(R,O,J),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let F=_[$+1];if(!F||F[0]!=="IDENTIFIER")continue;let Y=$+2;if(_[Y]?.[0]!=="CALL_START")continue;let Z=1;Y++;while(Y<_.length&&Z>0){if(_[Y][0]==="CALL_START")Z++;if(_[Y][0]==="CALL_END")Z--;Y++}let G=Y-1,Q=_[Y];if(Q&&Q[0]!=="TERMINATOR")continue;let z=F.data?.returnType;if(!z){for(let J=$+2;J<=G;J++)if(_[J].data?.type){z=!0;break}}if(!z)continue;let X=_.slice($,Y+1),w=$>=1&&_[$-1]?.[0]==="EXPORT",K=w?$-1:$,H=Y+1-K,A=f("TYPE_DECL",F[1],F);if(A.data={name:F[1],kind:"overload",overloadTokens:X,exported:w},F.data?.typeParams)A.data.typeParams=F.data.typeParams;_.splice(K,H,A)}}}function m2(u,U){let _=[],W=0,f=U;while(U<u.length){let $=u[U],F=$[0],Y=F==="("||F==="["||F==="{"||F==="CALL_START"||F==="PARAM_START"||F==="INDEX_START"||F==="COMPARE"&&$[1]==="<",Z=F===")"||F==="]"||F==="}"||F==="CALL_END"||F==="PARAM_END"||F==="INDEX_END"||F==="COMPARE"&&$[1]===">";if(F==="SHIFT"&&$[1]===">>"&&W>=2){W-=2,_.push($),U++;continue}if(Y){W++,_.push($),U++;continue}if(Z){if(W>0){W--,_.push($),U++;continue}break}if(W===0){if(F==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){U++;let G=1;while(U<u.length&&G>0)if(u[U][0]==="INDENT")G++,U++;else if(u[U][0]==="OUTDENT")G--,U++;else _.push(u[U]),U++;continue}if(F==="="||F==="REACTIVE_ASSIGN"||F==="COMPUTED_ASSIGN"||F==="READONLY_ASSIGN"||F==="EFFECT"||F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"||F==="->"||F===",")break}_.push($),U++}return _.consumed=U-f,_}function M1(u){if(u.length===0)return"";if(u[0]?.[0]==="=>")u.unshift(["","()"]);let U=u.map((_)=>_[1]).join(" ").replace(/\s+/g," ").trim();return U=U.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,": "),U}function k2(u,U){if(U>=u.length)return null;let _=u[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],f=1,$=U+1;while($<u.length&&f>0){let F=u[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")f++;else if(F[0]==="COMPARE"&&F[1]===">")f--;$++}return f===0?W:null}function Z2(u,U){let _=[],W=U+1,f=1;while(W<u.length&&f>0){let $=u[W];if($[0]==="INDENT"){f++,W++;continue}if($[0]==="OUTDENT"){if(f--,f===0)break;W++;continue}if($[0]==="TERMINATOR"){W++;continue}if(f===1&&$[0]==="["){let Y=[];W++;while(W<u.length&&u[W][0]!=="]")Y.push(u[W]),W++;if(W++,u[W]?.[1]===":"||u[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<u.length){let z=u[W];if(z[0]==="TERMINATOR"||z[0]==="OUTDENT")break;Z.push(z),W++}let G=M1(Y),Q=M1(Z);_.push(`[${G}]: ${Q}`);continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||f===1&&/^[a-zA-Z_$]/.test($[1])&&u[W+1]?.[0]==="TYPE_ANNOTATION";if(f===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="readonly"&&u[W]&&(u[W][0]==="PROPERTY"||u[W][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(u[W][1])&&u[W+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,Y=u[W][1],u[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(u[W]?.[1]==="?"&&!u[W]?.spaced)Z=!0,W++;if(u[W]?.[1]===":"||u[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<u.length){let H=u[W];if(H[0]==="IDENTIFIER"&&H[1]==="type"&&u[W+1]?.[0]==="INDENT"){W++;let A=Z2(u,W);Q.push(["",A]);let J=1;W++;while(W<u.length&&J>0){if(u[W][0]==="INDENT")J++;if(u[W][0]==="OUTDENT")J--;W++}continue}if(H[0]==="INDENT"){z++,W++;continue}if(H[0]==="OUTDENT"){if(z>0){z--,W++;continue}break}if(H[0]==="TERMINATOR"&&z===0)break;Q.push(H),W++}let X=M1(Q),w=G?"readonly ":"",K=Z?"?":"";_.push(`${w}${Y}${K}: ${X}`)}else W++}return"{ "+_.join("; ")+" }"}function G2(u,U){let _=0;for(let W=U;W<u.length;W++){if(u[W][0]==="INDENT")_++;if(u[W][0]==="OUTDENT"){if(_--,_===0)return W}}return u.length-1}function s4(u,U){let _=U;if(u[_]?.[0]==="TERMINATOR")_++;if(u[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<u.length&&u[_][0]==="TERMINATOR")_++;if(!u[_]||u[_][1]!=="|")return null;let f=[],$=1;_=W+1;while(_<u.length&&$>0){let Y=u[_];if(Y[0]==="INDENT"){$++,_++;continue}if(Y[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(Y[0]==="TERMINATOR"){_++;continue}if(Y[1]==="|"&&$===1){_++;let Z=[];while(_<u.length){let G=u[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)f.push(M1(Z));continue}_++}if(f.length===0)return null;let F=G2(u,W);return{typeText:f.join(" | "),endIdx:F}}function z2(u,U=null,_=""){let W=[],f=0,$=" ",F=()=>$.repeat(f),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,X=typeof _==="string"?_.split(`
1265
+ `):[];for(let q=0;q<u.length;q++){let B=u[q][0];if(B==="REACTIVE_ASSIGN")G=!0;else if(B==="COMPUTED_ASSIGN")Q=!0}let w=(q,B,D)=>{if(B.startsWith("{ ")&&B.endsWith(" }")){let I=0,M=-1;for(let S=0;S<B.length;S++)if(B[S]==="{")I++;else if(B[S]==="}"){if(I--,I===0){M=S;break}}if(M===B.length-1){let S=B.slice(2,-2),N=[],V=0,L=0;for(let C=0;C<S.length;C++)if(S[C]==="{")L++;else if(S[C]==="}")L--;else if(L===0&&S[C]===";"&&S[C+1]===" ")N.push(S.slice(V,C)),V=C+2;if(V<S.length)N.push(S.slice(V));if(N=N.filter((C)=>C.trim()),N.length>0){W.push(`${F()}${q}{`),f++;for(let C of N)W.push(`${F()}${C};`);f--,W.push(`${F()}}${D}`);return}}}W.push(`${F()}${q}${B}${D}`)},K=(q,B)=>{B++;let D=0;while(B<q.length){let I=q[B];if(I[0]==="("||I[0]==="["||I[0]==="{")D++;if(I[0]===")"||I[0]==="]"||I[0]==="}"){if(D===0)break;D--}if(D===0&&I[1]===",")break;B++}return B},H=(q,B)=>{let D=[],I=!1,M=B+1,S=1;while(M<q.length&&S>0){if(q[M][0]==="{")S++;if(q[M][0]==="}")S--;if(S<=0){M++;break}if(q[M][0]==="..."||q[M][0]==="SPREAD"){if(M++,q[M]?.[0]==="IDENTIFIER")D.push({kind:"rest",propName:q[M][1]}),M++;continue}if(q[M][0]==="PROPERTY"&&q[M+1]?.[0]===":"){let L=q[M][1];if(M+=2,q[M]?.[0]==="{"){let C=H(q,M);if(C.hasAnyType)I=!0;D.push({kind:"nested-obj",propName:L,inner:C}),M=C.endJ;continue}if(q[M]?.[0]==="["){let C=A(q,M);if(C.hasAnyType)I=!0;D.push({kind:"nested-arr",propName:L,inner:C}),M=C.endJ;continue}if(q[M]?.[0]==="IDENTIFIER"){let C=q[M][1],E=q[M].data?.type;if(E)I=!0;let n=q[M+1]?.[0]==="=";if(D.push({kind:"rename",propName:L,localName:C,type:E?_1(E):null,hasDefault:n}),M++,n)M=K(q,M)}continue}if(q[M][0]==="IDENTIFIER"){let L=q[M][1],C=q[M].data?.type;if(C)I=!0;let E=q[M+1]?.[0]==="=";if(D.push({kind:"simple",propName:L,type:C?_1(C):null,hasDefault:E}),M++,E)M=K(q,M);continue}M++}let N=[],V=[];for(let L of D)if(L.kind==="rest")N.push(`...${L.propName}`),V.push("[key: string]: unknown");else if(L.kind==="nested-obj"||L.kind==="nested-arr")N.push(`${L.propName}: ${L.inner.patternStr}`),V.push(`${L.propName}: ${L.inner.typeStr}`);else if(L.kind==="rename")N.push(`${L.propName}: ${L.localName}`),V.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);else N.push(L.propName),V.push(`${L.propName}${L.hasDefault?"?":""}: ${L.type||"any"}`);return{patternStr:`{${N.join(", ")}}`,typeStr:`{${V.join(", ")}}`,endJ:M,hasAnyType:I}},A=(q,B)=>{let D=[],I=[],M=!1,S=B+1,N=1;while(S<q.length&&N>0){if(q[S][0]==="[")N++;if(q[S][0]==="]")N--;if(N>0&&q[S][0]==="IDENTIFIER"){let V=q[S][1],L=q[S].data?.type;if(D.push(V),I.push(L?_1(L):null),L)M=!0}S++}return{patternStr:`[${D.join(", ")}]`,typeStr:`[${I.map((V)=>V||"any").join(", ")}]`,endJ:S,hasAnyType:M}},J=(q,B)=>{let D=[],I=[],M=B,S=q[M]?.[0];if(S!=="CALL_START"&&S!=="PARAM_START")return{params:D,fields:I,endIdx:M};let N=S==="CALL_START"?"CALL_END":"PARAM_END";M++;let V=0;while(M<q.length&&!(q[M][0]===N&&V===0)){let L=q[M];if(L[1]===","&&V===0){M++;continue}if(L[0]==="{"||L[0]==="["||L[0]==="CALL_START"||L[0]==="PARAM_START"||L[0]==="INDEX_START")V++;if(L[0]==="}"||L[0]==="]"||L[0]==="CALL_END"||L[0]==="PARAM_END"||L[0]==="INDEX_END"){V--,M++;continue}if(L[0]==="@"){if(M++,q[M]?.[0]==="PROPERTY"||q[M]?.[0]==="IDENTIFIER"){let C=q[M][1],E=q[M].data?.type;if(D.push(E?`${C}: ${_1(E)}`:C),E)I.push({name:C,type:_1(E)});M++}continue}if(L[0]==="SPREAD"||L[1]==="..."){if(M++,q[M]?.[0]==="IDENTIFIER"){let C=q[M][1],E=q[M].data?.type;D.push(E?`...${C}: ${_1(E)}`:`...${C}: any[]`),M++}continue}if(L[0]==="{"){V--;let C=H(q,M);if(M=C.endJ,C.hasAnyType)D.push(`${C.patternStr}: ${C.typeStr}`);else D.push(C.patternStr);continue}if(L[0]==="["){V--;let C=A(q,M);if(M=C.endJ,C.hasAnyType)D.push(`${C.patternStr}: ${C.typeStr}`);else D.push(C.patternStr);continue}if(L[0]==="IDENTIFIER"){let C=L[1],E=L.data?.type,n=!1;if(q[M+1]?.[0]==="=")n=!0;let T=n||L.data?.predicate;if(E)D.push(`${C}${T?"?":""}: ${_1(E)}`);else D.push(C);if(M++,n){M++;let j=0;while(M<q.length){let y=q[M];if(y[0]==="("||y[0]==="["||y[0]==="{")j++;if(y[0]===")"||y[0]==="]"||y[0]==="}")j--;if(j===0&&(y[1]===","||y[0]==="CALL_END"))break;M++}}continue}M++}return{params:D,fields:I,endIdx:M}};for(let q=0;q<u.length;q++){let B=u[q],D=B[0],I=!1;if(D==="EXPORT"){if(I=!0,q++,q>=u.length)break;if(B=u[q],D=B[0],D==="DEFAULT"){if(q++,q>=u.length)break;if(B=u[q],D=B[0],D==="IDENTIFIER")W.push(`${F()}export default ${B[1]};`);continue}}if(D==="IMPORT"){let M=[],S=q+1;while(S<u.length&&u[S][0]!=="TERMINATOR")M.push(u[S]),S++;let N="import "+M.map((V)=>V[1]).join(" ");N=N.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),W.push(`${F()}${N};`),q=S;continue}if(D==="TYPE_DECL"){let M=B.data;if(!M)continue;let S=I||M.exported?"export ":"",N=M.typeParams||"";if(M.kind==="overload"){let V=M.overloadTokens,L=V[1],{params:C}=J(V,2),E=L.data?.returnType,n=E?`: ${_1(E)}`:"",T=Y?"":S?"":"declare ",j=M.typeParams||"";if(Y)W.push(`${F()}${M.name}${j}(${C.join(", ")})${n};`);else W.push(`${F()}${S}${T}function ${M.name}${j}(${C.join(", ")})${n};`)}else if(M.kind==="interface"){let V=M.extends?` extends ${M.extends}`:"";w(`${S}interface ${M.name}${N}${V} `,M.typeText||"{}","")}else{let V=_1(M.typeText||"");w(`${S}type ${M.name}${N} = `,V,";")}continue}if(D==="ENUM"){let M=I?"export ":"",S=u[q+1];if(!S)continue;let N=S[1],V=q+2;if(u[V]?.[0]==="INDENT"){W.push(`${F()}${M}enum ${N} {`),f++,V++;let L=[];while(V<u.length&&u[V][0]!=="OUTDENT"){if(u[V][0]==="TERMINATOR"){V++;continue}if(u[V][0]==="IDENTIFIER"){let C=u[V][1];if(V++,u[V]?.[1]==="="){V++;let E=u[V]?.[1];L.push(`${C} = ${E}`),V++}else L.push(C)}else V++}for(let C=0;C<L.length;C++){let E=C<L.length-1?",":"";W.push(`${F()}${L[C]}${E}`)}f--,W.push(`${F()}}`)}continue}if(D==="CLASS"){let M=I?"export ":"",S=u[q+1];if(!S)continue;let N=S[1],V="",L=q+2;if(u[L]?.[0]==="EXTENDS")V=` extends ${u[L+1]?.[1]||""}`,L+=2;if(u[L]?.[0]==="INDENT"){let C=!1,E=L+1;while(E<u.length&&u[E][0]!=="OUTDENT"){if(u[E].data?.type||u[E].data?.returnType){C=!0;break}E++}if(C)W.push(`${F()}${M}declare class ${N}${V} {`),Y=!0,Z.clear(),f++}continue}if(D==="DEF"){let M=u[q+1];if(!M)continue;let S=M[1],N=M.data?.returnType;if(!N&&M.data?.await===!0)N="void";let V=M.data?.typeParams||"",{params:L,endIdx:C}=J(u,q+2);if(N||L.some((E)=>E.includes(":"))){let E=I?"export ":"",n=Y?"":I?"":"declare ",T=N?`: ${_1(N)}`:"",j=L.join(", ");if(Y)W.push(`${F()}${S}${V}(${j})${T};`);else W.push(`${F()}${E}${n}function ${S}${V}(${j})${T};`)}q=C;continue}if(D==="{"&&Y){let M=q+1,S=1;while(M<u.length&&S>0){let N=u[M];if(N[0]==="{"){S++,M++;continue}if(N[0]==="}"){S--,M++;continue}if(N[0]==="TERMINATOR"){M++;continue}if(N[0]==="PROPERTY"&&S===1){let V=N[1],L=N.data?.returnType;if(M++,u[M]?.[1]===":")M++;let C=[],E=[];if(u[M]?.[0]==="PARAM_START"){let n=J(u,M);C=n.params,E=n.fields,M=n.endIdx+1}if(u[M]?.[0]==="->"||u[M]?.[0]==="=>")M++;if(u[M]?.[0]==="INDENT"){let n=1;M++;while(M<u.length&&n>0){if(u[M][0]==="INDENT")n++;if(u[M][0]==="OUTDENT")n--;M++}}if(L||C.some((n)=>n.includes(":"))){let n=L?`: ${_1(L)}`:"",T=C.join(", ");if(V==="constructor"&&E.length){for(let j of E)if(!Z.has(j.name))W.push(`${F()}${j.name}: ${j.type};`),Z.add(j.name)}W.push(`${F()}${V}(${T})${n};`)}continue}M++}q=M-1;continue}if(D==="INDENT")continue;if(D==="OUTDENT"){if(Y)f--,W.push(`${F()}}`),Y=!1;continue}if(D==="IDENTIFIER"&&!Y&&u[q+1]?.[0]==="="&&(u[q+2]?.[0]==="PARAM_START"||u[q+2]?.[0]==="(")){let M=B[1],S=q+2,{params:N}=J(u,S),V=S,L=0;while(V<u.length){if(u[V][0]==="PARAM_START"||u[V][0]==="(")L++;if(u[V][0]==="PARAM_END"||u[V][0]===")")L--;if(L===0&&(u[V][0]==="->"||u[V][0]==="=>"))break;V++}let C=u[V]?.data?.returnType;if(C||N.some((E)=>E.includes(":"))){let E=I?"export ":"",n=I?"":"declare ",T=C?`: ${_1(C)}`:"",j=N.join(", ");W.push(`${F()}${E}${n}function ${M}(${j})${T};`);continue}}if(D==="IDENTIFIER"&&B.data?.type){let M=B[1],S=_1(B.data.type),N=u[q+1];if(N){let V=I?"export ":"",L=I?"":"declare ";if(N[0]==="READONLY_ASSIGN")W.push(`${F()}${V}${L}const ${M}: ${S};`);else if(N[0]==="REACTIVE_ASSIGN")G=!0,W.push(`${F()}${V}${L}const ${M}: Signal<${S}>;`);else if(N[0]==="COMPUTED_ASSIGN")Q=!0,W.push(`${F()}${V}${L}const ${M}: Computed<${S}>;`);else if(N[0]==="EFFECT")W.push(`${F()}${V}${L}const ${M}: () => void;`);else if(N[0]==="="){let C=q+2;if(u[C]?.[0]==="PARAM_START"){let n=1,T=C+1;while(T<u.length&&n>0){if(u[T][0]==="PARAM_START")n++;if(u[T][0]==="PARAM_END")n--;T++}C=T}let E=u[C];if(E&&(E[0]==="->"||E[0]==="=>")&&E.data?.returnType){let n=_1(E.data.returnType),{params:T}=J(u,q+2),j=T.join(", ");W.push(`${F()}${V}${L}function ${M}(${j}): ${n};`)}else if(Y)W.push(`${F()}${M}: ${S};`),Z.add(M);else W.push(`${F()}${V}let ${M}: ${S};`)}else if(Y)W.push(`${F()}${M}: ${S};`),Z.add(M)}else if(Y)W.push(`${F()}${M}: ${S};`)}}let R=new Set,O=!1;if(U){if(z=Q2(U,W,F,f,R,X)||z,R.size>0)for(let B=W.length-1;B>=0;B--){let D=W[B].match(/(?:declare |export )*(?:const|let) (\w+)/);if(D&&R.has(D[1]))W.splice(B,1)}let q=[];if(O=l2(U,q),O){let B=new Set;for(let D of q){let I=D.match(/(?:declare |export )*const (\w+)/);if(I)B.add(I[1])}for(let D=W.length-1;D>=0;D--){let I=W[D].match(/(?:declare |export )*(?:const|let) (\w+)/);if(I&&B.has(I[1]))W.splice(D,1)}W.push(...q)}}if(W.length===0)return null;let P=[];if(z)P.push(...i4);if(/\bARIA\./.test(_))P.push(...d4);if(G)P.push(p4),P.push(n4);if(Q)P.push(o4),P.push(a4);if(G||Q)P.push(r4);if(O)P.push(...x2);if(P.length>0)P.push("");return P.concat(W).join(`
1245
1266
  `)+`
1246
- `}function _1(u){if(!u)return u;return u=u.replace(/::/g,":"),u=u.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),u=u.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),u=u.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),u}function G2(u,U,_,W,f,$){if(!Array.isArray(u))return!1;let F=u[0]?.valueOf?.()??u[0],Y=!1,Z=new Map,G=(D)=>typeof D==="string"&&/^[a-z]/.test(D),Q=(D)=>{if(!Array.isArray(D))return;let w=D[0]?.valueOf?.()??D[0];if(G(w))for(let A=1;A<D.length;A++){let R=D[A];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="object")continue;for(let P=1;P<R.length;P++){let q=R[P];if(!Array.isArray(q))continue;if((q[0]?.valueOf?.()??q[0])!=="ref")continue;let M=q[1]?.valueOf?.()??q[1];if(typeof M==="string")M=M.replace(/^["']|["']$/g,"");if(typeof M==="string"&&!Z.has(M))Z.set(M,`__RipDomEl<'${w}'> | null`)}}for(let A=1;A<D.length;A++)if(Array.isArray(D[A]))Q(D[A])},z=!1,J=null,X=null,K="";if(F==="export"&&Array.isArray(u[1])){z=!0;let D=u[1];if((D[0]?.valueOf?.()??D[0])==="="&&Array.isArray(D[2])&&(D[2][0]?.valueOf?.()??D[2][0])==="component")K=D[1]?.typeParams||"",J=D[1]?.valueOf?.()??D[1],X=D[2]}else if(F==="="&&Array.isArray(u[2])&&(u[2][0]?.valueOf?.()??u[2][0])==="component")K=u[1]?.typeParams||"",J=u[1]?.valueOf?.()??u[1],X=u[2];if(J&&X){let D=z?"export ":"",w=X[1]?.valueOf?.()??null,A=w?`__RipProps<'${w}'>`:null;if(A)Y=!0;let R=X[2],O=Array.isArray(R)&&(R[0]?.valueOf?.()??R[0])==="block"?R.slice(1):R?[R]:[],P=[],q=[],B=!1,M=(I)=>{let H=I?.valueOf?.()??I;if(typeof H!=="string")return null;if(H==="true"||H==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(H))return"number";if(H.startsWith('"')||H.startsWith("'"))return"string";return null};for(let I of O){if(!Array.isArray(I))continue;let H=I[0]?.valueOf?.()??I[0],S,N,V,L,C;if(H==="state"||H==="readonly"||H==="computed"){if(S=I[1],V=Array.isArray(S)&&(S[0]?.valueOf?.()??S[0])==="."&&(S[1]?.valueOf?.()??S[1])==="this",N=V?S[2]?.valueOf?.()??S[2]:S?.valueOf?.()??S,L=V?S[2]?.type:S?.type,C=!0,!V){f.add(N);let T=H==="computed"?"Computed":"Signal",j=L?_1(L):M(I[2])||"any";q.push(` ${N}: ${T}<${j}>;`);continue}}else if(H==="."){if(V=(I[1]?.valueOf?.()??I[1])==="this",N=V?I[2]?.valueOf?.()??I[2]:null,L=V?I[2]?.type:null,C=!1,!V&&N)f.add(N)}else if(H==="object"){for(let T=1;T<I.length;T++){let j=I[T];if(!Array.isArray(j)||j.length<3)continue;let y=j[1]?.valueOf?.()??j[1],m=j[2];if(!Array.isArray(m))continue;let t=m[0]?.valueOf?.()??m[0];if(t!=="->"&&t!=="=>")continue;let $1=m[1];if(!Array.isArray($1))continue;if(!$1.some((x)=>x?.type))continue;let g=[];for(let x of $1){let l=x?.valueOf?.()??x,e=x?.type?_1(x.type):"any";g.push(`${l}: ${e}`)}q.push(` ${y}(${g.join(", ")}): void;`)}continue}else if(H==="render"){Y=!0,Q(I[1]);continue}else continue;if(!V||!N)continue;let E=L?_1(L):"any",n=C?"?":"";if(!C)B=!0;if(P.push(` ${N}${n}: ${E};`),H==="state")P.push(` __bind_${N}__?: Signal<${E}>;`)}if(U.push(`${D}declare class ${J}${K} {`),P.length>0||A){let I=B?"":"?";if(P.length>0){U.push(` constructor(props${I}: {`);for(let H of P)U.push(H);U.push(A?` } & ${A});`:" });")}else U.push(` constructor(props${I}: ${A});`)}else U.push(" constructor(props?: {});");for(let[I,H]of Z)q.push(` ${I}: ${H};`);for(let I of q)U.push(I);U.push("}")}if(F==="program"||F==="block"){for(let D=1;D<u.length;D++)if(Array.isArray(u[D]))Y=G2(u[D],U,_,W,f,$)||Y}if(F==="export"&&Array.isArray(u[1])&&!X)Y=G2(u[1],U,_,W,f,$)||Y;return Y}function i2(u,U,_){let[W,f]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(f)){let G=f[0]==="block"?f.slice(1):[f];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],J=Q[2]?.valueOf?.()??Q[2];F.push([z,J])}}}if(F.length===0)return`const ${$} = {}`;let Y=F.map(([G,Q])=>`${G}: ${Q}`).join(", "),Z=F.map(([G,Q])=>`${Q}: "${G}"`).join(", ");return`const ${$} = {${Y}, ${Z}}`}var d2=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"]),p2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),A2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},n2=new Set(Object.keys(A2)),s4=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),t4=new Set(["break","continue","debugger"]),e4=new Set(["NEW","TYPEOF","DELETE"]),u5=new Set(["IN","OF","INSTANCEOF"]),a1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),J2=new Set([...a1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),o1=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","--","++","SYMBOL"]),f5=new Set(["+","-"]),$5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),U5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),D1=new Set(["(","[","{","MAP_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),w1=new Set([")","]","}","MAP_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),W5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},o2=new Set(["CATCH","THEN","ELSE","FINALLY",...w1]),z2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),_5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),Y5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),a2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),F5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),L1=new Set(["INDENT","OUTDENT","TERMINATOR"]),r2=new Set([".","?."]),s2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Z5=new Set([...J2,"++","--"]),t2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),G5=new Set(["*","/","%","//","%%"]),Q5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),z5=new Set(["<<",">>",">>>"]),A5=new Set(["!","~"]),J5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,X5=/^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,w5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,K5=/^[^\n\S]+/,M5=/^(?:\n[^\n\S]*)+/,H5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,D5=/^[-=]>/,O5=/^(?:~[=>]|=!)/,q5=/^(?:'''\\|"""\\|'''|"""|'|")/,R5=/^(?:[^\\']|\\[\s\S])*/,P5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,B5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,I5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,e2=/\n+([^\n\S]*)(?=\S)/g,S5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,u3=/^\w*/,N5=/^(?!.*(.).*\1)[gimsuy]*$/,E5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,L5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,V5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,C5=/\s+$/,f3=/^\s*(?:,|\??\.(?![.\d]))/,T5=65279;function r1(u,U,{pre:_=0,row:W=0,col:f=0,len:$=0,data:F=null}={}){let Y=[u,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:f,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function A1(u,U,_){let W=r1(u,U);if(W.generated=!0,_)W.origin=_;return W}function J1(u,{row:U=0,col:_=0,len:W=1}={}){let f=SyntaxError(u);throw f.location={first_line:U,first_column:_,last_column:_+W-1},f}function j5(u){if(u==null)return NaN;switch(u.charAt(1)){case"b":return parseInt(u.slice(2).replace(/_/g,""),2);case"o":return parseInt(u.slice(2).replace(/_/g,""),8);case"x":return parseInt(u.slice(2).replace(/_/g,""),16);default:return parseFloat(u.replace(/_/g,""))}}class K1{tokenize(u,U={}){this.code=u,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=U.row||0,this.col=U.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,u=this.clean(u),this.code=u;while(this.pos<u.length){this.chunk=u.slice(this.pos);let _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)J1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(_),U.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let _=this.ends[this.ends.length-1];J1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(U.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(u){if(u.charCodeAt(0)===T5)u=u.slice(1);if(u=u.replace(/\r\n?/g,`
1247
- `),u=u.replace(C5,""),/^[^\n\S]/.test(u))u=`
1267
+ `}function _1(u){if(!u)return u;return u=u.replace(/::/g,":"),u=u.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),u=u.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),u=u.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),u}function Q2(u,U,_,W,f,$){if(!Array.isArray(u))return!1;let F=u[0]?.valueOf?.()??u[0],Y=!1,Z=new Map,G=(H)=>typeof H==="string"&&/^[a-z]/.test(H),Q=(H)=>{if(!Array.isArray(H))return;let A=H[0]?.valueOf?.()??H[0];if(G(A))for(let J=1;J<H.length;J++){let R=H[J];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="object")continue;for(let P=1;P<R.length;P++){let q=R[P];if(!Array.isArray(q))continue;if((q[0]?.valueOf?.()??q[0])!=="ref")continue;let D=q[1]?.valueOf?.()??q[1];if(typeof D==="string")D=D.replace(/^["']|["']$/g,"");if(typeof D==="string"&&!Z.has(D))Z.set(D,`__RipDomEl<'${A}'> | null`)}}for(let J=1;J<H.length;J++)if(Array.isArray(H[J]))Q(H[J])},z=!1,X=null,w=null,K="";if(F==="export"&&Array.isArray(u[1])){z=!0;let H=u[1];if((H[0]?.valueOf?.()??H[0])==="="&&Array.isArray(H[2])&&(H[2][0]?.valueOf?.()??H[2][0])==="component")K=H[1]?.typeParams||"",X=H[1]?.valueOf?.()??H[1],w=H[2]}else if(F==="="&&Array.isArray(u[2])&&(u[2][0]?.valueOf?.()??u[2][0])==="component")K=u[1]?.typeParams||"",X=u[1]?.valueOf?.()??u[1],w=u[2];if(X&&w){let H=z?"export ":"",A=w[1]?.valueOf?.()??null,J=A?`__RipProps<'${A}'>`:null;if(J)Y=!0;let R=w[2],O=Array.isArray(R)&&(R[0]?.valueOf?.()??R[0])==="block"?R.slice(1):R?[R]:[],P=[],q=[],B=!1,D=(I)=>{let M=I?.valueOf?.()??I;if(typeof M!=="string")return null;if(M==="true"||M==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(M))return"number";if(M.startsWith('"')||M.startsWith("'"))return"string";return null};for(let I of O){if(!Array.isArray(I))continue;let M=I[0]?.valueOf?.()??I[0],S,N,V,L,C;if(M==="state"||M==="readonly"||M==="computed"){if(S=I[1],V=Array.isArray(S)&&(S[0]?.valueOf?.()??S[0])==="."&&(S[1]?.valueOf?.()??S[1])==="this",N=V?S[2]?.valueOf?.()??S[2]:S?.valueOf?.()??S,L=V?S[2]?.type:S?.type,C=!0,!V){f.add(N);let T=M==="computed"?"Computed":"Signal",j=L?_1(L):D(I[2])||"any";q.push(` ${N}: ${T}<${j}>;`);continue}}else if(M==="."){if(V=(I[1]?.valueOf?.()??I[1])==="this",N=V?I[2]?.valueOf?.()??I[2]:null,L=V?I[2]?.type:null,C=!1,!V&&N)f.add(N)}else if(M==="object"){for(let T=1;T<I.length;T++){let j=I[T];if(!Array.isArray(j)||j.length<3)continue;let y=j[1]?.valueOf?.()??j[1],m=j[2];if(!Array.isArray(m))continue;let t=m[0]?.valueOf?.()??m[0];if(t!=="->"&&t!=="=>")continue;let $1=m[1];if(!Array.isArray($1))continue;if(!$1.some((x)=>x?.type))continue;let g=[];for(let x of $1){let l=x?.valueOf?.()??x,e=x?.type?_1(x.type):"any";g.push(`${l}: ${e}`)}q.push(` ${y}(${g.join(", ")}): void;`)}continue}else if(M==="render"){Y=!0,Q(I[1]);continue}else continue;if(!V||!N)continue;let E=L?_1(L):"any",n=C?"?":"";if(!C)B=!0;if(P.push(` ${N}${n}: ${E};`),M==="state")P.push(` __bind_${N}__?: Signal<${E}>;`)}if(U.push(`${H}declare class ${X}${K} {`),P.length>0||J){let I=B?"":"?";if(P.length>0){U.push(` constructor(props${I}: {`);for(let M of P)U.push(M);U.push(J?` } & ${J});`:" });")}else U.push(` constructor(props${I}: ${J});`)}else U.push(" constructor(props?: {});");for(let[I,M]of Z)q.push(` ${I}: ${M};`);for(let I of q)U.push(I);U.push("}")}if(F==="program"||F==="block"){for(let H=1;H<u.length;H++)if(Array.isArray(u[H]))Y=Q2(u[H],U,_,W,f,$)||Y}if(F==="export"&&Array.isArray(u[1])&&!w)Y=Q2(u[1],U,_,W,f,$)||Y;return Y}function d2(u,U,_){let[W,f]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(f)){let G=f[0]==="block"?f.slice(1):[f];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],X=Q[2]?.valueOf?.()??Q[2];F.push([z,X])}}}if(F.length===0)return`const ${$} = {}`;let Y=F.map(([G,Q])=>`${G}: ${Q}`).join(", "),Z=F.map(([G,Q])=>`${Q}: "${G}"`).join(", ");return`const ${$} = {${Y}, ${Z}}`}var p2=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"]),X2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},o2=new Set(Object.keys(X2)),t4=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),e4=new Set(["break","continue","debugger"]),u5=new Set(["NEW","TYPEOF","DELETE"]),f5=new Set(["IN","OF","INSTANCEOF"]),a1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),w2=new Set([...a1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),o1=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","--","++","SYMBOL"]),$5=new Set(["+","-"]),U5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),W5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),H1=new Set(["(","[","{","MAP_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),A1=new Set([")","]","}","MAP_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),_5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},a2=new Set(["CATCH","THEN","ELSE","FINALLY",...A1]),J2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Y5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),F5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),r2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Z5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),L1=new Set(["INDENT","OUTDENT","TERMINATOR"]),s2=new Set([".","?."]),t2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),G5=new Set([...w2,"++","--"]),e2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),Q5=new Set(["*","/","%","//","%%"]),z5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),J5=new Set(["<<",">>",">>>"]),X5=new Set(["!","~"]),w5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,A5=/^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,K5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,D5=/^[^\n\S]+/,M5=/^(?:\n[^\n\S]*)+/,H5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,O5=/^[-=]>/,q5=/^(?:~[=>]|=!)/,R5=/^(?:'''\\|"""\\|'''|"""|'|")/,P5=/^(?:[^\\']|\\[\s\S])*/,B5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,I5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,S5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,u3=/\n+([^\n\S]*)(?=\S)/g,N5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,f3=/^\w*/,E5=/^(?!.*(.).*\1)[gimsuy]*$/,L5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,V5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,C5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,T5=/\s+$/,$3=/^\s*(?:,|\??\.(?![.\d]))/,j5=65279;function r1(u,U,{pre:_=0,row:W=0,col:f=0,len:$=0,data:F=null}={}){let Y=[u,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:f,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function J1(u,U,_){let W=r1(u,U);if(W.generated=!0,_)W.origin=_;return W}function X1(u,{row:U=0,col:_=0,len:W=1}={}){let f=SyntaxError(u);throw f.location={first_line:U,first_column:_,last_column:_+W-1},f}function b5(u){if(u==null)return NaN;switch(u.charAt(1)){case"b":return parseInt(u.slice(2).replace(/_/g,""),2);case"o":return parseInt(u.slice(2).replace(/_/g,""),8);case"x":return parseInt(u.slice(2).replace(/_/g,""),16);default:return parseFloat(u.replace(/_/g,""))}}class K1{tokenize(u,U={}){this.code=u,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=U.row||0,this.col=U.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,u=this.clean(u),this.code=u;while(this.pos<u.length){this.chunk=u.slice(this.pos);let _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)X1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(_),U.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let _=this.ends[this.ends.length-1];X1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(U.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(u){if(u.charCodeAt(0)===j5)u=u.slice(1);if(u=u.replace(/\r\n?/g,`
1268
+ `),u=u.replace(T5,""),/^[^\n\S]/.test(u))u=`
1248
1269
  `+u;return u}advance(u){let U=this.code.slice(this.pos,this.pos+u);for(let _=0;_<U.length;_++)if(U[_]===`
1249
- `)this.row++,this.col=0;else this.col++;this.pos+=u}emit(u,U,{len:_,data:W,pre:f}={}){let $=r1(u,U,{pre:f??0,row:this.row,col:this.col,len:_??(typeof U==="string"?U.length:0),data:W});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let u=this.prev();return u?u[0]:void 0}prevVal(){let u=this.prev();return u?u[1]:void 0}identifierToken(){if(O5.test(this.chunk))return 0;let u=J5.exec(this.chunk);if(!u)return 0;let[,U,_]=u,W=U.length,f={},$;if(U==="own"&&this.prevTag()==="FOR")return this.emit("OWN",U,{len:W}),W;if(U==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",U,{len:W}),W;if(U==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Q=this.prevTag();if(Q==="DEFAULT"||Q==="IMPORT_ALL"||Q==="IDENTIFIER")return this.emit("AS",U,{len:W}),W}if((U==="as"||U==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(U==="as!"?"FORASAWAIT":"FORAS","as",{len:W}),W;if(U==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",U,{len:W}),W;let F;if(U==="do"&&(F=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),F[1].length+3;let Y=this.prev();if(_&&Y&&Y[0]==="TERNARY")_=null;if(_&&_.length>1&&/[a-zA-Z_$]/.test(this.chunk[W+_.length]))_=null;if(_||Y&&(Y[0]==="."||Y[0]==="?."||!Y.spaced&&Y[0]==="@")){if($="PROPERTY",this.inRenderBlock&&Y&&Y[0]==="."&&!_){let Q=this.chunk.slice(W);while(Q[0]==="-"&&/^-[a-zA-Z]/.test(Q)){let z=/^-([a-zA-Z][\w]*)/.exec(Q);if(!z)break;U+="-"+z[1],W+=1+z[1].length,Q=this.chunk.slice(W)}}}else $="IDENTIFIER";let Z=U.endsWith("!")||U.endsWith("?")?U.slice(0,-1):U;if($==="IDENTIFIER"&&!U.endsWith("!")&&!U.endsWith("?")&&(d2.has(U)||p2.has(U)||n2.has(U))&&!(this.exportSpecifierList&&n2.has(U))){if(A2[U]!==void 0)f.original=U,U=A2[U];$=this.classifyKeyword(U,$,f)}if($==="IDENTIFIER"&&s4.has(Z))if(Z==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else J1(`reserved word '${Z}'`,{row:this.row,col:this.col,len:W});if($==="PROPERTY"&&Y){if(Y[0]==="."&&this.tokens.length>1){let Q=this.tokens[this.tokens.length-2];if(Q[0]==="UNARY"&&Q[1]==="new")Q[0]="NEW_TARGET";if(Q[0]==="IMPORT"&&Q[1]==="import")this.seenImport=!1,Q[0]="IMPORT_META"}}if(U.length>1&&U.endsWith("!"))f.await=!0,U=U.slice(0,-1);if(U.length>1&&U.endsWith("?"))f.predicate=!0,U=U.slice(0,-1);let G=this.emit($,U,{len:W,data:Object.keys(f).length?f:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(_)return this.emit(":",":",{len:1}),W+_.length;return W}classifyKeyword(u,U,_){switch(u){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return u}if(t4.has(u))return"STATEMENT";let W=u.toUpperCase();if(W==="WHEN"&&L1.has(this.prevTag()))return"LEADING_WHEN";if(W==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(W==="UNLESS")return"UNLESS";if(W==="IMPORT")return this.seenImport=!0,"IMPORT";if(W==="EXPORT")return this.seenExport=!0,"EXPORT";if(e4.has(W))return"UNARY";if(u5.has(W)){if(W!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+W;if(this.prevVal()==="!"){let f=this.tokens.pop();_.invert=f.data?.original||f[1]}return"RELATION"}if(d2.has(u)||p2.has(u))return W;return U}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let U=this.prev();if(U&&(U[0]==="IDENTIFIER"||U[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}if(this.chunk[0]==="#"){let U=this.prev();if(U&&!U.spaced&&!U.newLine&&(U[0]==="IDENTIFIER"||U[0]==="PROPERTY"))return 0}let u=H5.exec(this.chunk);if(!u)return 0;return u[0].length}whitespaceToken(){let u=K5.exec(this.chunk);if(!u&&this.chunk[0]!==`
1270
+ `)this.row++,this.col=0;else this.col++;this.pos+=u}emit(u,U,{len:_,data:W,pre:f}={}){let $=r1(u,U,{pre:f??0,row:this.row,col:this.col,len:_??(typeof U==="string"?U.length:0),data:W});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let u=this.prev();return u?u[0]:void 0}prevVal(){let u=this.prev();return u?u[1]:void 0}identifierToken(){if(q5.test(this.chunk))return 0;let u=w5.exec(this.chunk);if(!u)return 0;let[,U,_]=u,W=U.length,f={},$;if(U==="own"&&this.prevTag()==="FOR")return this.emit("OWN",U,{len:W}),W;if(U==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",U,{len:W}),W;if(U==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Q=this.prevTag();if(Q==="DEFAULT"||Q==="IMPORT_ALL"||Q==="IDENTIFIER")return this.emit("AS",U,{len:W}),W}if((U==="as"||U==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(U==="as!"?"FORASAWAIT":"FORAS","as",{len:W}),W;if(U==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",U,{len:W}),W;let F;if(U==="do"&&(F=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),F[1].length+3;let Y=this.prev();if(_&&Y&&Y[0]==="TERNARY")_=null;if(_&&_.length>1&&/[a-zA-Z_$]/.test(this.chunk[W+_.length]))_=null;if(_||Y&&(Y[0]==="."||Y[0]==="?."||!Y.spaced&&Y[0]==="@")){if($="PROPERTY",this.inRenderBlock&&Y&&Y[0]==="."&&!_){let Q=this.chunk.slice(W);while(Q[0]==="-"&&/^-[a-zA-Z]/.test(Q)){let z=/^-([a-zA-Z][\w]*)/.exec(Q);if(!z)break;U+="-"+z[1],W+=1+z[1].length,Q=this.chunk.slice(W)}}}else $="IDENTIFIER";let Z=U.endsWith("!")||U.endsWith("?")?U.slice(0,-1):U;if($==="IDENTIFIER"&&!U.endsWith("!")&&!U.endsWith("?")&&(p2.has(U)||n2.has(U)||o2.has(U))&&!(this.exportSpecifierList&&o2.has(U))){if(X2[U]!==void 0)f.original=U,U=X2[U];$=this.classifyKeyword(U,$,f)}if($==="IDENTIFIER"&&t4.has(Z))if(Z==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else X1(`reserved word '${Z}'`,{row:this.row,col:this.col,len:W});if($==="PROPERTY"&&Y){if(Y[0]==="."&&this.tokens.length>1){let Q=this.tokens[this.tokens.length-2];if(Q[0]==="UNARY"&&Q[1]==="new")Q[0]="NEW_TARGET";if(Q[0]==="IMPORT"&&Q[1]==="import")this.seenImport=!1,Q[0]="IMPORT_META"}}if(U.length>1&&U.endsWith("!"))f.await=!0,U=U.slice(0,-1);if(U.length>1&&U.endsWith("?"))f.predicate=!0,U=U.slice(0,-1);let G=this.emit($,U,{len:W,data:Object.keys(f).length?f:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(_)return this.emit(":",":",{len:1}),W+_.length;return W}classifyKeyword(u,U,_){switch(u){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return u}if(e4.has(u))return"STATEMENT";let W=u.toUpperCase();if(W==="WHEN"&&L1.has(this.prevTag()))return"LEADING_WHEN";if(W==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(W==="UNLESS")return"UNLESS";if(W==="IMPORT")return this.seenImport=!0,"IMPORT";if(W==="EXPORT")return this.seenExport=!0,"EXPORT";if(u5.has(W))return"UNARY";if(f5.has(W)){if(W!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+W;if(this.prevVal()==="!"){let f=this.tokens.pop();_.invert=f.data?.original||f[1]}return"RELATION"}if(p2.has(u)||n2.has(u))return W;return U}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let U=this.prev();if(U&&(U[0]==="IDENTIFIER"||U[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}if(this.chunk[0]==="#"){let U=this.prev();if(U&&!U.spaced&&!U.newLine&&(U[0]==="IDENTIFIER"||U[0]==="PROPERTY"))return 0}let u=H5.exec(this.chunk);if(!u)return 0;return u[0].length}whitespaceToken(){let u=D5.exec(this.chunk);if(!u&&this.chunk[0]!==`
1250
1271
  `)return 0;let U=this.prev();if(U)if(u)U.spaced=!0,U.pre=u[0].length;else U.newLine=!0;return u?u[0].length:0}lineToken(){let u=M5.exec(this.chunk);if(!u)return 0;let U=u[0],_=U.length-1-U.lastIndexOf(`
1251
- `);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!s2.has(this.prevTag())){if(this.outdentTo(_,U.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return U.length}return U.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(),U.length;if(_>this.indent){if(!this.tokens.length)return this.indent=_,U.length;let W=_-this.indent;return this.emit("INDENT",W,{len:_}),this.indents.push(W),this.ends.push({tag:"OUTDENT"}),this.indent=_,U.length}return this.outdentTo(_,U.length),U.length}outdentTo(u,U=0){if(this.inRenderBlock&&u<=this.renderIndent)this.inRenderBlock=!1;let _=this.indent-u;while(_>0){let W=this.indents[this.indents.length-1];if(!W)_=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",_,{len:U}),_-=W}this.emitNewline(),this.indent=u}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1252
- `,{len:0})}isUnfinished(){if(this.inRenderBlock&&f3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let _=this.tokens.length;if(_>=2){let W=this.tokens[_-2][0];if(W==="INDENT"||W==="TERMINATOR"||W==="OUTDENT")return!1}}let u=this.tokens[this.tokens.length-1];if(u?.[0]==="COMPARE"&&u[1]===">"||u?.[0]==="SHIFT"&&(u[1]===">>"||u[1]===">>>")){let _=0;for(let W=this.tokens.length-1;W>=0;W--){let f=this.tokens[W];if(f[0]==="COMPARE"&&f[1]===">")_++;else if(f[0]==="SHIFT"&&f[1]===">>")_+=2;else if(f[0]==="SHIFT"&&f[1]===">>>")_+=3;else if(f[0]==="COMPARE"&&f[1]==="<")_--;if(_===0&&f[0]==="TYPE_ANNOTATION")return!1;if(_===0&&f[0]==="IDENTIFIER"&&f[1]==="type")return!1;if(f[0]==="TERMINATOR"||f[0]==="INDENT"||f[0]==="OUTDENT")break}}return f3.test(this.chunk)||s2.has(this.prevTag())}pair(u){let U=this.ends[this.ends.length-1];if(!U||u!==U.tag){if(U?.tag==="OUTDENT"){let _=this.indents[this.indents.length-1];if(_)this.outdentTo(this.indent-_);return this.pair(u)}J1(`unmatched ${u}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let u=q5.exec(this.chunk);if(!u)return 0;let U=u[0],_=U.length>1&&U.endsWith("\\"),W=_?U.slice(0,-1):U,f=this.prev();if(f&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))f[0]="FROM";let $;switch(W){case"'":$=R5;break;case'"':$=P5;break;case"'''":$=B5;break;case'"""':$=I5;break}let{tokens:F,index:Y}=this.matchWithInterpolations($,U,W),Z=W.length===3,G=null;if(Z)G=this.processHeredocIndent(Y,W,F);return this.mergeInterpolationTokens(F,{quote:W,indent:G,endOffset:Y,raw:_}),Y}processHeredocIndent(u,U,_){let W=u-U.length,f=W-1;while(f>=0&&this.chunk[f]!==`
1253
- `)f--;f++;let $=this.chunk.slice(f,W),F=/^\s*$/.test($)?$.length:null,Y="";for(let Q of _)if(Q[0]==="NEOSTRING")Y+=Q[1];let Z=null,G;e2.lastIndex=0;while(G=e2.exec(Y))if(Z===null||G[1].length>0&&G[1].length<Z.length)Z=G[1];if(F===null)return Z;if(Z===null)return" ".repeat(F);if(F<=Z.length)return" ".repeat(F);return Z}matchWithInterpolations(u,U,_,W){if(!_)_=U;if(!W)W=/^[#$]\{/;let f=[],$=U.length;if(this.chunk.slice(0,$)!==U)return null;let F=this.chunk.slice($);while(!0){let[Y]=u.exec(F);f.push(["NEOSTRING",Y,{offset:$}]),F=F.slice(Y.length),$+=Y.length;let Z=W.exec(F);if(!Z)break;let Q=Z[0].length-1,z=F.slice(Q),J=new K1().tokenize(z,{row:this.row,col:this.col+$+Q,untilBalanced:!0,rewrite:!1}),X=J.index+Q;if(F[X-1]==="}"){let D=J.tokens[0],w=J.tokens[J.tokens.length-1];D[0]="INTERPOLATION_START",D[1]="(",w[0]="INTERPOLATION_END",w[1]=")"}if(J.tokens[1]?.[0]==="TERMINATOR")J.tokens.splice(1,1);let K=J.tokens.length;if(K>2&&J.tokens[K-3]?.[0]==="INDENT"&&J.tokens[K-2]?.[0]==="OUTDENT")J.tokens.splice(K-3,2);f.push(["TOKENS",J.tokens]),F=F.slice(X),$+=X}if(F.slice(0,_.length)!==_)J1(`missing ${_}`,{row:this.row,col:this.col});return{tokens:f,index:$+_.length}}mergeInterpolationTokens(u,{quote:U,indent:_,endOffset:W,raw:f}){if(u.length>1)this.emit("STRING_START","(",{len:U?.length||0,data:{quote:U}});for(let $=0;$<u.length;$++){let[F,Y]=u[$];if(F==="TOKENS")for(let Z of Y)this.tokens.push(Z);else if(F==="NEOSTRING"){let Z=Y;if(_){let G=new RegExp("\\n"+_,"g");Z=Z.replace(G,`
1254
- `)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===u.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(f)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(u.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let u=X5.exec(this.chunk);if(!u)return 0;let U=u[0],_=U.length,W={row:this.row,col:this.col};if(/^0[BOX]/.test(U))J1(`radix prefix in '${U}' must be lowercase`,{...W,col:W.col+1});if(/^0\d*[89]/.test(U))J1(`decimal literal '${U}' must not be prefixed with '0'`,{...W,len:_});if(/^0\d+/.test(U))J1(`octal literal '${U}' must be prefixed with '0o'`,{...W,len:_});let f=j5(U),$=f===1/0?"INFINITY":"NUMBER",F={parsedValue:f};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let u=this.matchWithInterpolations(E5,"///");if(u){let{tokens:G,index:Q}=u,[z]=u3.exec(this.chunk.slice(Q)),J=Q+z.length;if(G.length===1||!G.some((X)=>X[0]==="TOKENS")){let X=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${X}/${z}`,{len:J,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:J-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 J}let U=S5.exec(this.chunk);if(!U)return 0;let[_,W,f]=U,$=this.prev();if($){if($.spaced&&a1.has($[0])&&(!f||/^\/=?\s/.test(_)))return 0;if(Z5.has($[0])&&!($.spaced&&a1.has($[0])))return 0}if(!f)J1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=_.length,[Y]=u3.exec(this.chunk.slice(F)),Z=F+Y.length;if(!N5.test(Y))J1(`invalid regular expression flags ${Y}`,{row:this.row,col:this.col+F,len:Y.length});return this.emit("REGEX",`/${W}/${Y}`,{len:Z,data:{delimiter:"/"}}),Z}jsToken(){if(this.chunk[0]!=="`")return 0;let u=V5.exec(this.chunk)||L5.exec(this.chunk);if(!u)return 0;let U=u[1],_=u[0].length;return this.emit("JS",U,{len:_,data:{here:u[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let u=this.chunk[2];if(!u||/\s/.test(u))return 0;let _={"[":"]","(":")","{":"}","<":">"}[u]||u,W=_!==u,f=1,$=3;while($<this.chunk.length&&f>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(W&&G===u)f++;if(G===_)f--;if(f>0)$++}if(f!==0)return 0;let F=this.chunk.slice(3,$),Y=$+1,Z=[];if(F.trim()){let G=F.trim().split(/(?<!\\)\s+/);for(let Q of G)Z.push(Q.replace(/\\ /g," "))}this.emit("[","[",{len:Y});for(let G=0;G<Z.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${Z[G]}"`)}return this.emit("]","]"),Y}symbolToken(){if(this.chunk[0]!==":")return 0;let u=this.chunk[1];if(!u||u==="="||u===":"||/\s/.test(u))return 0;if(!/[a-zA-Z_$]/.test(u))return 0;let U=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!U)return 0;let _=U[1],W=_.length+1;return this.emit("SYMBOL",_,{len:W}),W}literalToken(){let u=this.wordLiteral();if(u)return u;let U=this.symbolToken();if(U)return U;let _=w5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),f=W,$=this.prev();if(D5.test(W))this.tagParameters();if(W==="="&&$&&$[1]==="."&&!$.spaced){let F=this.tokens,Y=F.length-2;while(Y>=1&&F[Y][0]==="PROPERTY"&&F[Y-1]?.[1]===".")Y-=2;if(Y>=0&&(F[Y][0]==="IDENTIFIER"||F[Y][0]===")"||F[Y][0]==="]")){let Z=F.slice(Y,F.length-1);$[0]="=",$[1]="=";for(let G of Z)this.tokens.push(r1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(r1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||t2.has(W))){if(W==="="&&($[1]==="||"||$[1]==="&&"||$[1]==="??")&&!$.spaced)return $[0]="COMPOUND_ASSIGN",$[1]+="=",W.length}if(W==="("&&$?.[0]==="IMPORT")$[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&$?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,f="TERMINATOR";else if(W==="|>")f="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")f="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")f="COMPUTED_ASSIGN";else if(W===":=")f="REACTIVE_ASSIGN";else if(W==="<=>")f="BIND";else if(W==="~>")f="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")f="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(W==="*>"&&(!$||$[0]==="TERMINATOR"||$[0]==="INDENT"||$[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let F=this.chunk.slice(2),Y=/^@(\s*)=(?!=)/.exec(F);if(Y){let G=Y[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Q=this.emit("PROPERTY","assign");return Q.spaced=!0,this.emit("@","@"),this.emit(",",","),3+G.length+1}let Z=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(F);if(Z){let G=Z[1],Q=Z[2],z=G[0]==="@",J=z?G.slice(1):G,X=J?J.split("."):[],K=()=>{if(z){if(this.emit("@","@"),X.length>0)this.emit("PROPERTY",X[0])}else this.emit("IDENTIFIER",X[0]);for(let w=1;w<X.length;w++)this.emit(".","."),this.emit("PROPERTY",X[w])};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+G.length+Q.length+1}}else if(W==="*"&&$?.[0]==="EXPORT")f="EXPORT_ALL";else if(G5.has(W))f="MATH";else if(Q5.has(W))f="COMPARE";else if(t2.has(W))f="COMPOUND_ASSIGN";else if(A5.has(W))f="UNARY_MATH";else if(z5.has(W))f="SHIFT";else if(W==="?"&&$?.spaced)f="TERNARY";else if(W==="?!"&&$&&!$.spaced)f="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))f="?.";else if($){if(W==="("&&!$.spaced&&a1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";f="CALL_START"}if(W==="["&&!$.spaced&&J2.has($[0])){if(f="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||f==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:W5[W],origin:[f,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(f,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let u=this.tokens.length-1,U=[];this.tokens[u][0]="PARAM_END";while(u-- >0){let _=this.tokens[u];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(u-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(u){let U=this.tokens[u??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(u){return this.tokens=u,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let u=0;while(this.tokens[u]?.[0]==="TERMINATOR")u++;if(u>0)this.tokens.splice(0,u)}rewriteMapLiterals(){let u=this.tokens;for(let U=0;U<u.length;U++){if(u[U][0]!=="MATH"||u[U][1]!=="*")continue;let _=u[U+1];if(!_||_[0]!=="{")continue;if(u[U].spaced||u[U].newLine)continue;let W=u[U-1];if(W&&J2.has(W[0]))continue;u.splice(U,1),u[U][0]="MAP_START";let f=1;for(let $=U+1;$<u.length&&f>0;$++){let F=u[$][0];if(F==="{"||F==="MAP_START")f++;if(F==="}"){if(f--,f===0)u[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((u,U)=>{if(u[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((u,U)=>{if(u[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")u[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let u=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&F5.has($[0])&&!($[0]==="TERMINATOR"&&o2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&u!=="THEN")||$[0]==="INDENT"&&!$.generated&&(u==="->"||u==="=>")||$[0]===","&&(u==="->"||u==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||r2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},f=($,F)=>{let Y=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(Y,0,_)};this.scanTokens(($,F,Y)=>{let[Z]=$;if(Z==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return Y.splice(F,1,...this.makeIndentation()),1;if(o2.has(this.tokens[F+1]?.[0]))return Y.splice(F,1),0}if(Z==="CATCH")for(let G=1;G<=2;G++){let Q=this.tokens[F+G]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return Y.splice(F+G,0,...this.makeIndentation()),2+G}if((Z==="->"||Z==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[U,_]=this.makeIndentation(),Y.splice(F+1,0,U,_),1;if(a2.has(Z)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(Z==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(u=Z,[U,_]=this.makeIndentation(),Z==="THEN")U.fromThen=!0;if(Y.splice(F+1,0,U),Z==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,W,f);else this.detectEnd(F+2,W,f);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(u){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=u-1;_>=0;_--){let W=this.tokens[_],f=W?.[0];if(U.has(f))return f;if(L1.has(f)||W?.newLine)return null}return null}detectWhenThenEnd(u,U,_){let W=0,f=0;while(u<this.tokens.length){let $=this.tokens[u],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(u)!=="LEADING_WHEN")f++;else if(F==="ELSE"&&f>0)f--;else if(U.call(this,$,u))return _.call(this,$,u)}if(D1.has(F))W++;if(w1.has(F))W--;if(W<0)return _.call(this,$,u);u++}}tagPostfixConditionals(){let u=null,U=(W,f)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!a2.has(this.tokens[f-1]?.[0])},_=(W)=>{if(W[0]!=="INDENT"||W.generated&&!W.fromThen)u[0]="POST_"+u[0]};this.scanTokens((W,f)=>{if(W[0]!=="IF"&&W[0]!=="UNLESS")return 1;if(this.tokens[f-1]?.[0]==="INTERPOLATION_START")return 1;return u=W,this.detectEnd(f+1,U,_),1})}rewriteTaggedTemplates(){let u=this.tokens;for(let U=u.length-2;U>=0;U--)if(u[U][0]==="IDENTIFIER"&&u[U][1]==="$"&&(u[U+1]?.[0]==="STRING"||u[U+1]?.[0]==="STRING_START")){let _=u[U-1];if(_&&_5.has(_[0])){if(u.splice(U,1),_.spaced=!1,u[U].spaced=!1,u[U].pre=0,u[U].newLine)u[U].newLine=!1}}}addImplicitBracesAndParens(){let u=[],U=!1;this.scanTokens((_,W,f)=>{let[$]=_,F=f[W-1]||[],Y=f[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(M)=>W-Q+M,J=()=>u[u.length-1],X=(M)=>M?.[2]?.ours,K=()=>X(J())&&J()?.[0]==="(",D=()=>X(J())&&J()?.[0]==="{",w=(M)=>{u.push(["(",M,{ours:!0}]),f.splice(M,0,A1("CALL_START","("))},A=()=>{u.pop(),f.splice(W,0,A1("CALL_END",")")),W+=1},R=(M,I={})=>{u.push(["{",M,{sameLine:!0,startsLine:I.startsLine??!0,ours:!0}]);let H=A1("{","{");if(!H.data)H.data={};H.data.generated=!0,f.splice(M,0,H)},O=(M)=>{M=M??W,u.pop(),f.splice(M,0,A1("}","}")),W+=1};if((K()||D())&&Y5.has($))return u.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&X(J())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||D()&&Z!==":")if(K())A();else O();if(J()?.[2]?.ours&&J()[0]==="CONTROL")u.pop();return u.push([$,W]),z(1)}if(D1.has($))return u.push([$,W]),z(1);if(w1.has($)){while(X(J()))if(K())A();else if(D())O();else u.pop();u.pop()}if(z2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(f[W+2]?.[0])||f5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return w(W+1),z(2);if(z2.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 w(W+1),u.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(f[W-1]?.[0]==="PROPERTY"&&f[W-2]?.[0]==="."){let H=W-2;while(H>=2&&f[H]?.[0]==="."&&(f[H-1]?.[0]==="PROPERTY"||f[H-1]?.[0]==="IDENTIFIER"))H-=2;if(H+=1,f[H]?.[0]==="IDENTIFIER"||f[H]?.[0]==="PROPERTY"){let S=[];for(let V=H;V<W;V+=2)S.push(f[V][1]);let N=A1("STRING",`"${S.join(".")}"`,f[H]);N.pre=f[H].pre,N.spaced=f[H].spaced,N.newLine=f[H].newLine,N.loc=f[H].loc,f.splice(H,W-H,N),W=H+1}}let M=w1.has(this.tokens[W-1]?.[0])?u[u.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")M=W-2;let I=M<=0||L1.has(this.tokens[M-1]?.[0])||this.tokens[M-1]?.newLine;if(J()){let[H,S]=J(),N=u[u.length-2],V=(L)=>L==="{"||L==="MAP_START";if((V(H)||H==="INDENT"&&V(N?.[0])&&!X(N))&&(I||this.tokens[M-1]?.[0]===","||V(this.tokens[M-1]?.[0])||V(this.tokens[M]?.[0])))return z(1)}return R(M,{startsLine:!!I}),z(2)}if(L1.has($))for(let M=u.length-1;M>=0;M--){if(!X(u[M]))break;if(u[M][0]==="{")u[M][2].sameLine=!1}let P=Z==="OUTDENT"||F.newLine,q=$==="||"||$==="&&",B=!1;if(q){let M=W+1,I=f[M]?.[0];if(I==="("||I==="["||I==="{"){for(let H=1;++M<f.length&&H>0;)if(I=f[M][0],I==="("||I==="["||I==="{")H++;else if(I===")"||I==="]"||I==="}")H--}else if(I&&I!=="TERMINATOR"&&I!=="OUTDENT"&&I!==",")M++;B=f[M]?.[0]===","}if($5.has($)&&!B||r2.has($)&&P)while(X(J())){let[M,,{sameLine:I,startsLine:H}]=J();if(K()&&Z!==",")A();else if(D()&&!q&&I&&$!=="TERMINATOR"&&Z!==":")O();else if(D()&&$==="TERMINATOR"&&Z!==","&&!(H&&this.looksObjectish(W+1)))O();else if(J()?.[2]?.ours&&J()[0]==="CONTROL"&&f[J()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")u.pop();else break}if($===","&&!this.looksObjectish(W+1)&&D()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let M=G==="OUTDENT"?1:0;while(D())O(W+M)}return z(1)})}addImplicitCallCommas(){let u=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],f=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")u++;if(W==="CALL_END"||W===")")u--;if(u>0&&(W==="->"||W==="=>")&&U5.has(f))_.splice(U,0,A1(",",",")),U++;U++}}scanTokens(u){let U=0;while(U<this.tokens.length)U+=u.call(this,this.tokens[U],U,this.tokens)}detectEnd(u,U,_,W={}){let f=0;while(u<this.tokens.length){let $=this.tokens[u];if(f===0&&U.call(this,$,u))return _.call(this,$,u);if(D1.has($[0]))f++;if(w1.has($[0]))f--;if(f<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,u)}u++}}closeMergeAssignments(){let u=this.tokens;for(let U=0;U<u.length;U++){if(!u[U].mergeClose)continue;let _=0;for(let W=U+1;W<u.length;W++){let f=u[W][0];if(f==="("||f==="["||f==="{"||f==="CALL_START"||f==="INDEX_START"||f==="INDENT")_++;if(f===")"||f==="]"||f==="}"||f==="CALL_END"||f==="INDEX_END"||f==="OUTDENT")_--;if(_<0||_===0&&f==="TERMINATOR"){u.splice(W,0,A1("CALL_END",")",u[W-1]));break}if(W===u.length-1){u.splice(W+1,0,A1("CALL_END",")",u[W]));break}}}}commaInImplicitCall(u){let U=0;for(let _=u-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(D1.has(W)){if(W==="INDENT")return!1;if(U--,U<0)return!1;continue}if(U>0)continue;if(z2.has(W)&&this.tokens[_].spaced){let f=this.tokens[_+1]?.[0];return o1.has(f)||f==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(u){let U=0;for(let _=u-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(D1.has(W)){if(U--,U<0)return!1;continue}if(U>0)continue;if(W===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(u+1);if(L1.has(W))return!1}return!1}looksObjectish(u){if(!this.tokens[u])return!1;if(this.tokens[u]?.[0]==="@"&&this.tokens[u+2]?.[0]===":")return!0;if(this.tokens[u+1]?.[0]===":")return!0;if((this.tokens[u]?.[0]==="IDENTIFIER"||this.tokens[u]?.[0]==="PROPERTY")&&this.tokens[u+1]?.[0]==="."){let U=u+2;while(this.tokens[U]?.[0]==="PROPERTY"&&this.tokens[U+1]?.[0]===".")U+=2;if(this.tokens[U]?.[0]==="PROPERTY"&&this.tokens[U+1]?.[0]===":")return!0}if(D1.has(this.tokens[u]?.[0])){let U=null;if(this.detectEnd(u+1,(_)=>w1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(u,U){let _=new Set(U),W=[];while(u>=0){let f=this.tokens[u]?.[0];if(!W.length&&_.has(f))return!0;if(w1.has(f))W.push(f);if(D1.has(f)&&W.length)W.pop();if(!W.length&&(D1.has(f)&&!this.tokens[u]?.generated||L1.has(f)))break;u--}return!1}makeIndentation(u){let U=A1("INDENT",2),_=A1("OUTDENT",2);if(u)U.generated=_.generated=!0,U.origin=_.origin=u;else U.explicit=_.explicit=!0;return[U,_]}}k2(K1);n1(K1);var b5=["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"],$3=new Set(b5);var h5=["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 y5=["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"],v5=["math","param","portal"],U3=new Set([...h5,...v5]),O1=new Set(y5),q1=new Set([...U3,...O1]);var W3="__bind_",_3="__",X2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),g5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),w2="http://www.w3.org/2000/svg";function c5(u){for(let U of u){if(!Array.isArray(U))continue;let _=U[1]instanceof String?U[1].valueOf():U[1],W=U[2]instanceof String?U[2].valueOf():U[2];if(_==="type"&&typeof W==="string")return W.replace(/^["']|["']$/g,"")}return null}function R1(u){if(typeof u==="string"||u instanceof String)return u.valueOf();if(Array.isArray(u)&&u[0]==="."&&u[1]==="this"&&(typeof u[2]==="string"||u[2]instanceof String))return u[2].valueOf();return null}function K2(u){return Array.isArray(u)&&u[0]==="."&&u[1]==="this"}function M2(u){if(u instanceof String&&u.type)return u.type;if(Array.isArray(u)&&u[2]instanceof String&&u[2].type)return u[2].type;return null}function Y3(u,U){let _=(Y,Z)=>Y instanceof String?Y[Z]:void 0,W=U.prototype.classifyKeyword;U.prototype.classifyKeyword=function(Y,Z,G){if(Y==="offer"||Y==="accept"){let Q=0;for(let z=this.tokens.length-1;z>=0;z--){let J=this.tokens[z][0];if(J==="OUTDENT")Q++;else if(J==="INDENT")Q--;if(Q<0&&this.tokens[z-1]?.[0]==="COMPONENT")return Y.toUpperCase()}return Z}return W.call(this,Y,Z,G)},U.prototype.rewriteRender=function(){let Y=(A,R,O)=>{let P=[A,R];if(P.pre=0,P.data=null,P.loc=O?.loc??{r:0,c:0,n:0},P.spaced=!1,P.newLine=!1,P.generated=!0,O)P.origin=O;return P},Z=!1,G=0,Q=0,z=[],J=(A)=>{let R=A.split("#")[0];return q1.has(R)},X=(A)=>{if(!A||typeof A!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(A)},K=(A)=>{return J(A)||X(A)},D=(A,R,O,P)=>{let q=1,B=R;while(B>=0&&q>0){let M=A[B][0];if(M===O)q++;else if(M===P)q--;if(q>0)B--}return B},w=(A,R)=>{let O=R;while(O>0){let P=A[O-1][0];if(P==="TERMINATOR"||P==="RENDER")break;if(P==="INDENT"||P==="OUTDENT"){let q=A[O][0];if(q==="CALL_END"||q===")"){O=D(A,O-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(P==="CALL_END"||P===")"){O=D(A,O-2,P,P==="CALL_END"?"CALL_START":"(");continue}if(P==="INTERPOLATION_END"){O=D(A,O-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(P==="STRING_END"){O=D(A,O-2,"STRING_END","STRING_START");continue}O--}return A[O]&&A[O][0]==="IDENTIFIER"&&(K(A[O][1])||(O===0||A[O-1][0]==="INDENT"||A[O-1][0]==="TERMINATOR"||A[O-1][0]==="RENDER"))};this.scanTokens(function(A,R,O){let P=A[0],q=R<O.length-1?O[R+1]:null;if(P==="RENDER")return Z=!0,G=Q+1,1;if(P==="INDENT")return Q++,1;if(P==="OUTDENT"){Q--;let B=0;while(z.length>0&&z[z.length-1]>Q){let M=Y("CALL_END",")",A);O.splice(R+1+B,0,M),z.pop(),B++}if(Z&&Q<G)Z=!1;return 1+B}if(!Z)return 1;if(P==="="&&R>0){let B=O[R-1][0];if(B==="TERMINATOR"||B==="INDENT"||B==="RENDER"){let M=Y("IDENTIFIER","__text__",A),I=Y("CALL_START","(",A);return O.splice(R,1,M,I),this.detectEnd(R+2,(H)=>H[0]==="TERMINATOR"||H[0]==="OUTDENT",(H,S)=>O.splice(S,0,Y("CALL_END",")",H)),{returnOnNegativeLevel:!0}),2}}if(P==="UNARY_MATH"&&A[1]==="~"&&q&&q[0]==="IDENTIFIER"){A[0]="PROPERTY",A[1]="__transition__";let B=Y(":",":",A),M=Y("STRING",`"${q[1]}"`,q);return O.splice(R+1,1,B,M),1}if(P==="PROPERTY"&&A[1][0]==="$"&&A[1].length>1)return A[0]="STRING",A[1]=`"data-${A[1].slice(1)}"`,1;if(P==="IDENTIFIER"&&!A.spaced){let B=[A[1]],M=R+1;while(M+1<O.length){let I=O[M],H=O[M+1];if(I[0]==="-"&&!I.spaced&&(H[0]==="IDENTIFIER"||H[0]==="PROPERTY")){if(B.push(H[1]),M+=2,H[0]==="PROPERTY")break}else break}if(B.length>1&&M>R+1&&O[M-1][0]==="PROPERTY"){let I=B.join("-");if(I[0]==="$")I="data-"+I.slice(1);return A[0]="STRING",A[1]=`"${I}"`,O.splice(R+1,M-R-1),1}}if(P==="."){let B=R>0?O[R-1]:null,M=B?B[0]:null;if(M==="INDENT"||M==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let I=R+2<O.length?O[R+2]:null;if(!I||I[0]!==":"){let H=Y("IDENTIFIER","div",A);return O.splice(R,0,H),2}}if(!q||q[0]!=="(")return A[0]="IDENTIFIER",A[1]="div",0}}if(P==="IDENTIFIER"||P==="PROPERTY"){let B=O[R+1],M=O[R+2];if(B&&B[0]==="#"&&M&&(M[0]==="PROPERTY"||M[0]==="IDENTIFIER")){if(A[1]=A[1]+"#"+M[1],M.spaced)A.spaced=!0;return O.splice(R+1,2),0}}if(P==="BIND"){let B=R>0?O[R-1]:null,M=O[R+1];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")&&M&&M[0]==="IDENTIFIER")return B[1]=`__bind_${B[1]}__`,A[0]=":",A[1]=":",1}if(P==="@"){let B=R+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>R+2&&B<O.length&&O[B][0]===":"){let M=Y("[","[",A);O.splice(R,0,M);let I=Y("]","]",O[B+1]);return O.splice(B+1,0,I),2}}}if(P==="."&&q&&q[0]==="("){let B=R>0?O[R-1]:null,M=B?B[0]:null,I=M==="INDENT"||M==="TERMINATOR",H=Y("PROPERTY","__clsx",A);q[0]="CALL_START";let S=1;for(let N=R+2;N<O.length&&S>0;N++)if(O[N][0]==="("||O[N][0]==="CALL_START")S++;else if(O[N][0]===")"){if(S--,S===0)O[N][0]="CALL_END"}else if(O[N][0]==="CALL_END")S--;if(I){let N=Y("IDENTIFIER","div",A);return O.splice(R,0,N),O.splice(R+2,0,H),3}else if(M===":")return O[R]=Y("IDENTIFIER","__clsx",A),1;else return O.splice(R+1,0,H),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(P==="->"||P==="=>"||P==="CALL_START"||P==="(")return 1;let B=!1,M=R>0?O[R-1][0]:null,I=M==="IF"||M==="UNLESS"||M==="WHILE"||M==="UNTIL"||M==="WHEN"||M==="FORIN"||M==="FOROF"||M==="FORAS"||M==="FORASAWAIT"||M==="BY",H=!1;if(P==="CALL_END"){let N=1;for(let V=R-1;V>=0&&N>0;V--)if(O[V][0]==="CALL_END")N++;else if(O[V][0]==="CALL_START"){if(N--,N===0&&V>0&&O[V-1][0]==="PROPERTY"&&O[V-1][1]==="__clsx")H=!0}}let S=P==="IDENTIFIER"&&(M==="INDENT"||M==="TERMINATOR"||M==="RENDER");if(H)B=!0;else if(P==="IDENTIFIER"&&K(A[1])&&!I)B=!0;else if(P==="IDENTIFIER"&&!I)B=S||w(O,R);else if(P==="PROPERTY"||P==="STRING"||P==="STRING_END"||P==="NUMBER"||P==="BOOL"||P==="CALL_END"||P===")"||P==="PRESENCE")B=w(O,R);if(B){let N=!1;if(P==="PROPERTY"&&R>0&&O[R-1][0]==="."){let L=R;while(L>=2&&O[L-1][0]==="."&&O[L-2][0]==="PROPERTY")L-=2;if(L>=2&&O[L-1][0]==="."&&O[L-2][0]==="IDENTIFIER"&&K(O[L-2][1])){let C=L>=3?O[L-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")N=!0}}if(H||P==="IDENTIFIER"&&(K(A[1])||S)||N){let L=Y("CALL_START","(",A),C=Y("->","->",A);return C.newLine=!0,O.splice(R+1,0,L,C),z.push(Q+1),3}else{let L=Y(",",",",A),C=Y("->","->",A);return C.newLine=!0,O.splice(R+1,0,L,C),3}}}if(P==="IDENTIFIER"&&X(A[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return O.splice(R+1,0,Y("CALL_START","(",A),Y("CALL_END",")",A)),3;return 1})};let f=u.prototype;f.isHtmlTag=function(Y){let Z=Y.split("#")[0];return q1.has(Z.toLowerCase())},f.isComponent=function(Y){if(!Y||typeof Y!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(Y)},f.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let X=G[2];if(typeof X==="string"||X instanceof String)Z.unshift(X.valueOf());G=G[1]}let Q=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Q===null)return{tag:null,classes:Z,id:void 0,base:G};let[z,J]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:J,base:G}};let $=(Y)=>typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null,F=(Y,Z)=>{if(!(Y instanceof String))return Z;let G=new String(Z);if(Y.predicate)G.predicate=!0;if(Y.await)G.await=!0;return G.predicate||G.await?G:Z};f.transformComponentMembers=function(Y,Z=new Set){let G=this._self;if(!Array.isArray(Y)){let Q=$(Y);if(Q&&Z.has(Q))return Y;if(Q&&this.reactiveMembers&&this.reactiveMembers.has(Q))return[".",[".",G,Q],F(Y,"value")];if(Q&&this.componentMembers&&this.componentMembers.has(Q))return[".",G,F(Y,Q)];return Y}if(Y[0]==="."&&Y[1]==="this"&&$(Y[2])!=null){let Q=Y[2],z=$(Q);if(this.reactiveMembers&&this.reactiveMembers.has(z))return[".",[".",G,z],F(Q,"value")];return this._factoryMode?[".",G,Q]:Y}if(Y[0]==="."||Y[0]==="?.")return[Y[0],this.transformComponentMembers(Y[1]),Y[2]];if(Y[0]==="->"){let Q=Y[1],z=new Set(Z);if(Array.isArray(Q))for(let J of Q){let X=$(Array.isArray(J)&&J[0]==="default"?J[1]:J);if(X)z.add(X)}return["=>",Y[1],this.transformComponentMembers(Y[2],z)]}if(Y[0]==="object"||Y[0]==="map-literal")return[Y[0],...Y.slice(1).map((Q)=>{if(Array.isArray(Q)&&Q[0]==="...")return["...",this.transformComponentMembers(Q[1],Z)];if(Array.isArray(Q)&&Q.length>=2){let z=Q[1],J=Array.isArray(z)?this.transformComponentMembers(z,Z):z,X=this.transformComponentMembers(Q[2],Z);return[Q[0],J,X]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let J=1;J<Y.length;J++){let X=Y[J];if(Array.isArray(X)&&X[0]==="="){let K=$(X[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",X[1],this.transformComponentMembers(X[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(X,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},f.emitComponent=function(Y,Z,G,Q){let[,z]=Z,J=this.is(z,"block")?z.slice(1):[],X=[],K=[],D=[],w=[],A=[],R=[],O=[],P=[],q=null,B=new Set,M=new Set;for(let T of J){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let y=R1(T[1]);if(y)O.push(y)}if(j==="accept"){let y=typeof T[1]==="string"?T[1]:R1(T[1]);if(y)P.push(y),B.add(y),M.add(y)}else if(j==="."&&T[1]==="this"&&R1(T)){let y=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(y)X.push({name:y,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),B.add(y),M.add(y)}else if(j==="state"){let y=R1(T[1]);if(y)X.push({name:y,value:T[2],isPublic:K2(T[1]),type:M2(T[1])}),B.add(y),M.add(y)}else if(j==="computed"){let y=R1(T[1]);if(y)K.push({name:y,expr:T[2],type:M2(T[1])}),B.add(y),M.add(y)}else if(j==="readonly"){let y=R1(T[1]);if(y)D.push({name:y,value:T[2],isPublic:K2(T[1]),type:M2(T[1])}),B.add(y)}else if(j==="="){let y=R1(T[1]);if(y)if(X2.has(y))A.push({name:y,value:T[2]});else{let m=T[2];if(Array.isArray(m)&&(m[0]==="->"||m[0]==="=>"))w.push({name:y,func:m}),B.add(y);else X.push({name:y,value:m,isPublic:K2(T[1])}),B.add(y),M.add(y)}}else if(j==="effect")R.push(T);else if(j==="render")q=T;else if(j==="object")for(let y=1;y<T.length;y++){let m=T[y];if(!Array.isArray(m))continue;let[,t,$1]=m;if(typeof t==="string"&&X2.has(t))A.push({name:t,value:$1});else if(typeof t==="string")w.push({name:t,func:$1}),B.add(t)}}let I=new Map;for(let{name:T}of w)if(/^on[A-Z]/.test(T)&&!X2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if($3.has(j))I.set(j,T)}let H=Z[0]?.valueOf?.()??null,S=new Set;for(let{name:T,isPublic:j}of X)if(j)S.add(T);for(let{name:T,isPublic:j}of D)if(j)S.add(T);let N=this.componentMembers,V=this.reactiveMembers,L=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=B,this.reactiveMembers=M,this._autoEventHandlers=I.size>0?I:null,this._inheritsTag=H||null,this.options.stubComponents){let T=(b)=>b?b.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],y=this._componentTypeParams||"";j.push(`class ${y}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let m=[];for(let{name:b,type:g,isPublic:x,required:l}of X){if(!x)continue;let e=T(g),u1=l?"":"?";m.push(`${b}${u1}: ${e||"any"}`),m.push(`__bind_${b}__?: Signal<${e||"any"}>`)}for(let{name:b,type:g,isPublic:x}of D){if(!x)continue;let l=T(g);m.push(`${b}?: ${l||"any"}`)}{let g=m.length>0&&X.some((l)=>l.isPublic&&l.required)?"":"?",x=m.length>0?`{${m.join("; ")}}`:"{}";if(H)x+=` & __RipProps<'${H}'>`;j.push(` constructor(_props${g}: ${x}) {}`)}let t=(b)=>{let g=b?.valueOf?.()??b;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:b,type:g,value:x}of X){let l=T(g)||t(x);j.push(l?` declare ${b}: Signal<${l}>;`:` declare ${b}: Signal<any>;`)}for(let{name:b,type:g,value:x}of D){let l=T(g)||t(x);j.push(l?` declare ${b}: ${l};`:` declare ${b}: any;`)}for(let{name:b,expr:g,type:x}of K){let l=T(x),e=l?`: Computed<${l}>`:"";if(this.is(g,"block")){let u1=this.transformComponentMembers(g),c=this.emitFunctionBody(u1);j.push(` ${b}${e} = __computed(() => ${c});`)}else{let u1=this.emitInComponent(g,"value");j.push(` ${b}${e} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:b,value:g,isPublic:x}of D){let l=this.emitInComponent(g,"value");j.push(x?` this.${b} = props.${b} ?? ${l};`:` this.${b} = ${l};`)}for(let{name:b,value:g,isPublic:x,required:l,type:e}of X)if(x&&l)j.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b});`);else if(x){let u1=this.emitInComponent(g,"value");j.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b} ?? ${u1});`)}else{let u1=this.emitInComponent(g,"value");j.push(` this.${b} = __state(${u1});`)}for(let b of R){let g=b[2],x=this.containsAwait(g)?"async ":"";if(this.is(g,"block")){let l=this.transformComponentMembers(g),e=this.emitFunctionBody(l,[],!0);j.push(` __effect(${x}() => ${e});`)}else{let l=this.emitInComponent(g,"value");j.push(` __effect(${x}() => { ${l}; });`)}}j.push(" }");let $1=new Map;for(let[b,g]of I)$1.set(g,b);if(q){let b=(g)=>{if(!Array.isArray(g))return;let x=g[0]?.valueOf?.()??g[0];if(typeof x==="string"&&x!=="object"&&x!=="switch"&&q1.has(x.split(/[.#]/)[0]))for(let l=1;l<g.length;l++){let e=g[l],u1=this.is(e,"object")?e:null;if(!u1&&Array.isArray(e)&&(e[0]==="->"||e[0]==="=>")&&this.is(e[2],"block")){for(let c=1;c<e[2].length;c++)if(this.is(e[2][c],"object")){u1=e[2][c];break}}if(!u1)continue;for(let c=1;c<u1.length;c++){let i=u1[c];if(!Array.isArray(i)||i.length<2)continue;let[,r,s]=i;if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&Array.isArray(s)&&s[0]==="."&&s[1]==="this"){let h=typeof r[2]==="string"?r[2]:r[2]?.valueOf?.(),p=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.();if(h&&p&&!$1.has(p))$1.set(p,h)}}}for(let l=1;l<g.length;l++)b(g[l])};b(q)}for(let{name:b,func:g}of w)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,x,l]=g;if((!x||Array.isArray(x)&&x.length===0)&&this.containsIt(l))x=["it"];let e=Array.isArray(x)?x.map((s)=>{let h=this.formatParam(s);if(s?.type)h+=`: ${s.type}`;return h}).join(", "):"",u1=$1.get(b);if(u1&&Array.isArray(x)&&x.length>0){let s=x[0];if(!(s?.type||s instanceof String&&s.type)&&typeof(s?.valueOf?.()??s)==="string"){let p=s?.valueOf?.()??s;e=e.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let c=this.reactiveMembers?this.transformComponentMembers(l):l,i=this.containsAwait(l),r=this.emitFunctionBody(c,x||[]);j.push(` ${i?"async ":""}${b}(${e}) ${r}`)}for(let{name:b,value:g}of A)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,x,l]=g,e=Array.isArray(x)?x.map((r)=>this.formatParam(r)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(l):l,c=this.containsAwait(l),i=this.emitFunctionBody(u1,x||[]);j.push(` ${c?"async ":""}${b}(${e}) ${i}`)}if(q){let b=[],g=0,x=this.options.source?.split(`
1272
+ `);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!t2.has(this.prevTag())){if(this.outdentTo(_,U.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return U.length}return U.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(),U.length;if(_>this.indent){if(!this.tokens.length)return this.indent=_,U.length;let W=_-this.indent;return this.emit("INDENT",W,{len:_}),this.indents.push(W),this.ends.push({tag:"OUTDENT"}),this.indent=_,U.length}return this.outdentTo(_,U.length),U.length}outdentTo(u,U=0){if(this.inRenderBlock&&u<=this.renderIndent)this.inRenderBlock=!1;let _=this.indent-u;while(_>0){let W=this.indents[this.indents.length-1];if(!W)_=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",_,{len:U}),_-=W}this.emitNewline(),this.indent=u}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1273
+ `,{len:0})}isUnfinished(){if(this.inRenderBlock&&$3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let _=this.tokens.length;if(_>=2){let W=this.tokens[_-2][0];if(W==="INDENT"||W==="TERMINATOR"||W==="OUTDENT")return!1}}let u=this.tokens[this.tokens.length-1];if(u?.[0]==="COMPARE"&&u[1]===">"||u?.[0]==="SHIFT"&&(u[1]===">>"||u[1]===">>>")){let _=0;for(let W=this.tokens.length-1;W>=0;W--){let f=this.tokens[W];if(f[0]==="COMPARE"&&f[1]===">")_++;else if(f[0]==="SHIFT"&&f[1]===">>")_+=2;else if(f[0]==="SHIFT"&&f[1]===">>>")_+=3;else if(f[0]==="COMPARE"&&f[1]==="<")_--;if(_===0&&f[0]==="TYPE_ANNOTATION")return!1;if(_===0&&f[0]==="IDENTIFIER"&&f[1]==="type")return!1;if(f[0]==="TERMINATOR"||f[0]==="INDENT"||f[0]==="OUTDENT")break}}return $3.test(this.chunk)||t2.has(this.prevTag())}pair(u){let U=this.ends[this.ends.length-1];if(!U||u!==U.tag){if(U?.tag==="OUTDENT"){let _=this.indents[this.indents.length-1];if(_)this.outdentTo(this.indent-_);return this.pair(u)}X1(`unmatched ${u}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let u=R5.exec(this.chunk);if(!u)return 0;let U=u[0],_=U.length>1&&U.endsWith("\\"),W=_?U.slice(0,-1):U,f=this.prev();if(f&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))f[0]="FROM";let $;switch(W){case"'":$=P5;break;case'"':$=B5;break;case"'''":$=I5;break;case'"""':$=S5;break}let{tokens:F,index:Y}=this.matchWithInterpolations($,U,W),Z=W.length===3,G=null;if(Z)G=this.processHeredocIndent(Y,W,F);return this.mergeInterpolationTokens(F,{quote:W,indent:G,endOffset:Y,raw:_}),Y}processHeredocIndent(u,U,_){let W=u-U.length,f=W-1;while(f>=0&&this.chunk[f]!==`
1274
+ `)f--;f++;let $=this.chunk.slice(f,W),F=/^\s*$/.test($)?$.length:null,Y="";for(let Q of _)if(Q[0]==="NEOSTRING")Y+=Q[1];let Z=null,G;u3.lastIndex=0;while(G=u3.exec(Y))if(Z===null||G[1].length>0&&G[1].length<Z.length)Z=G[1];if(F===null)return Z;if(Z===null)return" ".repeat(F);if(F<=Z.length)return" ".repeat(F);return Z}matchWithInterpolations(u,U,_,W){if(!_)_=U;if(!W)W=/^[#$]\{/;let f=[],$=U.length;if(this.chunk.slice(0,$)!==U)return null;let F=this.chunk.slice($);while(!0){let[Y]=u.exec(F);f.push(["NEOSTRING",Y,{offset:$}]),F=F.slice(Y.length),$+=Y.length;let Z=W.exec(F);if(!Z)break;let Q=Z[0].length-1,z=F.slice(Q),X=new K1().tokenize(z,{row:this.row,col:this.col+$+Q,untilBalanced:!0,rewrite:!1}),w=X.index+Q;if(F[w-1]==="}"){let H=X.tokens[0],A=X.tokens[X.tokens.length-1];H[0]="INTERPOLATION_START",H[1]="(",A[0]="INTERPOLATION_END",A[1]=")"}if(X.tokens[1]?.[0]==="TERMINATOR")X.tokens.splice(1,1);let K=X.tokens.length;if(K>2&&X.tokens[K-3]?.[0]==="INDENT"&&X.tokens[K-2]?.[0]==="OUTDENT")X.tokens.splice(K-3,2);f.push(["TOKENS",X.tokens]),F=F.slice(w),$+=w}if(F.slice(0,_.length)!==_)X1(`missing ${_}`,{row:this.row,col:this.col});return{tokens:f,index:$+_.length}}mergeInterpolationTokens(u,{quote:U,indent:_,endOffset:W,raw:f}){if(u.length>1)this.emit("STRING_START","(",{len:U?.length||0,data:{quote:U}});for(let $=0;$<u.length;$++){let[F,Y]=u[$];if(F==="TOKENS")for(let Z of Y)this.tokens.push(Z);else if(F==="NEOSTRING"){let Z=Y;if(_){let G=new RegExp("\\n"+_,"g");Z=Z.replace(G,`
1275
+ `)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===u.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(f)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(u.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let u=A5.exec(this.chunk);if(!u)return 0;let U=u[0],_=U.length,W={row:this.row,col:this.col};if(/^0[BOX]/.test(U))X1(`radix prefix in '${U}' must be lowercase`,{...W,col:W.col+1});if(/^0\d*[89]/.test(U))X1(`decimal literal '${U}' must not be prefixed with '0'`,{...W,len:_});if(/^0\d+/.test(U))X1(`octal literal '${U}' must be prefixed with '0o'`,{...W,len:_});let f=b5(U),$=f===1/0?"INFINITY":"NUMBER",F={parsedValue:f};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let u=this.matchWithInterpolations(L5,"///");if(u){let{tokens:G,index:Q}=u,[z]=f3.exec(this.chunk.slice(Q)),X=Q+z.length;if(G.length===1||!G.some((w)=>w[0]==="TOKENS")){let w=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${w}/${z}`,{len:X,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:X-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 X}let U=N5.exec(this.chunk);if(!U)return 0;let[_,W,f]=U,$=this.prev();if($){if($.spaced&&a1.has($[0])&&(!f||/^\/=?\s/.test(_)))return 0;if(G5.has($[0])&&!($.spaced&&a1.has($[0])))return 0}if(!f)X1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=_.length,[Y]=f3.exec(this.chunk.slice(F)),Z=F+Y.length;if(!E5.test(Y))X1(`invalid regular expression flags ${Y}`,{row:this.row,col:this.col+F,len:Y.length});return this.emit("REGEX",`/${W}/${Y}`,{len:Z,data:{delimiter:"/"}}),Z}jsToken(){if(this.chunk[0]!=="`")return 0;let u=C5.exec(this.chunk)||V5.exec(this.chunk);if(!u)return 0;let U=u[1],_=u[0].length;return this.emit("JS",U,{len:_,data:{here:u[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let u=this.chunk[2];if(!u||/\s/.test(u))return 0;let _={"[":"]","(":")","{":"}","<":">"}[u]||u,W=_!==u,f=1,$=3;while($<this.chunk.length&&f>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(W&&G===u)f++;if(G===_)f--;if(f>0)$++}if(f!==0)return 0;let F=this.chunk.slice(3,$),Y=$+1,Z=[];if(F.trim()){let G=F.trim().split(/(?<!\\)\s+/);for(let Q of G)Z.push(Q.replace(/\\ /g," "))}this.emit("[","[",{len:Y});for(let G=0;G<Z.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${Z[G]}"`)}return this.emit("]","]"),Y}symbolToken(){if(this.chunk[0]!==":")return 0;let u=this.chunk[1];if(!u||u==="="||u===":"||/\s/.test(u))return 0;if(!/[a-zA-Z_$]/.test(u))return 0;let U=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!U)return 0;let _=U[1],W=_.length+1;return this.emit("SYMBOL",_,{len:W}),W}literalToken(){let u=this.wordLiteral();if(u)return u;let U=this.symbolToken();if(U)return U;let _=K5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),f=W,$=this.prev();if(O5.test(W))this.tagParameters();if(W==="="&&$&&$[1]==="."&&!$.spaced){let F=this.tokens,Y=F.length-2;while(Y>=1&&F[Y][0]==="PROPERTY"&&F[Y-1]?.[1]===".")Y-=2;if(Y>=0&&(F[Y][0]==="IDENTIFIER"||F[Y][0]===")"||F[Y][0]==="]")){let Z=F.slice(Y,F.length-1);$[0]="=",$[1]="=";for(let G of Z)this.tokens.push(r1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(r1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||e2.has(W))){if(W==="="&&($[1]==="||"||$[1]==="&&"||$[1]==="??")&&!$.spaced)return $[0]="COMPOUND_ASSIGN",$[1]+="=",W.length}if(W==="("&&$?.[0]==="IMPORT")$[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&$?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,f="TERMINATOR";else if(W==="|>")f="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")f="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")f="COMPUTED_ASSIGN";else if(W===":=")f="REACTIVE_ASSIGN";else if(W==="<=>")f="BIND";else if(W==="~>")f="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")f="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(W==="*>"&&(!$||$[0]==="TERMINATOR"||$[0]==="INDENT"||$[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let F=this.chunk.slice(2),Y=/^@(\s*)=(?!=)/.exec(F);if(Y){let G=Y[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Q=this.emit("PROPERTY","assign");return Q.spaced=!0,this.emit("@","@"),this.emit(",",","),3+G.length+1}let Z=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(F);if(Z){let G=Z[1],Q=Z[2],z=G[0]==="@",X=z?G.slice(1):G,w=X?X.split("."):[],K=()=>{if(z){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let A=1;A<w.length;A++)this.emit(".","."),this.emit("PROPERTY",w[A])};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 H=this.prev();return H.mergeClose=!0,2+G.length+Q.length+1}}else if(W==="*"&&$?.[0]==="EXPORT")f="EXPORT_ALL";else if(Q5.has(W))f="MATH";else if(z5.has(W))f="COMPARE";else if(e2.has(W))f="COMPOUND_ASSIGN";else if(X5.has(W))f="UNARY_MATH";else if(J5.has(W))f="SHIFT";else if(W==="?"&&$?.spaced)f="TERNARY";else if(W==="?!"&&$&&!$.spaced)f="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))f="?.";else if($){if(W==="("&&!$.spaced&&a1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";f="CALL_START"}if(W==="["&&!$.spaced&&w2.has($[0])){if(f="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||f==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:_5[W],origin:[f,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(f,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let u=this.tokens.length-1,U=[];this.tokens[u][0]="PARAM_END";while(u-- >0){let _=this.tokens[u];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(u-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(u){let U=this.tokens[u??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(u){return this.tokens=u,this.removeLeadingNewlines(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let u=0;while(this.tokens[u]?.[0]==="TERMINATOR")u++;if(u>0)this.tokens.splice(0,u)}rewriteMapLiterals(){let u=this.tokens;for(let U=0;U<u.length;U++){if(u[U][0]!=="MATH"||u[U][1]!=="*")continue;let _=u[U+1];if(!_||_[0]!=="{")continue;if(u[U].spaced||u[U].newLine)continue;let W=u[U-1];if(W&&w2.has(W[0]))continue;u.splice(U,1),u[U][0]="MAP_START";let f=1;for(let $=U+1;$<u.length&&f>0;$++){let F=u[$][0];if(F==="{"||F==="MAP_START")f++;if(F==="}"){if(f--,f===0)u[$][0]="MAP_END"}}}}closeOpenCalls(){this.scanTokens((u,U)=>{if(u[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((u,U)=>{if(u[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")u[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let u=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&Z5.has($[0])&&!($[0]==="TERMINATOR"&&a2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&u!=="THEN")||$[0]==="INDENT"&&!$.generated&&(u==="->"||u==="=>")||$[0]===","&&(u==="->"||u==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||s2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},f=($,F)=>{let Y=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(Y,0,_)};this.scanTokens(($,F,Y)=>{let[Z]=$;if(Z==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return Y.splice(F,1,...this.makeIndentation()),1;if(a2.has(this.tokens[F+1]?.[0]))return Y.splice(F,1),0}if(Z==="CATCH")for(let G=1;G<=2;G++){let Q=this.tokens[F+G]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return Y.splice(F+G,0,...this.makeIndentation()),2+G}if((Z==="->"||Z==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[U,_]=this.makeIndentation(),Y.splice(F+1,0,U,_),1;if(r2.has(Z)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(Z==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(u=Z,[U,_]=this.makeIndentation(),Z==="THEN")U.fromThen=!0;if(Y.splice(F+1,0,U),Z==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,W,f);else this.detectEnd(F+2,W,f);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(u){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=u-1;_>=0;_--){let W=this.tokens[_],f=W?.[0];if(U.has(f))return f;if(L1.has(f)||W?.newLine)return null}return null}detectWhenThenEnd(u,U,_){let W=0,f=0;while(u<this.tokens.length){let $=this.tokens[u],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(u)!=="LEADING_WHEN")f++;else if(F==="ELSE"&&f>0)f--;else if(U.call(this,$,u))return _.call(this,$,u)}if(H1.has(F))W++;if(A1.has(F))W--;if(W<0)return _.call(this,$,u);u++}}tagPostfixConditionals(){let u=null,U=(W,f)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!r2.has(this.tokens[f-1]?.[0])},_=(W)=>{if(W[0]!=="INDENT"||W.generated&&!W.fromThen)u[0]="POST_"+u[0]};this.scanTokens((W,f)=>{if(W[0]!=="IF"&&W[0]!=="UNLESS")return 1;if(this.tokens[f-1]?.[0]==="INTERPOLATION_START")return 1;return u=W,this.detectEnd(f+1,U,_),1})}rewriteTaggedTemplates(){let u=this.tokens;for(let U=u.length-2;U>=0;U--)if(u[U][0]==="IDENTIFIER"&&u[U][1]==="$"&&(u[U+1]?.[0]==="STRING"||u[U+1]?.[0]==="STRING_START")){let _=u[U-1];if(_&&Y5.has(_[0])){if(u.splice(U,1),_.spaced=!1,u[U].spaced=!1,u[U].pre=0,u[U].newLine)u[U].newLine=!1}}}addImplicitBracesAndParens(){let u=[],U=!1;this.scanTokens((_,W,f)=>{let[$]=_,F=f[W-1]||[],Y=f[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(D)=>W-Q+D,X=()=>u[u.length-1],w=(D)=>D?.[2]?.ours,K=()=>w(X())&&X()?.[0]==="(",H=()=>w(X())&&X()?.[0]==="{",A=(D)=>{u.push(["(",D,{ours:!0}]),f.splice(D,0,J1("CALL_START","("))},J=()=>{u.pop(),f.splice(W,0,J1("CALL_END",")")),W+=1},R=(D,I={})=>{u.push(["{",D,{sameLine:!0,startsLine:I.startsLine??!0,ours:!0}]);let M=J1("{","{");if(!M.data)M.data={};M.data.generated=!0,f.splice(D,0,M)},O=(D)=>{D=D??W,u.pop(),f.splice(D,0,J1("}","}")),W+=1};if((K()||H())&&F5.has($))return u.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&w(X())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||H()&&Z!==":")if(K())J();else O();if(X()?.[2]?.ours&&X()[0]==="CONTROL")u.pop();return u.push([$,W]),z(1)}if(H1.has($))return u.push([$,W]),z(1);if(A1.has($)){while(w(X()))if(K())J();else if(H())O();else u.pop();u.pop()}if(J2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(f[W+2]?.[0])||$5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return A(W+1),z(2);if(J2.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 A(W+1),u.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(f[W-1]?.[0]==="PROPERTY"&&f[W-2]?.[0]==="."){let M=W-2;while(M>=2&&f[M]?.[0]==="."&&(f[M-1]?.[0]==="PROPERTY"||f[M-1]?.[0]==="IDENTIFIER"))M-=2;if(M+=1,f[M]?.[0]==="IDENTIFIER"||f[M]?.[0]==="PROPERTY"){let S=[];for(let V=M;V<W;V+=2)S.push(f[V][1]);let N=J1("STRING",`"${S.join(".")}"`,f[M]);N.pre=f[M].pre,N.spaced=f[M].spaced,N.newLine=f[M].newLine,N.loc=f[M].loc,f.splice(M,W-M,N),W=M+1}}let D=A1.has(this.tokens[W-1]?.[0])?u[u.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")D=W-2;let I=D<=0||L1.has(this.tokens[D-1]?.[0])||this.tokens[D-1]?.newLine;if(X()){let[M,S]=X(),N=u[u.length-2],V=(L)=>L==="{"||L==="MAP_START";if((V(M)||M==="INDENT"&&V(N?.[0])&&!w(N))&&(I||this.tokens[D-1]?.[0]===","||V(this.tokens[D-1]?.[0])||V(this.tokens[D]?.[0])))return z(1)}return R(D,{startsLine:!!I}),z(2)}if(L1.has($))for(let D=u.length-1;D>=0;D--){if(!w(u[D]))break;if(u[D][0]==="{")u[D][2].sameLine=!1}let P=Z==="OUTDENT"||F.newLine,q=$==="||"||$==="&&",B=!1;if(q){let D=W+1,I=f[D]?.[0];if(I==="("||I==="["||I==="{"){for(let M=1;++D<f.length&&M>0;)if(I=f[D][0],I==="("||I==="["||I==="{")M++;else if(I===")"||I==="]"||I==="}")M--}else if(I&&I!=="TERMINATOR"&&I!=="OUTDENT"&&I!==",")D++;B=f[D]?.[0]===","}if(U5.has($)&&!B||s2.has($)&&P)while(w(X())){let[D,,{sameLine:I,startsLine:M}]=X();if(K()&&Z!==",")J();else if(H()&&!q&&I&&$!=="TERMINATOR"&&Z!==":")O();else if(H()&&$==="TERMINATOR"&&Z!==","&&!(M&&this.looksObjectish(W+1)))O();else if(X()?.[2]?.ours&&X()[0]==="CONTROL"&&f[X()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")u.pop();else break}if($===","&&!this.looksObjectish(W+1)&&H()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let D=G==="OUTDENT"?1:0;while(H())O(W+D)}return z(1)})}addImplicitCallCommas(){let u=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],f=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")u++;if(W==="CALL_END"||W===")")u--;if(u>0&&(W==="->"||W==="=>")&&W5.has(f))_.splice(U,0,J1(",",",")),U++;U++}}scanTokens(u){let U=0;while(U<this.tokens.length)U+=u.call(this,this.tokens[U],U,this.tokens)}detectEnd(u,U,_,W={}){let f=0;while(u<this.tokens.length){let $=this.tokens[u];if(f===0&&U.call(this,$,u))return _.call(this,$,u);if(H1.has($[0]))f++;if(A1.has($[0]))f--;if(f<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,u)}u++}}closeMergeAssignments(){let u=this.tokens;for(let U=0;U<u.length;U++){if(!u[U].mergeClose)continue;let _=0;for(let W=U+1;W<u.length;W++){let f=u[W][0];if(f==="("||f==="["||f==="{"||f==="CALL_START"||f==="INDEX_START"||f==="INDENT")_++;if(f===")"||f==="]"||f==="}"||f==="CALL_END"||f==="INDEX_END"||f==="OUTDENT")_--;if(_<0||_===0&&f==="TERMINATOR"){u.splice(W,0,J1("CALL_END",")",u[W-1]));break}if(W===u.length-1){u.splice(W+1,0,J1("CALL_END",")",u[W]));break}}}}commaInImplicitCall(u){let U=0;for(let _=u-1;_>=0;_--){let W=this.tokens[_][0];if(A1.has(W)){U++;continue}if(H1.has(W)){if(W==="INDENT")return!1;if(U--,U<0)return!1;continue}if(U>0)continue;if(J2.has(W)&&this.tokens[_].spaced){let f=this.tokens[_+1]?.[0];return o1.has(f)||f==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(u){let U=0;for(let _=u-1;_>=0;_--){let W=this.tokens[_][0];if(A1.has(W)){U++;continue}if(H1.has(W)){if(U--,U<0)return!1;continue}if(U>0)continue;if(W===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(u+1);if(L1.has(W))return!1}return!1}looksObjectish(u){if(!this.tokens[u])return!1;if(this.tokens[u]?.[0]==="@"&&this.tokens[u+2]?.[0]===":")return!0;if(this.tokens[u+1]?.[0]===":")return!0;if((this.tokens[u]?.[0]==="IDENTIFIER"||this.tokens[u]?.[0]==="PROPERTY")&&this.tokens[u+1]?.[0]==="."){let U=u+2;while(this.tokens[U]?.[0]==="PROPERTY"&&this.tokens[U+1]?.[0]===".")U+=2;if(this.tokens[U]?.[0]==="PROPERTY"&&this.tokens[U+1]?.[0]===":")return!0}if(H1.has(this.tokens[u]?.[0])){let U=null;if(this.detectEnd(u+1,(_)=>A1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(u,U){let _=new Set(U),W=[];while(u>=0){let f=this.tokens[u]?.[0];if(!W.length&&_.has(f))return!0;if(A1.has(f))W.push(f);if(H1.has(f)&&W.length)W.pop();if(!W.length&&(H1.has(f)&&!this.tokens[u]?.generated||L1.has(f)))break;u--}return!1}makeIndentation(u){let U=J1("INDENT",2),_=J1("OUTDENT",2);if(u)U.generated=_.generated=!0,U.origin=_.origin=u;else U.explicit=_.explicit=!0;return[U,_]}}i2(K1);n1(K1);var h5=["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"],U3=new Set(h5);var y5=["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 v5=["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"],g5=["math","param","portal"],W3=new Set([...y5,...g5]),O1=new Set(v5),q1=new Set([...W3,...O1]);var _3="__bind_",Y3="__",A2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),c5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),K2="http://www.w3.org/2000/svg";function x5(u){for(let U of u){if(!Array.isArray(U))continue;let _=U[1]instanceof String?U[1].valueOf():U[1],W=U[2]instanceof String?U[2].valueOf():U[2];if(_==="type"&&typeof W==="string")return W.replace(/^["']|["']$/g,"")}return null}function R1(u){if(typeof u==="string"||u instanceof String)return u.valueOf();if(Array.isArray(u)&&u[0]==="."&&u[1]==="this"&&(typeof u[2]==="string"||u[2]instanceof String))return u[2].valueOf();return null}function D2(u){return Array.isArray(u)&&u[0]==="."&&u[1]==="this"}function M2(u){if(u instanceof String&&u.type)return u.type;if(Array.isArray(u)&&u[2]instanceof String&&u[2].type)return u[2].type;return null}function F3(u,U){let _=(Y,Z)=>Y instanceof String?Y[Z]:void 0,W=U.prototype.classifyKeyword;U.prototype.classifyKeyword=function(Y,Z,G){if(Y==="offer"||Y==="accept"){let Q=0;for(let z=this.tokens.length-1;z>=0;z--){let X=this.tokens[z][0];if(X==="OUTDENT")Q++;else if(X==="INDENT")Q--;if(Q<0&&this.tokens[z-1]?.[0]==="COMPONENT")return Y.toUpperCase()}return Z}return W.call(this,Y,Z,G)},U.prototype.rewriteRender=function(){let Y=(J,R,O)=>{let P=[J,R];if(P.pre=0,P.data=null,P.loc=O?.loc??{r:0,c:0,n:0},P.spaced=!1,P.newLine=!1,P.generated=!0,O)P.origin=O;return P},Z=!1,G=0,Q=0,z=[],X=(J)=>{let R=J.split("#")[0];return q1.has(R)},w=(J)=>{if(!J||typeof J!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(J)},K=(J)=>{return X(J)||w(J)},H=(J,R,O,P)=>{let q=1,B=R;while(B>=0&&q>0){let D=J[B][0];if(D===O)q++;else if(D===P)q--;if(q>0)B--}return B},A=(J,R)=>{let O=R;while(O>0){let P=J[O-1][0];if(P==="TERMINATOR"||P==="RENDER")break;if(P==="INDENT"||P==="OUTDENT"){let q=J[O][0];if(q==="CALL_END"||q===")"){O=H(J,O-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(P==="CALL_END"||P===")"){O=H(J,O-2,P,P==="CALL_END"?"CALL_START":"(");continue}if(P==="INTERPOLATION_END"){O=H(J,O-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(P==="STRING_END"){O=H(J,O-2,"STRING_END","STRING_START");continue}O--}return J[O]&&J[O][0]==="IDENTIFIER"&&(K(J[O][1])||(O===0||J[O-1][0]==="INDENT"||J[O-1][0]==="TERMINATOR"||J[O-1][0]==="RENDER"))};this.scanTokens(function(J,R,O){let P=J[0],q=R<O.length-1?O[R+1]:null;if(P==="RENDER")return Z=!0,G=Q+1,1;if(P==="INDENT")return Q++,1;if(P==="OUTDENT"){Q--;let B=0;while(z.length>0&&z[z.length-1]>Q){let D=Y("CALL_END",")",J);O.splice(R+1+B,0,D),z.pop(),B++}if(Z&&Q<G)Z=!1;return 1+B}if(!Z)return 1;if(P==="="&&R>0){let B=O[R-1][0];if(B==="TERMINATOR"||B==="INDENT"||B==="RENDER"){let D=Y("IDENTIFIER","__text__",J),I=Y("CALL_START","(",J);return O.splice(R,1,D,I),this.detectEnd(R+2,(M)=>M[0]==="TERMINATOR"||M[0]==="OUTDENT",(M,S)=>O.splice(S,0,Y("CALL_END",")",M)),{returnOnNegativeLevel:!0}),2}}if(P==="UNARY_MATH"&&J[1]==="~"&&q&&q[0]==="IDENTIFIER"){J[0]="PROPERTY",J[1]="__transition__";let B=Y(":",":",J),D=Y("STRING",`"${q[1]}"`,q);return O.splice(R+1,1,B,D),1}if(P==="PROPERTY"&&J[1][0]==="$"&&J[1].length>1)return J[0]="STRING",J[1]=`"data-${J[1].slice(1)}"`,1;if(P==="IDENTIFIER"&&!J.spaced){let B=[J[1]],D=R+1;while(D+1<O.length){let I=O[D],M=O[D+1];if(I[0]==="-"&&!I.spaced&&(M[0]==="IDENTIFIER"||M[0]==="PROPERTY")){if(B.push(M[1]),D+=2,M[0]==="PROPERTY")break}else break}if(B.length>1&&D>R+1&&O[D-1][0]==="PROPERTY"){let I=B.join("-");if(I[0]==="$")I="data-"+I.slice(1);return J[0]="STRING",J[1]=`"${I}"`,O.splice(R+1,D-R-1),1}}if(P==="."){let B=R>0?O[R-1]:null,D=B?B[0]:null;if(D==="INDENT"||D==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let I=R+2<O.length?O[R+2]:null;if(!I||I[0]!==":"){let M=Y("IDENTIFIER","div",J);return O.splice(R,0,M),2}}if(!q||q[0]!=="(")return J[0]="IDENTIFIER",J[1]="div",0}}if(P==="IDENTIFIER"||P==="PROPERTY"){let B=O[R+1],D=O[R+2];if(B&&B[0]==="#"&&D&&(D[0]==="PROPERTY"||D[0]==="IDENTIFIER")){if(J[1]=J[1]+"#"+D[1],D.spaced)J.spaced=!0;return O.splice(R+1,2),0}}if(P==="BIND"){let B=R>0?O[R-1]:null,D=O[R+1];if(B&&(B[0]==="IDENTIFIER"||B[0]==="PROPERTY")&&D&&D[0]==="IDENTIFIER")return B[1]=`__bind_${B[1]}__`,J[0]=":",J[1]=":",1}if(P==="@"){let B=R+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>R+2&&B<O.length&&O[B][0]===":"){let D=Y("[","[",J);O.splice(R,0,D);let I=Y("]","]",O[B+1]);return O.splice(B+1,0,I),2}}}if(P==="."&&q&&q[0]==="("){let B=R>0?O[R-1]:null,D=B?B[0]:null,I=D==="INDENT"||D==="TERMINATOR",M=Y("PROPERTY","__clsx",J);q[0]="CALL_START";let S=1;for(let N=R+2;N<O.length&&S>0;N++)if(O[N][0]==="("||O[N][0]==="CALL_START")S++;else if(O[N][0]===")"){if(S--,S===0)O[N][0]="CALL_END"}else if(O[N][0]==="CALL_END")S--;if(I){let N=Y("IDENTIFIER","div",J);return O.splice(R,0,N),O.splice(R+2,0,M),3}else if(D===":")return O[R]=Y("IDENTIFIER","__clsx",J),1;else return O.splice(R+1,0,M),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(P==="->"||P==="=>"||P==="CALL_START"||P==="(")return 1;let B=!1,D=R>0?O[R-1][0]:null,I=D==="IF"||D==="UNLESS"||D==="WHILE"||D==="UNTIL"||D==="WHEN"||D==="FORIN"||D==="FOROF"||D==="FORAS"||D==="FORASAWAIT"||D==="BY",M=!1;if(P==="CALL_END"){let N=1;for(let V=R-1;V>=0&&N>0;V--)if(O[V][0]==="CALL_END")N++;else if(O[V][0]==="CALL_START"){if(N--,N===0&&V>0&&O[V-1][0]==="PROPERTY"&&O[V-1][1]==="__clsx")M=!0}}let S=P==="IDENTIFIER"&&(D==="INDENT"||D==="TERMINATOR"||D==="RENDER");if(M)B=!0;else if(P==="IDENTIFIER"&&K(J[1])&&!I)B=!0;else if(P==="IDENTIFIER"&&!I)B=S||A(O,R);else if(P==="PROPERTY"||P==="STRING"||P==="STRING_END"||P==="NUMBER"||P==="BOOL"||P==="CALL_END"||P===")"||P==="PRESENCE")B=A(O,R);if(B){let N=!1;if(P==="PROPERTY"&&R>0&&O[R-1][0]==="."){let L=R;while(L>=2&&O[L-1][0]==="."&&O[L-2][0]==="PROPERTY")L-=2;if(L>=2&&O[L-1][0]==="."&&O[L-2][0]==="IDENTIFIER"&&K(O[L-2][1])){let C=L>=3?O[L-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")N=!0}}if(M||P==="IDENTIFIER"&&(K(J[1])||S)||N){let L=Y("CALL_START","(",J),C=Y("->","->",J);return C.newLine=!0,O.splice(R+1,0,L,C),z.push(Q+1),3}else{let L=Y(",",",",J),C=Y("->","->",J);return C.newLine=!0,O.splice(R+1,0,L,C),3}}}if(P==="IDENTIFIER"&&w(J[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return O.splice(R+1,0,Y("CALL_START","(",J),Y("CALL_END",")",J)),3;return 1})};let f=u.prototype;f.isHtmlTag=function(Y){let Z=Y.split("#")[0];return q1.has(Z.toLowerCase())},f.isComponent=function(Y){if(!Y||typeof Y!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(Y)},f.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let w=G[2];if(typeof w==="string"||w instanceof String)Z.unshift(w.valueOf());G=G[1]}let Q=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Q===null)return{tag:null,classes:Z,id:void 0,base:G};let[z,X]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:X,base:G}};let $=(Y)=>typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null,F=(Y,Z)=>{if(!(Y instanceof String))return Z;let G=new String(Z);if(Y.predicate)G.predicate=!0;if(Y.await)G.await=!0;return G.predicate||G.await?G:Z};f.transformComponentMembers=function(Y,Z=new Set){let G=this._self;if(!Array.isArray(Y)){let Q=$(Y);if(Q&&Z.has(Q))return Y;if(Q&&this.reactiveMembers&&this.reactiveMembers.has(Q))return[".",[".",G,Q],F(Y,"value")];if(Q&&this.componentMembers&&this.componentMembers.has(Q))return[".",G,F(Y,Q)];return Y}if(Y[0]==="."&&Y[1]==="this"&&$(Y[2])!=null){let Q=Y[2],z=$(Q);if(this.reactiveMembers&&this.reactiveMembers.has(z))return[".",[".",G,z],F(Q,"value")];return this._factoryMode?[".",G,Q]:Y}if(Y[0]==="."||Y[0]==="?.")return[Y[0],this.transformComponentMembers(Y[1]),Y[2]];if(Y[0]==="->"){let Q=Y[1],z=new Set(Z);if(Array.isArray(Q))for(let X of Q){let w=$(Array.isArray(X)&&X[0]==="default"?X[1]:X);if(w)z.add(w)}return["=>",Y[1],this.transformComponentMembers(Y[2],z)]}if(Y[0]==="object"||Y[0]==="map-literal")return[Y[0],...Y.slice(1).map((Q)=>{if(Array.isArray(Q)&&Q[0]==="...")return["...",this.transformComponentMembers(Q[1],Z)];if(Array.isArray(Q)&&Q.length>=2){let z=Q[1],X=Array.isArray(z)?this.transformComponentMembers(z,Z):z,w=this.transformComponentMembers(Q[2],Z);return[Q[0],X,w]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let X=1;X<Y.length;X++){let w=Y[X];if(Array.isArray(w)&&w[0]==="="){let K=$(w[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",w[1],this.transformComponentMembers(w[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(w,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},f.emitComponent=function(Y,Z,G,Q){let[,z]=Z,X=this.is(z,"block")?z.slice(1):[],w=[],K=[],H=[],A=[],J=[],R=[],O=[],P=[],q=null,B=new Set,D=new Set;for(let T of X){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let y=R1(T[1]);if(y)O.push(y)}if(j==="accept"){let y=typeof T[1]==="string"?T[1]:R1(T[1]);if(y)P.push(y),B.add(y),D.add(y)}else if(j==="."&&T[1]==="this"&&R1(T)){let y=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(y)w.push({name:y,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),B.add(y),D.add(y)}else if(j==="state"){let y=R1(T[1]);if(y)w.push({name:y,value:T[2],isPublic:D2(T[1]),type:M2(T[1])}),B.add(y),D.add(y)}else if(j==="computed"){let y=R1(T[1]);if(y)K.push({name:y,expr:T[2],type:M2(T[1])}),B.add(y),D.add(y)}else if(j==="readonly"){let y=R1(T[1]);if(y)H.push({name:y,value:T[2],isPublic:D2(T[1]),type:M2(T[1])}),B.add(y)}else if(j==="="){let y=R1(T[1]);if(y)if(A2.has(y))J.push({name:y,value:T[2]});else{let m=T[2];if(Array.isArray(m)&&(m[0]==="->"||m[0]==="=>"))A.push({name:y,func:m}),B.add(y);else w.push({name:y,value:m,isPublic:D2(T[1])}),B.add(y),D.add(y)}}else if(j==="effect")R.push(T);else if(j==="render")q=T;else if(j==="object")for(let y=1;y<T.length;y++){let m=T[y];if(!Array.isArray(m))continue;let[,t,$1]=m;if(typeof t==="string"&&A2.has(t))J.push({name:t,value:$1});else if(typeof t==="string")A.push({name:t,func:$1}),B.add(t)}}let I=new Map;for(let{name:T}of A)if(/^on[A-Z]/.test(T)&&!A2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if(U3.has(j))I.set(j,T)}let M=Z[0]?.valueOf?.()??null,S=new Set;for(let{name:T,isPublic:j}of w)if(j)S.add(T);for(let{name:T,isPublic:j}of H)if(j)S.add(T);let N=this.componentMembers,V=this.reactiveMembers,L=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=B,this.reactiveMembers=D,this._autoEventHandlers=I.size>0?I:null,this._inheritsTag=M||null,this.options.stubComponents){let T=(b)=>b?b.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],y=this._componentTypeParams||"";j.push(`class ${y}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let m=[];for(let{name:b,type:g,isPublic:x,required:l}of w){if(!x)continue;let e=T(g),u1=l?"":"?";m.push(`${b}${u1}: ${e||"any"}`),m.push(`__bind_${b}__?: Signal<${e||"any"}>`)}for(let{name:b,type:g,isPublic:x}of H){if(!x)continue;let l=T(g);m.push(`${b}?: ${l||"any"}`)}{let g=m.length>0&&w.some((l)=>l.isPublic&&l.required)?"":"?",x=m.length>0?`{${m.join("; ")}}`:"{}";if(M)x+=` & __RipProps<'${M}'>`;j.push(` constructor(_props${g}: ${x}) {}`)}let t=(b)=>{let g=b?.valueOf?.()??b;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:b,type:g,value:x}of w){let l=T(g)||t(x);j.push(l?` declare ${b}: Signal<${l}>;`:` declare ${b}: Signal<any>;`)}for(let{name:b,type:g,value:x}of H){let l=T(g)||t(x);j.push(l?` declare ${b}: ${l};`:` declare ${b}: any;`)}for(let{name:b,expr:g,type:x}of K){let l=T(x),e=l?`: Computed<${l}>`:"";if(this.is(g,"block")){let u1=this.transformComponentMembers(g),c=this.emitFunctionBody(u1);j.push(` ${b}${e} = __computed(() => ${c});`)}else{let u1=this.emitInComponent(g,"value");j.push(` ${b}${e} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:b,value:g,isPublic:x}of H){let l=this.emitInComponent(g,"value");j.push(x?` this.${b} = props.${b} ?? ${l};`:` this.${b} = ${l};`)}for(let{name:b,value:g,isPublic:x,required:l,type:e}of w)if(x&&l)j.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b});`);else if(x){let u1=this.emitInComponent(g,"value");j.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b} ?? ${u1});`)}else{let u1=this.emitInComponent(g,"value");j.push(` this.${b} = __state(${u1});`)}for(let b of R){let g=b[2],x=this.containsAwait(g)?"async ":"";if(this.is(g,"block")){let l=this.transformComponentMembers(g),e=this.emitFunctionBody(l,[],!0);j.push(` __effect(${x}() => ${e});`)}else{let l=this.emitInComponent(g,"value");j.push(` __effect(${x}() => { ${l}; });`)}}j.push(" }");let $1=new Map;for(let[b,g]of I)$1.set(g,b);if(q){let b=(g)=>{if(!Array.isArray(g))return;let x=g[0]?.valueOf?.()??g[0];if(typeof x==="string"&&x!=="object"&&x!=="switch"&&q1.has(x.split(/[.#]/)[0]))for(let l=1;l<g.length;l++){let e=g[l],u1=this.is(e,"object")?e:null;if(!u1&&Array.isArray(e)&&(e[0]==="->"||e[0]==="=>")&&this.is(e[2],"block")){for(let c=1;c<e[2].length;c++)if(this.is(e[2][c],"object")){u1=e[2][c];break}}if(!u1)continue;for(let c=1;c<u1.length;c++){let i=u1[c];if(!Array.isArray(i)||i.length<2)continue;let[,r,s]=i;if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&Array.isArray(s)&&s[0]==="."&&s[1]==="this"){let h=typeof r[2]==="string"?r[2]:r[2]?.valueOf?.(),p=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.();if(h&&p&&!$1.has(p))$1.set(p,h)}}}for(let l=1;l<g.length;l++)b(g[l])};b(q)}for(let{name:b,func:g}of A)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,x,l]=g;if((!x||Array.isArray(x)&&x.length===0)&&this.containsIt(l))x=["it"];let e=Array.isArray(x)?x.map((s)=>{let h=this.formatParam(s);if(s?.type)h+=`: ${s.type}`;return h}).join(", "):"",u1=$1.get(b);if(u1&&Array.isArray(x)&&x.length>0){let s=x[0];if(!(s?.type||s instanceof String&&s.type)&&typeof(s?.valueOf?.()??s)==="string"){let p=s?.valueOf?.()??s;e=e.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let c=this.reactiveMembers?this.transformComponentMembers(l):l,i=this.containsAwait(l),r=this.emitFunctionBody(c,x||[]);j.push(` ${i?"async ":""}${b}(${e}) ${r}`)}for(let{name:b,value:g}of J)if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>")){let[,x,l]=g,e=Array.isArray(x)?x.map((r)=>this.formatParam(r)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(l):l,c=this.containsAwait(l),i=this.emitFunctionBody(u1,x||[]);j.push(` ${c?"async ":""}${b}(${e}) ${i}`)}if(q){let b=[],g=0,x=this.options.source?.split(`
1255
1276
  `),l=(c)=>{let i=[];for(let r of c){let s=null;if(this.is(r,"object"))s=r;else if(Array.isArray(r)&&(r[0]==="->"||r[0]==="=>")&&this.is(r[2],"block")){for(let h=1;h<r[2].length;h++)if(this.is(r[2][h],"object")){s=r[2][h];break}}if(s)for(let h=1;h<s.length;h++){let p=s[h],[,k,a]=p;if(typeof k==="string"&&!k.startsWith("@")){let U1=p.loc?.r??s.loc?.r;if(k.startsWith("__bind_")&&k.endsWith("__")){let o=typeof a==="string"&&this.reactiveMembers?.has(a)?`this.${a}`:this.emitInComponent(a,"value");i.push({code:`${k}: ${o}`,srcLine:U1})}else{let o=this.emitInComponent(a,"value");i.push({code:`${k}: ${o}`,srcLine:U1})}}}}return i},e=(c)=>{let i=[];for(let r of c){let s=null;if(this.is(r,"object"))s=r;else if(Array.isArray(r)&&(r[0]==="->"||r[0]==="=>")&&this.is(r[2],"block")){for(let h=1;h<r[2].length;h++)if(this.is(r[2][h],"object")){s=r[2][h];break}}if(s)for(let h=1;h<s.length;h++){let p=s[h];if(!Array.isArray(p)||p.length<2)continue;let[,k,a]=p,U1=p.loc?.r??s.loc?.r;if(Array.isArray(k)&&k[0]==="."&&k[1]==="this"){let o=typeof k[2]==="string"?k[2]:k[2]?.valueOf?.();if(!o)continue;let f1="@"+o.split(".")[0],$2=this.emitInComponent(a,"value");i.push({code:`'${f1}': ${$2}`,srcLine:U1})}else if(typeof k==="string"){if(k==="key"){let o=this.emitInComponent(a,"value"),f1=U1!=null?` // @rip-src:${U1}`:"";b.push(` (${o});${f1}`);continue}if(k.startsWith("__bind_")&&k.endsWith("__")){let o=k.slice(7,-2),f1=this.emitInComponent(a,"value");i.push({code:`${o}: ${f1}`,srcLine:U1})}else{let o=this.emitInComponent(a,"value");i.push({code:`${k}: ${o}`,srcLine:U1})}}}}return i},u1=(c)=>{if(!Array.isArray(c))return;let i=c[0]?.valueOf?.()??c[0];if(i==="object")return;if(i==="if"||i==="unless"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),k=c.loc?.r,a=k!=null?` // @rip-src:${k}`:"";b.push(` ${p};${a}`)}}else if(i==="?:"){let h=this.emitInComponent(c,"value"),p=c.loc?.r,k=p!=null?` // @rip-src:${p}`:"";b.push(` ${h};${k}`)}else if(i==="switch"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),k=c.loc?.r,a=k!=null?` // @rip-src:${k}`:"";b.push(` ${p};${a}`)}}else if(i==="for-in"||i==="for-of"||i==="for-as"){let h=c[1],p=c[2];if(p!=null){let k=this.emitInComponent(p,"value"),a=c.loc?.r,U1=a!=null?` // @rip-src:${a}`:"",o;if(Array.isArray(h))if(h.length===1){let f1=h[0];o=Array.isArray(f1)?this.emitDestructuringPattern(f1):String(f1)}else if(i==="for-of")o=`[${h.map((f1)=>String(f1)).join(", ")}]`;else o=String(h[0]);else o=String(h);if(i==="for-of")b.push(` for (const ${o} of Object.entries(${k})) {${U1}`);else b.push(` for (const ${o} of ${k}) {${U1}`);for(let f1=3;f1<c.length;f1++)if(c[f1]!=null)u1(c[f1]);b.push(" }");return}}else if(i==="__text__"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),k=c.loc?.r,a=k!=null?` // @rip-src:${k}`:"";b.push(` ${p};${a}`)}return}else if(i==="str"){try{let h=this.emitInComponent(c,"value"),p=c.loc?.r,k=p!=null?` // @rip-src:${p}`:"";b.push(` ${h};${k}`)}catch{}return}let r=(h,p,k)=>{if(typeof h!=="string"||!/^[a-z][\w-]*$/.test(h))return;if(u.GENERATORS[h])return;if(h==="null"||h==="undefined"||h==="true"||h==="false")return;let a=p.loc?.r;if(a!=null&&x){let o=new RegExp(`\\b${h}\\b`);for(let f1=a;f1<x.length;f1++)if(o.test(x[f1])){a=f1;break}}let U1=a!=null?` // @rip-src:${a}`:"";if(this.componentMembers&&this.componentMembers.has(h))b.push(` this.${h};${U1}`);else if(k)b.push(` ${h};${U1}`);else b.push(` __ripEl('${h}');${U1}`)},s=typeof i==="string"&&/^[a-z][\w-]*$/.test(i)&&!u.GENERATORS[i]&&q1.has(i.split(/[.#]/)[0]);if(i==="block")for(let h=1;h<c.length;h++)r(c[h],c,!1);else if(s){for(let h=1;h<c.length;h++)r(c[h],c,!0);for(let h=1;h<c.length;h++){let p=c[h];if(!Array.isArray(p))continue;let k=p[0]?.valueOf?.()??p[0];if(k==="object"||k==="block"||k==="__text__")continue;if(typeof k==="string"){if(/^[A-Z]/.test(k))continue;if(q1.has(k.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(k)&&!u.GENERATORS[k])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(k))continue}try{let a=this.emitInComponent(p,"value"),U1=p.loc?.r??c.loc?.r,o=U1!=null?` // @rip-src:${U1}`:"";b.push(` ${a};${o}`)}catch{}}}for(let h=1;h<c.length;h++)u1(c[h]);if(typeof i==="string"&&/^[A-Z]/.test(i)){let h=l(c.slice(1)),p=`_${g++}`,k=`ConstructorParameters<typeof ${i}>[0] & {}`;if(h.length===0){let a=c.loc?.r;b.push(` const ${p}: ${k} = {};`+(a!=null?` // @rip-src:${a}`:""))}else if(h.length===1){let a=c.loc?.r??h[0].srcLine;b.push(` const ${p}: ${k} = {${h[0].code}};`+(a!=null?` // @rip-src:${a}`:""))}else{let a=c.loc?.r;if(new Set(h.map((o)=>o.srcLine).filter((o)=>o!=null)).size<=1){let o=h[0].srcLine??a;b.push(` const ${p}: ${k} = {${h.map((f1)=>f1.code).join(", ")}};`+(o!=null?` // @rip-src:${o}`:""))}else{b.push(` const ${p}: ${k} = {`+(a!=null?` // @rip-src:${a}`:""));for(let o of h)b.push(` ${o.code},`+(o.srcLine!=null?` // @rip-src:${o.srcLine}`:""));b.push(" };")}}}else if(typeof i==="string"&&!u.GENERATORS[i]&&(q1.has(i.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(i)&&c.length>1)){let h=i.split(/[.#]/)[0],p=e(c.slice(1)),k=c.loc?.r,a=k!=null?` // @rip-src:${k}`:"";if(p.length===0)b.push(` __ripEl('${h}');${a}`);else if(p.length===1){let U1=p[0].srcLine??k,o=U1!=null?` // @rip-src:${U1}`:"";b.push(` __ripEl('${h}', {${p[0].code}});${o}`)}else if(new Set(p.map((o)=>o.srcLine).filter((o)=>o!=null)).size<=1){let o=p[0].srcLine??k,f1=o!=null?` // @rip-src:${o}`:"";b.push(` __ripEl('${h}', {${p.map(($2)=>$2.code).join(", ")}});${f1}`)}else{b.push(` __ripEl('${h}', {${a}`);for(let o of p)b.push(` ${o.code},`+(o.srcLine!=null?` // @rip-src:${o.srcLine}`:""));b.push(" });")}}};if(u1(q),b.length>0){j.push(" _render() {");for(let c of b)j.push(c);j.push(" }")}}return j.push("}"),this.componentMembers=N,this.reactiveMembers=V,this._autoEventHandlers=L,this._inheritsTag=C,j.join(`
1256
- `)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],n="";E.push("class extends __Component {"),E.push(" _init(props) {");for(let{name:T,value:j,isPublic:y}of D){let m=this.emitInComponent(j,"value");E.push(y?` this.${T} = props.${T} ?? ${m};`:` this.${T} = ${m};`)}for(let T of P)E.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:j,isPublic:y,required:m}of X)if(y&&m)E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(y){let t=this.emitInComponent(j,"value");E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${t});`)}else{let t=this.emitInComponent(j,"value");E.push(` this.${T} = __state(${t});`)}if(H){if(E.push(" this._rest = {};"),E.push(" for (const __k in props) {"),S.size>0){let T=[...S].map((j)=>`__k !== '${j}'`).join(" && ");E.push(` if (${T} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else E.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");E.push(" }")}for(let{name:T,expr:j}of K)if(this.is(j,"block")){let y=this.transformComponentMembers(j),m=this.emitFunctionBody(y);E.push(` this.${T} = __computed(() => ${m});`)}else{let y=this.emitInComponent(j,"value");E.push(` this.${T} = __computed(() => ${y});`)}for(let T of O)E.push(` setContext('${T}', this.${T});`);for(let T of R){let j=T[2],y=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let m=this.transformComponentMembers(j),t=this.emitFunctionBody(m,[],!0);E.push(` __effect(${y}() => ${t});`)}else{let m=this.emitInComponent(j,"value");E.push(` __effect(${y}() => { ${m}; });`)}}if(E.push(" }"),H)E.push(" _setRestProp(key, value) {"),E.push(" if (key.startsWith('__bind_')) return;"),E.push(" this._rest || (this._rest = {});"),E.push(" if (value == null) delete this._rest[key];"),E.push(" else this._rest[key] = value;"),E.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),E.push(" }"),E.push(" _applyRestToInheritedEl() {"),E.push(" if (!this._inheritedEl || !this._rest) return;"),E.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),E.push(" }"),E.push(" _applyInheritedProp(el, key, value) {"),E.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),E.push(" if (key[0] === '@') {"),E.push(" const event = key.slice(1).split('.')[0];"),E.push(" this._restHandlers || (this._restHandlers = {});"),E.push(" const prev = this._restHandlers[key];"),E.push(" if (prev) el.removeEventListener(event, prev);"),E.push(" if (typeof value === 'function') {"),E.push(" const next = (e) => __batch(() => value(e));"),E.push(" this._restHandlers[key] = next;"),E.push(" el.addEventListener(event, next);"),E.push(" } else {"),E.push(" delete this._restHandlers[key];"),E.push(" }"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'class' || key === 'className') {"),E.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),E.push(" else el.className = __clsx(value);"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'style') {"),E.push(" if (value == null) { el.removeAttribute('style'); return; }"),E.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),E.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),E.push(" }"),E.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),E.push(" el[key] = value ?? '';"),E.push(" return;"),E.push(" }"),E.push(" if (key in el && !key.includes('-')) {"),E.push(" el[key] = value;"),E.push(" return;"),E.push(" }"),E.push(" if (value == null || value === false) {"),E.push(" el.removeAttribute(key);"),E.push(" return;"),E.push(" }"),E.push(" if (value === true) {"),E.push(" el.setAttribute(key, '');"),E.push(" return;"),E.push(" }"),E.push(" el.setAttribute(key, value);"),E.push(" }");for(let{name:T,func:j}of w)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,y,m]=j;if((!y||Array.isArray(y)&&y.length===0)&&this.containsIt(m))y=["it"];let t=Array.isArray(y)?y.map((x)=>this.formatParam(x)).join(", "):"",$1=this.reactiveMembers?this.transformComponentMembers(m):m,b=this.containsAwait(m),g=this.emitFunctionBody($1,y||[]);E.push(` ${b?"async ":""}${T}(${t}) ${g}`)}for(let{name:T,value:j}of A)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,y,m]=j,t=Array.isArray(y)?y.map((x)=>this.formatParam(x)).join(", "):"",$1=this.reactiveMembers?this.transformComponentMembers(m):m,b=this.containsAwait(m),g=this.emitFunctionBody($1,y||[]);E.push(` ${b?"async ":""}${T}(${t}) ${g}`)}if(q){let T=q[1],j=this.buildRender(T);if(j.blockFactories.length>0)n=j.blockFactories.join(`
1277
+ `)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],n="";E.push("class extends __Component {"),E.push(" _init(props) {");for(let{name:T,value:j,isPublic:y}of H){let m=this.emitInComponent(j,"value");E.push(y?` this.${T} = props.${T} ?? ${m};`:` this.${T} = ${m};`)}for(let T of P)E.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:j,isPublic:y,required:m}of w)if(y&&m)E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(y){let t=this.emitInComponent(j,"value");E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${t});`)}else{let t=this.emitInComponent(j,"value");E.push(` this.${T} = __state(${t});`)}if(M){if(E.push(" this._rest = {};"),E.push(" for (const __k in props) {"),S.size>0){let T=[...S].map((j)=>`__k !== '${j}'`).join(" && ");E.push(` if (${T} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else E.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");E.push(" }")}for(let{name:T,expr:j}of K)if(this.is(j,"block")){let y=this.transformComponentMembers(j),m=this.emitFunctionBody(y);E.push(` this.${T} = __computed(() => ${m});`)}else{let y=this.emitInComponent(j,"value");E.push(` this.${T} = __computed(() => ${y});`)}for(let T of O)E.push(` setContext('${T}', this.${T});`);for(let T of R){let j=T[2],y=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let m=this.transformComponentMembers(j),t=this.emitFunctionBody(m,[],!0);E.push(` __effect(${y}() => ${t});`)}else{let m=this.emitInComponent(j,"value");E.push(` __effect(${y}() => { ${m}; });`)}}if(E.push(" }"),M)E.push(" _setRestProp(key, value) {"),E.push(" if (key.startsWith('__bind_')) return;"),E.push(" this._rest || (this._rest = {});"),E.push(" if (value == null) delete this._rest[key];"),E.push(" else this._rest[key] = value;"),E.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),E.push(" }"),E.push(" _applyRestToInheritedEl() {"),E.push(" if (!this._inheritedEl || !this._rest) return;"),E.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),E.push(" }"),E.push(" _applyInheritedProp(el, key, value) {"),E.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),E.push(" if (key[0] === '@') {"),E.push(" const event = key.slice(1).split('.')[0];"),E.push(" this._restHandlers || (this._restHandlers = {});"),E.push(" const prev = this._restHandlers[key];"),E.push(" if (prev) el.removeEventListener(event, prev);"),E.push(" if (typeof value === 'function') {"),E.push(" const next = (e) => __batch(() => value(e));"),E.push(" this._restHandlers[key] = next;"),E.push(" el.addEventListener(event, next);"),E.push(" } else {"),E.push(" delete this._restHandlers[key];"),E.push(" }"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'class' || key === 'className') {"),E.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),E.push(" else el.className = __clsx(value);"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'style') {"),E.push(" if (value == null) { el.removeAttribute('style'); return; }"),E.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),E.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),E.push(" }"),E.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),E.push(" el[key] = value ?? '';"),E.push(" return;"),E.push(" }"),E.push(" if (key in el && !key.includes('-')) {"),E.push(" el[key] = value;"),E.push(" return;"),E.push(" }"),E.push(" if (value == null || value === false) {"),E.push(" el.removeAttribute(key);"),E.push(" return;"),E.push(" }"),E.push(" if (value === true) {"),E.push(" el.setAttribute(key, '');"),E.push(" return;"),E.push(" }"),E.push(" el.setAttribute(key, value);"),E.push(" }");for(let{name:T,func:j}of A)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,y,m]=j;if((!y||Array.isArray(y)&&y.length===0)&&this.containsIt(m))y=["it"];let t=Array.isArray(y)?y.map((x)=>this.formatParam(x)).join(", "):"",$1=this.reactiveMembers?this.transformComponentMembers(m):m,b=this.containsAwait(m),g=this.emitFunctionBody($1,y||[]);E.push(` ${b?"async ":""}${T}(${t}) ${g}`)}for(let{name:T,value:j}of J)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,y,m]=j,t=Array.isArray(y)?y.map((x)=>this.formatParam(x)).join(", "):"",$1=this.reactiveMembers?this.transformComponentMembers(m):m,b=this.containsAwait(m),g=this.emitFunctionBody($1,y||[]);E.push(` ${b?"async ":""}${T}(${t}) ${g}`)}if(q){let T=q[1],j=this.buildRender(T);if(j.blockFactories.length>0)n=j.blockFactories.join(`
1257
1278
 
1258
1279
  `)+`
1259
1280
 
@@ -1261,10 +1282,10 @@ if (typeof globalThis !== 'undefined') {
1261
1282
  ${n}return ${E.join(`
1262
1283
  `)};
1263
1284
  })()`;return E.join(`
1264
- `)},f.emitInComponent=function(Y,Z){if(typeof Y==="string"&&this.reactiveMembers&&this.reactiveMembers.has(Y))return`${this._self}.${Y}.value`;if(typeof Y==="string"&&this.componentMembers&&this.componentMembers.has(Y))return`${this._self}.${Y}`;if(Array.isArray(Y)&&this.reactiveMembers){let G=this.transformComponentMembers(Y);return this.emit(G,Z)}return this.emit(Y,Z)},f.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},f.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},f.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},f.buildRender=function(Y){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 Z=this.is(Y,"block")?Y.slice(1):[Y],G;if(Z.length===0||Z.length===1&&Z[0]==="null")G="null";else if(Z.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(Z[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let J=this.emitNode(z);this._createLines.push(`${G}.appendChild(${J});`),Q.push(J)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},f.newBlockVar=function(){return`create_block_${this._blockCount++}`},f.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},f.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(f,"_self",{get(){return this._factoryMode?"ctx":"this"}}),f._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},f.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let X=Y.valueOf();if(X.startsWith('"')||X.startsWith("'")||X.startsWith("`")){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode(${X});`),R}if(this.reactiveMembers&&this.reactiveMembers.has(X)){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${this._self}.${X}.value;`),R}if(X==="slot"&&this.componentMembers){let R=this._self,O=this.newElementVar("slot");return this._createLines.push(`${O} = ${R}.children instanceof Node ? ${R}.children : (${R}.children != null ? document.createTextNode(String(${R}.children)) : document.createComment(''));`),O}let[K,D]=X.split("#"),w=this.newElementVar(),A=K||"div";if(O1.has(A)||this._svgDepth>0)this._createLines.push(`${w} = document.createElementNS('${w2}', '${A}');`);else this._createLines.push(`${w} = document.createElement('${A}');`);if(D)this._createLines.push(`${w}.id = '${D}';`);return this._bindInheritedTarget(A,w),w}if(!Array.isArray(Y)){let X=this.newElementVar("c");return this._createLines.push(`${X} = document.createComment('unknown');`),X}let[Z,...G]=Y,Q=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Q&&this.isComponent(Q))return this.emitChildComponent(Q,G);if(Q==="slot"&&this.componentMembers){let X=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${X}.children instanceof Node ? ${X}.children : (${X}.children != null ? document.createTextNode(String(${X}.children)) : document.createComment(''));`),K}if(Q==="switch"){let X=G[0],K=G[1]||[],w=G[2]||null;for(let R=K.length-1;R>=0;R--){let[,O,P]=K[R],q;if(X===null)q=O.length===1?O[0]:O.reduce((B,M)=>B?["||",B,M]:M,null);else q=O.length===1?["==",X,O[0]]:O.map((B)=>["==",X,B]).reduce((B,M)=>B?["||",B,M]:M,null);w=["if",q,P,w]}if(w){if(Array.isArray(w)&&w[0]==="if")return this.emitConditional(w);return this.emitTemplateBlock(w)}let A=this.newElementVar("c");return this._createLines.push(`${A} = document.createComment('switch');`),A}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[X,K]=Q.split("#");return this.emitTag(X||"div",[],G,K)}if(Q==="."){let[,X,K]=Y;if(X==="this"&&typeof K==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let M=this.newTextVar();return this._createLines.push(`${M} = document.createTextNode('');`),this._pushEffect(`${M}.data = ${q}.${K}.value;`),M}let B=this.newElementVar("slot");return this._createLines.push(`${B} = ${q}.${K} instanceof Node ? ${q}.${K} : (${q}.${K} != null ? document.createTextNode(String(${q}.${K})) : document.createComment(''));`),B}let{tag:D,classes:w,id:A,base:R}=this.collectTemplateClasses(Y);if(!_(R,"text")&&D&&this.isHtmlTag(D))return this.emitTag(D,w,[],A);let O=this.newTextVar(),P=this.emitInComponent(Y,"value");return this._createLines.push(`${O} = document.createTextNode(String(${P}));`),O}if(Array.isArray(Z)){if(Array.isArray(Z[0])&&Z[0][0]==="."&&(Z[0][2]==="__clsx"||Z[0][2]instanceof String&&Z[0][2].valueOf()==="__clsx")){let w=Z[0][1],A=Z.slice(1);if(Array.isArray(w)){let{tag:O,classes:P,id:q}=this.collectTemplateClasses(w);if(O){let B=P.map((M)=>`"${M}"`);return this.emitDynamicTag(O,A,G,B,q)}}let R=typeof w==="string"?w:w.valueOf();return this.emitDynamicTag(R,A,G)}let{tag:X,classes:K,id:D}=this.collectTemplateClasses(Z);if(X&&this.isHtmlTag(X)){if(K.length>0&&K[K.length-1]==="__clsx"){let A=K.slice(0,-1).map((R)=>`"${R}"`);return this.emitDynamicTag(X,G,[],A,D)}return this.emitTag(X,K,G,D)}}if(Q==="->"||Q==="=>")return this.emitTemplateBlock(G[1]);if(Q==="if")return this.emitConditional(Y);if(Q==="for"||Q==="for-in"||Q==="for-of"||Q==="for-as")return this.emitTemplateLoop(Y);if(Q==="__text__"){let X=G[0]??"undefined",K=this.newTextVar(),D=this.emitInComponent(X,"value");if(this.hasReactiveDeps(X))this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = String(${D});`);else this._createLines.push(`${K} = document.createTextNode(String(${D}));`);return K}let z=this.newTextVar(),J=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${J};`);else this._createLines.push(`${z} = document.createTextNode(String(${J}));`);return z},f.appendChildren=function(Y,Z){for(let G of Z)if(this.is(G,"->")||this.is(G,"=>")){let Q=G[2];if(this.is(Q,"block"))for(let z of Q.slice(1))if(this.is(z,"object"))this.emitAttributes(Y,z);else{let J=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${J});`)}else if(Q){let z=this.emitNode(Q);this._createLines.push(`${Y}.appendChild(${z});`)}}else if(this.is(G,"object"))this.emitAttributes(Y,G);else if(typeof G==="string"||G instanceof String){let Q=G.valueOf(),z=Q.split(/[#.]/)[0];if(this.isHtmlTag(z||"div")||this.isComponent(z)){let J=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${J});`)}else{let J=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${J} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${J} = document.createTextNode('');`),this._pushEffect(`${J}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${J} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${J} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${J});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},f._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},f._emitAutoWire=function(Y,Z){if(!Z)return;for(let[G,Q]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${Y}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Q}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},f._bindInheritedTarget=function(Y,Z){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(Y!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${Z};`),this._createLines.push("this._applyRestToInheritedEl();")},f.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),J=O1.has(Y)||this._svgDepth>0;if(J)this._createLines.push(`${z} = document.createElementNS('${w2}', '${Y}');`);else this._createLines.push(`${z} = document.createElement('${Y}');`);if(Q)this._createLines.push(`${z}.id = '${Q}';`);if(this._bindInheritedTarget(Y,z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${z}.setAttribute('data-part', '${this._componentName}');`);let X=this._claimAutoWire(z),K=this._pendingClassArgs,D=this._pendingClassEl;if(Z.length>0)this._pendingClassArgs=[`'${Z.join(" ")}'`],this._pendingClassEl=z;if(Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,G),Y==="svg")this._svgDepth--;if(Z.length>0){if(this._pendingClassArgs.length===1)if(J)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let w=this._pendingClassArgs.join(", ");if(J)this._pushEffect(`${z}.setAttribute('class', __clsx(${w}));`);else this._pushEffect(`${z}.className = __clsx(${w});`)}this._pendingClassArgs=K,this._pendingClassEl=D}return this._emitAutoWire(z,X),z},f.emitDynamicTag=function(Y,Z,G,Q,z){let J=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${J} = document.createElementNS('${w2}', '${Y}');`);else this._createLines.push(`${J} = document.createElement('${Y}');`);if(z)this._createLines.push(`${J}.id = '${z}';`);this._bindInheritedTarget(Y,J);let X=this._claimAutoWire(J),K=[...Q||[],...Z.map((A)=>this.emitInComponent(A,"value"))],D=this._pendingClassArgs,w=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=J,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(J,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let A=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${J}.setAttribute('class', __clsx(${A}));`);else this._pushEffect(`${J}.className = __clsx(${A});`)}return this._pendingClassArgs=D,this._pendingClassEl=w,this._emitAutoWire(J,X),J},f.emitAttributes=function(Y,Z){let G=c5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,J]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let X=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(X);if(typeof J==="string"&&this.componentMembers?.has(J))this._createLines.push(`${Y}.addEventListener('${X}', (e) => __batch(() => ${this._self}.${J}(e)));`);else{let K=this.emitInComponent(J,"value");this._createLines.push(`${Y}.addEventListener('${X}', (e) => __batch(() => (${K})(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 K=this.emitInComponent(J,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(J))if(this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${Y}.className = __clsx(${K});`);else if(this._svgDepth>0)this._createLines.push(`${Y}.setAttribute('class', ${K});`);else this._createLines.push(`${Y}.className = ${K};`);continue}if(z==="__transition__"){let K=String(J).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(J).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(W3)&&z.endsWith(_3)){let K=z.slice(W3.length,-_3.length),D=this.emitInComponent(J,"value"),w,A;if(K==="checked")w="change",A="e.target.checked";else w="input",A=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${D};`);let R=`${D} = ${A}`,O=!this.isSimpleAssignable(J)&&this.findRootReactiveMember(J);if(O)R+=`; ${this._self}.${O}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${w}', (e) => { ${R}; });`);continue}let X=this.emitInComponent(J,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(J)){this._pushEffect(`${Y}.${z} = ${X};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(J))this._pushEffect(`${Y}.${z} = ${X};`);else this._createLines.push(`${Y}.${z} = ${X};`);else if(g5.has(z))if(this.hasReactiveDeps(J))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${X});`);else this._createLines.push(`if (${X}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(J))if(Array.isArray(J)&&J[0]==="presence")this._pushEffect(`{ const __v = ${X}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${X});`);else if(Array.isArray(J)&&J[0]==="presence")this._createLines.push(`{ const __v = ${X}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${X});`)}}},f.emitTemplateBlock=function(Y){if(!Array.isArray(Y)||Y[0]!=="block")return this.emitNode(Y);let Z=Y.slice(1);if(Z.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(Z.length===1)return this.emitNode(Z[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let J=this.emitNode(z);this._createLines.push(`${G}.appendChild(${J});`),Q.push(J)}return this._fragChildren.set(G,Q),G},f.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let P=Y[Y.length-1];for(let q=Y.length-2;q>=3;q--)P=[...Y[q],P];Y=[Y[0],Y[1],Y[2],P]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let J=this.emitInComponent(Z,"value"),X=this._loopVarStack.map((P)=>`${P.itemVar}, ${P.indexVar}`).join(", "),K=X?`, ${X}`:"",D=this.newBlockVar();this.emitConditionBranch(D,G);let w=null;if(Q)w=this.newBlockVar(),this.emitConditionBranch(w,Q);let A=[];A.push(`// Conditional: ${D}${w?" / "+w:""}`),A.push("{"),A.push(` const anchor = ${z};`),A.push(" let currentBlock = null;"),A.push(" let showing = null;");let R=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",O=this._factoryMode?"}));":"});";if(A.push(` ${R}`),A.push(` const show = !!(${J});`),A.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),A.push(" if (want === showing) return;"),A.push(""),A.push(" if (currentBlock) {"),A.push(" const leaving = currentBlock;"),A.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),A.push(" else { leaving.d(true); }"),A.push(" currentBlock = null;"),A.push(" }"),A.push(" showing = want;"),A.push(""),A.push(" if (want === 'then') {"),A.push(` currentBlock = ${D}(${this._self}${K});`),A.push(" currentBlock.c();"),A.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),A.push(` currentBlock.p(${this._self}${K});`),A.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),A.push(" }"),Q)A.push(" if (want === 'else') {"),A.push(` currentBlock = ${w}(${this._self}${K});`),A.push(" currentBlock.c();"),A.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),A.push(` currentBlock.p(${this._self}${K});`),A.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),A.push(" }");if(A.push(` ${O}`),this._factoryMode)A.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return A.push("}"),this._setupLines.push(A.join(`
1265
- `)),z},f.emitConditionBranch=function(Y,Z){let G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Q=this.emitTemplateBlock(Z),z=this._createLines,J=this._setupLines,X=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let K=this._loopVarStack.map((w)=>`${w.itemVar}, ${w.indexVar}`).join(", "),D=K?`, ${K}`:"";this.emitBlockFactory(Y,`ctx${D}`,Q,z,J,X)},f.emitBlockFactory=function(Y,Z,G,Q,z,J,X){let K=[];if(K.push(`function ${Y}(${Z}) {`),J.size>0)K.push(` let ${[...J].join(", ")};`);let D=z.length>0;if(D)K.push(" let disposers = [];");if(K.push(" return {"),X)K.push(" _s: true,");let w=this._fragChildren.get(G),A=w?w[0]:G;K.push(" c() {");for(let R of Q)K.push(` ${R}`);if(K.push(` this._first = ${A};`),K.push(" },"),K.push(" m(target, anchor) {"),w)for(let R of w)K.push(` if (target) target.insertBefore(${R}, anchor);`);else K.push(` if (target) target.insertBefore(${G}, anchor);`);if(K.push(" },"),K.push(` p(${Z}) {`),D){K.push(" disposers.forEach(d => d());"),K.push(" disposers = [];");for(let R of z)K.push(` ${R}`)}if(K.push(" },"),K.push(" d(detaching) {"),D)K.push(" disposers.forEach(d => d());");if(w)for(let R of w)K.push(` if (detaching && ${R}) ${R}.remove();`);else K.push(` if (detaching && ${G}) ${G}.remove();`);K.push(" }"),K.push(" };"),K.push("}"),this._blockFactories.push(K.join(`
1266
- `))},f.emitTemplateLoop=function(Y){this._pendingAutoWire=!1;let[Z,G,Q,z,J,X]=Y,K=this.newBlockVar(),D=this.newElementVar("anchor");this._createLines.push(`${D} = document.createComment('for');`);let w=Array.isArray(G)?G:[G],A=w[0],R=w[1]||null;if(!R){let m=new Set(this._loopVarStack.flatMap((t)=>[t.itemVar,t.indexVar]));m.add(A);for(let t of["i","j","k","l","m","n"])if(!m.has(t)){R=t;break}R=R||`_i${this._loopVarStack.length}`}let O=this.emitInComponent(Q,"value"),P=A;if(this.is(X,"block")&&X.length>1){let m=X[1];if(Array.isArray(m))for(let t of m){if(this.is(t,"object"))for(let $1=1;$1<t.length;$1++){let[b,g]=t[$1];if(b==="key"){P=this.emit(g,"value");break}}if(P!==A)break}}let q=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let B=this._loopVarStack.map((m)=>`${m.itemVar}, ${m.indexVar}`).join(", "),M=B?`, ${B}`:"";this._loopVarStack.push({itemVar:A,indexVar:R});let I=this.emitTemplateBlock(X);this._loopVarStack.pop();let H=this._createLines,S=this._setupLines,N=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=q;let V=S.length===0,L=`ctx, ${A}, ${R}${M}`;this.emitBlockFactory(K,L,I,H,S,N,V);let E=P!==A?`(${A}, ${R}) => ${P}`:"null",n=B?`, ${B}`:"",T=[];T.push(`// Loop: ${K}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",y=this._factoryMode?"}));":"});";return T.push(` ${j}`),T.push(` __reconcile(${D}, __s, ${O}, ${this._self}, ${K}, ${E}${n});`),T.push(` ${y}`),T.push("}"),this._setupLines.push(T.join(`
1267
- `)),D},f.emitChildComponent=function(Y,Z){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Q=this.newElementVar("el"),{propsCode:z,reactiveProps:J,eventBindings:X,childrenSetupLines:K}=this.buildComponentProps(Z),D=this._self;this._createLines.push(`{ const __prev = __pushComponent(${D}); try {`),this._createLines.push(`${G} = new ${Y}(${z});`),this._createLines.push(`${Q} = ${G}._root = ${G}._create();`),this._createLines.push(`(${D}._children || (${D}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:w,value:A}of X){let R=this.emitInComponent(A,"value");this._createLines.push(`${Q}.addEventListener('${w}', (e) => __batch(() => (${R})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:w,valueCode:A}of J)this._pushEffect(`if (${G}.${w} && typeof ${G}.${w} === 'object' && 'value' in ${G}.${w}) ${G}.${w}.value = ${A}; else if (${G}._setRestProp) ${G}._setRestProp('${w}', ${A});`);for(let w of K)this._setupLines.push(w);return Q},f.buildComponentProps=function(Y){let Z=[],G=[],Q=[],z=null,J=[],X=(w,A)=>{if(w.startsWith("@")){Q.push({event:w.slice(1).split(".")[0],value:A});return}if(this.reactiveMembers&&(typeof A==="string"&&this.reactiveMembers.has(A)||Array.isArray(A)&&A[0]==="."&&A[1]==="this"&&typeof A[2]==="string"&&this.reactiveMembers.has(A[2]))){let O=typeof A==="string"?A:A[2];Z.push(`${w}: ${this._self}.${O}`)}else{let O=this.emitInComponent(A,"value");if(Z.push(`${w}: ${O}`),this.hasReactiveDeps(A))G.push({key:w,valueCode:O})}},K=(w)=>{for(let A=1;A<w.length;A++){let[,R,O]=w[A];if(typeof R==="string")X(R,O);else if(Array.isArray(R)&&R[0]==="."&&R[1]==="this"&&typeof R[2]==="string")Q.push({event:R[2],value:O})}};for(let w of Y)if(this.is(w,"object"))K(w);else if(Array.isArray(w)&&(w[0]==="->"||w[0]==="=>")){let A=w[2];if(A){if(this.is(A,"block")){let R=[];for(let O of A.slice(1))if(this.is(O,"object"))K(O);else R.push(O);A=R.length>0?["block",...R]:null}if(A){let R=this._createLines,O=this._setupLines;this._createLines=[],this._setupLines=[],z=this.emitTemplateBlock(A);let P=this._createLines,q=this._setupLines;this._createLines=R,this._setupLines=O;for(let B of P)this._createLines.push(B);J.push(...q),Z.push(`children: ${z}`)}}}else if(w&&!z){let A=this.newTextVar(),R=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w)){this._createLines.push(`${A} = document.createTextNode('');`);let O=`${A}.data = ${R};`,P=this._factoryMode?`disposers.push(__effect(() => { ${O} }));`:`__effect(() => { ${O} });`;J.push(P)}else this._createLines.push(`${A} = document.createTextNode(${R});`);z=A,Z.push(`children: ${z}`)}return{propsCode:Z.length>0?`{ ${Z.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Q,childrenSetupLines:J}},f.hasReactiveDeps=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(!Array.isArray(Y))return!1;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));if(Y[0]==="."&&this._rootsAtThis(Y[1]))return!0;if(Array.isArray(Y[0])&&Y[0][0]==="."&&Y[0][1]==="this"){let Z=$(Y[0][2]);if(Z&&this.componentMembers?.has(Z))return!0}for(let Z of Y)if(this.hasReactiveDeps(Z))return!0;return!1},f.isSimpleAssignable=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));return!1},f.findRootReactiveMember=function(Y){if(typeof Y==="string")return this.reactiveMembers?.has(Y)?Y:null;if(!Array.isArray(Y))return null;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return this.reactiveMembers?.has(Y[2])?Y[2]:null;if(Y[0]==="."||Y[0]==="[]")return this.findRootReactiveMember(Y[1]);return null},f._rootsAtThis=function(Y){if(typeof Y==="string")return Y==="this";if(!Array.isArray(Y)||Y[0]!==".")return!1;return this._rootsAtThis(Y[1])},f.getComponentRuntime=function(){return`
1285
+ `)},f.emitInComponent=function(Y,Z){if(typeof Y==="string"&&this.reactiveMembers&&this.reactiveMembers.has(Y))return`${this._self}.${Y}.value`;if(typeof Y==="string"&&this.componentMembers&&this.componentMembers.has(Y))return`${this._self}.${Y}`;if(Array.isArray(Y)&&this.reactiveMembers){let G=this.transformComponentMembers(Y);return this.emit(G,Z)}return this.emit(Y,Z)},f.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},f.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},f.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},f.buildRender=function(Y){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 Z=this.is(Y,"block")?Y.slice(1):[Y],G;if(Z.length===0||Z.length===1&&Z[0]==="null")G="null";else if(Z.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(Z[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let X=this.emitNode(z);this._createLines.push(`${G}.appendChild(${X});`),Q.push(X)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},f.newBlockVar=function(){return`create_block_${this._blockCount++}`},f.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},f.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(f,"_self",{get(){return this._factoryMode?"ctx":"this"}}),f._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},f.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let w=Y.valueOf();if(w.startsWith('"')||w.startsWith("'")||w.startsWith("`")){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode(${w});`),R}if(this.reactiveMembers&&this.reactiveMembers.has(w)){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${this._self}.${w}.value;`),R}if(w==="slot"&&this.componentMembers){let R=this._self,O=this.newElementVar("slot");return this._createLines.push(`${O} = ${R}.children instanceof Node ? ${R}.children : (${R}.children != null ? document.createTextNode(String(${R}.children)) : document.createComment(''));`),O}let[K,H]=w.split("#"),A=this.newElementVar(),J=K||"div";if(O1.has(J)||this._svgDepth>0)this._createLines.push(`${A} = document.createElementNS('${K2}', '${J}');`);else this._createLines.push(`${A} = document.createElement('${J}');`);if(H)this._createLines.push(`${A}.id = '${H}';`);return this._bindInheritedTarget(J,A),A}if(!Array.isArray(Y)){let w=this.newElementVar("c");return this._createLines.push(`${w} = document.createComment('unknown');`),w}let[Z,...G]=Y,Q=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Q&&this.isComponent(Q))return this.emitChildComponent(Q,G);if(Q==="slot"&&this.componentMembers){let w=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${w}.children instanceof Node ? ${w}.children : (${w}.children != null ? document.createTextNode(String(${w}.children)) : document.createComment(''));`),K}if(Q==="switch"){let w=G[0],K=G[1]||[],A=G[2]||null;for(let R=K.length-1;R>=0;R--){let[,O,P]=K[R],q;if(w===null)q=O.length===1?O[0]:O.reduce((B,D)=>B?["||",B,D]:D,null);else q=O.length===1?["==",w,O[0]]:O.map((B)=>["==",w,B]).reduce((B,D)=>B?["||",B,D]:D,null);A=["if",q,P,A]}if(A){if(Array.isArray(A)&&A[0]==="if")return this.emitConditional(A);return this.emitTemplateBlock(A)}let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('switch');`),J}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[w,K]=Q.split("#");return this.emitTag(w||"div",[],G,K)}if(Q==="."){let[,w,K]=Y;if(w==="this"&&typeof K==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${q}.${K}.value;`),D}let B=this.newElementVar("slot");return this._createLines.push(`${B} = ${q}.${K} instanceof Node ? ${q}.${K} : (${q}.${K} != null ? document.createTextNode(String(${q}.${K})) : document.createComment(''));`),B}let{tag:H,classes:A,id:J,base:R}=this.collectTemplateClasses(Y);if(!_(R,"text")&&H&&this.isHtmlTag(H))return this.emitTag(H,A,[],J);let O=this.newTextVar(),P=this.emitInComponent(Y,"value");return this._createLines.push(`${O} = document.createTextNode(String(${P}));`),O}if(Array.isArray(Z)){if(Array.isArray(Z[0])&&Z[0][0]==="."&&(Z[0][2]==="__clsx"||Z[0][2]instanceof String&&Z[0][2].valueOf()==="__clsx")){let A=Z[0][1],J=Z.slice(1);if(Array.isArray(A)){let{tag:O,classes:P,id:q}=this.collectTemplateClasses(A);if(O){let B=P.map((D)=>`"${D}"`);return this.emitDynamicTag(O,J,G,B,q)}}let R=typeof A==="string"?A:A.valueOf();return this.emitDynamicTag(R,J,G)}let{tag:w,classes:K,id:H}=this.collectTemplateClasses(Z);if(w&&this.isHtmlTag(w)){if(K.length>0&&K[K.length-1]==="__clsx"){let J=K.slice(0,-1).map((R)=>`"${R}"`);return this.emitDynamicTag(w,G,[],J,H)}return this.emitTag(w,K,G,H)}}if(Q==="->"||Q==="=>")return this.emitTemplateBlock(G[1]);if(Q==="if")return this.emitConditional(Y);if(Q==="for"||Q==="for-in"||Q==="for-of"||Q==="for-as")return this.emitTemplateLoop(Y);if(Q==="__text__"){let w=G[0]??"undefined",K=this.newTextVar(),H=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w))this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = String(${H});`);else this._createLines.push(`${K} = document.createTextNode(String(${H}));`);return K}let z=this.newTextVar(),X=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${X};`);else this._createLines.push(`${z} = document.createTextNode(String(${X}));`);return z},f.appendChildren=function(Y,Z){for(let G of Z)if(this.is(G,"->")||this.is(G,"=>")){let Q=G[2];if(this.is(Q,"block"))for(let z of Q.slice(1))if(this.is(z,"object"))this.emitAttributes(Y,z);else{let X=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${X});`)}else if(Q){let z=this.emitNode(Q);this._createLines.push(`${Y}.appendChild(${z});`)}}else if(this.is(G,"object"))this.emitAttributes(Y,G);else if(typeof G==="string"||G instanceof String){let Q=G.valueOf(),z=Q.split(/[#.]/)[0];if(this.isHtmlTag(z||"div")||this.isComponent(z)){let X=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${X});`)}else{let X=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${X} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${X} = document.createTextNode('');`),this._pushEffect(`${X}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${X} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${X} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${X});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},f._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},f._emitAutoWire=function(Y,Z){if(!Z)return;for(let[G,Q]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${Y}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Q}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},f._bindInheritedTarget=function(Y,Z){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(Y!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${Z};`),this._createLines.push("this._applyRestToInheritedEl();")},f.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),X=O1.has(Y)||this._svgDepth>0;if(X)this._createLines.push(`${z} = document.createElementNS('${K2}', '${Y}');`);else this._createLines.push(`${z} = document.createElement('${Y}');`);if(Q)this._createLines.push(`${z}.id = '${Q}';`);if(this._bindInheritedTarget(Y,z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${z}.setAttribute('data-part', '${this._componentName}');`);let w=this._claimAutoWire(z),K=this._pendingClassArgs,H=this._pendingClassEl;if(Z.length>0)this._pendingClassArgs=[`'${Z.join(" ")}'`],this._pendingClassEl=z;if(Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,G),Y==="svg")this._svgDepth--;if(Z.length>0){if(this._pendingClassArgs.length===1)if(X)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let A=this._pendingClassArgs.join(", ");if(X)this._pushEffect(`${z}.setAttribute('class', __clsx(${A}));`);else this._pushEffect(`${z}.className = __clsx(${A});`)}this._pendingClassArgs=K,this._pendingClassEl=H}return this._emitAutoWire(z,w),z},f.emitDynamicTag=function(Y,Z,G,Q,z){let X=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${X} = document.createElementNS('${K2}', '${Y}');`);else this._createLines.push(`${X} = document.createElement('${Y}');`);if(z)this._createLines.push(`${X}.id = '${z}';`);this._bindInheritedTarget(Y,X);let w=this._claimAutoWire(X),K=[...Q||[],...Z.map((J)=>this.emitInComponent(J,"value"))],H=this._pendingClassArgs,A=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=X,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(X,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let J=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${X}.setAttribute('class', __clsx(${J}));`);else this._pushEffect(`${X}.className = __clsx(${J});`)}return this._pendingClassArgs=H,this._pendingClassEl=A,this._emitAutoWire(X,w),X},f.emitAttributes=function(Y,Z){let G=x5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,X]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let w=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(w);if(typeof X==="string"&&this.componentMembers?.has(X))this._createLines.push(`${Y}.addEventListener('${w}', (e) => __batch(() => ${this._self}.${X}(e)));`);else{let K=this.emitInComponent(X,"value");this._createLines.push(`${Y}.addEventListener('${w}', (e) => __batch(() => (${K})(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 K=this.emitInComponent(X,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(X))if(this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${Y}.className = __clsx(${K});`);else if(this._svgDepth>0)this._createLines.push(`${Y}.setAttribute('class', ${K});`);else this._createLines.push(`${Y}.className = ${K};`);continue}if(z==="__transition__"){let K=String(X).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(X).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(_3)&&z.endsWith(Y3)){let K=z.slice(_3.length,-Y3.length),H=this.emitInComponent(X,"value"),A,J;if(K==="checked")A="change",J="e.target.checked";else A="input",J=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${H};`);let R=`${H} = ${J}`,O=!this.isSimpleAssignable(X)&&this.findRootReactiveMember(X);if(O)R+=`; ${this._self}.${O}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${A}', (e) => { ${R}; });`);continue}let w=this.emitInComponent(X,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(X)){this._pushEffect(`${Y}.${z} = ${w};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(X))this._pushEffect(`${Y}.${z} = ${w};`);else this._createLines.push(`${Y}.${z} = ${w};`);else if(c5.has(z))if(this.hasReactiveDeps(X))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${w});`);else this._createLines.push(`if (${w}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(X))if(Array.isArray(X)&&X[0]==="presence")this._pushEffect(`{ const __v = ${w}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${w});`);else if(Array.isArray(X)&&X[0]==="presence")this._createLines.push(`{ const __v = ${w}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${w});`)}}},f.emitTemplateBlock=function(Y){if(!Array.isArray(Y)||Y[0]!=="block")return this.emitNode(Y);let Z=Y.slice(1);if(Z.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(Z.length===1)return this.emitNode(Z[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let X=this.emitNode(z);this._createLines.push(`${G}.appendChild(${X});`),Q.push(X)}return this._fragChildren.set(G,Q),G},f.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let P=Y[Y.length-1];for(let q=Y.length-2;q>=3;q--)P=[...Y[q],P];Y=[Y[0],Y[1],Y[2],P]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let X=this.emitInComponent(Z,"value"),w=this._loopVarStack.map((P)=>`${P.itemVar}, ${P.indexVar}`).join(", "),K=w?`, ${w}`:"",H=this.newBlockVar();this.emitConditionBranch(H,G);let A=null;if(Q)A=this.newBlockVar(),this.emitConditionBranch(A,Q);let J=[];J.push(`// Conditional: ${H}${A?" / "+A:""}`),J.push("{"),J.push(` const anchor = ${z};`),J.push(" let currentBlock = null;"),J.push(" let showing = null;");let R=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",O=this._factoryMode?"}));":"});";if(J.push(` ${R}`),J.push(` const show = !!(${X});`),J.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),J.push(" if (want === showing) return;"),J.push(""),J.push(" if (currentBlock) {"),J.push(" const leaving = currentBlock;"),J.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),J.push(" else { leaving.d(true); }"),J.push(" currentBlock = null;"),J.push(" }"),J.push(" showing = want;"),J.push(""),J.push(" if (want === 'then') {"),J.push(` currentBlock = ${H}(${this._self}${K});`),J.push(" currentBlock.c();"),J.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),J.push(` currentBlock.p(${this._self}${K});`),J.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),J.push(" }"),Q)J.push(" if (want === 'else') {"),J.push(` currentBlock = ${A}(${this._self}${K});`),J.push(" currentBlock.c();"),J.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),J.push(` currentBlock.p(${this._self}${K});`),J.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),J.push(" }");if(J.push(` ${O}`),this._factoryMode)J.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return J.push("}"),this._setupLines.push(J.join(`
1286
+ `)),z},f.emitConditionBranch=function(Y,Z){let G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Q=this.emitTemplateBlock(Z),z=this._createLines,X=this._setupLines,w=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let K=this._loopVarStack.map((A)=>`${A.itemVar}, ${A.indexVar}`).join(", "),H=K?`, ${K}`:"";this.emitBlockFactory(Y,`ctx${H}`,Q,z,X,w)},f.emitBlockFactory=function(Y,Z,G,Q,z,X,w){let K=[];if(K.push(`function ${Y}(${Z}) {`),X.size>0)K.push(` let ${[...X].join(", ")};`);let H=z.length>0;if(H)K.push(" let disposers = [];");if(K.push(" return {"),w)K.push(" _s: true,");let A=this._fragChildren.get(G),J=A?A[0]:G;K.push(" c() {");for(let R of Q)K.push(` ${R}`);if(K.push(` this._first = ${J};`),K.push(" },"),K.push(" m(target, anchor) {"),A)for(let R of A)K.push(` if (target) target.insertBefore(${R}, anchor);`);else K.push(` if (target) target.insertBefore(${G}, anchor);`);if(K.push(" },"),K.push(` p(${Z}) {`),H){K.push(" disposers.forEach(d => d());"),K.push(" disposers = [];");for(let R of z)K.push(` ${R}`)}if(K.push(" },"),K.push(" d(detaching) {"),H)K.push(" disposers.forEach(d => d());");if(A)for(let R of A)K.push(` if (detaching && ${R}) ${R}.remove();`);else K.push(` if (detaching && ${G}) ${G}.remove();`);K.push(" }"),K.push(" };"),K.push("}"),this._blockFactories.push(K.join(`
1287
+ `))},f.emitTemplateLoop=function(Y){this._pendingAutoWire=!1;let[Z,G,Q,z,X,w]=Y,K=this.newBlockVar(),H=this.newElementVar("anchor");this._createLines.push(`${H} = document.createComment('for');`);let A=Array.isArray(G)?G:[G],J=A[0],R=A[1]||null;if(!R){let m=new Set(this._loopVarStack.flatMap((t)=>[t.itemVar,t.indexVar]));m.add(J);for(let t of["i","j","k","l","m","n"])if(!m.has(t)){R=t;break}R=R||`_i${this._loopVarStack.length}`}let O=this.emitInComponent(Q,"value"),P=J;if(this.is(w,"block")&&w.length>1){let m=w[1];if(Array.isArray(m))for(let t of m){if(this.is(t,"object"))for(let $1=1;$1<t.length;$1++){let[b,g]=t[$1];if(b==="key"){P=this.emit(g,"value");break}}if(P!==J)break}}let q=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let B=this._loopVarStack.map((m)=>`${m.itemVar}, ${m.indexVar}`).join(", "),D=B?`, ${B}`:"";this._loopVarStack.push({itemVar:J,indexVar:R});let I=this.emitTemplateBlock(w);this._loopVarStack.pop();let M=this._createLines,S=this._setupLines,N=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=q;let V=S.length===0,L=`ctx, ${J}, ${R}${D}`;this.emitBlockFactory(K,L,I,M,S,N,V);let E=P!==J?`(${J}, ${R}) => ${P}`:"null",n=B?`, ${B}`:"",T=[];T.push(`// Loop: ${K}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",y=this._factoryMode?"}));":"});";return T.push(` ${j}`),T.push(` __reconcile(${H}, __s, ${O}, ${this._self}, ${K}, ${E}${n});`),T.push(` ${y}`),T.push("}"),this._setupLines.push(T.join(`
1288
+ `)),H},f.emitChildComponent=function(Y,Z){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Q=this.newElementVar("el"),{propsCode:z,reactiveProps:X,eventBindings:w,childrenSetupLines:K}=this.buildComponentProps(Z),H=this._self;this._createLines.push(`{ const __prev = __pushComponent(${H}); try {`),this._createLines.push(`${G} = new ${Y}(${z});`),this._createLines.push(`${Q} = ${G}._root = ${G}._create();`),this._createLines.push(`(${H}._children || (${H}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:A,value:J}of w){let R=this.emitInComponent(J,"value");this._createLines.push(`${Q}.addEventListener('${A}', (e) => __batch(() => (${R})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:A,valueCode:J}of X)this._pushEffect(`if (${G}.${A} && typeof ${G}.${A} === 'object' && 'value' in ${G}.${A}) ${G}.${A}.value = ${J}; else if (${G}._setRestProp) ${G}._setRestProp('${A}', ${J});`);for(let A of K)this._setupLines.push(A);return Q},f.buildComponentProps=function(Y){let Z=[],G=[],Q=[],z=null,X=[],w=(A,J)=>{if(A.startsWith("@")){Q.push({event:A.slice(1).split(".")[0],value:J});return}if(this.reactiveMembers&&(typeof J==="string"&&this.reactiveMembers.has(J)||Array.isArray(J)&&J[0]==="."&&J[1]==="this"&&typeof J[2]==="string"&&this.reactiveMembers.has(J[2]))){let O=typeof J==="string"?J:J[2];Z.push(`${A}: ${this._self}.${O}`)}else{let O=this.emitInComponent(J,"value");if(Z.push(`${A}: ${O}`),this.hasReactiveDeps(J))G.push({key:A,valueCode:O})}},K=(A)=>{for(let J=1;J<A.length;J++){let[,R,O]=A[J];if(typeof R==="string")w(R,O);else if(Array.isArray(R)&&R[0]==="."&&R[1]==="this"&&typeof R[2]==="string")Q.push({event:R[2],value:O})}};for(let A of Y)if(this.is(A,"object"))K(A);else if(Array.isArray(A)&&(A[0]==="->"||A[0]==="=>")){let J=A[2];if(J){if(this.is(J,"block")){let R=[];for(let O of J.slice(1))if(this.is(O,"object"))K(O);else R.push(O);J=R.length>0?["block",...R]:null}if(J){let R=this._createLines,O=this._setupLines;this._createLines=[],this._setupLines=[],z=this.emitTemplateBlock(J);let P=this._createLines,q=this._setupLines;this._createLines=R,this._setupLines=O;for(let B of P)this._createLines.push(B);X.push(...q),Z.push(`children: ${z}`)}}}else if(A&&!z){let J=this.newTextVar(),R=this.emitInComponent(A,"value");if(this.hasReactiveDeps(A)){this._createLines.push(`${J} = document.createTextNode('');`);let O=`${J}.data = ${R};`,P=this._factoryMode?`disposers.push(__effect(() => { ${O} }));`:`__effect(() => { ${O} });`;X.push(P)}else this._createLines.push(`${J} = document.createTextNode(${R});`);z=J,Z.push(`children: ${z}`)}return{propsCode:Z.length>0?`{ ${Z.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Q,childrenSetupLines:X}},f.hasReactiveDeps=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(!Array.isArray(Y))return!1;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));if(Y[0]==="."&&this._rootsAtThis(Y[1]))return!0;if(Array.isArray(Y[0])&&Y[0][0]==="."&&Y[0][1]==="this"){let Z=$(Y[0][2]);if(Z&&this.componentMembers?.has(Z))return!0}for(let Z of Y)if(this.hasReactiveDeps(Z))return!0;return!1},f.isSimpleAssignable=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));return!1},f.findRootReactiveMember=function(Y){if(typeof Y==="string")return this.reactiveMembers?.has(Y)?Y:null;if(!Array.isArray(Y))return null;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return this.reactiveMembers?.has(Y[2])?Y[2]:null;if(Y[0]==="."||Y[0]==="[]")return this.findRootReactiveMember(Y[1]);return null},f._rootsAtThis=function(Y){if(typeof Y==="string")return Y==="this";if(!Array.isArray(Y)||Y[0]!==".")return!1;return this._rootsAtThis(Y[1])},f.getComponentRuntime=function(){return`
1268
1289
  // ============================================================================
1269
1290
  // Rip Component Runtime
1270
1291
  // ============================================================================
@@ -1545,32 +1566,32 @@ if (typeof globalThis !== 'undefined') {
1545
1566
  globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
1546
1567
  }
1547
1568
 
1548
- `}}function V1(u){let U="",_=u<0?-u<<1|1:u<<1;do{let W=_&31;if(_>>>=5,_>0)W|=32;U+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[W]}while(_>0);return U}class H2{constructor(u,U,_=null){this.file=u,this.source=U,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(u){while(this.lines.length<=u)this.lines.push([])}addName(u){if(this.nameIndex.has(u))return this.nameIndex.get(u);let U=this.names.length;return this.names.push(u),this.nameIndex.set(u,U),U}addMapping(u,U,_,W,f){if(this.ensureLine(u),this.currentLine!==u)this.prevGenCol=0,this.currentLine=u;if(_==null){this.lines[u].push(V1(U-this.prevGenCol)),this.prevGenCol=U;return}this.mappings.push({genLine:u,genCol:U,origLine:_,origCol:W});let $=V1(U-this.prevGenCol);if(this.prevGenCol=U,$+=V1(0),$+=V1(_-this.prevOrigLine),this.prevOrigLine=_,$+=V1(W-this.prevOrigCol),this.prevOrigCol=W,f!=null){let F=this.addName(f);$+=V1(F-this.prevNameIdx),this.prevNameIdx=F}this.lines[u].push($)}toReverseMap(){let u=new Map;for(let U of this.mappings){if(!u.has(U.origLine))u.set(U.origLine,[]);u.get(U.origLine).push({origCol:U.origCol,genLine:U.genLine,genCol:U.genCol})}return u}toJSON(){let u=this.lines.map((_)=>_.join(",")).join(";"),U={version:3,file:this.file,sources:[this.source],names:this.names,mappings:u};if(this.sourceContent!=null)U.sourcesContent=[this.sourceContent];return JSON.stringify(U)}}class Z1 extends Error{constructor(u,{code:U=null,file:_=null,line:W=null,column:f=null,length:$=1,source:F=null,suggestion:Y=null,phase:Z=null}={}){super(u);this.name="RipError",this.code=U,this.file=_,this.line=W,this.column=f,this.length=$,this.source=F,this.suggestion=Y,this.phase=Z}static fromLexer(u,U,_){let W=u.location||{};return new Z1(u.message,{code:"E_SYNTAX",file:_,line:W.first_line??null,column:W.first_column??null,length:W.last_column!=null&&W.first_column!=null?W.last_column-W.first_column+1:1,source:U,phase:"lexer"})}static fromParser(u,U,_){let W=u.hash||{},f=W.loc||{},$=W.line??f.r??null,F=f.first_column??f.c??null,Y=null;if(W.expected?.length){if(Y=`Expected ${W.expected.slice(0,5).map((J)=>J.replace(/'/g,"")).join(", ")}`,W.expected.length>5)Y+=`, ... (${W.expected.length} total)`}let Z=W.token||"token",G=W.text?` near '${W.text}'`:"",Q=`Unexpected ${Z}${G}`;return new Z1(Q,{code:"E_PARSE",file:_,line:$,column:F,length:W.text?.length||1,source:U,suggestion:Y,phase:"parser"})}static fromSExpr(u,U,_,W,f){let $=U?.loc||{};return new Z1(u,{code:"E_CODEGEN",file:W,line:$.r??null,column:$.c??null,length:$.n??1,source:_,suggestion:f,phase:"codegen"})}get locationString(){let u=[];if(this.file)u.push(this.file);if(this.line!=null)u.push(`${this.line+1}:${(this.column??0)+1}`);return u.join(":")}format({color:u=!0}={}){let U=u?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},_=[],W=this.locationString,f=W?`${U.cyan}${W}${U.reset} `:"";_.push(`${f}${U.red}${U.bold}error${U.reset}${U.bold}: ${this.message}${U.reset}`);let $=this._snippet();if($){_.push("");for(let F of $)if(F.type==="source")_.push(`${U.dim}${F.gutter}${U.reset}${F.text}`);else if(F.type==="caret")_.push(`${U.dim}${F.gutter}${U.reset}${U.red}${U.bold}${F.text}${U.reset}`)}if(this.suggestion)_.push(""),_.push(`${U.yellow}hint${U.reset}: ${this.suggestion}`);return _.join(`
1569
+ `}}function V1(u){let U="",_=u<0?-u<<1|1:u<<1;do{let W=_&31;if(_>>>=5,_>0)W|=32;U+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[W]}while(_>0);return U}class H2{constructor(u,U,_=null){this.file=u,this.source=U,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(u){while(this.lines.length<=u)this.lines.push([])}addName(u){if(this.nameIndex.has(u))return this.nameIndex.get(u);let U=this.names.length;return this.names.push(u),this.nameIndex.set(u,U),U}addMapping(u,U,_,W,f){if(this.ensureLine(u),this.currentLine!==u)this.prevGenCol=0,this.currentLine=u;if(_==null){this.lines[u].push(V1(U-this.prevGenCol)),this.prevGenCol=U;return}this.mappings.push({genLine:u,genCol:U,origLine:_,origCol:W});let $=V1(U-this.prevGenCol);if(this.prevGenCol=U,$+=V1(0),$+=V1(_-this.prevOrigLine),this.prevOrigLine=_,$+=V1(W-this.prevOrigCol),this.prevOrigCol=W,f!=null){let F=this.addName(f);$+=V1(F-this.prevNameIdx),this.prevNameIdx=F}this.lines[u].push($)}toReverseMap(){let u=new Map;for(let U of this.mappings){if(!u.has(U.origLine))u.set(U.origLine,[]);u.get(U.origLine).push({origCol:U.origCol,genLine:U.genLine,genCol:U.genCol})}return u}toJSON(){let u=this.lines.map((_)=>_.join(",")).join(";"),U={version:3,file:this.file,sources:[this.source],names:this.names,mappings:u};if(this.sourceContent!=null)U.sourcesContent=[this.sourceContent];return JSON.stringify(U)}}class Z1 extends Error{constructor(u,{code:U=null,file:_=null,line:W=null,column:f=null,length:$=1,source:F=null,suggestion:Y=null,phase:Z=null}={}){super(u);this.name="RipError",this.code=U,this.file=_,this.line=W,this.column=f,this.length=$,this.source=F,this.suggestion=Y,this.phase=Z}static fromLexer(u,U,_){let W=u.location||{};return new Z1(u.message,{code:"E_SYNTAX",file:_,line:W.first_line??null,column:W.first_column??null,length:W.last_column!=null&&W.first_column!=null?W.last_column-W.first_column+1:1,source:U,phase:"lexer"})}static fromParser(u,U,_){let W=u.hash||{},f=W.loc||{},$=W.line??f.r??null,F=f.first_column??f.c??null,Y=null;if(W.expected?.length){if(Y=`Expected ${W.expected.slice(0,5).map((X)=>X.replace(/'/g,"")).join(", ")}`,W.expected.length>5)Y+=`, ... (${W.expected.length} total)`}let Z=W.token||"token",G=W.text?` near '${W.text}'`:"",Q=`Unexpected ${Z}${G}`;return new Z1(Q,{code:"E_PARSE",file:_,line:$,column:F,length:W.text?.length||1,source:U,suggestion:Y,phase:"parser"})}static fromSExpr(u,U,_,W,f){let $=U?.loc||{};return new Z1(u,{code:"E_CODEGEN",file:W,line:$.r??null,column:$.c??null,length:$.n??1,source:_,suggestion:f,phase:"codegen"})}get locationString(){let u=[];if(this.file)u.push(this.file);if(this.line!=null)u.push(`${this.line+1}:${(this.column??0)+1}`);return u.join(":")}format({color:u=!0}={}){let U=u?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},_=[],W=this.locationString,f=W?`${U.cyan}${W}${U.reset} `:"";_.push(`${f}${U.red}${U.bold}error${U.reset}${U.bold}: ${this.message}${U.reset}`);let $=this._snippet();if($){_.push("");for(let F of $)if(F.type==="source")_.push(`${U.dim}${F.gutter}${U.reset}${F.text}`);else if(F.type==="caret")_.push(`${U.dim}${F.gutter}${U.reset}${U.red}${U.bold}${F.text}${U.reset}`)}if(this.suggestion)_.push(""),_.push(`${U.yellow}hint${U.reset}: ${this.suggestion}`);return _.join(`
1549
1570
  `)}formatHTML(){let u=[];u.push('<div class="rip-error">'),u.push("<style>"),u.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; }'),u.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),u.push(".rip-error .re-loc { color: #89b4fa; }"),u.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),u.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),u.push(".rip-error .re-hint { color: #f9e2af; }"),u.push(".rip-error .re-snippet { margin: 8px 0; }"),u.push("</style>");let U=this.locationString,_=U?`<span class="re-loc">${P1(U)}</span> `:"";u.push(`<div class="re-header">${_}error: ${P1(this.message)}</div>`);let W=this._snippet();if(W){u.push('<pre class="re-snippet">');for(let f of W)if(f.type==="source")u.push(`<span class="re-gutter">${P1(f.gutter)}</span>${P1(f.text)}`);else if(f.type==="caret")u.push(`<span class="re-gutter">${P1(f.gutter)}</span><span class="re-caret">${P1(f.text)}</span>`);u.push("</pre>")}if(this.suggestion)u.push(`<div class="re-hint">hint: ${P1(this.suggestion)}</div>`);return u.push("</div>"),u.join(`
1550
1571
  `)}_snippet(){if(this.source==null||this.line==null)return null;let u=this.source.split(`
1551
- `),U=this.line;if(U<0||U>=u.length)return null;let _=2,W=Math.max(0,U-_),f=Math.min(u.length-1,U+_),$=String(f+1).length,F=[];for(let Y=W;Y<=f;Y++){let G=` ${String(Y+1).padStart($)} │ `;if(F.push({type:"source",gutter:G,text:u[Y]}),Y===U&&this.column!=null){let Q=" ".repeat(this.column),z=Math.max(1,Math.min(this.length||1,u[Y].length-this.column)),J="^".repeat(z),X=" ".repeat($+2)+"│ ";F.push({type:"caret",gutter:X,text:`${Q}${J}`})}}return F}}function x5(u){return u instanceof SyntaxError&&u.location!=null}function l5(u){return!(u instanceof SyntaxError)&&u.hash!=null}function C1(u,U,_){if(u instanceof Z1){if(_&&!u.file)u.file=_;if(U&&!u.source)u.source=U;return u}if(x5(u))return Z1.fromLexer(u,U,_);if(l5(u))return Z1.fromParser(u,U,_);return new Z1(u.message,{file:_,source:U,phase:"unknown"})}function B1(u,{source:U,file:_,color:W=!0}={}){return(u instanceof Z1?u:C1(u,U,_)).format({color:W})}function D2(u,{source:U,file:_}={}){return(u instanceof Z1?u:C1(u,U,_)).formatHTML()}function P1(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var W1=(u,U)=>u instanceof String?u[U]:void 0,d=(u)=>u instanceof String?u.valueOf():u,m5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),k5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),i5=new Set(["true","false","null","undefined","Infinity","NaN"]);function s1(u){if(!Array.isArray(u)||u.length===0)return!1;let U=u[0]?.valueOf?.()??u[0];if(m5.has(U))return!0;return u.length<=4&&!u.some(Array.isArray)}function c1(u){if(Array.isArray(u))return"(???)";if(typeof u==="number")return String(u);if(u===null)return"null";if(u==="")return'""';let U=String(u);if(U[0]==="/"&&U.indexOf(`
1572
+ `),U=this.line;if(U<0||U>=u.length)return null;let _=2,W=Math.max(0,U-_),f=Math.min(u.length-1,U+_),$=String(f+1).length,F=[];for(let Y=W;Y<=f;Y++){let G=` ${String(Y+1).padStart($)} │ `;if(F.push({type:"source",gutter:G,text:u[Y]}),Y===U&&this.column!=null){let Q=" ".repeat(this.column),z=Math.max(1,Math.min(this.length||1,u[Y].length-this.column)),X="^".repeat(z),w=" ".repeat($+2)+"│ ";F.push({type:"caret",gutter:w,text:`${Q}${X}`})}}return F}}function l5(u){return u instanceof SyntaxError&&u.location!=null}function m5(u){return!(u instanceof SyntaxError)&&u.hash!=null}function C1(u,U,_){if(u instanceof Z1){if(_&&!u.file)u.file=_;if(U&&!u.source)u.source=U;return u}if(l5(u))return Z1.fromLexer(u,U,_);if(m5(u))return Z1.fromParser(u,U,_);return new Z1(u.message,{file:_,source:U,phase:"unknown"})}function B1(u,{source:U,file:_,color:W=!0}={}){return(u instanceof Z1?u:C1(u,U,_)).format({color:W})}function O2(u,{source:U,file:_}={}){return(u instanceof Z1?u:C1(u,U,_)).formatHTML()}function P1(u){return u.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var W1=(u,U)=>u instanceof String?u[U]:void 0,d=(u)=>u instanceof String?u.valueOf():u,k5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),i5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),d5=new Set(["true","false","null","undefined","Infinity","NaN"]);function s1(u){if(!Array.isArray(u)||u.length===0)return!1;let U=u[0]?.valueOf?.()??u[0];if(k5.has(U))return!0;return u.length<=4&&!u.some(Array.isArray)}function c1(u){if(Array.isArray(u))return"(???)";if(typeof u==="number")return String(u);if(u===null)return"null";if(u==="")return'""';let U=String(u);if(U[0]==="/"&&U.indexOf(`
1552
1573
  `)>=0){let _=U.match(/\/([gimsuvy]*)$/),W=_?_[1]:"",f=U.slice(1);return f=W?f.slice(0,-W.length-1):f.slice(0,-1),`"/${f.split(`
1553
- `).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${W}"`}return U}function X1(u,U=0,_=!1){if(!Array.isArray(u))return c1(u);if(_&&u[0]==="program"){let G=u[1],z=[Array.isArray(G)?"(program":"(program "+c1(G)],J=Array.isArray(G)?1:2;for(let X=J;X<u.length;X++){let K=X1(u[X],2,!1);z.push(K[0]==="("?" "+K:K)}return z.push(")"),z.join(`
1554
- `)}let W=u[0];if(s1(u)&&u.slice(1).every((G)=>!Array.isArray(G)||s1(G))){let Q=`(${u.map((z)=>Array.isArray(z)?X1(z,0,!1):c1(z)).join(" ")})`;if(!Q.includes(`
1555
- `))return" ".repeat(U)+Q}let $=" ".repeat(U),F;if(Array.isArray(W)){if(F=X1(W,0,!1),F.includes(`
1574
+ `).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${W}"`}return U}function w1(u,U=0,_=!1){if(!Array.isArray(u))return c1(u);if(_&&u[0]==="program"){let G=u[1],z=[Array.isArray(G)?"(program":"(program "+c1(G)],X=Array.isArray(G)?1:2;for(let w=X;w<u.length;w++){let K=w1(u[w],2,!1);z.push(K[0]==="("?" "+K:K)}return z.push(")"),z.join(`
1575
+ `)}let W=u[0];if(s1(u)&&u.slice(1).every((G)=>!Array.isArray(G)||s1(G))){let Q=`(${u.map((z)=>Array.isArray(z)?w1(z,0,!1):c1(z)).join(" ")})`;if(!Q.includes(`
1576
+ `))return" ".repeat(U)+Q}let $=" ".repeat(U),F;if(Array.isArray(W)){if(F=w1(W,0,!1),F.includes(`
1556
1577
  `))F=F.split(`
1557
1578
  `).map((Q,z)=>z===0?Q:" ".repeat(U+2)+Q).join(`
1558
- `)}else F=c1(W);let Y=[`${$}(${F}`],Z=W==="block";for(let G=1;G<u.length;G++){let Q=u[G];if(!Array.isArray(Q))Y[Y.length-1]+=" "+c1(Q);else{let z=s1(Q)&&Q.every((J)=>!Array.isArray(J)||s1(J));if(!Z&&z){let J=X1(Q,0,!1);if(!J.includes(`
1559
- `)){Y[Y.length-1]+=" "+J;continue}}Y.push(X1(Q,U+2,!1))}}return Y[Y.length-1]+=")",Y.join(`
1579
+ `)}else F=c1(W);let Y=[`${$}(${F}`],Z=W==="block";for(let G=1;G<u.length;G++){let Q=u[G];if(!Array.isArray(Q))Y[Y.length-1]+=" "+c1(Q);else{let z=s1(Q)&&Q.every((X)=>!Array.isArray(X)||s1(X));if(!Z&&z){let X=w1(Q,0,!1);if(!X.includes(`
1580
+ `)){Y[Y.length-1]+=" "+X;continue}}Y.push(w1(Q,U+2,!1))}}return Y[Y.length-1]+=")",Y.join(`
1560
1581
  `)}class Y1{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",schema:"emitSchema",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString",symbol:"emitSymbol"};constructor(u={}){if(this.options=u,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=u.dataSection,this.sourceMap=u.sourceMap||null,u.reactiveVars)this.reactiveVars=new Set(u.reactiveVars)}error(u,U,{suggestion:_}={}){throw Z1.fromSExpr(u,U,this.options.source,this.options.filename,_)}compile(u){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(u);let U=this.emit(u);if(this.sourceMap)this.buildMappings();return U}buildMappings(){if(!this._stmtEntries)return;let u=this._preambleLines;for(let U of this._stmtEntries){if(U.loc)this.sourceMap.addMapping(u,0,U.loc.r,U.loc.c);if(U.sexpr&&U.loc)this.recordSubMappings(U.code,U.sexpr,u);u+=U.code.split(`
1561
1582
  `).length}}static _isColInsideString(u,U){let _=!1,W="";for(let f=0;f<u.length&&f<U;f++){let $=u[f];if(_){if($==="\\"){f++;continue}if($===W)_=!1}else if($==='"'||$==="'"||$==="`")_=!0,W=$}return _}recordSubMappings(u,U,_){let W=U.loc?U.loc.r:0,f=[];this.collectSubExprs(U,f);let $=u.split(`
1562
- `);for(let{name:F,origLine:Y,origCol:Z}of f){let G=F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Q=new RegExp("\\b"+G+"\\b","g"),z,J=null,X=1/0,K=Y-W;while((z=Q.exec(u))!==null){let w=u.substring(0,z.index).split(`
1563
- `),A=w.length-1,R=w[w.length-1].length,O=$[A];if(O&&Y1._isColInsideString(O,R))continue;let P=_+A,q=Math.abs(A-K)*1e4+Math.abs(R-Z);if(q<X)X=q,J={genLine:P,genCol:R}}if(J)this.sourceMap.addMapping(J.genLine,J.genCol,Y,Z)}}collectSubExprs(u,U){if(!Array.isArray(u))return;let _=u[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let f=0;f<u.length;f++)if(Array.isArray(u[f]))this.collectSubExprs(u[f],U);return}if(u.loc){_=d(_);let f=null;if(_==="."){if(typeof u[2]==="string")f=u[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof u[1]==="string"&&/^[a-zA-Z_$]/.test(u[1]))f=u[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))f=_;if(f)U.push({name:f,origLine:u.loc.r,origCol:u.loc.c})}let W=_==="->"||_==="=>"?2:1;for(let f=W;f<u.length;f++)if(Array.isArray(u[f]))this.collectSubExprs(u[f],U)}collectProgramVariables(u){if(!Array.isArray(u))return;let[U,..._]=u;if(U=d(U),Array.isArray(U)){u.forEach((W)=>this.collectProgramVariables(W));return}if(U==="export"||U==="export-default"||U==="export-all"||U==="export-from")return;if(U==="state"||U==="computed"){let[W]=_,f=d(W)??W;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(f);return}if(U==="readonly"){let[W]=_,f=d(W)??W;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(f);return}if(U==="component")return;if(U==="enum")return;if(Y1.ASSIGNMENT_OPS.has(U)){let[W,f]=_;if(typeof W==="string"||W instanceof String){let $=d(W);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(W,"array"))this.collectVarsFromArray(W,this.programVars);else if(this.is(W,"object"))this.collectVarsFromObject(W,this.programVars);this.collectProgramVariables(f);return}if(U==="def"||U==="->"||U==="=>"||U==="effect")return;if(U==="if"){let[W,f,$]=_;if(this.collectProgramVariables(W),this.collectProgramVariables(f),$)this.collectProgramVariables($);return}if(U==="try"){if(this.collectProgramVariables(_[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(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(f)}if(_.length===3)this.collectProgramVariables(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))this.collectProgramVariables(_[1]);return}_.forEach((W)=>this.collectProgramVariables(W))}collectFunctionVariables(u){let U=new Set,_=(W)=>{if(!Array.isArray(W))return;let[f,...$]=W;if(f=d(f),Array.isArray(f)){W.forEach((F)=>_(F));return}if(Y1.ASSIGNMENT_OPS.has(f)){let[F,Y]=$;if(typeof F==="string")U.add(F);else if(this.is(F,"array"))this.collectVarsFromArray(F,U);else if(this.is(F,"object"))this.collectVarsFromObject(F,U);_(Y);return}if(f==="def"||f==="->"||f==="=>"||f==="effect")return;if(f==="try"){if(_($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[F,Y]=$[1];if(F&&this.is(F,"object"))F.slice(1).forEach((Z)=>{if(Array.isArray(Z)&&Z.length===2&&typeof Z[1]==="string")U.add(Z[1])});else if(F&&this.is(F,"array"))F.slice(1).forEach((Z)=>{if(typeof Z==="string")U.add(Z)});_(Y)}if($.length===3)_($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))_($[1]);return}$.forEach((F)=>_(F))};return _(u),U}emit(u,U="statement"){if(u instanceof String){if(W1(u,"await")===!0)return`await ${d(u)}()`;if(W1(u,"predicate"))return`(${d(u)} != null)`;if(W1(u,"delimiter")==="///"&&W1(u,"heregex")){let Y=d(u),Z=Y.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Z){let[,G,Q]=Z;return`/${this.processHeregex(G)}/${Q}`}return Y}let F=W1(u,"quote");if(F){let Y=d(u);if(F==='"""'||F==="'''"){let G=this.extractStringContent(u);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(Y[0]===F)return Y;let Z=Y.slice(1,-1);return`${F}${Z}${F}`}u=d(u)}if(typeof u==="string"){if(u.startsWith('"')||u.startsWith("'")||u.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",u);let F=u.slice(1,-1);if(F.includes(`
1564
- `))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=F.includes("'")&&!F.includes('"')?'"':"'",Z=F.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${Z}${Y}`}if(this.reactiveVars?.has(u)&&!this.suppressReactiveUnwrap)return`${u}.value`;return u}if(typeof u==="number")return String(u);if(u===null||u===void 0)return"null";if(!Array.isArray(u))this.error(`Invalid s-expression: ${JSON.stringify(u)}`,u);let[_,...W]=u,f=W1(_,"await");_=d(_);let $=Y1.GENERATORS[_];if($)return this[$](_,W,U,u);if(typeof _==="string"&&!_.startsWith('"')&&!_.startsWith("'")){if(Y1.NUMBER_START_RE.test(_))return _;if(_==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(W)})`;let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=f===!0,Z=`${this.emit(_,"value")}(${this._emitArgs(W)})`;return Y?`await ${Z}`:Z}if(Array.isArray(_)&&typeof _[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(_[0]))return`(${u.map((Y)=>this.emit(Y,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||d(_[2])==="new")){let Q=_[1],z=this.emit(Q,"value");return`new ${Array.isArray(Q)?`(${z})`:z}(${this._emitArgs(W)})`}let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=!1,Z;if(_[0]==="."&&W1(_[2],"await")===!0){Y=!0;let[Q,z]=_.slice(1),J=this.emit(Q,"value");Z=`${Y1.NUMBER_LITERAL_RE.test(J)||(this.is(Q,"object")||this.is(Q,"await")||this.is(Q,"yield"))?`(${J})`:J}.${d(z)}`}else Z=this.emit(_,"value");let G=`${Z}(${this._emitArgs(W)})`;return Y?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,u)}emitProgram(u,U,_,W){let f="",$=[],F=[];for(let X of U){if(!Array.isArray(X)){F.push(X);continue}if(X[0]==="import")$.push(X);else F.push(X)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],Z=F.map((X,K)=>{let D=F.length===1&&$.length===0,w=this.is(X,"object"),A=w&&X.length===2&&Array.isArray(X[1])&&Array.isArray(X[1][2])&&X[1][2][0]==="comprehension",R=this.is(X,"comprehension")||this.is(X,"object-comprehension")||this.is(X,"do-iife"),O=this.programVars.size===0,P=D&&w&&O&&!R&&!A,B=K===F.length-1&&R,M;if(P)M=`(${this.emit(X,"value")})`;else if(B)M=this.emit(X,"value");else M=this.emit(X,"statement");if(M&&!M.endsWith(";")){let H=Array.isArray(X)?X[0]:null;if(!Y.includes(H)||!M.endsWith("}"))M+=";"}let I=Array.isArray(X)?X.loc:null;return{code:M,loc:I,sexpr:Array.isArray(X)?X:null}}),G=Z.map((X)=>X.code).join(`
1565
- `),Q=!1;if($.length>0)f+=$.map((X)=>this.addSemicolon(X,this.emit(X,"statement"))).join(`
1566
- `),Q=!0;if(this.programVars.size>0){let X=this.programVars.has("_");if(X)this.programVars.delete("_");if(this.programVars.size>0){let K=Array.from(this.programVars).sort().join(", ");if(K){if(Q)f+=`
1583
+ `);for(let{name:F,origLine:Y,origCol:Z}of f){let G=F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Q=new RegExp("\\b"+G+"\\b","g"),z,X=null,w=1/0,K=Y-W;while((z=Q.exec(u))!==null){let A=u.substring(0,z.index).split(`
1584
+ `),J=A.length-1,R=A[A.length-1].length,O=$[J];if(O&&Y1._isColInsideString(O,R))continue;let P=_+J,q=Math.abs(J-K)*1e4+Math.abs(R-Z);if(q<w)w=q,X={genLine:P,genCol:R}}if(X)this.sourceMap.addMapping(X.genLine,X.genCol,Y,Z)}}collectSubExprs(u,U){if(!Array.isArray(u))return;let _=u[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let f=0;f<u.length;f++)if(Array.isArray(u[f]))this.collectSubExprs(u[f],U);return}if(u.loc){_=d(_);let f=null;if(_==="."){if(typeof u[2]==="string")f=u[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof u[1]==="string"&&/^[a-zA-Z_$]/.test(u[1]))f=u[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))f=_;if(f)U.push({name:f,origLine:u.loc.r,origCol:u.loc.c})}let W=_==="->"||_==="=>"?2:1;for(let f=W;f<u.length;f++)if(Array.isArray(u[f]))this.collectSubExprs(u[f],U)}collectProgramVariables(u){if(!Array.isArray(u))return;let[U,..._]=u;if(U=d(U),Array.isArray(U)){u.forEach((W)=>this.collectProgramVariables(W));return}if(U==="export"||U==="export-default"||U==="export-all"||U==="export-from")return;if(U==="state"||U==="computed"){let[W]=_,f=d(W)??W;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(f);return}if(U==="readonly"){let[W]=_,f=d(W)??W;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(f);return}if(U==="component")return;if(U==="enum")return;if(Y1.ASSIGNMENT_OPS.has(U)){let[W,f]=_;if(typeof W==="string"||W instanceof String){let $=d(W);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(W,"array"))this.collectVarsFromArray(W,this.programVars);else if(this.is(W,"object"))this.collectVarsFromObject(W,this.programVars);this.collectProgramVariables(f);return}if(U==="def"||U==="->"||U==="=>"||U==="effect")return;if(U==="if"){let[W,f,$]=_;if(this.collectProgramVariables(W),this.collectProgramVariables(f),$)this.collectProgramVariables($);return}if(U==="try"){if(this.collectProgramVariables(_[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(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(f)}if(_.length===3)this.collectProgramVariables(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))this.collectProgramVariables(_[1]);return}_.forEach((W)=>this.collectProgramVariables(W))}collectFunctionVariables(u){let U=new Set,_=(W)=>{if(!Array.isArray(W))return;let[f,...$]=W;if(f=d(f),Array.isArray(f)){W.forEach((F)=>_(F));return}if(Y1.ASSIGNMENT_OPS.has(f)){let[F,Y]=$;if(typeof F==="string")U.add(F);else if(this.is(F,"array"))this.collectVarsFromArray(F,U);else if(this.is(F,"object"))this.collectVarsFromObject(F,U);_(Y);return}if(f==="def"||f==="->"||f==="=>"||f==="effect")return;if(f==="try"){if(_($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[F,Y]=$[1];if(F&&this.is(F,"object"))F.slice(1).forEach((Z)=>{if(Array.isArray(Z)&&Z.length===2&&typeof Z[1]==="string")U.add(Z[1])});else if(F&&this.is(F,"array"))F.slice(1).forEach((Z)=>{if(typeof Z==="string")U.add(Z)});_(Y)}if($.length===3)_($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))_($[1]);return}$.forEach((F)=>_(F))};return _(u),U}emit(u,U="statement"){if(u instanceof String){if(W1(u,"await")===!0)return`await ${d(u)}()`;if(W1(u,"predicate"))return`(${d(u)} != null)`;if(W1(u,"delimiter")==="///"&&W1(u,"heregex")){let Y=d(u),Z=Y.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Z){let[,G,Q]=Z;return`/${this.processHeregex(G)}/${Q}`}return Y}let F=W1(u,"quote");if(F){let Y=d(u);if(F==='"""'||F==="'''"){let G=this.extractStringContent(u);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(Y[0]===F)return Y;let Z=Y.slice(1,-1);return`${F}${Z}${F}`}u=d(u)}if(typeof u==="string"){if(u.startsWith('"')||u.startsWith("'")||u.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",u);let F=u.slice(1,-1);if(F.includes(`
1585
+ `))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=F.includes("'")&&!F.includes('"')?'"':"'",Z=F.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${Z}${Y}`}if(this.reactiveVars?.has(u)&&!this.suppressReactiveUnwrap)return`${u}.value`;return u}if(typeof u==="number")return String(u);if(u===null||u===void 0)return"null";if(!Array.isArray(u))this.error(`Invalid s-expression: ${JSON.stringify(u)}`,u);let[_,...W]=u,f=W1(_,"await");_=d(_);let $=Y1.GENERATORS[_];if($)return this[$](_,W,U,u);if(typeof _==="string"&&!_.startsWith('"')&&!_.startsWith("'")){if(Y1.NUMBER_START_RE.test(_))return _;if(_==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(W)})`;let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=f===!0,Z=`${this.emit(_,"value")}(${this._emitArgs(W)})`;return Y?`await ${Z}`:Z}if(Array.isArray(_)&&typeof _[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(_[0]))return`(${u.map((Y)=>this.emit(Y,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||d(_[2])==="new")){let Q=_[1],z=this.emit(Q,"value");return`new ${Array.isArray(Q)?`(${z})`:z}(${this._emitArgs(W)})`}let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=!1,Z;if(_[0]==="."&&W1(_[2],"await")===!0){Y=!0;let[Q,z]=_.slice(1),X=this.emit(Q,"value");Z=`${Y1.NUMBER_LITERAL_RE.test(X)||(this.is(Q,"object")||this.is(Q,"await")||this.is(Q,"yield"))?`(${X})`:X}.${d(z)}`}else Z=this.emit(_,"value");let G=`${Z}(${this._emitArgs(W)})`;return Y?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,u)}emitProgram(u,U,_,W){let f="",$=[],F=[];for(let w of U){if(!Array.isArray(w)){F.push(w);continue}if(w[0]==="import")$.push(w);else F.push(w)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],Z=F.map((w,K)=>{let H=F.length===1&&$.length===0,A=this.is(w,"object"),J=A&&w.length===2&&Array.isArray(w[1])&&Array.isArray(w[1][2])&&w[1][2][0]==="comprehension",R=this.is(w,"comprehension")||this.is(w,"object-comprehension")||this.is(w,"do-iife"),O=this.programVars.size===0,P=H&&A&&O&&!R&&!J,B=K===F.length-1&&R,D;if(P)D=`(${this.emit(w,"value")})`;else if(B)D=this.emit(w,"value");else D=this.emit(w,"statement");if(D&&!D.endsWith(";")){let M=Array.isArray(w)?w[0]:null;if(!Y.includes(M)||!D.endsWith("}"))D+=";"}let I=Array.isArray(w)?w.loc:null;return{code:D,loc:I,sexpr:Array.isArray(w)?w:null}}),G=Z.map((w)=>w.code).join(`
1586
+ `),Q=!1;if($.length>0)f+=$.map((w)=>this.addSemicolon(w,this.emit(w,"statement"))).join(`
1587
+ `),Q=!0;if(this.programVars.size>0){let w=this.programVars.has("_");if(w)this.programVars.delete("_");if(this.programVars.size>0){let K=Array.from(this.programVars).sort().join(", ");if(K){if(Q)f+=`
1567
1588
  `;f+=`let ${K};
1568
- `,Q=!0}}if(X){if(Q)f+=`
1589
+ `,Q=!0}}if(w){if(Q)f+=`
1569
1590
  `;f+=`var _;
1570
- `,Q=!0}}let z=this.options.skipPreamble,J=this.options.skipRuntimes;if(!z){if(Q)f+=`
1571
- `;f+=l1(),Q=!0;let X=J?"var":"const";if(this.helpers.has("slice"))f+=`${X} slice = [].slice;
1572
- `,Q=!0;if(this.helpers.has("modulo"))f+=`${X} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
1573
- `,Q=!0;if(this.helpers.has("toMatchable"))f+=`${X} toMatchable = (v, allowNewlines) => {
1591
+ `,Q=!0}}let z=this.options.skipPreamble,X=this.options.skipRuntimes;if(!z){if(Q)f+=`
1592
+ `;f+=l1(),Q=!0;let w=X?"var":"const";if(this.helpers.has("slice"))f+=`${w} slice = [].slice;
1593
+ `,Q=!0;if(this.helpers.has("modulo"))f+=`${w} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
1594
+ `,Q=!0;if(this.helpers.has("toMatchable"))f+=`${w} toMatchable = (v, allowNewlines) => {
1574
1595
  `,f+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
1575
1596
  `,f+=` if (v == null) return "";
1576
1597
  `,f+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
@@ -1584,11 +1605,11 @@ if (typeof globalThis !== 'undefined') {
1584
1605
  `,f+=` }
1585
1606
  `,f+=` return "";
1586
1607
  `,f+=`};
1587
- `,Q=!0}if(this.usesReactivity&&!z){if(J)f+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
1608
+ `,Q=!0}if(this.usesReactivity&&!z){if(X)f+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
1588
1609
  `;else if(typeof globalThis<"u"&&globalThis.__rip)f+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
1589
- `;else f+=this.getReactiveRuntime();Q=!0}if(this.usesTemplates&&!z){if(J)f+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
1610
+ `;else f+=this.getReactiveRuntime();Q=!0}if(this.usesTemplates&&!z){if(X)f+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
1590
1611
  `;else if(typeof globalThis<"u"&&globalThis.__ripComponent)f+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
1591
- `;else f+=this.getComponentRuntime();Q=!0}if(this.usesSchemas&&!z){if(J)f+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
1612
+ `;else f+=this.getComponentRuntime();Q=!0}if(this.usesSchemas&&!z){if(X)f+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
1592
1613
  `;else if(typeof globalThis<"u"&&globalThis.__ripSchema)f+=`const { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
1593
1614
  `;else f+=this.getSchemaRuntime();Q=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!z)f+=`var DATA;
1594
1615
  _setDataSection();
@@ -1598,27 +1619,27 @@ _setDataSection();
1598
1619
 
1599
1620
  function _setDataSection() {
1600
1621
  DATA = ${JSON.stringify(this.dataSection)};
1601
- }`;return f}emitBinaryOp(u,U,_,W){if((u==="+"||u==="-")&&U.length===1)return`(${u}${this.emit(U[0],"value")})`;let[f,$]=U;if(u==="*"){let Y=f?.valueOf?.()??f;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(f,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(u)&&Array.isArray(f)){let Y=f[0]?.valueOf?.()??f[0];if(F.has(Y)){let Z=this.emit(f[1],"value"),G=this.emit(f[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${u} ${Q}))`}}if(u==="==")u="===";if(u==="!=")u="!==";return`(${this.emit(f,"value")} ${u} ${this.emit($,"value")})`}emitModulo(u,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(u,U){let[_,W]=U;this.helpers.add("modulo");let f=this.emit(_,"value"),$=this.emit(W,"value");return`${f} = modulo(${f}, ${$})`}emitFloorDiv(u,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(u,U){let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");return`${f} = Math.floor(${f} / ${$})`}emitAssignment(u,U,_,W){let[f,$]=U,F=u==="?="?"??=":u,Y=this._findOptionalInTarget(f);if(Y){let O=this.emit(Y.guard,"value"),P=this.emit(Y.rewritten,"value"),q=this.emit($,"value");if(_==="value")return`(${O} != null ? (${P} ${F} ${q}) : undefined)`;return`if (${O} != null) ${P} ${F} ${q}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(f instanceof String&&W1(f,"await")!==void 0&&!Z){let O=W1(f,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${d(f)}'`,W)}if(f instanceof String&&W1(f,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(f,"array",0),Q=this.is(f,"object",0);if(G||Q){let O=this.emit($,"value");return Q&&_==="statement"?`(${O})`:O}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,O,P,q]=$,B=d(O),M=q[0]==="return",I=this.emit(f,"value"),H=this.emit(P,"value"),S=q.length>1?q[1]:null,N=M?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(_==="value"){if(B==="??")return`(() => { const __v = ${H}; if (__v == null) ${N}; return (${I} = __v); })()`;if(B==="||")return`(() => { const __v = ${H}; if (!__v) ${N}; return (${I} = __v); })()`;return`(() => { const __v = ${H}; if (__v) ${N}; return (${I} = __v); })()`}if(B==="??")return`if ((${I} = ${H}) == null) ${N}`;if(B==="||")return`if (!(${I} = ${H})) ${N}`;return`if ((${I} = ${H})) ${N}`}if(this.is(f,"array")){let O=f.slice(1).findIndex((P)=>this.is(P,"...")||P==="...");if(O!==-1&&O<f.length-2){let P=f.slice(1),q=P.slice(O+1),B=q.length;if(B>0){let M=this.emit($,"value"),H=P.slice(0,O).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),S=q.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),P.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 N=P[O],V=this.is(N,"...")?N[1]:null,L=[];if(H)L.push(`[${H}] = ${M}`);if(V)L.push(`[...${V}] = ${M}.slice(${O}, -${B})`);return L.push(`[${S}] = slice.call(${M}, -${B})`),L.join(", ")}}}if(_==="statement"&&u==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[O,P,q]=$;if(this.is(q,"if")&&q.length===3){let[,B,M]=q,I=Array.isArray(M)&&M.length===1?M[0]:M,H=[O,P,I],S=this.emit(f,"value"),N=this.emit(B,"value"),V=this.emit(H,"value");return`if (${N}) ${S} = ${V}`}}if(_==="statement"&&u==="="&&Array.isArray($)&&$.length===3){let[O,P,q]=$,B=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if(O==="if"&&B){let M=Array.isArray(q)&&q.length===1?q[0]:q,I=this.emit(f,"value"),H=this.unwrapLogical(this.emit(P,"value")),S=this.emit(M,"value");return`if (${H}) ${I} = ${S}`}}let z;if(f instanceof String&&W1(f,"await")!==void 0)z=d(f);else if(typeof f==="string"&&this.reactiveVars?.has(f))z=`${f}.value`;else z=this.emit(f,"value");let J=this._componentName,X=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof f==="string"||f instanceof String))this._componentName=d(f),this._componentTypeParams=f.typeParams||"";if(this.is($,"schema")&&(typeof f==="string"||f instanceof String))this._schemaName=d(f);let D=this.emit($,"value");if(this._componentName=J,this._componentTypeParams=X,this._schemaName=K,!this.is($,"object"))D=this.unwrap(D);let A=_==="value",R=_==="statement"&&this.is(f,"object");if(A||R)return`(${z} ${F} ${D})`;return`${z} ${F} ${D}`}emitPropertyAccess(u,U,_,W){let[f,$]=U;if(this._atParamMap&&f==="this"){let G=this._atParamMap.get(d($));if(G)return G}let F=this.emit(f,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(f,"object")||this.is(f,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${d($)}()`;if(W1($,"predicate"))return`(${Z}.${d($)} != null)`;return`${Z}.${d($)}`}emitOptionalProperty(u,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitRegexIndex(u,U){let[_,W,f]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=f!==null?this.emit(f,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(u,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let f=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(J)=>{if(J===null)return null;let X=d(J)??J;if(typeof X==="number")return X;if(typeof X==="string"&&/^\d+$/.test(X))return+X;if(Array.isArray(J)&&J[0]==="-"&&J.length===2){let K=d(J[1])??J[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(J,X,K)=>{let D=Z(K);if(D!==null&&D!==-1)return`${$}.slice(${J}, ${D+1})`;return`${$}.slice(${J}, +${X} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(f&&this.is(Y,"-",1)&&(d(Y[1])??Y[1])==1)return`${$}.slice(0)`;let J=this.emit(Y,"value");return f?G("0",J,Y):`${$}.slice(0, ${J})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(f&&this.is(Y,"-",1)&&(d(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return f?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let f=d(W[1])??W[1];if(typeof f==="number"||typeof f==="string"&&/^\d+$/.test(f))return`${this.emit(_,"value")}.at(-${f})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(u,U){let[_,W]=U;if(this.is(W,"-",1)){let f=d(W[1])??W[1];if(typeof f==="number"||typeof f==="string"&&/^\d+$/.test(f))return`${this.emit(_,"value")}?.at(-${f})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(u,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((f)=>this.emit(f,"value")).join(", ")})`}emitDef(u,U,_,W){let[f,$,F]=U,Y=W1(f,"await")===!0,Z=d(f),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),J=this.containsYield(F);return`${z?"async ":""}function${J?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(u,U,_,W){let[f,$]=U;if((!f||Array.isArray(f)&&f.length===0)&&this.containsIt($))f=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(f),Z=this.emitFunctionBody($,f,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(u,U,_,W){let[f,$]=U;if((!f||Array.isArray(f)&&f.length===0)&&this.containsIt($))f=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(f),G=f.length===1&&typeof f[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,z=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let X=$[1],K=Array.isArray(X)?X[0]:null;if(K!=="return"&&!k5.has(K)){let D=this.emit(X,"value");if(D[0]==="{")D=`(${D})`;return`${z}${G} => ${D}`}}if(!Array.isArray($)||$[0]!=="block"){let X=this.emit($,"value");if(X[0]==="{")X=`(${X})`;return`${z}${G} => ${X}`}}let J=this.emitFunctionBody($,f,F);return`${z}${G} => ${J}`}emitReturn(u,U,_,W){if(U.length===0)return"return";let[f]=U;if(this.sideEffectOnly&&!(this.is(f,"->")||this.is(f,"=>")))this.error("Cannot return a value from a void function (declared with !)",W);if(this.is(f,"if")){let[,$,F,...Y]=f;if(Y.length===0){let Z=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(Z,"value")}`}}if(this.is(f,"new")&&Array.isArray(f[1])&&f[1][0]==="if"){let[,$,F]=f[1],Y=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(["new",Y],"value")}`}return`return ${this.emit(f,"value")}`}emitState(u,U){let[_,W]=U;this.usesReactivity=!0;let f=d(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(f),`const ${f} = __state(${this.emit(W,"value")})`}emitComputed(u,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let f=d(_)??_;if(this.reactiveVars.add(f),this.is(W,"block")&&W.length>2)return`const ${f} = __computed(() => ${this.emitFunctionBody(W)})`;return`const ${f} = __computed(() => ${this.emit(W,"value")})`}emitReadonly(u,U){let[_,W]=U;return`const ${d(_)??_} = ${this.emit(W,"value")}`}emitEffect(u,U){let[_,W]=U;this.usesReactivity=!0;let f;if(this.is(W,"block"))f=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${d(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else f=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${f})`;if(_)return`const ${d(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(u,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(u,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(u,U,_){let[W,f,$]=U;if((f?.[0]?.valueOf?.()??f?.[0])==="="&&Array.isArray(f)){let Y=this.emit(f[1],"value"),Z=this.emit(f[2],"value"),G=this.emit($,"value");return`${Y} = (${this.unwrap(this.emit(W,"value"))} ? ${Z} : ${G})`}return`(${this.unwrap(this.emit(W,"value"))} ? ${this.emit(f,"value")} : ${this.emit($,"value")})`}emitPipe(u,U){let[_,W]=U,f=this.emit(_,"value");if(Array.isArray(W)&&W.length>1){let $=W[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let Y=this.emit($,"value"),Z=W.slice(1).map((G)=>this.emit(G,"value"));return`${Y}(${f}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${f})`}emitLoop(u,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(u,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(u,U){return`await ${this.emit(U[0],"value")}`}emitYield(u,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(u,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(u,U,_,W){let[f,$,...F]=U;return _==="value"?this.emitIfAsExpression(f,$,F):this.emitIfAsStatement(f,$,F)}emitForIn(u,U,_,W){let[f,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let w=["for-in",f,$,F];return this.emit(["comprehension",Z,[w],Y?[Y]:[]],_)}let G=Array.isArray(f)?f:[f],Q=G.length===0,[z,J]=Q?["_i",null]:G,X=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let w=this.emit($,"value"),A=J||"_i",R=this.emit(F,"value"),O=this.is(F,"-",1),P=O&&(F[1]==="1"||F[1]===1||d(F[1])==="1"),q=!O&&(F==="1"||F===1||d(F)==="1"),B;if(P)B=`for (let ${A} = ${w}.length - 1; ${A} >= 0; ${A}--) `;else if(q)B=`for (let ${A} = 0; ${A} < ${w}.length; ${A}++) `;else if(O)B=`for (let ${A} = ${w}.length - 1; ${A} >= 0; ${A} += ${R}) `;else B=`for (let ${A} = 0; ${A} < ${w}.length; ${A} += ${R}) `;if(this.is(Z,"block")){let M=Z.slice(1);this.indentLevel++;let I=[];if(!Q)I.push(`const ${X} = ${w}[${A}];`);if(Y)I.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,I.push(...this.formatStatements(M)),this.indentLevel--,I.push(this.indent()+"}");else I.push(...M.map((H)=>this.addSemicolon(H,this.emit(H,"statement"))));return this.indentLevel--,B+`{
1602
- ${I.map((H)=>this.indent()+H).join(`
1622
+ }`;return f}emitBinaryOp(u,U,_,W){if((u==="+"||u==="-")&&U.length===1)return`(${u}${this.emit(U[0],"value")})`;let[f,$]=U;if(u==="*"){let Y=f?.valueOf?.()??f;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(f,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(u)&&Array.isArray(f)){let Y=f[0]?.valueOf?.()??f[0];if(F.has(Y)){let Z=this.emit(f[1],"value"),G=this.emit(f[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${u} ${Q}))`}}if(u==="==")u="===";if(u==="!=")u="!==";return`(${this.emit(f,"value")} ${u} ${this.emit($,"value")})`}emitModulo(u,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(u,U){let[_,W]=U;this.helpers.add("modulo");let f=this.emit(_,"value"),$=this.emit(W,"value");return`${f} = modulo(${f}, ${$})`}emitFloorDiv(u,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(u,U){let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");return`${f} = Math.floor(${f} / ${$})`}emitAssignment(u,U,_,W){let[f,$]=U,F=u==="?="?"??=":u,Y=this._findOptionalInTarget(f);if(Y){let O=this.emit(Y.guard,"value"),P=this.emit(Y.rewritten,"value"),q=this.emit($,"value");if(_==="value")return`(${O} != null ? (${P} ${F} ${q}) : undefined)`;return`if (${O} != null) ${P} ${F} ${q}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(f instanceof String&&W1(f,"await")!==void 0&&!Z){let O=W1(f,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${d(f)}'`,W)}if(f instanceof String&&W1(f,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(f,"array",0),Q=this.is(f,"object",0);if(G||Q){let O=this.emit($,"value");return Q&&_==="statement"?`(${O})`:O}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,O,P,q]=$,B=d(O),D=q[0]==="return",I=this.emit(f,"value"),M=this.emit(P,"value"),S=q.length>1?q[1]:null,N=D?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(_==="value"){if(B==="??")return`(() => { const __v = ${M}; if (__v == null) ${N}; return (${I} = __v); })()`;if(B==="||")return`(() => { const __v = ${M}; if (!__v) ${N}; return (${I} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${N}; return (${I} = __v); })()`}if(B==="??")return`if ((${I} = ${M}) == null) ${N}`;if(B==="||")return`if (!(${I} = ${M})) ${N}`;return`if ((${I} = ${M})) ${N}`}if(this.is(f,"array")){let O=f.slice(1).findIndex((P)=>this.is(P,"...")||P==="...");if(O!==-1&&O<f.length-2){let P=f.slice(1),q=P.slice(O+1),B=q.length;if(B>0){let D=this.emit($,"value"),M=P.slice(0,O).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),S=q.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),P.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 N=P[O],V=this.is(N,"...")?N[1]:null,L=[];if(M)L.push(`[${M}] = ${D}`);if(V)L.push(`[...${V}] = ${D}.slice(${O}, -${B})`);return L.push(`[${S}] = slice.call(${D}, -${B})`),L.join(", ")}}}if(_==="statement"&&u==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[O,P,q]=$;if(this.is(q,"if")&&q.length===3){let[,B,D]=q,I=Array.isArray(D)&&D.length===1?D[0]:D,M=[O,P,I],S=this.emit(f,"value"),N=this.emit(B,"value"),V=this.emit(M,"value");return`if (${N}) ${S} = ${V}`}}if(_==="statement"&&u==="="&&Array.isArray($)&&$.length===3){let[O,P,q]=$,B=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if(O==="if"&&B){let D=Array.isArray(q)&&q.length===1?q[0]:q,I=this.emit(f,"value"),M=this.unwrapLogical(this.emit(P,"value")),S=this.emit(D,"value");return`if (${M}) ${I} = ${S}`}}let z;if(f instanceof String&&W1(f,"await")!==void 0)z=d(f);else if(typeof f==="string"&&this.reactiveVars?.has(f))z=`${f}.value`;else z=this.emit(f,"value");let X=this._componentName,w=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof f==="string"||f instanceof String))this._componentName=d(f),this._componentTypeParams=f.typeParams||"";if(this.is($,"schema")&&(typeof f==="string"||f instanceof String))this._schemaName=d(f);let H=this.emit($,"value");if(this._componentName=X,this._componentTypeParams=w,this._schemaName=K,!this.is($,"object"))H=this.unwrap(H);let J=_==="value",R=_==="statement"&&this.is(f,"object");if(J||R)return`(${z} ${F} ${H})`;return`${z} ${F} ${H}`}emitPropertyAccess(u,U,_,W){let[f,$]=U;if(this._atParamMap&&f==="this"){let G=this._atParamMap.get(d($));if(G)return G}let F=this.emit(f,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(f,"object")||this.is(f,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${d($)}()`;if(W1($,"predicate"))return`(${Z}.${d($)} != null)`;return`${Z}.${d($)}`}emitOptionalProperty(u,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitRegexIndex(u,U){let[_,W,f]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=f!==null?this.emit(f,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(u,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let f=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(X)=>{if(X===null)return null;let w=d(X)??X;if(typeof w==="number")return w;if(typeof w==="string"&&/^\d+$/.test(w))return+w;if(Array.isArray(X)&&X[0]==="-"&&X.length===2){let K=d(X[1])??X[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(X,w,K)=>{let H=Z(K);if(H!==null&&H!==-1)return`${$}.slice(${X}, ${H+1})`;return`${$}.slice(${X}, +${w} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(f&&this.is(Y,"-",1)&&(d(Y[1])??Y[1])==1)return`${$}.slice(0)`;let X=this.emit(Y,"value");return f?G("0",X,Y):`${$}.slice(0, ${X})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(f&&this.is(Y,"-",1)&&(d(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return f?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let f=d(W[1])??W[1];if(typeof f==="number"||typeof f==="string"&&/^\d+$/.test(f))return`${this.emit(_,"value")}.at(-${f})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(u,U){let[_,W]=U;if(this.is(W,"-",1)){let f=d(W[1])??W[1];if(typeof f==="number"||typeof f==="string"&&/^\d+$/.test(f))return`${this.emit(_,"value")}?.at(-${f})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(u,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((f)=>this.emit(f,"value")).join(", ")})`}emitDef(u,U,_,W){let[f,$,F]=U,Y=W1(f,"await")===!0,Z=d(f),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),X=this.containsYield(F);return`${z?"async ":""}function${X?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(u,U,_,W){let[f,$]=U;if((!f||Array.isArray(f)&&f.length===0)&&this.containsIt($))f=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(f),Z=this.emitFunctionBody($,f,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(u,U,_,W){let[f,$]=U;if((!f||Array.isArray(f)&&f.length===0)&&this.containsIt($))f=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(f),G=f.length===1&&typeof f[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,z=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let w=$[1],K=Array.isArray(w)?w[0]:null;if(K!=="return"&&!i5.has(K)){let H=this.emit(w,"value");if(H[0]==="{")H=`(${H})`;return`${z}${G} => ${H}`}}if(!Array.isArray($)||$[0]!=="block"){let w=this.emit($,"value");if(w[0]==="{")w=`(${w})`;return`${z}${G} => ${w}`}}let X=this.emitFunctionBody($,f,F);return`${z}${G} => ${X}`}emitReturn(u,U,_,W){if(U.length===0)return"return";let[f]=U;if(this.sideEffectOnly&&!(this.is(f,"->")||this.is(f,"=>")))this.error("Cannot return a value from a void function (declared with !)",W);if(this.is(f,"if")){let[,$,F,...Y]=f;if(Y.length===0){let Z=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(Z,"value")}`}}if(this.is(f,"new")&&Array.isArray(f[1])&&f[1][0]==="if"){let[,$,F]=f[1],Y=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(["new",Y],"value")}`}return`return ${this.emit(f,"value")}`}emitState(u,U){let[_,W]=U;this.usesReactivity=!0;let f=d(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(f),`const ${f} = __state(${this.emit(W,"value")})`}emitComputed(u,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let f=d(_)??_;if(this.reactiveVars.add(f),this.is(W,"block")&&W.length>2)return`const ${f} = __computed(() => ${this.emitFunctionBody(W)})`;return`const ${f} = __computed(() => ${this.emit(W,"value")})`}emitReadonly(u,U){let[_,W]=U;return`const ${d(_)??_} = ${this.emit(W,"value")}`}emitEffect(u,U){let[_,W]=U;this.usesReactivity=!0;let f;if(this.is(W,"block"))f=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${d(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else f=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${f})`;if(_)return`const ${d(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(u,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(u,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(u,U,_){let[W,f,$]=U;if((f?.[0]?.valueOf?.()??f?.[0])==="="&&Array.isArray(f)){let Y=this.emit(f[1],"value"),Z=this.emit(f[2],"value"),G=this.emit($,"value");return`${Y} = (${this.unwrap(this.emit(W,"value"))} ? ${Z} : ${G})`}return`(${this.unwrap(this.emit(W,"value"))} ? ${this.emit(f,"value")} : ${this.emit($,"value")})`}emitPipe(u,U){let[_,W]=U,f=this.emit(_,"value");if(Array.isArray(W)&&W.length>1){let $=W[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let Y=this.emit($,"value"),Z=W.slice(1).map((G)=>this.emit(G,"value"));return`${Y}(${f}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${f})`}emitLoop(u,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(u,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(u,U){return`await ${this.emit(U[0],"value")}`}emitYield(u,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(u,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(u,U,_,W){let[f,$,...F]=U;return _==="value"?this.emitIfAsExpression(f,$,F):this.emitIfAsStatement(f,$,F)}emitForIn(u,U,_,W){let[f,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let A=["for-in",f,$,F];return this.emit(["comprehension",Z,[A],Y?[Y]:[]],_)}let G=Array.isArray(f)?f:[f],Q=G.length===0,[z,X]=Q?["_i",null]:G,w=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let A=this.emit($,"value"),J=X||"_i",R=this.emit(F,"value"),O=this.is(F,"-",1),P=O&&(F[1]==="1"||F[1]===1||d(F[1])==="1"),q=!O&&(F==="1"||F===1||d(F)==="1"),B;if(P)B=`for (let ${J} = ${A}.length - 1; ${J} >= 0; ${J}--) `;else if(q)B=`for (let ${J} = 0; ${J} < ${A}.length; ${J}++) `;else if(O)B=`for (let ${J} = ${A}.length - 1; ${J} >= 0; ${J} += ${R}) `;else B=`for (let ${J} = 0; ${J} < ${A}.length; ${J} += ${R}) `;if(this.is(Z,"block")){let D=Z.slice(1);this.indentLevel++;let I=[];if(!Q)I.push(`const ${w} = ${A}[${J}];`);if(Y)I.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,I.push(...this.formatStatements(D)),this.indentLevel--,I.push(this.indent()+"}");else I.push(...D.map((M)=>this.addSemicolon(M,this.emit(M,"statement"))));return this.indentLevel--,B+`{
1623
+ ${I.map((M)=>this.indent()+M).join(`
1603
1624
  `)}
1604
- ${this.indent()}}`}if(Q)return Y?B+`{ if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:B+`{ ${this.emit(Z,"statement")}; }`;return Y?B+`{ const ${X} = ${w}[${A}]; if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:B+`{ const ${X} = ${w}[${A}]; ${this.emit(Z,"statement")}; }`}if(J){let w=this.emit($,"value"),A=`for (let ${J} = 0; ${J} < ${w}.length; ${J}++) `;if(this.is(Z,"block")){if(A+=`{
1605
- `,this.indentLevel++,A+=this.indent()+`const ${X} = ${w}[${J}];
1606
- `,Y)A+=this.indent()+`if (${this.unwrap(this.emit(Y,"value"))}) {
1607
- `,this.indentLevel++,A+=this.formatStatements(Z.slice(1)).join(`
1625
+ ${this.indent()}}`}if(Q)return Y?B+`{ if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:B+`{ ${this.emit(Z,"statement")}; }`;return Y?B+`{ const ${w} = ${A}[${J}]; if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:B+`{ const ${w} = ${A}[${J}]; ${this.emit(Z,"statement")}; }`}if(X){let A=this.emit($,"value"),J=`for (let ${X} = 0; ${X} < ${A}.length; ${X}++) `;if(this.is(Z,"block")){if(J+=`{
1626
+ `,this.indentLevel++,J+=this.indent()+`const ${w} = ${A}[${X}];
1627
+ `,Y)J+=this.indent()+`if (${this.unwrap(this.emit(Y,"value"))}) {
1628
+ `,this.indentLevel++,J+=this.formatStatements(Z.slice(1)).join(`
1608
1629
  `)+`
1609
- `,this.indentLevel--,A+=this.indent()+`}
1610
- `;else A+=this.formatStatements(Z.slice(1)).join(`
1630
+ `,this.indentLevel--,J+=this.indent()+`}
1631
+ `;else J+=this.formatStatements(Z.slice(1)).join(`
1611
1632
  `)+`
1612
- `;this.indentLevel--,A+=this.indent()+"}"}else A+=Y?`{ const ${X} = ${w}[${J}]; if (${this.unwrap(this.emit(Y,"value"))}) ${this.emit(Z,"statement")}; }`:`{ const ${X} = ${w}[${J}]; ${this.emit(Z,"statement")}; }`;return A}let K=Array.isArray($)&&$[0];if(K instanceof String)K=d(K);if(K===".."||K==="..."){let w=K==="...",[A,R]=$.slice(1),O=(P)=>typeof P==="number"||typeof P==="string"&&!P.includes("(")||P instanceof String&&!d(P).includes("(")||this.is(P,".");if(O(A)&&O(R)){let P=this.emit(A,"value"),q=this.emit(R,"value"),B=w?"<":"<=",M=F?`${X} += ${this.emit(F,"value")}`:`${X}++`,I=`for (let ${X} = ${P}; ${X} ${B} ${q}; ${M}) `;return I+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),I}}let D=`for (const ${X} of ${this.emit($,"value")}) `;return D+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),D}emitForOf(u,U,_,W){let[f,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let X=["for-of",f,$,F];return this.emit(["comprehension",Z,[X],Y?[Y]:[]],_)}let[G,Q]=Array.isArray(f)?f:[f],z=this.emit($,"value"),J=`for (const ${G} in ${z}) `;if(F&&!Q&&!Y){if(this.is(Z,"block")){this.indentLevel++;let X=[`if (!Object.hasOwn(${z}, ${G})) continue;`,...Z.slice(1).map((K)=>this.addSemicolon(K,this.emit(K,"statement")))];return this.indentLevel--,J+`{
1613
- ${X.map((K)=>this.indent()+K).join(`
1633
+ `;this.indentLevel--,J+=this.indent()+"}"}else J+=Y?`{ const ${w} = ${A}[${X}]; if (${this.unwrap(this.emit(Y,"value"))}) ${this.emit(Z,"statement")}; }`:`{ const ${w} = ${A}[${X}]; ${this.emit(Z,"statement")}; }`;return J}let K=Array.isArray($)&&$[0];if(K instanceof String)K=d(K);if(K===".."||K==="..."){let A=K==="...",[J,R]=$.slice(1),O=(P)=>typeof P==="number"||typeof P==="string"&&!P.includes("(")||P instanceof String&&!d(P).includes("(")||this.is(P,".");if(O(J)&&O(R)){let P=this.emit(J,"value"),q=this.emit(R,"value"),B=A?"<":"<=",D=F?`${w} += ${this.emit(F,"value")}`:`${w}++`,I=`for (let ${w} = ${P}; ${w} ${B} ${q}; ${D}) `;return I+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),I}}let H=`for (const ${w} of ${this.emit($,"value")}) `;return H+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),H}emitForOf(u,U,_,W){let[f,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let w=["for-of",f,$,F];return this.emit(["comprehension",Z,[w],Y?[Y]:[]],_)}let[G,Q]=Array.isArray(f)?f:[f],z=this.emit($,"value"),X=`for (const ${G} in ${z}) `;if(F&&!Q&&!Y){if(this.is(Z,"block")){this.indentLevel++;let w=[`if (!Object.hasOwn(${z}, ${G})) continue;`,...Z.slice(1).map((K)=>this.addSemicolon(K,this.emit(K,"statement")))];return this.indentLevel--,X+`{
1634
+ ${w.map((K)=>this.indent()+K).join(`
1614
1635
  `)}
1615
- ${this.indent()}}`}return J+`{ if (!Object.hasOwn(${z}, ${G})) continue; ${this.emit(Z,"statement")}; }`}if(Q){if(this.is(Z,"block")){let K=Z.slice(1);this.indentLevel++;let D=[];if(F)D.push(`if (!Object.hasOwn(${z}, ${G})) continue;`);if(D.push(`const ${Q} = ${z}[${G}];`),Y)D.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement")))),this.indentLevel--,D.push(this.indent()+"}");else D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement"))));return this.indentLevel--,J+`{
1616
- ${D.map((w)=>this.indent()+w).join(`
1636
+ ${this.indent()}}`}return X+`{ if (!Object.hasOwn(${z}, ${G})) continue; ${this.emit(Z,"statement")}; }`}if(Q){if(this.is(Z,"block")){let K=Z.slice(1);this.indentLevel++;let H=[];if(F)H.push(`if (!Object.hasOwn(${z}, ${G})) continue;`);if(H.push(`const ${Q} = ${z}[${G}];`),Y)H.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,H.push(...K.map((A)=>this.addSemicolon(A,this.emit(A,"statement")))),this.indentLevel--,H.push(this.indent()+"}");else H.push(...K.map((A)=>this.addSemicolon(A,this.emit(A,"statement"))));return this.indentLevel--,X+`{
1637
+ ${H.map((A)=>this.indent()+A).join(`
1617
1638
  `)}
1618
- ${this.indent()}}`}let X="";if(F)X+=`if (!Object.hasOwn(${z}, ${G})) continue; `;if(X+=`const ${Q} = ${z}[${G}]; `,Y)X+=`if (${this.emit(Y,"value")}) `;return X+=`${this.emit(Z,"statement")};`,J+`{ ${X} }`}return J+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),J}emitForAs(u,U,_,W){let f=Array.isArray(U[0])?U[0]:[U[0]],[$]=f,F=U[1],Y=U[2],Z=U[3],G=U[4],Q=!1,z=[];if(this.is($,"array")){let w=$.slice(1),A=w.findIndex((R)=>this.is(R,"...")||R==="...");if(A!==-1&&A<w.length-1){Q=!0;let R=w.slice(A+1),O=R.length,P=w.slice(0,A),q=w[A],B=this.is(q,"...")?q[1]:"_rest",M=P.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", "),I=M?`${M}, ...${B}`:`...${B}`,H=R.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", ");z.push(`[${I}] = _item`),z.push(`[${H}] = ${B}.splice(-${O})`),this.helpers.add("slice"),w.forEach((S)=>{if(S===","||S==="...")return;if(typeof S==="string")this.programVars.add(S);else if(this.is(S,"...")&&typeof S[1]==="string")this.programVars.add(S[1])})}}let J=this.emit(F,"value"),X=Y?"await ":"",K;if(Q)K="_item";else if(this.is($,"array")||this.is($,"object"))K=this.emitDestructuringPattern($);else K=$;let D=`for ${X}(const ${K} of ${J}) `;if(Q&&z.length>0){let w=this.unwrapBlock(G),A=this.withIndent(()=>[...z.map((R)=>this.indent()+R+";"),...this.formatStatements(w)]);D+=`{
1619
- ${A.join(`
1639
+ ${this.indent()}}`}let w="";if(F)w+=`if (!Object.hasOwn(${z}, ${G})) continue; `;if(w+=`const ${Q} = ${z}[${G}]; `,Y)w+=`if (${this.emit(Y,"value")}) `;return w+=`${this.emit(Z,"statement")};`,X+`{ ${w} }`}return X+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),X}emitForAs(u,U,_,W){let f=Array.isArray(U[0])?U[0]:[U[0]],[$]=f,F=U[1],Y=U[2],Z=U[3],G=U[4],Q=!1,z=[];if(this.is($,"array")){let A=$.slice(1),J=A.findIndex((R)=>this.is(R,"...")||R==="...");if(J!==-1&&J<A.length-1){Q=!0;let R=A.slice(J+1),O=R.length,P=A.slice(0,J),q=A[J],B=this.is(q,"...")?q[1]:"_rest",D=P.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", "),I=D?`${D}, ...${B}`:`...${B}`,M=R.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", ");z.push(`[${I}] = _item`),z.push(`[${M}] = ${B}.splice(-${O})`),this.helpers.add("slice"),A.forEach((S)=>{if(S===","||S==="...")return;if(typeof S==="string")this.programVars.add(S);else if(this.is(S,"...")&&typeof S[1]==="string")this.programVars.add(S[1])})}}let X=this.emit(F,"value"),w=Y?"await ":"",K;if(Q)K="_item";else if(this.is($,"array")||this.is($,"object"))K=this.emitDestructuringPattern($);else K=$;let H=`for ${w}(const ${K} of ${X}) `;if(Q&&z.length>0){let A=this.unwrapBlock(G),J=this.withIndent(()=>[...z.map((R)=>this.indent()+R+";"),...this.formatStatements(A)]);H+=`{
1640
+ ${J.join(`
1620
1641
  `)}
1621
- ${this.indent()}}`}else D+=Z?this.emitLoopBodyWithGuard(G,Z):this.emitLoopBody(G);return D}emitWhile(u,U){let _=U[0],W=U.length===3?U[1]:null,f=U[U.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(W?this.emitLoopBodyWithGuard(f,W):this.emitLoopBody(f))}emitRange(u,U){if(u==="..."){if(U.length===1)return`...${this.emit(U[0],"value")}`;let[F,Y]=U,Z=this.emit(F,"value"),G=this.emit(Y,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${Z}, ${G})`}let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${f}, ${$})`}emitNot(u,U){let[_]=U;if(typeof _==="string"||_ instanceof String)return`!${this.emit(_,"value")}`;if(Array.isArray(_)){if([".","?.","[]","optindex","optcall"].includes(_[0]))return`!${this.emit(_,"value")}`}let W=this.emit(_,"value");return W.startsWith("(")?`!${W}`:`(!${W})`}emitBitwiseNot(u,U){return`(~${this.emit(U[0],"value")})`}emitIncDec(u,U){let[_,W]=U,f=this.emit(_,"value");return W?`(${f}${u})`:`(${u}${f})`}emitTypeof(u,U){return`typeof ${this.emit(U[0],"value")}`}emitDelete(u,U){return`(delete ${this.emit(U[0],"value")})`}emitInstanceof(u,U,_,W){let[f,$]=U,F=W1(W[0],"invert"),Y=`(${this.emit(f,"value")} instanceof ${this.emit($,"value")})`;return F?`(!${Y})`:Y}emitIn(u,U,_,W){let[f,$]=U,F=this.emit(f,"value"),Y=W1(W[0],"invert");if(this.is($,"object")){let Q=`(${F} in ${this.emit($,"value")})`;return Y?`(!${Q})`:Q}let Z=this.emit($,"value"),G=`(Array.isArray(${Z}) || typeof ${Z} === 'string' ? ${Z}.includes(${F}) : (${F} in ${Z}))`;return Y?`(!${G})`:G}emitOf(u,U,_,W){let[f,$]=U,F=this.emit(f,"value"),Y=this.emit($,"value"),Z=W1(W[0],"invert"),G=`(${F} in ${Y})`;return Z?`(!${G})`:G}emitRegexMatch(u,U){let[_,W]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let f=this.emit(W,"value"),$=f.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${f}))`}emitNew(u,U){let[_]=U;if(this.is(_,".")||this.is(_,"?.")){let[W,f,$]=_;if(Array.isArray(f)&&!f[0].startsWith)return`(${this.emit(["new",f],"value")}).${$}`;return`new ${this.emit(f,"value")}.${$}`}if(Array.isArray(_)){let[W,...f]=_;return`new ${this.emit(W,"value")}(${f.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"value")}()`}emitLogicalAnd(u,U,_,W){let f=this.flattenBinaryChain(W).slice(1);if(f.length===0)return"true";if(f.length===1)return this.emit(f[0],"value");return`(${f.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(u,U,_,W){let f=this.flattenBinaryChain(W).slice(1);if(f.length===0)return"true";if(f.length===1)return this.emit(f[0],"value");return`(${f.map(($)=>this.emit($,"value")).join(" || ")})`}emitSymbol(u,U){return`Symbol.for(${JSON.stringify(U[0])})`}emitArray(u,U){let _=U.length>0&&U[U.length-1]===",",W=U.map((f)=>{if(f===",")return"";if(f==="...")return"";if(this.is(f,"..."))return`...${this.emit(f[1],"value")}`;return this.emit(f,"value")}).join(", ");return _?`[${W},]`:`[${W}]`}emitObject(u,U,_){if(U.length===1&&Array.isArray(U[0])&&Array.isArray(U[0][2])&&U[0][2][0]==="comprehension"){let[,f,$]=U[0],[,F,Y,Z]=$;return this.emit(["object-comprehension",f,F,Y,Z],_)}return`{${U.map((f)=>{if(this.is(f,"..."))return`...${this.emit(f[1],"value")}`;let[$,F,Y]=f,Z;if(this.is(F,"dynamicKey"))Z=`[${this.emit(F[1],"value")}]`;else if(this.is(F,"str"))Z=`[${this.emit(F,"value")}]`;else this.suppressReactiveUnwrap=!0,Z=this.emit(F,"value"),this.suppressReactiveUnwrap=!1;let G=this.emit(Y,"value");if($==="=")return`${Z} = ${G}`;if($===":")return`${Z}: ${G}`;if(Z===G&&!Array.isArray(F))return Z;return`${Z}: ${G}`}).join(", ")}}`}emitMap(u,U,_){if(U.length===0)return"new Map()";return`new Map([${U.map((f)=>{if(this.is(f,"..."))return`...${this.emit(f[1],"value")}`;let[,$,F]=f,Y;if(Array.isArray($))Y=this.emit($,"value");else{let G=d($)??$;Y=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!Y1.NUMBER_START_RE.test(G)&&!i5.has(G)?`"${G}"`:this.emit($,"value")}let Z=this.emit(F,"value");return`[${Y}, ${Z}]`}).join(", ")}])`}emitBlock(u,U,_){if(_==="statement")return`{
1642
+ ${this.indent()}}`}else H+=Z?this.emitLoopBodyWithGuard(G,Z):this.emitLoopBody(G);return H}emitWhile(u,U){let _=U[0],W=U.length===3?U[1]:null,f=U[U.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(W?this.emitLoopBodyWithGuard(f,W):this.emitLoopBody(f))}emitRange(u,U){if(u==="..."){if(U.length===1)return`...${this.emit(U[0],"value")}`;let[F,Y]=U,Z=this.emit(F,"value"),G=this.emit(Y,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${Z}, ${G})`}let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${f}, ${$})`}emitNot(u,U){let[_]=U;if(typeof _==="string"||_ instanceof String)return`!${this.emit(_,"value")}`;if(Array.isArray(_)){if([".","?.","[]","optindex","optcall"].includes(_[0]))return`!${this.emit(_,"value")}`}let W=this.emit(_,"value");return W.startsWith("(")?`!${W}`:`(!${W})`}emitBitwiseNot(u,U){return`(~${this.emit(U[0],"value")})`}emitIncDec(u,U){let[_,W]=U,f=this.emit(_,"value");return W?`(${f}${u})`:`(${u}${f})`}emitTypeof(u,U){return`typeof ${this.emit(U[0],"value")}`}emitDelete(u,U){return`(delete ${this.emit(U[0],"value")})`}emitInstanceof(u,U,_,W){let[f,$]=U,F=W1(W[0],"invert"),Y=`(${this.emit(f,"value")} instanceof ${this.emit($,"value")})`;return F?`(!${Y})`:Y}emitIn(u,U,_,W){let[f,$]=U,F=this.emit(f,"value"),Y=W1(W[0],"invert");if(this.is($,"object")){let Q=`(${F} in ${this.emit($,"value")})`;return Y?`(!${Q})`:Q}let Z=this.emit($,"value"),G=`(Array.isArray(${Z}) || typeof ${Z} === 'string' ? ${Z}.includes(${F}) : (${F} in ${Z}))`;return Y?`(!${G})`:G}emitOf(u,U,_,W){let[f,$]=U,F=this.emit(f,"value"),Y=this.emit($,"value"),Z=W1(W[0],"invert"),G=`(${F} in ${Y})`;return Z?`(!${G})`:G}emitRegexMatch(u,U){let[_,W]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let f=this.emit(W,"value"),$=f.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${f}))`}emitNew(u,U){let[_]=U;if(this.is(_,".")||this.is(_,"?.")){let[W,f,$]=_;if(Array.isArray(f)&&!f[0].startsWith)return`(${this.emit(["new",f],"value")}).${$}`;return`new ${this.emit(f,"value")}.${$}`}if(Array.isArray(_)){let[W,...f]=_;return`new ${this.emit(W,"value")}(${f.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"value")}()`}emitLogicalAnd(u,U,_,W){let f=this.flattenBinaryChain(W).slice(1);if(f.length===0)return"true";if(f.length===1)return this.emit(f[0],"value");return`(${f.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(u,U,_,W){let f=this.flattenBinaryChain(W).slice(1);if(f.length===0)return"true";if(f.length===1)return this.emit(f[0],"value");return`(${f.map(($)=>this.emit($,"value")).join(" || ")})`}emitSymbol(u,U){return`Symbol.for(${JSON.stringify(U[0])})`}emitArray(u,U){let _=U.length>0&&U[U.length-1]===",",W=U.map((f)=>{if(f===",")return"";if(f==="...")return"";if(this.is(f,"..."))return`...${this.emit(f[1],"value")}`;return this.emit(f,"value")}).join(", ");return _?`[${W},]`:`[${W}]`}emitObject(u,U,_){if(U.length===1&&Array.isArray(U[0])&&Array.isArray(U[0][2])&&U[0][2][0]==="comprehension"){let[,f,$]=U[0],[,F,Y,Z]=$;return this.emit(["object-comprehension",f,F,Y,Z],_)}return`{${U.map((f)=>{if(this.is(f,"..."))return`...${this.emit(f[1],"value")}`;let[$,F,Y]=f,Z;if(this.is(F,"dynamicKey"))Z=`[${this.emit(F[1],"value")}]`;else if(this.is(F,"str"))Z=`[${this.emit(F,"value")}]`;else this.suppressReactiveUnwrap=!0,Z=this.emit(F,"value"),this.suppressReactiveUnwrap=!1;let G=this.emit(Y,"value");if($==="=")return`${Z} = ${G}`;if($===":")return`${Z}: ${G}`;if(Z===G&&!Array.isArray(F))return Z;return`${Z}: ${G}`}).join(", ")}}`}emitMap(u,U,_){if(U.length===0)return"new Map()";return`new Map([${U.map((f)=>{if(this.is(f,"..."))return`...${this.emit(f[1],"value")}`;let[,$,F]=f,Y;if(Array.isArray($))Y=this.emit($,"value");else{let G=d($)??$;Y=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!Y1.NUMBER_START_RE.test(G)&&!d5.has(G)?`"${G}"`:this.emit($,"value")}let Z=this.emit(F,"value");return`[${Y}, ${Z}]`}).join(", ")}])`}emitBlock(u,U,_){if(_==="statement")return`{
1622
1643
  ${this.withIndent(()=>this.formatStatements(U)).join(`
1623
1644
  `)}
1624
1645
  ${this.indent()}}`;if(U.length===0)return"undefined";if(U.length===1)return this.emit(U[0],_);let W=U[U.length-1];if(Array.isArray(W)&&["break","continue","return","throw"].includes(W[0])){let $=U.map((F)=>this.addSemicolon(F,this.emit(F,"statement")));return`{
@@ -1627,16 +1648,16 @@ ${this.withIndent(()=>$.map((F)=>this.indent()+F).join(`
1627
1648
  ${this.indent()}}`}return`(${U.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(u,U,_){let W=_==="value",f="try ",$=U[0];if(f+=W&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[F,Y]=U[1];if(f+=" catch",F&&(this.is(F,"object")||this.is(F,"array"))){f+=" (error)";let Z=`(${this.emit(F,"value")} = error)`;Y=this.is(Y,"block")?["block",Z,...Y.slice(1)]:["block",Z,Y]}else if(F)f+=` (${F})`;f+=" "+(W&&this.is(Y,"block")?this.emitBlockWithReturns(Y):this.emit(Y,"statement"))}else if(U.length===2)f+=" finally "+this.emit(U[1],"statement");if(U.length===3)f+=" finally "+this.emit(U[2],"statement");if(U.length===1)f+=" catch {}";if(W){let F=this.containsAwait(U[0])||U[1]&&this.containsAwait(U[1])||U[2]&&this.containsAwait(U[2]);return this.asyncIIFE(F,f)}return f}emitThrow(u,U,_){let[W]=U;if(Array.isArray(W)){let $=W,F=null;if(W[0]==="new"&&Array.isArray(W[1])&&W[1][0]==="if")F="new",$=W[1];else if(W[0]==="if")$=W;if($[0]==="if"){let[,Y,Z]=$,G=Array.isArray(Z)&&Z.length===1?Z[0]:Z;W=F==="new"?["new",G]:G;let Q=this.emit(Y,"value"),z=`throw ${this.emit(W,"value")}`;return`if (${Q}) {
1628
1649
  ${this.indent()} ${z};
1629
1650
  ${this.indent()}}`}}let f=`throw ${this.emit(W,"value")}`;return _==="value"?`(() => { ${f}; })()`:f}emitControl(u,U,_){let[W,f,$]=U,F=d(W),Y=$[0]==="return",Z=this.emit(f,"value"),G=$.length>1?$[1]:null,Q=Y?G?`return ${this.emit(G,"value")}`:"return":G?`throw ${this.emit(G,"value")}`:"throw new Error()",z=this.wrapForCondition(Z);if(_==="value"){if(F==="??")return`(() => { const __v = ${Z}; if (__v == null) ${Q}; return __v; })()`;if(F==="||")return`(() => { const __v = ${Z}; if (!__v) ${Q}; return __v; })()`;return`(() => { const __v = ${Z}; if (__v) ${Q}; return __v; })()`}if(F==="??")return`if (${z} == null) ${Q}`;if(F==="||")return`if (!${z}) ${Q}`;return`if (${z}) ${Q}`}emitSwitch(u,U,_){let[W,f,$]=U;if(W===null)return this.emitSwitchAsIfChain(f,$,_);let F=`switch (${this.emit(W,"value")}) {
1630
- `;this.indentLevel++;for(let Y of f){let[,Z,G]=Y;for(let Q of Z){let z=d(Q)??Q,J;if(Array.isArray(z))J=this.emit(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))J=`'${z.slice(1,-1)}'`;else J=this.emit(z,"value");F+=this.indent()+`case ${J}:
1651
+ `;this.indentLevel++;for(let Y of f){let[,Z,G]=Y;for(let Q of Z){let z=d(Q)??Q,X;if(Array.isArray(z))X=this.emit(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))X=`'${z.slice(1,-1)}'`;else X=this.emit(z,"value");F+=this.indent()+`case ${X}:
1631
1652
  `}this.indentLevel++,F+=this.emitSwitchCaseBody(G,_),this.indentLevel--}if($)F+=this.indent()+`default:
1632
- `,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||f.some((Z)=>this.containsAwait(Z[1])||this.containsAwait(Z[2]))||$&&this.containsAwait($);return this.asyncIIFE(Y,F)}return F}emitWhen(u,U,_,W){this.error("when clause should be handled by switch",W)}_forInHeader(u,U,_){let W=Array.isArray(u)?u:[u],f=W.length===0,[$,F]=f?["_i",null]:W,Y=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let Z=Array.isArray(U)&&U[0];if(Z instanceof String)Z=d(Z);if(Z===".."||Z==="..."){let R=Z==="...",[O,P]=U.slice(1),q=this.emit(O,"value"),B=this.emit(P,"value"),M=this.emit(_,"value");return{header:`for (let ${Y} = ${q}; ${Y} ${R?"<":"<="} ${B}; ${Y} += ${M})`,setup:null}}let Q=this.emit(U,"value"),z=F||"_i",J=this.emit(_,"value"),X=this.is(_,"-",1),K=X&&(_[1]==="1"||_[1]===1||d(_[1])==="1"),D=!X&&(_==="1"||_===1||d(_)==="1"),w=K?`${z}--`:D?`${z}++`:`${z} += ${J}`;return{header:X?`for (let ${z} = ${Q}.length - 1; ${z} >= 0; ${w})`:`for (let ${z} = 0; ${z} < ${Q}.length; ${w})`,setup:f?null:`const ${Y} = ${Q}[${z}];`}}if(F){let Z=this.emit(U,"value");return{header:`for (let ${F} = 0; ${F} < ${Z}.length; ${F}++)`,setup:`const ${Y} = ${Z}[${F}];`}}return{header:`for (const ${Y} of ${this.emit(U,"value")})`,setup:null}}_forOfHeader(u,U,_){let W=Array.isArray(u)?u:[u],[f,$]=W,F=this.is(f,"array")||this.is(f,"object")?this.emitDestructuringPattern(f):f,Y=this.emit(U,"value");return{header:`for (const ${F} in ${Y})`,own:_,vv:$,oc:Y,kvp:F}}_forAsHeader(u,U,_){let W=Array.isArray(u)?u:[u],[f]=W,$=this.is(f,"array")||this.is(f,"object")?this.emitDestructuringPattern(f):f;return{header:`for ${_?"await ":""}(const ${$} of ${this.emit(U,"value")})`}}emitComprehension(u,U,_){let[W,f,$]=U;if(_==="statement")return this.emitComprehensionAsLoop(W,f,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(W,f,$,this.comprehensionTarget);let F=this.containsAwait(W)||f.some((Q)=>this.containsAwait(Q))||$.some((Q)=>this.containsAwait(Q)),Y=this.asyncIIFEOpen(F)+`
1653
+ `,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||f.some((Z)=>this.containsAwait(Z[1])||this.containsAwait(Z[2]))||$&&this.containsAwait($);return this.asyncIIFE(Y,F)}return F}emitWhen(u,U,_,W){this.error("when clause should be handled by switch",W)}_forInHeader(u,U,_){let W=Array.isArray(u)?u:[u],f=W.length===0,[$,F]=f?["_i",null]:W,Y=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let Z=Array.isArray(U)&&U[0];if(Z instanceof String)Z=d(Z);if(Z===".."||Z==="..."){let R=Z==="...",[O,P]=U.slice(1),q=this.emit(O,"value"),B=this.emit(P,"value"),D=this.emit(_,"value");return{header:`for (let ${Y} = ${q}; ${Y} ${R?"<":"<="} ${B}; ${Y} += ${D})`,setup:null}}let Q=this.emit(U,"value"),z=F||"_i",X=this.emit(_,"value"),w=this.is(_,"-",1),K=w&&(_[1]==="1"||_[1]===1||d(_[1])==="1"),H=!w&&(_==="1"||_===1||d(_)==="1"),A=K?`${z}--`:H?`${z}++`:`${z} += ${X}`;return{header:w?`for (let ${z} = ${Q}.length - 1; ${z} >= 0; ${A})`:`for (let ${z} = 0; ${z} < ${Q}.length; ${A})`,setup:f?null:`const ${Y} = ${Q}[${z}];`}}if(F){let Z=this.emit(U,"value");return{header:`for (let ${F} = 0; ${F} < ${Z}.length; ${F}++)`,setup:`const ${Y} = ${Z}[${F}];`}}return{header:`for (const ${Y} of ${this.emit(U,"value")})`,setup:null}}_forOfHeader(u,U,_){let W=Array.isArray(u)?u:[u],[f,$]=W,F=this.is(f,"array")||this.is(f,"object")?this.emitDestructuringPattern(f):f,Y=this.emit(U,"value");return{header:`for (const ${F} in ${Y})`,own:_,vv:$,oc:Y,kvp:F}}_forAsHeader(u,U,_){let W=Array.isArray(u)?u:[u],[f]=W,$=this.is(f,"array")||this.is(f,"object")?this.emitDestructuringPattern(f):f;return{header:`for ${_?"await ":""}(const ${$} of ${this.emit(U,"value")})`}}emitComprehension(u,U,_){let[W,f,$]=U;if(_==="statement")return this.emitComprehensionAsLoop(W,f,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(W,f,$,this.comprehensionTarget);let F=this.containsAwait(W)||f.some((Q)=>this.containsAwait(Q))||$.some((Q)=>this.containsAwait(Q)),Y=this.asyncIIFEOpen(F)+`
1633
1654
  `;this.indentLevel++,this.comprehensionDepth++,Y+=this.indent()+`const result = [];
1634
- `;for(let Q of f){let[z,J,X,K]=Q;if(z==="for-in"){let{header:D,setup:w}=this._forInHeader(J,X,K);if(Y+=this.indent()+D+` {
1635
- `,this.indentLevel++,w)Y+=this.indent()+w+`
1636
- `}else if(z==="for-of"){let{header:D,own:w,vv:A,oc:R,kvp:O}=this._forOfHeader(J,X,K);if(Y+=this.indent()+D+` {
1637
- `,this.indentLevel++,w)Y+=this.indent()+`if (!Object.hasOwn(${R}, ${O})) continue;
1638
- `;if(A)Y+=this.indent()+`const ${A} = ${R}[${O}];
1639
- `}else if(z==="for-as"){let{header:D}=this._forAsHeader(J,X,Q[3]);Y+=this.indent()+D+` {
1655
+ `;for(let Q of f){let[z,X,w,K]=Q;if(z==="for-in"){let{header:H,setup:A}=this._forInHeader(X,w,K);if(Y+=this.indent()+H+` {
1656
+ `,this.indentLevel++,A)Y+=this.indent()+A+`
1657
+ `}else if(z==="for-of"){let{header:H,own:A,vv:J,oc:R,kvp:O}=this._forOfHeader(X,w,K);if(Y+=this.indent()+H+` {
1658
+ `,this.indentLevel++,A)Y+=this.indent()+`if (!Object.hasOwn(${R}, ${O})) continue;
1659
+ `;if(J)Y+=this.indent()+`const ${J} = ${R}[${O}];
1660
+ `}else if(z==="for-as"){let{header:H}=this._forAsHeader(X,w,Q[3]);Y+=this.indent()+H+` {
1640
1661
  `,this.indentLevel++}}for(let Q of $)Y+=this.indent()+`if (${this.emit(Q,"value")}) {
1641
1662
  `,this.indentLevel++;let Z=(Q)=>{if(typeof Q==="string"&&(Q==="break"||Q==="continue"))return!0;if(!Array.isArray(Q))return!1;if(["break","continue","return","throw"].includes(Q[0]))return!0;if(Q[0]==="if")return Q.slice(1).some(Z);return Q.some(Z)},G=["for-in","for-of","for-as","while","loop"];if(this.is(W,"block"))for(let Q=0;Q<W.length-1;Q++){let z=W[Q+1];if(Q!==W.length-2||Z(z))Y+=this.indent()+this.emit(z,"statement")+`;
1642
1663
  `;else if(Array.isArray(z)&&G.includes(z[0]))Y+=this.indent()+this.emit(z,"statement")+`;
@@ -1649,37 +1670,37 @@ ${this.indent()}}`}}let f=`throw ${this.emit(W,"value")}`;return _==="value"?`((
1649
1670
  `;return Y+=this.indent()+`return result;
1650
1671
  `,this.indentLevel--,this.comprehensionDepth--,Y+=this.indent()+"})()",Y}emitObjectComprehension(u,U,_){let[W,f,$,F]=U,Y=this.containsAwait(W)||this.containsAwait(f)||$.some((G)=>this.containsAwait(G))||F.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+`
1651
1672
  `;this.indentLevel++,Z+=this.indent()+`const result = {};
1652
- `;for(let G of $){let[Q,z,J,X]=G;if(Q==="for-of"){let[K,D]=z,w=this.emit(J,"value");if(Z+=this.indent()+`for (const ${K} in ${w}) {
1653
- `,this.indentLevel++,X)Z+=this.indent()+`if (!Object.hasOwn(${w}, ${K})) continue;
1654
- `;if(D)Z+=this.indent()+`const ${D} = ${w}[${K}];
1673
+ `;for(let G of $){let[Q,z,X,w]=G;if(Q==="for-of"){let[K,H]=z,A=this.emit(X,"value");if(Z+=this.indent()+`for (const ${K} in ${A}) {
1674
+ `,this.indentLevel++,w)Z+=this.indent()+`if (!Object.hasOwn(${A}, ${K})) continue;
1675
+ `;if(H)Z+=this.indent()+`const ${H} = ${A}[${K}];
1655
1676
  `}}for(let G of F)Z+=this.indent()+`if (${this.emit(G,"value")}) {
1656
1677
  `,this.indentLevel++;Z+=this.indent()+`result[${this.emit(W,"value")}] = ${this.emit(f,"value")};
1657
1678
  `;for(let G=0;G<F.length;G++)this.indentLevel--,Z+=this.indent()+`}
1658
1679
  `;for(let G=0;G<$.length;G++)this.indentLevel--,Z+=this.indent()+`}
1659
1680
  `;return Z+=this.indent()+`return result;
1660
1681
  `,this.indentLevel--,Z+=this.indent()+"})()",Z}emitClass(u,U,_){let[W,f,...$]=U,F=W?`class ${W}`:"class";if(f)F+=` extends ${this.emit(f,"value")}`;if(F+=` {
1661
- `,$.length>0&&Array.isArray($[0])){let Y=$[0];if(Y[0]==="block"){let Z=Y.slice(1);if(Z.length>0&&Array.isArray(Z[0])&&Z[0][0]==="object"){let Q=Z[0].slice(1);this.indentLevel++,F+=this._emitClassMembers(Q,f);for(let z of Z.slice(1))if(this.is(z,"class")){let[,J,X,...K]=z;if(this.is(J,".")&&J[1]==="this")F+=this.indent()+`static ${J[2]} = ${this.emit(["class",null,X,...K],"value")};
1682
+ `,$.length>0&&Array.isArray($[0])){let Y=$[0];if(Y[0]==="block"){let Z=Y.slice(1);if(Z.length>0&&Array.isArray(Z[0])&&Z[0][0]==="object"){let Q=Z[0].slice(1);this.indentLevel++,F+=this._emitClassMembers(Q,f);for(let z of Z.slice(1))if(this.is(z,"class")){let[,X,w,...K]=z;if(this.is(X,".")&&X[1]==="this")F+=this.indent()+`static ${X[2]} = ${this.emit(["class",null,w,...K],"value")};
1662
1683
  `;else F+=this.indent()+this.emit(z,"statement")+`;
1663
1684
  `}else F+=this.indent()+this.emit(z,"statement")+`;
1664
1685
  `;this.indentLevel--}else{this.indentLevel++;for(let Q of Z)if(this.is(Q,"=")&&Array.isArray(Q[1])&&Q[1][0]==="."&&Q[1][1]==="this")F+=this.indent()+`static ${Q[1][2]} = ${this.emit(Q[2],"value")};
1665
1686
  `;else F+=this.indent()+this.emit(Q,"statement")+`;
1666
- `;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(u,U){let _="",W=[];for(let[,f,$]of u){let F=this.is(f,".")&&f[1]==="this",Y=this.is(f,"computed"),Z=this.extractMemberName(f);if(this.is($,"=>")&&!F&&!Y&&Z!=="constructor")W.push(Z)}for(let[,f,$]of u){let F=this.is(f,".")&&f[1]==="this",Y=this.is(f,"computed"),Z=this.extractMemberName(f);if(this.is($,"->")||this.is($,"=>")){let[,G,Q]=$,z=this.containsAwait(Q),J=this.containsYield(Q),X=G,K=[];if(Z==="constructor"){let A=!!U,R=A?new Map:null;X=G.map((O)=>{if(this.is(O,".")&&O[1]==="this"){let P=O[2],q=A?`_${P}`:P;if(K.push(`this.${P} = ${q}`),A)R.set(P,q);return q}if(this.is(O,"default")&&this.is(O[1],".")&&O[1][1]==="this"){let P=O[1][2],q=A?`_${P}`:P;if(K.push(`this.${P} = ${q}`),A)R.set(P,q);return["default",q,O[2]]}return O});for(let O of W)K.unshift(`this.${O} = this.${O}.bind(this)`);if(R?.size>0)this._atParamMap=R}let D=this.emitParamList(X),w=(F?"static ":"")+(z?"async ":"")+(J?"*":"");if(_+=this.indent()+`${w}${Z}(${D}) `,!Y)this.currentMethodName=Z;_+=this.emitMethodBody(Q,K,Z==="constructor",X),this._atParamMap=null,this.currentMethodName=null,_+=`
1687
+ `;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(u,U){let _="",W=[];for(let[,f,$]of u){let F=this.is(f,".")&&f[1]==="this",Y=this.is(f,"computed"),Z=this.extractMemberName(f);if(this.is($,"=>")&&!F&&!Y&&Z!=="constructor")W.push(Z)}for(let[,f,$]of u){let F=this.is(f,".")&&f[1]==="this",Y=this.is(f,"computed"),Z=this.extractMemberName(f);if(this.is($,"->")||this.is($,"=>")){let[,G,Q]=$,z=this.containsAwait(Q),X=this.containsYield(Q),w=G,K=[];if(Z==="constructor"){let J=!!U,R=J?new Map:null;w=G.map((O)=>{if(this.is(O,".")&&O[1]==="this"){let P=O[2],q=J?`_${P}`:P;if(K.push(`this.${P} = ${q}`),J)R.set(P,q);return q}if(this.is(O,"default")&&this.is(O[1],".")&&O[1][1]==="this"){let P=O[1][2],q=J?`_${P}`:P;if(K.push(`this.${P} = ${q}`),J)R.set(P,q);return["default",q,O[2]]}return O});for(let O of W)K.unshift(`this.${O} = this.${O}.bind(this)`);if(R?.size>0)this._atParamMap=R}let H=this.emitParamList(w),A=(F?"static ":"")+(z?"async ":"")+(X?"*":"");if(_+=this.indent()+`${A}${Z}(${H}) `,!Y)this.currentMethodName=Z;_+=this.emitMethodBody(Q,K,Z==="constructor",w),this._atParamMap=null,this.currentMethodName=null,_+=`
1667
1688
  `}else if(F)_+=this.indent()+`static ${Z} = ${this.emit($,"value")};
1668
1689
  `;else _+=this.indent()+`${Z} = ${this.emit($,"value")};
1669
- `}return _}emitSuper(u,U){if(U.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let _=U.map((W)=>this.unwrap(this.emit(W,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${_})`;return`super(${_})`}emitImport(u,U,_,W){if(U.length===1){let Y=`import(${this.emit(U[0],"value")})`;if(W1(W[0],"await")===!0)return`(await ${Y})`;return Y}if(this.options.skipImports)return"";if(U.length===3){let[Y,Z,G]=U,Q=this.addJsExtensionAndAssertions(G);if(Z[0]==="*"&&Z.length===2)return`import ${Y}, * as ${Z[1]} from ${Q}`;let z=Z.map((J)=>Array.isArray(J)&&J.length===2?`${J[0]} as ${J[1]}`:J).join(", ");return`import ${Y}, { ${z} } from ${Q}`}let[f,$]=U,F=this.addJsExtensionAndAssertions($);if(typeof f==="string")return`import ${f} from ${F}`;if(Array.isArray(f)){if(f[0]==="*"&&f.length===2)return`import * as ${f[1]} from ${F}`;return`import { ${f.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ")} } from ${F}`}return`import ${this.emit(f,"value")} from ${F}`}emitExport(u,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"=")){let W=this._componentName,f=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=d(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=d(_[1]);let F=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=f,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let W=this._componentName,f=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=d(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=d(_[1]);let F=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=f,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(u,U){let[_]=U;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")};
1670
- export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(u,U){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(U[0])}`}emitExportFrom(u,U){if(this.options.skipExports)return"";let[_,W]=U,f=this.addJsExtensionAndAssertions(W);if(Array.isArray(_))return`export { ${_.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${f}`;return`export ${_} from ${f}`}emitDoIIFE(u,U){return`(${this.emit(U[0],"statement")})()`}emitRegex(u,U){return U.length===0?u:this.emit(U[0],"value")}emitTaggedTemplate(u,U){let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");if($.startsWith("`"))return`${f}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${f}\`${$.slice(1,-1)}\``;return`${f}\`${$}\``}emitString(u,U){let _="`";for(let W of U)if(W instanceof String)_+=this.extractStringContent(W);else if(typeof W==="string")if(W.startsWith('"')||W.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",W);_+=W.slice(1,-1)}else _+=W;else if(Array.isArray(W))if(W.length===1&&typeof W[0]==="string"&&!Array.isArray(W[0])){let f=W[0];_+=/^[\d"']/.test(f)?"${"+this.emit(f,"value")+"}":"${"+f+"}"}else{let f=W.length===1&&Array.isArray(W[0])?W[0]:W;_+="${"+this.emit(f,"value")+"}"}return _+"`"}findPostfixConditional(u){if(!Array.isArray(u))return null;let U=u[0];if(U==="if"&&u.length===3)return{type:U,condition:u[1],value:u[2]};if(U==="+"||U==="-"||U==="*"||U==="/")for(let _=1;_<u.length;_++){let W=this.findPostfixConditional(u[_]);if(W)return W.parentOp=U,W.operandIndex=_,W.otherOperands=u.slice(1).filter((f,$)=>$!==_-1),W}return null}rebuildWithoutConditional(u){let U=Array.isArray(u.value)&&u.value.length===1?u.value[0]:u.value;if(u.parentOp)return[u.parentOp,...u.otherOperands,U];return U}_tryPostfixCall(u,U,_){if(_!=="statement"||U.length!==1)return null;let W=this.findPostfixConditional(U[0]);if(!W)return null;let f=this.rebuildWithoutConditional(W),$=this.emit(u,"value"),F=this.emit(W.condition,"value"),Y=this.emit(f,"value");return`if (${F}) ${$}(${Y})`}_emitArgs(u){return u.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ")}emitDestructuringPattern(u){return this.formatParam(u)}emitParamList(u){let U=u.findIndex((W)=>this.is(W,"expansion"));if(U!==-1){let W=u.slice(0,U),f=u.slice(U+1),$=W.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=f,$?`${$}, ..._rest`:"..._rest"}let _=u.findIndex((W)=>this.is(W,"rest"));if(_!==-1&&_<u.length-1){let W=u.slice(0,_),f=u[_],$=u.slice(_+1),F=W.map((Y)=>this.formatParam(Y));return this.restMiddleParam={restName:f[1],afterParams:$,beforeCount:W.length},F.length>0?`${F.join(", ")}, ...${f[1]}`:`...${f[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,u.map((W)=>this.formatParam(W)).join(", ")}formatParam(u){if(typeof u==="string")return u;if(u instanceof String)return u.valueOf();if(this.is(u,"rest"))return`...${u[1]}`;if(this.is(u,"default"))return`${u[1]} = ${this.emit(u[2],"value")}`;if(this.is(u,".")&&u[1]==="this")return u[2];if(this.is(u,"array"))return`[${u.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(u,"object"))return`{${u.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[W,f,$]=_;if(W==="=")return`${f} = ${this.emit($,"value")}`;if(f===$)return f;return`${f}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(u)}emitBodyWithReturns(u,U=[],_={}){let{sideEffectOnly:W=!1,autoAssignments:f=[],isConstructor:$=!1,hasExpansionParams:F=!1}=_,Y=this.sideEffectOnly;this.sideEffectOnly=W;let Z=new Set,G=(D)=>{if(typeof D==="string")Z.add(D);else if(Array.isArray(D)){if(D[0]==="rest"||D[0]==="..."){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="default"){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="array"||D[0]==="object")this.collectVarsFromArray(D,Z)}};if(Array.isArray(U))U.forEach(G);let Q=this.collectFunctionVariables(u),z=new Set([...Q].filter((D)=>!this.programVars.has(D)&&!this.reactiveVars?.has(D)&&!Z.has(D)&&!this.scopeStack.some((w)=>w.has(D)))),J=["return","throw","break","continue"],X=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...Z])),this.is(u,"block")){let D=this.unwrapBlock(u);if(F&&this.expansionAfterParams?.length>0)D=[...this.expansionAfterParams.map((P,q)=>{return`const ${typeof P==="string"?P:JSON.stringify(P)} = _rest[_rest.length - ${this.expansionAfterParams.length-q}]`}),...D],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:O,afterParams:P}=this.restMiddleParam,q=P.length,B=[];if(P.forEach((M,I)=>{let H=typeof M==="string"?M:this.is(M,"default")?M[1]:JSON.stringify(M);B.push(`const ${H} = ${O}[${O}.length - ${q-I}]`)}),q>0)B.push(`${O} = ${O}.slice(0, -${q})`);D=[...B,...D],this.restMiddleParam=null}this.indentLevel++;let w=`{
1671
- `;if(z.size>0)w+=this.indent()+`let ${Array.from(z).sort().join(", ")};
1672
- `;let A=f.length>0&&D.length>0&&Array.isArray(D[0])&&D[0][0]==="super",R=(O)=>{O.forEach((P,q)=>{let B=q===O.length-1,M=Array.isArray(P)?P[0]:null;if(!B&&M==="comprehension"){let[,N,V,L]=P;w+=this.indent()+this.emitComprehensionAsLoop(N,V,L)+`
1673
- `;return}if(!$&&!W&&B&&M==="if"){let[N,V,...L]=P.slice(1),C=(n)=>this.is(n,"block")&&n.length>2;if(this.hasStatementInBranch(V)||L.some((n)=>this.hasStatementInBranch(n))||C(V)||L.some(C)){w+=this.emitIfElseWithEarlyReturns(P)+`
1674
- `;return}}if(!$&&!W&&B&&M==="="){let[N,V]=P.slice(1);if(typeof N==="string"&&Array.isArray(V)){let L=V[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=N,w+=this.emit(V,"value"),this.comprehensionTarget=null,w+=this.indent()+`return ${N};
1675
- `;return}}}let I=!$&&!W&&B&&!J.includes(M)&&!X.includes(M)&&!this.hasExplicitControlFlow(P),H=I?"value":"statement",S=this.emit(P,H);if(I)w+=this.indent()+"return "+S+`;
1676
- `;else w+=this.indent()+this.addSemicolon(P,S)+`
1677
- `})};if(A){if(D.length===1&&!$)w+=this.indent()+"return "+this.emit(D[0],"value")+`;
1678
- `;else w+=this.indent()+this.emit(D[0],"statement")+`;
1679
- `;for(let P of f)w+=this.indent()+P+`;
1680
- `;R(D.slice(1))}else{for(let O of f)w+=this.indent()+O+`;
1681
- `;R(D)}if(W&&D.length>0){let O=Array.isArray(D[D.length-1])?D[D.length-1][0]:null;if(!J.includes(O))w+=this.indent()+`return;
1682
- `}return this.indentLevel--,w+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=Y,w}this.sideEffectOnly=Y;let K;if($&&f.length>0){let D=Array.isArray(u)&&u[0]==="super",w=this.emit(u,"statement"),A=f.map((R)=>`${R};`).join(" ");K=D?`{ ${w}; ${A} }`:`{ ${A} ${w}; }`}else if($||this.hasExplicitControlFlow(u))K=`{ ${this.emit(u,"statement")}; }`;else if(Array.isArray(u)&&(J.includes(u[0])||X.includes(u[0])))K=`{ ${this.emit(u,"statement")}; }`;else if(W)K=`{ ${this.emit(u,"statement")}; return; }`;else K=`{ return ${this.emit(u,"value")}; }`;return this.scopeStack.pop(),K}emitFunctionBody(u,U=[],_=!1){return this.emitBodyWithReturns(u,U,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(u,U=[],_=!1,W=[]){return this.emitBodyWithReturns(u,W,{autoAssignments:U,isConstructor:_})}emitBlockWithReturns(u){if(!Array.isArray(u)||u[0]!=="block")return this.emit(u,"statement");let U=this.unwrapBlock(u);return`{
1690
+ `}return _}emitSuper(u,U){if(U.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let _=U.map((W)=>this.unwrap(this.emit(W,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${_})`;return`super(${_})`}emitImport(u,U,_,W){if(U.length===1){let Y=`import(${this.emit(U[0],"value")})`;if(W1(W[0],"await")===!0)return`(await ${Y})`;return Y}if(this.options.skipImports)return"";if(U.length===3){let[Y,Z,G]=U,Q=this.addJsExtensionAndAssertions(G);if(Z[0]==="*"&&Z.length===2)return`import ${Y}, * as ${Z[1]} from ${Q}`;let z=Z.map((X)=>Array.isArray(X)&&X.length===2?`${X[0]} as ${X[1]}`:X).join(", ");return`import ${Y}, { ${z} } from ${Q}`}let[f,$]=U,F=this.addJsExtensionAndAssertions($);if(typeof f==="string")return`import ${f} from ${F}`;if(Array.isArray(f)){if(f[0]==="*"&&f.length===2)return`import * as ${f[1]} from ${F}`;return`import { ${f.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ")} } from ${F}`}return`import ${this.emit(f,"value")} from ${F}`}emitExport(u,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"=")){let W=this._componentName,f=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=d(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=d(_[1]);let F=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=f,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let W=this._componentName,f=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=d(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=d(_[1]);let F=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=f,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(u,U){let[_]=U;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")};
1691
+ export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(u,U){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(U[0])}`}emitExportFrom(u,U){if(this.options.skipExports)return"";let[_,W]=U,f=this.addJsExtensionAndAssertions(W);if(Array.isArray(_))return`export { ${_.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${f}`;return`export ${_} from ${f}`}emitDoIIFE(u,U){return`(${this.emit(U[0],"statement")})()`}emitRegex(u,U){return U.length===0?u:this.emit(U[0],"value")}emitTaggedTemplate(u,U){let[_,W]=U,f=this.emit(_,"value"),$=this.emit(W,"value");if($.startsWith("`"))return`${f}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${f}\`${$.slice(1,-1)}\``;return`${f}\`${$}\``}emitString(u,U){let _="`";for(let W of U)if(W instanceof String)_+=this.extractStringContent(W);else if(typeof W==="string")if(W.startsWith('"')||W.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",W);_+=W.slice(1,-1)}else _+=W;else if(Array.isArray(W))if(W.length===1&&typeof W[0]==="string"&&!Array.isArray(W[0])){let f=W[0];_+=/^[\d"']/.test(f)?"${"+this.emit(f,"value")+"}":"${"+f+"}"}else{let f=W.length===1&&Array.isArray(W[0])?W[0]:W;_+="${"+this.emit(f,"value")+"}"}return _+"`"}findPostfixConditional(u){if(!Array.isArray(u))return null;let U=u[0];if(U==="if"&&u.length===3)return{type:U,condition:u[1],value:u[2]};if(U==="+"||U==="-"||U==="*"||U==="/")for(let _=1;_<u.length;_++){let W=this.findPostfixConditional(u[_]);if(W)return W.parentOp=U,W.operandIndex=_,W.otherOperands=u.slice(1).filter((f,$)=>$!==_-1),W}return null}rebuildWithoutConditional(u){let U=Array.isArray(u.value)&&u.value.length===1?u.value[0]:u.value;if(u.parentOp)return[u.parentOp,...u.otherOperands,U];return U}_tryPostfixCall(u,U,_){if(_!=="statement"||U.length!==1)return null;let W=this.findPostfixConditional(U[0]);if(!W)return null;let f=this.rebuildWithoutConditional(W),$=this.emit(u,"value"),F=this.emit(W.condition,"value"),Y=this.emit(f,"value");return`if (${F}) ${$}(${Y})`}_emitArgs(u){return u.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ")}emitDestructuringPattern(u){return this.formatParam(u)}emitParamList(u){let U=u.findIndex((W)=>this.is(W,"expansion"));if(U!==-1){let W=u.slice(0,U),f=u.slice(U+1),$=W.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=f,$?`${$}, ..._rest`:"..._rest"}let _=u.findIndex((W)=>this.is(W,"rest"));if(_!==-1&&_<u.length-1){let W=u.slice(0,_),f=u[_],$=u.slice(_+1),F=W.map((Y)=>this.formatParam(Y));return this.restMiddleParam={restName:f[1],afterParams:$,beforeCount:W.length},F.length>0?`${F.join(", ")}, ...${f[1]}`:`...${f[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,u.map((W)=>this.formatParam(W)).join(", ")}formatParam(u){if(typeof u==="string")return u;if(u instanceof String)return u.valueOf();if(this.is(u,"rest"))return`...${u[1]}`;if(this.is(u,"default"))return`${u[1]} = ${this.emit(u[2],"value")}`;if(this.is(u,".")&&u[1]==="this")return u[2];if(this.is(u,"array"))return`[${u.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(u,"object"))return`{${u.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[W,f,$]=_;if(W==="=")return`${f} = ${this.emit($,"value")}`;if(f===$)return f;return`${f}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(u)}emitBodyWithReturns(u,U=[],_={}){let{sideEffectOnly:W=!1,autoAssignments:f=[],isConstructor:$=!1,hasExpansionParams:F=!1}=_,Y=this.sideEffectOnly;this.sideEffectOnly=W;let Z=new Set,G=(H)=>{if(typeof H==="string")Z.add(H);else if(Array.isArray(H)){if(H[0]==="rest"||H[0]==="..."){if(typeof H[1]==="string")Z.add(H[1])}else if(H[0]==="default"){if(typeof H[1]==="string")Z.add(H[1])}else if(H[0]==="array"||H[0]==="object")this.collectVarsFromArray(H,Z)}};if(Array.isArray(U))U.forEach(G);let Q=this.collectFunctionVariables(u),z=new Set([...Q].filter((H)=>!this.programVars.has(H)&&!this.reactiveVars?.has(H)&&!Z.has(H)&&!this.scopeStack.some((A)=>A.has(H)))),X=["return","throw","break","continue"],w=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...Z])),this.is(u,"block")){let H=this.unwrapBlock(u);if(F&&this.expansionAfterParams?.length>0)H=[...this.expansionAfterParams.map((P,q)=>{return`const ${typeof P==="string"?P:JSON.stringify(P)} = _rest[_rest.length - ${this.expansionAfterParams.length-q}]`}),...H],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:O,afterParams:P}=this.restMiddleParam,q=P.length,B=[];if(P.forEach((D,I)=>{let M=typeof D==="string"?D:this.is(D,"default")?D[1]:JSON.stringify(D);B.push(`const ${M} = ${O}[${O}.length - ${q-I}]`)}),q>0)B.push(`${O} = ${O}.slice(0, -${q})`);H=[...B,...H],this.restMiddleParam=null}this.indentLevel++;let A=`{
1692
+ `;if(z.size>0)A+=this.indent()+`let ${Array.from(z).sort().join(", ")};
1693
+ `;let J=f.length>0&&H.length>0&&Array.isArray(H[0])&&H[0][0]==="super",R=(O)=>{O.forEach((P,q)=>{let B=q===O.length-1,D=Array.isArray(P)?P[0]:null;if(!B&&D==="comprehension"){let[,N,V,L]=P;A+=this.indent()+this.emitComprehensionAsLoop(N,V,L)+`
1694
+ `;return}if(!$&&!W&&B&&D==="if"){let[N,V,...L]=P.slice(1),C=(n)=>this.is(n,"block")&&n.length>2;if(this.hasStatementInBranch(V)||L.some((n)=>this.hasStatementInBranch(n))||C(V)||L.some(C)){A+=this.emitIfElseWithEarlyReturns(P)+`
1695
+ `;return}}if(!$&&!W&&B&&D==="="){let[N,V]=P.slice(1);if(typeof N==="string"&&Array.isArray(V)){let L=V[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=N,A+=this.emit(V,"value"),this.comprehensionTarget=null,A+=this.indent()+`return ${N};
1696
+ `;return}}}let I=!$&&!W&&B&&!X.includes(D)&&!w.includes(D)&&!this.hasExplicitControlFlow(P),M=I?"value":"statement",S=this.emit(P,M);if(I)A+=this.indent()+"return "+S+`;
1697
+ `;else A+=this.indent()+this.addSemicolon(P,S)+`
1698
+ `})};if(J){if(H.length===1&&!$)A+=this.indent()+"return "+this.emit(H[0],"value")+`;
1699
+ `;else A+=this.indent()+this.emit(H[0],"statement")+`;
1700
+ `;for(let P of f)A+=this.indent()+P+`;
1701
+ `;R(H.slice(1))}else{for(let O of f)A+=this.indent()+O+`;
1702
+ `;R(H)}if(W&&H.length>0){let O=Array.isArray(H[H.length-1])?H[H.length-1][0]:null;if(!X.includes(O))A+=this.indent()+`return;
1703
+ `}return this.indentLevel--,A+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=Y,A}this.sideEffectOnly=Y;let K;if($&&f.length>0){let H=Array.isArray(u)&&u[0]==="super",A=this.emit(u,"statement"),J=f.map((R)=>`${R};`).join(" ");K=H?`{ ${A}; ${J} }`:`{ ${J} ${A}; }`}else if($||this.hasExplicitControlFlow(u))K=`{ ${this.emit(u,"statement")}; }`;else if(Array.isArray(u)&&(X.includes(u[0])||w.includes(u[0])))K=`{ ${this.emit(u,"statement")}; }`;else if(W)K=`{ ${this.emit(u,"statement")}; return; }`;else K=`{ return ${this.emit(u,"value")}; }`;return this.scopeStack.pop(),K}emitFunctionBody(u,U=[],_=!1){return this.emitBodyWithReturns(u,U,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(u,U=[],_=!1,W=[]){return this.emitBodyWithReturns(u,W,{autoAssignments:U,isConstructor:_})}emitBlockWithReturns(u){if(!Array.isArray(u)||u[0]!=="block")return this.emit(u,"statement");let U=this.unwrapBlock(u);return`{
1683
1704
  ${this.withIndent(()=>U.map((W,f)=>{let $=f===U.length-1,F=Array.isArray(W)?W[0]:null,Y=$&&!["return","throw","break","continue"].includes(F),Z=this.emit(W,Y?"value":"statement");return Y?this.indent()+"return "+Z+";":this.indent()+Z+";"})).join(`
1684
1705
  `)}
1685
1706
  ${this.indent()}}`}emitLoopBody(u){if(!Array.isArray(u))return`{ ${this.emit(u,"statement")}; }`;if(u[0]==="block"||Array.isArray(u[0])){let U=u[0]==="block"?u.slice(1):u;return`{
@@ -1693,7 +1714,7 @@ ${Y}
1693
1714
  ${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(u,"statement")}; }`}emitComprehensionWithTarget(u,U,_,W){let f="";f+=this.indent()+`${W} = [];
1694
1715
  `;let $=this.is(u,"block")&&u.length===2?u[1]:u;if(U.length===1){let[F,Y,Z,G]=U[0];if(F==="for-in"){let{header:Q,setup:z}=this._forInHeader(Y,Z,G);if(f+=this.indent()+Q+` {
1695
1716
  `,this.indentLevel++,z)f+=this.indent()+z+`
1696
- `;if(_&&_.length>0)f+=this.indent()+`if (${_.map((J)=>this.emit(J,"value")).join(" && ")}) {
1717
+ `;if(_&&_.length>0)f+=this.indent()+`if (${_.map((X)=>this.emit(X,"value")).join(" && ")}) {
1697
1718
  `,this.indentLevel++;if(f+=this.indent()+`${W}.push(${this.unwrap(this.emit($,"value"))});
1698
1719
  `,_&&_.length>0)this.indentLevel--,f+=this.indent()+`}
1699
1720
  `;return this.indentLevel--,f+=this.indent()+`}
@@ -1705,16 +1726,16 @@ ${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(u,"statemen
1705
1726
  `};if(U.length===1){let[F,Y,Z,G]=U[0];if(F==="for-in"){let{header:Q,setup:z}=this._forInHeader(Y,Z,G);if(W+=Q+` {
1706
1727
  `,this.indentLevel++,z)W+=this.indent()+z+`
1707
1728
  `;return $(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-as"){let{header:Q}=this._forAsHeader(Y,Z,G);return W+=Q+` {
1708
- `,this.indentLevel++,$(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-of"){let{header:Q,own:z,vv:J,oc:X,kvp:K}=this._forOfHeader(Y,Z,G);if(W+=Q+` {
1709
- `,this.indentLevel++,z)W+=this.indent()+`if (!Object.hasOwn(${X}, ${K})) continue;
1710
- `;if(J)W+=this.indent()+`const ${J} = ${X}[${K}];
1729
+ `,this.indentLevel++,$(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-of"){let{header:Q,own:z,vv:X,oc:w,kvp:K}=this._forOfHeader(Y,Z,G);if(W+=Q+` {
1730
+ `,this.indentLevel++,z)W+=this.indent()+`if (!Object.hasOwn(${w}, ${K})) continue;
1731
+ `;if(X)W+=this.indent()+`const ${X} = ${w}[${K}];
1711
1732
  `;return $(),this.indentLevel--,W+=this.indent()+"}",W}}return this.emit(["comprehension",u,U,_],"value")}emitIfElseWithEarlyReturns(u){let[U,_,W,...f]=u,$="",F=this.emit(_,"value");$+=this.indent()+`if (${F}) {
1712
1733
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(W)),$+=this.indent()+"}";for(let Y of f)if($+=" else ",this.is(Y,"if")){let[,Z,G,...Q]=Y;$+=`if (${this.emit(Z,"value")}) {
1713
1734
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(G)),$+=this.indent()+"}";for(let z of Q)$+=` else {
1714
1735
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(z)),$+=this.indent()+"}"}else $+=`{
1715
1736
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";return $}emitBranchWithReturn(u){u=this.unwrapIfBranch(u);let U=this.unwrapBlock(u),_="";for(let W=0;W<U.length;W++){let f=W===U.length-1,$=U[W],F=Array.isArray($)?$[0]:null;if(f&&!(F==="return"||F==="throw"||F==="break"||F==="continue"))_+=this.indent()+`return ${this.emit($,"value")};
1716
1737
  `;else _+=this.indent()+this.emit($,"statement")+`;
1717
- `}return _}emitIfAsExpression(u,U,_){if(this.is(U,"block")&&U.length>2||this.hasStatementInBranch(U)||_.some((Y)=>this.is(Y,"block")&&Y.length>2||this.hasStatementInBranch(Y)||this.hasNestedMultiStatement(Y))){let Y=this.containsAwait(u)||this.containsAwait(U)||_.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+" ";Z+=`if (${this.emit(u,"value")}) `,Z+=this.emitBlockWithReturns(U);for(let G of _)if(Z+=" else ",this.is(G,"if")){let[Q,z,J,...X]=G;Z+=`if (${this.emit(z,"value")}) `,Z+=this.emitBlockWithReturns(J);for(let K of X)if(Z+=" else ",this.is(K,"if")){let[D,w,A,...R]=K;Z+=`if (${this.emit(w,"value")}) `,Z+=this.emitBlockWithReturns(A),_.push(...R)}else Z+=this.emitBlockWithReturns(K)}else Z+=this.emitBlockWithReturns(G);return Z+" })()"}let f=this.extractExpression(this.unwrapIfBranch(U)),$=this.buildTernaryChain(_),F=this.emit(u,"value");if(this.is(u,"yield")||this.is(u,"await"))F=`(${F})`;return`(${F} ? ${f} : ${$})`}emitIfAsStatement(u,U,_){let W=`if (${this.unwrap(this.emit(u,"value"))}) `;W+=this.emit(this.unwrapIfBranch(U),"statement");for(let f of _)W+=" else "+this.emit(this.unwrapIfBranch(f),"statement");return W}emitSwitchCaseBody(u,U){let _="",W=this.hasExplicitControlFlow(u),f=this.unwrapBlock(u);if(W)for(let $ of f)_+=this.indent()+this.emit($,"statement")+`;
1738
+ `}return _}emitIfAsExpression(u,U,_){if(this.is(U,"block")&&U.length>2||this.hasStatementInBranch(U)||_.some((Y)=>this.is(Y,"block")&&Y.length>2||this.hasStatementInBranch(Y)||this.hasNestedMultiStatement(Y))){let Y=this.containsAwait(u)||this.containsAwait(U)||_.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+" ";Z+=`if (${this.emit(u,"value")}) `,Z+=this.emitBlockWithReturns(U);for(let G of _)if(Z+=" else ",this.is(G,"if")){let[Q,z,X,...w]=G;Z+=`if (${this.emit(z,"value")}) `,Z+=this.emitBlockWithReturns(X);for(let K of w)if(Z+=" else ",this.is(K,"if")){let[H,A,J,...R]=K;Z+=`if (${this.emit(A,"value")}) `,Z+=this.emitBlockWithReturns(J),_.push(...R)}else Z+=this.emitBlockWithReturns(K)}else Z+=this.emitBlockWithReturns(G);return Z+" })()"}let f=this.extractExpression(this.unwrapIfBranch(U)),$=this.buildTernaryChain(_),F=this.emit(u,"value");if(this.is(u,"yield")||this.is(u,"await"))F=`(${F})`;return`(${F} ? ${f} : ${$})`}emitIfAsStatement(u,U,_){let W=`if (${this.unwrap(this.emit(u,"value"))}) `;W+=this.emit(this.unwrapIfBranch(U),"statement");for(let f of _)W+=" else "+this.emit(this.unwrapIfBranch(f),"statement");return W}emitSwitchCaseBody(u,U){let _="",W=this.hasExplicitControlFlow(u),f=this.unwrapBlock(u);if(W)for(let $ of f)_+=this.indent()+this.emit($,"statement")+`;
1718
1739
  `;else if(U==="value")if(this.is(u,"block")&&u.length>2)for(let $=0;$<f.length;$++)if($===f.length-1)_+=this.indent()+`return ${this.emit(f[$],"value")};
1719
1740
  `;else _+=this.indent()+this.emit(f[$],"statement")+`;
1720
1741
  `;else _+=this.indent()+`return ${this.extractExpression(u)};
@@ -1962,12 +1983,12 @@ if (typeof globalThis !== 'undefined') {
1962
1983
 
1963
1984
  // === End Reactive Runtime ===
1964
1985
  `}}class x1{constructor(u={}){this.options={showTokens:!1,showSExpr:!1,...u}}compile(u,U){if(U)this.options={...this.options,...U};let _=null,W=u.split(`
1965
- `),f=W.findIndex((w)=>w==="__DATA__");if(f!==-1){let w=W.slice(f+1);_=w.length>0?w.join(`
1986
+ `),f=W.findIndex((A)=>A==="__DATA__");if(f!==-1){let A=W.slice(f+1);_=A.length>0?A.join(`
1966
1987
  `)+`
1967
1988
  `:"",u=W.slice(0,f).join(`
1968
- `)}let $=new K1,F;try{F=$.tokenize(u)}catch(w){throw C1(w,u,this.options.filename)}if(this.options.showTokens)F.forEach((w)=>console.log(`${w[0].padEnd(12)} ${JSON.stringify(w[1])}`)),console.log();let Y=null,Z=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)Z=[...F];if(F=F.filter((w)=>w[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let w=$.typeRefNames,A=new Set,R=!1;for(let O of F){if(O[0]==="IMPORT"){R=!0;continue}if(R&&O[0]==="TERMINATOR"){R=!1;continue}if(R)continue;if(O[0]==="IDENTIFIER")A.add(O[1])}for(let O=F.length-1;O>=0;O--){if(F[O][0]!=="IMPORT")continue;let P=O+1;if(P>=F.length)continue;if(F[P][0]==="CALL_START"||F[P][0]==="(")continue;if(F[P][0]==="STRING")continue;let q=[];while(P<F.length&&F[P][0]!=="FROM"&&F[P][0]!=="TERMINATOR"){if(F[P][0]==="IDENTIFIER")q.push(F[P][1]);P++}if(q.length===0)continue;if(q.some((M)=>A.has(M)))continue;if(!q.some((M)=>w.has(M)))continue;let B=P;while(B<F.length&&F[B][0]!=="TERMINATOR")B++;if(B<F.length)B++;F.splice(O,B-O)}}while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((w)=>w[0]==="TERMINATOR")){if(Z)Y=Q2(Z,["program"],u);return{tokens:F,sexpr:["program"],code:"",dts:Y,data:_,reactiveVars:{}}}let G=null;z1.lexer={tokens:F,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let w=this.tokens[this.pos++],A=w[1];if(w.data)A=new String(A),Object.assign(A,w.data);return this.text=A,this.loc=w.loc,this.line=w.loc?.r,G=w.loc,w[0]}};let Q;try{Q=z1.parse(u)}catch(w){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(u)||/\?\s+\w+\s+\?\s+/.test(u))throw new Z1("Nested ternary operators are not supported",{code:"E_PARSE",source:u,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let A=C1(w,u,this.options.filename);if(A.phase==="parser"&&G)A.line=G.r??A.line,A.column=G.c??A.column,A.length=G.n||1;throw A}if(this.options.showSExpr)console.log(X1(Q,0,!0)),console.log();let z=null;if(this.options.sourceMap){let w=(this.options.filename||"output")+".js",A=this.options.filename||"input.rip";z=new H2(w,A,u)}let J=new Y1({dataSection:_,source:u,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}),X=J.compile(Q),K=z?z.toJSON():null,D=z?z.toReverseMap():null;if(K&&this.options.sourceMap==="inline"){let w=typeof Buffer<"u"?Buffer.from(K).toString("base64"):btoa(K);X+=`
1969
- //# sourceMappingURL=data:application/json;base64,${w}`}else if(K&&this.options.filename)X+=`
1970
- //# sourceMappingURL=${this.options.filename}.js.map`;if(Z)Y=Q2(Z,Q,u);return{tokens:F,sexpr:Q,code:X,dts:Y,map:K,reverseMap:D,data:_,reactiveVars:J.reactiveVars}}compileToJS(u){return this.compile(u).code}compileToSExpr(u){return this.compile(u).sexpr}}Y3(Y1,K1);Y1.prototype.emitEnum=i2;n1(null,Y1);function t1(u,U={}){return new x1(U).compile(u)}function M1(u,U={}){return new x1(U).compileToJS(u)}function l1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
1989
+ `)}let $=new K1,F;try{F=$.tokenize(u)}catch(A){throw C1(A,u,this.options.filename)}if(this.options.showTokens)F.forEach((A)=>console.log(`${A[0].padEnd(12)} ${JSON.stringify(A[1])}`)),console.log();let Y=null,Z=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)Z=[...F];if(F=F.filter((A)=>A[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let A=$.typeRefNames,J=new Set,R=!1;for(let O of F){if(O[0]==="IMPORT"){R=!0;continue}if(R&&O[0]==="TERMINATOR"){R=!1;continue}if(R)continue;if(O[0]==="IDENTIFIER")J.add(O[1])}for(let O=F.length-1;O>=0;O--){if(F[O][0]!=="IMPORT")continue;let P=O+1;if(P>=F.length)continue;if(F[P][0]==="CALL_START"||F[P][0]==="(")continue;if(F[P][0]==="STRING")continue;let q=[];while(P<F.length&&F[P][0]!=="FROM"&&F[P][0]!=="TERMINATOR"){if(F[P][0]==="IDENTIFIER")q.push(F[P][1]);P++}if(q.length===0)continue;if(q.some((D)=>J.has(D)))continue;if(!q.some((D)=>A.has(D)))continue;let B=P;while(B<F.length&&F[B][0]!=="TERMINATOR")B++;if(B<F.length)B++;F.splice(O,B-O)}}while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((A)=>A[0]==="TERMINATOR")){if(Z)Y=z2(Z,["program"],u);return{tokens:F,sexpr:["program"],code:"",dts:Y,data:_,reactiveVars:{}}}let G=null;z1.lexer={tokens:F,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let A=this.tokens[this.pos++],J=A[1];if(A.data)J=new String(J),Object.assign(J,A.data);return this.text=J,this.loc=A.loc,this.line=A.loc?.r,G=A.loc,A[0]}};let Q;try{Q=z1.parse(u)}catch(A){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(u)||/\?\s+\w+\s+\?\s+/.test(u))throw new Z1("Nested ternary operators are not supported",{code:"E_PARSE",source:u,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let J=C1(A,u,this.options.filename);if(J.phase==="parser"&&G)J.line=G.r??J.line,J.column=G.c??J.column,J.length=G.n||1;throw J}if(this.options.showSExpr)console.log(w1(Q,0,!0)),console.log();let z=null;if(this.options.sourceMap){let A=(this.options.filename||"output")+".js",J=this.options.filename||"input.rip";z=new H2(A,J,u)}let X=new Y1({dataSection:_,source:u,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}),w=X.compile(Q),K=z?z.toJSON():null,H=z?z.toReverseMap():null;if(K&&this.options.sourceMap==="inline"){let A=typeof Buffer<"u"?Buffer.from(K).toString("base64"):btoa(K);w+=`
1990
+ //# sourceMappingURL=data:application/json;base64,${A}`}else if(K&&this.options.filename)w+=`
1991
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(Z)Y=z2(Z,Q,u);return{tokens:F,sexpr:Q,code:w,dts:Y,map:K,reverseMap:H,data:_,reactiveVars:X.reactiveVars}}compileToJS(u){return this.compile(u).code}compileToSExpr(u){return this.compile(u).sexpr}}F3(Y1,K1);Y1.prototype.emitEnum=d2;n1(null,Y1);function t1(u,U={}){return new x1(U).compile(u)}function D1(u,U={}){return new x1(U).compileToJS(u)}function l1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
1971
1992
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
1972
1993
  globalThis.exit ??= (code) => process.exit(code || 0);
1973
1994
  globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
@@ -1980,17 +2001,17 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
1980
2001
  globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
1981
2002
  globalThis.warn ??= console.warn;
1982
2003
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
1983
- `}function m1(){return new Y1({}).getReactiveRuntime()}function k1(){return new Y1({}).getComponentRuntime()}var F3="3.14.0",Z3="2026-04-20@09:13:03GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(m1())();if(!globalThis.__ripComponent)Function(k1())()}var d5=(u)=>{let U=u.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(U||[]).map((W)=>W.length));return u.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function G3(){let u=[],U=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),_=U?.getAttribute("data-src");if(_){for(let W of _.trim().split(/\s+/))if(W)u.push({url:W})}for(let W of document.querySelectorAll('script[type="text/rip"]'))if(W.src)u.push({url:W.src});else{let f=d5(W.textContent);if(f)u.push({code:f})}if(u.length>0){let W=await Promise.allSettled(u.map(async(Z)=>{if(!Z.url)return;let G=await fetch(Z.url);if(!G.ok)throw Error(`${Z.url} (${G.status})`);if(Z.url.endsWith(".rip"))Z.code=await G.text();else{let Q=await G.json();Z.bundle=Q}}));for(let Z of W)if(Z.status==="rejected")console.warn("Rip: fetch failed:",Z.reason.message);let f=[],$=[];for(let Z of u)if(Z.bundle)f.push(Z.bundle);else if(Z.code)$.push(Z);let F=U?.getAttribute("data-router");if(F!=null&&f.length>0){let Z={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Q="";for(let z of $)try{Q+=M1(z.code,Z)+`
1984
- `}catch(J){console.error(B1(J,{source:z.code,file:z.url||"inline",color:!1}))}if(Q)try{await(0,eval)(`(async()=>{
2004
+ `}function m1(){return new Y1({}).getReactiveRuntime()}function k1(){return new Y1({}).getComponentRuntime()}var Z3="3.14.1",G3="2026-04-20@10:25:54GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(m1())();if(!globalThis.__ripComponent)Function(k1())()}var p5=(u)=>{let U=u.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(U||[]).map((W)=>W.length));return u.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function Q3(){let u=[],U=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),_=U?.getAttribute("data-src");if(_){for(let W of _.trim().split(/\s+/))if(W)u.push({url:W})}for(let W of document.querySelectorAll('script[type="text/rip"]'))if(W.src)u.push({url:W.src});else{let f=p5(W.textContent);if(f)u.push({code:f})}if(u.length>0){let W=await Promise.allSettled(u.map(async(Z)=>{if(!Z.url)return;let G=await fetch(Z.url);if(!G.ok)throw Error(`${Z.url} (${G.status})`);if(Z.url.endsWith(".rip"))Z.code=await G.text();else{let Q=await G.json();Z.bundle=Q}}));for(let Z of W)if(Z.status==="rejected")console.warn("Rip: fetch failed:",Z.reason.message);let f=[],$=[];for(let Z of u)if(Z.bundle)f.push(Z.bundle);else if(Z.code)$.push(Z);let F=U?.getAttribute("data-router");if(F!=null&&f.length>0){let Z={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Q="";for(let z of $)try{Q+=D1(z.code,Z)+`
2005
+ `}catch(X){console.error(B1(X,{source:z.code,file:z.url||"inline",color:!1}))}if(Q)try{await(0,eval)(`(async()=>{
1985
2006
  ${Q}
1986
- })()`)}catch(z){console.error("Rip runtime error:",z)}}let G=I1.modules?.["ui.rip"];if(G?.launch){let Q=f[f.length-1],z=U.getAttribute("data-persist"),J={bundle:Q,hash:F==="hash"};if(z!=null)J.persist=z==="local"?"local":!0;await G.launch("",J)}}else{let Z=[];for(let z of f){for(let[J,X]of Object.entries(z.components||{}))Z.push({code:X,url:J});if(z.data){let J=U?.getAttribute("data-state"),X={};if(J)try{X=JSON.parse(J)}catch{}Object.assign(X,z.data),U?.setAttribute("data-state",JSON.stringify(X))}}Z.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Q=[];for(let z of Z){if(!z.code)continue;try{let J=M1(z.code,G);Q.push({js:J,url:z.url||"inline"})}catch(J){console.error(B1(J,{source:z.code,file:z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&U){let z=globalThis.stash;if(z){let J={},X=U.getAttribute("data-state");if(X)try{J=JSON.parse(X)}catch(w){console.error("Rip: invalid data-state JSON:",w.message)}let K=z({data:J});if(globalThis.__ripApp=K,typeof window<"u")window.app=K;let D=U.getAttribute("data-persist");if(D!=null&&globalThis.persistStash)globalThis.persistStash(K,{local:D==="local"})}}if(Q.length>0){let z=Q.map((X)=>X.js).join(`
1987
- `),J=U?.getAttribute("data-mount");if(J){let X=U.getAttribute("data-target")||"body";z+=`
1988
- ${J}.mount(${JSON.stringify(X)});`}try{await(0,eval)(`(async()=>{
2007
+ })()`)}catch(z){console.error("Rip runtime error:",z)}}let G=I1.modules?.["ui.rip"];if(G?.launch){let Q=f[f.length-1],z=U.getAttribute("data-persist"),X={bundle:Q,hash:F==="hash"};if(z!=null)X.persist=z==="local"?"local":!0;await G.launch("",X)}}else{let Z=[];for(let z of f){for(let[X,w]of Object.entries(z.components||{}))Z.push({code:w,url:X});if(z.data){let X=U?.getAttribute("data-state"),w={};if(X)try{w=JSON.parse(X)}catch{}Object.assign(w,z.data),U?.setAttribute("data-state",JSON.stringify(w))}}Z.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Q=[];for(let z of Z){if(!z.code)continue;try{let X=D1(z.code,G);Q.push({js:X,url:z.url||"inline"})}catch(X){console.error(B1(X,{source:z.code,file:z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&U){let z=globalThis.stash;if(z){let X={},w=U.getAttribute("data-state");if(w)try{X=JSON.parse(w)}catch(A){console.error("Rip: invalid data-state JSON:",A.message)}let K=z({data:X});if(globalThis.__ripApp=K,typeof window<"u")window.app=K;let H=U.getAttribute("data-persist");if(H!=null&&globalThis.persistStash)globalThis.persistStash(K,{local:H==="local"})}}if(Q.length>0){let z=Q.map((w)=>w.js).join(`
2008
+ `),X=U?.getAttribute("data-mount");if(X){let w=U.getAttribute("data-target")||"body";z+=`
2009
+ ${X}.mount(${JSON.stringify(w)});`}try{await(0,eval)(`(async()=>{
1989
2010
  ${z}
1990
- })()`),document.body.classList.add("ready")}catch(X){if(X instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${X.message}`);for(let K of Q)try{Function(`(async()=>{
2011
+ })()`),document.body.classList.add("ready")}catch(w){if(w instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${w.message}`);for(let K of Q)try{Function(`(async()=>{
1991
2012
  ${K.js}
1992
- })()`)}catch(D){console.error(` → source: ${K.url}`,D.message)}}else console.error("Rip runtime error:",X)}}}}if(U?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let W=!1,f=1000,$=30000,F=()=>{let Y=new EventSource("/watch");Y.addEventListener("connected",()=>{if(f=1000,W)location.reload();W=!0}),Y.addEventListener("reload",(Z)=>{if(Z.data==="styles"){let G=Date.now(),Q=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((z)=>{if(new URL(z.href).origin!==location.origin)return;let J=new URL(z.href);J.searchParams.set("_r",G),z.href=J.toString(),Q++}),!Q)location.reload()}else location.reload()}),Y.onerror=()=>{Y.close(),setTimeout(F,f),f=Math.min(f*2,$)}};F()}}async function I1(u){for(let[F,Y]of Object.entries(I1.modules))if(u.includes(F))return Y;let U=await fetch(u).then((F)=>{if(!F.ok)throw Error(`importRip: ${u} (${F.status})`);return F.text()}),_=M1(U),W=`// ${u}
1993
- `,f=new Blob([W+_],{type:"application/javascript"});return await import(URL.createObjectURL(f))}I1.modules={};function Q3(u){try{let U=u.replace(/^/gm," "),W=M1(`do ->
1994
- ${U}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");W=W.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let f=(0,eval)(W);if(f&&typeof f.then==="function")return f.then(($)=>{if($!==void 0)globalThis._=$;return $});if(f!==void 0)globalThis._=f;return f}catch(U){console.error(B1(U,{source:u,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=Q3,globalThis.importRip=I1,globalThis.compileToJS=M1,globalThis.__ripExports={compile:t1,compileToJS:M1,formatSExpr:X1,getStdlibCode:l1,VERSION:F3,BUILD_DATE:Z3,getReactiveRuntime:m1,getComponentRuntime:k1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((u)=>{let U=()=>G3().then(u);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var f2={};C2(f2,{throttle:()=>a5,stash:()=>x3,setContext:()=>v3,raw:()=>y1,persistStash:()=>l3,launch:()=>s5,isStash:()=>p5,hold:()=>r5,hasContext:()=>T3,getContext:()=>V3,delay:()=>m3,debounce:()=>o5,createRouter:()=>i3,createResource:()=>n5,createRenderer:()=>d3,createComponents:()=>k3});var O2,z3,I2,A3,S2,E1,F1,J3,X3,N2,w3,K3,j1,G1,M3,H3,D3,O3,q3,R3,P3,B3,Q1,q2,d1,p1,u2,I3,S3,e1,i1,N3,E3,L3,R2,P2,V3,C3,E2,T3,j3,B2,N1,L2,b3,h3,b1,y3,v3,S1,g3,T1,h1,c3;globalThis.abort??=(u)=>{if(u)console.error(u);process.exit(1)};globalThis.assert??=(u,U)=>{if(!u)throw Error(U||"Assertion failed")};globalThis.exit??=(u)=>process.exit(u||0);globalThis.kind??=(u)=>u!=null?(u.constructor?.name||Object.prototype.toString.call(u).slice(8,-1)).toLowerCase():String(u);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(u)=>{return console.log(JSON.stringify(u,null,2)),u};globalThis.raise??=(u,U)=>{throw U!==void 0?new u(U):Error(u)};globalThis.rand??=(u,U)=>U!==void 0?(u>U&&([u,U]=[U,u]),Math.floor(Math.random()*(U-u+1)+u)):u?Math.floor(Math.random()*u):Math.random();globalThis.sleep??=(u)=>new Promise((U)=>setTimeout(U,u));globalThis.todo??=(u)=>{throw Error(u||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...u)=>u[0].map((U,_)=>u.map((W)=>W[_]));({__state:F1,__effect:E1,__batch:S2}=globalThis.__rip);({setContext:v3,getContext:V3,hasContext:T3}=globalThis.__ripComponent||{});I2=new WeakMap;O2=new WeakMap;q2=0;u2=F1(0);Q1=0;B2=function(u){return typeof u==="string"&&(u.indexOf(".")!==-1||u.indexOf("/")!==-1||u.indexOf("[")!==-1)};j3=function(u){return/^-?\d+$/.test(u)};E2=function(u,U){let _;if(!u[Symbol.for("signals")])Object.defineProperty(u,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=u[Symbol.for("signals")].get(U),!_)_=F1(u[U]),u[Symbol.for("signals")].set(U,_);return _};N1=function(u){return E2(u,Symbol.for("keys"))};c3=function(u){let U;if(!(u!=null&&typeof u==="object"))return u;if(u[Symbol.for("stash")])return u;if(u instanceof Date||u instanceof RegExp||u instanceof Map||u instanceof Set||u instanceof Promise)return u;if(U=I2.get(u),U)return U;return L2(u)};L2=function(u){let U,_;return _=null,U={get:function(W,f){let $,F,Y;if(f===Symbol.for("stash"))return!0;if(f===Symbol.for("raw"))return W;if(typeof f==="symbol")return Reflect.get(W,f);if(f==="length"&&Array.isArray(W))return N1(W).value,W.length;if(!Q1&&B2(f))return S1(_,f);if($=g3(_,f),$)return $;if(F=E2(W,f),Y=F.value,Y!=null&&typeof Y==="object")return c3(Y);return Y},set:function(W,f,$){let F,Y;if(!Q1&&B2(f))return T1(_,f,$),!0;if(F=W[f],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[f]=Y,W[Symbol.for("signals")]?.has(f))W[Symbol.for("signals")].get(f).value=Y;if(F===void 0&&Y!==void 0)N1(W).value=++q2;return u2.value++,!0},deleteProperty:function(W,f){let $;if(delete W[f],$=W[Symbol.for("signals")]?.get(f),$!=null)$.value=void 0;return N1(W).value=++q2,u2.value++,!0},ownKeys:function(W){return N1(W).value,Reflect.ownKeys(W)}},_=new Proxy(u,U),I2.set(u,_),_};z3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;h1=function(u){let U,_,W,f,$;W=("."+u).split(z3),W.shift(),$=[],_=0;while(_<W.length){if(f=W[_],U=f[0],U==="."||U==="/")$.push(f.slice(1));else if(U==="[")if(f[1]==='"'||f[1]==="'")$.push(f.slice(2,-2));else $.push(+f.slice(1,-1));_+=2}return $};b1=function(u,U){let _;if(typeof u==="number"&&u<0){if(_=y1(U),Array.isArray(_))return _.length+u}return u};S1=function(u,U){let _,W;return W=h1(U),_=u,Q1++,(()=>{try{for(let f of W){if(_==null)return;_=_[b1(f,_)]}return _}finally{Q1--}})()};T1=function(u,U,_){let W,f,$,F;return F=h1(U),$=u,Q1++,(()=>{try{for(let Y=0;Y<F.length;Y++){let Z=F[Y];if(W=b1(Z,$),Y===F.length-1)$[W]=_;else{if($[W]==null)f=F[Y+1],$[W]=typeof f==="number"||j3(f)?[]:{};$=$[W]}}return _}finally{Q1--}})()};A3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};g3=function(u,U){let _,W;if(!A3[U])return;if(_=O2.get(u),!_)_={},O2.set(u,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(f,$=1){let F;return F=S1(u,f)??0,T1(u,f,F+$)};case"dec":return function(f,$=1){let F;return F=S1(u,f)??0,T1(u,f,F-$)};case"flip":return function(f){let $;return $=S1(u,f)??!1,T1(u,f,!$)};case"join":return function(f,$){return S2(function(){let F;if(F=S1(u,f),!(F!=null&&typeof F==="object"))T1(u,f,{}),F=S1(u,f);return Q1++,(()=>{try{return(()=>{let Y=[];for(let Z in $){let G=$[Z];Y.push(F[Z]=G)}return Y})()}finally{Q1--}})()})};case"keys":return function(f){let $,F,Y;return Q1++,(()=>{try{F=h1(f),$=u;for(let Z of F){if($==null)return[];$=$[b1(Z,$)]}if(!($!=null&&typeof $==="object"))return[];return Y=y1($),N1(Y).value,Object.keys(Y)}finally{Q1--}})()};case"has":return function(f){let $,F,Y,Z;return Q1++,(()=>{try{if(Y=h1(f),!(Y.length>0))return!1;F=u;for(let G=0;G<Y.length;G++){let Q=Y[G];if($=b1(Q,F),G===Y.length-1)return Z=y1(F),N1(Z).value,Object.prototype.hasOwnProperty.call(Z,$);if(F==null)return!1;F=F[$]}return!1}finally{Q1--}})()};case"del":return function(f){let $,F,Y;return Q1++,(()=>{try{if(Y=h1(f),!(Y.length>0))return;return F=u,(()=>{let Z=[];for(let G=0;G<Y.length;G++){let Q=Y[G];if($=b1(Q,F),G===Y.length-1){delete F[$];return}if(F==null)return;Z.push(F=F[$])}return Z})()}finally{Q1--}})()}}})(),_[U]=W,W};var x3=function(u={}){return L2(u)},y1=function(u){return u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u},p5=function(u){return u?.[Symbol.for("stash")]===!0},l3=function(u,U={}){let _,W,f,$,F,Y;if(Y=y1(u)||u,Y[Symbol.for("persisted")])return;Y[Symbol.for("persisted")]=!0,$=U.local?localStorage:sessionStorage,F=U.key||"__rip_app";try{if(W=$.getItem(F),W){f=JSON.parse(W);for(let Z in f){let G=f[Z];u.data[Z]=G}}}catch{}return _=function(){return(()=>{try{return $.setItem(F,JSON.stringify(y1(u.data)))}catch{return null}})()},E1(function(){let Z;return u2.value,Z=setTimeout(_,2000),function(){return clearTimeout(Z)}}),window.addEventListener("beforeunload",_)},n5=function(u,U={}){let _,W,f,$,F;if(_=F1(U.initial||null),f=F1(!1),W=F1(null),$=async function(){let Y;return f.value=!0,W.value=null,await(async()=>{try{return Y=await u(),_.value=Y}catch(Z){return W.value=Z}finally{f.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return _.value}}),Object.defineProperty(F,"loading",{get:function(){return f.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};p1=function(u){return typeof u==="function"?u:function(){return u.value}};d1=function(u,U){let _;return _={read:function(){return u.read()}},Object.defineProperty(_,"value",{get:function(){return u.value},set:function(W){return U.value=W}}),_};var m3=function(u,U){let _,W;return _=p1(U),W=F1(!!_()),E1(function(){let f;if(_())return f=setTimeout(function(){return W.value=!0},u),function(){return clearTimeout(f)};else return W.value=!1}),typeof U!=="function"?d1(W,U):W},o5=function(u,U){let _,W;return _=p1(U),W=F1(_()),E1(function(){let f,$;return $=_(),f=setTimeout(function(){return W.value=$},u),function(){return clearTimeout(f)}}),typeof U!=="function"?d1(W,U):W},a5=function(u,U){let _,W,f;return _=p1(U),f=F1(_()),W=0,E1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=u-($-W),F<=0)return f.value=Z,W=$;else return Y=setTimeout(function(){return f.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?d1(f,U):f},r5=function(u,U){let _,W;return _=p1(U),W=F1(!!_()),E1(function(){let f;if(_())return W.value=!0;else return f=setTimeout(function(){return W.value=!1},u),function(){return clearTimeout(f)}}),typeof U!=="function"?d1(W,U):W},k3=function(){let u,U,_,W;return U=new Map,W=[],u=new Map,_=function(f,$){for(let F of W)F(f,$)},{read:function(f){return U.get(f)},write:function(f,$){let F;return F=!U.has(f),U.set(f,$),u.delete(f),_(F?"create":"change",f)},del:function(f){return U.delete(f),u.delete(f),_("delete",f)},exists:function(f){return U.has(f)},size:function(){return U.size},list:function(f=""){let $,F,Y;Y=[],$=f?f+"/":"";for(let[Z]of U)if(Z.startsWith($)){if(F=Z.slice($.length),F.includes("/"))continue;Y.push(Z)}return Y},listAll:function(f=""){let $,F;F=[],$=f?f+"/":"";for(let[Y]of U)if(Y.startsWith($))F.push(Y);return F},load:function(f){for(let $ in f){let F=f[$];U.set($,F)}},watch:function(f){return W.push(f),function(){return W.splice(W.indexOf(f),1)}},getCompiled:function(f){return u.get(f)},setCompiled:function(f,$){return u.set(f,$)}}};L3=function(u){let U;if(U=u.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};h3=function(u){let U,_;return U=[],_=u.replace(/\*(\w+)/g,function(W,f){return U.push(f),"(.+)"}).replace(/:(\w+)/g,function(W,f){return U.push(f),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};b3=function(u,U){let _,W;for(let f of U)if(_=u.match(f.regex.regex),_){W={};for(let $=0;$<f.regex.names.length;$++){let F=f.regex.names[$];W[F]=decodeURIComponent(_[$+1])}return{route:f,params:W}}return null};e1=function(u,U="components"){let _,W,f,$,F,Y,Z,G,Q;Z=[],f=new Map,_=u.listAll(U);for(let z of _){if(Y=z.slice(U.length+1),!Y.endsWith(".rip"))continue;if($=Y.split("/").pop(),$==="_layout.rip"){W=Y==="_layout.rip"?"":Y.slice(0,-12),f.set(W,z);continue}if($.startsWith("_"))continue;if(G=Y.split("/"),G.length>1&&G.some(function(J,X){return X<G.length-1&&J.startsWith("_")}))continue;Q=L3(Y),F=h3(Q),Z.push({pattern:Q,regex:F,file:z,rel:Y})}return Z.sort(function(z,J){let X,K,D,w;if(K=(z.pattern.match(/:/g)||[]).length,w=(J.pattern.match(/:/g)||[]).length,X=z.pattern.includes("*")?1:0,D=J.pattern.includes("*")?1:0,X!==D)return X-D;if(K!==w)return K-w;return z.pattern.localeCompare(J.pattern)}),{routes:Z,layouts:f}};C3=function(u,U,_){let W,f,$,F;if(W=[],$=u.slice(U.length+1),F=$.split("/"),f="",_.has(""))W.push(_.get(""));for(let Y=0;Y<F.length;Y++){let Z=F[Y];if(Y===F.length-1)break;if(f=f?f+"/"+Z:Z,_.has(f))W.push(_.get(f))}return W};var i3=function(u,U={}){let _,W,f,$,F,Y,Z,G,Q,z,J,X,K,D,w,A,R,O,P,q,B;if(R=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,P=function(M){return Q&&M.startsWith(Q)?M.slice(Q.length)||"/":M},G=function(M){return Q?Q+M:M},w=function(){let M;if(z){if(M=location.hash.slice(1),!M)return"/";return M[0]==="/"?M:"/"+M}else return location.pathname+location.search+location.hash},B=function(M){return z?M==="/"?location.pathname:"#"+M.slice(1):G(M)},F=F1(P(z?w():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),f=m3(100,F1(!1)),q=e1(u,R),J=new Set,u.watch(function(M,I){if(!I.startsWith(R+"/"))return;return q=e1(u,R)}),A=function(M){let I,H,S,N,V;if(N=M.split("?")[0].split("#")[0],H=P(N),H=H[0]==="/"?H:"/"+H,S=M.split("?")[1]?.split("#")[0]||"",I=M.includes("#")?M.split("#")[1]:"",V=b3(H,q.routes),V){S2(function(){return F.value=H,$.value=V.params,Z.value=V.route,W.value=C3(V.route.file,R,q.layouts),Y.value=Object.fromEntries(new URLSearchParams(S)),_.value=I});for(let L of J)L(O.current);return!0}if(K)K({status:404,path:H});return!1},D=function(){return A(w())},typeof window<"u")window.addEventListener("popstate",D);if(X=function(M){let I,H,S;if(M.button!==0||M.metaKey||M.ctrlKey||M.shiftKey||M.altKey)return;H=M.target;while(H&&H.tagName!=="A")H=H.parentElement;if(!H?.href)return;if(S=new URL(H.href,location.origin),S.origin!==location.origin)return;if(H.target==="_blank"||H.hasAttribute("data-external"))return;return M.preventDefault(),I=z&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,O.push(I)},typeof document<"u")document.addEventListener("click",X);return O={push:function(M){return A(M)?history.pushState(null,"",B(F.read())):void 0},replace:function(M){return A(M)?history.replaceState(null,"",B(F.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(M){return J.add(M),function(){return J.delete(M)}},rebuild:function(){return q=e1(u,R)},routes:void 0,init:function(){return A(w()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",X);return J.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(O,"path",{get:function(){return F.value}}),Object.defineProperty(O,"params",{get:function(){return $.value}}),Object.defineProperty(O,"route",{get:function(){return Z.value}}),Object.defineProperty(O,"layouts",{get:function(){return W.value}}),Object.defineProperty(O,"query",{get:function(){return Y.value}}),Object.defineProperty(O,"hash",{get:function(){return _.value}}),Object.defineProperty(O,"navigating",{get:function(){return f.value},set:function(M){return f.value=M}}),Object.defineProperty(O,"routes",{get:function(){return q.routes}}),O};I3=function(u,U){if(u.length!==U.length)return!1;for(let _=0;_<u.length;_++)if(u[_]!==U[_])return!1;return!0};P2=function(u){for(let U in u){let _=u[U];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _}return typeof u.default==="function"?u.default:void 0};R2=function(u){let U;U={};for(let _ in u){let W=u[_];if(typeof W==="function"&&(W.prototype?.mount||W.prototype?._create))U[_]=W}return U};E3=function(u){let U;return U=u.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,f){return f.toUpperCase()})};S3=function(u,U="components"){let _,W,f;W={};for(let $ of u.listAll(U)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(f=E3($),W[f])console.warn(`[Rip] Component name collision: ${f} (${W[f]} vs ${$})`);W[f]=$}return W};y3=function(u,U,_){let W,f,$,F;if($=u.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){F=U.split("/"),F.pop();for(let Y of u.split("/"))if(Y==="..")F.pop();else if(Y!==".")F.push(Y);if(f=F.join("/"),_.exists(f))return f}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(let Y of _.listAll("components"))if(Y.endsWith(`/${W}`))return Y;return null};i1=async function(u,U,_=null,W=null,f=null){let $,F,Y,Z,G,Q,z,J,X,K,D,w,A,R,O,P,q,B,M,I,H,S,N,V;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(f&&W)f.compiling??={},f.compiling[W]=!0;if(K=U(u),f){if(X=new Set,_){H=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,D=Array.from(K.matchAll(H));for(let L=D.length-1;L>=0;L--){let C=D[L];if([z,B,R,S,q]=C,N=y3(S,W,_),N===W)continue;if(!N){if(A=`[Rip] Could not resolve import: ${S}`,W)A+=` (from ${W})`;console.warn(A);continue}if(!f.blobUrls?.[N]){if(f.compiling?.[N])continue;if(G=_.read(N),G)await i1(G,U,_,N,f)}if(F=f.blobUrls?.[N],F){if(I=`${B}${F}${q}`,K=K.slice(0,C.index)+I+K.slice(C.index+z.length),R)for(let E of R.split(","))X.add(E.trim().split(/\s+as\s+/).pop().trim())}}}P={};for(let L in f.map){let C=f.map[L];if(X.has(L))continue;if(C!==W&&K.includes(`new ${L}(`)){if(!f.classes[L]){if(G=_.read(C),G){Z=await i1(G,U,_,C,f),Q=R2(Z);for(let E in Q){let n=Q[E];f.classes[E]=n}}}if(f.classes[L])P[L]=!0}}if(O=Object.keys(P),O.length>0)M=`const {${O.join(", ")}} = globalThis['${f.key}'];
1995
- `,K=M+K}if(J=W?`// ${W}
1996
- `:"",$=new Blob([J+K],{type:"application/javascript"}),V=URL.createObjectURL($),f&&W){if(f.blobUrls??={},f.blobUrls[W]=V,f.compiling)delete f.compiling[W]}if(w=await import(V),f){Q=R2(w);for(let L in Q){let C=Q[L];f.classes[L]=C}}if(_&&W)_.setCompiled(W,w);return w};var d3=function(u={}){let U,_,W,f,$,F,Y,Z,G,Q,z,J,X,K,D,w,A,R,O,P,q,B;if({router:P,app:U,components:$,resolver:O,compile:W,target:q,onError:A}=u,F=typeof q==="string"?document.querySelector(q):q||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],X=[],D=F,J=0,z=null,f=new Map,K=u.cacheSize||10,_=function(){let M,I;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(f.set(Q,Y),f.size>K){if(I=f.keys().next().value,M=f.get(I),M.unmounted)M.unmounted();f.delete(I)}return Y=null,Q=null}},B=function(){_();for(let M=X.length-1;M>=0;M--){let I=X[M];if(I.beforeUnmount)I.beforeUnmount();if(I.unmounted)I.unmounted();I._target?.remove()}return X=[],D=F},$.watch(function(M,I){let H;if(f.has(I)){if(H=f.get(I),H.unmounted)H.unmounted();return f.delete(I)}}),w=async function(M){let I,H,S,N,V,L,C,E,n,T,j,y,m,t,$1,b,g,x,l,e,u1,c;if({route:l,params:b,layouts:E,query:x}=M,!l)return;if(l.file===Q&&JSON.stringify(b)===JSON.stringify(G))return;return G=b,N=++J,P.navigating=!0,await(async()=>{try{if(u1=$.read(l.file),!u1){if(A)A({status:404,message:`File not found: ${l.file}`});P.navigating=!1;return}if(y=await i1(u1,W,$,l.file,O),N!==J){P.navigating=!1;return}if(I=P2(y),!I){if(A)A({status:500,message:`No component found in ${l.file}`});P.navigating=!1;return}if(j=!I3(E,Z),t=Y?._target,j)B();else _();if(m=j?F:D,j&&E.length>0){F.innerHTML="",m=F;for(let i of E){if(T=$.read(i),!T)continue;if(n=await i1(T,W,$,i,O),N!==J){P.navigating=!1;return}if(H=P2(n),!H)continue;if(L=new H({app:U,params:b,router:P}),L.beforeMount)L.beforeMount();c=document.createElement("div"),c.setAttribute("data-layout",i),m.appendChild(c),L.mount(c),X.push(L),e=c.querySelector("#content")||c,m=e}Z=[...E],D=m}else if(j)F.innerHTML="",Z=[],D=F;if(S=f.get(l.file),S){if(f.delete(l.file),m.appendChild(S._target),Y=S,Q=l.file,b)S.params=b;if(x)S.query=x;if(S.mounted)S.mounted();if(S.load)await S.load(b,x)}else{if($1=document.createElement("div"),$1.setAttribute("data-component",l.file),m.appendChild($1),C=new I({app:U,params:b,query:x,router:P}),C.beforeMount)C.beforeMount();if(C.mount($1),Y=C,Q=l.file,C.load)await C.load(b,x)}return t?.remove(),P.navigating=!1}catch(i){if(P.navigating=!1,console.error(`Renderer: error mounting ${l.file}:`,i),A)A({status:500,message:i.message,error:i});V=!1;for(let r=X.length-1;r>=0;r--){let s=X[r];if(s.onError)try{s.onError(i),V=!0;break}catch(h){console.error("Renderer: error boundary failed:",h)}}return(()=>{if(!V)return g=document.createElement("pre"),g.style.cssText="color:red;padding:1em",g.textContent=i.stack||i.message,F.innerHTML="",F.appendChild(g)})()}})()},R={start:function(){return z=E1(function(){let M;return M=P.current,M.route?w(M):void 0}),P.init(),R},stop:function(){if(B(),z)z(),z=null;return F.innerHTML=""},remount:function(){let M;return M=P.current,M.route?w(M):void 0},cache:f},R};N3=function(u){let U,_,W;return W=1000,_=30000,U=function(){let f;return f=new EventSource(u),f.addEventListener("connected",function(){return W=1000,console.log("[Rip] Hot reload connected")}),f.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),f.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))u=new URL($.href),u.searchParams.set("_t",Date.now()),$.href=u.toString()}),f.onerror=function(){return f.close(),setTimeout(U,W),W=Math.min(W*2,_)}},U()};var s5=async function(u="",U={}){let _,W,f,$,F,Y,Z,G,Q,z,J,X,K,D,w,A,R;if(globalThis.__ripLaunched=!0,typeof u==="object")U=u,u="";if(u=u.replace(/\/+$/,""),R=U.target||"#app",Y=U.compile||null,X=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(R))Z=document.createElement("div"),Z.id=R.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)f=U.bundle;else if(U.bundleUrl){if(J={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)J["If-None-Match"]=$;if(D=await fetch(U.bundleUrl,{headers:J}),D.status===304)f=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(D.ok){if(f=await D.json(),G=D.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(f))}else throw Error(`launch: ${U.bundleUrl} (${D.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=x3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,f.data)_.data=f.data;if(f.routes)_.routes=f.routes;if(X&&typeof sessionStorage<"u")l3(_,{local:X==="local",key:`__rip_${u}`});if(W=k3(),f.components)W.load(f.components);if(F=`__rip_${u.replace(/\//g,"_")||"app"}`,w={map:S3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=w.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(A=i3(W,{root:"components",base:u,hash:z,onError:function(O){return console.error(`[Rip] Error ${O.status}: ${O.message||O.path}`)}}),K=d3({router:A,app:_,components:W,resolver:w,compile:Y,target:R,onError:function(O){return console.error(`[Rip] ${O.message}`,O.error)}}),K.start(),f.data?.watch)N3(`${u}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:A,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:A,renderer:K}};G1=function(u,U){if(!U)return;return u.preventDefault(),u.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(u){return globalThis.__ariaLastFocusedEl=u.target},!0),globalThis.__ariaFocusTrackerBound=!0;w3=function(u,U){if(u.isComposing)return;return(()=>{switch(u.key){case"ArrowDown":return G1(u,U.next);case"ArrowUp":return G1(u,U.prev);case"Home":case"PageUp":return G1(u,U.first);case"End":case"PageDown":return G1(u,U.last);case"Enter":case" ":return G1(u,U.select);case"Escape":return G1(u,U.dismiss);case"Tab":return U.tab?.();default:return u.key.length===1?U.char?.(u.key):void 0}})()};M3=function(u,U,_,W=[],f=null){let $,F,Y;if(!u)return;return $=function(Z){return typeof Z==="function"?Z():Z},F=(Z)=>{return![$(U),...W.map($)].some(function(G){return G?.contains(Z.target)})?_():void 0},Y=(Z)=>{if($(U)?.contains(Z.target))return;return f?f():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};H3=function(u=250){let U;return U=0,{block:function(_=u){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};X3=function(u,U,_,W=null){let f,$,F,Y,Z,G,Q,z,J,X,K;if(Y=function(D){return typeof D==="function"?D():D},f=function(){let D,w;if(D=document.activeElement,D&&D!==document.body)return D;if(w=globalThis.__ariaLastFocusedEl,w?.isConnected!==!1)return w;return null},F=Y(U),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Q=null,K=function(D){if(D){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},z=function(){let D,w;if(w=Q,Q=null,!w?.focus)return;return D=function(A=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||A<=1)return;return setTimeout(function(){return D(A-1)},16)},requestAnimationFrame(function(){return D()})},Z=function(D){let w;if(w=D.newState==="open",w)Q=Y(W)||f(),K(!0);else K(!1),z();return _?.(w)},F.addEventListener("toggle",Z),J=F.matches(":popover-open"),$=!!u,J!==$){if(X=Y(W),$)Q=X||f(),K(!0);G=X&&$?{force:$,source:X}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};J3=function(u,U,_,W=!0){let f,$,F,Y,Z,G,Q,z;if(F=function(J){return typeof J==="function"?J():J},f=function(){let J,X;if(J=document.activeElement,J&&J!==document.body)return J;if(X=globalThis.__ariaLastFocusedEl,X?.isConnected!==!1)return X;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(J){if(J){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Q=function(){let J,X;if(X=G,G=null,!X?.focus)return;return J=function(K=6){if(X.isConnected===!1)return;try{X.focus({preventScroll:!0})}catch{X.focus()}if(document.activeElement===X||K<=1)return;return setTimeout(function(){return J(K-1)},16)},requestAnimationFrame(function(){return J()})},Y=function(J){if(!W){J.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),u&&!$.open){if(!G)G=f();z(!0);try{$.showModal()}catch{}}else if(!u&&$.open)$.close();else z(!!u);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};q3=function(u,U,_="vertical"){let W,f;if(u.isComposing)return;return f=_!=="horizontal",W=_!=="vertical",(()=>{switch(u.key){case"ArrowDown":return f?G1(u,U.next):void 0;case"ArrowUp":return f?G1(u,U.prev):void 0;case"ArrowRight":return W?G1(u,U.next):void 0;case"ArrowLeft":return W?G1(u,U.prev):void 0;case"Home":case"PageUp":return G1(u,U.first);case"End":case"PageDown":return G1(u,U.last);case"Enter":case" ":return G1(u,U.select);case"Escape":return G1(u,U.dismiss);default:return u.key.length===1?U.char?.(u.key):void 0}})()};O3=function(u,U,_=4,W=!0){let f,$;if(!(u&&U))return;if($=u.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,f=U.getBoundingClientRect(),f.bottom>window.innerHeight)U.style.top=`${$.top-f.height-_}px`;if(f.right>window.innerWidth)U.style.left=`${window.innerWidth-f.width-_}px`;return W?U.style.visibility="visible":void 0};var t5='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';R3=function(u){let U;return U=function(_){let W,f,$;if(_.key!=="Tab")return;if($=Array.from(u.querySelectorAll(t5)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],f=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),f.focus()):void 0:document.activeElement===f?(_.preventDefault(),W.focus()):void 0},u.addEventListener("keydown",U),function(){return u.removeEventListener("keydown",U)}};B3=function(u,U){let _,W;if(!u)return;if(W=u.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,u.setAttribute("aria-labelledby",W.id);if(_=u.querySelector("p"),_)return _.id??=`${U}-desc`,u.setAttribute("aria-describedby",_.id)};j1=[];K3=function(u){let U;if(U=window.scrollY,j1.push({instance:u,scrollY:U}),j1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};P3=function(u){let U,_;if(U=j1.findIndex(function(W){return W.instance===u}),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,_)};N2=function(){let u,U,_;return(()=>{try{if(!document?.createElement)return!1;return u=document.createElement("div"),U=document.createElement("div"),u.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",U.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(u),document.body.appendChild(U),_=U.getBoundingClientRect(),u.remove(),U.remove(),_.top>50}catch{return!1}})()}();D3=function(u,U,_={}){let W,f,$,F,Y,Z,G;if(!(u&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,f=_.matchWidth??!1,N2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,u.style.anchorName=$,U.style.positionAnchor=$,U.style.position="fixed",U.style.inset="auto",U.style.margin="0",U.style.positionArea=Y,U.style.positionTry="flip-block, flip-inline, flip-block flip-inline",U.style.positionVisibility="anchors-visible",[G]=Y.split(" "),U.style.marginTop="",U.style.marginBottom="",U.style.marginLeft="",U.style.marginRight="",G){case"bottom":U.style.marginTop=`${F}px`;break;case"top":U.style.marginBottom=`${F}px`;break;case"left":U.style.marginRight=`${F}px`;break;case"right":U.style.marginLeft=`${F}px`;break}return f?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=u.getBoundingClientRect(),U.style.position="fixed",U.style.inset="auto",U.style.margin="0",[G,W]=Y.split(" "),W??="start",G){case"bottom":U.style.top=`${Z.bottom+F}px`;break;case"top":U.style.bottom=`${window.innerHeight-Z.top+F}px`;break;case"left":U.style.right=`${window.innerWidth-Z.left+F}px`;break;case"right":U.style.left=`${Z.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(W){case"start":U.style.left=`${Z.left}px`;break;case"center":U.style.left=`${Z.left+Z.width/2}px`,U.style.transform="translateX(-50%)";break;case"end":U.style.right=`${window.innerWidth-Z.right}px`;break}else switch(W){case"start":U.style.top=`${Z.top}px`;break;case"center":U.style.top=`${Z.top+Z.height/2}px`,U.style.transform="translateY(-50%)";break;case"end":U.style.bottom=`${window.innerHeight-Z.bottom}px`;break}return f?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:w3,rovingNav:q3,popupDismiss:M3,popupGuard:H3,bindPopover:X3,bindDialog:J3,positionBelow:O3,trapFocus:R3,wireAria:B3,lockScroll:K3,unlockScroll:P3,position:D3,hasAnchor:N2};globalThis.ARIA??=globalThis.__aria;I1.modules["ui.rip"]=f2;for(let[u,U]of Object.entries(f2))if(typeof U==="function")globalThis[u]=U;})();
2013
+ })()`)}catch(H){console.error(` → source: ${K.url}`,H.message)}}else console.error("Rip runtime error:",w)}}}}if(U?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let W=!1,f=1000,$=30000,F=()=>{let Y=new EventSource("/watch");Y.addEventListener("connected",()=>{if(f=1000,W)location.reload();W=!0}),Y.addEventListener("reload",(Z)=>{if(Z.data==="styles"){let G=Date.now(),Q=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((z)=>{if(new URL(z.href).origin!==location.origin)return;let X=new URL(z.href);X.searchParams.set("_r",G),z.href=X.toString(),Q++}),!Q)location.reload()}else location.reload()}),Y.onerror=()=>{Y.close(),setTimeout(F,f),f=Math.min(f*2,$)}};F()}}async function I1(u){for(let[F,Y]of Object.entries(I1.modules))if(u.includes(F))return Y;let U=await fetch(u).then((F)=>{if(!F.ok)throw Error(`importRip: ${u} (${F.status})`);return F.text()}),_=D1(U),W=`// ${u}
2014
+ `,f=new Blob([W+_],{type:"application/javascript"});return await import(URL.createObjectURL(f))}I1.modules={};function z3(u){try{let U=u.replace(/^/gm," "),W=D1(`do ->
2015
+ ${U}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");W=W.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let f=(0,eval)(W);if(f&&typeof f.then==="function")return f.then(($)=>{if($!==void 0)globalThis._=$;return $});if(f!==void 0)globalThis._=f;return f}catch(U){console.error(B1(U,{source:u,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=z3,globalThis.importRip=I1,globalThis.compileToJS=D1,globalThis.__ripExports={compile:t1,compileToJS:D1,formatSExpr:w1,getStdlibCode:l1,VERSION:Z3,BUILD_DATE:G3,getReactiveRuntime:m1,getComponentRuntime:k1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((u)=>{let U=()=>Q3().then(u);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var f2={};T2(f2,{throttle:()=>r5,stash:()=>l3,setContext:()=>g3,raw:()=>y1,persistStash:()=>m3,launch:()=>t5,isStash:()=>n5,hold:()=>s5,hasContext:()=>j3,getContext:()=>C3,delay:()=>k3,debounce:()=>a5,createRouter:()=>d3,createResource:()=>o5,createRenderer:()=>p3,createComponents:()=>i3});var q2,J3,S2,X3,N2,E1,F1,w3,A3,E2,K3,D3,j1,G1,M3,H3,O3,q3,R3,P3,B3,I3,Q1,R2,d1,p1,u2,S3,N3,e1,i1,E3,L3,V3,P2,B2,C3,T3,L2,j3,b3,I2,N1,V2,h3,y3,b1,v3,g3,S1,c3,T1,h1,x3;globalThis.abort??=(u)=>{if(u)console.error(u);process.exit(1)};globalThis.assert??=(u,U)=>{if(!u)throw Error(U||"Assertion failed")};globalThis.exit??=(u)=>process.exit(u||0);globalThis.kind??=(u)=>u!=null?(u.constructor?.name||Object.prototype.toString.call(u).slice(8,-1)).toLowerCase():String(u);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(u)=>{return console.log(JSON.stringify(u,null,2)),u};globalThis.raise??=(u,U)=>{throw U!==void 0?new u(U):Error(u)};globalThis.rand??=(u,U)=>U!==void 0?(u>U&&([u,U]=[U,u]),Math.floor(Math.random()*(U-u+1)+u)):u?Math.floor(Math.random()*u):Math.random();globalThis.sleep??=(u)=>new Promise((U)=>setTimeout(U,u));globalThis.todo??=(u)=>{throw Error(u||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...u)=>u[0].map((U,_)=>u.map((W)=>W[_]));({__state:F1,__effect:E1,__batch:N2}=globalThis.__rip);({setContext:g3,getContext:C3,hasContext:j3}=globalThis.__ripComponent||{});S2=new WeakMap;q2=new WeakMap;R2=0;u2=F1(0);Q1=0;I2=function(u){return typeof u==="string"&&(u.indexOf(".")!==-1||u.indexOf("/")!==-1||u.indexOf("[")!==-1)};b3=function(u){return/^-?\d+$/.test(u)};L2=function(u,U){let _;if(!u[Symbol.for("signals")])Object.defineProperty(u,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=u[Symbol.for("signals")].get(U),!_)_=F1(u[U]),u[Symbol.for("signals")].set(U,_);return _};N1=function(u){return L2(u,Symbol.for("keys"))};x3=function(u){let U;if(!(u!=null&&typeof u==="object"))return u;if(u[Symbol.for("stash")])return u;if(u instanceof Date||u instanceof RegExp||u instanceof Map||u instanceof Set||u instanceof Promise)return u;if(U=S2.get(u),U)return U;return V2(u)};V2=function(u){let U,_;return _=null,U={get:function(W,f){let $,F,Y;if(f===Symbol.for("stash"))return!0;if(f===Symbol.for("raw"))return W;if(typeof f==="symbol")return Reflect.get(W,f);if(f==="length"&&Array.isArray(W))return N1(W).value,W.length;if(!Q1&&I2(f))return S1(_,f);if($=c3(_,f),$)return $;if(F=L2(W,f),Y=F.value,Y!=null&&typeof Y==="object")return x3(Y);return Y},set:function(W,f,$){let F,Y;if(!Q1&&I2(f))return T1(_,f,$),!0;if(F=W[f],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[f]=Y,W[Symbol.for("signals")]?.has(f))W[Symbol.for("signals")].get(f).value=Y;if(F===void 0&&Y!==void 0)N1(W).value=++R2;return u2.value++,!0},deleteProperty:function(W,f){let $;if(delete W[f],$=W[Symbol.for("signals")]?.get(f),$!=null)$.value=void 0;return N1(W).value=++R2,u2.value++,!0},ownKeys:function(W){return N1(W).value,Reflect.ownKeys(W)}},_=new Proxy(u,U),S2.set(u,_),_};J3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;h1=function(u){let U,_,W,f,$;W=("."+u).split(J3),W.shift(),$=[],_=0;while(_<W.length){if(f=W[_],U=f[0],U==="."||U==="/")$.push(f.slice(1));else if(U==="[")if(f[1]==='"'||f[1]==="'")$.push(f.slice(2,-2));else $.push(+f.slice(1,-1));_+=2}return $};b1=function(u,U){let _;if(typeof u==="number"&&u<0){if(_=y1(U),Array.isArray(_))return _.length+u}return u};S1=function(u,U){let _,W;return W=h1(U),_=u,Q1++,(()=>{try{for(let f of W){if(_==null)return;_=_[b1(f,_)]}return _}finally{Q1--}})()};T1=function(u,U,_){let W,f,$,F;return F=h1(U),$=u,Q1++,(()=>{try{for(let Y=0;Y<F.length;Y++){let Z=F[Y];if(W=b1(Z,$),Y===F.length-1)$[W]=_;else{if($[W]==null)f=F[Y+1],$[W]=typeof f==="number"||b3(f)?[]:{};$=$[W]}}return _}finally{Q1--}})()};X3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};c3=function(u,U){let _,W;if(!X3[U])return;if(_=q2.get(u),!_)_={},q2.set(u,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(f,$=1){let F;return F=S1(u,f)??0,T1(u,f,F+$)};case"dec":return function(f,$=1){let F;return F=S1(u,f)??0,T1(u,f,F-$)};case"flip":return function(f){let $;return $=S1(u,f)??!1,T1(u,f,!$)};case"join":return function(f,$){return N2(function(){let F;if(F=S1(u,f),!(F!=null&&typeof F==="object"))T1(u,f,{}),F=S1(u,f);return Q1++,(()=>{try{return(()=>{let Y=[];for(let Z in $){let G=$[Z];Y.push(F[Z]=G)}return Y})()}finally{Q1--}})()})};case"keys":return function(f){let $,F,Y;return Q1++,(()=>{try{F=h1(f),$=u;for(let Z of F){if($==null)return[];$=$[b1(Z,$)]}if(!($!=null&&typeof $==="object"))return[];return Y=y1($),N1(Y).value,Object.keys(Y)}finally{Q1--}})()};case"has":return function(f){let $,F,Y,Z;return Q1++,(()=>{try{if(Y=h1(f),!(Y.length>0))return!1;F=u;for(let G=0;G<Y.length;G++){let Q=Y[G];if($=b1(Q,F),G===Y.length-1)return Z=y1(F),N1(Z).value,Object.prototype.hasOwnProperty.call(Z,$);if(F==null)return!1;F=F[$]}return!1}finally{Q1--}})()};case"del":return function(f){let $,F,Y;return Q1++,(()=>{try{if(Y=h1(f),!(Y.length>0))return;return F=u,(()=>{let Z=[];for(let G=0;G<Y.length;G++){let Q=Y[G];if($=b1(Q,F),G===Y.length-1){delete F[$];return}if(F==null)return;Z.push(F=F[$])}return Z})()}finally{Q1--}})()}}})(),_[U]=W,W};var l3=function(u={}){return V2(u)},y1=function(u){return u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u},n5=function(u){return u?.[Symbol.for("stash")]===!0},m3=function(u,U={}){let _,W,f,$,F,Y;if(Y=y1(u)||u,Y[Symbol.for("persisted")])return;Y[Symbol.for("persisted")]=!0,$=U.local?localStorage:sessionStorage,F=U.key||"__rip_app";try{if(W=$.getItem(F),W){f=JSON.parse(W);for(let Z in f){let G=f[Z];u.data[Z]=G}}}catch{}return _=function(){return(()=>{try{return $.setItem(F,JSON.stringify(y1(u.data)))}catch{return null}})()},E1(function(){let Z;return u2.value,Z=setTimeout(_,2000),function(){return clearTimeout(Z)}}),window.addEventListener("beforeunload",_)},o5=function(u,U={}){let _,W,f,$,F;if(_=F1(U.initial||null),f=F1(!1),W=F1(null),$=async function(){let Y;return f.value=!0,W.value=null,await(async()=>{try{return Y=await u(),_.value=Y}catch(Z){return W.value=Z}finally{f.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return _.value}}),Object.defineProperty(F,"loading",{get:function(){return f.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};p1=function(u){return typeof u==="function"?u:function(){return u.value}};d1=function(u,U){let _;return _={read:function(){return u.read()}},Object.defineProperty(_,"value",{get:function(){return u.value},set:function(W){return U.value=W}}),_};var k3=function(u,U){let _,W;return _=p1(U),W=F1(!!_()),E1(function(){let f;if(_())return f=setTimeout(function(){return W.value=!0},u),function(){return clearTimeout(f)};else return W.value=!1}),typeof U!=="function"?d1(W,U):W},a5=function(u,U){let _,W;return _=p1(U),W=F1(_()),E1(function(){let f,$;return $=_(),f=setTimeout(function(){return W.value=$},u),function(){return clearTimeout(f)}}),typeof U!=="function"?d1(W,U):W},r5=function(u,U){let _,W,f;return _=p1(U),f=F1(_()),W=0,E1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=u-($-W),F<=0)return f.value=Z,W=$;else return Y=setTimeout(function(){return f.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?d1(f,U):f},s5=function(u,U){let _,W;return _=p1(U),W=F1(!!_()),E1(function(){let f;if(_())return W.value=!0;else return f=setTimeout(function(){return W.value=!1},u),function(){return clearTimeout(f)}}),typeof U!=="function"?d1(W,U):W},i3=function(){let u,U,_,W;return U=new Map,W=[],u=new Map,_=function(f,$){for(let F of W)F(f,$)},{read:function(f){return U.get(f)},write:function(f,$){let F;return F=!U.has(f),U.set(f,$),u.delete(f),_(F?"create":"change",f)},del:function(f){return U.delete(f),u.delete(f),_("delete",f)},exists:function(f){return U.has(f)},size:function(){return U.size},list:function(f=""){let $,F,Y;Y=[],$=f?f+"/":"";for(let[Z]of U)if(Z.startsWith($)){if(F=Z.slice($.length),F.includes("/"))continue;Y.push(Z)}return Y},listAll:function(f=""){let $,F;F=[],$=f?f+"/":"";for(let[Y]of U)if(Y.startsWith($))F.push(Y);return F},load:function(f){for(let $ in f){let F=f[$];U.set($,F)}},watch:function(f){return W.push(f),function(){return W.splice(W.indexOf(f),1)}},getCompiled:function(f){return u.get(f)},setCompiled:function(f,$){return u.set(f,$)}}};V3=function(u){let U;if(U=u.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};y3=function(u){let U,_;return U=[],_=u.replace(/\*(\w+)/g,function(W,f){return U.push(f),"(.+)"}).replace(/:(\w+)/g,function(W,f){return U.push(f),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};h3=function(u,U){let _,W;for(let f of U)if(_=u.match(f.regex.regex),_){W={};for(let $=0;$<f.regex.names.length;$++){let F=f.regex.names[$];W[F]=decodeURIComponent(_[$+1])}return{route:f,params:W}}return null};e1=function(u,U="components"){let _,W,f,$,F,Y,Z,G,Q;Z=[],f=new Map,_=u.listAll(U);for(let z of _){if(Y=z.slice(U.length+1),!Y.endsWith(".rip"))continue;if($=Y.split("/").pop(),$==="_layout.rip"){W=Y==="_layout.rip"?"":Y.slice(0,-12),f.set(W,z);continue}if($.startsWith("_"))continue;if(G=Y.split("/"),G.length>1&&G.some(function(X,w){return w<G.length-1&&X.startsWith("_")}))continue;Q=V3(Y),F=y3(Q),Z.push({pattern:Q,regex:F,file:z,rel:Y})}return Z.sort(function(z,X){let w,K,H,A;if(K=(z.pattern.match(/:/g)||[]).length,A=(X.pattern.match(/:/g)||[]).length,w=z.pattern.includes("*")?1:0,H=X.pattern.includes("*")?1:0,w!==H)return w-H;if(K!==A)return K-A;return z.pattern.localeCompare(X.pattern)}),{routes:Z,layouts:f}};T3=function(u,U,_){let W,f,$,F;if(W=[],$=u.slice(U.length+1),F=$.split("/"),f="",_.has(""))W.push(_.get(""));for(let Y=0;Y<F.length;Y++){let Z=F[Y];if(Y===F.length-1)break;if(f=f?f+"/"+Z:Z,_.has(f))W.push(_.get(f))}return W};var d3=function(u,U={}){let _,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B;if(R=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,P=function(D){return Q&&D.startsWith(Q)?D.slice(Q.length)||"/":D},G=function(D){return Q?Q+D:D},A=function(){let D;if(z){if(D=location.hash.slice(1),!D)return"/";return D[0]==="/"?D:"/"+D}else return location.pathname+location.search+location.hash},B=function(D){return z?D==="/"?location.pathname:"#"+D.slice(1):G(D)},F=F1(P(z?A():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),f=k3(100,F1(!1)),q=e1(u,R),X=new Set,u.watch(function(D,I){if(!I.startsWith(R+"/"))return;return q=e1(u,R)}),J=function(D){let I,M,S,N,V;if(N=D.split("?")[0].split("#")[0],M=P(N),M=M[0]==="/"?M:"/"+M,S=D.split("?")[1]?.split("#")[0]||"",I=D.includes("#")?D.split("#")[1]:"",V=h3(M,q.routes),V){N2(function(){return F.value=M,$.value=V.params,Z.value=V.route,W.value=T3(V.route.file,R,q.layouts),Y.value=Object.fromEntries(new URLSearchParams(S)),_.value=I});for(let L of X)L(O.current);return!0}if(K)K({status:404,path:M});return!1},H=function(){return J(A())},typeof window<"u")window.addEventListener("popstate",H);if(w=function(D){let I,M,S;if(D.button!==0||D.metaKey||D.ctrlKey||D.shiftKey||D.altKey)return;M=D.target;while(M&&M.tagName!=="A")M=M.parentElement;if(!M?.href)return;if(S=new URL(M.href,location.origin),S.origin!==location.origin)return;if(M.target==="_blank"||M.hasAttribute("data-external"))return;return D.preventDefault(),I=z&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,O.push(I)},typeof document<"u")document.addEventListener("click",w);return O={push:function(D){return J(D)?history.pushState(null,"",B(F.read())):void 0},replace:function(D){return J(D)?history.replaceState(null,"",B(F.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(D){return X.add(D),function(){return X.delete(D)}},rebuild:function(){return q=e1(u,R)},routes:void 0,init:function(){return J(A()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",H);if(typeof document<"u")document.removeEventListener("click",w);return X.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(O,"path",{get:function(){return F.value}}),Object.defineProperty(O,"params",{get:function(){return $.value}}),Object.defineProperty(O,"route",{get:function(){return Z.value}}),Object.defineProperty(O,"layouts",{get:function(){return W.value}}),Object.defineProperty(O,"query",{get:function(){return Y.value}}),Object.defineProperty(O,"hash",{get:function(){return _.value}}),Object.defineProperty(O,"navigating",{get:function(){return f.value},set:function(D){return f.value=D}}),Object.defineProperty(O,"routes",{get:function(){return q.routes}}),O};S3=function(u,U){if(u.length!==U.length)return!1;for(let _=0;_<u.length;_++)if(u[_]!==U[_])return!1;return!0};B2=function(u){for(let U in u){let _=u[U];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _}return typeof u.default==="function"?u.default:void 0};P2=function(u){let U;U={};for(let _ in u){let W=u[_];if(typeof W==="function"&&(W.prototype?.mount||W.prototype?._create))U[_]=W}return U};L3=function(u){let U;return U=u.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,f){return f.toUpperCase()})};N3=function(u,U="components"){let _,W,f;W={};for(let $ of u.listAll(U)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(f=L3($),W[f])console.warn(`[Rip] Component name collision: ${f} (${W[f]} vs ${$})`);W[f]=$}return W};v3=function(u,U,_){let W,f,$,F;if($=u.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){F=U.split("/"),F.pop();for(let Y of u.split("/"))if(Y==="..")F.pop();else if(Y!==".")F.push(Y);if(f=F.join("/"),_.exists(f))return f}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(let Y of _.listAll("components"))if(Y.endsWith(`/${W}`))return Y;return null};i1=async function(u,U,_=null,W=null,f=null){let $,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B,D,I,M,S,N,V;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(f&&W)f.compiling??={},f.compiling[W]=!0;if(K=U(u),f){if(w=new Set,_){M=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,H=Array.from(K.matchAll(M));for(let L=H.length-1;L>=0;L--){let C=H[L];if([z,B,R,S,q]=C,N=v3(S,W,_),N===W)continue;if(!N){if(J=`[Rip] Could not resolve import: ${S}`,W)J+=` (from ${W})`;console.warn(J);continue}if(!f.blobUrls?.[N]){if(f.compiling?.[N])continue;if(G=_.read(N),G)await i1(G,U,_,N,f)}if(F=f.blobUrls?.[N],F){if(I=`${B}${F}${q}`,K=K.slice(0,C.index)+I+K.slice(C.index+z.length),R)for(let E of R.split(","))w.add(E.trim().split(/\s+as\s+/).pop().trim())}}}P={};for(let L in f.map){let C=f.map[L];if(w.has(L))continue;if(C!==W&&K.includes(`new ${L}(`)){if(!f.classes[L]){if(G=_.read(C),G){Z=await i1(G,U,_,C,f),Q=P2(Z);for(let E in Q){let n=Q[E];f.classes[E]=n}}}if(f.classes[L])P[L]=!0}}if(O=Object.keys(P),O.length>0)D=`const {${O.join(", ")}} = globalThis['${f.key}'];
2016
+ `,K=D+K}if(X=W?`// ${W}
2017
+ `:"",$=new Blob([X+K],{type:"application/javascript"}),V=URL.createObjectURL($),f&&W){if(f.blobUrls??={},f.blobUrls[W]=V,f.compiling)delete f.compiling[W]}if(A=await import(V),f){Q=P2(A);for(let L in Q){let C=Q[L];f.classes[L]=C}}if(_&&W)_.setCompiled(W,A);return A};var p3=function(u={}){let U,_,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R,O,P,q,B;if({router:P,app:U,components:$,resolver:O,compile:W,target:q,onError:J}=u,F=typeof q==="string"?document.querySelector(q):q||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],w=[],H=F,X=0,z=null,f=new Map,K=u.cacheSize||10,_=function(){let D,I;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(f.set(Q,Y),f.size>K){if(I=f.keys().next().value,D=f.get(I),D.unmounted)D.unmounted();f.delete(I)}return Y=null,Q=null}},B=function(){_();for(let D=w.length-1;D>=0;D--){let I=w[D];if(I.beforeUnmount)I.beforeUnmount();if(I.unmounted)I.unmounted();I._target?.remove()}return w=[],H=F},$.watch(function(D,I){let M;if(f.has(I)){if(M=f.get(I),M.unmounted)M.unmounted();return f.delete(I)}}),A=async function(D){let I,M,S,N,V,L,C,E,n,T,j,y,m,t,$1,b,g,x,l,e,u1,c;if({route:l,params:b,layouts:E,query:x}=D,!l)return;if(l.file===Q&&JSON.stringify(b)===JSON.stringify(G))return;return G=b,N=++X,P.navigating=!0,await(async()=>{try{if(u1=$.read(l.file),!u1){if(J)J({status:404,message:`File not found: ${l.file}`});P.navigating=!1;return}if(y=await i1(u1,W,$,l.file,O),N!==X){P.navigating=!1;return}if(I=B2(y),!I){if(J)J({status:500,message:`No component found in ${l.file}`});P.navigating=!1;return}if(j=!S3(E,Z),t=Y?._target,j)B();else _();if(m=j?F:H,j&&E.length>0){F.innerHTML="",m=F;for(let i of E){if(T=$.read(i),!T)continue;if(n=await i1(T,W,$,i,O),N!==X){P.navigating=!1;return}if(M=B2(n),!M)continue;if(L=new M({app:U,params:b,router:P}),L.beforeMount)L.beforeMount();c=document.createElement("div"),c.setAttribute("data-layout",i),m.appendChild(c),L.mount(c),w.push(L),e=c.querySelector("#content")||c,m=e}Z=[...E],H=m}else if(j)F.innerHTML="",Z=[],H=F;if(S=f.get(l.file),S){if(f.delete(l.file),m.appendChild(S._target),Y=S,Q=l.file,b)S.params=b;if(x)S.query=x;if(S.mounted)S.mounted();if(S.load)await S.load(b,x)}else{if($1=document.createElement("div"),$1.setAttribute("data-component",l.file),m.appendChild($1),C=new I({app:U,params:b,query:x,router:P}),C.beforeMount)C.beforeMount();if(C.mount($1),Y=C,Q=l.file,C.load)await C.load(b,x)}return t?.remove(),P.navigating=!1}catch(i){if(P.navigating=!1,console.error(`Renderer: error mounting ${l.file}:`,i),J)J({status:500,message:i.message,error:i});V=!1;for(let r=w.length-1;r>=0;r--){let s=w[r];if(s.onError)try{s.onError(i),V=!0;break}catch(h){console.error("Renderer: error boundary failed:",h)}}return(()=>{if(!V)return g=document.createElement("pre"),g.style.cssText="color:red;padding:1em",g.textContent=i.stack||i.message,F.innerHTML="",F.appendChild(g)})()}})()},R={start:function(){return z=E1(function(){let D;return D=P.current,D.route?A(D):void 0}),P.init(),R},stop:function(){if(B(),z)z(),z=null;return F.innerHTML=""},remount:function(){let D;return D=P.current,D.route?A(D):void 0},cache:f},R};E3=function(u){let U,_,W;return W=1000,_=30000,U=function(){let f;return f=new EventSource(u),f.addEventListener("connected",function(){return W=1000,console.log("[Rip] Hot reload connected")}),f.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),f.addEventListener("css",function(){for(let $ of document.querySelectorAll('link[rel="stylesheet"]'))u=new URL($.href),u.searchParams.set("_t",Date.now()),$.href=u.toString()}),f.onerror=function(){return f.close(),setTimeout(U,W),W=Math.min(W*2,_)}},U()};var t5=async function(u="",U={}){let _,W,f,$,F,Y,Z,G,Q,z,X,w,K,H,A,J,R;if(globalThis.__ripLaunched=!0,typeof u==="object")U=u,u="";if(u=u.replace(/\/+$/,""),R=U.target||"#app",Y=U.compile||null,w=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(R))Z=document.createElement("div"),Z.id=R.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)f=U.bundle;else if(U.bundleUrl){if(X={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)X["If-None-Match"]=$;if(H=await fetch(U.bundleUrl,{headers:X}),H.status===304)f=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(H.ok){if(f=await H.json(),G=H.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(f))}else throw Error(`launch: ${U.bundleUrl} (${H.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=l3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,f.data)_.data=f.data;if(f.routes)_.routes=f.routes;if(w&&typeof sessionStorage<"u")m3(_,{local:w==="local",key:`__rip_${u}`});if(W=i3(),f.components)W.load(f.components);if(F=`__rip_${u.replace(/\//g,"_")||"app"}`,A={map:N3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=A.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(J=d3(W,{root:"components",base:u,hash:z,onError:function(O){return console.error(`[Rip] Error ${O.status}: ${O.message||O.path}`)}}),K=p3({router:J,app:_,components:W,resolver:A,compile:Y,target:R,onError:function(O){return console.error(`[Rip] ${O.message}`,O.error)}}),K.start(),f.data?.watch)E3(`${u}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:J,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:J,renderer:K}};G1=function(u,U){if(!U)return;return u.preventDefault(),u.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(u){return globalThis.__ariaLastFocusedEl=u.target},!0),globalThis.__ariaFocusTrackerBound=!0;K3=function(u,U){if(u.isComposing)return;return(()=>{switch(u.key){case"ArrowDown":return G1(u,U.next);case"ArrowUp":return G1(u,U.prev);case"Home":case"PageUp":return G1(u,U.first);case"End":case"PageDown":return G1(u,U.last);case"Enter":case" ":return G1(u,U.select);case"Escape":return G1(u,U.dismiss);case"Tab":return U.tab?.();default:return u.key.length===1?U.char?.(u.key):void 0}})()};M3=function(u,U,_,W=[],f=null){let $,F,Y;if(!u)return;return $=function(Z){return typeof Z==="function"?Z():Z},F=(Z)=>{return![$(U),...W.map($)].some(function(G){return G?.contains(Z.target)})?_():void 0},Y=(Z)=>{if($(U)?.contains(Z.target))return;return f?f():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};H3=function(u=250){let U;return U=0,{block:function(_=u){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};A3=function(u,U,_,W=null){let f,$,F,Y,Z,G,Q,z,X,w,K;if(Y=function(H){return typeof H==="function"?H():H},f=function(){let H,A;if(H=document.activeElement,H&&H!==document.body)return H;if(A=globalThis.__ariaLastFocusedEl,A?.isConnected!==!1)return A;return null},F=Y(U),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Q=null,K=function(H){if(H){F.hidden=!1;try{F.inert=!1}catch{}return F.removeAttribute("aria-hidden")}else{try{F.inert=!0}catch{}return F.setAttribute("aria-hidden","true"),F.hidden=!0}},z=function(){let H,A;if(A=Q,Q=null,!A?.focus)return;return H=function(J=6){if(A.isConnected===!1)return;try{A.focus({preventScroll:!0})}catch{A.focus()}if(document.activeElement===A||J<=1)return;return setTimeout(function(){return H(J-1)},16)},requestAnimationFrame(function(){return H()})},Z=function(H){let A;if(A=H.newState==="open",A)Q=Y(W)||f(),K(!0);else K(!1),z();return _?.(A)},F.addEventListener("toggle",Z),X=F.matches(":popover-open"),$=!!u,X!==$){if(w=Y(W),$)Q=w||f(),K(!0);G=w&&$?{force:$,source:w}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};w3=function(u,U,_,W=!0){let f,$,F,Y,Z,G,Q,z;if(F=function(X){return typeof X==="function"?X():X},f=function(){let X,w;if(X=document.activeElement,X&&X!==document.body)return X;if(w=globalThis.__ariaLastFocusedEl,w?.isConnected!==!1)return w;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(X){if(X){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Q=function(){let X,w;if(w=G,G=null,!w?.focus)return;return X=function(K=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||K<=1)return;return setTimeout(function(){return X(K-1)},16)},requestAnimationFrame(function(){return X()})},Y=function(X){if(!W){X.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),u&&!$.open){if(!G)G=f();z(!0);try{$.showModal()}catch{}}else if(!u&&$.open)$.close();else z(!!u);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};R3=function(u,U,_="vertical"){let W,f;if(u.isComposing)return;return f=_!=="horizontal",W=_!=="vertical",(()=>{switch(u.key){case"ArrowDown":return f?G1(u,U.next):void 0;case"ArrowUp":return f?G1(u,U.prev):void 0;case"ArrowRight":return W?G1(u,U.next):void 0;case"ArrowLeft":return W?G1(u,U.prev):void 0;case"Home":case"PageUp":return G1(u,U.first);case"End":case"PageDown":return G1(u,U.last);case"Enter":case" ":return G1(u,U.select);case"Escape":return G1(u,U.dismiss);default:return u.key.length===1?U.char?.(u.key):void 0}})()};q3=function(u,U,_=4,W=!0){let f,$;if(!(u&&U))return;if($=u.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,f=U.getBoundingClientRect(),f.bottom>window.innerHeight)U.style.top=`${$.top-f.height-_}px`;if(f.right>window.innerWidth)U.style.left=`${window.innerWidth-f.width-_}px`;return W?U.style.visibility="visible":void 0};var e5='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';P3=function(u){let U;return U=function(_){let W,f,$;if(_.key!=="Tab")return;if($=Array.from(u.querySelectorAll(e5)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],f=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),f.focus()):void 0:document.activeElement===f?(_.preventDefault(),W.focus()):void 0},u.addEventListener("keydown",U),function(){return u.removeEventListener("keydown",U)}};I3=function(u,U){let _,W;if(!u)return;if(W=u.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,u.setAttribute("aria-labelledby",W.id);if(_=u.querySelector("p"),_)return _.id??=`${U}-desc`,u.setAttribute("aria-describedby",_.id)};j1=[];D3=function(u){let U;if(U=window.scrollY,j1.push({instance:u,scrollY:U}),j1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};B3=function(u){let U,_;if(U=j1.findIndex(function(W){return W.instance===u}),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,_)};E2=function(){let u,U,_;return(()=>{try{if(!document?.createElement)return!1;return u=document.createElement("div"),U=document.createElement("div"),u.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",U.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(u),document.body.appendChild(U),_=U.getBoundingClientRect(),u.remove(),U.remove(),_.top>50}catch{return!1}})()}();O3=function(u,U,_={}){let W,f,$,F,Y,Z,G;if(!(u&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,f=_.matchWidth??!1,E2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,u.style.anchorName=$,U.style.positionAnchor=$,U.style.position="fixed",U.style.inset="auto",U.style.margin="0",U.style.positionArea=Y,U.style.positionTry="flip-block, flip-inline, flip-block flip-inline",U.style.positionVisibility="anchors-visible",[G]=Y.split(" "),U.style.marginTop="",U.style.marginBottom="",U.style.marginLeft="",U.style.marginRight="",G){case"bottom":U.style.marginTop=`${F}px`;break;case"top":U.style.marginBottom=`${F}px`;break;case"left":U.style.marginRight=`${F}px`;break;case"right":U.style.marginLeft=`${F}px`;break}return f?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=u.getBoundingClientRect(),U.style.position="fixed",U.style.inset="auto",U.style.margin="0",[G,W]=Y.split(" "),W??="start",G){case"bottom":U.style.top=`${Z.bottom+F}px`;break;case"top":U.style.bottom=`${window.innerHeight-Z.top+F}px`;break;case"left":U.style.right=`${window.innerWidth-Z.left+F}px`;break;case"right":U.style.left=`${Z.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(W){case"start":U.style.left=`${Z.left}px`;break;case"center":U.style.left=`${Z.left+Z.width/2}px`,U.style.transform="translateX(-50%)";break;case"end":U.style.right=`${window.innerWidth-Z.right}px`;break}else switch(W){case"start":U.style.top=`${Z.top}px`;break;case"center":U.style.top=`${Z.top+Z.height/2}px`,U.style.transform="translateY(-50%)";break;case"end":U.style.bottom=`${window.innerHeight-Z.bottom}px`;break}return f?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:K3,rovingNav:R3,popupDismiss:M3,popupGuard:H3,bindPopover:A3,bindDialog:w3,positionBelow:q3,trapFocus:P3,wireAria:I3,lockScroll:D3,unlockScroll:B3,position:O3,hasAnchor:E2};globalThis.ARIA??=globalThis.__aria;I1.modules["ui.rip"]=f2;for(let[u,U]of Object.entries(f2))if(typeof U==="function")globalThis[u]=U;})();