rip-lang 3.15.0 → 3.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
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=`
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:()=>D3,RipError:()=>i1,Lexer:()=>F1,Compiler:()=>j1,CodeEmitter:()=>h1,BUILD_DATE:()=>A3});var B2=`
2
2
  // ---- Rip Schema Runtime ----------------------------------------------------
3
3
  // Four layers, lazy compilation:
4
4
  // 1 (descriptor) object passed to __schema({...}). Raw metadata.
@@ -881,19 +881,19 @@ function __schemaDestroy() { throw new Error("schema instance.destroy() is no
881
881
  function __schemaTableName(m) { return null; } // returned only for :model normalize; never used downstream in browser
882
882
  function __schemaPluralize(w) { return w; } // identity — relations work for type-resolution but never query
883
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,`
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,n;if(l.recoverable)return this.trace(f);else throw u=(l.line||0)+1,c=l.loc?.c||0,n=l.token?` (token: ${l.token})`:"",w=l.text?` near '${l.text}'`:"",_=`line ${u}, column ${c}`,i=`Parse error at ${_}${n}${w}: ${f}`,h=Error(i),h.hash=l,h},parse(f){let l,c,h,u,_,i,w,n,D,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],D=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(D.setInput(f,O.ctx),[O.ctx.lexer,O.ctx.parser]=[D,this],D.loc==null)D.loc={};G=D.loc,$.push(G),this.parseError=typeof O.ctx.parseError==="function"?O.ctx.parseError:Object.getPrototypeOf(this).parseError,n=()=>{let L;if(L=D.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=n();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(D.showPosition)return`Parse error on line ${J+1}:
885
+ ${D.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:D.match,token:this.tokenNames[K]||K,line:D.line,loc:G,expected:_})})(),Error(u)}if(h>0)if(q.push(K,h),v.push(D.text),$.push(D.loc),K=null,!W){if([Y,S,J,G]=[D.len,D.text,D.line,D.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 D2=null;function V2(f){D2=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(){n4(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 n4(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=D4(l,u,c,h);if(i>0){l.splice(u,i);continue}if(A4(l,u))$4(f,l,u,c);u++}}function D4(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 n=f[l+4];if(!n||n[0]!=="NUMBER")throw b(n||_,`Pragma 'schema.${w}' requires a number literal. Example: schema.${w} = 100.`);let D=Number(n[1]);if(!Number.isFinite(D)||D<0||!Number.isInteger(D))throw b(n,`Pragma 'schema.${w}' expects a non-negative integer (got ${n[1]}). Use 0 to disable.`);c[w]=D===0?null:D;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 n,D;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(n=l.slice(M,z),D=z,!n.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.");n=l.slice(M+1,z),D=z+1}let A=M4(i,n,{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,D-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 n=l[w];if(n?.[0]===":")throw b(n,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let D="string",A=null;if(n?.[0]==="IDENTIFIER")D=n[1],w++;else if(n?.[0]==="STRING"){A=[JSON.parse(n[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(n,`Literal union needs at least two string literals. Use '${JSON.stringify(A[0])}' as a default with '[${JSON.stringify(A[0])}]' instead.`);D="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((n?.[0]==="IDENTIFIER"||n?.[0]==="STRING")&&z[0]?.[0]==="->")throw b(z[0],`Field '${_}' has a transform after the type; a comma is required before '->'. Write '${_} ${D}, -> …'.`);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(n,"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(D))q=h.defaultMaxString;c.push({tag:"field",name:_,modifiers:i,typeName:D,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],n,D,A;if(i&&i[0]==="->")n="->",D=i.loc,A=3;else if(i&&i[0]==="EFFECT")n="~>",D=i.loc,A=3;else if(i&&i[0]==="UNARY_MATH"&&i[1]==="!"&&w&&w[0]==="COMPARE"&&w[1]===">"&&!i.spaced)n="!>",D=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(n==="~>")M="computed";else if(n==="!>")M="derived";else if(f==="model"&&R)M="hook";else M="method";h.push({tag:M,name:u,arrow:n,paramTokens:[],bodyTokens:$,headerLoc:l.loc,arrowLoc:D})}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 n=0;n<i.length;n+=2)w.push(C2(i[n],i[n+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,n=!1;for(let D=0;D<h.length;D++)if(h[D][0]==="INDENT")w++;else if(h[D][0]==="OUTDENT"){if(w--,w===0&&D===h.length-1){n=!0;break}if(w===0)break}if(n)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,n=[];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}}n.push($),w++}if(i!==0)throw b(_,"@ensure: unclosed '(' in predicate parameters.");let D=l[w];if(!D||D[0]!=="->")throw b(D||l[w-1]||h,"@ensure: expected '->' after predicate parameters.");let A=l.slice(w+1);if(!A.length)throw b(D,"@ensure: predicate function body is empty.");return{message:u,paramTokens:n,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((n)=>S4(f,n)).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 n=f[c++],D=m2([n],l);if(typeof D!=="number")throw b(n,"Range endpoints must be numeric literals.");return w*D},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: ${n2(f.min)}`);if(f.max!==void 0)l.push(`max: ${n2(f.max)}`);if(f.default!==void 0)l.push(`default: ${n2(f.default)}`);if(f.regex!==void 0)l.push(`regex: ${f.regex.toString()}`);return l.length?`{${l.join(", ")}}`:null}function n2(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 n=l[u];if(n[0]==="["||n[0]==="INDEX_START")w++;if(n[0]==="]"||n[0]==="INDEX_END"){if(w--,w===0){u++;break}}i.push(n),u++}for(let n of C1(i))if(n[0]&&(n[0][0]==="IDENTIFIER"||n[0][0]==="PROPERTY"))c.push(n[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 D=0,A=-1;for(let $=0;$<h.length;$++)if(h[$][0]==="INDENT")D++;else if(h[$][0]==="OUTDENT"){if(D--,D===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(D){throw b(f[0],`schema: failed to compile body: ${D.message}`)}let _=c.tokens.filter((D)=>D[0]!=="TYPE_DECL"),i=A1.lexer;A1.lexer={tokens:_,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let D=this.tokens[this.pos++],A=D[1];if(D.data)A=new String(A),Object.assign(A,D.data);return this.text=A,this.loc=D.loc,this.line=D.loc?.r,D[0]}};let w;try{w=A1.parse("")}finally{A1.lexer=i}if(!Array.isArray(w)||w[0]!=="program")return null;let n=w.slice(1);if(n.length===0)return null;if(n.length===1)return n[0];return["block",...n]}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(!D2)throw Error("schema runtime provider not registered. Side-effect-import either './schema/loader-server.js' (CLI / server / tests) or './schema/loader-browser.js' (browser bundle) before calling any compileToJS that emits schemas.");return D2(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 n=[_,i];if(n.pre=0,n.data=null,n.loc=w?.loc??{r:0,c:0,n:0},n.spaced=!1,n.newLine=!1,n.generated=!0,w)n.origin=w;return n};this.scanTokens((_,i,w)=>{let n=_[0];if(n==="IDENTIFIER"){let D=w[i+1];if(D&&D[0]==="COMPARE"&&D[1]==="<"&&!D.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(n==="TYPE_ANNOTATION"){let D=w[i-1];if(!D)return 1;let A=v2(w,i+1),$=W1(A),R=D,M="type";if(D[0]==="CALL_END"||D[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(D[0]==="PARAM_END"){let W=i+1+A.consumed,F=w[W];if(F&&(F[0]==="->"||F[0]==="=>"))R=F;M="returnType"}else if(D[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(n==="IDENTIFIER"&&_[1]==="type"){let D=w[i-1]?.[0];if(!(!D||D==="TERMINATOR"||D==="INDENT"||D==="EXPORT"))return 1;let $=i+1,R=w[$];if(!R||R[0]!=="IDENTIFIER")return 1;let M=R[1],z=D==="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(n==="INTERFACE"){let D=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:D};let H=D?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 n=1;w++;while(w<c.length&&n>0){if(c[w][0]==="CALL_START")n++;if(c[w][0]==="CALL_END")n--;w++}let D=w-1,A=c[w];if(A&&A[0]!=="TERMINATOR")continue;let $=i.data?.returnType;if(!$){for(let U=_+2;U<=D;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]==="<",n=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(n){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 D=1;while(l<f.length&&D>0)if(f[l][0]==="INDENT")D++,l++;else if(f[l][0]==="OUTDENT")D--,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 n=[];while(h<f.length){let $=f[h];if($[0]==="TERMINATOR"||$[0]==="OUTDENT")break;n.push($),h++}let D=W1(w),A=W1(n);c.push(`[${D}]: ${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],n=!1,D=!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(D=!0,w=f[h][1],f[h].data?.predicate)n=!0;h++}if(_.data?.predicate)n=!0;if(f[h]?.[1]==="?"&&!f[h]?.spaced)n=!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=D?"readonly ":"",z=n?"?":"";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 n=[];while(c<f.length){let D=f[c];if(D[0]==="TERMINATOR"||D[0]==="OUTDENT"||D[1]==="|"&&_===1)break;n.push(D),c++}if(n.length>0)u.push(W1(n));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,n5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,D5=/^[^\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
889
  `),f=f.replace(G5,""),/^[^\n\S]/.test(f))f=`
890
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]!==`
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 n=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(n))if(n==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else M1(`reserved word '${n}'`,{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 D=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=D5.exec(this.chunk);if(!f&&this.chunk[0]!==`
892
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
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(`
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),n=h.length===3,D=null;if(n)D=this.processHeredocIndent(w,h,i);return this.mergeInterpolationTokens(i,{quote:h,indent:D,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 n=null,D;u3.lastIndex=0;while(D=u3.exec(w))if(n===null||D[1].length>0&&D[1].length<n.length)n=D[1];if(i===null)return n;if(n===null)return" ".repeat(i);if(i<=n.length)return" ".repeat(i);return n}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 n=h.exec(i);if(!n)break;let A=n[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 n of w)this.tokens.push(n);else if(i==="NEOSTRING"){let n=w;if(c){let D=new RegExp("\\n"+c,"g");n=n.replace(D,`
896
+ `)}if(_===0&&l?.length===3)n=n.replace(/^\n/,"");if(_===f.length-1&&l?.length===3)n=n.replace(/\n[^\S\n]*$/,"");if(u)n=n.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${n}"`,{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:D,index:A}=f,[$]=f3.exec(this.chunk.slice(A)),R=A+$.length;if(D.length===1||!D.some((M)=>M[0]==="TOKENS")){let M=(D[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(D,{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)),n=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:n,data:{delimiter:"/"}}),n}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 D=this.chunk[_];if(D==="\\"){_+=2;continue}if(h&&D===f)u++;if(D===c)u--;if(u>0)_++}if(u!==0)return 0;let i=this.chunk.slice(3,_),w=_+1,n=[];if(i.trim()){let D=i.trim().split(/(?<!\\)\s+/);for(let A of D)n.push(A.replace(/\\ /g," "))}this.emit("[","[",{len:w});for(let D=0;D<n.length;D++){if(D>0)this.emit(",",",");this.emit("STRING",`"${n[D]}"`)}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=n5.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 n=i.slice(w,i.length-1);_[0]="=",_[1]="=";for(let D of n)this.tokens.push(p1(D[0],D[1],{pre:0,row:D[2],col:D[3],len:D[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 D=w[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let A=this.emit("PROPERTY","assign");return A.spaced=!0,this.emit("@","@"),this.emit(",",","),3+D.length+1}let n=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(i);if(n){let D=n[1],A=n[2],$=D[0]==="@",R=$?D.slice(1):D,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+D.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 n=f[w][0];if(n==="{"||n==="PICK_START"||n==="OPTPICK_START")i++;else if(n==="}"){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[n]=_;if(n==="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(n==="CATCH")for(let D=1;D<=2;D++){let A=this.tokens[i+D]?.[0];if(A==="OUTDENT"||A==="TERMINATOR"||A==="FINALLY")return w.splice(i+D,0,...this.makeIndentation()),2+D}if((n==="->"||n==="=>")&&(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(n)&&this.tokens[i+1]?.[0]!=="INDENT"&&!(n==="ELSE"&&this.tokens[i+1]?.[0]==="IF")&&!(n==="ELSE"&&this.tokens[i-1]?.[0]!=="OUTDENT")){if(f=n,[l,c]=this.makeIndentation(),n==="THEN")l.fromThen=!0;if(w.splice(i+1,0,l),n==="THEN"&&this.singleLineOwner(i)==="LEADING_WHEN")this.detectWhenThenEnd(i+2,h,u);else this.detectEnd(i+2,h,u);if(n==="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]||[],[n]=i,[D]=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(n);if((z()||W())&&p4.has(_)&&!Q)return f.push(["CONTROL",h,{ours:!0}]),$(1);if(_==="INDENT"&&M(R())){if(n!=="=>"&&n!=="->"&&n!=="["&&n!=="("&&n!==","&&n!=="{"&&n!=="ELSE"&&n!=="=")while(z()||W()&&n!==":")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(D==="-"&&!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(D)||D==="..."&&d1.has(u[h+2]?.[0])||s4.has(D)&&!w.spaced&&!w.newLine)&&!((_==="]"||_==="}")&&(D==="->"||D==="=>")))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=n==="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()&&n!==",")U();else if(W()&&!Y&&S&&_!=="TERMINATOR"&&n!==":")O();else if(W()&&_==="TERMINATOR"&&n!==","&&!(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()&&(D!=="TERMINATOR"||!this.looksObjectish(h+2))){let G=D==="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,n)=>w instanceof String?w[n]:void 0,h=l.prototype.classifyKeyword;l.prototype.classifyKeyword=function(w,n,D){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 n}return h.call(this,w,n,D)},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},n=!1,D=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 n=!0,D=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(n&&A<D)n=!1;return 1+K}if(!n)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 n=w.split("#")[0];return Y1.has(n.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 n=[],D=w;while(this.is(D,".")){let M=D[2];if(typeof M==="string"||M instanceof String)n.unshift(M.valueOf());D=D[1]}let A=typeof D==="string"?D:D instanceof String?D.valueOf():null;if(A===null)return{tag:null,classes:n,id:void 0,base:D};let[$,R]=A.split("#");if(!$)$="div";return{tag:$,classes:n,id:R,base:D}};let _=(w)=>typeof w==="string"?w:w instanceof String?w.valueOf():null,i=(w,n)=>{if(!(w instanceof String))return n;let D=new String(n);if(w.predicate)D.predicate=!0;if(w.await)D.await=!0;return D.predicate||D.await?D:n};u.transformComponentMembers=function(w,n=new Set){let D=this._self;if(!Array.isArray(w)){let A=_(w);if(A&&n.has(A))return w;if(A&&this.reactiveMembers&&this.reactiveMembers.has(A))return[".",[".",D,A],i(w,"value")];if(A&&this.componentMembers&&this.componentMembers.has(A))return[".",D,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[".",[".",D,$],i(A,"value")];return this._factoryMode?[".",D,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(n);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],n)];if(Array.isArray(A)&&A.length>=2){let $=A[1],R=Array.isArray($)?this.transformComponentMembers($,n):$,M=this.transformComponentMembers(A[2],n);return[A[0],R,M]}return this.transformComponentMembers(A,n)})];if(w[0]==="block"||w[0]==="program"){let A=new Set(n),$=[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,n))},u.emitComponent=function(w,n,D,A){let[,$]=n,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=n[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
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
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(`
899
899
 
@@ -903,10 +903,10 @@ Expecting ${_.join(", ")}, got '${this.tokenNames[K]||K}'`;else return`Parse err
903
903
  ${_1}return ${Z.join(`
904
904
  `)};
905
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`
906
+ `)},u.emitInComponent=function(w,n){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 D=this.transformComponentMembers(w);return this.emit(D,n)}return this.emit(w,n)},u.emitRender=function(w,n,D,A){this.error("render blocks can only be used inside a component",A)},u.emitOffer=function(w,n,D,A){this.error("offer can only be used inside a component",A)},u.emitAccept=function(w,n,D,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 n=this.is(w,"block")?w.slice(1):[w],D;if(n.length===0||n.length===1&&n[0]==="null")D="null";else if(n.length===1)this._pendingAutoWire=!!this._autoEventHandlers,D=this.emitNode(n[0]),this._pendingAutoWire=!1;else{D=this.newElementVar("frag"),this._createLines.push(`${D} = document.createDocumentFragment();`);let A=[];for(let $ of n){let R=this.emitNode($);this._createLines.push(`${D}.appendChild(${R});`),A.push(R)}this._fragChildren.set(D,A)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:D}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(w="el"){let n=`_${w}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(n);return this._factoryMode?n:`this.${n}`},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[n,...D]=w,A=typeof n==="string"?n:n instanceof String?n.valueOf():null;if(A&&this.isComponent(A))return this.emitChildComponent(A,D);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=D[0],z=D[1]||[],F=D[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(n,"text")){let[M,z]=A.split("#");return this.emitTag(M||"div",[],D,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(n)){if(Array.isArray(n[0])&&n[0][0]==="."&&(n[0][2]==="__clsx"||n[0][2]instanceof String&&n[0][2].valueOf()==="__clsx")){let F=n[0][1],U=n.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,D,K,q)}}let H=typeof F==="string"?F:F.valueOf();return this.emitDynamicTag(H,U,D)}let{tag:M,classes:z,id:W}=this.collectTemplateClasses(n);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,D,[],U,W)}return this.emitTag(M,z,D,W)}}if(A==="->"||A==="=>")return this.emitTemplateBlock(D[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=D[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,n){for(let D of n)if(this.is(D,"->")||this.is(D,"=>")){let A=D[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(D,"object"))this.emitAttributes(w,D);else if(typeof D==="string"||D instanceof String){let A=D.valueOf(),$=A.split(/[#.]/)[0];if(this.isHtmlTag($||"div")||this.isComponent($)){let R=this.emitNode(D);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(D,"value")});`);this._createLines.push(`${w}.appendChild(${R});`)}}else if(D){let A=this.emitNode(D);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,n){if(!n)return;for(let[D,A]of this._autoEventHandlers)if(!this._autoWireExplicit.has(D))this._createLines.push(`${w}.addEventListener('${D}', (e) => __batch(() => ${this._self}.${A}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(w,n){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(w!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${n};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(w,n,D,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(n.length>0)this._pendingClassArgs=[`'${n.join(" ")}'`],this._pendingClassEl=$;if(w==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren($,D),w==="svg")this._svgDepth--;if(n.length>0){if(this._pendingClassArgs.length===1)if(R)this._createLines.push(`${$}.setAttribute('class', '${n.join(" ")}');`);else this._createLines.push(`${$}.className = '${n.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,n,D,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||[],...n.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,D),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,n){let D=E5(n.slice(1));for(let A=1;A<n.length;A++){let[,$,R]=n[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=D==="number"||D==="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 n=w.slice(1);if(n.length===0){let $=this.newElementVar("empty");return this._createLines.push(`${$} = document.createComment('');`),$}if(n.length===1)return this.emitNode(n[0]);let D=this.newElementVar("frag");this._createLines.push(`${D} = document.createDocumentFragment();`);let A=[];for(let $ of n){let R=this.emitNode($);this._createLines.push(`${D}.appendChild(${R});`),A.push(R)}return this._fragChildren.set(D,A),D},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[,n,D,A]=w,$=this.newElementVar("anchor");this._createLines.push(`${$} = document.createComment('if');`);let R=this.emitInComponent(n,"value"),M=this._loopVarStack.map((Q)=>`${Q.itemVar}, ${Q.indexVar}`).join(", "),z=M?`, ${M}`:"",W=this.newBlockVar();this.emitConditionBranch(W,D);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,n){let D=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let A=this.emitTemplateBlock(n),$=this._createLines,R=this._setupLines,M=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=D;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,n,D,A,$,R,M){let z=[];if(z.push(`function ${w}(${n}) {`),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(D),U=F?F[0]:D;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(${D}, anchor);`);if(z.push(" },"),z.push(` p(${n}) {`),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 && ${D}) ${D}.remove();`);z.push(" }"),z.push(" };"),z.push("}"),this._blockFactories.push(z.join(`
908
+ `))},u.emitTemplateLoop=function(w){this._pendingAutoWire=!1;let[n,D,A,$,R,M]=w,z=this.newBlockVar(),W=this.newElementVar("anchor");this._createLines.push(`${W} = document.createComment('for');`);let F=Array.isArray(D)?D:[D],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,n){this._pendingAutoWire=!1;let D=this.newElementVar("inst"),A=this.newElementVar("el"),{propsCode:$,reactiveProps:R,eventBindings:M,childrenSetupLines:z}=this.buildComponentProps(n),W=this._self;this._createLines.push(`{ const __prev = __pushComponent(${W}); try {`),this._createLines.push(`${D} = new ${w}(${$});`),this._createLines.push(`${A} = ${D}._root = ${D}._create();`),this._createLines.push(`(${W}._children || (${W}._children = [])).push(${D});`),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 (${D}._setup) ${D}._setup(); if (${D}.mounted) ${D}.mounted(); } catch (__e) { __handleComponentError(__e, ${D}); }`);for(let{key:F,valueCode:U}of R)this._pushEffect(`if (${D}.${F} && typeof ${D}.${F} === 'object' && 'value' in ${D}.${F}) ${D}.${F}.value = ${U}; else if (${D}._setRestProp) ${D}._setRestProp('${F}', ${U});`);for(let F of z)this._setupLines.push(F);return A},u.buildComponentProps=function(w){let n=[],D=[],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];n.push(`${F}: ${this._self}.${O}`)}else{let O=this.emitInComponent(U,"value");if(n.push(`${F}: ${O}`),this.hasReactiveDeps(U))D.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),n.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,n.push(`children: ${$}`)}return{propsCode:n.length>0?`{ ${n.join(", ")} }`:"{}",reactiveProps:D,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 n=_(w[0][2]);if(n&&this.componentMembers?.has(n))return!0}for(let n of w)if(this.hasReactiveDeps(n))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`
910
910
  // ============================================================================
911
911
  // Rip Component Runtime
912
912
  // ============================================================================
@@ -1187,23 +1187,23 @@ if (typeof globalThis !== 'undefined') {
1187
1187
  globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
1188
1188
  }
1189
1189
 
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(`
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:n=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=n}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 n=h.token||"token",D=h.text?` near '${h.text}'`:"",A=`Unexpected ${n}${D}`;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
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(`
1192
1192
  `)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
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(`
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 D=` ${String(w+1).padStart(_)} │ `;if(i.push({type:"source",gutter:D,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
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(`
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 D=f[1],$=[Array.isArray(D)?"(program":"(program "+V1(D)],R=Array.isArray(D)?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((D)=>!Array.isArray(D)||u2(D))){let A=`(${f.map(($)=>Array.isArray($)?R1($,0,!1):V1($)).join(" ")})`;if(!A.includes(`
1197
1197
  `))return" ".repeat(l)+A}let _=" ".repeat(l),i;if(Array.isArray(h)){if(i=R1(h,0,!1),i.includes(`
1198
1198
  `))i=i.split(`
1199
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(`
1200
+ `)}else i=V1(h);let w=[`${_}(${i}`],n=h==="block";for(let D=1;D<f.length;D++){let A=f[D];if(!Array.isArray(A))w[w.length-1]+=" "+V1(A);else{let $=u2(A)&&A.every((R)=>!Array.isArray(R)||u2(R));if(!n&&$){let R=R1(A,0,!1);if(!R.includes(`
1201
1201
  `)){w[w.length-1]+=" "+R;continue}}w.push(R1(A,l+2,!1))}}return w[w.length-1]+=")",w.join(`
1202
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
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(`
1204
+ `);for(let{name:i,origLine:w,origCol:n}of u){let D=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),A=new RegExp("\\b"+D+"\\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-n);if(q<M)M=q,R={genLine:Q,genCol:H}}if(R)this.sourceMap.addMapping(R.genLine,R.genCol,w,n)}}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((n)=>{if(Array.isArray(n)&&n.length===2&&typeof n[1]==="string")l.add(n[1])});else if(i&&this.is(i,"array"))i.slice(1).forEach((n)=>{if(typeof n==="string")l.add(n)});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),n=w.match(/^\/(.*)\/([gimsuvy]*)$/s);if(n){let[,D,A]=n;return`/${this.processHeregex(D)}/${A}`}return w}let i=l1(f,"quote");if(i){let w=m(f);if(i==='"""'||i==="'''"){let D=this.extractStringContent(f);return D=D.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${D}\``}if(w[0]===i)return w;let n=w.slice(1,-1);return`${i}${n}${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('"')?'"':"'",n=i.replace(new RegExp(w,"g"),`\\${w}`);return`${w}${n}${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,n=`${this.emit(c,"value")}(${this._emitArgs(h)})`;return w?`await ${n}`:n}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,n;if(c[0]==="."&&l1(c[2],"await")===!0){w=!0;let[A,$]=c.slice(1),R=this.emit(A,"value");n=`${h1.NUMBER_LITERAL_RE.test(R)||(this.is(A,"object")||this.is(A,"await")||this.is(A,"yield"))?`(${R})`:R}.${m($)}`}else n=this.emit(c,"value");let D=`${n}(${this._emitArgs(h)})`;return w?`await ${D}`:D}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"],n=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}}),D=n.map((M)=>M.code).join(`
1207
1207
  `),A=!1;if(_.length>0)u+=_.map((M)=>this.addSemicolon(M,this.emit(M,"statement"))).join(`
1208
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
1209
  `;u+=`let ${z};
@@ -1235,43 +1235,43 @@ if (typeof globalThis !== 'undefined') {
1235
1235
  `;else u+=this.getSchemaRuntime();A=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!$)u+=`var DATA;
1236
1236
  _setDataSection();
1237
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+=`
1238
+ `;if(this._stmtEntries=n,this._preambleLines=u.length===0?0:u.split(`
1239
+ `).length-1,u+=D,this.dataSection!==null&&this.dataSection!==void 0)u+=`
1240
1240
 
1241
1241
  function _setDataSection() {
1242
1242
  DATA = ${JSON.stringify(this.dataSection)};
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+`{
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 n=this.emit(u[1],"value"),D=this.emit(u[2],"value"),A=this.emit(_,"value");return`((${n} ${w} ${D}) && (${D} ${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 n=this.is(_,"->")||this.is(_,"=>")||this.is(_,"def");if(u instanceof String&&l1(u,"await")!==void 0&&!n){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&&n)this.nextFunctionIsVoid=!0;let D=this.is(u,"array",0),A=this.is(u,"object",0);if(D||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 D=this._atParamMap.get(m(_));if(D)return D}let i=this.emit(u,"value"),n=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 ${n}.${m(_)}()`;if(l1(_,"predicate"))return`(${n}.${m(_)} != null)`;return`${n}.${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),n=w?i:"_",D=_.map(([A,$,R])=>{let M=`${n}.${m(A)}`;if(R!==null&&R!==void 0)M=`(${M} ?? ${this.emit(R,"value")})`;return`${m($)}: ${M}`}).join(", ");if(w)return`({${D}})`;return`((_) => ({${D}}))(${i})`}emitOptPick(f,l,c,h){let[u,..._]=l,i=this.emit(u,"value"),w=this._isSimplePickSource(u),n=w?i:"_",D=_.map(([A,$,R])=>{let M=`${n}.${m(A)}`;if(R!==null&&R!==void 0)M=`(${M} ?? ${this.emit(R,"value")})`;return`${m($)}: ${M}`}).join(", ");if(w)return`(${i} == null ? undefined : {${D}})`;return`((_) => _ == null ? undefined : ({${D}}))(${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",n=i.includes("/m")?", true":"";return`(_ = toMatchable(${_}${n}).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),n=(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},D=(R,M,z)=>{let W=n(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?D("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?D(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,n=m(u),D=this.emitParamList(_),A=this.emitFunctionBody(i,_,w),$=this.containsAwait(i),R=this.containsYield(i);return`${$?"async ":""}function${R?"*":""} ${n}(${D}) ${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),n=this.emitFunctionBody(_,u,i),D=this.containsAwait(_),A=this.containsYield(_),$=`${D?"async ":""}function${A?"*":""}(${w}) ${n}`;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),D=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`${$}${D} => ${W}`}}if(!Array.isArray(_)||_[0]!=="block"){let M=this.emit(_,"value");if(M[0]==="{")M=`(${M})`;return`${$}${D} => ${M}`}}let R=this.emitFunctionBody(_,u,i);return`${$}${D} => ${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 n=Array.isArray(i)&&i.length===1?i[0]:i;return`if (${this.emit(_,"value")}) return ${this.emit(n,"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"),n=this.emit(u[2],"value"),D=this.emit(_,"value");return`${w} = (${this.unwrap(this.emit(h,"value"))} ? ${n} : ${D})`}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"),n=h.slice(1).map((D)=>this.emit(D,"value"));return`${w}(${u}, ${n.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,n]=l;if(c==="value"&&this.comprehensionDepth===0){let F=["for-in",u,_,i];return this.emit(["comprehension",n,[F],w?[w]:[]],c)}let D=Array.isArray(u)?u:[u],A=D.length===0,[$,R]=A?["_i",null]:D,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(n,"block")){let Y=n.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
1244
  ${J.map((G)=>this.indent()+G).join(`
1245
1245
  `)}
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+=`{
1246
+ ${this.indent()}}`}if(A)return w?K+`{ if (${this.emit(w,"value")}) ${this.emit(n,"statement")}; }`:K+`{ ${this.emit(n,"statement")}; }`;return w?K+`{ let ${M} = ${F}[${U}]; if (${this.emit(w,"value")}) ${this.emit(n,"statement")}; }`:K+`{ let ${M} = ${F}[${U}]; ${this.emit(n,"statement")}; }`}if(R){let F=this.emit(_,"value"),U=`for (let ${R} = 0; ${R} < ${F}.length; ${R}++) `;if(this.is(n,"block")){if(U+=`{
1247
1247
  `,this.indentLevel++,U+=this.indent()+`let ${M} = ${F}[${R}];
1248
1248
  `,w)U+=this.indent()+`if (${this.unwrap(this.emit(w,"value"))}) {
1249
- `,this.indentLevel++,U+=this.formatStatements(D.slice(1)).join(`
1249
+ `,this.indentLevel++,U+=this.formatStatements(n.slice(1)).join(`
1250
1250
  `)+`
1251
1251
  `,this.indentLevel--,U+=this.indent()+`}
1252
- `;else U+=this.formatStatements(D.slice(1)).join(`
1252
+ `;else U+=this.formatStatements(n.slice(1)).join(`
1253
1253
  `)+`
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+`{
1254
+ `;this.indentLevel--,U+=this.indent()+"}"}else U+=w?`{ let ${M} = ${F}[${R}]; if (${this.unwrap(this.emit(w,"value"))}) ${this.emit(n,"statement")}; }`:`{ let ${M} = ${F}[${R}]; ${this.emit(n,"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(n,w):this.emitLoopBody(n),J}}let W=`for (let ${M} of ${this.emit(_,"value")}) `;return W+=w?this.emitLoopBodyWithGuard(n,w):this.emitLoopBody(n),W}emitForOf(f,l,c,h){let[u,_,i,w,n]=l;if(c==="value"&&this.comprehensionDepth===0){let M=["for-of",u,_,i];return this.emit(["comprehension",n,[M],w?[w]:[]],c)}let[D,A]=Array.isArray(u)?u:[u],$=this.emit(_,"value"),R=`for (let ${D} in ${$}) `;if(i&&!A&&!w){if(this.is(n,"block")){this.indentLevel++;let M=[`if (!Object.hasOwn(${$}, ${D})) continue;`,...n.slice(1).map((z)=>this.addSemicolon(z,this.emit(z,"statement")))];return this.indentLevel--,R+`{
1255
1255
  ${M.map((z)=>this.indent()+z).join(`
1256
1256
  `)}
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+`{
1257
+ ${this.indent()}}`}return R+`{ if (!Object.hasOwn(${$}, ${D})) continue; ${this.emit(n,"statement")}; }`}if(A){if(this.is(n,"block")){let z=n.slice(1);this.indentLevel++;let W=[];if(i)W.push(`if (!Object.hasOwn(${$}, ${D})) continue;`);if(W.push(`let ${A} = ${$}[${D}];`),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
1258
  ${W.map((F)=>this.indent()+F).join(`
1259
1259
  `)}
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+=`{
1260
+ ${this.indent()}}`}let M="";if(i)M+=`if (!Object.hasOwn(${$}, ${D})) continue; `;if(M+=`let ${A} = ${$}[${D}]; `,w)M+=`if (${this.emit(w,"value")}) `;return M+=`${this.emit(n,"statement")};`,R+`{ ${M} }`}return R+=w?this.emitLoopBodyWithGuard(n,w):this.emitLoopBody(n),R}emitForAs(f,l,c,h){let u=Array.isArray(l[0])?l[0]:[l[0]],[_]=u,i=l[1],w=l[2],n=l[3],D=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(D),U=this.withIndent(()=>[...$.map((H)=>this.indent()+H+";"),...this.formatStatements(F)]);W+=`{
1261
1261
  ${U.join(`
1262
1262
  `)}
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`{
1263
+ ${this.indent()}}`}else W+=n?this.emitLoopBodyWithGuard(D,n):this.emitLoopBody(D);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,n=this.emit(i,"value"),D=this.emit(w,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${n}, ${D})`}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 n=this.emit(_,"value"),D=`(Array.isArray(${n}) || typeof ${n} === 'string' ? ${n}.includes(${i}) : (${i} in ${n}))`;return w?`(!${D})`:D}emitOf(f,l,c,h){let[u,_]=l,i=this.emit(u,"value"),w=this.emit(_,"value"),n=l1(h[0],"invert"),D=`(${i} in ${w})`;return n?`(!${D})`:D}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,n]=_;return this.emit(["object-comprehension",u,i,w,n],c)}return`{${l.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[_,i,w]=u,n;if(this.is(i,"dynamicKey"))n=`[${this.emit(i[1],"value")}]`;else if(this.is(i,"str"))n=`[${this.emit(i,"value")}]`;else this.suppressReactiveUnwrap=!0,n=this.emit(i,"value"),this.suppressReactiveUnwrap=!1;let D=this.emit(w,"value");if(_==="=")return`${n} = ${D}`;if(_===":")return`${n}: ${D}`;if(n===D&&!Array.isArray(i))return n;return`${n}: ${D}`}).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 D=m(_)??_;w=!D.startsWith('"')&&!D.startsWith("'")&&!D.startsWith("/")&&!h1.NUMBER_START_RE.test(D)&&!T5.has(D)?`"${D}"`:this.emit(_,"value")}let n=this.emit(i,"value");return`[${w}, ${n}]`}).join(", ")}])`}emitBlock(f,l,c){if(c==="statement")return`{
1264
1264
  ${this.withIndent(()=>this.formatStatements(l)).join(`
1265
1265
  `)}
1266
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
1267
  ${this.withIndent(()=>_.map((i)=>this.indent()+i).join(`
1268
1268
  `))}
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}) {
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 n=`(${this.emit(i,"value")} = error)`;w=this.is(w,"block")?["block",n,...w.slice(1)]:["block",n,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,n]=_,D=Array.isArray(n)&&n.length===1?n[0]:n;h=i==="new"?["new",D]:D;let A=this.emit(w,"value"),$=`throw ${this.emit(h,"value")}`;return`if (${A}) {
1270
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)+`
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",n=this.emit(u,"value"),D=_.length>1?_[1]:null,A=w?D?`return ${this.emit(D,"value")}`:"return":D?`throw ${this.emit(D,"value")}`:"throw new Error()",$=this.wrapForCondition(n);if(c==="value"){if(i==="??")return`(() => { const __v = ${n}; if (__v == null) ${A}; return __v; })()`;if(i==="||")return`(() => { const __v = ${n}; if (!__v) ${A}; return __v; })()`;return`(() => { const __v = ${n}; 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[,n,D]=w;for(let A of n){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(D,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((n)=>this.containsAwait(n[1])||this.containsAwait(n[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 n=Array.isArray(l)&&l[0];if(n instanceof String)n=m(n);if(n===".."||n==="..."){let H=n==="...",[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 n=this.emit(l,"value");return{header:`for (let ${i} = 0; ${i} < ${n}.length; ${i}++)`,setup:`let ${w} = ${n}[${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
1275
  `;this.indentLevel++,this.comprehensionDepth++,w+=this.indent()+`const result = [];
1276
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
1277
  `,this.indentLevel++,F)w+=this.indent()+F+`
@@ -1280,36 +1280,36 @@ ${this.indent()}}`}}let u=`throw ${this.emit(h,"value")}`;return c==="value"?`((
1280
1280
  `;if(U)w+=this.indent()+`let ${U} = ${H}[${O}];
1281
1281
  `}else if($==="for-as"){let{header:W}=this._forAsHeader(R,M,A[3]);w+=this.indent()+W+` {
1282
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")+`;
1283
+ `,this.indentLevel++;let n=(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(n);return A.some(n)},D=["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||n($))w+=this.indent()+this.emit($,"statement")+`;
1284
+ `;else if(Array.isArray($)&&D.includes($[0]))w+=this.indent()+this.emit($,"statement")+`;
1285
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")+`;
1286
+ `}else if(n(h))w+=this.indent()+this.emit(h,"statement")+`;
1287
+ `;else if(Array.isArray(h)&&D.includes(h[0]))w+=this.indent()+this.emit(h,"statement")+`;
1288
1288
  `;else w+=this.indent()+`result.push(${this.emit(h,"value")});
1289
1289
  `;for(let A=0;A<_.length;A++)this.indentLevel--,w+=this.indent()+`}
1290
1290
  `;for(let A=0;A<u.length;A++)this.indentLevel--,w+=this.indent()+`}
1291
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")};
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((D)=>this.containsAwait(D))||i.some((D)=>this.containsAwait(D)),n=this.asyncIIFEOpen(w)+`
1293
+ `;this.indentLevel++,n+=this.indent()+`const result = {};
1294
+ `;for(let D of _){let[A,$,R,M]=D;if(A==="for-of"){let[z,W]=$,F=this.emit(R,"value");if(n+=this.indent()+`for (let ${z} in ${F}) {
1295
+ `,this.indentLevel++,M)n+=this.indent()+`if (!Object.hasOwn(${F}, ${z})) continue;
1296
+ `;if(W)n+=this.indent()+`let ${W} = ${F}[${z}];
1297
+ `}}for(let D of i)n+=this.indent()+`if (${this.emit(D,"value")}) {
1298
+ `,this.indentLevel++;n+=this.indent()+`result[${this.emit(h,"value")}] = ${this.emit(u,"value")};
1299
+ `;for(let D=0;D<i.length;D++)this.indentLevel--,n+=this.indent()+`}
1300
+ `;for(let D=0;D<_.length;D++)this.indentLevel--,n+=this.indent()+`}
1301
+ `;return n+=this.indent()+`return result;
1302
+ `,this.indentLevel--,n+=this.indent()+"})()",n}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 n=w.slice(1);if(n.length>0&&Array.isArray(n[0])&&n[0][0]==="object"){let A=n[0].slice(1);this.indentLevel++,i+=this._emitClassMembers(A,u);for(let $ of n.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
1304
  `;else i+=this.indent()+this.emit($,"statement")+`;
1305
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")};
1306
+ `;this.indentLevel--}else{this.indentLevel++;for(let A of n)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
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=`{
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"),n=this.extractMemberName(u);if(this.is(_,"=>")&&!i&&!w&&n!=="constructor")h.push(n)}for(let[,u,_]of f){let i=this.is(u,".")&&u[1]==="this",w=this.is(u,"computed"),n=this.extractMemberName(u);if(this.is(_,"->")||this.is(_,"=>")){let[,D,A]=_,$=this.containsAwait(A),R=this.containsYield(A),M=D,z=[];if(n==="constructor"){let U=!!l,H=U?new Map:null;M=D.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}${n}(${W}) `,!w)this.currentMethodName=n;c+=this.emitMethodBody(A,z,n==="constructor",M),this._atParamMap=null,this.currentMethodName=null,c+=`
1309
+ `}else if(i)c+=this.indent()+`static ${n} = ${this.emit(_,"value")};
1310
+ `;else c+=this.indent()+`${n} = ${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,n,D]=l,A=this.addJsExtensionAndAssertions(D);if(n[0]==="*"&&n.length===2)return`import ${w}, * as ${n[1]} from ${A}`;let $=n.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((n)=>Array.isArray(n)&&n.length===2?`${n[0]} as ${n[1]}`:n).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 n=new Set,D=(W)=>{if(typeof W==="string")n.add(W);else if(Array.isArray(W)){if(W[0]==="rest"||W[0]==="..."){if(typeof W[1]==="string")n.add(W[1])}else if(W[0]==="default"){if(typeof W[1]==="string")n.add(W[1])}else if(W[0]==="array"||W[0]==="object")this.collectVarsFromArray(W,n)}};if(Array.isArray(l))l.forEach(D);let A=this.collectFunctionVariables(f),$=new Set([...A].filter((W)=>!this.programVars.has(W)&&!this.reactiveVars?.has(W)&&!n.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([...$,...n])),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
1313
  `;if($.size>0)F+=this.indent()+`let ${Array.from($).sort().join(", ")};
1314
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
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)+`
@@ -1326,33 +1326,33 @@ export default ${c[1]}`;return`export default ${this.emit(c,"statement")}`}emitE
1326
1326
  `;H(W.slice(1))}else{for(let O of u)F+=this.indent()+O+`;
1327
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
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(`
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),n=this.emit(h,w?"value":"statement");return w?this.indent()+"return "+n+";":this.indent()+n+";"})).join(`
1330
1330
  `)}
1331
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
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(`
1333
1333
  `)}
1334
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`{
1335
+ `,i=this.withIndent(()=>{this.indentLevel++;let n=this.formatStatements(h);return this.indentLevel--,n}),w=this.withIndent(()=>this.indent()+"}");return`{
1336
1336
  ${u}${_}${i.join(`
1337
1337
  `)}
1338
1338
  ${w}
1339
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")});
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 n=0;n<f.length-1;n++){let D=f[n+1];if(n!==f.length-2||_(D)||Array.isArray(D)&&w.includes(D[0]))u+=this.indent()+this.emit(D,"statement")+`;
1341
+ `;else u+=this.indent()+`${h}.push(${this.emit(D,"value")});
1342
1342
  `}else if(_(f))u+=this.indent()+this.emit(f,"statement")+`;
1343
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()+$+` {
1344
+ `};if(l.length===1){let[w,n,D,A]=l[0];if(w==="for-in"){let{header:$,setup:R}=this._forInHeader(n,D,A);if(u+=this.indent()+$+` {
1345
1345
  `,this.indentLevel++,R)u+=this.indent()+R+`
1346
1346
  `;if(c?.length>0)u+=this.indent()+`if (${c.map((M)=>this.emit(M,"value")).join(" && ")}) {
1347
1347
  `,this.indentLevel++;if(i(),c?.length>0)this.indentLevel--,u+=this.indent()+`}
1348
1348
  `;return 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()+$+` {
1349
+ `,u}if(w==="for-of"){let{header:$,own:R,vv:M,oc:z,kvp:W}=this._forOfHeader(n,D,A);if(u+=this.indent()+$+` {
1350
1350
  `,this.indentLevel++,R)u+=this.indent()+`if (!Object.hasOwn(${z}, ${W})) continue;
1351
1351
  `;if(M)u+=this.indent()+`let ${M} = ${z}[${W}];
1352
1352
  `;if(c?.length>0)u+=this.indent()+`if (${c.map((F)=>this.emit(F,"value")).join(" && ")}) {
1353
1353
  `,this.indentLevel++;if(i(),c?.length>0)this.indentLevel--,u+=this.indent()+`}
1354
1354
  `;return this.indentLevel--,u+=this.indent()+`}
1355
- `,u}if(w==="for-as"){let{header:$}=this._forAsHeader(D,n,A);if(u+=this.indent()+$+` {
1355
+ `,u}if(w==="for-as"){let{header:$}=this._forAsHeader(n,D,A);if(u+=this.indent()+$+` {
1356
1356
  `,this.indentLevel++,c?.length>0)u+=this.indent()+`if (${c.map((R)=>this.emit(R,"value")).join(" && ")}) {
1357
1357
  `,this.indentLevel++;if(i(),c?.length>0)this.indentLevel--,u+=this.indent()+`}
1358
1358
  `;return this.indentLevel--,u+=this.indent()+`}
@@ -1361,29 +1361,29 @@ ${this.indent()}}`}return`{ if (${this.emit(l,"value")}) ${this.emit(f,"statemen
1361
1361
  `,this.indentLevel++,h+=this.indent()+this.emit(f,"statement")+`;
1362
1362
  `,this.indentLevel--,h+=this.indent()+`}
1363
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+` {
1364
+ `};if(l.length===1){let[i,w,n,D]=l[0];if(i==="for-in"){let{header:A,setup:$}=this._forInHeader(w,n,D);if(h+=A+` {
1365
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+` {
1366
+ `;return _(),this.indentLevel--,h+=this.indent()+"}",h}if(i==="for-as"){let{header:A}=this._forAsHeader(w,n,D);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,n,D);if(h+=A+` {
1368
1368
  `,this.indentLevel++,$)h+=this.indent()+`if (!Object.hasOwn(${M}, ${z})) continue;
1369
1369
  `;if(R)h+=this.indent()+`let ${R} = ${M}[${z}];
1370
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 {
1371
+ `,_+=this.withIndent(()=>this.emitBranchWithReturn(h)),_+=this.indent()+"}";for(let w of u)if(_+=" else ",this.is(w,"if")){let[,n,D,...A]=w;_+=`if (${this.emit(n,"value")}) {
1372
+ `,_+=this.withIndent(()=>this.emitBranchWithReturn(D)),_+=this.indent()+"}";for(let $ of A)_+=` else {
1373
1373
  `,_+=this.withIndent(()=>this.emitBranchWithReturn($)),_+=this.indent()+"}"}else _+=`{
1374
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
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")+`;
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((D)=>this.containsAwait(D)),n=this.asyncIIFEOpen(w)+" ";n+=`if (${this.emit(f,"value")}) `,n+=this.emitBlockWithReturns(l);for(let D of c)if(n+=" else ",this.is(D,"if")){let[A,$,R,...M]=D;n+=`if (${this.emit($,"value")}) `,n+=this.emitBlockWithReturns(R);for(let z of M)if(n+=" else ",this.is(z,"if")){let[W,F,U,...H]=z;n+=`if (${this.emit(F,"value")}) `,n+=this.emitBlockWithReturns(U),c.push(...H)}else n+=this.emitBlockWithReturns(z)}else n+=this.emitBlockWithReturns(D);return n+" })()"}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
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
1378
  `;else c+=this.indent()+this.emit(u[_],"statement")+`;
1379
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});
1380
+ `;else{if(u.length===1&&this.is(u[0],"if")&&!this.hasStatementInBranch(u[0])&&!this.hasNestedMultiStatement(u[0])){let[_,i,w,...n]=u[0],D=this.extractExpression(this.unwrapIfBranch(w)),A=this.buildTernaryChain(n);c+=this.indent()+`(${this.unwrap(this.emit(i,"value"))} ? ${D} : ${A});
1381
1381
  `}else if(this.is(f,"block")&&f.length>1)for(let _ of u)c+=this.indent()+this.emit(_,"statement")+`;
1382
1382
  `;else c+=this.indent()+this.emit(f,"statement")+`;
1383
1383
  `;c+=this.indent()+`break;
1384
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
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")+`;
1386
+ `;else for(let n of this.unwrapBlock(i))h+=this.indent()+this.emit(n,"statement")+`;
1387
1387
  `;this.indentLevel--,h+=this.indent()+"}"}if(l){if(h+=` else {
1388
1388
  `,this.indentLevel++,c==="value")h+=this.indent()+`return ${this.extractExpression(l)};
1389
1389
  `;else for(let u of this.unwrapBlock(l))h+=this.indent()+this.emit(u,"statement")+`;
@@ -1624,9 +1624,9 @@ if (typeof globalThis !== 'undefined') {
1624
1624
  `),u=h.findIndex((F)=>F==="__DATA__");if(u!==-1){let F=h.slice(u+1);c=F.length>0?F.join(`
1625
1625
  `)+`
1626
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+=`
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,n=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)n=[...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(n&&e1)w=e1(n,["program"],f);return{tokens:i,sexpr:["program"],code:"",dts:w,data:c,reactiveVars:{}}}let D=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,D=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"&&D)U.line=D.r??U.line,U.column=D.c??U.column,U.length=D.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
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); };
1629
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(n&&e1)w=e1(n,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 n=w.map(([A,$])=>`${A}: ${$}`).join(", "),D=w.map(([A,$])=>`${$}: "${A}"`).join(", ");return`const ${i} = {${n}, ${D}}`};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); };
1630
1630
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
1631
1631
  globalThis.exit ??= (code) => process.exit(code || 0);
1632
1632
  globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
@@ -1639,16 +1639,16 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
1639
1639
  globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
1640
1640
  globalThis.warn ??= console.warn;
1641
1641
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
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)+`
1642
+ `}function g1(){return new h1({}).getReactiveRuntime()}function v1(){return new h1({}).getComponentRuntime()}var D3="3.15.1",A3="2026-04-27@06:14:13GMT";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
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()=>{
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 n=atob(h),D=new Uint8Array(n.length);for(let A=0;A<n.length;A++)D[A]=n.charCodeAt(A);u=new TextDecoder().decode(D)}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 n=0;n<i.length;n++)w+=String.fromCharCode(i[n]);return`//# sourceMappingURL=data:application/json;base64,${btoa(w)}`})}function n3(f,l){let c=`${Y2(l)}.js`,h=M3(f,1);return`(async()=>{
1645
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()=>{
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(n)=>{if(!n.url)return;let D=await fetch(n.url);if(!D.ok)throw Error(`${n.url} (${D.status})`);if(n.url.endsWith(".rip"))n.code=await D.text();else{let A=await D.json();n.bundle=A}}));for(let n of h)if(n.status==="rejected")console.warn("Rip: fetch failed:",n.reason.message);let u=[],_=[];for(let n of f)if(n.bundle)u.push(n.bundle);else if(n.code)_.push(n);let i=l?.getAttribute("data-router");if(i!=null&&u.length>0){let n=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=n;let D={skipRuntimes:!0,skipExports:!0,skipImports:!0},A=0;for(let R of _){let M=R.url||`inline-${++A}.rip`,z=n?{...D,sourceMap:"inline",filename:M}:D,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)(n?n3(W,M):`(async()=>{
1647
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()=>{
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 n=[];for(let M of u){for(let[z,W]of Object.entries(M.components||{}))n.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))}}n.push(..._);let D=l?.getAttribute("data-debug")!=="false";if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=D;let A={skipRuntimes:!0,skipExports:!0,skipImports:!0},$=[],R=0;for(let M of n){if(!M.code)continue;let z=M.url||`inline-${++R}.rip`,W=D?{...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)(D?n3(W.js,W.url):`(async()=>{
1649
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}
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",(n)=>{if(n.data==="styles"){let D=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",D),$.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
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}'];
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:D3,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,n1,Y3,K3,q3,G3,J3,S3,Z3,X3,D1,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);D1=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(!D1&&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(!D1&&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,D1++,(()=>{try{for(let _ of u){if(c==null)return;c=c[B1(_,c)]}return c}finally{D1--}})()};E1=function(f,l,c){let h,u,_,i,w,n;return n=b1(l),i=f,D1++,(()=>{try{for(let D=0;D<n.length;D++){let A=n[D];if(u=B1(A,i),D===n.length-1)i[u]=c;else{if(i[u]==null)_=n[D+1],i[u]=typeof _==="number"||T3(_)?[]:{};i=i[u]}}return c}finally{D1--}})()};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,n;if(w=S1(f,u),!(w!=null&&typeof w==="object"))E1(f,u,{}),w=S1(f,u);return D1++,(()=>{try{return(()=>{let D=[];for(let A in _){let $=_[A];D.push(w[A]=$)}return D})()}finally{D1--}})()})};case"keys":return function(u){let _,i,w,n;return D1++,(()=>{try{w=b1(u),_=f;for(let D of w){if(_==null)return[];_=_[B1(D,_)]}if(!(_!=null&&typeof _==="object"))return[];return n=L1(_),Z1(n).value,Object.keys(n)}finally{D1--}})()};case"has":return function(u){let _,i,w,n,D,A;return D1++,(()=>{try{if(D=b1(u),!(D.length>0))return!1;w=f;for(let $=0;$<D.length;$++){let R=D[$];if(i=B1(R,w),$===D.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{D1--}})()};case"del":return function(u){let _,i,w,n,D;return D1++,(()=>{try{if(D=b1(u),!(D.length>0))return;return w=f,(()=>{let A=[];for(let $=0;$<D.length;$++){let R=D[$];if(i=B1(R,w),$===D.length-1){delete w[i];return}if(w==null)return;A.push(w=w[i])}return A})()}finally{D1--}})()}}})(),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,n,D;if(n=L1(f)||f,n[Symbol.for("persisted")])return;n[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(n){return h.value=n}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,n;if(n=c(),_=Date.now(),i=f-(_-h),i<=0)return u.value=n,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 n of h)w.push(n(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,n;n=[],i=u?u+"/":"";for(let[D]of l)if(D.startsWith(i)){if(w=D.slice(i.length),w.includes("/"))continue;n.push(D)}return n},listAll:function(u=""){let _,i,w;w=[],i=u?u+"/":"";for(let[n]of l)if(n.startsWith(i))w.push(n);return w},load:function(u){let _,i,w=[];for(let n in u){let D=u[n];w.push(l.set(n,D))}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 n=0;n<w.regex.names.length;n++){let D=w.regex.names[n];_[D]=decodeURIComponent(h[n+1])}return{route:w,params:_}}return null};_2=function(f,l="components"){let c,h,u,_,i,w,n,D,A,$;D=[],_=new Map,c=f.listAll(l);for(let R of c){if(n=R.slice(l.length+1),!n.endsWith(".rip"))continue;if(i=n.split("/").pop(),i==="_layout.rip"){h=n==="_layout.rip"?"":n.slice(0,-12),_.set(h,R);continue}if(i.startsWith("_"))continue;if(A=n.split("/"),A.length>1&&A.some(function(M,z){return z<A.length-1&&M.startsWith("_")}))continue;$=y3(n),w=V3($),D.push({pattern:$,regex:w,file:R,rel:n})}return D.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:D,layouts:_}};b3=function(f,l,c){let h,u,_,i,w,n;if(h=[],i=f.slice(l.length+1),n=i.split("/"),u="",c.has(""))h.push(c.get(""));for(let D=0;D<n.length;D++){let A=n[D];if(D===n.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,n,D,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},D=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):D(Y)},i=w1(Q($?F():location.pathname)),_=w1({}),n=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,n.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:n.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 n.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,n;if(_=f.replace(/^(\.\.\/|\.\/)+/,""),h=_.split("/").pop(),l){w=l.split("/"),w.pop();for(let D of f.split("/"))if(D==="..")w.pop();else if(D!==".")w.push(D);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 D of c.listAll("components"))if(D.endsWith(`/${h}`))return D;return null};r1=async function(f,l,c=null,h=null,u=null){let _,i,w,n,D,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(n=globalThis?.__ripDebug?.enabled&&h,_1=0,U=n?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),$){D=await r1($,l,c,B,u),M=G2(D);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
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;})();
1654
+ `:"",W)_1+=1;if(R=W+U,n&&_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,n,D,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,D=null,n=[],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(D))return;return D=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,n),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}n=[..._1],W=o}else if(y)i.innerHTML="",n=[],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,n,D,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))n=document.createElement("div"),n.id=H.replace(/^#/,""),document.body.prepend(n);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(),D=W.headers.get("etag"),D)sessionStorage.setItem(A,D),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}};n1=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 n1(f,l.next);case"ArrowUp":return n1(f,l.prev);case"Home":case"PageUp":return n1(f,l.first);case"End":case"PageDown":return n1(f,l.last);case"Enter":case" ":return n1(f,l.select);case"Escape":return n1(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(n){return typeof n==="function"?n():n},i=(n)=>{return![_(l),...h.map(_)].some(function(D){return D?.contains(n.target)})?c():void 0},w=(n)=>{if(_(l)?.contains(n.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,n,D,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()})},n=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",n),R=i.matches(":popover-open"),_=!!f,R!==_){if(M=w(h),_)A=M||u(),z(!0);D=M&&_?{force:_,source:M}:{force:_};try{i.togglePopover(D)}catch{}}else z(_);return function(){return i.removeEventListener("toggle",n)}};W3=function(f,l,c,h=!0){let u,_,i,w,n,D,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(D=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=D,D=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)},n=function(){return c?.(!1),$(!1),A()},_.addEventListener("cancel",w),_.addEventListener("close",n),f&&!_.open){if(!D)D=u();$(!0);try{_.showModal()}catch{}}else if(!f&&_.open)_.close();else $(!!f);return function(){return _.removeEventListener("cancel",w),_.removeEventListener("close",n)}};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?n1(f,l.next):void 0;case"ArrowUp":return u?n1(f,l.prev):void 0;case"ArrowRight":return h?n1(f,l.next):void 0;case"ArrowLeft":return h?n1(f,l.prev):void 0;case"Home":case"PageUp":return n1(f,l.first);case"End":case"PageDown":return n1(f,l.last);case"Enter":case" ":return n1(f,l.select);case"Escape":return n1(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,n,D;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",[D]=w.split(" "),l.style.marginTop="",l.style.marginBottom="",l.style.marginLeft="",l.style.marginRight="",D){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(n=f.getBoundingClientRect(),l.style.position="fixed",l.style.inset="auto",l.style.margin="0",[D,h]=w.split(" "),h??="start",D){case"bottom":l.style.top=`${n.bottom+i}px`;break;case"top":l.style.bottom=`${window.innerHeight-n.top+i}px`;break;case"left":l.style.right=`${window.innerWidth-n.left+i}px`;break;case"right":l.style.left=`${n.right+i}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(D):(D in["bottom","top"]))switch(h){case"start":l.style.left=`${n.left}px`;break;case"center":l.style.left=`${n.left+n.width/2}px`,l.style.transform="translateX(-50%)";break;case"end":l.style.right=`${window.innerWidth-n.right}px`;break}else switch(h){case"start":l.style.top=`${n.top}px`;break;case"center":l.style.top=`${n.top+n.height/2}px`,l.style.transform="translateY(-50%)";break;case"end":l.style.bottom=`${window.innerHeight-n.bottom}px`;break}return u?l.style.minWidth=`${n.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;})();