rip-lang 3.14.4 → 3.15.0

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,4 @@
1
- (()=>{var{defineProperty:Y2,getOwnPropertyNames:o3,getOwnPropertyDescriptor:r3}=Object,s3=Object.prototype.hasOwnProperty;function t3(f){return this[f]}var e3=(f)=>{var U=(j2??=new WeakMap).get(f),_;if(U)return U;if(U=Y2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var W of o3(f))if(!s3.call(U,W))Y2(U,W,{get:t3.bind(f,W),enumerable:!(_=r3(f,W))||_.enumerable})}return j2.set(f,U),U},j2;var u4=(f)=>f;function f4(f,U){this[f]=u4.bind(null,U)}var b2=(f,U)=>{for(var _ in U)Y2(f,_,{get:U[_],enumerable:!0,configurable:!0,set:f4.bind(U,_)})};var $0={};b2($0,{rip:()=>J3,processRipScripts:()=>A3,parser:()=>z1,importRip:()=>S1,getStdlibCode:()=>m1,getReactiveRuntime:()=>k1,getComponentRuntime:()=>i1,formatSExpr:()=>X1,formatErrorHTML:()=>R2,formatError:()=>I1,compileToJS:()=>D1,compile:()=>f2,VERSION:()=>Q3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>l1,CodeEmitter:()=>Y1,BUILD_DATE:()=>z3});var $4={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,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},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:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,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,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,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,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-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,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,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,147,148,149,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-33,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,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,36,25,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,36,25,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,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,150,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,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,167,107,108,165,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,169,170,30,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,172,170,30,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,180,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,181,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,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,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,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,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-89,-89,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,192,191,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,203,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,94,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,211,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,212,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,145,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,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,-268,-268,214,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,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,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,-265,-265,222,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,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,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-90,-90,-90,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-91,-91,-91,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,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,245,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,12,3,10,1,1,1,2,2,1,7,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,246,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,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,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-250,-250,262,263,-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,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,86,264,1,86,265,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,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,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,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,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,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-92,-92,-92,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,290,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-55,-55,-55,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-56,-56,-56,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-57,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-59,-59,-59,6,57,5,1,1,2,1,307,110,111,304,305,306,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,12,3,10,2,3,2,1,15,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,308,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,317,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,330,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,331,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,336,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,337,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,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,7,3,10,2,1,2,2,1,13,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,341,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,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,363,263,2,60,1,364,263,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,365,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,367,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,371,370,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,374,373,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,377,376,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,380,379,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,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,12,3,10,1,1,1,2,2,1,7,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,362,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,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,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,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,387,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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-420,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-421,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-422,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-423,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-424,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,393,391,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,394,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-88,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,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,12,3,10,2,3,2,1,15,4,2,1,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,419,420,421,30,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,417,418,422,423,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,424,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,448,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-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,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-89,-89,-89,2,6,146,112,452,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,453,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,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-186,-186,-186,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,12,3,10,1,1,1,2,2,1,11,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,362,255,170,30,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,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,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,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,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,461,-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,-198,-198,-198,-198,5,6,63,1,5,36,-189,-189,-189,-189,-189,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,12,3,10,2,1,2,2,1,7,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,362,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,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,16,3,10,1,1,1,2,2,1,15,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,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,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,12,3,10,1,1,3,2,1,15,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,-246,464,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,2,60,1,465,263,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,466,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-235,-235,-235,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-58,-58,-58,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-308,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,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,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,483,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,493,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-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,307,110,111,494,495,306,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,496,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,498,497,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,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-435,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-283,131,-283,-283,-283,-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,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-94,-94,-94,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-95,-95,-95,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,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,7,3,10,2,1,2,2,1,13,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,510,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,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,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,515,-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,-48,-48,-48,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,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,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,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,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,523,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-236,-236,-236,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,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,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,532,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-79,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-85,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-277,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,548,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,554,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,555,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,557,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,560,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,562,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,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,12,3,10,2,3,2,1,15,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,568,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,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,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,570,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,130,-271,-271,-271,-271,-271,-271,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,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,598,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,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,461,-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,-199,-199,-199,-199,5,6,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,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,9,3,3,3,7,1,1,1,2,2,1,1,6,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,-262,362,255,170,30,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,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,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,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,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,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,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,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,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,1,3,1,2,1,1,7,2,6,13,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,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,63,50,614,615,613,37,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,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,617,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,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,5,1,2,1,1,7,2,6,13,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,-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,5,1,2,1,1,7,2,6,13,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,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,620,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-310,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,632,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,644,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,647,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,648,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,649,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,650,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,653,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,654,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-98,-98,-98,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-104,-104,-104,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,657,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,663,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,667,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,119,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,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,-262,362,255,170,30,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,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,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,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,678,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,167,107,108,677,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,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-428,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,-291,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,696,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,697,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,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,5,1,2,1,1,7,2,6,13,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,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,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,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,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,12,3,10,2,3,2,1,15,4,2,1,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,-363,419,420,421,30,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,-363,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,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,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,12,3,10,2,3,2,1,15,4,2,1,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,419,420,421,30,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,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-270,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,728,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,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,12,3,10,2,1,2,2,1,7,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,362,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,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,36,-190,-190,-190,-190,-190,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,12,3,10,1,1,1,2,2,1,11,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,362,255,170,30,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,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,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,12,3,10,2,1,2,2,1,7,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,362,255,170,30,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,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,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,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,22,70,30,62,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,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,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,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,738,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,749,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,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,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-100,-100,-100,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-101,-101,-101,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-105,-105,-105,22,70,30,62,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,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-237,-237,-237,-237,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,257,88,89,94,771,68,44,45,95,96,256,90,92,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,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,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-76,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-82,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,776,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,777,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,779,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,780,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,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,5,1,2,1,1,7,2,6,13,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,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,788,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,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,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,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,5,1,2,1,1,7,2,6,13,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,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,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,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,810,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,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,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,813,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,821,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,822,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,823,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-97,-97,-97,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-99,-99,-99,4,6,64,5,19,-165,-165,-165,-165,1,94,827,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,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,5,1,2,1,1,7,2,6,13,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,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,840,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,841,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,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,5,1,2,1,1,7,2,6,13,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,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,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,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-334,-334,-334,-334,-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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-338,-338,-338,-338,-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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-102,-102,-102,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-103,-103,-103,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-106,-106,-106,3,6,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,863,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,864,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,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,5,1,2,1,1,7,2,6,13,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,-293,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,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,5,1,2,1,1,7,2,6,13,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,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-111,-111,-111,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-334,-334,882,-334,890,-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,1,103,891,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],U=[],_=0,W,u,$,F;while(_<f.length){W=f[_++],u={},$=0,F=[];while(W--)$+=f[_++],F.push($);for($ of F)u[$]=f[_++];U.push(u)}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,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,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,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,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,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,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,182,1,182,3,101,1,101,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,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,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,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,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:(f,U,_,W)=>{let u=U,$=U.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[$]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[$-2],u[$]];case 5:case 63:case 201:case 363:return u[$-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[$];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[$]];case 60:return["str",...u[$-1]];case 62:case 195:case 199:case 297:return[...u[$-1],u[$]];case 64:case 237:case 241:case 381:case 410:return u[$-2];case 65:return"";case 68:return["regex",u[$-1]];case 69:return["regex-index",u[$-2],u[$]];case 70:return["regex-index",u[$],null];case 71:case 125:return["=",u[$-2],u[$]];case 72:return["=",u[$-3],u[$]];case 73:case 126:return["=",u[$-4],u[$-1]];case 74:return["state",u[$-2],u[$]];case 75:return["state",u[$-3],u[$]];case 76:return["state",u[$-4],u[$-1]];case 77:case 79:return["computed",u[$-2],u[$]];case 78:return["computed",u[$-3],u[$]];case 80:return["readonly",u[$-2],u[$]];case 81:return["readonly",u[$-3],u[$]];case 82:return["readonly",u[$-4],u[$-1]];case 83:case 85:return["effect",u[$-2],u[$]];case 84:return["effect",u[$-3],u[$]];case 86:case 87:case 88:return["effect",null,u[$]];case 94:case 107:case 145:return[".",u[$-2],u[$]];case 95:case 108:case 146:return["?.",u[$-2],u[$]];case 96:case 98:case 109:case 147:return["[]",u[$-3],u[$-1]];case 97:case 99:case 110:case 148:return["[]",u[$-5],u[$-2]];case 100:case 149:return[".{}",u[$-4],...u[$-2]];case 101:case 150:return["?.{}",u[$-4],...u[$-2]];case 102:case 151:return[".{}",u[$-6],...u[$-3]];case 103:case 152:return["?.{}",u[$-6],...u[$-3]];case 104:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 105:return["optindex",u[$-4],u[$-1]];case 106:return["optindex",u[$-6],u[$-2]];case 111:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 112:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 113:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 114:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 115:return["object",...u[$-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[$-3],u[$]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[$-5],...u[$-2]];case 121:return[null,u[$],u[$]];case 123:case 160:return[":",u[$-2],u[$]];case 124:case 161:return[":",u[$-4],u[$-1]];case 131:return["dynamicKey",u[$-1]];case 132:return["[]","this",u[$-1]];case 134:case 135:case 162:case 230:return["...",u[$]];case 141:case 234:return["super",...u[$]];case 142:case 143:case 144:case 232:case 235:return[u[$-1],...u[$]];case 153:return["map-literal"];case 154:return["map-literal",...u[$-2]];case 166:return[u[$],u[$],null];case 167:return[u[$-2],u[$],null];case 168:return[u[$-2],u[$-2],u[$]];case 169:return[u[$-4],u[$-2],u[$]];case 186:return["array"];case 187:return["array",...u[$-1]];case 188:return["array",...u[$-2],...u[$-1]];case 190:return[...u[$-2],...u[$]];case 191:return[...u[$-3],...u[$]];case 192:return[...u[$-2],...u[$-1]];case 193:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 197:return[...u[$]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[$-2],u[$-3],u[$-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[$-1],u[$-2],u[$]];case 206:return[u[$],u[$-1],null];case 207:return[u[$-1],null,u[$]];case 208:return[u[$],null,null];case 209:return["def",u[$-4],u[$-2],u[$]];case 210:return["def",u[$-1],[],u[$]];case 211:case 213:return[u[$-1],u[$-3],u[$]];case 212:case 214:return[u[$-1],[],u[$]];case 223:case 346:return["default",u[$-2],u[$]];case 224:return["rest",u[$]];case 225:return["expansion"];case 231:return["tagged-template",u[$-1],u[$]];case 233:return["optcall",u[$-2],...u[$]];case 249:case 250:return"this";case 251:return[".","this",u[$]];case 252:return[".","super",u[$]];case 253:return["[]","super",u[$-1]];case 254:return["[]","super",u[$-2]];case 255:return[".","new",u[$]];case 256:return[".","import",u[$]];case 257:return["block"];case 258:return["block",...u[$-1]];case 259:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 260:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 263:return["return",u[$]];case 264:return["return",u[$-1]];case 265:return["return"];case 266:return["throw",u[$]];case 267:return["throw",u[$-1]];case 268:return["yield"];case 269:return["yield",u[$]];case 270:return["yield",u[$-1]];case 271:return["yield-from",u[$]];case 272:return["if",u[$-1],u[$]];case 273:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 274:return["if",["!",u[$-1]],u[$]];case 275:return["if",["!",u[$-3]],u[$-2],u[$]];case 277:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 279:case 280:return["if",u[$],[u[$-2]]];case 281:return["?:",u[$-4],u[$-6],u[$-1]];case 282:return["?:",u[$-2],u[$-4],u[$]];case 283:case 284:return["if",["!",u[$]],[u[$-2]]];case 285:return["try",u[$]];case 286:return["try",u[$-1],u[$]];case 287:return["try",u[$-2],u[$]];case 288:return["try",u[$-3],u[$-2],u[$]];case 289:case 290:case 417:case 420:case 422:return[u[$-1],u[$]];case 291:return[null,u[$]];case 292:return["switch",u[$-3],u[$-1],null];case 293:return["switch",u[$-5],u[$-3],u[$-1]];case 294:return["switch",null,u[$-1],null];case 295:return["switch",null,u[$-3],u[$-1]];case 298:return["when",u[$-1],u[$]];case 299:return["when",u[$-2],u[$-1]];case 300:return["while",u[$]];case 301:return["while",u[$-2],u[$]];case 302:return["while",["!",u[$]]];case 303:return["while",["!",u[$-2]],u[$]];case 304:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 305:case 306:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 308:return["loop",u[$]];case 309:return["loop",[u[$]]];case 310:return["loop-n",u[$-1],u[$]];case 311:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 312:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 313:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 314:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 315:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 316:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 317:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 318:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 319:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 320:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 321:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 322:case 324:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 323:case 325:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 326:return["for-in",[],u[$-1],null,null,u[$]];case 327:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 328:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 329:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 330:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 331:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 332:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 333:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 334:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 335:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 336:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 337:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 338:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 339:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 340:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 341:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 342:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 343:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 344:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[$-2],u[$]];case 349:return["class",null,null];case 350:return["class",null,null,u[$]];case 351:return["class",null,u[$]];case 352:return["class",null,u[$-1],u[$]];case 353:return["class",u[$],null];case 354:return["class",u[$-1],null,u[$]];case 355:return["class",u[$-2],u[$]];case 356:return["class",u[$-3],u[$-1],u[$]];case 357:return["enum",u[$-1],u[$]];case 358:return["schema",u[$]];case 359:return["component",null,["block",...u[$-1]]];case 360:return["component",u[$-3],["block",...u[$-1]]];case 367:return["offer",u[$]];case 368:return["accept",u[$]];case 369:case 370:return["render",u[$]];case 371:case 374:return["import","{}",u[$]];case 372:case 373:return["import",u[$-2],u[$]];case 375:return["import",u[$-4],u[$]];case 376:return["import",u[$-4],u[$-2],u[$]];case 377:return["import",u[$-7],u[$-4],u[$]];case 388:return["*",u[$]];case 389:return["export","{}"];case 390:return["export",u[$-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[$]];case 395:return["export",["=",u[$-2],u[$]]];case 396:return["export",["=",u[$-3],u[$]]];case 397:return["export",["=",u[$-4],u[$-1]]];case 402:return["export-default",u[$]];case 403:return["export-default",u[$-1]];case 404:return["export-all",u[$]];case 405:return["export-from","{}",u[$]];case 406:return["export-from",u[$-4],u[$]];case 418:case 419:case 421:case 457:return["do-iife",u[$]];case 423:return["-",u[$]];case 424:return["+",u[$]];case 425:return["?",u[$-1]];case 426:return["presence",u[$-1]];case 427:return["await",u[$]];case 428:return["await",u[$-1]];case 429:return["--",u[$],!1];case 430:return["++",u[$],!1];case 431:return["--",u[$-1],!0];case 432:return["++",u[$-1],!0];case 433:return["+",u[$-2],u[$]];case 434:return["-",u[$-2],u[$]];case 436:return["**",u[$-2],u[$]];case 439:return["&",u[$-2],u[$]];case 440:return["^",u[$-2],u[$]];case 441:return["|",u[$-2],u[$]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[$-1],u[$-2],u[$]];case 448:return["&&",u[$-2],u[$]];case 449:return["||",u[$-2],u[$]];case 450:return["??",u[$-2],u[$]];case 451:return["|>",u[$-2],u[$]];case 453:return["?:",u[$-4],u[$-2],u[$]];case 455:return[u[$-3],u[$-4],u[$-1]];case 456:return[u[$-2],u[$-3],u[$]]}},parseError(f,U){let _,W,u,$,F,Y,Z;if(U.recoverable)return this.trace(f);else throw u=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${u}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${f}`,W=Error(F),W.hash=U,W},parse(f){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S,O,P,M,I;[B,I,Q]=[[0],[null],[]],[J,M,O,S,w]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),H={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let V=this.ctx[L];H.ctx[L]=V}if(Z.setInput(f,H.ctx),[H.ctx.lexer,H.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};P=Z.loc,Q.push(P),this.parseError=typeof H.ctx.parseError==="function"?H.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let L;if(L=Z.lex()||U,typeof L!=="number")L=this.symbolIds[L]||L;return L},R=K=q=W=D=A=F=z=$=null,X={};while(!0){if(q=B[B.length-1],R==null)R=Y();if(W=J[q]?.[R],W==null){if(u="",!w)$=(()=>{let L=[];for(let V in J[q]){if(!Object.hasOwn(J[q],V))continue;if(this.tokenNames[V]&&V>_)L.push(`'${this.tokenNames[V]}'`)}return L})();throw u=(()=>{if(Z.showPosition)return`Parse error on line ${O+1}:
2
- ${Z.showPosition()}
3
- Expecting ${$.join(", ")}, got '${this.tokenNames[R]||R}'`;else return`Parse error on line ${O+1}: Unexpected ${R===U?"end of input":`'${this.tokenNames[R]||R}'`}`,this.parseError(u,{text:Z.match,token:this.tokenNames[R]||R,line:Z.line,loc:P,expected:$})})(),Error(u)}if(W>0)if(B.push(R,W),I.push(Z.text),Q.push(Z.loc),R=null,!K){if([S,M,O,P]=[Z.len,Z.text,Z.line,Z.loc],w>0)w--}else[R,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],X.$=I[I.length-F],G=Q[Q.length-(F||1)],X._$={r:G.r,c:G.c},D=this.ruleActions.call(X,-W,I,Q,H.ctx),D!=null)X.$=D;if(Array.isArray(X.$))X.$.loc=X._$;if(F)B.length-=F*2,I.length-=F,Q.length-=F;B.push(this.ruleTable[-W*2]),I.push(X.$),Q.push(X._$),z=J[B[B.length-2]][B[B.length-1]],B.push(z)}else if(W===0)return I[I.length-1]}},trace(){},ctx:{}},U4=(f={})=>{let U=Object.create($4);return Object.defineProperty(U,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),U},z1=U4();var W0=z1.parse.bind(z1);var W4=new Set(["input","shape","model","mixin","enum"]),c2="input",_4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),Y4=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 a1(f,U){if(f)f.prototype.rewriteSchema=function(){F4(this)},g1._LexerCtor=f;if(U)U.prototype.emitSchema=function(_,W,u){return P4(this,_,W,u)},U.prototype.getSchemaRuntime=function(){return c4()}}var h2=new Set(["defaultMaxString"]);function F4(f){let U=f.tokens,_={defaultMaxString:null},W=0,u=0;while(u<U.length){let $=U[u];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=Z4(U,u,_,W);if(F>0){U.splice(u,F);continue}if(G4(U,u))Q4(f,U,u,_);u++}}function Z4(f,U,_,W){let u=f[U];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[U+1]?.[0]!==".")return 0;let $=f[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(f[U+3]?.[0]!=="=")return 0;let F=f[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!h2.has(Y))throw g($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...h2].join(", ")}.`);if(W>0)throw g($,`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=f[U+4];if(!Z||Z[0]!=="NUMBER")throw g(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 g(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(f[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function G4(f,U){let _=f[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=f[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(!Y4.has($))return!1}}let u=U+1;if(f[u]?.[0]==="SYMBOL")u++;if(f[u]?.[0]==="TERMINATOR"){if(f[u][1]===";")return!0;u++}return f[u]?.[0]==="INDENT"}function Q4(f,U,_,W){let u=U[_],$=null,F=c2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let J=$[1];if(!W4.has(J))throw g($,`Unknown schema kind :${J}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=J,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let J=Y+1,K=J,D=0,w=U[J]?.loc?.r??null;while(K<U.length){let X=U[K],H=X[0];if(D===0&&w!=null&&X.loc&&X.loc.r>w)break;if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="PARAM_START")D++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="PARAM_END")D--;else if(D===0&&H==="TERMINATOR"&&X[1]!==";")break;else if(D===0&&(H==="INDENT"||H==="OUTDENT"))break;else if(D===0&&H==="->")throw g(X,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(D===0&&H==="EFFECT")throw g(X,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(D===0&&H==="UNARY_MATH"&&X[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw g(X,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>J&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(J,K),G=K,!Z.length)throw g(u,`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 g(u,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let J=Y,K=v4(U,J);if(K<0)throw g(U[J],"Unterminated schema body.");Z=U.slice(J+1,K),G=K+1}let Q=z4(F,Z,{schemaLoc:u.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=G2("SCHEMA","schema",u),A=G2("SCHEMA_BODY",F,u);A.data={descriptor:Q},U.splice(_,G-_,z,A)}function z4(f,U,_){let W=[],u=A4(U);if(f===c2&&!_.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",_.kind="enum";if(f==="enum")for(let $ of u)R4($,W);else{for(let $ of u)X4(f,$,W,_);if(f==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw g({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 g({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(f==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({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 g({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(f==="shape")for(let $ of W){if($.tag==="hook")throw g({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 g({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:f,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function A4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}var J4=new Set(["string","email","url","phone","zip"]);function X4(f,U,_,W){let u=U[0];if(!u)return;if(u[0]==="@"){let S=U[1];if(!S||S[0]!=="IDENTIFIER"&&S[0]!=="PROPERTY")throw g(u,"Expected directive name after '@'.");let O=U.slice(2),P=S[1];if(P==="ensure"){let I=M4(O,u);for(let L of I)_.push({tag:"ensure",name:"ensure",message:L.message,paramTokens:L.paramTokens,bodyTokens:L.bodyTokens,loc:L.loc,headerLoc:u.loc});return}let M=null;if(P==="belongs_to"||P==="has_many"||P==="has_one"||P==="one"||P==="many"||P==="mixin"){let I=O[0];if(I&&(I[0]==="IDENTIFIER"||I[0]==="PROPERTY")){let L=I.data?.predicate===!0;if(!L&&O[1]?.[0]==="?")L=!0;M=[{target:I[1],optional:L}]}}_.push({tag:"directive",name:P,args:M,argTokens:O,loc:u.loc});return}if(u[0]==="PROPERTY"){D4(f,u,U,_);return}if(u[0]!=="IDENTIFIER")throw g(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=u[1];if(U[1]?.[0]===":")throw g(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=y4(u),Y=1;while(Y<U.length){let S=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(S[0]==="#"||S[0]==="?"||S[0]==="!"){F.push(S[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw g(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 S=U[Y+1],O=S?.[0]??"<end>";throw g(S||U[Y],`Literal unions contain string literals only. '${O}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw g(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,A=U[Y]?.[0],J=U[Y+1]?.[0];if((A==="["||A==="INDEX_START")&&(J==="]"||J==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw g(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let w=null,X=null,H=null,q=null,B=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let S=c1(K);for(let O=0;O<S.length;O++){let P=S[O];while(P.length&&(P[0][0]==="INDENT"||P[0][0]==="TERMINATOR"))P=P.slice(1);if(!P.length)continue;if(P[0][0]!=="->"){let I=w4(P);if(I>0)throw g(P[I],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let M=P[0];if(M[0]!=="->"){while(P.length&&(P[P.length-1][0]==="OUTDENT"||P[P.length-1][0]==="TERMINATOR"))P=P.slice(0,-1);if(!P.length)continue;M=P[0]}if(M[0]==="["||M[0]==="INDEX_START"){if(w)throw g(M,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);w=P}else if(M[0]==="{"){if(X)throw g(M,`Field '${$}' has more than one '{…}' attrs bracket.`);X=P}else if(K4(P)){if(H)throw g(M,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);H=P}else if(M[0]==="REGEX"&&P.length===1){if(q)throw g(M,`Field '${$}' has more than one regex constraint.`);q=M}else if(M[0]==="->"){if(O!==S.length-1)throw g(M,`Transform '-> …' must be the last element on the field line for '${$}'.`);B=P.slice(1)}else throw g(M,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw g(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let R=null;if(W?.defaultMaxString!=null&&!q&&!Q&&J4.has(G))R=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:w,attrsTokens:X,rangeTokens:H,regexToken:q,transformTokens:B,defaultMax:R,loc:u.loc})}function w4(f){let U=0;for(let _=0;_<f.length;_++){let W=f[_][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 K4(f){let U=0,_=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(f[U]?.[0]==="NUMBER")U++,_=!0;if(f[U]?.[0]!=="..")return!1;U++;let W=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(f[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===f.length}function D4(f,U,_,W){let u=U[1],$=_[1];if(!$||$[0]!==":")throw g(U,`Expected ':' after '${u}' 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 g($,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),A=_4.has(u),J;if(Z==="~>")J="computed";else if(Z==="!>")J="derived";else if(f==="model"&&A)J="hook";else J="method";W.push({tag:J,name:u,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function M4(f,U){let _=f;if(!_.length)throw g(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 g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=H4(_,W),F=q4($);if(F.length===0)throw g(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw g(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(y2(F[Z],F[Z+1],W));return Y}let u=c1(_);if(u.length<2)throw g(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw g(W,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[y2(u[0],u[1],W)]}function H4(f,U){let _=0,W=[];for(let u=0;u<f.length;u++){let $=f[u],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(u<f.length-1)throw g(f[u+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 g(U,"@ensure: unclosed '['.")}function q4(f){let U=[],_=[],W=0;for(let u of f){let $=u[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(u)}if(_.length)U.push(_);return U}function y2(f,U,_){if(!f||!f.length)throw g(_,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw g(f[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=f[0],u=JSON.parse(W[1]);if(!U||!U.length)throw g(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw g($,"@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],A=z[0];if(A==="("||A==="PARAM_START")F++;if(A===")"||A==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw g($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw g(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw g(G,"@ensure: predicate function body is empty.");return{message:u,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function O4(f,U){if(!f.length)return[];return c1(f).map((W)=>{let u=W.filter(($)=>$[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw g(u[0]||U,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function R4(f,U){let _=f[0];if(!_)return;if(_[0]==="@"){let $=f[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw g(_,`: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 g(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],u=f[1];if(!u){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(u[0]===":")throw g(u,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(f.length>2)throw g(f[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:g4(u),loc:_.loc})}function P4(f,U,_,W){let u=_[0],$=B4(u);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let F=f._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>I4(f,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function B4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function I4(f,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?C4(U.rangeTokens,U):null,u=U.constraintTokens?L4(U.constraintTokens,U):null,$=U.regexToken?V4(U.regexToken):null,F=T4(W,u,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${N4(f,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=b4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=E4(f,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=S4(f,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 S4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return f.emit(W,"value")}function N4(f,U){let _=g1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return f.emit(W,"value")}function E4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let u=["->",O4(U.paramTokens,U),_];return f.emit(u,"value")}function L4(f,U){let _=f.slice(1,-1),W=c1(_);if(!W.length)return{c:null};let u=W.map(($)=>x2($,U));if(u.length===1){let $=u[0];if($ instanceof RegExp)throw g(f[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw g(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every(($)=>typeof $==="number"))throw g(f[0],`Range + default is two separate constraints in v2. Replace '[${u[0]}, ${u[1]}, ${u[2]}]' with '${u[0]}..${u[1]}, [${u[2]}]'.`);throw g(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function V4(f){let U=f[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw g(f,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw g(f,`Invalid regex '${U}': ${W.message}`)}}function C4(f,U){let _=0,W=()=>{let Y=1;if(f[_]?.[0]==="-")Y=-1,_++;let Z=f[_++],G=x2([Z],U);if(typeof G!=="number")throw g(Z,"Range endpoints must be numeric literals.");return Y*G},u;if(f[_]?.[0]!=="..")u=W();_++;let $;if(_<f.length)$=W();if(u!==void 0&&$!==void 0&&u>$)throw g(f[0],`Range '${u}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(u!==void 0)F.min=u;if($!==void 0)F.max=$;return F}function T4(f,U,_,W){let u=U&&U.c||{},$=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if($&&u.min===void 0&&W?.modifiers?.includes("!"))u.min=1}if(_)u.regex=_;if(W?.defaultMax!=null&&u.max===void 0)u.max=W.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let F=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",Y=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw g({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(u.min===void 0&&u.max===void 0&&u.default===void 0&&u.regex===void 0)return null;return j4(u)}function j4(f){let U=[];if(f.min!==void 0)U.push(`min: ${F2(f.min)}`);if(f.max!==void 0)U.push(`max: ${F2(f.max)}`);if(f.default!==void 0)U.push(`default: ${F2(f.default)}`);if(f.regex!==void 0)U.push(`regex: ${f.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function F2(f){if(f===null)return"null";if(f===void 0)return"undefined";if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||typeof f==="boolean")return String(f);if(f instanceof RegExp)return f.toString();return JSON.stringify(f)}function b4(f,U){if(f==="idStart"&&!U.length)throw g(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!U.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw g(_||U[U.length-1],`@${f} requires a target name.`);let W=_[1],u=_.data?.predicate===!0,$=1;if(!u&&U[$]?.[0]==="?")u=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(u)F.push("optional: true");return`[{${F.join(", ")}}]`}if(f==="index"){let _=[],W=!1,u=0;if(U[u]?.[0]==="IDENTIFIER"||U[u]?.[0]==="PROPERTY")_.push(U[u][1]),u++;else if(U[u]?.[0]==="["||U[u]?.[0]==="INDEX_START"){let F=[],Y=1;u++;while(u<U.length&&Y>0){let Z=U[u];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){u++;break}}F.push(Z),u++}for(let Z of c1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[u]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}if(f==="idStart"){let _=U[0],W=1,u=_;if(_&&_[0]==="-"&&U[1]&&U[1][0]==="NUMBER")W=-1,u=U[1];if(!u||u[0]!=="NUMBER")throw g(_||U[U.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let $=W*Number(u[1]);if(!Number.isInteger($))throw g(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+$+"}]"}return null}function x2(f,U){if(!f.length)throw g(null,"Empty constraint value.");let _=f[0],W=_[0];if(f.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 h4(_[1]);if(W==="SYMBOL")return _[1]}if(f.length===2&&W==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw g(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function h4(f){let U=typeof f==="string"?f:String(f),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function g1(f){if(!f||!f.length)return null;let U=g1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=f.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(G2("TERMINATOR",`
4
- `,f[f.length-1]));try{_.rewriteTypes?.(),_.tagPostfixConditionals?.(),_.rewriteTaggedTemplates?.(),_.addImplicitBracesAndParens?.(),_.addImplicitCallCommas?.()}catch(G){throw g(f[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 y4(f){let U=[],_=f.data;if(_?.await===!0)U.push("!");if(_?.predicate===!0)U.push("?");return U}function v4(f,U){let _=0;for(let W=U;W<f.length;W++)if(f[W][0]==="INDENT")_++;else if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}return-1}function c1(f){let U=[],_=[],W=0;for(let u of f){let $=u[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(u)}if(_.length)U.push(_);return U}function g4(f){let U=f[0],_=f[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 G2(f,U,_){let W=[f,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 g(f,U){let _=f?.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 Z2=1,l2=`
1
+ (()=>{var{defineProperty:w2,getOwnPropertyNames:t3,getOwnPropertyDescriptor:k3}=Object,p3=Object.prototype.hasOwnProperty;function e3(f){return this[f]}var u4=(f)=>{var l=(E2??=new WeakMap).get(f),c;if(l)return l;if(l=w2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var h of t3(f))if(!p3.call(l,h))w2(l,h,{get:e3.bind(f,h),enumerable:!(c=k3(f,h))||c.enumerable})}return E2.set(f,l),l},E2;var f4=(f)=>f;function _4(f,l){this[f]=f4.bind(null,l)}var y2=(f,l)=>{for(var c in l)w2(f,c,{get:l[c],enumerable:!0,configurable:!0,set:_4.bind(l,c)})};var a5={};y2(a5,{rip:()=>U3,processRipScripts:()=>R3,parser:()=>A1,importRip:()=>J1,getStdlibCode:()=>m1,getReactiveRuntime:()=>g1,getComponentRuntime:()=>v1,formatSExpr:()=>R1,formatErrorHTML:()=>Q2,formatError:()=>G1,compileToJS:()=>z1,compile:()=>f2,VERSION:()=>n3,RipError:()=>i1,Lexer:()=>F1,Compiler:()=>j1,CodeEmitter:()=>h1,BUILD_DATE:()=>A3});var B2=`
5
2
  // ---- Rip Schema Runtime ----------------------------------------------------
6
3
  // Four layers, lazy compilation:
7
4
  // 1 (descriptor) object passed to __schema({...}). Raw metadata.
@@ -20,18 +17,34 @@ Expecting ${$.join(", ")}, got '${this.tokenNames[R]||R}'`;else return`Parse err
20
17
 
21
18
  var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function() {
22
19
  if (typeof globalThis !== 'undefined' && globalThis.__ripSchema) {
23
- if (globalThis.__ripSchema.__version !== ${Z2}) {
20
+ if (globalThis.__ripSchema.__version !== 1) {
24
21
  throw new Error(
25
22
  "rip-schema runtime version mismatch: loaded runtime is v" +
26
23
  globalThis.__ripSchema.__version +
27
- ", but this bundle expects v" + ${Z2} +
24
+ ", but this bundle expects v" + 1 +
28
25
  ". Two compiled Rip bundles with incompatible schema runtimes are loaded in the same process."
29
26
  );
30
27
  }
31
28
  return globalThis.__ripSchema;
32
29
  }
33
30
 
34
- class SchemaError extends Error {
31
+ `,b2=`
32
+ // __schemaSetAdapter is server/migration-only. In validate or browser
33
+ // modes it doesn't exist; export an undefined slot so destructure works.
34
+ const __schemaSetAdapterExport = typeof __schemaSetAdapter !== 'undefined'
35
+ ? __schemaSetAdapter
36
+ : undefined;
37
+ const exports = {
38
+ __schema, SchemaError, __SchemaRegistry,
39
+ __schemaSetAdapter: __schemaSetAdapterExport,
40
+ __version: 1,
41
+ };
42
+ if (typeof globalThis !== 'undefined') globalThis.__ripSchema = exports;
43
+ return exports;
44
+ })();
45
+
46
+ // === End Schema Runtime ===
47
+ `,i2=`class SchemaError extends Error {
35
48
  constructor(issues, schemaName, schemaKind) {
36
49
  super(__schemaFormatIssues(issues, schemaName));
37
50
  this.name = 'SchemaError';
@@ -47,12 +60,6 @@ function __schemaFormatIssues(issues, name) {
47
60
  return head + issues.map(i => i.message || i.error || 'invalid').join('; ');
48
61
  }
49
62
 
50
- // Reserved names are hoisted to module scope — they're pure data and
51
- // rebuilding them per _normalize() call wastes allocations. Static: names
52
- // that become class-level methods on :model (parse, find, toSQL, …).
53
- // Instance: names that become instance methods (save, destroy, toJSON, …).
54
- // A declared field, method, computed, or derived that collides with
55
- // either set on a :model raises a collision error during normalize.
56
63
  const __SCHEMA_RESERVED_STATIC = new Set([
57
64
  'parse','safe','ok','find','findMany','where','all','first','count','create','toSQL',
58
65
  ]);
@@ -83,13 +90,6 @@ function __schemaCheckValue(v, typeName) {
83
90
  return check ? check(v) : true;
84
91
  }
85
92
 
86
- // Validate a single value against a typeName, returning either null (ok)
87
- // or an array of issues relative to the value's own root. Primitive
88
- // typenames dispatch through the __schemaTypes map; typenames that
89
- // resolve to a registered :shape / :input / :model validate the value
90
- // as a nested object; typenames that resolve to a :enum enforce
91
- // membership. Unknown typenames stay permissive so forward-references
92
- // and cross-module names do not hard-fail — matches pre-registry behavior.
93
93
  function __schemaValidateValue(v, typeName) {
94
94
  const prim = __schemaTypes[typeName];
95
95
  if (prim) {
@@ -111,17 +111,11 @@ function __schemaValidateValue(v, typeName) {
111
111
  return subErrs.length ? subErrs : null;
112
112
  }
113
113
 
114
- // Merge a child path segment into an existing field path. Produces
115
- // 'addr.street' for object descent, 'items[0].name' for array descent.
116
114
  function __schemaJoinField(head, child) {
117
115
  if (!child) return head;
118
116
  return head + (child.startsWith('[') ? child : '.' + child);
119
117
  }
120
118
 
121
- // Rewrite a child issue's message so the leading "<childField> " token
122
- // (present on most leaf messages: "name is required", "id must be
123
- // integer") is replaced by the joined parent path — avoiding the
124
- // duplicated "items[1].id id must be integer" reading.
125
119
  function __schemaRewriteMessage(joinedField, childField, childMessage) {
126
120
  if (!childField) return joinedField + ' ' + childMessage;
127
121
  if (childMessage.startsWith(childField)) {
@@ -130,27 +124,9 @@ function __schemaRewriteMessage(joinedField, childField, childMessage) {
130
124
  return joinedField + ': ' + childMessage;
131
125
  }
132
126
 
133
- // Naming utilities (snake_case column/table names, irregular plurals).
134
127
  function __schemaSnake(s) { return s.replace(/([a-z0-9])([A-Z])/g, '$1_$2').toLowerCase(); }
135
- const __SCHEMA_UNCOUNTABLE = new Set(['equipment','information','rice','money','species','series','fish','sheep','data']);
136
- const __SCHEMA_IRREGULAR = new Map([['person','people'],['man','men'],['woman','women'],['child','children'],['tooth','teeth'],['foot','feet'],['mouse','mice']]);
137
- function __schemaPluralize(w) {
138
- const lw = w.toLowerCase();
139
- if (__SCHEMA_UNCOUNTABLE.has(lw)) return w;
140
- if (__SCHEMA_IRREGULAR.has(lw)) return __SCHEMA_IRREGULAR.get(lw);
141
- // Preserve case of the input — pluralizer operates on the trailing form
142
- // but keeps the rest unchanged, so orderItem becomes orderItems
143
- // and User becomes Users.
144
- if (/[^aeiouy]y$/i.test(w)) return w.slice(0, -1) + 'ies';
145
- if (/(s|x|z|ch|sh)$/i.test(w)) return w + 'es';
146
- return w + 's';
147
- }
148
- function __schemaTableName(model) { return __schemaPluralize(__schemaSnake(model)); }
149
- function __schemaFkName(model) { return __schemaSnake(model) + '_id'; }
150
128
 
151
- // ---- Registry ---------------------------------------------------------------
152
- // Process-global, resettable, with placeholder state for forward/circular
153
- // references. Duplicate registration of the same model name is a hard error.
129
+ function __schemaCamel(col) { return String(col).replace(/_([a-z])/g, (_, c) => c.toUpperCase()); }
154
130
 
155
131
  const __SchemaRegistry = {
156
132
  _entries: new Map(),
@@ -177,98 +153,6 @@ const __SchemaRegistry = {
177
153
  reset() { this._entries.clear(); },
178
154
  };
179
155
 
180
- // ---- DB adapter seam --------------------------------------------------------
181
- // Default adapter uses fetch to rip-db /sql. Tests can swap with
182
- // __schemaSetAdapter(...) before running queries.
183
-
184
- function __schemaDefaultAdapter() {
185
- const url = (typeof process !== 'undefined' && process.env?.DB_URL) || 'http://localhost:4213';
186
- return {
187
- async query(sql, params) {
188
- const body = params && params.length ? { sql, params } : { sql };
189
- const res = await fetch(url + '/sql', {
190
- method: 'POST',
191
- headers: { 'Content-Type': 'application/json' },
192
- body: JSON.stringify(body),
193
- });
194
- const data = await res.json();
195
- if (data.error) throw new Error(data.error);
196
- return data;
197
- }
198
- };
199
- }
200
-
201
- let __schemaAdapter = __schemaDefaultAdapter();
202
- function __schemaSetAdapter(a) { __schemaAdapter = a; }
203
-
204
- // ---- Query builder ----------------------------------------------------------
205
-
206
- class __SchemaQuery {
207
- constructor(def, opts = {}) {
208
- this._def = def;
209
- this._clauses = [];
210
- this._params = [];
211
- this._limit = null;
212
- this._offset = null;
213
- this._order = null;
214
- this._includeDeleted = opts.includeDeleted === true;
215
- }
216
- where(cond, ...params) {
217
- if (typeof cond === 'string') {
218
- this._clauses.push(cond);
219
- this._params.push(...params);
220
- } else if (cond && typeof cond === 'object') {
221
- for (const [k, v] of Object.entries(cond)) {
222
- const col = __schemaSnake(k);
223
- if (v === null || v === undefined) {
224
- this._clauses.push('"' + col + '" IS NULL');
225
- } else {
226
- this._clauses.push('"' + col + '" = ?');
227
- this._params.push(v);
228
- }
229
- }
230
- }
231
- return this;
232
- }
233
- limit(n) { this._limit = n; return this; }
234
- offset(n) { this._offset = n; return this; }
235
- order(spec) { this._order = spec; return this; }
236
- orderBy(spec) { return this.order(spec); }
237
- _buildSQL() {
238
- const n = this._def._normalize();
239
- const table = n.tableName;
240
- const parts = ['SELECT * FROM "' + table + '"'];
241
- const where = [...this._clauses];
242
- if (!this._includeDeleted && n.softDelete) where.push('"deleted_at" IS NULL');
243
- if (where.length) parts.push('WHERE ' + where.join(' AND '));
244
- if (this._order) parts.push('ORDER BY ' + this._order);
245
- if (this._limit != null) parts.push('LIMIT ' + this._limit);
246
- if (this._offset != null) parts.push('OFFSET ' + this._offset);
247
- return parts.join(' ');
248
- }
249
- async all() {
250
- const sql = this._buildSQL();
251
- const res = await __schemaAdapter.query(sql, this._params);
252
- return (res.data || []).map(row => this._def._hydrate(res.columns, row));
253
- }
254
- async first() {
255
- this._limit = 1;
256
- const arr = await this.all();
257
- return arr[0] || null;
258
- }
259
- async count() {
260
- const n = this._def._normalize();
261
- const parts = ['SELECT COUNT(*) FROM "' + n.tableName + '"'];
262
- const where = [...this._clauses];
263
- if (!this._includeDeleted && n.softDelete) where.push('"deleted_at" IS NULL');
264
- if (where.length) parts.push('WHERE ' + where.join(' AND '));
265
- const res = await __schemaAdapter.query(parts.join(' '), this._params);
266
- return res.data?.[0]?.[0] || 0;
267
- }
268
- }
269
-
270
- // ---- __SchemaDef ------------------------------------------------------------
271
-
272
156
  class __SchemaDef {
273
157
  constructor(desc) {
274
158
  this._desc = desc;
@@ -404,6 +288,7 @@ class __SchemaDef {
404
288
  // - Thrown errors propagate. parse() wraps them into SchemaError
405
289
  // before surfacing; safe() captures into {error: 'derived'}
406
290
  // issues; hydrate lets them crash fast as data-integrity signals.
291
+
407
292
  _applyEagerDerived(inst) {
408
293
  const norm = this._normalize();
409
294
  if (!norm.derived.size) return;
@@ -436,6 +321,7 @@ class __SchemaDef {
436
321
  // - Caller short-circuits: per-field validation errors skip this
437
322
  // step entirely (predicates assume field types are correct).
438
323
  // - Skipped on _hydrate — trusted DB data bypasses @ensures.
324
+
439
325
  _applyEnsures(data) {
440
326
  const norm = this._normalize();
441
327
  if (!norm.ensures.length) return [];
@@ -673,6 +559,7 @@ class __SchemaDef {
673
559
  // object as 'it'; its return value becomes the field's candidate
674
560
  // value before default + validation. Transform errors surface as
675
561
  // {error: 'transform'} issues on the final result.
562
+
676
563
  _applyTransforms(raw, working) {
677
564
  const norm = this._normalize();
678
565
  const errors = [];
@@ -722,6 +609,7 @@ class __SchemaDef {
722
609
  // because DB columns already hold the canonical values. Eager-derived
723
610
  // (step 7) fires on BOTH paths so hydrated instances have the same
724
611
  // shape as parsed ones.
612
+
725
613
  parse(data) {
726
614
  if (this.kind === 'mixin') {
727
615
  throw new Error(":mixin schema '" + (this.name || 'anon') + "' is not instantiable");
@@ -789,76 +677,6 @@ class __SchemaDef {
789
677
 
790
678
  // ---- :model static ORM methods --------------------------------------------
791
679
 
792
- async find(id) {
793
- this._assertModel('find');
794
- const norm = this._normalize();
795
- const soft = norm.softDelete ? ' AND "deleted_at" IS NULL' : '';
796
- const sql = 'SELECT * FROM "' + norm.tableName + '" WHERE "' + norm.primaryKey + '" = ?' + soft + ' LIMIT 1';
797
- const res = await __schemaAdapter.query(sql, [id]);
798
- if (!res.rows) return null;
799
- return this._hydrate(res.columns, res.data[0]);
800
- }
801
-
802
- where(cond, ...params) {
803
- this._assertModel('where');
804
- return new __SchemaQuery(this).where(cond, ...params);
805
- }
806
-
807
- all() {
808
- this._assertModel('all');
809
- return new __SchemaQuery(this).all();
810
- }
811
-
812
- first() {
813
- this._assertModel('first');
814
- return new __SchemaQuery(this).first();
815
- }
816
-
817
- count() {
818
- this._assertModel('count');
819
- return new __SchemaQuery(this).count();
820
- }
821
-
822
- async create(data) {
823
- this._assertModel('create');
824
- // Input keys may be snake_case or camelCase; the runtime
825
- // canonicalizes to camelCase so instance properties line up with
826
- // declared field names.
827
- const klass = this._getClass();
828
- const canonical = {};
829
- if (data && typeof data === 'object') {
830
- for (const k of Object.keys(data)) canonical[__schemaCamel(k)] = data[k];
831
- }
832
- const inst = new klass(this._applyDefaults(canonical), false);
833
- // FK columns like user_id canonicalize to userId and need to
834
- // round-trip through the INSERT path, so attach them as own
835
- // properties even though they aren't declared fields.
836
- for (const [k, v] of Object.entries(canonical)) {
837
- if (!(k in inst)) {
838
- Object.defineProperty(inst, k, { value: v, enumerable: true, writable: true, configurable: true });
839
- }
840
- }
841
- await __schemaSave(this, inst);
842
- return inst;
843
- }
844
-
845
- toSQL(options) {
846
- this._assertModel('toSQL');
847
- return __schemaToSQL(this, options);
848
- }
849
-
850
- _assertModel(api) {
851
- if (this.kind !== 'model') {
852
- throw new Error('schema: .' + api + '() is :model-only (got :' + this.kind + ')');
853
- }
854
- }
855
-
856
- // ---- Schema algebra (Phase 6) --------------------------------------------
857
- // Invariant: every algebra operation returns a :shape. Model algebra
858
- // strips ORM; :shape algebra drops behavior. Derived shapes preserve
859
- // field metadata (constraints, defaults, modifiers) from the source
860
- // normalized descriptor.
861
-
862
680
  pick(...keys) {
863
681
  return __schemaDerive(this, (src) => {
864
682
  const names = __schemaFlatten(keys);
@@ -925,19 +743,6 @@ function __schemaFlatten(keys) {
925
743
  return out;
926
744
  }
927
745
 
928
- // Schema algebra — .pick / .omit / .partial / .required / .extend all
929
- // land here. The v2 invariants encoded in this function:
930
- //
931
- // - Derived schemas are always kind: 'shape', regardless of source kind.
932
- // ORM surface on :model is dropped.
933
- // - Field semantics SURVIVE algebra: type, literals, constraints,
934
- // inline transforms. Transforms-survive means a derived schema can
935
- // still read raw-input keys that aren't in its declared output shape.
936
- // - Instance behavior DOES NOT survive: methods, computed (~>), eager
937
- // derived (!>), and hooks all get dropped because the rebuilt
938
- // descriptor has no callable entries.
939
- // - _sourceModel propagates through chained algebra so tooling can
940
- // trace derived shapes back to the origin :model.
941
746
  function __schemaDerive(source, transform) {
942
747
  const src = source._normalize().fields;
943
748
  const derivedFields = transform(src);
@@ -963,8 +768,6 @@ function __schemaDerive(source, transform) {
963
768
  return derived;
964
769
  }
965
770
 
966
- function __schemaCamel(col) { return String(col).replace(/_([a-z])/g, (_, c) => c.toUpperCase()); }
967
-
968
771
  function __schemaNormalizeDirectiveRelation(directive, ownerModel) {
969
772
  const args = directive.args;
970
773
  if (!args || !args.length) return null;
@@ -1032,249 +835,6 @@ function __schemaExpandMixins(host, fields, directives, ctx) {
1032
835
  }
1033
836
  }
1034
837
 
1035
- async function __schemaResolveRelation(def, inst, rel) {
1036
- const target = __SchemaRegistry.get(rel.target);
1037
- if (!target) throw new Error('schema: unknown relation target "' + rel.target + '" from ' + (def.name || 'anon'));
1038
- const pk = def._normalize().primaryKey;
1039
- if (rel.kind === 'belongsTo') {
1040
- const fk = inst[__schemaCamel(rel.foreignKey)];
1041
- return fk != null ? await target.find(fk) : null;
1042
- }
1043
- if (rel.kind === 'hasOne') {
1044
- return await target.where({ [rel.foreignKey]: inst[pk] }).first();
1045
- }
1046
- if (rel.kind === 'hasMany') {
1047
- return await target.where({ [rel.foreignKey]: inst[pk] }).all();
1048
- }
1049
- return null;
1050
- }
1051
-
1052
- // ---- Save / Destroy --------------------------------------------------------
1053
- // Rails-style lifecycle (D18):
1054
- // beforeValidation -> validate -> afterValidation ->
1055
- // beforeSave -> (beforeCreate|beforeUpdate) -> INSERT/UPDATE ->
1056
- // (afterCreate|afterUpdate) -> afterSave
1057
- // Destroy:
1058
- // beforeDestroy -> DELETE -> afterDestroy
1059
-
1060
- async function __schemaRunHook(def, inst, name) {
1061
- const fn = def._normalize().hooks.get(name);
1062
- if (fn) await fn.call(inst);
1063
- }
1064
-
1065
- async function __schemaSave(def, inst) {
1066
- const norm = def._normalize();
1067
- const isNew = !inst._persisted;
1068
-
1069
- await __schemaRunHook(def, inst, 'beforeValidation');
1070
- const errs = def._validateFields(inst, true);
1071
- if (errs.length) throw new SchemaError(errs, def.name, def.kind);
1072
- await __schemaRunHook(def, inst, 'afterValidation');
1073
-
1074
- await __schemaRunHook(def, inst, 'beforeSave');
1075
- if (isNew) await __schemaRunHook(def, inst, 'beforeCreate');
1076
- else await __schemaRunHook(def, inst, 'beforeUpdate');
1077
-
1078
- if (isNew) {
1079
- const cols = [], placeholders = [], values = [];
1080
- for (const [n, f] of norm.fields) {
1081
- const v = inst[n];
1082
- if (v == null) continue;
1083
- cols.push('"' + __schemaSnake(n) + '"');
1084
- placeholders.push('?');
1085
- values.push(__schemaSerialize(v, f));
1086
- }
1087
- // Include relation FKs. belongsTo FKs are camelCase properties on
1088
- // the instance (e.g. organizationId for organization_id).
1089
- for (const [, rel] of norm.relations) {
1090
- if (rel.kind !== 'belongsTo') continue;
1091
- const fkCamel = __schemaCamel(rel.foreignKey);
1092
- const v = inst[fkCamel];
1093
- if (v != null) {
1094
- cols.push('"' + rel.foreignKey + '"');
1095
- placeholders.push('?');
1096
- values.push(v);
1097
- }
1098
- }
1099
- const sql = 'INSERT INTO "' + norm.tableName + '" (' + cols.join(', ') + ') VALUES (' + placeholders.join(', ') + ') RETURNING *';
1100
- const res = await __schemaAdapter.query(sql, values);
1101
- if (res.data?.[0] && res.columns) {
1102
- for (let i = 0; i < res.columns.length; i++) {
1103
- const snake = res.columns[i].name;
1104
- const key = __schemaCamel(snake);
1105
- if (!(key in inst)) {
1106
- Object.defineProperty(inst, key, { value: res.data[0][i], enumerable: true, writable: true, configurable: true });
1107
- } else {
1108
- inst[key] = res.data[0][i];
1109
- }
1110
- if (snake !== key && !(snake in inst)) {
1111
- Object.defineProperty(inst, snake, {
1112
- enumerable: false, configurable: true,
1113
- get() { return this[key]; },
1114
- set(v) { this[key] = v; },
1115
- });
1116
- }
1117
- }
1118
- }
1119
- // Now that the RETURNING columns (id, @timestamps, FKs) are on the
1120
- // instance, !> eager-derived fields can see them. Mirrors the hydrate
1121
- // path, which runs _applyEagerDerived once all declared fields are
1122
- // populated. Per-docs semantics ("materialize once, not reactive")
1123
- // still hold — we're firing once, at end of construction, not on
1124
- // subsequent mutations.
1125
- def._applyEagerDerived(inst);
1126
- inst._persisted = true;
1127
- } else {
1128
- const sets = [], values = [];
1129
- for (const [n, f] of norm.fields) {
1130
- sets.push('"' + __schemaSnake(n) + '" = ?');
1131
- values.push(__schemaSerialize(inst[n], f));
1132
- }
1133
- if (sets.length) {
1134
- const pk = norm.primaryKey;
1135
- values.push(inst[pk]);
1136
- const sql = 'UPDATE "' + norm.tableName + '" SET ' + sets.join(', ') + ' WHERE "' + pk + '" = ?';
1137
- await __schemaAdapter.query(sql, values);
1138
- }
1139
- }
1140
- inst._dirty.clear();
1141
-
1142
- if (isNew) await __schemaRunHook(def, inst, 'afterCreate');
1143
- else await __schemaRunHook(def, inst, 'afterUpdate');
1144
- await __schemaRunHook(def, inst, 'afterSave');
1145
- return inst;
1146
- }
1147
-
1148
- async function __schemaDestroy(def, inst) {
1149
- if (!inst._persisted) return inst;
1150
- const norm = def._normalize();
1151
- await __schemaRunHook(def, inst, 'beforeDestroy');
1152
- if (norm.softDelete) {
1153
- const now = new Date().toISOString();
1154
- await __schemaAdapter.query('UPDATE "' + norm.tableName + '" SET "deleted_at" = ? WHERE "' + norm.primaryKey + '" = ?', [now, inst[norm.primaryKey]]);
1155
- inst.deletedAt = now;
1156
- } else {
1157
- await __schemaAdapter.query('DELETE FROM "' + norm.tableName + '" WHERE "' + norm.primaryKey + '" = ?', [inst[norm.primaryKey]]);
1158
- inst._persisted = false;
1159
- }
1160
- await __schemaRunHook(def, inst, 'afterDestroy');
1161
- return inst;
1162
- }
1163
-
1164
- function __schemaSerialize(v, field) {
1165
- if (field && field.typeName === 'json' && v != null && typeof v === 'object') {
1166
- return JSON.stringify(v);
1167
- }
1168
- return v;
1169
- }
1170
-
1171
- // ---- DDL emission (.toSQL) --------------------------------------------------
1172
- // Layer 4b: runs on first .toSQL() call. Independent of ORM — scripts
1173
- // that build schema from DDL never touch .find/.create.
1174
-
1175
- const __SCHEMA_SQL_TYPES = {
1176
- string: 'VARCHAR', text: 'TEXT', integer: 'INTEGER', number: 'DOUBLE',
1177
- boolean: 'BOOLEAN', date: 'DATE', datetime: 'TIMESTAMP', email: 'VARCHAR',
1178
- url: 'VARCHAR', uuid: 'UUID', phone: 'VARCHAR', zip: 'VARCHAR', json: 'JSON', any: 'JSON',
1179
- };
1180
-
1181
- function __schemaToSQL(def, options) {
1182
- const opts = options || {};
1183
- const { dropFirst = false, header } = opts;
1184
- const norm = def._normalize();
1185
- const blocks = [];
1186
- if (header) blocks.push(header);
1187
-
1188
- const table = norm.tableName;
1189
- const seq = table + '_seq';
1190
- if (dropFirst) {
1191
- blocks.push('DROP TABLE IF EXISTS ' + table + ' CASCADE;\\nDROP SEQUENCE IF EXISTS ' + seq + ';');
1192
- }
1193
-
1194
- // Sequence seed: explicit option wins over @idStart directive wins over 1.
1195
- // DuckDB 1.5.2 does not implement ALTER SEQUENCE ... RESTART WITH N, so the
1196
- // baseline has to be set at creation — hence the knob lives here, not in a
1197
- // post-create migration.
1198
- let idStart = 1;
1199
- for (const d of norm.directives) {
1200
- if (d.name === 'idStart' && d.args?.[0] && Number.isInteger(d.args[0].value)) {
1201
- idStart = d.args[0].value;
1202
- }
1203
- }
1204
- if (opts.idStart !== undefined) {
1205
- if (!Number.isInteger(opts.idStart)) {
1206
- throw new Error('schema.toSQL(): idStart must be an integer; got ' + String(opts.idStart));
1207
- }
1208
- idStart = opts.idStart;
1209
- }
1210
-
1211
- const columns = [];
1212
- const indexes = [];
1213
- columns.push(' ' + norm.primaryKey + " INTEGER PRIMARY KEY DEFAULT nextval('" + seq + "')");
1214
-
1215
- for (const [n, f] of norm.fields) {
1216
- columns.push(__schemaColumnDDL(n, f));
1217
- if (f.unique) {
1218
- indexes.push('CREATE UNIQUE INDEX idx_' + table + '_' + __schemaSnake(n) + ' ON ' + table + ' ("' + __schemaSnake(n) + '");');
1219
- }
1220
- }
1221
-
1222
- for (const [, rel] of norm.relations) {
1223
- if (rel.kind !== 'belongsTo') continue;
1224
- const refTable = __schemaTableName(rel.target);
1225
- const notNull = rel.optional ? '' : ' NOT NULL';
1226
- columns.push(' ' + rel.foreignKey + ' INTEGER' + notNull + ' REFERENCES ' + refTable + '(id)');
1227
- }
1228
-
1229
- if (norm.timestamps) {
1230
- columns.push(' created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP');
1231
- columns.push(' updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP');
1232
- }
1233
- if (norm.softDelete) {
1234
- columns.push(' deleted_at TIMESTAMP');
1235
- }
1236
-
1237
- // @index directives
1238
- for (const d of norm.directives) {
1239
- if (d.name !== 'index') continue;
1240
- const ixArgs = d.args?.[0] || {};
1241
- const fields = (ixArgs.fields || []).map(__schemaSnake);
1242
- if (!fields.length) continue;
1243
- const u = ixArgs.unique ? 'UNIQUE ' : '';
1244
- indexes.push('CREATE ' + u + 'INDEX idx_' + table + '_' + fields.join('_') + ' ON ' + table + ' (' + fields.map(f => '"' + f + '"').join(', ') + ');');
1245
- }
1246
-
1247
- blocks.push('CREATE SEQUENCE ' + seq + ' START ' + idStart + ';');
1248
- blocks.push('CREATE TABLE ' + table + ' (\\n' + columns.join(',\\n') + '\\n);');
1249
- if (indexes.length) blocks.push(indexes.join('\\n'));
1250
-
1251
- return blocks.join('\\n\\n') + '\\n';
1252
- }
1253
-
1254
- function __schemaColumnDDL(name, field) {
1255
- let base = __SCHEMA_SQL_TYPES[field.typeName] || 'VARCHAR';
1256
- if (field.array) base = 'JSON';
1257
- if (base === 'VARCHAR' && field.constraints?.max != null) {
1258
- base = 'VARCHAR(' + field.constraints.max + ')';
1259
- }
1260
- const parts = [' ' + __schemaSnake(name) + ' ' + base];
1261
- if (field.required) parts.push('NOT NULL');
1262
- if (field.unique) parts.push('UNIQUE');
1263
- if (field.constraints?.default !== undefined) {
1264
- parts.push('DEFAULT ' + __schemaSQLDefault(field.constraints.default));
1265
- }
1266
- return parts.join(' ');
1267
- }
1268
-
1269
- function __schemaSQLDefault(v) {
1270
- if (v === true) return 'true';
1271
- if (v === false) return 'false';
1272
- if (v === null) return 'NULL';
1273
- if (typeof v === 'number') return String(v);
1274
- if (typeof v === 'string') return "'" + v.replace(/'/g, "''") + "'";
1275
- return "'" + String(v).replace(/'/g, "''") + "'";
1276
- }
1277
-
1278
838
  function __schema(descriptor) {
1279
839
  const def = new __SchemaDef(descriptor);
1280
840
  // Every user-declared named schema lands in the registry so
@@ -1285,41 +845,68 @@ function __schema(descriptor) {
1285
845
  if (def.name) __SchemaRegistry.register(def);
1286
846
  return def;
1287
847
  }
848
+ `;var L2=`// Browser stubs — throwing replacements for every ORM / DDL helper that
849
+ // the validate fragment references but doesn't implement. Loaded ONLY
850
+ // in browser mode.
851
+ //
852
+ // The validate fragment's \`_makeClass\`, \`_normalize\`, and
853
+ // \`__schemaNormalizeDirectiveRelation\` reference helpers that live in
854
+ // db-naming, orm, and ddl fragments at runtime. Browser mode doesn't
855
+ // include those fragments, so we provide thin throwing stubs here so
856
+ // browser-side schema declarations parse and validate cleanly while
857
+ // any attempt to use server-only behavior fails with a helpful message.
858
+
859
+ const __schemaBrowserStub = (api) => function() {
860
+ throw new Error(
861
+ "schema." + api + "() is not available in the browser. " +
862
+ "Import @rip-lang/db on the server."
863
+ );
864
+ };
1288
865
 
1289
- const exports = {
1290
- __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter,
1291
- __version: ${Z2},
1292
- };
1293
- if (typeof globalThis !== 'undefined') globalThis.__ripSchema = exports;
1294
- return exports;
1295
- })();
1296
-
1297
- // === End Schema Runtime ===
1298
- `;function c4(){return l2.trimStart()}var m2=["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; idStart?: number }): string;","}"],x4={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 l4(f){if(f.typeName==="literal-union"&&f.literals?.length)return f.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=x4[f.typeName]??f.typeName;return f.array?`${U}[]`:U}function m4(f){if(!Array.isArray(f))return null;if((f[0]?.valueOf?.()??f[0])!=="schema")return null;let _=f[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function k2(f,U){let _=[];if(Q2(f,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),u=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")v2($,u,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")v2($,u,W,U);return!0}function Q2(f,U){if(!Array.isArray(f))return;let _=f[0]?.valueOf?.()??f[0],W=!1,u=null;if(_==="export"&&Array.isArray(f[1])){let $=f[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,u=$;else Q2(f[1],U)}else if(_==="=")u=f;else if(_==="program"||_==="block"){for(let $=1;$<f.length;$++)if(Array.isArray(f[$]))Q2(f[$],U)}if(u&&Array.isArray(u[2])){let $=u[1]?.valueOf?.()??u[1],F=m4(u[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function v2(f,U,_,W){let{name:u,descriptor:$,exported:F}=f,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let w=[];for(let H of $.entries){if(H.tag!=="enum-member")continue;let q=H.value!==void 0?H.value:H.name;w.push(typeof q==="string"?JSON.stringify(q):String(q))}let X=w.length?w.join(" | "):"never";W.push(`${Y}type ${u} = ${X};`),W.push(`${Y}${Z}const ${u}: { parse(data: unknown): ${u}; safe(data: unknown): SchemaSafeResult<${u}>; ok(data: unknown): data is ${u}; };`);return}if($.kind==="mixin"){let w=g2($);W.push(`${Y}type ${u} = { ${w.join("; ")} };`);return}let G=g2($),Q=k4($,U),z=[],A=[];for(let w of $.entries)if(w.tag==="method")z.push(`${w.name}: (...args: any[]) => unknown`);else if(w.tag==="computed")A.push(`readonly ${w.name}: unknown`);let J=`{ ${G.join("; ")} }`,K=Q.length?`${J} & ${Q.join(" & ")}`:J;if($.kind==="model"){let w=`${u}Data`,X=`${u}Instance`,H=i4($,_),q=[...A,...z,...H,`save(): Promise<${X}>`,`destroy(): Promise<${X}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${w}`];W.push(`${Y}type ${w} = ${K};`),W.push(`${Y}type ${X} = ${w} & { ${q.join("; ")} };`),W.push(`${Y}${Z}const ${u}: ModelSchema<${X}, ${w}>;`);return}if($.kind==="shape"){let w=`${u}Data`,X=`${u}Instance`,H=z.length+A.length>0;if(W.push(`${Y}type ${w} = ${K};`),H)W.push(`${Y}type ${X} = ${w} & { ${[...A,...z].join("; ")} };`),W.push(`${Y}${Z}const ${u}: Schema<${X}, ${w}>;`);else W.push(`${Y}${Z}const ${u}: Schema<${w}, ${w}>;`);return}let D=`${u}Value`;W.push(`${Y}type ${D} = ${K};`),W.push(`${Y}${Z}const ${u}: Schema<${D}, ${D}>;`)}function k4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let u=W.args,$=u&&u[0]&&u[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function i4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive")continue;let u=W.args;if(!u||!u[0])continue;let $=u[0].target;if(!$)continue;let F=u[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=d4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function d4(f){let U=f.toLowerCase();if(/[^aeiouy]y$/i.test(f))return f.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(f))return f+"es";return f+"s"}function g2(f){let U=[];for(let _ of f.entries){if(_.tag!=="field")continue;let u=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${u}: ${l4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(l2)}catch{}var p4=["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 n4=["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;","};"],a4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",o4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",r4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",s4="declare function __computed<T>(fn: () => T): Computed<T>;",t4="declare function __effect(fn: () => void | (() => void)): () => void;";function p2(f){let U=f.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,u=($,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=d2(Y,F+1);if(z){let A=F+1+z.length,J=!Q&&Y[A]?.[0]==="="&&Y[A+1]?.[0]==="COMPONENT";if(Q||J){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,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=i2(Y,F+1),z=M1(Q),A=G,J="type";if(G[0]==="CALL_END"||G[0]===")"){let D=1,w=F-2;while(w>=0&&D>0){let X=Y[w][0];if(X==="CALL_END"||X===")")D++;if(X==="CALL_START"||X==="(")D--;w--}if(w>=0)A=Y[w];J="returnType"}else if(G[0]==="PARAM_END"){let D=F+1+Q.consumed,w=Y[D];if(w&&(w[0]==="->"||w[0]==="=>"))A=w;J="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")J="returnType";if(!A.data)A.data={};A.data[J]=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,A=Y[z];if(!A||A[0]!=="IDENTIFIER")return 1;let J=A[1],K=G==="EXPORT",D=K?F-1:F,w=z+1;if(Y[w]?.[0]==="COMPARE"&&Y[w]?.[1]==="<"&&!Y[w].spaced){let R=d2(Y,w);if(R){if(!A.data)A.data={};A.data.typeParams=M1(R),Y.splice(w,R.length)}}if(Y[w]?.[0]!=="=")return 1;let X=(R)=>{let S=u("TYPE_DECL",J,A);if(S.data={name:J,typeText:R,exported:K},A.data?.typeParams)S.data.typeParams=A.data.typeParams;return S},H=w+1,q=Y[H];if(q&&(q[0]==="TERMINATOR"||q[0]==="INDENT")){let R=e4(Y,H);if(R)return Y.splice(D,R.endIdx-D+1,X(R.typeText)),0}if(q&&q[0]==="INDENT"){let R=A2(Y,H);return Y.splice(D,R-D+1,X(z2(Y,H))),0}let B=i2(Y,H);return Y.splice(D,H+B.consumed-D,X(M1(B))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let A=z[1],J=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")J=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let D=z2(Y,K),w=A2(Y,K),X=u("TYPE_DECL",A,z);X.data={name:A,kind:"interface",extends:J,typeText:D,exported:G};let H=G?F-1:F,q=w-H+1;return Y.splice(H,q,X),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 X=$+2;X<=G;X++)if(_[X].data?.type){z=!0;break}}if(!z)continue;let A=_.slice($,Y+1),J=$>=1&&_[$-1]?.[0]==="EXPORT",K=J?$-1:$,D=Y+1-K,w=u("TYPE_DECL",F[1],F);if(w.data={name:F[1],kind:"overload",overloadTokens:A,exported:J},F.data?.typeParams)w.data.typeParams=F.data.typeParams;_.splice(K,D,w)}}}function i2(f,U){let _=[],W=0,u=U;while(U<f.length){let $=f[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<f.length&&G>0)if(f[U][0]==="INDENT")G++,U++;else if(f[U][0]==="OUTDENT")G--,U++;else _.push(f[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-u,_}function M1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let U=f.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 d2(f,U){if(U>=f.length)return null;let _=f[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],u=1,$=U+1;while($<f.length&&u>0){let F=f[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")u++;else if(F[0]==="COMPARE"&&F[1]===">")u--;$++}return u===0?W:null}function z2(f,U){let _=[],W=U+1,u=1;while(W<f.length&&u>0){let $=f[W];if($[0]==="INDENT"){u++,W++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;W++;continue}if($[0]==="TERMINATOR"){W++;continue}if(u===1&&$[0]==="["){let Y=[];W++;while(W<f.length&&f[W][0]!=="]")Y.push(f[W]),W++;if(W++,f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<f.length){let z=f[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"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[W+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="readonly"&&f[W]&&(f[W][0]==="PROPERTY"||f[W][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[W][1])&&f[W+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,Y=f[W][1],f[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(f[W]?.[1]==="?"&&!f[W]?.spaced)Z=!0,W++;if(f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<f.length){let D=f[W];if(D[0]==="IDENTIFIER"&&D[1]==="type"&&f[W+1]?.[0]==="INDENT"){W++;let w=z2(f,W);Q.push(["",w]);let X=1;W++;while(W<f.length&&X>0){if(f[W][0]==="INDENT")X++;if(f[W][0]==="OUTDENT")X--;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 A=M1(Q),J=G?"readonly ":"",K=Z?"?":"";_.push(`${J}${Y}${K}: ${A}`)}else W++}return"{ "+_.join("; ")+" }"}function A2(f,U){let _=0;for(let W=U;W<f.length;W++){if(f[W][0]==="INDENT")_++;if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}}return f.length-1}function e4(f,U){let _=U;if(f[_]?.[0]==="TERMINATOR")_++;if(f[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<f.length&&f[_][0]==="TERMINATOR")_++;if(!f[_]||f[_][1]!=="|")return null;let u=[],$=1;_=W+1;while(_<f.length&&$>0){let Y=f[_];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(_<f.length){let G=f[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)u.push(M1(Z));continue}_++}if(u.length===0)return null;let F=A2(f,W);return{typeText:u.join(" | "),endIdx:F}}function X2(f,U=null,_=""){let W=[],u=0,$=" ",F=()=>$.repeat(u),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,A=typeof _==="string"?_.split(`
1299
- `):[];for(let R=0;R<f.length;R++){let S=f[R][0];if(S==="REACTIVE_ASSIGN")G=!0;else if(S==="COMPUTED_ASSIGN")Q=!0}let J=(R,S,O)=>{if(S.startsWith("{ ")&&S.endsWith(" }")){let P=0,M=-1;for(let I=0;I<S.length;I++)if(S[I]==="{")P++;else if(S[I]==="}"){if(P--,P===0){M=I;break}}if(M===S.length-1){let I=S.slice(2,-2),L=[],V=0,N=0;for(let C=0;C<I.length;C++)if(I[C]==="{")N++;else if(I[C]==="}")N--;else if(N===0&&I[C]===";"&&I[C+1]===" ")L.push(I.slice(V,C)),V=C+2;if(V<I.length)L.push(I.slice(V));if(L=L.filter((C)=>C.trim()),L.length>0){W.push(`${F()}${R}{`),u++;for(let C of L)W.push(`${F()}${C};`);u--,W.push(`${F()}}${O}`);return}}}W.push(`${F()}${R}${S}${O}`)},K=(R,S)=>{S++;let O=0;while(S<R.length){let P=R[S];if(P[0]==="("||P[0]==="["||P[0]==="{")O++;if(P[0]===")"||P[0]==="]"||P[0]==="}"){if(O===0)break;O--}if(O===0&&P[1]===",")break;S++}return S},D=(R,S)=>{let O=[],P=!1,M=S+1,I=1;while(M<R.length&&I>0){if(R[M][0]==="{")I++;if(R[M][0]==="}")I--;if(I<=0){M++;break}if(R[M][0]==="..."||R[M][0]==="SPREAD"){if(M++,R[M]?.[0]==="IDENTIFIER")O.push({kind:"rest",propName:R[M][1]}),M++;continue}if(R[M][0]==="PROPERTY"&&R[M+1]?.[0]===":"){let N=R[M][1];if(M+=2,R[M]?.[0]==="{"){let C=D(R,M);if(C.hasAnyType)P=!0;O.push({kind:"nested-obj",propName:N,inner:C}),M=C.endJ;continue}if(R[M]?.[0]==="["){let C=w(R,M);if(C.hasAnyType)P=!0;O.push({kind:"nested-arr",propName:N,inner:C}),M=C.endJ;continue}if(R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;if(E)P=!0;let l=R[M+1]?.[0]==="=";if(O.push({kind:"rename",propName:N,localName:C,type:E?_1(E):null,hasDefault:l}),M++,l)M=K(R,M)}continue}if(R[M][0]==="IDENTIFIER"){let N=R[M][1],C=R[M].data?.type;if(C)P=!0;let E=R[M+1]?.[0]==="=";if(O.push({kind:"simple",propName:N,type:C?_1(C):null,hasDefault:E}),M++,E)M=K(R,M);continue}M++}let L=[],V=[];for(let N of O)if(N.kind==="rest")L.push(`...${N.propName}`),V.push("[key: string]: unknown");else if(N.kind==="nested-obj"||N.kind==="nested-arr")L.push(`${N.propName}: ${N.inner.patternStr}`),V.push(`${N.propName}: ${N.inner.typeStr}`);else if(N.kind==="rename")L.push(`${N.propName}: ${N.localName}`),V.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);else L.push(N.propName),V.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);return{patternStr:`{${L.join(", ")}}`,typeStr:`{${V.join(", ")}}`,endJ:M,hasAnyType:P}},w=(R,S)=>{let O=[],P=[],M=!1,I=S+1,L=1;while(I<R.length&&L>0){if(R[I][0]==="[")L++;if(R[I][0]==="]")L--;if(L>0&&R[I][0]==="IDENTIFIER"){let V=R[I][1],N=R[I].data?.type;if(O.push(V),P.push(N?_1(N):null),N)M=!0}I++}return{patternStr:`[${O.join(", ")}]`,typeStr:`[${P.map((V)=>V||"any").join(", ")}]`,endJ:I,hasAnyType:M}},X=(R,S)=>{let O=[],P=[],M=S,I=R[M]?.[0];if(I!=="CALL_START"&&I!=="PARAM_START")return{params:O,fields:P,endIdx:M};let L=I==="CALL_START"?"CALL_END":"PARAM_END";M++;let V=0;while(M<R.length&&!(R[M][0]===L&&V===0)){let N=R[M];if(N[1]===","&&V===0){M++;continue}if(N[0]==="{"||N[0]==="["||N[0]==="CALL_START"||N[0]==="PARAM_START"||N[0]==="INDEX_START")V++;if(N[0]==="}"||N[0]==="]"||N[0]==="CALL_END"||N[0]==="PARAM_END"||N[0]==="INDEX_END"){V--,M++;continue}if(N[0]==="@"){if(M++,R[M]?.[0]==="PROPERTY"||R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;if(O.push(E?`${C}: ${_1(E)}`:C),E)P.push({name:C,type:_1(E)});M++}continue}if(N[0]==="SPREAD"||N[1]==="..."){if(M++,R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;O.push(E?`...${C}: ${_1(E)}`:`...${C}: any[]`),M++}continue}if(N[0]==="{"){V--;let C=D(R,M);if(M=C.endJ,C.hasAnyType)O.push(`${C.patternStr}: ${C.typeStr}`);else O.push(C.patternStr);continue}if(N[0]==="["){V--;let C=w(R,M);if(M=C.endJ,C.hasAnyType)O.push(`${C.patternStr}: ${C.typeStr}`);else O.push(C.patternStr);continue}if(N[0]==="IDENTIFIER"){let C=N[1],E=N.data?.type,l=!1;if(R[M+1]?.[0]==="=")l=!0;let T=l||N.data?.predicate;if(E)O.push(`${C}${T?"?":""}: ${_1(E)}`);else O.push(C);if(M++,l){M++;let j=0;while(M<R.length){let b=R[M];if(b[0]==="("||b[0]==="["||b[0]==="{")j++;if(b[0]===")"||b[0]==="]"||b[0]==="}")j--;if(j===0&&(b[1]===","||b[0]==="CALL_END"))break;M++}}continue}M++}return{params:O,fields:P,endIdx:M}};for(let R=0;R<f.length;R++){let S=f[R],O=S[0],P=!1;if(O==="EXPORT"){if(P=!0,R++,R>=f.length)break;if(S=f[R],O=S[0],O==="DEFAULT"){if(R++,R>=f.length)break;if(S=f[R],O=S[0],O==="IDENTIFIER")W.push(`${F()}export default ${S[1]};`);continue}}if(O==="IMPORT"){let M=[],I=R+1;while(I<f.length&&f[I][0]!=="TERMINATOR")M.push(f[I]),I++;let L="import "+M.map((V)=>V[1]).join(" ");L=L.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),W.push(`${F()}${L};`),R=I;continue}if(O==="TYPE_DECL"){let M=S.data;if(!M)continue;let I=P||M.exported?"export ":"",L=M.typeParams||"";if(M.kind==="overload"){let V=M.overloadTokens,N=V[1],{params:C}=X(V,2),E=N.data?.returnType,l=E?`: ${_1(E)}`:"",T=Y?"":I?"":"declare ",j=M.typeParams||"";if(Y)W.push(`${F()}${M.name}${j}(${C.join(", ")})${l};`);else W.push(`${F()}${I}${T}function ${M.name}${j}(${C.join(", ")})${l};`)}else if(M.kind==="interface"){let V=M.extends?` extends ${M.extends}`:"";J(`${I}interface ${M.name}${L}${V} `,M.typeText||"{}","")}else{let V=_1(M.typeText||"");J(`${I}type ${M.name}${L} = `,V,";")}continue}if(O==="ENUM"){let M=P?"export ":"",I=f[R+1];if(!I)continue;let L=I[1],V=R+2;if(f[V]?.[0]==="INDENT"){W.push(`${F()}${M}enum ${L} {`),u++,V++;let N=[];while(V<f.length&&f[V][0]!=="OUTDENT"){if(f[V][0]==="TERMINATOR"){V++;continue}if(f[V][0]==="IDENTIFIER"){let C=f[V][1];if(V++,f[V]?.[1]==="="){V++;let E=f[V]?.[1];N.push(`${C} = ${E}`),V++}else N.push(C)}else V++}for(let C=0;C<N.length;C++){let E=C<N.length-1?",":"";W.push(`${F()}${N[C]}${E}`)}u--,W.push(`${F()}}`)}continue}if(O==="CLASS"){let M=P?"export ":"",I=f[R+1];if(!I)continue;let L=I[1],V="",N=R+2;if(f[N]?.[0]==="EXTENDS")V=` extends ${f[N+1]?.[1]||""}`,N+=2;if(f[N]?.[0]==="INDENT"){let C=!1,E=N+1;while(E<f.length&&f[E][0]!=="OUTDENT"){if(f[E].data?.type||f[E].data?.returnType){C=!0;break}E++}if(C)W.push(`${F()}${M}declare class ${L}${V} {`),Y=!0,Z.clear(),u++}continue}if(O==="DEF"){let M=f[R+1];if(!M)continue;let I=M[1],L=M.data?.returnType;if(!L&&M.data?.await===!0)L="void";let V=M.data?.typeParams||"",{params:N,endIdx:C}=X(f,R+2);if(L||N.some((E)=>E.includes(":"))){let E=P?"export ":"",l=Y?"":P?"":"declare ",T=L?`: ${_1(L)}`:"",j=N.join(", ");if(Y)W.push(`${F()}${I}${V}(${j})${T};`);else W.push(`${F()}${E}${l}function ${I}${V}(${j})${T};`)}R=C;continue}if(O==="{"&&Y){let M=R+1,I=1;while(M<f.length&&I>0){let L=f[M];if(L[0]==="{"){I++,M++;continue}if(L[0]==="}"){I--,M++;continue}if(L[0]==="TERMINATOR"){M++;continue}if(L[0]==="PROPERTY"&&I===1){let V=L[1],N=L.data?.returnType;if(M++,f[M]?.[1]===":")M++;let C=[],E=[];if(f[M]?.[0]==="PARAM_START"){let l=X(f,M);C=l.params,E=l.fields,M=l.endIdx+1}if(f[M]?.[0]==="->"||f[M]?.[0]==="=>")M++;if(f[M]?.[0]==="INDENT"){let l=1;M++;while(M<f.length&&l>0){if(f[M][0]==="INDENT")l++;if(f[M][0]==="OUTDENT")l--;M++}}if(N||C.some((l)=>l.includes(":"))){let l=N?`: ${_1(N)}`:"",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})${l};`)}continue}M++}R=M-1;continue}if(O==="INDENT")continue;if(O==="OUTDENT"){if(Y)u--,W.push(`${F()}}`),Y=!1;continue}if(O==="IDENTIFIER"&&!Y&&f[R+1]?.[0]==="="&&(f[R+2]?.[0]==="PARAM_START"||f[R+2]?.[0]==="(")){let M=S[1],I=R+2,{params:L}=X(f,I),V=I,N=0;while(V<f.length){if(f[V][0]==="PARAM_START"||f[V][0]==="(")N++;if(f[V][0]==="PARAM_END"||f[V][0]===")")N--;if(N===0&&(f[V][0]==="->"||f[V][0]==="=>"))break;V++}let C=f[V]?.data?.returnType;if(C||L.some((E)=>E.includes(":"))){let E=P?"export ":"",l=P?"":"declare ",T=C?`: ${_1(C)}`:"",j=L.join(", ");W.push(`${F()}${E}${l}function ${M}(${j})${T};`);continue}}if(O==="IDENTIFIER"&&S.data?.type){let M=S[1],I=_1(S.data.type),L=f[R+1];if(L){let V=P?"export ":"",N=P?"":"declare ";if(L[0]==="READONLY_ASSIGN")W.push(`${F()}${V}${N}const ${M}: ${I};`);else if(L[0]==="REACTIVE_ASSIGN")G=!0,W.push(`${F()}${V}${N}const ${M}: Signal<${I}>;`);else if(L[0]==="COMPUTED_ASSIGN")Q=!0,W.push(`${F()}${V}${N}const ${M}: Computed<${I}>;`);else if(L[0]==="EFFECT")W.push(`${F()}${V}${N}const ${M}: () => void;`);else if(L[0]==="="){let C=R+2;if(f[C]?.[0]==="PARAM_START"){let l=1,T=C+1;while(T<f.length&&l>0){if(f[T][0]==="PARAM_START")l++;if(f[T][0]==="PARAM_END")l--;T++}C=T}let E=f[C];if(E&&(E[0]==="->"||E[0]==="=>")&&E.data?.returnType){let l=_1(E.data.returnType),{params:T}=X(f,R+2),j=T.join(", ");W.push(`${F()}${V}${N}function ${M}(${j}): ${l};`)}else if(Y)W.push(`${F()}${M}: ${I};`),Z.add(M);else W.push(`${F()}${V}let ${M}: ${I};`)}else if(Y)W.push(`${F()}${M}: ${I};`),Z.add(M)}else if(Y)W.push(`${F()}${M}: ${I};`)}}let H=new Set,q=!1;if(U){if(z=J2(U,W,F,u,H,A)||z,H.size>0)for(let S=W.length-1;S>=0;S--){let O=W[S].match(/(?:declare |export )*(?:const|let) (\w+)/);if(O&&H.has(O[1]))W.splice(S,1)}let R=[];if(q=k2(U,R),q){let S=new Set;for(let O of R){let P=O.match(/(?:declare |export )*const (\w+)/);if(P)S.add(P[1])}for(let O=W.length-1;O>=0;O--){let P=W[O].match(/(?:declare |export )*(?:const|let) (\w+)/);if(P&&S.has(P[1]))W.splice(O,1)}W.push(...R)}}if(W.length===0)return null;let B=[];if(z)B.push(...p4);if(/\bARIA\./.test(_))B.push(...n4);if(G)B.push(a4),B.push(o4);if(Q)B.push(r4),B.push(s4);if(G||Q)B.push(t4);if(q)B.push(...m2);if(B.length>0)B.push("");return B.concat(W).join(`
1300
- `)+`
1301
- `}function _1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function J2(f,U,_,W,u,$){if(!Array.isArray(f))return!1;let F=f[0]?.valueOf?.()??f[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 X=1;X<D.length;X++){let H=D[X];if(!Array.isArray(H))continue;if((H[0]?.valueOf?.()??H[0])!=="object")continue;for(let B=1;B<H.length;B++){let R=H[B];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="ref")continue;let O=R[1]?.valueOf?.()??R[1];if(typeof O==="string")O=O.replace(/^["']|["']$/g,"");if(typeof O==="string"&&!Z.has(O))Z.set(O,`__RipDomEl<'${w}'> | null`)}}for(let X=1;X<D.length;X++)if(Array.isArray(D[X]))Q(D[X])},z=!1,A=null,J=null,K="";if(F==="export"&&Array.isArray(f[1])){z=!0;let D=f[1];if((D[0]?.valueOf?.()??D[0])==="="&&Array.isArray(D[2])&&(D[2][0]?.valueOf?.()??D[2][0])==="component")K=D[1]?.typeParams||"",A=D[1]?.valueOf?.()??D[1],J=D[2]}else if(F==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")K=f[1]?.typeParams||"",A=f[1]?.valueOf?.()??f[1],J=f[2];if(A&&J){let D=z?"export ":"",w=J[1]?.valueOf?.()??null,X=w?`__RipProps<'${w}'>`:null;if(X)Y=!0;let H=J[2],q=Array.isArray(H)&&(H[0]?.valueOf?.()??H[0])==="block"?H.slice(1):H?[H]:[],B=[],R=[],S=!1,O=(P)=>{let M=P?.valueOf?.()??P;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 P of q){if(!Array.isArray(P))continue;let M=P[0]?.valueOf?.()??P[0],I,L,V,N,C;if(M==="state"||M==="readonly"||M==="computed"){if(I=P[1],V=Array.isArray(I)&&(I[0]?.valueOf?.()??I[0])==="."&&(I[1]?.valueOf?.()??I[1])==="this",L=V?I[2]?.valueOf?.()??I[2]:I?.valueOf?.()??I,N=V?I[2]?.type:I?.type,C=!0,!V){u.add(L);let T=M==="computed"?"Computed":"Signal",j=N?_1(N):O(P[2])||"any";R.push(` ${L}: ${T}<${j}>;`);continue}}else if(M==="."){if(V=(P[1]?.valueOf?.()??P[1])==="this",L=V?P[2]?.valueOf?.()??P[2]:null,N=V?P[2]?.type:null,C=!1,!V&&L)u.add(L)}else if(M==="object"){for(let T=1;T<P.length;T++){let j=P[T];if(!Array.isArray(j)||j.length<3)continue;let b=j[1]?.valueOf?.()??j[1],i=j[2];if(!Array.isArray(i))continue;let r=i[0]?.valueOf?.()??i[0];if(r!=="->"&&r!=="=>")continue;let U1=i[1];if(!Array.isArray(U1))continue;if(!U1.some((x)=>x?.type))continue;let v=[];for(let x of U1){let d=x?.valueOf?.()??x,o=x?.type?_1(x.type):"any";v.push(`${d}: ${o}`)}R.push(` ${b}(${v.join(", ")}): void;`)}continue}else if(M==="render"){Y=!0,Q(P[1]);continue}else continue;if(!V||!L)continue;let E=N?_1(N):"any",l=C?"?":"";if(!C)S=!0;if(B.push(` ${L}${l}: ${E};`),M==="state")B.push(` __bind_${L}__?: Signal<${E}>;`)}if(U.push(`${D}declare class ${A}${K} {`),B.length>0||X){let P=S?"":"?";if(B.length>0){U.push(` constructor(props${P}: {`);for(let M of B)U.push(M);U.push(X?` } & ${X});`:" });")}else U.push(` constructor(props${P}: ${X});`)}else U.push(" constructor(props?: {});");for(let[P,M]of Z)R.push(` ${P}: ${M};`);for(let P of R)U.push(P);U.push("}")}if(F==="program"||F==="block"){for(let D=1;D<f.length;D++)if(Array.isArray(f[D]))Y=J2(f[D],U,_,W,u,$)||Y}if(F==="export"&&Array.isArray(f[1])&&!J)Y=J2(f[1],U,_,W,u,$)||Y;return Y}function n2(f,U,_){let[W,u]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(u)){let G=u[0]==="block"?u.slice(1):[u];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],A=Q[2]?.valueOf?.()??Q[2];F.push([z,A])}}}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 a2=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"]),o2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),K2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},r2=new Set(Object.keys(K2)),u5=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),f5=new Set(["break","continue","debugger"]),$5=new Set(["NEW","TYPEOF","DELETE"]),U5=new Set(["IN","OF","INSTANCEOF"]),s1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),t1=new Set([...s1,"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"]),W5=new Set(["+","-"]),_5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),Y5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),H1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),w1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),F5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},s2=new Set(["CATCH","THEN","ELSE","FINALLY",...w1]),w2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Z5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),G5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),t2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Q5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),V1=new Set(["INDENT","OUTDENT","TERMINATOR"]),q1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",r1=(f,U)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&U?.spaced===!1&&!U?.newLine;return!1},e2=new Set([".","?."]),u3=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),z5=new Set([...t1,"++","--"]),f3=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),A5=new Set(["*","/","%","//","%%"]),J5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),X5=new Set(["<<",">>",">>>"]),w5=new Set(["!","~"]),K5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,D5=/^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,M5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,H5=/^[^\n\S]+/,q5=/^(?:\n[^\n\S]*)+/,O5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,R5=/^[-=]>/,P5=/^(?:~[=>]|=!)/,B5=/^(?:'''\\|"""\\|'''|"""|'|")/,I5=/^(?:[^\\']|\\[\s\S])*/,S5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,N5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,E5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,$3=/\n+([^\n\S]*)(?=\S)/g,L5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,U3=/^\w*/,V5=/^(?!.*(.).*\1)[gimsuy]*$/,C5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,T5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,j5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,b5=/\s+$/,W3=/^\s*(?:,|\??\.(?![.\d]))/,h5=65279;function e1(f,U,{pre:_=0,row:W=0,col:u=0,len:$=0,data:F=null}={}){let Y=[f,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:u,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function A1(f,U,_){let W=e1(f,U);if(W.generated=!0,_)W.origin=_;return W}function J1(f,{row:U=0,col:_=0,len:W=1}={}){let u=SyntaxError(f);throw u.location={first_line:U,first_column:_,last_column:_+W-1},u}function y5(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class K1{tokenize(f,U={}){this.code=f,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,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)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(f){if(f.charCodeAt(0)===h5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
1302
- `),f=f.replace(b5,""),/^[^\n\S]/.test(f))f=`
1303
- `+f;return f}advance(f){let U=this.code.slice(this.pos,this.pos+f);for(let _=0;_<U.length;_++)if(U[_]===`
1304
- `)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,U,{len:_,data:W,pre:u}={}){let $=e1(f,U,{pre:u??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 f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}inPickKeyPos(){let f=this.prev();if(!f)return!1;let U=f[0];if(U!=="{"&&U!==","&&U!==":"&&U!=="TERMINATOR"&&U!=="INDENT"&&U!=="OUTDENT")return!1;let _=0,W=this.tokens;for(let u=W.length-1;u>=0;u--){let $=W[u],F=$[0];if(F==="}"||F==="PICK_END"){_++;continue}if(F==="{"||F==="PICK_START"||F==="OPTPICK_START"){if(_===0){let Y=W[u-1];return!!(Y&&(Y[0]==="."||Y[0]==="?.")&&!Y.spaced&&!$.spaced)}_--;continue}if(_===0&&(F==="("||F==="CALL_START"||F==="["||F==="INDEX_START"))return!1}return!1}identifierToken(){if(P5.test(this.chunk))return 0;let f=K5.exec(this.chunk);if(!f)return 0;let[,U,_]=f,W=U.length,u={},$;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]==="@")||this.inPickKeyPos()){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("?")&&(a2.has(U)||o2.has(U)||r2.has(U))&&!(this.exportSpecifierList&&r2.has(U))){if(K2[U]!==void 0)u.original=U,U=K2[U];$=this.classifyKeyword(U,$,u)}if($==="IDENTIFIER"&&u5.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("!"))u.await=!0,U=U.slice(0,-1);if(U.length>1&&U.endsWith("?"))u.predicate=!0,U=U.slice(0,-1);let G=this.emit($,U,{len:W,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(_)return this.emit(":",":",{len:1}),W+_.length;return W}classifyKeyword(f,U,_){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(f5.has(f))return"STATEMENT";let W=f.toUpperCase();if(W==="WHEN"&&V1.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($5.has(W))return"UNARY";if(U5.has(W)){if(W!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+W;if(this.prevVal()==="!"){let u=this.tokens.pop();_.invert=u.data?.original||u[1]}return"RELATION"}if(a2.has(f)||o2.has(f))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 f=O5.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=H5.exec(this.chunk);if(!f&&this.chunk[0]!==`
1305
- `)return 0;let U=this.prev();if(U)if(f)U.spaced=!0,U.pre=f[0].length;else U.newLine=!0;return f?f[0].length:0}lineToken(){let f=q5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length-1-U.lastIndexOf(`
1306
- `);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!u3.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(f,U=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let _=this.indent-f;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=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1307
- `,{len:0})}isUnfinished(){if(this.inRenderBlock&&W3.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 f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"||f?.[0]==="SHIFT"&&(f[1]===">>"||f[1]===">>>")){let _=0;for(let W=this.tokens.length-1;W>=0;W--){let u=this.tokens[W];if(u[0]==="COMPARE"&&u[1]===">")_++;else if(u[0]==="SHIFT"&&u[1]===">>")_+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")_+=3;else if(u[0]==="COMPARE"&&u[1]==="<")_--;if(_===0&&u[0]==="TYPE_ANNOTATION")return!1;if(_===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return W3.test(this.chunk)||u3.has(this.prevTag())}pair(f){let U=this.ends[this.ends.length-1];if(!U||f!==U.tag){if(U?.tag==="OUTDENT"){let _=this.indents[this.indents.length-1];if(_)this.outdentTo(this.indent-_);return this.pair(f)}J1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=B5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length>1&&U.endsWith("\\"),W=_?U.slice(0,-1):U,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(W){case"'":$=I5;break;case'"':$=S5;break;case"'''":$=N5;break;case'"""':$=E5;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(f,U,_){let W=f-U.length,u=W-1;while(u>=0&&this.chunk[u]!==`
1308
- `)u--;u++;let $=this.chunk.slice(u,W),F=/^\s*$/.test($)?$.length:null,Y="";for(let Q of _)if(Q[0]==="NEOSTRING")Y+=Q[1];let Z=null,G;$3.lastIndex=0;while(G=$3.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(f,U,_,W){if(!_)_=U;if(!W)W=/^[#$]\{/;let u=[],$=U.length;if(this.chunk.slice(0,$)!==U)return null;let F=this.chunk.slice($);while(!0){let[Y]=f.exec(F);u.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),A=new K1().tokenize(z,{row:this.row,col:this.col+$+Q,untilBalanced:!0,rewrite:!1}),J=A.index+Q;if(F[J-1]==="}"){let D=A.tokens[0],w=A.tokens[A.tokens.length-1];D[0]="INTERPOLATION_START",D[1]="(",w[0]="INTERPOLATION_END",w[1]=")"}if(A.tokens[1]?.[0]==="TERMINATOR")A.tokens.splice(1,1);let K=A.tokens.length;if(K>2&&A.tokens[K-3]?.[0]==="INDENT"&&A.tokens[K-2]?.[0]==="OUTDENT")A.tokens.splice(K-3,2);u.push(["TOKENS",A.tokens]),F=F.slice(J),$+=J}if(F.slice(0,_.length)!==_)J1(`missing ${_}`,{row:this.row,col:this.col});return{tokens:u,index:$+_.length}}mergeInterpolationTokens(f,{quote:U,indent:_,endOffset:W,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:U?.length||0,data:{quote:U}});for(let $=0;$<f.length;$++){let[F,Y]=f[$];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,`
1309
- `)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===f.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(u)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(f.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let f=D5.exec(this.chunk);if(!f)return 0;let U=f[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 u=y5(U),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let f=this.matchWithInterpolations(C5,"///");if(f){let{tokens:G,index:Q}=f,[z]=U3.exec(this.chunk.slice(Q)),A=Q+z.length;if(G.length===1||!G.some((J)=>J[0]==="TOKENS")){let J=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${J}/${z}`,{len:A,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:A-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 A}let U=L5.exec(this.chunk);if(!U)return 0;let[_,W,u]=U,$=this.prev();if($){if($.spaced&&s1.has($[0])&&(!u||/^\/=?\s/.test(_)))return 0;if(z5.has($[0])&&!($.spaced&&s1.has($[0])))return 0}if(!u)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(!V5.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 f=j5.exec(this.chunk)||T5.exec(this.chunk);if(!f)return 0;let U=f[1],_=f[0].length;return this.emit("JS",U,{len:_,data:{here:f[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let _={"[":"]","(":")","{":"}","<":">"}[f]||f,W=_!==f,u=1,$=3;while($<this.chunk.length&&u>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(W&&G===f)u++;if(G===_)u--;if(u>0)$++}if(u!==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 f=this.chunk[1];if(!f||f==="="||f===":"||/\s/.test(f))return 0;if(!/[a-zA-Z_$]/.test(f))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 f=this.wordLiteral();if(f)return f;let U=this.symbolToken();if(U)return U;let _=M5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),u=W,$=this.prev();if(R5.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(e1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(e1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||f3.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,u="TERMINATOR";else if(W==="|>")u="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")u="COMPUTED_ASSIGN";else if(W===":=")u="REACTIVE_ASSIGN";else if(W==="<=>")u="BIND";else if(W==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")u="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]==="@",A=z?G.slice(1):G,J=A?A.split("."):[],K=()=>{if(z){if(this.emit("@","@"),J.length>0)this.emit("PROPERTY",J[0])}else this.emit("IDENTIFIER",J[0]);for(let w=1;w<J.length;w++)this.emit(".","."),this.emit("PROPERTY",J[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")u="EXPORT_ALL";else if(A5.has(W))u="MATH";else if(J5.has(W))u="COMPARE";else if(f3.has(W))u="COMPOUND_ASSIGN";else if(w5.has(W))u="UNARY_MATH";else if(X5.has(W))u="SHIFT";else if(W==="?"&&$?.spaced)u="TERNARY";else if(W==="?!"&&$&&!$.spaced)u="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if($){if(W==="("&&!$.spaced&&s1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(W==="["&&!$.spaced&&t1.has($[0])){if(u="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:F5[W],origin:[u,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(u,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,U=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let _=this.tokens[f];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let U=this.tokens[f??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteDottedPicks(),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 f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let U=0;U<f.length;U++){if(f[U][0]!=="MATH"||f[U][1]!=="*")continue;let _=f[U+1];if(!_||_[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let W=f[U-1];if(W&&t1.has(W[0]))continue;f.splice(U,1),f[U][0]="MAP_START";let u=1;for(let $=U+1;$<f.length&&u>0;$++){let F=f[$][0];if(F==="{"||F==="MAP_START")u++;if(F==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let U=0;U<f.length;U++){let _=f[U][0];if(_!=="."&&_!=="?.")continue;let W=f[U+1];if(!W||W[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let u=f[U-1];if(!u||!t1.has(u[0]))continue;let $=_==="?.";f.splice(U,1),f[U][0]=$?"OPTPICK_START":"PICK_START";let F=1;for(let Y=U+1;Y<f.length&&F>0;Y++){let Z=f[Y][0];if(Z==="{"||Z==="PICK_START"||Z==="OPTPICK_START")F++;else if(Z==="}"){if(F--,F===0){f[Y][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,U)=>{if(f[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,U)=>{if(f[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")f[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&Q5.has($[0])&&!($[0]==="TERMINATOR"&&s2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||e2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,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(s2.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(t2.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(f=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,u);else this.detectEnd(F+2,W,u);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(f){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=f-1;_>=0;_--){let W=this.tokens[_],u=W?.[0];if(U.has(u))return u;if(V1.has(u)||W?.newLine)return null}return null}detectWhenThenEnd(f,U,_){let W=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(U.call(this,$,f))return _.call(this,$,f)}if(H1.has(F))W++;if(w1.has(F))W--;if(W<0)return _.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,U=(W,u)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!t2.has(this.tokens[u-1]?.[0])},_=(W)=>{if(W[0]!=="INDENT"||W.generated&&!W.fromThen)f[0]="POST_"+f[0]};this.scanTokens((W,u)=>{if(W[0]!=="IF"&&W[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=W,this.detectEnd(u+1,U,_),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let U=f.length-2;U>=0;U--)if(f[U][0]==="IDENTIFIER"&&f[U][1]==="$"&&(f[U+1]?.[0]==="STRING"||f[U+1]?.[0]==="STRING_START")){let _=f[U-1];if(_&&Z5.has(_[0])){if(f.splice(U,1),_.spaced=!1,f[U].spaced=!1,f[U].pre=0,f[U].newLine)f[U].newLine=!1}}}addImplicitBracesAndParens(){let f=[],U=!1;this.scanTokens((_,W,u)=>{let[$]=_,F=u[W-1]||[],Y=u[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(P)=>W-Q+P,A=()=>f[f.length-1],J=(P)=>P?.[2]?.ours,K=()=>J(A())&&A()?.[0]==="(",D=()=>J(A())&&A()?.[0]==="{",w=(P)=>{f.push(["(",P,{ours:!0}]),u.splice(P,0,A1("CALL_START","("))},X=()=>{f.pop(),u.splice(W,0,A1("CALL_END",")")),W+=1},H=(P,M={})=>{f.push(["{",P,{sameLine:!0,startsLine:M.startsLine??!0,ours:!0}]);let I=A1("{","{");if(!I.data)I.data={};I.data.generated=!0,u.splice(P,0,I)},q=(P)=>{P=P??W,f.pop(),u.splice(P,0,A1("}","}")),W+=1};if((K()||D())&&G5.has($))return f.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&J(A())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||D()&&Z!==":")if(K())X();else q();if(A()?.[2]?.ours&&A()[0]==="CONTROL")f.pop();return f.push([$,W]),z(1)}if(H1.has($))return f.push([$,W]),z(1);if(w1.has($)){while(J(A()))if(K())X();else if(D())q();else f.pop();f.pop()}let B=!1;if(G==="-"&&!Y.spaced&&!Y.newLine&&q1(_))for(let P=W;P<u.length-2;P+=2){if(!r1(u[P+1],u[P+2]))break;if(!q1(u[P+2]))break;if(u[P+3]?.[0]===":"){B=!0;break}}if(!B&&w2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(u[W+2]?.[0])||W5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return w(W+1),z(2);if(w2.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),f.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(q1(u[W-1])&&r1(u[W-2],u[W-1])){let I=W-2;while(I>=2&&r1(u[I],u[I+1])&&q1(u[I-1]))I-=2;if(I+=1,q1(u[I])){let L="";for(let N=I;N<W;N++)L+=u[N][1];let V=A1("STRING",`"${L}"`,u[I]);V.pre=u[I].pre,V.spaced=u[I].spaced,V.newLine=u[I].newLine,V.loc=u[I].loc,u.splice(I,W-I,V),W=I+1}}let P=w1.has(this.tokens[W-1]?.[0])?f[f.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")P=W-2;let M=P<=0||V1.has(this.tokens[P-1]?.[0])||this.tokens[P-1]?.newLine;if(A()){let[I,L]=A(),V=f[f.length-2],N=(C)=>C==="{"||C==="MAP_START"||C==="PICK_START"||C==="OPTPICK_START";if((N(I)||I==="INDENT"&&N(V?.[0])&&!J(V))&&(M||this.tokens[P-1]?.[0]===","||N(this.tokens[P-1]?.[0])||N(this.tokens[P]?.[0])))return z(1)}return H(P,{startsLine:!!M}),z(2)}if(V1.has($))for(let P=f.length-1;P>=0;P--){if(!J(f[P]))break;if(f[P][0]==="{")f[P][2].sameLine=!1}let R=Z==="OUTDENT"||F.newLine,S=$==="||"||$==="&&",O=!1;if(S){let P=W+1,M=u[P]?.[0];if(M==="("||M==="["||M==="{"){for(let I=1;++P<u.length&&I>0;)if(M=u[P][0],M==="("||M==="["||M==="{")I++;else if(M===")"||M==="]"||M==="}")I--}else if(M&&M!=="TERMINATOR"&&M!=="OUTDENT"&&M!==",")P++;O=u[P]?.[0]===","}if(_5.has($)&&!O||e2.has($)&&R)while(J(A())){let[P,,{sameLine:M,startsLine:I}]=A();if(K()&&Z!==",")X();else if(D()&&!S&&M&&$!=="TERMINATOR"&&Z!==":")q();else if(D()&&$==="TERMINATOR"&&Z!==","&&!(I&&this.looksObjectish(W+1)))q();else if(A()?.[2]?.ours&&A()[0]==="CONTROL"&&u[A()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(W+1)&&D()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let P=G==="OUTDENT"?1:0;while(D())q(W+P)}return z(1)})}addImplicitCallCommas(){let f=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],u=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")f++;if(W==="CALL_END"||W===")")f--;if(f>0&&(W==="->"||W==="=>")&&Y5.has(u))_.splice(U,0,A1(",",",")),U++;U++}}scanTokens(f){let U=0;while(U<this.tokens.length)U+=f.call(this,this.tokens[U],U,this.tokens)}detectEnd(f,U,_,W={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&U.call(this,$,f))return _.call(this,$,f);if(H1.has($[0]))u++;if(w1.has($[0]))u--;if(u<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let U=0;U<f.length;U++){if(!f[U].mergeClose)continue;let _=0;for(let W=U+1;W<f.length;W++){let u=f[W][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")_++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")_--;if(_<0||_===0&&u==="TERMINATOR"){f.splice(W,0,A1("CALL_END",")",f[W-1]));break}if(W===f.length-1){f.splice(W+1,0,A1("CALL_END",")",f[W]));break}}}}commaInImplicitCall(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.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(w2.has(W)&&this.tokens[_].spaced){let u=this.tokens[_+1]?.[0];return o1.has(u)||u==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.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(f+1);if(V1.has(W))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if(q1(this.tokens[f]))for(let U=f+1;U<this.tokens.length;U+=2){if(!r1(this.tokens[U],this.tokens[U+1]))break;if(!q1(this.tokens[U+1]))break;if(this.tokens[U+2]?.[0]===":")return!0}if(H1.has(this.tokens[f]?.[0])){let U=null;if(this.detectEnd(f+1,(_)=>w1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,U){let _=new Set(U),W=[];while(f>=0){let u=this.tokens[f]?.[0];if(!W.length&&_.has(u))return!0;if(w1.has(u))W.push(u);if(H1.has(u)&&W.length)W.pop();if(!W.length&&(H1.has(u)&&!this.tokens[f]?.generated||V1.has(u)))break;f--}return!1}makeIndentation(f){let U=A1("INDENT",2),_=A1("OUTDENT",2);if(f)U.generated=_.generated=!0,U.origin=_.origin=f;else U.explicit=_.explicit=!0;return[U,_]}}p2(K1);a1(K1);var v5=["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(v5);var g5=["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 c5=["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"],x5=["math","param","portal"],Y3=new Set([...g5,...x5]),O1=new Set(c5),R1=new Set([...Y3,...O1]);var F3="__bind_",Z3="__",D2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),l5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),M2="http://www.w3.org/2000/svg";function m5(f){for(let U of f){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 P1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function H2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function q2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function G3(f,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 A=this.tokens[z][0];if(A==="OUTDENT")Q++;else if(A==="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=(X,H,q)=>{let B=[X,H];if(B.pre=0,B.data=null,B.loc=q?.loc??{r:0,c:0,n:0},B.spaced=!1,B.newLine=!1,B.generated=!0,q)B.origin=q;return B},Z=!1,G=0,Q=0,z=[],A=(X)=>{let H=X.split("#")[0];return R1.has(H)},J=(X)=>{if(!X||typeof X!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(X)},K=(X)=>{return A(X)||J(X)},D=(X,H,q,B)=>{let R=1,S=H;while(S>=0&&R>0){let O=X[S][0];if(O===q)R++;else if(O===B)R--;if(R>0)S--}return S},w=(X,H)=>{let q=H;while(q>0){let B=X[q-1][0];if(B==="TERMINATOR"||B==="RENDER")break;if(B==="INDENT"||B==="OUTDENT"){let R=X[q][0];if(R==="CALL_END"||R===")"){q=D(X,q-1,R,R==="CALL_END"?"CALL_START":"(");continue}break}if(B==="CALL_END"||B===")"){q=D(X,q-2,B,B==="CALL_END"?"CALL_START":"(");continue}if(B==="INTERPOLATION_END"){q=D(X,q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(B==="STRING_END"){q=D(X,q-2,"STRING_END","STRING_START");continue}q--}return X[q]&&X[q][0]==="IDENTIFIER"&&(K(X[q][1])||(q===0||X[q-1][0]==="INDENT"||X[q-1][0]==="TERMINATOR"||X[q-1][0]==="RENDER"))};this.scanTokens(function(X,H,q){let B=X[0],R=H<q.length-1?q[H+1]:null;if(B==="RENDER")return Z=!0,G=Q+1,1;if(B==="INDENT")return Q++,1;if(B==="OUTDENT"){Q--;let S=0;while(z.length>0&&z[z.length-1]>Q){let O=Y("CALL_END",")",X);q.splice(H+1+S,0,O),z.pop(),S++}if(Z&&Q<G)Z=!1;return 1+S}if(!Z)return 1;if(B==="="&&H>0){let S=q[H-1][0];if(S==="TERMINATOR"||S==="INDENT"||S==="RENDER"){let O=Y("IDENTIFIER","__text__",X),P=Y("CALL_START","(",X);return q.splice(H,1,O,P),this.detectEnd(H+2,(M)=>M[0]==="TERMINATOR"||M[0]==="OUTDENT",(M,I)=>q.splice(I,0,Y("CALL_END",")",M)),{returnOnNegativeLevel:!0}),2}}if(B==="UNARY_MATH"&&X[1]==="~"&&R&&R[0]==="IDENTIFIER"){X[0]="PROPERTY",X[1]="__transition__";let S=Y(":",":",X),O=Y("STRING",`"${R[1]}"`,R);return q.splice(H+1,1,S,O),1}if(B==="PROPERTY"&&X[1][0]==="$"&&X[1].length>1)return X[0]="STRING",X[1]=`"data-${X[1].slice(1)}"`,1;if(B==="IDENTIFIER"&&!X.spaced){let S=[X[1]],O=H+1;while(O+1<q.length){let P=q[O],M=q[O+1];if(P[0]==="-"&&!P.spaced&&(M[0]==="IDENTIFIER"||M[0]==="PROPERTY")){if(S.push(M[1]),O+=2,M[0]==="PROPERTY")break}else break}if(S.length>1&&O>H+1&&q[O-1][0]==="PROPERTY"){let P=S.join("-");if(P[0]==="$")P="data-"+P.slice(1);return X[0]="STRING",X[1]=`"${P}"`,q.splice(H+1,O-H-1),1}}if(B==="."){let S=H>0?q[H-1]:null,O=S?S[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(R&&R[0]==="PROPERTY"){let P=H+2<q.length?q[H+2]:null;if(!P||P[0]!==":"){let M=Y("IDENTIFIER","div",X);return q.splice(H,0,M),2}}if(!R||R[0]!=="(")return X[0]="IDENTIFIER",X[1]="div",0}}if(B==="IDENTIFIER"||B==="PROPERTY"){let S=q[H+1],O=q[H+2];if(S&&S[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(X[1]=X[1]+"#"+O[1],O.spaced)X.spaced=!0;return q.splice(H+1,2),0}}if(B==="BIND"){let S=H>0?q[H-1]:null,O=q[H+1];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return S[1]=`__bind_${S[1]}__`,X[0]=":",X[1]=":",1}if(B==="@"){let S=H+1;if(S<q.length&&q[S][0]==="PROPERTY"){S++;while(S+1<q.length&&q[S][0]==="."&&q[S+1][0]==="PROPERTY")S+=2;if(S>H+2&&S<q.length&&q[S][0]===":"){let O=Y("[","[",X);q.splice(H,0,O);let P=Y("]","]",q[S+1]);return q.splice(S+1,0,P),2}}}if(B==="."&&R&&R[0]==="("){let S=H>0?q[H-1]:null,O=S?S[0]:null,P=O==="INDENT"||O==="TERMINATOR",M=Y("PROPERTY","__clsx",X);R[0]="CALL_START";let I=1;for(let L=H+2;L<q.length&&I>0;L++)if(q[L][0]==="("||q[L][0]==="CALL_START")I++;else if(q[L][0]===")"){if(I--,I===0)q[L][0]="CALL_END"}else if(q[L][0]==="CALL_END")I--;if(P){let L=Y("IDENTIFIER","div",X);return q.splice(H,0,L),q.splice(H+2,0,M),3}else if(O===":")return q[H]=Y("IDENTIFIER","__clsx",X),1;else return q.splice(H+1,0,M),2}if(R&&R[0]==="INDENT"){if(R.fromThen)return 1;if(B==="->"||B==="=>"||B==="CALL_START"||B==="(")return 1;let S=!1,O=H>0?q[H-1][0]:null,P=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN"||O==="FORIN"||O==="FOROF"||O==="FORAS"||O==="FORASAWAIT"||O==="BY",M=!1;if(B==="CALL_END"){let L=1;for(let V=H-1;V>=0&&L>0;V--)if(q[V][0]==="CALL_END")L++;else if(q[V][0]==="CALL_START"){if(L--,L===0&&V>0&&q[V-1][0]==="PROPERTY"&&q[V-1][1]==="__clsx")M=!0}}let I=B==="IDENTIFIER"&&(O==="INDENT"||O==="TERMINATOR"||O==="RENDER");if(M)S=!0;else if(B==="IDENTIFIER"&&K(X[1])&&!P)S=!0;else if(B==="IDENTIFIER"&&!P)S=I||w(q,H);else if(B==="PROPERTY"||B==="STRING"||B==="STRING_END"||B==="NUMBER"||B==="BOOL"||B==="CALL_END"||B===")"||B==="PRESENCE")S=w(q,H);if(S){let L=!1;if(B==="PROPERTY"&&H>0&&q[H-1][0]==="."){let N=H;while(N>=2&&q[N-1][0]==="."&&q[N-2][0]==="PROPERTY")N-=2;if(N>=2&&q[N-1][0]==="."&&q[N-2][0]==="IDENTIFIER"&&K(q[N-2][1])){let C=N>=3?q[N-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")L=!0}}if(M||B==="IDENTIFIER"&&(K(X[1])||I)||L){let N=Y("CALL_START","(",X),C=Y("->","->",X);return C.newLine=!0,q.splice(H+1,0,N,C),z.push(Q+1),3}else{let N=Y(",",",",X),C=Y("->","->",X);return C.newLine=!0,q.splice(H+1,0,N,C),3}}}if(B==="IDENTIFIER"&&J(X[1])&&R&&(R[0]==="OUTDENT"||R[0]==="TERMINATOR"))return q.splice(H+1,0,Y("CALL_START","(",X),Y("CALL_END",")",X)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(Y){let Z=Y.split("#")[0];return R1.has(Z.toLowerCase())},u.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)},u.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let J=G[2];if(typeof J==="string"||J instanceof String)Z.unshift(J.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,A]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:A,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};u.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 A of Q){let J=$(Array.isArray(A)&&A[0]==="default"?A[1]:A);if(J)z.add(J)}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],A=Array.isArray(z)?this.transformComponentMembers(z,Z):z,J=this.transformComponentMembers(Q[2],Z);return[Q[0],A,J]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let A=1;A<Y.length;A++){let J=Y[A];if(Array.isArray(J)&&J[0]==="="){let K=$(J[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",J[1],this.transformComponentMembers(J[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(J,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},u.emitComponent=function(Y,Z,G,Q){let[,z]=Z,A=this.is(z,"block")?z.slice(1):[],J=[],K=[],D=[],w=[],X=[],H=[],q=[],B=[],R=null,S=new Set,O=new Set;for(let T of A){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let b=P1(T[1]);if(b)q.push(b)}if(j==="accept"){let b=typeof T[1]==="string"?T[1]:P1(T[1]);if(b)B.push(b),S.add(b),O.add(b)}else if(j==="."&&T[1]==="this"&&P1(T)){let b=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(b)J.push({name:b,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),S.add(b),O.add(b)}else if(j==="state"){let b=P1(T[1]);if(b)J.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),S.add(b),O.add(b)}else if(j==="computed"){let b=P1(T[1]);if(b)K.push({name:b,expr:T[2],type:q2(T[1])}),S.add(b),O.add(b)}else if(j==="readonly"){let b=P1(T[1]);if(b)D.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),S.add(b)}else if(j==="="){let b=P1(T[1]);if(b)if(D2.has(b))X.push({name:b,value:T[2]});else{let i=T[2];if(Array.isArray(i)&&(i[0]==="->"||i[0]==="=>"))w.push({name:b,func:i}),S.add(b);else J.push({name:b,value:i,isPublic:H2(T[1])}),S.add(b),O.add(b)}}else if(j==="effect")H.push(T);else if(j==="render")R=T;else if(j==="object")for(let b=1;b<T.length;b++){let i=T[b];if(!Array.isArray(i))continue;let[,r,U1]=i;if(typeof r==="string"&&D2.has(r))X.push({name:r,value:U1});else if(typeof r==="string")w.push({name:r,func:U1}),S.add(r)}}let P=new Map;for(let{name:T}of w)if(/^on[A-Z]/.test(T)&&!D2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if(_3.has(j))P.set(j,T)}let M=Z[0]?.valueOf?.()??null,I=new Set;for(let{name:T,isPublic:j}of J)if(j)I.add(T);for(let{name:T,isPublic:j}of D)if(j)I.add(T);let L=this.componentMembers,V=this.reactiveMembers,N=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=S,this.reactiveMembers=O,this._autoEventHandlers=P.size>0?P:null,this._inheritsTag=M||null,this.options.stubComponents){let T=(y)=>y?y.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],b=this._componentTypeParams||"";j.push(`class ${b}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let i=[];for(let{name:y,type:v,isPublic:x,required:d}of J){if(!x)continue;let o=T(v),u1=d?"":"?";i.push(`${y}${u1}: ${o||"any"}`),i.push(`__bind_${y}__?: Signal<${o||"any"}>`)}for(let{name:y,type:v,isPublic:x}of D){if(!x)continue;let d=T(v);i.push(`${y}?: ${d||"any"}`)}{let v=i.length>0&&J.some((d)=>d.isPublic&&d.required)?"":"?",x=i.length>0?`{${i.join("; ")}}`:"{}";if(M)x+=` & __RipProps<'${M}'>`;j.push(` constructor(_props${v}: ${x}) {}`)}let r=(y)=>{let v=y?.valueOf?.()??y;if(typeof v!=="string")return null;if(v==="true"||v==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(v))return"number";if(v.startsWith('"')||v.startsWith("'"))return"string";return null};for(let{name:y,type:v,value:x}of J){let d=T(v)||r(x);j.push(d?` declare ${y}: Signal<${d}>;`:` declare ${y}: Signal<any>;`)}for(let{name:y,type:v,value:x}of D){let d=T(v)||r(x);j.push(d?` declare ${y}: ${d};`:` declare ${y}: any;`)}for(let{name:y,expr:v,type:x}of K){let d=T(x),o=d?`: Computed<${d}>`:"";if(this.is(v,"block")){let u1=this.transformComponentMembers(v),c=this.emitFunctionBody(u1);j.push(` ${y}${o} = __computed(() => ${c});`)}else{let u1=this.emitInComponent(v,"value");j.push(` ${y}${o} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:y,value:v,isPublic:x}of D){let d=this.emitInComponent(v,"value");j.push(x?` this.${y} = props.${y} ?? ${d};`:` this.${y} = ${d};`)}for(let{name:y,value:v,isPublic:x,required:d,type:o}of J)if(x&&d)j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y});`);else if(x){let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y} ?? ${u1});`)}else{let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(${u1});`)}for(let y of H){let v=y[2],x=this.containsAwait(v)?"async ":"";if(this.is(v,"block")){let d=this.transformComponentMembers(v),o=this.emitFunctionBody(d,[],!0);j.push(` __effect(${x}() => ${o});`)}else{let d=this.emitInComponent(v,"value");j.push(` __effect(${x}() => { ${d}; });`)}}j.push(" }");let U1=new Map;for(let[y,v]of P)U1.set(v,y);if(R){let y=(v)=>{if(!Array.isArray(v))return;let x=v[0]?.valueOf?.()??v[0];if(typeof x==="string"&&x!=="object"&&x!=="switch"&&R1.has(x.split(/[.#]/)[0]))for(let d=1;d<v.length;d++){let o=v[d],u1=this.is(o,"object")?o:null;if(!u1&&Array.isArray(o)&&(o[0]==="->"||o[0]==="=>")&&this.is(o[2],"block")){for(let c=1;c<o[2].length;c++)if(this.is(o[2][c],"object")){u1=o[2][c];break}}if(!u1)continue;for(let c=1;c<u1.length;c++){let n=u1[c];if(!Array.isArray(n)||n.length<2)continue;let[,s,e]=n;if(Array.isArray(s)&&s[0]==="."&&s[1]==="this"&&Array.isArray(e)&&e[0]==="."&&e[1]==="this"){let h=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.(),p=typeof e[2]==="string"?e[2]:e[2]?.valueOf?.();if(h&&p&&!U1.has(p))U1.set(p,h)}}}for(let d=1;d<v.length;d++)y(v[d])};y(R)}for(let{name:y,func:v}of w)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,x,d]=v;if((!x||Array.isArray(x)&&x.length===0)&&this.containsIt(d))x=["it"];let o=Array.isArray(x)?x.map((e)=>{let h=this.formatParam(e);if(e?.type)h+=`: ${e.type}`;return h}).join(", "):"",u1=U1.get(y);if(u1&&Array.isArray(x)&&x.length>0){let e=x[0];if(!(e?.type||e instanceof String&&e.type)&&typeof(e?.valueOf?.()??e)==="string"){let p=e?.valueOf?.()??e;o=o.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let c=this.reactiveMembers?this.transformComponentMembers(d):d,n=this.containsAwait(d),s=this.emitFunctionBody(c,x||[]);j.push(` ${n?"async ":""}${y}(${o}) ${s}`)}for(let{name:y,value:v}of X)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,x,d]=v,o=Array.isArray(x)?x.map((s)=>this.formatParam(s)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(d):d,c=this.containsAwait(d),n=this.emitFunctionBody(u1,x||[]);j.push(` ${c?"async ":""}${y}(${o}) ${n}`)}if(R){let y=[],v=0,x=this.options.source?.split(`
1310
- `),d=(c)=>{let n=[];for(let s of c){let e=null;if(this.is(s,"object"))e=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let h=1;h<s[2].length;h++)if(this.is(s[2][h],"object")){e=s[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h],[,m,t]=p;if(typeof m==="string"&&!m.startsWith("@")){let $1=p.loc?.r??e.loc?.r;if(m.startsWith("__bind_")&&m.endsWith("__")){let a=typeof t==="string"&&this.reactiveMembers?.has(t)?`this.${t}`:this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}}}}return n},o=(c)=>{let n=[];for(let s of c){let e=null;if(this.is(s,"object"))e=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let h=1;h<s[2].length;h++)if(this.is(s[2][h],"object")){e=s[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h];if(!Array.isArray(p)||p.length<2)continue;let[,m,t]=p,$1=p.loc?.r??e.loc?.r;if(Array.isArray(m)&&m[0]==="."&&m[1]==="this"){let a=typeof m[2]==="string"?m[2]:m[2]?.valueOf?.();if(!a)continue;let f1="@"+a.split(".")[0],_2=this.emitInComponent(t,"value");n.push({code:`'${f1}': ${_2}`,srcLine:$1})}else if(typeof m==="string"){if(m==="key"){let a=this.emitInComponent(t,"value"),f1=$1!=null?` // @rip-src:${$1}`:"";y.push(` (${a});${f1}`);continue}if(m.startsWith("__bind_")&&m.endsWith("__")){let a=m.slice(7,-2),f1=this.emitInComponent(t,"value");n.push({code:`${a}: ${f1}`,srcLine:$1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}}}}return n},u1=(c)=>{if(!Array.isArray(c))return;let n=c[0]?.valueOf?.()??c[0];if(n==="object")return;if(n==="if"||n==="unless"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}}else if(n==="?:"){let h=this.emitInComponent(c,"value"),p=c.loc?.r,m=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${m}`)}else if(n==="switch"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}}else if(n==="for-in"||n==="for-of"||n==="for-as"){let h=c[1],p=c[2];if(p!=null){let m=this.emitInComponent(p,"value"),t=c.loc?.r,$1=t!=null?` // @rip-src:${t}`:"",a;if(Array.isArray(h))if(h.length===1){let f1=h[0];a=Array.isArray(f1)?this.emitDestructuringPattern(f1):String(f1)}else if(n==="for-of")a=`[${h.map((f1)=>String(f1)).join(", ")}]`;else a=String(h[0]);else a=String(h);if(n==="for-of")y.push(` for (const ${a} of Object.entries(${m})) {${$1}`);else y.push(` for (const ${a} of ${m}) {${$1}`);for(let f1=3;f1<c.length;f1++)if(c[f1]!=null)u1(c[f1]);y.push(" }");return}}else if(n==="__text__"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}return}else if(n==="str"){try{let h=this.emitInComponent(c,"value"),p=c.loc?.r,m=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${m}`)}catch{}return}let s=(h,p,m)=>{if(typeof h!=="string"||!/^[a-z][\w-]*$/.test(h))return;if(f.GENERATORS[h])return;if(h==="null"||h==="undefined"||h==="true"||h==="false")return;let t=p.loc?.r;if(t!=null&&x){let a=new RegExp(`\\b${h}\\b`);for(let f1=t;f1<x.length;f1++)if(a.test(x[f1])){t=f1;break}}let $1=t!=null?` // @rip-src:${t}`:"";if(this.componentMembers&&this.componentMembers.has(h))y.push(` this.${h};${$1}`);else if(m)y.push(` ${h};${$1}`);else y.push(` __ripEl('${h}');${$1}`)},e=typeof n==="string"&&/^[a-z][\w-]*$/.test(n)&&!f.GENERATORS[n]&&R1.has(n.split(/[.#]/)[0]);if(n==="block")for(let h=1;h<c.length;h++)s(c[h],c,!1);else if(e){for(let h=1;h<c.length;h++)s(c[h],c,!0);for(let h=1;h<c.length;h++){let p=c[h];if(!Array.isArray(p))continue;let m=p[0]?.valueOf?.()??p[0];if(m==="object"||m==="block"||m==="__text__")continue;if(typeof m==="string"){if(/^[A-Z]/.test(m))continue;if(R1.has(m.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(m)&&!f.GENERATORS[m])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test(m))continue}try{let t=this.emitInComponent(p,"value"),$1=p.loc?.r??c.loc?.r,a=$1!=null?` // @rip-src:${$1}`:"";y.push(` ${t};${a}`)}catch{}}}for(let h=1;h<c.length;h++)u1(c[h]);if(typeof n==="string"&&/^[A-Z]/.test(n)){let h=d(c.slice(1)),p=`_${v++}`,m=`ConstructorParameters<typeof ${n}>[0] & {}`;if(h.length===0){let t=c.loc?.r;y.push(` const ${p}: ${m} = {};`+(t!=null?` // @rip-src:${t}`:""))}else if(h.length===1){let t=c.loc?.r??h[0].srcLine;y.push(` const ${p}: ${m} = {${h[0].code}};`+(t!=null?` // @rip-src:${t}`:""))}else{let t=c.loc?.r;if(new Set(h.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=h[0].srcLine??t;y.push(` const ${p}: ${m} = {${h.map((f1)=>f1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{y.push(` const ${p}: ${m} = {`+(t!=null?` // @rip-src:${t}`:""));for(let a of h)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" };")}}}else if(typeof n==="string"&&!f.GENERATORS[n]&&(R1.has(n.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(n)&&c.length>1)){let h=n.split(/[.#]/)[0],p=o(c.slice(1)),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";if(p.length===0)y.push(` __ripEl('${h}');${t}`);else if(p.length===1){let $1=p[0].srcLine??m,a=$1!=null?` // @rip-src:${$1}`:"";y.push(` __ripEl('${h}', {${p[0].code}});${a}`)}else if(new Set(p.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=p[0].srcLine??m,f1=a!=null?` // @rip-src:${a}`:"";y.push(` __ripEl('${h}', {${p.map((_2)=>_2.code).join(", ")}});${f1}`)}else{y.push(` __ripEl('${h}', {${t}`);for(let a of p)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" });")}}};if(u1(R),y.length>0){j.push(" _render() {");for(let c of y)j.push(c);j.push(" }")}}return j.push("}"),this.componentMembers=L,this.reactiveMembers=V,this._autoEventHandlers=N,this._inheritsTag=C,j.join(`
1311
- `)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],l="";E.push("class extends __Component {"),E.push(" _init(props) {");for(let{name:T,value:j,isPublic:b}of D){let i=this.emitInComponent(j,"value");E.push(b?` this.${T} = props.${T} ?? ${i};`:` this.${T} = ${i};`)}for(let T of B)E.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:j,isPublic:b,required:i}of J)if(b&&i)E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(b){let r=this.emitInComponent(j,"value");E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${r});`)}else{let r=this.emitInComponent(j,"value");E.push(` this.${T} = __state(${r});`)}if(M){if(E.push(" this._rest = {};"),E.push(" for (const __k in props) {"),I.size>0){let T=[...I].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 b=this.transformComponentMembers(j),i=this.emitFunctionBody(b);E.push(` this.${T} = __computed(() => ${i});`)}else{let b=this.emitInComponent(j,"value");E.push(` this.${T} = __computed(() => ${b});`)}for(let T of q)E.push(` setContext('${T}', this.${T});`);for(let T of H){let j=T[2],b=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let i=this.transformComponentMembers(j),r=this.emitFunctionBody(i,[],!0);E.push(` __effect(${b}() => ${r});`)}else{let i=this.emitInComponent(j,"value");E.push(` __effect(${b}() => { ${i}; });`)}}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 w)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,i]=j;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(i))b=["it"];let r=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",U1=this.reactiveMembers?this.transformComponentMembers(i):i,y=this.containsAwait(i),v=this.emitFunctionBody(U1,b||[]);E.push(` ${y?"async ":""}${T}(${r}) ${v}`)}for(let{name:T,value:j}of X)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,i]=j,r=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",U1=this.reactiveMembers?this.transformComponentMembers(i):i,y=this.containsAwait(i),v=this.emitFunctionBody(U1,b||[]);E.push(` ${y?"async ":""}${T}(${r}) ${v}`)}if(R){let T=R[1],j=this.buildRender(T);if(j.blockFactories.length>0)l=j.blockFactories.join(`
866
+ // Static / class-level methods on __SchemaDef
867
+ __SchemaDef.prototype.find = __schemaBrowserStub('find');
868
+ __SchemaDef.prototype.where = __schemaBrowserStub('where');
869
+ __SchemaDef.prototype.all = __schemaBrowserStub('all');
870
+ __SchemaDef.prototype.first = __schemaBrowserStub('first');
871
+ __SchemaDef.prototype.count = __schemaBrowserStub('count');
872
+ __SchemaDef.prototype.create = __schemaBrowserStub('create');
873
+ __SchemaDef.prototype.toSQL = __schemaBrowserStub('toSQL');
874
+
875
+ // Helpers referenced by the validate fragment that are otherwise
876
+ // defined in db-naming / orm fragments. Kept inert (return safe
877
+ // defaults or throw on use) so validate's _makeClass / _normalize
878
+ // can run end-to-end in browser context.
879
+ function __schemaSave() { throw new Error("schema instance.save() is not available in the browser. Import @rip-lang/db on the server."); }
880
+ function __schemaDestroy() { throw new Error("schema instance.destroy() is not available in the browser. Import @rip-lang/db on the server."); }
881
+ function __schemaTableName(m) { return null; } // returned only for :model normalize; never used downstream in browser
882
+ function __schemaPluralize(w) { return w; } // identity — relations work for type-resolution but never query
883
+ function __schemaFkName(m) { return ''; } // ditto
884
+ `;var l4={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,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},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:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,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,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,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,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-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,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,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,147,148,149,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-33,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,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,36,25,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,36,25,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,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,150,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,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,167,107,108,165,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,169,170,30,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,172,170,30,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,180,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,181,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,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,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,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,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-89,-89,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,192,191,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,203,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,94,1,5,8,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,211,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,212,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,145,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,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,-268,-268,214,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,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,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,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,-265,-265,222,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,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,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-90,-90,-90,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-91,-91,-91,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,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,245,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,12,3,10,1,1,1,2,2,1,7,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,246,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,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,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-250,-250,262,263,-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,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,86,264,1,86,265,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,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,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,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,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,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-92,-92,-92,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,290,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-55,-55,-55,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-56,-56,-56,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-57,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-59,-59,-59,6,57,5,1,1,2,1,307,110,111,304,305,306,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,12,3,10,2,3,2,1,15,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,308,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,317,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,330,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,331,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,336,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,337,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,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,7,3,10,2,1,2,2,1,13,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,341,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,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,363,263,2,60,1,364,263,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,365,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,367,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,371,370,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,374,373,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,377,376,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,380,379,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,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,12,3,10,1,1,1,2,2,1,7,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,362,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,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,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,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,387,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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-420,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-421,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-422,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-423,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-424,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,393,391,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,394,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-88,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,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,12,3,10,2,3,2,1,15,4,2,1,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,419,420,421,30,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,417,418,422,423,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,424,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,448,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-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,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-89,-89,-89,2,6,146,112,452,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,453,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,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-186,-186,-186,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,12,3,10,1,1,1,2,2,1,11,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,362,255,170,30,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,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,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,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,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,461,-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,-198,-198,-198,-198,5,6,63,1,5,36,-189,-189,-189,-189,-189,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,12,3,10,2,1,2,2,1,7,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,362,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,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,16,3,10,1,1,1,2,2,1,15,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,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,5,6,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,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,12,3,10,1,1,3,2,1,15,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,-246,464,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,2,60,1,465,263,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,466,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-235,-235,-235,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-58,-58,-58,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-308,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,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,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,483,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,493,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-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,307,110,111,494,495,306,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,496,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,498,497,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,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-435,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-283,131,-283,-283,-283,-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,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-94,-94,-94,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-95,-95,-95,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,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,7,3,10,2,1,2,2,1,13,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,510,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,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,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,515,-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,-48,-48,-48,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,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,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,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,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,523,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-236,-236,-236,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,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,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,532,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-79,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-85,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,2,6,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-277,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,548,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,554,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,555,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,557,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,560,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,562,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,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,12,3,10,2,3,2,1,15,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,568,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,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,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,570,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,130,-271,-271,-271,-271,-271,-271,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,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,598,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,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,461,-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,-199,-199,-199,-199,5,6,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,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,9,3,3,3,7,1,1,1,2,2,1,1,6,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,-262,362,255,170,30,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,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,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,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,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,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,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,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,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,1,3,1,2,1,1,7,2,6,13,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,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,3,6,63,50,614,615,613,37,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,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,617,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,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,5,1,2,1,1,7,2,6,13,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,-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,5,1,2,1,1,7,2,6,13,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,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,620,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-310,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,632,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,644,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,647,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,648,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,649,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,650,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,653,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,654,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-98,-98,-98,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-104,-104,-104,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,657,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,663,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,667,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,119,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,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,-262,362,255,170,30,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,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,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,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,678,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,167,107,108,677,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,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-428,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,-291,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,696,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,697,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,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,5,1,2,1,1,7,2,6,13,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,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,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,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,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,12,3,10,2,3,2,1,15,4,2,1,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,-363,419,420,421,30,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,-363,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,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,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,12,3,10,2,3,2,1,15,4,2,1,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,419,420,421,30,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,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-270,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,728,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,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,12,3,10,2,1,2,2,1,7,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,362,255,170,30,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,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,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,36,-190,-190,-190,-190,-190,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,12,3,10,1,1,1,2,2,1,11,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,362,255,170,30,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,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,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,12,3,10,2,1,2,2,1,7,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,362,255,170,30,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,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,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,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-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,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,22,70,30,62,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,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,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,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,738,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,749,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,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,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-100,-100,-100,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-101,-101,-101,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-105,-105,-105,22,70,30,62,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,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-237,-237,-237,-237,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,257,88,89,94,771,68,44,45,95,96,256,90,92,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,12,3,10,2,1,2,2,1,11,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,362,255,170,30,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,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,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,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-76,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-82,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-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,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,776,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,777,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,779,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,780,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,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,5,1,2,1,1,7,2,6,13,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,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,788,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,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,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,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,5,1,2,1,1,7,2,6,13,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,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,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,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,810,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,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,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,813,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,821,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,822,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,823,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-97,-97,-97,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-99,-99,-99,4,6,64,5,19,-165,-165,-165,-165,1,94,827,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,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,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,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,5,1,2,1,1,7,2,6,13,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,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,840,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,841,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,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,5,1,2,1,1,7,2,6,13,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,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,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,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-334,-334,-334,-334,-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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-338,-338,-338,-338,-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,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-102,-102,-102,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-103,-103,-103,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-106,-106,-106,3,6,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,863,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,864,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,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,5,1,2,1,1,7,2,6,13,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,-293,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,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,5,1,2,1,1,7,2,6,13,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,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,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,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-111,-111,-111,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-334,-334,882,-334,890,-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,1,103,891,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,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,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,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,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,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,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,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],l=[],c=0,h,u,_,i;while(c<f.length){h=f[c++],u={},_=0,i=[];while(h--)_+=f[c++],i.push(_);for(_ of i)u[_]=f[c++];l.push(u)}return l})(),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,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,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,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,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,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,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,182,1,182,3,101,1,101,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,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,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,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,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:(f,l,c,h)=>{let u=l,_=l.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[_]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[_]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[_-2],u[_]];case 5:case 63:case 201:case 363:return u[_-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[_];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[_]];case 60:return["str",...u[_-1]];case 62:case 195:case 199:case 297:return[...u[_-1],u[_]];case 64:case 237:case 241:case 381:case 410:return u[_-2];case 65:return"";case 68:return["regex",u[_-1]];case 69:return["regex-index",u[_-2],u[_]];case 70:return["regex-index",u[_],null];case 71:case 125:return["=",u[_-2],u[_]];case 72:return["=",u[_-3],u[_]];case 73:case 126:return["=",u[_-4],u[_-1]];case 74:return["state",u[_-2],u[_]];case 75:return["state",u[_-3],u[_]];case 76:return["state",u[_-4],u[_-1]];case 77:case 79:return["computed",u[_-2],u[_]];case 78:return["computed",u[_-3],u[_]];case 80:return["readonly",u[_-2],u[_]];case 81:return["readonly",u[_-3],u[_]];case 82:return["readonly",u[_-4],u[_-1]];case 83:case 85:return["effect",u[_-2],u[_]];case 84:return["effect",u[_-3],u[_]];case 86:case 87:case 88:return["effect",null,u[_]];case 94:case 107:case 145:return[".",u[_-2],u[_]];case 95:case 108:case 146:return["?.",u[_-2],u[_]];case 96:case 98:case 109:case 147:return["[]",u[_-3],u[_-1]];case 97:case 99:case 110:case 148:return["[]",u[_-5],u[_-2]];case 100:case 149:return[".{}",u[_-4],...u[_-2]];case 101:case 150:return["?.{}",u[_-4],...u[_-2]];case 102:case 151:return[".{}",u[_-6],...u[_-3]];case 103:case 152:return["?.{}",u[_-6],...u[_-3]];case 104:return[u[_-1][0],u[_-3],...u[_-1].slice(1)];case 105:return["optindex",u[_-4],u[_-1]];case 106:return["optindex",u[_-6],u[_-2]];case 111:return["object-comprehension",u[_-8],u[_-6],[["for-of",u[_-4],u[_-2],!1]],[]];case 112:return["object-comprehension",u[_-10],u[_-8],[["for-of",u[_-6],u[_-4],!1]],[u[_-2]]];case 113:return["object-comprehension",u[_-9],u[_-7],[["for-of",u[_-4],u[_-2],!0]],[]];case 114:return["object-comprehension",u[_-11],u[_-9],[["for-of",u[_-6],u[_-4],!0]],[u[_-2]]];case 115:return["object",...u[_-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[_-3],u[_]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[_-5],...u[_-2]];case 121:return[null,u[_],u[_]];case 123:case 160:return[":",u[_-2],u[_]];case 124:case 161:return[":",u[_-4],u[_-1]];case 131:return["dynamicKey",u[_-1]];case 132:return["[]","this",u[_-1]];case 134:case 135:case 162:case 230:return["...",u[_]];case 141:case 234:return["super",...u[_]];case 142:case 143:case 144:case 232:case 235:return[u[_-1],...u[_]];case 153:return["map-literal"];case 154:return["map-literal",...u[_-2]];case 166:return[u[_],u[_],null];case 167:return[u[_-2],u[_],null];case 168:return[u[_-2],u[_-2],u[_]];case 169:return[u[_-4],u[_-2],u[_]];case 186:return["array"];case 187:return["array",...u[_-1]];case 188:return["array",...u[_-2],...u[_-1]];case 190:return[...u[_-2],...u[_]];case 191:return[...u[_-3],...u[_]];case 192:return[...u[_-2],...u[_-1]];case 193:return[...u[_-5],...u[_-4],...u[_-2],...u[_-1]];case 197:return[...u[_]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[_-2],u[_-3],u[_-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[_-1],u[_-2],u[_]];case 206:return[u[_],u[_-1],null];case 207:return[u[_-1],null,u[_]];case 208:return[u[_],null,null];case 209:return["def",u[_-4],u[_-2],u[_]];case 210:return["def",u[_-1],[],u[_]];case 211:case 213:return[u[_-1],u[_-3],u[_]];case 212:case 214:return[u[_-1],[],u[_]];case 223:case 346:return["default",u[_-2],u[_]];case 224:return["rest",u[_]];case 225:return["expansion"];case 231:return["tagged-template",u[_-1],u[_]];case 233:return["optcall",u[_-2],...u[_]];case 249:case 250:return"this";case 251:return[".","this",u[_]];case 252:return[".","super",u[_]];case 253:return["[]","super",u[_-1]];case 254:return["[]","super",u[_-2]];case 255:return[".","new",u[_]];case 256:return[".","import",u[_]];case 257:return["block"];case 258:return["block",...u[_-1]];case 259:return u[_-1].length===1?u[_-1][0]:["block",...u[_-1]];case 260:return u[_-2].length===1?u[_-2][0]:["block",...u[_-2]];case 263:return["return",u[_]];case 264:return["return",u[_-1]];case 265:return["return"];case 266:return["throw",u[_]];case 267:return["throw",u[_-1]];case 268:return["yield"];case 269:return["yield",u[_]];case 270:return["yield",u[_-1]];case 271:return["yield-from",u[_]];case 272:return["if",u[_-1],u[_]];case 273:return u[_-4].length===3?["if",u[_-4][1],u[_-4][2],["if",u[_-1],u[_]]]:[...u[_-4],["if",u[_-1],u[_]]];case 274:return["if",["!",u[_-1]],u[_]];case 275:return["if",["!",u[_-3]],u[_-2],u[_]];case 277:return u[_-2].length===3?["if",u[_-2][1],u[_-2][2],u[_]]:[...u[_-2],u[_]];case 279:case 280:return["if",u[_],[u[_-2]]];case 281:return["?:",u[_-4],u[_-6],u[_-1]];case 282:return["?:",u[_-2],u[_-4],u[_]];case 283:case 284:return["if",["!",u[_]],[u[_-2]]];case 285:return["try",u[_]];case 286:return["try",u[_-1],u[_]];case 287:return["try",u[_-2],u[_]];case 288:return["try",u[_-3],u[_-2],u[_]];case 289:case 290:case 417:case 420:case 422:return[u[_-1],u[_]];case 291:return[null,u[_]];case 292:return["switch",u[_-3],u[_-1],null];case 293:return["switch",u[_-5],u[_-3],u[_-1]];case 294:return["switch",null,u[_-1],null];case 295:return["switch",null,u[_-3],u[_-1]];case 298:return["when",u[_-1],u[_]];case 299:return["when",u[_-2],u[_-1]];case 300:return["while",u[_]];case 301:return["while",u[_-2],u[_]];case 302:return["while",["!",u[_]]];case 303:return["while",["!",u[_-2]],u[_]];case 304:return u[_-1].length===2?[u[_-1][0],u[_-1][1],u[_]]:[u[_-1][0],u[_-1][1],u[_-1][2],u[_]];case 305:case 306:return u[_].length===2?[u[_][0],u[_][1],[u[_-1]]]:[u[_][0],u[_][1],u[_][2],[u[_-1]]];case 308:return["loop",u[_]];case 309:return["loop",[u[_]]];case 310:return["loop-n",u[_-1],u[_]];case 311:return["for-in",u[_-3],u[_-1],null,null,u[_]];case 312:return["for-in",u[_-5],u[_-3],null,u[_-1],u[_]];case 313:return["for-in",u[_-5],u[_-3],u[_-1],null,u[_]];case 314:return["for-in",u[_-7],u[_-5],u[_-1],u[_-3],u[_]];case 315:return["for-in",u[_-7],u[_-5],u[_-3],u[_-1],u[_]];case 316:return["for-of",u[_-3],u[_-1],!1,null,u[_]];case 317:return["for-of",u[_-5],u[_-3],!1,u[_-1],u[_]];case 318:return["for-of",u[_-3],u[_-1],!0,null,u[_]];case 319:return["for-of",u[_-5],u[_-3],!0,u[_-1],u[_]];case 320:return["for-as",u[_-3],u[_-1],!1,null,u[_]];case 321:return["for-as",u[_-5],u[_-3],!1,u[_-1],u[_]];case 322:case 324:return["for-as",u[_-3],u[_-1],!0,null,u[_]];case 323:case 325:return["for-as",u[_-5],u[_-3],!0,u[_-1],u[_]];case 326:return["for-in",[],u[_-1],null,null,u[_]];case 327:return["for-in",[],u[_-3],u[_-1],null,u[_]];case 328:return["comprehension",u[_-4],[["for-in",u[_-2],u[_],null]],[]];case 329:return["comprehension",u[_-6],[["for-in",u[_-4],u[_-2],null]],[u[_]]];case 330:return["comprehension",u[_-6],[["for-in",u[_-4],u[_-2],u[_]]],[]];case 331:return["comprehension",u[_-8],[["for-in",u[_-6],u[_-4],u[_]]],[u[_-2]]];case 332:return["comprehension",u[_-8],[["for-in",u[_-6],u[_-4],u[_-2]]],[u[_]]];case 333:return["comprehension",u[_-4],[["for-of",u[_-2],u[_],!1]],[]];case 334:return["comprehension",u[_-6],[["for-of",u[_-4],u[_-2],!1]],[u[_]]];case 335:return["comprehension",u[_-5],[["for-of",u[_-2],u[_],!0]],[]];case 336:return["comprehension",u[_-7],[["for-of",u[_-4],u[_-2],!0]],[u[_]]];case 337:return["comprehension",u[_-4],[["for-as",u[_-2],u[_],!1,null]],[]];case 338:return["comprehension",u[_-6],[["for-as",u[_-4],u[_-2],!1,null]],[u[_]]];case 339:return["comprehension",u[_-5],[["for-as",u[_-2],u[_],!0,null]],[]];case 340:return["comprehension",u[_-7],[["for-as",u[_-4],u[_-2],!0,null]],[u[_]]];case 341:return["comprehension",u[_-4],[["for-as",u[_-2],u[_],!0,null]],[]];case 342:return["comprehension",u[_-6],[["for-as",u[_-4],u[_-2],!0,null]],[u[_]]];case 343:return["comprehension",u[_-2],[["for-in",[],u[_],null]],[]];case 344:return["comprehension",u[_-4],[["for-in",[],u[_-2],u[_]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[_-2],u[_]];case 349:return["class",null,null];case 350:return["class",null,null,u[_]];case 351:return["class",null,u[_]];case 352:return["class",null,u[_-1],u[_]];case 353:return["class",u[_],null];case 354:return["class",u[_-1],null,u[_]];case 355:return["class",u[_-2],u[_]];case 356:return["class",u[_-3],u[_-1],u[_]];case 357:return["enum",u[_-1],u[_]];case 358:return["schema",u[_]];case 359:return["component",null,["block",...u[_-1]]];case 360:return["component",u[_-3],["block",...u[_-1]]];case 367:return["offer",u[_]];case 368:return["accept",u[_]];case 369:case 370:return["render",u[_]];case 371:case 374:return["import","{}",u[_]];case 372:case 373:return["import",u[_-2],u[_]];case 375:return["import",u[_-4],u[_]];case 376:return["import",u[_-4],u[_-2],u[_]];case 377:return["import",u[_-7],u[_-4],u[_]];case 388:return["*",u[_]];case 389:return["export","{}"];case 390:return["export",u[_-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[_]];case 395:return["export",["=",u[_-2],u[_]]];case 396:return["export",["=",u[_-3],u[_]]];case 397:return["export",["=",u[_-4],u[_-1]]];case 402:return["export-default",u[_]];case 403:return["export-default",u[_-1]];case 404:return["export-all",u[_]];case 405:return["export-from","{}",u[_]];case 406:return["export-from",u[_-4],u[_]];case 418:case 419:case 421:case 457:return["do-iife",u[_]];case 423:return["-",u[_]];case 424:return["+",u[_]];case 425:return["?",u[_-1]];case 426:return["presence",u[_-1]];case 427:return["await",u[_]];case 428:return["await",u[_-1]];case 429:return["--",u[_],!1];case 430:return["++",u[_],!1];case 431:return["--",u[_-1],!0];case 432:return["++",u[_-1],!0];case 433:return["+",u[_-2],u[_]];case 434:return["-",u[_-2],u[_]];case 436:return["**",u[_-2],u[_]];case 439:return["&",u[_-2],u[_]];case 440:return["^",u[_-2],u[_]];case 441:return["|",u[_-2],u[_]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[_-1],u[_-2],u[_]];case 448:return["&&",u[_-2],u[_]];case 449:return["||",u[_-2],u[_]];case 450:return["??",u[_-2],u[_]];case 451:return["|>",u[_-2],u[_]];case 453:return["?:",u[_-4],u[_-2],u[_]];case 455:return[u[_-3],u[_-4],u[_-1]];case 456:return[u[_-2],u[_-3],u[_]]}},parseError(f,l){let c,h,u,_,i,w,D;if(l.recoverable)return this.trace(f);else throw u=(l.line||0)+1,c=l.loc?.c||0,D=l.token?` (token: ${l.token})`:"",w=l.text?` near '${l.text}'`:"",_=`line ${u}, column ${c}`,i=`Parse error at ${_}${D}${w}: ${f}`,h=Error(i),h.hash=l,h},parse(f){let l,c,h,u,_,i,w,D,n,A,$,R,M,z,W,F,U,H,O,Q,q,K,Y,J,G,S,N,v;[q,v,$]=[[0],[null],[]],[z,S,J,Y,U]=[this.parseTable,"",0,0,0],[c,l]=[2,1],n=Object.create(this.lexer),O={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let T=this.ctx[L];O.ctx[L]=T}if(n.setInput(f,O.ctx),[O.ctx.lexer,O.ctx.parser]=[n,this],n.loc==null)n.loc={};G=n.loc,$.push(G),this.parseError=typeof O.ctx.parseError==="function"?O.ctx.parseError:Object.getPrototypeOf(this).parseError,D=()=>{let L;if(L=n.lex()||l,typeof L!=="number")L=this.symbolIds[L]||L;return L},K=W=Q=h=F=M=w=R=_=null,H={};while(!0){if(Q=q[q.length-1],K==null)K=D();if(h=z[Q]?.[K],h==null){if(u="",!U)_=(()=>{let L=[];for(let T in z[Q]){if(!Object.hasOwn(z[Q],T))continue;if(this.tokenNames[T]&&T>c)L.push(`'${this.tokenNames[T]}'`)}return L})();throw u=(()=>{if(n.showPosition)return`Parse error on line ${J+1}:
885
+ ${n.showPosition()}
886
+ Expecting ${_.join(", ")}, got '${this.tokenNames[K]||K}'`;else return`Parse error on line ${J+1}: Unexpected ${K===l?"end of input":`'${this.tokenNames[K]||K}'`}`,this.parseError(u,{text:n.match,token:this.tokenNames[K]||K,line:n.line,loc:G,expected:_})})(),Error(u)}if(h>0)if(q.push(K,h),v.push(n.text),$.push(n.loc),K=null,!W){if([Y,S,J,G]=[n.len,n.text,n.line,n.loc],U>0)U--}else[K,W]=[W,null];else if(h<0){if(w=this.ruleTable[-h*2+1],H.$=v[v.length-w],A=$[$.length-(w||1)],H._$={r:A.r,c:A.c},F=this.ruleActions.call(H,-h,v,$,O.ctx),F!=null)H.$=F;if(Array.isArray(H.$))H.$.loc=H._$;if(w)q.length-=w*2,v.length-=w,$.length-=w;q.push(this.ruleTable[-h*2]),v.push(H.$),$.push(H._$),R=z[q[q.length-2]][q[q.length-1]],q.push(R)}else if(h===0)return v[v.length-1]}},trace(){},ctx:{}},c4=(f={})=>{let l=Object.create(l4);return Object.defineProperty(l,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),l},A1=c4();var o5=A1.parse.bind(A1);var n2=null;function V2(f){n2=f}var h4=new Set(["input","shape","model","mixin","enum"]),j2="input",w4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),i4=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 s1(f,l){if(f)f.prototype.rewriteSchema=function(){D4(this)},T1._LexerCtor=f;if(l)l.prototype.emitSchema=function(c,h,u){return G4(this,c,h,u)},l.prototype.getSchemaRuntime=function(){let c=this.options?.schemaMode||"migration";return j4({mode:c})}}var T2=new Set(["defaultMaxString"]);function D4(f){let l=f.tokens,c={defaultMaxString:null},h=0,u=0;while(u<l.length){let _=l[u];if(_[0]==="INDENT")h++;else if(_[0]==="OUTDENT")h--;let i=n4(l,u,c,h);if(i>0){l.splice(u,i);continue}if(A4(l,u))$4(f,l,u,c);u++}}function n4(f,l,c,h){let u=f[l];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[l+1]?.[0]!==".")return 0;let _=f[l+2];if(!_||_[0]!=="PROPERTY")return 0;if(f[l+3]?.[0]!=="=")return 0;let i=f[l-1];if(i){let $=i[0];if($!=="TERMINATOR"&&$!=="INDENT"&&$!=="OUTDENT")return 0}let w=_[1];if(!T2.has(w))throw b(_,`Unknown schema pragma 'schema.${w}'. Known pragmas: ${[...T2].join(", ")}.`);if(h>0)throw b(_,`Schema pragma 'schema.${w}' 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 D=f[l+4];if(!D||D[0]!=="NUMBER")throw b(D||_,`Pragma 'schema.${w}' requires a number literal. Example: schema.${w} = 100.`);let n=Number(D[1]);if(!Number.isFinite(n)||n<0||!Number.isInteger(n))throw b(D,`Pragma 'schema.${w}' expects a non-negative integer (got ${D[1]}). Use 0 to disable.`);c[w]=n===0?null:n;let A=l+5;if(f[A]?.[0]==="TERMINATOR")A++;return A-l}function A4(f,l){let c=f[l];if(!c||c[0]!=="IDENTIFIER"||c[1]!=="schema")return!1;let h=f[l-1];if(h){let _=h[0];if(_==="."||_==="?.")return!1;if(h[0]==="IDENTIFIER"||h[0]==="PROPERTY"||h[0]===")"||h[0]==="]"||h[0]==="}"||h[0]==="STRING"||h[0]==="NUMBER"){if(!i4.has(_))return!1}}let u=l+1;if(f[u]?.[0]==="SYMBOL")u++;if(f[u]?.[0]==="TERMINATOR"){if(f[u][1]===";")return!0;u++}return f[u]?.[0]==="INDENT"}function $4(f,l,c,h){let u=l[c],_=null,i=j2,w=c+1;if(l[w]?.[0]==="SYMBOL"){_=l[w];let M=_[1];if(!h4.has(M))throw b(_,`Unknown schema kind :${M}. Expected one of :input, :shape, :model, :mixin, :enum.`);i=M,w++}let D,n;if(l[w]?.[0]==="TERMINATOR"&&l[w][1]===";"){let M=w+1,z=M,W=0,F=l[M]?.loc?.r??null;while(z<l.length){let U=l[z],H=U[0];if(W===0&&F!=null&&U.loc&&U.loc.r>F)break;if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="PARAM_START")W++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="PARAM_END")W--;else if(W===0&&H==="TERMINATOR"&&U[1]!==";")break;else if(W===0&&(H==="INDENT"||H==="OUTDENT"))break;else if(W===0&&H==="->")throw b(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(W===0&&H==="EFFECT")throw b(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(W===0&&H==="UNARY_MATH"&&U[1]==="!"&&l[z+1]?.[0]==="COMPARE"&&l[z+1][1]===">")throw b(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");z++}while(z>M&&l[z-1][0]==="TERMINATOR")z--;if(D=l.slice(M,z),n=z,!D.length)throw b(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${_?" :"+i:""};' or switch to the indented form.`)}else{if(l[w]?.[0]==="TERMINATOR")w++;if(l[w]?.[0]!=="INDENT")throw b(u,`Expected indented schema body after 'schema${_?" :"+i:""}'.`);let M=w,z=C4(l,M);if(z<0)throw b(l[M],"Unterminated schema body.");D=l.slice(M+1,z),n=z+1}let A=M4(i,D,{schemaLoc:u.loc,kindLoc:_?.loc??null,kind:i,defaultMaxString:h?.defaultMaxString??null}),$=A2("SCHEMA","schema",u),R=A2("SCHEMA_BODY",i,u);R.data={descriptor:A},l.splice(c,n-c,$,R)}function M4(f,l,c){let h=[],u=R4(l);if(f===j2&&!c.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",c.kind="enum";if(f==="enum")for(let _ of u)q4(_,h);else{for(let _ of u)F4(f,_,h,c);if(f==="mixin")for(let _ of h){if(_.tag==="method"||_.tag==="computed"||_.tag==="hook")throw b({loc:_.headerLoc||_.loc},`:mixin schemas are fields-only. '${_.name}' is a ${_.tag}; move it to a :shape or :model.`);if(_.tag==="ensure")throw b({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 b({loc:_.loc},`:mixin schemas only accept '@mixin Name' directives. '@${_.name}' is not allowed.`)}else if(f==="input")for(let _ of h){if(_.tag==="method"||_.tag==="computed"||_.tag==="hook")throw b({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 b({loc:_.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${_.name}' is not allowed.`)}else if(f==="shape")for(let _ of h){if(_.tag==="hook")throw b({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 b({loc:_.loc},`:shape schemas only accept '@mixin Name'. '@${_.name}' is :model-only.`)}}return{kind:f,loc:c.schemaLoc,kindLoc:c.kindLoc,entries:h}}function R4(f){let l=[],c=[],h=0;for(let u of f){let _=u[0];if(_==="INDENT")h++;if(_==="OUTDENT")h--;if(_==="TERMINATOR"&&h===0){if(c.length)l.push(c),c=[];continue}c.push(u)}if(c.length)l.push(c);return l}var U4=new Set(["string","email","url","phone","zip"]);function F4(f,l,c,h){let u=l[0];if(!u)return;if(u[0]==="@"){let K=l[1];if(!K||K[0]!=="IDENTIFIER"&&K[0]!=="PROPERTY")throw b(u,"Expected directive name after '@'.");let Y=l.slice(2),J=K[1];if(J==="ensure"){let S=H4(Y,u);for(let N of S)c.push({tag:"ensure",name:"ensure",message:N.message,paramTokens:N.paramTokens,bodyTokens:N.bodyTokens,loc:N.loc,headerLoc:u.loc});return}let G=null;if(J==="belongs_to"||J==="has_many"||J==="has_one"||J==="one"||J==="many"||J==="mixin"){let S=Y[0];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")){let N=S.data?.predicate===!0;if(!N&&Y[1]?.[0]==="?")N=!0;G=[{target:S[1],optional:N}]}}c.push({tag:"directive",name:J,args:G,argTokens:Y,loc:u.loc});return}if(u[0]==="PROPERTY"){O4(f,u,l,c);return}if(u[0]!=="IDENTIFIER")throw b(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let _=u[1];if(l[1]?.[0]===":")throw b(l[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let i=T4(u),w=1;while(w<l.length){let K=l[w];if(!(l[w-1]&&!l[w-1].spaced))break;if(K[0]==="#"||K[0]==="?"||K[0]==="!"){i.push(K[0]),w++;continue}break}let D=l[w];if(D?.[0]===":")throw b(D,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let n="string",A=null;if(D?.[0]==="IDENTIFIER")n=D[1],w++;else if(D?.[0]==="STRING"){A=[JSON.parse(D[1])],w++;while(l[w]?.[0]==="|"&&l[w+1]?.[0]==="STRING")w++,A.push(JSON.parse(l[w][1])),w++;if(l[w]?.[0]==="|"){let K=l[w+1],Y=K?.[0]??"<end>";throw b(K||l[w],`Literal unions contain string literals only. '${Y}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(A.length<2)throw b(D,`Literal union needs at least two string literals. Use '${JSON.stringify(A[0])}' as a default with '[${JSON.stringify(A[0])}]' instead.`);n="literal-union"}let $=!1,R=l[w]?.[0],M=l[w+1]?.[0];if((R==="["||R==="INDEX_START")&&(M==="]"||M==="INDEX_END"))$=!0,w+=2;let z=l.slice(w);if((D?.[0]==="IDENTIFIER"||D?.[0]==="STRING")&&z[0]?.[0]==="->")throw b(z[0],`Field '${_}' has a transform after the type; a comma is required before '->'. Write '${_} ${n}, -> …'.`);let F=null,U=null,H=null,O=null,Q=null;if(z.length>0){if(z[0]?.[0]===",")z=z.slice(1);let K=C1(z);for(let Y=0;Y<K.length;Y++){let J=K[Y];while(J.length&&(J[0][0]==="INDENT"||J[0][0]==="TERMINATOR"))J=J.slice(1);if(!J.length)continue;if(J[0][0]!=="->"){let S=z4(J);if(S>0)throw b(J[S],`Field '${_}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let G=J[0];if(G[0]!=="->"){while(J.length&&(J[J.length-1][0]==="OUTDENT"||J[J.length-1][0]==="TERMINATOR"))J=J.slice(0,-1);if(!J.length)continue;G=J[0]}if(G[0]==="["||G[0]==="INDEX_START"){if(F)throw b(G,`Field '${_}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);F=J}else if(G[0]==="{"){if(U)throw b(G,`Field '${_}' has more than one '{…}' attrs bracket.`);U=J}else if(W4(J)){if(H)throw b(G,`Field '${_}' has more than one range constraint. Only one 'min..max' per field.`);H=J}else if(G[0]==="REGEX"&&J.length===1){if(O)throw b(G,`Field '${_}' has more than one regex constraint.`);O=G}else if(G[0]==="->"){if(Y!==K.length-1)throw b(G,`Transform '-> …' must be the last element on the field line for '${_}'.`);Q=J.slice(1)}else throw b(G,`Unexpected trailer for field '${_}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if($&&A)throw b(D,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let q=null;if(h?.defaultMaxString!=null&&!O&&!A&&U4.has(n))q=h.defaultMaxString;c.push({tag:"field",name:_,modifiers:i,typeName:n,array:$,literals:A,constraintTokens:F,attrsTokens:U,rangeTokens:H,regexToken:O,transformTokens:Q,defaultMax:q,loc:u.loc})}function z4(f){let l=0;for(let c=0;c<f.length;c++){let h=f[c][0];if(h==="("||h==="["||h==="{"||h==="CALL_START"||h==="INDEX_START"||h==="PARAM_START")l++;else if(h===")"||h==="]"||h==="}"||h==="CALL_END"||h==="INDEX_END"||h==="PARAM_END")l--;else if(l===0&&h==="->")return c}return-1}function W4(f){let l=0,c=!1;if(f[l]?.[0]==="-"&&f[l+1]?.[0]==="NUMBER")l+=2,c=!0;else if(f[l]?.[0]==="NUMBER")l++,c=!0;if(f[l]?.[0]!=="..")return!1;l++;let h=!1;if(f[l]?.[0]==="-"&&f[l+1]?.[0]==="NUMBER")l+=2,h=!0;else if(f[l]?.[0]==="NUMBER")l++,h=!0;return(c||h)&&l===f.length}function O4(f,l,c,h){let u=l[1],_=c[1];if(!_||_[0]!==":")throw b(l,`Expected ':' after '${u}' before arrow.`);let i=c[2],w=c[3],D,n,A;if(i&&i[0]==="->")D="->",n=i.loc,A=3;else if(i&&i[0]==="EFFECT")D="~>",n=i.loc,A=3;else if(i&&i[0]==="UNARY_MATH"&&i[1]==="!"&&w&&w[0]==="COMPARE"&&w[1]===">"&&!i.spaced)D="!>",n=i.loc,A=4;else throw b(_,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let $=c.slice(A),R=w4.has(u),M;if(D==="~>")M="computed";else if(D==="!>")M="derived";else if(f==="model"&&R)M="hook";else M="method";h.push({tag:M,name:u,arrow:D,paramTokens:[],bodyTokens:$,headerLoc:l.loc,arrowLoc:n})}function H4(f,l){let c=f;if(!c.length)throw b(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(c[0]?.[0]==="CALL_START"&&c[c.length-1]?.[0]==="CALL_END")c=c.slice(1,-1);if(!c.length)throw b(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let h=c[0];if(h[0]==="["||h[0]==="INDEX_START"){let _=Q4(c,h),i=Y4(_);if(i.length===0)throw b(h,"@ensure [...] must contain at least one 'message, fn' pair.");if(i.length%2!==0)throw b(h,`@ensure [...] must have pairs of 'message, fn' (got ${i.length} elements; odd count).`);let w=[];for(let D=0;D<i.length;D+=2)w.push(C2(i[D],i[D+1],h));return w}let u=C1(c);if(u.length<2)throw b(h,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw b(h,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[C2(u[0],u[1],h)]}function Q4(f,l){let c=0,h=[];for(let u=0;u<f.length;u++){let _=f[u],i=_[0];if(i==="["||i==="INDEX_START"){if(c++,c===1)continue}if(i==="]"||i==="INDEX_END"){if(c--,c===0){if(u<f.length-1)throw b(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(h.length>=2&&h[0][0]==="INDENT"&&h[h.length-1][0]==="OUTDENT"){let w=0,D=!1;for(let n=0;n<h.length;n++)if(h[n][0]==="INDENT")w++;else if(h[n][0]==="OUTDENT"){if(w--,w===0&&n===h.length-1){D=!0;break}if(w===0)break}if(D)h=h.slice(1,-1)}return h}}if(c>=1)h.push(_)}throw b(l,"@ensure: unclosed '['.")}function Y4(f){let l=[],c=[],h=0;for(let u of f){let _=u[0];if(_==="("||_==="["||_==="{"||_==="CALL_START"||_==="INDEX_START"||_==="PARAM_START"||_==="INDENT")h++;if(_===")"||_==="]"||_==="}"||_==="CALL_END"||_==="INDEX_END"||_==="PARAM_END"||_==="OUTDENT")h--;if(h===0&&(_===","||_==="TERMINATOR")){if(c.length)l.push(c),c=[];continue}c.push(u)}if(c.length)l.push(c);return l}function C2(f,l,c){if(!f||!f.length)throw b(c,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw b(f[0]||c,"@ensure: each refinement's first element must be a string literal message.");let h=f[0],u=JSON.parse(h[1]);if(!l||!l.length)throw b(h,"@ensure: missing function after message.");let _=l[0];if(_[0]!=="("&&_[0]!=="PARAM_START")throw b(_,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let i=1,w=1,D=[];while(w<l.length&&i>0){let $=l[w],R=$[0];if(R==="("||R==="PARAM_START")i++;if(R===")"||R==="PARAM_END"){if(i--,i===0){w++;break}}D.push($),w++}if(i!==0)throw b(_,"@ensure: unclosed '(' in predicate parameters.");let n=l[w];if(!n||n[0]!=="->")throw b(n||l[w-1]||h,"@ensure: expected '->' after predicate parameters.");let A=l.slice(w+1);if(!A.length)throw b(n,"@ensure: predicate function body is empty.");return{message:u,paramTokens:D,bodyTokens:A,loc:h.loc}}function K4(f,l){if(!f.length)return[];return C1(f).map((h)=>{let u=h.filter((_)=>_[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw b(u[0]||l,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function q4(f,l){let c=f[0];if(!c)return;if(c[0]==="@"){let _=f[1],i=_&&(_[0]==="IDENTIFIER"||_[0]==="PROPERTY")?_[1]:"directive";throw b(c,`:enum schemas don't accept '@${i}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(c[0]!=="SYMBOL")throw b(c,`Enum member must be a :symbol. Use ':${c[1]??"name"}' for a bare member or ':${c[1]??"name"} value' for a valued one.`);let h=c[1],u=f[1];if(!u){l.push({tag:"enum-member",name:h,value:void 0,loc:c.loc});return}if(u[0]===":")throw b(u,`Enum member ':${h}' — drop the ':' before the value. Use ':${h} value'.`);if(f.length>2)throw b(f[2],`Extra tokens after enum member ':${h}' value.`);l.push({tag:"enum-member",name:h,value:V4(u),loc:c.loc})}function G4(f,l,c,h){let u=c[0],_=J4(u);if(!_)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let i=f._schemaName||null,w=[`kind: ${JSON.stringify(_.kind)}`];if(i)w.push(`name: ${JSON.stringify(i)}`);return w.push(`entries: [${_.entries.map((D)=>S4(f,D)).join(", ")}]`),`__schema({${w.join(", ")}})`}function J4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function S4(f,l){switch(l.tag){case"field":{let c=['tag: "field"',`name: ${JSON.stringify(l.name)}`,`modifiers: ${JSON.stringify(l.modifiers)}`,`typeName: ${JSON.stringify(l.typeName)}`,`array: ${l.array?"true":"false"}`];if(l.literals)c.push(`literals: ${JSON.stringify(l.literals)}`);let h=l.rangeTokens?E4(l.rangeTokens,l):null,u=l.constraintTokens?N4(l.constraintTokens,l):null,_=l.regexToken?I4(l.regexToken):null,i=y4(h,u,_,l);if(i)c.push(`constraints: ${i}`);if(l.transformTokens)c.push(`transform: ${X4(f,l.transformTokens)}`);return`{${c.join(", ")}}`}case"directive":{let c=['tag: "directive"',`name: ${JSON.stringify(l.name)}`],h=b4(l.name,l.argTokens||[]);if(h)c.push(`args: ${h}`);return`{${c.join(", ")}}`}case"ensure":{let c=P4(f,l);return`{${['tag: "ensure"',`message: ${JSON.stringify(l.message)}`,`fn: ${c}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let c=Z4(f,l);return`{${[`tag: ${JSON.stringify(l.tag)}`,`name: ${JSON.stringify(l.name)}`,`fn: ${c}`].join(", ")}}`}case"enum-member":{let c=['tag: "enum-member"',`name: ${JSON.stringify(l.name)}`];if(l.value!==void 0)c.push(`value: ${JSON.stringify(l.value)}`);return`{${c.join(", ")}}`}default:return'{tag: "unknown"}'}}function Z4(f,l){let c=T1(l.bodyTokens);if(!c)return"(function() {})";let h=["->",[],c];return f.emit(h,"value")}function X4(f,l){let c=T1(l);if(!c)return"(function() { return undefined; })";let h=["->",[],c];return f.emit(h,"value")}function P4(f,l){let c=T1(l.bodyTokens);if(!c)return"(function() { return undefined; })";let u=["->",K4(l.paramTokens,l),c];return f.emit(u,"value")}function N4(f,l){let c=f.slice(1,-1),h=C1(c);if(!h.length)return{c:null};let u=h.map((_)=>m2(_,l));if(u.length===1){let _=u[0];if(_ instanceof RegExp)throw b(f[0],`Regex constraints are written bare, not in brackets. Replace '[${_}]' with '${_}'.`);return{c:{default:_}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw b(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every((_)=>typeof _==="number"))throw b(f[0],`Range + default is two separate constraints in v2. Replace '[${u[0]}, ${u[1]}, ${u[2]}]' with '${u[0]}..${u[1]}, [${u[2]}]'.`);throw b(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function I4(f){let l=f[1],c=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(l);if(!c)throw b(f,`Invalid regex literal ${JSON.stringify(l)}.`);try{return new RegExp(c[1],c[2])}catch(h){throw b(f,`Invalid regex '${l}': ${h.message}`)}}function E4(f,l){let c=0,h=()=>{let w=1;if(f[c]?.[0]==="-")w=-1,c++;let D=f[c++],n=m2([D],l);if(typeof n!=="number")throw b(D,"Range endpoints must be numeric literals.");return w*n},u;if(f[c]?.[0]!=="..")u=h();c++;let _;if(c<f.length)_=h();if(u!==void 0&&_!==void 0&&u>_)throw b(f[0],`Range '${u}..${_}' is reversed. Write the smaller endpoint first.`);let i={};if(u!==void 0)i.min=u;if(_!==void 0)i.max=_;return i}function y4(f,l,c,h){let u=l&&l.c||{},_=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if(_&&u.min===void 0&&h?.modifiers?.includes("!"))u.min=1}if(c)u.regex=c;if(h?.defaultMax!=null&&u.max===void 0)u.max=h.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let i=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",w=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${h?.defaultMax}`;throw b({loc:h?.loc},`Field '${h?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${i} vs ${w}). Write an explicit range or drop the conflicting pragma.`)}if(u.min===void 0&&u.max===void 0&&u.default===void 0&&u.regex===void 0)return null;return B4(u)}function B4(f){let l=[];if(f.min!==void 0)l.push(`min: ${D2(f.min)}`);if(f.max!==void 0)l.push(`max: ${D2(f.max)}`);if(f.default!==void 0)l.push(`default: ${D2(f.default)}`);if(f.regex!==void 0)l.push(`regex: ${f.regex.toString()}`);return l.length?`{${l.join(", ")}}`:null}function D2(f){if(f===null)return"null";if(f===void 0)return"undefined";if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||typeof f==="boolean")return String(f);if(f instanceof RegExp)return f.toString();return JSON.stringify(f)}function b4(f,l){if(f==="idStart"&&!l.length)throw b(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!l.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let c=l[0];if(!c||c[0]!=="IDENTIFIER"&&c[0]!=="PROPERTY")throw b(c||l[l.length-1],`@${f} requires a target name.`);let h=c[1],u=c.data?.predicate===!0,_=1;if(!u&&l[_]?.[0]==="?")u=!0,_++;let i=[`target: ${JSON.stringify(h)}`];if(u)i.push("optional: true");return`[{${i.join(", ")}}]`}if(f==="index"){let c=[],h=!1,u=0;if(l[u]?.[0]==="IDENTIFIER"||l[u]?.[0]==="PROPERTY")c.push(l[u][1]),u++;else if(l[u]?.[0]==="["||l[u]?.[0]==="INDEX_START"){let i=[],w=1;u++;while(u<l.length&&w>0){let D=l[u];if(D[0]==="["||D[0]==="INDEX_START")w++;if(D[0]==="]"||D[0]==="INDEX_END"){if(w--,w===0){u++;break}}i.push(D),u++}for(let D of C1(i))if(D[0]&&(D[0][0]==="IDENTIFIER"||D[0][0]==="PROPERTY"))c.push(D[0][1])}if(l[u]?.[0]==="#")h=!0;let _=[`fields: ${JSON.stringify(c)}`];if(h)_.push("unique: true");return`[{${_.join(", ")}}]`}if(f==="idStart"){let c=l[0],h=1,u=c;if(c&&c[0]==="-"&&l[1]&&l[1][0]==="NUMBER")h=-1,u=l[1];if(!u||u[0]!=="NUMBER")throw b(c||l[l.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let _=h*Number(u[1]);if(!Number.isInteger(_))throw b(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+_+"}]"}return null}function m2(f,l){if(!f.length)throw b(null,"Empty constraint value.");let c=f[0],h=c[0];if(f.length===1){if(h==="NUMBER")return Number(c[1]);if(h==="STRING")return JSON.parse(c[1]);if(h==="BOOL")return c[1]==="true";if(h==="NULL")return null;if(h==="UNDEFINED")return;if(h==="REGEX")return L4(c[1]);if(h==="SYMBOL")return c[1]}if(f.length===2&&h==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw b(c,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${h}.`)}function L4(f){let l=typeof f==="string"?f:String(f),c=l.match(/^\/(.*)\/([gimsuy]*)$/s);return c?new RegExp(c[1],c[2]):new RegExp(l)}function T1(f){if(!f||!f.length)return null;let l=T1._LexerCtor;if(!l)throw Error("schema: parseBodyTokens called before Lexer was wired");let c=Object.create(l.prototype),h=f.slice();if(h.length>=2&&h[0]?.[0]==="INDENT"){let n=0,A=-1;for(let $=0;$<h.length;$++)if(h[$][0]==="INDENT")n++;else if(h[$][0]==="OUTDENT"){if(n--,n===0){A=$;break}}if(A===h.length-1)h=h.slice(1,-1)}if(c.tokens=h,c.seenFor=c.seenImport=c.seenExport=!1,c.ends=[],c.indent=0,c.outdebt=0,c.indents=[],c.tokens[c.tokens.length-1]?.[0]!=="TERMINATOR")c.tokens.push(A2("TERMINATOR",`
887
+ `,f[f.length-1]));try{c.rewriteTypes?.(),c.tagPostfixConditionals?.(),c.rewriteTaggedTemplates?.(),c.addImplicitBracesAndParens?.(),c.addImplicitCallCommas?.()}catch(n){throw b(f[0],`schema: failed to compile body: ${n.message}`)}let _=c.tokens.filter((n)=>n[0]!=="TYPE_DECL"),i=A1.lexer;A1.lexer={tokens:_,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let n=this.tokens[this.pos++],A=n[1];if(n.data)A=new String(A),Object.assign(A,n.data);return this.text=A,this.loc=n.loc,this.line=n.loc?.r,n[0]}};let w;try{w=A1.parse("")}finally{A1.lexer=i}if(!Array.isArray(w)||w[0]!=="program")return null;let D=w.slice(1);if(D.length===0)return null;if(D.length===1)return D[0];return["block",...D]}function T4(f){let l=[],c=f.data;if(c?.await===!0)l.push("!");if(c?.predicate===!0)l.push("?");return l}function C4(f,l){let c=0;for(let h=l;h<f.length;h++)if(f[h][0]==="INDENT")c++;else if(f[h][0]==="OUTDENT"){if(c--,c===0)return h}return-1}function C1(f){let l=[],c=[],h=0;for(let u of f){let _=u[0];if(_==="("||_==="["||_==="{"||_==="CALL_START"||_==="INDEX_START"||_==="PARAM_START"||_==="INDENT")h++;if(_===")"||_==="]"||_==="}"||_==="CALL_END"||_==="INDEX_END"||_==="PARAM_END"||_==="OUTDENT")h--;if(_===","&&h===0){if(c.length)l.push(c);c=[];continue}c.push(u)}if(c.length)l.push(c);return l}function V4(f){let l=f[0],c=f[1];if(l==="NUMBER")return Number(c);if(l==="STRING")return JSON.parse(c);if(l==="BOOL")return c==="true";if(l==="NULL")return null;if(l==="UNDEFINED")return;return c}function A2(f,l,c){let h=[f,l];if(h.pre=0,h.data=null,h.loc=c?.loc??{r:0,c:0,n:0},h.spaced=!1,h.newLine=!1,h.generated=!0,c)h.origin=c;return h}function b(f,l){let c=f?.loc||{r:0,c:0},h=Error(l);return h.name="SchemaSyntaxError",h.loc=c,h.line=c.r,h.column=c.c,h.phase="schema",h.code="E_SCHEMA",h}function j4(f={}){if(!n2)throw Error("schema runtime provider not registered. Side-effect-import either '@rip-lang/schema/loader-server' (CLI / server / tests) or '@rip-lang/schema/loader-browser' (browser bundle) before calling any compileToJS that emits schemas.");return n2(f)}function g2({mode:f="browser"}={}){let l;switch(f){case"validate":l=i2;break;case"browser":l=i2+`
888
+ `+L2;break;case"server":case"migration":throw Error("schema runtime mode '"+f+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${f}`)}return(B2+l+b2).trimStart()}V2(g2);var m4=g2({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(m4)}catch{}function x2(f){let l=f.prototype;l.rewriteTypes=function(){let c=this.tokens,h=this.typeRefNames=new Set,u=(_,i,w)=>{let D=[_,i];if(D.pre=0,D.data=null,D.loc=w?.loc??{r:0,c:0,n:0},D.spaced=!1,D.newLine=!1,D.generated=!0,w)D.origin=w;return D};this.scanTokens((_,i,w)=>{let D=_[0];if(D==="IDENTIFIER"){let n=w[i+1];if(n&&n[0]==="COMPARE"&&n[1]==="<"&&!n.spaced){let A=w[i-1]?.[0]==="DEF",$=r2(w,i+1);if($){let R=i+1+$.length,M=!A&&w[R]?.[0]==="="&&w[R+1]?.[0]==="COMPONENT";if(A||M){if(!_.data)_.data={};if(_.data.typeParams=W1($),w.splice(i+1,$.length),A&&w[i+1]?.[0]==="("){w[i+1][0]="CALL_START";let z=1,W=i+2;while(W<w.length&&z>0){if(w[W][0]==="("||w[W][0]==="CALL_START")z++;if(w[W][0]===")"||w[W][0]==="CALL_END")z--;if(z===0)w[W][0]="CALL_END";W++}}}}}}if(D==="TYPE_ANNOTATION"){let n=w[i-1];if(!n)return 1;let A=v2(w,i+1),$=W1(A),R=n,M="type";if(n[0]==="CALL_END"||n[0]===")"){let W=1,F=i-2;while(F>=0&&W>0){let U=w[F][0];if(U==="CALL_END"||U===")")W++;if(U==="CALL_START"||U==="(")W--;F--}if(F>=0)R=w[F];M="returnType"}else if(n[0]==="PARAM_END"){let W=i+1+A.consumed,F=w[W];if(F&&(F[0]==="->"||F[0]==="=>"))R=F;M="returnType"}else if(n[0]==="IDENTIFIER"&&i>=2&&w[i-2]?.[0]==="DEF")M="returnType";if(!R.data)R.data={};R.data[M]=$;for(let W of A)if(W[0]==="IDENTIFIER")h.add(W[1]);let z=1+A.consumed;return w.splice(i,z),0}if(D==="IDENTIFIER"&&_[1]==="type"){let n=w[i-1]?.[0];if(!(!n||n==="TERMINATOR"||n==="INDENT"||n==="EXPORT"))return 1;let $=i+1,R=w[$];if(!R||R[0]!=="IDENTIFIER")return 1;let M=R[1],z=n==="EXPORT",W=z?i-1:i,F=$+1;if(w[F]?.[0]==="COMPARE"&&w[F]?.[1]==="<"&&!w[F].spaced){let q=r2(w,F);if(q){if(!R.data)R.data={};R.data.typeParams=W1(q),w.splice(F,q.length)}}if(w[F]?.[0]!=="=")return 1;let U=(q)=>{let K=u("TYPE_DECL",M,R);if(K.data={name:M,typeText:q,exported:z},R.data?.typeParams)K.data.typeParams=R.data.typeParams;return K},H=F+1,O=w[H];if(O&&(O[0]==="TERMINATOR"||O[0]==="INDENT")){let q=g4(w,H);if(q)return w.splice(W,q.endIdx-W+1,U(q.typeText)),0}if(O&&O[0]==="INDENT"){let q=M2(w,H);return w.splice(W,q-W+1,U($2(w,H))),0}let Q=v2(w,H);return w.splice(W,H+Q.consumed-W,U(W1(Q))),0}if(D==="INTERFACE"){let n=i>=1&&w[i-1]?.[0]==="EXPORT",A=i+1,$=w[A];if(!$)return 1;let R=$[1],M=null,z=A+1;if(w[z]?.[0]==="EXTENDS")M=w[z+1]?.[1],z=z+2;if(w[z]?.[0]==="INDENT"){let W=$2(w,z),F=M2(w,z),U=u("TYPE_DECL",R,$);U.data={name:R,kind:"interface",extends:M,typeText:W,exported:n};let H=n?i-1:i,O=F-H+1;return w.splice(H,O,U),0}return 1}return 1});for(let _=c.length-1;_>=0;_--){if(c[_][0]!=="DEF")continue;let i=c[_+1];if(!i||i[0]!=="IDENTIFIER")continue;let w=_+2;if(c[w]?.[0]!=="CALL_START")continue;let D=1;w++;while(w<c.length&&D>0){if(c[w][0]==="CALL_START")D++;if(c[w][0]==="CALL_END")D--;w++}let n=w-1,A=c[w];if(A&&A[0]!=="TERMINATOR")continue;let $=i.data?.returnType;if(!$){for(let U=_+2;U<=n;U++)if(c[U].data?.type){$=!0;break}}if(!$)continue;let R=c.slice(_,w+1),M=_>=1&&c[_-1]?.[0]==="EXPORT",z=M?_-1:_,W=w+1-z,F=u("TYPE_DECL",i[1],i);if(F.data={name:i[1],kind:"overload",overloadTokens:R,exported:M},i.data?.typeParams)F.data.typeParams=i.data.typeParams;c.splice(z,W,F)}}}function v2(f,l){let c=[],h=0,u=l;while(l<f.length){let _=f[l],i=_[0],w=i==="("||i==="["||i==="{"||i==="CALL_START"||i==="PARAM_START"||i==="INDEX_START"||i==="COMPARE"&&_[1]==="<",D=i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="PARAM_END"||i==="INDEX_END"||i==="COMPARE"&&_[1]===">";if(i==="SHIFT"&&_[1]===">>"&&h>=2){h-=2,c.push(_),l++;continue}if(w){h++,c.push(_),l++;continue}if(D){if(h>0){h--,c.push(_),l++;continue}break}if(h===0){if(i==="INDENT"&&c.length>0&&c[c.length-1][0]==="=>"){l++;let n=1;while(l<f.length&&n>0)if(f[l][0]==="INDENT")n++,l++;else if(f[l][0]==="OUTDENT")n--,l++;else c.push(f[l]),l++;continue}if(i==="="||i==="REACTIVE_ASSIGN"||i==="COMPUTED_ASSIGN"||i==="READONLY_ASSIGN"||i==="EFFECT"||i==="TERMINATOR"||i==="INDENT"||i==="OUTDENT"||i==="->"||i===",")break}c.push(_),l++}return c.consumed=l-u,c}function W1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let l=f.map((c)=>c[1]).join(" ").replace(/\s+/g," ").trim();return l=l.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,": "),l}function r2(f,l){if(l>=f.length)return null;let c=f[l];if(c[0]!=="COMPARE"||c[1]!=="<")return null;let h=[c],u=1,_=l+1;while(_<f.length&&u>0){let i=f[_];if(h.push(i),i[0]==="COMPARE"&&i[1]==="<")u++;else if(i[0]==="COMPARE"&&i[1]===">")u--;_++}return u===0?h:null}function $2(f,l){let c=[],h=l+1,u=1;while(h<f.length&&u>0){let _=f[h];if(_[0]==="INDENT"){u++,h++;continue}if(_[0]==="OUTDENT"){if(u--,u===0)break;h++;continue}if(_[0]==="TERMINATOR"){h++;continue}if(u===1&&_[0]==="["){let w=[];h++;while(h<f.length&&f[h][0]!=="]")w.push(f[h]),h++;if(h++,f[h]?.[1]===":"||f[h]?.[0]==="TYPE_ANNOTATION")h++;let D=[];while(h<f.length){let $=f[h];if($[0]==="TERMINATOR"||$[0]==="OUTDENT")break;D.push($),h++}let n=W1(w),A=W1(D);c.push(`[${n}]: ${A}`);continue}let i=_[0]==="PROPERTY"||_[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test(_[1])&&f[h+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&i){let w=_[1],D=!1,n=!1;if(h++,w==="readonly"&&f[h]&&(f[h][0]==="PROPERTY"||f[h][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[h][1])&&f[h+1]?.[0]==="TYPE_ANNOTATION")){if(n=!0,w=f[h][1],f[h].data?.predicate)D=!0;h++}if(_.data?.predicate)D=!0;if(f[h]?.[1]==="?"&&!f[h]?.spaced)D=!0,h++;if(f[h]?.[1]===":"||f[h]?.[0]==="TYPE_ANNOTATION")h++;let A=[],$=0;while(h<f.length){let W=f[h];if(W[0]==="IDENTIFIER"&&W[1]==="type"&&f[h+1]?.[0]==="INDENT"){h++;let F=$2(f,h);A.push(["",F]);let U=1;h++;while(h<f.length&&U>0){if(f[h][0]==="INDENT")U++;if(f[h][0]==="OUTDENT")U--;h++}continue}if(W[0]==="INDENT"){$++,h++;continue}if(W[0]==="OUTDENT"){if($>0){$--,h++;continue}break}if(W[0]==="TERMINATOR"&&$===0)break;A.push(W),h++}let R=W1(A),M=n?"readonly ":"",z=D?"?":"";c.push(`${M}${w}${z}: ${R}`)}else h++}return"{ "+c.join("; ")+" }"}function M2(f,l){let c=0;for(let h=l;h<f.length;h++){if(f[h][0]==="INDENT")c++;if(f[h][0]==="OUTDENT"){if(c--,c===0)return h}}return f.length-1}function g4(f,l){let c=l;if(f[c]?.[0]==="TERMINATOR")c++;if(f[c]?.[0]!=="INDENT")return null;let h=c;c++;while(c<f.length&&f[c][0]==="TERMINATOR")c++;if(!f[c]||f[c][1]!=="|")return null;let u=[],_=1;c=h+1;while(c<f.length&&_>0){let w=f[c];if(w[0]==="INDENT"){_++,c++;continue}if(w[0]==="OUTDENT"){if(_--,_===0)break;c++;continue}if(w[0]==="TERMINATOR"){c++;continue}if(w[1]==="|"&&_===1){c++;let D=[];while(c<f.length){let n=f[c];if(n[0]==="TERMINATOR"||n[0]==="OUTDENT"||n[1]==="|"&&_===1)break;D.push(n),c++}if(D.length>0)u.push(W1(D));continue}c++}if(u.length===0)return null;let i=M2(f,h);return{typeText:u.join(" | "),endIdx:i}}var a2=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"]),s2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),U2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},d2=new Set(Object.keys(U2)),v4=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),r4=new Set(["break","continue","debugger"]),x4=new Set(["NEW","TYPEOF","DELETE"]),a4=new Set(["IN","OF","INSTANCEOF"]),t1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),k1=new Set([...t1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),d1=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"]),s4=new Set(["+","-"]),d4=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),o4=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),O1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),U1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),t4={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},o2=new Set(["CATCH","THEN","ELSE","FINALLY",...U1]),R2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),k4=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),p4=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),e4=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),t2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),u5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),P1=new Set(["INDENT","OUTDENT","TERMINATOR"]),H1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",o1=(f,l)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&l?.spaced===!1&&!l?.newLine;return!1},k2=new Set([".","?."]),p2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),f5=new Set([...k1,"++","--"]),e2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),_5=new Set(["*","/","%","//","%%"]),l5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),c5=new Set(["<<",">>",">>>"]),h5=new Set(["!","~"]),w5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,i5=/^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,D5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,n5=/^[^\n\S]+/,A5=/^(?:\n[^\n\S]*)+/,$5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,M5=/^[-=]>/,R5=/^(?:~[=>]|=!)/,U5=/^(?:'''\\|"""\\|'''|"""|'|")/,F5=/^(?:[^\\']|\\[\s\S])*/,z5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,W5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,O5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,u3=/\n+([^\n\S]*)(?=\S)/g,H5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,f3=/^\w*/,Q5=/^(?!.*(.).*\1)[gimsuy]*$/,Y5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,K5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,q5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,G5=/\s+$/,_3=/^\s*(?:,|\??\.(?![.\d]))/,J5=65279;function p1(f,l,{pre:c=0,row:h=0,col:u=0,len:_=0,data:i=null}={}){let w=[f,l];return w.pre=c,w.data=i,w.loc={r:h,c:u,n:_},w.spaced=c>0,w.newLine=!1,w}function $1(f,l,c){let h=p1(f,l);if(h.generated=!0,c)h.origin=c;return h}function M1(f,{row:l=0,col:c=0,len:h=1}={}){let u=SyntaxError(f);throw u.location={first_line:l,first_column:c,last_column:c+h-1},u}function S5(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class F1{tokenize(f,l={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=l.row||0,this.col=l.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let c=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(c===0)M1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(c),l.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let c=this.ends[this.ends.length-1];M1(`missing ${c.tag}`,{row:this.row,col:this.col})}if(l.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===J5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
889
+ `),f=f.replace(G5,""),/^[^\n\S]/.test(f))f=`
890
+ `+f;return f}advance(f){let l=this.code.slice(this.pos,this.pos+f);for(let c=0;c<l.length;c++)if(l[c]===`
891
+ `)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,l,{len:c,data:h,pre:u}={}){let _=p1(f,l,{pre:u??0,row:this.row,col:this.col,len:c??(typeof l==="string"?l.length:0),data:h});return this.tokens.push(_),_}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}inPickKeyPos(){let f=this.prev();if(!f)return!1;let l=f[0];if(l!=="{"&&l!==","&&l!==":"&&l!=="TERMINATOR"&&l!=="INDENT"&&l!=="OUTDENT")return!1;let c=0,h=this.tokens;for(let u=h.length-1;u>=0;u--){let _=h[u],i=_[0];if(i==="}"||i==="PICK_END"){c++;continue}if(i==="{"||i==="PICK_START"||i==="OPTPICK_START"){if(c===0){let w=h[u-1];return!!(w&&(w[0]==="."||w[0]==="?.")&&!w.spaced&&!_.spaced)}c--;continue}if(c===0&&(i==="("||i==="CALL_START"||i==="["||i==="INDEX_START"))return!1}return!1}identifierToken(){if(R5.test(this.chunk))return 0;let f=w5.exec(this.chunk);if(!f)return 0;let[,l,c]=f,h=l.length,u={},_;if(l==="own"&&this.prevTag()==="FOR")return this.emit("OWN",l,{len:h}),h;if(l==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",l,{len:h}),h;if(l==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let A=this.prevTag();if(A==="DEFAULT"||A==="IMPORT_ALL"||A==="IDENTIFIER")return this.emit("AS",l,{len:h}),h}if((l==="as"||l==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(l==="as!"?"FORASAWAIT":"FORAS","as",{len:h}),h;if(l==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",l,{len:h}),h;let i;if(l==="do"&&(i=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),i[1].length+3;let w=this.prev();if(c&&w&&w[0]==="TERNARY")c=null;if(c&&c.length>1&&/[a-zA-Z_$]/.test(this.chunk[h+c.length]))c=null;if(c||w&&(w[0]==="."||w[0]==="?."||!w.spaced&&w[0]==="@")||this.inPickKeyPos()){if(_="PROPERTY",this.inRenderBlock&&w&&w[0]==="."&&!c){let A=this.chunk.slice(h);while(A[0]==="-"&&/^-[a-zA-Z]/.test(A)){let $=/^-([a-zA-Z][\w]*)/.exec(A);if(!$)break;l+="-"+$[1],h+=1+$[1].length,A=this.chunk.slice(h)}}}else _="IDENTIFIER";let D=l.endsWith("!")||l.endsWith("?")?l.slice(0,-1):l;if(_==="IDENTIFIER"&&!l.endsWith("!")&&!l.endsWith("?")&&(a2.has(l)||s2.has(l)||d2.has(l))&&!(this.exportSpecifierList&&d2.has(l))){if(U2[l]!==void 0)u.original=l,l=U2[l];_=this.classifyKeyword(l,_,u)}if(_==="IDENTIFIER"&&v4.has(D))if(D==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else M1(`reserved word '${D}'`,{row:this.row,col:this.col,len:h});if(_==="PROPERTY"&&w){if(w[0]==="."&&this.tokens.length>1){let A=this.tokens[this.tokens.length-2];if(A[0]==="UNARY"&&A[1]==="new")A[0]="NEW_TARGET";if(A[0]==="IMPORT"&&A[1]==="import")this.seenImport=!1,A[0]="IMPORT_META"}}if(l.length>1&&l.endsWith("!"))u.await=!0,l=l.slice(0,-1);if(l.length>1&&l.endsWith("?"))u.predicate=!0,l=l.slice(0,-1);let n=this.emit(_,l,{len:h,data:Object.keys(u).length?u:null});if(_==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(c)return this.emit(":",":",{len:1}),h+c.length;return h}classifyKeyword(f,l,c){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(r4.has(f))return"STATEMENT";let h=f.toUpperCase();if(h==="WHEN"&&P1.has(this.prevTag()))return"LEADING_WHEN";if(h==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(h==="UNLESS")return"UNLESS";if(h==="IMPORT")return this.seenImport=!0,"IMPORT";if(h==="EXPORT")return this.seenExport=!0,"EXPORT";if(x4.has(h))return"UNARY";if(a4.has(h)){if(h!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+h;if(this.prevVal()==="!"){let u=this.tokens.pop();c.invert=u.data?.original||u[1]}return"RELATION"}if(a2.has(f)||s2.has(f))return h;return l}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let l=this.prev();if(l&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY"))return 0;let c=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(c)return this.emit("IDENTIFIER","div#"+c[1]),c[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}if(this.chunk[0]==="#"){let l=this.prev();if(l&&!l.spaced&&!l.newLine&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY"))return 0}let f=$5.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=n5.exec(this.chunk);if(!f&&this.chunk[0]!==`
892
+ `)return 0;let l=this.prev();if(l)if(f)l.spaced=!0,l.pre=f[0].length;else l.newLine=!0;return f?f[0].length:0}lineToken(){let f=A5.exec(this.chunk);if(!f)return 0;let l=f[0],c=l.length-1-l.lastIndexOf(`
893
+ `);if(this.isUnfinished()){if(c<this.indent&&/^\s*,/.test(this.chunk)&&!p2.has(this.prevTag())){if(this.outdentTo(c,l.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return l.length}return l.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,c===this.indent)return this.emitNewline(),l.length;if(c>this.indent){if(!this.tokens.length)return this.indent=c,l.length;let h=c-this.indent;return this.emit("INDENT",h,{len:c}),this.indents.push(h),this.ends.push({tag:"OUTDENT"}),this.indent=c,l.length}return this.outdentTo(c,l.length),l.length}outdentTo(f,l=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let c=this.indent-f;while(c>0){let h=this.indents[this.indents.length-1];if(!h)c=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",c,{len:l}),c-=h}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
894
+ `,{len:0})}isUnfinished(){if(this.inRenderBlock&&_3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let c=this.tokens.length;if(c>=2){let h=this.tokens[c-2][0];if(h==="INDENT"||h==="TERMINATOR"||h==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"||f?.[0]==="SHIFT"&&(f[1]===">>"||f[1]===">>>")){let c=0;for(let h=this.tokens.length-1;h>=0;h--){let u=this.tokens[h];if(u[0]==="COMPARE"&&u[1]===">")c++;else if(u[0]==="SHIFT"&&u[1]===">>")c+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")c+=3;else if(u[0]==="COMPARE"&&u[1]==="<")c--;if(c===0&&u[0]==="TYPE_ANNOTATION")return!1;if(c===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return _3.test(this.chunk)||p2.has(this.prevTag())}pair(f){let l=this.ends[this.ends.length-1];if(!l||f!==l.tag){if(l?.tag==="OUTDENT"){let c=this.indents[this.indents.length-1];if(c)this.outdentTo(this.indent-c);return this.pair(f)}M1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=U5.exec(this.chunk);if(!f)return 0;let l=f[0],c=l.length>1&&l.endsWith("\\"),h=c?l.slice(0,-1):l,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let _;switch(h){case"'":_=F5;break;case'"':_=z5;break;case"'''":_=W5;break;case'"""':_=O5;break}let{tokens:i,index:w}=this.matchWithInterpolations(_,l,h),D=h.length===3,n=null;if(D)n=this.processHeredocIndent(w,h,i);return this.mergeInterpolationTokens(i,{quote:h,indent:n,endOffset:w,raw:c}),w}processHeredocIndent(f,l,c){let h=f-l.length,u=h-1;while(u>=0&&this.chunk[u]!==`
895
+ `)u--;u++;let _=this.chunk.slice(u,h),i=/^\s*$/.test(_)?_.length:null,w="";for(let A of c)if(A[0]==="NEOSTRING")w+=A[1];let D=null,n;u3.lastIndex=0;while(n=u3.exec(w))if(D===null||n[1].length>0&&n[1].length<D.length)D=n[1];if(i===null)return D;if(D===null)return" ".repeat(i);if(i<=D.length)return" ".repeat(i);return D}matchWithInterpolations(f,l,c,h){if(!c)c=l;if(!h)h=/^[#$]\{/;let u=[],_=l.length;if(this.chunk.slice(0,_)!==l)return null;let i=this.chunk.slice(_);while(!0){let[w]=f.exec(i);u.push(["NEOSTRING",w,{offset:_}]),i=i.slice(w.length),_+=w.length;let D=h.exec(i);if(!D)break;let A=D[0].length-1,$=i.slice(A),R=new F1().tokenize($,{row:this.row,col:this.col+_+A,untilBalanced:!0,rewrite:!1}),M=R.index+A;if(i[M-1]==="}"){let W=R.tokens[0],F=R.tokens[R.tokens.length-1];W[0]="INTERPOLATION_START",W[1]="(",F[0]="INTERPOLATION_END",F[1]=")"}if(R.tokens[1]?.[0]==="TERMINATOR")R.tokens.splice(1,1);let z=R.tokens.length;if(z>2&&R.tokens[z-3]?.[0]==="INDENT"&&R.tokens[z-2]?.[0]==="OUTDENT")R.tokens.splice(z-3,2);u.push(["TOKENS",R.tokens]),i=i.slice(M),_+=M}if(i.slice(0,c.length)!==c)M1(`missing ${c}`,{row:this.row,col:this.col});return{tokens:u,index:_+c.length}}mergeInterpolationTokens(f,{quote:l,indent:c,endOffset:h,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:l?.length||0,data:{quote:l}});for(let _=0;_<f.length;_++){let[i,w]=f[_];if(i==="TOKENS")for(let D of w)this.tokens.push(D);else if(i==="NEOSTRING"){let D=w;if(c){let n=new RegExp("\\n"+c,"g");D=D.replace(n,`
896
+ `)}if(_===0&&l?.length===3)D=D.replace(/^\n/,"");if(_===f.length-1&&l?.length===3)D=D.replace(/\n[^\S\n]*$/,"");if(u)D=D.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${D}"`,{len:w.length,data:{quote:l}})}}if(f.length>1)this.emit("STRING_END",")",{len:l?.length||0});return h}numberToken(){let f=i5.exec(this.chunk);if(!f)return 0;let l=f[0],c=l.length,h={row:this.row,col:this.col};if(/^0[BOX]/.test(l))M1(`radix prefix in '${l}' must be lowercase`,{...h,col:h.col+1});if(/^0\d*[89]/.test(l))M1(`decimal literal '${l}' must not be prefixed with '0'`,{...h,len:c});if(/^0\d+/.test(l))M1(`octal literal '${l}' must be prefixed with '0o'`,{...h,len:c});let u=S5(l),_=u===1/0?"INFINITY":"NUMBER",i={parsedValue:u};if(_==="INFINITY")i.original=l;return this.emit(_,l,{len:c,data:i}),c}regexToken(){let f=this.matchWithInterpolations(Y5,"///");if(f){let{tokens:n,index:A}=f,[$]=f3.exec(this.chunk.slice(A)),R=A+$.length;if(n.length===1||!n.some((M)=>M[0]==="TOKENS")){let M=(n[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${M}/${$}`,{len:R,data:{delimiter:"///",heregex:{flags:$}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(n,{quote:"///",endOffset:R-$.length}),$)this.emit(",",",",{len:0}),this.emit("STRING",`"${$}"`,{len:$.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return R}let l=H5.exec(this.chunk);if(!l)return 0;let[c,h,u]=l,_=this.prev();if(_){if(_.spaced&&t1.has(_[0])&&(!u||/^\/=?\s/.test(c)))return 0;if(f5.has(_[0])&&!(_.spaced&&t1.has(_[0])))return 0}if(!u)M1("missing / (unclosed regex)",{row:this.row,col:this.col});let i=c.length,[w]=f3.exec(this.chunk.slice(i)),D=i+w.length;if(!Q5.test(w))M1(`invalid regular expression flags ${w}`,{row:this.row,col:this.col+i,len:w.length});return this.emit("REGEX",`/${h}/${w}`,{len:D,data:{delimiter:"/"}}),D}jsToken(){if(this.chunk[0]!=="`")return 0;let f=q5.exec(this.chunk)||K5.exec(this.chunk);if(!f)return 0;let l=f[1],c=f[0].length;return this.emit("JS",l,{len:c,data:{here:f[0].startsWith("```")}}),c}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let c={"[":"]","(":")","{":"}","<":">"}[f]||f,h=c!==f,u=1,_=3;while(_<this.chunk.length&&u>0){let n=this.chunk[_];if(n==="\\"){_+=2;continue}if(h&&n===f)u++;if(n===c)u--;if(u>0)_++}if(u!==0)return 0;let i=this.chunk.slice(3,_),w=_+1,D=[];if(i.trim()){let n=i.trim().split(/(?<!\\)\s+/);for(let A of n)D.push(A.replace(/\\ /g," "))}this.emit("[","[",{len:w});for(let n=0;n<D.length;n++){if(n>0)this.emit(",",",");this.emit("STRING",`"${D[n]}"`)}return this.emit("]","]"),w}symbolToken(){if(this.chunk[0]!==":")return 0;let f=this.chunk[1];if(!f||f==="="||f===":"||/\s/.test(f))return 0;if(!/[a-zA-Z_$]/.test(f))return 0;let l=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!l)return 0;let c=l[1],h=c.length+1;return this.emit("SYMBOL",c,{len:h}),h}literalToken(){let f=this.wordLiteral();if(f)return f;let l=this.symbolToken();if(l)return l;let c=D5.exec(this.chunk),h=c?c[0]:this.chunk.charAt(0),u=h,_=this.prev();if(M5.test(h))this.tagParameters();if(h==="="&&_&&_[1]==="."&&!_.spaced){let i=this.tokens,w=i.length-2;while(w>=1&&i[w][0]==="PROPERTY"&&i[w-1]?.[1]===".")w-=2;if(w>=0&&(i[w][0]==="IDENTIFIER"||i[w][0]===")"||i[w][0]==="]")){let D=i.slice(w,i.length-1);_[0]="=",_[1]="=";for(let n of D)this.tokens.push(p1(n[0],n[1],{pre:0,row:n[2],col:n[3],len:n[4]}));return this.tokens.push(p1(".",".",{pre:0,row:this.row,col:this.col,len:1})),h.length}}if(_&&(h==="="||e2.has(h))){if(h==="="&&(_[1]==="||"||_[1]==="&&"||_[1]==="??")&&!_.spaced)return _[0]="COMPOUND_ASSIGN",_[1]+="=",h.length}if(h==="("&&_?.[0]==="IMPORT")_[0]="DYNAMIC_IMPORT";if(h==="{"&&this.seenImport)this.importSpecifierList=!0;if(h==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(h==="{"&&_?.[0]==="EXPORT")this.exportSpecifierList=!0;if(h==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(h===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(h==="|>")u="PIPE";else if(h==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(h==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(h==="~=")u="COMPUTED_ASSIGN";else if(h===":=")u="REACTIVE_ASSIGN";else if(h==="<=>")u="BIND";else if(h==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(h==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(h==="*>"&&(!_||_[0]==="TERMINATOR"||_[0]==="INDENT"||_[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let i=this.chunk.slice(2),w=/^@(\s*)=(?!=)/.exec(i);if(w){let n=w[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let A=this.emit("PROPERTY","assign");return A.spaced=!0,this.emit("@","@"),this.emit(",",","),3+n.length+1}let D=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(i);if(D){let n=D[1],A=D[2],$=n[0]==="@",R=$?n.slice(1):n,M=R?R.split("."):[],z=()=>{if($){if(this.emit("@","@"),M.length>0)this.emit("PROPERTY",M[0])}else this.emit("IDENTIFIER",M[0]);for(let F=1;F<M.length;F++)this.emit(".","."),this.emit("PROPERTY",M[F])};z(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),z(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let W=this.prev();return W.mergeClose=!0,2+n.length+A.length+1}}else if(h==="*"&&_?.[0]==="EXPORT")u="EXPORT_ALL";else if(_5.has(h))u="MATH";else if(l5.has(h))u="COMPARE";else if(e2.has(h))u="COMPOUND_ASSIGN";else if(h5.has(h))u="UNARY_MATH";else if(c5.has(h))u="SHIFT";else if(h==="?"&&_?.spaced)u="TERNARY";else if(h==="?!"&&_&&!_.spaced)u="PRESENCE";else if(h==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if(_){if(h==="("&&!_.spaced&&t1.has(_[0])){if(_[0]==="?.")_[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(h==="["&&!_.spaced&&k1.has(_[0])){if(u="INDEX_START",_[0]==="?.")_[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(h==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(h==="("||h==="{"||h==="[")this.ends.push({tag:t4[h],origin:[u,h]});else if(h===")"||h==="}"||h==="]")this.pair(h);return this.emit(u,h,{len:h.length}),h.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,l=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let c=this.tokens[f];if(c[0]===")")l.push(c);else if(c[0]==="("||c[0]==="CALL_START")if(l.length)l.pop();else if(c[0]==="(")return c[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let l=this.tokens[f??this.tokens.length-1];if(l?.[0]==="DO")l[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteDottedPicks(),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 f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let l=0;l<f.length;l++){if(f[l][0]!=="MATH"||f[l][1]!=="*")continue;let c=f[l+1];if(!c||c[0]!=="{")continue;if(f[l].spaced||f[l].newLine)continue;let h=f[l-1];if(h&&k1.has(h[0]))continue;f.splice(l,1),f[l][0]="MAP_START";let u=1;for(let _=l+1;_<f.length&&u>0;_++){let i=f[_][0];if(i==="{"||i==="MAP_START")u++;if(i==="}"){if(u--,u===0)f[_][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let l=0;l<f.length;l++){let c=f[l][0];if(c!=="."&&c!=="?.")continue;let h=f[l+1];if(!h||h[0]!=="{")continue;if(f[l].spaced||f[l].newLine)continue;let u=f[l-1];if(!u||!k1.has(u[0]))continue;let _=c==="?.";f.splice(l,1),f[l][0]=_?"OPTPICK_START":"PICK_START";let i=1;for(let w=l+1;w<f.length&&i>0;w++){let D=f[w][0];if(D==="{"||D==="PICK_START"||D==="OPTPICK_START")i++;else if(D==="}"){if(i--,i===0){f[w][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,l)=>{if(f[0]==="CALL_START")this.detectEnd(l+1,(c)=>c[0]===")"||c[0]==="CALL_END",(c)=>c[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,l)=>{if(f[0]==="INDEX_START")this.detectEnd(l+1,(c)=>c[0]==="]"||c[0]==="INDEX_END",(c,h)=>{if(this.tokens[h+1]?.[0]===":")f[0]="[",c[0]="]";else c[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,l=null,c=null,h=(_,i)=>{return _[1]!==";"&&u5.has(_[0])&&!(_[0]==="TERMINATOR"&&o2.has(this.tokens[i+1]?.[0]))&&!(_[0]==="ELSE"&&f!=="THEN")||_[0]==="INDENT"&&!_.generated&&(f==="->"||f==="=>")||_[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(i)&&!this.commaInImplicitObject(i)||k2.has(_[0])&&(this.tokens[i-1]?.newLine||this.tokens[i-1]?.[0]==="OUTDENT")},u=(_,i)=>{let w=this.tokens[i-1]?.[0]===","?i-1:i;this.tokens.splice(w,0,c)};this.scanTokens((_,i,w)=>{let[D]=_;if(D==="TERMINATOR"){if(this.tokens[i+1]?.[0]==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")return w.splice(i,1,...this.makeIndentation()),1;if(o2.has(this.tokens[i+1]?.[0]))return w.splice(i,1),0}if(D==="CATCH")for(let n=1;n<=2;n++){let A=this.tokens[i+n]?.[0];if(A==="OUTDENT"||A==="TERMINATOR"||A==="FINALLY")return w.splice(i+n,0,...this.makeIndentation()),2+n}if((D==="->"||D==="=>")&&(this.tokens[i+1]?.[0]===","||this.tokens[i+1]?.[0]==="]"))return[l,c]=this.makeIndentation(),w.splice(i+1,0,l,c),1;if(t2.has(D)&&this.tokens[i+1]?.[0]!=="INDENT"&&!(D==="ELSE"&&this.tokens[i+1]?.[0]==="IF")&&!(D==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")){if(f=D,[l,c]=this.makeIndentation(),D==="THEN")l.fromThen=!0;if(w.splice(i+1,0,l),D==="THEN"&&this.singleLineOwner(i)==="LEADING_WHEN")this.detectWhenThenEnd(i+2,h,u);else this.detectEnd(i+2,h,u);if(D==="THEN")w.splice(i,1);return 1}return 1})}singleLineOwner(f){let l=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let c=f-1;c>=0;c--){let h=this.tokens[c],u=h?.[0];if(l.has(u))return u;if(P1.has(u)||h?.newLine)return null}return null}detectWhenThenEnd(f,l,c){let h=0,u=0;while(f<this.tokens.length){let _=this.tokens[f],i=_[0];if(h===0){if(i==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(i==="ELSE"&&u>0)u--;else if(l.call(this,_,f))return c.call(this,_,f)}if(O1.has(i))h++;if(U1.has(i))h--;if(h<0)return c.call(this,_,f);f++}}tagPostfixConditionals(){let f=null,l=(h,u)=>{return h[0]==="TERMINATOR"||h[0]==="INDENT"&&!t2.has(this.tokens[u-1]?.[0])},c=(h)=>{if(h[0]!=="INDENT"||h.generated&&!h.fromThen)f[0]="POST_"+f[0]};this.scanTokens((h,u)=>{if(h[0]!=="IF"&&h[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=h,this.detectEnd(u+1,l,c),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let l=f.length-2;l>=0;l--)if(f[l][0]==="IDENTIFIER"&&f[l][1]==="$"&&(f[l+1]?.[0]==="STRING"||f[l+1]?.[0]==="STRING_START")){let c=f[l-1];if(c&&k4.has(c[0])){if(f.splice(l,1),c.spaced=!1,f[l].spaced=!1,f[l].pre=0,f[l].newLine)f[l].newLine=!1}}}addImplicitBracesAndParens(){let f=[],l=!1;this.scanTokens((c,h,u)=>{let[_]=c,i=u[h-1]||[],w=u[h+1]||[],[D]=i,[n]=w,A=h,$=(G)=>h-A+G,R=()=>f[f.length-1],M=(G)=>G?.[2]?.ours,z=()=>M(R())&&R()?.[0]==="(",W=()=>M(R())&&R()?.[0]==="{",F=(G)=>{f.push(["(",G,{ours:!0}]),u.splice(G,0,$1("CALL_START","("))},U=()=>{f.pop(),u.splice(h,0,$1("CALL_END",")")),h+=1},H=(G,S={})=>{f.push(["{",G,{sameLine:!0,startsLine:S.startsLine??!0,ours:!0}]);let N=$1("{","{");if(!N.data)N.data={};N.data.generated=!0,u.splice(G,0,N)},O=(G)=>{G=G??h,f.pop(),u.splice(G,0,$1("}","}")),h+=1},Q=_==="FOR"&&!c.newLine&&e4.has(D);if((z()||W())&&p4.has(_)&&!Q)return f.push(["CONTROL",h,{ours:!0}]),$(1);if(_==="INDENT"&&M(R())){if(D!=="=>"&&D!=="->"&&D!=="["&&D!=="("&&D!==","&&D!=="{"&&D!=="ELSE"&&D!=="=")while(z()||W()&&D!==":")if(z())U();else O();if(R()?.[2]?.ours&&R()[0]==="CONTROL")f.pop();return f.push([_,h]),$(1)}if(O1.has(_))return f.push([_,h]),$(1);if(U1.has(_)){while(M(R()))if(z())U();else if(W())O();else f.pop();f.pop()}let q=!1;if(n==="-"&&!w.spaced&&!w.newLine&&H1(c))for(let G=h;G<u.length-2;G+=2){if(!o1(u[G+1],u[G+2]))break;if(!H1(u[G+2]))break;if(u[G+3]?.[0]===":"){q=!0;break}}if(!q&&R2.has(_)&&c.spaced&&(d1.has(n)||n==="..."&&d1.has(u[h+2]?.[0])||s4.has(n)&&!w.spaced&&!w.newLine)&&!((_==="]"||_==="}")&&(n==="->"||n==="=>")))return F(h+1),$(2);if(R2.has(_)&&this.tokens[h+1]?.[0]==="INDENT"&&this.looksObjectish(h+2)&&!this.findTagsBackwards(h,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return F(h+1),f.push(["INDENT",h+2]),$(3);if(_==="TERNARY")l=!0;if(_===":"){if(l)return l=!1,$(1);if(H1(u[h-1])&&o1(u[h-2],u[h-1])){let N=h-2;while(N>=2&&o1(u[N],u[N+1])&&H1(u[N-1]))N-=2;if(N+=1,H1(u[N])){let v="";for(let T=N;T<h;T++)v+=u[T][1];let L=$1("STRING",`"${v}"`,u[N]);L.pre=u[N].pre,L.spaced=u[N].spaced,L.newLine=u[N].newLine,L.loc=u[N].loc,u.splice(N,h-N,L),h=N+1}}let G=U1.has(this.tokens[h-1]?.[0])?f[f.length-1]?.[1]??h-1:h-1;if(this.tokens[h-2]?.[0]==="@")G=h-2;let S=G<=0||P1.has(this.tokens[G-1]?.[0])||this.tokens[G-1]?.newLine;if(R()){let[N,v]=R(),L=f[f.length-2],T=(Z)=>Z==="{"||Z==="MAP_START"||Z==="PICK_START"||Z==="OPTPICK_START";if((T(N)||N==="INDENT"&&T(L?.[0])&&!M(L))&&(S||this.tokens[G-1]?.[0]===","||T(this.tokens[G-1]?.[0])||T(this.tokens[G]?.[0])))return $(1)}return H(G,{startsLine:!!S}),$(2)}if(P1.has(_))for(let G=f.length-1;G>=0;G--){if(!M(f[G]))break;if(f[G][0]==="{")f[G][2].sameLine=!1}let K=D==="OUTDENT"||i.newLine,Y=_==="||"||_==="&&",J=!1;if(Y){let G=h+1,S=u[G]?.[0];if(S==="("||S==="["||S==="{"){for(let N=1;++G<u.length&&N>0;)if(S=u[G][0],S==="("||S==="["||S==="{")N++;else if(S===")"||S==="]"||S==="}")N--}else if(S&&S!=="TERMINATOR"&&S!=="OUTDENT"&&S!==",")G++;J=u[G]?.[0]===","}if(d4.has(_)&&!J||k2.has(_)&&K)while(M(R())){let[G,,{sameLine:S,startsLine:N}]=R();if(z()&&D!==",")U();else if(W()&&!Y&&S&&_!=="TERMINATOR"&&D!==":")O();else if(W()&&_==="TERMINATOR"&&D!==","&&!(N&&this.looksObjectish(h+1)))O();else if(R()?.[2]?.ours&&R()[0]==="CONTROL"&&u[R()[1]]?.[0]==="CLASS"&&_==="TERMINATOR")f.pop();else break}if(_===","&&!this.looksObjectish(h+1)&&W()&&(n!=="TERMINATOR"||!this.looksObjectish(h+2))){let G=n==="OUTDENT"?1:0;while(W())O(h+G)}return $(1)})}addImplicitCallCommas(){let f=0,l=0,c=this.tokens;while(l<c.length){let h=c[l][0],u=l>0?c[l-1][0]:null;if(h==="CALL_START"||h==="(")f++;if(h==="CALL_END"||h===")")f--;if(f>0&&(h==="->"||h==="=>")&&o4.has(u))c.splice(l,0,$1(",",",")),l++;l++}}scanTokens(f){let l=0;while(l<this.tokens.length)l+=f.call(this,this.tokens[l],l,this.tokens)}detectEnd(f,l,c,h={}){let u=0;while(f<this.tokens.length){let _=this.tokens[f];if(u===0&&l.call(this,_,f))return c.call(this,_,f);if(O1.has(_[0]))u++;if(U1.has(_[0]))u--;if(u<0){if(h.returnOnNegativeLevel)return;return c.call(this,_,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let l=0;l<f.length;l++){if(!f[l].mergeClose)continue;let c=0;for(let h=l+1;h<f.length;h++){let u=f[h][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")c++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")c--;if(c<0||c===0&&u==="TERMINATOR"){f.splice(h,0,$1("CALL_END",")",f[h-1]));break}if(h===f.length-1){f.splice(h+1,0,$1("CALL_END",")",f[h]));break}}}}commaInImplicitCall(f){let l=0;for(let c=f-1;c>=0;c--){let h=this.tokens[c][0];if(U1.has(h)){l++;continue}if(O1.has(h)){if(h==="INDENT")return!1;if(l--,l<0)return!1;continue}if(l>0)continue;if(R2.has(h)&&this.tokens[c].spaced){let u=this.tokens[c+1]?.[0];return d1.has(u)||u==="..."&&d1.has(this.tokens[c+2]?.[0])}}return!1}commaInImplicitObject(f){let l=0;for(let c=f-1;c>=0;c--){let h=this.tokens[c][0];if(U1.has(h)){l++;continue}if(O1.has(h)){if(l--,l<0)return!1;continue}if(l>0)continue;if(h===":"&&c>0&&this.tokens[c-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(P1.has(h))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if(H1(this.tokens[f]))for(let l=f+1;l<this.tokens.length;l+=2){if(!o1(this.tokens[l],this.tokens[l+1]))break;if(!H1(this.tokens[l+1]))break;if(this.tokens[l+2]?.[0]===":")return!0}if(O1.has(this.tokens[f]?.[0])){let l=null;if(this.detectEnd(f+1,(c)=>U1.has(c[0]),(c,h)=>l=h),l&&this.tokens[l+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,l){let c=new Set(l),h=[];while(f>=0){let u=this.tokens[f]?.[0];if(!h.length&&c.has(u))return!0;if(U1.has(u))h.push(u);if(O1.has(u)&&h.length)h.pop();if(!h.length&&(O1.has(u)&&!this.tokens[f]?.generated||P1.has(u)))break;f--}return!1}makeIndentation(f){let l=$1("INDENT",2),c=$1("OUTDENT",2);if(f)l.generated=c.generated=!0,l.origin=c.origin=f;else l.explicit=c.explicit=!0;return[l,c]}}x2(F1);s1(F1);var Z5=["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"],l3=new Set(Z5);var X5=["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 P5=["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"],N5=["math","param","portal"],c3=new Set([...X5,...N5]),Q1=new Set(P5),Y1=new Set([...c3,...Q1]);var h3="__bind_",w3="__",F2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),I5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),z2="http://www.w3.org/2000/svg";function E5(f){for(let l of f){if(!Array.isArray(l))continue;let c=l[1]instanceof String?l[1].valueOf():l[1],h=l[2]instanceof String?l[2].valueOf():l[2];if(c==="type"&&typeof h==="string")return h.replace(/^["']|["']$/g,"")}return null}function K1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function W2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function O2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function i3(f,l){let c=(w,D)=>w instanceof String?w[D]:void 0,h=l.prototype.classifyKeyword;l.prototype.classifyKeyword=function(w,D,n){if(w==="offer"||w==="accept"){let A=0;for(let $=this.tokens.length-1;$>=0;$--){let R=this.tokens[$][0];if(R==="OUTDENT")A++;else if(R==="INDENT")A--;if(A<0&&this.tokens[$-1]?.[0]==="COMPONENT")return w.toUpperCase()}return D}return h.call(this,w,D,n)},l.prototype.rewriteRender=function(){let w=(U,H,O)=>{let Q=[U,H];if(Q.pre=0,Q.data=null,Q.loc=O?.loc??{r:0,c:0,n:0},Q.spaced=!1,Q.newLine=!1,Q.generated=!0,O)Q.origin=O;return Q},D=!1,n=0,A=0,$=[],R=(U)=>{let H=U.split("#")[0];return Y1.has(H)},M=(U)=>{if(!U||typeof U!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(U)},z=(U)=>{return R(U)||M(U)},W=(U,H,O,Q)=>{let q=1,K=H;while(K>=0&&q>0){let Y=U[K][0];if(Y===O)q++;else if(Y===Q)q--;if(q>0)K--}return K},F=(U,H)=>{let O=H;while(O>0){let Q=U[O-1][0];if(Q==="TERMINATOR"||Q==="RENDER")break;if(Q==="INDENT"||Q==="OUTDENT"){let q=U[O][0];if(q==="CALL_END"||q===")"){O=W(U,O-1,q,q==="CALL_END"?"CALL_START":"(");continue}break}if(Q==="CALL_END"||Q===")"){O=W(U,O-2,Q,Q==="CALL_END"?"CALL_START":"(");continue}if(Q==="INTERPOLATION_END"){O=W(U,O-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Q==="STRING_END"){O=W(U,O-2,"STRING_END","STRING_START");continue}O--}return U[O]&&U[O][0]==="IDENTIFIER"&&(z(U[O][1])||(O===0||U[O-1][0]==="INDENT"||U[O-1][0]==="TERMINATOR"||U[O-1][0]==="RENDER"))};this.scanTokens(function(U,H,O){let Q=U[0],q=H<O.length-1?O[H+1]:null;if(Q==="RENDER")return D=!0,n=A+1,1;if(Q==="INDENT")return A++,1;if(Q==="OUTDENT"){A--;let K=0;while($.length>0&&$[$.length-1]>A){let Y=w("CALL_END",")",U);O.splice(H+1+K,0,Y),$.pop(),K++}if(D&&A<n)D=!1;return 1+K}if(!D)return 1;if(Q==="="&&H>0){let K=O[H-1][0];if(K==="TERMINATOR"||K==="INDENT"||K==="RENDER"){let Y=w("IDENTIFIER","__text__",U),J=w("CALL_START","(",U);return O.splice(H,1,Y,J),this.detectEnd(H+2,(G)=>G[0]==="TERMINATOR"||G[0]==="OUTDENT",(G,S)=>O.splice(S,0,w("CALL_END",")",G)),{returnOnNegativeLevel:!0}),2}}if(Q==="UNARY_MATH"&&U[1]==="~"&&q&&q[0]==="IDENTIFIER"){U[0]="PROPERTY",U[1]="__transition__";let K=w(":",":",U),Y=w("STRING",`"${q[1]}"`,q);return O.splice(H+1,1,K,Y),1}if(Q==="PROPERTY"&&U[1][0]==="$"&&U[1].length>1)return U[0]="STRING",U[1]=`"data-${U[1].slice(1)}"`,1;if(Q==="IDENTIFIER"&&!U.spaced){let K=[U[1]],Y=H+1;while(Y+1<O.length){let J=O[Y],G=O[Y+1];if(J[0]==="-"&&!J.spaced&&(G[0]==="IDENTIFIER"||G[0]==="PROPERTY")){if(K.push(G[1]),Y+=2,G[0]==="PROPERTY")break}else break}if(K.length>1&&Y>H+1&&O[Y-1][0]==="PROPERTY"){let J=K.join("-");if(J[0]==="$")J="data-"+J.slice(1);return U[0]="STRING",U[1]=`"${J}"`,O.splice(H+1,Y-H-1),1}}if(Q==="."){let K=H>0?O[H-1]:null,Y=K?K[0]:null;if(Y==="INDENT"||Y==="TERMINATOR"){if(q&&q[0]==="PROPERTY"){let J=H+2<O.length?O[H+2]:null;if(!J||J[0]!==":"){let G=w("IDENTIFIER","div",U);return O.splice(H,0,G),2}}if(!q||q[0]!=="(")return U[0]="IDENTIFIER",U[1]="div",0}}if(Q==="IDENTIFIER"||Q==="PROPERTY"){let K=O[H+1],Y=O[H+2];if(K&&K[0]==="#"&&Y&&(Y[0]==="PROPERTY"||Y[0]==="IDENTIFIER")){if(U[1]=U[1]+"#"+Y[1],Y.spaced)U.spaced=!0;return O.splice(H+1,2),0}}if(Q==="BIND"){let K=H>0?O[H-1]:null,Y=O[H+1];if(K&&(K[0]==="IDENTIFIER"||K[0]==="PROPERTY")&&Y&&Y[0]==="IDENTIFIER")return K[1]=`__bind_${K[1]}__`,U[0]=":",U[1]=":",1}if(Q==="@"){let K=H+1;if(K<O.length&&O[K][0]==="PROPERTY"){K++;while(K+1<O.length&&O[K][0]==="."&&O[K+1][0]==="PROPERTY")K+=2;if(K>H+2&&K<O.length&&O[K][0]===":"){let Y=w("[","[",U);O.splice(H,0,Y);let J=w("]","]",O[K+1]);return O.splice(K+1,0,J),2}}}if(Q==="."&&q&&q[0]==="("){let K=H>0?O[H-1]:null,Y=K?K[0]:null,J=Y==="INDENT"||Y==="TERMINATOR",G=w("PROPERTY","__clsx",U);q[0]="CALL_START";let S=1;for(let N=H+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(J){let N=w("IDENTIFIER","div",U);return O.splice(H,0,N),O.splice(H+2,0,G),3}else if(Y===":")return O[H]=w("IDENTIFIER","__clsx",U),1;else return O.splice(H+1,0,G),2}if(q&&q[0]==="INDENT"){if(q.fromThen)return 1;if(Q==="->"||Q==="=>"||Q==="CALL_START"||Q==="(")return 1;let K=!1,Y=H>0?O[H-1][0]:null,J=Y==="IF"||Y==="UNLESS"||Y==="WHILE"||Y==="UNTIL"||Y==="WHEN"||Y==="FORIN"||Y==="FOROF"||Y==="FORAS"||Y==="FORASAWAIT"||Y==="BY",G=!1;if(Q==="CALL_END"){let N=1;for(let v=H-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")G=!0}}let S=Q==="IDENTIFIER"&&(Y==="INDENT"||Y==="TERMINATOR"||Y==="RENDER");if(G)K=!0;else if(Q==="IDENTIFIER"&&z(U[1])&&!J)K=!0;else if(Q==="IDENTIFIER"&&!J)K=S||F(O,H);else if(Q==="PROPERTY"||Q==="STRING"||Q==="STRING_END"||Q==="NUMBER"||Q==="BOOL"||Q==="CALL_END"||Q===")"||Q==="PRESENCE")K=F(O,H);if(K){let N=!1;if(Q==="PROPERTY"&&H>0&&O[H-1][0]==="."){let L=H;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"&&z(O[L-2][1])){let T=L>=3?O[L-3][0]:null;if(!T||T==="INDENT"||T==="OUTDENT"||T==="TERMINATOR"||T==="RENDER")N=!0}}if(G||Q==="IDENTIFIER"&&(z(U[1])||S)||N){let L=w("CALL_START","(",U),T=w("->","->",U);return T.newLine=!0,O.splice(H+1,0,L,T),$.push(A+1),3}else{let L=w(",",",",U),T=w("->","->",U);return T.newLine=!0,O.splice(H+1,0,L,T),3}}}if(Q==="IDENTIFIER"&&M(U[1])&&q&&(q[0]==="OUTDENT"||q[0]==="TERMINATOR"))return O.splice(H+1,0,w("CALL_START","(",U),w("CALL_END",")",U)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(w){let D=w.split("#")[0];return Y1.has(D.toLowerCase())},u.isComponent=function(w){if(!w||typeof w!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(w)},u.collectTemplateClasses=function(w){let D=[],n=w;while(this.is(n,".")){let M=n[2];if(typeof M==="string"||M instanceof String)D.unshift(M.valueOf());n=n[1]}let A=typeof n==="string"?n:n instanceof String?n.valueOf():null;if(A===null)return{tag:null,classes:D,id:void 0,base:n};let[$,R]=A.split("#");if(!$)$="div";return{tag:$,classes:D,id:R,base:n}};let _=(w)=>typeof w==="string"?w:w instanceof String?w.valueOf():null,i=(w,D)=>{if(!(w instanceof String))return D;let n=new String(D);if(w.predicate)n.predicate=!0;if(w.await)n.await=!0;return n.predicate||n.await?n:D};u.transformComponentMembers=function(w,D=new Set){let n=this._self;if(!Array.isArray(w)){let A=_(w);if(A&&D.has(A))return w;if(A&&this.reactiveMembers&&this.reactiveMembers.has(A))return[".",[".",n,A],i(w,"value")];if(A&&this.componentMembers&&this.componentMembers.has(A))return[".",n,i(w,A)];return w}if(w[0]==="."&&w[1]==="this"&&_(w[2])!=null){let A=w[2],$=_(A);if(this.reactiveMembers&&this.reactiveMembers.has($))return[".",[".",n,$],i(A,"value")];return this._factoryMode?[".",n,A]:w}if(w[0]==="."||w[0]==="?.")return[w[0],this.transformComponentMembers(w[1]),w[2]];if(w[0]==="->"){let A=w[1],$=new Set(D);if(Array.isArray(A))for(let R of A){let M=_(Array.isArray(R)&&R[0]==="default"?R[1]:R);if(M)$.add(M)}return["=>",w[1],this.transformComponentMembers(w[2],$)]}if(w[0]==="object"||w[0]==="map-literal")return[w[0],...w.slice(1).map((A)=>{if(Array.isArray(A)&&A[0]==="...")return["...",this.transformComponentMembers(A[1],D)];if(Array.isArray(A)&&A.length>=2){let $=A[1],R=Array.isArray($)?this.transformComponentMembers($,D):$,M=this.transformComponentMembers(A[2],D);return[A[0],R,M]}return this.transformComponentMembers(A,D)})];if(w[0]==="block"||w[0]==="program"){let A=new Set(D),$=[w[0]];for(let R=1;R<w.length;R++){let M=w[R];if(Array.isArray(M)&&M[0]==="="){let z=_(M[1]);if(z&&!(this.reactiveMembers&&this.reactiveMembers.has(z))){$.push(["=",M[1],this.transformComponentMembers(M[2],A)]),A.add(z);continue}}$.push(this.transformComponentMembers(M,A))}return $}return w.map((A)=>this.transformComponentMembers(A,D))},u.emitComponent=function(w,D,n,A){let[,$]=D,R=this.is($,"block")?$.slice(1):[],M=[],z=[],W=[],F=[],U=[],H=[],O=[],Q=[],q=null,K=new Set,Y=new Set;for(let X of R){if(!Array.isArray(X))continue;let[E]=X;if(E==="offer"){if(X=X[1],!Array.isArray(X))continue;E=X[0];let y=K1(X[1]);if(y)O.push(y)}if(E==="accept"){let y=typeof X[1]==="string"?X[1]:K1(X[1]);if(y)Q.push(y),K.add(y),Y.add(y)}else if(E==="."&&X[1]==="this"&&K1(X)){let y=typeof X[2]==="string"||X[2]instanceof String?X[2].valueOf():null;if(y)M.push({name:y,value:void 0,isPublic:!0,type:X[2]?.type||null,required:!0}),K.add(y),Y.add(y)}else if(E==="state"){let y=K1(X[1]);if(y)M.push({name:y,value:X[2],isPublic:W2(X[1]),type:O2(X[1])}),K.add(y),Y.add(y)}else if(E==="computed"){let y=K1(X[1]);if(y)z.push({name:y,expr:X[2],type:O2(X[1])}),K.add(y),Y.add(y)}else if(E==="readonly"){let y=K1(X[1]);if(y)W.push({name:y,value:X[2],isPublic:W2(X[1]),type:O2(X[1])}),K.add(y)}else if(E==="="){let y=K1(X[1]);if(y)if(F2.has(y))U.push({name:y,value:X[2]});else{let g=X[2];if(Array.isArray(g)&&(g[0]==="->"||g[0]==="=>"))F.push({name:y,func:g}),K.add(y);else M.push({name:y,value:g,isPublic:W2(X[1])}),K.add(y),Y.add(y)}}else if(E==="effect")H.push(X);else if(E==="render")q=X;else if(E==="object")for(let y=1;y<X.length;y++){let g=X[y];if(!Array.isArray(g))continue;let[,o,c1]=g;if(typeof o==="string"&&F2.has(o))U.push({name:o,value:c1});else if(typeof o==="string")F.push({name:o,func:c1}),K.add(o)}}let J=new Map;for(let{name:X}of F)if(/^on[A-Z]/.test(X)&&!F2.has(X)){let E=X[2].toLowerCase()+X.slice(3);if(l3.has(E))J.set(E,X)}let G=D[0]?.valueOf?.()??null,S=new Set;for(let{name:X,isPublic:E}of M)if(E)S.add(X);for(let{name:X,isPublic:E}of W)if(E)S.add(X);let N=this.componentMembers,v=this.reactiveMembers,L=this._autoEventHandlers,T=this._inheritsTag;if(this.componentMembers=K,this.reactiveMembers=Y,this._autoEventHandlers=J.size>0?J:null,this._inheritsTag=G||null,this.options.stubComponents){let X=(P)=>P?P.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,E=[],y=this._componentTypeParams||"";E.push(`class ${y}{`),E.push(" declare _root: Element | null; declare app: any;"),E.push(" emit(_name: string, _detail?: any): void {}");let g=[];for(let{name:P,type:B,isPublic:V,required:x}of M){if(!V)continue;let t=X(B),e=x?"":"?";g.push(`${P}${e}: ${t||"any"}`),g.push(`__bind_${P}__?: Signal<${t||"any"}>`)}for(let{name:P,type:B,isPublic:V}of W){if(!V)continue;let x=X(B);g.push(`${P}?: ${x||"any"}`)}{let B=g.length>0&&M.some((x)=>x.isPublic&&x.required)?"":"?",V=g.length>0?`{${g.join("; ")}}`:"{}";if(G)V+=` & __RipProps<'${G}'>`;E.push(` constructor(_props${B}: ${V}) {}`)}let o=(P)=>{let B=P?.valueOf?.()??P;if(typeof B!=="string")return null;if(B==="true"||B==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(B))return"number";if(B.startsWith('"')||B.startsWith("'"))return"string";return null};for(let{name:P,type:B,value:V}of M){let x=X(B)||o(V);E.push(x?` declare ${P}: Signal<${x}>;`:` declare ${P}: Signal<any>;`)}for(let{name:P,type:B,value:V}of W){let x=X(B)||o(V);E.push(x?` declare ${P}: ${x};`:` declare ${P}: any;`)}for(let{name:P,expr:B,type:V}of z){let x=X(V),t=x?`: Computed<${x}>`:"";if(this.is(B,"block")){let e=this.transformComponentMembers(B),C=this.emitFunctionBody(e);E.push(` ${P}${t} = __computed(() => ${C});`)}else{let e=this.emitInComponent(B,"value");E.push(` ${P}${t} = __computed(() => ${e});`)}}E.push(" _init(props) {");for(let{name:P,value:B,isPublic:V}of W){let x=this.emitInComponent(B,"value");E.push(V?` this.${P} = props.${P} ?? ${x};`:` this.${P} = ${x};`)}for(let{name:P,value:B,isPublic:V,required:x,type:t}of M)if(V&&x)E.push(` this.${P} = __state(props.__bind_${P}__ ?? props.${P});`);else if(V){let e=this.emitInComponent(B,"value");E.push(` this.${P} = __state(props.__bind_${P}__ ?? props.${P} ?? ${e});`)}else{let e=this.emitInComponent(B,"value");E.push(` this.${P} = __state(${e});`)}for(let P of H){let B=P[2],V=this.containsAwait(B)?"async ":"";if(this.is(B,"block")){let x=this.transformComponentMembers(B),t=this.emitFunctionBody(x,[],!0);E.push(` __effect(${V}() => ${t});`)}else{let x=this.emitInComponent(B,"value");E.push(` __effect(${V}() => { ${x}; });`)}}E.push(" }");let c1=new Map;for(let[P,B]of J)c1.set(B,P);if(q){let P=(B)=>{if(!Array.isArray(B))return;let V=B[0]?.valueOf?.()??B[0];if(typeof V==="string"&&V!=="object"&&V!=="switch"&&Y1.has(V.split(/[.#]/)[0]))for(let x=1;x<B.length;x++){let t=B[x],e=this.is(t,"object")?t:null;if(!e&&Array.isArray(t)&&(t[0]==="->"||t[0]==="=>")&&this.is(t[2],"block")){for(let C=1;C<t[2].length;C++)if(this.is(t[2][C],"object")){e=t[2][C];break}}if(!e)continue;for(let C=1;C<e.length;C++){let a=e[C];if(!Array.isArray(a)||a.length<2)continue;let[,d,p]=a;if(Array.isArray(d)&&d[0]==="."&&d[1]==="this"&&Array.isArray(p)&&p[0]==="."&&p[1]==="this"){let I=typeof d[2]==="string"?d[2]:d[2]?.valueOf?.(),r=typeof p[2]==="string"?p[2]:p[2]?.valueOf?.();if(I&&r&&!c1.has(r))c1.set(r,I)}}}for(let x=1;x<B.length;x++)P(B[x])};P(q)}for(let{name:P,func:B}of F)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,V,x]=B;if((!V||Array.isArray(V)&&V.length===0)&&this.containsIt(x))V=["it"];let t=Array.isArray(V)?V.map((p)=>{let I=this.formatParam(p);if(p?.type)I+=`: ${p.type}`;return I}).join(", "):"",e=c1.get(P);if(e&&Array.isArray(V)&&V.length>0){let p=V[0];if(!(p?.type||p instanceof String&&p.type)&&typeof(p?.valueOf?.()??p)==="string"){let r=p?.valueOf?.()??p;t=t.replace(r,`${r}: HTMLElementEventMap['${e}']`)}}let C=this.reactiveMembers?this.transformComponentMembers(x):x,a=this.containsAwait(x),d=this.emitFunctionBody(C,V||[]);E.push(` ${a?"async ":""}${P}(${t}) ${d}`)}for(let{name:P,value:B}of U)if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")){let[,V,x]=B,t=Array.isArray(V)?V.map((d)=>this.formatParam(d)).join(", "):"",e=this.reactiveMembers?this.transformComponentMembers(x):x,C=this.containsAwait(x),a=this.emitFunctionBody(e,V||[]);E.push(` ${C?"async ":""}${P}(${t}) ${a}`)}if(q){let P=[],B=0,V=this.options.source?.split(`
897
+ `),x=(C)=>{let a=[];for(let d of C){let p=null;if(this.is(d,"object"))p=d;else if(Array.isArray(d)&&(d[0]==="->"||d[0]==="=>")&&this.is(d[2],"block")){for(let I=1;I<d[2].length;I++)if(this.is(d[2][I],"object")){p=d[2][I];break}}if(p)for(let I=1;I<p.length;I++){let r=p[I],[,j,k]=r;if(typeof j==="string"&&!j.startsWith("@")){let f1=r.loc?.r??p.loc?.r;if(j.startsWith("__bind_")&&j.endsWith("__")){let s=typeof k==="string"&&this.reactiveMembers?.has(k)?`this.${k}`:this.emitInComponent(k,"value");a.push({code:`${j}: ${s}`,srcLine:f1})}else{let s=this.emitInComponent(k,"value");a.push({code:`${j}: ${s}`,srcLine:f1})}}}}return a},t=(C)=>{let a=[];for(let d of C){let p=null;if(this.is(d,"object"))p=d;else if(Array.isArray(d)&&(d[0]==="->"||d[0]==="=>")&&this.is(d[2],"block")){for(let I=1;I<d[2].length;I++)if(this.is(d[2][I],"object")){p=d[2][I];break}}if(p)for(let I=1;I<p.length;I++){let r=p[I];if(!Array.isArray(r)||r.length<2)continue;let[,j,k]=r,f1=r.loc?.r??p.loc?.r;if(Array.isArray(j)&&j[0]==="."&&j[1]==="this"){let s=typeof j[2]==="string"?j[2]:j[2]?.valueOf?.();if(!s)continue;let u1="@"+s.split(".")[0],h2=this.emitInComponent(k,"value");a.push({code:`'${u1}': ${h2}`,srcLine:f1})}else if(typeof j==="string"){if(j==="key"){let s=this.emitInComponent(k,"value"),u1=f1!=null?` // @rip-src:${f1}`:"";P.push(` (${s});${u1}`);continue}if(j.startsWith("__bind_")&&j.endsWith("__")){let s=j.slice(7,-2),u1=this.emitInComponent(k,"value");a.push({code:`${s}: ${u1}`,srcLine:f1})}else{let s=this.emitInComponent(k,"value");a.push({code:`${j}: ${s}`,srcLine:f1})}}}}return a},e=(C)=>{if(!Array.isArray(C))return;let a=C[0]?.valueOf?.()??C[0];if(a==="object")return;if(a==="if"||a==="unless"){let I=C[1];if(I!=null){let r=this.emitInComponent(I,"value"),j=C.loc?.r,k=j!=null?` // @rip-src:${j}`:"";P.push(` ${r};${k}`)}}else if(a==="?:"){let I=this.emitInComponent(C,"value"),r=C.loc?.r,j=r!=null?` // @rip-src:${r}`:"";P.push(` ${I};${j}`)}else if(a==="switch"){let I=C[1];if(I!=null){let r=this.emitInComponent(I,"value"),j=C.loc?.r,k=j!=null?` // @rip-src:${j}`:"";P.push(` ${r};${k}`)}}else if(a==="for-in"||a==="for-of"||a==="for-as"){let I=C[1],r=C[2];if(r!=null){let j=this.emitInComponent(r,"value"),k=C.loc?.r,f1=k!=null?` // @rip-src:${k}`:"",s;if(Array.isArray(I))if(I.length===1){let u1=I[0];s=Array.isArray(u1)?this.emitDestructuringPattern(u1):String(u1)}else if(a==="for-of")s=`[${I.map((u1)=>String(u1)).join(", ")}]`;else s=String(I[0]);else s=String(I);if(a==="for-of")P.push(` for (const ${s} of Object.entries(${j})) {${f1}`);else P.push(` for (const ${s} of ${j}) {${f1}`);for(let u1=3;u1<C.length;u1++)if(C[u1]!=null)e(C[u1]);P.push(" }");return}}else if(a==="__text__"){let I=C[1];if(I!=null){let r=this.emitInComponent(I,"value"),j=C.loc?.r,k=j!=null?` // @rip-src:${j}`:"";P.push(` ${r};${k}`)}return}else if(a==="str"){try{let I=this.emitInComponent(C,"value"),r=C.loc?.r,j=r!=null?` // @rip-src:${r}`:"";P.push(` ${I};${j}`)}catch{}return}let d=(I,r,j)=>{if(typeof I!=="string"||!/^[a-z][\w-]*$/.test(I))return;if(f.GENERATORS[I])return;if(I==="null"||I==="undefined"||I==="true"||I==="false")return;let k=r.loc?.r;if(k!=null&&V){let s=new RegExp(`\\b${I}\\b`);for(let u1=k;u1<V.length;u1++)if(s.test(V[u1])){k=u1;break}}let f1=k!=null?` // @rip-src:${k}`:"";if(this.componentMembers&&this.componentMembers.has(I))P.push(` this.${I};${f1}`);else if(j)P.push(` ${I};${f1}`);else P.push(` __ripEl('${I}');${f1}`)},p=typeof a==="string"&&/^[a-z][\w-]*$/.test(a)&&!f.GENERATORS[a]&&Y1.has(a.split(/[.#]/)[0]);if(a==="block")for(let I=1;I<C.length;I++)d(C[I],C,!1);else if(p){for(let I=1;I<C.length;I++)d(C[I],C,!0);for(let I=1;I<C.length;I++){let r=C[I];if(!Array.isArray(r))continue;let j=r[0]?.valueOf?.()??r[0];if(j==="object"||j==="block"||j==="__text__")continue;if(typeof j==="string"){if(/^[A-Z]/.test(j))continue;if(Y1.has(j.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(j)&&!f.GENERATORS[j])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(j))continue}try{let k=this.emitInComponent(r,"value"),f1=r.loc?.r??C.loc?.r,s=f1!=null?` // @rip-src:${f1}`:"";P.push(` ${k};${s}`)}catch{}}}for(let I=1;I<C.length;I++)e(C[I]);if(typeof a==="string"&&/^[A-Z]/.test(a)){let I=x(C.slice(1)),r=`_${B++}`,j=`ConstructorParameters<typeof ${a}>[0] & {}`;if(I.length===0){let k=C.loc?.r;P.push(` const ${r}: ${j} = {};`+(k!=null?` // @rip-src:${k}`:""))}else if(I.length===1){let k=C.loc?.r??I[0].srcLine;P.push(` const ${r}: ${j} = {${I[0].code}};`+(k!=null?` // @rip-src:${k}`:""))}else{let k=C.loc?.r;if(new Set(I.map((s)=>s.srcLine).filter((s)=>s!=null)).size<=1){let s=I[0].srcLine??k;P.push(` const ${r}: ${j} = {${I.map((u1)=>u1.code).join(", ")}};`+(s!=null?` // @rip-src:${s}`:""))}else{P.push(` const ${r}: ${j} = {`+(k!=null?` // @rip-src:${k}`:""));for(let s of I)P.push(` ${s.code},`+(s.srcLine!=null?` // @rip-src:${s.srcLine}`:""));P.push(" };")}}}else if(typeof a==="string"&&!f.GENERATORS[a]&&(Y1.has(a.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(a)&&C.length>1)){let I=a.split(/[.#]/)[0],r=t(C.slice(1)),j=C.loc?.r,k=j!=null?` // @rip-src:${j}`:"";if(r.length===0)P.push(` __ripEl('${I}');${k}`);else if(r.length===1){let f1=r[0].srcLine??j,s=f1!=null?` // @rip-src:${f1}`:"";P.push(` __ripEl('${I}', {${r[0].code}});${s}`)}else if(new Set(r.map((s)=>s.srcLine).filter((s)=>s!=null)).size<=1){let s=r[0].srcLine??j,u1=s!=null?` // @rip-src:${s}`:"";P.push(` __ripEl('${I}', {${r.map((h2)=>h2.code).join(", ")}});${u1}`)}else{P.push(` __ripEl('${I}', {${k}`);for(let s of r)P.push(` ${s.code},`+(s.srcLine!=null?` // @rip-src:${s.srcLine}`:""));P.push(" });")}}};if(e(q),P.length>0){E.push(" _render() {");for(let C of P)E.push(C);E.push(" }")}}return E.push("}"),this.componentMembers=N,this.reactiveMembers=v,this._autoEventHandlers=L,this._inheritsTag=T,E.join(`
898
+ `)}this.usesTemplates=!0,this.usesReactivity=!0;let Z=[],_1="";Z.push("class extends __Component {"),Z.push(" _init(props) {");for(let{name:X,value:E,isPublic:y}of W){let g=this.emitInComponent(E,"value");Z.push(y?` this.${X} = props.${X} ?? ${g};`:` this.${X} = ${g};`)}for(let X of Q)Z.push(` this.${X} = getContext('${X}');`);for(let{name:X,value:E,isPublic:y,required:g}of M)if(y&&g)Z.push(` this.${X} = __state(props.__bind_${X}__ ?? props.${X});`);else if(y){let o=this.emitInComponent(E,"value");Z.push(` this.${X} = __state(props.__bind_${X}__ ?? props.${X} ?? ${o});`)}else{let o=this.emitInComponent(E,"value");Z.push(` this.${X} = __state(${o});`)}if(G){if(Z.push(" this._rest = {};"),Z.push(" for (const __k in props) {"),S.size>0){let X=[...S].map((E)=>`__k !== '${E}'`).join(" && ");Z.push(` if (${X} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else Z.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");Z.push(" }")}for(let{name:X,expr:E}of z)if(this.is(E,"block")){let y=this.transformComponentMembers(E),g=this.emitFunctionBody(y);Z.push(` this.${X} = __computed(() => ${g});`)}else{let y=this.emitInComponent(E,"value");Z.push(` this.${X} = __computed(() => ${y});`)}for(let X of O)Z.push(` setContext('${X}', this.${X});`);for(let X of H){let E=X[2],y=this.containsAwait(E)?"async ":"";if(this.is(E,"block")){let g=this.transformComponentMembers(E),o=this.emitFunctionBody(g,[],!0);Z.push(` __effect(${y}() => ${o});`)}else{let g=this.emitInComponent(E,"value");Z.push(` __effect(${y}() => { ${g}; });`)}}if(Z.push(" }"),G)Z.push(" _setRestProp(key, value) {"),Z.push(" if (key.startsWith('__bind_')) return;"),Z.push(" this._rest || (this._rest = {});"),Z.push(" if (value == null) delete this._rest[key];"),Z.push(" else this._rest[key] = value;"),Z.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),Z.push(" }"),Z.push(" _applyRestToInheritedEl() {"),Z.push(" if (!this._inheritedEl || !this._rest) return;"),Z.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),Z.push(" }"),Z.push(" _applyInheritedProp(el, key, value) {"),Z.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),Z.push(" if (key[0] === '@') {"),Z.push(" const event = key.slice(1).split('.')[0];"),Z.push(" this._restHandlers || (this._restHandlers = {});"),Z.push(" const prev = this._restHandlers[key];"),Z.push(" if (prev) el.removeEventListener(event, prev);"),Z.push(" if (typeof value === 'function') {"),Z.push(" const next = (e) => __batch(() => value(e));"),Z.push(" this._restHandlers[key] = next;"),Z.push(" el.addEventListener(event, next);"),Z.push(" } else {"),Z.push(" delete this._restHandlers[key];"),Z.push(" }"),Z.push(" return;"),Z.push(" }"),Z.push(" if (key === 'class' || key === 'className') {"),Z.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),Z.push(" else el.className = __clsx(value);"),Z.push(" return;"),Z.push(" }"),Z.push(" if (key === 'style') {"),Z.push(" if (value == null) { el.removeAttribute('style'); return; }"),Z.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),Z.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),Z.push(" }"),Z.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),Z.push(" el[key] = value ?? '';"),Z.push(" return;"),Z.push(" }"),Z.push(" if (key in el && !key.includes('-')) {"),Z.push(" el[key] = value;"),Z.push(" return;"),Z.push(" }"),Z.push(" if (value == null || value === false) {"),Z.push(" el.removeAttribute(key);"),Z.push(" return;"),Z.push(" }"),Z.push(" if (value === true) {"),Z.push(" el.setAttribute(key, '');"),Z.push(" return;"),Z.push(" }"),Z.push(" el.setAttribute(key, value);"),Z.push(" }");for(let{name:X,func:E}of F)if(Array.isArray(E)&&(E[0]==="->"||E[0]==="=>")){let[,y,g]=E;if((!y||Array.isArray(y)&&y.length===0)&&this.containsIt(g))y=["it"];let o=Array.isArray(y)?y.map((V)=>this.formatParam(V)).join(", "):"",c1=this.reactiveMembers?this.transformComponentMembers(g):g,P=this.containsAwait(g),B=this.emitFunctionBody(c1,y||[]);Z.push(` ${P?"async ":""}${X}(${o}) ${B}`)}for(let{name:X,value:E}of U)if(Array.isArray(E)&&(E[0]==="->"||E[0]==="=>")){let[,y,g]=E,o=Array.isArray(y)?y.map((V)=>this.formatParam(V)).join(", "):"",c1=this.reactiveMembers?this.transformComponentMembers(g):g,P=this.containsAwait(g),B=this.emitFunctionBody(c1,y||[]);Z.push(` ${P?"async ":""}${X}(${o}) ${B}`)}if(q){let X=q[1],E=this.buildRender(X);if(E.blockFactories.length>0)_1=E.blockFactories.join(`
1312
899
 
1313
900
  `)+`
1314
901
 
1315
- `;E.push(" _create() {");for(let b of j.createLines)E.push(` ${b}`);if(E.push(` return ${j.rootVar};`),E.push(" }"),j.setupLines.length>0){E.push(" _setup() {");for(let b of j.setupLines)E.push(` ${b}`);E.push(" }")}}if(E.push("}"),this.componentMembers=L,this.reactiveMembers=V,this._autoEventHandlers=N,this._inheritsTag=C,l)return`(() => {
1316
- ${l}return ${E.join(`
902
+ `;Z.push(" _create() {");for(let y of E.createLines)Z.push(` ${y}`);if(Z.push(` return ${E.rootVar};`),Z.push(" }"),E.setupLines.length>0){Z.push(" _setup() {");for(let y of E.setupLines)Z.push(` ${y}`);Z.push(" }")}}if(Z.push("}"),this.componentMembers=N,this.reactiveMembers=v,this._autoEventHandlers=L,this._inheritsTag=T,_1)return`(() => {
903
+ ${_1}return ${Z.join(`
1317
904
  `)};
1318
- })()`;return E.join(`
1319
- `)},u.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)},u.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},u.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},u.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},u.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 A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},u.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},u.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let J=Y.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode(${J});`),H}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${this._self}.${J}.value;`),H}if(J==="slot"&&this.componentMembers){let H=this._self,q=this.newElementVar("slot");return this._createLines.push(`${q} = ${H}.children instanceof Node ? ${H}.children : (${H}.children != null ? document.createTextNode(String(${H}.children)) : document.createComment(''));`),q}let[K,D]=J.split("#"),w=this.newElementVar(),X=K||"div";if(O1.has(X)||this._svgDepth>0)this._createLines.push(`${w} = document.createElementNS('${M2}', '${X}');`);else this._createLines.push(`${w} = document.createElement('${X}');`);if(D)this._createLines.push(`${w}.id = '${D}';`);return this._bindInheritedTarget(X,w),w}if(!Array.isArray(Y)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}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 J=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),K}if(Q==="switch"){let J=G[0],K=G[1]||[],w=G[2]||null;for(let H=K.length-1;H>=0;H--){let[,q,B]=K[H],R;if(J===null)R=q.length===1?q[0]:q.reduce((S,O)=>S?["||",S,O]:O,null);else R=q.length===1?["==",J,q[0]]:q.map((S)=>["==",J,S]).reduce((S,O)=>S?["||",S,O]:O,null);w=["if",R,B,w]}if(w){if(Array.isArray(w)&&w[0]==="if")return this.emitConditional(w);return this.emitTemplateBlock(w)}let X=this.newElementVar("c");return this._createLines.push(`${X} = document.createComment('switch');`),X}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[J,K]=Q.split("#");return this.emitTag(J||"div",[],G,K)}if(Q==="."){let[,J,K]=Y;if(J==="this"&&typeof K==="string"){let R=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode('');`),this._pushEffect(`${O}.data = ${R}.${K}.value;`),O}let S=this.newElementVar("slot");return this._createLines.push(`${S} = ${R}.${K} instanceof Node ? ${R}.${K} : (${R}.${K} != null ? document.createTextNode(String(${R}.${K})) : document.createComment(''));`),S}let{tag:D,classes:w,id:X,base:H}=this.collectTemplateClasses(Y);if(!_(H,"text")&&D&&this.isHtmlTag(D))return this.emitTag(D,w,[],X);let q=this.newTextVar(),B=this.emitInComponent(Y,"value");return this._createLines.push(`${q} = document.createTextNode(String(${B}));`),q}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],X=Z.slice(1);if(Array.isArray(w)){let{tag:q,classes:B,id:R}=this.collectTemplateClasses(w);if(q){let S=B.map((O)=>`"${O}"`);return this.emitDynamicTag(q,X,G,S,R)}}let H=typeof w==="string"?w:w.valueOf();return this.emitDynamicTag(H,X,G)}let{tag:J,classes:K,id:D}=this.collectTemplateClasses(Z);if(J&&this.isHtmlTag(J)){if(K.length>0&&K[K.length-1]==="__clsx"){let X=K.slice(0,-1).map((H)=>`"${H}"`);return this.emitDynamicTag(J,G,[],X,D)}return this.emitTag(J,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 J=G[0]??"undefined",K=this.newTextVar(),D=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J))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(),A=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${A};`);else this._createLines.push(`${z} = document.createTextNode(String(${A}));`);return z},u.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 A=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${A});`)}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 A=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${A});`)}else{let A=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${A} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${A} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${A} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${A});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},u._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},u._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},u._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();")},u.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),A=O1.has(Y)||this._svgDepth>0;if(A)this._createLines.push(`${z} = document.createElementNS('${M2}', '${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 J=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(A)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let w=this._pendingClassArgs.join(", ");if(A)this._pushEffect(`${z}.setAttribute('class', __clsx(${w}));`);else this._pushEffect(`${z}.className = __clsx(${w});`)}this._pendingClassArgs=K,this._pendingClassEl=D}return this._emitAutoWire(z,J),z},u.emitDynamicTag=function(Y,Z,G,Q,z){let A=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${A} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${A} = document.createElement('${Y}');`);if(z)this._createLines.push(`${A}.id = '${z}';`);this._bindInheritedTarget(Y,A);let J=this._claimAutoWire(A),K=[...Q||[],...Z.map((X)=>this.emitInComponent(X,"value"))],D=this._pendingClassArgs,w=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=A,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(A,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let X=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${A}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${A}.className = __clsx(${X});`)}return this._pendingClassArgs=D,this._pendingClassEl=w,this._emitAutoWire(A,J),A},u.emitAttributes=function(Y,Z){let G=m5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,A]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let J=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(J);if(typeof A==="string"&&this.componentMembers?.has(A))this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${A}(e)));`);else{let K=this.emitInComponent(A,"value");this._createLines.push(`${Y}.addEventListener('${J}', (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(A,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(A))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(A).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(F3)&&z.endsWith(Z3)){let K=z.slice(F3.length,-Z3.length),D=this.emitInComponent(A,"value"),w,X;if(K==="checked")w="change",X="e.target.checked";else w="input",X=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${D};`);let H=`${D} = ${X}`,q=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(q)H+=`; ${this._self}.${q}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${w}', (e) => { ${H}; });`);continue}let J=this.emitInComponent(A,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(A)){this._pushEffect(`${Y}.${z} = ${J};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.${z} = ${J};`);else this._createLines.push(`${Y}.${z} = ${J};`);else if(l5.has(z))if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${J});`);else this._createLines.push(`if (${J}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(A))if(Array.isArray(A)&&A[0]==="presence")this._pushEffect(`{ const __v = ${J}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${J});`);else if(Array.isArray(A)&&A[0]==="presence")this._createLines.push(`{ const __v = ${J}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${J});`)}}},u.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 A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}return this._fragChildren.set(G,Q),G},u.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let B=Y[Y.length-1];for(let R=Y.length-2;R>=3;R--)B=[...Y[R],B];Y=[Y[0],Y[1],Y[2],B]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let A=this.emitInComponent(Z,"value"),J=this._loopVarStack.map((B)=>`${B.itemVar}, ${B.indexVar}`).join(", "),K=J?`, ${J}`:"",D=this.newBlockVar();this.emitConditionBranch(D,G);let w=null;if(Q)w=this.newBlockVar(),this.emitConditionBranch(w,Q);let X=[];X.push(`// Conditional: ${D}${w?" / "+w:""}`),X.push("{"),X.push(` const anchor = ${z};`),X.push(" let currentBlock = null;"),X.push(" let showing = null;");let H=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",q=this._factoryMode?"}));":"});";if(X.push(` ${H}`),X.push(` const show = !!(${A});`),X.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),X.push(" if (want === showing) return;"),X.push(""),X.push(" if (currentBlock) {"),X.push(" const leaving = currentBlock;"),X.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),X.push(" else { leaving.d(true); }"),X.push(" currentBlock = null;"),X.push(" }"),X.push(" showing = want;"),X.push(""),X.push(" if (want === 'then') {"),X.push(` currentBlock = ${D}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }"),Q)X.push(" if (want === 'else') {"),X.push(` currentBlock = ${w}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }");if(X.push(` ${q}`),this._factoryMode)X.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return X.push("}"),this._setupLines.push(X.join(`
1320
- `)),z},u.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,A=this._setupLines,J=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,A,J)},u.emitBlockFactory=function(Y,Z,G,Q,z,A,J){let K=[];if(K.push(`function ${Y}(${Z}) {`),A.size>0)K.push(` let ${[...A].join(", ")};`);let D=z.length>0;if(D)K.push(" let disposers = [];");if(K.push(" return {"),J)K.push(" _s: true,");let w=this._fragChildren.get(G),X=w?w[0]:G;K.push(" c() {");for(let H of Q)K.push(` ${H}`);if(K.push(` this._first = ${X};`),K.push(" },"),K.push(" m(target, anchor) {"),w)for(let H of w)K.push(` if (target) target.insertBefore(${H}, 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 H of z)K.push(` ${H}`)}if(K.push(" },"),K.push(" d(detaching) {"),D)K.push(" disposers.forEach(d => d());");if(w)for(let H of w)K.push(` if (detaching && ${H}) ${H}.remove();`);else K.push(` if (detaching && ${G}) ${G}.remove();`);K.push(" }"),K.push(" };"),K.push("}"),this._blockFactories.push(K.join(`
1321
- `))},u.emitTemplateLoop=function(Y){this._pendingAutoWire=!1;let[Z,G,Q,z,A,J]=Y,K=this.newBlockVar(),D=this.newElementVar("anchor");this._createLines.push(`${D} = document.createComment('for');`);let w=Array.isArray(G)?G:[G],X=w[0],H=w[1]||null;if(!H){let i=new Set(this._loopVarStack.flatMap((r)=>[r.itemVar,r.indexVar]));i.add(X);for(let r of["i","j","k","l","m","n"])if(!i.has(r)){H=r;break}H=H||`_i${this._loopVarStack.length}`}let q=this.emitInComponent(Q,"value"),B=X;if(this.is(J,"block")&&J.length>1){let i=J[1];if(Array.isArray(i))for(let r of i){if(this.is(r,"object"))for(let U1=1;U1<r.length;U1++){let[y,v]=r[U1];if(y==="key"){B=this.emit(v,"value");break}}if(B!==X)break}}let R=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let S=this._loopVarStack.map((i)=>`${i.itemVar}, ${i.indexVar}`).join(", "),O=S?`, ${S}`:"";this._loopVarStack.push({itemVar:X,indexVar:H});let P=this.emitTemplateBlock(J);this._loopVarStack.pop();let M=this._createLines,I=this._setupLines,L=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=R;let V=I.length===0,N=`ctx, ${X}, ${H}${O}`;this.emitBlockFactory(K,N,P,M,I,L,V);let E=B!==X?`(${X}, ${H}) => ${B}`:"null",l=S?`, ${S}`:"",T=[];T.push(`// Loop: ${K}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",b=this._factoryMode?"}));":"});";return T.push(` ${j}`),T.push(` __reconcile(${D}, __s, ${q}, ${this._self}, ${K}, ${E}${l});`),T.push(` ${b}`),T.push("}"),this._setupLines.push(T.join(`
1322
- `)),D},u.emitChildComponent=function(Y,Z){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Q=this.newElementVar("el"),{propsCode:z,reactiveProps:A,eventBindings:J,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:X}of J){let H=this.emitInComponent(X,"value");this._createLines.push(`${Q}.addEventListener('${w}', (e) => __batch(() => (${H})(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:X}of A)this._pushEffect(`if (${G}.${w} && typeof ${G}.${w} === 'object' && 'value' in ${G}.${w}) ${G}.${w}.value = ${X}; else if (${G}._setRestProp) ${G}._setRestProp('${w}', ${X});`);for(let w of K)this._setupLines.push(w);return Q},u.buildComponentProps=function(Y){let Z=[],G=[],Q=[],z=null,A=[],J=(w,X)=>{if(w.startsWith("@")){Q.push({event:w.slice(1).split(".")[0],value:X});return}if(this.reactiveMembers&&(typeof X==="string"&&this.reactiveMembers.has(X)||Array.isArray(X)&&X[0]==="."&&X[1]==="this"&&typeof X[2]==="string"&&this.reactiveMembers.has(X[2]))){let q=typeof X==="string"?X:X[2];Z.push(`${w}: ${this._self}.${q}`)}else{let q=this.emitInComponent(X,"value");if(Z.push(`${w}: ${q}`),this.hasReactiveDeps(X))G.push({key:w,valueCode:q})}},K=(w)=>{for(let X=1;X<w.length;X++){let[,H,q]=w[X];if(typeof H==="string")J(H,q);else if(Array.isArray(H)&&H[0]==="."&&H[1]==="this"&&typeof H[2]==="string")Q.push({event:H[2],value:q})}};for(let w of Y)if(this.is(w,"object"))K(w);else if(Array.isArray(w)&&(w[0]==="->"||w[0]==="=>")){let X=w[2];if(X){if(this.is(X,"block")){let H=[];for(let q of X.slice(1))if(this.is(q,"object"))K(q);else H.push(q);X=H.length>0?["block",...H]:null}if(X){let H=this._createLines,q=this._setupLines;this._createLines=[],this._setupLines=[],z=this.emitTemplateBlock(X);let B=this._createLines,R=this._setupLines;this._createLines=H,this._setupLines=q;for(let S of B)this._createLines.push(S);A.push(...R),Z.push(`children: ${z}`)}}}else if(w&&!z){let X=this.newTextVar(),H=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w)){this._createLines.push(`${X} = document.createTextNode('');`);let q=`${X}.data = ${H};`,B=this._factoryMode?`disposers.push(__effect(() => { ${q} }));`:`__effect(() => { ${q} });`;A.push(B)}else this._createLines.push(`${X} = document.createTextNode(${H});`);z=X,Z.push(`children: ${z}`)}return{propsCode:Z.length>0?`{ ${Z.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Q,childrenSetupLines:A}},u.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},u.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},u.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},u._rootsAtThis=function(Y){if(typeof Y==="string")return Y==="this";if(!Array.isArray(Y)||Y[0]!==".")return!1;return this._rootsAtThis(Y[1])},u.getComponentRuntime=function(){return`
905
+ })()`;return Z.join(`
906
+ `)},u.emitInComponent=function(w,D){if(typeof w==="string"&&this.reactiveMembers&&this.reactiveMembers.has(w))return`${this._self}.${w}.value`;if(typeof w==="string"&&this.componentMembers&&this.componentMembers.has(w))return`${this._self}.${w}`;if(Array.isArray(w)&&this.reactiveMembers){let n=this.transformComponentMembers(w);return this.emit(n,D)}return this.emit(w,D)},u.emitRender=function(w,D,n,A){this.error("render blocks can only be used inside a component",A)},u.emitOffer=function(w,D,n,A){this.error("offer can only be used inside a component",A)},u.emitAccept=function(w,D,n,A){this.error("accept can only be used inside a component",A)},u.buildRender=function(w){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 D=this.is(w,"block")?w.slice(1):[w],n;if(D.length===0||D.length===1&&D[0]==="null")n="null";else if(D.length===1)this._pendingAutoWire=!!this._autoEventHandlers,n=this.emitNode(D[0]),this._pendingAutoWire=!1;else{n=this.newElementVar("frag"),this._createLines.push(`${n} = document.createDocumentFragment();`);let A=[];for(let $ of D){let R=this.emitNode($);this._createLines.push(`${n}.appendChild(${R});`),A.push(R)}this._fragChildren.set(n,A)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:n}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(w="el"){let D=`_${w}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(D);return this._factoryMode?D:`this.${D}`},u.newTextVar=function(){let w=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(w);return this._factoryMode?w:`this.${w}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(w){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${w} }));`);else this._setupLines.push(`__effect(() => { ${w} });`)},u.emitNode=function(w){if(typeof w==="string"||w instanceof String){let M=w.valueOf();if(M.startsWith('"')||M.startsWith("'")||M.startsWith("`")){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode(${M});`),H}if(this.reactiveMembers&&this.reactiveMembers.has(M)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${this._self}.${M}.value;`),H}if(M==="slot"&&this.componentMembers){let H=this._self,O=this.newElementVar("slot");return this._createLines.push(`${O} = ${H}.children instanceof Node ? ${H}.children : (${H}.children != null ? document.createTextNode(String(${H}.children)) : document.createComment(''));`),O}let[z,W]=M.split("#"),F=this.newElementVar(),U=z||"div";if(Q1.has(U)||this._svgDepth>0)this._createLines.push(`${F} = document.createElementNS('${z2}', '${U}');`);else this._createLines.push(`${F} = document.createElement('${U}');`);if(W)this._createLines.push(`${F}.id = '${W}';`);return this._bindInheritedTarget(U,F),F}if(!Array.isArray(w)){let M=this.newElementVar("c");return this._createLines.push(`${M} = document.createComment('unknown');`),M}let[D,...n]=w,A=typeof D==="string"?D:D instanceof String?D.valueOf():null;if(A&&this.isComponent(A))return this.emitChildComponent(A,n);if(A==="slot"&&this.componentMembers){let M=this._self,z=this.newElementVar("slot");return this._createLines.push(`${z} = ${M}.children instanceof Node ? ${M}.children : (${M}.children != null ? document.createTextNode(String(${M}.children)) : document.createComment(''));`),z}if(A==="switch"){let M=n[0],z=n[1]||[],F=n[2]||null;for(let H=z.length-1;H>=0;H--){let[,O,Q]=z[H],q;if(M===null)q=O.length===1?O[0]:O.reduce((K,Y)=>K?["||",K,Y]:Y,null);else q=O.length===1?["==",M,O[0]]:O.map((K)=>["==",M,K]).reduce((K,Y)=>K?["||",K,Y]:Y,null);F=["if",q,Q,F]}if(F){if(Array.isArray(F)&&F[0]==="if")return this.emitConditional(F);return this.emitTemplateBlock(F)}let U=this.newElementVar("c");return this._createLines.push(`${U} = document.createComment('switch');`),U}if(A&&this.isHtmlTag(A)&&!c(D,"text")){let[M,z]=A.split("#");return this.emitTag(M||"div",[],n,z)}if(A==="."){let[,M,z]=w;if(M==="this"&&typeof z==="string"){let q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(z)){let Y=this.newTextVar();return this._createLines.push(`${Y} = document.createTextNode('');`),this._pushEffect(`${Y}.data = ${q}.${z}.value;`),Y}let K=this.newElementVar("slot");return this._createLines.push(`${K} = ${q}.${z} instanceof Node ? ${q}.${z} : (${q}.${z} != null ? document.createTextNode(String(${q}.${z})) : document.createComment(''));`),K}let{tag:W,classes:F,id:U,base:H}=this.collectTemplateClasses(w);if(!c(H,"text")&&W&&this.isHtmlTag(W))return this.emitTag(W,F,[],U);let O=this.newTextVar(),Q=this.emitInComponent(w,"value");return this._createLines.push(`${O} = document.createTextNode(String(${Q}));`),O}if(Array.isArray(D)){if(Array.isArray(D[0])&&D[0][0]==="."&&(D[0][2]==="__clsx"||D[0][2]instanceof String&&D[0][2].valueOf()==="__clsx")){let F=D[0][1],U=D.slice(1);if(Array.isArray(F)){let{tag:O,classes:Q,id:q}=this.collectTemplateClasses(F);if(O){let K=Q.map((Y)=>`"${Y}"`);return this.emitDynamicTag(O,U,n,K,q)}}let H=typeof F==="string"?F:F.valueOf();return this.emitDynamicTag(H,U,n)}let{tag:M,classes:z,id:W}=this.collectTemplateClasses(D);if(M&&this.isHtmlTag(M)){if(z.length>0&&z[z.length-1]==="__clsx"){let U=z.slice(0,-1).map((H)=>`"${H}"`);return this.emitDynamicTag(M,n,[],U,W)}return this.emitTag(M,z,n,W)}}if(A==="->"||A==="=>")return this.emitTemplateBlock(n[1]);if(A==="if")return this.emitConditional(w);if(A==="for"||A==="for-in"||A==="for-of"||A==="for-as")return this.emitTemplateLoop(w);if(A==="__text__"){let M=n[0]??"undefined",z=this.newTextVar(),W=this.emitInComponent(M,"value");if(this.hasReactiveDeps(M))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = String(${W});`);else this._createLines.push(`${z} = document.createTextNode(String(${W}));`);return z}let $=this.newTextVar(),R=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w))this._createLines.push(`${$} = document.createTextNode('');`),this._pushEffect(`${$}.data = ${R};`);else this._createLines.push(`${$} = document.createTextNode(String(${R}));`);return $},u.appendChildren=function(w,D){for(let n of D)if(this.is(n,"->")||this.is(n,"=>")){let A=n[2];if(this.is(A,"block"))for(let $ of A.slice(1))if(this.is($,"object"))this.emitAttributes(w,$);else{let R=this.emitNode($);this._createLines.push(`${w}.appendChild(${R});`)}else if(A){let $=this.emitNode(A);this._createLines.push(`${w}.appendChild(${$});`)}}else if(this.is(n,"object"))this.emitAttributes(w,n);else if(typeof n==="string"||n instanceof String){let A=n.valueOf(),$=A.split(/[#.]/)[0];if(this.isHtmlTag($||"div")||this.isComponent($)){let R=this.emitNode(n);this._createLines.push(`${w}.appendChild(${R});`)}else{let R=this.newTextVar();if(A.startsWith('"')||A.startsWith("'")||A.startsWith("`"))this._createLines.push(`${R} = document.createTextNode(${A});`);else if(this.reactiveMembers&&this.reactiveMembers.has(A))this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${this._self}.${A}.value;`);else if(this.componentMembers&&this.componentMembers.has(A))this._createLines.push(`${R} = document.createTextNode(String(${this._self}.${A}));`);else this._createLines.push(`${R} = document.createTextNode(${this.emitInComponent(n,"value")});`);this._createLines.push(`${w}.appendChild(${R});`)}}else if(n){let A=this.emitNode(n);this._createLines.push(`${w}.appendChild(${A});`)}},u._claimAutoWire=function(w){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=w,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(w,D){if(!D)return;for(let[n,A]of this._autoEventHandlers)if(!this._autoWireExplicit.has(n))this._createLines.push(`${w}.addEventListener('${n}', (e) => __batch(() => ${this._self}.${A}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(w,D){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(w!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${D};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(w,D,n,A){let $=this.newElementVar(),R=Q1.has(w)||this._svgDepth>0;if(R)this._createLines.push(`${$} = document.createElementNS('${z2}', '${w}');`);else this._createLines.push(`${$} = document.createElement('${w}');`);if(A)this._createLines.push(`${$}.id = '${A}';`);if(this._bindInheritedTarget(w,$),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${$}.setAttribute('data-part', '${this._componentName}');`);let M=this._claimAutoWire($),z=this._pendingClassArgs,W=this._pendingClassEl;if(D.length>0)this._pendingClassArgs=[`'${D.join(" ")}'`],this._pendingClassEl=$;if(w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren($,n),w==="svg")this._svgDepth--;if(D.length>0){if(this._pendingClassArgs.length===1)if(R)this._createLines.push(`${$}.setAttribute('class', '${D.join(" ")}');`);else this._createLines.push(`${$}.className = '${D.join(" ")}';`);else{let F=this._pendingClassArgs.join(", ");if(R)this._pushEffect(`${$}.setAttribute('class', __clsx(${F}));`);else this._pushEffect(`${$}.className = __clsx(${F});`)}this._pendingClassArgs=z,this._pendingClassEl=W}return this._emitAutoWire($,M),$},u.emitDynamicTag=function(w,D,n,A,$){let R=this.newElementVar();if(Q1.has(w)||this._svgDepth>0)this._createLines.push(`${R} = document.createElementNS('${z2}', '${w}');`);else this._createLines.push(`${R} = document.createElement('${w}');`);if($)this._createLines.push(`${R}.id = '${$}';`);this._bindInheritedTarget(w,R);let M=this._claimAutoWire(R),z=[...A||[],...D.map((U)=>this.emitInComponent(U,"value"))],W=this._pendingClassArgs,F=this._pendingClassEl;if(this._pendingClassArgs=z,this._pendingClassEl=R,w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(R,n),w==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let U=this._pendingClassArgs.join(", ");if(Q1.has(w)||this._svgDepth>0)this._pushEffect(`${R}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${R}.className = __clsx(${U});`)}return this._pendingClassArgs=W,this._pendingClassEl=F,this._emitAutoWire(R,M),R},u.emitAttributes=function(w,D){let n=E5(D.slice(1));for(let A=1;A<D.length;A++){let[,$,R]=D[A];if(this.is($,".")&&$[1]==="this"){let M=$[2];if(this._autoWireExplicit&&this._autoWireEl===w)this._autoWireExplicit.add(M);if(typeof R==="string"&&this.componentMembers?.has(R))this._createLines.push(`${w}.addEventListener('${M}', (e) => __batch(() => ${this._self}.${R}(e)));`);else{let z=this.emitInComponent(R,"value");this._createLines.push(`${w}.addEventListener('${M}', (e) => __batch(() => (${z})(e)));`)}continue}if(typeof $==="string"||$ instanceof String){if($.startsWith('"')&&$.endsWith('"'))$=$.slice(1,-1);if($==="class"||$==="className"){let z=this.emitInComponent(R,"value");if(this._pendingClassArgs&&this._pendingClassEl===w)this._pendingClassArgs.push(z);else if(this.hasReactiveDeps(R))if(this._svgDepth>0)this._pushEffect(`${w}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${w}.className = __clsx(${z});`);else if(this._svgDepth>0)this._createLines.push(`${w}.setAttribute('class', ${z});`);else this._createLines.push(`${w}.className = ${z};`);continue}if($==="__transition__"){let z=String(R).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${z}";`);continue}if($==="ref"){let z=String(R).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${z} = ${w};`);continue}if($.startsWith(h3)&&$.endsWith(w3)){let z=$.slice(h3.length,-w3.length),W=this.emitInComponent(R,"value"),F,U;if(z==="checked")F="change",U="e.target.checked";else F="input",U=n==="number"||n==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${w}.${z} = ${W};`);let H=`${W} = ${U}`,O=!this.isSimpleAssignable(R)&&this.findRootReactiveMember(R);if(O)H+=`; ${this._self}.${O}.touch?.()`;this._createLines.push(`${w}.addEventListener('${F}', (e) => { ${H}; });`);continue}let M=this.emitInComponent(R,"value");if(($==="value"||$==="checked")&&this.hasReactiveDeps(R)){this._pushEffect(`${w}.${$} = ${M};`);continue}if($==="innerHTML"||$==="textContent"||$==="innerText")if(this.hasReactiveDeps(R))this._pushEffect(`${w}.${$} = ${M};`);else this._createLines.push(`${w}.${$} = ${M};`);else if(I5.has($))if(this.hasReactiveDeps(R))this._pushEffect(`${w}.toggleAttribute('${$}', !!${M});`);else this._createLines.push(`if (${M}) ${w}.setAttribute('${$}', '');`);else if(this.hasReactiveDeps(R))if(Array.isArray(R)&&R[0]==="presence")this._pushEffect(`{ const __v = ${M}; __v == null ? ${w}.removeAttribute('${$}') : ${w}.setAttribute('${$}', __v); }`);else this._pushEffect(`${w}.setAttribute('${$}', ${M});`);else if(Array.isArray(R)&&R[0]==="presence")this._createLines.push(`{ const __v = ${M}; if (__v != null) ${w}.setAttribute('${$}', __v); }`);else this._createLines.push(`${w}.setAttribute('${$}', ${M});`)}}},u.emitTemplateBlock=function(w){if(!Array.isArray(w)||w[0]!=="block")return this.emitNode(w);let D=w.slice(1);if(D.length===0){let $=this.newElementVar("empty");return this._createLines.push(`${$} = document.createComment('');`),$}if(D.length===1)return this.emitNode(D[0]);let n=this.newElementVar("frag");this._createLines.push(`${n} = document.createDocumentFragment();`);let A=[];for(let $ of D){let R=this.emitNode($);this._createLines.push(`${n}.appendChild(${R});`),A.push(R)}return this._fragChildren.set(n,A),n},u.emitConditional=function(w){if(this._pendingAutoWire=!1,w.length>4){let Q=w[w.length-1];for(let q=w.length-2;q>=3;q--)Q=[...w[q],Q];w=[w[0],w[1],w[2],Q]}let[,D,n,A]=w,$=this.newElementVar("anchor");this._createLines.push(`${$} = document.createComment('if');`);let R=this.emitInComponent(D,"value"),M=this._loopVarStack.map((Q)=>`${Q.itemVar}, ${Q.indexVar}`).join(", "),z=M?`, ${M}`:"",W=this.newBlockVar();this.emitConditionBranch(W,n);let F=null;if(A)F=this.newBlockVar(),this.emitConditionBranch(F,A);let U=[];U.push(`// Conditional: ${W}${F?" / "+F:""}`),U.push("{"),U.push(` const anchor = ${$};`),U.push(" let currentBlock = null;"),U.push(" let showing = null;");let H=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",O=this._factoryMode?"}));":"});";if(U.push(` ${H}`),U.push(` const show = !!(${R});`),U.push(` const want = show ? 'then' : ${A?"'else'":"null"};`),U.push(" if (want === showing) return;"),U.push(""),U.push(" if (currentBlock) {"),U.push(" const leaving = currentBlock;"),U.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),U.push(" else { leaving.d(true); }"),U.push(" currentBlock = null;"),U.push(" }"),U.push(" showing = want;"),U.push(""),U.push(" if (want === 'then') {"),U.push(` currentBlock = ${W}(${this._self}${z});`),U.push(" currentBlock.c();"),U.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),U.push(` currentBlock.p(${this._self}${z});`),U.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),U.push(" }"),A)U.push(" if (want === 'else') {"),U.push(` currentBlock = ${F}(${this._self}${z});`),U.push(" currentBlock.c();"),U.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),U.push(` currentBlock.p(${this._self}${z});`),U.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),U.push(" }");if(U.push(` ${O}`),this._factoryMode)U.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return U.push("}"),this._setupLines.push(U.join(`
907
+ `)),$},u.emitConditionBranch=function(w,D){let n=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let A=this.emitTemplateBlock(D),$=this._createLines,R=this._setupLines,M=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=n;let z=this._loopVarStack.map((F)=>`${F.itemVar}, ${F.indexVar}`).join(", "),W=z?`, ${z}`:"";this.emitBlockFactory(w,`ctx${W}`,A,$,R,M)},u.emitBlockFactory=function(w,D,n,A,$,R,M){let z=[];if(z.push(`function ${w}(${D}) {`),R.size>0)z.push(` let ${[...R].join(", ")};`);let W=$.length>0;if(W)z.push(" let disposers = [];");if(z.push(" return {"),M)z.push(" _s: true,");let F=this._fragChildren.get(n),U=F?F[0]:n;z.push(" c() {");for(let H of A)z.push(` ${H}`);if(z.push(` this._first = ${U};`),z.push(" },"),z.push(" m(target, anchor) {"),F)for(let H of F)z.push(` if (target) target.insertBefore(${H}, anchor);`);else z.push(` if (target) target.insertBefore(${n}, anchor);`);if(z.push(" },"),z.push(` p(${D}) {`),W){z.push(" disposers.forEach(d => d());"),z.push(" disposers = [];");for(let H of $)z.push(` ${H}`)}if(z.push(" },"),z.push(" d(detaching) {"),W)z.push(" disposers.forEach(d => d());");if(F)for(let H of F)z.push(` if (detaching && ${H}) ${H}.remove();`);else z.push(` if (detaching && ${n}) ${n}.remove();`);z.push(" }"),z.push(" };"),z.push("}"),this._blockFactories.push(z.join(`
908
+ `))},u.emitTemplateLoop=function(w){this._pendingAutoWire=!1;let[D,n,A,$,R,M]=w,z=this.newBlockVar(),W=this.newElementVar("anchor");this._createLines.push(`${W} = document.createComment('for');`);let F=Array.isArray(n)?n:[n],U=F[0],H=F[1]||null;if(!H){let g=new Set(this._loopVarStack.flatMap((o)=>[o.itemVar,o.indexVar]));g.add(U);for(let o of["i","j","k","l","m","n"])if(!g.has(o)){H=o;break}H=H||`_i${this._loopVarStack.length}`}let O=this.emitInComponent(A,"value"),Q=U;if(this.is(M,"block")&&M.length>1){let g=M[1];if(Array.isArray(g))for(let o of g){if(this.is(o,"object"))for(let c1=1;c1<o.length;c1++){let[P,B]=o[c1];if(P==="key"){Q=this.emit(B,"value");break}}if(Q!==U)break}}let q=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let K=this._loopVarStack.map((g)=>`${g.itemVar}, ${g.indexVar}`).join(", "),Y=K?`, ${K}`:"";this._loopVarStack.push({itemVar:U,indexVar:H});let J=this.emitTemplateBlock(M);this._loopVarStack.pop();let G=this._createLines,S=this._setupLines,N=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=q;let v=S.length===0,L=`ctx, ${U}, ${H}${Y}`;this.emitBlockFactory(z,L,J,G,S,N,v);let Z=Q!==U?`(${U}, ${H}) => ${Q}`:"null",_1=K?`, ${K}`:"",X=[];X.push(`// Loop: ${z}`),X.push("{"),X.push(" const __s = { blocks: [], keys: [] };");let E=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",y=this._factoryMode?"}));":"});";return X.push(` ${E}`),X.push(` __reconcile(${W}, __s, ${O}, ${this._self}, ${z}, ${Z}${_1});`),X.push(` ${y}`),X.push("}"),this._setupLines.push(X.join(`
909
+ `)),W},u.emitChildComponent=function(w,D){this._pendingAutoWire=!1;let n=this.newElementVar("inst"),A=this.newElementVar("el"),{propsCode:$,reactiveProps:R,eventBindings:M,childrenSetupLines:z}=this.buildComponentProps(D),W=this._self;this._createLines.push(`{ const __prev = __pushComponent(${W}); try {`),this._createLines.push(`${n} = new ${w}(${$});`),this._createLines.push(`${A} = ${n}._root = ${n}._create();`),this._createLines.push(`(${W}._children || (${W}._children = [])).push(${n});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:F,value:U}of M){let H=this.emitInComponent(U,"value");this._createLines.push(`${A}.addEventListener('${F}', (e) => __batch(() => (${H})(e)));`)}this._setupLines.push(`try { if (${n}._setup) ${n}._setup(); if (${n}.mounted) ${n}.mounted(); } catch (__e) { __handleComponentError(__e, ${n}); }`);for(let{key:F,valueCode:U}of R)this._pushEffect(`if (${n}.${F} && typeof ${n}.${F} === 'object' && 'value' in ${n}.${F}) ${n}.${F}.value = ${U}; else if (${n}._setRestProp) ${n}._setRestProp('${F}', ${U});`);for(let F of z)this._setupLines.push(F);return A},u.buildComponentProps=function(w){let D=[],n=[],A=[],$=null,R=[],M=(F,U)=>{if(F.startsWith("@")){A.push({event:F.slice(1).split(".")[0],value:U});return}if(this.reactiveMembers&&(typeof U==="string"&&this.reactiveMembers.has(U)||Array.isArray(U)&&U[0]==="."&&U[1]==="this"&&typeof U[2]==="string"&&this.reactiveMembers.has(U[2]))){let O=typeof U==="string"?U:U[2];D.push(`${F}: ${this._self}.${O}`)}else{let O=this.emitInComponent(U,"value");if(D.push(`${F}: ${O}`),this.hasReactiveDeps(U))n.push({key:F,valueCode:O})}},z=(F)=>{for(let U=1;U<F.length;U++){let[,H,O]=F[U];if(typeof H==="string")M(H,O);else if(Array.isArray(H)&&H[0]==="."&&H[1]==="this"&&typeof H[2]==="string")A.push({event:H[2],value:O})}};for(let F of w)if(this.is(F,"object"))z(F);else if(Array.isArray(F)&&(F[0]==="->"||F[0]==="=>")){let U=F[2];if(U){if(this.is(U,"block")){let H=[];for(let O of U.slice(1))if(this.is(O,"object"))z(O);else H.push(O);U=H.length>0?["block",...H]:null}if(U){let H=this._createLines,O=this._setupLines;this._createLines=[],this._setupLines=[],$=this.emitTemplateBlock(U);let Q=this._createLines,q=this._setupLines;this._createLines=H,this._setupLines=O;for(let K of Q)this._createLines.push(K);R.push(...q),D.push(`children: ${$}`)}}}else if(F&&!$){let U=this.newTextVar(),H=this.emitInComponent(F,"value");if(this.hasReactiveDeps(F)){this._createLines.push(`${U} = document.createTextNode('');`);let O=`${U}.data = ${H};`,Q=this._factoryMode?`disposers.push(__effect(() => { ${O} }));`:`__effect(() => { ${O} });`;R.push(Q)}else this._createLines.push(`${U} = document.createTextNode(${H});`);$=U,D.push(`children: ${$}`)}return{propsCode:D.length>0?`{ ${D.join(", ")} }`:"{}",reactiveProps:n,eventBindings:A,childrenSetupLines:R}},u.hasReactiveDeps=function(w){if(typeof w==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w));if(!Array.isArray(w))return!1;if(w[0]==="."&&w[1]==="this"&&typeof w[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w[2]));if(w[0]==="."&&this._rootsAtThis(w[1]))return!0;if(Array.isArray(w[0])&&w[0][0]==="."&&w[0][1]==="this"){let D=_(w[0][2]);if(D&&this.componentMembers?.has(D))return!0}for(let D of w)if(this.hasReactiveDeps(D))return!0;return!1},u.isSimpleAssignable=function(w){if(typeof w==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w));if(Array.isArray(w)&&w[0]==="."&&w[1]==="this"&&typeof w[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(w[2]));return!1},u.findRootReactiveMember=function(w){if(typeof w==="string")return this.reactiveMembers?.has(w)?w:null;if(!Array.isArray(w))return null;if(w[0]==="."&&w[1]==="this"&&typeof w[2]==="string")return this.reactiveMembers?.has(w[2])?w[2]:null;if(w[0]==="."||w[0]==="[]")return this.findRootReactiveMember(w[1]);return null},u._rootsAtThis=function(w){if(typeof w==="string")return w==="this";if(!Array.isArray(w)||w[0]!==".")return!1;return this._rootsAtThis(w[1])},u.getComponentRuntime=function(){return`
1323
910
  // ============================================================================
1324
911
  // Rip Component Runtime
1325
912
  // ============================================================================
@@ -1600,32 +1187,32 @@ if (typeof globalThis !== 'undefined') {
1600
1187
  globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
1601
1188
  }
1602
1189
 
1603
- `}}function C1(f){let U="",_=f<0?-f<<1|1:f<<1;do{let W=_&31;if(_>>>=5,_>0)W|=32;U+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[W]}while(_>0);return U}class O2{constructor(f,U,_=null){this.file=f,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(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let U=this.names.length;return this.names.push(f),this.nameIndex.set(f,U),U}addMapping(f,U,_,W,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(_==null){this.lines[f].push(C1(U-this.prevGenCol)),this.prevGenCol=U;return}this.mappings.push({genLine:f,genCol:U,origLine:_,origCol:W});let $=C1(U-this.prevGenCol);if(this.prevGenCol=U,$+=C1(0),$+=C1(_-this.prevOrigLine),this.prevOrigLine=_,$+=C1(W-this.prevOrigCol),this.prevOrigCol=W,u!=null){let F=this.addName(u);$+=C1(F-this.prevNameIdx),this.prevNameIdx=F}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let U of this.mappings){if(!f.has(U.origLine))f.set(U.origLine,[]);f.get(U.origLine).push({origCol:U.origCol,genLine:U.genLine,genCol:U.genCol})}return f}toJSON(){let f=this.lines.map((_)=>_.join(",")).join(";"),U={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)U.sourcesContent=[this.sourceContent];return JSON.stringify(U)}}class Z1 extends Error{constructor(f,{code:U=null,file:_=null,line:W=null,column:u=null,length:$=1,source:F=null,suggestion:Y=null,phase:Z=null}={}){super(f);this.name="RipError",this.code=U,this.file=_,this.line=W,this.column=u,this.length=$,this.source=F,this.suggestion=Y,this.phase=Z}static fromLexer(f,U,_){let W=f.location||{};return new Z1(f.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(f,U,_){let W=f.hash||{},u=W.loc||{},$=W.line??u.r??null,F=u.first_column??u.c??null,Y=null;if(W.expected?.length){if(Y=`Expected ${W.expected.slice(0,5).map((A)=>A.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(f,U,_,W,u){let $=U?.loc||{};return new Z1(f,{code:"E_CODEGEN",file:W,line:$.r??null,column:$.c??null,length:$.n??1,source:_,suggestion:u,phase:"codegen"})}get locationString(){let f=[];if(this.file)f.push(this.file);if(this.line!=null)f.push(`${this.line+1}:${(this.column??0)+1}`);return f.join(":")}format({color:f=!0}={}){let U=f?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},_=[],W=this.locationString,u=W?`${U.cyan}${W}${U.reset} `:"";_.push(`${u}${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(`
1604
- `)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let U=this.locationString,_=U?`<span class="re-loc">${B1(U)}</span> `:"";f.push(`<div class="re-header">${_}error: ${B1(this.message)}</div>`);let W=this._snippet();if(W){f.push('<pre class="re-snippet">');for(let u of W)if(u.type==="source")f.push(`<span class="re-gutter">${B1(u.gutter)}</span>${B1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${B1(u.gutter)}</span><span class="re-caret">${B1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${B1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
1190
+ `}}function N1(f){let l="",c=f<0?-f<<1|1:f<<1;do{let h=c&31;if(c>>>=5,c>0)h|=32;l+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[h]}while(c>0);return l}class H2{constructor(f,l,c=null){this.file=f,this.source=l,this.sourceContent=c,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let l=this.names.length;return this.names.push(f),this.nameIndex.set(f,l),l}addMapping(f,l,c,h,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(c==null){this.lines[f].push(N1(l-this.prevGenCol)),this.prevGenCol=l;return}this.mappings.push({genLine:f,genCol:l,origLine:c,origCol:h});let _=N1(l-this.prevGenCol);if(this.prevGenCol=l,_+=N1(0),_+=N1(c-this.prevOrigLine),this.prevOrigLine=c,_+=N1(h-this.prevOrigCol),this.prevOrigCol=h,u!=null){let i=this.addName(u);_+=N1(i-this.prevNameIdx),this.prevNameIdx=i}this.lines[f].push(_)}toReverseMap(){let f=new Map;for(let l of this.mappings){if(!f.has(l.origLine))f.set(l.origLine,[]);f.get(l.origLine).push({origCol:l.origCol,genLine:l.genLine,genCol:l.genCol})}return f}toJSON(){let f=this.lines.map((c)=>c.join(",")).join(";"),l={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)l.sourcesContent=[this.sourceContent];return JSON.stringify(l)}}class i1 extends Error{constructor(f,{code:l=null,file:c=null,line:h=null,column:u=null,length:_=1,source:i=null,suggestion:w=null,phase:D=null}={}){super(f);this.name="RipError",this.code=l,this.file=c,this.line=h,this.column=u,this.length=_,this.source=i,this.suggestion=w,this.phase=D}static fromLexer(f,l,c){let h=f.location||{};return new i1(f.message,{code:"E_SYNTAX",file:c,line:h.first_line??null,column:h.first_column??null,length:h.last_column!=null&&h.first_column!=null?h.last_column-h.first_column+1:1,source:l,phase:"lexer"})}static fromParser(f,l,c){let h=f.hash||{},u=h.loc||{},_=h.line??u.r??null,i=u.first_column??u.c??null,w=null;if(h.expected?.length){if(w=`Expected ${h.expected.slice(0,5).map((R)=>R.replace(/'/g,"")).join(", ")}`,h.expected.length>5)w+=`, ... (${h.expected.length} total)`}let D=h.token||"token",n=h.text?` near '${h.text}'`:"",A=`Unexpected ${D}${n}`;return new i1(A,{code:"E_PARSE",file:c,line:_,column:i,length:h.text?.length||1,source:l,suggestion:w,phase:"parser"})}static fromSExpr(f,l,c,h,u){let _=l?.loc||{};return new i1(f,{code:"E_CODEGEN",file:h,line:_.r??null,column:_.c??null,length:_.n??1,source:c,suggestion:u,phase:"codegen"})}get locationString(){let f=[];if(this.file)f.push(this.file);if(this.line!=null)f.push(`${this.line+1}:${(this.column??0)+1}`);return f.join(":")}format({color:f=!0}={}){let l=f?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},c=[],h=this.locationString,u=h?`${l.cyan}${h}${l.reset} `:"";c.push(`${u}${l.red}${l.bold}error${l.reset}${l.bold}: ${this.message}${l.reset}`);let _=this._snippet();if(_){c.push("");for(let i of _)if(i.type==="source")c.push(`${l.dim}${i.gutter}${l.reset}${i.text}`);else if(i.type==="caret")c.push(`${l.dim}${i.gutter}${l.reset}${l.red}${l.bold}${i.text}${l.reset}`)}if(this.suggestion)c.push(""),c.push(`${l.yellow}hint${l.reset}: ${this.suggestion}`);return c.join(`
1191
+ `)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let l=this.locationString,c=l?`<span class="re-loc">${q1(l)}</span> `:"";f.push(`<div class="re-header">${c}error: ${q1(this.message)}</div>`);let h=this._snippet();if(h){f.push('<pre class="re-snippet">');for(let u of h)if(u.type==="source")f.push(`<span class="re-gutter">${q1(u.gutter)}</span>${q1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${q1(u.gutter)}</span><span class="re-caret">${q1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${q1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
1605
1192
  `)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
1606
- `),U=this.line;if(U<0||U>=f.length)return null;let _=2,W=Math.max(0,U-_),u=Math.min(f.length-1,U+_),$=String(u+1).length,F=[];for(let Y=W;Y<=u;Y++){let G=` ${String(Y+1).padStart($)} │ `;if(F.push({type:"source",gutter:G,text:f[Y]}),Y===U&&this.column!=null){let Q=" ".repeat(this.column),z=Math.max(1,Math.min(this.length||1,f[Y].length-this.column)),A="^".repeat(z),J=" ".repeat($+2)+"│ ";F.push({type:"caret",gutter:J,text:`${Q}${A}`})}}return F}}function k5(f){return f instanceof SyntaxError&&f.location!=null}function i5(f){return!(f instanceof SyntaxError)&&f.hash!=null}function T1(f,U,_){if(f instanceof Z1){if(_&&!f.file)f.file=_;if(U&&!f.source)f.source=U;return f}if(k5(f))return Z1.fromLexer(f,U,_);if(i5(f))return Z1.fromParser(f,U,_);return new Z1(f.message,{file:_,source:U,phase:"unknown"})}function I1(f,{source:U,file:_,color:W=!0}={}){return(f instanceof Z1?f:T1(f,U,_)).format({color:W})}function R2(f,{source:U,file:_}={}){return(f instanceof Z1?f:T1(f,U,_)).formatHTML()}function B1(f){return f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var W1=(f,U)=>f instanceof String?f[U]:void 0,k=(f)=>f instanceof String?f.valueOf():f,d5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),p5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),n5=new Set(["true","false","null","undefined","Infinity","NaN"]);function u2(f){if(!Array.isArray(f)||f.length===0)return!1;let U=f[0]?.valueOf?.()??f[0];if(d5.has(U))return!0;return f.length<=4&&!f.some(Array.isArray)}function x1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let U=String(f);if(U[0]==="/"&&U.indexOf(`
1607
- `)>=0){let _=U.match(/\/([gimsuvy]*)$/),W=_?_[1]:"",u=U.slice(1);return u=W?u.slice(0,-W.length-1):u.slice(0,-1),`"/${u.split(`
1608
- `).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${W}"`}return U}function X1(f,U=0,_=!1){if(!Array.isArray(f))return x1(f);if(_&&f[0]==="program"){let G=f[1],z=[Array.isArray(G)?"(program":"(program "+x1(G)],A=Array.isArray(G)?1:2;for(let J=A;J<f.length;J++){let K=X1(f[J],2,!1);z.push(K[0]==="("?" "+K:K)}return z.push(")"),z.join(`
1609
- `)}let W=f[0];if(u2(f)&&f.slice(1).every((G)=>!Array.isArray(G)||u2(G))){let Q=`(${f.map((z)=>Array.isArray(z)?X1(z,0,!1):x1(z)).join(" ")})`;if(!Q.includes(`
1610
- `))return" ".repeat(U)+Q}let $=" ".repeat(U),F;if(Array.isArray(W)){if(F=X1(W,0,!1),F.includes(`
1611
- `))F=F.split(`
1612
- `).map((Q,z)=>z===0?Q:" ".repeat(U+2)+Q).join(`
1613
- `)}else F=x1(W);let Y=[`${$}(${F}`],Z=W==="block";for(let G=1;G<f.length;G++){let Q=f[G];if(!Array.isArray(Q))Y[Y.length-1]+=" "+x1(Q);else{let z=u2(Q)&&Q.every((A)=>!Array.isArray(A)||u2(A));if(!Z&&z){let A=X1(Q,0,!1);if(!A.includes(`
1614
- `)){Y[Y.length-1]+=" "+A;continue}}Y.push(X1(Q,U+2,!1))}}return Y[Y.length-1]+=")",Y.join(`
1615
- `)}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",".{}":"emitPick","?.{}":"emitOptPick",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(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}error(f,U,{suggestion:_}={}){throw Z1.fromSExpr(f,U,this.options.source,this.options.filename,_)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let U=this.emit(f);if(this.sourceMap)this.buildMappings();return U}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let U of this._stmtEntries){if(U.loc)this.sourceMap.addMapping(f,0,U.loc.r,U.loc.c);if(U.sexpr&&U.loc)this.recordSubMappings(U.code,U.sexpr,f);f+=U.code.split(`
1616
- `).length}}static _isColInsideString(f,U){let _=!1,W="";for(let u=0;u<f.length&&u<U;u++){let $=f[u];if(_){if($==="\\"){u++;continue}if($===W)_=!1}else if($==='"'||$==="'"||$==="`")_=!0,W=$}return _}recordSubMappings(f,U,_){let W=U.loc?U.loc.r:0,u=[];this.collectSubExprs(U,u);let $=f.split(`
1617
- `);for(let{name:F,origLine:Y,origCol:Z}of u){let G=F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Q=new RegExp("\\b"+G+"\\b","g"),z,A=null,J=1/0,K=Y-W;while((z=Q.exec(f))!==null){let w=f.substring(0,z.index).split(`
1618
- `),X=w.length-1,H=w[w.length-1].length,q=$[X];if(q&&Y1._isColInsideString(q,H))continue;let B=_+X,R=Math.abs(X-K)*1e4+Math.abs(H-Z);if(R<J)J=R,A={genLine:B,genCol:H}}if(A)this.sourceMap.addMapping(A.genLine,A.genCol,Y,Z)}}collectSubExprs(f,U){if(!Array.isArray(f))return;let _=f[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U);return}if(f.loc){_=k(_);let u=null;if(_==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))u=_;if(u)U.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let W=_==="->"||_==="=>"?2:1;for(let u=W;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U)}collectProgramVariables(f){if(!Array.isArray(f))return;let[U,..._]=f;if(U=k(U),Array.isArray(U)){f.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]=_,u=k(W)??W;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(U==="readonly"){let[W]=_,u=k(W)??W;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(U==="component")return;if(U==="enum")return;if(Y1.ASSIGNMENT_OPS.has(U)){let[W,u]=_;if(typeof W==="string"||W instanceof String){let $=k(W);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(W,"array"))this.collectVarsFromArray(W,this.programVars);else if(this.is(W,"object"))this.collectVarsFromObject(W,this.programVars);this.collectProgramVariables(u);return}if(U==="for-in"||U==="for-of"||U==="for-as"){this.collectVarsFromLoopHead(_[0],this.programVars),_.slice(1).forEach((W)=>this.collectProgramVariables(W));return}if(U==="def"||U==="->"||U==="=>"||U==="effect")return;if(U==="if"){let[W,u,$]=_;if(this.collectProgramVariables(W),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(U==="try"){if(this.collectProgramVariables(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,u]=_[1];if(W&&this.is(W,"object"))W.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(_.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(f){let U=new Set,_=(W)=>{if(!Array.isArray(W))return;let[u,...$]=W;if(u=k(u),Array.isArray(u)){W.forEach((F)=>_(F));return}if(Y1.ASSIGNMENT_OPS.has(u)){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(u==="for-in"||u==="for-of"||u==="for-as"){this.collectVarsFromLoopHead($[0],U),$.slice(1).forEach(_);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(_($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[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 _(f),U}emit(f,U="statement"){if(f instanceof String){if(W1(f,"await")===!0)return`await ${k(f)}()`;if(W1(f,"predicate"))return`(${k(f)} != null)`;if(W1(f,"delimiter")==="///"&&W1(f,"heregex")){let Y=k(f),Z=Y.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Z){let[,G,Q]=Z;return`/${this.processHeregex(G)}/${Q}`}return Y}let F=W1(f,"quote");if(F){let Y=k(f);if(F==='"""'||F==="'''"){let G=this.extractStringContent(f);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(Y[0]===F)return Y;let Z=Y.slice(1,-1);return`${F}${Z}${F}`}f=k(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let F=f.slice(1,-1);if(F.includes(`
1619
- `))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(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))this.error(`Invalid s-expression: ${JSON.stringify(f)}`,f);let[_,...W]=f,u=W1(_,"await");_=k(_);let $=Y1.GENERATORS[_];if($)return this[$](_,W,U,f);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=u===!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`(${f.map((Y)=>this.emit(Y,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||k(_[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),A=this.emit(Q,"value");Z=`${Y1.NUMBER_LITERAL_RE.test(A)||(this.is(Q,"object")||this.is(Q,"await")||this.is(Q,"yield"))?`(${A})`:A}.${k(z)}`}else Z=this.emit(_,"value");let G=`${Z}(${this._emitArgs(W)})`;return Y?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,f)}emitProgram(f,U,_,W){let u="",$=[],F=[];for(let J of U){if(!Array.isArray(J)){F.push(J);continue}if(J[0]==="import")$.push(J);else F.push(J)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],Z=F.map((J,K)=>{let D=F.length===1&&$.length===0,w=this.is(J,"object"),X=w&&J.length===2&&Array.isArray(J[1])&&Array.isArray(J[1][2])&&J[1][2][0]==="comprehension",H=this.is(J,"comprehension")||this.is(J,"object-comprehension")||this.is(J,"do-iife"),q=this.programVars.size===0,B=D&&w&&q&&!H&&!X,S=K===F.length-1&&H,O;if(B)O=`(${this.emit(J,"value")})`;else if(S)O=this.emit(J,"value");else O=this.emit(J,"statement");if(O&&!O.endsWith(";")){let M=Array.isArray(J)?J[0]:null;if(!Y.includes(M)||!O.endsWith("}"))O+=";"}let P=Array.isArray(J)?J.loc:null;return{code:O,loc:P,sexpr:Array.isArray(J)?J:null}}),G=Z.map((J)=>J.code).join(`
1620
- `),Q=!1;if($.length>0)u+=$.map((J)=>this.addSemicolon(J,this.emit(J,"statement"))).join(`
1621
- `),Q=!0;if(this.programVars.size>0){let J=this.programVars.has("_");if(J)this.programVars.delete("_");if(this.programVars.size>0){let K=Array.from(this.programVars).sort().join(", ");if(K){if(Q)u+=`
1622
- `;u+=`let ${K};
1623
- `,Q=!0}}if(J){if(Q)u+=`
1193
+ `),l=this.line;if(l<0||l>=f.length)return null;let c=2,h=Math.max(0,l-c),u=Math.min(f.length-1,l+c),_=String(u+1).length,i=[];for(let w=h;w<=u;w++){let n=` ${String(w+1).padStart(_)} │ `;if(i.push({type:"source",gutter:n,text:f[w]}),w===l&&this.column!=null){let A=" ".repeat(this.column),$=Math.max(1,Math.min(this.length||1,f[w].length-this.column)),R="^".repeat($),M=" ".repeat(_+2)+"│ ";i.push({type:"caret",gutter:M,text:`${A}${R}`})}}return i}}function y5(f){return f instanceof SyntaxError&&f.location!=null}function B5(f){return!(f instanceof SyntaxError)&&f.hash!=null}function I1(f,l,c){if(f instanceof i1){if(c&&!f.file)f.file=c;if(l&&!f.source)f.source=l;return f}if(y5(f))return i1.fromLexer(f,l,c);if(B5(f))return i1.fromParser(f,l,c);return new i1(f.message,{file:c,source:l,phase:"unknown"})}function G1(f,{source:l,file:c,color:h=!0}={}){return(f instanceof i1?f:I1(f,l,c)).format({color:h})}function Q2(f,{source:l,file:c}={}){return(f instanceof i1?f:I1(f,l,c)).formatHTML()}function q1(f){return f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var e1=null;var l1=(f,l)=>f instanceof String?f[l]:void 0,m=(f)=>f instanceof String?f.valueOf():f,b5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),L5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),T5=new Set(["true","false","null","undefined","Infinity","NaN"]);function u2(f){if(!Array.isArray(f)||f.length===0)return!1;let l=f[0]?.valueOf?.()??f[0];if(b5.has(l))return!0;return f.length<=4&&!f.some(Array.isArray)}function V1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let l=String(f);if(l[0]==="/"&&l.indexOf(`
1194
+ `)>=0){let c=l.match(/\/([gimsuvy]*)$/),h=c?c[1]:"",u=l.slice(1);return u=h?u.slice(0,-h.length-1):u.slice(0,-1),`"/${u.split(`
1195
+ `).map((w)=>w.replace(/#.*$/,"").trim()).join("")}/${h}"`}return l}function R1(f,l=0,c=!1){if(!Array.isArray(f))return V1(f);if(c&&f[0]==="program"){let n=f[1],$=[Array.isArray(n)?"(program":"(program "+V1(n)],R=Array.isArray(n)?1:2;for(let M=R;M<f.length;M++){let z=R1(f[M],2,!1);$.push(z[0]==="("?" "+z:z)}return $.push(")"),$.join(`
1196
+ `)}let h=f[0];if(u2(f)&&f.slice(1).every((n)=>!Array.isArray(n)||u2(n))){let A=`(${f.map(($)=>Array.isArray($)?R1($,0,!1):V1($)).join(" ")})`;if(!A.includes(`
1197
+ `))return" ".repeat(l)+A}let _=" ".repeat(l),i;if(Array.isArray(h)){if(i=R1(h,0,!1),i.includes(`
1198
+ `))i=i.split(`
1199
+ `).map((A,$)=>$===0?A:" ".repeat(l+2)+A).join(`
1200
+ `)}else i=V1(h);let w=[`${_}(${i}`],D=h==="block";for(let n=1;n<f.length;n++){let A=f[n];if(!Array.isArray(A))w[w.length-1]+=" "+V1(A);else{let $=u2(A)&&A.every((R)=>!Array.isArray(R)||u2(R));if(!D&&$){let R=R1(A,0,!1);if(!R.includes(`
1201
+ `)){w[w.length-1]+=" "+R;continue}}w.push(R1(A,l+2,!1))}}return w[w.length-1]+=")",w.join(`
1202
+ `)}class h1{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",".{}":"emitPick","?.{}":"emitOptPick",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(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}error(f,l,{suggestion:c}={}){throw i1.fromSExpr(f,l,this.options.source,this.options.filename,c)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let l=this.emit(f);if(this.sourceMap)this.buildMappings();return l}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let l of this._stmtEntries){if(l.loc)this.sourceMap.addMapping(f,0,l.loc.r,l.loc.c);if(l.sexpr&&l.loc)this.recordSubMappings(l.code,l.sexpr,f);f+=l.code.split(`
1203
+ `).length}}static _isColInsideString(f,l){let c=!1,h="";for(let u=0;u<f.length&&u<l;u++){let _=f[u];if(c){if(_==="\\"){u++;continue}if(_===h)c=!1}else if(_==='"'||_==="'"||_==="`")c=!0,h=_}return c}recordSubMappings(f,l,c){let h=l.loc?l.loc.r:0,u=[];this.collectSubExprs(l,u);let _=f.split(`
1204
+ `);for(let{name:i,origLine:w,origCol:D}of u){let n=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),A=new RegExp("\\b"+n+"\\b","g"),$,R=null,M=1/0,z=w-h;while(($=A.exec(f))!==null){let F=f.substring(0,$.index).split(`
1205
+ `),U=F.length-1,H=F[F.length-1].length,O=_[U];if(O&&h1._isColInsideString(O,H))continue;let Q=c+U,q=Math.abs(U-z)*1e4+Math.abs(H-D);if(q<M)M=q,R={genLine:Q,genCol:H}}if(R)this.sourceMap.addMapping(R.genLine,R.genCol,w,D)}}collectSubExprs(f,l){if(!Array.isArray(f))return;let c=f[0];if(Array.isArray(c)||c!=null&&typeof c!=="string"&&!(c instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],l);return}if(f.loc){c=m(c);let u=null;if(c==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof c==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(c)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof c==="string"&&/^[a-zA-Z_$]/.test(c))u=c;if(u)l.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let h=c==="->"||c==="=>"?2:1;for(let u=h;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],l)}collectProgramVariables(f){if(!Array.isArray(f))return;let[l,...c]=f;if(l=m(l),Array.isArray(l)){f.forEach((h)=>this.collectProgramVariables(h));return}if(l==="export"||l==="export-default"||l==="export-all"||l==="export-from")return;if(l==="state"||l==="computed"){let[h]=c,u=m(h)??h;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(l==="readonly"){let[h]=c,u=m(h)??h;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(l==="component")return;if(l==="enum")return;if(h1.ASSIGNMENT_OPS.has(l)){let[h,u]=c;if(typeof h==="string"||h instanceof String){let _=m(h);if(!this.reactiveVars?.has(_)&&!this.readonlyVars?.has(_))this.programVars.add(_)}else if(this.is(h,"array"))this.collectVarsFromArray(h,this.programVars);else if(this.is(h,"object"))this.collectVarsFromObject(h,this.programVars);this.collectProgramVariables(u);return}if(l==="for-in"||l==="for-of"||l==="for-as"){this.collectVarsFromLoopHead(c[0],this.programVars),c.slice(1).forEach((h)=>this.collectProgramVariables(h));return}if(l==="def"||l==="->"||l==="=>"||l==="effect")return;if(l==="if"){let[h,u,_]=c;if(this.collectProgramVariables(h),this.collectProgramVariables(u),_)this.collectProgramVariables(_);return}if(l==="try"){if(this.collectProgramVariables(c[0]),c.length>=2&&Array.isArray(c[1])&&c[1].length===2&&c[1][0]!=="block"){let[h,u]=c[1];if(h&&this.is(h,"object"))h.slice(1).forEach((_)=>{if(Array.isArray(_)&&_.length===2&&typeof _[1]==="string")this.programVars.add(_[1])});else if(h&&this.is(h,"array"))h.slice(1).forEach((_)=>{if(typeof _==="string")this.programVars.add(_)});this.collectProgramVariables(u)}if(c.length===3)this.collectProgramVariables(c[2]);else if(c.length===2&&(!Array.isArray(c[1])||c[1][0]==="block"))this.collectProgramVariables(c[1]);return}c.forEach((h)=>this.collectProgramVariables(h))}collectFunctionVariables(f){let l=new Set,c=(h)=>{if(!Array.isArray(h))return;let[u,..._]=h;if(u=m(u),Array.isArray(u)){h.forEach((i)=>c(i));return}if(h1.ASSIGNMENT_OPS.has(u)){let[i,w]=_;if(typeof i==="string")l.add(i);else if(this.is(i,"array"))this.collectVarsFromArray(i,l);else if(this.is(i,"object"))this.collectVarsFromObject(i,l);c(w);return}if(u==="for-in"||u==="for-of"||u==="for-as"){this.collectVarsFromLoopHead(_[0],l),_.slice(1).forEach(c);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(c(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[i,w]=_[1];if(i&&this.is(i,"object"))i.slice(1).forEach((D)=>{if(Array.isArray(D)&&D.length===2&&typeof D[1]==="string")l.add(D[1])});else if(i&&this.is(i,"array"))i.slice(1).forEach((D)=>{if(typeof D==="string")l.add(D)});c(w)}if(_.length===3)c(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))c(_[1]);return}_.forEach((i)=>c(i))};return c(f),l}emit(f,l="statement"){if(f instanceof String){if(l1(f,"await")===!0)return`await ${m(f)}()`;if(l1(f,"predicate"))return`(${m(f)} != null)`;if(l1(f,"delimiter")==="///"&&l1(f,"heregex")){let w=m(f),D=w.match(/^\/(.*)\/([gimsuvy]*)$/s);if(D){let[,n,A]=D;return`/${this.processHeregex(n)}/${A}`}return w}let i=l1(f,"quote");if(i){let w=m(f);if(i==='"""'||i==="'''"){let n=this.extractStringContent(f);return n=n.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${n}\``}if(w[0]===i)return w;let D=w.slice(1,-1);return`${i}${D}${i}`}f=m(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let i=f.slice(1,-1);if(i.includes(`
1206
+ `))return`\`${i.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let w=i.includes("'")&&!i.includes('"')?'"':"'",D=i.replace(new RegExp(w,"g"),`\\${w}`);return`${w}${D}${w}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))this.error(`Invalid s-expression: ${JSON.stringify(f)}`,f);let[c,...h]=f,u=l1(c,"await");c=m(c);let _=h1.GENERATORS[c];if(_)return this[_](c,h,l,f);if(typeof c==="string"&&!c.startsWith('"')&&!c.startsWith("'")){if(h1.NUMBER_START_RE.test(c))return c;if(c==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(h)})`;let i=this._tryPostfixCall(c,h,l);if(i)return i;let w=u===!0,D=`${this.emit(c,"value")}(${this._emitArgs(h)})`;return w?`await ${D}`:D}if(Array.isArray(c)&&typeof c[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(c[0]))return`(${f.map((w)=>this.emit(w,"value")).join(", ")})`}if(Array.isArray(c)){if(c[0]==="."&&(c[2]==="new"||m(c[2])==="new")){let A=c[1],$=this.emit(A,"value");return`new ${Array.isArray(A)?`(${$})`:$}(${this._emitArgs(h)})`}let i=this._tryPostfixCall(c,h,l);if(i)return i;let w=!1,D;if(c[0]==="."&&l1(c[2],"await")===!0){w=!0;let[A,$]=c.slice(1),R=this.emit(A,"value");D=`${h1.NUMBER_LITERAL_RE.test(R)||(this.is(A,"object")||this.is(A,"await")||this.is(A,"yield"))?`(${R})`:R}.${m($)}`}else D=this.emit(c,"value");let n=`${D}(${this._emitArgs(h)})`;return w?`await ${n}`:n}this.error(`Unknown s-expression type: ${c}`,f)}emitProgram(f,l,c,h){let u="",_=[],i=[];for(let M of l){if(!Array.isArray(M)){i.push(M);continue}if(M[0]==="import")_.push(M);else i.push(M)}let w=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],D=i.map((M,z)=>{let W=i.length===1&&_.length===0,F=this.is(M,"object"),U=F&&M.length===2&&Array.isArray(M[1])&&Array.isArray(M[1][2])&&M[1][2][0]==="comprehension",H=this.is(M,"comprehension")||this.is(M,"object-comprehension")||this.is(M,"do-iife"),O=this.programVars.size===0,Q=W&&F&&O&&!H&&!U,K=z===i.length-1&&H,Y;if(Q)Y=`(${this.emit(M,"value")})`;else if(K)Y=this.emit(M,"value");else Y=this.emit(M,"statement");if(Y&&!Y.endsWith(";")){let G=Array.isArray(M)?M[0]:null;if(!w.includes(G)||!Y.endsWith("}"))Y+=";"}let J=Array.isArray(M)?M.loc:null;return{code:Y,loc:J,sexpr:Array.isArray(M)?M:null}}),n=D.map((M)=>M.code).join(`
1207
+ `),A=!1;if(_.length>0)u+=_.map((M)=>this.addSemicolon(M,this.emit(M,"statement"))).join(`
1208
+ `),A=!0;if(this.programVars.size>0){let M=this.programVars.has("_");if(M)this.programVars.delete("_");if(this.programVars.size>0){let z=Array.from(this.programVars).sort().join(", ");if(z){if(A)u+=`
1209
+ `;u+=`let ${z};
1210
+ `,A=!0}}if(M){if(A)u+=`
1624
1211
  `;u+=`var _;
1625
- `,Q=!0}}let z=this.options.skipPreamble,A=this.options.skipRuntimes;if(!z){if(Q)u+=`
1626
- `;u+=m1(),Q=!0;let J=A?"var":"const";if(this.helpers.has("slice"))u+=`${J} slice = [].slice;
1627
- `,Q=!0;if(this.helpers.has("modulo"))u+=`${J} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
1628
- `,Q=!0;if(this.helpers.has("toMatchable"))u+=`${J} toMatchable = (v, allowNewlines) => {
1212
+ `,A=!0}}let $=this.options.skipPreamble,R=this.options.skipRuntimes;if(!$){if(A)u+=`
1213
+ `;u+=m1(),A=!0;let M=R?"var":"const";if(this.helpers.has("slice"))u+=`${M} slice = [].slice;
1214
+ `,A=!0;if(this.helpers.has("modulo"))u+=`${M} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
1215
+ `,A=!0;if(this.helpers.has("toMatchable"))u+=`${M} toMatchable = (v, allowNewlines) => {
1629
1216
  `,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
1630
1217
  `,u+=` if (v == null) return "";
1631
1218
  `,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
@@ -1639,171 +1226,172 @@ if (typeof globalThis !== 'undefined') {
1639
1226
  `,u+=` }
1640
1227
  `,u+=` return "";
1641
1228
  `,u+=`};
1642
- `,Q=!0}if(this.usesReactivity&&!z){if(A)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
1229
+ `,A=!0}if(this.usesReactivity&&!$){if(R)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
1643
1230
  `;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
1644
- `;else u+=this.getReactiveRuntime();Q=!0}if(this.usesTemplates&&!z){if(A)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
1231
+ `;else u+=this.getReactiveRuntime();A=!0}if(this.usesTemplates&&!$){if(R)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
1645
1232
  `;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
1646
- `;else u+=this.getComponentRuntime();Q=!0}if(this.usesSchemas&&!z){if(A)u+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
1233
+ `;else u+=this.getComponentRuntime();A=!0}if(this.usesSchemas&&!$){if(R)u+=`var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
1647
1234
  `;else if(typeof globalThis<"u"&&globalThis.__ripSchema)u+=`const { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = globalThis.__ripSchema;
1648
- `;else u+=this.getSchemaRuntime();Q=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!z)u+=`var DATA;
1235
+ `;else u+=this.getSchemaRuntime();A=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!$)u+=`var DATA;
1649
1236
  _setDataSection();
1650
- `,Q=!0;if(Q&&u.length>0)u+=`
1651
- `;if(this._stmtEntries=Z,this._preambleLines=u.length===0?0:u.split(`
1652
- `).length-1,u+=G,this.dataSection!==null&&this.dataSection!==void 0)u+=`
1237
+ `,A=!0;if(A&&u.length>0)u+=`
1238
+ `;if(this._stmtEntries=D,this._preambleLines=u.length===0?0:u.split(`
1239
+ `).length-1,u+=n,this.dataSection!==null&&this.dataSection!==void 0)u+=`
1653
1240
 
1654
1241
  function _setDataSection() {
1655
1242
  DATA = ${JSON.stringify(this.dataSection)};
1656
- }`;return u}emitBinaryOp(f,U,_,W){if((f==="+"||f==="-")&&U.length===1)return`(${f}${this.emit(U[0],"value")})`;let[u,$]=U;if(f==="*"){let Y=u?.valueOf?.()??u;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let Y=u[0]?.valueOf?.()??u[0];if(F.has(Y)){let Z=this.emit(u[1],"value"),G=this.emit(u[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${f} ${Q}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(f,U){let[_,W]=U;this.helpers.add("modulo");let u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,U,_,W){let[u,$]=U,F=f==="?="?"??=":f,Y=this._findOptionalInTarget(u);if(Y){let q=this.emit(Y.guard,"value"),B=this.emit(Y.rewritten,"value"),R=this.emit($,"value");if(_==="value")return`(${q} != null ? (${B} ${F} ${R}) : undefined)`;return`if (${q} != null) ${B} ${F} ${R}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&W1(u,"await")!==void 0&&!Z){let q=W1(u,"await")===!0?"!":"&";this.error(`Cannot use ${q} sigil in variable declaration '${k(u)}'`,W)}if(u instanceof String&&W1(u,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(u,"array",0),Q=this.is(u,"object",0);if(G||Q){let q=this.emit($,"value");return Q&&_==="statement"?`(${q})`:q}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,q,B,R]=$,S=k(q),O=R[0]==="return",P=this.emit(u,"value"),M=this.emit(B,"value"),I=R.length>1?R[1]:null,L=O?I?`return ${this.emit(I,"value")}`:"return":I?`throw ${this.emit(I,"value")}`:"throw new Error()";if(_==="value"){if(S==="??")return`(() => { const __v = ${M}; if (__v == null) ${L}; return (${P} = __v); })()`;if(S==="||")return`(() => { const __v = ${M}; if (!__v) ${L}; return (${P} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${L}; return (${P} = __v); })()`}if(S==="??")return`if ((${P} = ${M}) == null) ${L}`;if(S==="||")return`if (!(${P} = ${M})) ${L}`;return`if ((${P} = ${M})) ${L}`}if(this.is(u,"array")){let q=u.slice(1).findIndex((B)=>this.is(B,"...")||B==="...");if(q!==-1&&q<u.length-2){let B=u.slice(1),R=B.slice(q+1),S=R.length;if(S>0){let O=this.emit($,"value"),M=B.slice(0,q).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),I=R.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),B.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 L=B[q],V=this.is(L,"...")?L[1]:null,N=[];if(M)N.push(`[${M}] = ${O}`);if(V)N.push(`[...${V}] = ${O}.slice(${q}, -${S})`);return N.push(`[${I}] = slice.call(${O}, -${S})`),N.join(", ")}}}if(_==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[q,B,R]=$;if(this.is(R,"if")&&R.length===3){let[,S,O]=R,P=Array.isArray(O)&&O.length===1?O[0]:O,M=[q,B,P],I=this.emit(u,"value"),L=this.emit(S,"value"),V=this.emit(M,"value");return`if (${L}) ${I} = ${V}`}}if(_==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[q,B,R]=$,S=Array.isArray(R)&&R.length===1&&(!Array.isArray(R[0])||R[0][0]!=="block");if(q==="if"&&S){let O=Array.isArray(R)&&R.length===1?R[0]:R,P=this.emit(u,"value"),M=this.unwrapLogical(this.emit(B,"value")),I=this.emit(O,"value");return`if (${M}) ${P} = ${I}`}}let z;if(u instanceof String&&W1(u,"await")!==void 0)z=k(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))z=`${u}.value`;else z=this.emit(u,"value");let A=this._componentName,J=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=k(u),this._componentTypeParams=u.typeParams||"";if(this.is($,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=k(u);let D=this.emit($,"value");if(this._componentName=A,this._componentTypeParams=J,this._schemaName=K,!(this.is($,"object")||this.is($,".{}")||this.is($,"?.{}")))D=this.unwrap(D);let X=_==="value",H=_==="statement"&&this.is(u,"object");if(X||H)return`(${z} ${F} ${D})`;return`${z} ${F} ${D}`}emitPropertyAccess(f,U,_,W){let[u,$]=U;if(this._atParamMap&&u==="this"){let G=this._atParamMap.get(k($));if(G)return G}let F=this.emit(u,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${k($)}()`;if(W1($,"predicate"))return`(${Z}.${k($)} != null)`;return`${Z}.${k($)}`}emitOptionalProperty(f,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${k(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${k(z)}: ${J}`}).join(", ");if(Y)return`({${G}})`;return`((_) => ({${G}}))(${F})`}emitOptPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${k(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${k(z)}: ${J}`}).join(", ");if(Y)return`(${F} == null ? undefined : {${G}})`;return`((_) => _ == null ? undefined : ({${G}}))(${F})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,U){let[_,W,u]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=u!==null?this.emit(u,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(f,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let u=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(A)=>{if(A===null)return null;let J=k(A)??A;if(typeof J==="number")return J;if(typeof J==="string"&&/^\d+$/.test(J))return+J;if(Array.isArray(A)&&A[0]==="-"&&A.length===2){let K=k(A[1])??A[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(A,J,K)=>{let D=Z(K);if(D!==null&&D!==-1)return`${$}.slice(${A}, ${D+1})`;return`${$}.slice(${A}, +${J} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(u&&this.is(Y,"-",1)&&(k(Y[1])??Y[1])==1)return`${$}.slice(0)`;let A=this.emit(Y,"value");return u?G("0",A,Y):`${$}.slice(0, ${A})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(u&&this.is(Y,"-",1)&&(k(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return u?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let u=k(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}.at(-${u})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(f,U){let[_,W]=U;if(this.is(W,"-",1)){let u=k(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}?.at(-${u})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(f,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,U,_,W){let[u,$,F]=U,Y=W1(u,"await")===!0,Z=k(u),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),A=this.containsYield(F);return`${z?"async ":""}function${A?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),Z=this.emitFunctionBody($,u,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),G=u.length===1&&typeof u[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 J=$[1],K=Array.isArray(J)?J[0]:null;if(K!=="return"&&!p5.has(K)){let D=this.emit(J,"value");if(D[0]==="{")D=`(${D})`;return`${z}${G} => ${D}`}}if(!Array.isArray($)||$[0]!=="block"){let J=this.emit($,"value");if(J[0]==="{")J=`(${J})`;return`${z}${G} => ${J}`}}let A=this.emitFunctionBody($,u,F);return`${z}${G} => ${A}`}emitReturn(f,U,_,W){if(U.length===0)return"return";let[u]=U;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",W);if(this.is(u,"if")){let[,$,F,...Y]=u;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(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[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(u,"value")}`}emitState(f,U){let[_,W]=U;this.usesReactivity=!0;let u=k(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(W,"value")})`}emitComputed(f,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=k(_)??_;if(this.reactiveVars.add(u),this.is(W,"block")&&W.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(W)})`;return`const ${u} = __computed(() => ${this.emit(W,"value")})`}emitReadonly(f,U){let[_,W]=U;return`const ${k(_)??_} = ${this.emit(W,"value")}`}emitEffect(f,U){let[_,W]=U;this.usesReactivity=!0;let u;if(this.is(W,"block"))u=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${k(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${u})`;if(_)return`const ${k(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(f,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(f,U,_){let[W,u,$]=U;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let Y=this.emit(u[1],"value"),Z=this.emit(u[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(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,U){let[_,W]=U,u=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}(${u}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${u})`}emitLoop(f,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(f,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(f,U){return`await ${this.emit(U[0],"value")}`}emitYield(f,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(f,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(f,U,_,W){let[u,$,...F]=U;return _==="value"?this.emitIfAsExpression(u,$,F):this.emitIfAsStatement(u,$,F)}emitForIn(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let X=["for-in",u,$,F];return this.emit(["comprehension",Z,[X],Y?[Y]:[]],_)}let G=Array.isArray(u)?u:[u],Q=G.length===0,[z,A]=Q?["_i",null]:G,J=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let X=this.emit($,"value"),H=A||"_i",q=this.emit(F,"value"),B=this.is(F,"-",1),R=B&&(F[1]==="1"||F[1]===1||k(F[1])==="1"),S=!B&&(F==="1"||F===1||k(F)==="1"),O;if(R)O=`for (let ${H} = ${X}.length - 1; ${H} >= 0; ${H}--) `;else if(S)O=`for (let ${H} = 0; ${H} < ${X}.length; ${H}++) `;else if(B)O=`for (let ${H} = ${X}.length - 1; ${H} >= 0; ${H} += ${q}) `;else O=`for (let ${H} = 0; ${H} < ${X}.length; ${H} += ${q}) `;if(this.is(Z,"block")){let P=Z.slice(1);this.indentLevel++;let M=[];if(!Q)M.push(`${J} = ${X}[${H}];`);if(Y)M.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,M.push(...this.formatStatements(P)),this.indentLevel--,M.push(this.indent()+"}");else M.push(...P.map((I)=>this.addSemicolon(I,this.emit(I,"statement"))));return this.indentLevel--,O+`{
1657
- ${M.map((I)=>this.indent()+I).join(`
1243
+ }`;return u}emitBinaryOp(f,l,c,h){if((f==="+"||f==="-")&&l.length===1)return`(${f}${this.emit(l[0],"value")})`;let[u,_]=l;if(f==="*"){let w=u?.valueOf?.()??u;if(typeof w==="string"&&/^["']/.test(w))return`${this.emit(u,"value")}.repeat(${this.emit(_,"value")})`}let i=new Set(["<",">","<=",">="]);if(i.has(f)&&Array.isArray(u)){let w=u[0]?.valueOf?.()??u[0];if(i.has(w)){let D=this.emit(u[1],"value"),n=this.emit(u[2],"value"),A=this.emit(_,"value");return`((${D} ${w} ${n}) && (${n} ${f} ${A}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit(_,"value")})`}emitModulo(f,l){let[c,h]=l;return this.helpers.add("modulo"),`modulo(${this.emit(c,"value")}, ${this.emit(h,"value")})`}emitModuloAssign(f,l){let[c,h]=l;this.helpers.add("modulo");let u=this.emit(c,"value"),_=this.emit(h,"value");return`${u} = modulo(${u}, ${_})`}emitFloorDiv(f,l){let[c,h]=l;return`Math.floor(${this.emit(c,"value")} / ${this.emit(h,"value")})`}emitFloorDivAssign(f,l){let[c,h]=l,u=this.emit(c,"value"),_=this.emit(h,"value");return`${u} = Math.floor(${u} / ${_})`}emitAssignment(f,l,c,h){let[u,_]=l,i=f==="?="?"??=":f,w=this._findOptionalInTarget(u);if(w){let O=this.emit(w.guard,"value"),Q=this.emit(w.rewritten,"value"),q=this.emit(_,"value");if(c==="value")return`(${O} != null ? (${Q} ${i} ${q}) : undefined)`;return`if (${O} != null) ${Q} ${i} ${q}`}let D=this.is(_,"->")||this.is(_,"=>")||this.is(_,"def");if(u instanceof String&&l1(u,"await")!==void 0&&!D){let O=l1(u,"await")===!0?"!":"&";this.error(`Cannot use ${O} sigil in variable declaration '${m(u)}'`,h)}if(u instanceof String&&l1(u,"await")===!0&&D)this.nextFunctionIsVoid=!0;let n=this.is(u,"array",0),A=this.is(u,"object",0);if(n||A){let O=this.emit(_,"value");return A&&c==="statement"?`(${O})`:O}if(Array.isArray(_)&&i==="="&&_[0]==="control"){let[,O,Q,q]=_,K=m(O),Y=q[0]==="return",J=this.emit(u,"value"),G=this.emit(Q,"value"),S=q.length>1?q[1]:null,N=Y?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(c==="value"){if(K==="??")return`(() => { const __v = ${G}; if (__v == null) ${N}; return (${J} = __v); })()`;if(K==="||")return`(() => { const __v = ${G}; if (!__v) ${N}; return (${J} = __v); })()`;return`(() => { const __v = ${G}; if (__v) ${N}; return (${J} = __v); })()`}if(K==="??")return`if ((${J} = ${G}) == null) ${N}`;if(K==="||")return`if (!(${J} = ${G})) ${N}`;return`if ((${J} = ${G})) ${N}`}if(this.is(u,"array")){let O=u.slice(1).findIndex((Q)=>this.is(Q,"...")||Q==="...");if(O!==-1&&O<u.length-2){let Q=u.slice(1),q=Q.slice(O+1),K=q.length;if(K>0){let Y=this.emit(_,"value"),G=Q.slice(0,O).map((T)=>T===","?"":typeof T==="string"?T:this.emit(T,"value")).join(", "),S=q.map((T)=>T===","?"":typeof T==="string"?T:this.emit(T,"value")).join(", ");this.helpers.add("slice"),Q.forEach((T)=>{if(T===","||T==="...")return;if(typeof T==="string")this.programVars.add(T);else if(this.is(T,"...")&&typeof T[1]==="string")this.programVars.add(T[1])});let N=Q[O],v=this.is(N,"...")?N[1]:null,L=[];if(G)L.push(`[${G}] = ${Y}`);if(v)L.push(`[...${v}] = ${Y}.slice(${O}, -${K})`);return L.push(`[${S}] = slice.call(${Y}, -${K})`),L.join(", ")}}}if(c==="statement"&&f==="="&&Array.isArray(_)&&(_[0]==="||"||_[0]==="&&")&&_.length===3){let[O,Q,q]=_;if(this.is(q,"if")&&q.length===3){let[,K,Y]=q,J=Array.isArray(Y)&&Y.length===1?Y[0]:Y,G=[O,Q,J],S=this.emit(u,"value"),N=this.emit(K,"value"),v=this.emit(G,"value");return`if (${N}) ${S} = ${v}`}}if(c==="statement"&&f==="="&&Array.isArray(_)&&_.length===3){let[O,Q,q]=_,K=Array.isArray(q)&&q.length===1&&(!Array.isArray(q[0])||q[0][0]!=="block");if(O==="if"&&K){let Y=Array.isArray(q)&&q.length===1?q[0]:q,J=this.emit(u,"value"),G=this.unwrapLogical(this.emit(Q,"value")),S=this.emit(Y,"value");return`if (${G}) ${J} = ${S}`}}let $;if(u instanceof String&&l1(u,"await")!==void 0)$=m(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))$=`${u}.value`;else $=this.emit(u,"value");let R=this._componentName,M=this._componentTypeParams,z=this._schemaName;if(this.is(_,"component")&&(typeof u==="string"||u instanceof String))this._componentName=m(u),this._componentTypeParams=u.typeParams||"";if(this.is(_,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=m(u);let W=this.emit(_,"value");if(this._componentName=R,this._componentTypeParams=M,this._schemaName=z,!(this.is(_,"object")||this.is(_,".{}")||this.is(_,"?.{}")))W=this.unwrap(W);let U=c==="value",H=c==="statement"&&this.is(u,"object");if(U||H)return`(${$} ${i} ${W})`;return`${$} ${i} ${W}`}emitPropertyAccess(f,l,c,h){let[u,_]=l;if(this._atParamMap&&u==="this"){let n=this._atParamMap.get(m(_));if(n)return n}let i=this.emit(u,"value"),D=h1.NUMBER_LITERAL_RE.test(i)||i.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${i})`:i;if(l1(_,"await")===!0)return`await ${D}.${m(_)}()`;if(l1(_,"predicate"))return`(${D}.${m(_)} != null)`;return`${D}.${m(_)}`}emitOptionalProperty(f,l){let[c,h]=l;return`${this.emit(c,"value")}?.${h}`}emitPick(f,l,c,h){let[u,..._]=l,i=this.emit(u,"value"),w=this._isSimplePickSource(u),D=w?i:"_",n=_.map(([A,$,R])=>{let M=`${D}.${m(A)}`;if(R!==null&&R!==void 0)M=`(${M} ?? ${this.emit(R,"value")})`;return`${m($)}: ${M}`}).join(", ");if(w)return`({${n}})`;return`((_) => ({${n}}))(${i})`}emitOptPick(f,l,c,h){let[u,..._]=l,i=this.emit(u,"value"),w=this._isSimplePickSource(u),D=w?i:"_",n=_.map(([A,$,R])=>{let M=`${D}.${m(A)}`;if(R!==null&&R!==void 0)M=`(${M} ?? ${this.emit(R,"value")})`;return`${m($)}: ${M}`}).join(", ");if(w)return`(${i} == null ? undefined : {${n}})`;return`((_) => _ == null ? undefined : ({${n}}))(${i})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,l){let[c,h,u]=l;this.helpers.add("toMatchable"),this.programVars.add("_");let _=this.emit(c,"value"),i=this.emit(h,"value"),w=u!==null?this.emit(u,"value"):"0",D=i.includes("/m")?", true":"";return`(_ = toMatchable(${_}${D}).match(${i})) && _[${w}]`}emitIndexAccess(f,l){let[c,h]=l;if(this.is(h,"..")||this.is(h,"...")){let u=h[0]==="..",_=this.emit(c,"value"),[i,w]=h.slice(1),D=(R)=>{if(R===null)return null;let M=m(R)??R;if(typeof M==="number")return M;if(typeof M==="string"&&/^\d+$/.test(M))return+M;if(Array.isArray(R)&&R[0]==="-"&&R.length===2){let z=m(R[1])??R[1];if(typeof z==="number")return-z;if(typeof z==="string"&&/^\d+$/.test(z))return-z}return null},n=(R,M,z)=>{let W=D(z);if(W!==null&&W!==-1)return`${_}.slice(${R}, ${W+1})`;return`${_}.slice(${R}, +${M} + 1 || 9e9)`};if(i===null&&w===null)return`${_}.slice()`;if(i===null){if(u&&this.is(w,"-",1)&&(m(w[1])??w[1])==1)return`${_}.slice(0)`;let R=this.emit(w,"value");return u?n("0",R,w):`${_}.slice(0, ${R})`}if(w===null)return`${_}.slice(${this.emit(i,"value")})`;let A=this.emit(i,"value");if(u&&this.is(w,"-",1)&&(m(w[1])??w[1])==1)return`${_}.slice(${A})`;let $=this.emit(w,"value");return u?n(A,$,w):`${_}.slice(${A}, ${$})`}if(this.is(h,"-",1)){let u=m(h[1])??h[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(c,"value")}.at(-${u})`}return`${this.emit(c,"value")}[${this.unwrap(this.emit(h,"value"))}]`}emitOptIndex(f,l){let[c,h]=l;if(this.is(h,"-",1)){let u=m(h[1])??h[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(c,"value")}?.at(-${u})`}return`${this.emit(c,"value")}?.[${this.emit(h,"value")}]`}emitOptCall(f,l){let[c,...h]=l;return`${this.emit(c,"value")}?.(${h.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,l,c,h){let[u,_,i]=l,w=l1(u,"await")===!0,D=m(u),n=this.emitParamList(_),A=this.emitFunctionBody(i,_,w),$=this.containsAwait(i),R=this.containsYield(i);return`${$?"async ":""}function${R?"*":""} ${D}(${n}) ${A}`}emitThinArrow(f,l,c,h){let[u,_]=l;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(_))u=["it"];let i=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let w=this.emitParamList(u),D=this.emitFunctionBody(_,u,i),n=this.containsAwait(_),A=this.containsYield(_),$=`${n?"async ":""}function${A?"*":""}(${w}) ${D}`;return c==="value"?`(${$})`:$}emitFatArrow(f,l,c,h){let[u,_]=l;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(_))u=["it"];let i=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let w=this.emitParamList(u),n=u.length===1&&typeof u[0]==="string"&&!w.includes("=")&&!w.includes("...")&&!w.includes("[")&&!w.includes("{")?w:`(${w})`,$=this.containsAwait(_)?"async ":"";if(!i){if(this.is(_,"block")&&_.length===2){let M=_[1],z=Array.isArray(M)?M[0]:null;if(z!=="return"&&!L5.has(z)){let W=this.emit(M,"value");if(W[0]==="{")W=`(${W})`;return`${$}${n} => ${W}`}}if(!Array.isArray(_)||_[0]!=="block"){let M=this.emit(_,"value");if(M[0]==="{")M=`(${M})`;return`${$}${n} => ${M}`}}let R=this.emitFunctionBody(_,u,i);return`${$}${n} => ${R}`}emitReturn(f,l,c,h){if(l.length===0)return"return";let[u]=l;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",h);if(this.is(u,"if")){let[,_,i,...w]=u;if(w.length===0){let D=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(_,"value")}) return ${this.emit(D,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,_,i]=u[1],w=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(_,"value")}) return ${this.emit(["new",w],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,l){let[c,h]=l;this.usesReactivity=!0;let u=m(c)??c;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(h,"value")})`}emitComputed(f,l){let[c,h]=l;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=m(c)??c;if(this.reactiveVars.add(u),this.is(h,"block")&&h.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(h)})`;return`const ${u} = __computed(() => ${this.emit(h,"value")})`}emitReadonly(f,l){let[c,h]=l;return`const ${m(c)??c} = ${this.emit(h,"value")}`}emitEffect(f,l){let[c,h]=l;this.usesReactivity=!0;let u;if(this.is(h,"block"))u=this.emitFunctionBody(h);else if(this.is(h,"->")||this.is(h,"=>")){let i=this.emit(h,"value");if(c)return`const ${m(c)??this.emit(c,"value")} = __effect(${i})`;return`__effect(${i})`}else u=`{ ${this.emit(h,"value")}; }`;let _=`__effect(() => ${u})`;if(c)return`const ${m(c)??this.emit(c,"value")} = ${_}`;return _}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,l){return`(${this.emit(l[0],"value")} != null)`}emitPresence(f,l){return`(${this.emit(l[0],"value")} ? true : undefined)`}emitTernary(f,l,c){let[h,u,_]=l;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let w=this.emit(u[1],"value"),D=this.emit(u[2],"value"),n=this.emit(_,"value");return`${w} = (${this.unwrap(this.emit(h,"value"))} ? ${D} : ${n})`}return`(${this.unwrap(this.emit(h,"value"))} ? ${this.emit(u,"value")} : ${this.emit(_,"value")})`}emitPipe(f,l){let[c,h]=l,u=this.emit(c,"value");if(Array.isArray(h)&&h.length>1){let _=h[0];if(Array.isArray(_)||typeof _==="string"&&/^[a-zA-Z_$]/.test(_)){let w=this.emit(_,"value"),D=h.slice(1).map((n)=>this.emit(n,"value"));return`${w}(${u}, ${D.join(", ")})`}}return`${this.emit(h,"value")}(${u})`}emitLoop(f,l){return`while (true) ${this.emitLoopBody(l[0])}`}emitLoopN(f,l){let[c,h]=l;return`for (let it = 0; it < ${this.emit(c,"value")}; it++) ${this.emitLoopBody(h)}`}emitAwait(f,l){return`await ${this.emit(l[0],"value")}`}emitYield(f,l){return l.length===0?"yield":`yield ${this.emit(l[0],"value")}`}emitYieldFrom(f,l){return`yield* ${this.emit(l[0],"value")}`}emitIf(f,l,c,h){let[u,_,...i]=l;return c==="value"?this.emitIfAsExpression(u,_,i):this.emitIfAsStatement(u,_,i)}emitForIn(f,l,c,h){let[u,_,i,w,D]=l;if(c==="value"&&this.comprehensionDepth===0){let F=["for-in",u,_,i];return this.emit(["comprehension",D,[F],w?[w]:[]],c)}let n=Array.isArray(u)?u:[u],A=n.length===0,[$,R]=A?["_i",null]:n,M=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(i&&i!==null){let F=this.emit(_,"value"),U=R||"_i",H=this.emit(i,"value"),O=this.is(i,"-",1),Q=O&&(i[1]==="1"||i[1]===1||m(i[1])==="1"),q=!O&&(i==="1"||i===1||m(i)==="1"),K;if(Q)K=`for (let ${U} = ${F}.length - 1; ${U} >= 0; ${U}--) `;else if(q)K=`for (let ${U} = 0; ${U} < ${F}.length; ${U}++) `;else if(O)K=`for (let ${U} = ${F}.length - 1; ${U} >= 0; ${U} += ${H}) `;else K=`for (let ${U} = 0; ${U} < ${F}.length; ${U} += ${H}) `;if(this.is(D,"block")){let Y=D.slice(1);this.indentLevel++;let J=[];if(!A)J.push(`let ${M} = ${F}[${U}];`);if(w)J.push(`if (${this.emit(w,"value")}) {`),this.indentLevel++,J.push(...this.formatStatements(Y)),this.indentLevel--,J.push(this.indent()+"}");else J.push(...Y.map((G)=>this.addSemicolon(G,this.emit(G,"statement"))));return this.indentLevel--,K+`{
1244
+ ${J.map((G)=>this.indent()+G).join(`
1658
1245
  `)}
1659
- ${this.indent()}}`}if(Q)return Y?O+`{ if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:O+`{ ${this.emit(Z,"statement")}; }`;return Y?O+`{ ${J} = ${X}[${H}]; if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:O+`{ ${J} = ${X}[${H}]; ${this.emit(Z,"statement")}; }`}if(A){let X=this.emit($,"value"),H=`for (let ${A} = 0; ${A} < ${X}.length; ${A}++) `;if(this.is(Z,"block")){if(H+=`{
1660
- `,this.indentLevel++,H+=this.indent()+`${J} = ${X}[${A}];
1661
- `,Y)H+=this.indent()+`if (${this.unwrap(this.emit(Y,"value"))}) {
1662
- `,this.indentLevel++,H+=this.formatStatements(Z.slice(1)).join(`
1246
+ ${this.indent()}}`}if(A)return w?K+`{ if (${this.emit(w,"value")}) ${this.emit(D,"statement")}; }`:K+`{ ${this.emit(D,"statement")}; }`;return w?K+`{ let ${M} = ${F}[${U}]; if (${this.emit(w,"value")}) ${this.emit(D,"statement")}; }`:K+`{ let ${M} = ${F}[${U}]; ${this.emit(D,"statement")}; }`}if(R){let F=this.emit(_,"value"),U=`for (let ${R} = 0; ${R} < ${F}.length; ${R}++) `;if(this.is(D,"block")){if(U+=`{
1247
+ `,this.indentLevel++,U+=this.indent()+`let ${M} = ${F}[${R}];
1248
+ `,w)U+=this.indent()+`if (${this.unwrap(this.emit(w,"value"))}) {
1249
+ `,this.indentLevel++,U+=this.formatStatements(D.slice(1)).join(`
1663
1250
  `)+`
1664
- `,this.indentLevel--,H+=this.indent()+`}
1665
- `;else H+=this.formatStatements(Z.slice(1)).join(`
1251
+ `,this.indentLevel--,U+=this.indent()+`}
1252
+ `;else U+=this.formatStatements(D.slice(1)).join(`
1666
1253
  `)+`
1667
- `;this.indentLevel--,H+=this.indent()+"}"}else H+=Y?`{ ${J} = ${X}[${A}]; if (${this.unwrap(this.emit(Y,"value"))}) ${this.emit(Z,"statement")}; }`:`{ ${J} = ${X}[${A}]; ${this.emit(Z,"statement")}; }`;return H}let K=Array.isArray($)&&$[0];if(K instanceof String)K=k(K);if(K===".."||K==="..."){let X=K==="...",[H,q]=$.slice(1),B=(R)=>typeof R==="number"||typeof R==="string"&&!R.includes("(")||R instanceof String&&!k(R).includes("(")||this.is(R,".");if(B(H)&&B(q)){let R=this.emit(H,"value"),S=this.emit(q,"value"),O=X?"<":"<=",P=F?`${J} += ${this.emit(F,"value")}`:`${J}++`,M=`for (let ${J} = ${R}; ${J} ${O} ${S}; ${P}) `;return M+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),M}}let w=`for (${Q?"let ":""}${J} of ${this.emit($,"value")}) `;return w+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),w}emitForOf(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let J=["for-of",u,$,F];return this.emit(["comprehension",Z,[J],Y?[Y]:[]],_)}let[G,Q]=Array.isArray(u)?u:[u],z=this.emit($,"value"),A=`for (${G} in ${z}) `;if(F&&!Q&&!Y){if(this.is(Z,"block")){this.indentLevel++;let J=[`if (!Object.hasOwn(${z}, ${G})) continue;`,...Z.slice(1).map((K)=>this.addSemicolon(K,this.emit(K,"statement")))];return this.indentLevel--,A+`{
1668
- ${J.map((K)=>this.indent()+K).join(`
1254
+ `;this.indentLevel--,U+=this.indent()+"}"}else U+=w?`{ let ${M} = ${F}[${R}]; if (${this.unwrap(this.emit(w,"value"))}) ${this.emit(D,"statement")}; }`:`{ let ${M} = ${F}[${R}]; ${this.emit(D,"statement")}; }`;return U}let z=Array.isArray(_)&&_[0];if(z instanceof String)z=m(z);if(z===".."||z==="..."){let F=z==="...",[U,H]=_.slice(1),O=(Q)=>typeof Q==="number"||typeof Q==="string"&&!Q.includes("(")||Q instanceof String&&!m(Q).includes("(")||this.is(Q,".");if(O(U)&&O(H)){let Q=this.emit(U,"value"),q=this.emit(H,"value"),K=F?"<":"<=",Y=i?`${M} += ${this.emit(i,"value")}`:`${M}++`,J=`for (let ${M} = ${Q}; ${M} ${K} ${q}; ${Y}) `;return J+=w?this.emitLoopBodyWithGuard(D,w):this.emitLoopBody(D),J}}let W=`for (let ${M} of ${this.emit(_,"value")}) `;return W+=w?this.emitLoopBodyWithGuard(D,w):this.emitLoopBody(D),W}emitForOf(f,l,c,h){let[u,_,i,w,D]=l;if(c==="value"&&this.comprehensionDepth===0){let M=["for-of",u,_,i];return this.emit(["comprehension",D,[M],w?[w]:[]],c)}let[n,A]=Array.isArray(u)?u:[u],$=this.emit(_,"value"),R=`for (let ${n} in ${$}) `;if(i&&!A&&!w){if(this.is(D,"block")){this.indentLevel++;let M=[`if (!Object.hasOwn(${$}, ${n})) continue;`,...D.slice(1).map((z)=>this.addSemicolon(z,this.emit(z,"statement")))];return this.indentLevel--,R+`{
1255
+ ${M.map((z)=>this.indent()+z).join(`
1669
1256
  `)}
1670
- ${this.indent()}}`}return A+`{ 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(`${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--,A+`{
1671
- ${D.map((w)=>this.indent()+w).join(`
1257
+ ${this.indent()}}`}return R+`{ if (!Object.hasOwn(${$}, ${n})) continue; ${this.emit(D,"statement")}; }`}if(A){if(this.is(D,"block")){let z=D.slice(1);this.indentLevel++;let W=[];if(i)W.push(`if (!Object.hasOwn(${$}, ${n})) continue;`);if(W.push(`let ${A} = ${$}[${n}];`),w)W.push(`if (${this.emit(w,"value")}) {`),this.indentLevel++,W.push(...z.map((F)=>this.addSemicolon(F,this.emit(F,"statement")))),this.indentLevel--,W.push(this.indent()+"}");else W.push(...z.map((F)=>this.addSemicolon(F,this.emit(F,"statement"))));return this.indentLevel--,R+`{
1258
+ ${W.map((F)=>this.indent()+F).join(`
1672
1259
  `)}
1673
- ${this.indent()}}`}let J="";if(F)J+=`if (!Object.hasOwn(${z}, ${G})) continue; `;if(J+=`${Q} = ${z}[${G}]; `,Y)J+=`if (${this.emit(Y,"value")}) `;return J+=`${this.emit(Z,"statement")};`,A+`{ ${J} }`}return A+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),A}emitForAs(f,U,_,W){let u=Array.isArray(U[0])?U[0]:[U[0]],[$]=u,F=U[1],Y=U[2],Z=U[3],G=U[4],Q=!1,z=[];if(this.is($,"array")){let w=$.slice(1),X=w.findIndex((H)=>this.is(H,"...")||H==="...");if(X!==-1&&X<w.length-1){Q=!0;let H=w.slice(X+1),q=H.length,B=w.slice(0,X),R=w[X],S=this.is(R,"...")?R[1]:"_rest",O=B.map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", "),P=O?`${O}, ...${S}`:`...${S}`,M=H.map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", ");z.push(`[${P}] = _item`),z.push(`[${M}] = ${S}.splice(-${q})`),this.helpers.add("slice"),w.forEach((I)=>{if(I===","||I==="...")return;if(typeof I==="string")this.programVars.add(I);else if(this.is(I,"...")&&typeof I[1]==="string")this.programVars.add(I[1])})}}let A=this.emit(F,"value"),J=Y?"await ":"",K;if(Q)K="_item";else if(this.is($,"array")||this.is($,"object"))K=this.emitDestructuringPattern($);else K=$;let D=`for ${J}(${K} of ${A}) `;if(Q&&z.length>0){let w=this.unwrapBlock(G),X=this.withIndent(()=>[...z.map((H)=>this.indent()+H+";"),...this.formatStatements(w)]);D+=`{
1674
- ${X.join(`
1260
+ ${this.indent()}}`}let M="";if(i)M+=`if (!Object.hasOwn(${$}, ${n})) continue; `;if(M+=`let ${A} = ${$}[${n}]; `,w)M+=`if (${this.emit(w,"value")}) `;return M+=`${this.emit(D,"statement")};`,R+`{ ${M} }`}return R+=w?this.emitLoopBodyWithGuard(D,w):this.emitLoopBody(D),R}emitForAs(f,l,c,h){let u=Array.isArray(l[0])?l[0]:[l[0]],[_]=u,i=l[1],w=l[2],D=l[3],n=l[4],A=!1,$=[];if(this.is(_,"array")){let F=_.slice(1),U=F.findIndex((H)=>this.is(H,"...")||H==="...");if(U!==-1&&U<F.length-1){A=!0;let H=F.slice(U+1),O=H.length,Q=F.slice(0,U),q=F[U],K=this.is(q,"...")?q[1]:"_rest",Y=Q.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", "),J=Y?`${Y}, ...${K}`:`...${K}`,G=H.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", ");$.push(`[${J}] = _item`),$.push(`[${G}] = ${K}.splice(-${O})`),this.helpers.add("slice"),F.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 R=this.emit(i,"value"),M=w?"await ":"",z;if(A)z="_item";else if(this.is(_,"array")||this.is(_,"object"))z=this.emitDestructuringPattern(_);else z=_;let W=`for ${M}(let ${z} of ${R}) `;if(A&&$.length>0){let F=this.unwrapBlock(n),U=this.withIndent(()=>[...$.map((H)=>this.indent()+H+";"),...this.formatStatements(F)]);W+=`{
1261
+ ${U.join(`
1675
1262
  `)}
1676
- ${this.indent()}}`}else D+=Z?this.emitLoopBodyWithGuard(G,Z):this.emitLoopBody(G);return D}emitWhile(f,U){let _=U[0],W=U.length===3?U[1]:null,u=U[U.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(W?this.emitLoopBodyWithGuard(u,W):this.emitLoopBody(u))}emitRange(f,U){if(f==="..."){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,u=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))))(${u}, ${$})`}emitNot(f,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(f,U){return`(~${this.emit(U[0],"value")})`}emitIncDec(f,U){let[_,W]=U,u=this.emit(_,"value");return W?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,U){return`typeof ${this.emit(U[0],"value")}`}emitDelete(f,U){return`(delete ${this.emit(U[0],"value")})`}emitInstanceof(f,U,_,W){let[u,$]=U,F=W1(W[0],"invert"),Y=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return F?`(!${Y})`:Y}emitIn(f,U,_,W){let[u,$]=U,F=this.emit(u,"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(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=this.emit($,"value"),Z=W1(W[0],"invert"),G=`(${F} in ${Y})`;return Z?`(!${G})`:G}emitRegexMatch(f,U){let[_,W]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(W,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${u}))`}emitNew(f,U){let[_]=U;if(this.is(_,".")||this.is(_,"?.")){let[W,u,$]=_;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(_)){let[W,...u]=_;return`new ${this.emit(W,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"value")}()`}emitLogicalAnd(f,U,_,W){let u=this.flattenBinaryChain(W).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(f,U,_,W){let u=this.flattenBinaryChain(W).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" || ")})`}emitSymbol(f,U){return`Symbol.for(${JSON.stringify(U[0])})`}emitArray(f,U){let _=U.length>0&&U[U.length-1]===",",W=U.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return _?`[${W},]`:`[${W}]`}emitObject(f,U,_){if(U.length===1&&Array.isArray(U[0])&&Array.isArray(U[0][2])&&U[0][2][0]==="comprehension"){let[,u,$]=U[0],[,F,Y,Z]=$;return this.emit(["object-comprehension",u,F,Y,Z],_)}return`{${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,F,Y]=u,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(f,U,_){if(U.length===0)return"new Map()";return`new Map([${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,F]=u,Y;if(Array.isArray($))Y=this.emit($,"value");else{let G=k($)??$;Y=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!Y1.NUMBER_START_RE.test(G)&&!n5.has(G)?`"${G}"`:this.emit($,"value")}let Z=this.emit(F,"value");return`[${Y}, ${Z}]`}).join(", ")}])`}emitBlock(f,U,_){if(_==="statement")return`{
1677
- ${this.withIndent(()=>this.formatStatements(U)).join(`
1263
+ ${this.indent()}}`}else W+=D?this.emitLoopBodyWithGuard(n,D):this.emitLoopBody(n);return W}emitWhile(f,l){let c=l[0],h=l.length===3?l[1]:null,u=l[l.length-1];return`while (${this.unwrap(this.emit(c,"value"))}) `+(h?this.emitLoopBodyWithGuard(u,h):this.emitLoopBody(u))}emitRange(f,l){if(f==="..."){if(l.length===1)return`...${this.emit(l[0],"value")}`;let[i,w]=l,D=this.emit(i,"value"),n=this.emit(w,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${D}, ${n})`}let[c,h]=l,u=this.emit(c,"value"),_=this.emit(h,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${_})`}emitNot(f,l){let[c]=l;if(typeof c==="string"||c instanceof String)return`!${this.emit(c,"value")}`;if(Array.isArray(c)){if([".","?.","[]","optindex","optcall"].includes(c[0]))return`!${this.emit(c,"value")}`}let h=this.emit(c,"value");return h.startsWith("(")?`!${h}`:`(!${h})`}emitBitwiseNot(f,l){return`(~${this.emit(l[0],"value")})`}emitIncDec(f,l){let[c,h]=l,u=this.emit(c,"value");return h?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,l){return`typeof ${this.emit(l[0],"value")}`}emitDelete(f,l){return`(delete ${this.emit(l[0],"value")})`}emitInstanceof(f,l,c,h){let[u,_]=l,i=l1(h[0],"invert"),w=`(${this.emit(u,"value")} instanceof ${this.emit(_,"value")})`;return i?`(!${w})`:w}emitIn(f,l,c,h){let[u,_]=l,i=this.emit(u,"value"),w=l1(h[0],"invert");if(this.is(_,"object")){let A=`(${i} in ${this.emit(_,"value")})`;return w?`(!${A})`:A}let D=this.emit(_,"value"),n=`(Array.isArray(${D}) || typeof ${D} === 'string' ? ${D}.includes(${i}) : (${i} in ${D}))`;return w?`(!${n})`:n}emitOf(f,l,c,h){let[u,_]=l,i=this.emit(u,"value"),w=this.emit(_,"value"),D=l1(h[0],"invert"),n=`(${i} in ${w})`;return D?`(!${n})`:n}emitRegexMatch(f,l){let[c,h]=l;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(h,"value"),_=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(c,"value")}${_}).match(${u}))`}emitNew(f,l){let[c]=l;if(this.is(c,".")||this.is(c,"?.")){let[h,u,_]=c;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${_}`;return`new ${this.emit(u,"value")}.${_}`}if(Array.isArray(c)){let[h,...u]=c;return`new ${this.emit(h,"value")}(${u.map((_)=>this.unwrap(this.emit(_,"value"))).join(", ")})`}return`new ${this.emit(c,"value")}()`}emitLogicalAnd(f,l,c,h){let u=this.flattenBinaryChain(h).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map((_)=>this.emit(_,"value")).join(" && ")})`}emitLogicalOr(f,l,c,h){let u=this.flattenBinaryChain(h).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map((_)=>this.emit(_,"value")).join(" || ")})`}emitSymbol(f,l){return`Symbol.for(${JSON.stringify(l[0])})`}emitArray(f,l){let c=l.length>0&&l[l.length-1]===",",h=l.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return c?`[${h},]`:`[${h}]`}emitObject(f,l,c){if(l.length===1&&Array.isArray(l[0])&&Array.isArray(l[0][2])&&l[0][2][0]==="comprehension"){let[,u,_]=l[0],[,i,w,D]=_;return this.emit(["object-comprehension",u,i,w,D],c)}return`{${l.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[_,i,w]=u,D;if(this.is(i,"dynamicKey"))D=`[${this.emit(i[1],"value")}]`;else if(this.is(i,"str"))D=`[${this.emit(i,"value")}]`;else this.suppressReactiveUnwrap=!0,D=this.emit(i,"value"),this.suppressReactiveUnwrap=!1;let n=this.emit(w,"value");if(_==="=")return`${D} = ${n}`;if(_===":")return`${D}: ${n}`;if(D===n&&!Array.isArray(i))return D;return`${D}: ${n}`}).join(", ")}}`}emitMap(f,l,c){if(l.length===0)return"new Map()";return`new Map([${l.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,_,i]=u,w;if(Array.isArray(_))w=this.emit(_,"value");else{let n=m(_)??_;w=!n.startsWith('"')&&!n.startsWith("'")&&!n.startsWith("/")&&!h1.NUMBER_START_RE.test(n)&&!T5.has(n)?`"${n}"`:this.emit(_,"value")}let D=this.emit(i,"value");return`[${w}, ${D}]`}).join(", ")}])`}emitBlock(f,l,c){if(c==="statement")return`{
1264
+ ${this.withIndent(()=>this.formatStatements(l)).join(`
1678
1265
  `)}
1679
- ${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`{
1680
- ${this.withIndent(()=>$.map((F)=>this.indent()+F).join(`
1266
+ ${this.indent()}}`;if(l.length===0)return"undefined";if(l.length===1)return this.emit(l[0],c);let h=l[l.length-1];if(Array.isArray(h)&&["break","continue","return","throw"].includes(h[0])){let _=l.map((i)=>this.addSemicolon(i,this.emit(i,"statement")));return`{
1267
+ ${this.withIndent(()=>_.map((i)=>this.indent()+i).join(`
1681
1268
  `))}
1682
- ${this.indent()}}`}return`(${U.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,U,_){let W=_==="value",u="try ",$=U[0];if(u+=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(u+=" catch",F&&(this.is(F,"object")||this.is(F,"array"))){u+=" (error)";let Z=`(${this.emit(F,"value")} = error)`;Y=this.is(Y,"block")?["block",Z,...Y.slice(1)]:["block",Z,Y]}else if(F)u+=` (${F})`;u+=" "+(W&&this.is(Y,"block")?this.emitBlockWithReturns(Y):this.emit(Y,"statement"))}else if(U.length===2)u+=" finally "+this.emit(U[1],"statement");if(U.length===3)u+=" finally "+this.emit(U[2],"statement");if(U.length===1)u+=" 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,u)}return u}emitThrow(f,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}) {
1683
- ${this.indent()} ${z};
1684
- ${this.indent()}}`}}let u=`throw ${this.emit(W,"value")}`;return _==="value"?`(() => { ${u}; })()`:u}emitControl(f,U,_){let[W,u,$]=U,F=k(W),Y=$[0]==="return",Z=this.emit(u,"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(f,U,_){let[W,u,$]=U;if(W===null)return this.emitSwitchAsIfChain(u,$,_);let F=`switch (${this.emit(W,"value")}) {
1685
- `;this.indentLevel++;for(let Y of u){let[,Z,G]=Y;for(let Q of Z){let z=k(Q)??Q,A;if(Array.isArray(z))A=this.emit(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))A=`'${z.slice(1,-1)}'`;else A=this.emit(z,"value");F+=this.indent()+`case ${A}:
1686
- `}this.indentLevel++,F+=this.emitSwitchCaseBody(G,_),this.indentLevel--}if($)F+=this.indent()+`default:
1687
- `,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||u.some((Z)=>this.containsAwait(Z[1])||this.containsAwait(Z[2]))||$&&this.containsAwait($);return this.asyncIIFE(Y,F)}return F}emitWhen(f,U,_,W){this.error("when clause should be handled by switch",W)}_forInHeader(f,U,_){let W=Array.isArray(f)?f:[f],u=W.length===0,[$,F]=u?["_i",null]:W,Y=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let G=Array.isArray(U)&&U[0];if(G instanceof String)G=k(G);if(G===".."||G==="..."){let q=G==="...",[B,R]=U.slice(1),S=this.emit(B,"value"),O=this.emit(R,"value"),P=this.emit(_,"value");return{header:`for (let ${Y} = ${S}; ${Y} ${q?"<":"<="} ${O}; ${Y} += ${P})`,setup:null}}let z=this.emit(U,"value"),A=F||"_i",J=this.emit(_,"value"),K=this.is(_,"-",1),D=K&&(_[1]==="1"||_[1]===1||k(_[1])==="1"),w=!K&&(_==="1"||_===1||k(_)==="1"),X=D?`${A}--`:w?`${A}++`:`${A} += ${J}`;return{header:K?`for (let ${A} = ${z}.length - 1; ${A} >= 0; ${X})`:`for (let ${A} = 0; ${A} < ${z}.length; ${X})`,setup:u?null:`${Y} = ${z}[${A}];`}}if(F){let G=this.emit(U,"value");return{header:`for (let ${F} = 0; ${F} < ${G}.length; ${F}++)`,setup:`${Y} = ${G}[${F}];`}}return{header:`for (${u?"let ":""}${Y} of ${this.emit(U,"value")})`,setup:null}}_forOfHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u,$]=W,F=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,Y=this.emit(U,"value");return{header:`for (${F} in ${Y})`,own:_,vv:$,oc:Y,kvp:F}}_forAsHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u]=W,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${_?"await ":""}(${$} of ${this.emit(U,"value")})`}}emitComprehension(f,U,_){let[W,u,$]=U;if(_==="statement")return this.emitComprehensionAsLoop(W,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(W,u,$,this.comprehensionTarget);let F=this.containsAwait(W)||u.some((Q)=>this.containsAwait(Q))||$.some((Q)=>this.containsAwait(Q)),Y=this.asyncIIFEOpen(F)+`
1688
- `;this.indentLevel++,this.comprehensionDepth++,Y+=this.indent()+`const result = [];
1689
- `;for(let Q of u){let[z,A,J,K]=Q;if(z==="for-in"){let{header:D,setup:w}=this._forInHeader(A,J,K);if(Y+=this.indent()+D+` {
1690
- `,this.indentLevel++,w)Y+=this.indent()+w+`
1691
- `}else if(z==="for-of"){let{header:D,own:w,vv:X,oc:H,kvp:q}=this._forOfHeader(A,J,K);if(Y+=this.indent()+D+` {
1692
- `,this.indentLevel++,w)Y+=this.indent()+`if (!Object.hasOwn(${H}, ${q})) continue;
1693
- `;if(X)Y+=this.indent()+`${X} = ${H}[${q}];
1694
- `}else if(z==="for-as"){let{header:D}=this._forAsHeader(A,J,Q[3]);Y+=this.indent()+D+` {
1695
- `,this.indentLevel++}}for(let Q of $)Y+=this.indent()+`if (${this.emit(Q,"value")}) {
1696
- `,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")+`;
1697
- `;else if(Array.isArray(z)&&G.includes(z[0]))Y+=this.indent()+this.emit(z,"statement")+`;
1698
- `;else Y+=this.indent()+`result.push(${this.emit(z,"value")});
1699
- `}else if(Z(W))Y+=this.indent()+this.emit(W,"statement")+`;
1700
- `;else if(Array.isArray(W)&&G.includes(W[0]))Y+=this.indent()+this.emit(W,"statement")+`;
1701
- `;else Y+=this.indent()+`result.push(${this.emit(W,"value")});
1702
- `;for(let Q=0;Q<$.length;Q++)this.indentLevel--,Y+=this.indent()+`}
1703
- `;for(let Q=0;Q<u.length;Q++)this.indentLevel--,Y+=this.indent()+`}
1704
- `;return Y+=this.indent()+`return result;
1705
- `,this.indentLevel--,this.comprehensionDepth--,Y+=this.indent()+"})()",Y}emitObjectComprehension(f,U,_){let[W,u,$,F]=U,Y=this.containsAwait(W)||this.containsAwait(u)||$.some((G)=>this.containsAwait(G))||F.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+`
1706
- `;this.indentLevel++,Z+=this.indent()+`const result = {};
1707
- `;for(let G of $){let[Q,z,A,J]=G;if(Q==="for-of"){let[K,D]=z,w=this.emit(A,"value");if(Z+=this.indent()+`for (${K} in ${w}) {
1708
- `,this.indentLevel++,J)Z+=this.indent()+`if (!Object.hasOwn(${w}, ${K})) continue;
1709
- `;if(D)Z+=this.indent()+`${D} = ${w}[${K}];
1710
- `}}for(let G of F)Z+=this.indent()+`if (${this.emit(G,"value")}) {
1711
- `,this.indentLevel++;Z+=this.indent()+`result[${this.emit(W,"value")}] = ${this.emit(u,"value")};
1712
- `;for(let G=0;G<F.length;G++)this.indentLevel--,Z+=this.indent()+`}
1713
- `;for(let G=0;G<$.length;G++)this.indentLevel--,Z+=this.indent()+`}
1714
- `;return Z+=this.indent()+`return result;
1715
- `,this.indentLevel--,Z+=this.indent()+"})()",Z}emitClass(f,U,_){let[W,u,...$]=U,F=W?`class ${W}`:"class";if(u)F+=` extends ${this.emit(u,"value")}`;if(F+=` {
1716
- `,$.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,u);for(let z of Z.slice(1))if(this.is(z,"class")){let[,A,J,...K]=z;if(this.is(A,".")&&A[1]==="this")F+=this.indent()+`static ${A[2]} = ${this.emit(["class",null,J,...K],"value")};
1717
- `;else F+=this.indent()+this.emit(z,"statement")+`;
1718
- `}else F+=this.indent()+this.emit(z,"statement")+`;
1719
- `;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")};
1720
- `;else F+=this.indent()+this.emit(Q,"statement")+`;
1721
- `;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(f,U){let _="",W=[];for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"=>")&&!F&&!Y&&Z!=="constructor")W.push(Z)}for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,G,Q]=$,z=this.containsAwait(Q),A=this.containsYield(Q),J=G,K=[];if(Z==="constructor"){let X=!!U,H=X?new Map:null;J=G.map((q)=>{if(this.is(q,".")&&q[1]==="this"){let B=q[2],R=X?`_${B}`:B;if(K.push(`this.${B} = ${R}`),X)H.set(B,R);return R}if(this.is(q,"default")&&this.is(q[1],".")&&q[1][1]==="this"){let B=q[1][2],R=X?`_${B}`:B;if(K.push(`this.${B} = ${R}`),X)H.set(B,R);return["default",R,q[2]]}return q});for(let q of W)K.unshift(`this.${q} = this.${q}.bind(this)`);if(H?.size>0)this._atParamMap=H}let D=this.emitParamList(J),w=(F?"static ":"")+(z?"async ":"")+(A?"*":"");if(_+=this.indent()+`${w}${Z}(${D}) `,!Y)this.currentMethodName=Z;_+=this.emitMethodBody(Q,K,Z==="constructor",J),this._atParamMap=null,this.currentMethodName=null,_+=`
1722
- `}else if(F)_+=this.indent()+`static ${Z} = ${this.emit($,"value")};
1723
- `;else _+=this.indent()+`${Z} = ${this.emit($,"value")};
1724
- `}return _}emitSuper(f,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(f,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((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ");return`import ${Y}, { ${z} } from ${Q}`}let[u,$]=U,F=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${F}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${F}`;return`import { ${u.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ")} } from ${F}`}return`import ${this.emit(u,"value")} from ${F}`}emitExport(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=k(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=k(_[1]);let F=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=k(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=k(_[1]);let F=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(f,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")};
1725
- export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(f,U){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(U[0])}`}emitExportFrom(f,U){if(this.options.skipExports)return"";let[_,W]=U,u=this.addJsExtensionAndAssertions(W);if(Array.isArray(_))return`export { ${_.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${u}`;return`export ${_} from ${u}`}emitDoIIFE(f,U){return`(${this.emit(U[0],"statement")})()`}emitRegex(f,U){return U.length===0?f:this.emit(U[0],"value")}emitTaggedTemplate(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,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 u=W[0];_+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=W.length===1&&Array.isArray(W[0])?W[0]:W;_+="${"+this.emit(u,"value")+"}"}return _+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let U=f[0];if(U==="if"&&f.length===3)return{type:U,condition:f[1],value:f[2]};if(U==="+"||U==="-"||U==="*"||U==="/")for(let _=1;_<f.length;_++){let W=this.findPostfixConditional(f[_]);if(W)return W.parentOp=U,W.operandIndex=_,W.otherOperands=f.slice(1).filter((u,$)=>$!==_-1),W}return null}rebuildWithoutConditional(f){let U=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,U];return U}_tryPostfixCall(f,U,_){if(_!=="statement"||U.length!==1)return null;let W=this.findPostfixConditional(U[0]);if(!W)return null;let u=this.rebuildWithoutConditional(W),$=this.emit(f,"value"),F=this.emit(W.condition,"value"),Y=this.emit(u,"value");return`if (${F}) ${$}(${Y})`}_emitArgs(f){return f.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let U=f.findIndex((W)=>this.is(W,"expansion"));if(U!==-1){let W=f.slice(0,U),u=f.slice(U+1),$=W.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let _=f.findIndex((W)=>this.is(W,"rest"));if(_!==-1&&_<f.length-1){let W=f.slice(0,_),u=f[_],$=f.slice(_+1),F=W.map((Y)=>this.formatParam(Y));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:W.length},F.length>0?`${F.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((W)=>this.formatParam(W)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${this.formatParam(f[1])} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((_)=>{if(_===",")return"";if(_==="...")return"";if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"=")&&typeof _[1]==="string")return`${_[1]} = ${this.emit(_[2],"value")}`;if(typeof _==="string")return _;return this.formatParam(_)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[W,u,$]=_;if(W==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,U=[],_={}){let{sideEffectOnly:W=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams: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(f),z=new Set([...Q].filter((D)=>!this.programVars.has(D)&&!this.reactiveVars?.has(D)&&!Z.has(D)&&!this.scopeStack.some((w)=>w.has(D)))),A=["return","throw","break","continue"],J=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...Z])),this.is(f,"block")){let D=this.unwrapBlock(f);if(F&&this.expansionAfterParams?.length>0)D=[...this.expansionAfterParams.map((B,R)=>{return`const ${typeof B==="string"?B:JSON.stringify(B)} = _rest[_rest.length - ${this.expansionAfterParams.length-R}]`}),...D],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:q,afterParams:B}=this.restMiddleParam,R=B.length,S=[];if(B.forEach((O,P)=>{let M=typeof O==="string"?O:this.is(O,"default")?O[1]:JSON.stringify(O);S.push(`const ${M} = ${q}[${q}.length - ${R-P}]`)}),R>0)S.push(`${q} = ${q}.slice(0, -${R})`);D=[...S,...D],this.restMiddleParam=null}this.indentLevel++;let w=`{
1726
- `;if(z.size>0)w+=this.indent()+`let ${Array.from(z).sort().join(", ")};
1727
- `;let X=u.length>0&&D.length>0&&Array.isArray(D[0])&&D[0][0]==="super",H=(q)=>{q.forEach((B,R)=>{let S=R===q.length-1,O=Array.isArray(B)?B[0]:null;if(!S&&O==="comprehension"){let[,L,V,N]=B;w+=this.indent()+this.emitComprehensionAsLoop(L,V,N)+`
1728
- `;return}if(!$&&!W&&S&&O==="if"){let[L,V,...N]=B.slice(1),C=(l)=>this.is(l,"block")&&l.length>2;if(this.hasStatementInBranch(V)||N.some((l)=>this.hasStatementInBranch(l))||C(V)||N.some(C)){w+=this.emitIfElseWithEarlyReturns(B)+`
1729
- `;return}}if(!$&&!W&&S&&O==="="){let[L,V]=B.slice(1);if(typeof L==="string"&&Array.isArray(V)){let N=V[0];if(N==="comprehension"||N==="for-in"){this.comprehensionTarget=L,w+=this.emit(V,"value"),this.comprehensionTarget=null,w+=this.indent()+`return ${L};
1730
- `;return}}}if(!$&&!W&&S&&J.includes(O)){if(this.containsYield(B)){w+=this.indent()+this.addSemicolon(B,this.emit(B,"statement"))+`
1731
- `;return}w+=this.indent()+`const _result = [];
1732
- `,this.comprehensionTarget="_result";let L=this._skipCompTargetInit;this._skipCompTargetInit=!0,w+=this.emit(B,"value"),this._skipCompTargetInit=L,this.comprehensionTarget=null,w+=this.indent()+`return _result;
1733
- `;return}let P=!$&&!W&&S&&!A.includes(O)&&!this.hasExplicitControlFlow(B),M=P?"value":"statement",I=this.emit(B,M);if(P)w+=this.indent()+"return "+I+`;
1734
- `;else w+=this.indent()+this.addSemicolon(B,I)+`
1735
- `})};if(X){if(D.length===1&&!$)w+=this.indent()+"return "+this.emit(D[0],"value")+`;
1736
- `;else w+=this.indent()+this.emit(D[0],"statement")+`;
1737
- `;for(let B of u)w+=this.indent()+B+`;
1738
- `;H(D.slice(1))}else{for(let q of u)w+=this.indent()+q+`;
1739
- `;H(D)}if(W&&D.length>0){let q=Array.isArray(D[D.length-1])?D[D.length-1][0]:null;if(!A.includes(q))w+=this.indent()+`return;
1740
- `}return this.indentLevel--,w+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=Y,w}this.sideEffectOnly=Y;let K;if($&&u.length>0){let D=Array.isArray(f)&&f[0]==="super",w=this.emit(f,"statement"),X=u.map((H)=>`${H};`).join(" ");K=D?`{ ${w}; ${X} }`:`{ ${X} ${w}; }`}else if($||this.hasExplicitControlFlow(f))K=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(A.includes(f[0])||J.includes(f[0])))K=`{ ${this.emit(f,"statement")}; }`;else if(W)K=`{ ${this.emit(f,"statement")}; return; }`;else K=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),K}emitFunctionBody(f,U=[],_=!1){return this.emitBodyWithReturns(f,U,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,U=[],_=!1,W=[]){return this.emitBodyWithReturns(f,W,{autoAssignments:U,isConstructor:_})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let U=this.unwrapBlock(f);return`{
1741
- ${this.withIndent(()=>U.map((W,u)=>{let $=u===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(`
1269
+ ${this.indent()}}`}return`(${l.map((_)=>this.emit(_,"value")).join(", ")})`}emitTry(f,l,c){let h=c==="value",u="try ",_=l[0];if(u+=h&&this.is(_,"block")?this.emitBlockWithReturns(_):this.emit(_,"statement"),l.length>=2&&Array.isArray(l[1])&&l[1].length===2&&l[1][0]!=="block"){let[i,w]=l[1];if(u+=" catch",i&&(this.is(i,"object")||this.is(i,"array"))){u+=" (error)";let D=`(${this.emit(i,"value")} = error)`;w=this.is(w,"block")?["block",D,...w.slice(1)]:["block",D,w]}else if(i)u+=` (${i})`;u+=" "+(h&&this.is(w,"block")?this.emitBlockWithReturns(w):this.emit(w,"statement"))}else if(l.length===2)u+=" finally "+this.emit(l[1],"statement");if(l.length===3)u+=" finally "+this.emit(l[2],"statement");if(l.length===1)u+=" catch {}";if(h){let i=this.containsAwait(l[0])||l[1]&&this.containsAwait(l[1])||l[2]&&this.containsAwait(l[2]);return this.asyncIIFE(i,u)}return u}emitThrow(f,l,c){let[h]=l;if(Array.isArray(h)){let _=h,i=null;if(h[0]==="new"&&Array.isArray(h[1])&&h[1][0]==="if")i="new",_=h[1];else if(h[0]==="if")_=h;if(_[0]==="if"){let[,w,D]=_,n=Array.isArray(D)&&D.length===1?D[0]:D;h=i==="new"?["new",n]:n;let A=this.emit(w,"value"),$=`throw ${this.emit(h,"value")}`;return`if (${A}) {
1270
+ ${this.indent()} ${$};
1271
+ ${this.indent()}}`}}let u=`throw ${this.emit(h,"value")}`;return c==="value"?`(() => { ${u}; })()`:u}emitControl(f,l,c){let[h,u,_]=l,i=m(h),w=_[0]==="return",D=this.emit(u,"value"),n=_.length>1?_[1]:null,A=w?n?`return ${this.emit(n,"value")}`:"return":n?`throw ${this.emit(n,"value")}`:"throw new Error()",$=this.wrapForCondition(D);if(c==="value"){if(i==="??")return`(() => { const __v = ${D}; if (__v == null) ${A}; return __v; })()`;if(i==="||")return`(() => { const __v = ${D}; if (!__v) ${A}; return __v; })()`;return`(() => { const __v = ${D}; if (__v) ${A}; return __v; })()`}if(i==="??")return`if (${$} == null) ${A}`;if(i==="||")return`if (!${$}) ${A}`;return`if (${$}) ${A}`}emitSwitch(f,l,c){let[h,u,_]=l;if(h===null)return this.emitSwitchAsIfChain(u,_,c);let i=`switch (${this.emit(h,"value")}) {
1272
+ `;this.indentLevel++;for(let w of u){let[,D,n]=w;for(let A of D){let $=m(A)??A,R;if(Array.isArray($))R=this.emit($,"value");else if(typeof $==="string"&&($.startsWith('"')||$.startsWith("'")))R=`'${$.slice(1,-1)}'`;else R=this.emit($,"value");i+=this.indent()+`case ${R}:
1273
+ `}this.indentLevel++,i+=this.emitSwitchCaseBody(n,c),this.indentLevel--}if(_)i+=this.indent()+`default:
1274
+ `,this.indentLevel++,i+=this.emitSwitchCaseBody(_,c),this.indentLevel--;if(this.indentLevel--,i+=this.indent()+"}",c==="value"){let w=this.containsAwait(h)||u.some((D)=>this.containsAwait(D[1])||this.containsAwait(D[2]))||_&&this.containsAwait(_);return this.asyncIIFE(w,i)}return i}emitWhen(f,l,c,h){this.error("when clause should be handled by switch",h)}_forInHeader(f,l,c){let h=Array.isArray(f)?f:[f],u=h.length===0,[_,i]=u?["_i",null]:h,w=this.is(_,"array")||this.is(_,"object")?this.emitDestructuringPattern(_):_;if(c&&c!==null){let D=Array.isArray(l)&&l[0];if(D instanceof String)D=m(D);if(D===".."||D==="..."){let H=D==="...",[O,Q]=l.slice(1),q=this.emit(O,"value"),K=this.emit(Q,"value"),Y=this.emit(c,"value");return{header:`for (let ${w} = ${q}; ${w} ${H?"<":"<="} ${K}; ${w} += ${Y})`,setup:null}}let A=this.emit(l,"value"),$=i||"_i",R=this.emit(c,"value"),M=this.is(c,"-",1),z=M&&(c[1]==="1"||c[1]===1||m(c[1])==="1"),W=!M&&(c==="1"||c===1||m(c)==="1"),F=z?`${$}--`:W?`${$}++`:`${$} += ${R}`;return{header:M?`for (let ${$} = ${A}.length - 1; ${$} >= 0; ${F})`:`for (let ${$} = 0; ${$} < ${A}.length; ${F})`,setup:u?null:`let ${w} = ${A}[${$}];`}}if(i){let D=this.emit(l,"value");return{header:`for (let ${i} = 0; ${i} < ${D}.length; ${i}++)`,setup:`let ${w} = ${D}[${i}];`}}return{header:`for (let ${w} of ${this.emit(l,"value")})`,setup:null}}_forOfHeader(f,l,c){let h=Array.isArray(f)?f:[f],[u,_]=h,i=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,w=this.emit(l,"value");return{header:`for (let ${i} in ${w})`,own:c,vv:_,oc:w,kvp:i}}_forAsHeader(f,l,c){let h=Array.isArray(f)?f:[f],[u]=h,_=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${c?"await ":""}(let ${_} of ${this.emit(l,"value")})`}}emitComprehension(f,l,c){let[h,u,_]=l;if(c==="statement")return this.emitComprehensionAsLoop(h,u,_);if(this.comprehensionTarget){let A=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(h,u,_,A)}finally{this.comprehensionTarget=A}}let i=this.containsAwait(h)||u.some((A)=>this.containsAwait(A))||_.some((A)=>this.containsAwait(A)),w=this.asyncIIFEOpen(i)+`
1275
+ `;this.indentLevel++,this.comprehensionDepth++,w+=this.indent()+`const result = [];
1276
+ `;for(let A of u){let[$,R,M,z]=A;if($==="for-in"){let{header:W,setup:F}=this._forInHeader(R,M,z);if(w+=this.indent()+W+` {
1277
+ `,this.indentLevel++,F)w+=this.indent()+F+`
1278
+ `}else if($==="for-of"){let{header:W,own:F,vv:U,oc:H,kvp:O}=this._forOfHeader(R,M,z);if(w+=this.indent()+W+` {
1279
+ `,this.indentLevel++,F)w+=this.indent()+`if (!Object.hasOwn(${H}, ${O})) continue;
1280
+ `;if(U)w+=this.indent()+`let ${U} = ${H}[${O}];
1281
+ `}else if($==="for-as"){let{header:W}=this._forAsHeader(R,M,A[3]);w+=this.indent()+W+` {
1282
+ `,this.indentLevel++}}for(let A of _)w+=this.indent()+`if (${this.emit(A,"value")}) {
1283
+ `,this.indentLevel++;let D=(A)=>{if(typeof A==="string"&&(A==="break"||A==="continue"))return!0;if(!Array.isArray(A))return!1;if(["break","continue","return","throw"].includes(A[0]))return!0;if(A[0]==="if")return A.slice(1).some(D);return A.some(D)},n=["for-in","for-of","for-as","while","loop"];if(this.is(h,"block"))for(let A=0;A<h.length-1;A++){let $=h[A+1];if(A!==h.length-2||D($))w+=this.indent()+this.emit($,"statement")+`;
1284
+ `;else if(Array.isArray($)&&n.includes($[0]))w+=this.indent()+this.emit($,"statement")+`;
1285
+ `;else w+=this.indent()+`result.push(${this.emit($,"value")});
1286
+ `}else if(D(h))w+=this.indent()+this.emit(h,"statement")+`;
1287
+ `;else if(Array.isArray(h)&&n.includes(h[0]))w+=this.indent()+this.emit(h,"statement")+`;
1288
+ `;else w+=this.indent()+`result.push(${this.emit(h,"value")});
1289
+ `;for(let A=0;A<_.length;A++)this.indentLevel--,w+=this.indent()+`}
1290
+ `;for(let A=0;A<u.length;A++)this.indentLevel--,w+=this.indent()+`}
1291
+ `;return w+=this.indent()+`return result;
1292
+ `,this.indentLevel--,this.comprehensionDepth--,w+=this.indent()+"})()",w}emitObjectComprehension(f,l,c){let[h,u,_,i]=l,w=this.containsAwait(h)||this.containsAwait(u)||_.some((n)=>this.containsAwait(n))||i.some((n)=>this.containsAwait(n)),D=this.asyncIIFEOpen(w)+`
1293
+ `;this.indentLevel++,D+=this.indent()+`const result = {};
1294
+ `;for(let n of _){let[A,$,R,M]=n;if(A==="for-of"){let[z,W]=$,F=this.emit(R,"value");if(D+=this.indent()+`for (let ${z} in ${F}) {
1295
+ `,this.indentLevel++,M)D+=this.indent()+`if (!Object.hasOwn(${F}, ${z})) continue;
1296
+ `;if(W)D+=this.indent()+`let ${W} = ${F}[${z}];
1297
+ `}}for(let n of i)D+=this.indent()+`if (${this.emit(n,"value")}) {
1298
+ `,this.indentLevel++;D+=this.indent()+`result[${this.emit(h,"value")}] = ${this.emit(u,"value")};
1299
+ `;for(let n=0;n<i.length;n++)this.indentLevel--,D+=this.indent()+`}
1300
+ `;for(let n=0;n<_.length;n++)this.indentLevel--,D+=this.indent()+`}
1301
+ `;return D+=this.indent()+`return result;
1302
+ `,this.indentLevel--,D+=this.indent()+"})()",D}emitClass(f,l,c){let[h,u,..._]=l,i=h?`class ${h}`:"class";if(u)i+=` extends ${this.emit(u,"value")}`;if(i+=` {
1303
+ `,_.length>0&&Array.isArray(_[0])){let w=_[0];if(w[0]==="block"){let D=w.slice(1);if(D.length>0&&Array.isArray(D[0])&&D[0][0]==="object"){let A=D[0].slice(1);this.indentLevel++,i+=this._emitClassMembers(A,u);for(let $ of D.slice(1))if(this.is($,"class")){let[,R,M,...z]=$;if(this.is(R,".")&&R[1]==="this")i+=this.indent()+`static ${R[2]} = ${this.emit(["class",null,M,...z],"value")};
1304
+ `;else i+=this.indent()+this.emit($,"statement")+`;
1305
+ `}else i+=this.indent()+this.emit($,"statement")+`;
1306
+ `;this.indentLevel--}else{this.indentLevel++;for(let A of D)if(this.is(A,"=")&&Array.isArray(A[1])&&A[1][0]==="."&&A[1][1]==="this")i+=this.indent()+`static ${A[1][2]} = ${this.emit(A[2],"value")};
1307
+ `;else i+=this.indent()+this.emit(A,"statement")+`;
1308
+ `;this.indentLevel--}}}return i+=this.indent()+"}",i}_emitClassMembers(f,l){let c="",h=[];for(let[,u,_]of f){let i=this.is(u,".")&&u[1]==="this",w=this.is(u,"computed"),D=this.extractMemberName(u);if(this.is(_,"=>")&&!i&&!w&&D!=="constructor")h.push(D)}for(let[,u,_]of f){let i=this.is(u,".")&&u[1]==="this",w=this.is(u,"computed"),D=this.extractMemberName(u);if(this.is(_,"->")||this.is(_,"=>")){let[,n,A]=_,$=this.containsAwait(A),R=this.containsYield(A),M=n,z=[];if(D==="constructor"){let U=!!l,H=U?new Map:null;M=n.map((O)=>{if(this.is(O,".")&&O[1]==="this"){let Q=O[2],q=U?`_${Q}`:Q;if(z.push(`this.${Q} = ${q}`),U)H.set(Q,q);return q}if(this.is(O,"default")&&this.is(O[1],".")&&O[1][1]==="this"){let Q=O[1][2],q=U?`_${Q}`:Q;if(z.push(`this.${Q} = ${q}`),U)H.set(Q,q);return["default",q,O[2]]}return O});for(let O of h)z.unshift(`this.${O} = this.${O}.bind(this)`);if(H?.size>0)this._atParamMap=H}let W=this.emitParamList(M),F=(i?"static ":"")+($?"async ":"")+(R?"*":"");if(c+=this.indent()+`${F}${D}(${W}) `,!w)this.currentMethodName=D;c+=this.emitMethodBody(A,z,D==="constructor",M),this._atParamMap=null,this.currentMethodName=null,c+=`
1309
+ `}else if(i)c+=this.indent()+`static ${D} = ${this.emit(_,"value")};
1310
+ `;else c+=this.indent()+`${D} = ${this.emit(_,"value")};
1311
+ `}return c}emitSuper(f,l){if(l.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let c=l.map((h)=>this.unwrap(this.emit(h,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${c})`;return`super(${c})`}emitImport(f,l,c,h){if(l.length===1){let w=`import(${this.emit(l[0],"value")})`;if(l1(h[0],"await")===!0)return`(await ${w})`;return w}if(this.options.skipImports)return"";if(l.length===3){let[w,D,n]=l,A=this.addJsExtensionAndAssertions(n);if(D[0]==="*"&&D.length===2)return`import ${w}, * as ${D[1]} from ${A}`;let $=D.map((R)=>Array.isArray(R)&&R.length===2?`${R[0]} as ${R[1]}`:R).join(", ");return`import ${w}, { ${$} } from ${A}`}let[u,_]=l,i=this.addJsExtensionAndAssertions(_);if(typeof u==="string")return`import ${u} from ${i}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${i}`;return`import { ${u.map((D)=>Array.isArray(D)&&D.length===2?`${D[0]} as ${D[1]}`:D).join(", ")} } from ${i}`}return`import ${this.emit(u,"value")} from ${i}`}emitExport(f,l){let[c]=l;if(this.options.skipExports){if(this.is(c,"=")){let h=this._componentName,u=this._componentTypeParams,_=this._schemaName;if(this.is(c[2],"component"))this._componentName=m(c[1]),this._componentTypeParams=c[1]?.typeParams||"";if(this.is(c[2],"schema"))this._schemaName=m(c[1]);let i=`const ${c[1]} = ${this.emit(c[2],"value")}`;return this._componentName=h,this._componentTypeParams=u,this._schemaName=_,i}if(Array.isArray(c)&&c.every((h)=>typeof h==="string"))return"";return this.emit(c,"statement")}if(this.is(c,"=")){let h=this._componentName,u=this._componentTypeParams,_=this._schemaName;if(this.is(c[2],"component"))this._componentName=m(c[1]),this._componentTypeParams=c[1]?.typeParams||"";if(this.is(c[2],"schema"))this._schemaName=m(c[1]);let i=`export const ${c[1]} = ${this.emit(c[2],"value")}`;return this._componentName=h,this._componentTypeParams=u,this._schemaName=_,i}if(Array.isArray(c)&&c.every((h)=>typeof h==="string"))return`export { ${c.join(", ")} }`;return`export ${this.emit(c,"statement")}`}emitExportDefault(f,l){let[c]=l;if(this.options.skipExports){if(this.is(c,"="))return`const ${c[1]} = ${this.emit(c[2],"value")}`;return this.emit(c,"statement")}if(this.is(c,"="))return`const ${c[1]} = ${this.emit(c[2],"value")};
1312
+ export default ${c[1]}`;return`export default ${this.emit(c,"statement")}`}emitExportAll(f,l){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(l[0])}`}emitExportFrom(f,l){if(this.options.skipExports)return"";let[c,h]=l,u=this.addJsExtensionAndAssertions(h);if(Array.isArray(c))return`export { ${c.map((i)=>Array.isArray(i)&&i.length===2?`${i[0]} as ${i[1]}`:i).join(", ")} } from ${u}`;return`export ${c} from ${u}`}emitDoIIFE(f,l){return`(${this.emit(l[0],"statement")})()`}emitRegex(f,l){return l.length===0?f:this.emit(l[0],"value")}emitTaggedTemplate(f,l){let[c,h]=l,u=this.emit(c,"value"),_=this.emit(h,"value");if(_.startsWith("`"))return`${u}${_}`;if(_.startsWith('"')||_.startsWith("'"))return`${u}\`${_.slice(1,-1)}\``;return`${u}\`${_}\``}emitString(f,l){let c="`";for(let h of l)if(h instanceof String)c+=this.extractStringContent(h);else if(typeof h==="string")if(h.startsWith('"')||h.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",h);c+=h.slice(1,-1)}else c+=h;else if(Array.isArray(h))if(h.length===1&&typeof h[0]==="string"&&!Array.isArray(h[0])){let u=h[0];c+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=h.length===1&&Array.isArray(h[0])?h[0]:h;c+="${"+this.emit(u,"value")+"}"}return c+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let l=f[0];if(l==="if"&&f.length===3)return{type:l,condition:f[1],value:f[2]};if(l==="+"||l==="-"||l==="*"||l==="/")for(let c=1;c<f.length;c++){let h=this.findPostfixConditional(f[c]);if(h)return h.parentOp=l,h.operandIndex=c,h.otherOperands=f.slice(1).filter((u,_)=>_!==c-1),h}return null}rebuildWithoutConditional(f){let l=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,l];return l}_tryPostfixCall(f,l,c){if(c!=="statement"||l.length!==1)return null;let h=this.findPostfixConditional(l[0]);if(!h)return null;let u=this.rebuildWithoutConditional(h),_=this.emit(f,"value"),i=this.emit(h.condition,"value"),w=this.emit(u,"value");return`if (${i}) ${_}(${w})`}_emitArgs(f){return f.map((l)=>this.unwrap(this.emit(l,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let l=f.findIndex((h)=>this.is(h,"expansion"));if(l!==-1){let h=f.slice(0,l),u=f.slice(l+1),_=h.map((i)=>this.formatParam(i)).join(", ");return this.expansionAfterParams=u,_?`${_}, ..._rest`:"..._rest"}let c=f.findIndex((h)=>this.is(h,"rest"));if(c!==-1&&c<f.length-1){let h=f.slice(0,c),u=f[c],_=f.slice(c+1),i=h.map((w)=>this.formatParam(w));return this.restMiddleParam={restName:u[1],afterParams:_,beforeCount:h.length},i.length>0?`${i.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((h)=>this.formatParam(h)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${this.formatParam(f[1])} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((c)=>{if(c===",")return"";if(c==="...")return"";if(this.is(c,"..."))return`...${c[1]}`;if(this.is(c,"=")&&typeof c[1]==="string")return`${c[1]} = ${this.emit(c[2],"value")}`;if(typeof c==="string")return c;return this.formatParam(c)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((c)=>{if(this.is(c,"..."))return`...${c[1]}`;if(this.is(c,"default"))return`${c[1]} = ${this.emit(c[2],"value")}`;let[h,u,_]=c;if(h==="=")return`${u} = ${this.emit(_,"value")}`;if(u===_)return u;return`${u}: ${this.formatParam(_)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,l=[],c={}){let{sideEffectOnly:h=!1,autoAssignments:u=[],isConstructor:_=!1,hasExpansionParams:i=!1}=c,w=this.sideEffectOnly;this.sideEffectOnly=h;let D=new Set,n=(W)=>{if(typeof W==="string")D.add(W);else if(Array.isArray(W)){if(W[0]==="rest"||W[0]==="..."){if(typeof W[1]==="string")D.add(W[1])}else if(W[0]==="default"){if(typeof W[1]==="string")D.add(W[1])}else if(W[0]==="array"||W[0]==="object")this.collectVarsFromArray(W,D)}};if(Array.isArray(l))l.forEach(n);let A=this.collectFunctionVariables(f),$=new Set([...A].filter((W)=>!this.programVars.has(W)&&!this.reactiveVars?.has(W)&&!D.has(W)&&!this.scopeStack.some((F)=>F.has(W)))),R=["return","throw","break","continue"],M=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...$,...D])),this.is(f,"block")){let W=this.unwrapBlock(f);if(i&&this.expansionAfterParams?.length>0)W=[...this.expansionAfterParams.map((Q,q)=>{return`const ${typeof Q==="string"?Q:JSON.stringify(Q)} = _rest[_rest.length - ${this.expansionAfterParams.length-q}]`}),...W],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:O,afterParams:Q}=this.restMiddleParam,q=Q.length,K=[];if(Q.forEach((Y,J)=>{let G=typeof Y==="string"?Y:this.is(Y,"default")?Y[1]:JSON.stringify(Y);K.push(`const ${G} = ${O}[${O}.length - ${q-J}]`)}),q>0)K.push(`${O} = ${O}.slice(0, -${q})`);W=[...K,...W],this.restMiddleParam=null}this.indentLevel++;let F=`{
1313
+ `;if($.size>0)F+=this.indent()+`let ${Array.from($).sort().join(", ")};
1314
+ `;let U=u.length>0&&W.length>0&&Array.isArray(W[0])&&W[0][0]==="super",H=(O)=>{O.forEach((Q,q)=>{let K=q===O.length-1,Y=Array.isArray(Q)?Q[0]:null;if(!K&&Y==="comprehension"){let[,N,v,L]=Q;F+=this.indent()+this.emitComprehensionAsLoop(N,v,L)+`
1315
+ `;return}if(!_&&!h&&K&&Y==="if"){let[N,v,...L]=Q.slice(1),T=(_1)=>this.is(_1,"block")&&_1.length>2;if(this.hasStatementInBranch(v)||L.some((_1)=>this.hasStatementInBranch(_1))||T(v)||L.some(T)){F+=this.emitIfElseWithEarlyReturns(Q)+`
1316
+ `;return}}if(!_&&!h&&K&&Y==="="){let[N,v]=Q.slice(1);if(typeof N==="string"&&Array.isArray(v)){let L=v[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=N,F+=this.emit(v,"value"),this.comprehensionTarget=null,F+=this.indent()+`return ${N};
1317
+ `;return}}}if(!_&&!h&&K&&M.includes(Y)){if(this.containsYield(Q)){F+=this.indent()+this.addSemicolon(Q,this.emit(Q,"statement"))+`
1318
+ `;return}if(!(Y==="for-in"||Y==="for-of"||Y==="for-as")){F+=this.indent()+this.addSemicolon(Q,this.emit(Q,"statement"))+`
1319
+ `;return}F+=this.indent()+`const _result = [];
1320
+ `,this.comprehensionTarget="_result";let v=this._skipCompTargetInit;this._skipCompTargetInit=!0,F+=this.emit(Q,"value"),this._skipCompTargetInit=v,this.comprehensionTarget=null,F+=this.indent()+`return _result;
1321
+ `;return}let J=!_&&!h&&K&&!R.includes(Y)&&!this.hasExplicitControlFlow(Q),G=J?"value":"statement",S=this.emit(Q,G);if(J)F+=this.indent()+"return "+S+`;
1322
+ `;else F+=this.indent()+this.addSemicolon(Q,S)+`
1323
+ `})};if(U){if(W.length===1&&!_)F+=this.indent()+"return "+this.emit(W[0],"value")+`;
1324
+ `;else F+=this.indent()+this.emit(W[0],"statement")+`;
1325
+ `;for(let Q of u)F+=this.indent()+Q+`;
1326
+ `;H(W.slice(1))}else{for(let O of u)F+=this.indent()+O+`;
1327
+ `;H(W)}if(h&&W.length>0){let O=Array.isArray(W[W.length-1])?W[W.length-1][0]:null;if(!R.includes(O))F+=this.indent()+`return;
1328
+ `}return this.indentLevel--,F+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=w,F}this.sideEffectOnly=w;let z;if(_&&u.length>0){let W=Array.isArray(f)&&f[0]==="super",F=this.emit(f,"statement"),U=u.map((H)=>`${H};`).join(" ");z=W?`{ ${F}; ${U} }`:`{ ${U} ${F}; }`}else if(_||this.hasExplicitControlFlow(f))z=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(R.includes(f[0])||M.includes(f[0])))z=`{ ${this.emit(f,"statement")}; }`;else if(h)z=`{ ${this.emit(f,"statement")}; return; }`;else z=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),z}emitFunctionBody(f,l=[],c=!1){return this.emitBodyWithReturns(f,l,{sideEffectOnly:c,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,l=[],c=!1,h=[]){return this.emitBodyWithReturns(f,h,{autoAssignments:l,isConstructor:c})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let l=this.unwrapBlock(f);return`{
1329
+ ${this.withIndent(()=>l.map((h,u)=>{let _=u===l.length-1,i=Array.isArray(h)?h[0]:null,w=_&&!["return","throw","break","continue"].includes(i),D=this.emit(h,w?"value":"statement");return w?this.indent()+"return "+D+";":this.indent()+D+";"})).join(`
1742
1330
  `)}
1743
- ${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let U=f[0]==="block"?f.slice(1):f;return`{
1744
- ${this.withIndent(()=>U.map((W)=>{if(this.is(W,"comprehension")){let[,u,$,F]=W;return this.indent()+this.emitComprehensionAsLoop(u,$,F)}return this.indent()+this.addSemicolon(W,this.emit(W,"statement"))})).join(`
1331
+ ${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let l=f[0]==="block"?f.slice(1):f;return`{
1332
+ ${this.withIndent(()=>l.map((h)=>{if(this.is(h,"comprehension")){let[,u,_,i]=h;return this.indent()+this.emitComprehensionAsLoop(u,_,i)}return this.indent()+this.addSemicolon(h,this.emit(h,"statement"))})).join(`
1745
1333
  `)}
1746
- ${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,U){let _=this.unwrap(this.emit(U,"value"));if(!Array.isArray(f))return`{ if (${_}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let W=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),$=`if (${_}) {
1747
- `,F=this.withIndent(()=>{this.indentLevel++;let Z=this.formatStatements(W);return this.indentLevel--,Z}),Y=this.withIndent(()=>this.indent()+"}");return`{
1748
- ${u}${$}${F.join(`
1334
+ ${this.indent()}}`}return`{ ${this.emit(f,"statement")}; }`}emitLoopBodyWithGuard(f,l){let c=this.unwrap(this.emit(l,"value"));if(!Array.isArray(f))return`{ if (${c}) ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let h=f[0]==="block"?f.slice(1):f,u=this.withIndent(()=>this.indent()),_=`if (${c}) {
1335
+ `,i=this.withIndent(()=>{this.indentLevel++;let D=this.formatStatements(h);return this.indentLevel--,D}),w=this.withIndent(()=>this.indent()+"}");return`{
1336
+ ${u}${_}${i.join(`
1749
1337
  `)}
1750
- ${Y}
1751
- ${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,U,_,W){let u="";if(!this._skipCompTargetInit)u+=this.indent()+`${W} = [];
1752
- `;let $=(Y)=>{if(typeof Y==="string"&&(Y==="break"||Y==="continue"))return!0;if(!Array.isArray(Y))return!1;if(["break","continue","return","throw"].includes(Y[0]))return!0;if(Y[0]==="if")return Y.slice(1).some($);return Y.some($)},F=()=>{let Y=["for-in","for-of","for-as","while","loop"];if(this.is(f,"block"))for(let Z=0;Z<f.length-1;Z++){let G=f[Z+1];if(Z!==f.length-2||$(G)||Array.isArray(G)&&Y.includes(G[0]))u+=this.indent()+this.emit(G,"statement")+`;
1753
- `;else u+=this.indent()+`${W}.push(${this.emit(G,"value")});
1754
- `}else if($(f))u+=this.indent()+this.emit(f,"statement")+`;
1755
- `;else u+=this.indent()+`${W}.push(${this.emit(f,"value")});
1756
- `};if(U.length===1){let[Y,Z,G,Q]=U[0];if(Y==="for-in"){let{header:z,setup:A}=this._forInHeader(Z,G,Q);if(u+=this.indent()+z+` {
1757
- `,this.indentLevel++,A)u+=this.indent()+A+`
1758
- `;if(_?.length>0)u+=this.indent()+`if (${_.map((J)=>this.emit(J,"value")).join(" && ")}) {
1759
- `,this.indentLevel++;if(F(),_?.length>0)this.indentLevel--,u+=this.indent()+`}
1338
+ ${w}
1339
+ ${this.indent()}}`}return`{ if (${this.emit(l,"value")}) ${this.emit(f,"statement")}; }`}emitComprehensionWithTarget(f,l,c,h){let u="";if(!this._skipCompTargetInit)u+=this.indent()+`${h} = [];
1340
+ `;let _=(w)=>{if(typeof w==="string"&&(w==="break"||w==="continue"))return!0;if(!Array.isArray(w))return!1;if(["break","continue","return","throw"].includes(w[0]))return!0;if(w[0]==="if")return w.slice(1).some(_);return w.some(_)},i=()=>{let w=["for-in","for-of","for-as","while","loop"];if(this.is(f,"block"))for(let D=0;D<f.length-1;D++){let n=f[D+1];if(D!==f.length-2||_(n)||Array.isArray(n)&&w.includes(n[0]))u+=this.indent()+this.emit(n,"statement")+`;
1341
+ `;else u+=this.indent()+`${h}.push(${this.emit(n,"value")});
1342
+ `}else if(_(f))u+=this.indent()+this.emit(f,"statement")+`;
1343
+ `;else u+=this.indent()+`${h}.push(${this.emit(f,"value")});
1344
+ `};if(l.length===1){let[w,D,n,A]=l[0];if(w==="for-in"){let{header:$,setup:R}=this._forInHeader(D,n,A);if(u+=this.indent()+$+` {
1345
+ `,this.indentLevel++,R)u+=this.indent()+R+`
1346
+ `;if(c?.length>0)u+=this.indent()+`if (${c.map((M)=>this.emit(M,"value")).join(" && ")}) {
1347
+ `,this.indentLevel++;if(i(),c?.length>0)this.indentLevel--,u+=this.indent()+`}
1760
1348
  `;return this.indentLevel--,u+=this.indent()+`}
1761
- `,u}if(Y==="for-of"){let{header:z,own:A,vv:J,oc:K,kvp:D}=this._forOfHeader(Z,G,Q);if(u+=this.indent()+z+` {
1762
- `,this.indentLevel++,A)u+=this.indent()+`if (!Object.hasOwn(${K}, ${D})) continue;
1763
- `;if(J)u+=this.indent()+`${J} = ${K}[${D}];
1764
- `;if(_?.length>0)u+=this.indent()+`if (${_.map((w)=>this.emit(w,"value")).join(" && ")}) {
1765
- `,this.indentLevel++;if(F(),_?.length>0)this.indentLevel--,u+=this.indent()+`}
1349
+ `,u}if(w==="for-of"){let{header:$,own:R,vv:M,oc:z,kvp:W}=this._forOfHeader(D,n,A);if(u+=this.indent()+$+` {
1350
+ `,this.indentLevel++,R)u+=this.indent()+`if (!Object.hasOwn(${z}, ${W})) continue;
1351
+ `;if(M)u+=this.indent()+`let ${M} = ${z}[${W}];
1352
+ `;if(c?.length>0)u+=this.indent()+`if (${c.map((F)=>this.emit(F,"value")).join(" && ")}) {
1353
+ `,this.indentLevel++;if(i(),c?.length>0)this.indentLevel--,u+=this.indent()+`}
1766
1354
  `;return this.indentLevel--,u+=this.indent()+`}
1767
- `,u}if(Y==="for-as"){let{header:z}=this._forAsHeader(Z,G,Q);if(u+=this.indent()+z+` {
1768
- `,this.indentLevel++,_?.length>0)u+=this.indent()+`if (${_.map((A)=>this.emit(A,"value")).join(" && ")}) {
1769
- `,this.indentLevel++;if(F(),_?.length>0)this.indentLevel--,u+=this.indent()+`}
1355
+ `,u}if(w==="for-as"){let{header:$}=this._forAsHeader(D,n,A);if(u+=this.indent()+$+` {
1356
+ `,this.indentLevel++,c?.length>0)u+=this.indent()+`if (${c.map((R)=>this.emit(R,"value")).join(" && ")}) {
1357
+ `,this.indentLevel++;if(i(),c?.length>0)this.indentLevel--,u+=this.indent()+`}
1770
1358
  `;return this.indentLevel--,u+=this.indent()+`}
1771
- `,u}}return u="",u+=this.indent()+`${W} = ${this.emit(["comprehension",f,U,_||[]],"value")};
1772
- `,u}emitComprehensionAsLoop(f,U,_){let W="",u=_?.length?_.map((F)=>this.emit(F,"value")).join(" && "):null,$=()=>{if(u)W+=this.indent()+`if (${u}) {
1773
- `,this.indentLevel++,W+=this.indent()+this.emit(f,"statement")+`;
1774
- `,this.indentLevel--,W+=this.indent()+`}
1775
- `;else W+=this.indent()+this.emit(f,"statement")+`;
1776
- `};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+` {
1777
- `,this.indentLevel++,z)W+=this.indent()+z+`
1778
- `;return $(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-as"){let{header:Q}=this._forAsHeader(Y,Z,G);return W+=Q+` {
1779
- `,this.indentLevel++,$(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-of"){let{header:Q,own:z,vv:A,oc:J,kvp:K}=this._forOfHeader(Y,Z,G);if(W+=Q+` {
1780
- `,this.indentLevel++,z)W+=this.indent()+`if (!Object.hasOwn(${J}, ${K})) continue;
1781
- `;if(A)W+=this.indent()+`${A} = ${J}[${K}];
1782
- `;return $(),this.indentLevel--,W+=this.indent()+"}",W}}return this.emit(["comprehension",f,U,_],"value")}emitIfElseWithEarlyReturns(f){let[U,_,W,...u]=f,$="",F=this.emit(_,"value");$+=this.indent()+`if (${F}) {
1783
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(W)),$+=this.indent()+"}";for(let Y of u)if($+=" else ",this.is(Y,"if")){let[,Z,G,...Q]=Y;$+=`if (${this.emit(Z,"value")}) {
1784
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(G)),$+=this.indent()+"}";for(let z of Q)$+=` else {
1785
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(z)),$+=this.indent()+"}"}else $+=`{
1786
- `,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";return $}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let U=this.unwrapBlock(f),_="";for(let W=0;W<U.length;W++){let u=W===U.length-1,$=U[W],F=Array.isArray($)?$[0]:null;if(u&&!(F==="return"||F==="throw"||F==="break"||F==="continue"))_+=this.indent()+`return ${this.emit($,"value")};
1787
- `;else _+=this.indent()+this.emit($,"statement")+`;
1788
- `}return _}emitIfAsExpression(f,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(f)||this.containsAwait(U)||_.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+" ";Z+=`if (${this.emit(f,"value")}) `,Z+=this.emitBlockWithReturns(U);for(let G of _)if(Z+=" else ",this.is(G,"if")){let[Q,z,A,...J]=G;Z+=`if (${this.emit(z,"value")}) `,Z+=this.emitBlockWithReturns(A);for(let K of J)if(Z+=" else ",this.is(K,"if")){let[D,w,X,...H]=K;Z+=`if (${this.emit(w,"value")}) `,Z+=this.emitBlockWithReturns(X),_.push(...H)}else Z+=this.emitBlockWithReturns(K)}else Z+=this.emitBlockWithReturns(G);return Z+" })()"}let u=this.extractExpression(this.unwrapIfBranch(U)),$=this.buildTernaryChain(_),F=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))F=`(${F})`;return`(${F} ? ${u} : ${$})`}emitIfAsStatement(f,U,_){let W=`if (${this.unwrap(this.emit(f,"value"))}) `;W+=this.emit(this.unwrapIfBranch(U),"statement");for(let u of _)W+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return W}emitSwitchCaseBody(f,U){let _="",W=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(W)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
1789
- `;else if(U==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)_+=this.indent()+`return ${this.emit(u[$],"value")};
1790
- `;else _+=this.indent()+this.emit(u[$],"statement")+`;
1791
- `;else _+=this.indent()+`return ${this.extractExpression(f)};
1792
- `;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[$,F,Y,...Z]=u[0],G=this.extractExpression(this.unwrapIfBranch(Y)),Q=this.buildTernaryChain(Z);_+=this.indent()+`(${this.unwrap(this.emit(F,"value"))} ? ${G} : ${Q});
1793
- `}else if(this.is(f,"block")&&f.length>1)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
1794
- `;else _+=this.indent()+this.emit(f,"statement")+`;
1795
- `;_+=this.indent()+`break;
1796
- `}return _}emitSwitchAsIfChain(f,U,_){let W="";for(let u=0;u<f.length;u++){let[,$,F]=f[u],Y=Array.isArray($)?$[0]:$;if(W+=(u===0?"":" else ")+`if (${this.emit(Y,"value")}) {
1797
- `,this.indentLevel++,_==="value")W+=this.indent()+`return ${this.extractExpression(F)};
1798
- `;else for(let Z of this.unwrapBlock(F))W+=this.indent()+this.emit(Z,"statement")+`;
1799
- `;this.indentLevel--,W+=this.indent()+"}"}if(U){if(W+=` else {
1800
- `,this.indentLevel++,_==="value")W+=this.indent()+`return ${this.extractExpression(U)};
1801
- `;else for(let u of this.unwrapBlock(U))W+=this.indent()+this.emit(u,"statement")+`;
1802
- `;this.indentLevel--,W+=this.indent()+"}"}if(_==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||U&&this.containsAwait(U);return this.asyncIIFE(u,W)}return W}asyncIIFE(f,U){return`${f?"await ":""}(${f?"async ":""}() => { ${U} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let U=this.unwrapBlock(f);return U.length>0?this.emit(U[U.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,U){if(!U||U.endsWith(";"))return!1;if(!U.endsWith("}"))return!0;let _=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(_)}addSemicolon(f,U){return U+(this.needsSemicolon(f,U)?";":"")}formatStatements(f,U="statement"){return f.map((_)=>this.indent()+this.addSemicolon(_,this.emit(_,U)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]));if(U==="switch"){let[,,_]=f;return _?.some((W)=>{return this.unwrapBlock(W[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(U==="if"){let[,,_,W]=f;return this.branchHasControlFlow(_)&&W&&this.branchHasControlFlow(W)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let U=this.unwrapBlock(f);if(U.length===0)return!1;let _=U[U.length-1];return Array.isArray(_)&&["return","throw","break","continue"].includes(_[0])}withIndent(f){this.indentLevel++;let U=f();return this.indentLevel--,U}is(f,U,_){if(!Array.isArray(f))return null;if((k(f[0])??f[0])!==U)return null;let W=f.slice(1);if(_!=null&&W.length!==_)return null;return W}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=0,W=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")U++;if(f[$]===")")U--;if(f[$]==="["||f[$]==="{")_++;if(f[$]==="]"||f[$]==="}")_--;if(f[$]===","&&U===1&&_===0)u=!0;if(U===0&&$<f.length-1){W=!1;break}}if(u)W=!1;if(W)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let U=this._findOptionalInTarget(f[1]);if(U)return{guard:U.guard,rewritten:[f[0],U.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=1/0;for(let W=1;W<f.length-1;W++){if(f[W]==="(")U++;if(f[W]===")")U--;_=Math.min(_,U)}if(_>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[U,..._]=f;if(U!=="&&"&&U!=="||")return f;let W=[],u=($)=>{if(Array.isArray($)&&$[0]===U)for(let F=1;F<$.length;F++)u($[F]);else W.push($)};for(let $ of _)u($);return[U,...W]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>this.hasStatementInBranch(_));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[U,_,W,...u]=f;return this.is(W,"block")&&W.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let U=f[0];if(this.is(U,"if")){let[_,W,u,...$]=U,F=this.extractExpression(this.unwrapIfBranch(u)),Y=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(W,"value")} ? ${F} : ${Y})`}return this.extractExpression(this.unwrapIfBranch(U))}collectVarsFromArray(f,U){f.slice(1).forEach((_)=>{if(_===","||_==="...")return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="..."&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="="&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromLoopHead(f,U){if(!Array.isArray(f))return;f.forEach((_)=>{if(_==null)return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromObject(f,U){f.slice(1).forEach((_)=>{if(!Array.isArray(_))return;if(_[0]==="..."&&typeof _[1]==="string"){U.add(_[1]);return}if(_.length>=2){let[W,u,$]=_;if(W==="="){if(typeof u==="string")U.add(u)}else if(typeof $==="string")U.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,U);else if($[0]==="object")this.collectVarsFromObject($,U)}}})}extractStringContent(f){let U=k(f).slice(1,-1),_=W1(f,"indent");if(_)U=U.replace(new RegExp(`\\n${_}`,"g"),`
1803
- `);if(W1(f,"initialChunk")&&U.startsWith(`
1804
- `))U=U.slice(1);if(W1(f,"finalChunk")&&U.endsWith(`
1805
- `))U=U.slice(0,-1);return U}processHeregex(f){let U="",_=!1,W=0,u=()=>{let $=0,F=W-1;while(F>=0&&f[F]==="\\")$++,F--;return $%2===1};while(W<f.length){let $=f[W];if($==="["&&!u()){_=!0,U+=$,W++;continue}if($==="]"&&_&&!u()){_=!1,U+=$,W++;continue}if(_){U+=$,W++;continue}if(/\s/.test($)){W++;continue}if($==="#"){if(u()){U+=$,W++;continue}let F=W-1;while(F>=0&&f[F]==="\\")F--;if(F<W-1){U+=$,W++;continue}while(W<f.length&&f[W]!==`
1806
- `)W++;continue}U+=$,W++}return U}addJsExtensionAndAssertions(f){if(f instanceof String)f=k(f);if(typeof f!=="string")return f;let _=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,W=_.startsWith("./")||_.startsWith("../"),u=_,$="";if(W){let F=_.lastIndexOf("/"),Y=F>=0?_.substring(F+1):_;if(Y.includes(".")){if(Y.endsWith(".json"))$=" with { type: 'json' }"}else u=_+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&k(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsIt(U));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&W1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsAwait(U));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsYield(U));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
1359
+ `,u}}return u="",u+=this.indent()+`${h} = ${this.emit(["comprehension",f,l,c||[]],"value")};
1360
+ `,u}emitComprehensionAsLoop(f,l,c){let h="",u=c?.length?c.map((i)=>this.emit(i,"value")).join(" && "):null,_=()=>{if(u)h+=this.indent()+`if (${u}) {
1361
+ `,this.indentLevel++,h+=this.indent()+this.emit(f,"statement")+`;
1362
+ `,this.indentLevel--,h+=this.indent()+`}
1363
+ `;else h+=this.indent()+this.emit(f,"statement")+`;
1364
+ `};if(l.length===1){let[i,w,D,n]=l[0];if(i==="for-in"){let{header:A,setup:$}=this._forInHeader(w,D,n);if(h+=A+` {
1365
+ `,this.indentLevel++,$)h+=this.indent()+$+`
1366
+ `;return _(),this.indentLevel--,h+=this.indent()+"}",h}if(i==="for-as"){let{header:A}=this._forAsHeader(w,D,n);return h+=A+` {
1367
+ `,this.indentLevel++,_(),this.indentLevel--,h+=this.indent()+"}",h}if(i==="for-of"){let{header:A,own:$,vv:R,oc:M,kvp:z}=this._forOfHeader(w,D,n);if(h+=A+` {
1368
+ `,this.indentLevel++,$)h+=this.indent()+`if (!Object.hasOwn(${M}, ${z})) continue;
1369
+ `;if(R)h+=this.indent()+`let ${R} = ${M}[${z}];
1370
+ `;return _(),this.indentLevel--,h+=this.indent()+"}",h}}return this.emit(["comprehension",f,l,c],"value")}emitIfElseWithEarlyReturns(f){let[l,c,h,...u]=f,_="",i=this.emit(c,"value");_+=this.indent()+`if (${i}) {
1371
+ `,_+=this.withIndent(()=>this.emitBranchWithReturn(h)),_+=this.indent()+"}";for(let w of u)if(_+=" else ",this.is(w,"if")){let[,D,n,...A]=w;_+=`if (${this.emit(D,"value")}) {
1372
+ `,_+=this.withIndent(()=>this.emitBranchWithReturn(n)),_+=this.indent()+"}";for(let $ of A)_+=` else {
1373
+ `,_+=this.withIndent(()=>this.emitBranchWithReturn($)),_+=this.indent()+"}"}else _+=`{
1374
+ `,_+=this.withIndent(()=>this.emitBranchWithReturn(w)),_+=this.indent()+"}";return _}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let l=this.unwrapBlock(f),c="";for(let h=0;h<l.length;h++){let u=h===l.length-1,_=l[h],i=Array.isArray(_)?_[0]:null;if(u&&!(i==="return"||i==="throw"||i==="break"||i==="continue"))c+=this.indent()+`return ${this.emit(_,"value")};
1375
+ `;else c+=this.indent()+this.emit(_,"statement")+`;
1376
+ `}return c}emitIfAsExpression(f,l,c){if(this.is(l,"block")&&l.length>2||this.hasStatementInBranch(l)||c.some((w)=>this.is(w,"block")&&w.length>2||this.hasStatementInBranch(w)||this.hasNestedMultiStatement(w))){let w=this.containsAwait(f)||this.containsAwait(l)||c.some((n)=>this.containsAwait(n)),D=this.asyncIIFEOpen(w)+" ";D+=`if (${this.emit(f,"value")}) `,D+=this.emitBlockWithReturns(l);for(let n of c)if(D+=" else ",this.is(n,"if")){let[A,$,R,...M]=n;D+=`if (${this.emit($,"value")}) `,D+=this.emitBlockWithReturns(R);for(let z of M)if(D+=" else ",this.is(z,"if")){let[W,F,U,...H]=z;D+=`if (${this.emit(F,"value")}) `,D+=this.emitBlockWithReturns(U),c.push(...H)}else D+=this.emitBlockWithReturns(z)}else D+=this.emitBlockWithReturns(n);return D+" })()"}let u=this.extractExpression(this.unwrapIfBranch(l)),_=this.buildTernaryChain(c),i=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))i=`(${i})`;return`(${i} ? ${u} : ${_})`}emitIfAsStatement(f,l,c){let h=`if (${this.unwrap(this.emit(f,"value"))}) `;h+=this.emit(this.unwrapIfBranch(l),"statement");for(let u of c)h+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return h}emitSwitchCaseBody(f,l){let c="",h=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(h)for(let _ of u)c+=this.indent()+this.emit(_,"statement")+`;
1377
+ `;else if(l==="value")if(this.is(f,"block")&&f.length>2)for(let _=0;_<u.length;_++)if(_===u.length-1)c+=this.indent()+`return ${this.emit(u[_],"value")};
1378
+ `;else c+=this.indent()+this.emit(u[_],"statement")+`;
1379
+ `;else c+=this.indent()+`return ${this.extractExpression(f)};
1380
+ `;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[_,i,w,...D]=u[0],n=this.extractExpression(this.unwrapIfBranch(w)),A=this.buildTernaryChain(D);c+=this.indent()+`(${this.unwrap(this.emit(i,"value"))} ? ${n} : ${A});
1381
+ `}else if(this.is(f,"block")&&f.length>1)for(let _ of u)c+=this.indent()+this.emit(_,"statement")+`;
1382
+ `;else c+=this.indent()+this.emit(f,"statement")+`;
1383
+ `;c+=this.indent()+`break;
1384
+ `}return c}emitSwitchAsIfChain(f,l,c){let h="";for(let u=0;u<f.length;u++){let[,_,i]=f[u],w=Array.isArray(_)?_[0]:_;if(h+=(u===0?"":" else ")+`if (${this.emit(w,"value")}) {
1385
+ `,this.indentLevel++,c==="value")h+=this.indent()+`return ${this.extractExpression(i)};
1386
+ `;else for(let D of this.unwrapBlock(i))h+=this.indent()+this.emit(D,"statement")+`;
1387
+ `;this.indentLevel--,h+=this.indent()+"}"}if(l){if(h+=` else {
1388
+ `,this.indentLevel++,c==="value")h+=this.indent()+`return ${this.extractExpression(l)};
1389
+ `;else for(let u of this.unwrapBlock(l))h+=this.indent()+this.emit(u,"statement")+`;
1390
+ `;this.indentLevel--,h+=this.indent()+"}"}if(c==="value"){let u=f.some((_)=>this.containsAwait(_[1])||this.containsAwait(_[2]))||l&&this.containsAwait(l);return this.asyncIIFE(u,h)}return h}asyncIIFE(f,l){return`${f?"await ":""}(${f?"async ":""}() => { ${l} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let l=this.unwrapBlock(f);return l.length>0?this.emit(l[l.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,l){if(!l||l.endsWith(";"))return!1;if(!l.endsWith("}"))return!0;let c=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(c)}addSemicolon(f,l){return l+(this.needsSemicolon(f,l)?";":"")}formatStatements(f,l="statement"){return f.map((c)=>this.indent()+this.addSemicolon(c,this.emit(c,l)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let l=f[0];if(l==="return"||l==="throw"||l==="break"||l==="continue")return!0;if(l==="block")return f.slice(1).some((c)=>Array.isArray(c)&&["return","throw","break","continue"].includes(c[0]));if(l==="switch"){let[,,c]=f;return c?.some((h)=>{return this.unwrapBlock(h[2]).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]))})}if(l==="if"){let[,,c,h]=f;return this.branchHasControlFlow(c)&&h&&this.branchHasControlFlow(h)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let l=this.unwrapBlock(f);if(l.length===0)return!1;let c=l[l.length-1];return Array.isArray(c)&&["return","throw","break","continue"].includes(c[0])}withIndent(f){this.indentLevel++;let l=f();return this.indentLevel--,l}is(f,l,c){if(!Array.isArray(f))return null;if((m(f[0])??f[0])!==l)return null;let h=f.slice(1);if(c!=null&&h.length!==c)return null;return h}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let l=0,c=0,h=!0,u=!1;for(let _=0;_<f.length;_++){if(f[_]==="(")l++;if(f[_]===")")l--;if(f[_]==="["||f[_]==="{")c++;if(f[_]==="]"||f[_]==="}")c--;if(f[_]===","&&l===1&&c===0)u=!0;if(l===0&&_<f.length-1){h=!1;break}}if(u)h=!1;if(h)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let l=this._findOptionalInTarget(f[1]);if(l)return{guard:l.guard,rewritten:[f[0],l.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let l=0,c=1/0;for(let h=1;h<f.length-1;h++){if(f[h]==="(")l++;if(f[h]===")")l--;c=Math.min(c,l)}if(c>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[l,...c]=f;if(l!=="&&"&&l!=="||")return f;let h=[],u=(_)=>{if(Array.isArray(_)&&_[0]===l)for(let i=1;i<_.length;i++)u(_[i]);else h.push(_)};for(let _ of c)u(_);return[l,...h]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let l=f[0];if(l==="return"||l==="throw"||l==="break"||l==="continue")return!0;if(l==="block")return f.slice(1).some((c)=>this.hasStatementInBranch(c));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[l,c,h,...u]=f;return this.is(h,"block")&&h.length>2||u.some((_)=>this.hasNestedMultiStatement(_))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let l=f[0];if(this.is(l,"if")){let[c,h,u,..._]=l,i=this.extractExpression(this.unwrapIfBranch(u)),w=this.buildTernaryChain([..._,...f.slice(1)]);return`(${this.emit(h,"value")} ? ${i} : ${w})`}return this.extractExpression(this.unwrapIfBranch(l))}collectVarsFromArray(f,l){f.slice(1).forEach((c)=>{if(c===","||c==="...")return;if(typeof c==="string"){l.add(c);return}if(Array.isArray(c)){if(c[0]==="..."&&typeof c[1]==="string")l.add(c[1]);else if(c[0]==="="&&typeof c[1]==="string")l.add(c[1]);else if(c[0]==="array")this.collectVarsFromArray(c,l);else if(c[0]==="object")this.collectVarsFromObject(c,l)}})}collectVarsFromLoopHead(f,l){if(!Array.isArray(f))return;f.forEach((c)=>{if(c==null)return;if(typeof c==="string"){l.add(c);return}if(Array.isArray(c)){if(c[0]==="array")this.collectVarsFromArray(c,l);else if(c[0]==="object")this.collectVarsFromObject(c,l)}})}collectVarsFromObject(f,l){f.slice(1).forEach((c)=>{if(!Array.isArray(c))return;if(c[0]==="..."&&typeof c[1]==="string"){l.add(c[1]);return}if(c.length>=2){let[h,u,_]=c;if(h==="="){if(typeof u==="string")l.add(u)}else if(typeof _==="string")l.add(_);else if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,l);else if(_[0]==="object")this.collectVarsFromObject(_,l)}}})}extractStringContent(f){let l=m(f).slice(1,-1),c=l1(f,"indent");if(c)l=l.replace(new RegExp(`\\n${c}`,"g"),`
1391
+ `);if(l1(f,"initialChunk")&&l.startsWith(`
1392
+ `))l=l.slice(1);if(l1(f,"finalChunk")&&l.endsWith(`
1393
+ `))l=l.slice(0,-1);return l}processHeregex(f){let l="",c=!1,h=0,u=()=>{let _=0,i=h-1;while(i>=0&&f[i]==="\\")_++,i--;return _%2===1};while(h<f.length){let _=f[h];if(_==="["&&!u()){c=!0,l+=_,h++;continue}if(_==="]"&&c&&!u()){c=!1,l+=_,h++;continue}if(c){l+=_,h++;continue}if(/\s/.test(_)){h++;continue}if(_==="#"){if(u()){l+=_,h++;continue}let i=h-1;while(i>=0&&f[i]==="\\")i--;if(i<h-1){l+=_,h++;continue}while(h<f.length&&f[h]!==`
1394
+ `)h++;continue}l+=_,h++}return l}addJsExtensionAndAssertions(f){if(f instanceof String)f=m(f);if(typeof f!=="string")return f;let c=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,h=c.startsWith("./")||c.startsWith("../"),u=c,_="";if(h){let i=c.lastIndexOf("/"),w=i>=0?c.substring(i+1):c;if(w.includes(".")){if(w.endsWith(".json"))_=" with { type: 'json' }"}else u=c+".js"}return`'${u}'`+_}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&m(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((l)=>this.containsIt(l));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&l1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((l)=>this.containsAwait(l));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((l)=>this.containsYield(l));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
1807
1395
  // Rip Reactive Runtime
1808
1396
  // A minimal, fine-grained reactivity system
1809
1397
  //
@@ -2032,13 +1620,13 @@ if (typeof globalThis !== 'undefined') {
2032
1620
  }
2033
1621
 
2034
1622
  // === End Reactive Runtime ===
2035
- `}}class l1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,U){if(U)this.options={...this.options,...U};let _=null,W=f.split(`
2036
- `),u=W.findIndex((w)=>w==="__DATA__");if(u!==-1){let w=W.slice(u+1);_=w.length>0?w.join(`
1623
+ `}}class j1{constructor(f={}){this.options={showTokens:!1,showSExpr:!1,...f}}compile(f,l){if(l)this.options={...this.options,...l};let c=null,h=f.split(`
1624
+ `),u=h.findIndex((F)=>F==="__DATA__");if(u!==-1){let F=h.slice(u+1);c=F.length>0?F.join(`
2037
1625
  `)+`
2038
- `:"",f=W.slice(0,u).join(`
2039
- `)}let $=new K1,F;try{F=$.tokenize(f)}catch(w){throw T1(w,f,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,X=new Set,H=!1;for(let q of F){if(q[0]==="IMPORT"){H=!0;continue}if(H&&q[0]==="TERMINATOR"){H=!1;continue}if(H)continue;if(q[0]==="IDENTIFIER")X.add(q[1])}for(let q=F.length-1;q>=0;q--){if(F[q][0]!=="IMPORT")continue;let B=q+1;if(B>=F.length)continue;if(F[B][0]==="CALL_START"||F[B][0]==="(")continue;if(F[B][0]==="STRING")continue;let R=[];while(B<F.length&&F[B][0]!=="FROM"&&F[B][0]!=="TERMINATOR"){if(F[B][0]==="IDENTIFIER")R.push(F[B][1]);B++}if(R.length===0)continue;if(R.some((O)=>X.has(O)))continue;if(!R.some((O)=>w.has(O)))continue;let S=B;while(S<F.length&&F[S][0]!=="TERMINATOR")S++;if(S<F.length)S++;F.splice(q,S-q)}}while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((w)=>w[0]==="TERMINATOR")){if(Z)Y=X2(Z,["program"],f);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++],X=w[1];if(w.data)X=new String(X),Object.assign(X,w.data);return this.text=X,this.loc=w.loc,this.line=w.loc?.r,G=w.loc,w[0]}};let Q;try{Q=z1.parse(f)}catch(w){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new Z1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let X=T1(w,f,this.options.filename);if(X.phase==="parser"&&G)X.line=G.r??X.line,X.column=G.c??X.column,X.length=G.n||1;throw X}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",X=this.options.filename||"input.rip";z=new O2(w,X,f)}let A=new Y1({dataSection:_,source:f,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,sourceMap:z}),J=A.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);J+=`
2040
- //# sourceMappingURL=data:application/json;base64,${w}`}else if(K&&this.options.filename)J+=`
2041
- //# sourceMappingURL=${this.options.filename}.js.map`;if(Z)Y=X2(Z,Q,f);return{tokens:F,sexpr:Q,code:J,dts:Y,map:K,reverseMap:D,data:_,reactiveVars:A.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}G3(Y1,K1);Y1.prototype.emitEnum=n2;a1(null,Y1);function f2(f,U={}){return new l1(U).compile(f)}function D1(f,U={}){return new l1(U).compileToJS(f)}function m1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
1626
+ `:"",f=h.slice(0,u).join(`
1627
+ `)}let _=new F1,i;try{i=_.tokenize(f)}catch(F){throw I1(F,f,this.options.filename)}if(this.options.showTokens)i.forEach((F)=>console.log(`${F[0].padEnd(12)} ${JSON.stringify(F[1])}`)),console.log();let w=null,D=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)D=[...i];if(i=i.filter((F)=>F[0]!=="TYPE_DECL"),_.typeRefNames?.size>0){let F=_.typeRefNames,U=new Set,H=!1;for(let O of i){if(O[0]==="IMPORT"){H=!0;continue}if(H&&O[0]==="TERMINATOR"){H=!1;continue}if(H)continue;if(O[0]==="IDENTIFIER")U.add(O[1])}for(let O=i.length-1;O>=0;O--){if(i[O][0]!=="IMPORT")continue;let Q=O+1;if(Q>=i.length)continue;if(i[Q][0]==="CALL_START"||i[Q][0]==="(")continue;if(i[Q][0]==="STRING")continue;let q=[];while(Q<i.length&&i[Q][0]!=="FROM"&&i[Q][0]!=="TERMINATOR"){if(i[Q][0]==="IDENTIFIER")q.push(i[Q][1]);Q++}if(q.length===0)continue;if(q.some((Y)=>U.has(Y)))continue;if(!q.some((Y)=>F.has(Y)))continue;let K=Q;while(K<i.length&&i[K][0]!=="TERMINATOR")K++;if(K<i.length)K++;i.splice(O,K-O)}}while(i.length>0&&i[0][0]==="TERMINATOR")i.shift();if(i.every((F)=>F[0]==="TERMINATOR")){if(D&&e1)w=e1(D,["program"],f);return{tokens:i,sexpr:["program"],code:"",dts:w,data:c,reactiveVars:{}}}let n=null;A1.lexer={tokens:i,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let F=this.tokens[this.pos++],U=F[1];if(F.data)U=new String(U),Object.assign(U,F.data);return this.text=U,this.loc=F.loc,this.line=F.loc?.r,n=F.loc,F[0]}};let A;try{A=A1.parse(f)}catch(F){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new i1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let U=I1(F,f,this.options.filename);if(U.phase==="parser"&&n)U.line=n.r??U.line,U.column=n.c??U.column,U.length=n.n||1;throw U}if(this.options.showSExpr)console.log(R1(A,0,!0)),console.log();let $=null;if(this.options.sourceMap){let F=(this.options.filename||"output")+".js",U=this.options.filename||"input.rip";$=new H2(F,U,f)}let R=new h1({dataSection:c,source:f,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,schemaMode:this.options.schemaMode,sourceMap:$}),M=R.compile(A),z=$?$.toJSON():null,W=$?$.toReverseMap():null;if(z&&this.options.sourceMap==="inline"){let F;if(typeof Buffer<"u")F=Buffer.from(z,"utf8").toString("base64");else{let U=new TextEncoder().encode(z),H="";for(let O=0;O<U.length;O++)H+=String.fromCharCode(U[O]);F=btoa(H)}M+=`
1628
+ //# sourceMappingURL=data:application/json;base64,${F}`}else if(z&&this.options.filename)M+=`
1629
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(D&&e1)w=e1(D,A,f);return{tokens:i,sexpr:A,code:M,dts:w,map:z,reverseMap:W,data:c,reactiveVars:R.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}i3(h1,F1);h1.prototype.emitEnum=function(l,c,h){let[u,_]=c,i=u?.valueOf?.()??u,w=[];if(Array.isArray(_)){let A=_[0]==="block"?_.slice(1):[_];for(let $ of A)if(Array.isArray($)){if($[0]?.valueOf?.()==="="){let R=$[1]?.valueOf?.()??$[1],M=$[2]?.valueOf?.()??$[2];w.push([R,M])}}}if(w.length===0)return`const ${i} = {}`;let D=w.map(([A,$])=>`${A}: ${$}`).join(", "),n=w.map(([A,$])=>`${$}: "${A}"`).join(", ");return`const ${i} = {${D}, ${n}}`};s1(null,h1);function f2(f,l={}){return new j1(l).compile(f)}function z1(f,l={}){return new j1(l).compileToJS(f)}function m1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
2042
1630
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
2043
1631
  globalThis.exit ??= (code) => process.exit(code || 0);
2044
1632
  globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
@@ -2051,17 +1639,16 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
2051
1639
  globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
2052
1640
  globalThis.warn ??= console.warn;
2053
1641
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
2054
- `}function k1(){return new Y1({}).getReactiveRuntime()}function i1(){return new Y1({}).getComponentRuntime()}var Q3="3.14.4",z3="2026-04-23@16:29:21GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(k1())();if(!globalThis.__ripComponent)Function(i1())()}var a5=(f)=>{let U=f.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(U||[]).map((W)=>W.length));return f.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function A3(){let f=[],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)f.push({url:W})}for(let W of document.querySelectorAll('script[type="text/rip"]'))if(W.src)f.push({url:W.src});else{let u=a5(W.textContent);if(u)f.push({code:u})}if(f.length>0){let W=await Promise.allSettled(f.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 u=[],$=[];for(let Z of f)if(Z.bundle)u.push(Z.bundle);else if(Z.code)$.push(Z);let F=U?.getAttribute("data-router");if(F!=null&&u.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)+`
2055
- `}catch(A){console.error(I1(A,{source:z.code,file:z.url||"inline",color:!1}))}if(Q)try{await(0,eval)(`(async()=>{
2056
- ${Q}
2057
- })()`)}catch(z){console.error("Rip runtime error:",z)}}let G=S1.modules?.["ui.rip"];if(G?.launch){let Q=u[u.length-1],z=U.getAttribute("data-persist"),A={bundle:Q,hash:F==="hash"};if(z!=null)A.persist=z==="local"?"local":!0;await G.launch("",A)}}else{let Z=[];for(let z of u){for(let[A,J]of Object.entries(z.components||{}))Z.push({code:J,url:A});if(z.data){let A=U?.getAttribute("data-state"),J={};if(A)try{J=JSON.parse(A)}catch{}Object.assign(J,z.data),U?.setAttribute("data-state",JSON.stringify(J))}}Z.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Q=[];for(let z of Z){if(!z.code)continue;try{let A=D1(z.code,G);Q.push({js:A,url:z.url||"inline"})}catch(A){console.error(I1(A,{source:z.code,file:z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&U){let z=globalThis.stash;if(z){let A={},J=U.getAttribute("data-state");if(J)try{A=JSON.parse(J)}catch(w){console.error("Rip: invalid data-state JSON:",w.message)}let K=z({data:A});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((J)=>J.js).join(`
2058
- `),A=U?.getAttribute("data-mount");if(A){let J=U.getAttribute("data-target")||"body";z+=`
2059
- ${A}.mount(${JSON.stringify(J)});`}try{await(0,eval)(`(async()=>{
2060
- ${z}
2061
- })()`),document.body.classList.add("ready")}catch(J){if(J instanceof SyntaxError){console.error(`Rip syntax error in combined output: ${J.message}`);for(let K of Q)try{Function(`(async()=>{
2062
- ${K.js}
2063
- })()`)}catch(D){console.error(` → source: ${K.url}`,D.message)}}else console.error("Rip runtime error:",J)}}}}if(U?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let W=!1,u=1000,$=30000,F=()=>{let Y=new EventSource("/watch");Y.addEventListener("connected",()=>{if(u=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 A=new URL(z.href);A.searchParams.set("_r",G),z.href=A.toString(),Q++}),!Q)location.reload()}else location.reload()}),Y.onerror=()=>{Y.close(),setTimeout(F,u),u=Math.min(u*2,$)}};F()}}async function S1(f){for(let[F,Y]of Object.entries(S1.modules))if(f.includes(F))return Y;let U=await fetch(f).then((F)=>{if(!F.ok)throw Error(`importRip: ${f} (${F.status})`);return F.text()}),_=D1(U),W=`// ${f}
2064
- `,u=new Blob([W+_],{type:"application/javascript"});return await import(URL.createObjectURL(u))}S1.modules={};function J3(f){try{let U=f.replace(/^/gm," "),W=D1(`do ->
2065
- ${U}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");W=W.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(W);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(U){console.error(I1(U,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=J3,globalThis.importRip=S1,globalThis.compileToJS=D1,globalThis.__ripExports={compile:f2,compileToJS:D1,formatSExpr:X1,getStdlibCode:m1,VERSION:Q3,BUILD_DATE:z3,getReactiveRuntime:k1,getComponentRuntime:i1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let U=()=>A3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var W2={};b2(W2,{throttle:()=>t5,stash:()=>k3,setContext:()=>x3,raw:()=>v1,persistStash:()=>i3,launch:()=>u0,isStash:()=>o5,hold:()=>e5,hasContext:()=>h3,getContext:()=>j3,delay:()=>d3,debounce:()=>s5,createRouter:()=>n3,createResource:()=>r5,createRenderer:()=>a3,createComponents:()=>p3});var P2,X3,E2,w3,L2,L1,F1,K3,D3,V2,M3,H3,b1,G1,q3,O3,R3,P3,B3,I3,S3,N3,Q1,B2,p1,n1,U2,E3,L3,$2,d1,V3,C3,T3,I2,S2,j3,b3,C2,h3,y3,N2,E1,T2,v3,g3,h1,c3,x3,N1,l3,j1,y1,m3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,U)=>{if(!f)throw Error(U||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,U)=>{throw U!==void 0?new f(U):Error(f)};globalThis.rand??=(f,U)=>U!==void 0?(f>U&&([f,U]=[U,f]),Math.floor(Math.random()*(U-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((U)=>setTimeout(U,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((U,_)=>f.map((W)=>W[_]));({__state:F1,__effect:L1,__batch:L2}=globalThis.__rip);({setContext:x3,getContext:j3,hasContext:h3}=globalThis.__ripComponent||{});E2=new WeakMap;P2=new WeakMap;B2=0;U2=F1(0);Q1=0;N2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};y3=function(f){return/^-?\d+$/.test(f)};C2=function(f,U){let _;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=f[Symbol.for("signals")].get(U),!_)_=F1(f[U]),f[Symbol.for("signals")].set(U,_);return _};E1=function(f){return C2(f,Symbol.for("keys"))};m3=function(f){let U;if(!(f!=null&&typeof f==="object"))return f;if(f[Symbol.for("stash")])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(U=E2.get(f),U)return U;return T2(f)};T2=function(f){let U,_;return _=null,U={get:function(W,u){let $,F,Y;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return W;if(typeof u==="symbol")return Reflect.get(W,u);if(u==="length"&&Array.isArray(W))return E1(W).value,W.length;if(!Q1&&N2(u))return N1(_,u);if($=l3(_,u),$)return $;if(F=C2(W,u),Y=F.value,Y!=null&&typeof Y==="object")return m3(Y);return Y},set:function(W,u,$){let F,Y;if(!Q1&&N2(u))return j1(_,u,$),!0;if(F=W[u],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[u]=Y,W[Symbol.for("signals")]?.has(u))W[Symbol.for("signals")].get(u).value=Y;if(F===void 0&&Y!==void 0)E1(W).value=++B2;return U2.value++,!0},deleteProperty:function(W,u){let $;if(delete W[u],$=W[Symbol.for("signals")]?.get(u),$!=null)$.value=void 0;return E1(W).value=++B2,U2.value++,!0},ownKeys:function(W){return E1(W).value,Reflect.ownKeys(W)}},_=new Proxy(f,U),E2.set(f,_),_};X3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;y1=function(f){let U,_,W,u,$;W=("."+f).split(X3),W.shift(),$=[],_=0;while(_<W.length){if(u=W[_],U=u[0],U==="."||U==="/")$.push(u.slice(1));else if(U==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));_+=2}return $};h1=function(f,U){let _;if(typeof f==="number"&&f<0){if(_=v1(U),Array.isArray(_))return _.length+f}return f};N1=function(f,U){let _,W,u;return u=y1(U),_=f,Q1++,(()=>{try{for(W of u){if(_==null)return;_=_[h1(W,_)]}return _}finally{Q1--}})()};j1=function(f,U,_){let W,u,$,F,Y,Z;return Z=y1(U),F=f,Q1++,(()=>{try{for(let G=0;G<Z.length;G++)if(Y=Z[G],u=h1(Y,F),G===Z.length-1)F[u]=_;else{if(F[u]==null)$=Z[G+1],F[u]=typeof $==="number"||y3($)?[]:{};F=F[u]}return _}finally{Q1--}})()};w3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};l3=function(f,U){let _,W;if(!w3[U])return;if(_=P2.get(f),!_)_={},P2.set(f,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F+$)};case"dec":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F-$)};case"flip":return function(u){let $;return $=N1(f,u)??!1,j1(f,u,!$)};case"join":return function(u,$){return L2(function(){let F,Y,Z;if(Y=N1(f,u),!(Y!=null&&typeof Y==="object"))j1(f,u,{}),Y=N1(f,u);return Q1++,(()=>{try{return(()=>{let G=[];for(F in $)Z=$[F],G.push(Y[F]=Z);return G})()}finally{Q1--}})()})};case"keys":return function(u){let $,F,Y,Z;return Q1++,(()=>{try{Y=y1(u),$=f;for(F of Y){if($==null)return[];$=$[h1(F,$)]}if(!($!=null&&typeof $==="object"))return[];return Z=v1($),E1(Z).value,Object.keys(Z)}finally{Q1--}})()};case"has":return function(u){let $,F,Y,Z,G,Q;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return!1;Y=f;for(let z=0;z<G.length;z++){if(Z=G[z],F=h1(Z,Y),z===G.length-1)return Q=v1(Y),E1(Q).value,Object.prototype.hasOwnProperty.call(Q,F);if(Y==null)return!1;Y=Y[F]}return!1}finally{Q1--}})()};case"del":return function(u){let $,F,Y,Z,G;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return;return Y=f,(()=>{let Q=[];for(let z=0;z<G.length;z++){if(Z=G[z],F=h1(Z,Y),z===G.length-1){delete Y[F];return}if(Y==null)return;Q.push(Y=Y[F])}return Q})()}finally{Q1--}})()}}})(),_[U]=W,W};var k3=function(f={}){return T2(f)},v1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},o5=function(f){return f?.[Symbol.for("stash")]===!0},i3=function(f,U={}){let _,W,u,$,F,Y,Z,G;if(Z=v1(f)||f,Z[Symbol.for("persisted")])return;Z[Symbol.for("persisted")]=!0,F=U.local?localStorage:sessionStorage,Y=U.key||"__rip_app";try{if(u=F.getItem(Y),u){$=JSON.parse(u);for(W in $)G=$[W],f.data[W]=G}}catch{}return _=function(){return(()=>{try{return F.setItem(Y,JSON.stringify(v1(f.data)))}catch{return null}})()},L1(function(){let Q;return U2.value,Q=setTimeout(_,2000),function(){return clearTimeout(Q)}}),window.addEventListener("beforeunload",_)},r5=function(f,U={}){let _,W,u,$,F;if(_=F1(U.initial||null),u=F1(!1),W=F1(null),$=async function(){let Y;return u.value=!0,W.value=null,await(async()=>{try{return Y=await f(),_.value=Y}catch(Z){return W.value=Z}finally{u.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 u.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};n1=function(f){return typeof f==="function"?f:function(){return f.value}};p1=function(f,U){let _;return _={read:function(){return f.read()}},Object.defineProperty(_,"value",{get:function(){return f.value},set:function(W){return U.value=W}}),_};var d3=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return u=setTimeout(function(){return W.value=!0},f),function(){return clearTimeout(u)};else return W.value=!1}),typeof U!=="function"?p1(W,U):W},s5=function(f,U){let _,W;return _=n1(U),W=F1(_()),L1(function(){let u,$;return $=_(),u=setTimeout(function(){return W.value=$},f),function(){return clearTimeout(u)}}),typeof U!=="function"?p1(W,U):W},t5=function(f,U){let _,W,u;return _=n1(U),u=F1(_()),W=0,L1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=f-($-W),F<=0)return u.value=Z,W=$;else return Y=setTimeout(function(){return u.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?p1(u,U):u},e5=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return W.value=!0;else return u=setTimeout(function(){return W.value=!1},f),function(){return clearTimeout(u)}}),typeof U!=="function"?p1(W,U):W},p3=function(){let f,U,_,W;return U=new Map,W=[],f=new Map,_=function(u,$){let F,Y=[];for(F of W)Y.push(F(u,$));return Y},{read:function(u){return U.get(u)},write:function(u,$){let F;return F=!U.has(u),U.set(u,$),f.delete(u),_(F?"create":"change",u)},del:function(u){return U.delete(u),f.delete(u),_("delete",u)},exists:function(u){return U.has(u)},size:function(){return U.size},list:function(u=""){let $,F,Y,Z;Z=[],F=u?u+"/":"";for([$]of U)if($.startsWith(F)){if(Y=$.slice(F.length),Y.includes("/"))continue;Z.push($)}return Z},listAll:function(u=""){let $,F,Y;Y=[],F=u?u+"/":"";for([$]of U)if($.startsWith(F))Y.push($);return Y},load:function(u){let $,F,Y=[];for(F in u)$=u[F],Y.push(U.set(F,$));return Y},watch:function(u){return W.push(u),function(){return W.splice(W.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};T3=function(f){let U;if(U=f.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};g3=function(f){let U,_;return U=[],_=f.replace(/\*(\w+)/g,function(W,u){return U.push(u),"(.+)"}).replace(/:(\w+)/g,function(W,u){return U.push(u),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};v3=function(f,U){let _,W,u,$,F;for(F of U)if(W=f.match(F.regex.regex),W){$={};for(let Y=0;Y<F.regex.names.length;Y++)u=F.regex.names[Y],$[u]=decodeURIComponent(W[Y+1]);return{route:F,params:$}}return null};$2=function(f,U="components"){let _,W,u,$,F,Y,Z,G,Q,z;G=[],$=new Map,_=f.listAll(U);for(u of _){if(Z=u.slice(U.length+1),!Z.endsWith(".rip"))continue;if(F=Z.split("/").pop(),F==="_layout.rip"){W=Z==="_layout.rip"?"":Z.slice(0,-12),$.set(W,u);continue}if(F.startsWith("_"))continue;if(Q=Z.split("/"),Q.length>1&&Q.some(function(A,J){return J<Q.length-1&&A.startsWith("_")}))continue;z=T3(Z),Y=g3(z),G.push({pattern:z,regex:Y,file:u,rel:Z})}return G.sort(function(A,J){let K,D,w,X;if(D=(A.pattern.match(/:/g)||[]).length,X=(J.pattern.match(/:/g)||[]).length,K=A.pattern.includes("*")?1:0,w=J.pattern.includes("*")?1:0,K!==w)return K-w;if(D!==X)return D-X;return A.pattern.localeCompare(J.pattern)}),{routes:G,layouts:$}};b3=function(f,U,_){let W,u,$,F,Y,Z;if(W=[],F=f.slice(U.length+1),Z=F.split("/"),u="",_.has(""))W.push(_.get(""));for(let G=0;G<Z.length;G++){if(Y=Z[G],G===Z.length-1)break;if(u=u?u+"/"+Y:Y,_.has(u))W.push(_.get(u))}return W};var n3=function(f,U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S;if(H=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,B=function(O){return Q&&O.startsWith(Q)?O.slice(Q.length)||"/":O},G=function(O){return Q?Q+O:O},w=function(){let O;if(z){if(O=location.hash.slice(1),!O)return"/";return O[0]==="/"?O:"/"+O}else return location.pathname+location.search+location.hash},S=function(O){return z?O==="/"?location.pathname:"#"+O.slice(1):G(O)},F=F1(B(z?w():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),u=d3(100,F1(!1)),R=$2(f,H),A=new Set,f.watch(function(O,P){if(!P.startsWith(H+"/"))return;return R=$2(f,H)}),X=function(O){let P,M,I,L,V,N;if(V=O.split("?")[0].split("#")[0],I=B(V),I=I[0]==="/"?I:"/"+I,L=O.split("?")[1]?.split("#")[0]||"",M=O.includes("#")?O.split("#")[1]:"",N=v3(I,R.routes),N){L2(function(){return F.value=I,$.value=N.params,Z.value=N.route,W.value=b3(N.route.file,H,R.layouts),Y.value=Object.fromEntries(new URLSearchParams(L)),_.value=M});for(P of A)P(q.current);return!0}if(K)K({status:404,path:I});return!1},D=function(){return X(w())},typeof window<"u")window.addEventListener("popstate",D);if(J=function(O){let P,M,I;if(O.button!==0||O.metaKey||O.ctrlKey||O.shiftKey||O.altKey)return;M=O.target;while(M&&M.tagName!=="A")M=M.parentElement;if(!M?.href)return;if(I=new URL(M.href,location.origin),I.origin!==location.origin)return;if(M.target==="_blank"||M.hasAttribute("data-external"))return;return O.preventDefault(),P=z&&I.hash?I.hash.slice(1)||"/":I.pathname+I.search+I.hash,q.push(P)},typeof document<"u")document.addEventListener("click",J);return q={push:function(O){return X(O)?history.pushState(null,"",S(F.read())):void 0},replace:function(O){return X(O)?history.replaceState(null,"",S(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(O){return A.add(O),function(){return A.delete(O)}},rebuild:function(){return R=$2(f,H)},routes:void 0,init:function(){return X(w()),q},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",J);return A.clear()}},Object.defineProperty(q,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(q,"path",{get:function(){return F.value}}),Object.defineProperty(q,"params",{get:function(){return $.value}}),Object.defineProperty(q,"route",{get:function(){return Z.value}}),Object.defineProperty(q,"layouts",{get:function(){return W.value}}),Object.defineProperty(q,"query",{get:function(){return Y.value}}),Object.defineProperty(q,"hash",{get:function(){return _.value}}),Object.defineProperty(q,"navigating",{get:function(){return u.value},set:function(O){return u.value=O}}),Object.defineProperty(q,"routes",{get:function(){return R.routes}}),q};E3=function(f,U){let _,W;if(f.length!==U.length)return!1;for(let u=0;u<f.length;u++)if(W=f[u],W!==U[u])return!1;return!0};S2=function(f){let U,_;for(U in f)if(_=f[U],typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _;return typeof f.default==="function"?f.default:void 0};I2=function(f){let U,_,W;_={};for(U in f)if(W=f[U],typeof W==="function"&&(W.prototype?.mount||W.prototype?._create))_[U]=W;return _};C3=function(f){let U;return U=f.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,u){return u.toUpperCase()})};L3=function(f,U="components"){let _,W,u,$;W={};for($ of f.listAll(U)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(u=C3($),W[u])console.warn(`[Rip] Component name collision: ${u} (${W[u]} vs ${$})`);W[u]=$}return W};c3=function(f,U,_){let W,u,$,F,Y,Z;if($=f.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){Y=U.split("/"),Y.pop();for(Z of f.split("/"))if(Z==="..")Y.pop();else if(Z!==".")Y.push(Z);if(u=Y.join("/"),_.exists(u))return u}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(F of _.listAll("components"))if(F.endsWith(`/${W}`))return F;return null};d1=async function(f,U,_=null,W=null,u=null){let $,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S,O,P,M,I,L,V,N,C,E,l,T,j;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(u&&W)u.compiling??={},u.compiling[W]=!0;if(D=U(f),u){if(K=new Set,_){C=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,H=Array.from(D.matchAll(C));for(let b=H.length-1;b>=0;b--){if(X=H[b],[A,L,O,E,I]=X,l=c3(E,W,_),l===W)continue;if(!l){if(B=`[Rip] Could not resolve import: ${E}`,W)B+=` (from ${W})`;console.warn(B);continue}if(!u.blobUrls?.[l]){if(u.compiling?.[l])continue;if(Q=_.read(l),Q)await d1(Q,U,_,l,u)}if(F=u.blobUrls?.[l],F){if(N=`${L}${F}${I}`,D=D.slice(0,X.index)+N+D.slice(X.index+A.length),O)for(R of O.split(","))K.add(R.trim().split(/\s+as\s+/).pop().trim())}}}M={};for(S in u.map){if(G=u.map[S],K.has(S))continue;if(G!==W&&D.includes(`new ${S}(`)){if(!u.classes[S]){if(Q=_.read(G),Q){Z=await d1(Q,U,_,G,u),z=I2(Z);for(w in z)j=z[w],u.classes[w]=j}}if(u.classes[S])M[S]=!0}}if(P=Object.keys(M),P.length>0)V=`const {${P.join(", ")}} = globalThis['${u.key}'];
2066
- `,D=V+D}if(J=W?`// ${W}
2067
- `:"",$=new Blob([J+D],{type:"application/javascript"}),T=URL.createObjectURL($),u&&W){if(u.blobUrls??={},u.blobUrls[W]=T,u.compiling)delete u.compiling[W]}if(q=await import(T),u){z=I2(q);for(w in z)j=z[w],u.classes[w]=j}if(_&&W)_.setCompiled(W,q);return q};var a3=function(f={}){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S;if({router:B,app:U,components:$,resolver:q,compile:W,target:R,onError:X}=f,F=typeof R==="string"?document.querySelector(R):R||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],J=[],D=F,A=0,z=null,u=new Map,K=f.cacheSize||10,_=function(){let O,P;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(u.set(Q,Y),u.size>K){if(P=u.keys().next().value,O=u.get(P),O.unmounted)O.unmounted();u.delete(P)}return Y=null,Q=null}},S=function(){let O;_();for(let P=J.length-1;P>=0;P--){if(O=J[P],O.beforeUnmount)O.beforeUnmount();if(O.unmounted)O.unmounted();O._target?.remove()}return J=[],D=F},$.watch(function(O,P){let M;if(u.has(P)){if(M=u.get(P),M.unmounted)M.unmounted();return u.delete(P)}}),w=async function(O){let P,M,I,L,V,N,C,E,l,T,j,b,i,r,U1,y,v,x,d,o,u1,c,n;if({route:o,params:v,layouts:l,query:d}=O,!o)return;if(o.file===Q&&JSON.stringify(v)===JSON.stringify(G))return;return G=v,L=++A,B.navigating=!0,await(async()=>{try{if(c=$.read(o.file),!c){if(X)X({status:404,message:`File not found: ${o.file}`});B.navigating=!1;return}if(i=await d1(c,W,$,o.file,q),L!==A){B.navigating=!1;return}if(P=S2(i),!P){if(X)X({status:500,message:`No component found in ${o.file}`});B.navigating=!1;return}if(b=!E3(l,Z),U1=Y?._target,b)S();else _();if(r=b?F:D,b&&l.length>0){F.innerHTML="",r=F;for(E of l){if(j=$.read(E),!j)continue;if(T=await d1(j,W,$,E,q),L!==A){B.navigating=!1;return}if(M=S2(T),!M)continue;if(N=new M({app:U,params:v,router:B}),N.beforeMount)N.beforeMount();n=document.createElement("div"),n.setAttribute("data-layout",E),r.appendChild(n),N.mount(n),J.push(N),u1=n.querySelector("#content")||n,r=u1}Z=[...l],D=r}else if(b)F.innerHTML="",Z=[],D=F;if(I=u.get(o.file),I){if(u.delete(o.file),r.appendChild(I._target),Y=I,Q=o.file,v)I.params=v;if(d)I.query=d;if(I.mounted)I.mounted();if(I.load)await I.load(v,d)}else{if(y=document.createElement("div"),y.setAttribute("data-component",o.file),r.appendChild(y),C=new P({app:U,params:v,query:d,router:B}),C.beforeMount)C.beforeMount();if(C.mount(y),Y=C,Q=o.file,C.load)await C.load(v,d)}return U1?.remove(),B.navigating=!1}catch(s){if(B.navigating=!1,console.error(`Renderer: error mounting ${o.file}:`,s),X)X({status:500,message:s.message,error:s});V=!1;for(let e=J.length-1;e>=0;e--)if(N=J[e],N.onError)try{N.onError(s),V=!0;break}catch(h){console.error("Renderer: error boundary failed:",h)}return(()=>{if(!V)return x=document.createElement("pre"),x.style.cssText="color:red;padding:1em",x.textContent=s.stack||s.message,F.innerHTML="",F.appendChild(x)})()}})()},H={start:function(){return z=L1(function(){let O;return O=B.current,O.route?w(O):void 0}),B.init(),H},stop:function(){if(S(),z)z(),z=null;return F.innerHTML=""},remount:function(){let O;return O=B.current,O.route?w(O):void 0},cache:u},H};V3=function(f){let U,_,W;return W=1000,_=30000,U=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return W=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){let $,F=[];for($ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString();return F}),u.onerror=function(){return u.close(),setTimeout(U,W),W=Math.min(W*2,_)}},U()};var u0=async function(f="",U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H;if(globalThis.__ripLaunched=!0,typeof f==="object")U=f,f="";if(f=f.replace(/\/+$/,""),H=U.target||"#app",Y=U.compile||null,J=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(H))Z=document.createElement("div"),Z.id=H.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)u=U.bundle;else if(U.bundleUrl){if(A={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)A["If-None-Match"]=$;if(D=await fetch(U.bundleUrl,{headers:A}),D.status===304)u=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(D.ok){if(u=await D.json(),G=D.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(u))}else throw Error(`launch: ${U.bundleUrl} (${D.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=k3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,u.data)_.data=u.data;if(u.routes)_.routes=u.routes;if(J&&typeof sessionStorage<"u")i3(_,{local:J==="local",key:`__rip_${f}`});if(W=p3(),u.components)W.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,w={map:L3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=w.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(X=n3(W,{root:"components",base:f,hash:z,onError:function(q){return console.error(`[Rip] Error ${q.status}: ${q.message||q.path}`)}}),K=a3({router:X,app:_,components:W,resolver:w,compile:Y,target:H,onError:function(q){return console.error(`[Rip] ${q.message}`,q.error)}}),K.start(),u.data?.watch)V3(`${f}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:X,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:X,renderer:K}};G1=function(f,U){if(!U)return;return f.preventDefault(),f.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;M3=function(f,U){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return G1(f,U.next);case"ArrowUp":return G1(f,U.prev);case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);case"Tab":return U.tab?.();default:return f.key.length===1?U.char?.(f.key):void 0}})()};q3=function(f,U,_,W=[],u=null){let $,F,Y;if(!f)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 u?u():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};O3=function(f=250){let U;return U=0,{block:function(_=f){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};D3=function(f,U,_,W=null){let u,$,F,Y,Z,G,Q,z,A,J,K;if(Y=function(D){return typeof D==="function"?D():D},u=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(X=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||X<=1)return;return setTimeout(function(){return D(X-1)},16)},requestAnimationFrame(function(){return D()})},Z=function(D){let w;if(w=D.newState==="open",w)Q=Y(W)||u(),K(!0);else K(!1),z();return _?.(w)},F.addEventListener("toggle",Z),A=F.matches(":popover-open"),$=!!f,A!==$){if(J=Y(W),$)Q=J||u(),K(!0);G=J&&$?{force:$,source:J}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};K3=function(f,U,_,W=!0){let u,$,F,Y,Z,G,Q,z;if(F=function(A){return typeof A==="function"?A():A},u=function(){let A,J;if(A=document.activeElement,A&&A!==document.body)return A;if(J=globalThis.__ariaLastFocusedEl,J?.isConnected!==!1)return J;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(A){if(A){$.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 A,J;if(J=G,G=null,!J?.focus)return;return A=function(K=6){if(J.isConnected===!1)return;try{J.focus({preventScroll:!0})}catch{J.focus()}if(document.activeElement===J||K<=1)return;return setTimeout(function(){return A(K-1)},16)},requestAnimationFrame(function(){return A()})},Y=function(A){if(!W){A.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),f&&!$.open){if(!G)G=u();z(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else z(!!f);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};B3=function(f,U,_="vertical"){let W,u;if(f.isComposing)return;return u=_!=="horizontal",W=_!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?G1(f,U.next):void 0;case"ArrowUp":return u?G1(f,U.prev):void 0;case"ArrowRight":return W?G1(f,U.next):void 0;case"ArrowLeft":return W?G1(f,U.prev):void 0;case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);default:return f.key.length===1?U.char?.(f.key):void 0}})()};P3=function(f,U,_=4,W=!0){let u,$;if(!(f&&U))return;if($=f.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,u=U.getBoundingClientRect(),u.bottom>window.innerHeight)U.style.top=`${$.top-u.height-_}px`;if(u.right>window.innerWidth)U.style.left=`${window.innerWidth-u.width-_}px`;return W?U.style.visibility="visible":void 0};var f0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';I3=function(f){let U;return U=function(_){let W,u,$;if(_.key!=="Tab")return;if($=Array.from(f.querySelectorAll(f0)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],u=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),u.focus()):void 0:document.activeElement===u?(_.preventDefault(),W.focus()):void 0},f.addEventListener("keydown",U),function(){return f.removeEventListener("keydown",U)}};N3=function(f,U){let _,W;if(!f)return;if(W=f.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,f.setAttribute("aria-labelledby",W.id);if(_=f.querySelector("p"),_)return _.id??=`${U}-desc`,f.setAttribute("aria-describedby",_.id)};b1=[];H3=function(f){let U;if(U=window.scrollY,b1.push({instance:f,scrollY:U}),b1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};S3=function(f){let U,_;if(U=b1.findIndex(function(W){return W.instance===f}),U<0)return;if({scrollY:_}=b1.splice(U,1)[0],!b1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)};V2=function(){let f,U,_;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),U=document.createElement("div"),f.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(f),document.body.appendChild(U),_=U.getBoundingClientRect(),f.remove(),U.remove(),_.top>50}catch{return!1}})()}();R3=function(f,U,_={}){let W,u,$,F,Y,Z,G;if(!(f&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,u=_.matchWidth??!1,V2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,f.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 u?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=f.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 u?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:M3,rovingNav:B3,popupDismiss:q3,popupGuard:O3,bindPopover:D3,bindDialog:K3,positionBelow:P3,trapFocus:I3,wireAria:N3,lockScroll:H3,unlockScroll:S3,position:R3,hasAnchor:V2};globalThis.ARIA??=globalThis.__aria;S1.modules["ui.rip"]=W2;for(let[f,U]of Object.entries(W2))if(typeof U==="function")globalThis[f]=U;})();
1642
+ `}function g1(){return new h1({}).getReactiveRuntime()}function v1(){return new h1({}).getComponentRuntime()}var n3="3.15.0",A3="2026-04-27@05:15:26GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(g1())();if(!globalThis.__ripComponent)Function(v1())()}var C5=(f)=>{let l=f.match(/^[ \t]*(?=\S)/gm),c=Math.min(...(l||[]).map((h)=>h.length));return f.replace(RegExp(`^[ ]{${c}}`,"gm"),"").trim()},Y2=(f)=>String(f).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function $3(f,l){let h=`//# sourceURL=${Y2(l)}`,u=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,_=f.match(u);if(_)return f.slice(0,_.index)+`
1643
+ `+h+f.slice(_.index);return f+`
1644
+ `+h}function M3(f,l){if(!l)return f;return f.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(c,h)=>{let u;try{let D=atob(h),n=new Uint8Array(D.length);for(let A=0;A<D.length;A++)n[A]=D.charCodeAt(A);u=new TextDecoder().decode(n)}catch{return c}let _;try{_=JSON.parse(u)}catch{return c}_.mappings=";".repeat(l)+_.mappings;let i=new TextEncoder().encode(JSON.stringify(_)),w="";for(let D=0;D<i.length;D++)w+=String.fromCharCode(i[D]);return`//# sourceMappingURL=data:application/json;base64,${btoa(w)}`})}function D3(f,l){let c=`${Y2(l)}.js`,h=M3(f,1);return`(async()=>{
1645
+ ${$3(h,c)}
1646
+ })()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:M3,addSourceURL:$3,sanitizeSourceURL:Y2};async function R3(){let f=[],l=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),c=l?.getAttribute("data-src");if(c){for(let h of c.trim().split(/\s+/))if(h)f.push({url:h})}for(let h of document.querySelectorAll('script[type="text/rip"]'))if(h.src)f.push({url:h.src});else{let u=C5(h.textContent);if(u)f.push({code:u})}if(f.length>0){let h=await Promise.allSettled(f.map(async(D)=>{if(!D.url)return;let n=await fetch(D.url);if(!n.ok)throw Error(`${D.url} (${n.status})`);if(D.url.endsWith(".rip"))D.code=await n.text();else{let A=await n.json();D.bundle=A}}));for(let D of h)if(D.status==="rejected")console.warn("Rip: fetch failed:",D.reason.message);let u=[],_=[];for(let D of f)if(D.bundle)u.push(D.bundle);else if(D.code)_.push(D);let i=l?.getAttribute("data-router");if(i!=null&&u.length>0){let D=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=D;let n={skipRuntimes:!0,skipExports:!0,skipImports:!0},A=0;for(let R of _){let M=R.url||`inline-${++A}.rip`,z=D?{...n,sourceMap:"inline",filename:M}:n,W;try{W=z1(R.code,z)}catch(F){console.error(G1(F,{source:R.code,file:M,color:!1}));continue}try{await(0,eval)(D?D3(W,M):`(async()=>{
1647
+ ${W}
1648
+ })()`)}catch(F){console.error(`Rip runtime error in ${M}:`,F)}}let $=J1.modules?.["app.rip"];if($?.launch){let R=u[u.length-1],M=l.getAttribute("data-persist"),z={bundle:R,hash:i==="hash"};if(M!=null)z.persist=M==="local"?"local":!0;await $.launch("",z)}}else{let D=[];for(let M of u){for(let[z,W]of Object.entries(M.components||{}))D.push({code:W,url:z});if(M.data){let z=l?.getAttribute("data-state"),W={};if(z)try{W=JSON.parse(z)}catch{}Object.assign(W,M.data),l?.setAttribute("data-state",JSON.stringify(W))}}D.push(..._);let n=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=n;let A={skipRuntimes:!0,skipExports:!0,skipImports:!0},$=[],R=0;for(let M of D){if(!M.code)continue;let z=M.url||`inline-${++R}.rip`,W=n?{...A,sourceMap:"inline",filename:z}:A;try{let F=z1(M.code,W);$.push({js:F,url:z})}catch(F){console.error(G1(F,{source:M.code,file:z,color:!1}))}}if(!globalThis.__ripApp&&l){let M=globalThis.stash;if(M){let z={},W=l.getAttribute("data-state");if(W)try{z=JSON.parse(W)}catch(H){console.error("Rip: invalid data-state JSON:",H.message)}let F=M({data:z});if(globalThis.__ripApp=F,typeof window<"u")window.app=F;let U=l.getAttribute("data-persist");if(U!=null&&globalThis.persistStash)globalThis.persistStash(F,{local:U==="local"})}}if($.length>0){let M=!1;for(let W of $)try{await(0,eval)(n?D3(W.js,W.url):`(async()=>{
1649
+ ${W.js}
1650
+ })()`)}catch(F){if(M=!0,F instanceof SyntaxError)console.error(`Rip syntax error in ${W.url}: ${F.message}`);else console.error(`Rip runtime error in ${W.url}:`,F)}let z=l?.getAttribute("data-mount");if(z){let W=l.getAttribute("data-target")||"body";try{await(0,eval)(`(async()=>{ ${z}.mount(${JSON.stringify(W)}); })()`)}catch(F){console.error(`Rip mount error (${z}):`,F)}}if(!M)document.body.classList.add("ready")}}}if(l?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let h=!1,u=1000,_=30000,i=()=>{let w=new EventSource("/watch");w.addEventListener("connected",()=>{if(u=1000,h)location.reload();h=!0}),w.addEventListener("reload",(D)=>{if(D.data==="styles"){let n=Date.now(),A=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach(($)=>{if(new URL($.href).origin!==location.origin)return;let R=new URL($.href);R.searchParams.set("_r",n),$.href=R.toString(),A++}),!A)location.reload()}else location.reload()}),w.onerror=()=>{w.close(),setTimeout(i,u),u=Math.min(u*2,_)}};i()}}async function J1(f){for(let[i,w]of Object.entries(J1.modules))if(f.includes(i))return w;let l=await fetch(f).then((i)=>{if(!i.ok)throw Error(`importRip: ${f} (${i.status})`);return i.text()}),c=z1(l),h=`// ${f}
1651
+ `,u=new Blob([h+c],{type:"application/javascript"});return await import(URL.createObjectURL(u))}J1.modules={};function U3(f){try{let l=f.replace(/^/gm," "),h=z1(`do ->
1652
+ ${l}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");h=h.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(h);if(u&&typeof u.then==="function")return u.then((_)=>{if(_!==void 0)globalThis._=_;return _});if(u!==void 0)globalThis._=u;return u}catch(l){console.error(G1(l,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=U3,globalThis.importRip=J1,globalThis.compileToJS=z1,globalThis.__ripExports={compile:f2,compileToJS:z1,formatSExpr:R1,getStdlibCode:m1,VERSION:n3,BUILD_DATE:A3,getReactiveRuntime:g1,getComponentRuntime:v1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let l=()=>R3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(l));else queueMicrotask(l)});var c2={};y2(c2,{throttle:()=>g5,stash:()=>r3,setContext:()=>m3,raw:()=>L1,persistStash:()=>x3,launch:()=>r5,isStash:()=>V5,hold:()=>v5,hasContext:()=>L3,getContext:()=>B3,delay:()=>a3,debounce:()=>m5,createRouter:()=>d3,createResource:()=>j5,createRenderer:()=>o3,createComponents:()=>s3});var K2,F3,Z2,z3,X2,X1,w1,W3,O3,P2,H3,Q3,y1,D1,Y3,K3,q3,G3,J3,S3,Z3,X3,n1,q2,x1,a1,l2,P3,N3,_2,r1,I3,E3,y3,G2,J2,B3,b3,N2,L3,T3,S2,Z1,I2,C3,V3,B1,j3,m3,S1,g3,E1,b1,v3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,l)=>{if(!f)throw Error(l||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,l)=>{throw l!==void 0?new f(l):Error(f)};globalThis.rand??=(f,l)=>l!==void 0?(f>l&&([f,l]=[l,f]),Math.floor(Math.random()*(l-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((l)=>setTimeout(l,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((l,c)=>f.map((h)=>h[c]));({__state:w1,__effect:X1,__batch:X2}=globalThis.__rip);({setContext:m3,getContext:B3,hasContext:L3}=globalThis.__ripComponent||{});Z2=new WeakMap;K2=new WeakMap;q2=0;l2=w1(0);n1=0;S2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};T3=function(f){return/^-?\d+$/.test(f)};N2=function(f,l){let c;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(c=f[Symbol.for("signals")].get(l),!c)c=w1(f[l]),f[Symbol.for("signals")].set(l,c);return c};Z1=function(f){return N2(f,Symbol.for("keys"))};v3=function(f){let l;if(!(f!=null&&typeof f==="object"))return f;if(f[Symbol.for("stash")])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(l=Z2.get(f),l)return l;return I2(f)};I2=function(f){let l,c;return c=null,l={get:function(h,u){let _,i,w;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return h;if(typeof u==="symbol")return Reflect.get(h,u);if(u==="length"&&Array.isArray(h))return Z1(h).value,h.length;if(!n1&&S2(u))return S1(c,u);if(_=g3(c,u),_)return _;if(i=N2(h,u),w=i.value,w!=null&&typeof w==="object")return v3(w);return w},set:function(h,u,_){let i,w;if(!n1&&S2(u))return E1(c,u,_),!0;if(i=h[u],w=_?.[Symbol.for("raw")]?_[Symbol.for("raw")]:_,w===i)return!0;if(h[u]=w,h[Symbol.for("signals")]?.has(u))h[Symbol.for("signals")].get(u).value=w;if(i===void 0&&w!==void 0)Z1(h).value=++q2;return l2.value++,!0},deleteProperty:function(h,u){let _;if(delete h[u],_=h[Symbol.for("signals")]?.get(u),_!=null)_.value=void 0;return Z1(h).value=++q2,l2.value++,!0},ownKeys:function(h){return Z1(h).value,Reflect.ownKeys(h)}},c=new Proxy(f,l),Z2.set(f,c),c};F3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;b1=function(f){let l,c,h,u,_;h=("."+f).split(F3),h.shift(),_=[],c=0;while(c<h.length){if(u=h[c],l=u[0],l==="."||l==="/")_.push(u.slice(1));else if(l==="[")if(u[1]==='"'||u[1]==="'")_.push(u.slice(2,-2));else _.push(+u.slice(1,-1));c+=2}return _};B1=function(f,l){let c;if(typeof f==="number"&&f<0){if(c=L1(l),Array.isArray(c))return c.length+f}return f};S1=function(f,l){let c,h,u;return u=b1(l),c=f,n1++,(()=>{try{for(let _ of u){if(c==null)return;c=c[B1(_,c)]}return c}finally{n1--}})()};E1=function(f,l,c){let h,u,_,i,w,D;return D=b1(l),i=f,n1++,(()=>{try{for(let n=0;n<D.length;n++){let A=D[n];if(u=B1(A,i),n===D.length-1)i[u]=c;else{if(i[u]==null)_=D[n+1],i[u]=typeof _==="number"||T3(_)?[]:{};i=i[u]}}return c}finally{n1--}})()};z3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};g3=function(f,l){let c,h;if(!z3[l])return;if(c=K2.get(f),!c)c={},K2.set(f,c);if(c[l])return c[l];return h=(()=>{switch(l){case"inc":return function(u,_=1){let i;return i=S1(f,u)??0,E1(f,u,i+_)};case"dec":return function(u,_=1){let i;return i=S1(f,u)??0,E1(f,u,i-_)};case"flip":return function(u){let _;return _=S1(f,u)??!1,E1(f,u,!_)};case"join":return function(u,_){return X2(function(){let i,w,D;if(w=S1(f,u),!(w!=null&&typeof w==="object"))E1(f,u,{}),w=S1(f,u);return n1++,(()=>{try{return(()=>{let n=[];for(let A in _){let $=_[A];n.push(w[A]=$)}return n})()}finally{n1--}})()})};case"keys":return function(u){let _,i,w,D;return n1++,(()=>{try{w=b1(u),_=f;for(let n of w){if(_==null)return[];_=_[B1(n,_)]}if(!(_!=null&&typeof _==="object"))return[];return D=L1(_),Z1(D).value,Object.keys(D)}finally{n1--}})()};case"has":return function(u){let _,i,w,D,n,A;return n1++,(()=>{try{if(n=b1(u),!(n.length>0))return!1;w=f;for(let $=0;$<n.length;$++){let R=n[$];if(i=B1(R,w),$===n.length-1)return A=L1(w),Z1(A).value,Object.prototype.hasOwnProperty.call(A,i);if(w==null)return!1;w=w[i]}return!1}finally{n1--}})()};case"del":return function(u){let _,i,w,D,n;return n1++,(()=>{try{if(n=b1(u),!(n.length>0))return;return w=f,(()=>{let A=[];for(let $=0;$<n.length;$++){let R=n[$];if(i=B1(R,w),$===n.length-1){delete w[i];return}if(w==null)return;A.push(w=w[i])}return A})()}finally{n1--}})()}}})(),c[l]=h,h};var r3=function(f={}){return I2(f)},L1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},V5=function(f){return f?.[Symbol.for("stash")]===!0},x3=function(f,l={}){let c,h,u,_,i,w,D,n;if(D=L1(f)||f,D[Symbol.for("persisted")])return;D[Symbol.for("persisted")]=!0,i=l.local?localStorage:sessionStorage,w=l.key||"__rip_app";try{if(u=i.getItem(w),u){_=JSON.parse(u);for(let A in _){let $=_[A];f.data[A]=$}}}catch{}return c=function(){return(()=>{try{return i.setItem(w,JSON.stringify(L1(f.data)))}catch{return null}})()},X1(function(){let A;return l2.value,A=setTimeout(c,2000),function(){return clearTimeout(A)}}),window.addEventListener("beforeunload",c)},j5=function(f,l={}){let c,h,u,_,i;if(c=w1(l.initial||null),u=w1(!1),h=w1(null),_=async function(){let w;return u.value=!0,h.value=null,await(async()=>{try{return w=await f(),c.value=w}catch(D){return h.value=D}finally{u.value=!1}})()},i={data:void 0,loading:void 0,error:void 0,refetch:_},Object.defineProperty(i,"data",{get:function(){return c.value}}),Object.defineProperty(i,"loading",{get:function(){return u.value}}),Object.defineProperty(i,"error",{get:function(){return h.value}}),!l.lazy)_();return i};a1=function(f){return typeof f==="function"?f:function(){return f.value}};x1=function(f,l){let c;return c={read:function(){return f.read()}},Object.defineProperty(c,"value",{get:function(){return f.value},set:function(h){return l.value=h}}),c};var a3=function(f,l){let c,h;return c=a1(l),h=w1(!!c()),X1(function(){let u;if(c())return u=setTimeout(function(){return h.value=!0},f),function(){return clearTimeout(u)};else return h.value=!1}),typeof l!=="function"?x1(h,l):h},m5=function(f,l){let c,h;return c=a1(l),h=w1(c()),X1(function(){let u,_;return _=c(),u=setTimeout(function(){return h.value=_},f),function(){return clearTimeout(u)}}),typeof l!=="function"?x1(h,l):h},g5=function(f,l){let c,h,u;return c=a1(l),u=w1(c()),h=0,X1(function(){let _,i,w,D;if(D=c(),_=Date.now(),i=f-(_-h),i<=0)return u.value=D,h=_;else return w=setTimeout(function(){return u.value=c(),h=Date.now()},i),function(){return clearTimeout(w)}}),typeof l!=="function"?x1(u,l):u},v5=function(f,l){let c,h;return c=a1(l),h=w1(!!c()),X1(function(){let u;if(c())return h.value=!0;else return u=setTimeout(function(){return h.value=!1},f),function(){return clearTimeout(u)}}),typeof l!=="function"?x1(h,l):h},s3=function(){let f,l,c,h;return l=new Map,h=[],f=new Map,c=function(u,_){let i,w=[];for(let D of h)w.push(D(u,_));return w},{read:function(u){return l.get(u)},write:function(u,_){let i;return i=!l.has(u),l.set(u,_),f.delete(u),c(i?"create":"change",u)},del:function(u){return l.delete(u),f.delete(u),c("delete",u)},exists:function(u){return l.has(u)},size:function(){return l.size},list:function(u=""){let _,i,w,D;D=[],i=u?u+"/":"";for(let[n]of l)if(n.startsWith(i)){if(w=n.slice(i.length),w.includes("/"))continue;D.push(n)}return D},listAll:function(u=""){let _,i,w;w=[],i=u?u+"/":"";for(let[D]of l)if(D.startsWith(i))w.push(D);return w},load:function(u){let _,i,w=[];for(let D in u){let n=u[D];w.push(l.set(D,n))}return w},watch:function(u){return h.push(u),function(){return h.splice(h.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,_){return f.set(u,_)}}};y3=function(f){let l;if(l=f.replace(/\.rip$/,""),l=l.replace(/\[\.\.\.(\w+)\]/g,"*$1"),l=l.replace(/\[(\w+)\]/g,":$1"),l==="index")return"/";return l=l.replace(/\/index$/,""),"/"+l};V3=function(f){let l,c;return l=[],c=f.replace(/\*(\w+)/g,function(h,u){return l.push(u),"(.+)"}).replace(/:(\w+)/g,function(h,u){return l.push(u),"([^/]+)"}),{regex:new RegExp("^"+c+"$"),names:l}};C3=function(f,l){let c,h,u,_,i;for(let w of l)if(h=f.match(w.regex.regex),h){_={};for(let D=0;D<w.regex.names.length;D++){let n=w.regex.names[D];_[n]=decodeURIComponent(h[D+1])}return{route:w,params:_}}return null};_2=function(f,l="components"){let c,h,u,_,i,w,D,n,A,$;n=[],_=new Map,c=f.listAll(l);for(let R of c){if(D=R.slice(l.length+1),!D.endsWith(".rip"))continue;if(i=D.split("/").pop(),i==="_layout.rip"){h=D==="_layout.rip"?"":D.slice(0,-12),_.set(h,R);continue}if(i.startsWith("_"))continue;if(A=D.split("/"),A.length>1&&A.some(function(M,z){return z<A.length-1&&M.startsWith("_")}))continue;$=y3(D),w=V3($),n.push({pattern:$,regex:w,file:R,rel:D})}return n.sort(function(R,M){let z,W,F,U;if(W=(R.pattern.match(/:/g)||[]).length,U=(M.pattern.match(/:/g)||[]).length,z=R.pattern.includes("*")?1:0,F=M.pattern.includes("*")?1:0,z!==F)return z-F;if(W!==U)return W-U;return R.pattern.localeCompare(M.pattern)}),{routes:n,layouts:_}};b3=function(f,l,c){let h,u,_,i,w,D;if(h=[],i=f.slice(l.length+1),D=i.split("/"),u="",c.has(""))h.push(c.get(""));for(let n=0;n<D.length;n++){let A=D[n];if(n===D.length-1)break;if(u=u?u+"/"+A:A,c.has(u))h.push(c.get(u))}return h};var d3=function(f,l={}){let c,h,u,_,i,w,D,n,A,$,R,M,z,W,F,U,H,O,Q,q,K;if(H=l.root||"components",A=l.base||"",$=l.hash||!1,z=l.onError||null,Q=function(Y){return A&&Y.startsWith(A)?Y.slice(A.length)||"/":Y},n=function(Y){return A?A+Y:Y},F=function(){let Y;if($){if(Y=location.hash.slice(1),!Y)return"/";return Y[0]==="/"?Y:"/"+Y}else return location.pathname+location.search+location.hash},K=function(Y){return $?Y==="/"?location.pathname:"#"+Y.slice(1):n(Y)},i=w1(Q($?F():location.pathname)),_=w1({}),D=w1(null),h=w1([]),w=w1({}),c=w1(""),u=a3(100,w1(!1)),q=_2(f,H),R=new Set,f.watch(function(Y,J){if(!J.startsWith(H+"/"))return;return q=_2(f,H)}),U=function(Y){let J,G,S,N,v,L;if(v=Y.split("?")[0].split("#")[0],S=Q(v),S=S[0]==="/"?S:"/"+S,N=Y.split("?")[1]?.split("#")[0]||"",G=Y.includes("#")?Y.split("#")[1]:"",L=C3(S,q.routes),L){X2(function(){return i.value=S,_.value=L.params,D.value=L.route,h.value=b3(L.route.file,H,q.layouts),w.value=Object.fromEntries(new URLSearchParams(N)),c.value=G});for(let T of R)T(O.current);return!0}if(z)z({status:404,path:S});return!1},W=function(){return U(F())},typeof window<"u")window.addEventListener("popstate",W);if(M=function(Y){let J,G,S;if(Y.button!==0||Y.metaKey||Y.ctrlKey||Y.shiftKey||Y.altKey)return;G=Y.target;while(G&&G.tagName!=="A")G=G.parentElement;if(!G?.href)return;if(S=new URL(G.href,location.origin),S.origin!==location.origin)return;if(G.target==="_blank"||G.hasAttribute("data-external"))return;return Y.preventDefault(),J=$&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,O.push(J)},typeof document<"u")document.addEventListener("click",M);return O={push:function(Y){return U(Y)?history.pushState(null,"",K(i.read())):void 0},replace:function(Y){return U(Y)?history.replaceState(null,"",K(i.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(Y){return R.add(Y),function(){return R.delete(Y)}},rebuild:function(){return q=_2(f,H)},routes:void 0,init:function(){return U(F()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",W);if(typeof document<"u")document.removeEventListener("click",M);return R.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:i.value,params:_.value,route:D.value,layouts:h.value,query:w.value,hash:c.value}}}),Object.defineProperty(O,"path",{get:function(){return i.value}}),Object.defineProperty(O,"params",{get:function(){return _.value}}),Object.defineProperty(O,"route",{get:function(){return D.value}}),Object.defineProperty(O,"layouts",{get:function(){return h.value}}),Object.defineProperty(O,"query",{get:function(){return w.value}}),Object.defineProperty(O,"hash",{get:function(){return c.value}}),Object.defineProperty(O,"navigating",{get:function(){return u.value},set:function(Y){return u.value=Y}}),Object.defineProperty(O,"routes",{get:function(){return q.routes}}),O};P3=function(f,l){let c,h;if(f.length!==l.length)return!1;for(let u=0;u<f.length;u++)if(f[u]!==l[u])return!1;return!0};J2=function(f){let l,c;for(let h in f){let u=f[h];if(typeof u==="function"&&(u.prototype?.mount||u.prototype?._create))return u}return typeof f.default==="function"?f.default:void 0};G2=function(f){let l,c,h;c={};for(let u in f){let _=f[u];if(typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))c[u]=_}return c};E3=function(f){let l;return l=f.split("/").pop().replace(/\.rip$/,""),l.replace(/(^|[-_])([a-z])/g,function(c,h,u){return u.toUpperCase()})};N3=function(f,l="components"){let c,h,u,_;h={};for(let i of f.listAll(l)){if(!i.endsWith(".rip"))continue;if(c=i.split("/").pop(),c.startsWith("_"))continue;if(u=E3(i),h[u])console.warn(`[Rip] Component name collision: ${u} (${h[u]} vs ${i})`);h[u]=i}return h};j3=function(f,l,c){let h,u,_,i,w,D;if(_=f.replace(/^(\.\.\/|\.\/)+/,""),h=_.split("/").pop(),l){w=l.split("/"),w.pop();for(let n of f.split("/"))if(n==="..")w.pop();else if(n!==".")w.push(n);if(u=w.join("/"),c.exists(u))return u}if(c.exists(`components/_lib/${_}`))return`components/_lib/${_}`;if(c.exists(`components/${_}`))return`components/${_}`;for(let n of c.listAll("components"))if(n.endsWith(`/${h}`))return n;return null};r1=async function(f,l,c=null,h=null,u=null){let _,i,w,D,n,A,$,R,M,z,W,F,U,H,O,Q,q,K,Y,J,G,S,N,v,L,T,Z,_1,X,E,y,g,o,c1;if(c&&h){if(w=c.getCompiled(h),w)return w}if(u&&h)u.compiling??={},u.compiling[h]=!0;if(D=globalThis?.__ripDebug?.enabled&&h,_1=0,U=D?l(f,{sourceMap:"inline",filename:h}):l(f),u){if(F=new Set,c){E=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,Q=Array.from(U.matchAll(E));for(let P=Q.length-1;P>=0;P--){let B=Q[P];if([z,T,G,y,L]=B,g=j3(y,h,c),g===h)continue;if(!g){if(K=`[Rip] Could not resolve import: ${y}`,h)K+=` (from ${h})`;console.warn(K);continue}if(!u.blobUrls?.[g]){if(u.compiling?.[g])continue;if($=c.read(g),$)await r1($,l,c,g,u)}if(i=u.blobUrls?.[g],i){if(X=`${T}${i}${L}`,U=U.slice(0,B.index)+X+U.slice(B.index+z.length),G)for(let V of G.split(","))F.add(V.trim().split(/\s+as\s+/).pop().trim())}}}N={};for(let P in u.map){let B=u.map[P];if(F.has(P))continue;if(B!==h&&U.includes(`new ${P}(`)){if(!u.classes[P]){if($=c.read(B),$){n=await r1($,l,c,B,u),M=G2(n);for(let V in M){let x=M[V];u.classes[V]=x}}}if(u.classes[P])N[P]=!0}}if(S=Object.keys(N),S.length>0)Z=`const {${S.join(", ")}} = globalThis['${u.key}'];
1653
+ `,U=Z+U,_1+=1}if(W=h?`// ${h}
1654
+ `:"",W)_1+=1;if(R=W+U,D&&_1>0){if(v=globalThis?.__ripDebug?.offsetSourceMap,v)R=v(R,_1)}if(_=new Blob([R],{type:"application/javascript"}),o=URL.createObjectURL(_),u&&h){if(u.blobUrls??={},u.blobUrls[h]=o,u.compiling)delete u.compiling[h]}if(q=await import(o),u){M=G2(q);for(let P in M){let B=M[P];u.classes[P]=B}}if(c&&h)c.setCompiled(h,q);return q};var o3=function(f={}){let l,c,h,u,_,i,w,D,n,A,$,R,M,z,W,F,U,H,O,Q,q,K;if({router:Q,app:l,components:_,resolver:O,compile:h,target:q,onError:U}=f,i=typeof q==="string"?document.querySelector(q):q||document.getElementById("app"),!i)i=document.createElement("div"),i.id="app",document.body.appendChild(i);return w=null,A=null,n=null,D=[],M=[],W=i,R=0,$=null,u=new Map,z=f.cacheSize||10,c=function(){let Y,J;if(w&&A){if(w.beforeUnmount)w.beforeUnmount();if(u.set(A,w),u.size>z){if(J=u.keys().next().value,Y=u.get(J),Y.unmounted)Y.unmounted();u.delete(J)}return w=null,A=null}},K=function(){let Y;c();for(let J=M.length-1;J>=0;J--){let G=M[J];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return M=[],W=i},_.watch(function(Y,J){let G;if(u.has(J)){if(G=u.get(J),G.unmounted)G.unmounted();return u.delete(J)}}),F=async function(Y){let J,G,S,N,v,L,T,Z,_1,X,E,y,g,o,c1,P,B,V,x,t,e,C,a;if({route:t,params:B,layouts:_1,query:x}=Y,!t)return;if(t.file===A&&JSON.stringify(B)===JSON.stringify(n))return;return n=B,N=++R,Q.navigating=!0,await(async()=>{try{if(C=_.read(t.file),!C){if(U)U({status:404,message:`File not found: ${t.file}`});Q.navigating=!1;return}if(g=await r1(C,h,_,t.file,O),N!==R){Q.navigating=!1;return}if(J=J2(g),!J){if(U)U({status:500,message:`No component found in ${t.file}`});Q.navigating=!1;return}if(y=!P3(_1,D),c1=w?._target,y)K();else c();if(o=y?i:W,y&&_1.length>0){i.innerHTML="",o=i;for(let d of _1){if(E=_.read(d),!E)continue;if(X=await r1(E,h,_,d,O),N!==R){Q.navigating=!1;return}if(G=J2(X),!G)continue;if(L=new G({app:l,params:B,router:Q}),L.beforeMount)L.beforeMount();a=document.createElement("div"),a.setAttribute("data-layout",d),o.appendChild(a),L.mount(a),M.push(L),e=a.querySelector("#content")||a,o=e}D=[..._1],W=o}else if(y)i.innerHTML="",D=[],W=i;if(S=u.get(t.file),S){if(u.delete(t.file),o.appendChild(S._target),w=S,A=t.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(P=document.createElement("div"),P.setAttribute("data-component",t.file),o.appendChild(P),T=new J({app:l,params:B,query:x,router:Q}),T.beforeMount)T.beforeMount();if(T.mount(P),w=T,A=t.file,T.load)await T.load(B,x)}return c1?.remove(),Q.navigating=!1}catch(d){if(Q.navigating=!1,console.error(`Renderer: error mounting ${t.file}:`,d),U)U({status:500,message:d.message,error:d});v=!1;for(let p=M.length-1;p>=0;p--){let I=M[p];if(I.onError)try{I.onError(d),v=!0;break}catch(r){console.error("Renderer: error boundary failed:",r)}}return(()=>{if(!v)return V=document.createElement("pre"),V.style.cssText="color:red;padding:1em",V.textContent=d.stack||d.message,i.innerHTML="",i.appendChild(V)})()}})()},H={start:function(){return $=X1(function(){let Y;return Y=Q.current,Y.route?F(Y):void 0}),Q.init(),H},stop:function(){if(K(),$)$(),$=null;return i.innerHTML=""},remount:function(){let Y;return Y=Q.current,Y.route?F(Y):void 0},cache:u},H};I3=function(f){let l,c,h;return h=1000,c=30000,l=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return h=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){let _,i=[];for(let w of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL(w.href),f.searchParams.set("_t",Date.now()),w.href=f.toString();return i}),u.onerror=function(){return u.close(),setTimeout(l,h),h=Math.min(h*2,c)}},l()};var r5=async function(f="",l={}){let c,h,u,_,i,w,D,n,A,$,R,M,z,W,F,U,H;if(globalThis.__ripLaunched=!0,typeof f==="object")l=f,f="";if(f=f.replace(/\/+$/,""),H=l.target||"#app",w=l.compile||null,M=l.persist||!1,$=l.hash||!1,!w)w=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(H))D=document.createElement("div"),D.id=H.replace(/^#/,""),document.body.prepend(D);if(l.bundle)u=l.bundle;else if(l.bundleUrl){if(R={},A=`__rip_etag_${l.bundleUrl}`,_=sessionStorage.getItem(A),_)R["If-None-Match"]=_;if(W=await fetch(l.bundleUrl,{headers:R}),W.status===304)u=JSON.parse(sessionStorage.getItem(`${A}_data`));else if(W.ok){if(u=await W.json(),n=W.headers.get("etag"),n)sessionStorage.setItem(A,n),sessionStorage.setItem(`${A}_data`,JSON.stringify(u))}else throw Error(`launch: ${l.bundleUrl} (${W.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(c=r3({components:{},routes:{},data:{}}),globalThis.__ripApp=c,u.data)c.data=u.data;if(u.routes)c.routes=u.routes;if(M&&typeof sessionStorage<"u")x3(c,{local:M==="local",key:`__rip_${f}`});if(h=s3(),u.components)h.load(u.components);if(i=`__rip_${f.replace(/\//g,"_")||"app"}`,F={map:N3(h),classes:{},key:i},typeof globalThis<"u")globalThis[i]=F.classes;if(c.data.title&&typeof document<"u")document.title=c.data.title;if(U=d3(h,{root:"components",base:f,hash:$,onError:function(O){return console.error(`[Rip] Error ${O.status}: ${O.message||O.path}`)}}),z=o3({router:U,app:c,components:h,resolver:F,compile:w,target:H,onError:function(O){return console.error(`[Rip] ${O.message}`,O.error)}}),z.start(),u.data?.watch)I3(`${f}/watch`);if(typeof window<"u")window.app=c,window.__RIP__={app:c,components:h,router:U,renderer:z,resolver:F,cache:z.cache,version:"0.3.0"};return{app:c,components:h,router:U,renderer:z}};D1=function(f,l){if(!l)return;return f.preventDefault(),f.stopPropagation(),l()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;H3=function(f,l){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return D1(f,l.next);case"ArrowUp":return D1(f,l.prev);case"Home":case"PageUp":return D1(f,l.first);case"End":case"PageDown":return D1(f,l.last);case"Enter":case" ":return D1(f,l.select);case"Escape":return D1(f,l.dismiss);case"Tab":return l.tab?.();default:return f.key.length===1?l.char?.(f.key):void 0}})()};Y3=function(f,l,c,h=[],u=null){let _,i,w;if(!f)return;return _=function(D){return typeof D==="function"?D():D},i=(D)=>{return![_(l),...h.map(_)].some(function(n){return n?.contains(D.target)})?c():void 0},w=(D)=>{if(_(l)?.contains(D.target))return;return u?u():c()},document.addEventListener("mousedown",i),window.addEventListener("scroll",w,!0),function(){return document.removeEventListener("mousedown",i),window.removeEventListener("scroll",w,!0)}};K3=function(f=250){let l;return l=0,{block:function(c=f){return l=Date.now()+c},canOpen:function(){return Date.now()>=l}}};O3=function(f,l,c,h=null){let u,_,i,w,D,n,A,$,R,M,z;if(w=function(W){return typeof W==="function"?W():W},u=function(){let W,F;if(W=document.activeElement,W&&W!==document.body)return W;if(F=globalThis.__ariaLastFocusedEl,F?.isConnected!==!1)return F;return null},i=w(l),!i)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(A=null,z=function(W){if(W){i.hidden=!1;try{i.inert=!1}catch{}return i.removeAttribute("aria-hidden")}else{try{i.inert=!0}catch{}return i.setAttribute("aria-hidden","true"),i.hidden=!0}},$=function(){let W,F;if(F=A,A=null,!F?.focus)return;return W=function(U=6){if(F.isConnected===!1)return;try{F.focus({preventScroll:!0})}catch{F.focus()}if(document.activeElement===F||U<=1)return;return setTimeout(function(){return W(U-1)},16)},requestAnimationFrame(function(){return W()})},D=function(W){let F;if(F=W.newState==="open",F)A=w(h)||u(),z(!0);else z(!1),$();return c?.(F)},i.addEventListener("toggle",D),R=i.matches(":popover-open"),_=!!f,R!==_){if(M=w(h),_)A=M||u(),z(!0);n=M&&_?{force:_,source:M}:{force:_};try{i.togglePopover(n)}catch{}}else z(_);return function(){return i.removeEventListener("toggle",D)}};W3=function(f,l,c,h=!0){let u,_,i,w,D,n,A,$;if(i=function(R){return typeof R==="function"?R():R},u=function(){let R,M;if(R=document.activeElement,R&&R!==document.body)return R;if(M=globalThis.__ariaLastFocusedEl,M?.isConnected!==!1)return M;return null},_=i(l),!_?.showModal)return;if(n=null,$=function(R){if(R){_.hidden=!1;try{_.inert=!1}catch{}return _.removeAttribute("aria-hidden")}else{try{_.inert=!0}catch{}return _.setAttribute("aria-hidden","true"),_.hidden=!0}},A=function(){let R,M;if(M=n,n=null,!M?.focus)return;return R=function(z=6){if(M.isConnected===!1)return;try{M.focus({preventScroll:!0})}catch{M.focus()}if(document.activeElement===M||z<=1)return;return setTimeout(function(){return R(z-1)},16)},requestAnimationFrame(function(){return R()})},w=function(R){if(!h){R.preventDefault();return}return c?.(!1)},D=function(){return c?.(!1),$(!1),A()},_.addEventListener("cancel",w),_.addEventListener("close",D),f&&!_.open){if(!n)n=u();$(!0);try{_.showModal()}catch{}}else if(!f&&_.open)_.close();else $(!!f);return function(){return _.removeEventListener("cancel",w),_.removeEventListener("close",D)}};J3=function(f,l,c="vertical"){let h,u;if(f.isComposing)return;return u=c!=="horizontal",h=c!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?D1(f,l.next):void 0;case"ArrowUp":return u?D1(f,l.prev):void 0;case"ArrowRight":return h?D1(f,l.next):void 0;case"ArrowLeft":return h?D1(f,l.prev):void 0;case"Home":case"PageUp":return D1(f,l.first);case"End":case"PageDown":return D1(f,l.last);case"Enter":case" ":return D1(f,l.select);case"Escape":return D1(f,l.dismiss);default:return f.key.length===1?l.char?.(f.key):void 0}})()};G3=function(f,l,c=4,h=!0){let u,_;if(!(f&&l))return;if(_=f.getBoundingClientRect(),l.style.position="fixed",l.style.left=`${_.left}px`,l.style.top=`${_.bottom+c}px`,l.style.minWidth=`${_.width}px`,u=l.getBoundingClientRect(),u.bottom>window.innerHeight)l.style.top=`${_.top-u.height-c}px`;if(u.right>window.innerWidth)l.style.left=`${window.innerWidth-u.width-c}px`;return h?l.style.visibility="visible":void 0};var x5='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';S3=function(f){let l;return l=function(c){let h,u,_;if(c.key!=="Tab")return;if(_=Array.from(f.querySelectorAll(x5)).filter(function(i){return i.offsetParent!==null}),!_.length)return;return h=_[0],u=_[_.length-1],c.shiftKey?document.activeElement===h?(c.preventDefault(),u.focus()):void 0:document.activeElement===u?(c.preventDefault(),h.focus()):void 0},f.addEventListener("keydown",l),function(){return f.removeEventListener("keydown",l)}};X3=function(f,l){let c,h;if(!f)return;if(h=f.querySelector("h1,h2,h3,h4,h5,h6"),h)h.id??=`${l}-title`,f.setAttribute("aria-labelledby",h.id);if(c=f.querySelector("p"),c)return c.id??=`${l}-desc`,f.setAttribute("aria-describedby",c.id)};y1=[];Q3=function(f){let l;if(l=window.scrollY,y1.push({instance:f,scrollY:l}),y1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${l}px`,document.body.style.width="100%"};Z3=function(f){let l,c;if(l=y1.findIndex(function(h){return h.instance===f}),l<0)return;if({scrollY:c}=y1.splice(l,1)[0],!y1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,c)};P2=function(){let f,l,c;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),l=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",l.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(l),c=l.getBoundingClientRect(),f.remove(),l.remove(),c.top>50}catch{return!1}})()}();q3=function(f,l,c={}){let h,u,_,i,w,D,n;if(!(f&&l))return;if(w=c.placement??"bottom start",i=c.offset??4,u=c.matchWidth??!1,P2){switch(_=`--anchor-${l.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=_,l.style.positionAnchor=_,l.style.position="fixed",l.style.inset="auto",l.style.margin="0",l.style.positionArea=w,l.style.positionTry="flip-block, flip-inline, flip-block flip-inline",l.style.positionVisibility="anchors-visible",[n]=w.split(" "),l.style.marginTop="",l.style.marginBottom="",l.style.marginLeft="",l.style.marginRight="",n){case"bottom":l.style.marginTop=`${i}px`;break;case"top":l.style.marginBottom=`${i}px`;break;case"left":l.style.marginRight=`${i}px`;break;case"right":l.style.marginLeft=`${i}px`;break}return u?l.style.minWidth="anchor-size(width)":void 0}else{switch(D=f.getBoundingClientRect(),l.style.position="fixed",l.style.inset="auto",l.style.margin="0",[n,h]=w.split(" "),h??="start",n){case"bottom":l.style.top=`${D.bottom+i}px`;break;case"top":l.style.bottom=`${window.innerHeight-D.top+i}px`;break;case"left":l.style.right=`${window.innerWidth-D.left+i}px`;break;case"right":l.style.left=`${D.right+i}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(n):(n in["bottom","top"]))switch(h){case"start":l.style.left=`${D.left}px`;break;case"center":l.style.left=`${D.left+D.width/2}px`,l.style.transform="translateX(-50%)";break;case"end":l.style.right=`${window.innerWidth-D.right}px`;break}else switch(h){case"start":l.style.top=`${D.top}px`;break;case"center":l.style.top=`${D.top+D.height/2}px`,l.style.transform="translateY(-50%)";break;case"end":l.style.bottom=`${window.innerHeight-D.bottom}px`;break}return u?l.style.minWidth=`${D.width}px`:void 0}};globalThis.__aria??={listNav:H3,rovingNav:J3,popupDismiss:Y3,popupGuard:K3,bindPopover:O3,bindDialog:W3,positionBelow:G3,trapFocus:S3,wireAria:X3,lockScroll:Q3,unlockScroll:Z3,position:q3,hasAnchor:P2};globalThis.ARIA??=globalThis.__aria;J1.modules["app.rip"]=c2;for(let[f,l]of Object.entries(c2))if(typeof l==="function")globalThis[f]=l;})();