mol_wire_dom 0.0.1537 → 0.0.1539
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.deps.json +1 -1
- package/node.js +1 -0
- package/node.js.map +1 -1
- package/node.mjs +1 -0
- package/node.test.js +1 -0
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.deps.json +1 -1
- package/web.js +1 -0
- package/web.js.map +1 -1
- package/web.mjs +1 -0
package/node.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["-","../../../../mam.ts","../../../../mol/guid/guid.ts","../../../../mol/fail/fail.ts","../../../../mol/wire/cursor/cursor.ts","../../../../mol/wire/pub/pub.ts","../../../../mol/wire/wire.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/dev/format/format.ts","../../../../mol/wire/pub/sub/sub.ts","../../../../mol/ambient/ambient.ts","../../../../mol/delegate/delegate.ts","../../../../mol/owning/owning.ts","../../../../mol/func/name/name.ts","../../../../mol/object2/object2.ts","../../../../mol/after/tick/tick.ts","../../../../mol/promise/like/like.ts","../../../../mol/wire/fiber/fiber.ts","../../../../mol/key/key.ts","../../../../mol/after/timeout/timeout.ts","../../../../mol/after/frame/frame.node.ts","../../../../mol/compare/deep/deep.ts","../../../../mol/log3/log3.ts","../../../../mol/span/span.ts","../../../../mol/tree2/to/string/string.ts","../../../../mol/maybe/maybe.ts","../../../../mol/tree2/tree2.ts","../../../../mol/error/syntax/syntax.ts","../../../../mol/tree2/from/string/string.ts","../../../../mol/tree2/from/json/json.ts","../../../../mol/term/color/color.ts","../../../../mol/log3/log3.node.ts","../../../../mol/wire/task/task.ts","../../../../mol/wire/method/method.ts","../../../../mol/fail/catch/catch.ts","../../../../mol/try/try.node.ts","../../../../mol/fail/log/log.ts","../../../../mol/wire/atom/atom.ts","../../../../mol/dom/context/context.ts","../../../../node/node.node.ts","../../../../mol/error/mix/mix.ts","../../../../mol/object/object.ts","../../../../mol/env/env.ts","../../../../mol/env/env.node.ts","../../../../mol/wire/sync/sync.ts","../../../../mol/run/run.node.ts","../../../../mol/exec/exec.node.ts","../../../../mol/dom/context/context.node.ts","../../../../mol/dom/dom.ts","../../../../mol/dom/render/children/children.ts","../../../../mol/wire/patch/patch.ts","../../../../mol/wire/dom/dom.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tconstructor( id = `$mol_wire_pub:${ $mol_guid() }` ) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t}\n\t\t\n\t\t[ Symbol.toStringTag ]!: string\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.length = end\n\t\t\t\n\t\t\tif( end === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant, this.data[ i + 1 ] as number )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport const $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport const $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\t\n\tfunction $mol_dev_format_button( label: any, click: ()=> any ) {\n\t\treturn $mol_dev_format_auto( {\n\t\t\t[ $mol_dev_format_head ]() {\n\t\t\t\treturn $mol_dev_format_span( { color: 'cornflowerblue' }, label )\n\t\t\t},\n\t\t\t[ $mol_dev_format_body ]() {\n\t\t\t\tPromise.resolve().then( click )\n\t\t\t\treturn $mol_dev_format_span({})\n\t\t\t}\n\t\t} )\n\t}\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Error ) {\n\t\t\t\t\n\t\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\t$mol_dev_format_button( 'throw', ()=> $mol_fail_hidden( val ) ),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Promise ) {\n\t\t\t\treturn $mol_dev_format_shade(\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\tval[ Symbol.toStringTag ] ?? '',\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return false\n\t\t\tif( !val ) return false\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) true\n\t\t\tif( val[ $mol_dev_format_body ] ) return true\n\t\t\t\n\t\t\treturn false\n\t\t},\n\n\t\tbody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_body in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_body ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) {\n\t\t\t// \treturn $mol_dev_format_native( val )\n\t\t\t// }\n\t\t\t\n\t\t\treturn null\n\t\t},\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport let $mol_dev_format_span = $mol_dev_format_element.bind( null , 'span' )\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\t\n\tclass Stack extends Array< Call > {\n\t\t\n\t\t// [ Symbol.toPrimitive ]() {\n\t\t// \treturn this.toString()\n\t\t// }\n\t\t\n\t\ttoString() {\n\t\t\treturn this.join( '\\n' )\n\t\t}\n\t\t\n\t}\n\t\n\tclass Call extends Object {\n\t\t\n\t\treadonly type: string\n\t\treadonly function: string\n\t\treadonly method: string\n\t\treadonly eval: string\n\t\treadonly source: string\n\t\treadonly offset: number\n\t\treadonly pos: [ number, number ]\n\t\treadonly object: unknown\n\t\treadonly flags: readonly string[]\n\t\t[ Symbol.toStringTag ]!: string\n\t\t\n\t\tconstructor( call: NodeJS.CallSite ) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tthis.type = call.getTypeName() ?? ''\n\t\t\tthis.function = call.getFunctionName() ?? ''\n\t\t\tthis.method = call.getMethodName() ?? ''\n\t\t\tif( this.method === this.function ) this.method = ''\n\t\t\t// const func = c.getFunction()\n\t\t\tthis.pos = [ call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0 ]\n\t\t\tthis.eval = call.getEvalOrigin() ?? ''\n\t\t\tthis.source = call.getScriptNameOrSourceURL() ?? ''\n\t\t\tthis.object = call.getThis()\n\t\t\tthis.offset = call.getPosition()\n\t\t\t\n\t\t\tconst flags = []\n\t\t\tif( call.isAsync() ) flags.push( 'async' )\n\t\t\tif( call.isConstructor() ) flags.push( 'constructor' )\n\t\t\tif( call.isEval() ) flags.push( 'eval' )\n\t\t\tif( call.isNative() ) flags.push( 'native' )\n\t\t\tif( call.isPromiseAll() ) flags.push( 'PromiseAll' )\n\t\t\tif( call.isToplevel() ) flags.push( 'top' )\n\t\t\tthis.flags = flags\n\t\t\n\t\t\tconst type = this.type ? this.type + '.' : ''\n\t\t\tconst func = this.function || '<anon>'\n\t\t\tconst method = this.method ? ' [' + this.method + '] ' : ''\n\t\t\t\n\t\t\tthis[ Symbol.toStringTag ] = `${type}${func}${method}`\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\tconst object = this.object || ''\n\t\t\tconst label = this[ Symbol.toStringTag ]\n\t\t\tconst source = `${ this.source }:${ this.pos.join( ':' ) } #${ this.offset }`\n\t\t\treturn `\\tat ${object}${label} (${source})`\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( ' ' ),\n\t\t\t\t... this.object ? [\n\t\t\t\t\t$mol_dev_format_native( this.object ),\n\t\t\t\t] : [],\n\t\t\t\t... this.method ? [ $mol_dev_format_shade( ' ',\n\t\t\t\t\t' [',\n\t\t\t\t\tthis.method,\n\t\t\t\t\t']',\n\t\t\t\t) ] : [],\n\t\t\t\t$mol_dev_format_shade( ' ', this.flags.join( ', ' ) ),\n\t\t\t)\n\t\t}\n\n\t}\n\t\n\tError.prepareStackTrace ??= ( error: Error, stack: NodeJS.CallSite[] )=> new Stack( ... stack.map( call => new Call( call ) ) )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.length = this.sub_from \n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet end = this.data.length\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tend -= 2\n\t\t\t\tif( this.sub_from <= end ) this.peer_move( end, cursor )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.length = end\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale, pos = -1 ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t\t// if( pos >= 0 && pos < this.sub_from - 2 ) {\n\t\t\t\t\n\t\t\t// \tconst pub = this.data[ pos ] as $mol_wire_pub\n\t\t\t// \tif( pub instanceof $mol_wire_task ) return\n\t\t\t\t\n\t\t\t// \tfor(\n\t\t\t// \t\tlet cursor = this.pub_from;\n\t\t\t// \t\tcursor < this.sub_from;\n\t\t\t// \t\tcursor += 2\n\t\t\t// \t) {\n\t\t\t\t\t\n\t\t\t// \t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\t\t\n\t\t\t// \t\tif( pub instanceof $mol_wire_task ) {\n\t\t\t// \t\t\tpub.destructor()\n\t\t\t// \t\t}\n\t\t\t\t\t\n\t\t\t// \t}\n\t\t\t\t\n\t\t\t// }\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise<void> | null\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( !$mol_after_tick.promise ) $mol_after_tick.promise = Promise.resolve().then( ()=> {\n\t\t\t\t$mol_after_tick.promise = null\n\t\t\t} )\n\t\t\t\n\t\t\t$mol_after_tick.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise<any> {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\tconst wrappers = new WeakMap< Promise< unknown >, Promise< any > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_tick | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '()'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper( id )\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\n\t\t\t\t\tif( wrappers.has( result ) ) {\n\t\t\t\t\t\tresult = wrappers.get( result )!.then(a=>a)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\t\treturn res\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twrappers.set( result, result = Object.assign(\n\t\t\t\t\t\t\tresult.then( put, put ),\n\t\t\t\t\t\t\t{ destructor: ( result as any ).destructor || (()=> {}) }\n\t\t\t\t\t\t) )\n\t\t\t\t\t\twrappers.set( result, result )\n\n\t\t\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tif( wrappers.has( result ) ) {\n\t\t\t\t\t\tresult = wrappers.get( result )!\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst put = ( v: any )=> {\n\t\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t\t\treturn v\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\twrappers.set( result, result = Object.assign(\n\t\t\t\t\t\t\tresult.then( put, put ),\n\t\t\t\t\t\t\t{ destructor: ( result as any ).destructor || (()=> {}) }\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async_raw() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tasync() {\n\t\t\tconst promise = this.async_raw() as Promise<Result> & { destructor(): void }\n\n\t\t\tif (! promise.destructor) promise.destructor = () => this.destructor()\n\n\t\t\treturn promise\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsetTimeout( ()=> sub.destructor() )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tif( ! $mol_owning_check( this, this.cache ) ) return\n\n\t\t\ttry {\n\t\t\t\tthis.cache.destructor()\n\t\t\t} catch (result) {\n\t\t\t\tif ($mol_promise_like(result)) {\n\t\t\t\t\tconst error = new Error( `Promise in ${ this }.destructor()` )\n\t\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\t\t\t\t}\n\n\t\t\t\t$mol_fail_hidden(result)\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\t\n\tconst TypedArray = Object.getPrototypeOf( Uint8Array )\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\t// if( value instanceof DataView ) return [ ... new Uint8Array( value.buffer ) ]\n\t\t\tif( value instanceof TypedArray ) return [ ... value as any ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && $mol_compare_deep( left.stack, (right as any).stack )\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, right.byteOffset, right.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this.$\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\t\t\treturn this.update( $mol_maybe( value ), ... path )[0]\n\t\t}\n\n\t\t/** Makes new tree with node overrided by path. */\n\t\tupdate( value : readonly $mol_tree2[] , ...path : $mol_tree2_path ) : readonly $mol_tree2[] {\n\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.flatMap( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.update( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( ... this.struct( type , [] ).update( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ this.clone( sub ) ]\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst ins = ( this.kids[ type ] || this.list([]) )\n\t\t\t\t\t.update( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn [ this.clone([\n\t\t\t\t\t... this.kids.slice( 0, type ),\n\t\t\t\t\t... ins,\n\t\t\t\t\t... this.kids.slice( type + 1 ),\n\t\t\t\t]) ]\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t\t.flatMap( item => item.update( value , ... path.slice( 1 ) ) )\n\n\t\t\t\treturn [ this.clone( kids ) ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\tlet cause = ''\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.task !== task ) { cause = 'task'; break reuse }\n\t\t\t\t\tif( existen.host !== host ) { cause = 'host'; break reuse }\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) { cause = 'args'; break reuse }\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst key = ( (host as any)?.[ Symbol.toStringTag ] ?? host ) + ( '.' + task.name + '<#>' )\n\t\t\t\tconst next = new $mol_wire_task( key, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Different ${cause} on restart`,\n\t\t\t\t\t\tsub,\n\t\t\t\t\t\tprev: existen,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Maybe required additional memoization',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\tsuper.destructor()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_try< Result >( handler : ()=> Result ) : Result|Error {\n\t\ttry {\n\t\t\treturn handler()\n\t\t} catch( error: any ) {\n\t\t\treturn error\n\t\t}\n\t}\n\t\n} \n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\t$mol_try( ()=> { $mol_fail_hidden( error ) } )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = prefix + ( '.' + task.name + '<>' )\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map<any,any>()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = prefix + ( '.' + task.name ) + ( '<' + key_str.replace( /^\"|\"$/g, \"'\" ) + '>' )\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update atom value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\t\n\t\t\t// enforce pulling tasks abort\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub && pub instanceof $mol_wire_task ) {\n\t\t\t\t\tpub.destructor()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tif( name.startsWith( 'node:' ) ) return target.require ( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst mod = target.require/****/( 'module' ) as typeof import/****/( 'module' )\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require ( name )\n\n\t\ttry {\n\t\t\ttarget.require.resolve( name )\n\t\t} catch {\n\t\t\n\t\t\tconst $$ = ( $ as any )\n\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\n\t\t\ttry {\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t} catch (e) {\n\t\t\t\tif ($$.$mol_fail_catch(e)) {\n\t\t\t\t\t$$.$mol_fail_log(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\n\t\t\tif($.$mol_fail_catch(error) && ( error as any ).code === 'ERR_REQUIRE_ESM' ) {\n\t\t\t\tconst module = cache.get( name )\n\t\t\t\tif( module ) return module\n\t\t\t\tthrow import( name ).then( module => cache.set( name, module ) )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_fail_log( error )\n\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nconst cache = new Map< string, any >()\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\tfunction cause_serialize(cause: unknown) {\n\t\treturn JSON.stringify( cause, null, ' ' )\n\t\t\t.replace(/\\(/,'<')\n\t\t\t.replace(/\\)/,' >')\n\t}\n\n\tfunction frame_normalize(frame: string | Object) {\n\t\treturn ( typeof frame === 'string' ? frame : cause_serialize(frame) )\n\t\t\t.trim()\n\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t}\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: readonly Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst desc = Object.getOwnPropertyDescriptor( this, 'stack' )\n\t\t\tconst stack_get = ()=> desc?.get?.() ?? super.stack ?? desc?.value ?? this.message\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> stack_get() + '\\n' + [\n\t\t\t\t\t\tthis.cause ?? 'no cause',\n\t\t\t\t\t\t... this.errors.flatMap( e => [\n\t\t\t\t\t\t\tString( e.stack ),\n\t\t\t\t\t\t\t... e instanceof $mol_error_mix || ! e.cause ? [] : [ e.cause ]\n\t\t\t\t\t\t] )\n\t\t\t\t\t].map(frame_normalize).join('\\n')\n\t\t\t} )\n\n\t\t\t// в nodejs, что б не дублировалось cause в консоли\n\t\t\tObject.defineProperty(this, 'cause', {\n\t\t\t\tget: () => cause\n\t\t\t})\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters<typeof $mol_error_mix>\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\tconst factories = new WeakMap<Function, Function>()\n\n\tfunction factory<Args extends unknown[], Result>(\n\t\tval: new (...args: Args) => Result\n\t) {\n\t\tlet make = factories.get(val) as null | ((...args: Args) => Result)\n\n\t\tif ( make ) return make\n\n\t\tmake = $mol_func_name_from((...args: Args) => new val(...args), val)\n\t\tfactories.set(val, make)\n\n\t\treturn make\n\t}\n\n\tconst getters = new WeakMap<Object, Record<string | symbol, (next?: unknown) => unknown>>()\n\n\tfunction get_prop(\n\t\thost: Object,\n\t\tfield: string | symbol,\n\t) {\n\t\tlet props = getters.get(host)\n\t\tlet get_val = props?.[field]\n\n\t\tif ( get_val ) return get_val\n\n\t\tget_val = (next?: unknown) => {\n\t\t\tif (next !== undefined) host[field as keyof typeof host] = next as any\n\n\t\t\treturn host[field as keyof typeof host]\n\t\t}\n\n\t\tObject.defineProperty( get_val , 'name' , { value : field } )\n\n\t\tif (! props) {\n\t\t\tprops = {}\n\t\t\tgetters.set(host, props)\n\t\t}\n\t\tprops[field] = get_val\n\n\t\treturn get_val\n\t}\n\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tlet val = (obj as any)[ field ]\n\t\t\t\tconst temp = $mol_wire_task.getter(typeof val === 'function' ? val : get_prop(obj, field))\n\n\t\t\t\tif (typeof val !== 'function') return temp( obj, [] ).sync()\n\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: unknown[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tset( obj, field, next) {\n\t\t\t\tconst temp = $mol_wire_task.getter(get_prop(obj, field))\n\t\t\t\ttemp( obj, [ next ] ).sync()\n\n\t\t\t\treturn true\n\t\t\t},\n\n\t\t\tconstruct(obj, args) {\n\t\t\t\tconst temp = $mol_wire_task.getter(factory(obj as (new ( ... args: unknown[] )=> unknown)))\n\t\t\t\treturn temp( obj, args ).sync() as object\n\t\t\t},\n\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter(obj as ( ... args: any[] )=> any)\n\t\t\t\treturn temp(self, args).sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited<Host>\n\t}\n\n\ttype FunctionResultAwaited<Some> = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited<Res>\n\t\t: Some\n\n\ttype ConstructorResultAwaited<Some> = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited<Host extends Object> = {\n\t\t[K in keyof Host]: FunctionResultAwaited<Host[K]>\n\t}\n\n\ttype ObjectOrFunctionResultAwaited<Some> = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited<Some> : {}\n\t) & ( Some extends Object ? MethodsResultAwaited<Some> & ConstructorResultAwaited<Some> : Some )\n\n}\n","namespace $ {\n\n\texport type $mol_run_error_context = {\n\t\tpid?: number\n\t\tstdout: Buffer | string\n\t\tstderr: Buffer | string\n\t}\n\n\texport class $mol_run_error extends $mol_error_mix<{\n\t\ttimeout_kill?: boolean\n\t\tpid?: number\n\t\tsignal?: NodeJS.Signals | null\n\t\tstatus?: number | null\n\t\tcommand: string\n\t\tdir: string\n\t}> {}\n\n\texport const $mol_run_spawn = (\n\t\t...args: Parameters<typeof $node['child_process']['spawn']>\n\t) => $node['child_process'].spawn(...args)\n\n\texport const $mol_run_spawn_sync = (\n\t\t...args: Parameters<typeof $node['child_process']['spawnSync']>\n\t) => $node['child_process'].spawnSync(...args)\n\n\texport type $mol_run_options = {\n\t\tcommand : readonly string[] | string\n\t\tdir : string\n\t\ttimeout?: number\n\t\tenv?: Record<string, string | undefined>\n\t}\n\n\texport class $mol_run extends $mol_object {\n\n\t\tstatic async_enabled() {\n\t\t\treturn Boolean(this.$.$mol_env()['MOL_RUN_ASYNC'])\n\t\t}\n\n\t\tstatic spawn(options: $mol_run_options) {\n\t\t\tconst sync = ! this.async_enabled() || ! Boolean($mol_wire_auto())\n\t\t\tconst env = options.env ?? this.$.$mol_env()\n\n\t\t\treturn $mol_wire_sync(this).spawn_async( { ...options, sync, env } )\n\t\t}\n\n\t\tstatic spawn_async(\n\t\t\t{ dir, sync, timeout, command, env }: $mol_run_options & { sync?: boolean }\n\t\t) {\n\t\t\tconst args_raw = typeof command === 'string' ? command.split( ' ' ) : command\n\t\t\tconst [ app, ...args ] = args_raw\n\t\t\tconst opts = { shell: true, cwd: dir, env }\n\n\t\t\tconst log_object = {\n\t\t\t\tplace: `${this}.spawn()`,\n\t\t\t\tmessage: 'Run',\n\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t}\n\n\t\t\tif (sync) {\n\n\t\t\t\tthis.$.$mol_log3_come({\n\t\t\t\t\thint: 'Run inside fiber',\n\t\t\t\t\t...log_object\n\t\t\t\t})\n\n\t\t\t\tlet error: Error | undefined\n\t\t\t\tlet res\n\n\t\t\t\ttry {\n\t\t\t\t\tres = this.$.$mol_run_spawn_sync(app, args, opts)\n\t\t\t\t\terror = res.error\n\t\t\t\t} catch (err) {\n\t\t\t\t\terror = err as Error\n\t\t\t\t}\n\n\t\t\t\tif (! res || error || res.status) {\n\t\t\t\t\tthrow new $mol_run_error(\n\t\t\t\t\t\tthis.error_message(res),\n\t\t\t\t\t\t{ ...log_object, status: res?.status, signal: res?.signal },\n\t\t\t\t\t\t...(error ? [error] : [])\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\treturn res\n\t\t\t}\n\n\t\t\tlet sub\n\n\t\t\ttry {\n\t\t\t\tsub = this.$.$mol_run_spawn(app, args, {\n\t\t\t\t\t...opts,\n\t\t\t\t\tstdio: [ 'pipe', 'inherit', 'inherit' ],\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tthrow new $mol_run_error(\n\t\t\t\t\tthis.error_message(undefined),\n\t\t\t\t\tlog_object,\n\t\t\t\t\terror as Error\n\t\t\t\t)\n\t\t\t}\n\t\n\t\t\tconst pid = sub.pid ?? 0\n\n\t\t\tthis.$.$mol_log3_come({\n\t\t\t\t...log_object,\n\t\t\t\tpid,\n\t\t\t})\n\t\n\t\t\tlet timeout_kill = false\n\t\t\tlet timer: undefined | ReturnType<typeof setTimeout>\n\t\n\t\t\tconst std_data = [] as Buffer[]\n\t\t\tconst error_data = [] as Buffer[]\n\t\n\t\t\tconst add = (std_chunk?: Buffer, error_chunk?: Buffer) => {\n\t\t\t\tif (std_chunk) std_data.push(std_chunk)\n\t\t\t\tif (error_chunk) error_data.push(error_chunk)\n\t\t\t\tif (! timeout) return\n\t\n\t\t\t\tclearTimeout(timer)\n\t\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tconst signal = timeout_kill ? 'SIGKILL' : 'SIGTERM'\n\t\t\t\t\ttimeout_kill = true\n\t\t\t\t\tadd()\n\t\t\t\t\tsub.kill(signal)\n\t\t\t\t}, timeout)\n\t\t\t}\n\t\n\t\t\tadd()\n\t\n\t\t\tsub.stdout?.on('data', data => add(data) )\n\t\t\tsub.stderr?.on('data', data => add(undefined, data) )\n\t\n\t\t\tconst result_promise = new Promise<$mol_run_error_context>((done, fail) => {\n\t\t\t\tconst close = (error: Error | null, status: number | null = null, signal: NodeJS.Signals | null = null) => {\n\t\t\t\t\tif (! timer && timeout) return\n\t\n\t\t\t\t\tclearTimeout(timer)\n\t\t\t\t\ttimer = undefined\n\t\n\t\t\t\t\tconst res = {\n\t\t\t\t\t\tpid,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t\tget stdout() { return Buffer.concat(std_data) },\n\t\t\t\t\t\tget stderr() { return Buffer.concat(error_data) }\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tif (error || status || timeout_kill) return fail( new $mol_run_error(\n\t\t\t\t\t\tthis.error_message(res) + (timeout_kill ? ', timeout' : ''),\n\t\t\t\t\t\t{ ...log_object, pid, status, signal, timeout_kill },\n\t\t\t\t\t\t...error ? [ error ] : []\n\t\t\t\t\t) )\n\n\t\t\t\t\tthis.$.$mol_log3_done({\n\t\t\t\t\t\t...log_object,\n\t\t\t\t\t\tpid,\n\t\t\t\t\t})\n\t\t\t\n\t\t\t\t\tdone(res)\n\t\t\t\t}\n\t\n\t\t\t\tsub.on('disconnect', () => close(new Error('Disconnected')) )\n\t\t\t\tsub.on('error', err => close(err) )\n\t\t\t\tsub.on('exit', (status, signal) => close(null, status, signal) )\n\t\t\t})\n\t\n\t\t\treturn Object.assign(result_promise, { destructor: () => {\n\t\t\t\tclearTimeout(timer)\n\t\t\t\tsub.kill('SIGKILL')\n\t\t\t} })\n\t\t}\n\n\t\tstatic error_message(res?: $mol_run_error_context) {\n\t\t\treturn res?.stderr.toString() || res?.stdout.toString() || 'Run error'\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : readonly string[]\n\t) {\n\t\treturn this.$mol_run.spawn( { command: [ command, ...args ], dir } )\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\texport function $mol_wire_patch( obj: object ) {\n\t\t\n\t\tfor( const field of Reflect.ownKeys( obj ) ) {\n\t\t\t\n\t\t\tconst descr = Reflect.getOwnPropertyDescriptor( obj, field )!\n\t\t\tif( !descr.configurable ) continue\n\t\t\tif( !descr.get ) continue\n\t\t\t\n\t\t\tconst get = descr.get ?? ( ()=> descr.value )\n\t\t\tconst set = descr.set ?? ( next => descr.value = next )\n\t\t\t\n\t\t\tReflect.defineProperty( obj, field, {\n\t\t\t\t\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: descr.enumerable,\n\t\t\t\t\n\t\t\t\tget() {\n\t\t\t\t\tconst atom = $mol_wire_atom.solo( obj, get )\n\t\t\t\t\tatom.watch()\n\t\t\t\t\treturn atom.sync()\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\tset( next ) {\n\t\t\t\t\tconst atom = $mol_wire_atom.solo( obj, get )\n\t\t\t\t\tset.call( this, next )\n\t\t\t\t\tatom.refresh()\n\t\t\t\t},\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","interface Node {\n\t__defineGetter__: ( field: string, getter: ()=> any )=> void\n}\n\nnamespace $ {\n\t\n\texport function lookup_descr<\n\t\tObj extends { [ field in Field ]: any },\n\t\tField extends PropertyKey\n\t>( obj: Obj, field: Field ): PropertyDescriptor | null {\n\t\t\n\t\tconst descr = Reflect.getOwnPropertyDescriptor( obj, field )\n\t\tif( descr ) return descr\n\t\t\n\t\tconst proto = Reflect.getPrototypeOf( obj )\n\t\tif( proto ) return lookup_descr( proto as Obj, field )\n\t\t\n\t\treturn null\n\t}\n\t\n\tfunction reproperty< El extends Element >( el: El, field: string ) {\n\t\t\n\t\tconst descr = lookup_descr( Reflect.getPrototypeOf( el )!, field )!\n\t\tlet task = Reflect.getOwnPropertyDescriptor( el, field )?.get\n\t\t\n\t\tconst atom = new $mol_wire_atom< typeof el, [] | [ string ], string >(\n\t\t\tel.id + '.' + field,\n\t\t\tfunction( this: typeof el, next?: any ) {\n\t\t\t\t\n\t\t\t\tlet res = task?.() ?? next\n\t\t\t\tif( res === undefined ) return descr.get!.call( this )\n\t\t\t\t\n\t\t\t\tdescr.set!.call( this, res )\n\t\t\t\treturn res\n\t\t\t\t\n\t\t\t},\n\t\t\tel,\n\t\t\t[],\n\t\t)\n\t\t\n\t\tObject.defineProperty( el, field, {\n\t\t\tconfigurable: true,\n\t\t\tget: ()=> atom.sync(),\n\t\t\tset: next => {\n\t\t\t\tif( typeof next === 'function' ) {\n\t\t\t\t\ttask = next\n\t\t\t\t\tatom.absorb()\n\t\t\t\t\tatom.fresh()\n\t\t\t\t} else {\n\t\t\t\t\tif( atom.cache === next ) return\n\t\t\t\t\tatom.resync([ next ])\n\t\t\t\t}\n\t\t\t},\n\t\t} )\n\t\t\n\t\tif( task ) atom.fresh()\n\t\t\n\t\treturn ()=> atom.absorb()\n\t}\n\t\n\tfunction restyle< El extends HTMLElement >( el: El ) {\n\t\t\n\t\tconst style = el.style\n\t\tlet task = ( next: any )=> next\n\t\t\n\t\tconst atom = new $mol_wire_atom< typeof el, [] | [ Partial< CSSStyleDeclaration > ], CSSStyleDeclaration >(\n\t\t\tel.id + '.style',\n\t\t\tfunction( this: typeof el, next?: any ) {\n\t\t\t\t\n\t\t\t\tconst res = task( next ) as CSSStyleDeclaration\n\t\t\t\tif( res === undefined ) return style\n\t\t\t\t\n\t\t\t\tfor( const key in res ) {\n\t\t\t\t\tstyle[ key ] = res[ key ] ?? ''\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn style\n\t\t\t\t\n\t\t\t},\n\t\t\tel,\n\t\t\t[],\n\t\t)\n\t\t\n\t\tObject.defineProperty( el, 'style', {\n\t\t\tconfigurable: true,\n\t\t\tget: ()=> atom.sync(),\n\t\t\tset: next => {\n\t\t\t\tif( typeof next === 'function' ) {\n\t\t\t\t\ttask = next\n\t\t\t\t\tatom.absorb()\n\t\t\t\t\tatom.fresh()\n\t\t\t\t} else {\n\t\t\t\t\tatom.resync([ next ])\n\t\t\t\t}\n\t\t\t},\n\t\t} )\n\t\t\n\t\treturn ()=> atom.absorb()\n\t}\n\t\n\tfunction rekids< El extends Element >( el: El ) {\n\t\t\n\t\tconst kids = el.childNodes\n\t\tlet task = ( next: any )=> next\n\t\t\n\t\tconst atom = new $mol_wire_atom< typeof el, [] | [ ArrayLike<ChildNode> ], NodeListOf<ChildNode> >(\n\t\t\tel.id + '.childNodes',\n\t\t\tfunction( this: typeof el, next?: any ) {\n\t\t\t\t\n\t\t\t\tconst res = task( next ) as ChildNode[]\n\t\t\t\tif( res === undefined ) return kids\n\t\t\t\t\n\t\t\t\tfor( const kid of res ) if( kid instanceof Element ) $mol_wire_dom( kid )\n\t\t\t\t$mol_dom_render_children( this, res )\n\t\t\t\t\n\t\t\t\treturn kids\n\t\t\t\t\n\t\t\t},\n\t\t\tel,\n\t\t\t[],\n\t\t)\n\t\t\n\t\tObject.defineProperty( el, 'childNodes', {\n\t\t\tconfigurable: true,\n\t\t\tget: ()=> atom.sync(),\n\t\t\tset: next => {\n\t\t\t\tif( typeof next === 'function' ) {\n\t\t\t\t\ttask = next\n\t\t\t\t\tatom.absorb()\n\t\t\t\t\tatom.fresh()\n\t\t\t\t} else {\n\t\t\t\t\tatom.resync([ next ])\n\t\t\t\t}\n\t\t\t},\n\t\t} )\n\t\t\n\t\treturn ()=> atom.absorb()\n\t}\n\t\n\tfunction redefine( this: Element, field: string, getter: ()=> any ) {\n\t\t;( $mol_wire_dom( this ) as any )[ field ] = getter\n\t}\n\t\n\t/** Polyfill makes DOM reactive. */\n\texport function $mol_wire_dom< El extends Element >( el: El ) {\n\t\t\n\t\tif( el.__defineGetter__ === redefine ) return el\n\t\t\n\t\tfor( const kid of el.children ) $mol_wire_dom( kid )\n\t\t\n\t\tif( el instanceof HTMLInputElement ) el.addEventListener( 'input', reproperty( el, 'value' ) )\n\t\tif( el instanceof HTMLInputElement ) el.addEventListener( 'change', reproperty( el, 'checked' ) )\n\t\tif( el instanceof HTMLElement ) el.addEventListener( 'DOMSubtreeModified', reproperty( el, 'innerText' ) )\n\t\tif( el instanceof HTMLElement ) el.addEventListener( 'DOMSubtreeModified', reproperty( el, 'innerHTML' ) )\n\t\tif( el instanceof HTMLElement ) el.addEventListener( 'DOMSubtreeModified', reproperty( el, 'outerHTML' ) )\n\t\tif( el instanceof HTMLElement ) restyle( el )\n\t\t\n\t\tel.addEventListener( 'DOMSubtreeModified', reproperty( el, 'textContent' ) )\n\t\tel.addEventListener( 'DOMSubtreeModified', rekids( el ) )\n\t\t\n\t\tel.__defineGetter__ = redefine\n\t\t\n\t\treturn el\n\t}\n\t\n}\n"]}
|
1
|
+
{"version":3,"sources":["-","../../../../mam.ts","../../../../mol/guid/guid.ts","../../../../mol/fail/fail.ts","../../../../mol/wire/cursor/cursor.ts","../../../../mol/wire/pub/pub.ts","../../../../mol/wire/wire.ts","../../../../mol/fail/hidden/hidden.ts","../../../../mol/dev/format/format.ts","../../../../mol/wire/pub/sub/sub.ts","../../../../mol/ambient/ambient.ts","../../../../mol/delegate/delegate.ts","../../../../mol/owning/owning.ts","../../../../mol/func/name/name.ts","../../../../mol/object2/object2.ts","../../../../mol/after/tick/tick.ts","../../../../mol/promise/like/like.ts","../../../../mol/wire/fiber/fiber.ts","../../../../mol/key/key.ts","../../../../mol/after/timeout/timeout.ts","../../../../mol/after/frame/frame.node.ts","../../../../mol/compare/deep/deep.ts","../../../../mol/log3/log3.ts","../../../../mol/span/span.ts","../../../../mol/tree2/to/string/string.ts","../../../../mol/maybe/maybe.ts","../../../../mol/tree2/tree2.ts","../../../../mol/error/syntax/syntax.ts","../../../../mol/tree2/from/string/string.ts","../../../../mol/tree2/from/json/json.ts","../../../../mol/term/color/color.ts","../../../../mol/log3/log3.node.ts","../../../../mol/wire/task/task.ts","../../../../mol/wire/method/method.ts","../../../../mol/fail/catch/catch.ts","../../../../mol/try/try.node.ts","../../../../mol/fail/log/log.ts","../../../../mol/wire/atom/atom.ts","../../../../mol/dom/context/context.ts","../../../../node/node.node.ts","../../../../mol/error/mix/mix.ts","../../../../mol/object/object.ts","../../../../mol/env/env.ts","../../../../mol/env/env.node.ts","../../../../mol/wire/sync/sync.ts","../../../../mol/run/run.node.ts","../../../../mol/exec/exec.node.ts","../../../../mol/dom/context/context.node.ts","../../../../mol/dom/dom.ts","../../../../mol/dom/render/children/children.ts","../../../../mol/wire/patch/patch.ts","../../../../mol/wire/dom/dom.ts"],"names":[],"mappings":"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","sourcesContent":[null,"Error.stackTraceLimit = 50;\n\ndeclare let _$_: { new(): {} } & typeof globalThis\ndeclare class $ extends _$_ {}\n\nnamespace $ {\n\texport type $ = typeof $$\n\texport declare class $$ extends $ {\n\t\tstatic $: $\n\t}\n\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\n","namespace $ {\n\n\t/** Generates unique identifier. */\n\texport function $mol_guid(\n\t\tlength = 8,\n\t\texists: ( id: string )=> boolean = ()=> false,\n\t) {\n\n\t\tfor(;;) {\n\n\t\t\tlet id = Math.random().toString( 36 ).substring( 2, length + 2 ).toUpperCase()\n\t\t\tif( exists( id ) ) continue\n\t\t\t\n\t\t\treturn id\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Special status statuses. */\n\texport enum $mol_wire_cursor {\n\t\t\n\t\t/** Update required. */\n\t\tstale = -1,\n\t\t\n\t\t/** Some of (transitive) pub update required. */\n\t\tdoubt = -2,\n\t\t\n\t\t/** Actual state but may be dropped. */\n\t\tfresh = -3,\n\t\t\n\t\t/** State will never be changed. */\n\t\tfinal = -4,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Collects subscribers in compact array. 28B\n\t */\n\texport class $mol_wire_pub extends Object {\n\t\t\n\t\tconstructor( id = `$mol_wire_pub:${ $mol_guid() }` ) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = id\n\t\t}\n\t\t\n\t\t[ Symbol.toStringTag ]!: string\n\t\tdata = [] as unknown[]\n\t\t\n\t\t// Derived objects should be Arrays.\n\t\tstatic get [ Symbol.species ]() {\n\t\t\treturn Array\n\t\t}\n\t\t\n\t\t/**\n\t\t * Index of first subscriber.\n\t\t */\n\t\tprotected sub_from = 0 // 4B\n\t\t\n\t\t/**\n\t\t * All current subscribers.\n\t\t */\n\t\tget sub_list() {\n\t\t\tconst res = [] as $mol_wire_sub[]\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\tres.push( this.data[i] as $mol_wire_sub )\n\t\t\t}\n\t\t\treturn res as readonly $mol_wire_sub[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * Has any subscribers or not.\n\t\t */\n\t\tget sub_empty() {\n\t\t\treturn this.sub_from === this.data.length\n\t\t}\n\t\t\n\t\t/**\n\t\t * Subscribe subscriber to this publisher events and return position of subscriber that required to unsubscribe.\n\t\t */\n\t\tsub_on( sub: $mol_wire_pub, pub_pos: number ) {\n\t\t\tconst pos = this.data.length\n\t\t\tthis.data.push( sub, pub_pos )\n\t\t\treturn pos\n\t\t}\n\t\t\n\t\t/**\n\t\t * Unsubscribe subscriber from this publisher events by subscriber position provided by `on(pub)`.\n\t\t */\n\t\tsub_off( sub_pos: number ) {\n\t\t\t\n\t\t\tif(!( sub_pos < this.data.length )) {\n\t\t\t\t$mol_fail( new Error( `Wrong pos ${ sub_pos }` ) )\n\t\t\t}\n\t\t\t\n\t\t\tconst end = this.data.length - 2\n\t\t\tif( sub_pos !== end ) {\n\t\t\t\tthis.peer_move( end, sub_pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.length = end\n\t\t\t\n\t\t\tif( end === this.sub_from ) this.reap()\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Called when last sub was unsubscribed.\n\t\t **/\n\t\treap() { }\n\t\t\n\t\t/**\n\t\t * Autowire this publisher with current subscriber.\n\t\t **/\n\t\tpromote() {\n\t\t\t$mol_wire_auto()?.track_next( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Enforce actualization. Should not throw errors.\n\t\t */\n\t\tfresh() {}\n\t\t\n\t\t/**\n\t\t * Allow to put data to caches in the subtree.\n\t\t */\n\t\tcomplete() {}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * Notify subscribers about self changes.\n\t\t */\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tfor( let i = this.sub_from; i < this.data.length; i += 2 ) {\n\t\t\t\t;( this.data[i] as $mol_wire_sub ).absorb( quant, this.data[ i + 1 ] as number )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/**\n\t\t * Moves peer from one position to another. Doesn't clear data at old position!\n\t\t */\n\t\tpeer_move( from_pos: number, to_pos: number ) {\n\t\t\t\n\t\t\tconst peer = this.data[ from_pos ] as $mol_wire_pub\n\t\t\tconst self_pos = this.data[ from_pos + 1 ] as number\n\t\t\t\n\t\t\tthis.data[ to_pos ] = peer\n\t\t\tthis.data[ to_pos + 1 ] = self_pos\n\t\t\t\n\t\t\tpeer.peer_repos( self_pos, to_pos )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Updates self position in the peer.\n\t\t */\n\t\tpeer_repos( peer_pos: number, self_pos: number ) {\n\t\t\tthis.data[ peer_pos + 1 ] = self_pos\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport let $mol_wire_auto_sub: $mol_wire_sub | null = null\n\t\n\t/**\n\t * When fulfilled, all publishers are promoted to this subscriber on access to its.\n\t */\n\texport function $mol_wire_auto( next = $mol_wire_auto_sub ) {\n\t\treturn $mol_wire_auto_sub = next\n\t}\n\t\n\t/**\n\t * Affection queue. Used to prevent accidental stack overflow on emit.\n\t */\n\texport const $mol_wire_affected = [] as ( $mol_wire_sub | number )[]\n\t\n}\n","namespace $ {\n\n\texport function $mol_fail_hidden( error : any ) : never {\n\t\tthrow error /// Use 'Never Pause Here' breakpoint in DevTools or simply blackbox this script\n\t}\n\n}\n","namespace $ {\n\n\t// https://docs.google.com/document/d/1FTascZXT9cxfetuPRT2eXPQKXui4nWFivUnS_335T3U/preview#\n\t($ as any)['devtoolsFormatters'] ||= []\n\n\texport function $mol_dev_format_register( config : {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> false\n\t} | {\n\t\theader : ( val : any , config : any )=> any\n\t\thasBody : ( val : any , config : any )=> boolean\n\t\tbody : ( val : any , config : any )=> any\n\t} ) {\n\t\t($ as any)['devtoolsFormatters'].push( config )\n\t}\n\n\texport const $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport const $mol_dev_format_body = Symbol( '$mol_dev_format_body' )\n\t\n\tfunction $mol_dev_format_button( label: any, click: ()=> any ) {\n\t\treturn $mol_dev_format_auto( {\n\t\t\t[ $mol_dev_format_head ]() {\n\t\t\t\treturn $mol_dev_format_span( { color: 'cornflowerblue' }, label )\n\t\t\t},\n\t\t\t[ $mol_dev_format_body ]() {\n\t\t\t\tPromise.resolve().then( click )\n\t\t\t\treturn $mol_dev_format_span({})\n\t\t\t}\n\t\t} )\n\t}\n\n\t$mol_dev_format_register({\n\n\t\theader : ( val : any , config = false ) => {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_head in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_head ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof val === 'function' ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Error ) {\n\t\t\t\t\n\t\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\t$mol_dev_format_button( 'throw', ()=> $mol_fail_hidden( val ) ),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( val instanceof Promise ) {\n\t\t\t\treturn $mol_dev_format_shade(\n\t\t\t\t\t$mol_dev_format_native( val ),\n\t\t\t\t\t' ',\n\t\t\t\t\tval[ Symbol.toStringTag ] ?? '',\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t\tif( Symbol.toStringTag in val ) {\n\t\t\t\treturn $mol_dev_format_native( val )\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t\t\n\t\t} ,\n\t\t\n\t\thasBody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return false\n\t\t\tif( !val ) return false\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) true\n\t\t\tif( val[ $mol_dev_format_body ] ) return true\n\t\t\t\n\t\t\treturn false\n\t\t},\n\n\t\tbody : ( val: any , config = false )=> {\n\t\t\t\n\t\t\tif( config ) return null\n\n\t\t\tif( !val ) return null\n\t\t\t\n\t\t\tif( $mol_dev_format_body in val ) {\n\t\t\t\ttry {\n\t\t\t\t\treturn val[ $mol_dev_format_body ]()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\treturn $mol_dev_format_accent( $mol_dev_format_native( val ), '💨', $mol_dev_format_native( error ), '' )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// if( Error.isError( val ) ) {\n\t\t\t// \treturn $mol_dev_format_native( val )\n\t\t\t// }\n\t\t\t\n\t\t\treturn null\n\t\t},\n\n\t})\n\n\texport function $mol_dev_format_native( obj : any ) {\n\t\t\n\t\tif( typeof obj === 'undefined' ) return $mol_dev_format_shade( 'undefined' )\n\t\t\n\t\t// if( ![ 'object', 'function', 'symbol' ].includes( typeof obj ) ) return obj\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : true ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_auto( obj : any ) {\n\t\t\n\t\tif( obj == null ) return $mol_dev_format_shade( String( obj ) )\n\n\t\treturn [\n\t\t\t'object' ,\n\t\t\t{\n\t\t\t\tobject : obj ,\n\t\t\t\tconfig : false ,\n\t\t\t} ,\n\t\t]\n\n\t}\n\n\texport function $mol_dev_format_element( element : string , style : object , ...content : any[] ) {\n\t\t\t\n\t\tconst styles = [] as string[]\n\t\t\n\t\tfor( let key in style ) styles.push( `${ key } : ${ (style as any)[key] }` )\n\t\t\n\t\treturn [\n\t\t\telement ,\n\t\t\t{\n\t\t\t\tstyle : styles.join( ' ; ' ) ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t]\n\n\t}\n\n\texport let $mol_dev_format_span = $mol_dev_format_element.bind( null , 'span' )\n\texport let $mol_dev_format_div = $mol_dev_format_element.bind( null , 'div' )\n\texport let $mol_dev_format_ol = $mol_dev_format_element.bind( null , 'ol' )\n\texport let $mol_dev_format_li = $mol_dev_format_element.bind( null , 'li' )\n\texport let $mol_dev_format_table = $mol_dev_format_element.bind( null , 'table' )\n\texport let $mol_dev_format_tr = $mol_dev_format_element.bind( null , 'tr' )\n\texport let $mol_dev_format_td = $mol_dev_format_element.bind( null , 'td' )\n\n\texport let $mol_dev_format_accent = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'magenta' ,\n\t} )\n\n\texport let $mol_dev_format_strong = $mol_dev_format_span.bind( null , {\n\t\t'font-weight' : 'bold' ,\n\t} )\n\n\texport let $mol_dev_format_string = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'green',\n\t} )\n\n\texport let $mol_dev_format_shade = $mol_dev_format_span.bind( null , {\n\t\t'color' : 'gray',\n\t} )\n\n\texport let $mol_dev_format_indent = $mol_dev_format_div.bind( null , {\n\t\t'margin-left': '13px'\n\t} )\n\t\n\tclass Stack extends Array< Call > {\n\t\t\n\t\t// [ Symbol.toPrimitive ]() {\n\t\t// \treturn this.toString()\n\t\t// }\n\t\t\n\t\ttoString() {\n\t\t\treturn this.join( '\\n' )\n\t\t}\n\t\t\n\t}\n\t\n\tclass Call extends Object {\n\t\t\n\t\treadonly type: string\n\t\treadonly function: string\n\t\treadonly method: string\n\t\treadonly eval: string\n\t\treadonly source: string\n\t\treadonly offset: number\n\t\treadonly pos: [ number, number ]\n\t\treadonly object: unknown\n\t\treadonly flags: readonly string[]\n\t\t[ Symbol.toStringTag ]!: string\n\t\t\n\t\tconstructor( call: NodeJS.CallSite ) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tthis.type = call.getTypeName() ?? ''\n\t\t\tthis.function = call.getFunctionName() ?? ''\n\t\t\tthis.method = call.getMethodName() ?? ''\n\t\t\tif( this.method === this.function ) this.method = ''\n\t\t\t// const func = c.getFunction()\n\t\t\tthis.pos = [ call.getEnclosingLineNumber() ?? 0, call.getEnclosingColumnNumber() ?? 0 ]\n\t\t\tthis.eval = call.getEvalOrigin() ?? ''\n\t\t\tthis.source = call.getScriptNameOrSourceURL() ?? ''\n\t\t\tthis.object = call.getThis()\n\t\t\tthis.offset = call.getPosition()\n\t\t\t\n\t\t\tconst flags = []\n\t\t\tif( call.isAsync() ) flags.push( 'async' )\n\t\t\tif( call.isConstructor() ) flags.push( 'constructor' )\n\t\t\tif( call.isEval() ) flags.push( 'eval' )\n\t\t\tif( call.isNative() ) flags.push( 'native' )\n\t\t\tif( call.isPromiseAll() ) flags.push( 'PromiseAll' )\n\t\t\tif( call.isToplevel() ) flags.push( 'top' )\n\t\t\tthis.flags = flags\n\t\t\n\t\t\tconst type = this.type ? this.type + '.' : ''\n\t\t\tconst func = this.function || '<anon>'\n\t\t\tconst method = this.method ? ' [' + this.method + '] ' : ''\n\t\t\t\n\t\t\tthis[ Symbol.toStringTag ] = `${type}${func}${method}`\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\tconst object = this.object || ''\n\t\t\tconst label = this[ Symbol.toStringTag ]\n\t\t\tconst source = `${ this.source }:${ this.pos.join( ':' ) } #${ this.offset }`\n\t\t\treturn `\\tat ${object}${label} (${source})`\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( ' ' ),\n\t\t\t\t... this.object ? [\n\t\t\t\t\t$mol_dev_format_native( this.object ),\n\t\t\t\t] : [],\n\t\t\t\t... this.method ? [ $mol_dev_format_shade( ' ',\n\t\t\t\t\t' [',\n\t\t\t\t\tthis.method,\n\t\t\t\t\t']',\n\t\t\t\t) ] : [],\n\t\t\t\t$mol_dev_format_shade( ' ', this.flags.join( ', ' ) ),\n\t\t\t)\n\t\t}\n\n\t}\n\t\n\tError.prepareStackTrace ??= ( error: Error, stack: NodeJS.CallSite[] )=> new Stack( ... stack.map( call => new Call( call ) ) )\n\n}\n","namespace $ {\n\t\n\t/**\n\t * Publisher that can auto collect other publishers. 32B\n\t * \n\t * \tP1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^\n\t * \tpubs_from subs_from\n\t */\n\texport class $mol_wire_pub_sub extends $mol_wire_pub implements $mol_wire_sub {\n\t\t\n\t\tprotected pub_from = 0 // 4B\n\t\tprotected cursor = $mol_wire_cursor.stale // 4B\n\t\t\n\t\tget temp() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tget pub_list() {\n\t\t\tconst res = [] as $mol_wire_pub[]\n\t\t\tconst max = this.cursor >=0 ? this.cursor : this.sub_from\n\t\t\tfor( let i = this.pub_from; i < max; i += 2 ) {\n\t\t\t\tif( this.data[i] ) res.push( this.data[i] as $mol_wire_pub )\n\t\t\t}\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttrack_on() {\n\t\t\tthis.cursor = this.pub_from\n\t\t\tconst sub = $mol_wire_auto()\n\t\t\t$mol_wire_auto( this )\n\t\t\treturn sub\n\t\t}\n\t\t\n\t\tpromote() {\n\t\t\t\n\t\t\tif( this.cursor >= this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Circular subscription' ) )\n\t\t\t}\n\t\t\t\n\t\t\tsuper.promote()\n\t\t}\n\t\t\n\t\ttrack_next( pub?: $mol_wire_pub ): $mol_wire_pub | null {\n\t\t\t\n\t\t\tif( this.cursor < 0 ) $mol_fail( new Error( 'Promo to non begun sub' ) )\n\t\t\t\n\t\t\tif( this.cursor < this.sub_from ) {\n\t\t\t\n \t\t\t\tconst next = this.data[ this.cursor ] as $mol_wire_pub | undefined\n\t\t\t\tif( pub === undefined ) return next ?? null\n\t\t\t\t\n\t\t\t\tif( next === pub ) {\n\t\t\t\t\tthis.cursor += 2\n\t\t\t\t\treturn next\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( next ) {\n\t\t\t\t\t\n\t\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tthis.peer_move( this.cursor, this.sub_from )\n\t\t\t\t\tthis.sub_from += 2\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tif( pub === undefined ) return null\n\t\t\t\t\n\t\t\t\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.sub_from, this.data.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.sub_from += 2\n\t\t\t\t\n\t\t\t}\t\t\t\n\t\t\t\n\t\t\tthis.data[ this.cursor ] = pub\n\t\t\tthis.data[ this.cursor + 1 ] = pub.sub_on( this, this.cursor )\n\t\t\t\n\t\t\tthis.cursor += 2\n\t\t\t\n\t\t\treturn pub\n\t\t}\n\t\t\n\t\ttrack_off( sub: $mol_wire_sub | null ) {\n\t\t\t\n\t\t\t$mol_wire_auto( sub )\n\t\t\t\n\t\t\tif( this.cursor < 0 ) {\n\t\t\t\t$mol_fail( new Error( 'End of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.cursor;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub.fresh()\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t}\n\t\t\n\t\tpub_off( sub_pos: number ) {\n\t\t\tthis.data[ sub_pos ] = undefined as any\n\t\t\tthis.data[ sub_pos + 1 ] = undefined as any \n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.data.length - 2;\n\t\t\t\tcursor >= this.sub_from;\n\t\t\t\tcursor -= 2\n\t\t\t) {\n\t\t\t\tconst sub = this.data[ cursor ] as $mol_wire_sub\n\t\t\t\tconst pos = this.data[ cursor + 1 ] as number\n\t\t\t\tsub.pub_off( pos )\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.length = this.sub_from \n\t\t\tthis.cursor = this.pub_from\n\t\t\tthis.track_cut()\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\t\n\t\t}\n\t\t\n\t\ttrack_cut() {\n\t\t\t\n\t\t\tif( this.cursor < this.pub_from ) {\n\t\t\t\t$mol_fail( new Error( 'Cut of non begun sub' ) )\n\t\t\t}\n\t\t\t\n\t\t\tlet end = this.data.length\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.cursor;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\t\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub | undefined\n\t\t\t\tpub?.sub_off( this.data[ cursor + 1 ] as number )\n\t\t\t\t\n\t\t\t\tend -= 2\n\t\t\t\tif( this.sub_from <= end ) this.peer_move( end, cursor )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.data.length = end\n\t\t\t\n\t\t\tthis.sub_from = this.cursor\n\t\t\t\n\t\t}\n\t\t\n\t\tcomplete() { }\n\t\t\n\t\tcomplete_pubs() {\n\t\t\t\n\t\t\tconst limit = this.cursor < 0 ? this.sub_from : this.cursor \n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub?.incompleted ) return \n\t\t\t}\n\t\t\t\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < limit;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tpub?.complete()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tabsorb( quant = $mol_wire_cursor.stale, pos = -1 ) {\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\tif( this.cursor >= quant ) return\n\t\t\t\n\t\t\tthis.cursor = quant\n\t\t\tthis.emit( $mol_wire_cursor.doubt )\n\t\t\t\n\t\t\t// if( pos >= 0 && pos < this.sub_from - 2 ) {\n\t\t\t\t\n\t\t\t// \tconst pub = this.data[ pos ] as $mol_wire_pub\n\t\t\t// \tif( pub instanceof $mol_wire_task ) return\n\t\t\t\t\n\t\t\t// \tfor(\n\t\t\t// \t\tlet cursor = this.pub_from;\n\t\t\t// \t\tcursor < this.sub_from;\n\t\t\t// \t\tcursor += 2\n\t\t\t// \t) {\n\t\t\t\t\t\n\t\t\t// \t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\t\t\n\t\t\t// \t\tif( pub instanceof $mol_wire_task ) {\n\t\t\t// \t\t\tpub.destructor()\n\t\t\t// \t\t}\n\t\t\t\t\t\n\t\t\t// \t}\n\t\t\t\t\n\t\t\t// }\n\t\t\t\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_native( this )\n\t\t}\n\t\t\n\t\t/**\n\t\t * Is subscribed to any publisher or not.\n\t\t */\n\t\tget pub_empty() {\n\t\t\treturn this.sub_from === this.pub_from\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport const $mol_ambient_ref : unique symbol = Symbol( '$mol_ambient_ref' )\n\n\t/** @deprecated use $ instead */\n\texport type $mol_ambient_context = $\n\n\texport function $mol_ambient( this : $ | void , overrides : Partial< $ > ) : $ {\n\t\treturn Object.setPrototypeOf( overrides , this || $ )\n\t}\n\n}\n","namespace $ {\n\n\tconst instances = new WeakSet< any >()\n\n\t/**\n\t * Proxy that delegates all to lazy returned target.\n\t * \n\t * \t$mol_delegate( Array.prototype , ()=> fetch_array() )\n\t */\n export function $mol_delegate< Value extends object >(\n\t\tproto : Value ,\n\t\ttarget : ()=> Value ,\n\t) {\n\n\t\tconst proxy = new Proxy( proto , {\n\n\t\t\tget: ( _ , field )=> {\n\t\t\t\tconst obj = target()\n\t\t\t\tlet val = Reflect.get( obj , field )\n\t\t\t\tif( typeof val === 'function' ) {\n\t\t\t\t\tval = val.bind( obj )\n\t\t\t\t} \n\t\t\t\treturn val\n\t\t\t},\n\t\t\thas: ( _ , field )=> Reflect.has( target(), field ),\n\t\t\tset: ( _ , field , value )=> Reflect.set( target() , field , value ),\n\t\t\t\n\t\t\tgetOwnPropertyDescriptor: ( _ , field )=> Reflect.getOwnPropertyDescriptor( target() , field ),\n\t\t\townKeys: ()=> Reflect.ownKeys( target() ),\n\t\t\t\n\t\t\tgetPrototypeOf: ()=> Reflect.getPrototypeOf( target() ),\n\t\t\tsetPrototypeOf: ( _ , donor )=> Reflect.setPrototypeOf( target() , donor ),\n\t\t\t\n\t\t\tisExtensible: ()=> Reflect.isExtensible( target() ),\n\t\t\tpreventExtensions: ()=> Reflect.preventExtensions( target() ),\n\t\t\t\n\t\t\tapply: ( _ , self , args )=> Reflect.apply( target() as Function , self , args ),\n\t\t\tconstruct: ( _ , args , retarget )=> Reflect.construct( target() as Function , args , retarget ),\n\t\t\t\n\t\t\tdefineProperty: ( _ , field , descr )=> Reflect.defineProperty( target() , field , descr ),\n\t\t\tdeleteProperty: ( _ , field )=> Reflect.deleteProperty( target() , field ),\n\n\t\t} )\n\n\t\tinstances.add( proxy )\n\n\t\treturn proxy\n\n\t}\n\n\tReflect.defineProperty(\n\t\t$mol_delegate ,\n\t\tSymbol.hasInstance ,\n\t\t{\n\t\t\tvalue : ( obj : object )=> instances.has( obj ),\n\t\t},\n\t)\n\n}\n","namespace $ {\n\n\texport const $mol_owning_map = new WeakMap< any , any >()\n\n\texport function $mol_owning_allow< Having >(\n\t\thaving : Having ,\n\t) : having is Having & {\n\t\tdestructor() : void\n\t} {\n\t\ttry {\n\t\t\tif( !having ) return false\n\t\t\tif( typeof having !== 'object' && typeof having !== 'function' ) return false\n\t\t\tif( having instanceof $mol_delegate ) return false\n\t\t\tif( typeof (having as any)['destructor'] !== 'function' ) return false\n\t\t\treturn true\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n\texport function $mol_owning_get< Having , Owner extends object >( having : Having , Owner? : { new() : Owner } ) : Owner | null {\n\t\n\t\tif( !$mol_owning_allow( having ) ) return null\n\n\t\twhile( true ) {\n\n\t\t\tconst owner = $mol_owning_map.get( having )\n\t\t\tif( !owner ) return owner\n\t\t\tif( !Owner ) return owner\n\t\t\t\n\t\t\tif( owner instanceof Owner ) return owner\n\n\t\t\thaving = owner\n\t\t}\n\n\t}\n\t\n\texport function $mol_owning_check< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) : having is Having & { destructor() : void } {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) !== owner ) return false\n\t\treturn true\n\t}\n\t\n\texport function $mol_owning_catch< Owner , Having >(\n\t\towner : Owner ,\n\t\thaving : Having ,\n\t) {\n\t\tif( !$mol_owning_allow( having ) ) return false\n\t\tif( $mol_owning_map.get( having ) ) return false\n\n\t\t$mol_owning_map.set( having , owner )\n\t\treturn true\n\t}\n\n}\n","namespace $ {\n\t\n\tconst named = new WeakSet< Function >()\n\t\n\texport function $mol_func_name( this : $ , func : Function ) : string {\n\t\t\n\t\tlet name = func.name\n\t\tif( name?.length > 1 ) return name\n\t\tif( named.has( func ) ) return name\n\n\t\tfor( let key in this ) {\n\t\t\ttry {\n\t\t\t\tif( (this as any)[ key ] !== func ) continue\n\t\t\t\tname = key\n\t\t\t\tObject.defineProperty( func , 'name' , { value : name } )\n\t\t\t\tbreak\n\t\t\t} catch {}\n\t\t}\n\n\t\tnamed.add( func )\n\t\treturn name\n\t\t\n\t}\n\n\texport function $mol_func_name_from< Target extends Function >( target : Target , source : Function ) {\n\t\tObject.defineProperty( target , 'name' , { value : source.name } )\n\t\treturn target\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ as any as $\n\t\t\n\t\t[Symbol.toStringTag]!: string\n\n\t\t[ $mol_ambient_ref ] = null as any as $\n\t\tget $() {\n\t\t\tif( this[ $mol_ambient_ref ] ) return this[ $mol_ambient_ref ]\n\t\t\tconst owner = $mol_owning_get( this ) as any\n\t\t\treturn this[ $mol_ambient_ref ] = owner?.$ || $mol_object2.$ as $\n\t\t}\n\t\tset $( next : $ ) {\n\t\t\tif( this[ $mol_ambient_ref ] ) $mol_fail_hidden( new Error( 'Context already defined' ) )\n\t\t\tthis[ $mol_ambient_ref ] = next\n\t\t}\n\n\t\tpublic static create< Instance >(\n\t\t\tthis : new( init? : ( instance : any )=> void )=> Instance ,\n\t\t\tinit? : ( instance : $mol_type_writable<Instance> )=> void\n\t\t) : Instance {\n\t\t\tconst obj = new this\n\t\t\tif( init ) init( obj )\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn ( this as any )[ Symbol.toStringTag ] || this.$.$mol_func_name( this )\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tdestructor() { }\n\t\tstatic destructor() { }\n\t\t\n\t\t//[ Symbol.toPrimitive ]( hint: string ) {\n\t\t//\treturn hint === 'number' ? this.valueOf() : this.toString()\n\t\t//}\n\t\t\n\t\ttoString(): string {\n\t\t\treturn this[ Symbol.toStringTag ] || this.constructor.name + '<>'\n\t\t}\n\t\t\n\t\t// toJSON(): any {\n\t\t// \treturn this.toString()\n\t\t// }\n\n\t}\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise<void> | null\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( !$mol_after_tick.promise ) $mol_after_tick.promise = Promise.resolve().then( ()=> {\n\t\t\t\t$mol_after_tick.promise = null\n\t\t\t} )\n\t\t\t\n\t\t\t$mol_after_tick.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis.cancelled = true\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise<any> {\n\t\ttry {\n\t\t\treturn val && typeof val === 'object' && 'then' in val && typeof val.then === 'function'\n\t\t} catch {\n\t\t\treturn false\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\tconst wrappers = new WeakMap< Promise< unknown >, Promise< any > >()\n\t\n\t/**\n\t * Suspendable task with support both sync/async api.\n\t * \n\t * \tA1 A2 A3 A4 P1 P2 P3 P4 S1 S2 S3\n\t * \t^ ^ ^\n\t * \targs_from pubs_from subs_from\n\t **/\n\texport abstract class $mol_wire_fiber<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_pub_sub {\n\t\n\t\tstatic warm = true\n\t\t\n\t\tstatic planning = new Set< $mol_wire_fiber< any, any, any > >()\n\t\tstatic reaping = new Set< $mol_wire_fiber< any, any, any > >()\n\t\t\n\t\tstatic plan_task: $mol_after_tick | null = null\n\t\tstatic plan() {\n\t\t\t\n\t\t\tif( this.plan_task ) return\n\t\t\t\n\t\t\tthis.plan_task = new $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tthis.sync()\n\t\t\t\t} finally {\n\t\t\t\t\t$mol_wire_fiber.plan_task = null\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic sync() {\n\t\t\t\n\t\t\t// Sync whole fiber graph\n\t\t\twhile( this.planning.size ) {\n\t\t\t\tfor( const fiber of this.planning ) {\n\t\t\t\t\tthis.planning.delete( fiber )\n\t\t\t\t\tif( fiber.cursor >= 0 ) continue\n\t\t\t\t\tif( fiber.cursor === $mol_wire_cursor.final ) continue\n\t\t\t\t\tfiber.fresh()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// Collect garbage\n\t\t\twhile( this.reaping.size ) {\n\t\t\t\t\n\t\t\t\tconst fibers = this.reaping\n\t\t\t\tthis.reaping = new Set\n\t\t\t\t\n\t\t\t\tfor( const fiber of fibers ) {\n\t\t\t\t\tif( !fiber.sub_empty ) continue\n\t\t\t\t\tfiber.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tpublic cache: Result | Error | Promise< Result | Error > = undefined as any\n\t\t\n\t\tget args() {\n\t\t\treturn this.data.slice( 0 , this.pub_from ) as any as Args\n\t\t}\n\t\t\n\t\tresult() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tif( this.cache instanceof Error ) return\n\t\t\treturn this.cache\n\t\t}\n\t\t\n\t\tget incompleted() {\n\t\t\treturn $mol_promise_like( this.cache )\n\t\t}\n\t\t\n\t\tfield() {\n\t\t\treturn this.task.name + '()'\n\t\t}\n\t\t\n\t\tconstructor(\n\t\t\tid: string,\n\t\t\treadonly task: ( this : Host , ... args : Args )=> Result,\n\t\t\treadonly host?: Host,\n\t\t\targs?: Args\n\t\t) {\n\t\t\t\n\t\t\tsuper( id )\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\t\n\t\t}\n\t\t\n\t\tplan() {\n\t\t\t$mol_wire_fiber.planning.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\treap() {\n\t\t\t$mol_wire_fiber.reaping.add( this )\n\t\t\t$mol_wire_fiber.plan()\n\t\t}\n\t\t\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst cursor = {\n\t\t\t\t[ $mol_wire_cursor.stale ]: '🔴',\n\t\t\t\t[ $mol_wire_cursor.doubt ]: '🟡',\n\t\t\t\t[ $mol_wire_cursor.fresh ]: '🟢',\n\t\t\t\t[ $mol_wire_cursor.final ]: '🔵',\n\t\t\t}[ this.cursor ] ?? this.cursor.toString()\n\t\t\t\n\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t$mol_owning_check( this, this.cache )\n\t\t\t\t\t? $mol_dev_format_auto({\n\t\t\t\t\t\t[ $mol_dev_format_head ]: ()=> $mol_dev_format_shade( cursor ),\n\t\t\t\t\t\t[ $mol_dev_format_body ]: ()=> $mol_dev_format_native( this ),\n\t\t\t\t\t})\n\t\t\t\t\t: $mol_dev_format_shade( $mol_dev_format_native( this ), cursor ),\n\t\t\t\t$mol_dev_format_auto( this.cache ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tget $() {\n\t\t\treturn ( this.host ?? this.task as any )['$']\n\t\t}\n\t\t\n\t\temit( quant = $mol_wire_cursor.stale ) {\n\t\t\tif( this.sub_empty ) this.plan()\n\t\t\telse super.emit( quant )\n\t\t}\n\t\t\n\t\tfresh() {\n\n\t\t\ttype Result = typeof this.cache\n\t\t\t\n\t\t\tif( this.cursor === $mol_wire_cursor.fresh ) return\n\t\t\tif( this.cursor === $mol_wire_cursor.final ) return\n\t\t\t\n\t\t\tcheck: if( this.cursor === $mol_wire_cursor.doubt ) {\n\t\t\t\t\n\t\t\t\tfor( let i = this.pub_from ; i < this.sub_from; i += 2 ) {\n\t\t\t\t\t;( this.data[i] as $mol_wire_pub )?.fresh()\n\t\t\t\t\tif( this.cursor !== $mol_wire_cursor.doubt ) break check\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\treturn\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst bu = this.track_on()\n\t\t\tlet result: typeof this.cache\n\n\t\t\ttry {\n\n\t\t\t\tswitch( this.pub_from ) {\n\t\t\t\t\tcase 0: result = (this.task as any).call( this.host! ); break\n\t\t\t\t\tcase 1: result = (this.task as any).call( this.host!, this.data[0] ); break\n\t\t\t\t\tdefault: result = (this.task as any).call( this.host!, ... this.args ); break\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\n\t\t\t\t\tif( wrappers.has( result ) ) {\n\t\t\t\t\t\tresult = wrappers.get( result )!.then(a=>a)\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\t\treturn res\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\twrappers.set( result, result = Object.assign(\n\t\t\t\t\t\t\tresult.then( put, put ),\n\t\t\t\t\t\t\t{ destructor: ( result as any ).destructor || (()=> {}) }\n\t\t\t\t\t\t) )\n\t\t\t\t\t\twrappers.set( result, result )\n\n\t\t\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Error || $mol_promise_like( error ) ) {\n\t\t\t\t\tresult = error\n\t\t\t\t} else {\n\t\t\t\t\tresult = new Error( String( error ), { cause: error } )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tif( wrappers.has( result ) ) {\n\t\t\t\t\t\tresult = wrappers.get( result )!\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst put = ( v: any )=> {\n\t\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t\t\treturn v\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\twrappers.set( result, result = Object.assign(\n\t\t\t\t\t\t\tresult.then( put, put ),\n\t\t\t\t\t\t\t{ destructor: ( result as any ).destructor || (()=> {}) }\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst error = new Error( `Promise in ${ this }` )\n\t\t\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( ! $mol_promise_like( result ) ) {\n\t\t\t\tthis.track_cut()\n\t\t\t}\n\t\t\t\n\t\t\tthis.track_off( bu )\n\t\t\tthis.put( result )\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\trefresh() {\n\t\t\tthis.cursor = $mol_wire_cursor.stale\n\t\t\tthis.fresh()\n\t\t}\n\t\t\n\t\tabstract put( next: Result | Error | Promise< Result | Error > ): Result | Error | Promise< Result | Error >\n\t\t\n\t\t/**\n\t\t * Synchronous execution. Throws Promise when waits async task (SuspenseAPI provider).\n\t\t * Should be called inside SuspenseAPI consumer (ie fiber).\n\t\t */\n\t\tsync() {\n\t\t\t\n\t\t\tif( !$mol_wire_fiber.warm ) {\n\t\t\t\treturn this.result() as Awaited< Result >\n\t\t\t}\n\t\t\t\n\t\t\tthis.promote()\n\t\t\tthis.fresh()\n\t\t\t\n\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\tif( $mol_promise_like( this.cache ) ) {\n\t\t\t\treturn $mol_fail_hidden( this.cache )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.cache as Awaited< Result >\n\t\t}\n\n\t\t/**\n\t\t * Asynchronous execution.\n\t\t * It's SuspenseAPI consumer. So SuspenseAPI providers can be called inside.\n\t\t */\n\t\tasync async_raw() {\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tthis.fresh()\n\t\t\t\t\n\t\t\t\tif( this.cache instanceof Error ) {\n\t\t\t\t\t$mol_fail_hidden( this.cache )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tawait Promise.race([ this.cache, this.step() ])\n\t\t\t\tif( ! $mol_promise_like( this.cache ) ) return this.cache\n\t\t\t\t\t\n\t\t\t\tif( this.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t// never ends on destructed fiber\n\t\t\t\t\tawait new Promise( ()=> {} )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tasync() {\n\t\t\tconst promise = this.async_raw() as Promise<Result> & { destructor(): void }\n\n\t\t\tif (! promise.destructor) promise.destructor = () => this.destructor()\n\n\t\t\treturn promise\n\t\t}\n\t\t\n\t\tstep() {\n\t\t\treturn new Promise< null >( done => {\n\t\t\t\tconst sub = new $mol_wire_pub_sub\n\t\t\t\tconst prev = sub.track_on()\n\t\t\t\tsub.track_next( this )\n\t\t\t\tsub.track_off( prev )\n\t\t\t\tsub.absorb = ()=> {\n\t\t\t\t\tdone( null )\n\t\t\t\t\tsetTimeout( ()=> sub.destructor() )\n\t\t\t\t}\n\t\t\t} )\n\t\t}\n\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\t$mol_wire_fiber.planning.delete( this )\n\t\t\t\n\t\t\tif( ! $mol_owning_check( this, this.cache ) ) return\n\n\t\t\ttry {\n\t\t\t\tthis.cache.destructor()\n\t\t\t} catch (result) {\n\t\t\t\tif ($mol_promise_like(result)) {\n\t\t\t\t\tconst error = new Error( `Promise in ${ this }.destructor()` )\n\t\t\t\t\tObject.defineProperty( result, 'stack', { get: ()=> error.stack } )\n\t\t\t\t}\n\n\t\t\t\t$mol_fail_hidden(result)\n\t\t\t}\n\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport const $mol_key_store = new WeakMap< object, string >()\n\t\n\tconst TypedArray = Object.getPrototypeOf( Uint8Array )\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\n\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\tif( typeof value === 'symbol' ) return value.description!\n\t\tif( !value ) return JSON.stringify( value )\n\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return JSON.stringify( value )\n\t\t\n\t\treturn JSON.stringify( value, ( field, value )=> {\n\t\t\t\n\t\t\tif( typeof value === 'bigint' ) return value.toString() + 'n'\n\t\t\tif( typeof value === 'symbol' ) return value.description\n\t\t\tif( !value ) return value\n\t\t\tif( typeof value !== 'object' && typeof value !== 'function' ) return value\n\t\t\tif( Array.isArray( value ) ) return value\n\t\t\t\n\t\t\tconst proto = Reflect.getPrototypeOf( value )\n\t\t\tif( !proto ) return value\n\t\t\tif( Reflect.getPrototypeOf( proto ) === null ) return value\n\t\t\t\n\t\t\tif( 'toJSON' in value ) return value\n\t\t\tif( value instanceof RegExp ) return value.toString()\n\t\t\t// if( value instanceof DataView ) return [ ... new Uint8Array( value.buffer ) ]\n\t\t\tif( value instanceof TypedArray ) return [ ... value as any ]\n\t\t\t\n\t\t\tlet key = $mol_key_store.get( value )\n\t\t\tif( key ) return key\n\t\t\t\n\t\t\tkey = $mol_guid()\n\t\t\t$mol_key_store.set( value, key )\n\t\t\t\n\t\t\treturn key\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_compare_deep_cache = new WeakMap< any , WeakMap< any , boolean > >()\n\t\n\t/**\n\t * Deeply compares two values. Returns true if equal.\n\t * Define `Symbol.toPrimitive` to customize.\n\t */\n\texport function $mol_compare_deep< Value >( left: Value, right: Value ): boolean {\n\n\t\tif( Object.is( left , right ) ) return true\n\n\t\tif( left === null ) return false\n\t\tif( right === null ) return false\n\n\t\tif( typeof left !== 'object' ) return false\n\t\tif( typeof right !== 'object' ) return false\n\n\t\tconst left_proto = Reflect.getPrototypeOf( left as any )\n\t\tconst right_proto = Reflect.getPrototypeOf( right as any )\n\t\t\n\t\tif( left_proto !== right_proto ) return false\n\n\t\tif( left instanceof Boolean ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), ( right as any )['valueOf']() )\n\t\tif( left instanceof RegExp ) return left.source === (right as any).source && left.flags === (right as any).flags\n\t\tif( left instanceof Error ) return left.message === (right as any).message && $mol_compare_deep( left.stack, (right as any).stack )\n\n\t\tlet left_cache = $mol_compare_deep_cache.get( left )\n\t\tif( left_cache ) {\n\n\t\t\tconst right_cache = left_cache.get( right )\n\t\t\tif( typeof right_cache === 'boolean' ) return right_cache\n\n\t\t} else {\n\t\t\t\n\t\t\tleft_cache = new WeakMap< any , boolean >()\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\n\n\t\tleft_cache.set(right, true);\n\n\t\tlet result!: boolean\n\n\t\ttry {\n\t\t\t\n\t\t\tif( !left_proto ) result = compare_pojo( left, right as any )\n\t\t\telse if( !Reflect.getPrototypeOf( left_proto ) ) result = compare_pojo( left, right as any )\n\t\t\telse if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\n\t\t\telse if( Array.isArray( left ) ) result = compare_array( left, right as any )\n\t\t\telse if( left instanceof Set ) result = compare_set( left, right as any )\n\t\t\telse if( left instanceof Map ) result = compare_map( left, right as any )\n\t\t\telse if( ArrayBuffer.isView( left ) ) result = compare_buffer( left, right as any )\n\t\t\telse if( Symbol.iterator in left ) result = compare_iterator( ( left as any )[ Symbol.iterator ](), ( right as any )[ Symbol.iterator ]() )\n\t\t\telse result = false\n\n\t\t} finally {\n\t\t\tleft_cache.set( right , result )\n\t\t}\n\t\t\n\t\treturn result\n\t}\n\n\tfunction compare_array< Value extends any[] >( left: Value, right: Value ): boolean {\n\t\t\n\t\tconst len = left.length\n\t\tif( len !== right.length ) return false\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( !$mol_compare_deep( left[i] , right[i] ) ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_buffer( left: ArrayBufferView, right: ArrayBufferView ): boolean {\n\t\t\n\t\tconst len = left.byteLength\n\t\tif( len !== right.byteLength ) return false\n\t\t\n\t\tif( left instanceof DataView ) return compare_buffer(\n\t\t\tnew Uint8Array( left.buffer, left.byteOffset, left.byteLength ),\n\t\t\tnew Uint8Array( right.buffer, right.byteOffset, right.byteLength ),\n\t\t)\n\t\t\n\t\tfor( let i = 0; i < len; ++i ) {\n\t\t\tif( (left as any)[i] !== (right as any)[i] ) return false\n\t\t}\n\t\t\n\t\treturn true\n\t}\n\t\n\tfunction compare_iterator< Value extends IterableIterator<any> >(\n\t\tleft: Value,\n\t\tright: Value,\n\t): boolean {\n\t\t\n\t\twhile( true ) {\n\n\t\t\tconst left_next = left.next()\n\t\t\tconst right_next = right.next()\n\n\t\t\tif( left_next.done !== right_next.done ) return false\n\t\t\tif( left_next.done ) break\n\n\t\t\tif( !$mol_compare_deep( left_next.value , right_next.value ) ) return false\n\n\t\t}\n\n\t\treturn true\n\n\t}\n\t\n\tfunction compare_set< Value extends Set<any> >( left: Value, right: Value ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_map< Key, Value >( left: Map< Key, Value > , right: Map< Key, Value > ): boolean {\n\t\tif( left.size !== right.size ) return false\n\t\treturn compare_iterator( left.keys(), right.keys() )\n\t\t\t&& compare_iterator( left.values(), right.values() )\n\t}\n\t\n\tfunction compare_pojo( left: {}, right: {} ): boolean {\n\t\t\n\t\tconst left_keys = Object.getOwnPropertyNames( left )\n\t\tconst right_keys = Object.getOwnPropertyNames( right )\n\t\t\n\t\tif( !compare_array( left_keys, right_keys ) ) return false\n\n\t\tfor( let key of left_keys ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\tconst left_syms = Object.getOwnPropertySymbols( left )\n\t\tconst right_syms = Object.getOwnPropertySymbols( right )\n\t\t\n\t\tif( !compare_array( left_syms, right_syms ) ) return false\n\n\t\tfor( let key of left_syms ) {\n\t\t\tif( !$mol_compare_deep( ( left as any )[ key ], ( right as any )[ key ] ) ) return false\n\t\t}\n\n\t\treturn true\n\t}\n\t\n\tfunction compare_primitive( left: {}, right: {} ): boolean {\n\t\treturn Object.is(\n\t\t\t(left as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t\t(right as any)[ Symbol.toPrimitive ]( 'default' ),\n\t\t)\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this.$\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = this.uri + ( '#' + this.row + ':' + this.col + '/' + this.length )\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for entire resource. */\n\t\tstatic entire( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , source.length )\n\t\t}\n\n\t\ttoString() {\n\t\t\treturn this[ Symbol.toStringTag ]\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn {\n\t\t\t\turi: this.uri,\n\t\t\t\trow: this.row,\n\t\t\t\tcol: this.col,\n\t\t\t\tlength: this.length\n\t\t\t}\n\t\t}\n\n\t\t/** Makes new error for this span. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn new Class( `${message} (${this})` )\n\t\t}\n\n\t\t/** Makes new span for same uri. */\n\t\tspan( row : number , col : number , length : number ) {\n\t\t\treturn new $mol_span( this.uri , this.source, row , col , length )\n\t\t}\n\n\t\t/** Makes new span after end of this. */\n\t\tafter( length = 0 ) {\n\t\t\treturn new $mol_span( this.uri , this.source, this.row , this.col + this.length , length )\n\t\t}\n\n\t\t/** Makes new span between begin and end. */\n\t\tslice( begin: number, end = -1 ) {\n\t\t\tlet len = this.length\n\t\t\t\n\t\t\tif( begin < 0 ) begin += len\n\t\t\tif( end < 0 ) end += len\n\n\t\t\tif (begin < 0 || begin > len) this.$.$mol_fail( this.error( `Begin value '${begin}' out of range`, RangeError ) )\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail( this.error( `End value '${end}' out of range`, RangeError ) )\n\t\t\tif (end < begin) this.$.$mol_fail( this.error( `End value '${end}' can't be less than begin value`, RangeError ) )\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\t\n\texport function $mol_maybe< Value >( value : Value | null | undefined ) : Value[] {\n\t\treturn ( value == null ) ? [] : [ value ]\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Path by types in tree. */\n\texport type $mol_tree2_path =\n\t\tArray< string | number | null >\n\t\n\t/** Hask tool for processing node. */\n\texport type $mol_tree2_hack< Context > =\n\t\t(\n\t\t\tinput : $mol_tree2 ,\n\t\t\tbelt : $mol_tree2_belt< Context > ,\n\t\t\tcontext : Context ,\n\t\t)=> readonly $mol_tree2[]\n\n\t/** Collection of hask tools for processing tree. */\n\texport type $mol_tree2_belt< Context > =\n\t\tRecord< string , $mol_tree2_hack< Context > >\n\n\t/**\n\t * Abstract Syntax Tree with human readable serialization.\n\t * Avoid direct instantiation. Use static factories instead.\n\t * @see https://github.com/nin-jin/tree.d\n\t */\n\texport class $mol_tree2 extends Object {\n\t\t\n\t\tconstructor(\n\n\t\t\t/** Type of structural node, `value` should be empty */\n\t\t\treadonly type : string,\n\t\t\t\n\t\t\t/** Content of data node, `type` should be empty */\n\t\t\treadonly value : string,\n\n\t\t\t/** Child nodes */\n\t\t\treadonly kids : readonly $mol_tree2[],\n\t\t\t\n\t\t\t/** Position in most far source resource */\n\t\t\treadonly span : $mol_span,\n\n\t\t) {\n\t\t\tsuper()\n\t\t\t;(this as any)[ Symbol.toStringTag ] = type || '\\\\' + value\n\t\t}\n\n\t\t/** Makes collection node. */\n\t\tstatic list(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\t\t\treturn new $mol_tree2( '' , '' , kids , span )\n\t\t}\n\t\t\n\t\t/** Makes new derived collection node. */\n\t\tlist(\n\t\t\tkids : readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.list( kids , this.span )\n\t\t}\n\n\t\t/** Makes data node for any string. */\n\t\tstatic data(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tconst chunks = value.split( '\\n' )\n\n\t\t\tif( chunks.length > 1 ) {\n\t\t\t\n\t\t\t\tlet kid_span = span.span( span.row , span.col , 0 )\n\n\t\t\t\tconst data = chunks.map( chunk => {\n\t\t\t\t\tkid_span = kid_span.after( chunk.length )\n\t\t\t\t\treturn new $mol_tree2( '' , chunk , [] , kid_span )\n\t\t\t\t} )\n\n\t\t\t\tkids = [ ... data , ... kids ]\n\n\t\t\t\tvalue = ''\n\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( '' , value , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived data node. */\n\t\tdata(\n\t\t\tvalue : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.data( value , kids , this.span )\n\t\t}\n\t\t\n\t\t/** Makes struct node. */\n\t\tstatic struct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t\tspan = $mol_span.unknown ,\n\t\t) {\n\n\t\t\tif( /[ \\n\\t\\\\]/.test( type ) ) {\n\t\t\t\t$$.$mol_fail( span.error( `Wrong type ${ JSON.stringify( type ) }` ) )\n\t\t\t}\n\n\t\t\treturn new $mol_tree2( type , '' , kids , span )\n\n\t\t}\n\t\t\n\t\t/** Makes new derived structural node. */\n\t\tstruct(\n\t\t\ttype : string ,\n\t\t\tkids = [] as readonly $mol_tree2[] ,\n\t\t) {\n\t\t\treturn $mol_tree2.struct( type , kids , this.span )\n\t\t}\n\n\t\t/** Makes new derived node with different kids id defined. */\n\t\tclone( kids : readonly $mol_tree2[], span = this.span ) {\n\t\t\treturn new $mol_tree2( this.type , this.value , kids , span )\n\t\t}\n\n\t\t/** Returns multiline text content. */\n\t\ttext() {\n\n\t\t\tvar values : string[] = []\n\t\t\t\n\t\t\tfor( var kid of this.kids ) {\n\t\t\t\tif( kid.type ) continue\n\t\t\t\tvalues.push( kid.value )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.value + values.join( '\\n' )\n\n\t\t}\n\t\t\n\t\t/** Parses tree format. */\n\t\t/** @deprecated Use $mol_tree2_from_string */\n\t\tstatic fromString( str : string , uri = 'unknown' ) {\n\t\t\treturn $$.$mol_tree2_from_string( str, uri )\n\t\t}\n\n\t\t/** Serializes to tree format. */\n\t\ttoString() : string {\n\t\t\treturn $$.$mol_tree2_to_string( this )\n\t\t}\n\t\t\n\t\t/** Makes new tree with node overrided by path. */\n\t\tinsert( value : $mol_tree2 | null , ...path : $mol_tree2_path ) : $mol_tree2 {\n\t\t\treturn this.update( $mol_maybe( value ), ... path )[0]\n\t\t}\n\n\t\t/** Makes new tree with node overrided by path. */\n\t\tupdate( value : readonly $mol_tree2[] , ...path : $mol_tree2_path ) : readonly $mol_tree2[] {\n\n\t\t\tif( path.length === 0 ) return value\n\t\t\t\n\t\t\tconst type = path[0]\n\t\t\tif( typeof type === 'string' ) {\n\n\t\t\t\tlet replaced = false\n\t\t\t\tconst sub = this.kids.flatMap( ( item , index )=> {\n\t\t\t\t\tif( item.type !== type ) return item\n\t\t\t\t\treplaced = true\n\t\t\t\t\treturn item.update( value , ... path.slice( 1 ) )\n\t\t\t\t} ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tif( !replaced && value ) {\n\t\t\t\t\tsub.push( ... this.struct( type , [] ).update( value , ... path.slice( 1 ) ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn [ this.clone( sub ) ]\n\n\t\t\t} else if( typeof type === 'number' ) {\n\t\t\t\t\n\t\t\t\tconst ins = ( this.kids[ type ] || this.list([]) )\n\t\t\t\t\t.update( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn [ this.clone([\n\t\t\t\t\t... this.kids.slice( 0, type ),\n\t\t\t\t\t... ins,\n\t\t\t\t\t... this.kids.slice( type + 1 ),\n\t\t\t\t]) ]\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst kids = ( ( this.kids.length === 0 ) ? [ this.list([]) ] : this.kids )\n\t\t\t\t\t.flatMap( item => item.update( value , ... path.slice( 1 ) ) )\n\n\t\t\t\treturn [ this.clone( kids ) ]\n\n\t\t\t}\n\n\t\t}\n\n\t\t/** Query nodes by path. */\n\t\tselect( ...path : $mol_tree2_path ) {\n\n\t\t\tlet next = [ this as $mol_tree2 ]\n\n\t\t\tfor( const type of path ) {\n\n\t\t\t\tif( !next.length ) break\n\t\t\t\t\n\t\t\t\tconst prev = next\n\t\t\t\tnext = []\n\n\t\t\t\tfor( var item of prev ) {\n\n\t\t\t\t\tswitch( typeof( type ) ) {\n\n\t\t\t\t\t\tcase 'string' :\n\n\t\t\t\t\t\t\tfor( var child of item.kids ) {\n\t\t\t\t\t\t\t\tif( child.type == type ) {\n\t\t\t\t\t\t\t\t\tnext.push( child )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase 'number' :\n\n\t\t\t\t\t\t\tif( type < item.kids.length ) next.push( item.kids[ type ] )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault : next.push( ... item.kids )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn this.list( next )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Filter kids by path or value. */\n\t\tfilter( path : string[] , value? : string ) {\n\n\t\t\tconst sub = this.kids.filter( item => {\n\t\t\t\t\t\n\t\t\t\tvar found = item.select( ...path )\n\t\t\t\t\n\t\t\t\tif( value === undefined ) {\n\t\t\t\t\treturn Boolean( found.kids.length )\n\t\t\t\t} else {\n\t\t\t\t\treturn found.kids.some( child => child.value == value )\n\t\t\t\t}\n\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t\treturn this.clone( sub )\n\n\t\t}\n\n\t\thack_self< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\tlet handle = belt[ this.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\tif( !handle || handle === Object.prototype[ this.type as keyof Object ] ) {\n\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t]\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn handle( this , belt , context! )\n\t\t\t} catch( error: any ) {\n\t\t\t\terror.message += `\\n${ this.clone([]) }${ this.span }`\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t}\n\n\t\t/** Transform tree through context with transformers */\n\t\thack< Context extends { span?: $mol_span; [ key: string ]: unknown } = {} >(\n\t\t\tbelt: $mol_tree2_belt< Context >,\n\t\t\tcontext = {} as Context,\n\t\t) {\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat(\n\t\t\t\t... this.kids.map( child => child.hack_self(belt, context) )\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( Array.isArray( json ) ) {\n\t\t\tconst sub = json.map( json => $mol_tree2_from_json( json , span ) )\n\t\t\treturn new $mol_tree2( '/' , '', sub, span )\n\t\t}\n\t\t\n\t\tif( ArrayBuffer.isView( json ) ) {\n\t\t\tconst buf = new Uint8Array( json.buffer, json.byteOffset, json.byteLength )\n\t\t\treturn $mol_tree2.data( String.fromCharCode( ... buf ) , [], span )\n\t\t}\n\t\t\t\n\t\tif( json instanceof Date ) {\n\t\t\treturn new $mol_tree2( '', json.toISOString() , [] , span )\n\t\t}\n\n\t\tif( json.toString !== Object.prototype.toString ) {\n\t\t\treturn $mol_tree2.data( json.toString() , [], span )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\t\n\t/** One-shot fiber */\n\texport class $mol_wire_task<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\t\t\n\t\tstatic getter<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\ttask: ( this : Host , ... args : Args )=> Result,\n\t\t): ( host: Host, args: Args )=> $mol_wire_task< Host, Args, Result > {\n\t\t\t\n\t\t\treturn function $mol_wire_task_get( host: Host, args: Args ) {\n\t\t\t\t\n\t\t\t\tconst sub = $mol_wire_auto()\n\t\t\t\tconst existen = sub?.track_next() as $mol_wire_task< Host, Args, Result > | undefined\n\t\t\t\tlet cause = ''\n\t\t\t\t\n\t\t\t\treuse: if( existen ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !existen.temp ) break reuse\n\t\t\t\t\t\n\t\t\t\t\tif( existen.task !== task ) { cause = 'task'; break reuse }\n\t\t\t\t\tif( existen.host !== host ) { cause = 'host'; break reuse }\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, args ) ) { cause = 'args'; break reuse }\n\t\t\t\t\t\n\t\t\t\t\treturn existen\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst key = ( (host as any)?.[ Symbol.toStringTag ] ?? host ) + ( '.' + task.name + '<#>' )\n\t\t\t\tconst next = new $mol_wire_task( key, task, host, args )\n\t\t\t\t\n\t\t\t\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\tif( existen?.temp ) {\n\t\t\t\t\t$$.$mol_log3_warn({\n\t\t\t\t\t\tplace: '$mol_wire_task',\n\t\t\t\t\t\tmessage: `Different ${cause} on restart`,\n\t\t\t\t\t\tsub,\n\t\t\t\t\t\tprev: existen,\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Maybe required additional memoization',\n\t\t\t\t\t})\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tget temp() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcomplete() {\n\t\t\tif( $mol_promise_like( this.cache ) ) return\n\t\t\tthis.destructor()\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\tthis.cache = next\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) {\n\t\t\t\t\n\t\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\tif( next !== prev ) this.emit()\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn next\n\t\t\t}\n\t\t\t\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t\t\n\t\t\tif( this.sub_empty ) this.destructor()\n\t\t\telse if( next !== prev ) this.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\tsuper.destructor()\n\t\t\tthis.cursor = $mol_wire_cursor.final\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber.\n\t */\n\texport function $mol_wire_method<\n\t\tHost extends object,\n\t\tArgs extends readonly any[],\n\t>(\n\t\thost : Host,\n\t\tfield : PropertyKey,\n\t\tdescr? : TypedPropertyDescriptor< ( ... args: Args )=> any >,\n\t) {\n\t\t\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field ) as any\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\t\n\t\tif( typeof (sup as any)[ field ] === 'function' ) {\n\t\t\tObject.defineProperty( orig , 'name' , { value : (sup as any)[ field ].name } )\n\t\t}\n\t\t\n\t\tconst temp = $mol_wire_task.getter( orig )\n\t\tconst value = function( this: Host, ... args: Args ) {\n\t\t\tconst fiber = temp( this ?? null as any, args )\n\t\t\treturn fiber.sync()\n\t\t}\n\t\t\n\t\tObject.defineProperty( value , 'name' , { value : orig.name + ' ' } )\n\t\t\n\t\tObject.assign( value, { orig } )\n\t\tconst descr2 = { ... descr, value }\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst catched = new WeakMap< any , boolean >()\n\n\texport function $mol_fail_catch( error: unknown ) {\n\t\t\n\t\tif( typeof error !== 'object' ) return false\n\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\tif( catched.get( error ) ) return false\n\t\t\n\t\tcatched.set( error , true )\n\t\treturn true\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_try< Result >( handler : ()=> Result ) : Result|Error {\n\t\ttry {\n\t\t\treturn handler()\n\t\t} catch( error: any ) {\n\t\t\treturn error\n\t\t}\n\t}\n\t\n} \n","namespace $ {\n\t\n\texport function $mol_fail_log( error: unknown ) {\n\t\t\n\t\tif( $mol_promise_like( error ) ) return false\n\t\tif( !$mol_fail_catch( error ) ) return false\n\t\t\n\t\t$mol_try( ()=> { $mol_fail_hidden( error ) } )\n\t\t\n\t\treturn true\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/** Long-living fiber. */\n\texport class $mol_wire_atom<\n\t\tHost,\n\t\tArgs extends readonly unknown[],\n\t\tResult,\n\t> extends $mol_wire_fiber< Host, Args, Result > {\n\n\t\tstatic solo<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host, ... args: Args )=> Result,\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\t\n\t\t\tconst existen = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tif( existen ) return existen\n\t\t\t\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key = prefix + ( '.' + task.name + '<>' )\n\t\t\t\n\t\t\tconst fiber = new $mol_wire_atom( key, task, host, [] as any as Args )\n\t\t\t;( host as any ?? task )[ field ] = fiber\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic plex<\n\t\t\tHost,\n\t\t\tArgs extends readonly unknown[],\n\t\t\tResult,\n\t\t>(\n\t\t\thost: Host,\n\t\t\ttask: ( this: Host , ... args: Args )=> Result,\n\t\t\tkey: Args[0],\n\t\t): $mol_wire_atom< Host, Args, Result > {\n\t\t\t\n\t\t\tconst field = task.name + '()'\n\t\t\tlet dict = Object.getOwnPropertyDescriptor( host ?? task, field )?.value\n\t\t\tconst prefix = (host as any)?.[ Symbol.toStringTag ] ?? ( host instanceof Function ? $$.$mol_func_name( host ) : host )\n\t\t\tconst key_str = $mol_key( key )\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( key_str )\n\t\t\t\tif( existen ) return existen\n\t\t\t} else {\n\t\t\t\tdict = ( host as any ?? task )[ field ] = new Map<any,any>()\n\t\t\t}\n\t\t\t\n\t\t\tconst id = prefix + ( '.' + task.name ) + ( '<' + key_str.replace( /^\"|\"$/g, \"'\" ) + '>' )\n\t\t\tconst fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( key_str, fiber )\n\t\t\t\n\t\t\treturn fiber\n\t\t}\n\t\t\n\t\tstatic watching = new Set< $mol_wire_atom< any, any, any > >()\n\t\tstatic watcher = null as $mol_after_frame | null\n\t\t\n\t\tstatic watch() {\n\t\t\n\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t\n\t\t\tfor( const atom of $mol_wire_atom.watching ) {\n\t\t\t\t\n\t\t\t\tif( atom.cursor === $mol_wire_cursor.final ) {\n\t\t\t\t\t$mol_wire_atom.watching.delete( atom )\n\t\t\t\t} else {\n\t\t\t\t\tatom.cursor = $mol_wire_cursor.stale\n\t\t\t\t\tatom.fresh()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twatch() {\n\t\t\t\n\t\t\tif( !$mol_wire_atom.watcher ) {\n\t\t\t\t$mol_wire_atom.watcher = new $mol_after_frame( $mol_wire_atom.watch )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_atom.watching.add( this )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Update atom value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\n\t\t\t\n\t\t\t// enforce pulling tasks abort\n\t\t\tfor(\n\t\t\t\tlet cursor = this.pub_from;\n\t\t\t\tcursor < this.sub_from;\n\t\t\t\tcursor += 2\n\t\t\t) {\n\t\t\t\tconst pub = this.data[ cursor ] as $mol_wire_pub\n\t\t\t\tif( pub && pub instanceof $mol_wire_task ) {\n\t\t\t\t\tpub.destructor()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.put( this.task.call( this.host!, ... args ) )\n\t\t}\n\t\t\n\t\t@ $mol_wire_method\n\t\tonce() {\n\t\t\treturn this.sync()\n\t\t}\n\t\t\n\t\tchannel() {\n\t\t\treturn Object.assign( ( next?: $mol_type_foot< Args > )=> {\n\t\t\t\t\t\n\t\t\t\tif( next !== undefined ) return this.resync( [ ... this.args, next ] as any ) as never\n\t\t\t\tif( !$mol_wire_fiber.warm ) return this.result() as never\n\t\t\t\t\n\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\treturn this.once()\n\t\t\t\t} else {\n\t\t\t\t\treturn this.sync()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}, { atom: this as $mol_wire_atom< Host, Args, Result > } )\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\t\n\t\t\tsuper.destructor()\n\t\t\t\n\t\t\tif( this.pub_from === 0 ) {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ] = null\n\t\t\t} else {\n\t\t\t\t;( this.host as any ?? this.task )[ this.field() ].delete( $mol_key( this.args[0] ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tput( next: Result | Error | Promise< Result | Error > ) {\n\t\t\t\n\t\t\tconst prev = this.cache\n\t\t\t\n\t\t\tupdate: if( next !== prev ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tif( $mol_compare_deep( prev, next ) ) break update\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\t\tprev.destructor()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( $mol_owning_catch( this, next ) ) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\t(next as any)[ Symbol.toStringTag ] = (this as any)[ Symbol.toStringTag ]\n\t\t\t\t\t} catch { // Promises throw in strict mode\n\t\t\t\t\t\tObject.defineProperty( next, Symbol.toStringTag, { value: (this as any)[ Symbol.toStringTag ] } )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( !this.sub_empty ) this.emit()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.cache = next\n\t\t\tthis.cursor = $mol_wire_cursor.fresh\n\t\t\t\n\t\t\tif( $mol_promise_like( next ) ) return next\n\t\t\t\n\t\t\tthis.complete_pubs()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tif( name.startsWith( 'node:' ) ) return target.require ( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst mod = target.require/****/( 'module' ) as typeof import/****/( 'module' )\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require ( name )\n\n\t\ttry {\n\t\t\ttarget.require.resolve( name )\n\t\t} catch {\n\t\t\n\t\t\tconst $$ = ( $ as any )\n\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', name )\n\t\t\t\n\t\t\ttry {\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '@types/' + name )\n\t\t\t} catch (e) {\n\t\t\t\tif ($$.$mol_fail_catch(e)) {\n\t\t\t\t\t$$.$mol_fail_log(e)\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\ttry {\n\t\t\treturn target.require( name )\n\t\t} catch( error ) {\n\n\t\t\tif($.$mol_fail_catch(error) && ( error as any ).code === 'ERR_REQUIRE_ESM' ) {\n\t\t\t\tconst module = cache.get( name )\n\t\t\t\tif( module ) return module\n\t\t\t\tthrow import( name ).then( module => cache.set( name, module ) )\n\t\t\t}\n\t\t\t\n\t\t\t$.$mol_fail_log( error )\n\n\t\t\treturn null\n\t\t}\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nconst cache = new Map< string, any >()\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\tfunction cause_serialize(cause: unknown) {\n\t\treturn JSON.stringify( cause, null, ' ' )\n\t\t\t.replace(/\\(/,'<')\n\t\t\t.replace(/\\)/,' >')\n\t}\n\n\tfunction frame_normalize(frame: string | Object) {\n\t\treturn ( typeof frame === 'string' ? frame : cause_serialize(frame) )\n\t\t\t.trim()\n\t\t\t.replace( /at /gm, ' at ' )\n\t\t\t.replace( /^(?! +at )(.*)/gm, ' at | $1 (#)' )\n\t}\n\n\texport class $mol_error_mix< Cause extends {} = {} > extends AggregateError {\n\t\t\n\t\tname = $$.$mol_func_name( this.constructor ).replace( /^\\$/, '' ) + '_Error'\n\n\t\tconstructor(\n\t\t\tmessage: string,\n\t\t\treadonly cause = {} as Cause,\n\t\t\t... errors: readonly Error[]\n\t\t) {\n\t\t\t\n\t\t\tsuper( errors, message, { cause } )\n\t\t\t\n\t\t\tconst desc = Object.getOwnPropertyDescriptor( this, 'stack' )\n\t\t\tconst stack_get = ()=> desc?.get?.() ?? super.stack ?? desc?.value ?? this.message\n\t\t\t\n\t\t\tObject.defineProperty( this, 'stack', {\n\t\t\t\tget: ()=> stack_get() + '\\n' + [\n\t\t\t\t\t\tthis.cause ?? 'no cause',\n\t\t\t\t\t\t... this.errors.flatMap( e => [\n\t\t\t\t\t\t\tString( e.stack ),\n\t\t\t\t\t\t\t... e instanceof $mol_error_mix || ! e.cause ? [] : [ e.cause ]\n\t\t\t\t\t\t] )\n\t\t\t\t\t].map(frame_normalize).join('\\n')\n\t\t\t} )\n\n\t\t\t// в nodejs, что б не дублировалось cause в консоли\n\t\t\tObject.defineProperty(this, 'cause', {\n\t\t\t\tget: () => cause\n\t\t\t})\t\n\t\t}\n\n\t\tstatic [ Symbol.toPrimitive ]() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tstatic make(\n\t\t\t...params: ConstructorParameters<typeof $mol_error_mix>\n\t\t) {\n\t\t\treturn new this(...params)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport namespace $$ { let $ }\n\n\texport const $mol_object_field = Symbol( '$mol_object_field' )\n\t\n\texport class $mol_object extends $mol_object2 {\n\t\t\n\t\tpublic static make< This extends typeof $mol_object >(\n\t\t\tthis: This,\n\t\t\tconfig: Partial< InstanceType< This > >,\n\t\t) {\n\t\t\treturn super.create( obj => {\n\t\t\t\tfor( let key in config ) ( obj as any )[ key ] = config[ key ]!\n\t\t\t} ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\tconst factories = new WeakMap<Function, Function>()\n\n\tfunction factory<Args extends unknown[], Result>(\n\t\tval: new (...args: Args) => Result\n\t) {\n\t\tlet make = factories.get(val) as null | ((...args: Args) => Result)\n\n\t\tif ( make ) return make\n\n\t\tmake = $mol_func_name_from((...args: Args) => new val(...args), val)\n\t\tfactories.set(val, make)\n\n\t\treturn make\n\t}\n\n\tconst getters = new WeakMap<Object, Record<string | symbol, (next?: unknown) => unknown>>()\n\n\tfunction get_prop(\n\t\thost: Object,\n\t\tfield: string | symbol,\n\t) {\n\t\tlet props = getters.get(host)\n\t\tlet get_val = props?.[field]\n\n\t\tif ( get_val ) return get_val\n\n\t\tget_val = (next?: unknown) => {\n\t\t\tif (next !== undefined) host[field as keyof typeof host] = next as any\n\n\t\t\treturn host[field as keyof typeof host]\n\t\t}\n\n\t\tObject.defineProperty( get_val , 'name' , { value : field } )\n\n\t\tif (! props) {\n\t\t\tprops = {}\n\t\t\tgetters.set(host, props)\n\t\t}\n\t\tprops[field] = get_val\n\n\t\treturn get_val\n\t}\n\n\t/**\n\t * Convert asynchronous (promise-based) API to synchronous by wrapping function and method calls in a fiber.\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport function $mol_wire_sync< Host extends object >( obj: Host ) {\n\t\treturn new Proxy( obj, {\n\t\t\t\n\t\t\tget( obj, field ) {\n\t\t\t\t\n\t\t\t\tlet val = (obj as any)[ field ]\n\t\t\t\tconst temp = $mol_wire_task.getter(typeof val === 'function' ? val : get_prop(obj, field))\n\n\t\t\t\tif (typeof val !== 'function') return temp( obj, [] ).sync()\n\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: unknown[] ) {\n\t\t\t\t\tconst fiber = temp( obj, args )\n\t\t\t\t\treturn fiber.sync()\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tset( obj, field, next) {\n\t\t\t\tconst temp = $mol_wire_task.getter(get_prop(obj, field))\n\t\t\t\ttemp( obj, [ next ] ).sync()\n\n\t\t\t\treturn true\n\t\t\t},\n\n\t\t\tconstruct(obj, args) {\n\t\t\t\tconst temp = $mol_wire_task.getter(factory(obj as (new ( ... args: unknown[] )=> unknown)))\n\t\t\t\treturn temp( obj, args ).sync() as object\n\t\t\t},\n\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tconst temp = $mol_wire_task.getter(obj as ( ... args: any[] )=> any)\n\t\t\t\treturn temp(self, args).sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultAwaited<Host>\n\t}\n\n\ttype FunctionResultAwaited<Some> = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited<Res>\n\t\t: Some\n\n\ttype ConstructorResultAwaited<Some> = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited<Host extends Object> = {\n\t\t[K in keyof Host]: FunctionResultAwaited<Host[K]>\n\t}\n\n\ttype ObjectOrFunctionResultAwaited<Some> = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited<Some> : {}\n\t) & ( Some extends Object ? MethodsResultAwaited<Some> & ConstructorResultAwaited<Some> : Some )\n\n}\n","namespace $ {\n\n\texport type $mol_run_error_context = {\n\t\tpid?: number\n\t\tstdout: Buffer | string\n\t\tstderr: Buffer | string\n\t}\n\n\texport class $mol_run_error extends $mol_error_mix<{\n\t\ttimeout_kill?: boolean\n\t\tpid?: number\n\t\tsignal?: NodeJS.Signals | null\n\t\tstatus?: number | null\n\t\tcommand: string\n\t\tdir: string\n\t}> {}\n\n\texport const $mol_run_spawn = (\n\t\t...args: Parameters<typeof $node['child_process']['spawn']>\n\t) => $node['child_process'].spawn(...args)\n\n\texport const $mol_run_spawn_sync = (\n\t\t...args: Parameters<typeof $node['child_process']['spawnSync']>\n\t) => $node['child_process'].spawnSync(...args)\n\n\texport type $mol_run_options = {\n\t\tcommand : readonly string[] | string\n\t\tdir : string\n\t\ttimeout?: number\n\t\tenv?: Record<string, string | undefined>\n\t}\n\n\texport class $mol_run extends $mol_object {\n\n\t\tstatic async_enabled() {\n\t\t\treturn Boolean(this.$.$mol_env()['MOL_RUN_ASYNC'])\n\t\t}\n\n\t\tstatic spawn(options: $mol_run_options) {\n\t\t\tconst sync = ! this.async_enabled() || ! Boolean($mol_wire_auto())\n\t\t\tconst env = options.env ?? this.$.$mol_env()\n\n\t\t\treturn $mol_wire_sync(this).spawn_async( { ...options, sync, env } )\n\t\t}\n\n\t\tstatic spawn_async(\n\t\t\t{ dir, sync, timeout, command, env }: $mol_run_options & { sync?: boolean }\n\t\t) {\n\t\t\tconst args_raw = typeof command === 'string' ? command.split( ' ' ) : command\n\t\t\tconst [ app, ...args ] = args_raw\n\t\t\tconst opts = { shell: true, cwd: dir, env }\n\n\t\t\tconst log_object = {\n\t\t\t\tplace: `${this}.spawn()`,\n\t\t\t\tmessage: 'Run',\n\t\t\t\tcommand: args_raw.join(' ') ,\n\t\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\t}\n\n\t\t\tif (sync) {\n\n\t\t\t\tthis.$.$mol_log3_come({\n\t\t\t\t\thint: 'Run inside fiber',\n\t\t\t\t\t...log_object\n\t\t\t\t})\n\n\t\t\t\tlet error: Error | undefined\n\t\t\t\tlet res\n\n\t\t\t\ttry {\n\t\t\t\t\tres = this.$.$mol_run_spawn_sync(app, args, opts)\n\t\t\t\t\terror = res.error\n\t\t\t\t} catch (err) {\n\t\t\t\t\terror = err as Error\n\t\t\t\t}\n\n\t\t\t\tif (! res || error || res.status) {\n\t\t\t\t\tthrow new $mol_run_error(\n\t\t\t\t\t\tthis.error_message(res),\n\t\t\t\t\t\t{ ...log_object, status: res?.status, signal: res?.signal },\n\t\t\t\t\t\t...(error ? [error] : [])\n\t\t\t\t\t)\n\t\t\t\t}\n\n\t\t\t\treturn res\n\t\t\t}\n\n\t\t\tlet sub\n\n\t\t\ttry {\n\t\t\t\tsub = this.$.$mol_run_spawn(app, args, {\n\t\t\t\t\t...opts,\n\t\t\t\t\tstdio: [ 'pipe', 'inherit', 'inherit' ],\n\t\t\t\t})\n\t\t\t} catch (error) {\n\t\t\t\tthrow new $mol_run_error(\n\t\t\t\t\tthis.error_message(undefined),\n\t\t\t\t\tlog_object,\n\t\t\t\t\terror as Error\n\t\t\t\t)\n\t\t\t}\n\t\n\t\t\tconst pid = sub.pid ?? 0\n\n\t\t\tthis.$.$mol_log3_come({\n\t\t\t\t...log_object,\n\t\t\t\tpid,\n\t\t\t})\n\t\n\t\t\tlet timeout_kill = false\n\t\t\tlet timer: undefined | ReturnType<typeof setTimeout>\n\t\n\t\t\tconst std_data = [] as Buffer[]\n\t\t\tconst error_data = [] as Buffer[]\n\t\n\t\t\tconst add = (std_chunk?: Buffer, error_chunk?: Buffer) => {\n\t\t\t\tif (std_chunk) std_data.push(std_chunk)\n\t\t\t\tif (error_chunk) error_data.push(error_chunk)\n\t\t\t\tif (! timeout) return\n\t\n\t\t\t\tclearTimeout(timer)\n\t\n\t\t\t\ttimer = setTimeout(() => {\n\t\t\t\t\tconst signal = timeout_kill ? 'SIGKILL' : 'SIGTERM'\n\t\t\t\t\ttimeout_kill = true\n\t\t\t\t\tadd()\n\t\t\t\t\tsub.kill(signal)\n\t\t\t\t}, timeout)\n\t\t\t}\n\t\n\t\t\tadd()\n\t\n\t\t\tsub.stdout?.on('data', data => add(data) )\n\t\t\tsub.stderr?.on('data', data => add(undefined, data) )\n\t\n\t\t\tconst result_promise = new Promise<$mol_run_error_context>((done, fail) => {\n\t\t\t\tconst close = (error: Error | null, status: number | null = null, signal: NodeJS.Signals | null = null) => {\n\t\t\t\t\tif (! timer && timeout) return\n\t\n\t\t\t\t\tclearTimeout(timer)\n\t\t\t\t\ttimer = undefined\n\t\n\t\t\t\t\tconst res = {\n\t\t\t\t\t\tpid,\n\t\t\t\t\t\tsignal,\n\t\t\t\t\t\tget stdout() { return Buffer.concat(std_data) },\n\t\t\t\t\t\tget stderr() { return Buffer.concat(error_data) }\n\t\t\t\t\t}\n\t\t\n\t\t\t\t\tif (error || status || timeout_kill) return fail( new $mol_run_error(\n\t\t\t\t\t\tthis.error_message(res) + (timeout_kill ? ', timeout' : ''),\n\t\t\t\t\t\t{ ...log_object, pid, status, signal, timeout_kill },\n\t\t\t\t\t\t...error ? [ error ] : []\n\t\t\t\t\t) )\n\n\t\t\t\t\tthis.$.$mol_log3_done({\n\t\t\t\t\t\t...log_object,\n\t\t\t\t\t\tpid,\n\t\t\t\t\t})\n\t\t\t\n\t\t\t\t\tdone(res)\n\t\t\t\t}\n\t\n\t\t\t\tsub.on('disconnect', () => close(new Error('Disconnected')) )\n\t\t\t\tsub.on('error', err => close(err) )\n\t\t\t\tsub.on('exit', (status, signal) => close(null, status, signal) )\n\t\t\t})\n\t\n\t\t\treturn Object.assign(result_promise, { destructor: () => {\n\t\t\t\tclearTimeout(timer)\n\t\t\t\tsub.kill('SIGKILL')\n\t\t\t} })\n\t\t}\n\n\t\tstatic error_message(res?: $mol_run_error_context) {\n\t\t\treturn res?.stderr.toString() || res?.stdout.toString() || 'Run error'\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : readonly string[]\n\t) {\n\t\treturn this.$mol_run.spawn( { command: [ command, ...args ], dir } )\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_render_children (\n\t\tel : Element | DocumentFragment ,\n\t\tchildNodes : NodeList | Array< Node | string | null >\n\t) {\n\t\tconst node_set = new Set< Node | string | null >( childNodes )\n\t\t\n\t\tlet nextNode : Node | null = el.firstChild\n\t\tfor( let view of childNodes ) {\n\n\t\t\tif( view == null ) continue\n\n\t\t\tif( view instanceof $mol_dom_context.Node ) {\n\t\t\t\t\n\t\t\t\twhile( true ) {\n\t\t\t\t\tif( !nextNode ) {\n\t\t\t\t\t\tel.appendChild( view )\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\tif( nextNode == view ) {\n\t\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t\t\tbreak\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif( node_set.has( nextNode ) ) {\n\t\t\t\t\t\t\tel.insertBefore( view , nextNode )\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst nn = nextNode.nextSibling\n\t\t\t\t\t\t\tel.removeChild( nextNode )\n\t\t\t\t\t\t\tnextNode = nn\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tif( nextNode && nextNode.nodeName === '#text' ) {\n\t\t\t\t\tconst str = String( view )\n\t\t\t\t\tif( nextNode.nodeValue !== str ) nextNode.nodeValue = str\n\t\t\t\t\tnextNode = nextNode.nextSibling\n\t\t\t\t} else {\n\t\t\t\t\tconst textNode = $mol_dom_context.document.createTextNode( String( view ) )\n\t\t\t\t\tel.insertBefore( textNode , nextNode )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\twhile( nextNode ) {\n\t\t\tconst currNode = nextNode\n\t\t\tnextNode = currNode.nextSibling\n\t\t\tel.removeChild( currNode )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\texport function $mol_wire_patch( obj: object ) {\n\t\t\n\t\tfor( const field of Reflect.ownKeys( obj ) ) {\n\t\t\t\n\t\t\tconst descr = Reflect.getOwnPropertyDescriptor( obj, field )!\n\t\t\tif( !descr.configurable ) continue\n\t\t\tif( !descr.get ) continue\n\t\t\t\n\t\t\tconst get = descr.get ?? ( ()=> descr.value )\n\t\t\tconst set = descr.set ?? ( next => descr.value = next )\n\t\t\t\n\t\t\tReflect.defineProperty( obj, field, {\n\t\t\t\t\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: descr.enumerable,\n\t\t\t\t\n\t\t\t\tget() {\n\t\t\t\t\tconst atom = $mol_wire_atom.solo( obj, get )\n\t\t\t\t\tatom.watch()\n\t\t\t\t\treturn atom.sync()\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\tset( next ) {\n\t\t\t\t\tconst atom = $mol_wire_atom.solo( obj, get )\n\t\t\t\t\tset.call( this, next )\n\t\t\t\t\tatom.refresh()\n\t\t\t\t},\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","interface Node {\n\t__defineGetter__: ( field: string, getter: ()=> any )=> void\n}\n\nnamespace $ {\n\t\n\texport function lookup_descr<\n\t\tObj extends { [ field in Field ]: any },\n\t\tField extends PropertyKey\n\t>( obj: Obj, field: Field ): PropertyDescriptor | null {\n\t\t\n\t\tconst descr = Reflect.getOwnPropertyDescriptor( obj, field )\n\t\tif( descr ) return descr\n\t\t\n\t\tconst proto = Reflect.getPrototypeOf( obj )\n\t\tif( proto ) return lookup_descr( proto as Obj, field )\n\t\t\n\t\treturn null\n\t}\n\t\n\tfunction reproperty< El extends Element >( el: El, field: string ) {\n\t\t\n\t\tconst descr = lookup_descr( Reflect.getPrototypeOf( el )!, field )!\n\t\tlet task = Reflect.getOwnPropertyDescriptor( el, field )?.get\n\t\t\n\t\tconst atom = new $mol_wire_atom< typeof el, [] | [ string ], string >(\n\t\t\tel.id + '.' + field,\n\t\t\tfunction( this: typeof el, next?: any ) {\n\t\t\t\t\n\t\t\t\tlet res = task?.() ?? next\n\t\t\t\tif( res === undefined ) return descr.get!.call( this )\n\t\t\t\t\n\t\t\t\tdescr.set!.call( this, res )\n\t\t\t\treturn res\n\t\t\t\t\n\t\t\t},\n\t\t\tel,\n\t\t\t[],\n\t\t)\n\t\t\n\t\tObject.defineProperty( el, field, {\n\t\t\tconfigurable: true,\n\t\t\tget: ()=> atom.sync(),\n\t\t\tset: next => {\n\t\t\t\tif( typeof next === 'function' ) {\n\t\t\t\t\ttask = next\n\t\t\t\t\tatom.absorb()\n\t\t\t\t\tatom.fresh()\n\t\t\t\t} else {\n\t\t\t\t\tif( atom.cache === next ) return\n\t\t\t\t\tatom.resync([ next ])\n\t\t\t\t}\n\t\t\t},\n\t\t} )\n\t\t\n\t\tif( task ) atom.fresh()\n\t\t\n\t\treturn ()=> atom.absorb()\n\t}\n\t\n\tfunction restyle< El extends HTMLElement >( el: El ) {\n\t\t\n\t\tconst style = el.style\n\t\tlet task = ( next: any )=> next\n\t\t\n\t\tconst atom = new $mol_wire_atom< typeof el, [] | [ Partial< CSSStyleDeclaration > ], CSSStyleDeclaration >(\n\t\t\tel.id + '.style',\n\t\t\tfunction( this: typeof el, next?: any ) {\n\t\t\t\t\n\t\t\t\tconst res = task( next ) as CSSStyleDeclaration\n\t\t\t\tif( res === undefined ) return style\n\t\t\t\t\n\t\t\t\tfor( const key in res ) {\n\t\t\t\t\tstyle[ key ] = res[ key ] ?? ''\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn style\n\t\t\t\t\n\t\t\t},\n\t\t\tel,\n\t\t\t[],\n\t\t)\n\t\t\n\t\tObject.defineProperty( el, 'style', {\n\t\t\tconfigurable: true,\n\t\t\tget: ()=> atom.sync(),\n\t\t\tset: next => {\n\t\t\t\tif( typeof next === 'function' ) {\n\t\t\t\t\ttask = next\n\t\t\t\t\tatom.absorb()\n\t\t\t\t\tatom.fresh()\n\t\t\t\t} else {\n\t\t\t\t\tatom.resync([ next ])\n\t\t\t\t}\n\t\t\t},\n\t\t} )\n\t\t\n\t\treturn ()=> atom.absorb()\n\t}\n\t\n\tfunction rekids< El extends Element >( el: El ) {\n\t\t\n\t\tconst kids = el.childNodes\n\t\tlet task = ( next: any )=> next\n\t\t\n\t\tconst atom = new $mol_wire_atom< typeof el, [] | [ ArrayLike<ChildNode> ], NodeListOf<ChildNode> >(\n\t\t\tel.id + '.childNodes',\n\t\t\tfunction( this: typeof el, next?: any ) {\n\t\t\t\t\n\t\t\t\tconst res = task( next ) as ChildNode[]\n\t\t\t\tif( res === undefined ) return kids\n\t\t\t\t\n\t\t\t\tfor( const kid of res ) if( kid instanceof Element ) $mol_wire_dom( kid )\n\t\t\t\t$mol_dom_render_children( this, res )\n\t\t\t\t\n\t\t\t\treturn kids\n\t\t\t\t\n\t\t\t},\n\t\t\tel,\n\t\t\t[],\n\t\t)\n\t\t\n\t\tObject.defineProperty( el, 'childNodes', {\n\t\t\tconfigurable: true,\n\t\t\tget: ()=> atom.sync(),\n\t\t\tset: next => {\n\t\t\t\tif( typeof next === 'function' ) {\n\t\t\t\t\ttask = next\n\t\t\t\t\tatom.absorb()\n\t\t\t\t\tatom.fresh()\n\t\t\t\t} else {\n\t\t\t\t\tatom.resync([ next ])\n\t\t\t\t}\n\t\t\t},\n\t\t} )\n\t\t\n\t\treturn ()=> atom.absorb()\n\t}\n\t\n\tfunction redefine( this: Element, field: string, getter: ()=> any ) {\n\t\t;( $mol_wire_dom( this ) as any )[ field ] = getter\n\t}\n\t\n\t/** Polyfill makes DOM reactive. */\n\texport function $mol_wire_dom< El extends Element >( el: El ) {\n\t\t\n\t\tif( el.__defineGetter__ === redefine ) return el\n\t\t\n\t\tfor( const kid of el.children ) $mol_wire_dom( kid )\n\t\t\n\t\tif( el instanceof HTMLInputElement ) el.addEventListener( 'input', reproperty( el, 'value' ) )\n\t\tif( el instanceof HTMLInputElement ) el.addEventListener( 'change', reproperty( el, 'checked' ) )\n\t\tif( el instanceof HTMLElement ) el.addEventListener( 'DOMSubtreeModified', reproperty( el, 'innerText' ) )\n\t\tif( el instanceof HTMLElement ) el.addEventListener( 'DOMSubtreeModified', reproperty( el, 'innerHTML' ) )\n\t\tif( el instanceof HTMLElement ) el.addEventListener( 'DOMSubtreeModified', reproperty( el, 'outerHTML' ) )\n\t\tif( el instanceof HTMLElement ) restyle( el )\n\t\t\n\t\tel.addEventListener( 'DOMSubtreeModified', reproperty( el, 'textContent' ) )\n\t\tel.addEventListener( 'DOMSubtreeModified', rekids( el ) )\n\t\t\n\t\tel.__defineGetter__ = redefine\n\t\t\n\t\treturn el\n\t}\n\t\n}\n"]}
|