From 3d1f3aac6cf6af019394f28048f4747f7dd0fa6d Mon Sep 17 00:00:00 2001 From: koplenov Date: Tue, 19 Aug 2025 05:04:48 +0300 Subject: [PATCH] upload build --- -/web.js | 13 ++++--------- -/web.js.map | 2 +- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/-/web.js b/-/web.js index e33901f..104af48 100644 --- a/-/web.js +++ b/-/web.js @@ -14142,11 +14142,6 @@ var $; $mol_mem ], $hd_canary_app_home_site.prototype, "tick", null); $.$hd_canary_app_home_site = $hd_canary_app_home_site; - class $hd_canary_app_home_server extends $hyoo_crus_home.with({ - Users: $hyoo_crus_list_ref_to($hyoo_crus_ref), - }) { - } - $.$hd_canary_app_home_server = $hd_canary_app_home_server; })($ || ($ = {})); ; @@ -14215,16 +14210,16 @@ var $; my_key() { return this.$.$hyoo_crus_auth.current().lord().description; } - server() { + users() { const ref = $hyoo_crus_ref(this.$.$mol_fetch.text('/join')); return this.$.$hyoo_crus_glob.Node(ref, $hyoo_crus_list_vary); } home() { const home = this.$.$hyoo_crus_glob.home($hd_canary_app_home); - if (this.server().has(home.ref()) == false) { + if (this.users().has(home.ref()) == false) { const ref = $hyoo_crus_ref(this.$.$mol_fetch.text('/ref')); home.land().give(ref, $hyoo_crus_rank_rule); - this.server().add(home.ref()); + this.users().add(home.ref()); } return home; } @@ -14240,7 +14235,7 @@ var $; ], $hd_canary_app_monitor.prototype, "add_site", null); __decorate([ $mol_mem - ], $hd_canary_app_monitor.prototype, "server", null); + ], $hd_canary_app_monitor.prototype, "users", null); __decorate([ $mol_mem ], $hd_canary_app_monitor.prototype, "home", null); diff --git a/-/web.js.map b/-/web.js.map index 9ab6dd0..b797acd 100644 --- a/-/web.js.map +++ b/-/web.js.map @@ -1 +1 @@ -{"version":3,"sources":["-","../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/guid/guid.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/tick/tick.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/key/key.ts","../../../mol/after/frame/frame.web.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/log3/log3.web.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/window/window.web.ts","../../../mol/dom/context/context.ts","../../../mol/dom/context/context.web.ts","../../../mol/view/selection/selection.ts","../../../mol/maybe/maybe.ts","../../../mol/dom/dom.ts","../../../mol/keyboard/code/code.ts","../../../mol/view/selection/selection.web.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/after/timeout/timeout.ts","../../../mol/style/attach/attach.ts","../../../mol/promise/promise/promise.ts","../../../mol/promise/blocker/blocker.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/view/view/view.web.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/scroll.view.tree","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/book2.view.tree","../../../mol/mem/cached/cached.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/pop/pop.view.tree","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/hotkey/hotkey.view.tree","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/nav.view.tree","../../../mol/nav/nav.view.ts","../../../mol/mem/persist/persist.ts","../../../mol/wire/sync/sync.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/state/local/local.web.ts","../../../mol/action/action.ts","../../../mol/lock/lock.ts","../../../mol/compare/array/array.ts","../../../mol/charset/decode/decode.ts","../../../node/node.web.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/transaction/transaction.ts","../../../mol/file/transaction/transaction.web.ts","../../../mol/file/base/base.ts","../../../mol/file/file.ts","../../../mol/dom/parse/parse.ts","../../../mol/fetch/fetch.ts","../../../mol/file/webdav/webdav.ts","../../../mol/file/file.web.ts","../../../mol/locale/locale.ts","../../../mol/string/string.view.tree","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/svg/svg.view.tree","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/root.view.tree","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/path.view.tree","../../../mol/icon/icon.view.tree","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/close/close.view.tree","../../../mol/speck/speck.view.tree","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/button.view.tree","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/typed.view.tree","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/minor.view.tree","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/list/list.view.tree","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/paragraph/paragraph.view.tree","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/dimmer.view.tree","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/search.view.tree","../../../localized_string","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/link/link.view.tree","../../../mol/state/arg/arg.web.ts","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/page/page.view.tree","../../../mol/page/page.view.css.ts","../../../mol/book2/catalog/catalog.view.tree","../../../mol/match/text.ts","../../../mol/book2/catalog/catalog.view.ts","../../../mol/book2/catalog/catalog.view.css.ts","../../../mol/theme/auto/auto.view.tree","../../../mol/media/media.ts","../../../mol/lights/lights.ts","../../../mol/theme/auto/auto.view.ts","../../../mol/check/check.view.tree","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/icon/icon.view.tree","../../../mol/check/icon/-css/icon.view.css.ts","../../../mol/icon/brightness/4/4.view.tree","../../../mol/lights/toggle/toggle.view.tree","../../../mol/lights/toggle/toggle.view.ts","../../../mol/chip/chip.view.tree","../../../mol/chip/chip.view.css.ts","../../../mol/icon/plus/plus.view.tree","../../../mol/gallery/gallery.view.tree","../../../mol/gallery/gallery.view.ts","../../../mol/gallery/-css/gallery.view.css.ts","../../../hd/canary/app/monitor/monitor.view.tree","../../../mol/rest/code/code.ts","../../../mol/dom/serialize/serialize.ts","../../../mol/rest/port/port.ts","../../../mol/data/tagged/tagged.ts","../../../mol/base64/encode/encode.ts","../../../mol/base64/encode/encode.web.ts","../../../mol/base64/decode/decode.ts","../../../mol/base64/decode/decode.web.ts","../../../mol/base64/ae/ae.ts","../../../hyoo/crus/ref/ref.ts","../../../mol/wire/set/set.ts","../../../hyoo/crus/part/part.ts","../../../mol/buffer/buffer.ts","../../../mol/data/setup/setup.ts","../../../mol/func/is/class/class.ts","../../../mol/data/pipe/pipe.ts","../../../mol/error/mix/mix.ts","../../../mol/data/error/error.ts","../../../mol/data/number/number.ts","../../../mol/data/integer/integer.ts","../../../hyoo/crus/rank/rank.ts","../../../mol/base64/url/url.ts","../../../mol/crypto/native/native.web.ts","../../../mol/crypto/restack/restack.ts","../../../mol/crypto/key/key.ts","../../../mol/crypto/salt/salt.ts","../../../mol/crypto/sacred/sacred.ts","../../../mol/crypto/secret/secret.ts","../../../hyoo/crus/auth/auth.ts","../../../mol/time/base/base.ts","../../../mol/time/duration/duration.ts","../../../mol/time/moment/moment.ts","../../../hyoo/crus/time/time.ts","../../../hyoo/crus/face/face.ts","../../../mol/wire/dict/dict.ts","../../../hyoo/crus/fund/fund.ts","../../../mol/graph/graph.ts","../../../mol/crypto/hash/hash.ts","../../../hyoo/crus/pack/pack.ts","../../../mol/time/interval/interval.ts","../../../mol/span/span.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../hyoo/crus/vary/vary.ts","../../../mol/jsx/jsx.ts","../../../mol/tree2/bin/bin.ts","../../../mol/tree2/from/json/json.ts","../../../mol/tree2/xml/from/dom/dom.ts","../../../hyoo/crus/vary/cast/cast.tsx","../../../mol/guard/defined.ts","../../../mol/bus/bus.ts","../../../hyoo/crus/log/log.ts","../../../mol/wire/race/race.ts","../../../hyoo/crus/land/land.ts","../../../hyoo/crus/unit/unit.ts","../../../hyoo/crus/pass/pass.ts","../../../hyoo/crus/gift/gift.ts","../../../hyoo/crus/mine/mine.ts","../../../mol/db/response/response.ts","../../../mol/db/store/store.ts","../../../mol/db/index/index.ts","../../../mol/db/db.ts","../../../mol/db/database/database.ts","../../../mol/db/transaction/transaction.ts","../../../hyoo/crus/mine/idb/idb.web.ts","../../../hyoo/crus/mine/mine.web.ts","../../../hyoo/crus/sand/sand.ts","../../../hyoo/crus/node/node.ts","../../../mol/reconcile/reconcile.ts","../../../hyoo/crus/list/list.ts","../../../hyoo/crus/dict/dict.ts","../../../mol/hash/string/string.ts","../../../hyoo/crus/atom/atom.ts","../../../hyoo/crus/entity/entity.ts","../../../hyoo/crus/home/home.ts","../../../hyoo/crus/glob/glob.ts","../../../mol/rest/port/ws/ws.ts","../../../mol/rest/port/ws/ws_std.ts","../../../hyoo/crus/yard/yard.ts","../../../hyoo/crus/yard/yard.web.ts","../../../hd/canary/app/home/home.ts","../../../hd/canary/app/monitor/monitor.view.ts","../../../hd/canary/app/monitor/monitor.view.css.ts","../../../mol/avatar/avatar.view.tree","../../../mol/avatar/avatar.view.ts","../../../mol/avatar/-css/avatar.view.css.ts","../../../mol/labeler/labeler.view.tree","../../../mol/labeler/-css/labeler.view.css.ts","../../../mol/stack/stack.view.tree","../../../mol/stack/-css/stack.view.css.ts","../../../mol/text/code/token/token.view.tree","../../../mol/text/code/token/token.view.css.ts","../../../mol/text/code/line/line.view.tree","../../../mol/syntax2/syntax2.ts","../../../mol/syntax2/md/md.ts","../../../mol/text/code/line/line.view.ts","../../../mol/text/code/line/line.view.css.ts","../../../mol/blob/blob.ts","../../../mol/icon/clipboard/clipboard.view.tree","../../../mol/icon/clipboard/outline/outline.view.tree","../../../mol/button/copy/copy.view.tree","../../../mol/html/encode/encode.ts","../../../mol/button/copy/copy.view.ts","../../../mol/text/code/code.view.tree","../../../mol/text/code/code.view.ts","../../../mol/text/code/code.view.css.ts","../../../mol/float/float.view.tree","../../../mol/float/-css/float.view.css.ts","../../../mol/icon/chevron/chevron.view.tree","../../../mol/check/expand/expand.view.tree","../../../mol/check/expand/expand.view.ts","../../../mol/check/expand/-css/expand.view.css.ts","../../../mol/grid/grid.view.tree","../../../mol/state/session/session.ts","../../../mol/grid/grid.view.ts","../../../mol/grid/-css/grid.view.css.ts","../../../mol/image/image.view.tree","../../../mol/image/image.view.ts","../../../mol/image/-css/image.view.css.ts","../../../mol/link/iconed/iconed.view.tree","../../../mol/link/iconed/iconed.view.ts","../../../mol/link/iconed/-css/iconed.view.css.ts","../../../mol/embed/native/native.view.tree","../../../mol/wait/timeout/timeout.ts","../../../mol/embed/native/native.view.ts","../../../mol/embed/native/-css/native.view.css.ts","../../../mol/icon/youtube/youtube.view.tree","../../../mol/frame/frame.view.tree","../../../mol/frame/frame.view.ts","../../../mol/frame/frame.view.css.ts","../../../mol/embed/service/service.view.tree","../../../mol/embed/service/service.view.ts","../../../mol/embed/service/-css/service.view.css.ts","../../../mol/embed/youtube/youtube.view.tree","../../../mol/embed/youtube/youtube.view.ts","../../../mol/embed/rutube/rutube.view.tree","../../../mol/embed/rutube/rutube.view.ts","../../../mol/embed/any/any.view.tree","../../../mol/embed/any/any.view.ts","../../../mol/expander/expander.view.tree","../../../mol/expander/expander.view.ts","../../../mol/expander/-css/expander.view.css.ts","../../../mol/text/text/text.view.tree","../../../mol/text/text/text.view.ts","../../../mol/text/text/-css/text.view.css.ts","../../../mol/icon/eye/eye.view.tree","../../../mol/password/password.view.tree","../../../mol/password/password.view.ts","../../../mol/form/field/field.view.tree","../../../mol/form/field/field.view.ts","../../../mol/form/field/-css/field.view.css.ts","../../../mol/text/list/list.view.tree","../../../mol/text/list/-css/list.view.css.ts","../../../mol/row/row.view.tree","../../../mol/row/-css/row.view.css.ts","../../../mol/form/form.view.tree","../../../mol/form/form.view.ts","../../../mol/form/-css/form.view.css.ts","../../../hd/canary/app/profile/profile.view.tree","../../../mol/crypto/sacred/pass/pass.ts","../../../hd/canary/app/profile/profile.view.ts","../../../hd/canary/app/profile/profile.view.css.ts","../../../mol/icon/bird/bird.view.tree","../../../hd/canary/app/app.view.tree"],"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\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\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\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\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\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 )=> 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 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\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\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\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\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( 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 => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\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 function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\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\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.final\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 class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise | 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 {\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\twrappers.set( result, result = Object.assign(\n\t\t\t\t\t\t\tresult.finally( ()=> {\n\t\t\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t\t\t} ),\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 & { 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_frame extends $mol_object2 {\n\n\t\tstatic _promise = null as Promise | null\n\n\t\tstatic get promise() {\n\n\t\t\tif( this._promise ) return this._promise\n\t\t\t\n\t\t\treturn this._promise = new Promise( done => {\n\t\t\t\t\n\t\t\t\tconst complete = ()=> {\n\t\t\t\t\tthis._promise = null\n\t\t\t\t\tdone()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( typeof requestAnimationFrame === 'function' ) {\n\t\t\t\t\trequestAnimationFrame( complete )\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout( complete, 16 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\n\t\t}\n\n\t\tcancelled = false\n\t\tpromise!: Promise\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\n\t\t\tthis.promise = $mol_after_frame.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\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\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 && 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 >(\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 >( 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\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : 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\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.entries( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i][1] === 'string' ) ? '%s: %s\\n' : '%s: %o\\n'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl.trim() , style , ... ( [] as any[] ).concat( ... chunks ) )\n\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_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , '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\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.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, 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: `Non idempotency`,\n\t\t\t\t\t\tsub,\n\t\t\t\t\t\tpubs: [ ... sub?.pub_list ?? [] , existen ],\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\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}\n\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_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\tconsole.error( 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()\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 fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\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\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\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 descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\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\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\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 descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\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\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic size() {\n\t\t\tthis.resizes()\n\t\t\treturn {\n\t\t\t\twidth: self.innerWidth,\n\t\t\t\theight: self.innerHeight,\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic resizes( next?: Event ) { return next }\n\t\t\n\t}\n\n\tself.addEventListener( 'resize', event => $mol_window.resizes( event ) )\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\twhile( element?.shadowRoot ) {\n\t\t\t\telement = element!.shadowRoot.activeElement\n\t\t\t}\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\tconst parent = element.parentNode\n\t\t\t\tif( parent instanceof ShadowRoot ) element = parent.host\n\t\t\t\telse element = parent as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\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\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $ {\n\t\n\tif( $mol_dom_context.document ) {\n\t\t\n\t\tfunction focus( event: Event ) {\n\t\t\t\n\t\t\tconst target = event.target as HTMLElement\n\t\t\t\n\t\t\tif( target?.shadowRoot ) watch( target!.shadowRoot )\n\t\t\t\n\t\t\t$mol_view_selection.focused( $mol_maybe( target ), 'notify' )\n\t\t\t\n\t\t}\n\t\t\n\t\tfunction watch( root: Document | ShadowRoot ) {\n\t\t\t\n\t\t\t\n\t\t\troot.removeEventListener( 'focus', focus, true )\n\t\t\troot.addEventListener( 'focus', focus, true )\n\t\t\t\n\t\t}\n\t\t\n\t\twatch( $mol_dom_context.document )\n\t\t\n\t\t$mol_dom.document.addEventListener( 'keydown', event => {\n\t\t\t\n\t\t\tif( !event.altKey ) return\n\t\t\t\n\t\t\tconst self = $mol_view_selection.focused()[0]\n\t\t\tif( !self ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.down: var vert = 1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.up: var vert = -1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.left: var hor = -1, vert = 0; break\n\t\t\t\tcase $mol_keyboard_code.right: var hor = 1, vert = 0; break\n\t\t\t\tdefault: return\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tconst self_rect = self.getBoundingClientRect()\n\t\t\tconst center_hor = ( self_rect.left + self_rect.right ) / 2\n\t\t\tconst center_vert = ( self_rect.top + self_rect.bottom ) / 2\n\t\t\t\n\t\t\tconst all = [ ... $mol_dom.document.querySelectorAll( ':where( [role=\"button\"], [role=\"checkbox\"], input, button, a ):not([disabled])' ) ]\n\t\t\t\t.map( el => {\n\t\t\t\t\tconst rect = el.getBoundingClientRect()\n\t\t\t\t\tconst dist = ( Math.max( 0, center_hor - rect.right ) + Math.max( 0, rect.left - center_hor ) ) * vert * vert\n\t\t\t\t\t\t+ ( Math.max( 0, center_vert - rect.bottom ) + Math.max( 0, rect.top - center_vert ) ) * hor * hor\n\t\t\t\t\treturn [ el, rect, dist ] as const\n\t\t\t\t} )\n\t\t\t\t.filter( ([ el, rect ])=> {\n\t\t\t\t\tif( el === self ) return false\n\t\t\t\t\tif( vert > 0 && rect.top < self_rect.bottom ) return false\n\t\t\t\t\tif( vert < 0 && rect.bottom > self_rect.top ) return false\n\t\t\t\t\tif( hor > 0 && rect.left < self_rect.right ) return false\n\t\t\t\t\tif( hor < 0 && rect.right > self_rect.left ) return false\n\t\t\t\t\treturn true\n\t\t\t\t} )\n\t\t\t\t.sort( ( [, one, dist1 ], [, two, dist2 ] )=> {\n\t\t\t\t\treturn ( dist1 - dist2 ) || ( ( one.top - two.top ) * vert + ( one.left - two.left ) * hor )\n\t\t\t\t} )\n\t\t\t\n\t\t\tconst target = all[0]?.[0] as HTMLElement | undefined\n\t\t\ttarget?.focus()\n\t\t\t\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\tconst fun = function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tReflect.defineProperty( fun , 'name' , { value : task.name + ' ' } )\n\n\t\t\treturn fun\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\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\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\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\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\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 function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\texport class $mol_promise extends Promise {\n\t\tdone: (value: Result | PromiseLike) => void\n\t\tfail: (reason?: any) => void\n\n\t\tconstructor(\n\t\t\texecutor?: (\n\t\t\t\tdone: (value: Result | PromiseLike) => void,\n\t\t\t\tfail: (reason?: any) => void\n\t\t\t) => void\n\t\t) {\n\t\t\tlet done: (value: Result | PromiseLike) => void\n\t\t\tlet fail: (reason?: any) => void\n\n\t\t\tsuper((d, f) => {\n\t\t\t\tdone = d\n\t\t\t\tfail = f\n\t\t\t\texecutor?.(d, f)\n\t\t\t})\n\n\t\t\tthis.done = done!\n\t\t\tthis.fail = fail!\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_promise_blocker extends $mol_promise {\n\t\tstatic [Symbol.toStringTag] = '$mol_promise_blocker'\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t\t'spirit',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 240deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n\\tcolor-scheme: dark light;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 0%, .75 );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 30% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 15% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 60% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 70% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 70% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 100%, .75 );\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t--mol_theme_back: oklch( 92% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 99% .01 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 60% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 40% .15 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 50% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 50% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 25% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 85% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 98% .03 var(--mol_theme_hue) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 35% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 45% .15 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 83% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean|null\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\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$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\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} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\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} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error)\n\t\t\t\t\t? (error as any).constructor[Symbol.toStringTag] ?? 'Promise'\n\t\t\t\t\t: error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( path.length === 0 && check( this ) ) return yield [ this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst checked = new Set<$mol_view>()\n\t\t\t\tconst sub = this.sub()\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif( ! ( item instanceof $mol_view ) ) continue\n\n\t\t\t\t\tif ( ! check( item ) ) continue\n\t\t\t\t\tchecked.add(item)\n\t\t\t\t\tyield [ ... path, this, item ]\n\t\t\t\t}\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif ( ! ( item instanceof $mol_view) ) continue\n\t\t\t\t\tif ( checked.has(item) ) continue\n\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} finally {\n\t\t\t\tview.dom_node().scrollIntoView({ block: align })\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\tnew this.$.$mol_after_timeout( 0, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"], [mol_view_error=\\\"$mol_promise_blocker\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"$mol_promise_blocker\\\"]),\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","interface Window {\n\tcordova : any\n}\n\nnamespace $ {\n\n\t$mol_dom_context.document?.addEventListener(\n\t\t'DOMContentLoaded',\n\t\t()=> $mol_view.autobind(),\n\t\t{ once: true },\n\t)\n\t\n}\n","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tattr *\n\t\t^\n\t\ttabindex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix of Object.keys( val ).reverse() ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type of Object.keys( types ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name of Object.keys( attrs ).reverse() ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query of Object.keys( media ).reverse() ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val of Object.keys( vals ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'hidden',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_book2 $mol_scroll\n\tmenu_title \\\n\tsub /$mol_view\n\t\t^ pages <= pages_deep /$mol_view\n\t\t^ placeholders /$mol_view\n\t\t\t<= Placeholder $mol_view\n\tminimal_width 0\n\tGap* $mol_view title \\\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\n\t\t@ $mol_mem\n\t\toverride pages_deep() {\n\t\t\tlet result = [] as $mol_view[]\n\t\t\tfor (const subpage of this.pages()) {\n\t\t\t\tif (subpage instanceof $mol_book2) result = [ ...result, ...subpage.pages_deep() ]\n\t\t\t\telse result.push(subpage)\n\t\t\t}\n\n\t\t\treturn result\n\t\t}\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages_deep().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages_deep()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst placeholders = this.placeholders()\n\t\t\tconst next = this.pages_deep().filter( Boolean )\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() )?.filter( page => !placeholders.includes( page ) ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i ; ++i ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\t\t\t\tif( p === n ) continue\n\n\t\t\t\tnew this.$.$mol_after_tick( ()=> {\n\t\t\t\t\tconst b = this.dom_node() as HTMLElement\n\t\t\t\t\tconst p = n.dom_node() as HTMLElement\n\t\t\t\t\tb.scroll({\n\t\t\t\t\t\tleft: p.offsetLeft + p.offsetWidth - b.offsetWidth,\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t})\n\t\t\t\t\t// new this.$.$mol_after_timeout( 1000, ()=> n.bring() )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn [ ... next, ... placeholders ]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages_deep()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\tscroll-snap-type: x mandatory;\\n\\t/* padding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px; */\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_field);\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_special) 0%,\\n\\t\\tvar(--mol_theme_special) 14%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_special) 43%,\\n\\t\\tvar(--mol_theme_special) 57%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_special) 86%,\\n\\t\\tvar(--mol_theme_special) 100%\\n\\t);\\n\\topacity: .5;\\n\\tz-index: var(--mol_layer_speck);\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -3px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -3px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_pop $mol_view\n\tshowed? false\n\talign_vert \\\n\talign_hor \\\n\tprefer \\vert\n\tsub /\n\t\t<= Anchor null\n\tsub_visible /\n\t\t<= Anchor\n\t\t<= Bubble $mol_pop_bubble\n\t\t\talign <= align \\bottom_center\n\t\t\tcontent <= bubble_content /$mol_view_content\n\t\t\theight_max <= height_max 9999\n\n$mol_pop_bubble $mol_view\n\tsub <= content /$mol_view_content\n\tstyle *\n\t\t^\n\t\tmaxHeight <= height_max 9999\n\tattr *\n\t\t^\n\t\tmol_pop_align <= align \\\n\t\ttabindex 0\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\t/* height: max-content; */\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n\\ttransition-property: opacity;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_nav $mol_plugin\n\tcycle? false\n\t-\n\tmod_ctrl false\n\tmod_shift false\n\tmod_alt false\n\t-\n\tkeys_x? /\n\tkeys_y? /\n\t-\n\tcurrent_x? null\n\tcurrent_y? null\n\t-\n\tevent_up?event null\n\tevent_down?event null\n\tevent_left?event null\n\tevent_right?event null\n\tevent *\n\t\t^\n\t\tkeydown?event <=> event_key?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\tconst factories = new WeakMap()\n\n\tfunction factory(\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 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\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype ConstructorResultAwaited = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited & ConstructorResultAwaited : Some )\n\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tself.addEventListener( 'storage' , event => $.$mol_state_local.changes( event ) )\n\n}\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\texport class $mol_lock extends $mol_object {\n\t\tprotected promise = null as null | Promise\n\n\t\tasync wait() {\n let next = () => {}\n\t\t\tlet destructed = false\n const task = $mol_wire_auto()\n\t\t\tif (! task) return next\n\n\t\t\tconst destructor = task.destructor.bind(task)\n task.destructor = ()=> {\n\t\t\t\tdestructor()\n\t\t\t\tdestructed = true\n next()\n }\n\n\t\t\tlet promise\n\n\t\t\tdo {\n\t\t\t\tpromise = this.promise\n\t\t\t\tawait promise\n\t\t\t\tif (destructed) return next\n\t\t\t} while (promise !== this.promise)\n\n\t\t\tthis.promise = new Promise(done => { next = done })\n\t\t\treturn next\n\t\t}\n\n\t\tgrab() { return $mol_wire_sync(this).wait() }\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","// @ts-ignore\r\nvar $node = $node || {}\r\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value) as Uint8Array< ArrayBuffer >\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_transaction_mode = 'create' | 'exists_truncate' | 'exists_fail' | 'read_only'\n\t\t| 'write_only' | 'read_write' | 'append'\n\n\texport type $mol_file_transaction_buffer = ArrayBufferView\n\n\texport class $mol_file_transaction extends $mol_object {\n\t\tpath() { return '' }\n\n\t\tmodes() { return [] as readonly $mol_file_transaction_mode[] }\n\n\t\twrite(options: {\n\t\t\tbuffer: ArrayBufferView | string | readonly ArrayBufferView[],\n\t\t\toffset?: number | null,\n\t\t\tlength?: number | null,\n\t\t\tposition?: number | null,\n\t\t}) {\n\t\t\treturn 0\n\t\t}\n\n\t\tread() {\n\t\t\treturn new Uint8Array()\n\t\t}\n\n\t\ttruncate(size: number) {}\n\n\t\tclose() {}\n\n\t\toverride destructor() {\n\t\t\tthis.close()\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_file_transaction_web extends $mol_file_transaction {\n\t\toverride write(options: {\n\t\t\tbuffer: ArrayBufferView | string | readonly ArrayBufferView[],\n\t\t\toffset?: number | null,\n\t\t\tlength?: number | null,\n\t\t\tposition?: number | null,\n\t\t}): number {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t\toverride truncate(size: number) {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t\toverride read(): Buffer< ArrayBuffer > {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t\toverride close() {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t}\n\n\t$.$mol_file_transaction = $mol_file_transaction_web\n}\n","namespace $ {\n\n\texport class $mol_file_base extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute(this: This, path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t}) as InstanceType< This >\n\t\t}\n\n\t\tstatic relative(this: This, path : string ) : InstanceType {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\t@ $mol_action\n\t\texists_cut() { return this.exists() }\n\n\t\tprotected root() {\n\t\t\tconst path = this.path()\n\t\t\tconst base = (this.constructor as typeof $mol_file_base).base\n\n\t\t\t// Если путь выше или равен base или если parent такойже как и this - считаем это корнем\n\t\t\treturn base.startsWith(path) || this == this.parent()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprotected stat(next? : $mol_file_stat | null, virt?: 'virt') {\n\n\t\t\tconst path = this.path()\n\t\t\tconst parent = this.parent()\n\n\t\t\t// Отслеживать проверку наличия родительской папки не стоит до корня диска\n\t\t\t// Лучше ограничить mam-ом\n\t\t\tif ( ! this.root() ) {\n\t\t\t\t/*\n\t\t\t\tЕсли parent папка удалилась, надо ресетнуть все объекты в ней на любой глубине.\n\t\t\t\tНапример, rm -rf с последующим git pull: parent папка может удалиться, потом создасться,\n\t\t\t\tа текущая папка успеет только удалиться до момента выполнения stat.\n\t\t\t\tПоэтому parent.exists() не запустит перевычисления, нужна именно parent.version()\n\n\t\t\t\tОднако, parent.version() меняется не только при удалении, будет ложное срабатывание\n\t\t\t\tС этим придется мириться, красивого решения пока нет.\n\t\t\t\t*/\n\n\t\t\t\tparent.version()\n\t\t\t}\n\t\t\tparent.watcher()\n\n\t\t\tif( virt ) return next ?? null\n\t\t\t\n\t\t\treturn next ?? this.info(path)\n\t\t}\n\n\t\tprotected static changed = new Set<$mol_file_base>\n\n\t\tprotected static frame = null as null | $mol_after_timeout\n\n\t\tprotected static changed_add(type: 'change' | 'rename', path: string) {\n\t\t\tif (/([\\/\\\\]\\.|___$)/.test( path )) return\n\n\t\t\tconst file = this.relative( path.at(-1) === '/' ? path.slice(0, -1) : path )\n\t\t\t// console.log(type, path)\n\n\t\t\t// add (change): добавился файл - у parent надо обновить список sub, если он был заюзан\n\t\t\t// change, unlink (rename): обновился или удалился файл - ресетим\n\t\t\t// addDir (change), добавилась папка, у parent обновляем список директорий в sub\n\t\t\t// дочерние ресетим\n\n\t\t\t// unlinkDir (rename), удалилась папка, ресетим ее\n\t\t\t// stat у всех дочерних обновится сам, т.к. связан с parent.version()\n\t\t\tthis.changed.add(file)\n\n\t\t\tif (! this.watching) return\n\n\t\t\t// throttle, пока события поступают не сбрасываем.\n\t\t\t// аналог awaitWriteFinish из chokidar\n\t\t\t// интервалы между change-сообщениями модифицируемого файла должны быть меньше watch_debounce\n\t\t\tthis.frame?.destructor()\n\t\t\tthis.frame = new this.$.$mol_after_timeout(this.watch_debounce(), () => {\n\t\t\t\tif (! this.watching) return\n\t\t\t\tthis.watching = false\n\t\t\t\t$mol_wire_async(this).flush()\n\t\t\t} )\n\t\t}\n\n\t\t/**\n\t\t * Должно быть больше, чем время между событиями от вотчера при записи внешним процессом.\n\t\t * Иначе запуск ресетов паралельно с изменением может привести к неконсистентности.\n\t\t */\n\t\tstatic watch_debounce() { return 500 }\n\n\t\t@ $mol_action\n\t\tstatic flush() {\n\t\t\t// Пока flush работает, вотчер сюда не заходит, но может добавлять новые изменения\n\t\t\t// на каждом перезапуске они применятся\n\t\t\t// Пока run выполняется, изменения накапливаются, в конце run вызывается flush\n\t\t\t// Пока применяются изменения, run должен ожидать конца flush\n\n\t\t\tfor (const file of this.changed) {\n\t\t\t\tconst parent = file.parent()\n\n\t\t\t\ttry {\n\t\t\t\t\tif ( $mol_wire_probe(() => parent.sub()) ) parent.sub(null)\n\t\t\t\t\tfile.reset()\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif ($mol_fail_catch(error)) $mol_fail_log(error)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.changed.clear()\n\t\t\tthis.watching = true\n\n\t\t\t// this.watch_wd?.destructor()\n\t\t\t// this.watch_wd = null\n\t}\n\n\t\tprotected static watching = true\n\n\t\tprotected static lock = new $mol_lock\n\n\t\t@ $mol_action\n\t\tprotected static watch_off(path: string) {\n\t\t\tthis.watching = false\n\t\t\t// run должен ожидать конца flush\n\t\t\tthis.flush()\n\t\t\tthis.watching = false\n\n\t\t\t/*\n\t\t\twatch запаздывает и событие может прилететь через 3 сек после окончания сайд эффекта\n\t\t\tпоэтому добавляем папку, которую меняет side_effect\n\t\t\tКогда дойдет до выполнения flush, он ресетнет ее\n\t\t\t\n\t\t\tИначе будут лишние срабатывания\n\t\t\tНапример, удалили hyoo/board, watch ресетит и exists начинает отдавать false, срабатывает git clone\n\t\t\tСразу после него событие addDir еще не успело прийти,\n\t\t\tна следующем перезапуске вызывается git pull, т.к.\n\t\t\tс точки зрения реактивной системы hyoo/board еще не существует.\n\t\t\t*/\n\t\t\tthis.changed.add(this.absolute(path))\n\t\t}\n\t\n\t\t// protected static watch_wd = null as null | $mol_after_timeout\n\n\t\tstatic unwatched(side_effect: () => Result, affected_dir: string) {\n\t\t\t// ждем, пока выполнится предыдущий unwatched\n\t\t\tconst unlock = this.lock.grab()\n\t\t\tthis.watch_off(affected_dir)\n\n\t\t\ttry {\n\t\t\t\tconst result = side_effect()\n\t\t\t\tthis.flush()\n\t\t\t\tunlock()\n\t\t\t\treturn result\n\t\t\t} catch(e) {\n\t\t\t\tif (! $mol_promise_like(e)) {\n\t\t\t\t\tthis.flush()\n\t\t\t\t\tunlock()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\n\t\treset() {\n\t\t\tthis.stat( null )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmodified() { return this.stat()?.mtime ?? null }\n\n\t\t@ $mol_mem\n\t\tversion() {\n\t\t\tconst next = this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t\t// console.log('version', next, this.path())\n\t\t\treturn next\n\t\t}\n\n\t\tprotected info( path: string ) { return null as null | $mol_file_stat }\n\t\tprotected ensure() {}\n\t\tprotected drop() {}\n\t\tprotected copy(to: string) {}\n\t\tprotected read(): Uint8Array { return new Uint8Array }\n\t\tprotected write(buffer: Uint8Array) { }\n\t\tprotected kids() {\n\t\t\treturn [] as readonly this[]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\treadable(opts: { start?: number, end?: number }) {\n\t\t\treturn new ReadableStream>\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\twritable(opts: { start?: number }) {\n\t\t\treturn new WritableStream>\n\t\t}\n\n\t\t// open( ... modes: readonly $mol_file_mode[] ) { return 0 }\n\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ): Uint8Array {\n\n\t\t\t// Если версия пустая - возвращаем пустой буфер\n\t\t\tlet readed: Uint8Array = new Uint8Array()\n\n\t\t\tif( next === undefined ) {\n\t\t\t\t// Если меняется версия файла, буфер надо перечитать\n\t\t\t\tif ( this.version() ) readed = this.read()\n\t\t\t}\n\n\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\tconst changed = prev === undefined || ! $mol_compare_array( prev, next ?? readed)\n\n\t\t\tif( prev !== undefined && changed ) {\n\t\t\t\t// Логируем, если повторно читаем/пишем и буфер поменялся\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tplace: `$mol_file_node.buffer()`,\n\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (next === undefined) return changed ? readed : prev\n\n\t\t\t// Если буфер при записи не поменялся и файл не удаляли перед этим - не записываем новую версию.\n\t\t\t// Если записывать, это приведет к смене mtime и вотчер снова триггернется, даже если содержимое файла не поменялось.\n\n\t\t\t// В этом алгоритме есть изъян.\n\t\t\t// Если файл записали, потом отключили вотчер, кто-то из вне его поменял, потом включили вотчер, снова записали тот же буфер,\n\t\t\t// то буфер не запишется на диск, т.к. кэш не консистентен с диском.\n\t\t\t\n\t\t\tif (! changed && this.exists()) return prev\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\tthis.stat( this.stat_make(next.length), 'virt' )\n\n\t\t\tthis.write(next)\n\n\t\t\treturn next\n\n\t\t}\n\n\t\t@ $mol_action\n\t\tstat_make(size: number) {\n\t\t\tconst now = new Date()\n\t\t\treturn {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t} as const\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tclone(to: string) {\n\t\t\tif (! this.exists() ) return null\n\n\t\t\tconst target = (this.constructor as typeof $mol_file_base).absolute(to) as this\n\n\t\t\ttry {\n\t\t\t\tthis.version()\n\t\t\t\ttarget.parent().exists(true)\n\t\t\t\tthis.copy(to)\n\t\t\t\ttarget.reset()\n\t\t\t\treturn target\n\t\t\t} catch (error) {\n\t\t\t\tif ( $mol_fail_catch(error)) {\n\t\t\t\t\tconsole.error(error)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\n\t\t// static watch_root = ''\n\n\t\t// static watcher_warned = false\n\t\twatcher() {\n\t\t\t// const constructor = this.constructor as typeof $mol_file_base\n\t\t\t// if (! constructor.watcher_warned) {\n\t\t\t// \tconsole.warn(`${constructor}.watcher() not implemented`)\n\t\t\t// \tconstructor.watcher_warned = true\n\t\t\t// }\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tconst exists = Boolean( this.stat() )\n\n\t\t\t// console.log('exists current', exists, 'next', next, this.path())\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) {\n\t\t\t\tthis.parent().exists( true )\n\t\t\t\tthis.ensure()\n\t\t\t} else {\n\t\t\t\tthis.drop()\n\t\t\t}\n\n\t\t\tthis.reset()\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\t// Если записываем text, и вотчер ресетнул записанный файл,\n\t\t\t// то надо снова его обновить, вызвать логику, которая делала пуш в text.\n\t\t\t// Например файл удалили, потом снова создали, версия поменялась - перезаписываем\n\t\t\t// Если использовать version, то вновь созданный файл, через вотчер запустит свое пересоздание\n\t\t\tif (next !== undefined) this.exists()\n\t\t\treturn this.text_int(next, virt)\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttext_int(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tthis.stat( this.stat_make(0), 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub(reset?: null) {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tthis.version()\n\n\t\t\t// Если дочерний file удалился, список надо обновить\n\t\t\treturn this.kids().filter(file => file.exists())\n\t\t}\n\n\t\tresolve(path: string): this {\n\t\t\tthrow new Error('implement')\n\t\t}\n\n\t\trelate( base = ( this.constructor as typeof $mol_file_base ).relative( '.' )): string {\n\t\t\tconst base_path = base.path()\n\t\t\tconst path = this.path()\n\t\t\treturn path.startsWith(base_path) ? path.slice(base_path.length) : path\n\t\t}\n\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as typeof this[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.path()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\topen( ... modes: readonly $mol_file_transaction_mode[] ) {\n\t\t\treturn this.$.$mol_file_transaction.make({\n\t\t\t\tpath: () => this.path(),\n\t\t\t\tmodes: () => modes\n\t\t\t})\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file extends $mol_file_base {}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\tstatus() {\n\t\t\tconst types = [ 'unknown', 'inform', 'success', 'redirect', 'wrong', 'failed' ] as const\n\t\t\treturn types[ Math.floor( this.native.status / 100 ) ]\n\t\t}\n\t\t\n\t\tcode() {\n\t\t\treturn this.native.status\n\t\t}\n\t\t\n\t\tmessage() {\n\t\t\treturn this.native.statusText || `HTTP Error ${ this.code() }`\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_action\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\tjson() {\n\t\t\treturn $mol_wire_sync( this.native ).json() as unknown\n\t\t}\t\n\n\t\tblob() {\n\t\t\treturn $mol_wire_sync( this.native ).blob()\n\t\t}\n\n\n\t\tbuffer() {\n\t\t\treturn $mol_wire_sync( this.native ).arrayBuffer()\n\t\t}\n\n\t\t@ $mol_action\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request( input : RequestInfo , init : RequestInit = {} ) {\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = fetch( input , {\n\t\t\t\t... init,\n\t\t\t\tsignal: controller!.signal,\n\t\t\t} ).finally( ()=> {\n\t\t\t\tdone = true\n\t\t\t} )\n\t\t\t\n\t\t\treturn Object.assign( promise, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\t// Abort of done request breaks response parsing\n\t\t\t\t\tif( !done && !controller.signal.aborted ) controller.abort()\n\t\t\t\t},\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn new $mol_fetch_response( $mol_wire_sync( this ).request( input , init ) )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic success( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.response( input , init )\n\t\t\tif( response.status() === 'success' ) return response\n\t\t\t\n\t\t\tthrow new Error( response.message(), { cause: response } )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).json()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic blob( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).blob()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $ {\n\texport class $mol_file_webdav extends $mol_file_base {\n\t\tstatic override relative(this: This, path : string ) {\n\t\t\treturn this.absolute( new URL( path , this.base ).toString() )\n\t\t}\n\n\t\toverride resolve( path : string ) {\n\t\t\tlet res = this.path() + '/' + path\n\n\t\t\twhile( true ) {\n\t\t\t\tlet prev = res\n\t\t\t\t// foo/../ -> /\n\t\t\t\tres = res.replace( /\\/[^\\/.]+\\/\\.\\.\\// , '/' )\n\t\t\t\tif( prev === res ) break\n\t\t\t}\n\n\t\t\t// http://localhost/.. -> http://localhost\n\t\t\tres = res.replace(/\\/\\.\\.\\/?$/, '')\n\n\t\t\tif (res === this.path()) return this\n\n\t\t\treturn ( this.constructor as typeof $mol_file_base ).absolute( res ) as this\n\t\t}\n\n\t\tstatic headers() { return {} as Record }\n\t\theaders() { return (this.constructor as typeof $mol_file_webdav).headers() }\n\n\t\tprotected fetch(init: RequestInit) {\n\t\t\treturn this.$.$mol_fetch.success(this.path(), {\n\t\t\t\t...init,\n\t\t\t\theaders: {\n\t\t\t\t\t...this.headers(),\n\t\t\t\t\t...init.headers,\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tprotected override read() {\n\t\t\ttry {\n\t\t\t\tconst response = this.fetch({})\n\t\t\t\treturn new Uint8Array(response.buffer()) as Uint8Array\n\t\t\t} catch (error) {\n\t\t\t\tif (\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t&& error.cause instanceof $mol_fetch_response\n\t\t\t\t\t&& error.cause.native.status === 404\n\t\t\t\t) return new Uint8Array\n\n\t\t\t\t$mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\n\t\tprotected override write( body : Uint8Array ) { this.fetch({ method: 'PUT', body }) }\n\t\tprotected override ensure() { this.fetch({ method: 'MKCOL' }) }\n\t\tprotected override drop() { this.fetch({ method: 'DELETE' }) }\n\n\t\tprotected override copy(to: string) {\n\t\t\tthis.fetch({\n\t\t\t\tmethod: 'COPY',\n\t\t\t\theaders: { Destination: to }\n\t\t\t})\n\t\t}\n\n\t\tprotected override kids() {\n\t\t\tconst response = this.fetch({ method: 'PROPFIND' })\n\t\t\tconst xml = response.xml()\n\t\t\tconst result = []\n\n\t\t\tfor (const multistatus of xml.childNodes) {\n\t\t\t\tif (multistatus.nodeName !== 'D:multistatus') continue\n\t\n\t\t\t\tfor (const response of multistatus.childNodes) {\n\t\t\t\t\tlet path\n\t\n\t\t\t\t\tif (response.nodeName === 'D:href') path = response.textContent ?? ''\n\t\n\t\t\t\t\tif (! path ) continue\n\t\t\t\t\tif ( response.nodeName !== 'D:propstat') continue\n\t\n\t\t\t\t\tconst stat = webdav_stat(response)\n\t\n\t\t\t\t\tconst file = this.resolve(path)\n\t\t\t\t\tfile.stat(stat, 'virt')\n\t\t\t\t\tresult.push(file)\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn result\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride readable( opts: { start?: number; end?: number } ) {\n\t\t\treturn this.fetch({\n\t\t\t\theaders: ! opts.start ? {} : {\n\t\t\t\t\t'Range': `bytes=${opts.start}-${opts.end ?? ''}`\n\t\t\t\t}\n\t\t\t}).stream() as ReadableStream> | null || $mol_fail(new Error('Not found'))\n\t\t}\n\n\t\tprotected override info() {\n\t\t\treturn this.kids().at(0)?.stat() ?? null\n\t\t}\n\t}\n\n\tfunction webdav_stat(prop_stat: ChildNode) {\n\t\tconst now = new Date()\n\t\tconst stat: $mol_file_stat = {\n\t\t\ttype: 'file',\n\t\t\tsize: 0,\n\t\t\tatime: now,\n\t\t\tmtime: now,\n\t\t\tctime: now,\n\t\t}\n\n\t\tfor (const prop of prop_stat.childNodes) {\n\t\t\tif (prop.nodeName !== 'D:prop') continue\n\n\t\t\tfor (const value of prop.childNodes) {\n\t\t\t\tconst name = value.nodeName\n\t\t\t\tconst text = value.textContent ?? ''\n\n\t\t\t\tif (name === 'D:getcontenttype') {\n\t\t\t\t\tstat.type = text.endsWith('directory') ? 'dir' : 'file'\n\t\t\t\t}\n\n\t\t\t\tif (name === 'D:getcontentlength') {\n\t\t\t\t\tstat.size = Number(value.textContent || '0')\n\t\t\t\t\tif (Number.isNaN(stat.size)) stat.size = 0\n\t\t\t\t}\n\n\t\t\t\tif (name === 'D:getlastmodified') stat.mtime = stat.atime = new Date(text)\n\t\t\t\tif (name === 'D:creationdate') stat.ctime = new Date(text)\n\t\t\t}\n\t\t}\n\n\t\treturn stat\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_file_web extends $mol_file_webdav {\n\n\t\tstatic override base = $mol_dom_context.document?.currentScript\n\t\t\t? new URL( '.' , ($mol_dom_context.document.currentScript as any)['src'] ).toString()\n\t\t\t: ''\n\n\t\t// Вотчер выключен, версия всегда будет одна\n\t\t// Если пустая строка - будет считаться, что файла нет\n\t\toverride version() { return '1' }\n\t\t// Ворнинги подавляем, иначе в каждом приложении, загружающим локали, будет ворнинг\n\t\t// override watcher() { return { destructor() {} }}\n\n\t\tprotected override info() {\n\t\t\t// Директории не поддерживаются\n\t\t\ttry {\n\t\t\t\tconst response = this.fetch({ method: 'HEAD' })\n\t\t\t\tconst headers = response.headers()\n\n\t\t\t\tlet size = Number(headers.get('Content-Length'))\n\t\t\t\tif (Number.isNaN(size)) size = 0\n\t\n\t\t\t\tconst last = headers.get('Last-Modified')\n\t\n\t\t\t\tconst mtime = last ? new Date(last) : new Date()\n\t\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize,\n\t\t\t\t\tmtime,\n\t\t\t\t\tatime: mtime,\n\t\t\t\t\tctime: mtime,\n\t\t\t\t} as $mol_file_stat\n\n\t\t\t} catch (error) {\n\t\t\t\tif (\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t&& error.cause instanceof $mol_fetch_response\n\t\t\t\t\t&& error.cause.native.status === 404\n\t\t\t\t) return null\n\n\t\t\t\t$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t}\n\t\n\t}\n\n\t$.$mol_file = $mol_file_web\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionStart == null ) return undefined!\n\t\t\treturn this.selection()[0]\n\t\t}\n\t\t\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionEnd == null ) return undefined!\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_svg $mol_view\n\tdom_name \\svg\n\tdom_name_space \\http://www.w3.org/2000/svg\n\tfont_size 16\n\tfont_family \\\n\tstyle_size *\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","$mol_svg_root $mol_svg\n\tdom_name \\svg\n\tattr *\n\t\t^\n\t\tviewBox <= view_box \\0 0 100 100\n\t\tpreserveAspectRatio <= aspect \\xMidYMid\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_svg_path $mol_svg\n\tdom_name \\path\n\tattr *\n\t\t^\n\t\td <= geometry \\\n\n","$mol_icon $mol_svg_root\n\tview_box \\0 0 24 24\n\tminimal_width 16\n\tminimal_height 16\n\tsub /\n\t\t<= Path $mol_svg_path\n\t\t\tgeometry <= path \\\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","$mol_icon_close $mol_icon path \\M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\n","$mol_speck $mol_view\n\tminimal_width 12\n\tattr *\n\t\t^\n\t\tmol_theme <= theme \\$mol_theme_accent\n\tstyle *\n\t\t^\n\t\tminHeight \\1em\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .75rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.2rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tvertical-align: sub;\\n\\tpadding: 0 .2rem;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: .9;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5);\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> event_key_press?event null \n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 10rem var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_list $mol_view\n\trender_visible_only true\n\trender_over 0\n\tsub <= rows /$mol_view\n\tEmpty $mol_view\n\tGap_before $mol_view style * paddingTop <= gap_before 0\n\tGap_after $mol_view style * paddingTop <= gap_after 0\n\titem_height_min* 1\n\titem_width_min* 1\n\tview_window /\n\t\t0\n\t\t0\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' ) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\t\t\t\t\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = this.item_height_min( min )\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\t\t\t\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top < limit_top ) && ( bottom < limit_bottom ) && ( max < kids.length ) ) {\n\t\t\t\tmin2 = max\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom > limit_bottom ) && ( top > limit_top ) && ( min > 0 ) ) {\n\t\t\t\tmax2 = min\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 > limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= this.item_height_min( min2 )\n\t\t\t}\n\t\t\t\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += this.item_height_min( max2 )\n\t\t\t\t++ max2\n\t\t\t}\n\t\t\t\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\t\t\n\t\titem_height_min( index: number ) {\n\t\t\ttry {\n\t\t\t\treturn this.sub()[ index ]?.minimal_height() ?? 0\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 0\n\t\t\t}\n\t\t}\n\n\t\trow_width_min( index: number ) {\n\t\t\ttry {\n\t\t\t\treturn this.sub()[ index ]?.minimal_width() ?? 0\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 0\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tlet gap = 0\n\t\t\tconst skipped = this.view_window()[0]\n\t\t\tfor( let i = 0; i < skipped; ++ i ) gap += this.item_height_min( i )\n\t\t\treturn gap\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tlet gap = 0\n\t\t\tconst from = this.view_window()[1]\n\t\t\tconst to = this.sub().length\n\t\t\tfor( let i = from; i < to; ++ i ) gap += this.item_height_min( i )\n\t\t\treturn gap\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\tlet height = 0\n\t\t\tconst len = this.sub().length\n\t\t\tfor( let i = 0; i < len; ++ i ) height += this.item_height_min( i )\n\t\t\treturn height\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\tlet width = 0\n\t\t\tconst len = this.sub().length\n\t\t\tfor( let i = 0; i < len; ++ i ) width = Math.max( width, this.item_width_min( i ) )\n\t\t\treturn width\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): RegExpStringIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_search $mol_pop\n\tquery? \\\n\tsuggests /string\n\tplugins /$mol_plugin\n\t\t^\n\t\t<= Hotkey $mol_hotkey\n\t\t\tkey * escape? <=> clear? null\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> nav_focused?component null\n\tshowed? <=> suggests_showed? false\n\talign_hor \\right\n\tAnchor $mol_view\n\t\tsub <= anchor_content /\n\t\t\t<= Query $mol_string\n\t\t\t\tvalue? <=> query? \\\n\t\t\t\thint <= hint @ \\Search...\n\t\t\t\tsubmit?event <=> submit?event null\n\t\t\t\tenabled <= enabled true\n\t\t\t\tkeyboard <= keyboard \\search\n\t\t\t\tenter <= enter \\search\n\t\t\t\tbring => bring\n\t\t\t<= Clear $mol_button_minor\n\t\t\t\thint @ \\Clear\n\t\t\t\tenabled <= enabled true\n\t\t\t\tclick?event <=> clear?event null\n\t\t\t\tsub /\n\t\t\t\t\t<= Clear_icon $mol_icon_close\n\tbubble_content /$mol_view_content\n\t\t<= Bubble_pane $mol_scroll\n\t\t\tsub /\n\t\t\t\t<= Menu $mol_list\n\t\t\t\t\trows <= menu_items /$mol_view\n\tSuggest* $mol_button_minor\n\t\tclick?event <=> suggest_select*?event null\n\t\tsub <= suggest_content* /$mol_view_content\n\t\t\t<= Suggest_label* $mol_dimmer\n\t\t\t\thaystack <= suggest_label* \\\n\t\t\t\tneedle <= query? \\\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","$mol_link $mol_view\n\turi \\\n\tdom_name \\a\n\turi_off \\\n\turi_native null\n\texternal false\n\tattr *\n\t\t^\n\t\thref <= uri_toggle \\\n\t\ttitle <= hint_safe <= hint \\\n\t\ttarget <= target \\_self\n\t\tdownload <= file_name \\\n\t\tmol_link_current <= current false\n\t\trel <= relation \\\n\tsub /$mol_view_content\n\t\t<= title\n\targ *\n\tevent *\n\t\t^\n\t\tclick?event <=> click?event <=> event_click?event null\n","namespace $ {\n\n\t/** State of arguments like `#foo=bar/xxx` or `?foo=bar&xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next?: string ) {\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\t\n\t\t\t\tnext = $mol_dom_context.location.href\n\t\t\t\t\n\t\t\t} else if( !/^about:srcdoc/.test( next ) ) {\n\t\t\t\t\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\t\n\t\t\t\t\tconst next = this.href()\n\t\t\t\t\tconst prev = $mol_dom_context.location.href\n\t\t\t\t\tif( next === prev ) return\n\t\t\t\t\t\n\t\t\t\t\tconst history = $mol_dom_context.history\n\t\t\t\t\thistory.replaceState( history.state, $mol_dom_context.document.title, next )\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_dom_context.parent !== $mol_dom_context.self ) {\n\t\t\t\t$mol_dom_context.parent.postMessage( [ 'hashchange', next ], '*' )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal(): string {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_absolute(): string {\n\t\t\treturn new URL( this.href(), $mol_dom_context.location.href ).toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\t\n\t\t\tvar href = this.href( next && this.make_link( next ) ).split( /#!?/ )[1] || ''\n\t\t\tvar chunks = href.split( this.separator )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic dict_cut( except : string[] ) {\n\t\t\t\n\t\t\tconst dict = this.dict()\n\t\t\tconst cut : { [ key : string ] : string } = {}\n\t\t\t\n\t\t\tfor( const key in dict ) {\n\t\t\t\tif( except.indexOf( key ) >= 0 ) break\n\t\t\t\tcut[ key ] = dict[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn cut\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tconst nextDict = ( next === void 0 ) ? void 0 : { ... this.dict() , [ key ] : next }\n\t\t\tconst next2 = this.dict( nextDict )[ key ]\n\t\t\treturn ( next2 == null ) ? null : next2\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\treturn this.make_link({\n\t\t\t\t... this.dict_cut( Object.keys( next ) ),\n\t\t\t\t... next,\n\t\t\t})\n\t\t}\n\t\t\n\t\tstatic prolog = '!'\n\t\tstatic separator = '/'\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic make_link( next : { [ key : string ] : string | null } ) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( let key in next ) {\n\t\t\t\tif( null == next[ key ] ) continue\n\t\t\t\tconst val = next[ key ]\n\t\t\t\tchunks.push( [ key ].concat( val ? [ val ] : [] ).map( this.encode ).join( '=' ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn new URL( '#' + this.prolog + chunks.join( this.separator ) , this.href_absolute() ).toString()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic commit() {\n\t\t\t$mol_dom.history.pushState(\n\t\t\t\t$mol_dom.history.state,\n\t\t\t\t$mol_dom.document.title,\n\t\t\t\tthis.href(),\n\t\t\t)\n\t\t}\n\t\t\n\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t$mol_dom_context.location.href = this.link( next )\n\t\t}\n\t\t\n\t\tstatic encode( str : string ) {\n\t\t\treturn encodeURIComponent( str ).replace( /\\(/g , '%28' ).replace( /\\)/g , '%29' )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tvar prefix = this.prefix\n\t\t\tvar dict : typeof next = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\n\tfunction $mol_state_arg_change( ) {\n\t\t$mol_state_arg.href( $mol_dom_context.location.href )\n\t}\n\n\tself.addEventListener( 'hashchange' , $mol_state_arg_change )\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\toutline: 'none',\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t}\n\t\t},\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla, blur } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// backdropFilter: blur( `3px` ), enforces layering\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 2,\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tbox: {\n\t\t\t\t\t\tshadow: [[ 0, `1px`, 0, 0, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tdisplay: 'none',\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_book2_catalog $mol_book2\n\tparam \\\n\tspread? \\\n\tspreads *\n\tSpread* $mol_view\n\tSpread_default null\n\tspread_ids /string\n\tmenu_filter_enabled false\n\tspread_ids_filtered /string\n\tspread_current null\n\tmenu_tools /\n\taddon_tools /\n\tpages /\n\t\t<= Menu $mol_page\n\t\t\tTitle => Menu_title\n\t\t\ttitle <= menu_title \\\n\t\t\tTools => Menu_tools\n\t\t\tLogo <= Menu_logo null\n\t\t\ttools /\n\t\t\t\t^ menu_tools\n\t\t\t\t^ addon_tools\n\t\t\thead <= menu_head /$mol_view_content\n\t\t\t\t<= Menu_title\n\t\t\t\t<= Menu_tools\n\t\t\tbody <= menu_body /$mol_view\n\t\t\t\t<= Menu_filter $mol_search\n\t\t\t\t\tquery? <=> menu_filter? \\\n\t\t\t\t<= Menu_links $mol_list\n\t\t\t\t\tEmpty <= Menu_links_empty $mol_view\n\t\t\t\t\trows <= menu_links /$mol_view\n\t\t\t\t\t\t<= Menu_item*0 $mol_view\n\t\t\t\t\t\t\tsub <= menu_item_content* /$mol_view\n\t\t\t\t\t\t\t\t<= Menu_link* $mol_link\n\t\t\t\t\t\t\t\t\targ <= menu_link_arg* <= arg* *\n\t\t\t\t\t\t\t\t\tsub <= menu_link_content* /$mol_view_content\n\t\t\t\t\t\t\t\t\t\t<= Menu_link_title* $mol_dimmer\n\t\t\t\t\t\t\t\t\t\t\tneedle <= menu_filter\n\t\t\t\t\t\t\t\t\t\t\thaystack <= spread_title* \\\n\t\t\tfoot <= menu_foot /$mol_view\n\tSpread_close $mol_link\n\t\targ <= spread_close_arg *\n\t\thint @ \\Close page\n\t\tsub /\n\t\t\t<= Spread_close_icon $mol_icon_close\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> readonly string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Variant of [mol_book2](../book2.view.ts) which draws menu in side bar on opens one of taken spreads.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_catalog_demo\n\t */\n\texport class $mol_book2_catalog extends $.$mol_book2_catalog {\n\t\t\n\t\tspread_current() {\n\t\t\treturn this.spread() === '' ? this.Spread_default() : this.Spread(this.spread())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpages() {\n\t\t\tconst spread = this.spread_current()\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\t... spread\n\t\t\t\t\t? spread instanceof $mol_book2\n\t\t\t\t\t\t? spread.pages_deep()\n\t\t\t\t\t\t: [ spread ]\n\t\t\t\t\t: [],\n\t\t\t]\n\t\t}\n\n\t\toverride auto() {\n\t\t\tconst spread = this.spread_current()\n\t\t\tif (spread instanceof $mol_book2) spread.auto()\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride spread_ids(): readonly string[] {\n\t\t\treturn Object.keys( this.spreads() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride menu_body() {\n\t\t\treturn [\n\t\t\t\t... this.menu_filter_enabled() ? [ this.Menu_filter() ] : [],\n\t\t\t\tthis.Menu_links(),\n\t\t\t]\n\t\t}\n\n\t\toverride menu_filter_enabled() {\n\t\t\treturn this.spread_ids().length >= 10\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride menu_links() {\n\t\t\treturn this.spread_ids_filtered()\n\t\t\t\t.map( spread => this.Menu_item( spread ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride spread_ids_filtered() {\n\t\t\treturn this.spread_ids()\n\t\t\t\t.filter( $mol_match_text( this.menu_filter(), spread => [ this.spread_title( spread ) ] ) )\n\t\t}\n\t\t\n\t\toverride Spread(id: string): $mol_view {\n\t\t\treturn this.spreads()[ id ]\n\t\t}\n\n\t\toverride Spread_default() {\n\t\t\treturn this.spreads()['']\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride spread( next?: string ) {\n\t\t\treturn this.$.$mol_state_arg.value( this.param(), next ) ?? ''\n\t\t}\n\t\t\n\t\toverride arg( spread: string ) {\n\t\t\treturn { [ this.param() ]: spread || null }\n\t\t}\n\t\t\n\t\toverride spread_close_arg() {\n\t\t\treturn { [ this.param() ]: null }\n\t\t}\n\t\t\n\t\toverride spread_title( spread: string ) {\n\t\t\tconst page = this.Spread( spread )\n\t\t\treturn page instanceof $mol_book2\n\t\t\t\t&& page.menu_title()\n\t\t\t\t|| page.title()\n\t\t\t\t|| spread\n\t\t}\n\n\t\tspread_current_book() {\n\t\t\tconst spread = this.spread_current()\n\t\t\treturn spread instanceof $mol_book2 ? spread : null\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride placeholders() {\n\t\t\tconst spread_placeholders = this.spread_current_book()?.placeholders() ?? []\n\t\t\treturn spread_placeholders.length ? spread_placeholders : super.placeholders()\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\t$mol_style_define( $mol_book2_catalog, {\n\t\t\n\t\tMenu_filter: {\n\t\t\tflex: {\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\talignSelf: 'stretch',\n\t\t},\n\t\t\n\t\tMenu_item: {\n\t\t\talign: {\n\t\t\t\titems: 'flex-start',\n\t\t\t},\n\t\t},\n\t\t\n\t\tMenu_link: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\twrap: 'wrap',\n\t\t\t},\n\t\t},\n\t\t\n\t})\n\n}\n","$mol_theme_auto $mol_plugin\n\tlight \\$mol_theme_light\n\tattr * mol_theme <= theme <= dark \\$mol_theme_dark\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * The [plugin](../../plugin/readme.md) which defines theme based on [mol_lights](../../lights/readme.md).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_theme_auto extends $.$mol_theme_auto {\n\n\t\ttheme() {\n\t\t\treturn this.$.$mol_lights() ? this.light() : this.dark()\n\t\t}\n\n\t}\n}\n","$mol_check $mol_button_minor\n\tattr *\n\t\t^\n\t\tmol_check_checked <= checked? false\n\t\taria-checked <= aria_checked \\false\n\t\trole <= aria_role \\checkbox\n\tsub /$mol_view_content\n\t\t<= Icon null\n\t\t<= label /\n\t\t\t<= Title $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= title \\\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","$mol_check_icon $mol_check\n","namespace $ { $mol_style_attach( \"mol/check/icon/icon.view.css\",\n \"[mol_check_icon]:where([mol_check_checked]) {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\"\n) }","$mol_icon_brightness_4 $mol_icon path \\M12,18C11.11,18 10.26,17.8 9.5,17.45C11.56,16.5 13,14.42 13,12C13,9.58 11.56,7.5 9.5,6.55C10.26,6.2 11.11,6 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\n","$mol_lights_toggle $mol_check_icon\n\tIcon <= Lights_icon $mol_icon_brightness_4\n\thint @ \\Toggle lights\n\tchecked? <=> lights? false\n","namespace $.$$ {\n\t/**\n\t * Toggle for Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_lights_toggle extends $.$mol_lights_toggle {\n\t\tlights( next? : boolean ) {\n\t\t\treturn this.$.$mol_lights( next )\n\t\t}\n\t}\n}\n","$mol_chip $mol_view\n\tminimal_height 40\n\tattr *\n\t\t^\n\t\ttitle <= hint \\\n\tsub /\n\t\t<= title\n","namespace $.$$ {\n\t\n\t$mol_style_define( $mol_chip, {\n\t\t\n\t\tpadding: $mol_gap.text,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\tbackground: {\n\t\t\tcolor: $mol_theme.card,\n\t\t},\n\t\t\n\t\tgap: $mol_gap.block,\n\t\t\n\t} )\n\t\n}\n","$mol_icon_plus $mol_icon path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n","$mol_gallery $mol_view\n\tsub <= items /$mol_view\n\tSide* $mol_gallery\n\t\tstyle *\n\t\t\tflexGrow <= side_size* \\1\n\t\titems <= side_items* /$mol_view\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_gallery_demo\n\t */\n\texport class $mol_gallery extends $.$mol_gallery {\n\t\t\n\t\t@ $mol_mem\n\t\tsub(): readonly $mol_view[] {\n\t\t\t\n\t\t\tconst items = this.items()\n\t\t\tif( items.length <= 3 ) return items\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Side(0),\n\t\t\t\tthis.Side(1),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tside_items( id: number ) {\n\t\t\tconst items = this.items()\n\t\t\tconst middle = items.length % 2\n\t\t\t\t? Math.ceil( items.length / 3 )\n\t\t\t\t: items.length / 2\n\t\t\treturn id\n\t\t\t\t? items.slice( middle )\n\t\t\t\t: items.slice( 0, middle )\n\t\t}\n\t\t\n\t\tside_size( id: number ) {\n\t\t\treturn String( this.side_items( id ).length )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/gallery/gallery.view.css\",\n \"[mol_gallery] {\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\talign-items: stretch;\\n align-content: stretch;\\n}\\n\"\n) }","$hd_canary_app_monitor $mol_page\n\ttitle @ \\Мониторы\n\ttargets? *\n\ttarget_result*? 1\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\thead /\n\t\t<= Status_total $mol_chip title <= status_total \\\n\t\t<= Title\n\t\t<= Add $mol_view sub /\n\t\t\t<= Add_url $mol_string\n\t\t\t\thint @ \\URL\n\t\t\t\tvalue? <=> add_url? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_title $mol_string\n\t\t\t\thint @ \\Title\n\t\t\t\tvalue? <=> add_title? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_submit $mol_button_minor\n\t\t\t\thint @ \\Add\n\t\t\t\tclick? <=> add_submit? null\n\t\t\t\tsub /\n\t\t\t\t\t<= Add_submit_icon $mol_icon_plus\n\t\t<= Tools\n\tbody /\n\t\t<= Target_list $mol_gallery items <= target_list /\n\t\t\t<= Target*0 $mol_list rows <= target_rows* /\n\t\t\t\t<= Target_main* $mol_view sub /\n\t\t\t\t\t<= Target_status* $mol_view\n\t\t\t\t\t\tsub / <= target_status* \\\n\t\t\t\t\t<= Target_url* $mol_link\n\t\t\t\t\t\ttitle <= target_title* \\\n\t\t\t\t\t\turi <= target_url* \\\n\t\t\t\t\t<= Target_remove* $mol_button_minor\n\t\t\t\t\t\tclick <=> target_remove* null\n\t\t\t\t\t\tsub / <= Target_remove_icon* $mol_icon_close\n\t\t\t\t<= Target_message* $mol_view\n\t\t\t\t\tsub / <= target_message*? \\\n\t\t\t\t<= Target_moment* $mol_view\n\t\t\t\t\tsub / <= target_moment*? <= waiting_hint @ \\Waiting...\n","namespace $ {\n\texport enum $mol_rest_code {\n\t\n\t\tContinue = 100,\n\t\tSwitching_Protocols = 101,\n\t\tProcessing = 102,\n\t\t\n\t\tOK = 200,\n\t\tCreated = 201,\n\t\tAccepted = 202,\n\t\tNon_Authoritative_Information = 203,\n\t\tNo_Content = 204,\n\t\tReset_Content = 205,\n\t\tPartial_Content = 206,\n\t\tMulti_Status = 207,\n\t\tAlready_Reported = 208,\n\t\tIM_Used = 226,\n\t\t\n\t\tMultiple_Choices = 300,\n\t\tMoved_Permanently = 301,\n\t\tFound = 302,\n\t\tSee_Other = 303,\n\t\tNot_Modified = 304,\n\t\tUse_Proxy = 305,\n\t\tTemporary_Redirect = 307,\n\t\t\n\t\tBad_Request = 400,\n\t\tUnauthorized = 401,\n\t\tPayment_Required = 402,\n\t\tForbidden = 403,\n\t\tNot_Found = 404,\n\t\tMethod_Not_Allowed = 405,\n\t\tNot_Acceptable = 406,\n\t\tProxy_Authentication_Required = 407,\n\t\tRequest_Timeout = 408,\n\t\tConflict = 409,\n\t\tGone = 410,\n\t\tLength_Required = 411,\n\t\tPrecondition_Failed = 412,\n\t\tRequest_Entity_Too_Large = 413,\n\t\tRequest_URI_Too_Long = 414,\n\t\tUnsupported_Media_Type = 415,\n\t\tRequested_Range_Not_Satisfiable = 416,\n\t\tExpectation_Failed = 417,\n\t\tTeapot = 418,\n\t\tUnprocessable_Entity = 422,\n\t\tLocked = 423,\n\t\tFailed_Dependency = 424,\n\t\tUpgrade_Required = 426,\n\t\tPrecondition_Required = 428,\n\t\tToo_Many_Requests = 429,\n\t\tRequest_Header_Fields_Too_Large = 431,\n\t\tUnavailable_For_Legal_Reasons = 451,\n\t\t\n\t\tInternal_Server_Error = 500,\n\t\tNot_Implemented = 501,\n\t\tBad_Gateway = 502,\n\t\tService_Unavailable = 503,\n\t\tGateway_Timeout = 504,\n\t\tHTTP_Version_Not_Supported = 505,\n\t\tInsufficient_Storage = 507,\n\t\tLoop_Detected = 508,\n\t\tNot_Extended = 510,\n\t\tNetwork_Authentication_Required = 511,\n\t\tNetwork_Read_Timeout_Error = 598,\n\t\tNetwork_Connect_Timeout_Error = 599,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_rest_port_mime_hi =\n\t\t| 'text' | 'application' | 'font'\n\t\t| 'audio' | 'video' | 'image' | 'model'\n\t\n\texport type $mol_rest_port_mime = `${ $mol_rest_port_mime_hi }/${ string }`\n\t\n\texport class $mol_rest_port extends $mol_object {\n\t\t\n\t\tsend_code( code: $mol_rest_code ) {}\n\t\tsend_type( mime: $mol_rest_port_mime ) {}\n\t\t\n\t\t@ $mol_action\n\t\tsend_data( data: null | string | Uint8Array< ArrayBuffer > | Element | object ) {\n\t\t\tif( data === null ) return this.send_nil()\n\t\t\tif( typeof data === 'string' ) return this.send_text( data )\n\t\t\tif( data instanceof Uint8Array ) return this.send_bin( data )\n\t\t\tif( data instanceof $mol_dom_context.Element ) return this.send_dom( data )\n\t\t\treturn this.send_json( data )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_nil() {\n\t\t\tthis.send_code( 204 )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_bin( data: Uint8Array< ArrayBuffer > ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'application/octet-stream' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_text( data: string ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'text/plain;charset=utf-8' )\n\t\t\tthis.send_bin( $mol_charset_encode( data ) )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_json( data: object ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'application/json' )\n\t\t\tthis.send_text( JSON.stringify( data ) )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_dom( data: Element ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'text/html;charset=utf-8' )\n\t\t\tthis.send_text( $mol_dom_serialize( data ) )\n\t\t}\n\t\t\n\t\t@ $mol_action< any, any >\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.make( config ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\ttype $mol_data_tagged_type< Value, Tag extends PropertyKey > = Value & { [ Key in Tag ]: Value }\n\t\n\ttype $mol_data_tagged_parser< Input, Output > = {\n\t\tValue: Output\n\t} & (\n\t\t( val: $mol_data_tagged_type< Input, never > )=> Output\n\t)\n\n\t/**\n\t * Checks for given runtype and returns tagged version of returned type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_tagged_demo\n\t */\n\texport function $mol_data_tagged<\n\t\tConfig extends Record< string, $mol_data_value >,\n\t>(\n\t\tconfig: Config\n\t) {\n\t\treturn config as any as {\n\t\t\t[ Type in keyof Config ]: $mol_data_tagged_parser<\n\t\t\t\tParameters< Config[ Type ] >[0],\n\t\t\t\t$mol_data_tagged_type< ReturnType< Config[ Type ] >, Type >\n\t\t\t>\n\t\t}\n\t}\n\n}\n","namespace $ {\n\texport function $mol_base64_encode(src: string | Uint8Array): string {\n\t\tthrow new Error('Not implemented')\n\t}\n}\n","namespace $ {\n\n\tfunction binary_string(bytes: Uint8Array | string): string {\n\t\tlet binary = ''\n\t\tif (typeof bytes !== 'string') {\n\t\t\tfor (const byte of bytes) binary += String.fromCharCode( byte )\n\t\t} else {\n\t\t\tbinary = unescape(encodeURIComponent(bytes))\n\t\t}\n\n\t\treturn binary\n\t}\n\n\texport function $mol_base64_encode_web(str: string | Uint8Array): string {\n\t\treturn $mol_dom_context.btoa(binary_string(str))\n\t}\n\n\t$.$mol_base64_encode = $mol_base64_encode_web\n}\n","namespace $ {\n\texport function $mol_base64_decode(base64: string): Uint8Array< ArrayBuffer > {\n\t\tthrow new Error('Not implemented')\n\t}\n}\n","namespace $ {\n\n\texport function $mol_base64_decode_web(base64Str: string): Uint8Array< ArrayBuffer > {\n\t\treturn new Uint8Array($mol_dom_context.atob(base64Str).split('').map(c => c.charCodeAt(0)))\n\t}\n\n\t$.$mol_base64_decode = $mol_base64_decode_web\n}\n","namespace $ {\n\t\n\texport function $mol_base64_ae_encode( buffer: Uint8Array ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, 'æ' ).replace( /\\//g, 'Æ' ).replace( /=/g, '' )\n\t}\n\t\n\texport function $mol_base64_ae_decode( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /æ/g, '+' ).replace( /Æ/g, '/' ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport const { $hyoo_crus_ref } = $mol_data_tagged({ $hyoo_crus_ref: ( val: string | symbol )=> {\n\t\tif( typeof val === 'string' ) val = Symbol.for( val.replace( /_+$/, '' ) )\n\t\tif( /^(([a-zæA-ZÆ0-9]{8})?_){0,3}([a-zæA-ZÆ0-9]{8})?$/.test( val.description! ) ) return val\n\t\t$mol_fail( new Error( `Wrong ref (${ val.description! })` ) )\n\t} })\n\t\n\t/** Reference to Lord/Land/Node. May be absolute or relative. */\n\texport type $hyoo_crus_ref = typeof $hyoo_crus_ref.Value\n\n\t/** returns string if it's valid ref or return empty string */\n\texport function $hyoo_crus_ref_check( val: string ) {\n\t\ttry {\n\t\t\t$hyoo_crus_ref( val )\n\t\t\treturn val\n\t\t} catch {\n\t\t\treturn ''\n\t\t}\n\t}\n\t\n\t/** Lord ref of any ref */\n\texport function $hyoo_crus_ref_lord( ref: $hyoo_crus_ref ) {\n\t\treturn $hyoo_crus_ref( ref.description!.split( '_' ).slice( 0, 2 ).join( '_' ) )\n\t}\n\n\t/** Land ref of any ref */\n\texport function $hyoo_crus_ref_land( ref: $hyoo_crus_ref ) {\n\t\treturn $hyoo_crus_ref( ref.description!.split( '_' ).slice( 0, 3 ).join( '_' ).replace( /_$/, '' ) )\n\t}\n\n\t/** Peer part of Ref */\n\texport function $hyoo_crus_ref_peer( ref: $hyoo_crus_ref ) {\n\t\treturn ref.description!.split( '_' )[ 0 ] ?? ''\n\t}\n\t\n\t/** Area part of Node Ref */\n\texport function $hyoo_crus_ref_area( ref: $hyoo_crus_ref ) {\n\t\treturn ref.description!.split( '_' )[ 2 ] ?? ''\n\t}\n\n\t/** Head part of Node Ref */\n\texport function $hyoo_crus_ref_head( ref: $hyoo_crus_ref ) {\n\t\treturn ref.description!.split( '_' )[ 3 ] ?? ''\n\t}\n\n\t/** Encode to binary (12/18/24 bytes) */\n\texport function $hyoo_crus_ref_encode( ref: $hyoo_crus_ref ) {\n\t\treturn $mol_base64_ae_decode(\n\t\t\t( ref.description! || '_' )\n\t\t\t\t.split( '_' )\n\t\t\t\t.map( numb => numb || 'AAAAAAAA' )\n\t\t\t\t.join( '' )\n\t\t)\n\t}\n\n\t/** Read from binary (12/18 bytes) */\n\texport function $hyoo_crus_ref_decode( bin: Uint8Array ) {\n\t\treturn $hyoo_crus_ref(\n\t\t\t[ ... $mol_base64_ae_encode( bin ).match( /(.{8})/g ) ?? [] ]\n\t\t\t\t.map( numb => numb === 'AAAAAAAA' ? '' : numb )\n\t\t\t\t.join( '_' ).replace( /_+$/, '' )\n\t\t)\n\t}\n\n\t/** Make Node Ref relative to base Land: `___QWERTYUI` */\n\texport function $hyoo_crus_ref_relate( base: $hyoo_crus_ref, ref: $hyoo_crus_ref ) {\n\t\tbase = $hyoo_crus_ref_land( base )\n\t\tif( $hyoo_crus_ref_land( ref ) !== base ) return ref\n\t\tconst head = $hyoo_crus_ref_head( ref )\n\t\treturn $hyoo_crus_ref( head ? '___' + head : '' )\n\t}\n\n\t/** Make absolute Node Ref from relative (`___QWERTYUI`) using base Land Ref. */\n\texport function $hyoo_crus_ref_resolve( base: $hyoo_crus_ref, ref: $hyoo_crus_ref ) {\n\t\t\n\t\tif( !ref.description ) return $hyoo_crus_ref_land( base )\n\t\tif( !ref.description!.startsWith( '___' ) ) return ref\n\t\t\n\t\tconst parts = base.description!.split( '_' ).slice( 0, 3 )\n\t\twhile( parts.length < 3 ) parts.push( '' )\n\t\tparts.push( ref.description!.slice( 3 ) )\n\t\t\n\t\treturn $hyoo_crus_ref( parts.join( '_' ) )\n\t}\t\n\n}\n","namespace $ {\n\t/** Reactive Set */\n\texport class $mol_wire_set< Value > extends Set< Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( value: Value ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( value )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, value2: Value, set: Set< Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tadd( value: Value ) {\n\t\t\tif( super.has( value ) ) return this\n\t\t\tsuper.add( value )\n\t\t\tthis.pub.emit()\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( value: Value ) {\n\t\t\tconst res = super.delete( value )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\n\t\t// Extensions\n\t\t\n\t\titem( val: Value, next?: boolean ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.has( val )\n\t\t\t\n\t\t\tif( next ) this.add( val )\n\t\t\telse this.delete( val )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crus_part {\n\t\t\n\t\t/** Land header for the following parts. */\n\t\tland = 0b0000_0011,\n\t\t/** Land face. */\n\t\tface = 0b0000_1011,\n\t\t\n\t\t/** Public key. First writes wins. */\n\t\tpass = 0b1111_1111,\n\t\t/** Rights/Keys sharing. Last writes wins. */\n\t\tgift = 0b1111_0111,\n\t\t\n\t\t/** Changeable data. Last writes wins. */\n\t\tsand = 0b0000_1000,\n\t\t\n\t\t/** Blob response. */\n\t\trock = 0b0000_0101,\n\t\t\n\t\t/** B+Tree root bucket. */\n\t\troot = 0b0000_0001,\n\t\t/** B+Tree branch bucket. */\n\t\tbuck = 0b0000_1001,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_buffer extends DataView< ArrayBuffer > {\n\t\t\n\t\t[ Symbol.toStringTag ] = this.constructor.name + '<>'\n\t\t\n\t\tstatic from<\n\t\t\tThis extends typeof $mol_buffer\n\t\t>(\n\t\t\tthis: This,\n\t\t\tarray: number | string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\tif( typeof array === 'number' ) array = new Uint8Array( array )\n\t\t\tif( typeof array === 'string' ) array = $mol_base64_ae_decode( array )\n\t\t\treturn new this( array.buffer, array.byteOffset, array.byteLength ) as InstanceType< This >\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tgetUint48( offset: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\treturn this.getUint16( offset, LE ) + this.getUint32( offset + 2, LE ) * 2**16\n\t\t\t} else {\n\t\t\t\treturn this.getUint32( offset, LE ) + this.getUint16( offset + 4, LE ) * 2**32\n\t\t\t}\n\t\t}\n\t\t\n\t\tsetUint48( offset: number, value: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\tthis.setUint16( offset, value & ( (1<<16) - 1 ), LE )\n\t\t\t\tthis.setUint32( offset + 2, ( value / 2**16 )|0, LE )\n\t\t\t} else {\n\t\t\t\tthis.setUint32( offset, value |0, LE )\n\t\t\t\tthis.setUint16( offset + 4, ( value / 2**32 )|0, LE )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** 1-byte signed integer channel for offset. */\n\t\tint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt8( offset )\n\t\t\tif( next >= -(2**7) && next < 2**7 ) return this.setInt8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong int8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 1-byte unsigned integer channel for offset. */\n\t\tuint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint8( offset )\n\t\t\tif( next >= 0 && next < 2**8 ) return this.setUint8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong uint8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte signed integer little-endian channel for offset. */\n\t\tint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt16( offset, true )\n\t\t\tif( next >= -(2**15) && next < 2**15 ) return this.setInt16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte unsigned integer little-endian channel for offset. */\n\t\tuint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint16( offset, true )\n\t\t\tif( next >= 0 && next < 2**16 ) return this.setUint16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 4-byte signed integer little-endian channel for offset. */\n\t\tint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt32( offset, true )\n\t\t\tif( next >= -(2**31) && next < 2**31 ) return this.setInt32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int32 value ${ next }` ) )\n\t\t}\n\t\n\t\t/** 4-byte unsigned integer little-endian channel for offset. */\n\t\tuint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint32( offset, true )\n\t\t\tif( next >= 0 && next < 2**32 ) return this.setUint32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint32 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte signed integer little-endian channel for offset. */\n\t\tint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigInt64( offset, true )\n\t\t\tif( next >= -(2n**63n) && next < 2n**63n ) return this.setBigInt64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 6-byte unsigned integer little-endian channel for offset. */\n\t\tuint48( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint48( offset, true )\n\t\t\tif( next >= 0 && next < 2**48 ) return this.setUint48( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint48 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte unsigned integer little-endian channel for offset. */\n\t\tuint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigUint64( offset, true )\n\t\t\tif( next >= 0n && next < 2n**64n ) return this.setBigUint64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 4-byte float little-endian channel for offset. */\n\t\tfloat32( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat32( offset, next, true )\n\t\t\treturn this.getFloat32( offset, true )\n\t\t}\n\t\t\n\t\t/** 8-byte float little-endian channel for offset. */\n\t\tfloat64( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat64( offset, next, true )\n\t\t\treturn this.getFloat64( offset, true )\n\t\t}\n\t\t\n\t\t/** A Uint8Array view for the same buffer. */\n\t\tasArray() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset, this.byteLength )\n\t\t}\n\t\t\n\t\t/** base64ae string from buffer. */\n\t\ttoString() {\n\t\t\treturn $mol_base64_ae_encode( this.asArray() )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","namespace $ {\n\n\ttype Guard_value<\n\t\tFuncs extends $mol_type_unary[] ,\n\t\tIndex extends keyof Funcs\n\t> = $mol_type_param<\n\t\tIndex extends keyof $mol_type_tail< Funcs >\n\t\t\t? $mol_type_tail< Funcs >[ Index ]\n\t\t\t: any ,\n\t\t0\n\t>\n\n\ttype Guard<\n\t\tFuncs extends $mol_type_unary[]\n\t> = {\n\t\t[ Index in keyof Funcs ] : (\n\t\t\tFuncs[Index] extends $mol_type_unary_func\n\t\t\t\t? (\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t\t\t: new(\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t)\n\t}\n\n\t/**\n\t * Combines list of unary functions/classes to one function.\n\t * \n\t * \tconst reparse = $mol_data_pipe( JSON.stringify , JSON.parse )\n\t **/\n\texport function $mol_data_pipe<\n\t\tFuncs extends $mol_type_unary[]\n\t>(\n\t\t... funcs : Funcs & Guard< Funcs >\n\t) {\n\n\t\treturn $mol_data_setup(\n\t\t\tfunction( this: any, input : $mol_type_param< Funcs[0] , 0 > ) {\n\t\t\t\tlet value : any = input\n\t\t\t\tfor( const func of funcs ) value = $mol_func_is_class( func ) ? new func( value ) : ( func as any ).call( this, value )\n\t\t\t\treturn value as $mol_type_result<\n\t\t\t\t\t$mol_type_foot< Funcs >\n\t\t\t\t>\n\t\t\t},\n\t\t\t{ funcs }\n\t\t)\n\n\t}\n\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\te.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\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 class $mol_data_error extends $mol_error_mix {}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for integer and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_integer_demo\n\t */\n\texport function $mol_data_integer( val : number ) {\n\n\t\tconst val2 = $mol_data_number( val )\n\t\tif( Math.floor( val2 ) === val2 ) return val2\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an integer` ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport const { $hyoo_crus_rank } = $mol_data_tagged({\n\t\t$hyoo_crus_rank: $mol_data_pipe(\n\t\t\t$mol_data_integer,\n\t\t\t( rank: number )=> {\n\t\t\t\tif( rank >= $hyoo_crus_rank_deny && rank <= $hyoo_crus_rank_rule ) return rank\n\t\t\t\t$mol_fail( new $mol_data_error( `${rank} is out of Ran range` ) )\n\t\t\t}\n\t\t),\n\t}) \n\t\n\t/** Makes Rank from Tier and Fame names. */\n\texport function $hyoo_crus_rank_make(\n\t\ttier: keyof typeof $hyoo_crus_rank_tier,\n\t\tfame: keyof typeof $hyoo_crus_rank_rate,\n\t) {\n\t\treturn ( $hyoo_crus_rank_tier[ tier ] | $hyoo_crus_rank_rate[ fame ] ) as typeof $hyoo_crus_rank.Value\n\t}\n\n\t/** Access level: deny, read, join, post, rule */\n\texport enum $hyoo_crus_rank_tier {\n\n\t\t/** Forbidden. There is no access, neither read nor write. */\n\t\tdeny = 0b0_0000_0000,\n\n\t\t/** Read only */\n\t\tread = 0b0_0001_0000,\n\n\t\t/** Join only (Pass) */\n\t\tjoin = 0b0_0011_0000,\n\n\t\t/** Post changes (Pass, Sand) */\n\t\tpost = 0b0_0111_0000,\n\n\t\t/** Full control (Pass, Sand, Gift) */\n\t\trule = 0b0_1111_0000,\n\n\t}\n\n\t/** Ease of making changes, depends on fame: evil, harm, even, nice, good */\n\texport enum $hyoo_crus_rank_rate {\n\n\t\t/** Very hard challenge. Minutes to put. */\n\t\tlate = 0b0_0000,\n\t\t\n\t\t/** Hard challendge. Tens seconds to put. */\n\t\tlong = 0b0_0011,\n\n\t\t/** Required some work to prevent spam. Seconds to put. */\n\t\tslow = 0b0_0111,\n\n\t\t/** Slow mode. Hundred milliseconds to put. */\n\t\tfast = 0b0_1011,\n\n\t\t/** No work required. As fast as possble. Milliseconds to put. */\n\t\tjust = 0b0_1111,\n\n\t}\n\t\n\texport const $hyoo_crus_rank_deny = $hyoo_crus_rank_make( 'deny', 'late' )\n\texport const $hyoo_crus_rank_read = $hyoo_crus_rank_make( 'read', 'late' )\n\texport const $hyoo_crus_rank_rule = $hyoo_crus_rank_make( 'rule', 'just' )\n\t\n\texport function $hyoo_crus_rank_join(\n\t\trate: keyof typeof $hyoo_crus_rank_rate\n\t) {\n\t\treturn $hyoo_crus_rank_make( 'join', rate )\n\t}\n\n\texport function $hyoo_crus_rank_post(\n\t\trate: keyof typeof $hyoo_crus_rank_rate\n\t) {\n\t\treturn $hyoo_crus_rank_make( 'post', rate )\n\t}\n\n\t/** Mapping Auth to Rank */\n\texport type $hyoo_crus_rank_preset = Record< string, typeof $hyoo_crus_rank.Value >\n\n}\n","namespace $ {\n\t\n\texport function $mol_base64_url_encode( buffer: Uint8Array ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=/g, '' )\n\t}\n\t\n\texport function $mol_base64_url_decode( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /-/g, '+' ).replace( /_/g, '/' ) )\n\t}\n\t\n}\n","namespace $ {\n\texport var $mol_crypto_native = crypto\n}\n","namespace $ {\n\t\n\t/** Derived debuggable error with stack */\n\texport function $mol_crypto_restack( error: any ): never {\n\t\terror = new Error( error instanceof Error ? error.message : String( error ), { cause: error } )\n\t\t$mol_fail_hidden( error )\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst ecdsa = {\n\t\tname: 'ECDSA',\n\t\thash: 'SHA-1',\n\t\tnamedCurve: \"P-256\",\n\t}\n\t\n\tconst ecdh = { name: \"ECDH\", namedCurve: \"P-256\" }\n\tconst jwk = { crv: 'P-256', ext: true, kty: 'EC' }\n\t\n\texport class $mol_crypto_key extends $mol_buffer {\n\t\t\n\t\tstatic from< This extends typeof $mol_crypto_key >(\n\t\t\tthis: This,\n\t\t\tserial: number | string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array([\n\t\t\t\t\t... $mol_base64_url_decode( serial.slice( 0, 43 ) ),\n\t\t\t\t\t... $mol_base64_url_decode( serial.slice( 43, 86 ) ),\n\t\t\t\t\t... $mol_base64_url_decode( serial.slice( 86, 129 ) ),\n\t\t\t\t]) as Uint8Array< ArrayBuffer >\n\t\t\t}\n\t\t\t\n\t\t\treturn super.from( serial ) as InstanceType< This >\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\tconst arr = this.asArray()\n\t\t\treturn $mol_base64_url_encode( arr.subarray( 0, 32 ) )\n\t\t\t\t+ $mol_base64_url_encode( arr.subarray( 32, 64 ) )\n\t\t\t\t+ $mol_base64_url_encode( arr.subarray( 64 ) )\n\t\t}\n\t\t\n\t}\n\t\n\texport class $mol_crypto_key_public extends $mol_crypto_key {\n\t\t\n\t\tstatic size_str = 86\n\t\tstatic size_bin = 64\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\tconst str = this.toString()\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'verify' ],\n\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\tx: str.slice( 0, 43 ),\n\t\t\t\t\ty: str.slice( 43, 86 ),\n\t\t\t\t},\n\t\t\t\tecdsa,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'verify' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native_derive() {\n\t\t\t\n\t\t\tconst serial = this.toString()\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [],\n\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\ttrue,\n\t\t\t\t[],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\tasync verify( data: BufferSource, sign: BufferSource ) {\n\t\t\treturn await $mol_crypto_native.subtle.verify(\n\t\t\t\tecdsa,\n\t\t\t\tawait this.native(),\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t).catch( $mol_crypto_restack )\n\t\t}\n\t\t\n\t}\n\t\n\texport class $mol_crypto_key_private extends $mol_crypto_key {\n\t\t\n\t\tstatic size_str = 129\n\t\tstatic size_bin = 96\n\t\tstatic size_sign = 64\n\t\t\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\t\tecdsa,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign', 'verify' ]\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst { x, y, d } = await $mol_crypto_native.subtle.exportKey( 'jwk', pair.privateKey ).catch( $mol_crypto_restack )\n\t\t\treturn this.from( x + y! + d! )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\tconst str = this.toString()\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'sign' ],\n\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\tx: str.slice( 0, 43 ),\n\t\t\t\t\ty: str.slice( 43, 86 ),\n\t\t\t\t\td: str.slice( 86, 129 ),\n\t\t\t\t},\n\t\t\t\tecdsa,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native_derive() {\n\t\t\t\n\t\t\tconst serial = this.toString()\n\t\t\t\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [ 'deriveKey', 'deriveBits' ],\n\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\td: serial.slice( 86, 129 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'deriveKey', 'deriveBits' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tpublic() {\n\t\t\treturn new $mol_crypto_key_public( this.asArray().slice( 0, 64 ).buffer )\n\t\t}\n\t\t\n\t\tasync sign( data: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.sign(\n\t\t\t\tecdsa,\n\t\t\t\tawait this.native(),\n\t\t\t\tdata\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** 16 byte */\n\texport function $mol_crypto_salt() {\n\t\treturn $mol_crypto_native.getRandomValues(\n\t\t\tnew Uint8Array( 16 )\n\t\t)\n\t}\n\t\n\t/** 16 byte */\n\texport const $mol_crypto_salt_once = new Uint8Array(\n\t\t[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]\n\t)\n\t\n}\n","namespace $ {\n\t\n\ttype BufferSource = ArrayBufferView< ArrayBuffer > | ArrayBuffer\n\t\n\t/** Symmetric cipher with shortest payload. */\n\texport class $mol_crypto_sacred extends $mol_buffer {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 16 as const\n\t\t\n\t\t/** Makes new random secret. */\n\t\tstatic make() {\n\t\t\treturn this.from( $mol_crypto_salt() )\n\t\t}\n\t\t\n\t\t/** Makes from string of buffer view. */\n\t\tstatic from< This extends typeof $mol_buffer >(\n\t\t\tthis: This,\n\t\t\tserial: string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array([\n\t\t\t\t\t... $mol_base64_url_decode( serial ),\n\t\t\t\t]) as Uint8Array< ArrayBuffer >\n\t\t\t}\n\t\t\t\n\t\t\tif(!( serial instanceof Uint8Array )) {\n\t\t\t\tserial = new Uint8Array( serial.buffer, serial.byteOffset, serial.byteLength )\n\t\t\t}\n\t\t\t\n\t\t\t;( serial as Uint8Array )[0] = 0xFF\n\t\t\t\n\t\t\tconst sacred = super.from( serial ) as InstanceType< This >\n\t\t\n\t\t\treturn sacred\n\t\t}\n\t\t\n\t\tstatic async from_native( native: CryptoKey ) {\n\t\t\t\n\t\t\tconst buf = await $mol_crypto_native.subtle.exportKey( 'raw', native ).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst sacred = this.from( new Uint8Array( buf ) )\n\t\t\tsacred._native = native as CryptoKey & { type: 'secret' }\n\t\t\t\n\t\t\treturn sacred\n\t\t}\n\t\t\n\t\tconstructor( buffer: ArrayBuffer, byteOffset?: number, byteLength?: number ) {\n\t\t\tsuper( buffer, byteOffset, byteLength )\n\t\t\tif( this.getUint8( 0 ) !== 0xFF ) $mol_fail( new Error( 'Buffer should starts with 0xFF byte' ) )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn $mol_base64_url_encode( this.asArray() )\n\t\t}\n\t\t\n\t\t_native: undefined | CryptoKey & { type: 'secret' }\n\t\t/** Native crypto secret */\n\t\tasync native() {\n\t\t\treturn this._native ?? ( this._native = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'raw',\n\t\t\t\tthis,\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t).catch( $mol_crypto_restack ) as CryptoKey & { type: 'secret' } )\n\t\t}\n\t\t\n\t\t/** Encrypt any binary message. 16n bytes */\n\t\tasync encrypt( open: BufferSource, salt: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.encrypt(\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t\ttagLength: 32,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tawait this.native(),\n\t\t\t\topen\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t\t/** Decrypt any binary message. */\n\t\tasync decrypt( closed: BufferSource, salt : BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.decrypt(\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t\ttagLength: 32,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tawait this.native(),\n\t\t\t\tclosed\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t\t/** Encrypts Sacred. 16 bytes */\n\t\tasync close( sacred: DataView< ArrayBuffer >, salt: BufferSource ) {\n\t\t\tif( sacred.getUint8(0) !== 0xFF ) throw new Error( 'Closable buffer should starts with 0xFF' )\n\t\t\tconst buf = new Uint8Array( sacred.buffer, sacred.byteOffset + 1, sacred.byteLength - 1 )\n\t\t\treturn this.encrypt( buf, salt )\n\t\t}\n\t\t\n\t\t/** Decrypts Sacred. 16 bytes */\n\t\tasync open( buf: Uint8Array< ArrayBuffer >, salt: BufferSource ) {\n\t\t\tconst buf2 = new Uint8Array( 16 )\n\t\t\tbuf2[0] = 0xFF\n\t\t\tbuf2.set( await this.decrypt( buf, salt ), 1 )\n\t\t\treturn buf2\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\tconst algorithm = {\n\t\tname: 'AES-CBC',\n\t\tlength: 128,\n\t\ttagLength: 32,\n\t}\n\t\n\t/**\n\t * Symmetric cipher with shortest payload.\n\t * @deprecated Use $mol_crypto_sacred.\n\t */\n\texport class $mol_crypto_secret extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 16\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'secret' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.generateKey(\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'encrypt', 'decrypt' ]\n\t\t\t\t) as CryptoKey & { type: 'secret' }\n\t\t\t)\n\t\t}\n\t\t\n\t\tstatic async from( serial: BufferSource ) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'raw',\n\t\t\t\t\tserial,\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t\t) as CryptoKey & { type: 'secret' }\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async pass( pass: string, salt: Uint8Array< ArrayBuffer > ) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.deriveKey(\n\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"PBKDF2\",\n\t\t\t\t\t\tsalt,\n\t\t\t\t\t\titerations: 10_000,\n\t\t\t\t\t\thash: \"SHA-256\",\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t\t\"raw\",\n\t\t\t\t\t\t$mol_charset_encode( pass ),\n\t\t\t\t\t\t\"PBKDF2\",\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t[ \"deriveKey\" ],\n\t\t\t\t\t),\n\t\t\t\t\t\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t\t\t\n\t\t\t\t) as CryptoKey & { type: 'secret' }\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async derive( private_serial: string, public_serial: string ) {\n\t\t\t\n\t\t\tconst ecdh = { name: \"ECDH\", namedCurve: \"P-256\" }\n\t\t\tconst jwk = { crv: 'P-256', ext: true, kty: 'EC' }\n\t\t\t\n\t\t\tconst private_key = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [ 'deriveKey' ],\n\t\t\t\t\tx: private_serial.slice( 0, 43 ),\n\t\t\t\t\ty: private_serial.slice( 43, 86 ),\n\t\t\t\t\td: private_serial.slice( 86, 129 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\ttrue,\n\t\t\t\t[ 'deriveKey' ],\n\t\t\t)\n\t\t\n\t\t\tconst public_key = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [],\n\t\t\t\t\tx: public_serial.slice( 0, 43 ),\n\t\t\t\t\ty: public_serial.slice( 43, 86 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\ttrue,\n\t\t\t\t[],\n\t\t\t)\n\t\t\t\n\t\t\tconst secret = await $mol_crypto_native.subtle.deriveKey(\n\t\t\t\t{\n\t\t\t\t name: \"ECDH\",\n\t\t\t\t public: public_key,\n\t\t\t\t},\n\t\t\t\tprivate_key,\n\t\t\t\talgorithm,\n\t\t\t\ttrue,\n\t\t\t\t[ \"encrypt\", \"decrypt\" ],\n\t\t\t)\n\t\t\n\t\t\treturn new this( secret as CryptoKey & { type: 'secret' } )\n\t\t}\n\t\t\n\t\t/** 16 bytes */\n\t\tasync serial() {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'raw',\n\t\t\t\tthis.native,\n\t\t\t) )\n\t\t}\n\n\t\t/** 16n bytes */\n\t\tasync encrypt( open: BufferSource, salt: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.encrypt(\n\t\t\t\t{\n\t\t\t\t\t... algorithm,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tthis.native,\n\t\t\t\topen\n\t\t\t) )\n\t\t}\n\t\t\n\t\tasync decrypt( closed: BufferSource, salt : BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.decrypt(\n\t\t\t\t{\n\t\t\t\t\t... algorithm,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tthis.native,\n\t\t\t\tclosed\n\t\t\t) )\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Private key generated with Proof of Work */\n\texport class $hyoo_crus_auth extends $mol_crypto_key_private {\n\t\t\n\t\t/** Current Private key generated with Proof of Work */\n\t\t@ $mol_mem\n\t\tstatic current( next?: $hyoo_crus_auth | null ) {\n\t\t\t\n\t\t\t$mol_wire_solid()\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst key = String( $mol_state_local.value( '$hyoo_crus_auth' ) ?? '' )\n\t\t\t\tif( key ) return $hyoo_crus_auth.from( key )\n\t\t\t}\n\t\t\t\n\t\t\tif( !next ) next = this.grab()\n\t\t\t\n\t\t\t$mol_state_local.value( '$hyoo_crus_auth', next.toString() )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic embryos = [] as string[]\n\t\t\n\t\t@ $mol_action\n\t\tstatic grab() {\n\t\t\tif( this.embryos.length ) return this.from( this.embryos.pop()! )\n\t\t\treturn $mol_wire_sync( this as typeof $hyoo_crus_auth ).generate()\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\tfor( let i = 0; i < 4096; ++i ) {\n\t\t\t\tconst auth = await super.generate()\n\t\t\t\tif( auth.uint8(0) !== $hyoo_crus_unit_kind.pass ) continue\n\t\t\t\treturn this.from( auth )\n\t\t\t}\n\t\t\t$mol_fail( new Error( `Too long key generation` ) )\n\t\t}\n\t\t\n\t\t/** Independent actor with global unique id generated from Auth key */\n\t\t@ $mol_memo.method\n\t\tlord() {\n\t\t\treturn $hyoo_crus_ref_decode( new Uint8Array( this.buffer, 2, 12 ) )\n\t\t}\n\t\t\n\t\t/** Land local unique identifier of independent actor (first half of Lord) */\n\t\t@ $mol_memo.method\n\t\tpeer() {\n\t\t\treturn $mol_base64_ae_encode( new Uint8Array( this.buffer, 2, 6 ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsecret_mutual( pub: string ) {\n\t\t\treturn $mol_wire_sync( $mol_crypto_secret ).derive( this.toString(), pub.toString() )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_time_base {\n\n\t\tstatic patterns = {} as Record< string , ( arg : any )=> string >\n\n\t\tstatic formatter( pattern : string ) {\n\n\t\t\tif( this.patterns[ pattern ] ) return this.patterns[ pattern ]\n\n\t\t\tvar tokens = Object.keys( this.patterns )\n\t\t\t\t.sort()\n\t\t\t\t.reverse()\n\t\t\t\t.map( ( token : string ) => token.replace( /([-+*.\\[\\]()\\^])/g , '\\\\$1' ) )\n\t\t\tvar lexer = RegExp( '(.*?)(' + tokens.join( '|' ) + '|$)', 'g' )\n\n\t\t\tvar funcs = [] as ( ( arg : any )=> string )[]\n\n\t\t\tpattern.replace( lexer, ( str : string , text : string , token : string ) => {\n\t\t\t\tif( text ) funcs.push( () => text )\n\t\t\t\tif( token ) funcs.push( this.patterns[ token ] )\n\t\t\t\treturn str\n\t\t\t} )\n\n\t\t\treturn this.patterns[ pattern ] = ( arg : any )=> {\n\t\t\t\treturn funcs.reduce( ( res , func )=> res + func( arg ) , '' )\n\t\t\t}\n\t\t\n\t\t}\n\n\t\ttoString( pattern : string ) : string {\n\t\t\tconst Base = this.constructor as typeof $mol_time_base\n\t\t\tconst formatter = Base.formatter( pattern )\n\t\t\treturn formatter( this )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_time_duration_config = number | string | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time duration representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_duration extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_duration_config = 0 ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tif( !Number.isFinite( config ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t\tthis.second = config / 1000\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( config === 'Z' ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.hour = 0\n\t\t\t\t\tthis.minute = 0\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tduration: {\n\t\t\t\t\tconst parser = /^(-?)P(?:([+-]?\\d+(?:\\.\\d+)?)Y)?(?:([+-]?\\d+(?:\\.\\d+)?)M)?(?:([+-]?\\d+(?:\\.\\d+)?)D)?(?:T(?:([+-]?\\d+(?:\\.\\d+)?)h)?(?:([+-]?\\d+(?:\\.\\d+)?)m)?(?:([+-]?\\d+(?:\\.\\d+)?)s)?)?$/i\n\t\t\t\t\t\n\t\t\t\t\tconst found = parser.exec( config )\n\t\t\t\t\tif( !found ) break duration\n\t\t\t\t\t\t\n\t\t\t\t\tconst sign = found[1] ? -1 : 1\n\t\t\t\t\tif( found[2] ) this.year = sign * Number( found[2] )\n\t\t\t\t\tif( found[3] ) this.month = sign * Number( found[3] )\n\t\t\t\t\tif( found[4] ) this.day = sign * Number( found[4] )\n\t\t\t\t\tif( found[5] ) this.hour = sign * Number( found[5] )\n\t\t\t\t\tif( found[6] ) this.minute = sign * Number( found[6] )\n\t\t\t\t\tif( found[7] ) this.second = sign * Number( found[7] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toffset: {\n\t\t\t\t\tvar parser = /^[+-](\\d\\d)(?::?(\\d\\d))?$/i\n\t\t\t\t\t\n\t\t\t\t\tvar found = parser.exec( config )\n\t\t\t\t\tif( !found ) break offset\n\t\t\t\t\t\t\n\t\t\t\t\tif( found[1] ) this.hour = Number( found[1] )\n\t\t\t\t\tif( found[2] ) this.minute = Number( found[2] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthrow new Error( `Can not parse time duration (${ config })` )\n\t\t\t}\n\t\t\t\n\t\t\tthis.year = config.year || 0\n\t\t\tthis.month = config.month || 0\n\t\t\tthis.day = config.day || 0\n\t\t\tthis.hour = config.hour || 0\n\t\t\tthis.minute = config.minute || 0\n\t\t\tthis.second = config.second || 0\n\t\t}\n\n\t\treadonly year : number= 0\n\t\treadonly month : number = 0\n\t\treadonly day : number = 0\n\t\treadonly hour : number = 0\n\t\treadonly minute : number = 0\n\t\treadonly second : number = 0\n\t\t\n\t\tget normal() {\n\t\t\t\n\t\t\tlet second = this.second ?? 0\n\t\t\tlet minute = this.minute ?? 0\n\t\t\tlet hour = this.hour ?? 0\n\t\t\tlet day = this.day ?? 0\n\t\t\t\n\t\t\tminute += Math.floor( second / 60 )\n\t\t\tsecond = second % 60\n\t\t\t\n\t\t\thour += Math.floor( minute / 60 )\n\t\t\tminute = minute % 60\n\t\t\t\n\t\t\tday += Math.floor( hour / 24 )\n\t\t\thour = hour % 24\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear: this.year,\n\t\t\t\tmonth: this.month,\n\t\t\t\tday: day,\n\t\t\t\thour: hour,\n\t\t\t\tminute: minute,\n\t\t\t\tsecond: second,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\tsumm( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year + duration.year ,\n\t\t\t\tmonth : this.month + duration.month ,\n\t\t\t\tday : this.day + duration.day ,\n\t\t\t\thour : this.hour + duration.hour ,\n\t\t\t\tminute : this.minute + duration.minute ,\n\t\t\t\tsecond : this.second + duration.second ,\n\t\t\t})\n\t\t}\n\n\t\tmult( numb : number ) {\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year && this.year * numb ,\n\t\t\t\tmonth : this.month && this.month * numb ,\n\t\t\t\tday : this.day && this.day * numb ,\n\t\t\t\thour : this.hour && this.hour * numb ,\n\t\t\t\tminute : this.minute && this.minute * numb ,\n\t\t\t\tsecond : this.second && this.second * numb ,\n\t\t\t})\n\t\t}\n\n\t\tcount( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\treturn this.valueOf() / duration.valueOf()\n\t\t}\n\n\t\tvalueOf() {\n\t\t\tvar day = this.year * 365 + this.month * 30.4 + this.day\n\t\t\tvar second = ( ( day * 24 + this.hour ) * 60 + this.minute ) * 60 + this.second\n\t\t\treturn second * 1000\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'P#Y#M#DT#h#m#s' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\tstatic patterns = {\n\n\t\t\t'#Y' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.year ) return ''\n\t\t\t\treturn duration.year + 'Y'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#M' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.month ) return ''\n\t\t\t\treturn duration.month + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#D' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.day ) return ''\n\t\t\t\treturn duration.day + 'D'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#h' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.hour ) return ''\n\t\t\t\treturn duration.hour + 'H'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#m' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.minute ) return ''\n\t\t\t\treturn duration.minute + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#s' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.second ) return ''\n\t\t\t\treturn duration.second + 'S'\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\t// if( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport enum $mol_time_moment_weekdays {\n\t\tmonday,\n\t\ttuesday,\n\t\twednesday,\n\t\tthursday,\n\t\tfriday,\n\t\tsaturday,\n\t\tsunday\n\t}\n\t\n\texport type $mol_time_moment_config = number | Date | string | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t\toffset? : $mol_time_duration_config\n\t}\n\t\n\tfunction numb( str: string, max: number ) {\n\t\tconst numb = Number( str )\n\t\tif( numb < max ) return numb\n\t\t$mol_fail( new Error( `Wrong time component ${ str }` ) )\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time moment representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_moment extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_moment_config = new Date ) {\n\t\t\t\n\t\t\tsuper()\n\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tconfig = new Date( config )\n\t\t\t\tif( Number.isNaN( config.valueOf() ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tconst parsed = /^(?:(\\d\\d?\\d?\\d?)(?:-?(\\d\\d?)(?:-?(\\d\\d?))?)?)?(?:[T ](?:(\\d\\d?)(?::?(\\d\\d?)(?::?(\\d\\d?(?:\\.\\d+)?))?)?)?(Z|[\\+\\-]\\d\\d?(?::?(?:\\d\\d?)?)?)?)?$/.exec( config )\n\t\t\t\tif( !parsed ) throw new Error( `Can not parse time moment (${ config })` )\n\n\t\t\t\tif( parsed[1] ) this.year = numb( parsed[1], 9999 )\n\t\t\t\tif( parsed[2] ) this.month = numb( parsed[2], 13 ) - 1\n\t\t\t\tif( parsed[3] ) this.day = numb( parsed[3], 32 ) - 1\n\t\t\t\tif( parsed[4] ) this.hour = numb( parsed[4], 60 )\n\t\t\t\tif( parsed[5] ) this.minute = numb( parsed[5], 60 )\n\t\t\t\tif( parsed[6] ) this.second = numb( parsed[6], 60 )\n\t\t\t\tif( parsed[7] ) this.offset = new $mol_time_duration( parsed[7] )\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Date ) {\n\t\t\t\t\n\t\t\t\tthis.year = config.getFullYear()\n\t\t\t\tthis.month = config.getMonth()\n\t\t\t\tthis.day = config.getDate() - 1\n\t\t\t\tthis.hour = config.getHours()\n\t\t\t\tthis.minute = config.getMinutes()\n\t\t\t\tthis.second = config.getSeconds() + config.getMilliseconds() / 1000\n\t\t\t\t\n\t\t\t\tconst offset = - config.getTimezoneOffset()\n\t\t\t\tthis.offset = new $mol_time_duration({\n\t\t\t\t\thour : ( offset < 0 ) ? Math.ceil( offset / 60 ) : Math.floor( offset / 60 ) ,\n\t\t\t\t\tminute : offset % 60\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.year = config.year\n\t\t\tthis.month = config.month\n\t\t\tthis.day = config.day\n\t\t\tthis.hour = config.hour\n\t\t\tthis.minute = config.minute\n\t\t\tthis.second = config.second\n\t\t\t\n\t\t\tthis.offset = config.offset == null ? config.offset as undefined : new $mol_time_duration( config.offset ) \n\n\t\t}\n\n\t\treadonly year : number | undefined\n\t\treadonly month : number | undefined\n\t\treadonly day : number | undefined\n\t\treadonly hour : number | undefined\n\t\treadonly minute : number | undefined\n\t\treadonly second : number | undefined\n\t\treadonly offset : $mol_time_duration | undefined\n\n\t\tget weekday() {\n\t\t\treturn ( this.native.getDay() + 6 ) % 7\n\t\t}\n\n\t\t_native : Date | undefined\n\t\tget native() {\n\t\t\t\n\t\t\tif( this._native ) return this._native\n\t\t\t\n\t\t\tconst second = Math.floor( this.second ?? 0 )\n\t\t\t\n\t\t\tconst current = new Date()\n\t\t\t\n\t\t\tconst native = new Date(\n\t\t\t\tthis.year ?? current.getFullYear() ,\n\t\t\t\tthis.month ?? ( this.year === undefined ? current.getMonth() : 0 ),\n\t\t\t\t( this.day ?? ( this.year === undefined && this.month === undefined ? current.getDate() - 1 : 0 ) ) + 1 ,\n\t\t\t\tthis.hour ?? 0 ,\n\t\t\t\tthis.minute ?? 0 ,\n\t\t\t\tsecond,\n\t\t\t\tMath.floor( ( ( this.second ?? 0 ) - second ) * 1000 ),\n\t\t\t)\n\t\t\t\n\t\t\tconst offset = - native.getTimezoneOffset()\n\t\t\tshift: if( this.offset ) {\n\t\t\t\tconst target = this.offset.count( 'PT1m' )\n\t\t\t\tif( target === offset ) break shift\n\t\t\t\tnative.setMinutes( native.getMinutes() + offset - target )\n\t\t\t}\n\t\t\t\n\t\t\treturn this._native = native\n\t\t}\n\n\t\t_normal : $mol_time_moment | undefined\n\t\tget normal() {\n\t\t\tif( this._normal ) return this._normal\n\t\t\t\n\t\t\tconst moment = new $mol_time_moment( this.native ).toOffset( this.offset )\n\t\t\t\n\t\t\treturn this._normal = new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : moment.year ,\n\t\t\t\tmonth : this.month === undefined ? undefined : moment.month ,\n\t\t\t\tday : this.day === undefined ? undefined : moment.day ,\n\t\t\t\thour : this.hour === undefined ? undefined : moment.hour ,\n\t\t\t\tminute : this.minute === undefined ? undefined : moment.minute ,\n\t\t\t\tsecond : this.second === undefined ? undefined : moment.second ,\n\t\t\t\toffset : this.offset === undefined ? undefined : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tmerge( config : $mol_time_moment_config ) {\n\t\t\tconst moment = new $mol_time_moment( config )\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : moment.year === undefined ? this.year : moment.year ,\n\t\t\t\tmonth : moment.month === undefined ? this.month : moment.month ,\n\t\t\t\tday : moment.day === undefined ? this.day : moment.day ,\n\t\t\t\thour : moment.hour === undefined ? this.hour : moment.hour ,\n\t\t\t\tminute : moment.minute === undefined ? this.minute : moment.minute ,\n\t\t\t\tsecond : moment.second === undefined ? this.second : moment.second ,\n\t\t\t\toffset : moment.offset === undefined ? this.offset : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tshift( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst moment = new $mol_time_moment().merge({\n\t\t\t\tyear: this.year ?? 0,\n\t\t\t\tmonth: this.month ?? 0,\n\t\t\t\tday: this.day ?? 0,\n\t\t\t\thour: this.hour ?? 0,\n\t\t\t\tminute: this.minute ?? 0,\n\t\t\t\tsecond: this.second ?? 0,\n\t\t\t\toffset: this.offset ?? 0\n\t\t\t})\n\n\t\t\tconst second = moment.second! + ( duration.second ?? 0 )\n\t\t\tconst native = new Date(\n\t\t\t\tmoment.year! + ( duration.year ?? 0 ) ,\n\t\t\t\tmoment.month! + ( duration.month ?? 0 ) ,\n\t\t\t\tmoment.day! + 1 + ( duration.day ?? 0 ) ,\n\t\t\t\tmoment.hour! + ( duration.hour ?? 0 ) ,\n\t\t\t\tmoment.minute! + ( duration.minute ?? 0 ) ,\n\t\t\t\tMath.floor( second ) ,\n\t\t\t\t( second - Math.floor( second ) ) * 1000\n\t\t\t)\n\n\t\t\tif( isNaN( native.valueOf() ) ) throw new Error( 'Wrong time' )\n\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : native.getFullYear(),\n\t\t\t\tmonth : this.month === undefined ? undefined : native.getMonth(),\n\t\t\t\tday : this.day === undefined ? undefined : native.getDate() - 1,\n\t\t\t\thour : this.hour === undefined ? undefined : native.getHours(),\n\t\t\t\tminute : this.minute === undefined ? undefined : native.getMinutes(),\n\t\t\t\tsecond : this.second === undefined ? undefined : native.getSeconds() + native.getMilliseconds() / 1000,\n\t\t\t\toffset : this.offset,\n\t\t\t})\n\t\t}\n\n\t\tmask( config : $mol_time_moment_config ) {\n\n\t\t\tconst mask = new $mol_time_moment( config )\n\t\t\t\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : mask.year === undefined ? undefined : this.year ,\n\t\t\t\tmonth : mask.month === undefined ? undefined : this.month ,\n\t\t\t\tday : mask.day === undefined ? undefined : this.day ,\n\t\t\t\thour : mask.hour === undefined ? undefined : this.hour ,\n\t\t\t\tminute : mask.minute === undefined ? undefined : this.minute ,\n\t\t\t\tsecond : mask.second === undefined ? undefined : this.second ,\n\t\t\t\toffset : mask.offset === undefined ? undefined : this.offset ,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\ttoOffset( config: $mol_time_duration_config = new $mol_time_moment().offset! ) {\n\t\t\t\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst offset = this.offset || new $mol_time_moment().offset!\n\t\t\t\n\t\t\tlet with_time = new $mol_time_moment( '0001-01-01T00:00:00' ).merge( this ) \n\t\t \tconst moment = with_time.shift( duration.summ( offset.mult( -1 ) ) )\n\n\t\t\treturn moment.merge({ offset : duration })\n\t\t}\n\n\t\tvalueOf() { return this.native.getTime() }\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'YYYY-MM-DDThh:mm:ss.sssZ' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_accent( this.toString( 'YYYY-MM-DD hh:mm:ss.sss Z' ) ),\n\t\t\t)\n\t\t}\n\n\t\t/// Mnemonics:\n\t\t/// * single letter for numbers: M - month number, D - day of month.\n\t\t/// * uppercase letters for dates, lowercase for times: M - month number , m - minutes number\n\t\t/// * repeated letters for define register count: YYYY - full year, YY - shot year, MM - padded month number\n\t\t/// * words for word representation: Month - month name, WeekDay - day of week name\n\t\t/// * shortcuts: WD - short day of week, Mon - short month name.\n\t\tstatic patterns = {\n\n\t\t\t'YYYY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year )\n\t\t\t} ,\n\t\t\t\n\t\t\t'AD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( Math.floor( moment.year / 100 ) + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'YY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year % 100 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'long' } ) ) ,\n\t\t\t\n\t\t\t'DD Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'short' } ) ) ,\n\t\t\t\n\t\t\t'DD Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'-MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'MM' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( 100 + moment.month + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'M' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( moment.month + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'WeekDay' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'long' } ) ) ,\n\n\t\t\t'WD' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'short' } ) ) ,\n\t\t\t\n\t\t\t'-DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( 100 + moment.day + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'D' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( moment.day + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Thh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn 'T' + $mol_time_moment.patterns[ 'hh' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tif( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t\t'Z' : ( moment : $mol_time_moment )=> {\n\t\t\t\t\n\t\t\t\tconst offset = moment.offset\n\t\t\t\tif( !offset ) return ''\n\t\t\t\t\n\t\t\t\tlet hour = offset.hour\n\n\t\t\t\tlet sign = '+'\n\t\t\t\tif( hour < 0 ) {\n\t\t\t\t\tsign = '-'\n\t\t\t\t\thour = -hour\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn sign + String( 100 + hour ).slice(1) + ':' + String( 100 + offset.minute ).slice(1)\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Moment from time. */\n\texport function $hyoo_crus_time_moment( time: number ) {\n\t\tconst stamp = Math.floor( time / 65536 ) * 1000\n\t\treturn new $mol_time_moment( stamp )\n\t}\n\t\n\t/** Tick from time. */\n\texport function $hyoo_crus_time_tick( time: number ) {\n\t\treturn time % 65536\n\t}\n\t\n\t/** User readable time+tick view. */\n\texport function $hyoo_crus_time_dump( time: number ) {\n\t\treturn $hyoo_crus_time_moment( time ).toString( 'YYYY-MM-DD hh:mm:ss' )\n\t\t+ ' @' + $hyoo_crus_time_tick( time )\n\t}\n\n\t/** Current time with 0 tick. */\n\texport function $hyoo_crus_time_now() {\n\t\treturn now || Math.floor( Date.now() / 1000 ) * 65536\n\t}\n\t\n\tlet now = 0\n\n\t/** Run atomic transaction by temp freezing time. */\n\texport function $hyoo_crus_time_freeze( task: ()=> void ) {\n\n\t\tif( now ) return task()\n\t\t\n\t\tnow = $hyoo_crus_time_now()\n\t\ttry {\n\t\t\treturn task()\n\t\t} finally {\n\t\t\tnow = 0\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport type $hyoo_crus_face_data = Iterable< readonly [ peer: string, time: number ] >\n\t\n\t/** Statistics about Units in Land. it's total Units count & dictionary which maps Peer to Time */\n\texport class $hyoo_crus_face_map extends Map< string, number > {\n\t\t\n\t\t/** Maximum time for all peers. */\n\t\tlast_time = 0\n\t\t\n\t\t/** Total units count in Land. */\n\t\ttotal = 0\n\t\t\n\t\tconstructor(\n\t\t\tentries?: $hyoo_crus_face_data\n\t\t) {\n\t\t\tsuper()\n\t\t\tif( entries ) this.sync( entries )\n\t\t}\n\t\t\n\t\t/** Synchronize this clock with another. */\n\t\tsync( right: $hyoo_crus_face_data ) {\n\t\t\tif( right instanceof $hyoo_crus_face_map ) this.total = right.total\n\t\t\tfor( const [ peer, time ] of right ) this.time_max( peer, time )\n\t\t}\n\t\t\n\t\t/** Update last time for peer. */\n\t\ttime_max(\n\t\t\tpeer: string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\t\n\t\t\tif( this.last_time < time ) this.last_time = time\n\t\t\t\n\t\t\tlet prev = this.get( peer ) ?? 0\n\t\t\tif( prev < time ) this.set( peer, time )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Generates new time for peer that greater then other seen. */\n\t\t@ $mol_action\n\t\ttick() {\n\t\t\treturn this.last_time = Math.max( this.last_time + 1, $hyoo_crus_time_now() )\n\t\t}\n\n\t\t/** Last change moment */\n\t\tlast_moment() {\n\t\t\treturn $hyoo_crus_time_moment( this.last_time )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t$mol_dev_format_shade( ' ', $hyoo_crus_time_dump( this.last_time ) ) ,\n\t\t\t\t$mol_dev_format_shade( ' #', this.total ) ,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t/** reactive Dictionary */\n\texport class $mol_wire_dict< Key, Value > extends Map< Key, Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( key )\n\t\t}\n\t\t\n\t\tget( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.get( key )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, key: Key, dict: Map< Key, Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tset( key: Key, value: Value ) {\n\t\t\tif( super.get( key ) === value ) return this\n\t\t\tsuper.set( key, value )\n\t\t\tthis.pub?.emit() // undefined in constructor\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( key: Key ) {\n\t\t\tconst res = super.delete( key )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\t\t\n\t\t// Extensions\n\t\t\n\t\titem( key: Key, next?: Value | null ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.get( key ) ?? null\n\t\t\t\n\t\t\tif( next === null ) this.delete( key )\n\t\t\telse this.set( key, next )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Registry of nodes as domain entities. */\n\texport class $hyoo_crus_fund< Key, Node > extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\treadonly item_make: ( head: Key )=> Node\n\t\t) { super() }\n\t\t\n\t\t@ $mol_mem_key\n\t\tItem( head: Key ) {\n\t\t\treturn this.item_make( head )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * # Generic Graph model\n\t * - Supports any type of Nodes and Edges.\n\t * - All links are ordered, but this may be ignored.\n\t * - Multigraph supported using arrays of Edges.\n\t * - Hypergraph supported by reusing same Edge on set of links.\n\t * - Ubergraph supported using Edges as Nodes to.\n\t **/\n\texport class $mol_graph< Node , Edge > {\n\t\t\n\t\t/** All registered Nodes */\n\t\tnodes = new Set< Node >()\n\t\t\n\t\t/** Edges for Nodes pairs (from-to-edge) */\n\t\tedges_out = new Map< Node , Map< Node , Edge > >()\n\t\t/** Edges for Nodes pairs (to-from-edge) */\n\t\tedges_in = new Map< Node , Map< Node , Edge > >()\n\t\t\n\t\t// LINKING NODES\n\t\t\n\t\t/** Full connect two Nodes */\n\t\tlink( from : Node , to : Node , edge : Edge ) {\n\t\t\tthis.link_out( from , to , edge )\n\t\t\tthis.link_in( to , from , edge )\n\t\t}\n\t\t\n\t\t/** Full disconnect two Nodes */\n\t\tunlink( from : Node , to : Node ) {\n\t\t\tthis.edges_in.get( to )?.delete( from )\n\t\t\tthis.edges_out.get( from )?.delete( to )\n\t\t}\n\t\t\n\t\t/** Forward connect two Nodes */\n\t\tlink_out( from : Node , to : Node , edge : Edge ) {\n\t\t\t\n\t\t\tlet pair = this.edges_out.get( from )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_out.set( from , pair )\n\t\t\t\tthis.nodes.add( from )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( to , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t/** Backward connect two Nodes */\n\t\tlink_in( to : Node , from : Node , edge : Edge ) {\n\n\t\t\tlet pair = this.edges_in.get( to )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_in.set( to , pair )\n\t\t\t\tthis.nodes.add( to )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( from , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t// GETTING EDGES\n\t\t\n\t\t/** Return any Edge for two Nodes or null */\n\t\tedge( from : Node , to : Node ) {\n\t\t\treturn this.edge_out( from, to ) ?? this.edge_in( to, from )\n\t\t}\n\t\t\n\t\t/** Return output Edge for two Nodes or null */\n\t\tedge_out( from : Node , to : Node ) {\n\t\t\treturn this.edges_out.get( from )?.get( to ) ?? null\n\t\t}\n\t\t\n\t\t/** Return input Edge for two Nodes or null */\n\t\tedge_in( to : Node , from : Node ) {\n\t\t\treturn this.edges_in.get( to )?.get( from ) ?? null\n\t\t}\n\t\t\n\t\t// MUTATIONS\n\t\t\n\t\t/** Cut cycles at lowest priority of Edges */\n\t\tacyclic( get_weight : ( edge : Edge )=> number ) {\n\t\t\t\n\t\t\tconst checked = [] as Node[]\n\t\t\t\n\t\t\tfor( const start of this.nodes ) {\n\t\t\t\t\n\t\t\t\tconst path = [] as Node[]\n\t\t\t\t\n\t\t\t\tconst visit = ( from : Node ) : number => {\n\n\t\t\t\t\tif( checked.includes( from ) ) return Number.MAX_SAFE_INTEGER\n\n\t\t\t\t\tconst index = path.lastIndexOf( from )\n\t\t\t\t\tif( index > -1 ) {\n\n\t\t\t\t\t\tconst cycle = path.slice( index )\n\n\t\t\t\t\t\treturn cycle.reduce(\n\t\t\t\t\t\t\t( weight , node , index )=> Math.min(\n\t\t\t\t\t\t\t\tweight ,\n\t\t\t\t\t\t\t\tget_weight( this.edge_out( node , cycle[ ( index + 1 ) % cycle.length ] )! ) ,\n\t\t\t\t\t\t\t) ,\n\t\t\t\t\t\t\tNumber.MAX_SAFE_INTEGER ,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t}\n\n\t\t\t\t\tpath.push( from )\n\n\t\t\t\t\tdive: try {\n\n\t\t\t\t\t\tconst deps = this.edges_out.get( from )\n\t\t\t\t\t\tif( !deps ) break dive\n\n\t\t\t\t\t\tfor( const [ to , edge ] of deps ) {\n\n\t\t\t\t\t\t\tif( to === from ) {\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst weight_out = get_weight( edge )\n\t\t\t\t\t\t\tconst min = visit( to )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( weight_out > min ) return min\n\t\t\t\t\t\t\tif( weight_out === min ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( path.length > 1 ) {\n\t\t\t\t\t\t\t\t\tconst enter = path[ path.length - 2 ]\n\t\t\t\t\t\t\t\t\tthis.link( enter , to , edge )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tpath.pop()\n\t\t\t\t\t}\n\n\t\t\t\t\tchecked.push( from )\n\n\t\t\t\t\treturn Number.MAX_SAFE_INTEGER\n\t\t\t\t}\n\n\t\t\t\tvisit( start )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t// NODES SELECTION\n\t\t\n\t\t/** Topoligical ordered set of all Nodes for acyclic graph */\n\t\tget sorted() {\n\n\t\t\tconst sorted = new Set< Node >()\n\t\t\t\n\t\t\tconst visit = ( node : Node ) => {\n\t\t\t\t\n\t\t\t\tif( sorted.has( node ) ) return\n\n\t\t\t\tconst deps = this.edges_out.get( node )\n\n\t\t\t\tif( deps ) {\n\t\t\t\t\tfor( const [dep] of deps ) visit( dep )\n\t\t\t\t}\n\n\t\t\t\tsorted.add( node )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\tvisit( node )\n\t\t\t}\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t\t\n\t\t/** All Nodes which don't have input Edges */\n\t\tget roots() {\n\t\t\t\n\t\t\tconst roots = [] as Node[]\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\t\n\t\t\t\tif( this.edges_in.get( node )?.size ) continue\n\t\t\t\troots.push( node )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn roots\n\t\t}\n\t\t\n\t\t// DEPTH STATS\n\t\t\n\t\t/**\n\t\t * Nodes depth statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_stat( Math.min )\n\t\t * graph.depth_stat( Math.max )\n\t\t **/\n\t\tnodes_depth( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst stat = new Map< Node, number >()\n\t\t\tconst visit = ( node: Node, depth = 0 )=> {\n\t\t\t\t\n\t\t\t\tif( stat.has( node ) ) stat.set( node, select( depth, stat.get( node )! ) )\n\t\t\t\telse stat.set( node, depth )\n\t\t\t\t\n\t\t\t\tfor( const kid of this.edges_out.get( node )?.keys() ?? [] ) visit( kid, depth + 1 )\n\t\t\t\t\n\t\t\t}\n\t\t\tfor( const root of this.roots ) visit( root )\n\t\t\t\n\t\t\treturn stat\n\t\t}\n\t\t\n\t\t/**\n\t\t * Depth's Nodes statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_nodes( Math.min )\n\t\t * graph.depth_nodes( Math.max )\n\t\t **/\n\t\tdepth_nodes( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst groups = [] as Node[][]\n\t\t\tfor( const [ node, depth ] of this.nodes_depth( select ).entries() ) {\n\t\t\t\t\n\t\t\t\tif( groups[ depth ] ) groups[ depth ].push( node )\n\t\t\t\telse groups[ depth ] = [ node ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn groups\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tlet sponge = new Uint32Array(80)\n\t\n\t/** Fast small sync SHA-1 (20 bytes, 160 bits) */\n\texport function $mol_crypto_hash( input: ArrayBufferView ) {\n\t\t\n\t\tconst data = input instanceof Uint8Array\n\t\t\t? input\n\t\t\t: new Uint8Array( input.buffer, input.byteOffset, input.byteLength )\n\t\t\n\t\tconst bits = data.byteLength << 3\n\t\tconst kbits = bits >> 5\n\t\tconst kword = 0x80 << ( 24 - bits & 0b11111 )\n\t\t\n\t\tconst bytes = 16 + ( bits + 64 >>> 9 << 4 )\n\t\tconst klens = bytes - 1\n\t\tconst words = new DataView( data.buffer, data.byteOffset, data.byteLength >> 2 << 2 )\n\t\t\n\t\tlet tail = 0\n\t\tfor( let i = words.byteLength; i < data.length; ++i ) {\n\t\t\ttail |= data[i] << ( ( 3 - i & 0b11 ) << 3 )\n\t\t}\n\t\t\n\t\t// Initial\n\t\tconst hash = new Int32Array([ 1732584193, -271733879, -1732584194, 271733878, -1009589776 ])\n\t\t\n\t\t// Digest\n\t\tfor( let i = 0; i < bytes; i += 16 ) {\n\t\t\t\n\t\t\tlet h0 = hash[0]\n\t\t\tlet h1 = hash[1]\n\t\t\tlet h2 = hash[2]\n\t\t\tlet h3 = hash[3]\n\t\t\tlet h4 = hash[4]\n\n\t\t\tfor( let j = 0; j < 16; ++j ) {\n\t\t\t\t\n\t\t\t\tconst k = i + j\n\t\t\t\tif( k === klens ) {\n\t\t\t\t\t\n\t\t\t\t\tsponge[j] = bits\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tconst pos = k << 2\n\t\t\t\t\tlet word =\n\t\t\t\t\t\tpos === words.byteLength ? tail :\n\t\t\t\t\t\tpos > words.byteLength ? 0 :\n\t\t\t\t\t\twords.getInt32( pos, false )\n\t\t\t\t\t\n\t\t\t\t\tif( k === kbits ) word |= kword\n\t\t\t\t\t\n\t\t\t\t\tsponge[j] = word\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 & h2 | ~h1 & h3 ) + 1518500249 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 16; j < 20; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 & h2 | ~h1 & h3 ) + 1518500249 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 20; j < 40; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 ^ h2 ^ h3 ) + 1859775393 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 40; j < 60; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 & h2 | h1 & h3 | h2 & h3 ) - 1894007588 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 60; j < 80; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 ^ h2 ^ h3 ) - 899497514 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\thash[0] += h0\n\t\t\thash[1] += h1\n\t\t\thash[2] += h2\n\t\t\thash[3] += h3\n\t\t\thash[4] += h4\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let i = 0; i < 20; ++i ) {\n\t\t\tconst word = hash[i]\n\t\t\thash[i] = word << 24 | word << 8 & 0xFF0000 | word >>> 8 & 0xFF00 | word >>> 24 & 0xFF // BE -> LE\n\t\t}\n\n\t\treturn new Uint8Array( hash.buffer )\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Universal binary package which contains some Faces/Units/Rocks */\n\texport type $hyoo_crus_pack_parts = {\n\t\t\n\t\tlands: Record< $hyoo_crus_ref, {\n\t\t\tfaces: $hyoo_crus_face_map,\n\t\t\tunits: $hyoo_crus_unit[],\n\t\t} >,\n\t\t\n\t\t/** List of BLOB identified by Hash. */\n\t\trocks: [ Uint8Array< ArrayBuffer >, null | Uint8Array< ArrayBuffer > ][],\n\t\t\n\t}\n\t\n\t/** Universal binary package which contains some Faces/Units/Rocks */\n\texport class $hyoo_crus_pack extends $mol_buffer {\n\t\t\n\t\ttoBlob() {\n\t\t\treturn new Blob( [ this ], { type: 'application/vnd.hyoo_crus_pack' } )\n\t\t}\n\t\t\n\t\tparts( land = null as $hyoo_crus_ref | null ) {\n\t\t\t\n\t\t\tconst lands = {} as $hyoo_crus_pack_parts[ 'lands' ]\n\t\t\tif( land ) lands[ land ] = { faces: new $hyoo_crus_face_map, units: [] }\n\t\t\t\n\t\t\tlet total = 0\n\t\t\t\n\t\t\tconst rocks = [] as $hyoo_crus_pack_parts[ 'rocks' ]\n\t\t\t\n\t\t\tconst buf = this.asArray()\n\t\t\t\n\t\t\tfor( let offset = 0; offset < this.byteLength; ) {\n\t\t\t\t\n\t\t\t\tconst kind = this.uint8( offset )\n\t\t\t\tif( !kind ) break\n\t\t\t\t\n\t\t\t\tif( kind % 2 ) {\n\t\t\t\t\t\n\t\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.land: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst faces = new $hyoo_crus_face_map\n\t\t\t\t\t\t\tfaces.total = this.uint32( offset ) >> 8\n\t\t\t\t\t\t\toffset += 4\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tland = $hyoo_crus_ref_decode(\n\t\t\t\t\t\t\t\tnew Uint8Array( buf.buffer, buf.byteOffset + offset, 18 )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\toffset += 20\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlands[ land ] = { faces, units: [] }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.face: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst count = this.uint32( offset ) >> 8\n\t\t\t\t\t\t\toffset += 4\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst faces = lands[ land ].faces\n\t\t\t\t\t\t\tfor( let i = 0; i < count; ++i ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst peer = $mol_base64_ae_encode(\n\t\t\t\t\t\t\t\t\tnew Uint8Array( buf.buffer, buf.byteOffset + offset, 6 )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst time = this.uint48( offset + 6 )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tfaces.time_max( peer, time )\n\t\t\t\t\t\t\t\toffset += 12\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\toffset = Math.ceil( offset / 8 ) * 8\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.pass: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst unit = new $hyoo_crus_pass(\n\t\t\t\t\t\t\t\tbuf.slice( offset, offset += $hyoo_crus_unit.size ).buffer\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlands[ land ].units ||= []\n\t\t\t\t\t\t\tlands[ land ].units.push( unit )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.gift: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst unit = new $hyoo_crus_gift(\n\t\t\t\t\t\t\t\tbuf.slice( offset, offset += $hyoo_crus_unit.size ).buffer\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlands[ land ].units ||= []\n\t\t\t\t\t\t\tlands[ land ].units.push( unit )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.rock: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst size = this.uint32( offset ) >> 8\n\t\t\t\t\t\t\tif( size === 0 ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst hash = buf.slice( offset + 4, offset + 4 + 24 )\n\t\t\t\t\t\t\t\trocks.push([ hash, null ])\n\t\t\t\t\t\t\t\toffset += 4 + 24\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst rock = buf.slice( offset + 4, offset + 4 + size )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst hash = $mol_crypto_hash( rock )\n\t\t\t\t\t\t\t\trocks.push([ hash, rock ])\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\toffset += Math.ceil( size / 8 + .5 ) * 8\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.root:\n\t\t\t\t\t\tcase $hyoo_crus_part.buck: {\n\t\t\t\t\t\t\toffset += 128\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault: $mol_fail( new Error( `Unknown CRUS Pack Part (${ kind.toString(2) }) at (${ offset.toString(16) })` ) )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\n\t\t\t\t\tconst unit = $hyoo_crus_sand.from(\n\t\t\t\t\t\tbuf.slice( offset, offset += $hyoo_crus_unit.size )\n\t\t\t\t\t)\n\t\t\t\t\t\n\t\t\t\t\tlands[ land ].units ||= []\n\t\t\t\t\tlands[ land ].units.push( unit )\n\t\t\t\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn { lands, rocks }\n\t\t\t\n\t\t}\n\t\n\t\tstatic make( { lands, rocks }: $hyoo_crus_pack_parts ) {\n\t\t\t\n\t\t\tlet size = 0\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( lands ) as $hyoo_crus_ref[] ) {\n\t\t\t\tsize += 24\n\t\t\t\t// if( lands[ land ].faces.size ) {\n\t\t\t\t\tsize += Math.ceil( lands[ land ].faces.size * 12 / 8 + .5 ) * 8\n\t\t\t\t// }\n\t\t\t\tsize += lands[ land ].units.length * $hyoo_crus_unit.size\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ hash, rock ] of rocks ) {\n\t\t\t\tsize += rock ? Math.ceil( rock.length / 8 + .5 ) * 8 : 24\n\t\t\t}\n\t\t\t\n\t\t\tif( size === 0 ) return null!\n\t\t\t\n\t\t\tconst buff = new Uint8Array( size )\n\t\t\tconst pack = new $hyoo_crus_pack( buff.buffer )\n\t\t\t\n\t\t\tlet offset = 0\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( lands ) as $hyoo_crus_ref[] ) {\n\t\t\t\t\n\t\t\t\tconst faces = lands[ land ].faces\n\t\t\t\t\n\t\t\t\tpack.uint32( offset, $hyoo_crus_part.land | ( faces.total << 8 ) )\n\t\t\t\tbuff.set( $hyoo_crus_ref_encode( land ), offset + 4 )\n\t\t\t\toffset += 24\n\t\t\t\t\n\t\t\t\t// if( !faces.size ) continue\n\t\t\t\t\n\t\t\t\tpack.uint32( offset, $hyoo_crus_part.face | ( faces.size << 8 ) )\n\t\t\t\toffset += 4\n\t\t\t\tfor( const [ peer, time ] of faces ) {\n\t\t\t\t\tbuff.set( $mol_base64_ae_decode( peer ), offset )\n\t\t\t\t\tpack.uint48( offset + 6, time )\n\t\t\t\t\toffset += 12\n\t\t\t\t}\n\t\t\t\toffset = Math.ceil( offset / 8 ) * 8\n\t\t\t\t\n\t\t\t\tfor( const unit of lands[ land ].units ) {\n\t\t\t\t\tbuff.set( unit.asArray(), offset )\n\t\t\t\t\toffset += unit.byteLength\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ hash, rock ] of rocks ) {\n\t\t\t\t\n\t\t\t\tconst len = rock?.length ?? 0\n\t\t\t\tpack.uint32( offset, $hyoo_crus_part.rock | ( len << 8 ) )\n\t\t\t\t\n\t\t\t\tif( rock ) buff.set( rock, offset + 4 )\n\t\t\t\telse buff.set( hash, offset + 4 )\n\t\t\t\n\t\t\t\toffset += rock ? Math.ceil( len / 8 + .5 ) * 8 : 24\n\t\t\t}\n\t\t\t\n\t\t\treturn pack\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t\n}\n","namespace $ {\n\n\texport type $mol_time_interval_config = string | {\n\t\tstart? : $mol_time_moment_config\n\t\tend? : $mol_time_moment_config\n\t\tduration? : $mol_time_duration_config\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time interval representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_interval extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_interval_config ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tvar chunks = config.split( '/' )\n\t\t\t\t\n\t\t\t\tif( chunks[0] ) {\n\t\t\t\t\tif( chunks[0][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[0] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._start = new $mol_time_moment( chunks[0] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._start = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( chunks[1] ) {\n\t\t\t\t\tif( chunks[1][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[1] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._end = new $mol_time_moment( chunks[1] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._end = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( config.start !== undefined ) this._start = new $mol_time_moment( config.start )\n\t\t\tif( config.end !== undefined ) this._end = new $mol_time_moment( config.end )\n\t\t\tif( config.duration !== undefined ) this._duration = new $mol_time_duration( config.duration )\n\t\t}\n\n\t\tprivate _start : $mol_time_moment | undefined\n\t\tget start() {\n\t\t\tif( this._start ) return this._start\n\t\t\t\n\t\t\treturn this._start = this._end!.shift( this._duration!.mult( -1 ) )\n\t\t}\n\n\t\tprivate _end : $mol_time_moment | undefined\n\t\tget end() {\n\t\t\tif( this._end ) return this._end\n\t\t\t\n\t\t\treturn this._end = this._start!.shift( this._duration! )\n\t\t}\n\n\t\tprivate _duration : $mol_time_duration | undefined\n\t\tget duration() {\n\t\t\tif( this._duration ) return this._duration\n\t\t\t\n\t\t\treturn this._duration = new $mol_time_duration( this._end!.valueOf() - this._start!.valueOf() )\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( ) {\n\t\t\treturn ( this._start || this._duration || '' ).toString() + '/' + ( this._end || this._duration || '' ).toString()\n\t\t}\n\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t}\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/** 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\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\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\t\n\ttype json = null | boolean | number | string | { [ key in string ]: json } | readonly json[]\n\t/** Supported primitive types. */\n\texport type $hyoo_crus_vary_type =\n\t| Uint8Array< ArrayBuffer > | bigint | $hyoo_crus_ref\n\t| BigInt64Array | Float64Array\n\t| $mol_time_moment | $mol_time_duration | $mol_time_interval\n\t| $mol_tree2 | json | Node\n\t\n\texport let $hyoo_crus_vary_mapping = {\n\t\t\n\t\tnil: null,\n\t\tbin: Uint8Array,\n\t\tbool: Boolean,\n\t\tint: BigInt,\n\t\treal: Number,\n\t\tints: BigInt64Array,\n\t\treals: Float64Array,\n\t\tref: Symbol,\n\t\t\n\t\tstr: String,\n\t\ttime: $mol_time_moment,\n\t\tdur: $mol_time_duration,\n\t\trange: $mol_time_interval,\n\t\tjson: Object,\n\t\tjsan: Array,\n\t\tdom: $mol_dom_context.Element,\n\t\ttree: $mol_tree2,\n\t\t\n\t}\n\t\n\texport type $hyoo_crus_vary_classes = typeof $hyoo_crus_vary_mapping[ keyof typeof $hyoo_crus_vary_mapping ]\n\t\n\t/** Universal binary package which contains some TIP and bin */\n\texport type $hyoo_crus_vary_pack = {\n\t\ttip: keyof typeof $hyoo_crus_vary_tip,\n\t\tbin: Uint8Array< ArrayBuffer >,\n\t}\n\t\n\t/** Hint how to interpret Data. */\n\texport enum $hyoo_crus_vary_tip {\n\t\t\n\t\t/** 0. No Data */\n\t\tnil = 0b00001,\n\t\t/** 0. Binary */\n\t\tbin = 0b00010,\n\t\t/** 1b * 32 * 8. Boolean */\n\t\tbool = 0b00011,\n\t\t/** 8B. int64 */\n\t\tint = 0b00100,\n\t\t/** 8B. float64 */\n\t\treal = 0b00101,\n\t\t/** 8B * n<=4. int64 */\n\t\tints = 0b00110,\n\t\t/** 8B * n<=4. float64 */\n\t\treals = 0b00111,\n\t\t/** 12B. Reference to Node/Land/Lord. */\n\t\tref = 0b01000,\n\t\t\n\t\t/** String */\n\t\tstr = 0b10000,\n\t\t/** iso8601 moment*/\n\t\ttime = 0b10001,\n\t\t/** iso8601 duration */\n\t\tdur = 0b10010,\n\t\t/** iso8601 interval */\n\t\trange = 0b10011,\n\t\t/** Plain Old JS Object. */\n\t\tjson = 0b10100, // json object\n\t\t/** Plain Old JS Array. */\n\t\tjsan = 0b10101,\n\t\t/** Document Object Model (xml, xhtml etc). */\n\t\tdom = 0b10110,\n\t\t/** Abstract Syntax Tree. */\n\t\ttree = 0b10111,\n\n\t}\n\t\n\texport function $hyoo_crus_vary_switch< Ways extends {\n\t\t\t\n\t\tnil: ( vary: null )=> any,\n\t\tbin: ( vary: Uint8Array< ArrayBuffer > )=> any,\n\t\tbool: ( vary: boolean )=> any,\n\t\tint: ( vary: bigint )=> any,\n\t\tints: ( vary: BigInt64Array< ArrayBuffer > )=> any,\n\t\treal: ( vary: number )=> any,\n\t\treals: ( vary: Float64Array< ArrayBuffer > )=> any,\n\t\tref: ( vary: $hyoo_crus_ref )=> any,\n\t\t\n\t\tstr: ( vary: string )=> any,\n\t\ttime: ( vary: $mol_time_moment )=> any,\n\t\tdur: ( vary: $mol_time_duration )=> any,\n\t\trange: ( vary: $mol_time_interval )=> any,\n\t\tjson: ( vary: {} )=> any,\n\t\tjsan: ( vary: any[] )=> any,\n\t\tdom: ( vary: Element )=> any,\n\t\ttree: ( vary: $mol_tree2 )=> any,\n\t\t\n\t} >(\n\t\tvary: $hyoo_crus_vary_type,\n\t\tways: Ways,\n\t): $mol_type_result< Ways[ keyof Ways ] > {\n\t\t\n\t\tif( vary === null ) return ways.nil( vary )\n\t\t\t\n\t\tswitch( typeof vary ) {\n\t\t\tcase \"boolean\": return ways.bool( vary )\n\t\t\tcase \"bigint\": return ways.int( vary )\n\t\t\tcase \"number\": return ways.real( vary )\n\t\t\tcase \"string\": return ways.str( vary )\n\t\t\tcase 'symbol': return ways.ref( vary )\n\t\t}\n\t\t\n\t\tswitch( Reflect.getPrototypeOf( vary ) ) {\n\t\t\tcase Object.prototype: return ways.json( vary )\n\t\t\tcase Array.prototype: return ways.jsan( vary as any[] )\n\t\t\tcase Uint8Array.prototype: return ways.bin( vary as Uint8Array< ArrayBuffer > )\n\t\t\tcase BigInt64Array.prototype: return ways.ints( vary as BigInt64Array< ArrayBuffer > )\n\t\t\tcase Float64Array.prototype: return ways.reals( vary as Float64Array< ArrayBuffer > )\n\t\t\tcase $mol_time_moment.prototype: return ways.time( vary as $mol_time_moment )\n\t\t\tcase $mol_time_duration.prototype: return ways.dur( vary as $mol_time_duration )\n\t\t\tcase $mol_time_interval.prototype: return ways.range( vary as $mol_time_interval )\n\t\t\tcase $mol_tree2.prototype: return ways.tree( vary as $mol_tree2 )\n\t\t}\n\t\t\n\t\tif( vary instanceof $mol_dom_context.Element ) return ways.dom( vary )\n\t\t\n\t\treturn $mol_fail( new TypeError( `Unsupported vary type` ) )\n\t}\n\t\n\texport function $hyoo_crus_vary_encode( vary: $hyoo_crus_vary_type ): $hyoo_crus_vary_pack {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => ({ tip: 'nil' as const, bin: new Uint8Array([]) }),\n\t\t\tbin: vary => ({ tip: 'bin' as const, bin: vary }),\n\t\t\tbool: vary => ({ tip: 'bool' as const, bin: new Uint8Array([ Number( vary ) ]) }),\n\t\t\tint: vary => ({ tip: 'int' as const, bin: new Uint8Array( new BigInt64Array([ vary ]).buffer ) }),\n\t\t\tints: vary => ({ tip: 'ints' as const, bin: new Uint8Array( vary.buffer, vary.byteLength, vary.byteLength ) }),\n\t\t\treal: vary => ({ tip: 'real' as const, bin: new Uint8Array( new Float64Array([ vary ]).buffer ) }),\n\t\t\treals: vary => ({ tip: 'reals' as const, bin: new Uint8Array( vary.buffer, vary.byteLength, vary.byteLength ) }),\n\t\t\tref: vary => ({ tip: 'ref' as const, bin: $hyoo_crus_ref_encode( vary ) }),\n\t\t\t\n\t\t\tstr: vary => ({ tip: 'str' as const, bin: $mol_charset_encode( vary ) }),\n\t\t\ttime: vary => ({ tip: 'time' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\tdur: vary => ({ tip: 'dur' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\trange: vary => ({ tip: 'range' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\tjson: vary => ({ tip: 'json' as const, bin: $mol_charset_encode( JSON.stringify( vary ) ) }),\n\t\t\tjsan: vary => ({ tip: 'jsan' as const, bin: $mol_charset_encode( JSON.stringify( vary ) ) }),\n\t\t\tdom: vary => ({ tip: 'dom' as const, bin: $mol_charset_encode( $mol_dom_serialize( vary ) ) }),\n\t\t\ttree: vary => ({ tip: 'tree' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\t\n\t\t} )\n\t}\n\t\n\texport function $hyoo_crus_vary_decode( { tip, bin }: $hyoo_crus_vary_pack ): $hyoo_crus_vary_type {\n\t\tswitch( tip ) {\n\t\t\t\n\t\t\tcase 'nil': return null\n\t\t\tcase 'bin': return bin\n\t\t\tcase 'bool': return Boolean( bin[0] )\n\t\t\tcase 'int': return new BigInt64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )[0]\n\t\t\tcase 'ints': return new BigInt64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )\n\t\t\tcase 'real': return new Float64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )[0]\n\t\t\tcase 'reals': return new Float64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )\n\t\t\tcase 'ref': return $hyoo_crus_ref_decode( bin )\n\t\t\t\n\t\t\tcase 'str': return $mol_charset_decode( bin )\n\t\t\tcase 'time': return new $mol_time_moment( $mol_charset_decode( bin ) )\n\t\t\tcase 'dur': return new $mol_time_duration( $mol_charset_decode( bin ) )\n\t\t\tcase 'range': return new $mol_time_interval( $mol_charset_decode( bin ) )\n\t\t\tcase 'json': return JSON.parse( $mol_charset_decode( bin ) )\n\t\t\tcase 'jsan': return JSON.parse( $mol_charset_decode( bin ) )\n\t\t\tcase 'dom': return $mol_dom_parse( $mol_charset_decode( bin ) ).documentElement\n\t\t\tcase 'tree': return $$.$mol_tree2_from_string( $mol_charset_decode( bin ) )\n\t\t\t\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\texport let $mol_jsx_crumbs = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\t/**\n\t * JSX adapter that makes DOM tree.\n\t * Generates global unique ids for every DOM-element by components tree with ids.\n\t * Ensures all local ids are unique.\n\t * Can reuse an existing nodes by GUIDs when used inside [`mol_jsx_attach`](https://github.com/hyoo-ru/mam_mol/tree/master/jsx/attach).\n\t */\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\t\tconst guid = id ? $mol_jsx_prefix ? $mol_jsx_prefix + '/'+ id : id : $mol_jsx_prefix\n\t\tconst crumbs_self = id ? $mol_jsx_crumbs.replace( /(\\S+)/g, `$1_${ id.replace( /\\/.*/i, '' ) }` ) : $mol_jsx_crumbs\n\t\t\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( guid ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( $mol_jsx_prefix ) {\n\t\t\t\n\t\t\tconst prefix_ext = $mol_jsx_prefix\n\t\t\tconst booked_ext = $mol_jsx_booked\n\t\t\tconst crumbs_ext = $mol_jsx_crumbs\n\t\t\t\n\t\t\tfor( const field in props ) {\n\t\t\t\t\n\t\t\t\tconst func = props[ field ]\n\t\t\t\tif( typeof func !== 'function' ) continue\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst wrapper = function( this: any, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix_ext\n\t\t\t\t\t\t$mol_jsx_booked = booked_ext\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs_ext\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn func.call( this, ... args )\n\t\t\t\t\t\t\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\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\t$mol_func_name_from( wrapper, func )\n\t\t\t\tprops[ field ] = wrapper as any\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && (node as any)[ String(Elem) ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\tview.className = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\t;(node as any)![ String(Elem) ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\t\t\t\t$mol_jsx_crumbs = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tif( guid ) ( node as Element ).id = guid\n\t\tfor( const key in props ) {\n\t\t\tif( key === 'id' ) continue\n\t\t\t\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( typeof (node as any)[ key ] === 'string' ) (node as any)[ key ] = props[ key ]\n\t\t\t\t;( node as Element ).setAttribute( key , (props as any)[ key ] )\n\t\t\t\t\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof (node as any)[ key ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t(node as any)[ key ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( $mol_jsx_crumbs ) ( node as Element ).className = ( (props as any)?.['class'] ? (props as any)['class'] + ' ' : '' ) + crumbs_self\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_bin_to_bytes( tree : $mol_tree2 ) {\n\t\treturn Uint8Array.from( tree.kids , kid => parseInt( kid.value , 16 ) )\n\t}\n\n\texport function $mol_tree2_bin_from_bytes(\n\t\tbytes : ArrayLike< number >,\n\t\tspan = $mol_span.unknown,\n\t) {\n\t\t\n\t\treturn $mol_tree2.list( Array.from( bytes , code => {\n\t\t\treturn $mol_tree2.data( code.toString( 16 ).padStart( 2 , '0' ) , [] , span )\n\t\t} ) , span )\n\t\t\n\t}\n\n\texport function $mol_tree2_bin_from_string(\n\t\tstr : string,\n\t\tspan = $mol_span.unknown,\n\t) {\n\t\treturn $mol_tree2_bin_from_bytes( [ ... new TextEncoder().encode( str ) ] , span )\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\texport function $mol_tree2_xml_from_dom( dom: Node ): $mol_tree2 {\n\t\t\n\t\tswitch( dom.nodeType ) {\n\t\t\t\n\t\t\tcase dom.DOCUMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tkids.push( $mol_tree2_xml_from_dom( kid ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.list( kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.PROCESSING_INSTRUCTION_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '?', [\n\t\t\t\t\t$mol_tree2.struct( dom.nodeName, \n\t\t\t\t\t\tdom.nodeValue!.split(' ').map( chunk => {\n\t\t\t\t\t\t\tconst [, name, value ] = /^(.*?)(?:=\"(.*?)\")?$/.exec( chunk )!\n\t\t\t\t\t\t\tconst kids = value ? [ $mol_tree2.data( value ) ] : []\n\t\t\t\t\t\t\treturn $mol_tree2.struct( name, kids )\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.DOCUMENT_TYPE_NODE: {\n\t\t\t\tconst dom2 = dom as DocumentType\n\t\t\t\treturn $mol_tree2.struct( '!', [\n\t\t\t\t\t$mol_tree2.struct( 'DOCTYPE', [ \n\t\t\t\t\t\t$mol_tree2.struct( dom2.name )\n\t\t\t\t\t] )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.ELEMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const attr of ( dom as Element ).attributes ) {\n\t\t\t\t\tkids.push(\n\t\t\t\t\t\t$mol_tree2.struct( '@', [\n\t\t\t\t\t\t\t$mol_tree2.struct( attr.nodeName, [\n\t\t\t\t\t\t\t\t$mol_tree2.data( attr.nodeValue! )\n\t\t\t\t\t\t\t] )\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\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tconst k = $mol_tree2_xml_from_dom( kid ) \n\t\t\t\t\tif( k.type || k.value ) kids.push( k )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.struct( dom.nodeName, kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.COMMENT_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '--', [\n\t\t\t\t\t$mol_tree2.data( dom.nodeValue! )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.TEXT_NODE: {\n\t\t\t\tif( !dom.nodeValue!.trim() ) return $mol_tree2.list([])\n\t\t\t\treturn $mol_tree2.data(\n\t\t\t\t\tdom.nodeValue!.replace( /\\s+/g, ' ' )\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $mol_fail( new Error( `Unsupported node ${ dom.nodeName }` ) )\n\t}\n\t\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\texport function $hyoo_crus_vary_cast_bin( vary: $hyoo_crus_vary_type ): Uint8Array | null {\n\t\treturn vary === null || vary === '' ? null : $hyoo_crus_vary_encode( vary ).bin\n\t}\n\t\n\texport function $hyoo_crus_vary_cast_bool( vary: $hyoo_crus_vary_type ): boolean | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => Boolean( vary.length ),\n\t\t\tbool: vary => vary,\n\t\t\tint: vary => Boolean( vary ),\n\t\t\treal: vary => Boolean( vary ),\n\t\t\tints: vary => Boolean( vary.length ),\n\t\t\treals: vary => Boolean( vary.length ),\n\t\t\tref: vary => Boolean( vary.description ),\n\t\t\t\n\t\t\tstr: vary => Boolean( vary ),\n\t\t\ttime: vary => Boolean( vary.valueOf() ),\n\t\t\tdur: vary => Boolean( vary.valueOf() ),\n\t\t\trange: vary => Boolean( vary.duration.valueOf() ),\n\t\t\tjson: vary => Boolean( Reflect.ownKeys( vary ).length ),\n\t\t\tjsan: vary => Boolean( vary.length ),\n\t\t\tdom: vary => Boolean( vary.attributes.length + vary.childNodes.length ),\n\t\t\ttree: vary => Boolean( vary.value || vary.kids.length ),\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_int( vary: $hyoo_crus_vary_type ): bigint | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => BigInt( vary.length ),\n\t\t\tbool: vary => BigInt( vary ),\n\t\t\tint: vary => vary,\n\t\t\treal: vary => Number.isFinite( vary ) ? BigInt( Math.trunc( vary ) ) : null,\n\t\t\tints: vary => BigInt( vary.length ),\n\t\t\treals: vary => BigInt( vary.length ),\n\t\t\tref: vary => null,//$mol_base64_ae_decode( vary.description!.slice( 0, 16 ) ) + ( BigInt( vary.land() ) << 64n ) + ( BigInt( vary.head() ) << 96n ),\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? BigInt( vary ) : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\t\n\t\t\ttime: vary => BigInt( vary.valueOf() ),\n\t\t\tdur: vary => BigInt( vary.valueOf() ),\n\t\t\trange: vary => BigInt( vary.duration.valueOf() ),\n\t\t\t\n\t\t\tjson: vary => BigInt( Reflect.ownKeys( vary ).length ),\n\t\t\tjsan: vary => BigInt( vary.length ),\n\t\t\tdom: vary => BigInt( vary.attributes.length + vary.childNodes.length ),\n\t\t\t\n\t\t\ttree: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn BigInt( vary.value )\n\t\t\t\t} catch {\n\t\t\t\t\treturn BigInt( vary.kids.length )\n\t\t\t\t}\n\t\t\t},\n\t\t\t\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_real( vary: $hyoo_crus_vary_type ): number | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => vary.length,\n\t\t\tbool: vary => Number( vary ),\n\t\t\tint: vary => Number( vary ),\n\t\t\treal: vary => vary,\n\t\t\tints: vary => vary.length,\n\t\t\treals: vary => vary.length,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => vary ? Number( vary ) : null,\n\t\t\ttime: vary => vary.valueOf(),\n\t\t\tdur: vary => vary.valueOf(),\n\t\t\trange: vary => vary.duration.valueOf(),\n\t\t\tjson: vary => Reflect.ownKeys( vary ).length,\n\t\t\tjsan: vary => vary.length,\n\t\t\tdom: vary => Number( vary.attributes.length + vary.childNodes.length ),\n\t\t\ttree: vary => Number( vary.value || vary.kids.length ),\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_ints( vary: $hyoo_crus_vary_type ): BigInt64Array | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => new BigInt64Array( [ ... vary ].map( BigInt ) ),\n\t\t\tbool: vary => vary ? new BigInt64Array([ 1n ]) : null,\n\t\t\tint: vary => new BigInt64Array([ vary ]),\n\t\t\treal: vary => Number.isFinite( vary ) ? new BigInt64Array([ BigInt( vary ) ]) : null,\n\t\t\tints: vary => vary,\n\t\t\treals: vary => new BigInt64Array( [ ... vary ].map( BigInt ) ),\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\treturn new BigInt64Array( vary.split( ',' ).map( v => BigInt(v) || 0n ) )\n\t\t\t},\n\t\t\ttime: vary => new BigInt64Array([ BigInt( vary.valueOf() ) ]),\n\t\t\tdur: vary => new BigInt64Array([ BigInt( vary.valueOf() ) ]),\n\t\t\trange: vary => null,\n\t\t\tjson: vary => null,\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_reals( vary: $hyoo_crus_vary_type ): Float64Array | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => new Float64Array( [ ... vary ] ),\n\t\t\tbool: vary => vary ? new Float64Array([ 1 ]) : null,\n\t\t\tint: vary => new Float64Array([ Number( vary ) ]),\n\t\t\treal: vary => ( vary && Number.isFinite( vary ) ) ? new Float64Array([ vary ]) : null,\n\t\t\tints: vary => new Float64Array( [ ... vary ].map( Number ) ),\n\t\t\treals: vary => vary,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\treturn new Float64Array( vary.split( ',' ).map( v => Number(v) || 0 ) )\n\t\t\t},\n\t\t\ttime: vary => new Float64Array([ vary.valueOf() ]),\n\t\t\tdur: vary => new Float64Array([ vary.valueOf() ]),\n\t\t\trange: vary => null,\n\t\t\tjson: vary => null,\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_ref( vary: $hyoo_crus_vary_type ): $hyoo_crus_ref | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => ( !vary.length || vary.length % 6 ) ? null : $hyoo_crus_ref_decode( vary ),\n\t\t\tbool: vary => null,\n\t\t\tint: vary => null,\n\t\t\treal: vary => null,\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => vary,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn $hyoo_crus_ref( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => null,\n\t\t\tdur: vary => null,\n\t\t\trange: vary => null,\n\t\t\tjson: vary => null,\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn $hyoo_crus_ref( vary.type )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_str( vary: $hyoo_crus_vary_type ): string | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => [ ... vary ].map( n => n.toString(16).padStart( 2, '0' ) ).join( '' ),\n\t\t\tbool: vary => String( vary ),\n\t\t\tint: vary => String( vary ),\n\t\t\treal: vary => String( vary ),\n\t\t\tints: vary => vary.join(','),\n\t\t\treals: vary => vary.join(','),\n\t\t\tref: vary => vary.description!,\n\t\t\t\n\t\t\tstr: vary => vary,\n\t\t\ttime: vary => String( vary ),\n\t\t\tdur: vary => String( vary ),\n\t\t\trange: vary => String( vary ),\n\t\t\tjson: vary => JSON.stringify( vary ),\n\t\t\tjsan: vary => JSON.stringify( vary ),\n\t\t\tdom: vary => $mol_dom_serialize( vary ),\n\t\t\ttree: vary => String( vary ),\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_time( vary: $hyoo_crus_vary_type ): $mol_time_moment | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => new $mol_time_moment( Number( vary & 0xFFFFFFFFFFFFn ) ),\n\t\t\treal: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_moment( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? new $mol_time_moment( vary ) : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => vary,\n\t\t\tdur: vary => null,\n\t\t\trange: vary => null,\n\t\t\tjson: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_moment( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_dur( vary: $hyoo_crus_vary_type ): $mol_time_duration | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => new $mol_time_duration( Number( vary & 0xFFFFFFFFFFFFn ) ),\n\t\t\treal: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_duration( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_duration( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => null,\n\t\t\tdur: vary => vary,\n\t\t\trange: vary => null,\n\t\t\tjson: vary => new $mol_time_duration( vary as any ),\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_range( vary: $hyoo_crus_vary_type ): $mol_time_interval | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => null,\n\t\t\treal: vary => null,\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? new $mol_time_interval( vary ) : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => new $mol_time_interval({ start: vary, duration: 0 }),\n\t\t\tdur: vary => null,\n\t\t\trange: vary => vary,\n\t\t\tjson: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_interval( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_json( vary: $hyoo_crus_vary_type ): {} | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => null,\n\t\t\treal: vary => null,\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\tconst res = JSON.parse( vary )\n\t\t\t\t\tif( typeof res === 'object' ) return res\n\t\t\t\t\treturn null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => ({ ... vary }),\n\t\t\tdur: vary => ({ ... vary }),\n\t\t\trange: vary => ({ ... vary }),\n\t\t\tjson: vary => vary,\n\t\t\tjsan: vary => Object( vary[0] ),\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_jsan( vary: $hyoo_crus_vary_type ): any[] | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => [ ... vary ],\n\t\t\tbool: vary => [ vary ],\n\t\t\tint: vary => [ vary.toString() ],\n\t\t\treal: vary => Number.isFinite( vary ) ? [ vary ] : null,\n\t\t\tints: vary => [ ... vary ].map( v => Number( v ) ),\n\t\t\treals: vary => [ ... vary ],\n\t\t\tref: vary => [ vary.description! ],\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\treturn [].concat( JSON.parse( vary ) )\n\t\t\t\t} catch {\n\t\t\t\t\treturn [ vary ]\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => [ vary.toJSON() ],\n\t\t\tdur: vary => [ vary.toJSON() ],\n\t\t\trange: vary => [ vary.toJSON() ],\n\t\t\tjson: vary => [ vary ],\n\t\t\tjsan: vary => vary,\n\t\t\tdom: vary => [ $mol_dom_serialize( vary ) ],\n\t\t\ttree: vary => [ vary.toString() ],\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_dom( vary: $hyoo_crus_vary_type ): Element | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => { vary && $mol_base64_ae_encode( vary ) },\n\t\t\tbool: vary => { vary },\n\t\t\tint: vary => { vary },\n\t\t\treal: vary => { vary },\n\t\t\tints: vary => { vary.join(',') },\n\t\t\treals: vary => { vary.join(',') },\n\t\t\tref: vary => { vary.description },\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? $mol_dom_parse( vary, 'application/xhtml+xml' ).documentElement : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn { vary }\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => { vary },\n\t\t\tdur: vary => { vary },\n\t\t\trange: vary => { vary },\n\t\t\tjson: vary => { JSON.stringify( vary ) },\n\t\t\tjsan: vary => { JSON.stringify( vary ) },\n\t\t\tdom: vary => vary,\n\t\t\ttree: vary => { vary },\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_tree( vary: $hyoo_crus_vary_type ): $mol_tree2 | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => $mol_tree2_bin_from_bytes( vary ),\n\t\t\tbool: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tint: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\treal: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tints: vary => $mol_tree2.list( [ ... vary ].map( v => $mol_tree2.struct( v.toString() ) ) ),\n\t\t\treals: vary => $mol_tree2.list( [ ... vary ].map( v => $mol_tree2.struct( v.toString() ) ) ),\n\t\t\tref: vary => $mol_tree2.struct( vary.description! ),\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\treturn $$.$mol_tree2_from_string( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn $$.$mol_tree2.data( vary )\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tdur: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\trange: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tjson: vary => $$.$mol_tree2_from_json( vary ),\n\t\t\tjsan: vary => $$.$mol_tree2_from_json( vary ),\n\t\t\tdom: vary => $$.$mol_tree2_xml_from_dom( vary ),\n\t\t\ttree: vary => vary,\n\t\t\t\n\t\t})\n\t}\n\n\texport const $hyoo_crus_vary_cast_funcs = {\n\t\t\t\n\t\tnil: ()=> null,\n\t\tbin: $hyoo_crus_vary_cast_bin,\n\t\tbool: $hyoo_crus_vary_cast_bool,\n\t\tint: $hyoo_crus_vary_cast_int,\n\t\treal: $hyoo_crus_vary_cast_real,\n\t\tints: $hyoo_crus_vary_cast_ints,\n\t\treals: $hyoo_crus_vary_cast_reals,\n\t\tref: $hyoo_crus_vary_cast_ref,\n\t\t\n\t\tstr: $hyoo_crus_vary_cast_str,\n\t\ttime: $hyoo_crus_vary_cast_time,\n\t\tdur: $hyoo_crus_vary_cast_dur,\n\t\trange: $hyoo_crus_vary_cast_range,\n\t\tjson: $hyoo_crus_vary_cast_json,\n\t\tjsan: $hyoo_crus_vary_cast_jsan,\n\t\tdom: $hyoo_crus_vary_cast_dom,\n\t\ttree: $hyoo_crus_vary_cast_tree,\n\t\t\n\t} as const\n\t\n\texport function $hyoo_crus_vary_cast<\n\t\tTip extends keyof typeof $hyoo_crus_vary_tip\n\t>(\n\t\ttip: Tip,\n\t\tvary: $hyoo_crus_vary_type,\n\t) {\n\t\treturn $hyoo_crus_vary_cast_funcs[ tip ]( vary )\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_guard_defined(value: T): value is NonNullable {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n export class $mol_bus< Data > extends $mol_object {\n\t\t\n readonly channel: BroadcastChannel\n\t\t\n\t\tconstructor(\n\t\t\treadonly name: string,\n\t\t\treadonly handle: ( data: Data )=> void\n\t\t) {\n\t\t\tsuper()\n const channel = new BroadcastChannel( name )\n channel.onmessage = ( event: MessageEvent< Data > )=> this.handle( event.data )\n\t\t\tthis.channel = channel\n }\n\t\t\n\t\tdestructor() {\n\t\t\tthis.channel.close()\n\t\t}\n\t\t\n\t\tsend( data: Data ) {\n\t\t\tthis.channel.postMessage( data )\n\t\t}\n\t\t\n }\n}\n","namespace $ {\n\texport function $hyoo_crus_log( this: $ ) {\n\t\treturn this.$mol_state_arg.value( 'hyoo_crus_log' ) !== null\n\t}\n}\n","namespace $ {\n\t\n\t/** Starts subtasks concurrently instead of serial. */\n\texport function $mol_wire_race<\n\t\tTasks extends ( ( ... args: any )=> any )[]\n\t>( ... tasks: Tasks ): {\n\t\t[ index in keyof Tasks ]: ReturnType< Tasks[ index ] > \n\t} {\n\t\t\n\t\tconst results = tasks.map( task => {\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn task()\n\t\t\t} catch( error ) {\n\t\t\t\treturn error\n\t\t\t}\n\t\t\t\n\t\t} )\n\t\t\n\t\tconst promises = results.filter( res => $mol_promise_like( res ) )\n\t\tif( promises.length ) $mol_fail( Promise.race( promises ) )\n\t\t\n\t\tconst error = results.find( res => res instanceof Error )\n\t\tif( error ) $mol_fail( error )\n\t\t\n\t\treturn results as any\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crus_land_root {\n\t\tdata = '', // 0\n\t\ttine = 'AQAAAAAA', // 1\n\t}\n\t\n\t/** Standalone part of Glob which syncs separately, have own rights, and contains Units */\n\texport class $hyoo_crus_land extends $mol_object {\n\t\t\n\t\t/** Auth Independent actor with global unique id generated from Auth key */\n\t\tref() {\n\t\t\treturn this.auth().lord()\n\t\t}\n\t\t\n\t\t/** Auth Private key generated with Proof of Work */\n\t\tauth() {\n\t\t\treturn this.$.$hyoo_crus_auth.current()\n\t\t}\n\t\t\n\t\tfaces = new $hyoo_crus_face_map\n\n\t\tpass = new $mol_wire_dict< string /*peer*/, $hyoo_crus_pass >()\n\t\tgift = new $mol_wire_dict< $hyoo_crus_ref /*lord*/, $hyoo_crus_gift >()\n\t\tsand = new $mol_wire_dict< string /*head*/, $mol_wire_dict< string /*peer*/, $mol_wire_dict< string /*self*/, $hyoo_crus_sand > > >()\n\t\t\n\t\tself_all = new $mol_wire_dict< string, $hyoo_crus_sand | null >()\n\t\t\n\t\t@ $mol_action\n\t\tself_make( idea = Math.floor( Math.random() * 2**48 ) ) {\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst rank = this.lord_rank( auth.lord() )\n\t\t\t\n\t\t\tif( rank < $hyoo_crus_rank_tier.post ) $mol_fail( new Error( `Rank too low (${ rank })` ) )\n\t\t\t\n\t\t\tfor( let i = 0; i < 4096; ++i ) {\n\t\t\t\t\n\t\t\t\tidea = ( idea + 1 ) % 2**48\n\t\t\t\tif( !idea ) continue\n\t\t\t\t\n\t\t\t\tconst idea_str = $mol_base64_ae_encode( new Uint8Array( new BigUint64Array([ BigInt( idea ) ]).buffer, 0, 6 ) )\n\t\t\t\tif( this.self_all.has( idea_str ) ) continue\n\t\t\t\t\n\t\t\t\tthis.self_all.set( idea_str, null )\n\t\t\t\treturn idea_str\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_fail( new Error( `Too long self generation` ) )\n\t\t}\n\t\t\n\t\t/** Land where Lord is King. Contains only ain info */\n\t\thome() {\n\t\t\treturn this.Data( $hyoo_crus_home )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tarea_make( idea = Math.floor( Math.random() * 2**48 ) ) {\n\t\t\t\n\t\t\tthis.loading()\n\t\t\t\n\t\t\tconst id = $mol_base64_ae_encode( new Uint8Array( new BigUint64Array([ BigInt( idea ) ]).buffer, 0, 6 ) )\n\t\t\tconst ref = $hyoo_crus_ref( $hyoo_crus_ref_lord( this.ref() ).description! + '_' + id )\n\t\t\t\n\t\t\tconst area = this.$.$hyoo_crus_glob.Land( ref )\n\t\t\tconst units = this.unit_sort([ ... this.pass.values(), ... this.gift.values() ]).map( unit => {\n\t\t\t\tconst clone = $hyoo_crus_unit.from( unit ).narrow()\n\t\t\t\tclone._land = area\n\t\t\t\t$hyoo_crus_unit_trusted.add( clone )\n\t\t\t\treturn clone\n\t\t\t} )\n\t\t\tconst errors = area.apply_unit( units, 'skip_check' ).filter( Boolean )\n\t\t\t\n\t\t\tfor( const error of errors ) this.$.$mol_log3_warn({\n\t\t\t\tplace: `${this}.area_make()`,\n\t\t\t\tmessage: error,\n\t\t\t\thint: 'Send it to developer',\n\t\t\t})\n\t\t\t\n\t\t\tarea.bus()\n\t\t\tarea.sync_mine()\n\t\t\tarea.sync_yard()\n\t\t\t\n\t\t\treturn area\n\t\t}\n\t\t\n\t\t/** Data root */\n\t\t@ $mol_mem_key\n\t\tData< Node extends typeof $hyoo_crus_node >( Node: Node ) {\n\t\t\treturn this.Node( Node ).Item( $hyoo_crus_land_root.data )\n\t\t} \n\t\t\n\t\t/** Lands for inheritance */\n\t\t@ $mol_mem\n\t\tTine() {\n\t\t\treturn this.Node( $hyoo_crus_list_ref ).Item( $hyoo_crus_land_root.tine ) \n\t\t} \n\t\t\n\t\t/** High level representation of stored data */\n\t\t@ $mol_mem_key\n\t\tNode< Node extends typeof $hyoo_crus_node >( Node: Node ): $hyoo_crus_fund< string, InstanceType< Node > > {\n\t\t\treturn new $hyoo_crus_fund( ( head: string )=> {\n\t\t\t\tif( head === 'AAAAAAAA' ) return this.Node( Node ).Item( $hyoo_crus_land_root.data )\n\t\t\t\treturn ( Node as typeof $hyoo_crus_node ).make({\n\t\t\t\t\tland: ()=> this.sync(),\n\t\t\t\t\thead: $mol_const( head ),\n\t\t\t\t}) as InstanceType< Node >\n\t\t\t} )\n\t\t} \n\t\t\n\t\t/** Total count of Units inside Land. */\n\t\t@ $mol_mem\n\t\ttotal() {\n\t\t\tlet total = this.pass.size + this.gift.size\n\t\t\tfor( const peers of this.sand.values() ) {\n\t\t\t\tfor( const units of peers.values() ) {\n\t\t\t\t\ttotal += units.size\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn total\n\t\t}\n\t\t\n\t\t/** All joined Lords. */\n\t\t@ $mol_mem\n\t\tjoined_list() {\n\t\t\treturn [ ... this.pass.values() ].map( unit => unit.lord() )\n\t\t}\n\t\t\n\t\t/** Public key of Land Lord. */\n\t\t@ $mol_mem\n\t\tkey() {\n\t\t\tconst pass = this.pass.get( $hyoo_crus_ref_peer( this.ref() ) )\n\t\t\tif( !pass ) return null\n\t\t\treturn $hyoo_crus_auth.from( pass.auth() )\n\t\t}\n\t\t\n\t\t/** Rights level of Lord for Land. */\n\t\t@ $mol_mem_key\n\t\tlord_rank( lord: $hyoo_crus_ref, next?: typeof $hyoo_crus_rank.Value ): typeof $hyoo_crus_rank.Value {\n\t\t\t\n\t\t\tif( lord === $hyoo_crus_ref_lord( this.ref() ) ) return $hyoo_crus_rank_rule\n\t\t\t\n\t\t\tconst prev = this.gift.get( lord )?.rank()\n\t\t\t\t?? this.gift.get( $hyoo_crus_ref( '' ) )?.rank()\n\t\t\t\t?? ( this.encrypted() ? $hyoo_crus_rank_deny : $hyoo_crus_rank_read )\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( next === prev ) return prev\n\t\t\t\n\t\t\tthis.give( lord, next )\n\t\t\treturn next\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Rights level of Peer for Land. */\n\t\tpeer_rank( peer: string ) {\n\t\t\t\n\t\t\tconst auth = this.pass.get( peer )!\n\t\t\tif( auth ) return this.lord_rank( auth.lord() )\n\t\t\t\n\t\t\treturn this.encrypted() ? $hyoo_crus_rank_deny : $hyoo_crus_rank_read\n\t\t\t\n\t\t}\n\t\t\n\t\tunit_sort( units: readonly $hyoo_crus_unit[] ) {\n\t\t\n\t\t\tconst dict = new Map< string, $hyoo_crus_unit >()\n\t\t\tfor( const unit of units ) dict.set( unit.key(), unit )\n\t\t\t\n\t\t\tconst lord = $hyoo_crus_ref_lord( this.ref() )\n\t\t\t\n\t\t\tconst graph = new $mol_graph< string, void >()\n\t\t\tfor( const unit of units ) {\n\t\t\t\tunit.choose({\n\t\t\t\t\tpass: pass => {\n\t\t\t\t\t\tif( pass.lord() === lord ) return\n\t\t\t\t\t\tgraph.link( pass.key(), 'gift:' )\n\t\t\t\t\t},\n\t\t\t\t\tgift: gift => {\n\t\t\t\t\t\tgraph.link( 'pass:' + $hyoo_crus_ref_peer( gift.dest() ), gift.key() )\n\t\t\t\t\t\tgraph.link( gift.key(), 'pass:' + gift.peer() )\n\t\t\t\t\t},\n\t\t\t\t\tsand: sand=> {\n\t\t\t\t\t\tgraph.link( sand.key(), 'pass:' + sand.peer() )\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tgraph.acyclic( ()=> 1 ) \n\t\t\t\n\t\t\treturn [ ... graph.sorted ].map( key => dict.get( key )! ).filter( Boolean )\n\t\n\t\t}\n\t\t\n\t\t/** Picks units between Face and current state. */\n\t\tdelta_unit( face = new $hyoo_crus_face_map ): $hyoo_crus_unit[] {\n\t\t\t\n\t\t\tthis.loading()\n\t\t\t\n\t\t\tconst delta = [] as $hyoo_crus_unit[]\n\t\t\t\n\t\t\tconst passed = new Set< string >()\n\t\t\tconst auth = ( peer: string )=> {\n\t\t\t\t\n\t\t\t\tif( passed.has( peer ) ) return\n\t\t\t\tif( face.get( peer ) ) return\n\t\t\t\t\n\t\t\t\tconst pass = this.pass.get( peer )\n\t\t\t\tif( !pass ) $mol_fail( new Error( `No pass for Peer (${ peer })` ) )\n\t\t\t\t\n\t\t\t\tdelta.push( pass )\n\t\t\t\tpassed.add( peer )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ lord, unit ] of this.gift ) {\n\t\t\t\t\n\t\t\t\tconst time = face.get( unit.peer() ) ?? 0\n\t\t\t\tif( time >= unit.time() ) continue\n\t\t\t\t\n\t\t\t\tauth( unit.peer() )\n\t\t\t\tdelta.push( unit )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const kids of this.sand.values() ) {\n\t\t\t\tfor( const peers of kids.values() ) {\n\t\t\t\t\tfor( const unit of peers.values() ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst time = face.get( unit.peer() ) ?? 0\n\t\t\t\t\t\tif( time >= unit.time() ) continue\n\t\t\t\t\t\t\n\t\t\t\t\t\tauth( unit.peer() )\n\t\t\t\t\t\tdelta.push( unit )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ peer, unit ] of this.pass ) {\n\t\t\t\t\n\t\t\t\tif( passed.has( peer ) ) continue\n\t\t\t\tif( face.has( unit.peer() ) ) continue\n\t\t\t\t\n\t\t\t\tdelta.push( unit )\n\t\t\t\tpassed.add( peer )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( delta.length || this.faces.total <= this.faces.total ) return delta\n\t\t\t\n\t\t\tthis.$.$mol_log3_warn({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Unit Absent',\n\t\t\t\thint: 'Relax, Delta contains all Units to restore',\n\t\t\t\tface,\n\t\t\t})\n\t\t\t\n\t\t\treturn this.delta_unit()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes binary Delta between Face and current state. */\n\t\tdelta_pack( face = new $hyoo_crus_face_map ) {\n\t\t\t\n\t\t\tconst parts = this.delta_parts( face )\n\t\t\tif( !parts ) return null\n\t\t\t\n\t\t\tconst pack = $hyoo_crus_pack.make( parts )\n\t\t\t\n\t\t\treturn pack\n\t\t}\n\t\t\n\t\tdelta_parts( face = new $hyoo_crus_face_map ) {\n\t\t\t\n\t\t\tconst units = this.delta_unit( face )\n\t\t\tif( !units.length ) return null\n\t\t\t\n\t\t\tconst rocks = [] as [ Uint8Array< ArrayBuffer >, null | Uint8Array< ArrayBuffer > ][]\n\t\t\t\n\t\t\tfor( let unit of units ) {\n\t\t\t\t\n\t\t\t\tif( unit.kind() !== 'sand' ) continue\n\t\t\t\t\n\t\t\t\tconst sand = unit.narrow() as $hyoo_crus_sand\n\t\t\t\tif( sand.size() <= 32 ) continue\n\t\t\t\t\n\t\t\t\tconst rock = this.$.$hyoo_crus_mine.rock( sand.hash() ) ?? null\n\t\t\t\trocks.push([ sand.hash(), rock ])\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn {\n\t\t\t\tlands: {\n\t\t\t\t\t[ this.ref() ]: {\n\t\t\t\t\t\tfaces: new $hyoo_crus_face_map,\n\t\t\t\t\t\tunits,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trocks,\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tfaces_pack() {\n\t\t\tconst pack = $hyoo_crus_pack.make({\n\t\t\t\tlands: {\n\t\t\t\t\t[ this.ref() ]: { faces: this.faces, units: [] },\n\t\t\t\t},\n\t\t\t\trocks: [],\n\t\t\t})\n\t\t\treturn pack\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state with verify. */\n\t\t@ $mol_action\n\t\tapply_unit( delta: readonly $hyoo_crus_unit[], skip_check?: 'skip_check' ) {\n\t\t\t\n\t\t\tif( !delta.length ) return []\n\t\t\t\n\t\t\tif( !skip_check ) this.loading()\n\t\t\t\n\t\t\tconst doubt = delta.filter( unit => !$hyoo_crus_unit_trusted.has( unit ) )\n\t\t\tif( doubt.length ) {\n\t\t\t\tconst errors = $mol_wire_sync( this ).units_verify( doubt )\n\t\t\t\tif( errors.some( v => v ) ) return errors\n\t\t\t}\n\t\t\t\n\t\t\tconst errors = this.apply_unit_trust( delta, skip_check )\n\t\t\t\n\t\t\tfor( const unit of doubt ) $hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\treturn errors\n\t\t}\n\t\t\n\t\tasync units_verify( units: readonly $hyoo_crus_unit[] ) {\n\t\t\t\n\t\t\tconst passes = units.filter( unit => unit.kind() === 'pass' ) as $hyoo_crus_pass[]\n\t\t\tconst auth = new Map( passes.map( ( unit: $hyoo_crus_pass )=> [\n\t\t\t\tunit.peer(),\n\t\t\t\t$mol_crypto_key_public.from( unit.auth() ),\n\t\t\t] ) )\n\t\t\t\n\t\t\tconst mixin = $hyoo_crus_ref_encode( this.ref() )\n\t\t\tconst mixin_lord = $hyoo_crus_ref_encode( $hyoo_crus_ref_lord( this.ref() ) )\n\t\t\t\n\t\t\treturn await Promise.all( units.map( async unit => {\n\t\t\t\t\n\t\t\t\tlet key_public = this.key_public( unit.peer() )\n\t\t\t\tif( !key_public ) key_public = auth.get( unit.peer() ) ?? null\n\t\t\t\tif( !key_public ) return `No public key for peer (${unit.peer()})`\n\t\t\t\t\n\t\t\t\tconst sign = unit.sign()\n\t\t\t\t\n\t\t\t\tlet sens = unit.sens().slice()\n\t\t\t\tfor( let i = 0; i < mixin.length; ++i ) sens[i+2] ^= mixin[i]\n\t\t\t\tif( await key_public.verify( sens, sign ) ) return ''\n\t\t\t\t\n\t\t\t\tsens = unit.sens().slice()\n\t\t\t\tfor( let i = 0; i < mixin_lord.length; ++i ) sens[i+2] ^= mixin_lord[i]\n\t\t\t\tif( await key_public.verify( sens, sign ) ) return ''\n\t\t\t\t\n\t\t\t\treturn `Wrong unit sign`\n\t\n\t\t\t} ) )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state without verifying. */\n\t\t@ $mol_action\n\t\tapply_unit_trust( delta: readonly $hyoo_crus_unit[], skip_check?: 'skip_check' ) {\n\t\t\treturn delta.map( unit => {\n\t\t\t\t\n\t\t\t\tlet need_recheck = false\n\t\t\t\tconst res = unit.choose({\n\t\t\t\t\t\n\t\t\t\t\tpass: next => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst lord = next.lord()\n\t\t\t\t\t\tconst peer = next.peer()\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !skip_check && this.lord_rank( lord ) < next.rank_min() ) return 'Need reg rank to join'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst exists = this.pass.get( peer )\n\t\t\t\t\t\tif( exists ) return ''\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.pass.set( peer, next )\n\t\t\t\t\t\tthis.faces.time_max( peer, 0 )\n\t\t\t\t\t\tthis.faces.total ++\n\t\t\t\t\t\t\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tgift: next => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst peer = next.peer()\n\t\t\t\t\t\tconst dest = next.dest()\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !skip_check && this.peer_rank( peer ) < next.rank_min() ) return 'Need law rank to change rank'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst prev = this.gift.get( dest )\n\t\t\t\t\t\tif( prev && $hyoo_crus_gift.compare( prev, next ) <= 0 ) return ''\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.gift.set( dest, next )\n\t\t\t\t\t\tthis.faces.time_max( peer, next.time() )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !prev ) this.faces.total ++\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( ( prev?.rank() ?? $hyoo_crus_rank_deny ) > next.rank() ) need_recheck = true\n\t\t\t\t\t\t\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tsand: next => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst head = next.head()\n\t\t\t\t\t\tconst peer = next.peer()\n\t\t\t\t\t\tconst self = next.self()\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !skip_check && this.peer_rank( peer ) < next.rank_min() ) return 'Need mod rank to post data'\n\n\t\t\t\t\t\tlet peers = this.sand.get( head )\n\t\t\t\t\t\tif( !peers ) this.sand.set( head, peers = new $mol_wire_dict )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tlet units = peers.get( peer )\n\t\t\t\t\t\tif( !units ) peers.set( peer, units = new $mol_wire_dict )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tconst prev = units.get( self )\n\t\t\t\t\t\tif( prev && $hyoo_crus_sand.compare( prev, next ) <= 0 ) return ''\n\t\t\t\t\t\t\n\t\t\t\t\t\tunits.set( self, next )\n\t\t\t\t\t\tthis.self_all.set( self, next )\n\t\t\t\t\t\tthis.faces.time_max( peer, next.time() )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !prev ) this.faces.total ++\n\t\t\t\t\t\t\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\tif( need_recheck ) this.recheck()\n\t\t\t\treturn res ?? ''\n\t\t\t\t\n\t\t\t})\n\t\t}\n\t\t\n\t\tapply_land( land: $hyoo_crus_land ) {\n\t\t\treturn this.apply_unit( land.delta_unit() )\n\t\t}\n\t\t\n\t\trecheck() {\n\t\t\t\n\t\t\tfor( const [ peer, pass ] of this.pass ) {\n\t\t\t\tif( this.lord_rank( pass.lord() ) >= pass.rank_min() ) continue\n\t\t\t\tthis.pass.delete( peer )\n\t\t\t\tthis.faces.total --\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ lord, gift ] of this.gift ) {\n\t\t\t\tif( this.peer_rank( gift.peer() ) >= gift.rank_min() ) continue\n\t\t\t\tthis.gift.delete( lord )\n\t\t\t\tthis.faces.total --\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ head, peers ] of this.sand ) {\n\t\t\t\tfor( const [ peer, sands ] of peers ) {\n\t\t\t\t\tconst rank = this.peer_rank( peer )\n\t\t\t\t\tfor( const [ self, sand ] of sands ) {\n\t\t\t\t\t\tif( rank >= sand.rank_min() ) continue\n\t\t\t\t\t\tsands.delete( self )\n\t\t\t\t\t\tthis.faces.total --\n\t\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_action\n\t\tfork( preset: $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\tconst land = this.$.$hyoo_crus_glob.land_grab( preset )\n\t\t\tland.Tine().items_vary([ this.ref() ])\n\t\t\treturn land\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsand_ordered( { head, peer }: { head: string, peer: string | null } ) {\n\t\t\t\n\t\t\tthis.sync()\n\t\t\t// this.secret() // early async to prevent async on put\n\t\t\t\n\t\t\tconst queue = peer\n\t\t\t\t? [ ... this.sand.get( head )?.get( peer )?.values() ?? [] ]\n\t\t\t\t: [ ... this.sand.get( head )?.values() ?? [] ].flatMap( units => [ ... units.values() ] )\n\t\t\t\n\t\t\tconst slices = new Map\n\t\t\tfor( const sand of queue ) slices.set( sand, 0 )\n\t\t\t\n\t\t\tmerge: if( head !== $hyoo_crus_land_root.tine ) {\n\t\t\t\t\n\t\t\t\tconst tines = ( this.Tine()?.items_vary().slice().reverse() ?? [] )\n\t\t\t\t\t.map( $hyoo_crus_vary_cast_ref )\n\t\t\t\t\t.filter( $mol_guard_defined )\n\t\t\t\tif( !tines.length ) break merge\n\t\t\t\t\n\t\t\t\tconst exists = new Set( queue.map( sand => sand.self() ) )\n\t\t\t\t\n\t\t\t\tconst glob = this.$.$hyoo_crus_glob\n\t\t\t\tlet slice = 0\n\t\t\t\tfor( const ref of tines ) {\n\t\t\t\t\t++ slice\n\t\t\t\t\tconst land = glob.Land( ref )\n\t\t\t\t\tfor( const sand of land.sand_ordered({ head, peer }) ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( exists.has( sand.self() ) ) continue\n\t\t\t\t\t\tqueue.push( sand )\n\t\t\t\t\t\texists.add( sand.self() )\n\t\t\t\t\t\tslices.set( sand, slice )\n\t\t\t\t\t\t\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( queue.length < 2 ) return queue\n\t\t\t\n\t\t\tconst compare = ( left: $hyoo_crus_sand, right: $hyoo_crus_sand )=> {\n\t\t\t\treturn ( slices.get( left ) - slices.get( right ) ) || $hyoo_crus_sand.compare( left, right )\n\t\t\t}\n\t\t\t\n\t\t\tqueue.sort( compare )\n\t\t\t\n\t\t\tlet entry = {\n\t\t\t\tsand: null as null | $hyoo_crus_sand,\n\t\t\t\tnext: '',\n\t\t\t\tprev: '',\n\t\t\t}\n\t\t\t\n\t\t\tconst key = peer === null ? ( sand: $hyoo_crus_sand )=> sand.key() : ( sand: $hyoo_crus_sand )=> sand.self()\n\t\t\t\n\t\t\tconst by_key = new Map([ [ '', entry ] ])\n\t\t\tconst by_self = new Map([ [ '', entry ] ])\n\t\t\t\n\t\t\twhile( queue.length ) {\n\t\t\t\t\n\t\t\t\tconst last = queue.pop()!\n\t\t\t\tby_key.get( entry.prev )!.next = key( last )\n\t\t\t\t\n\t\t\t\tconst item = { sand: last, next: '', prev: entry.prev }\n\t\t\t\tby_key.set( key( last ), item )\n\t\t\t\t\n\t\t\t\tconst exists = by_self.get( last.self() )\n\t\t\t\tif( !exists || compare( exists.sand!, last ) < 0 ) {\n\t\t\t\t\tby_self.set( last.self(), item )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tentry.prev = key( last )\n\t\t\t\t\n\t\t\t\tfor( let cursor = queue.length - 1; cursor >= 0; --cursor ) {\n\t\t\t\t\t\n\t\t\t\t\tconst kid = queue[cursor]\n\t\t\t\t\t\n\t\t\t\t\tlet lead = by_self.get( kid.lead() )\n\t\t\t\t\tif( !lead ) continue\n\t\t\t\t\t\n\t\t\t\t\twhile( lead.next && ( compare( by_key.get( lead.next )!.sand!, kid ) < 0 ) ) lead = by_key.get( lead.next )!\n\t\t\t\t\t\n\t\t\t\t\tconst exists1 = by_key.get( key( kid ) )\n\t\t\t\t\tif( exists1 ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( ( lead.sand ? key( lead.sand ) : '' ) === exists1.prev ) {\n\t\t\t\t\t\t\texists1.sand = kid\n\t\t\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tby_key.get( exists1.prev )!.next = exists1.next\n\t\t\t\t\t\tby_key.get( exists1.next )!.prev = exists1.prev\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst follower = by_key.get( lead.next )!\n\t\t\t\t\tfollower.prev = key( kid )\n\t\t\t\t\t\n\t\t\t\t\tconst item = { sand: kid, next: lead.next, prev: lead.sand ? key( lead.sand ) : '' }\n\t\t\t\t\tby_key.set( key( kid ), item )\n\t\t\t\t\t\n\t\t\t\t\tconst exists2 = by_self.get( kid.self() )\n\t\t\t\t\tif( !exists2 || compare( exists2.sand!, kid ) < 0 ) {\n\t\t\t\t\t\tby_self.set( kid.self(), item )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tlead.next = key( kid )\n\t\t\t\t\t\n\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\tcursor = queue.length\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\tconst res = [] as $hyoo_crus_sand[]\n\t\t\t\n\t\t\twhile( entry.next ) {\n\t\t\t\tentry = by_key.get( entry.next )!\n\t\t\t\tres.push( entry.sand! )\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\t/** Register public key **/\n\t\t@ $mol_action\n\t\tjoin() {\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\t\n\t\t\tconst prev = this.pass.get( auth.peer() )\n\t\t\tif( prev ) return prev\n\t\t\t\n\t\t\tconst next = new $hyoo_crus_pass\n\t\t\t$hyoo_crus_unit_trusted.add( next )\n\t\t\tnext.auth( auth.public().asArray() )\n\t\t\tnext._land = this\n\t\t\t\n\t\t\tconst error = this.apply_unit([ next ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\tthis.broadcast()\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/**\n\t\t * Gives access rights to Lord by Auth key.\n\t\t * `null` - gives rights for all Peers.\n\t\t */\n\t\t@ $mol_action\n\t\tgive(\n\t\t\tdest: $hyoo_crus_auth | $hyoo_crus_ref | null,\n\t\t\trank: typeof $hyoo_crus_rank.Value,\n\t\t) {\n\t\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst unit = new $hyoo_crus_gift\n\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\tunit.rank( rank )\n\t\t\tunit.time( this.faces.tick() )\n\t\t\tunit.peer( auth.peer() )\n\t\t\tunit.dest( dest ? dest instanceof $hyoo_crus_auth ? dest.lord() : dest : $hyoo_crus_ref('') )\n\t\t\tunit._land = this\n\t\t\t\n\t\t\tif( rank >= $hyoo_crus_rank_read ) {\n\t\t\t\t\n\t\t\t\tconst secret_land = this.secret()\n\t\t\t\tif( secret_land ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !dest ) $mol_fail( new Error( `Encrypted land can't be shared to everyone` ) )\n\t\t\t\t\t\n\t\t\t\t\t// const prev = this.gift.get( dest instanceof $hyoo_crus_auth ? dest.lord() : dest )\n\t\t\t\t\t// if( prev && prev.rank() >= $hyoo_crus_rank_read ) {\n\t\t\t\t\t// \tunit.bill().set( prev.bill() ) // need reencrypt with new salt\n\t\t\t\t\t// } else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( typeof dest === 'symbol' ) {\n\t\t\t\t\t\t\t$mol_fail( new Error( `No pub key for lord (${ dest.description! })` ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\tconst secret_mutual = this.secret_mutual( dest.toString() )\n\t\t\t\t\t\tif( secret_mutual ) {\n\t\t\t\t\t\t\tconst secret_bin = $mol_wire_sync( secret_land ).serial()\n\t\t\t\t\t\t\tconst bill = $mol_wire_sync( secret_mutual ).encrypt( secret_bin, unit.salt() )\n\t\t\t\t\t\t\tunit.bill().set( bill )\n\t\t\t\t\t\t}\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\tconst error = this.apply_unit([ unit ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\tthis.broadcast()\n\t\t\treturn unit\n\t\t}\n\t\t\n\t\t/** Places data to tree. */\n\t\t@ $mol_action\n\t\tpost(\n\t\t\tlead: string,\n\t\t\thead: string,\n\t\t\tself: string,\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\t\n\t\t\tif( typeof vary === 'symbol' ) vary = $hyoo_crus_ref_relate( this.ref(), vary )\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst unit = new $hyoo_crus_sand\n\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\tunit.time( this.faces.tick() )\n\t\t\tunit.peer( auth.peer() )\n\t\t\tunit.lead( lead )\n\t\t\tunit.head( head )\n\t\t\tunit._vary = vary\n\t\t\tunit._land = this\n\t\t\t\n\t\t\tlet { tip, bin } = $hyoo_crus_vary_encode( vary )\n\t\t\tunit._open = bin\n\t\t\t\n\t\t\tif( vary !== null && this.encrypted() ) {\n\t\t\t\tunit.hash( $mol_crypto_hash( bin ), tip, tag )\n\t\t\t} else {\n\t\t\t\tif( bin.byteLength > 32 ) unit.hash( this.$.$hyoo_crus_mine.hash( bin ), tip, tag )\n\t\t\t\telse unit.data( bin, tip, tag )\n\t\t\t}\n\t\t\t\n\t\t\tunit.self( self || this.self_make( unit.idea() ) )\n\t\t\t\n\t\t\tconst error = this.apply_unit([ unit ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\tthis.broadcast()\n\t\t\treturn unit\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsand_move(\n\t\t\tsand: $hyoo_crus_sand,\n\t\t\thead: string,\n\t\t\tseat: number,\n\t\t\tpeer = '' as string | null\n\t\t) {\n\t\t\t\n\t\t\tif( sand.tip() === 'nil' ) $mol_fail( new RangeError( `Can't move wiped sand` ) )\n\t\t\t\n\t\t\tconst units = this.sand_ordered({ head, peer }).filter( unit => unit.tip() !== 'nil' )\n\t\t\tif( seat > units.length ) $mol_fail( new RangeError( `Seat (${seat}) out of units length (${units.length})` ) )\n\t\t\t\n\t\t\tconst lead = seat ? units[ seat - 1 ].self() : ''\n\t\t\tconst vary = this.sand_decode( sand )\n\t\t\t\n\t\t\tif( sand.head() === head ) {\n\t\t\t\t\n\t\t\t\tconst seat_prev = units.indexOf( sand )\n\t\t\t\t\n\t\t\t\tif( seat === seat_prev ) return\n\t\t\t\tif( seat === seat_prev + 1 ) return\n\t\t\t\t\n\t\t\t\tconst prev = seat_prev ? units[ seat_prev - 1 ].self() : ''\n\t\t\t\tconst next = units[ seat_prev + 1 ]\n\t\t\t\t\n\t\t\t\tif( next ) this.post(\n\t\t\t\t\tprev,\n\t\t\t\t\thead,\n\t\t\t\t\tnext.self(),\n\t\t\t\t\tthis.sand_decode( next ),\n\t\t\t\t\tnext.tag(),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.sand_wipe( sand )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn this.post(\n\t\t\t\tlead,\n\t\t\t\thead,\n\t\t\t\tsand.self(),\n\t\t\t\tvary,\n\t\t\t\tsand.tag(),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsand_wipe(\n\t\t\tsand: $hyoo_crus_sand,\n\t\t\tpeer = '' as string | null,\n\t\t) {\n\t\t\t\n\t\t\tconst head = sand.head()\n\t\t\tconst units = this.sand_ordered({ head, peer }).filter( unit => unit.tip() !== 'nil' )\n\t\t\tconst seat = units.indexOf( sand )\n\t\t\tif( seat < 0 ) return sand\n\t\t\t\n\t\t\treturn this.post(\n\t\t\t\tseat ? units[ seat - 1 ].self() : '',\n\t\t\t\thead,\n\t\t\t\tsand.self(),\n\t\t\t\tnull,\n\t\t\t\t'term',\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tbroadcast() {\n\t\t\tthis.$.$hyoo_crus_glob.yard().lands_news.add( this.ref() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\tthis.loading()\n\t\t\tthis.bus()\n\t\t\tthis.sync_mine()\n\t\t\tthis.sync_yard()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\tthis.$.$hyoo_crus_glob.yard().forget_land( this )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_mine() {\n\t\t\treturn new $mol_wire_atom( '', ()=> this.saving() ).fresh()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_yard() {\n\t\t\treturn new $mol_wire_atom( '', ()=> this.$.$hyoo_crus_glob.yard().sync_land( this.ref() ) ).fresh()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbus() {\n\t\t\treturn new this.$.$mol_bus< ArrayBuffer[] >(\n\t\t\t\t`$hyoo_crus_land:${ this.ref().description }`,\n\t\t\t\t$mol_wire_async( bins => {\n\t\t\t\t\t\n\t\t\t\t\tthis.apply_unit( bins.map( bin => {\n\t\t\t\t\t\tconst unit = new $hyoo_crus_unit( bin ).narrow()\n\t\t\t\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\t\t\tthis.$.$hyoo_crus_mine.units_persisted.add( unit )\n\t\t\t\t\t\treturn unit\n\t\t\t\t\t} ) )\n\t\t\t\t\t\n\t\t\t\t} ),\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tloading() {\n\t\t\t\n\t\t\t// $mol_wire_solid()\n\t\t\t\n\t\t\tlet units = this.unit_sort( this.$.$hyoo_crus_mine.units( this.ref() ) ?? [] )\n\t\t\t\n\t\t\tif( this.$.$hyoo_crus_log() ) $mol_wire_sync( this.$ ).$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Load Unit',\n\t\t\t\tunits: units.length,\n\t\t\t})\n\t\t\t\n\t\t\tconst errors = this.apply_unit( units, 'skip_check' ).filter( Boolean )\n\t\t\t\n\t\t\tif( errors.length ) this.$.$mol_log3_fail({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: errors.join( '\\n' ),\n\t\t\t})\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsaving() {\n\t\t\t\n\t\t\tconst mine = this.$.$hyoo_crus_mine\n\t\t\tif( !mine ) return\n\t\t\t\n\t\t\tthis.loading()\n\t\t\t\n\t\t\tconst encoding = [] as $hyoo_crus_sand[]\n\t\t\tconst signing = [] as $hyoo_crus_unit[]\n\t\t\tconst persisting = [] as $hyoo_crus_unit[]\n\t\t\t\n\t\t\tfor( const pass of this.pass.values() ) {\n\t\t\t\tif( !pass.signed() ) signing.push( pass )\n\t\t\t\tif( !mine.units_persisted.has( pass ) ) persisting.push( pass )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const gift of this.gift.values() ) {\n\t\t\t\tif( !gift.signed() ) signing.push( gift )\n\t\t\t\tif( !mine.units_persisted.has( gift ) ) persisting.push( gift )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const kids of this.sand.values() ) {\n\t\t\t\tfor( const units of kids.values() ) {\n\t\t\t\t\tfor( const sand of units.values() ) {\n\t\t\t\t\t\tif( !sand.signed() ) {\n\t\t\t\t\t\t\tencoding.push( sand )\n\t\t\t\t\t\t\tsigning.push( sand )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( !mine.units_persisted.has( sand ) ) persisting.push( sand )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_race( ... encoding.map( unit => ()=> this.sand_encode( unit ) ) )\n\t\t\t$mol_wire_race( ... signing.map( unit => ()=> this.unit_sign( unit ) ) )\n\t\t\t\n\t\t\tif( persisting.length )\t{\n\t\t\t\t\n\t\t\t\tthis.bus().send( persisting.map( unit => unit.buffer ) )\n\t\t\t\tmine.units( this.ref(), persisting )\n\t\t\t\n\t\t\t\tif( this.$.$hyoo_crus_log() ) $mol_wire_sync( this.$ ).$mol_log3_done({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: 'Saved Units',\n\t\t\t\t\tunits: persisting.length,\n\t\t\t\t})\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tunit_sign( unit: $hyoo_crus_unit ) {\n\t\t\tif( unit.signed() ) return\n\t\t\t\n\t\t\tconst key = $mol_wire_sync( unit._land!.auth() )\n\t\t\tconst mixin = $hyoo_crus_ref_encode( unit._land!.ref() )\n\t\t\t\n\t\t\tconst sens = unit.sens().slice()\n\t\t\tfor( let i = 0; i < mixin.length; ++i ) sens[i+2] ^= mixin[i]\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tconst sign = key.sign( sens )\n\t\t\t\tunit.sign( sign.slice( 0, 2 ) )\n\t\t\t\t\n\t\t\t\tconst rank = unit instanceof $hyoo_crus_pass\n\t\t\t\t\t? this.lord_rank( unit.lord() )\n\t\t\t\t\t: this.peer_rank( unit.peer() )\n\t\t\t\t\n\t\t\t\tif( rank >= unit.rank_min() ) {\n\t\t\t\t\tunit.sign( sign )\n\t\t\t\t\treturn\n\t\t\t\t} else {\n\t\t\t\t\tunit.sign( new Uint8Array([ 0, 0 ]) )\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_mem_key\n\t\tsand_encode( sand: $hyoo_crus_sand ) {\n\t\t\t\n\t\t\tif( sand._open === null ) return sand\n\t\t\tif( sand.tip() === 'nil' ) return sand\n\t\t\t\n\t\t\tlet bin = sand._open\n\t\t\tconst secret = sand._land!.secret()!\n\t\t\t\n\t\t\tif( secret ) bin = $mol_wire_sync( secret ).encrypt( bin, sand.salt() )\n\t\t\t\n\t\t\tif( bin.byteLength > 32 ) sand.hash( this.$.$hyoo_crus_mine.rock_save( bin ), sand.tip(), sand.tag() )\n\t\t\telse sand.data( bin, sand.tip(), sand.tag() )\n\t\t\t\n\t\t\treturn sand\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsand_decode( sand: $hyoo_crus_sand ): $hyoo_crus_vary_type {\n\t\t\t\n\t\t\ttry {\n\n\t\t\t\tlet vary = this.sand_decode_raw( sand )\n\t\t\t\tif( typeof vary === 'symbol' ) vary = $hyoo_crus_ref_resolve( this.ref(), vary )\n\t\t\t\treturn vary\n\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\treturn null\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsand_decode_raw( sand: $hyoo_crus_sand ): $hyoo_crus_vary_type {\n\t\t\t\n\t\t\tif( this.sand.get( sand.head() )?.get( sand.peer() )?.get( sand.self() ) !== sand ) {\n\t\t\t\tfor( const id of this.Tine().items_vary() ?? [] ) {\n\t\t\t\t\tconst vary = this.$.$hyoo_crus_glob.Land( $hyoo_crus_vary_cast_ref( id! )! ).sand_decode_raw( sand )\n\t\t\t\t\tif( vary !== undefined ) return vary\n\t\t\t\t}\n\t\t\t\treturn undefined!\n\t\t\t}\n\t\t\t\n\t\t\tconst secret = this.secret()\n\t\t\t\n\t\t\tif( sand._vary !== undefined ) return sand._vary\n\t\t\tif( sand._open !== null ) return sand._vary = $hyoo_crus_vary_decode({ tip: sand.tip(), bin: sand._open })\n\t\t\t\n\t\t\tlet bin = sand.size() > 32 ? this.$.$hyoo_crus_mine.rock( sand.hash() ) : sand.data()\n\t\t\tif( secret && bin && sand.tip() !== 'nil' ) {\n\t\t\t\ttry {\n\t\t\t\t\tbin = $mol_wire_sync( secret ).decrypt( bin, sand.salt() )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\t\tif( error.message ) $mol_fail_hidden( error )\n\t\t\t\t\t\telse $mol_fail_hidden( new Error( `Can't decrypt`, { cause: error } ) )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tsand._open = bin\n\t\t\treturn sand._vary = ( bin ? $hyoo_crus_vary_decode({ tip: sand.tip(), bin }) : null )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tkey_public( peer: string ) {\n\t\t\tconst key = this.pass.get( peer )?.auth()\n\t\t\treturn key ? $mol_crypto_key_public.from( key ) : null\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsecret_mutual( key_public: string ) {\n\t\t\treturn $mol_wire_sync( $mol_crypto_secret ).derive(\n\t\t\t\tthis.auth().toString(),\n\t\t\t\tkey_public,\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tencryptable() {\n\t\t\treturn !this.sand.size\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tencrypted( next?: boolean ) {\n\t\t\t\n\t\t\t// $mol_wire_solid()\n\t\t\t\n\t\t\tconst gift = this.gift.get( this.ref() )\n\t\t\tconst prev = gift?.bill().some( b => b ) ?? false\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( prev === next ) return prev\n\t\t\t\n\t\t\tif( !this.encryptable() ) $mol_fail( new Error( `Non empty Land never encrypted` ) )\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst secret = $mol_wire_sync( $mol_crypto_secret ).generate()\n\t\t\tconst secret_land = $mol_wire_sync( secret ).serial()\n\t\t\tconst secret_mutual = auth.secret_mutual( auth.public().toString() )\n\t\t\t\n\t\t\tconst unit = new $hyoo_crus_gift\n\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\tunit.rank( $hyoo_crus_rank_rule )\n\t\t\tunit.time( this.faces.tick() )\n\t\t\tunit.peer( auth.peer() )\n\t\t\tunit.dest( auth.lord() )\n\t\t\tunit._land = this\n\t\t\t\n\t\t\tconst secret_closed = $mol_wire_sync( secret_mutual ).encrypt( secret_land, unit.salt() )\n\t\t\tunit.bill().set( secret_closed )\n\t\t\t\n\t\t\tconst error = this.apply_unit([ unit ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsecret() {\n\t\t\t\n\t\t\tif( !this.encrypted() ) return null\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst gift = this.gift.get( auth.lord() )\n\t\t\tif( !gift ) return $mol_fail( new Error( `Access denied` ) )\n\t\t\t\n\t\t\tconst bill = gift.bill()\n\t\t\tif( !bill.some( b => b ) ) return $mol_fail( new Error( `No key to decrypt` ) )\n\t\t\t\n\t\t\tconst secret_mutual = auth.secret_mutual( this.key_public( gift.peer() )!.toString() )\n\t\t\tif( !secret_mutual ) return $mol_fail( new Error( `Can't decrypt secret` ) )\n\t\t\t\n\t\t\tconst secret_land = $mol_wire_sync( secret_mutual ).decrypt( bill, gift.salt() )\n\t\t\treturn $mol_wire_sync( $mol_crypto_secret ).from( secret_land )\n\t\t\t\n\t\t}\n\t\t\n\t\tdump() {\n\t\t\t\n\t\t\tthis.saving()\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crus_unit[]\n\t\t\tconst rocks = [] as [ Uint8Array< ArrayBuffer >, Uint8Array< ArrayBuffer > ][]\n\t\t\t\n\t\t\tfor( const pass of this.pass.values() ) units.push( pass )\n\t\t\tfor( const gift of this.gift.values() ) units.push( gift )\n\t\t\t\n\t\t\tfor( const heads of this.sand.values() ) {\n\t\t\t\tfor( const sands of heads.values() ) {\n\t\t\t\t\tfor( const sand of sands.values() ) {\n\t\t\t\t\t\tunits.push( sand )\n\t\t\t\t\t\tif( sand.size() <= 32 ) continue\n\t\t\t\t\t\tconst rock = this.$.$hyoo_crus_mine.rock( sand.hash() )\n\t\t\t\t\t\tif( !rock ) continue\n\t\t\t\t\t\trocks.push([ sand.hash(), rock ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {\n\t\t\t\tland: this.ref(),\n\t\t\t\tunits, rocks,\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_span( {},\n\t\t \t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( this.faces.total ),\n\t\t \t)\n\t\t }\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Kind of Unit */\n\texport enum $hyoo_crus_unit_kind {\n\t\t\n\t\t/** Public key. First writes wins. */\n\t\tpass = $hyoo_crus_part.pass,\n\t\t\n\t\t/** Rights sharing. More power wins. */\n\t\tgift = $hyoo_crus_part.gift,\n\t\t\n\t\t/** Changeable data. Last writes wins. */\n\t\tsand = $hyoo_crus_part.sand,\n\t\t\n\t}\n\t\n\texport let $hyoo_crus_unit_trusted = new WeakSet< $hyoo_crus_unit >()\n\t\n\t/** Minimal independent stable part of information. Actually it's edge between nodes in graph model */\n\texport class $hyoo_crus_unit extends $mol_buffer {\n\t\t\n\t\tstatic size = 128 as const\n\t\t\t\t\n\t\tconstructor(\n\t\t\tbuffer = new ArrayBuffer( $hyoo_crus_unit.size ),\n\t\t\tbyteOffset = 0,\n\t\t\tbyteLength = buffer.byteLength,\n\t\t) {\n\t\t\tsuper( buffer, byteOffset, byteLength )\n\t\t}\n\t\t\n\t\tkind(): keyof typeof $hyoo_crus_unit_kind {\n\t\t\t\n\t\t\tconst val = this.uint8( 0 )\n\t\t\tif( !val ) $mol_fail( new Error( `Empty unit` ) )\n\t\t\tif( ( val & 1 ) === 0 ) return 'sand'\n\t\t\t\n\t\t\tconst kind = $hyoo_crus_unit_kind[ val ] as keyof typeof $hyoo_crus_unit_kind\n\t\t\tif( kind ) return kind\n\t\t\t\n\t\t\t$mol_fail( new Error( `Unknown unit kind (${val})` ) )\n\t\t}\n\t\t\n\t\tchoose< Res >( ways: {\n\t\t\tpass: ( unit: $hyoo_crus_pass )=> Res,\n\t\t\tgift: ( unit: $hyoo_crus_gift )=> Res,\n\t\t\tsand: ( unit: $hyoo_crus_sand )=> Res,\n\t\t} ) {\n\t\t\tconst way = this.kind()\n\t\t\tconst Unit = {\n\t\t\t\tpass: $hyoo_crus_pass,\n\t\t\t\tgift: $hyoo_crus_gift,\n\t\t\t\tsand: $hyoo_crus_sand,\n\t\t\t}[ way ]\n\t\t\tif( this instanceof Unit ) return ways[ way ]( this as any )\n\t\t\tconst unit = new Unit( this.buffer, this.byteOffset, this.byteLength ) as any\n\t\t\treturn ways[ way ]( unit )\n\t\t}\n\t\t\n\t\tnarrow() {\n\t\t\treturn this.choose< $hyoo_crus_pass | $hyoo_crus_gift | $hyoo_crus_sand >({\n\t\t\t\tsand: unit => unit,\n\t\t\t\tpass: unit => unit,\n\t\t\t\tgift: unit => unit,\n\t\t\t})\n\t\t}\n\t\t\n\t\tkey(): string {\n\t\t\treturn this.narrow().key()\n\t\t}\n\t\t\n\t\tid6( offset: number, next?: string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst str = $mol_base64_ae_encode( new Uint8Array( this.buffer, this.byteOffset + offset, 6 ) )\n\t\t\t\treturn str === 'AAAAAAAA' ? '' : str\n\t\t\t} else {\n\t\t\t\tthis.asArray().set( $mol_base64_ae_decode( next || 'AAAAAAAA' ), this.byteOffset + offset )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\t\t\n\t\tid12( offset: number, next?: $hyoo_crus_ref ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $hyoo_crus_ref_decode( new Uint8Array( this.buffer, this.byteOffset + offset, 12 ) )\n\t\t\t} else {\n\t\t\t\tthis.asArray().set( $hyoo_crus_ref_encode( next ), this.byteOffset + offset )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\t\t\n\t\t_peer!: string\n\t\tpeer( next?: string ) {\n\t\t\tif( next === undefined && this._peer !== undefined ) return this._peer\n\t\t\telse return this._peer = this.id6( 2, next )\n\t\t}\n\t\t\n\t\tsalt() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 2, 16 )\n\t\t}\n\t\t\n\t\tsens( next?: ArrayLike< number > ) {\n\t\t\tconst prev = new Uint8Array( this.buffer, this.byteOffset, 64 )\n\t\t\tif( next ) prev.set( next )\n\t\t\treturn prev\n\t\t}\n\t\t\n\t\tmix( mixin: Uint8Array ) {\n\t\t\tfor( let i = 0; i < mixin.length; ++i ) {\n\t\t\t\tthis.uint8( 2 + i, this.uint8( 2 + i ) ^ mixin[i] )\n\t\t\t}\n\t\t}\n\t\t\n\t\tsign( next?: ArrayLike< number > ) {\n\t\t\tconst prev = new Uint8Array( this.buffer, this.byteOffset + 64, 64 )\n\t\t\tif( next ) prev.set( next )\n\t\t\treturn prev\n\t\t}\n\t\t\n\t\tsigned() {\n\t\t\treturn this.sign().some( b => b )\n\t\t}\n\t\t\n\t\twork() {\n\t\t\t\n\t\t\tif( !this.signed() ) {\n\t\t\t\treturn $hyoo_crus_rank_rate.just\n\t\t\t}\n\t\t\t\n\t\t\tconst sign = this.sign()\n\t\t\tlet int = sign[0] | ( sign[1] << 8 )\n\t\t\t\n\t\t\tlet count = 0\n\t\t\twhile( int & 1 ) {\n\t\t\t\tint >>>= 1\n\t\t\t\t++ count\n\t\t\t}\n\t\t\t\n\t\t\treturn count\n\t\t}\n\t\t\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank_rule\n\t\t}\n\t\t\n\t\t_land = null as null | $hyoo_crus_land\n\t\t\n\t\tdump() {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Public key of Peer */\n\texport class $hyoo_crus_pass extends $hyoo_crus_unit {\n\t\t\n\t\t_lord!: $hyoo_crus_ref\n\t\tlord( next?: $hyoo_crus_ref ) {\n\t\t\tif( next === undefined && this._lord !== undefined ) return this._lord\n\t\t\telse return this._lord = this.id12( 2, next )\n\t\t}\n\t\t\n\t\tkey(): string {\n\t\t\treturn `pass:${ this.id6( 2 ) }`\n\t\t}\n\t\t\n\t\tauth( next?: ArrayLike< number > ) {\n\t\t\tconst prev = new Uint8Array( this.buffer, this.byteOffset, 64 )\n\t\t\tif( next ) prev.set( next )\n\t\t\treturn prev\n\t\t}\n\t\t\n\t\tdump() {\n\t\t\treturn {\n\t\t\t\tkind: this.kind(),\n\t\t\t\tlord: this.lord().description!,\n\t\t\t}\n\t\t}\n\t\t\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank( $hyoo_crus_rank_tier.join | ( $hyoo_crus_rank_rate.just - this.work() ) )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.peer(),\n\t\t\t\t' 🔑 ',\n\t\t\t\t$mol_dev_format_span( {}, this.lord().description ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\n}\n","namespace $ {\n\t\n\t/** Given Rank and Secret */\n\texport class $hyoo_crus_gift extends $hyoo_crus_unit {\n\t\t\n\t\trank( next?: typeof $hyoo_crus_rank.Value ) {\n\t\t\t\n\t\t\tif( next !== undefined ) this.uint8( 0, $hyoo_crus_unit_kind.gift )\n\t\t\tconst res = this.uint8( 1, next ) as typeof $hyoo_crus_rank.Value\n\t\t\t\n\t\t\tif( res < $hyoo_crus_rank_deny || res > $hyoo_crus_rank_rule ) {\n\t\t\t\t$mol_fail( new RangeError( `Wrong rank ${ res }` ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttime( next?: number ) {\n\t\t\treturn this.uint48( 8, next )\n\t\t}\n\t\t\n\t\tfree() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 26, 6 )\n\t\t}\n\t\t\n\t\t_dest!: $hyoo_crus_ref\n\t\tdest( next?: $hyoo_crus_ref ) {\n\t\t\tif( next === undefined && this._dest !== undefined ) return this._dest\n\t\t\telse return this._dest = this.id12( 14, next )\n\t\t}\n\t\t\n\t\tkey(): string {\n\t\t\treturn `gift:${ this.dest().description! }`\n\t\t}\n\t\t\n\t\tbill() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, 32 )\n\t\t}\n\t\t\n\t\tstatic compare(\n\t\t\tleft: $hyoo_crus_gift,\n\t\t\tright: $hyoo_crus_gift,\n\t\t) {\n\t\t\treturn ( right.time() - left.time() ) || ( right.peer() > left.peer() ? 1 : right.peer() < left.peer() ? -1 : 0 )\n\t\t}\n\t\t\n\t\tdump() {\n\t\t\treturn {\n\t\t\t\tkind: this.kind(),\n\t\t\t\tpeer: this.peer(),\n\t\t\t\tdest: this.dest().description!,\n\t\t\t\ttier: $hyoo_crus_rank_tier[ this.rank() &~ $hyoo_crus_rank_rate.just ],\n\t\t\t\twork: this.work(),\n\t\t\t\ttime: $hyoo_crus_time_dump( this.time() ),\n\t\t\t}\n\t\t}\n\t\t\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank( $hyoo_crus_rank_rule | ( $hyoo_crus_rank_rate.just - this.work() ) )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.peer(),\n\t\t\t\t' 🏅 ',\n\t\t\t\t$mol_dev_format_span( {}, this.dest().description || '_' ),\n\t\t\t\tthis.bill().some( v => v ) ? ' 🔐' : ' 👀',\n\t\t\t\t$hyoo_crus_rank_tier[ this.rank() &~ $hyoo_crus_rank_rate.just ],\n\t\t\t\t':',\n\t\t\t\tthis.rank() & $hyoo_crus_rank_rate.just,\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_shade( $hyoo_crus_time_dump( this.time() ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crus_mine extends $mol_object {\n\t\t\n\t\tstatic unit_updates = 0\n\t\tstatic unit_appends = 0\n\t\tstatic rock_writes = 0\n\t\t\n\t\t/** SHA-1 hash of BLOB */\n\t\t@ $mol_mem_key\n\t\tstatic hash( blob: Uint8Array< ArrayBuffer > ) {\n\t\t\treturn $mol_crypto_hash( blob )\n\t\t}\n\t\t\n\t\t/** BLOB identified by Hash */\n\t\t@ $mol_mem_key\n\t\tstatic rock( hash: Uint8Array< ArrayBuffer >, next?: Uint8Array< ArrayBuffer > ): Uint8Array< ArrayBuffer > | null {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next ?? null\n\t\t}\n\t\t\n\t\t/** Saves BLOB to storage and returns it's Hash */\n\t\t@ $mol_action\n\t\tstatic rock_save( blob: Uint8Array< ArrayBuffer > ) {\n\t\t\tconst hash = this.hash( blob )\n\t\t\tthis.rock( hash, blob )\n\t\t\tthis.rock( hash ) // temp dep allow reap\n\t\t\treturn hash\n\t\t}\n\t\t\n\t\tstatic units_persisted = new WeakSet< $hyoo_crus_unit >()\n\t\t\n\t\t/** Sync loads/saves units. */\n\t\tstatic units( land: $hyoo_crus_ref, next?: readonly $hyoo_crus_unit[] ) {\n\t\t\tif( next ) return $mol_wire_sync( this ).units_save( land, next ), next\n\t\t\telse return $mol_wire_sync( this ).units_load( land )\n\t\t}\n\t\t\n\t\t/** Loads units from storage */\n\t\tstatic async units_load( land: $hyoo_crus_ref ) {\n\t\t\treturn [] as readonly $hyoo_crus_unit[]\n\t\t}\n\t\t\n\t\t/** Saves units to storage */\n\t\tstatic async units_save( land: $hyoo_crus_ref, units: readonly $hyoo_crus_unit[] ) {\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Converts IDBResult to Promise */\n\texport function $mol_db_response< Result >(\n\t\trequest: IDBRequest< Result >\n\t) {\n\t\t\n\t\treturn new Promise< Result >( ( done, fail )=> {\n\t\t\trequest.onerror = ()=> fail( new Error( request.error!.message ) )\n\t\t\trequest.onsuccess = ()=> done( request.result as Result )\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB ObjectStore wrapper. */\n\texport class $mol_db_store< Schema extends $mol_db_store_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBObjectStore,\n\t\t) {}\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget path() {\n\t\t\treturn this.native.keyPath\n\t\t}\n\t\t\n\t\tget incremental() {\n\t\t\treturn this.native.autoIncrement\n\t\t}\n\t\t\n\t\t/** Returns dictionary of all existen Indexes. */\n\t\tget indexes() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema['Indexes'] ]: $mol_db_index<{\n\t\t\t\t\t\tKey: Schema['Indexes'][ Name ],\n\t\t\t\t\t\tDoc: Schema['Doc'],\n\t\t\t\t\t}>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.indexNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.indexNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string )=> new $mol_db_index( this.native.index( name ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Index */\n\t\tindex_make(\n\t\t\tname: string,\n\t\t\tpath = [] as string[],\n\t\t\tunique = false,\n\t\t\tmultiEntry = false,\n\t\t) {\n\t\t\treturn this.native.createIndex( name, path, { multiEntry, unique } )\n\t\t}\n\t\t\n\t\t/** Drops existen Index */\n\t\tindex_drop( name: string ) {\n\t\t\tthis.native.deleteIndex( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn new $mol_db_transaction(\n\t\t\t\tthis.native.transaction\n\t\t\t)\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.transaction.db\n\t\t}\n\t\t\n\t\t/** Deletes all stored Documents */\n\t\tclear() {\n\t\t\treturn $mol_db_response( this.native.clear() )\n\t\t}\n\t\t\n\t\t/** Counts Documents by primary key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Stores single Document by primary key. */\n\t\tput( doc: Schema['Doc'], key?: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.put( doc, key ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t\t/** Deletes Documents by primary key(s). */\n\t\tdrop( keys: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.delete( keys ) )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB Index wrapper. */\n\texport class $mol_db_index< Schema extends $mol_db_index_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBIndex,\n\t\t) { }\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget paths() {\n\t\t\treturn this.native.keyPath as string[]\n\t\t}\n\t\t\n\t\tget unique() {\n\t\t\treturn this.native.unique\n\t\t}\n\t\t\n\t\tget multiple() {\n\t\t\treturn this.native.multiEntry\n\t\t}\n\t\t\n\t\tget store() {\n\t\t\treturn new $mol_db_store(\n\t\t\t\tthis.native.objectStore\n\t\t\t)\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn this.store.transaction\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.store.db\n\t\t}\n\t\t\n\t\t/** Counts Documents by key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Creates new or returns existen database with automatic schema migration.\n\t * Schema version is based on migrations count.\n\t * Migrations code mustn't be changed after deploy.\n\t * Only adding migrations at the end is allowed.\n\t * Only new migrations will be applyed to existen DB.\n\t * Schema changes allowed only through migratios. \n\t */\n\texport async function $mol_db< Schema extends $mol_db_schema >(\n\t\tthis: $,\n\t\tname: string,\n\t\t... migrations: ( ( transaction: $mol_db_transaction< $mol_db_schema > )=> void )[]\n\t) {\n\t\t\n\t\tconst request = this.$mol_dom_context.indexedDB.open( name, migrations.length ? migrations.length + 1 : undefined )\n\t\t\n\t\trequest.onupgradeneeded = event => {\n\t\t\t\n\t\t\tmigrations.splice( 0, event.oldVersion - 1 )\n\t\t\tconst transaction = new $mol_db_transaction( request.transaction! )\n\t\t\t\n\t\t\tfor( const migrate of migrations ) migrate( transaction )\n\t\t\t\n\t\t}\n\t\t\n\t\tconst db = await $mol_db_response( request )\n\t\t\n\t\treturn new $mol_db_database< Schema >( db )\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB instance wrapper. */\n\texport class $mol_db_database< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBDatabase,\n\t\t) { }\n\t\t\n\t\t/** Returns database name. */\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\t/** Returns database schema version. */\n\t\tget version() {\n\t\t\treturn this.native.version\n\t\t}\n\t\t\n\t\t/** Returns all stores names. */\n\t\tget stores() {\n\t\t\treturn [ ... this.native.objectStoreNames ] as ( keyof Schema )[]\n\t\t}\n\t\t\n\t\t/** Create read-only transaction. */\n\t\tread< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readonly', { durability: 'relaxed' } )\n\t\t\t).stores\n\t\t}\n\t\t\n\t\t/** Create read/write transaction. */\n\t\tchange< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readwrite', { durability: 'relaxed' } )\n\t\t\t)\n\t\t}\n\t\t\n\t\t/**\n\t\t * Deletes database.\n\t\t * DB can be deleted only after end of all transactions.\n\t\t */\n\t\tkill() {\n\t\t\t\n\t\t\tthis.native.close()\n\t\t\t\n\t\t\tconst request = $mol_dom_context.indexedDB.deleteDatabase( this.name )\n\t\t\t\n\t\t\trequest.onblocked = console.warn\n\t\t\treturn $mol_db_response( request )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Closes DB connection.\n\t\t * Connection really be closed only after end of all transactions.\n\t\t */\n\t\tdestructor() {\n\t\t\tthis.native.close()\n\t\t}\n\t\t\n\t}\n\t\n}\n","interface IDBTransaction {\n\tcommit(): void\n}\n\nnamespace $ {\n\t\n\t/** IndexedDB Transaction wrapper. */\n\texport class $mol_db_transaction< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBTransaction,\n\t\t) {}\n\t\t\n\t\t/** Returns dictionary of all existen Stores. */\n\t\tget stores() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema ]: $mol_db_store< Schema[ Name ] >\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.objectStoreNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.objectStoreNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string, proxy )=> ( name in proxy )\n\t\t\t\t\t\t? new $mol_db_store( this.native.objectStore( name ) )\n\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Store */\n\t\tstore_make( name: string ) {\n\t\t\treturn this.native.db.createObjectStore( name, { autoIncrement: true } )\n\t\t}\n\t\t\n\t\t/** Drops existen Store */\n\t\tstore_drop( name: string ) {\n\t\t\tthis.native.db.deleteObjectStore( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t/** Instant abort transaction. Any errors aborts transactions automatically. */\n\t\tabort() {\n\t\t\tif( this.native.error ) return\n\t\t\tthis.native.abort()\n\t\t}\n\t\t\n\t\t/** Instant commits transaction. Without errors commit proceed automatically later. */\n\t\tcommit() {\n\t\t\t\n\t\t\tthis.native.commit?.()\n\t\t\t\n\t\t\treturn new Promise< void >( ( done, fail )=> {\n\t\t\t\tthis.native.onerror = ()=> fail( new Error( this.native.error!.message ) )\n\t\t\t\tthis.native.oncomplete = ()=> done()\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn new $mol_db_database(\n\t\t\t\tthis.native.db\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crus_mine_idb extends $hyoo_crus_mine {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic rock( hash: Uint8Array< ArrayBuffer >, next?: Uint8Array< ArrayBuffer > ): Uint8Array< ArrayBuffer > | null {\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.rock( hash ) )\n\t\t\tif( prev ) return prev\n\t\t\t\n\t\t\tif( next ) {\n\t\t\t\tthis.rock_change().then( Rock => Rock.put( next.buffer, [ hash ] ) )\n\t\t\t\treturn next\n\t\t\t} else {\n\t\t\t\tconst buf = $mol_wire_sync( this.rock_read() ).get([ hash ])\n\t\t\t\treturn buf ? new Uint8Array( buf ) : null\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic rock_read() {\n\t\t\tconst db = this.db_sync()\n\t\t\treturn $mol_wire_sync( db ).read( 'Rock' ).Rock\n\t\t}\n\t\t\n\t\tstatic async rock_change() {\n\t\t\tconst db = await this.db()\n\t\t\treturn db.change( 'Rock' ).stores.Rock\n\t\t}\n\t\t\n\t\tstatic async units_save( land: $hyoo_crus_ref, units: readonly $hyoo_crus_unit[] ) { $hyoo_crus_land\n\t\t\t\n\t\t\tconst land_ref = land.description!\n\t\t\tconst db = await this.db()\n\t\t\tconst change = db.change( 'Land' )\n\t\t\tconst { Land } = change.stores\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tLand.put( unit.buffer, [ land_ref, unit.key() ] )\n\t\t\t\tthis.units_persisted.add( unit )\n\t\t\t}\n\t\t\t\n\t\t\tawait change.commit()\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async units_load( land: $hyoo_crus_ref ) {\n\t\t\t\n\t\t\tconst db = await this.db()\n\t\t\tconst { Land } = db.read( 'Land' )\n\t\t\tconst land_ref = land.description\n\t\t\tconst land_key = IDBKeyRange.bound( [ land_ref, '' ], [ land_ref, '\\uFFFF' ] )\n\t\t\tconst res = await Land.select( land_key )\n\t\t\t\n\t\t\tconst units = res.map( bin => new $hyoo_crus_unit( bin ).narrow() )\n\t\t\tfor( const unit of units ) {\n\t\t\t\tthis.units_persisted.add( unit )\n\t\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t}\n\t\t\t\n\t\t\treturn units\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic db_sync() {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).db()\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tstatic async db() {\n\t\t\t\n\t\t\treturn await this.$.$mol_db<{\n\t\t\t\tRock: {\n\t\t\t\t\tKey: [ hash: Uint8Array< ArrayBuffer > ]\n\t\t\t\t\tDoc: ArrayBuffer\n\t\t\t\t\tIndexes: {}\n\t\t\t\t}\n\t\t\t\tLand: {\n\t\t\t\t\tKey: [ land: string, path: string ]\n\t\t\t\t\tDoc: ArrayBuffer\n\t\t\t\t\tIndexes: {}\n\t\t\t\t}\n\t\t\t}>( '$hyoo_crus',\n\t\t\t\tmig => mig.store_make( 'Rock' ),\n\t\t\t\tmig => mig.store_make( 'Land' ),\n\t\t\t\tmig => mig.stores.Land.clear(),\n\t\t\t\tmig => mig.stores.Land.clear(),\n\t\t\t\tmig => mig.stores.Land.clear(),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$.$hyoo_crus_mine = $hyoo_crus_mine_idb\n}\n","namespace $ {\n\n\t/** Hint how interpret inner Units: term, solo, vals, keys */\n\texport enum $hyoo_crus_sand_tag {\n\t\t/** Itself value. Ignore */\n\t\tterm = 0b00,\n\t\t/** Value in first sub node. Ignore all after first */\n\t\tsolo = 0b01,\n\t\t/** List of values */\n\t\tvals = 0b10,\n\t\t/** List of keys */\n\t\tkeys = 0b11,\n\t}\n\n\t/** (Meta) Data */\n\texport class $hyoo_crus_sand extends $hyoo_crus_unit {\n\n\t\t_vary = undefined as undefined | $hyoo_crus_vary_type\n\t\t_open = null as null | Uint8Array< ArrayBuffer >\n\n\t\thint(\n\t\t\ttip: keyof typeof $hyoo_crus_vary_tip = 'nil',\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tthis.uint8( 0, ( $hyoo_crus_sand_tag[ tag ] << 1 ) | ( $hyoo_crus_vary_tip[ tip ] << 3 ) )\n\t\t}\n\n\t\ttag() {\n\t\t\treturn $hyoo_crus_sand_tag[ ( this.uint8( 0 ) >> 1 ) & 0b11 ] as keyof typeof $hyoo_crus_sand_tag\n\t\t}\n\n\t\ttip() {\n\t\t\tconst tip = $hyoo_crus_vary_tip[ this.uint8( 0 ) >> 3 ] || $hyoo_crus_vary_tip.nil\n\t\t\t// if( !tip ) $mol_fail( new Error( 'Empty tip' ) )\n\t\t\treturn tip as keyof typeof $hyoo_crus_vary_tip\n\t\t}\n\n\t\tutf() {\n\t\t\treturn Boolean( this.uint8( 0 ) & 0b10000000 )\n\t\t}\n\n\t\tsize( next?: number ) {\n\t\t\treturn this.uint8( 1, next )\n\t\t}\n\n\t\ttime( next?: number ) {\n\t\t\treturn this.uint48( 8, next )\n\t\t}\n\n\t\t_head!: string\n\t\thead( next?: string ) {\n\t\t\tif( next === undefined && this._head !== undefined ) return this._head\n\t\t\telse return this._head = this.id6( 14, next )\n\t\t}\n\n\t\t_self!: string\n\t\tself( next?: string ) {\n\t\t\tif( next === undefined && this._self !== undefined ) return this._self\n\t\t\telse return this._self = this.id6( 20, next )\n\t\t}\n\n\t\tkey(): string {\n\t\t\treturn `sand:${ this.head() }/${ this.peer() }/${ this.self() }`\n\t\t}\n\n\t\t_lead!: string\n\t\tlead( next?: string ) {\n\t\t\tif( next === undefined && this._lead !== undefined ) return this._lead\n\t\t\telse return this._lead = this.id6( 26, next )\n\t\t}\n\n\t\thash(\n\t\t\tnext?: Uint8Array< ArrayBuffer >,\n\t\t\ttip: keyof typeof $hyoo_crus_vary_tip = 'nil' as const,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tconst bin = new Uint8Array( this.buffer, this.byteOffset + 32, 20 )\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.hint( tip, tag )\n\t\t\t\tthis.size( 255 )\n\t\t\t\tbin.set( next )\n\t\t\t}\n\t\t\tif( this.size() > 32 ) return bin\n\t\t\t$mol_fail( new Error( 'No stored hash' ) )\n\t\t}\n\n\t\tmeta() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 42, 12 )\n\t\t}\n\n\t\tdata(\n\t\t\tnext?: Uint8Array< ArrayBuffer >,\n\t\t\ttip: keyof typeof $hyoo_crus_vary_tip = 'nil',\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst size = this.size()\n\t\t\t\tif( size > 32 ) $mol_fail( new Error( 'Too long data' ) )\n\t\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, size )\n\t\t\t} else {\n\t\t\t\tthis.hint( tip, tag )\n\t\t\t\tif( next.byteLength > 32 ) $mol_fail( new Error( 'Too long data' ) )\n\t\t\t\tthis.uint8( 1, next.byteLength )\n\t\t\t\tconst bin = new Uint8Array( this.buffer, this.byteOffset + 32, next.byteLength )\n\t\t\t\tbin.set( next )\n\t\t\t\tnew Uint8Array( this.buffer, this.byteOffset + 32 + next.length, 32 - next.length ).fill( 0 )\n\t\t\t\treturn bin\n\t\t\t}\n\t\t}\n\n\t\tidea() {\n\t\t\tconst bin = new Uint8Array( this.buffer, this.byteOffset + 20, 44 )\n\t\t\tconst hash = $mol_crypto_hash( bin )\n\t\t\tconst buf = new $mol_buffer( hash.buffer )\n\t\t\treturn buf.uint48( 0 )\n\t\t}\n\n\t\t/**\n\t\t * Compare Sands on timeline ( right - left )\n\t\t * Priority: time > peer > tick\n\t\t */\n\t\tstatic compare(\n\t\t\tleft: $hyoo_crus_sand,\n\t\t\tright: $hyoo_crus_sand,\n\t\t) {\n\t\t\treturn ( Math.floor( right.time() / 65536 ) - Math.floor( left.time() / 65536 ) )\n\t\t\t\t|| ( right.peer() > left.peer() ? 1 : right.peer() < left.peer() ? -1 : 0 )\n\t\t\t\t|| ( right.time() - left.time() )\n\t\t}\n\n\t\tdump() {\n\t\t\treturn {\n\t\t\t\tkind: this.kind(),\n\t\t\t\tpeer: this.peer(),\n\t\t\t\tlead: this.lead(),\n\t\t\t\thead: this.head(),\n\t\t\t\tself: this.self(),\n\t\t\t\ttip: this.tip(),\n\t\t\t\ttag: this.tag(),\n\t\t\t\tsize: this.size(),\n\t\t\t\ttime: $hyoo_crus_time_dump( this.time() ),\n\t\t\t}\n\t\t}\n\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank( $hyoo_crus_rank_tier.post | ( $hyoo_crus_rank_rate.just - this.work() ) )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\tthis.peer(),\n\t\t\t\t' ',\n\t\t\t\tthis.lead() || 'AAAAAAAA',\n\t\t\t\t$mol_dev_format_shade( '\\\\' ),\n\t\t\t\t$mol_dev_format_accent( this.head() || 'AAAAAAAA' ),\n\t\t\t\t$mol_dev_format_shade( '/' ),\n\t\t\t\tthis.self() || 'AAAAAAAA',\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_shade( $hyoo_crus_time_dump( this.time() ) ),\n\t\t\t\t' ',\n\t\t\t\t{\n\t\t\t\t\tterm: '💼',\n\t\t\t\t\tsolo: '1️⃣',\n\t\t\t\t\tvals: '🎹',\n\t\t\t\t\tkeys: '🔑',\n\t\t\t\t}[ this.tag() ],\n\t\t\t\tthis.tip(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_native( this._vary ) //??\n\t\t\t\t// ( this.size() > 32\n\t\t\t\t// \t? $mol_dev_format_shade( this.hash() )\n\t\t\t\t// \t: $mol_dev_format_native( $hyoo_crus_vary_decode({ tip: this.tip(), bin: this.data() }) )\n\t\t\t\t// ),\n\t\t\t)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Virtual Node that represents contained units as high-level data types. */\n\texport class $hyoo_crus_node extends $mol_object {\n\t\t\n\t\tstatic tag: keyof typeof $hyoo_crus_sand_tag = 'vals'\n\t\t\n\t\t/** Standalone part of Glob which syncs separately, have own rights, and contains Units */\n\t\tland() {\n\t\t\treturn null as any as $hyoo_crus_land\n\t\t}\n\t\t\n\t\t/** Land local Node id */\n\t\thead() {\n\t\t\treturn ''\n\t\t}\n\t\t\n\t\t/** Reference to Land/Lord. */\n\t\tland_ref() {\n\t\t\treturn this.land()?.ref() ?? this.$.$hyoo_crus_auth.current().lord()\n\t\t}\n\t\t\n\t\t/** Reference to Node/Land/Lord. */\n\t\t@ $mol_memo.method\n\t\tref() {\n\t\t\treturn $hyoo_crus_ref_resolve( this.land_ref(), $hyoo_crus_ref( '___' + this.head() ) )\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.ref().description\n\t\t}\n\t\t\n\t\t/** Returns another representation of this node. */\n\t\t@ $mol_mem_key\n\t\tcast< Node extends typeof $hyoo_crus_node >( Node: Node ): InstanceType< Node > {\n\t\t\treturn this.land().Node( Node ).Item( this.head() )\n\t\t}\n\t\t\n\t\t/** Ordered inner alive Node. */\n\t\t@ $mol_mem_key\n\t\tnodes< Node extends typeof $hyoo_crus_node >( Node: Node | null ): readonly InstanceType< Node >[] {\n\t\t\tconst land = this.land()\n\t\t\tconst map = {\n\t\t\t\tterm: ()=> land.Node( Node || $hyoo_crus_atom_vary ),\n\t\t\t\tsolo: ()=> land.Node( Node || $hyoo_crus_atom_vary ),\n\t\t\t\tvals: ()=> land.Node( Node || $hyoo_crus_list_vary ),\n\t\t\t\tkeys: ()=> land.Node( Node || $hyoo_crus_dict ),\n\t\t\t}\n\t\t\treturn this.units().map( unit => map[ unit.tag() ]().Item( unit.self() ) ) as any\n\t\t}\n\t\t\n\t\t/** All ordered alive Units */\n\t\tunits() {\n\t\t\treturn this.units_of( '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tunits_of( peer: string | null ) {\n\t\t\treturn this.land().sand_ordered({ head: this.head(), peer }).filter( unit => unit.tip() !== 'nil' )\n\t\t}\n\t\t\n\t\tfilled() {\n\t\t\treturn this.units().length > 0\n\t\t}\n\t\t\n\t\t/** Ability to make changes by current peer. */\n\t\tcan_change() {\n\t\t\treturn this.land().lord_rank( this.land().auth().lord() ) >= $hyoo_crus_rank_tier.join\n\t\t}\n\t\t\n\t\t/** Time of last changed unit inside Node subtree */\n\t\t@ $mol_mem\n\t\tlast_change() {\n\t\t\t\n\t\t\tconst land = this.land()\n\t\t\tlet last = 0\n\t\t\t\n\t\t\tconst visit = ( sand: $hyoo_crus_sand )=> {\n\t\t\t\tif( sand.time() > last ) last = sand.time()\n\t\t\t\tif( sand.tag() === 'term' ) return\n\t\t\t\tland.Node( $hyoo_crus_node ).Item( sand.self() ).units().forEach( visit )\n\t\t\t}\n\t\t\tthis.units().forEach( visit )\n\t\t\t\n\t\t\treturn last ? $hyoo_crus_time_moment( last ) : null\n\t\t\t\n\t\t}\n\t\t\n\t\t/** All author Peers of Node subtree */\n\t\t@ $mol_mem\n\t\tauthor_peers() {\n\t\t\t\n\t\t\tconst land = this.land()\n\t\t\tconst peers = new Set< string >()\n\t\t\t\n\t\t\tconst visit = ( sand: $hyoo_crus_sand )=> {\n\t\t\t\tpeers.add( sand.peer() )\n\t\t\t\tif( sand.tag() === 'term' ) return\n\t\t\t\tland.Node( $hyoo_crus_node ).Item( sand.self() ).units_of( null ).forEach( visit )\n\t\t\t}\n\t\t\tthis.units_of( null ).forEach( visit )\n\t\t\t\n\t\t\treturn [ ... peers ]\n\t\t\t\n\t\t}\n\t\t\n\t\t/** All author Lords of Node subtree */\n\t\t@ $mol_mem\n\t\tauthor_lords() {\n\t\t\tconst land = this.land()\n\t\t\treturn this.author_peers()\n\t\t\t\t.map( peer => land.pass.get( peer )?.lord() )\n\t\t\t\t.filter( $mol_guard_defined )\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_reconcile< Prev, Next >( {\n\t\tprev,\n\t\tfrom,\n\t\tto,\n\t\tnext,\n\t\tequal,\n\t\tdrop,\n\t\tinsert,\n\t\tupdate,\n\t\treplace,\n\t}: {\n\t\tprev: readonly Prev[],\n\t\tfrom: number,\n\t\tto: number,\n\t\tnext: ArrayLike,\n\t\tequal: ( next: Next, prev: Prev )=> boolean,\n\t\tdrop: ( prev: Prev, lead: Prev | null )=> Prev | null,\n\t\tinsert: ( next: Next, lead: Prev | null )=> Prev,\n\t\tupdate?: ( next: Next, prev: Prev, lead: Prev | null )=> Prev,\n\t\treplace?: ( next: Next, prev: Prev, lead: Prev | null )=> Prev,\n\t} ) {\n\t\t\n\t\tif( !update ) update = ( next, prev, lead )=> prev\n\t\tif( !replace ) replace = ( next, prev, lead )=> insert( next, drop( prev, lead ) )\n\t\t\n\t\tif( to > prev.length ) to = prev.length // $mol_fail( new RangeError( `To(${ to }) greater then length(${ prev.length })` ) )\n\t\tif( from > to ) from = to // $mol_fail( new RangeError( `From(${ to }) greater then to(${ to })` ) )\n\t\n\t\tlet p = from\n\t\tlet n = 0\n\t\tlet lead = p ? prev[ p - 1 ] : null\n\t\t\n\t\twhile( p < to || n < next.length ) {\n\t\t\t\n\t\t\tif( p < to && n < next.length && equal( next[n], prev[p] ) ) {\n\t\t\t\t\n\t\t\t\tlead = update( next[n], prev[p], lead )\n\t\t\t\t++ p\n\t\t\t\t++ n\n\t\t\t\t\n\t\t\t} else if( next.length - n > to - p ) {\n\t\t\t\t\n\t\t\t\tlead = insert( next[n], lead )\n\t\t\t\t++ n\n\t\t\t\t\n\t\t\t} else if( next.length - n < to - p ) {\n\t\t\t\t\n\t\t\t\tlead = drop( prev[p], lead )\n\t\t\t\t++ p\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tlead = replace( next[n], prev[p], lead )\n\t\t\t\t++ p\n\t\t\t\t++ n\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Reactive convergent list. */\n\texport class $hyoo_crus_list_vary extends $hyoo_crus_node {\n\t\t\n\t\tstatic tag = $hyoo_crus_sand_tag[ $hyoo_crus_sand_tag.vals ] as keyof typeof $hyoo_crus_sand_tag\n\t\t\n\t\t/** All Vary in the list. */\n\t\t@ $mol_mem\n\t\titems_vary(\n\t\t\tnext?: readonly $hyoo_crus_vary_type[],\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t): readonly $hyoo_crus_vary_type[] {\n\t\t\t\n\t\t\tconst units = this.units()\n\t\t\tif( next === undefined ) return units.map( unit => this.land().sand_decode( unit ) )\n\t\t\t\n\t\t\tthis.splice( next, 0, units.length, tag )\n\t\t\treturn this.items_vary()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Replace sublist by new one with reconciliation. */\n\t\t@ $mol_action\n\t\tsplice(\n\t\t\tnext: readonly $hyoo_crus_vary_type[],\n\t\t\tfrom = this.units().length,\n\t\t\tto = from,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tconst land = this.land()\n\t\t\t$mol_reconcile({\n\t\t\t\tprev: this.units(),\n\t\t\t\tfrom,\n\t\t\t\tto,\n\t\t\t\tnext,\n\t\t\t\tequal: ( next, prev )=> $mol_compare_deep( this.land().sand_decode( prev ), next ),\n\t\t\t\tdrop: ( prev, lead )=> this.land().post( lead?.self() ?? '', prev.head(), prev.self(), null ),\n\t\t\t\tinsert: ( next, lead )=> this.land().post( lead?.self() ?? '', this.head(), land.self_make(), next, tag ),\n\t\t\t\treplace: ( next, prev, lead )=> this.land().post( lead?.self() ?? '', prev.head(), prev.self(), next, prev.tag() ),\n\t\t\t})\n\t\t}\n\t\t\n\t\t/** Unit by Vary. */\n\t\tfind( vary: $hyoo_crus_vary_type ) {\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( $mol_compare_deep( this.land().sand_decode( unit ), vary ) ) return unit\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t/** Existence of Vary in the list. */\n\t\thas(\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\tnext?: boolean,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tif( next === undefined ) return Boolean( this.find( vary ) )\n\t\t\tif( next ) this.add( vary, tag )\n\t\t\telse this.cut( vary )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/** Add Vary a the beginning if it doesn't exists. */\n\t\tadd(\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tif( this.has( vary ) ) return\n\t\t\tthis.land().post( '', this.head(), '', vary, tag )\n\t\t}\n\t\t\n\t\t/** Removes all Vary presence. */\n\t\tcut( vary: $hyoo_crus_vary_type ) {\n\t\t\t\n\t\t\tconst units = [ ... this.units() ]\n\t\t\tfor( let i = 0; i < units.length; ++ i ) {\n\t\t\t\t\n\t\t\t\tif( ! $mol_compare_deep( this.land().sand_decode( units[i] ), vary ) ) continue\n\t\t\t\t\n\t\t\t\tthis.land().post(\n\t\t\t\t\tunits[i-1]?.self() ?? 0,\n\t\t\t\t\tunits[i].head(),\n\t\t\t\t\tunits[i].self(),\n\t\t\t\t\tnull,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tunits.splice( i, 1 )\n\t\t\t\t-- i\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves item from one Seat to another. */\n\t\tmove( from: number, to: number ) {\n\t\t\tthis.land().sand_move( this.units()[ from ], this.head(), to )\n\t\t}\n\t\t\n\t\t/** Remove item by Seat. */\n\t\twipe( seat: number ) {\n\t\t\tthis.land().sand_wipe( this.units()[ seat ] )\n\t\t}\n\t\t\n\t\t/** Add vary at the end and use maked Self as Node Head. */\n\t\tnode_make< Node extends typeof $hyoo_crus_node >(\n\t\t\tNode: Node,\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tthis.splice( [ vary ], undefined, undefined, tag )\n\t\t\treturn this.land().Node( Node ).Item( this.units().at(-1)!.self() )\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( this.items_vary() ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\n\t/** Mergeable list of atomic vary type factory */\n\texport function $hyoo_crus_list<\n\t\tParse extends $mol_data_value\n\t>( parse: Parse ) {\n\n\t\tabstract class $hyoo_crus_list extends $hyoo_crus_list_vary {\n\n\t\t\tstatic parse = parse;\n\n\t\t\t@ $mol_mem\n\t\t\titems( next?: readonly ReturnType< Parse >[] ): readonly ReturnType< Parse >[] {\n\t\t\t\treturn this.items_vary( next?.map( parse ) ).map( parse )\n\t\t\t}\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_list ? '$hyoo_crus_list<' + this.$.$mol_func_name( parse ) + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn $hyoo_crus_list\n\t}\n\n\t/** Mergeable list of atomic non empty binaries */\n\texport class $hyoo_crus_list_bin extends $hyoo_crus_list( $hyoo_crus_vary_cast_bin ) {}\n\t/** Mergeable list of atomic booleans */\n\texport class $hyoo_crus_list_bool extends $hyoo_crus_list( $hyoo_crus_vary_cast_bool ) {}\n\t/** Mergeable list of atomic int64s */\n\texport class $hyoo_crus_list_int extends $hyoo_crus_list( $hyoo_crus_vary_cast_int ) {}\n\t/** Mergeable list of atomic float64s */\n\texport class $hyoo_crus_list_real extends $hyoo_crus_list( $hyoo_crus_vary_cast_real ) {}\n\t/** Mergeable list of atomic int64 arrays */\n\texport class $hyoo_crus_list_ints extends $hyoo_crus_list( $hyoo_crus_vary_cast_ints ) {}\n\t/** Mergeable list of atomic float64 arrays */\n\texport class $hyoo_crus_list_reals extends $hyoo_crus_list( $hyoo_crus_vary_cast_reals ) {}\n\t/** Mergeable list of atomic some references */\n\texport class $hyoo_crus_list_ref extends $hyoo_crus_list( $hyoo_crus_vary_cast_ref ) {}\n\n\t/** Mergeable list of atomic strings */\n\texport class $hyoo_crus_list_str extends $hyoo_crus_list( $hyoo_crus_vary_cast_str ) {}\n\t/** Mergeable list of atomic iso8601 time moments */\n\texport class $hyoo_crus_list_time extends $hyoo_crus_list( $hyoo_crus_vary_cast_time ) {}\n\t/** Mergeable list of atomic iso8601 time durations */\n\texport class $hyoo_crus_list_dur extends $hyoo_crus_list( $hyoo_crus_vary_cast_dur ) {}\n\t/** Mergeable list of atomic iso8601 time intervals */\n\texport class $hyoo_crus_list_range extends $hyoo_crus_list( $hyoo_crus_vary_cast_range ) {}\n\t/** Mergeable list of atomic plain old js objects */\n\texport class $hyoo_crus_list_json extends $hyoo_crus_list( $hyoo_crus_vary_cast_json ) {}\n\t/** Mergeable list of atomic plain old js arrays */\n\texport class $hyoo_crus_list_jsan extends $hyoo_crus_list( $hyoo_crus_vary_cast_jsan ) {}\n\t/** Mergeable list of atomic DOMs */\n\texport class $hyoo_crus_list_dom extends $hyoo_crus_list( $hyoo_crus_vary_cast_dom ) {}\n\t/** Mergeable list of atomic Trees*/\n\texport class $hyoo_crus_list_tree extends $hyoo_crus_list( $hyoo_crus_vary_cast_tree ) {}\n\n\texport class $hyoo_crus_list_ref_base extends $hyoo_crus_list_ref {\n\t}\n\t\n\t/** mergeable list of atomic references to some Node type */\n\texport function $hyoo_crus_list_ref_to<\n\t\tconst Value extends any,\n\t\tVals extends readonly any[] = readonly $mol_type_result< $mol_type_result< Value > >[]\n\t>( Value: Value ) {\n\t\t\n\t\tclass $hyoo_crus_list_ref_to extends $hyoo_crus_list_ref_base {\n\t\t\t\n\t\t\tstatic Value = $mol_memo.func( Value as any ) as Value\n\t\t\t\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_list_ref_to ? '$hyoo_crus_list_ref_to<' + ( Value as any )() + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t\t/** List of referenced Nodes */\n\t\t\t@ $mol_mem\n\t\t\tremote_list( next?: Vals ) {\n\t\t\t\tconst glob = this.$.$hyoo_crus_glob\n\t\t\t\tconst Node = ( Value as any )()\n\t\t\t\treturn this.items_vary( next?.map( item => ( item as $hyoo_crus_node ).ref() ) )\n\t\t\t\t\t.map( $hyoo_crus_vary_cast_ref )\n\t\t\t\t\t.filter( $mol_guard_defined )\n\t\t\t\t\t.map( ref => glob.Node( ref, Node ) ) as readonly any[] as Vals\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tremote_add( item: Vals[number] ) {\n\t\t\t\tthis.add( item.ref() )\n\t\t\t}\n\t\t\t\n\t\t\t/** Make new Node and place it at end. */\n\t\t\t@ $mol_action\n\t\t\tmake( config: null | number | $hyoo_crus_rank_preset | $hyoo_crus_land ): Vals[number] {\n\t\t\t\t\n\t\t\t\tif( config === null || typeof config === 'number' ) {\n\t\t\t\t\t\n\t\t\t\t\tconst self = this.land().self_make( config || undefined )\n\t\t\t\t\tconst node = this.land().Node( ( Value as any )() ).Item( self )\n\t\t\t\t\tthis.splice([ node.ref() ])\n\t\t\t\t\treturn node\n\t\t\t\t\t\n\t\t\t\t} else if( config instanceof $hyoo_crus_land ) {\n\t\t\t\t\t\n\t\t\t\t\tconst land = config.area_make()\n\t\t\t\t\tthis.splice([ land.ref() ])\n\t\t\t\t\treturn land.Node( ( Value as any )() ).Item('')\n\t\t\t\t\t\n\t\t\t\t} else if( config ) {\n\t\t\t\t\t\n\t\t\t\t\tconst land = this.$.$hyoo_crus_glob.land_grab( config )\n\t\t\t\t\tthis.splice([ land.ref() ])\n\t\t\t\t\treturn land.Node( ( Value as any )() ).Item('')\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\t/** Add new Node which placed in new Land */\n\t\t\t/** @deprecated use make( ... ) */\n\t\t\tremote_make( config: $hyoo_crus_rank_preset ): Vals[number] {\n\t\t\t\treturn this.make( config )\n\t\t\t}\n\t\t\t\n\t\t\t/** Add new Node which placed in same Land */\n\t\t\t/** @deprecated use make( ... ) */\n\t\t\t@ $mol_action\n\t\t\tlocal_make( idea?: number ): Vals[number] {\n\t\t\t\tconst self = this.land().self_make( idea )\n\t\t\t\tconst node = this.land().Node( ( Value as any )() ).Item( self )\n\t\t\t\tthis.splice([ node.ref() ])\n\t\t\t\treturn node\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $hyoo_crus_list_ref_to\n\t}\n\t\n}\n","namespace $ {\n\t/** Mergeable dictionary node with any keys mapped to any embedded Node types */\n\texport class $hyoo_crus_dict extends $hyoo_crus_list_vary {\n\t\t\n\t\tstatic tag = $hyoo_crus_sand_tag[ $hyoo_crus_sand_tag.keys ] as keyof typeof $hyoo_crus_sand_tag\n\t\t\n\t\t/** List of Vary keys. */\n\t\t@ $mol_mem\n\t\tkeys(): readonly $hyoo_crus_vary_type[] {\n\t\t\treturn this.items_vary()\n\t\t}\n\t\t\n\t\t/** Inner Node by key. */\n\t\tdive< Node extends typeof $hyoo_crus_node >(\n\t\t\tkey: $hyoo_crus_vary_type,\n\t\t\tNode: Node,\n\t\t\tauto?: any,\n\t\t) {\n\t\t\tif( this.can_change() && auto !== undefined ) this.has( key, true, Node.tag )\n\t\t\tconst unit = this.find( key )\n\t\t\treturn unit ? this.land().Node( Node ).Item( unit.self() ) : null\n\t\t}\n\t\t\n\t\tstatic schema = {} as Record< string, typeof $hyoo_crus_node >\n\t\t\n\t\t/** Mergeable dictionary node with defined keys mapped to different embedded Node types */\n\t\tstatic with<\n\t\t\tThis extends typeof $hyoo_crus_dict,\n\t\t\tconst Schema extends Record< string, { tag: keyof typeof $hyoo_crus_sand_tag, new(): {} } >\n\t\t>( this: This, schema: Schema ) {\n\t\t\t\n\t\t\tconst $hyoo_crus_dict_with = class $hyoo_crus_dict_with extends ( this as any ) {\n\t\t\t\t// static get schema() { return { ... this.schema, ... schema } }\n\t\t\t\t\n\t\t\t\tstatic toString() {\n\t\t\t\t\t\n\t\t\t\t\tif( this !== $hyoo_crus_dict_with ) return super.toString()\n\t\t\t\t\t\n\t\t\t\t\tconst params = Object.entries( schema ).map( ([ name, type ])=> `${name}: ${type}` )\n\t\t\t\t\treturn '$hyoo_crus_dict.with<{' + params.join( ', ' ) + '}>'\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} as Omit< This, 'prototype' > & {\n\t\t\t\tnew( ...args: any[] ): $mol_type_override< InstanceType< This >, {\n\t\t\t\t\treadonly [ Key in keyof Schema ]: ( auto?: any )=> InstanceType< Schema[ Key ] > | null\n\t\t\t\t} >\n\t\t\t}\n\n\t\t\tfor( const Field in schema ) {\n\t\t\t\t\n\t\t\t\tObject.defineProperty( $hyoo_crus_dict_with.prototype, Field, {\n\t\t\t\t\tvalue: function( this: InstanceType< This >, auto?: any ) {\n\t\t\t\t\t\treturn this.dive( Field, schema[ Field ] as any, auto )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\t// $mol_wire_field( Entity.prototype, Field as any )\n\t\t\t}\n\t\t\t\n\t\t\treturn Object.assign( $hyoo_crus_dict_with, { schema: { ... this.schema, ... schema } } )\n\t\t\t\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst keys = $mol_wire_probe( ()=> this.keys() )\n\t\t\tconst nodes = $mol_wire_probe( ()=> this.nodes(null) ) ?? []\n\t\t\t\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( keys?.map( ( key, index )=> new Pair( key, nodes[ index ] ) ) ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\tclass Pair {\n\t\tconstructor( readonly key: any, readonly val: any ) {\n\t\t}\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_tr( {} ,\n\t\t\t\t$mol_dev_format_td( {}, $mol_dev_format_auto(this.key) ),\n\t\t\t\t$mol_dev_format_td( {},': '),\n\t\t\t\t$mol_dev_format_td( {}, $mol_dev_format_auto(this.val) ),\n\t\t\t)\n\t\t}\n\t}\n\t\n\t/** Mergeable dictionary with any keys mapped to any embedded Node types */\n\texport function $hyoo_crus_dict_to<\n\t\tValue extends { tag: keyof typeof $hyoo_crus_sand_tag, new(): {} }\n\t>( Value: Value ) {\n\t\t\n\t\treturn class $hyoo_crus_dict_to extends $hyoo_crus_dict {\n\t\t\t\n\t\t\tValue = Value\n\t\t\t\n\t\t\tkey( key: $hyoo_crus_vary_type, auto?: any ) {\n\t\t\t\treturn this.dive( key, this.Value as any as typeof $hyoo_crus_node, auto ) as InstanceType< Value >\n\t\t\t}\n\t\t\t\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_dict_to ? '$hyoo_crus_dict_to<' + Value + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * 48-bit streamable string hash function\n\t * Based on cyrb53: https://stackoverflow.com/a/52171480\n\t */\n\texport function $mol_hash_string( str: string, seed = 0 ) {\n\t\t\n\t\tlet h1 = 0xdeadbeef ^ seed\n\t\tlet h2 = 0x41c6ce57 ^ seed\n\t\t\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\tconst ch = str.charCodeAt(i)\n\t\t\th1 = Math.imul( h1 ^ ch, 2654435761 )\n\t\t\th2 = Math.imul( h2 ^ ch, 1597334677 )\n\t\t}\n\t\t\n\t\th1 = Math.imul( h1 ^ ( h1 >>> 16 ), 2246822507 ) ^ Math.imul( h2 ^ ( h2 >>> 13 ), 3266489909 )\n\t\th2 = Math.imul( h2 ^ ( h2 >>> 16 ), 2246822507 ) ^ Math.imul( h1 ^ ( h1 >>> 13 ), 3266489909 )\n\t\t\n\t\treturn 4294967296 * ( ( ( 1 << 16 ) - 1 ) & h2 ) + ( h1 >>> 0 )\n\t}\n\n}\n","\nnamespace $ {\n\n\t/** Atomic dynamic register */\n\texport class $hyoo_crus_atom_vary extends $hyoo_crus_node {\n\n\t\tstatic tag = $hyoo_crus_sand_tag[ $hyoo_crus_sand_tag.solo ] as keyof typeof $hyoo_crus_sand_tag;\n\t\t\n\t\tpick_unit( peer: string | null ) {\n\t\t\treturn this.units_of( peer ).at(0)\n\t\t}\n\t\t\n\t\tvary( next?: $hyoo_crus_vary_type ): $hyoo_crus_vary_type {\n\t\t\treturn this.vary_of( '', next )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tvary_of( peer: string | null, next?: $hyoo_crus_vary_type ): $hyoo_crus_vary_type {\n\t\t\t\n\t\t\tlet unit_prev = this.pick_unit( peer )\n\t\t\tlet prev = unit_prev ? this.land().sand_decode( unit_prev ) : null\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( $mol_compare_deep( prev , next ) ) return next\n\t\t\t\n\t\t\tthis.land().post(\n\t\t\t\t'', \n\t\t\t\tunit_prev?.head() ?? this.head(),\n\t\t\t\tunit_prev?.self() ?? '',\n\t\t\t\tnext\n\t\t\t)\n\t\t\t\n\t\t\treturn this.vary_of( peer )\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( this.vary() ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\n\texport class $hyoo_crus_atom_enum_base extends $hyoo_crus_atom_vary {\n\n\t\tstatic options = [] as readonly $hyoo_crus_vary_type[]\n\t\t\n\t}\n\t\n\texport function $hyoo_crus_atom_enum<\n\t\tconst Options extends readonly $hyoo_crus_vary_type[]\n\t>( options: Options ) {\n\n\t\tabstract class $hyoo_crus_atom_enum extends $hyoo_crus_atom_enum_base {\n\n\t\t\tstatic options = options;\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_atom_enum ? '$hyoo_crus_atom_enum<' + options.map( $hyoo_crus_vary_cast_str ) + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t\tval( next?: Options[number] ): Options[number] | null {\n\t\t\t\treturn this.val_of( '', next )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tval_of( peer: string | null, next?: Options[number] ): Options[number] | null {\n\t\t\t\t\n\t\t\t\tvalidate: if( next !== undefined ) {\n\t\t\t\t\tfor( const option of options ) {\n\t\t\t\t\t\tif( $mol_compare_deep( option, next ) ) break validate\n\t\t\t\t\t}\n\t\t\t\t\t$mol_fail( new Error( `Wrong value (${ $hyoo_crus_vary_cast_str( next ) })` ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst val = this.vary_of( peer, next )\n\t\t\t\t\n\t\t\t\tfor( const option of options ) {\n\t\t\t\t\tif( $mol_compare_deep( option, val ) ) return val\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t}\n\n\t\treturn $hyoo_crus_atom_enum\n\t}\n\n\t/** Atomic narrowed register factory */\n\texport function $hyoo_crus_atom<\n\t\tParse extends $mol_data_value\n\t>( parse: Parse ) {\n\n\t\tabstract class $hyoo_crus_atom extends $hyoo_crus_atom_vary {\n\n\t\t\tstatic parse = parse;\n\n\t\t\t/** Get/Set value of Node field */\n\t\t\tval( next?: ReturnType< Parse > ): ReturnType< Parse > | null {\n\t\t\t\treturn this.val_of( '', next )\n\t\t\t}\n\t\t\t\n\t\t\tval_of( peer: string | null, next?: ReturnType< Parse > ): ReturnType< Parse > | null {\n\t\t\t\t\n\t\t\t\tif( next !== undefined ) parse( next )\n\t\t\t\t\n\t\t\t\tconst res = this.vary_of( peer, next )\n\t\t\t\ttry {\n\t\t\t\t\treturn parse( res )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_atom ? '$hyoo_crus_atom<' + this.$.$mol_func_name( parse ) + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn $hyoo_crus_atom\n\t}\n\t\n\t/** Atomic non empty binary register */\n\texport class $hyoo_crus_atom_bin extends $hyoo_crus_atom( $hyoo_crus_vary_cast_bin ) {}\n\t/** Atomic boolean register */\n\texport class $hyoo_crus_atom_bool extends $hyoo_crus_atom( $hyoo_crus_vary_cast_bool ) {}\n\t/** Atomic int64 register */\n\texport class $hyoo_crus_atom_int extends $hyoo_crus_atom( $hyoo_crus_vary_cast_int ) {}\n\t/** Atomic float64 register */\n\texport class $hyoo_crus_atom_real extends $hyoo_crus_atom( $hyoo_crus_vary_cast_real ) {}\n\t/** Atomic int64 array register */\n\texport class $hyoo_crus_atom_ints extends $hyoo_crus_atom( $hyoo_crus_vary_cast_ints ) {}\n\t/** Atomic float64 array register */\n\texport class $hyoo_crus_atom_reals extends $hyoo_crus_atom( $hyoo_crus_vary_cast_reals ) {}\n\t/** Atomic some reference register */\n\texport class $hyoo_crus_atom_ref extends $hyoo_crus_atom( $hyoo_crus_vary_cast_ref ) {}\n\n\t/** Atomic string register */\n\texport class $hyoo_crus_atom_str extends $hyoo_crus_atom( $hyoo_crus_vary_cast_str ) {}\n\t/** Atomic iso8601 time moment register*/\n\texport class $hyoo_crus_atom_time extends $hyoo_crus_atom( $hyoo_crus_vary_cast_time ) {}\n\t/** Atomic iso8601 time duration register */\n\texport class $hyoo_crus_atom_dur extends $hyoo_crus_atom( $hyoo_crus_vary_cast_dur ) {}\n\t/** Atomic iso8601 time interval register */\n\texport class $hyoo_crus_atom_range extends $hyoo_crus_atom( $hyoo_crus_vary_cast_range ) {}\n\n\t/** Atomic plain old js object register */\n\texport class $hyoo_crus_atom_json extends $hyoo_crus_atom( $hyoo_crus_vary_cast_json ) {}\n\t/** Atomic plain old js array register */\n\texport class $hyoo_crus_atom_jsan extends $hyoo_crus_atom( $hyoo_crus_vary_cast_jsan ) {}\n\t/** Atomic DOM register */\n\texport class $hyoo_crus_atom_dom extends $hyoo_crus_atom( $hyoo_crus_vary_cast_dom ) {}\n\t/** Atomic Tree register */\n\texport class $hyoo_crus_atom_tree extends $hyoo_crus_atom( $hyoo_crus_vary_cast_tree ) {}\n\t\n\texport class $hyoo_crus_atom_ref_base extends $hyoo_crus_atom_ref {\n\t\t\n\t\tstatic Value = $hyoo_crus_dict;\n\t\t\n\t}\n\t\n\t/** Atomic reference to some Node type register */\n\texport function $hyoo_crus_atom_ref_to< const Value extends any >( Value: Value ) {\n\n\t\tclass $hyoo_crus_atom_ref_to extends $hyoo_crus_atom_ref_base {\n\n\t\t\tValue = $mol_memo.func( Value as any ) as Value;\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_atom_ref_to ? '$hyoo_crus_atom_ref_to<' + ( Value as any )() + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t\t/** Target Node */\n\t\t\tremote(\n\t\t\t\tnext?: null | $mol_type_result< $mol_type_result< this['Value'] > >\n\t\t\t): null | $mol_type_result< $mol_type_result< this['Value'] > > {\n\t\t\t\treturn this.remote_of( '', next )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tremote_of(\n\t\t\t\tpeer: string | null,\n\t\t\t\tnext?: null | $mol_type_result< $mol_type_result< this['Value'] > >\n\t\t\t): null | $mol_type_result< $mol_type_result< this['Value'] > > {\n\t\t\t\t\n\t\t\t\tlet ref: $hyoo_crus_ref | null = ( next as $hyoo_crus_node )?.ref() ?? next\n\t\t\t\tref = $hyoo_crus_vary_cast_ref( this.vary_of( peer, ref ) )\n\t\t\t\tif( !ref ) return null\n\t\t\t\t\n\t\t\t\treturn this.$.$hyoo_crus_glob.Node( ref, ( Value as any )() )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t/** Target Node. Creates if not exists. */\n\t\t\tensure( config?: null | $hyoo_crus_rank_preset | $hyoo_crus_land ) {\n\t\t\t\treturn this.ensure_of( '', config )\n\t\t\t}\n\t\t\t\n\t\t\tensure_of( peer: string | null, config?: null | $hyoo_crus_rank_preset | $hyoo_crus_land ) {\n\t\t\t\t\n\t\t\t\tif( !this.val_of( peer ) ) {\n\t\t\t\t\tif( config === null ) this.ensure_here( peer )\n\t\t\t\t\telse if( config instanceof $hyoo_crus_land ) this.ensure_area( peer, config )\n\t\t\t\t\telse if( config ) this.ensure_lord( peer, config )\n\t\t\t\t\telse return null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.remote_of( peer )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tensure_here( peer: string | null ) {\n\t\t\t\tconst idea = $mol_hash_string( this.ref().description! )\n\t\t\t\tconst head = this.land().self_make( idea )\n\t\t\t\tconst node = this.land().Node( ( Value as any )() ).Item( head )\n\t\t\t\tthis.remote_of( peer, node )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tensure_area( peer: string | null, land: $hyoo_crus_land ) {\n\t\t\t\tconst idea = $mol_hash_string( this.ref().description! )\n\t\t\t\tconst area = land.area_make( idea )\n\t\t\t\tthis.val_of( peer, area.ref() )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tensure_lord( peer: string | null, preset: $hyoo_crus_rank_preset ) {\n\t\t\t\tconst land = this.$.$hyoo_crus_glob.land_grab( preset )\n\t\t\t\tthis.val_of( peer, land.ref() )\n\t\t\t}\n\t\t\t\n\t\t\t/** @deprecated Use ensure( preset ) */\n\t\t\tremote_ensure( preset?: $hyoo_crus_rank_preset ) {\n\t\t\t\treturn this.ensure( preset )\n\t\t\t}\n\n\t\t\t/** @deprecated Use ensure( null ) */\n\t\t\tlocal_ensure() {\n\t\t\t\treturn this.ensure( null )\n\t\t\t}\n\n\t\t}\n\n\t\treturn $hyoo_crus_atom_ref_to\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Entity dictionary Model with Title property included by default */\n\texport class $hyoo_crus_entity extends $hyoo_crus_dict.with( {\n\t\t/** Entity Title - default property for use */\n\t\tTitle: $hyoo_crus_atom_str,\n\t}) {\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\treturn this.Title( next )?.val( next ) ?? ''\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Land where Lord is King. Contains only ain info. */\n\texport class $hyoo_crus_home extends $hyoo_crus_entity.with({\n\t\tSelection: $hyoo_crus_atom_str,\n\t\tHall: $hyoo_crus_atom_ref_to( ()=> $hyoo_crus_dict ),\n\t}) {\n\t\t\n\t\thall_by< Node extends typeof $hyoo_crus_dict >(\n\t\t\tNode: Node,\n\t\t\tpreset?: $hyoo_crus_rank_preset\n\t\t) {\n\t\t\treturn this.Hall(null)?.ensure( preset )?.cast( Node ) ?? null\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** Whole global graph database which contains Lands. */\n\texport class $hyoo_crus_glob extends $mol_object {\n\t\t\n\t\tstatic lands_touched = new $mol_wire_set< $hyoo_crus_ref >()\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tlands_touched = ( this.constructor as typeof $hyoo_crus_glob ).lands_touched\n\t\t\n\t\t/** Glob synchronizer. */\n\t\t@ $mol_mem\n\t\tstatic yard() {\n\t\t\treturn new this.$.$hyoo_crus_yard\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tyard() {\n\t\t\treturn this.$.$hyoo_crus_glob.yard()\n\t\t}\n\t\t\n\t\t/** Land where Lord is King. Contains only ain info */\n\t\tstatic home< Node extends typeof $hyoo_crus_home = typeof $hyoo_crus_home >( Node?: Node ) {\n\t\t\treturn this.Land( this.$.$hyoo_crus_auth.current().lord() ).Data( Node ?? $hyoo_crus_home ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\thome() {\n\t\t\treturn this.$.$hyoo_crus_glob.home()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic king_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\t\n\t\t\tconst king = this.$.$hyoo_crus_auth.grab()\n\t\t\tconst colony = ( $mol_wire_sync( $hyoo_crus_land ) as typeof $hyoo_crus_land ).make({ $: this.$ })\n\t\t\tcolony.auth = $mol_const( king )\n\t\t\t\n\t\t\tif( ( preset[''] ?? $hyoo_crus_rank_deny ) === $hyoo_crus_rank_deny ) {\n\t\t\t\tcolony.encrypted( true )\n\t\t\t}\n\t\t\t\n\t\t\tconst self = this.$.$hyoo_crus_auth.current()\n\t\t\tcolony.give( self, $hyoo_crus_rank_rule )\n\t\t\t\n\t\t\tfor( const key in preset ) colony.give( key ? $hyoo_crus_auth.from( key ) : null, preset[ key ] )\n\t\t\t\n\t\t\tthis.Land( colony.ref() ).apply_unit( colony.delta_unit() )\n\t\t\t\n\t\t\treturn king\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tking_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\treturn this.$.$hyoo_crus_glob.king_grab( preset )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic land_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\treturn this.Land( this.king_grab( preset ).lord() )\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tland_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\treturn this.$.$hyoo_crus_glob.land_grab( preset )\n\t\t}\n\t\t\n\t\t/** Standalone part of Glob which syncs separately, have own rights, and contains Units */\n\t\t@ $mol_mem_key\n\t\tstatic Land( ref: $hyoo_crus_ref ): $hyoo_crus_land {\n\t\t\tthis.lands_touched.add( ref )\n\t\t\treturn $hyoo_crus_land.make({\n\t\t\t\tref: $mol_const( ref ),\n\t\t\t})\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tLand( ref: $hyoo_crus_ref ) {\n\t\t\treturn this.$.$hyoo_crus_glob.Land( ref )\n\t\t}\n\t\t\n\t\t/** High level representation of stored data. */\n\t\tstatic Node< Node extends typeof $hyoo_crus_node > ( ref: $hyoo_crus_ref, Node: Node ) {\n\t\t\tconst land = this.Land( $hyoo_crus_ref_land( ref ) )\n\t\t\treturn land.Node( Node ).Item( $hyoo_crus_ref_head( ref ) )\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tNode< Node extends typeof $hyoo_crus_node > ( ref: $hyoo_crus_ref, Node: Node ) {\n\t\t\treturn this.$.$hyoo_crus_glob.Node( ref, Node )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic apply_pack( pack: $hyoo_crus_pack ) {\n\t\t\tconst { lands, rocks } = pack.parts()\n\t\t\treturn this.apply_parts( lands, rocks )\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tapply_pack( pack: $hyoo_crus_pack ) {\n\t\t\treturn this.$.$hyoo_crus_glob.apply_pack( pack )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic apply_parts(\n\t\t\tlands: Record< $hyoo_crus_ref, {\n\t\t\t\tfaces: $hyoo_crus_face_map\n\t\t\t\tunits: $hyoo_crus_unit[]\n\t\t\t}>,\n\t\t\trocks: [ Uint8Array< ArrayBuffer >, Uint8Array< ArrayBuffer > | null ][],\n\t\t) {\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( lands ) as $hyoo_crus_ref[] ) {\n\t\t\t\t\n\t\t\t\tconst errors = this.Land( land ).apply_unit( lands[ land ].units ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tfor( const error of errors ) this.$.$mol_log3_warn({\n\t\t\t\t\tplace: `${this}.apply_pack()`,\n\t\t\t\t\tmessage: error,\n\t\t\t\t\thint: 'Send it to developer',\n\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ hash, rock ] of rocks ) {\n\t\t\t\tif( !rock ) continue\n\t\t\t\tthis.$.$hyoo_crus_mine.rock_save( rock )\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tapply_parts(\n\t\t\tlands: Record< $hyoo_crus_ref, {\n\t\t\t\tfaces: $hyoo_crus_face_map\n\t\t\t\tunits: $hyoo_crus_unit[]\n\t\t\t}>,\n\t\t\trocks: [ Uint8Array< ArrayBuffer >, Uint8Array< ArrayBuffer > | null ][],\n\t\t) {\n\t\t\treturn this.$.$hyoo_crus_glob.apply_parts( lands, rocks )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_rest_port_ws extends $mol_rest_port {}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_rest_port_ws_std extends $mol_rest_port_ws {\n\t\t\n\t\tsocket!: WebSocket\n\t\t\n\t\t@ $mol_action\n\t\tsend_nil() {\n\t\t\tif( this.socket.readyState !== this.socket.OPEN ) return\n\t\t\tthis.socket.send( '' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_bin( data: Uint8Array< ArrayBuffer > ) {\n\t\t\tif( this.socket.readyState !== this.socket.OPEN ) return\n\t\t\tthis.socket.send( data )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_text( data: string ) {\n\t\t\tif( this.socket.readyState !== this.socket.OPEN ) return\n\t\t\tconst bin = $mol_charset_encode( data )\n\t\t\tthis.socket.send( bin )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst Passives = new WeakMap< $mol_rest_port, Set< $hyoo_crus_ref > >()\n\t\n\t/** Glob synchronizer */\n\texport class $hyoo_crus_yard extends $mol_object {\n\t\t\n\t\t/** Whole global graph database which contains Lands */\n\t\t@ $mol_mem\n\t\tglob() {\n\t\t\treturn null! as $hyoo_crus_glob\n\t\t}\n\t\t\n\t\tlands_news = new $mol_wire_set< $hyoo_crus_ref >()\n\t\t\n\t\tstatic masters = [] as string[]\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_cursor( next = 0 ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_current() {\n\t\t\treturn this.$.$hyoo_crus_yard.masters[ this.master_cursor() ]\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tmaster_next() {\n\t\t\tthis.master_cursor( ( this.master_cursor() + 1 ) % this.$.$hyoo_crus_yard.masters.length )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\treconnects( reset?: null ): number {\n\t\t\treturn ( $mol_wire_probe( ()=> this.reconnects() ) ?? 0 ) + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster() {\n\t\t\t\n\t\t\tthis.reconnects()\n\t\t\t\n\t\t\tconst link = this.master_current()\n\t\t\tif( !link ) return null\n\t\t\t\n\t\t\tconst socket = new $mol_dom_context.WebSocket( link.replace( /^http/, 'ws' ) )\n\t\t\tsocket.binaryType = 'arraybuffer'\n\t\t\tconst port = $mol_rest_port_ws_std.make({ socket })\n\t\t\t\n\t\t\tsocket.onmessage = async( event )=> {\n\t\t\t\t\n\t\t\t\tif( event.data instanceof ArrayBuffer ) {\n\t\t\t\t\tif( !event.data.byteLength ) return\n\t\t\t\t\tawait $mol_wire_async( this ).port_income( port, new Uint8Array( event.data ) )\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_fail({\t\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tmessage: 'Wrong data',\n\t\t\t\t\t\tdata: event.data\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\tlet interval: any\n\n\t\t\tsocket.onclose = ()=> {\n\t\t\t\tclearInterval( interval )\n\t\t\t\tsetTimeout( ()=> this.reconnects( null ), 1000 )\n\t\t\t}\n\t\t\t\n\t\t\tObject.assign( socket, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\tsocket.onclose = ()=> {}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tsocket.close()\n\t\t\t\t}\n\t\t\t} )\n\t\t\t\n\t\t\treturn new Promise< $mol_rest_port >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tsocket.onopen = ()=> {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_come({\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tmessage: 'Connected',\n\t\t\t\t\t\tport: $mol_key( port ),\n\t\t\t\t\t\tserver: link,\n\t\t\t\t\t})\n\t\t\t\t\t\n\t\t\t\t\tinterval = setInterval( ()=> socket.send( new Uint8Array ), 30000 )\n\t\t\t\t\t\n\t\t\t\t\tdone( port )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsocket.onerror = ()=> {\n\t\t\t\t\t\n\t\t\t\t\tsocket.onclose = event => {\n\t\t\t\t\t\tfail( new Error( `Master (${link}) is unavailable (${ event.code })` ) )\n\t\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\t\tinterval = setTimeout( ()=> {\n\t\t\t\t\t\t\tthis.master_next()\n\t\t\t\t\t\t\tthis.reconnects( null )\n\t\t\t\t\t\t}, 1000 )\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} ) as any as $mol_rest_port\n\t\t\t\n\t\t}\n\t\t\n\t\tslaves = new $mol_wire_set< $mol_rest_port >()\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\tthis.sync_news()\n\t\t\tthis.sync_port()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_news() {\n\t\t\t\n\t\t\tconst glob = this.$.$hyoo_crus_glob\n\t\t\tconst lands = [ ... this.lands_news ].map( ref => glob.Land( ref ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const port of this.masters() ) {\n\t\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\t\tthis.sync_port_land([ port, land.ref() ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor( const land of lands ) land.saving()\n\t\t\t\tthis.lands_news.clear()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_port() {\n\t\t\tfor( const port of this.ports() ) this.sync_port_lands( port )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsync_port_lands( port: $mol_rest_port ) {\n\t\t\tfor( const land of this.port_lands_active( port ) ) {\n\t\t\t\tthis.sync_port_land([ port, land ])\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tports() {\n\t\t\treturn [ ... this.masters(), ... this.slaves ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmasters() {\n\t\t\ttry {\n\t\t\t\treturn [ this.master() ].filter( $mol_guard_defined )\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn []\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tport_lands_active( port: $mol_rest_port ) {\n\t\t\treturn new $mol_wire_set< $hyoo_crus_ref >()\n\t\t}\n\t\t\n\t\tport_lands_passive( port: $mol_rest_port ) {\n\t\t\tlet passives = Passives.get( port )\n\t\t\tif( !passives ) Passives.set( port, passives = new Set )\n\t\t\treturn passives\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tport_income( port: $mol_rest_port, msg: Uint8Array< ArrayBuffer > ) {\n\t\t\t\n\t\t\tconst pack = $mol_wire_sync( $hyoo_crus_pack ).from( msg ) as $hyoo_crus_pack\n\t\t\tconst parts = $mol_wire_sync( pack ).parts()\n\t\t\t\n\t\t\tif( this.$.$hyoo_crus_log() ) $mol_wire_sync( this.$ ).$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Gain Pack',\n\t\t\t\tport: $mol_key( port ),\n\t\t\t\tlands: parts.lands,\n\t\t\t\trocks: parts.rocks.length,\n\t\t\t})\n\t\t\t\n\t\t\tforget: {\n\t\t\t\t\n\t\t\t\tif( parts.rocks.length ) break forget\n\t\t\t\t\n\t\t\t\tconst lands = Object.getOwnPropertySymbols( parts.lands ) as any as readonly $hyoo_crus_ref[]\n\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\t\n\t\t\t\t\tif( parts.lands[ land ].units.length ) break forget\n\t\t\t\t\tif( parts.lands[ land ].faces.size ) break forget\n\t\t\t\t\tif( !this.port_lands_active( port ).has( land ) ) break forget\n\t\t\t\t\t\n\t\t\t\t\tthis.port_lands_active( port ).delete( land )\n\t\t\t\t\treturn\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\tthis.face_port_sync( port, parts.lands )\n\t\t\tthis.$.$hyoo_crus_glob.apply_parts( parts.lands, parts.rocks )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tface_port_sync(\n\t\t\tport: $mol_rest_port,\n\t\t\tincome: Record< $hyoo_crus_ref, {\n\t\t\t\tfaces: $hyoo_crus_face_map\n\t\t\t\tunits: $hyoo_crus_unit[]\n\t\t\t}>, \n\t\t) {\n\t\t\t\n\t\t\tconst actives = this.port_lands_active( port )\n\t\t\tconst passives = this.port_lands_passive( port )\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( income ) as $hyoo_crus_ref[] ) {\n\t\t\t\t\n\t\t\t\tif( !passives.has( land ) ) actives.add( land )\n\t\t\t\t\n\t\t\t\tconst faces = income[ land ].faces\n\t\t\t\tlet port_faces = this.face_port_land([ port, land ])\n\t\t\t\t\n\t\t\t\tif( !port_faces ) this.face_port_land(\n\t\t\t\t\t[ port, land ],\n\t\t\t\t\tport_faces = $mol_mem_cached( ()=> this.face_port_land([ port, land ]) )\n\t\t\t\t\t\t|| new $hyoo_crus_face_map,\n\t\t\t\t)\n\t\t\t\tport_faces.sync( faces )\n\t\t\t\n\t\t\t\tconst units = income[ land ].units\n\t\t\t\tfor( let unit of units ) {\n\t\t\t\t\tconst unit2 = unit.narrow()\n\t\t\t\t\tif( unit2 instanceof $hyoo_crus_pass ) continue\n\t\t\t\t\tport_faces.time_max( unit2.peer(), unit2.time() )\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_mem_key\n\t\tsync_land( land: $hyoo_crus_ref ) {\n\t\t\tfor( const port of this.masters() ) {\n\t\t\t\tthis.port_lands_passive( port ).add( land )\n\t\t\t\tthis.sync_port_land([ port, land ])\n\t\t\t}\n\t\t\tthis.sync()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tforget_land( land: $hyoo_crus_land ) {\n\t\t\t\n\t\t\tconst faces = new $hyoo_crus_face_map\n\t\t\tfaces.total = land.faces.total\n\t\t\t\n\t\t\tconst pack = $hyoo_crus_pack.make({\n\t\t\t\tlands: { [ land.ref() ]: { faces, units: [] } },\n\t\t\t\trocks:[],\n\t\t\t}).asArray()\n\t\t\t\n\t\t\tfor( const port of this.ports() ) {\n\t\t\t\t\n\t\t\t\tif( !this.port_lands_passive( port ).has( land.ref() ) ) continue\n\t\t\t\tthis.port_lands_passive( port ).delete( land.ref() )\n\t\t\t\t\n\t\t\t\tif( this.$.$hyoo_crus_log() ) this.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: 'Forget Land',\n\t\t\t\t\tport: $mol_key( port ),\n\t\t\t\t\tland: land.ref(),\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tport.send_bin( pack )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsync_port_land( [ port, land ]: [ $mol_rest_port, $hyoo_crus_ref ] ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\n\t\t\t\tthis.init_port_land([ port, land ])\n\t\t\t\t\n\t\t\t\tconst faces = this.face_port_land([ port, land ])\n\t\t\t\tif( !faces ) return\n\t\t\t\t\n\t\t\t\tconst Land = this.$.$hyoo_crus_glob.Land( land )\n\t\t\t\tLand.saving()\n\t\t\t\t\n\t\t\t\tconst parts = Land.delta_parts( faces )\n\t\t\t\tif( !parts ) return\n\t\t\t\t\n\t\t\t\tif( this.$.$hyoo_crus_log() ) this.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: 'Send Unit',\n\t\t\t\t\tport: $mol_key( port ),\n\t\t\t\t\tlands: parts.lands,\n\t\t\t\t\trocks: parts.rocks.length,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tport.send_bin( $hyoo_crus_pack.make( parts ).asArray() )\n\t\t\t\tfaces.sync( Land.faces )\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tinit_port_land( [ port, land ]: [ $mol_rest_port, $hyoo_crus_ref ] ) {\n\t\t\t// $mol_wire_solid() \n\t\t\tconst Land = this.$.$hyoo_crus_glob.Land( land )\n\t\t\tLand.loading()\n\t\t\tif( this.$.$hyoo_crus_log() ) this.$.$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Send Face',\n\t\t\t\tport: $mol_key( port ),\n\t\t\t\tland: land,\n\t\t\t\tfaces: Land.faces,\n\t\t\t})\n\t\t\tport.send_bin( Land.faces_pack().asArray() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tface_port_land(\n\t\t\t[ port, land ]: [ $mol_rest_port, $hyoo_crus_ref ],\n\t\t\tnext = null as null | $hyoo_crus_face_map\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$.$hyoo_crus_yard.masters = [\n\t\t'https://crus.hd4.ru/', // main\n\t\t'https://i-love-crus.ru/', // amigun\n\t\t//'https://crus.xedth.ru/', zubkov_p, unsupported\n\t\t'https://crus.87-120-36-150.ip.hyoo.ru/', // Dev_Cmyser\n\t]\n}\n","namespace $ {\n\t\n\texport class $hd_canary_app_home extends $hyoo_crus_home.with({\n\t\t// Aliases: $hyoo_crus_dict_to( $hyoo_crus_list_str ),\n\t\t// Stat: $hyoo_crus_atom_ref_to( ()=> $hyoo_crus_app_stat ),\n\n\t\tSites: $hyoo_crus_list_ref_to( ()=> $hd_canary_app_home_site ),\n\t}) {}\n\n\texport class $hd_canary_app_home_site extends $hyoo_crus_dict.with( {\n\t\t/** Type of value */\n\t\turl: $hyoo_crus_atom_str,\n\t\ttitle: $hyoo_crus_atom_str,\n\t\t\n\t\tlast_ping_time: $hyoo_crus_atom_time,\n\t\tlast_ping_status: $hyoo_crus_atom_bool,\n\t}) {\n\n\t\t@ $mol_mem\n\t\ttick() {\n\t\t\t\n\t\t\tthis.$.$mol_state_time.now( 5000 )\n\n\t\t\tthis.$.$mol_log3_done({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: this.land().ref().description!,\n\t\t\t});\n\n\t\t\tif(this.can_change()) {\n\t\t\t\tconst url = this.url()!.val() as string\n\t\t\t\tconst title = this.title()!.val() as string\nconsole.log({url, title})\n\t\t\t\tthis.$.$mol_log3_done({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: this.land().ref().description!,\n\t\t\t\t\t...{action:\"tick\", url, title }\n\t\t\t\t});\n\n\t\t\t\tconst request = $mol_fetch.response(url)\n\t\t\t\tthis.last_ping_status(null)!.val( request.code() == 200)\n\t\t\t\tthis.last_ping_time(null)!.val( new $mol_time_moment)\n\t\t\t\t// console.log({status: request.code()})\n\n\t\t\t}\n\n\t\t}\n\t}\n\n\texport class $hd_canary_app_home_server extends $hyoo_crus_home.with({\n\t\tUsers: $hyoo_crus_list_ref_to( $hyoo_crus_ref ),\n\t}) {}\n\t\n}\n","namespace $.$$ {\n\t$hyoo_crus_yard.masters = [\n\t\t$mol_dom_context.document.location.origin +'/',\n\t]\n\n\texport class $hd_canary_app_monitor extends $.$hd_canary_app_monitor {\n\n\t\tstatus_total() {\n\t\t\treturn this.home().Sites(null)!.remote_list().every( key => key.last_ping_status()?.val() == true) ? \"🟢\" : \"🔴\"\n\t\t}\n\n\t\ttarget_status( prop: $hd_canary_app_home_site ) {\n\t\t\treturn prop.last_ping_status()?.val() ? \"🟢\" : \"🔴\"\n\t\t}\n\t\ttarget_title(prop: $hd_canary_app_home_site) {\n\t\t\treturn prop.title()!.val() as string\n\t\t}\n\t\ttarget_url(prop: $hd_canary_app_home_site) {\n\t\t\treturn prop.url()!.val() as string;\n\t\t}\n\t\ttarget_moment(prop: $hd_canary_app_home_site) {\n\t\t\treturn ((prop.last_ping_time()?.val() as $mol_time_moment) ?? \"planed ping\").toString('YYYY-MM-DD hh:mm:ss')// ?? prop.ref().description! as any\n\t\t}\n\n\t\ttarget_list() {\n\t\t\treturn this.home().Sites(null)!.remote_list().map( key => this.Target( key ) ) ?? []\n\t\t}\n\n\t\tis_valid_http_url(string: string) {\n\t\t\tlet url;\n\t\t\ttry {\n\t\t\t url = new URL(string);\n\t\t\t} catch (_) {\n\t\t\t return false;\n\t\t\t}\n\t\t\treturn url.protocol === \"http:\" || url.protocol === \"https:\";\n\t\t}\n\n\t\tadd_submit() {\n\t\t\tconst url = this.add_url().trim()\n\t\t\tif (url == \"\") throw \"Empty url!\"\n\t\t\tif (this.is_valid_http_url(url) == false) throw \"Not valid url!\"\n\t\t\t\n\n\t\t\tlet title = this.add_title().trim()\n\t\t\tif (title == \"\") title = url.replace(/(^https?:\\/\\/)|(\\/+$)/g, '');\n\n\t\t\tthis.add_site(url, title)\n\n\t\t\tthis.add_url('');\n\t\t\tthis.add_title('');\n\t\t}\n\n\t\t@$mol_action\n\t\tadd_site(url: string, title: string) {\n\t\t\tconst new_site = this.home().Sites(null)!.make(null)\n\t\t\tnew_site.land().give(null, $hyoo_crus_rank_rule)\n\t\t\t\n\t\t\tnew_site.url(null)!.val(url)\n\t\t\tnew_site.title(null)!.val(title)\n\t\t}\n\n\t\ttarget_remove(prop: $hd_canary_app_home_site) {\n\t\t\tthis.home().Sites(null)!.cut(prop.ref())\n\t\t}\n\n\t\t// наш id клиента\n\t\tmy_key() {\n\t\t\treturn this.$.$hyoo_crus_auth.current().lord().description!\n\t\t}\n\n\t\t@ $mol_mem\n\t\tserver() {\n\t\t\tconst ref = $hyoo_crus_ref( this.$.$mol_fetch.text( '/join' ) )\n\t\t\treturn this.$.$hyoo_crus_glob.Node( ref, $hyoo_crus_list_vary )\n\t\t}\n\n\t\t@ $mol_mem\n\t\thome() {\n\t\t\t// берем свой уголок\n\t\t\tconst home = this.$.$hyoo_crus_glob.home( $hd_canary_app_home )\n\t\t\t// home.land().join()\n\n\t\t\t// проверяем есть ли он в базе\n\t\t\tif (this.server().has(home.ref()) == false) {\n\n\t\t\t\t// даем серверу права на запись\n\t\t\t\tconst ref = $hyoo_crus_ref( this.$.$mol_fetch.text( '/ref' ) )\n\t\t\t\thome.land().give(ref, $hyoo_crus_rank_rule)\n\n\t\t\t\t// и заносим это в глобальную базу\n\t\t\t\tthis.server().add(home.ref())\n\n\t\t\t}\n\n\t\t\treturn home\n\t\t}\n\n\t\t@$mol_action\n\t\tbulk_add(sites_input: string) {\n\t\t\tconst sites = sites_input.split(/\\r?\\n/).map( site => site.trim()).filter(site => site != \"\")\n\t\t\tfor (const site of sites) {\n\t\t\t\tthis.add_site(site, site.replace(/(^https?:\\/\\/)|(\\/+$)/g, ''))\n\t\t\t}\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\t$mol_style_define($.$hd_canary_app_monitor, {\n\t\tAdd: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\t\tBody_content: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\t\tTarget: {\n\t\t\tmargin: $mol_gap.block,\n\t\t\tpadding: $mol_gap.block,\n\t\t\tflex: {\n\t\t\t\tbasis: `15rem`,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [{\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\tblur: 0,\n\t\t\t\t\t\tspread: `1px`,\n\t\t\t\t\t\tcolor: $mol_theme.line,\n\t\t\t\t\t}],\n\t\t\t},\n\t\t},\n\t\tTarget_main: {\n\t\t\talign: {\n\t\t\t\titems: 'flex-start',\n\t\t\t},\n\t\t},\n\t\tStatus_total: {\n\t\t\twidth: `2.5rem`,\n\t\t\theight: `2.5rem`,\n\t\t\tpadding: `.5rem`,\n\t\t\tjustify: {\n\t\t\t\tcontent: 'center',\n\t\t\t},\n\t\t},\n\t\tTarget_status: {\n\t\t\twidth: `2.5rem`,\n\t\t\theight: `2.5rem`,\n\t\t\tpadding: `.5rem`,\n\t\t\tjustify: {\n\t\t\t\tcontent: 'center',\n\t\t\t},\n\t\t},\n\t\tTarget_url: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\t\tTarget_moment: {\n\t\t\tpadding: $mol_gap.text,\n\t\t\tcolor: $mol_theme.shade,\n\t\t},\n\t\tTarget_message: {\n\t\t\tpadding: $mol_gap.text,\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\t});\n}\n","$mol_avatar $mol_icon\n\tview_box \\0 0 24 24\n\tid \\\n\tpath \\M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0\n","namespace $.$$ {\n\n\t/**\n\t * Avatar uniquely-generated by id string\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_avatar_demo\n\t */\n\texport class $mol_avatar extends $.$mol_avatar {\n\t\t\n\t\t@ $mol_mem\n\t\tpath() {\n\t\t\t\n\t\t\tconst id = $mol_hash_string( this.id() )\n\t\t\tconst p = 2.1\n\t\t\tconst m = 2.7\n\t\t\t\n\t\t\tlet path = ''\n\t\t\t\n\t\t\tfor( let x = 0; x < 4; ++x ) {\n\t\t\t\tfor( let y = 0; y < 8; ++y ) {\n\t\t\t\t\tif( ( id >> ( x + y * 7 ) ) & 1 ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst mxp = Math.ceil( m*x+p )\n\t\t\t\t\t\tconst myp = Math.ceil( m*y+p )\n\t\t\t\t\t\t\n\t\t\t\t\t\tpath += `M ${ mxp } ${ myp } l 0 0 ` + `M ${ 24-mxp } ${ myp } l 0 0 `\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn path\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/avatar/avatar.view.css\",\n \"[mol_avatar] {\\n\\tstroke-linecap: round;\\n\\tstroke-width: 3.5px;\\n\\tfill: none;\\n\\tstroke: currentColor;\\n\\t/* width: 1.5rem;\\n\\theight: 1.5rem;\\n\\tmargin: 0 -.25rem; */\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n}\\n\"\n) }","$mol_labeler $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tminimal_height 32\n\t\t\tsub <= label /$mol_view_content\n\t\t\t\t<= title\n\t\t<= Content $mol_view\n\t\t\tminimal_height 24\n\t\t\tsub <= content /\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","$mol_stack $mol_view\n","namespace $ { $mol_style_attach( \"mol/stack/stack.view.css\",\n \"[mol_stack] {\\n\\tdisplay: grid;\\n\\t/* width: max-content; */\\n\\t/* height: max-content; */\\n\\talign-items: flex-start;\\n\\tjustify-items: flex-start;\\n}\\n\\n[mol_stack] > * {\\n\\tgrid-area: 1/1;\\n}\\n\"\n) }","$mol_text_code_token $mol_dimmer\n\tattr *\n\t\t^\n\t\tmol_text_code_token_type <= type \\\n\n$mol_text_code_token_link $mol_text_code_token\n\tdom_name \\a\n\ttype \\code-link\n\tattr *\n\t\t^\n\t\thref <= uri \\\n\t\ttarget \\_blank\n","namespace $.$$ {\n\n\tconst { hsla } = $mol_style_func\n\t\n\t$mol_style_define( $mol_text_code_token, {\n\n\t\tdisplay: 'inline',\n\t\ttextDecoration: 'none',\n\n\t\t'@': {\n\t\t\tmol_text_code_token_type: {\n\n\t\t\t\t'code-keyword': {\n\t\t\t\t\tcolor: hsla( 0, 70, 60, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-field': {\n\t\t\t\t\tcolor: hsla( 300, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-tag': {\n\t\t\t\t\tcolor: hsla( 330, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-global': {\n\t\t\t\t\tcolor: hsla( 30, 80, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-decorator': {\n\t\t\t\t\tcolor: hsla( 180, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-punctuation': {\n\t\t\t\t\tcolor: hsla( 0, 0, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-string': {\n\t\t\t\t\tcolor: hsla( 90, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-number': {\n\t\t\t\t\tcolor: hsla( 55, 65, 45, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-call': {\n\t\t\t\t\tcolor: hsla( 270, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-link': {\n\t\t\t\t\tcolor: hsla( 210, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-inline': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-block': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-docs': {\n\t\t\t\t\topacity: .75,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t},\n\t\t}\n\n\t} )\n\n}\n","$mol_text_code_line $mol_paragraph\n\ttext \\\n\tminimal_height 24\n\tnumb_showed true\n\tsyntax null\n\turi_resolve* \\\n\tNumb $mol_view\n\t\tsub /\n\t\t\t<= numb 0\n\tToken* $mol_text_code_token\n\t\ttype <= token_type* \\\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\tToken_link* $mol_text_code_token_link\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\t\turi <= token_uri* \\\n\tfind_pos* null\n","namespace $ {\n\n\t/** Creates lexer by dictionary of lexems. Lexem that started first wins. Then lexem that declared earlier wins. Use regexp capture to take parts of token. */\n\texport class $mol_syntax2< Lexems extends { [ name : string ] : RegExp } = {} > {\n\t\t\n\t\tconstructor(\n\t\t\tpublic lexems : Lexems\n\t\t) {\n\n\t\t\tfor( let name in lexems ) {\n\t\t\t\tthis.rules.push({\n\t\t\t\t\tname : name ,\n\t\t\t\t\tregExp : lexems[ name ] ,\n\t\t\t\t\tsize : RegExp( '^$|' + lexems[ name ].source ).exec( '' )!.length - 1 , \n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst parts = '(' + this.rules.map( rule => rule.regExp.source ).join( ')|(' ) + ')'\n\t\t\tthis.regexp = RegExp( `([\\\\s\\\\S]*?)(?:(${ parts })|$(?![^]))` , 'gmu' ) \n\t\t\t\n\t\t}\n\t\t\n\t\trules = [] as Array<{\n\t\t\tregExp : RegExp ,\n\t\t\tname : string ,\n\t\t\tsize : number\n\t\t}>\n\t\t\n\t\tregexp : RegExp\n\n\t\ttokenize(\n\t\t\ttext : string ,\n\t\t\thandle : ( name : string , found : string , chunks : string[] , offset : number )=> void ,\n\t\t) {\n\t\t\t\n\t\t\tlet end = 0\n\t\t\t\t\n\t\t\tlexing : while( end < text.length ) {\n\n\t\t\t\tconst start = end\n\n\t\t\t\tthis.regexp.lastIndex = start\n\t\t\t\tvar found = this.regexp.exec( text )!\n\t\t\t\t\n\t\t\t\tend = this.regexp.lastIndex\n\t\t\t\tif( start === end ) throw new Error( 'Empty token' )\n\t\t\t\t\n\t\t\t\tvar prefix = found[ 1 ]\n\t\t\t\tif( prefix ) handle( '' , prefix , [ prefix ] , start )\n\t\t\t\t\n\t\t\t\tvar suffix = found[ 2 ]\n\t\t\t\tif( !suffix ) continue\n\n\t\t\t\tlet offset = 4\n\t\t\t\tfor( let rule of this.rules ) {\n\n\t\t\t\t\tif( found[ offset - 1 ] ) {\n\t\t\t\t\t\thandle( rule.name , suffix , found.slice( offset, offset + rule.size ) , start + prefix.length )\n\t\t\t\t\t\tcontinue lexing\n\t\t\t\t\t}\n\n\t\t\t\t\toffset += rule.size + 1\n\t\t\t\t}\n\n\t\t\t\t$mol_fail( new Error( '$mol_syntax2 is broken' ) )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tparse(\n\t\t\ttext : string ,\n\t\t\thandlers : { [ key in keyof Lexems | '' ] : ( found : string , chunks : string[] , offset : number )=> void } ,\n\t\t) : void {\n\t\t\tthis.tokenize( text , ( name , ...args )=> handlers[ name ]( ... args ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_syntax2_md_flow = new $mol_syntax2({\n\t\t'quote' : /^((?:(?:[>\"] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'spoiler' : /^((?:(?:[\\?] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'header' : /^([#=]+)(\\s+)(.*?)$([\\n\\r]*)/ ,\n\t\t'list' : /^((?:(?: ?([*+-])|(?:\\d+[\\.\\)])+) +(?:[^]*?)$(?:\\r?\\n?)(?: (?:[^]*?)$(?:\\r?\\n?))*)+)((?:\\r?\\n)*)/ ,\n\t\t'code' : /^(```\\s*)([\\w.-]*)[\\r\\n]+([^]*?)^(```)$([\\n\\r]*)/ ,\n\t\t'code-indent' : /^((?:(?: |\\t)(?:[^]*?)$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'table' : /((?:^\\|.+?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'grid' : /((?:^ *! .*?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'cut' : /^--+$((?:\\r?\\n)*)/ ,\n\t\t'block' : /^(.*?)$((?:\\r?\\n)*)/ ,\n\t})\n\t\n\texport var $mol_syntax2_md_line = new $mol_syntax2({\n\t\t'strong' : /\\*\\*(.+?)\\*\\*/ ,\n\t\t'emphasis' : /\\*(?!\\s)(.+?)\\*|\\/\\/(?!\\s)(.+?)\\/\\// ,\n\t\t'code' : /```(.+?)```|;;(.+?);;|`(.+?)`/ ,\n\t\t'insert' : /\\+\\+(.+?)\\+\\+/ ,\n\t\t'delete' : /~~(.+?)~~|--(.+?)--/ ,\n\t\t// 'remark' : /(\\()(.+?)(\\))/ ,\n\t\t// 'quote' : /(\")(.+?)(\")/ ,\n\t\t'embed' : /\"\"(?:(.*?)\\\\)?(.*?)\"\"/ ,\n\t\t'link' : /\\\\\\\\(?:(.*?)\\\\)?(.*?)\\\\\\\\/ ,\n\t\t'image-link' : /!\\[([^\\[\\]]*?)\\]\\((.*?)\\)/ ,\n\t\t'text-link' : /\\[(.*?(?:\\[[^\\[\\]]*?\\][^\\[\\]]*?)*)\\]\\((.*?)\\)/ ,\n\t\t'text-link-http' : /\\b(https?:\\/\\/[^\\s,.;:!?\")]+(?:[,.;:!?\")][^\\s,.;:!?\")]+)+)/ ,\n\t})\n\t\n\texport const $mol_syntax2_md_code = new $mol_syntax2({\n\t\t'code-indent' : /\\t+/ ,\n\t\t'code-docs' : /\\/\\/\\/.*?$/ ,\n\t\t'code-comment-block' : /(?:\\/\\*[^]*?\\*\\/|\\/\\+[^]*?\\+\\/|)/ ,\n\t\t'code-link' : /(?:\\w+:\\/\\/|#)\\S+?(?=\\s|\\\\\\\\|\"\"|$)/ ,\n\t\t'code-comment-inline' : /\\/\\/.*?(?:$|\\/\\/)|- \\\\(?!\\\\).*|#!? .*/ ,\n\t\t'code-string' : /(?:\".*?\"|'.*?'|`.*?`| ?\\\\\\\\.+?\\\\\\\\|\\/.+?\\/[dygimsu]*(?!\\p{Letter})|[ \\t]*\\\\[^\\n]*)/u ,\n\t\t'code-number' : /[+-]?(?:\\d*\\.)?\\d+\\w*/ ,\n\t\t'code-call' : /\\.?\\w+ *(?=\\()/ ,\n\t\t'code-sexpr' : /\\((\\w+ )/ ,\n\t\t'code-field' : /(?:(?:\\.|::|->)\\w+|[\\w-]+\\??\\s*:(?!\\/\\/|:))/ ,\n\t\t'code-keyword' : /\\b(throw|readonly|unknown|keyof|typeof|never|from|class|struct|interface|type|function|extends|implements|module|namespace|import|export|include|require|var|val|let|const|for|do|while|until|in|out|of|new|if|then|else|switch|case|this|return|async|await|yield|try|catch|break|continue|get|set|public|private|protected|string|boolean|number|null|undefined|true|false|void|int|float|ref)\\b/ ,\n\t\t'code-global' : /[$]+\\w*|\\b[A-Z][a-z0-9]+[A-Z]\\w*/ ,\n\t\t'code-word' : /\\w+/ ,\n\t\t'code-decorator' : /@\\s*\\S+/ ,\n\t\t'code-tag' : /<\\/?[\\w-]+\\/?>?|&\\w+;/ ,\n\t\t'code-punctuation' : /[\\-\\[\\]\\{\\}\\(\\)<=>~!\\?@#%&\\*_\\+\\\\\\/\\|;:\\.,\\^]+?/ ,\n\t})\n\t\n}\n","namespace $.$$ {\n\n\texport class $mol_text_code_line extends $.$mol_text_code_line {\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.text().length * this.letter_width()\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\ttokens( path: number[] ) {\n\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tconst text = ( path.length > 0 )\n\t\t\t\t// @FIXME: this logic compatible only with `string`\n\t\t\t\t? this.tokens( path.slice( 0, path.length - 1 ) )[ path[ path.length - 1 ] ].found.slice( 1, -1 )\n\t\t\t\t: this.text()\n\t\t\t\n\t\t\tthis.syntax().tokenize(\n\t\t\t\ttext,\n\t\t\t\t( name , found , chunks )=> {\n\t\t\t\t\tif( name === 'code-sexpr' ) {\n\t\t\t\t\t\ttokens.push({ name: 'code-punctuation', found: '(', chunks: [] })\n\t\t\t\t\t\ttokens.push({ name: 'code-call', found: chunks[0], chunks: [] })\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push({ name , found , chunks })\t\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.numb_showed() ? [ this.Numb() ] : [],\n\t\t\t\t... this.row_content([])\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_content( path: number[] ) {\n\t\t\treturn this.tokens( path ).map( (t,i)=> this.Token([ ... path, i ]) )\n\t\t}\n\n\t\tToken( path: number[] ) {\n\t\t\treturn this.token_type( path ) === 'code-link' ? this.Token_link( path ) : super.Token( path )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_type( path: number[] ) {\n\t\t\treturn this.tokens( [ ... path.slice( 0, path.length - 1 ) ] )[ path[ path.length - 1 ] ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_content( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\tswitch( token.name ) {\n\t\t\t\t\n\t\t\t\tcase 'code-string': return [\n\t\t\t\t\ttoken.found[0],\n\t\t\t\t\t... this.row_content( path ),\n\t\t\t\t\ttoken.found[ token.found.length - 1 ],\n\t\t\t\t] \n\t\t\t\t\n\t\t\t\tdefault: return [ token.found ]\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_text( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\treturn token.found\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_uri( path: number[] ) {\n\t\t\tconst uri = this.token_text( path )\n\t\t\treturn this.uri_resolve( uri )\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.text() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\treturn this.find_token_pos([ offset ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_token_pos( [ offset, ... path ]: number[] ) {\n\t\t\t\n\t\t\tfor( const [ index, token ] of this.tokens( path ).entries() ) {\n\t\t\t\tif( token.found.length >= offset ) {\n\t\t\t\t\tconst token = this.Token([ ... path, index ])\n\t\t\t\t\treturn { token, offset }\n\t\t\t\t} else {\n\t\t\t\t\toffset -= token.found.length\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\t\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code_line, {\n\n\t\tdisplay: 'block',\n\t\tposition: 'relative',\n\t\t\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\ttextAlign: 'right',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\twidth: rem(3),\n\t\t\tmargin: {\n\t\t\t\tleft: rem(-4),\n\t\t\t},\n\t\t\tdisplay: 'inline-block',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tuserSelect: 'none',\n\t\t\tposition: 'absolute',\n\t\t},\n\t\t\n\t} )\n\t\n}\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","$mol_icon_clipboard $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\n","$mol_icon_clipboard_outline $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\n","$mol_button_copy $mol_button_minor\n\tblobs /$mol_blob\n\t\t<= text_blob? $mol_blob /\n\t\t\t/BlobPart <= text <= title\n\t\t\t* type \\text/plain\n\t\t<= html_blob? $mol_blob /\n\t\t\t/BlobPart <= html \\\n\t\t\t* type \\text/html\n\tdata *\n\tsub /\n\t\t<= Icon $mol_icon_clipboard_outline\n\t\t<= title \\\n\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Button copy text() value to clipboard\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_copy extends $.$mol_button_copy {\n\t\t\n\t\tdata() {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tthis.blobs().map( blob => [ blob.type, blob ] )\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thtml() {\n\t\t\treturn $mol_html_encode( this.text() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tattachments() {\n\t\t\treturn [ new ClipboardItem( this.data() ) ]\n\t\t}\n\t\t\n\t\tclick( event?: Event ) {\n\t\t\tconst cb = $mol_wire_sync( this.$.$mol_dom_context.navigator.clipboard )\n\t\t\t\n\t\t\tcb.writeText?.( this.text() )\n\t\t\tcb.write?.( this.attachments() )\n\n\t\t\tif( cb.writeText === undefined && cb.write === undefined ) {\n\t\t\t\tthrow new Error( \"doesn't support copy to clipoard\" )\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","$mol_text_code $mol_stack\n\tattr *\n\t\t^\n\t\tmol_text_code_sidebar_showed <= sidebar_showed false\n\ttext \\\n\ttext_lines /string\n\tfind_pos* null\n\turi_base \\\n\trow_themes /string\n\tsub /\n\t\t<= Rows $mol_list\n\t\t\trender_visible_only <= render_visible_only false\n\t\t\trows <= rows /\n\t\t\t\t<= Row*0 $mol_text_code_line\n\t\t\t\t\tnumb_showed <= sidebar_showed\n\t\t\t\t\tnumb <= row_numb* 0\n\t\t\t\t\ttheme <= row_theme* \\\n\t\t\t\t\ttext <= row_text* \\\n\t\t\t\t\tsyntax <= syntax null\n\t\t\t\t\turi_resolve* <= uri_resolve* \\\n\t\t\t\t\thighlight <= highlight \\\n\t\t<= Copy $mol_button_copy\n\t\t\thint @ \\Copy whole code\n\t\t\ttext <= text_export \\\n","namespace $.$$ {\n\n\t/**\n\t * Code visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_code_demo\n\t */\n\texport class $mol_text_code extends $.$mol_text_code {\n\t\t\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttext_lines() {\n\t\t\treturn ( this.text() ?? '' ).split( '\\n' ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.text_lines().map( ( _ , index )=> this.Row( index + 1 ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_text( index: number ) {\n\t\t\treturn this.text_lines()[ index - 1 ]\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\t\n\t\t\tfor( const [ index, line ] of this.text_lines().entries() ) {\n\t\t\t\tif( line.length >= offset ) {\n\t\t\t\t\treturn this.Row( index + 1 ).find_pos( offset )\n\t\t\t\t} else {\n\t\t\t\t\toffset -= line.length + 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\t... this.sidebar_showed() ? [ this.Copy() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\ttext_export() {\n\t\t\treturn this.text() + '\\n'\n\t\t}\n\t\t\n\t\trow_theme( row: number ) {\n\t\t\treturn this.row_themes()[ row - 1 ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $.$$ {\n\t\n\tconst { rem, px } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code, {\n\n\t\twhiteSpace: 'pre-wrap',\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\n\t\tRow: {\n\t\t\tfont: {\n\t\t\t\tfamily: 'inherit',\n\t\t\t},\n\t\t},\n\n\t\tCopy: {\n\t\t\talignSelf: 'flex-start',\n\t\t\tjustifySelf: 'flex-start',\n\t\t},\n\t\t\n\t\t'@': {\n\t\t\t'mol_text_code_sidebar_showed': {\n\t\t\t\ttrue: {\n\t\t\t\t\t$mol_text_code_line: {\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\tleft: rem(1.75),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t} )\n\t\n}\n","$mol_float $mol_view\n\tstyle *\n\t\t^\n\t\tminHeight \\auto\n","namespace $ { $mol_style_attach( \"mol/float/float.view.css\",\n \"[mol_float] {\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tz-index: var(--mol_layer_float);\\n\\topacity: 1;\\n\\ttransition: opacity .25s ease-in;\\n\\tdisplay: block;\\n\\tbackground: linear-gradient( var(--mol_theme_card), var(--mol_theme_card) ), var(--mol_theme_back);\\n\\tbox-shadow: 0 0 .5rem hsla(0,0%,0%,.25);\\n}\\n\\n\"\n) }","$mol_icon_chevron $mol_icon path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n","$mol_check_expand $mol_check\n\tIcon $mol_icon_chevron\n\tlevel 0\n\tstyle *\n\t\t^\n\t\tpaddingLeft <= level_style \\0px\n\tchecked? <=> expanded? false\n\tenabled <= expandable false\n","namespace $.$$ {\n\t\n\t/**\n\t * Expander for trees, lists, etc\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_expand_demo\n\t */\n\texport class $mol_check_expand extends $.$mol_check_expand {\n\t\t\n\t\tlevel_style() {\n\t\t\treturn `${ this.level() * 1 - 1 }rem`\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expanded() !== null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/expand/expand.view.css\",\n \"[mol_check_expand] {\\n\\tmin-width: 20px;\\n}\\n\\n:where([mol_check_expand][disabled]) [mol_check_expand_icon] {\\n\\tvisibility: hidden;\\n}\\n\\n[mol_check_expand_icon] {\\n\\tbox-shadow: none;\\n\\tmargin-left: -0.375rem;\\n}\\n[mol_check_expand_icon] {\\n\\ttransform: rotateZ(0deg);\\n}\\n\\n:where([mol_check_checked]) [mol_check_expand_icon] {\\n\\ttransform: rotateZ(90deg);\\n}\\n\\n[mol_check_expand_icon] {\\n\\tvertical-align: text-top;\\n}\\n\\n[mol_check_expand_label] {\\n\\tmargin-left: 0;\\n}\\n\"\n) }","$mol_grid $mol_view\n\trow_height 32\n\trow_ids /string[]\n\trow_id* null\n\tcol_ids /\n\trecords *\n\trecord* null\n\thierarchy null\n\thierarchy_col \\\n\tminimal_width 0\n\t-\n\tsub /\n\t\t<= Head\n\t\t<= Table $mol_grid_table\n\t\t\tsub <= rows /$mol_view\n\tHead $mol_grid_row\n\t\tcells <= head_cells /$mol_view\n\tRow* $mol_grid_row\n\t\tminimal_height <= row_height\n\t\tminimal_width <= minimal_width\n\t\tcells <= cells* /$mol_view\n\t-\n\tCell* $mol_view\n\tcell* null\n\tCell_text* $mol_grid_cell\n\t\tsub <= cell_content_text* <= cell_content* /$mol_view_content\n\tCell_number* $mol_grid_number\n\t\tsub <= cell_content_number* <= cell_content* /$mol_view_content\n\tCol_head* $mol_float\n\t\tdom_name \\th\n\t\tsub <= col_head_content* /$mol_view_content\n\tCell_branch* $mol_check_expand\n\t\tlevel <= cell_level* 0\n\t\tlabel <= cell_content* /$mol_view_content\n\t\texpanded? <=> cell_expanded*? false\n\tCell_content* /\n\t\t<= Cell_dimmer* $mol_dimmer\n\t\t\tneedle <= needle \\\n\t\t\thaystack <= cell_value* \\\n\n$mol_grid_table $mol_list\n\t- dom_name \\table\n\n$mol_grid_row $mol_view\n\t- dom_name \\tr\n\tsub <= cells /$mol_view\n\n$mol_grid_cell $mol_view\n\t- dom_name \\td\n\tminimal_height 40\n\n$mol_grid_number $mol_grid_cell\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\texport interface $mol_grid_node {\n\t\tid : string\n\t\tparent : $mol_grid_node\n\t\tsub : $mol_grid_node[]\n\t}\n\t\n\texport class $mol_grid extends $.$mol_grid {\n\t\t\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn this.col_ids().map( colId => this.Col_head( colId ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcol_head_content( colId : string ) {\n\t\t\treturn [ colId ] as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.row_ids().map( id => this.Row( id ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcells( row_id : string[] ) {\n\t\t\treturn this.col_ids().map( col_id => this.Cell({ row : row_id , col : col_id }) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcol_type( col_id : string ) {\n\t\t\tif( col_id === this.hierarchy_col() ) return 'branch'\n\t\t\t\n\t\t\tconst rowFirst = this.row_id( 0 )\n\t\t\tconst val = this.record( rowFirst[ rowFirst.length -1 ] )[ col_id ]\n\t\t\tif( typeof val === 'number' ) return 'number'\n\t\t\t\n\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\tCell( id : { row : string[] , col : string } ) : $mol_view {\n\t\t\tswitch( this.col_type( id.col ).valueOf() ) {\n\t\t\t\tcase 'branch' : return this.Cell_branch( id )\n\t\t\t\tcase 'number' : return this.Cell_number( id )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.Cell_text( id )\n\t\t}\n\t\t\n\t\tcell_content( id : { row : string[] , col : string } ) {\n\t\t\treturn [ this.record( id.row[ id.row.length - 1 ] )[ id.col ] ]\n\t\t}\n\t\t\n\t\tcell_content_text( id : { row : string[] , col : string } ) {\n\t\t\treturn this.cell_content( id ).map( val => typeof val === 'object' ? JSON.stringify( val ) : val )\n\t\t}\n\t\t\n\t\trecords() : any {\n\t\t\treturn []\n\t\t}\n\t\t\n\t\trecord( id : string ) {\n\t\t\treturn this.records()[ id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trecord_ids() {\n\t\t\treturn Object.keys( this.records() )\n\t\t}\n\t\t\n\t\trow_id( index : number ) {\n\t\t\treturn ( this.row_ids().slice( index , index + 1 ).valueOf() as string[] )[0]\n\t\t}\n\n\t\tcol_ids() {\n\t\t\tconst rowFirst = this.row_id(0)\n\t\t\tif( rowFirst === void 0 ) return []\n\t\t\t\n\t\t\tconst record = this.record( rowFirst[ rowFirst.length - 1 ] )\n\t\t\tif( !record ) return []\n\t\t\t\n\t\t\treturn Object.keys( record ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thierarchy() {\n\t\t\tconst hierarchy : { [ id : string ] : $mol_grid_node } = {}\n\t\t\tconst root = hierarchy[ '' ] = {\n\t\t\t\tid : '' ,\n\t\t\t\tparent : null as any as $mol_grid_node ,\n\t\t\t\tsub : [] as $mol_grid_node[] ,\n\t\t\t}\n\t\t\tthis.record_ids().map( id => {\n\t\t\t\troot.sub.push( hierarchy[ id ] = {\n\t\t\t\t\tid ,\n\t\t\t\t\tparent : root ,\n\t\t\t\t\tsub : [] ,\n\t\t\t\t} )\n\t\t\t} )\n\t\t\treturn hierarchy\n\t\t}\n\t\t\n\t\trow_sub_ids( row : string[] ) : string[][] {\n\t\t\treturn this.hierarchy()[ row[ row.length - 1 ] ].sub.map( child => row.concat( child.id ) )\n\t\t}\n\t\t\n\t\trow_root_id() : string[] {\n\t\t\treturn [ '' ]\n\t\t}\n\t\t\n\t\tcell_level( id : { row : string[] } ) {\n\t\t\treturn id.row.length - 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\tconst next : string[][] = []\n\t\t\t\n\t\t\tconst add = ( row : string[] )=> {\n\t\t\t\tnext.push( row )\n\t\t\t\tif( this.row_expanded( row ) ) {\n\t\t\t\t\tthis.row_sub_ids( row ).forEach( child => add( child ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis.row_sub_ids( this.row_root_id() ).forEach( child => add( child ) )\n\t\t\t\n\t\t\treturn next as readonly string[][]\n\t\t}\n\t\t\n\t\trow_expanded( row_id : string[] , next? : boolean ) {\n\t\t\tif( !this.row_sub_ids( row_id ).length ) return null\n\t\t\t\n\t\t\tconst key = `row_expanded(${ JSON.stringify( row_id ) })`\n\t\t\tconst next2 = $mol_state_session.value( key , next )\n\t\t\t\n\t\t\treturn ( next2 == null ) ? this.row_expanded_default( row_id ) : next2\n\t\t}\n\t\t\n\t\trow_expanded_default( row_id : string[] ) {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcell_expanded( id : { row : string[] } , next? : boolean ) {\n\t\t\treturn this.row_expanded( id.row , next )!\n\t\t}\n\t\t\n\t\toverride sub() {\n\t\t\tthis.head_cells()\n\t\t\tthis.rows()\n\t\t\treturn super.sub()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/grid/grid.view.css\",\n \"[mol_grid] {\\n\\tdisplay: block;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\toverflow-x: auto;\\n}\\n\\n[mol_grid_gap] {\\n\\tposition: absolute;\\n\\tpadding: .1px;\\n\\ttop: 0;\\n\\ttransform: translateZ(0);\\n}\\n\\n[mol_grid_table] {\\n\\tborder-spacing: 0;\\n\\tdisplay: table-row-group;\\n\\tposition: relative;\\n}\\n\\n[mol_grid_table] > * {\\n\\tdisplay: table-row;\\n\\ttransition: none;\\n}\\n\\n[mol_grid_head] > *,\\n[mol_grid_table] > * > * {\\n\\tdisplay: table-cell;\\n\\tpadding: var(--mol_gap_text);\\n\\twhite-space: nowrap;\\n\\tvertical-align: middle;\\n\\tbox-shadow: inset 2px 2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 2px 0 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 2px -2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > [mol_grid_row]:where(:first-child) > *:where(:first-child) {\\n\\tbox-shadow: none;\\n}\\t\\n\\n[mol_grid_head] {\\n\\tdisplay: table-row;\\n\\ttransform: none !important;\\n}\\n\\n/* [mol_grid_cell_number] {\\n\\ttext-align: right;\\n} */\\n\\n[mol_grid_col_head] {\\n\\tfont-weight: inherit;\\n\\ttext-align: inherit;\\n\\tdisplay: table-cell;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_grid_cell_dimmer] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: inherit;\\n}\\n\"\n) }","$mol_image $mol_view\n\tdom_name \\img\n\tattr *any\n\t\t^\n\t\tsrc <= uri \\\n\t\talt <= title\n\t\tloading <= loading \\lazy\n\t\tdecoding <= decoding \\async\n\t\tcrossOrigin <= cors null\n\t\twidth <= natural_width 0\n\t\theight <= natural_height 0\n\tevent *any\n\t\tload? <=> load? null\n\tminimal_width 16\n\tminimal_height 16\n","namespace $.$$ {\n\texport class $mol_image extends $.$mol_image {\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_width( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalWidth ) return dom.naturalWidth\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bwidth=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_height( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalHeight ) return dom.naturalHeight\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bheight=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\tload() {\n\t\t\tthis.natural_width( null )\n\t\t\tthis.natural_height( null )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/image/image.view.css\",\n \"[mol_image] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\toverflow: hidden;\\n\\tflex: 0 1 auto;\\n\\tmax-width: 100%;\\n\\tobject-fit: cover;\\n\\theight: fit-content;\\n}\\n\"\n) }","$mol_link_iconed $mol_link\n\tsub /\n\t\t<= Icon $mol_image\n\t\t\turi <= icon \\\n\t\t\ttitle \\\n\tcontent /\n\t\t<= title <= uri\n\thost \\\n","namespace $.$$ {\n\n\texport class $mol_link_iconed extends $.$mol_link_iconed {\n\n\t\t@ $mol_mem\n\t\ticon() {\n\t\t\treturn `https://favicon.yandex.net/favicon/${ this.host() }?color=0,0,0,0&size=32&stub=1`\n\t\t\t// return `https://api.faviconkit.com/${ this.host() }/16`\n\t\t}\n\n\t\t@ $mol_mem\n\t\thost() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\tconst url = new URL( this.uri() , base )\n\t\t\treturn url.hostname\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\tconst uri = this.uri()\n\t\t\tconst host = this.host()\n\t\t\tconst suffix = ( host ? uri.split( this.host() , 2 )[1] : uri )?.replace( /^[\\/\\?#!]+/, '' )\n\t\t\treturn decodeURIComponent( suffix || host ).replace( /^\\//, ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.host() ? [ this.Icon() ] : [],\n\t\t\t\t... this.content() ? [ ' ', ... this.content() ] : [],\n\t\t\t] as readonly any[]\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/link/iconed/iconed.view.css\",\n \"[mol_link_iconed] {\\n\\talign-items: baseline;\\n\\tdisplay: inline-flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[mol_link_iconed_icon] {\\n\\tbox-shadow: none;\\n\\theight: 1.5em;\\n\\twidth: 1em;\\n\\tflex: 0 0 auto;\\n\\tdisplay: inline-block;\\n\\talign-self: normal;\\n\\tvertical-align: top;\\n\\tborder-radius: 0;\\n\\tobject-fit: scale-down;\\n\\topacity: .75;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] [mol_link_iconed_icon] {\\n\\tfilter: var(--mol_theme_image);\\n}\\n\"\n) }","$mol_embed_native $mol_scroll\n\tdom_name \\iframe\n\twindow null\n\tattr *\n\t\t^\n\t\tsrc <= uri? \\about:config\n\tsub /\n\t\t<= Fallback $mol_link\n\t\t\turi <= uri\n\t\t\tsub /\n\t\t\t\t<= title \\\n\tmessage *\n\t\thashchange? <=> uri_change? null\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = new $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_embed_native extends $.$mol_embed_native {\n\n\t\t@ $mol_mem\n\t\twindow() {\n\t\t\t$mol_wire_solid()\n\t\t\tthis.uri_resource()\n\t\t\treturn $mol_wire_sync( this as $mol_embed_native ).load( this.dom_node_actual() as HTMLIFrameElement )\n\t\t}\n\t\t\n\t\tload( frame: HTMLIFrameElement ) {\n\t\t\treturn new Promise< Window >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tframe.onload = () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif( frame.contentWindow!.location.href === 'about:blank' ) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch { }\n\t\t\t\t\tdone( frame.contentWindow! )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tframe.onerror = ( event : Event | string ) => {\n\t\t\t\t\tfail( typeof event === 'string' ? new Error( event ) : ( event as ErrorEvent ).error || event )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_resource() {\n\t\t\treturn this.uri().replace( /#.*/, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmessage_listener() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\t$mol_dom_context,\n\t\t\t\t'message',\n\t\t\t\t$mol_wire_async( this ).message_receive\n\t\t\t)\n\t\t}\n\n\t\toverride sub_visible() {\n\t\t\tthis.window()\n\n\t\t\treturn super.sub_visible()\n\t\t}\n\t\t\n\t\tmessage_receive( event?: MessageEvent<[ string, string ]> ) {\n\t\t\t\n\t\t\tif( !event ) return\n\t\t\tif( event.source !== this.window() ) return\n\t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\n\t\t\t(this.message() as any)[ event.data[0] ]?.( event )\n\t\t}\n\n\t\turi_change( event: MessageEvent<[ string, string ]> ) {\n\t\t\tthis.$.$mol_wait_timeout( 1000 )\n\t\t\tthis.uri( event.data[1] )\n\t\t}\n\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.message_listener(),\n\t\t\t\tthis.window(),\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/native/native.view.css\",\n \"[mol_embed_native] {\\n\\tmax-width: 100%;\\n\\tmax-height: 100vh;\\n\\tobject-fit: cover;\\n\\tdisplay: flex;\\n\\tflex: 1 1 auto;\\n\\tobject-position: top left;\\n\\tborder-radius: var(--mol_gap_round);\\n\\taspect-ratio: 4/3;\\n\\tborder: none;\\n}\\n\"\n) }","$mol_icon_youtube $mol_icon path \\M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\n","$mol_frame $mol_embed_native\n\tattr *\n\t\ttabindex <= tabindex\n\t\tallow <= allow \\\n\t\tsrc <= uri\n\t\tsrcdoc <= html null\n\tfullscreen true\n\taccelerometer true\n\tautoplay true\n\tencription true\n\tgyroscope true\n\tpip true\n\tclipboard_read true\n\tclipboard_write true\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_frame_demo\n\t */\n\texport class $mol_frame extends $.$mol_frame {\n\t\t\n\t\twindow() {\n\t\t\t// if( this.html() ) return ( this.dom_node() as HTMLIFrameElement ).contentWindow!\n\t\t\treturn super.window()\n\t\t}\n\n\t\tallow() {\n\t\t\treturn [\n\t\t\t\t... this.fullscreen() ? [ 'fullscreen' ] : [] ,\n\t\t\t\t... this.accelerometer() ? [ 'accelerometer' ] : [] ,\n\t\t\t\t... this.autoplay() ? [ 'autoplay' ] : [] ,\n\t\t\t\t... this.encription() ? [ 'encrypted-media' ] : [] ,\n\t\t\t\t... this.gyroscope() ? [ 'gyroscope' ] : [] ,\n\t\t\t\t... this.pip() ? [ 'picture-in-picture' ] : [] ,\n\t\t\t\t... this.clipboard_read() ? [ `clipboard-read ${ this.uri() }` ] : [],\n\t\t\t\t... this.clipboard_write() ? [ `clipboard-write ${ this.uri() }` ] : [],\n\t\t\t].join('; ')\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$mol_style_define( $mol_frame , {\n\t\tborder: {\n\t\t\tstyle: 'none',\n\t\t},\n\t\tmaxHeight: $mol_style_unit.vh(100),\n\t} )\n}\n","$mol_embed_service $mol_check\n\turi \\\n\tvideo_preview \\\n\tvideo_id \\\n\tchecked? <=> active? false\n\tsub /\n\t\t<= Image $mol_image\n\t\t\ttitle <= title \\\n\t\t\turi <= video_preview \\\n\t\t<= Hint $mol_icon_youtube\n\t\t<= Frame $mol_frame\n\t\t\ttitle <= title \\\n\t\t\turi <= video_embed \\\n\n","namespace $.$$ {\n\texport class $mol_embed_service extends $.$mol_embed_service {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.active()\n\t\t\t\t? [ this.Frame() ]\n\t\t\t\t: [ this.Image(), this.Hint() ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/service/service.view.css\",\n \"[mol_embed_service] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_service_image] {\\n\\tflex: auto 1 1;\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_frame] {\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_hint] {\\n\\tposition: absolute;\\n left: 50%;\\n top: 50%;\\n width: 50%;\\n height: 50%;\\n opacity: 0.3;\\n transform: translate(-50%, -50%);\\n}\\n\\n[mol_embed_service]:hover [mol_embed_service_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","$mol_embed_youtube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_youtube extends $.$mol_embed_youtube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://www.youtube.com/embed/${ encodeURIComponent( this.video_id() ) }?autoplay=1&loop=1`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https\\:\\/\\/www\\.youtube\\.com\\/(?:embed\\/|shorts\\/|watch\\?v=)([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? this.uri().match( /^https\\:\\/\\/youtu\\.be\\/([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://i.ytimg.com/vi/${ this.video_id() }/sddefault.jpg`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_rutube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_rutube extends $.$mol_embed_rutube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://rutube.ru/play/embed/${ encodeURIComponent( this.video_id() ) }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https:\\/\\/rutube.ru\\/video\\/([^\\/&?#]+)/ )?.[1] ?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://rutube.ru/api/video/${ this.video_id() }/thumbnail/?redirect=1`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_any $mol_view\n\tImage $mol_image\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tObject $mol_embed_native\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tYoutube $mol_embed_youtube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tRutube $mol_embed_rutube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n","namespace $.$$ {\n\t\n\texport class $mol_embed_any extends $.$mol_embed_any {\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst uri = this.uri()\n\t\t\t\t\n\t\t\t\tif( /\\b(png|gif|jpg|jpeg|jfif|webp|svg)\\b/.test( uri ) ) return 'image'\n\t\t\t\tif( /^https:\\/\\/www\\.youtube\\.com\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/youtu\\.be\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/rutube\\.ru\\//.test( uri ) ) return 'rutube'\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 'image'\n\t\t\t}\n\t\t\t\n\t\t\treturn 'object'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'image': return [ this.Image() ]\n\t\t\t\tcase 'youtube': return [ this.Youtube() ]\n\t\t\t\tcase 'rutube': return [ this.Rutube() ]\n\t\t\t\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_expander $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tsub /\n\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\tlabel <= label /\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools null\n\t\t<= Content $mol_list\n\t\t\trows <= content /\n","namespace $.$$ {\n\t/**\n\t * Component which expands any content on title click.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_expander_demo\n\t */\n\texport class $mol_expander extends $.$mol_expander {\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\t... this.expanded() ? [ this.Content() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.content().length > 0\n\t\t}\n\t\t\n\t}\n}\n\n","namespace $ { $mol_style_attach( \"mol/expander/expander.view.css\",\n \"[mol_expander] {\\n\\tflex-direction: column;\\n}\\n\\n[mol_expander_label] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_expander_trigger] {\\n\\tflex: auto;\\n\\tposition: relative;\\n}\\n\"\n) }","$mol_text $mol_list\n\turi_base \\\n\ttext \\\n\tparam \\\n\tflow_tokens /\n\tblock_text* \\\n\tauto /\n\t\t<= auto_scroll null\n\t- \\Blocks\n\tParagraph* $mol_paragraph\n\t\tsub <= block_content* /\n\tQuote* $mol_text\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= quote_text* \\\n\t\thighlight <= highlight \\\n\t\tauto_scroll null\n\tList* $mol_text_list\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttype <= list_type* \\-\n\t\ttext <= list_text* \\\n\t\thighlight <= highlight \\\n\titem_index* 0\n\tHeader* $mol_text_header\n\t\tminimal_height 40\n\t\tlevel <= header_level* 1\n\t\tcontent <= block_content* /\n\t\targ <= header_arg* *\n\tPre* $mol_text_code\n\t\ttext <= pre_text* \\\n\t\trow_themes <= pre_themes* /string\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsidebar_showed <= pre_sidebar_showed <= code_sidebar_showed true\n\tCut* $mol_view dom_name \\hr\n\t- \\Table\n\tTable* $mol_grid\n\t\thead_cells <= table_head_cells* /\n\t\trows <= table_rows* /\n\tTable_row* $mol_grid_row\n\t\tcells <= table_cells* /\n\tTable_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= table_cell_text* \\\n\t- \\Grid\n\tGrid* $mol_grid\n\t\trows <= grid_rows* /\n\tGrid_row* $mol_grid_row\n\t\tcells <= grid_cells* /\n\tGrid_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= grid_cell_text* \\\n\t- \\Lines\n\tString* $mol_dimmer\n\t\tdom_name \\span\n\t\tneedle <= highlight \\\n\t\thaystack <= line_text* \\\n\tSpan* $mol_text_span\n\t\tdom_name \\span\n\t\ttype <= line_type* \\\n\t\tsub <= line_content* /\n\tCode_line* $mol_text_code_line\n\t\tnumb_showed false\n\t\thighlight <= highlight \\\n\t\ttext <= line_text* \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsyntax <= code_syntax null\n\tLink* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent <= line_content* /\n\tLink_http* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent / <= link_host* \\\n\tEmbed* $mol_embed_any\n\t\turi <= link_uri* \\\n\t\ttitle <= line_text* \\\n\t- \\Spoilers\n\tSpoiler* $mol_expander\n\t\tlabel /\n\t\t\t<= Spoiler_label* $mol_text\n\t\t\t\ttext <= spoiler_label* \\\n\t\tcontent /\n\t\t\t<= Spoiler_content* $mol_text\n\t\t\t\ttext <= spoiler_content* \\\n\n$mol_text_header $mol_paragraph\n\tlevel 1\n\tsub /\n\t\t<= Link $mol_link\n\t\t\targ <= arg *\n\t\t\thint @ \\Permalink to this section\n\t\t\tsub <= content /\n\n$mol_text_span $mol_paragraph\n\tdom_name \\span\n\tattr *\n\t\t^\n\t\tmol_text_type <= type \\\n","namespace $.$$ {\n\t/**\n\t * Markdown visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_demo\n\t */\n\texport class $mol_text extends $.$mol_text {\n\t\t\n\t\t@ $mol_mem\n\t\tflow_tokens() {\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\tthis.$.$mol_syntax2_md_flow.tokenize(\n\t\t\t\tthis.text(),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tblock_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.flow_tokens().map( ( { name }, index )=> {\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'quote': return this.Quote( index )\n\t\t\t\t\tcase 'spoiler': return this.Spoiler( index )\n\t\t\t\t\tcase 'header': return this.Header( index )\n\t\t\t\t\tcase 'list': return this.List( index )\n\t\t\t\t\tcase 'code': return this.Pre( index )\n\t\t\t\t\tcase 'code-indent': return this.Pre( index )\n\t\t\t\t\tcase 'table': return this.Table( index )\n\t\t\t\t\tcase 'grid': return this.Grid( index )\n\t\t\t\t\tcase 'cut': return this.Cut( index )\n\t\t\t\t\tdefault: return this.Paragraph( index )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tparam() {\n\t\t\treturn this.toString().replace( /^.*?[\\)>]\\./, '' ).replace( /[(<>)]/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_level( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].length\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_arg( index: number ) {\n\t\t\treturn {\n\t\t\t\t[ this.param() ]: this.block_text( index )\n\t\t\t}\n\t\t}\n\t\t\n\t\tlist_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[1] ?? ''\n\t\t}\n\t\t\n\t\titem_index( index: number ) {\n\t\t\treturn this.flow_tokens().slice( 0, index ).filter( token => token.name === 'block' ).length + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_text( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\treturn ( token.chunks[2] ?? token.chunks[0].replace( /^(\\t| (?:\\+\\+|--|\\*\\*| ) )/gm , '' ) ).replace( /[\\n\\r]*$/ , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_themes( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\tconst names: Record< string, string > = {\n\t\t\t\t' ** ': '$mol_theme_accent',\n\t\t\t\t' ++ ': '$mol_theme_current',\n\t\t\t\t' -- ': '$mol_theme_special',\n\t\t\t}\n\t\t\treturn token.chunks[0].split('\\n')\n\t\t\t\t.map( line => names[ line.match( /^ (?:\\+\\+|--|\\*\\*| ) /gm )?.[0] ?? '' ] ?? null )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tquote_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[>\"] /mg , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^([-*+]|(?:\\d+[\\.\\)])+) ?/mg , '' ).replace( /^ ?/mg, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcell_content( indexBlock : number ) {\n\t\t\treturn this.flow_tokens()[ indexBlock ].chunks[ 0 ]\n\t\t\t.split( /\\r?\\n/g )\n\t\t\t.filter( row => row && !/\\|--/.test( row ) )\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\treturn row.split( /\\|/g )\n\t\t\t\t.filter( cell => cell )\n\t\t\t\t.map( ( cell , cellId )=> cell.trim() )\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_rows( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )\n\t\t\t.slice( 1 )\n\t\t\t.map( ( row , rowId )=> this.Table_row({ block : blockId , row : rowId + 1 }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_head_cells( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )[ 0 ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : blockId , row : 0 , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cells( id : { block : number , row : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : id.block , row : id.row , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cell_text( id : { block : number , row : number , cell : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_content( indexBlock: number ) {\n\t\t\treturn [ ... this.flow_tokens()[ indexBlock ].chunks[ 0 ].match( /(?:^! .*?$\\r?\\n?)+(?:^ +! .*?$\\r?\\n?)*/gm )! ]\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\tconst cells = [] as string[]\n\t\t\t\tfor( const line of row.trim().split( /\\r?\\n/ ) ) {\n\t\t\t\t\tconst [ _, indent, content ] = /^( *)! (.*)/.exec( line )!\n\t\t\t\t\tconst col = Math.ceil( indent.length / 2 )\n\t\t\t\t\tcells[ col ] = ( cells[ col ] ? cells[ col ] + '\\n' : '' ) + content\n\t\t\t\t}\n\t\t\t\treturn cells\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_rows( blockId: number ) {\n\t\t\treturn this.grid_content( blockId )\n\t\t\t.map( ( row, rowId )=> this.Grid_row({ block: blockId , row: rowId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cells( id: { block: number, row: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Grid_cell({ block: id.block, row: id.row, cell: cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cell_text( id: { block: number, row: number, cell: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base_abs() {\n\t\t\treturn new URL( this.uri_base() , $mol_dom_context.document.location.href )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\tif( /^#\\!/.test( uri ) ) {\n\t\t\t\t\n\t\t\t\tconst params: Record< string, string > = {}\n\t\t\t\n\t\t\t\tfor( const chunk of uri.slice(2).split( this.$.$mol_state_arg.separator ) ) {\n\t\t\t\t\tif( !chunk ) continue\n\t\t\t\t\tconst vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.$.$mol_state_arg.link( params )\n\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base_abs() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tcode_syntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tblock_text( index: number ) {\n\t\t\t\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\t\n\t\t\tswitch( token.name ) {\n\t\t\t\tcase 'header' : return token.chunks[2]\n\t\t\t\tdefault: return token.chunks[0]\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tblock_content( index: number ) {\n\t\t\treturn this.line_content([ index ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_tokens( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tthis.$.$mol_syntax2_md_line.tokenize(\n\t\t\t\tthis.line_text( path ),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_token( path: readonly number[] ) {\n\t\t\tconst tokens = this.line_tokens( path.slice( 0, path.length - 1 ) )\n\t\t\treturn tokens[ path[ path.length - 1 ] ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_type( path: readonly number[] ) {\n\t\t\treturn this.line_token( path ).name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_text( path: readonly number[] ) {\n\t\t\t\n\t\t\tif( path.length === 1 ) return this.block_text( path[0] )\n\t\t\t\n\t\t\tconst { name, found, chunks } = this.line_token( path )\n\t\t\t\n\t\t\tswitch( name ) {\n\t\t\t\tcase 'link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tcase 'text-link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tdefault: return ( chunks[0] || chunks[1] || chunks[2] ) ?? found\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_content( path: readonly number[] ) {\n\t\t\treturn this.line_tokens( path ).map( ( { name, chunks }, index )=> {\n\t\t\t\t\n\t\t\t\tconst path2 = [ ... path, index ]\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'embed': return this.Embed( path2 )\n\t\t\t\t\tcase 'link' : return this.Link( path2 )\n\t\t\t\t\tcase 'text-link-http': return this.Link_http( path2 )\n\t\t\t\t\tcase 'text-link' : return this.Link( path2 )\n\t\t\t\t\tcase 'image-link': return this.Embed( path2 )\n\t\t\t\t\tcase 'code': return this.Code_line( path2 )\n\t\t\t\t\tcase '': return this.String( path2 )\n\t\t\t\t\tdefault: return this.Span( path2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_uri( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst token = this.line_token( path )\n\t\t\tconst uri = this.uri_resolve( token.chunks[1] ?? token.found )\n\t\t\t\n\t\t\tif( !uri ) throw new Error( 'Bad link' )\n\t\t\treturn uri\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_host( path: readonly number[] ) {\n\t\t\treturn this.link_uri( path ).replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tauto_scroll() {\n\t\t\tfor( const [ index, token ] of this.flow_tokens().entries() ) {\n\t\t\t\t\n\t\t\t\tif( token.name !== 'header' ) continue\n\t\t\t\t\n\t\t\t\tconst header = this.Header( index )\n\t\t\t\tif( !header.Link().current() ) continue\n\t\t\t\t\n\t\t\t\tnew $mol_after_tick(\n\t\t\t\t\t()=> this.ensure_visible( header )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_rows( index: number ): string[] {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[\\?] /mg , '' ).split('\\n');\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_label( index: number ): string {\n\t\t\treturn this.spoiler_rows(index)[0];\n\t\t}\n\t\n\t\t@ $mol_mem_key\n\t\tspoiler_content( index: number): string {\n\t\t\treturn this.spoiler_rows(index).slice(1).join('\\n');\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $.$mol_text_header {\n\t\t\n\t\tdom_name() {\n\t\t\treturn 'h' + this.level()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/text/text/text.view.css\",\n \"[mol_text] {\\n\\tline-height: 1.5em;\\n\\tbox-sizing: border-box;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex: 0 0 auto;\\n\\ttab-size: 4;\\n}\\n\\n[mol_text_paragraph] {\\n\\tpadding: var(--mol_gap_text);\\n\\toverflow: auto;\\n\\toverflow-x: overlay;\\n\\tmax-width: 100%;\\n\\tdisplay: block;\\n\\tmax-width: 60rem;\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_spoiler_label_paragraph] {\\n\\tpadding: 0;\\n}\\n\\n[mol_text_span] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_string] {\\n\\tdisplay: inline;\\n\\tflex: 0 1 auto;\\n\\twhite-space: normal;\\n}\\n\\n[mol_text_quote] {\\n\\tmargin: var(--mol_gap_block);\\n\\tpadding: var(--mol_gap_block);\\n\\tbackground: var(--mol_theme_card);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_back);\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\n\\tbreak-after: avoid;\\n}\\n\\n* + [mol_text_header] {\\n\\tmargin-top: 0.75rem;\\n}\\n\\nh1[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n}\\n\\nh2[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n\\tfont-style: italic;\\n}\\n\\nh3[mol_text_header] {\\n\\tfont-size: 1.25rem;\\n}\\n\\nh4[mol_text_header] {\\n\\tfont-size: 1.25em;\\n\\tfont-style: italic;\\n}\\n\\nh5[mol_text_header] {\\n\\tfont-size: 1rem;\\n}\\n\\nh6[mol_text_header] {\\n\\tfont-size: 1rem;\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_header_link] {\\n\\tcolor: inherit;\\n}\\n\\n[mol_text_table] {\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_table_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: baseline;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_grid] {\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_grid_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_cut] {\\n\\tborder: none;\\n\\twidth: 100%;\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_text_link_http],\\n[mol_text_link] {\\n\\tpadding: 0;\\n\\tdisplay: inline;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_link_icon] + [mol_text_embed] {\\n\\tmargin-left: -1.5rem;\\n}\\n\\n[mol_text_embed_youtube] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_embed_youtube_image],\\n[mol_text_embed_youtube_frame],\\n[mol_text_embed_object] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n}\\n[mol_text_embed_object_fallback] {\\n\\tpadding: 0;\\n}\\n[mol_text_embed_image] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\t/* max-height: calc( 100vh - 6rem ); */\\n\\tvertical-align: top;\\n}\\n\\n[mol_text_pre] {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\toverflow-x: overlay;\\n\\ttab-size: 2;\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n}\\n\\n[mol_text_type=\\\"strong\\\"] {\\n\\ttext-shadow: 0 0;\\n\\tfilter: contrast(1.5);\\n}\\n\\n[mol_text_type=\\\"emphasis\\\"] {\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_type=\\\"insert\\\"] {\\n\\tcolor: var(--mol_theme_special);\\n}\\n\\n[mol_text_type=\\\"delete\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"remark\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"quote\\\"] {\\n\\tfont-style: italic;\\n}\\n\"\n) }","$mol_icon_eye $mol_icon path \\M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\n","$mol_password $mol_view\n\ttype? \\password\n\tsub <= content /\n\t\t<= Pass $mol_string\n\t\t\ttype <= type\n\t\t\thint <= hint \\\n\t\t\tvalue? <=> value? \\\n\t\t\tsubmit?event <=> submit?event null\n\t\t\tenabled <= enabled true\n\t\t<= Show $mol_check_icon\n\t\t\tchecked? <=> checked? true\n\t\t\tIcon <= Show_icon $mol_icon_eye\n","namespace $.$$ {\n\n\t/**\n\t * Password input field\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_password_demo\n\t */\n\texport class $mol_password extends $.$mol_password {\n\n\t\t@ $mol_mem\n\t\tchecked( next?: boolean ) {\n\t\t\tthis.type( next ? 'text' : 'password' )\n\t\t\treturn next ?? false\n\t\t}\n\t\t\n\t}\n\n}\n","$mol_form_field $mol_labeler\n\tbids /string\n\tlabel /\n\t\t<= name \\\n\t\t<= Bid $mol_view\n\t\t\tsub / <= bid \\\n\tcontent / <= control null\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form_field extends $.$mol_form_field {\n\t\t\n\t\t@ $mol_mem\n\t\tbid() {\n\t\t\treturn this.bids().filter( Boolean )[ 0 ] ?? ''\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/field/field.view.css\",\n \"[mol_form_field] {\\n\\talign-items: stretch;\\n}\\n\\n[mol_form_field_bid] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tdisplay: inline-block;\\n\\ttext-shadow: 0 0;\\n}\\n\\n[mol_form_field_content] {\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","$mol_text_list $mol_text\n\tauto_scroll null\n\tattr *\n\t\t^\n\t\tmol_text_list_type <= type \\\n\tParagraph* $mol_text_list_item\n\t\tindex <= item_index*\n\t\tsub <= block_content*\n\n$mol_text_list_item $mol_paragraph\n\tattr *\n\t\t^\n\t\tmol_text_list_item_index <= index 0\n","namespace $ { $mol_style_attach( \"mol/text/list/list.view.css\",\n \"[mol_text_list] {\\r\\n\\tpadding-left: 1.75rem;\\r\\n}\\r\\n\\r\\n[mol_text_list_item] {\\r\\n\\tcontain: none;\\r\\n\\tdisplay: list-item;\\r\\n}\\r\\n\\r\\n[mol_text_list_item]::before {\\r\\n\\tcontent: attr( mol_text_list_item_index ) \\\".\\\";\\r\\n\\twidth: 1.25rem;\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tmargin-left: -1.75rem;\\r\\n\\ttext-align: end;\\r\\n}\\r\\n\\r\\n[mol_text_list_type=\\\"-\\\"] > [mol_text_list_item]::before,\\r\\n[mol_text_list_type=\\\"*\\\"] > [mol_text_list_item]::before {\\r\\n\\tcontent: \\\"•\\\";\\r\\n}\\r\\n\"\n) }","$mol_row $mol_view\n","namespace $ { $mol_style_attach( \"mol/row/row.view.css\",\n \"[mol_row] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tpadding: var(--mol_gap_block);\\n\\tgap: var(--mol_gap_block);\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_row] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_form $mol_list\n\tsubmit_allowed true\n\tsubmit_blocked false\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tsubmit?event null\n\trows /\n\t\t<= Body $mol_list\n\t\t\tsub <= body <= form_fields /$mol_form_field\n\t\t<= Foot $mol_row\n\t\t\tsub <= foot <= buttons /$mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Form, that contains form fields and action buttons.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form extends $.$mol_form {\n\t\t\n\t\t@ $mol_mem\n\t\tform_fields() {\n\t\t\treturn [ ... this.view_find( view => view instanceof $mol_form_field ) ]\n\t\t\t\t.map( path => path[ path.length - 1 ] ) as any as readonly $mol_form_field[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsubmit_allowed() {\n\t\t\treturn this.form_fields().every( field => !field.bid() )\n\t\t}\n\n\t\tsubmit_blocked( ) {\n\t\t\treturn !this.submit_allowed()\n\t\t}\n\t\t\n\t\tkeydown( next : KeyboardEvent ) {\n\t\t\tif( next.ctrlKey && next.keyCode === $mol_keyboard_code.enter && !this.submit_blocked() ) this.submit( next )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/form.view.css\",\n \"[mol_form] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\\r\\n\\r\\n[mol_form_body] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\"\n) }","$hd_canary_app_profile $mol_page\n\ttitle @ \\Private keys\n\tkey_size 144\n\tbid_pass_long @ \\> 7 letters\n\tattr *\n\t\t^\n\t\tmol_theme \\$mol_theme_special\n\tbody /\n\t\t<= Current_profile $mol_labeler\n\t\t\ttitle \\Текущий профиль\n\t\t\tcontent /\n\t\t\t\t<= Current_profile_avatar_labeler $mol_labeler\n\t\t\t\t\ttitle \\Ваш аватар:\n\t\t\t\t\tcontent /\n\t\t\t\t\t\t<= Current_peer_avatar $mol_avatar id <= current_peer \\\n\t\t\t\t<= Current_profile_peer_labeler $mol_labeler\n\t\t\t\t\ttitle \\Ваш id:\n\t\t\t\t\tcontent /\n\t\t\t\t\t\t<= Current_peer_string $mol_string\n\t\t\t\t\t\t\tvalue <= current_peer\n\t\t\t\t\t\t\tenabled false\n\t\t<= Auth_block $mol_labeler\n\t\t\ttitle <= auth_title \\Авторизация\n\t\t\tcontent /\n\t\t\t\t<= Content $mol_list rows <= content /\n\t\t\t\t\t<= Export_block $mol_list rows <= export_rows /\n\t\t\t\t\t\t<= Expot_bid $mol_text text @ \\Your private access keys are stored in the browser. In order not to lose them or transfer to another device, it is recommended to come up with a strong password for exporting them.\n\t\t\t\t\t\t<= Export_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field $mol_form_field\n\t\t\t\t\t\t\t\tname @ \\Password\n\t\t\t\t\t\t\t\tbids / <= password_bid \\\n\t\t\t\t\t\t\t\tContent <= Password $mol_password\n\t\t\t\t\t\t\t\t\tvalue? <=> password? \\\n\t\t\t\t\t\t<= Export_link $mol_link\n\t\t\t\t\t\t\turi <= export_link \\\n\t\t\t\t\t\t\ttitle @ \\This link contains your encrypted prvate keys. Save it to a secure place on another physical device. Using this link you can \n\t\t\t\t\t<= Import_block $mol_list rows <= import_rows /\n\t\t\t\t\t\t<= Iport_descr $mol_text text @ \\\n\t\t\t\t\t\t\t\\To import a private key, you must enter the password from it.\n\t\t\t\t\t\t\t\\**If the current key is not saved, it will be lost forever.**\n\t\t\t\t\t\t<= Import_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field\n\t\t\t\t\t\t<= Import_switch $mol_button_minor\n\t\t\t\t\t\t\tclick? <=> import_switch? null\n\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t<= Peer_new $mol_avatar id <= peer_new \\\n\t\t\t\t\t\t\t\t<= impot_switch_title @ \\Switch\n\t\t- <= Id_block $mol_labeler\n\t\t\ttitle \\Ваш ID профиля чтобы можно было поделиться\n\t\t\tcontent /\n","namespace $ {\n\t\n\t/** Slow conversion any password string to secret key. */\n\texport async function $mol_crypto_sacred_pass( pass: string, salt: Uint8Array ) {\n\t\t\t\n\t\tconst raw = await $mol_crypto_native.subtle.importKey(\n\t\t\t\"raw\",\n\t\t\t$mol_charset_encode( pass ),\n\t\t\t\"PBKDF2\",\n\t\t\tfalse,\n\t\t\t[ \"deriveKey\" ],\n\t\t).catch( $mol_crypto_restack )\n\t\t\n\t\tconst hard = await $mol_crypto_native.subtle.deriveKey(\n\t\t\t{\n\t\t\t\tname: \"PBKDF2\",\n\t\t\t\tsalt,\n\t\t\t\titerations: 10_000,\n\t\t\t\thash: \"SHA-256\",\n\t\t\t},\n\t\t\traw,\n\t\t\t{\n\t\t\t\tname: 'AES-CBC',\n\t\t\t\tlength: 128,\n\t\t\t},\n\t\t\tBoolean( 'extractable' ),\n\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t).catch( $mol_crypto_restack )\n\t\t\n\t\treturn $mol_crypto_sacred.from_native( hard )\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $hd_canary_app_profile extends $.$hd_canary_app_profile {\n\t\t\n\t\t@ $mol_mem\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t\tthis.key_import()\n\t\t\t\t\t? this.Import_block()\n\t\t\t\t\t: this.Export_block()\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tauth_title() {\n\t\t\treturn this.key_import()\n\t\t\t\t? \"Войти в профиль\"\n\t\t\t\t: \"Поделиться профилем\"\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texport_link() {\n\t\t\treturn this.$.$mol_state_arg.link({\n\t\t\t\tauth: this.key_export(),\n\t\t\t})\n\t\t}\n\n\t\tkey_import( next?: string | null ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'auth', next ) ?? null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpeer_new() {\n\t\t\treturn $hyoo_crus_auth.from(this.key_new()!).peer()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent_peer() {\n\t\t\treturn this.$.$hyoo_crus_auth.current().peer()\n\t\t}\n\n\t\t@ $mol_action\n\t\timport_switch() {\n\t\t\tthis.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new()!))\n\t\t\tthis.password( '' )\n\t\t\tthis.key_import( null )\n\t\t}\n\t\t\n\n\t\t@ $mol_mem\n\t\tpassword_bid() {\n\t\t\tconst pass = this.password()\n\t\t\tif( pass.length <= 7 ) return this.bid_pass_long()\n\t\t\treturn ''\n\t\t}\n\t\texport_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Expot_bid(),\n\t\t\t\tthis.Export_pass(),\n\t\t\t\t... this.password_bid() ? [] : [ this.Export_link() ],\n\t\t\t]\n\t\t}\n\t\t\n\t\timport_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Iport_descr(),\n\t\t\t\tthis.Import_pass(),\n\t\t\t\t... this.key_new() ? [ this.Import_switch() ] : [],\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkey_new() {\n\t\t\t\n\t\t\tconst serial = this.key_import()\n\t\t\tif( !serial ) return null\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst password = this.password()\n\t\t\t\tconst app = $mol_crypto_hash( $mol_charset_encode( \"hd_canary\" ) ) // 20 B\n\t\t\t\tconst secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B\n\n\t\t\t\tconst data = $mol_base64_url_decode( serial ) \n\t\t\t\tconst salt = $mol_crypto_hash( app ).slice( 0, 16 )\n\t\n\t\t\t\tconst closed = $mol_wire_sync( secret ).decrypt( data, salt ) // 16x B\n\t\t\t\treturn closed\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@$mol_action\n\t\t@ $mol_mem\n\t\tkey_export() {\n\t\t\tconst password = this.password()\n\t\t\tconst app = $mol_crypto_hash( $mol_charset_encode( \"hd_canary\" ) ) // 20 B\n\t\t\tconst secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B\n\n\t\t\tconst salt = $mol_crypto_hash( app ).slice( 0, 16 )\n\t\t\tconst closed = $mol_wire_sync( secret ).encrypt( this.$.$hyoo_crus_auth.current(), salt ) // 16x B\n\n\t\t\treturn $mol_base64_url_encode( closed )\n\t\t}\n\t\t\n\n\t\t\n\t}\n}","namespace $.$$ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $hd_canary_app_profile , {\n\t\tCurrent_peer_avatar: {\n\t\t\twidth: rem( 2 ),\n\t\t\theight: rem( 2 )\n\t\t}\n\t} )\n\n}\n","$mol_icon_bird $mol_icon path \\M23 11.5L19.95 10.37C19.69 9.22 19.04 8.56 19.04 8.56C17.4 6.92 14.75 6.92 13.11 8.56L11.63 10.04L5 3C4 7 5 11 7.45 14.22L2 19.5C2 19.5 10.89 21.5 16.07 17.45C18.83 15.29 19.45 14.03 19.84 12.7L23 11.5M17.71 11.72C17.32 12.11 16.68 12.11 16.29 11.72C15.9 11.33 15.9 10.7 16.29 10.31C16.68 9.92 17.32 9.92 17.71 10.31C18.1 10.7 18.1 11.33 17.71 11.72Z\n","$hd_canary_app $mol_book2_catalog\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\tMenu_logo $mol_icon_bird\n\tmenu_tools /\n\t\t<= Lighter $mol_lights_toggle\n\tmenu_title @ \\Hyper Canary\n\tspreads *$mol_view\n\t\tmonitor <= List $hd_canary_app_monitor\n\t\tprofile <= Profile $hd_canary_app_profile\n"]} \ No newline at end of file +{"version":3,"sources":["-","../../../mam.ts","../../../mol/ambient/ambient.ts","../../../mol/delegate/delegate.ts","../../../mol/owning/owning.ts","../../../mol/fail/fail.ts","../../../mol/fail/hidden/hidden.ts","../../../mol/func/name/name.ts","../../../mol/object2/object2.ts","../../../mol/object/object.ts","../../../mol/guid/guid.ts","../../../mol/wire/cursor/cursor.ts","../../../mol/wire/pub/pub.ts","../../../mol/wire/wire.ts","../../../mol/dev/format/format.ts","../../../mol/wire/pub/sub/sub.ts","../../../mol/after/tick/tick.ts","../../../mol/promise/like/like.ts","../../../mol/wire/fiber/fiber.ts","../../../mol/key/key.ts","../../../mol/after/frame/frame.web.ts","../../../mol/compare/deep/deep.ts","../../../mol/log3/log3.ts","../../../mol/log3/log3.web.ts","../../../mol/wire/task/task.ts","../../../mol/wire/method/method.ts","../../../mol/fail/catch/catch.ts","../../../mol/fail/log/log.ts","../../../mol/wire/atom/atom.ts","../../../mol/wire/solo/solo.ts","../../../mol/wire/plex/plex.ts","../../../mol/mem/mem.ts","../../../mol/window/window.web.ts","../../../mol/dom/context/context.ts","../../../mol/dom/context/context.web.ts","../../../mol/view/selection/selection.ts","../../../mol/maybe/maybe.ts","../../../mol/dom/dom.ts","../../../mol/keyboard/code/code.ts","../../../mol/view/selection/selection.web.ts","../../../mol/wrapper/wrapper.ts","../../../mol/memo/memo.ts","../../../mol/dom/qname/qname.ts","../../../mol/wire/probe/probe.ts","../../../mol/wire/watch/watch.ts","../../../mol/const/const.ts","../../../mol/wire/solid/solid.ts","../../../mol/dom/render/attributes/attributes.ts","../../../mol/dom/render/events/events.ts","../../../mol/dom/render/styles/styles.ts","../../../mol/dom/render/children/children.ts","../../../mol/dom/render/fields/fields.ts","../../../mol/wire/async/async.ts","../../../mol/after/timeout/timeout.ts","../../../mol/style/attach/attach.ts","../../../mol/promise/promise/promise.ts","../../../mol/promise/blocker/blocker.ts","../../../mol/decor/decor.ts","../../../mol/style/unit/unit.ts","../../../mol/style/func/func.ts","../../../mol/style/prop/prop.ts","../../../mol/theme/theme.ts","../../../mol/theme/-css/theme.css.ts","../../../mol/gap/gap.ts","../../../mol/gap/-css/gap.css.ts","../../../mol/view/view/view.ts","../../../mol/view/view/-css/view.css.ts","../../../mol/view/view/view.web.ts","../../../mol/plugin/plugin.ts","../../../mol/scroll/scroll.view.tree","../../../mol/dom/listener/listener.ts","../../../mol/print/print.ts","../../../mol/style/sheet/sheet.ts","../../../mol/style/define/define.ts","../../../mol/scroll/scroll.view.ts","../../../mol/scroll/scroll.view.css.ts","../../../mol/book2/book2.view.tree","../../../mol/mem/cached/cached.ts","../../../mol/layer/layer.ts","../../../mol/layer/-css/layer.css.ts","../../../mol/book2/book2.view.ts","../../../mol/book2/-css/book2.view.css.ts","../../../mol/pop/pop.view.tree","../../../mol/pop/pop.view.ts","../../../mol/pop/-css/pop.view.css.ts","../../../mol/hotkey/hotkey.view.tree","../../../mol/hotkey/hotkey.view.ts","../../../mol/nav/nav.view.tree","../../../mol/nav/nav.view.ts","../../../mol/mem/persist/persist.ts","../../../mol/wire/sync/sync.ts","../../../mol/storage/storage.ts","../../../mol/state/local/local.ts","../../../mol/state/local/local.web.ts","../../../mol/action/action.ts","../../../mol/lock/lock.ts","../../../mol/compare/array/array.ts","../../../mol/charset/decode/decode.ts","../../../node/node.web.ts","../../../mol/charset/encode/encode.ts","../../../mol/file/transaction/transaction.ts","../../../mol/file/transaction/transaction.web.ts","../../../mol/file/base/base.ts","../../../mol/file/file.ts","../../../mol/dom/parse/parse.ts","../../../mol/fetch/fetch.ts","../../../mol/file/webdav/webdav.ts","../../../mol/file/file.web.ts","../../../mol/locale/locale.ts","../../../mol/string/string.view.tree","../../../mol/string/string.view.ts","../../../mol/string/-css/string.view.css.ts","../../../mol/svg/svg.view.tree","../../../mol/state/time/time.ts","../../../mol/svg/svg.view.ts","../../../mol/svg/root/root.view.tree","../../../mol/svg/root/-css/root.view.css.ts","../../../mol/svg/path/path.view.tree","../../../mol/icon/icon.view.tree","../../../mol/icon/-css/icon.view.css.ts","../../../mol/icon/close/close.view.tree","../../../mol/speck/speck.view.tree","../../../mol/speck/-css/speck.view.css.ts","../../../mol/button/button.view.tree","../../../mol/button/button.view.ts","../../../mol/button/-css/button.view.css.ts","../../../mol/button/typed/typed.view.tree","../../../mol/button/typed/-css/typed.view.css.ts","../../../mol/button/minor/minor.view.tree","../../../mol/button/minor/-css/minor.view.css.ts","../../../mol/list/list.view.tree","../../../mol/support/css/css.ts","../../../mol/list/list.view.ts","../../../mol/list/-css/list.view.css.ts","../../../mol/paragraph/paragraph.view.tree","../../../mol/paragraph/paragraph.view.ts","../../../mol/paragraph/-css/paragraph.view.css.ts","../../../mol/dimmer/dimmer.view.tree","../../../mol/regexp/regexp.ts","../../../mol/dimmer/dimmer.view.ts","../../../mol/dimmer/-css/dimmer.view.css.ts","../../../mol/search/search.view.tree","../../../localized_string","../../../mol/search/search.view.ts","../../../mol/search/-css/search.view.css.ts","../../../mol/link/link.view.tree","../../../mol/state/arg/arg.web.ts","../../../mol/link/link.view.ts","../../../mol/link/link.view.css.ts","../../../mol/page/page.view.tree","../../../mol/page/page.view.css.ts","../../../mol/book2/catalog/catalog.view.tree","../../../mol/match/text.ts","../../../mol/book2/catalog/catalog.view.ts","../../../mol/book2/catalog/catalog.view.css.ts","../../../mol/theme/auto/auto.view.tree","../../../mol/media/media.ts","../../../mol/lights/lights.ts","../../../mol/theme/auto/auto.view.ts","../../../mol/check/check.view.tree","../../../mol/check/-css/check.css.ts","../../../mol/check/check.view.ts","../../../mol/check/icon/icon.view.tree","../../../mol/check/icon/-css/icon.view.css.ts","../../../mol/icon/brightness/4/4.view.tree","../../../mol/lights/toggle/toggle.view.tree","../../../mol/lights/toggle/toggle.view.ts","../../../mol/chip/chip.view.tree","../../../mol/chip/chip.view.css.ts","../../../mol/icon/plus/plus.view.tree","../../../mol/gallery/gallery.view.tree","../../../mol/gallery/gallery.view.ts","../../../mol/gallery/-css/gallery.view.css.ts","../../../hd/canary/app/monitor/monitor.view.tree","../../../mol/rest/code/code.ts","../../../mol/dom/serialize/serialize.ts","../../../mol/rest/port/port.ts","../../../mol/data/tagged/tagged.ts","../../../mol/base64/encode/encode.ts","../../../mol/base64/encode/encode.web.ts","../../../mol/base64/decode/decode.ts","../../../mol/base64/decode/decode.web.ts","../../../mol/base64/ae/ae.ts","../../../hyoo/crus/ref/ref.ts","../../../mol/wire/set/set.ts","../../../hyoo/crus/part/part.ts","../../../mol/buffer/buffer.ts","../../../mol/data/setup/setup.ts","../../../mol/func/is/class/class.ts","../../../mol/data/pipe/pipe.ts","../../../mol/error/mix/mix.ts","../../../mol/data/error/error.ts","../../../mol/data/number/number.ts","../../../mol/data/integer/integer.ts","../../../hyoo/crus/rank/rank.ts","../../../mol/base64/url/url.ts","../../../mol/crypto/native/native.web.ts","../../../mol/crypto/restack/restack.ts","../../../mol/crypto/key/key.ts","../../../mol/crypto/salt/salt.ts","../../../mol/crypto/sacred/sacred.ts","../../../mol/crypto/secret/secret.ts","../../../hyoo/crus/auth/auth.ts","../../../mol/time/base/base.ts","../../../mol/time/duration/duration.ts","../../../mol/time/moment/moment.ts","../../../hyoo/crus/time/time.ts","../../../hyoo/crus/face/face.ts","../../../mol/wire/dict/dict.ts","../../../hyoo/crus/fund/fund.ts","../../../mol/graph/graph.ts","../../../mol/crypto/hash/hash.ts","../../../hyoo/crus/pack/pack.ts","../../../mol/time/interval/interval.ts","../../../mol/span/span.ts","../../../mol/error/syntax/syntax.ts","../../../mol/tree2/from/string/string.ts","../../../mol/tree2/to/string/string.ts","../../../mol/tree2/tree2.ts","../../../hyoo/crus/vary/vary.ts","../../../mol/jsx/jsx.ts","../../../mol/tree2/bin/bin.ts","../../../mol/tree2/from/json/json.ts","../../../mol/tree2/xml/from/dom/dom.ts","../../../hyoo/crus/vary/cast/cast.tsx","../../../mol/guard/defined.ts","../../../mol/bus/bus.ts","../../../hyoo/crus/log/log.ts","../../../mol/wire/race/race.ts","../../../hyoo/crus/land/land.ts","../../../hyoo/crus/unit/unit.ts","../../../hyoo/crus/pass/pass.ts","../../../hyoo/crus/gift/gift.ts","../../../hyoo/crus/mine/mine.ts","../../../mol/db/response/response.ts","../../../mol/db/store/store.ts","../../../mol/db/index/index.ts","../../../mol/db/db.ts","../../../mol/db/database/database.ts","../../../mol/db/transaction/transaction.ts","../../../hyoo/crus/mine/idb/idb.web.ts","../../../hyoo/crus/mine/mine.web.ts","../../../hyoo/crus/sand/sand.ts","../../../hyoo/crus/node/node.ts","../../../mol/reconcile/reconcile.ts","../../../hyoo/crus/list/list.ts","../../../hyoo/crus/dict/dict.ts","../../../mol/hash/string/string.ts","../../../hyoo/crus/atom/atom.ts","../../../hyoo/crus/entity/entity.ts","../../../hyoo/crus/home/home.ts","../../../hyoo/crus/glob/glob.ts","../../../mol/rest/port/ws/ws.ts","../../../mol/rest/port/ws/ws_std.ts","../../../hyoo/crus/yard/yard.ts","../../../hyoo/crus/yard/yard.web.ts","../../../hd/canary/app/home/home.ts","../../../hd/canary/app/monitor/monitor.view.ts","../../../hd/canary/app/monitor/monitor.view.css.ts","../../../mol/avatar/avatar.view.tree","../../../mol/avatar/avatar.view.ts","../../../mol/avatar/-css/avatar.view.css.ts","../../../mol/labeler/labeler.view.tree","../../../mol/labeler/-css/labeler.view.css.ts","../../../mol/stack/stack.view.tree","../../../mol/stack/-css/stack.view.css.ts","../../../mol/text/code/token/token.view.tree","../../../mol/text/code/token/token.view.css.ts","../../../mol/text/code/line/line.view.tree","../../../mol/syntax2/syntax2.ts","../../../mol/syntax2/md/md.ts","../../../mol/text/code/line/line.view.ts","../../../mol/text/code/line/line.view.css.ts","../../../mol/blob/blob.ts","../../../mol/icon/clipboard/clipboard.view.tree","../../../mol/icon/clipboard/outline/outline.view.tree","../../../mol/button/copy/copy.view.tree","../../../mol/html/encode/encode.ts","../../../mol/button/copy/copy.view.ts","../../../mol/text/code/code.view.tree","../../../mol/text/code/code.view.ts","../../../mol/text/code/code.view.css.ts","../../../mol/float/float.view.tree","../../../mol/float/-css/float.view.css.ts","../../../mol/icon/chevron/chevron.view.tree","../../../mol/check/expand/expand.view.tree","../../../mol/check/expand/expand.view.ts","../../../mol/check/expand/-css/expand.view.css.ts","../../../mol/grid/grid.view.tree","../../../mol/state/session/session.ts","../../../mol/grid/grid.view.ts","../../../mol/grid/-css/grid.view.css.ts","../../../mol/image/image.view.tree","../../../mol/image/image.view.ts","../../../mol/image/-css/image.view.css.ts","../../../mol/link/iconed/iconed.view.tree","../../../mol/link/iconed/iconed.view.ts","../../../mol/link/iconed/-css/iconed.view.css.ts","../../../mol/embed/native/native.view.tree","../../../mol/wait/timeout/timeout.ts","../../../mol/embed/native/native.view.ts","../../../mol/embed/native/-css/native.view.css.ts","../../../mol/icon/youtube/youtube.view.tree","../../../mol/frame/frame.view.tree","../../../mol/frame/frame.view.ts","../../../mol/frame/frame.view.css.ts","../../../mol/embed/service/service.view.tree","../../../mol/embed/service/service.view.ts","../../../mol/embed/service/-css/service.view.css.ts","../../../mol/embed/youtube/youtube.view.tree","../../../mol/embed/youtube/youtube.view.ts","../../../mol/embed/rutube/rutube.view.tree","../../../mol/embed/rutube/rutube.view.ts","../../../mol/embed/any/any.view.tree","../../../mol/embed/any/any.view.ts","../../../mol/expander/expander.view.tree","../../../mol/expander/expander.view.ts","../../../mol/expander/-css/expander.view.css.ts","../../../mol/text/text/text.view.tree","../../../mol/text/text/text.view.ts","../../../mol/text/text/-css/text.view.css.ts","../../../mol/icon/eye/eye.view.tree","../../../mol/password/password.view.tree","../../../mol/password/password.view.ts","../../../mol/form/field/field.view.tree","../../../mol/form/field/field.view.ts","../../../mol/form/field/-css/field.view.css.ts","../../../mol/text/list/list.view.tree","../../../mol/text/list/-css/list.view.css.ts","../../../mol/row/row.view.tree","../../../mol/row/-css/row.view.css.ts","../../../mol/form/form.view.tree","../../../mol/form/form.view.ts","../../../mol/form/-css/form.view.css.ts","../../../hd/canary/app/profile/profile.view.tree","../../../mol/crypto/sacred/pass/pass.ts","../../../hd/canary/app/profile/profile.view.ts","../../../hd/canary/app/profile/profile.view.css.ts","../../../mol/icon/bird/bird.view.tree","../../../hd/canary/app/app.view.tree"],"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\tnamespace $$ {\n\t\texport type $$ = $\n\t}\n}\n\nmodule.exports = $\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\n\texport function $mol_fail( error : any ) : never {\n\t\tthrow error\n\t}\n\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\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 )=> 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 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\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\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\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\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( 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 => val[ $mol_dev_format_body ] ,\n\n\t\tbody : val => val[ $mol_dev_format_body ]() ,\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 function $mol_dev_format_span( style : object , ...content : any[] ) {\n\t\treturn $mol_dev_format_element(\n\t\t\t'span' ,\n\t\t\t{\n\t\t\t\t// 'vertical-align' : '8%',\n\t\t\t\t... style ,\n\t\t\t} ,\n\t\t\t... content ,\n\t\t)\n\t}\n\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\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.final\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 class $mol_after_tick extends $mol_object2 {\n\n\t\tstatic promise = null as Promise | 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 {\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\twrappers.set( result, result = Object.assign(\n\t\t\t\t\t\t\tresult.finally( ()=> {\n\t\t\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t\t\t} ),\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 & { 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_frame extends $mol_object2 {\n\n\t\tstatic _promise = null as Promise | null\n\n\t\tstatic get promise() {\n\n\t\t\tif( this._promise ) return this._promise\n\t\t\t\n\t\t\treturn this._promise = new Promise( done => {\n\t\t\t\t\n\t\t\t\tconst complete = ()=> {\n\t\t\t\t\tthis._promise = null\n\t\t\t\t\tdone()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( typeof requestAnimationFrame === 'function' ) {\n\t\t\t\t\trequestAnimationFrame( complete )\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout( complete, 16 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\n\t\t}\n\n\t\tcancelled = false\n\t\tpromise!: Promise\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\n\t\t\tthis.promise = $mol_after_frame.promise.then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\n\t\t\t} )\n\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\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 && 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 >(\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 >( 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\texport function $mol_log3_web_make(\n\t\tlevel : $mol_type_keys_extract< Console, Function >,\n\t\tcolor : 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\tconst pending = this.$mol_log3_stack.pop()\n\t\t\tif( pending ) pending()\n\n\t\t\tlet tpl = '%c'\n\t\t\tconst chunks = Object.entries( event )\n\n\t\t\tfor( let i = 0 ; i < chunks.length ; ++i ) {\n\t\t\t\ttpl += ( typeof chunks[i][1] === 'string' ) ? '%s: %s\\n' : '%s: %o\\n'\n\t\t\t}\n\t\n\t\t\tconst style = `color:${color};font-weight:bolder`\n\n\t\t\t;( this.console[ level ] as any )( tpl.trim() , style , ... ( [] as any[] ).concat( ... chunks ) )\n\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_web_make( 'info' , 'royalblue' )\n\t$.$mol_log3_done = $mol_log3_web_make( 'info' , 'forestgreen' )\n\t$.$mol_log3_fail = $mol_log3_web_make( 'error' , 'orangered' )\n\t$.$mol_log3_warn = $mol_log3_web_make( 'warn' , 'goldenrod' )\n\t$.$mol_log3_rise = $mol_log3_web_make( 'log' , 'magenta' )\n\t$.$mol_log3_area = $mol_log3_web_make( 'group' , '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\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.host !== host ) break reuse\n\t\t\t\t\tif( existen.task !== task ) break reuse\n\t\t\t\t\tif( !$mol_compare_deep( existen.args, 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: `Non idempotency`,\n\t\t\t\t\t\tsub,\n\t\t\t\t\t\tpubs: [ ... sub?.pub_list ?? [] , existen ],\n\t\t\t\t\t\tnext,\n\t\t\t\t\t\thint: 'Ignore it',\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}\n\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_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\tconsole.error( 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()\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 fiber value through another temp fiber.\n\t\t */\n\t\t@ $mol_wire_method\n\t\tresync( args: Args ) {\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\t/** Decorates solo object channel to [mol_wire_atom](../atom/atom.ts). */\n\texport function $mol_wire_solo< Args extends any[] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\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 descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ){\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.solo( this, orig )\n\t\t\t\t\n\t\t\t\tif(( args.length === 0 )||( args[0] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\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\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2 as any as TypedPropertyDescriptor< ( ... args: First_optional< Args > )=> any >\n\t}\n\n\ttype First_optional< Args extends any[] > = Args extends []\n\t\t? []\n\t\t: [ Args[0] | undefined, ... $mol_type_tail< Args > ]\n\n}\n","namespace $ {\n\t\n\t/** Reactive memoizing multiplexed property decorator. */\n\texport function $mol_wire_plex< Args extends [ any, ... any[] ] >(\n\t\thost: object,\n\t\tfield: string,\n\t\tdescr?: TypedPropertyDescriptor< ( ... args: Args )=> any >\n\t) {\n\n\t\tif( !descr ) descr = Reflect.getOwnPropertyDescriptor( host , field )\n\t\tconst orig = descr?.value! ?? (host as any)[ field ]\n\t\t\n\t\tconst sup = Reflect.getPrototypeOf( host )!\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 descr2 = {\n\t\t\t... descr,\n\t\t\tvalue: function( this: typeof host, ... args: Args ) {\n\t\t\t\n\t\t\t\tlet atom = $mol_wire_atom.plex( this, orig, args[0] )\n\t\t\t\t\n\t\t\t\tif(( args.length === 1 )||( args[1] === undefined )) {\n\t\t\t\t\t\n\t\t\t\t\tif( !$mol_wire_fiber.warm ) return atom.result()\n\t\t\t\t\t\n\t\t\t\t\tif( $mol_wire_auto()?.temp ) {\n\t\t\t\t\t\treturn atom.once()\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn atom.sync()\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\treturn atom.resync( args )\t\n\t\t\t}\n\t\t}\n\t\t\n\t\tReflect.defineProperty( descr2.value , 'name' , { value : orig.name + ' ' } )\n\t\tReflect.defineProperty( descr2.value , 'length' , { value : orig.length } )\n\t\tObject.assign( descr2.value, { orig } )\n\t\t\n\t\tReflect.defineProperty( host, field, descr2 )\n\t\t\n\t\treturn descr2\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Reactive memoizing solo property decorator from [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem\n\t * name(next?: string) {\n\t * \treturn next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem = $mol_wire_solo\n\n\t/**\n\t * Reactive memoizing multiplexed property decorator [mol_wire](../wire/README.md)\n\t * @example\n\t * '@' $mol_mem_key\n\t * name(id: number, next?: string) {\n\t * return next ?? 'default'\n\t * }\n\t * @see https://mol.hyoo.ru/#!section=docs/=qxmh6t_sinbmb\n\t */\n\texport let $mol_mem_key = $mol_wire_plex\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic size() {\n\t\t\tthis.resizes()\n\t\t\treturn {\n\t\t\t\twidth: self.innerWidth,\n\t\t\t\theight: self.innerHeight,\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic resizes( next?: Event ) { return next }\n\t\t\n\t}\n\n\tself.addEventListener( 'resize', event => $mol_window.resizes( event ) )\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_dom_context : typeof globalThis\n\t\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = self as any\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_view_selection extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic focused( next? : Element[], notify?: 'notify' ) : Element[] {\n\t\t\t\n\t\t\tconst parents : Element[] = []\n\t\t\tlet element = next?.[0] ?? $mol_dom_context.document.activeElement\n\t\t\twhile( element?.shadowRoot ) {\n\t\t\t\telement = element!.shadowRoot.activeElement\n\t\t\t}\n\t\t\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\tconst parent = element.parentNode\n\t\t\t\tif( parent instanceof ShadowRoot ) element = parent.host\n\t\t\t\telse element = parent as HTMLElement\n\t\t\t}\n\t\t\t\n\t\t\tif( !next || notify ) return parents\n\t\t\t\n\t\t\tnew $mol_after_tick( ()=> {\n\t\t\t\t\n\t\t\t\tconst element = this.focused()![0] as HTMLElement\n\t\t\t\t\n\t\t\t\tif( element ) element.focus()\n\t\t\t\telse $mol_dom_context.blur()\n\t\t\t\t\n\t\t\t} )\n\n\t\t\treturn parents\n\t\t}\n\t\t\n\t}\n\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\t\n\texport var $mol_dom = $mol_dom_context\n\t\n}\n","namespace $ {\n\t/**\n\t* Key names code for hotkey\n\t* @see [mol_hotkey](../../hotkey/hotkey.view.ts)\n\t*/\n\texport enum $mol_keyboard_code {\n\t\tbackspace = 8,\n\t\ttab = 9,\n\t\tenter = 13,\n\t\tshift = 16,\n\t\tctrl = 17,\n\t\talt = 18,\n\t\tpause = 19,\n\t\tcapsLock = 20,\n\t\tescape = 27,\n\t\tspace = 32,\n\t\tpageUp = 33,\n\t\tpageDown = 34,\n\t\tend = 35,\n\t\thome = 36,\n\t\tleft = 37,\n\t\tup = 38,\n\t\tright = 39,\n\t\tdown = 40,\n\t\tinsert = 45,\n\t\tdelete = 46,\n\t\tkey0 = 48,\n\t\tkey1 = 49,\n\t\tkey2 = 50,\n\t\tkey3 = 51,\n\t\tkey4 = 52,\n\t\tkey5 = 53,\n\t\tkey6 = 54,\n\t\tkey7 = 55,\n\t\tkey8 = 56,\n\t\tkey9 = 57,\n\t\tA = 65,\n\t\tB = 66,\n\t\tC = 67,\n\t\tD = 68,\n\t\tE = 69,\n\t\tF = 70,\n\t\tG = 71,\n\t\tH = 72,\n\t\tI = 73,\n\t\tJ = 74,\n\t\tK = 75,\n\t\tL = 76,\n\t\tM = 77,\n\t\tN = 78,\n\t\tO = 79,\n\t\tP = 80,\n\t\tQ = 81,\n\t\tR = 82,\n\t\tS = 83,\n\t\tT = 84,\n\t\tU = 85,\n\t\tV = 86,\n\t\tW = 87,\n\t\tX = 88,\n\t\tY = 89,\n\t\tZ = 90,\n\t\tmetaLeft = 91,\n\t\tmetaRight = 92,\n\t\tselect = 93,\n\t\tnumpad0 = 96,\n\t\tnumpad1 = 97,\n\t\tnumpad2 = 98,\n\t\tnumpad3 = 99,\n\t\tnumpad4 = 100,\n\t\tnumpad5 = 101,\n\t\tnumpad6 = 102,\n\t\tnumpad7 = 103,\n\t\tnumpad8 = 104,\n\t\tnumpad9 = 105,\n\t\tmultiply = 106,\n\t\tadd = 107,\n\t\tsubtract = 109,\n\t\tdecimal = 110,\n\t\tdivide = 111,\n\t\tF1 = 112,\n\t\tF2 = 113,\n\t\tF3 = 114,\n\t\tF4 = 115,\n\t\tF5 = 116,\n\t\tF6 = 117,\n\t\tF7 = 118,\n\t\tF8 = 119,\n\t\tF9 = 120,\n\t\tF10 = 121,\n\t\tF11 = 122,\n\t\tF12 = 123,\n\t\tnumLock = 144,\n\t\tscrollLock = 145,\n\t\tsemicolon = 186,\n\t\tequals = 187,\n\t\tcomma = 188,\n\t\tdash = 189,\n\t\tperiod = 190,\n\t\tforwardSlash = 191,\n\t\tgraveAccent = 192,\n\t\tbracketOpen = 219,\n\t\tslashBack = 220,\n\t\tslashBackLeft = 226,\n\t\tbracketClose = 221,\n\t\tquoteSingle = 222\n\t}\n}\n","namespace $ {\n\t\n\tif( $mol_dom_context.document ) {\n\t\t\n\t\tfunction focus( event: Event ) {\n\t\t\t\n\t\t\tconst target = event.target as HTMLElement\n\t\t\t\n\t\t\tif( target?.shadowRoot ) watch( target!.shadowRoot )\n\t\t\t\n\t\t\t$mol_view_selection.focused( $mol_maybe( target ), 'notify' )\n\t\t\t\n\t\t}\n\t\t\n\t\tfunction watch( root: Document | ShadowRoot ) {\n\t\t\t\n\t\t\t\n\t\t\troot.removeEventListener( 'focus', focus, true )\n\t\t\troot.addEventListener( 'focus', focus, true )\n\t\t\t\n\t\t}\n\t\t\n\t\twatch( $mol_dom_context.document )\n\t\t\n\t\t$mol_dom.document.addEventListener( 'keydown', event => {\n\t\t\t\n\t\t\tif( !event.altKey ) return\n\t\t\t\n\t\t\tconst self = $mol_view_selection.focused()[0]\n\t\t\tif( !self ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.down: var vert = 1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.up: var vert = -1, hor = 0; break\n\t\t\t\tcase $mol_keyboard_code.left: var hor = -1, vert = 0; break\n\t\t\t\tcase $mol_keyboard_code.right: var hor = 1, vert = 0; break\n\t\t\t\tdefault: return\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tconst self_rect = self.getBoundingClientRect()\n\t\t\tconst center_hor = ( self_rect.left + self_rect.right ) / 2\n\t\t\tconst center_vert = ( self_rect.top + self_rect.bottom ) / 2\n\t\t\t\n\t\t\tconst all = [ ... $mol_dom.document.querySelectorAll( ':where( [role=\"button\"], [role=\"checkbox\"], input, button, a ):not([disabled])' ) ]\n\t\t\t\t.map( el => {\n\t\t\t\t\tconst rect = el.getBoundingClientRect()\n\t\t\t\t\tconst dist = ( Math.max( 0, center_hor - rect.right ) + Math.max( 0, rect.left - center_hor ) ) * vert * vert\n\t\t\t\t\t\t+ ( Math.max( 0, center_vert - rect.bottom ) + Math.max( 0, rect.top - center_vert ) ) * hor * hor\n\t\t\t\t\treturn [ el, rect, dist ] as const\n\t\t\t\t} )\n\t\t\t\t.filter( ([ el, rect ])=> {\n\t\t\t\t\tif( el === self ) return false\n\t\t\t\t\tif( vert > 0 && rect.top < self_rect.bottom ) return false\n\t\t\t\t\tif( vert < 0 && rect.bottom > self_rect.top ) return false\n\t\t\t\t\tif( hor > 0 && rect.left < self_rect.right ) return false\n\t\t\t\t\tif( hor < 0 && rect.right > self_rect.left ) return false\n\t\t\t\t\treturn true\n\t\t\t\t} )\n\t\t\t\t.sort( ( [, one, dist1 ], [, two, dist2 ] )=> {\n\t\t\t\t\treturn ( dist1 - dist2 ) || ( ( one.top - two.top ) * vert + ( one.left - two.left ) * hor )\n\t\t\t\t} )\n\t\t\t\n\t\t\tconst target = all[0]?.[0] as HTMLElement | undefined\n\t\t\ttarget?.focus()\n\t\t\t\n\t\t} )\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_wrapper extends $mol_object2 {\n\n\t\tstatic wrap : ( task : ( ... ags : any[] )=> any )=> ( ... ags : any[] )=> any\n\t\t\n\t\tstatic run< Result >( task : ()=> Result ) : Result {\n\t\t\treturn this.func( task )()\n\t\t}\n\t\n\t\tstatic func< Args extends any[] , Result , Host = void >(\n\t\t\tfunc : ( this : Host , ... args : Args )=> Result\n\t\t) : ( this : Host , ... args : Args )=> Result {\n\t\t\treturn this.wrap( func )\n\t\t}\n\n\t\tstatic get class() {\n\n\t\t\treturn < Class extends new ( ... args : any[] )=> any >(\n\t\t\t\tClass : Class\n\t\t\t) => {\n\n\t\t\t\ttype Args = ConstructorParameters< Class >\n\t\t\t\ttype Result = InstanceType< Class >\n\n\t\t\t\tconst construct = ( target : Class , args : Args )=> new Class( ... args )\n\n\t\t\t\tconst handler: ProxyHandler = {\n\t\t\t\t\tconstruct : this.func( construct )\n\t\t\t\t} \n\n\t\t\t\t;(handler as any)[ Symbol.toStringTag ] = Class.name + '#'\n\n\t\t\t\treturn new Proxy( Class , handler )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tstatic get method() {\n\t\t\t\n\t\t\treturn (\n\t\t\t\tobj : object,\n\t\t\t\tname : PropertyKey,\n\t\t\t\tdescr : PropertyDescriptor,\n\t\t\t) => {\n\t\t\t\tdescr.value = this.func( descr.value! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tstatic get field() {\n\t\t\t\n\t\t\treturn <\n\t\t\t\tHost ,\n\t\t\t\tField extends keyof Host ,\n\t\t\t\tArgs extends any[] ,\n\t\t\t\tResult ,\n\t\t\t>(\n\t\t\t\tobj : Host ,\n\t\t\t\tname : Field ,\n\t\t\t\tdescr : TypedPropertyDescriptor< Result >\n\t\t\t) => {\n\t\t\t\tdescr.get = descr.set = this.func( descr.get! )\n\t\t\t\treturn descr\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_memo extends $mol_wrapper {\n\t\t\n\t\tstatic wrap< This extends object , Value >( task : ( this : This , next? : Value )=> Value ) {\n\n\t\t\tconst store = new WeakMap< This , Value >()\n\n\t\t\tconst fun = function( this : This , next? : Value ) {\n\n\t\t\t\tif( next === undefined && store.has( this ) ) return store.get( this )\n\t\t\t\t\n\t\t\t\tconst val = task.call( this , next ) ?? next\n\t\t\t\t\n\t\t\t\tstore.set( this , val! )\n\t\t\t\t\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tReflect.defineProperty( fun , 'name' , { value : task.name + ' ' } )\n\n\t\t\treturn fun\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_qname( name : string ) {\n\t\treturn name.replace( /\\W/g , '' ).replace( /^(?=\\d+)/ , '_' )\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Run code without state changes */\n\texport function $mol_wire_probe< Value >(\n\t\ttask : ()=> Value, def?: Value\n\t) : Value | undefined {\n\t\t\n\t\tconst warm = $mol_wire_fiber.warm\n\t\t\n\t\ttry {\n\t\t\t$mol_wire_fiber.warm = false\n\t\t\tconst res = task()\n\t\t\tif( res === undefined ) return def\n\t\t\treturn res\n\t\t} finally {\n\t\t\t$mol_wire_fiber.warm = warm\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Real-time refresh current atom.\n\t * Don't use if possible. May reduce performance.\n\t */\n\texport function $mol_wire_watch() {\n\t\tconst atom = $mol_wire_auto()\n\t\tif( atom instanceof $mol_wire_atom ) {\n\t\t\tatom.watch()\n\t\t} else {\n\t\t\t$mol_fail( new Error( 'Atom is required for watching' ) )\n\t\t}\n\t}\n\t\n}\n","namespace $ { \n\t/**\n\t * Returns closure that returns constant value.\n\t * @example\n\t * const rnd = $mol_const( Math.random() )\n\t */\n\texport function $mol_const< Value >( value : Value ) {\n\t\tconst getter = <{ () : Value , '()' : Value }> ( () => value )\n\t\tgetter['()'] = value\n\t\t;(getter as any)[ Symbol.toStringTag ] = value\n\t\t;(getter as any )[ $mol_dev_format_head ] = ()=> $mol_dev_format_span( {} , '()=> ', $mol_dev_format_auto( value ) )\n\t\treturn getter\n\t}\n}\n","namespace $ {\n\t\n\t/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tlet current = $mol_wire_auto() as $mol_wire_fiber< any, any, any >\n\t\tif( current!.temp ) current = current!.host\n\t\tif( current!.reap !== nothing ) {\n\t\t\tcurrent?.sub_on( sub, sub.data.length )\n\t\t}\n\t\tcurrent!.reap = nothing\n\t}\n\t\n\tconst nothing = ()=> {}\n\tconst sub = new $mol_wire_pub_sub\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_attributes (\n\t\tel : Element ,\n\t\tattrs : { [ key : string ] : string|number|boolean|null }\n\t) {\n\n\t\tfor( let name in attrs ) {\n\n\t\t\tlet val = attrs[ name ] as any\n\n\t\t\tif( val === undefined ) {\n\t\t\t\t\n\t\t\t\tcontinue\n\t\t\t\t\n\t\t\t} else if( val === null || val === false ) {\n\n\t\t\t\tif( !el.hasAttribute( name ) ) continue\n\t\t\t\t\n\t\t\t\tel.removeAttribute( name )\n\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tconst str = String( val )\n\t\t\t\tif( el.getAttribute( name ) === str ) continue\n\t\t\t\t\n\t\t\t\tel.setAttribute( name , str )\n\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_events (\n\t\tel : Element ,\n\t\tevents : { [ key : string ] : ( event : Event )=> any },\n\t\tpassive = false\n\t) {\n\t\tfor( let name in events ) {\n\t\t\tel.addEventListener( name , events[ name ] , { passive } )\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_dom_render_styles (\n\t\tel : Element ,\n\t\tstyles : { [ key : string ] : string|number }\n\t) {\n\t\tfor( let name in styles ) {\n\t\t\tlet val = styles[ name ]\n\t\t\t\n\t\t\tconst style = ( el as HTMLElement ).style as any\n\t\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\t\t\t\n\t\t\tif( typeof val === 'number' ) {\n\t\t\t\tstyle.setProperty(kebab(name), `${ val }px`);\n\t\t\t} else {\n\t\t\t\tstyle.setProperty(kebab(name), val);\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\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\t\n\texport function $mol_dom_render_fields (\n\t\tel : Element ,\n\t\tfields : { [ key : string ] : any }\n\t) {\n\t\tfor( let key in fields ) {\n\t\t\t\n\t\t\tconst val : any = fields[ key ]\n\t\t\t\n\t\t\tif( val === undefined ) continue\n\t\t\tif( val === (el as any)[ key ] ) continue\n\t\t\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Convert a pseudo-synchronous (Suspense API) API to an explicit asynchronous one (for integrating with external systems). */\n\texport function $mol_wire_async< Host extends object >( obj: Host ) {\n\t\t\n\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\tconst temp = $mol_wire_task.getter( obj as ( ... args: any[] )=> any )\n\t\t\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\tconst val = (obj as any)[ field ]\n\t\t\t\tif( typeof val !== 'function' ) return val\n\t\t\t\t\n\t\t\t\tlet fiber: $mol_wire_fiber< any, any, any >\n\t\t\t\tconst temp = $mol_wire_task.getter( val ) \n\t\t\t\t\n\t\t\t\treturn function $mol_wire_async( this: Host, ... args: any[] ) {\n\t\t\t\t\tfiber?.destructor()\n\t\t\t\t\tfiber = temp( obj, args )\n\t\t\t\t\treturn fiber.async()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t},\n\t\t\t\n\t\t\tapply( obj, self, args ) {\n\t\t\t\tfiber?.destructor()\n\t\t\t\tfiber = temp( self, args )\n\t\t\t\treturn fiber.async()\n\t\t\t},\n\t\t\t\n\t\t} ) as unknown as ObjectOrFunctionResultPromisify\n\t\t\n\t}\n\n\ttype FunctionResultPromisify = Some extends (...args: infer Args) => infer Res\n\t\t? Res extends PromiseLike ? Some : (...args: Args) => Promise\n\t\t: Some\n\n\ttype MethodsResultPromisify = {\n\t\t[K in keyof Host]: FunctionResultPromisify\n\t}\n\n\ttype ObjectOrFunctionResultPromisify = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultPromisify : {}\n\t) & ( Some extends Object ? MethodsResultPromisify : Some )\n\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 function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\t\t\n\t\tconst elid = `$mol_style_attach:${id}`\n\t\t\n\t\tlet el = doc.getElementById( elid ) as HTMLStyleElement\n\t\tif( !el ) {\n\t\t\tel = doc.createElement('style')\n\t\t\tel.id = elid\n\t\t\tdoc.head.appendChild( el )\n\t\t}\n\t\tif( el.innerHTML != text ) el.innerHTML = text\n\t\t\n\t\treturn el\n\t}\n\n}\n","namespace $ {\n\texport class $mol_promise extends Promise {\n\t\tdone: (value: Result | PromiseLike) => void\n\t\tfail: (reason?: any) => void\n\n\t\tconstructor(\n\t\t\texecutor?: (\n\t\t\t\tdone: (value: Result | PromiseLike) => void,\n\t\t\t\tfail: (reason?: any) => void\n\t\t\t) => void\n\t\t) {\n\t\t\tlet done: (value: Result | PromiseLike) => void\n\t\t\tlet fail: (reason?: any) => void\n\n\t\t\tsuper((d, f) => {\n\t\t\t\tdone = d\n\t\t\t\tfail = f\n\t\t\t\texecutor?.(d, f)\n\t\t\t})\n\n\t\t\tthis.done = done!\n\t\t\tthis.fail = fail!\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_promise_blocker extends $mol_promise {\n\t\tstatic [Symbol.toStringTag] = '$mol_promise_blocker'\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_decor< Value > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly value : Value\n\t\t) {}\n\n\t\tprefix() { return '' }\n\t\tvalueOf() { return this.value }\n\t\tpostfix() { return '' }\n\n\t\ttoString(){\n\t\t\treturn `${ this.prefix() }${ this.valueOf() }${ this.postfix() }`\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_style_unit_length =\n\t| '%'\n\t| 'px' | 'cm' | 'mm' | 'Q' | 'in' | 'pc' | 'pt'\n\t| 'cap' | 'ch' | 'em' | 'rem' | 'ex' | 'ic' | 'lh' | 'rlh'\n\t| 'vh' | 'vw' | 'vi' | 'vb' | 'vmin' | 'vmax'\n\t\n\texport type $mol_style_unit_angle = 'deg' | 'rad' | 'grad' | 'turn'\n\t\n\texport type $mol_style_unit_time = 's' | 'ms'\n\n\texport type $mol_style_unit_any = $mol_style_unit_length | $mol_style_unit_angle | $mol_style_unit_time\n\n\texport type $mol_style_unit_str< Quanity extends $mol_style_unit_any = $mol_style_unit_any> = `${number}${Quanity}`\n\n\t/**\n\t * CSS Units\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_unit<\n\t\tLiteral extends $mol_style_unit_any\n\t> extends $mol_decor< number > {\n\n\t\tconstructor(\n\t\t\tvalue : number,\n\t\t\treadonly literal : Literal,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tpostfix() {\n\t\t\treturn this.literal\n\t\t}\n\n\t\tstatic per( value : number ) { return `${value}%` as const }\n\t\tstatic px( value : number ) { return `${ value }px` as const }\n\t\tstatic mm( value : number ) { return `${value}mm` as const }\n\t\tstatic cm( value : number ) { return `${value}cm` as const }\n\t\tstatic Q( value : number ) { return `${value}Q` as const }\n\t\tstatic in( value : number ) { return `${value}in` as const }\n\t\tstatic pc( value : number ) { return `${value}pc` as const }\n\t\tstatic pt( value : number ) { return `${value}pt` as const }\n\t\tstatic cap( value : number ) { return `${value}cap` as const }\n\t\tstatic ch( value : number ) { return `${value}ch` as const }\n\t\tstatic em( value : number ) { return `${value}em` as const }\n\t\tstatic rem( value : number ) { return `${value}rem` as const }\n\t\tstatic ex( value : number ) { return `${value}ex` as const }\n\t\tstatic ic( value : number ) { return `${value}ic` as const }\n\t\tstatic lh( value : number ) { return `${value}lh` as const }\n\t\tstatic rlh( value : number ) { return `${value}rlh` as const }\n\t\tstatic vh( value : number ) { return `${value}vh` as const }\n\t\tstatic vw( value : number ) { return `${value}vw` as const }\n\t\tstatic vi( value : number ) { return `${value}vi` as const }\n\t\tstatic vb( value : number ) { return `${value}vb` as const }\n\t\tstatic vmin( value : number ) { return `${value}vmin` as const }\n\t\tstatic vmax( value : number ) { return `${value}vmax` as const }\n\t\t\n\t\tstatic deg( value : number ) { return `${value}deg` as const }\n\t\tstatic rad( value : number ) { return `${value}rad` as const }\n\t\tstatic grad( value : number ) { return `${value}grad` as const }\n\t\tstatic turn( value : number ) { return `${value}turn` as const }\n\n\t\tstatic s( value : number ) { return `${value}s` as const }\n\t\tstatic ms( value : number ) { return `${value}ms` as const }\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_style_func_name =\n\t| 'calc'\n\t| 'hsla'\n\t| 'rgba'\n\t| 'var'\n\t| 'clamp'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_image\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_image =\n\t| 'url'\n\t| 'linear-gradient'\n\t| 'radial-gradient'\n\t| 'conic-gradient'\n\t\n\texport type $mol_style_func_filter =\n\t| 'blur'\n\t| 'brightness'\n\t| 'contrast'\n\t| 'drop-shadow'\n\t| 'grayscale'\n\t| 'hue-rotate'\n\t| 'invert'\n\t| 'opacity'\n\t| 'sepia'\n\t| 'saturate'\n\n\tconst { per } = $mol_style_unit\n\t\n\t/**\n\t * CSS Functions\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport class $mol_style_func<\n\t\tName extends $mol_style_func_name ,\n\t\tValue = unknown,\n\t> extends $mol_decor< Value > {\n\n\t\tconstructor(\n\t\t\treadonly name : Name,\n\t\t\tvalue : Value,\n\t\t) {\n\t\t\tsuper( value )\n\t\t}\n\n\t\tprefix() { return this.name + '(' }\n\t\tpostfix() { return ')' }\n\n\t\tstatic linear_gradient< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'linear-gradient' , value )\n\t\t}\n\n\t\tstatic calc< Value >( value : Value ) {\n\t\t\treturn new $mol_style_func( 'calc' , value )\n\t\t}\n\n\t\tstatic vary< Name extends string, Value extends string >( name : Name, defaultValue? : Value ) {\n\t\t\treturn new $mol_style_func( 'var' , defaultValue ? [name, defaultValue] : name )\n\t\t}\n\n\t\tstatic url< Href extends string >( href : Href ) {\n\t\t\treturn new $mol_style_func( 'url' , JSON.stringify( href ) )\n\t\t}\n\n\t\tstatic hsla(\n\t\t\thue: number,\n\t\t\tsaturation: number,\n\t\t\tlightness: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'hsla',\n\t\t\t\t[ hue , per( saturation ) , per( lightness ) , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic clamp(\n\t\t\tmin: $mol_style_unit_str< any >,\n\t\t\tmid: $mol_style_unit_str< any >,\n\t\t\tmax: $mol_style_unit_str< any >,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'clamp',\n\t\t\t\t[ min, mid, max ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic rgba(\n\t\t\tred: number,\n\t\t\tgreen: number,\n\t\t\tblue: number,\n\t\t\talpha: number,\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t'rgba',\n\t\t\t\t[ red , green , blue , alpha ],\n\t\t\t)\n\t\t}\n\t\n\t\tstatic scale(\n\t\t\tzoom: number,\n\t\t) {\n\t\t\treturn new $mol_style_func( 'scale', [ zoom ] )\n\t\t}\n\t\t\n\t\tstatic linear(\n\t\t\t...breakpoints : Array]>\n\t\t){\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"linear\",\n\t\t\t\tbreakpoints.map((e) =>\n\t\t\t\t\tArray.isArray(e)\n\t\t\t\t\t\t? String(e[0]) +\n\t\t\t\t\t\t \" \" +\n\t\t\t\t\t\t (typeof e[1] === \"number\" ? e[1] + \"%\" : e[1].toString())\n\t\t\t\t\t\t: String(e)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic cubic_bezier(\n\t\t\tx1: number,\n\t\t\ty1: number,\n\t\t\tx2: number,\n\t\t\ty2: number\n\t\t){\n\t\t\treturn new $mol_style_func( 'cubic-bezier', [ x1, y1, x2, y2 ]);\n\t\t}\n\t\t\n\t\tstatic steps(value: number, step_position: 'jump-start' | 'jump-end' | 'jump-none' | 'jump-both' | 'start' | 'end'){\n\t\t\treturn new $mol_style_func( 'steps', [ value, step_position ] )\n\t\t}\n\t\t\n\t\tstatic blur(value?: $mol_style_unit_str<$mol_style_unit_length>){\n\t\t\treturn new $mol_style_func( 'blur', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic brightness(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'brightness', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic contrast(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'contrast', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic drop_shadow(\n\t\t\tcolor: $mol_style_properties_color,\n\t\t\tx_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit_str<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit_str<$mol_style_unit_length>\n\t\t) {\n\t\t\treturn new $mol_style_func(\n\t\t\t\t\"drop-shadow\",\n\t\t\t\tblur_radius\n\t\t\t\t\t? [color, x_offset, y_offset, blur_radius]\n\t\t\t\t\t: [color, x_offset, y_offset]\n\t\t\t);\n\t\t}\n\t\t\n\t\tstatic grayscale(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'grayscale', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic hue_rotate(value?: 0 | $mol_style_unit_str<$mol_style_unit_angle>){\n\t\t\treturn new $mol_style_func( 'hue-rotate', value ?? \"\")\n\t\t}\n\t\t\n\t\tstatic invert(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'invert', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic opacity(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'opacity', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic sepia(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'sepia', value ?? \"\" );\n\t\t}\n\t\t\n\t\tstatic saturate(value?: number | $mol_style_unit_str<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Create record of CSS variables. */\n\texport function $mol_style_prop< Keys extends string[] >(\n\t\tprefix: string ,\n\t\tkeys: Keys\n\t) {\n\t\t\n\t\tconst record = keys.reduce( ( rec , key: Keys[number] )=> {\n\t\t\t\n\t\t\trec[ key ] = $mol_style_func.vary( `--${ prefix }_${ key }` )\n\t\t\treturn rec\n\t\t\t\n\t\t}, {} as Record< Keys[number], $mol_style_func< 'var' > > )\n\t\t\n\t\treturn record\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\t\n\texport const $mol_theme = $mol_style_prop(\n\t\t'mol_theme',\n\t\t[\n\t\t\t'back',\n\t\t\t'hover',\n\t\t\t'card',\n\t\t\t'current',\n\t\t\t'special',\n\t\t\t'text',\n\t\t\t'control',\n\t\t\t'shade',\n\t\t\t'line',\n\t\t\t'focus',\n\t\t\t'field',\n\t\t\t'image',\n\t\t\t'spirit',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 240deg;\\n\\t--mol_theme_hue_spread: 90deg;\\n\\tcolor-scheme: dark light;\\n}\\n\\n:where([mol_theme]) {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 0%, .75 );\\n\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 10% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 20%, .25 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 8%, .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 80% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 60%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 65% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 60%, 65% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 60%, 65% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n:root, [mol_theme=\\\"$mol_theme_dark\\\"], :where([mol_theme=\\\"$mol_theme_dark\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_back: oklch( 20% .03 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 30% .05 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_field: oklch( 15% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 80% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 60% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 80% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 70% .1 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 70% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 70% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n\\t--mol_theme_spirit: hsl( 0deg, 0%, 100%, .75 );\\n\\t\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 20%, 92% );\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), 50%, 100%, .5 );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), 50%, 100%, .75 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, 0% );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 40%, 1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .25 );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, 40% );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 80%, 30% );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ), 80%, 30% );\\n\\n} @supports( color: oklch( 0% 0 0deg ) ) {\\n[mol_theme=\\\"$mol_theme_light\\\"], :where([mol_theme=\\\"$mol_theme_light\\\"]) [mol_theme] {\\n\\t--mol_theme_back: oklch( 92% .01 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 99% .01 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_field: oklch( 100% 0 var(--mol_theme_hue) / .5 );\\n\\t--mol_theme_hover: oklch( 70% 0 var(--mol_theme_hue) / .1 );\\n\\t\\n\\t--mol_theme_text: oklch( 20% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_shade: oklch( 60% 0 var(--mol_theme_hue) );\\n\\t--mol_theme_line: oklch( 50% 0 var(--mol_theme_hue) / .25 );\\n\\t--mol_theme_focus: oklch( 60% .2 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t\\n\\t--mol_theme_control: oklch( 40% .15 var(--mol_theme_hue) );\\n\\t--mol_theme_current: oklch( 50% .2 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_special: oklch( 50% .2 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\n} }\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 25% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 35% .1 var(--mol_theme_hue) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_back: oklch( 85% .075 var(--mol_theme_hue) );\\n\\t--mol_theme_card: oklch( 98% .03 var(--mol_theme_hue) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_current\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) - var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 25% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 35% .1 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_back: oklch( 85% .05 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + var(--mol_theme_hue_spread) ) / .25 );\\n}\\n\\n:where( :root, [mol_theme=\\\"$mol_theme_dark\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 35% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 45% .15 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n:where( [mol_theme=\\\"$mol_theme_light\\\"] ) [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: oklch( 83% .1 calc( var(--mol_theme_hue) + 180deg ) );\\n\\t--mol_theme_card: oklch( 98% .03 calc( var(--mol_theme_hue) + 180deg ) / .25 );\\n}\\n\\n\"\n) }","namespace $ {\n\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = $mol_style_prop(\n\t\t'mol_gap',\n\t\t[\n\t\t\t'block',\n\t\t\t'text',\n\t\t\t'round',\n\t\t\t'space',\n\t\t\t'blur',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/gap/gap.css\",\n \":root {\\n\\t--mol_gap_block: .75rem;\\n\\t--mol_gap_text: .5rem .75rem;\\n\\t--mol_gap_round: .25rem;\\n\\t--mol_gap_space: .25rem;\\n\\t--mol_gap_blur: .5rem;\\n}\\n\"\n) }","namespace $ {\n\n\texport type $mol_view_content = $mol_view|Node|string|number|boolean|null\n\t\n\texport function $mol_view_visible_width() {\n\t\treturn $mol_window.size().width\n\t}\n\t\n\texport function $mol_view_visible_height() {\n\t\treturn $mol_window.size().height\n\t}\n\t\n\texport function $mol_view_state_key( suffix : string ) {\n\t\treturn suffix\n\t}\n\t\n\t/**\n\t * The base class for all visual components. It provides the infrastructure for reactive lazy rendering, handling exceptions.\n\t * @see https://mol.hyoo.ru/#!section=docs/=vv2nig_s5zr0f\n\t */\n\t/// Reactive statefull lazy ViewModel\n\texport class $mol_view extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic Root< This extends typeof $mol_view >( this : This , id: number ) {\n\t\t\treturn new this as InstanceType< This >\n\t\t}\n\n\t\t@ $mol_mem\n\t\tautorun() {\n\t\t\ttry {\n\t\t\t\tthis.dom_tree()\n\t\t\t\tdocument.title = this.title()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic autobind() {\n\t\t\t\n\t\t\tconst nodes = $mol_dom_context.document.querySelectorAll( '[mol_view_root]:not([mol_view_root=\"\"])' )\n\t\t\t\n\t\t\tfor( let i = nodes.length - 1 ; i >= 0 ; --i ) {\n\n\t\t\t\tconst name = nodes.item( i ).getAttribute( 'mol_view_root' )!\n\t\t\t\t\n\t\t\t\tconst View = ($ as any)[ name ] as typeof $mol_view\n\t\t\t\tif( !View ) {\n\t\t\t\t\tconsole.error( `Can not attach view. Class not found: ${ name }` )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst view = View.Root( i )\n\t\t\t\tview.dom_node( nodes.item( i ) )\n\t\t\t\tview.autorun()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\treturn this.toString().match( /.*\\.(\\w+)/ )?.[1] ?? this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tfocused( next?: boolean ) {\n\t\t\tlet node = this.dom_node()\n\t\t\tconst value = $mol_view_selection.focused( next === undefined ? undefined : ( next ? [ node ] : [] ) )\n\t\t\treturn value.indexOf( node ) !== -1\n\t\t}\n\t\t\n\t\tstate_key( suffix = '' ) {\n\t\t\treturn this.$.$mol_view_state_key( suffix )\n\t\t}\n\t\t\n\t\t/// Name of element that created when element not found in DOM\n\t\t@ $mol_memo.method\n\t\tdom_name() {\n\t\t\treturn $mol_dom_qname( this.constructor.toString() ) || 'div'\n\t\t}\n\t\t\n\t\t/// NameSpace of element that created when element not found in DOM\n\t\tdom_name_space() { return 'http://www.w3.org/1999/xhtml' }\n\t\t\n\t\t/// Raw child views\n\t\tsub() {\n\t\t\treturn [] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/// Visible sub views with defined ambient context\n\t\t/// Render all by default\n\t\tsub_visible() {\n\t\t\treturn this.sub()\n\t\t}\n\t\t\n\t\t/// Minimal width that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst sub = this.sub()\n\t\t\t\tif( !sub ) return 0\n\t\t\t\t\n\t\t\t\tsub.forEach( view => {\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_width() )\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$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\t\t\n\t\t\treturn min\n\t\t}\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.minimal_width()\n\t\t}\n\t\t\n\t\t/// Minimal height that used for lazy rendering\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\t\n\t\t\tlet min = 0\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tfor( const view of this.sub() ?? [] ) {\n\n\t\t\t\t\tif( view instanceof $mol_view ) {\n\t\t\t\t\t\tmin = Math.max( min , view.minimal_height() )\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} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 24\n\t\t\t}\n\n\t\t\treturn min\n\t\t}\n\n\t\tstatic watchers = new Set< $mol_view >()\n\n\t\t@ $mol_mem\n\t\tview_rect() {\n\t\t\tif( $mol_wire_probe( ()=> this.view_rect() ) === undefined ) {\n\t\t\t\t$mol_wire_watch()\n\t\t\t\treturn null // don't touch DOM to prevent instant reflow\n\t\t\t} else {\n\t\t\t\tconst { width, height, left, right, top, bottom } = this.dom_node().getBoundingClientRect()\n\t\t\t\treturn { width, height, left, right, top, bottom } // pick to optimize compare\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tdom_id() {\n\t\t\treturn this.toString().replace( //g, ')' ).replaceAll( /\"/g, \"'\" )\n\t\t}\n\t\n\t\tdom_node_external( next?: Element) {\n\t\t\tconst node = next ?? $mol_dom_context.document.createElementNS( this.dom_name_space() , this.dom_name() )\n\n\t\t\tconst id = this.dom_id()\n\t\t\tnode.setAttribute( 'id' , id )\n\t\t\tnode.toString = $mol_const( '<#' + id + '>' )\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t$mol_wire_solid()\n\t\t\tconst node = this.dom_node_external( next )\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = this.event_async()\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_final() {\n\t\t\t\n\t\t\tthis.render()\n\t\t\t\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tfor( const el of sub ) {\n\t\t\t\tif( el && typeof el === 'object' && 'dom_final' in el ) {\n\t\t\t\t\tel['dom_final']()\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn this.dom_node()\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_tree( next? : Element ) : Element {\n\t\t\tconst node = this.dom_node( next )\n\t\t\t\n\t\t\trender: try {\n\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : null } )\n\n\t\t\t\ttry {\n\t\t\t\t\n\t\t\t\t\tthis.render()\n\t\t\t\t\t\n\t\t\t\t} finally {\n\t\t\t\t\t\n\t\t\t\t\tfor( let plugin of this.plugins() ) {\n\t\t\t\t\t\tif( plugin instanceof $mol_plugin ) {\n\t\t\t\t\t\t\tplugin.dom_tree()\n\t\t\t\t\t\t}\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} catch( error: any ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\tconst mol_view_error = $mol_promise_like(error)\n\t\t\t\t\t? (error as any).constructor[Symbol.toStringTag] ?? 'Promise'\n\t\t\t\t\t: error.name || error.constructor.name\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tconst message = error.message || error\n\t\t\t\t\t;( node as HTMLElement ).innerText = message.replace( /^|$/mg, '\\xA0\\xA0' )\n\t\t\t\t} catch {}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.auto()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\t\n\t\t\treturn node\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdom_node_actual() {\n\t\t\tconst node = this.dom_node()\n\n\t\t\t$mol_dom_render_styles( node, this.style_size() )\n\n\t\t\tconst attr = this.attr()\n\t\t\tconst style = this.style()\n\n\t\t\t$mol_dom_render_attributes( node , attr )\n\t\t\t$mol_dom_render_styles( node , style )\n\n\t\t\treturn node\n\t\t}\n\t\t\n\t\tauto() {\n\t\t\treturn null as any\n\t\t}\n\n\t\t@ $mol_mem\n\t\trender() {\n\n\t\t\tconst node = this.dom_node_actual()\n\n\t\t\tconst sub = this.sub_visible()\n\t\t\tif( !sub ) return\n\t\t\t\n\t\t\tconst nodes = sub.map( child => {\n\t\t\t\tif( child == null ) return null\n\t\t\t\treturn ( child instanceof $mol_view )\n\t\t\t\t\t? child.dom_node()\n\t\t\t\t\t: child instanceof $mol_dom_context.Node\n\t\t\t\t\t? child\n\t\t\t\t\t: String( child )\n\t\t\t})\n\t\t\t\n\t\t\t$mol_dom_render_children( node , nodes )\n\n\t\t\tfor( const el of sub ) if( el && typeof el === 'object' && 'dom_tree' in el ) el['dom_tree']()\n\n\t\t\t$mol_dom_render_fields( node , this.field() )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tstatic view_classes() {\n\t\t\tconst proto = this.prototype\n\t\t\t\n\t\t\tlet current = proto\n\t\t\tconst classes = [] as ( typeof $mol_view )[]\n\t\t\t\n\t\t\twhile( current ) {\n\t\t\t\tif( current.constructor.name !== classes.at(-1)?.name ) {\n\t\t\t\t\tclasses.push( current.constructor as typeof $mol_view )\n\t\t\t\t}\n\t\t\t\tif(!( current instanceof $mol_view )) break\n\t\t\t\tcurrent = Object.getPrototypeOf( current )\n\t\t\t}\n\t\t\t\n\t\t\treturn classes\n\t\t}\n\t\t\n\t\tstatic _view_names?: Map< string, string[] >\n\t\tstatic view_names( suffix: string ) {\n\t\t\t\n\t\t\tlet cache = Reflect.getOwnPropertyDescriptor( this, '_view_names' )?.value\n\t\t\tif( !cache ) cache = this._view_names = new Map\n\t\t\t\n\t\t\tconst cached = cache.get( suffix )\n\t\t\tif( cached ) return cached\n\t\t\t\n\t\t\tconst names = [] as string[]\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tfor( const Class of this.view_classes() ) {\n\t\t\t\tif( suffix in Class.prototype ) names.push( this.$.$mol_func_name( Class ) + suffix2 )\n\t\t\t\telse break\n\t\t\t}\n\t\t\t\n\t\t\tcache.set( suffix, names )\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tview_names_owned() {\n\t\t\tconst names = [] as string[]\n\t\t\tlet owner = $mol_owning_get( this ) as $mol_wire_fiber< any, any[], any >\n\n\t\t\tif(!( owner?.host instanceof $mol_view )) return names\n\n\t\t\tconst suffix = owner.task.name.trim()\n\t\t\tconst suffix2 = '_' + suffix[0].toLowerCase() + suffix.substring(1)\n\t\t\t\n\t\t\tnames.push( ... ( owner.host.constructor as typeof $mol_view ).view_names( suffix ) )\n\t\t\t\n\t\t\tfor( let prefix of owner.host.view_names_owned() ) {\n\t\t\t\tnames.push( prefix + suffix2 )\n\t\t\t}\n\t\t\t\n\t\t\treturn names\n\t\t}\n\n\t\t@ $mol_memo.method\n\t\tview_names() {\n\t\t\tconst names = new Set< string >()\n\t\t\t\n\t\t\tfor( let name of this.view_names_owned() ) names.add( name )\n\n\t\t\tfor( let Class of ( this.constructor as typeof $mol_view ).view_classes() ) {\n\t\t\t\tconst name = this.$.$mol_func_name( Class )\n\t\t\t\tif( name ) names.add( name )\n\t\t\t}\n\n\t\t\treturn names\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttheme( next = null as null | string ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tattr_static() : { [ key : string ] : string|number|boolean|null } {\n\t\t\tlet attrs : any = {}\n\t\t\t\n\t\t\tfor( let name of this.view_names() ) attrs[ name.replace( /\\$/g , '' ).replace( /^(?=\\d)/ , '_' ).toLowerCase() ] = ''\n\t\t\t\n\t\t\treturn attrs\n\t\t}\n\t\t\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme() ?? undefined,\n\t\t\t} as {}\n\t\t}\n\t\t\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t\tminHeight: this.minimal_height(),\n\t\t\t\tminWidth: this.minimal_width(),\n\t\t\t} as {\n\t\t\t\t[key: string]: string | number;\n\t\t\t}\n\t\t}\n\t\t\n\t\tstyle() : { [ key : string ] : string|number } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tfield() : { [ key : string ] : any } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tevent_async() {\n\t\t\treturn { ... $mol_wire_async(this.event()) }\n\t\t}\n\n\t\tplugins() {\n\t\t\treturn [] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t// $mol_dev_format_shade( '/' ) ,\n\t\t\t\t// $mol_dev_format_auto( $mol_wire_cache( this ).sub().cache ) ,\n\t\t\t)\n\t\t}\n\n\t\t/** Deep search view by predicate. */\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( path.length === 0 && check( this ) ) return yield [ this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst checked = new Set<$mol_view>()\n\t\t\t\tconst sub = this.sub()\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif( ! ( item instanceof $mol_view ) ) continue\n\n\t\t\t\t\tif ( ! check( item ) ) continue\n\t\t\t\t\tchecked.add(item)\n\t\t\t\t\tyield [ ... path, this, item ]\n\t\t\t\t}\n\n\t\t\t\tfor( const item of sub ) {\n\t\t\t\t\tif ( ! ( item instanceof $mol_view) ) continue\n\t\t\t\t\tif ( checked.has(item) ) continue\n\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t}\n\t\t\t} catch( error: unknown ) {\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders path of views to DOM. */\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.sub()\n\n\t\t\tconst index = kids.findIndex( item => {\n\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\treturn path.has( item )\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t})\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t/** Renders view to DOM and scroll to it. */\n\t\tensure_visible( view: $mol_view, align: ScrollLogicalPosition = \"start\" ) {\n\t\t\t\n\t\t\tconst path = this.view_find( v => v === view ).next().value\n\t\t\tthis.force_render( new Set( path ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.dom_final()\n\t\t\t} finally {\n\t\t\t\tview.dom_node().scrollIntoView({ block: align })\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tif( win.parent !== win.self && !win.document.hasFocus() ) return\n\t\t\t\n\t\t\t// new this.$.$mol_after_frame( ()=> {\n\t\t\t// \tthis.dom_node().scrollIntoView({ block: 'start', inline: 'nearest' })\n\t\t\t// } )\n\t\t\t\n\t\t\tnew this.$.$mol_after_timeout( 0, ()=> {\n\t\t\t\tthis.focused( true )\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\toverride destructor() {\n\t\t\tconst node = $mol_wire_probe(() => this.dom_node())\n\t\t\tif (! node) return\n\n\t\t\tconst events = $mol_wire_probe(() => this.event_async())\n\t\t\tif (! events) return\n\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.removeEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ]\n\t\t\t\t)\n\t\t\t}\n\t\t}\n\t}\n\n\texport type $mol_view_all = $mol_type_pick< $ , typeof $mol_view >\n\n}\n","namespace $ { $mol_style_attach( \"mol/view/view/view.css\",\n \"[mol_view] {\\n\\ttransition-property: height, width, min-height, min-width, max-width, max-height, transform;\\n\\ttransition-duration: .2s;\\n\\ttransition-timing-function: ease-out;\\n\\t-webkit-appearance: none;\\n\\tbox-sizing: border-box;\\n\\tdisplay: flex;\\n\\tflex-shrink: 0;\\n\\tcontain: style;\\n\\tscrollbar-color: var(--mol_theme_line) transparent;\\n\\tscrollbar-width: thin;\\n}\\t\\n\\n[mol_view]::selection {\\n\\tbackground: var(--mol_theme_line);\\n}\\t\\n\\n[mol_view]::-webkit-scrollbar {\\n\\twidth: .25rem;\\n\\theight: .25rem;\\n}\\n\\n[mol_view]::-webkit-scrollbar-corner {\\n\\tbackground-color: var(--mol_theme_line);\\n}\\n\\n[mol_view]::-webkit-scrollbar-track {\\n\\tbackground-color: transparent;\\n}\\n\\n[mol_view]::-webkit-scrollbar-thumb {\\n\\tbackground-color: var(--mol_theme_line);\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_view] > * {\\n\\tword-break: inherit;\\n}\\n\\n[mol_view_root] {\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\tbox-sizing: border-box;\\n\\tfont-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\\n\\tfont-size: 1rem;\\n\\tline-height: 1.5rem;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_text);\\n\\tcontain: unset; /** Fixes bg ignoring when applied to body on Chrome */\\n\\ttab-size: 4;\\n\\toverscroll-behavior: contain; /** Disable navigation gestures **/\\n}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"], [mol_view_error=\\\"$mol_promise_blocker\\\"]) {\\n\\tbackground-image: repeating-linear-gradient(\\n\\t\\t-45deg,\\n\\t\\t#f92323,\\n\\t\\t#f92323 .5rem,\\n\\t\\t#ff3d3d .5rem,\\n\\t\\t#ff3d3d 1.5rem\\n\\t);\\n\\tcolor: black;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n@keyframes mol_view_wait {\\n\\tfrom {\\n\\t\\topacity: .25;\\n\\t}\\n\\t20% {\\n\\t\\topacity: .75;\\n\\t}\\n\\tto {\\n\\t\\topacity: .25;\\n\\t}\\n}\\n\\n:where([mol_view][mol_view_error=\\\"$mol_promise_blocker\\\"]),\\n:where([mol_view][mol_view_error=\\\"Promise\\\"]) {\\n\\tbackground: var(--mol_theme_hover);\\n}\\n\\n[mol_view][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: mol_view_wait 1s steps(20,end) infinite;\\n}\\n\"\n) }","interface Window {\n\tcordova : any\n}\n\nnamespace $ {\n\n\t$mol_dom_context.document?.addEventListener(\n\t\t'DOMContentLoaded',\n\t\t()=> $mol_view.autobind(),\n\t\t{ once: true },\n\t)\n\t\n}\n","namespace $ {\n\t/** Plugin is component without its own DOM element, but instead uses the owner DOM element */\n\texport class $mol_plugin extends $mol_view {\n\n\t\toverride dom_node_external( next? : Element ) {\n\t\t\treturn next ?? $mol_owning_get>( this )!.host!.dom_node()\n\t\t}\n\n\t\toverride render() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\n\t}\n\n}\n","$mol_scroll $mol_view\n\tscroll_top? 0\n\tscroll_left? 0\n\tattr *\n\t\t^\n\t\ttabindex <= tabindex -1\n\tevent *\n\t\t^\n\t\tscroll?event <=> event_scroll?event null\n","namespace $ {\n\n\texport class $mol_dom_listener extends $mol_object {\n\n\t\tconstructor(\n\t\t\tpublic _node : any ,\n\t\t\tpublic _event : string ,\n\t\t\tpublic _handler : ( event : any )=> any ,\n\t\t\tpublic _config : boolean|{ passive : boolean } = { passive : true }\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis._node.addEventListener( this._event , this._handler , this._config )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tthis._node.removeEventListener( this._event , this._handler , this._config )\n\t\t\tsuper.destructor()\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_print extends $mol_object {\n\n\t\t@ $mol_mem\n\t\tstatic before() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'beforeprint' , ()=> {\n\t\t\t\tthis.active( true )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic after() {\n\t\t\treturn new $mol_dom_listener( this.$.$mol_dom_context , 'afterprint' , ()=> {\n\t\t\t\tthis.active( false )\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic active( next? : boolean ) {\n\t\t\tthis.before()\n\t\t\tthis.after()\n\t\t\treturn next || false\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_style_sheet<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig0 : Config ,\n\t) {\n\n\t\tlet rules = [] as string[]\n\n\t\tconst block = $mol_dom_qname( $mol_ambient({}).$mol_func_name( Component ) )\n\t\tconst kebab = ( name : string )=> name.replace( /[A-Z]/g , letter => '-' + letter.toLowerCase() )\n\n\t\tconst make_class = ( prefix : string , path : string[] , config : typeof config0 )=> {\n\n\t\t\tconst props = [] as string[]\n\n\t\t\tconst selector = ( prefix : string , path : string[] )=> {\n\t\t\t\tif( path.length === 0 ) return prefix || `[${ block }]`\n\t\t\t\tlet res = `[${ block }_${ path.join('_') }]`\n\t\t\t\tif( prefix ) res = prefix + ' :where(' + res + ')'\n\t\t\t\treturn res\n\t\t\t}\n\t\t\t\n\t\t\tfor( const key of Object.keys( config ).reverse() ) {\n\n\t\t\t\tif( /^(--)?[a-z]/.test(key) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst addProp = ( keys : string[] , val : any )=> {\n\n\t\t\t\t\t\tif( Array.isArray( val ) ) {\n\n\t\t\t\t\t\t\tif( val[0] && [ Array , Object ].includes( val[0].constructor ) ) {\n\t\t\t\t\t\t\t\tval = val.map( v => {\n\t\t\t\t\t\t\t\t\treturn Object.entries( v ).map( ([ n , a ])=> {\n\t\t\t\t\t\t\t\t\t\tif( a === true ) return kebab( n )\n\t\t\t\t\t\t\t\t\t\tif( a === false ) return null\n\t\t\t\t\t\t\t\t\t\treturn String( a )\n\t\t\t\t\t\t\t\t\t} ).filter( Boolean ).join(' ')\n\t\t\t\t\t\t\t\t}).join( ',' )\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tval = val.join(' ')\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t} else if( val.constructor === Object ) {\n\n\t\t\t\t\t\t\tfor( let suffix of Object.keys( val ).reverse() ) {\n\t\t\t\t\t\t\t\taddProp( [ ... keys , kebab( suffix ) ] , val[ suffix ] )\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\tprops.push(`\\t${ keys.join('-') }: ${ val };\\n`)\n\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\n\t\t\t\t\taddProp( [ kebab(key) ] , (config as any)[key] )\n\n\t\t\t\t} else if( /^[A-Z]/.test(key) ) {\n\n\t\t\t\t\tmake_class( prefix , [ ... path , key.toLowerCase() ] , (config as any)[key] )\n\n\t\t\t\t} else if( key[0] === '$' ) {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + ' :where([' + $mol_dom_qname( key ) + '])' , [] , (config as any)[key] )\n\n\t\t\t\t} else if( key === '>' ) {\n\n\t\t\t\t\tconst types = config[key] as any\n\n\t\t\t\t\tfor( let type of Object.keys( types ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ' > :where([' + $mol_dom_qname( type ) + '])' , [] , types[type] )\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@' ) {\n\n\t\t\t\t\tconst attrs = config[key] as any\n\n\t\t\t\t\tfor( let name of Object.keys( attrs ).reverse() ) {\n\t\t\t\t\t\tfor( let val in attrs[name] ) {\n\t\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + name + '=' + JSON.stringify( val ) + '])' , [] , attrs[name][val] )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key === '@media' ) {\n\n\t\t\t\t\tconst media = (config as any)[key] as any\n\n\t\t\t\t\tfor( let query of Object.keys( media ).reverse() ) {\n\n\t\t\t\t\t\trules.push('}\\n')\n\t\t\t\t\t\t\n\t\t\t\t\t\tmake_class( prefix , path , media[query] )\n\t\t\t\t\t\t\n\t\t\t\t\t\trules.push( `${ key } ${ query } {\\n` )\n\n\t\t\t\t\t}\n\n\t\t\t\t} else if( key[0] === '[' && key[key.length-1] === ']' ) {\n\n\t\t\t\t\tconst attr = key.slice( 1, -1 )\n\t\t\t\t\tconst vals = config[ key as any ] as any as Record< string, any >\n\t\t\t\t\t\n\t\t\t\t\tfor( let val of Object.keys( vals ).reverse() ) {\n\t\t\t\t\t\tmake_class( selector( prefix , path ) + ':where([' + attr + '=' + JSON.stringify( val ) + '])' , [] , vals[val] )\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t} else {\n\n\t\t\t\t\tmake_class( selector( prefix , path ) + key , [] , (config as any)[key] )\n\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\tif( props.length ) {\n\t\t\t\trules.push( `${ selector( prefix , path ) } {\\n${ props.reverse().join('') }}\\n` )\n\t\t\t}\n\n\t\t}\n\n\t\tmake_class( '' , [] , config0 )\n\n\t\treturn rules.reverse().join('')\n\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * CSS in TS.\n\t * Statically typed CSS style sheets. Following samples show which CSS code are generated from TS code.\n\t * @see https://mol.hyoo.ru/#!section=docs/=xwq9q5_f966fg\n\t */\n\texport function $mol_style_define<\n\t\tComponent extends $mol_view,\n\t\tConfig extends $mol_style_guard< Component , Config >,\n\t>(\n\t\tComponent : new()=> Component,\n\t\tconfig : Config ,\n\t) {\n\n\t\treturn $mol_style_attach(\n\t\t\tComponent.name,\n\t\t\t$mol_style_sheet( Component , config ),\n\t\t)\n\n\t}\n\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Scrolling pane.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_scroll_demo\n\t */\n\texport class $mol_scroll extends $.$mol_scroll {\n\n\t\t@ $mol_mem\n\t\tscroll_top( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollTop = next\n\t\t\t\n\t\t\treturn el.scrollTop\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tscroll_left( next? : number, cache?: 'cache' ): number {\n\t\t\t\n\t\t\tconst el = this.dom_node()\n\t\t\tif( next !== undefined && !cache ) el.scrollLeft = next\n\t\t\t\n\t\t\treturn el.scrollLeft\n\t\t}\n\t\t\n\t\tevent_scroll( next? : Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLElement\n\t\t\t\n\t\t\tthis.scroll_left( el.scrollLeft, 'cache' )\n\t\t\tthis.scroll_top( el.scrollTop, 'cache' )\n\t\t\t\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.$.$mol_print.active() ? null! : 0\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem , px } = $mol_style_unit\n\n\t$mol_style_define( $mol_scroll , {\n\n\t\tdisplay: 'grid',\n\t\toverflow: 'auto',\n\t\tflex: {\n\t\t\tdirection: 'column',\n\t\t\tgrow: 1,\n\t\t\tshrink: 1,\n\t\t\t// basis: 0,\n\t\t},\n\t\toutline: 'none',\n\t\talign: {\n\t\t\tself: 'stretch',\n\t\t\titems: 'flex-start',\n\t\t},\n\t\tboxSizing: 'border-box',\n\t\twillChange: 'scroll-position',\n\t\tscroll: {\n\t\t\tpadding: [ rem(.75), 0 ],\n\t\t},\n\t\tmaxHeight: per(100),\n\t\tmaxWidth: per(100),\n\t\twebkitOverflowScrolling: 'touch',\n\t\tcontain: 'content',\n\n\t\t'>': {\n\t\t\t$mol_view: {\n\t\t\t\t// transform: 'translateZ(0)', // enforce gpu scroll in all agents\n\t\t\t\tgridArea: '1/1',\n\t\t\t},\n\t\t},\n\n\t\t'::before': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t'::after': {\n\t\t\tdisplay: 'none',\n\t\t},\n\t\t\n\t\t'::-webkit-scrollbar': {\n\t\t\twidth: rem(.25),\n\t\t\theight: rem(.25),\n\t\t},\n\t\t\n\t\t'@media' : {\n\t\t\t'print' : {\n\t\t\t\toverflow: 'hidden',\n\t\t\t\tcontain: 'none',\n\t\t\t\tmaxHeight: 'unset',\n\t\t\t},\n\t\t},\n\n\t})\n\n}\n","$mol_book2 $mol_scroll\n\tmenu_title \\\n\tsub /$mol_view\n\t\t^ pages <= pages_deep /$mol_view\n\t\t^ placeholders /$mol_view\n\t\t\t<= Placeholder $mol_view\n\tminimal_width 0\n\tGap* $mol_view title \\\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\n}\n","namespace $ {\n\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = $mol_style_prop(\n\t\t'mol_layer',\n\t\t[\n\t\t\t'hover',\n\t\t\t'focus',\n\t\t\t'speck',\n\t\t\t'float',\n\t\t\t'popup',\n\t\t] as const\n\t)\n\n}\n","namespace $ { $mol_style_attach( \"mol/layer/layer.css\",\n \":root {\\n\\t--mol_layer_hover: 1;\\n\\t--mol_layer_focus: 2;\\n\\t--mol_layer_speck: 3;\\n\\t--mol_layer_float: 4;\\n\\t--mol_layer_popup: 5;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Root component for adaptivity to various screen sizes. Implements booklet UX.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_demo\n\t */\n\texport class $mol_book2 extends $.$mol_book2 {\n\n\t\t@ $mol_mem\n\t\toverride pages_deep() {\n\t\t\tlet result = [] as $mol_view[]\n\t\t\tfor (const subpage of this.pages()) {\n\t\t\t\tif (subpage instanceof $mol_book2) result = [ ...result, ...subpage.pages_deep() ]\n\t\t\t\telse result.push(subpage)\n\t\t\t}\n\n\t\t\treturn result\n\t\t}\n\t\t\n\t\ttitle() {\n\t\t\treturn this.pages_deep().map( page => {\n\t\t\t\ttry {\n\t\t\t\t\treturn page?.title()\n\t\t\t\t} catch( error ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t}\n\t\t\t} ).reverse().filter( Boolean ).join( ' | ' )\n\t\t}\n\t\t\n\t\tmenu_title() {\n\t\t\treturn this.pages_deep()[0]?.title() || this.title()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\t\n\t\t\tconst placeholders = this.placeholders()\n\t\t\tconst next = this.pages_deep().filter( Boolean )\n\t\t\tconst prev = $mol_mem_cached( ()=> this.sub() )?.filter( page => !placeholders.includes( page ) ) ?? []\n\t\t\t\n\t\t\tfor( let i = 1 ; i ; ++i ) {\n\t\t\t\t\n\t\t\t\tconst p = prev[ prev.length - i ]\n\t\t\t\tconst n = next[ next.length - i ]\n\t\t\t\t\n\t\t\t\tif( !n ) break\n\t\t\t\tif( p === n ) continue\n\n\t\t\t\tnew this.$.$mol_after_tick( ()=> {\n\t\t\t\t\tconst b = this.dom_node() as HTMLElement\n\t\t\t\t\tconst p = n.dom_node() as HTMLElement\n\t\t\t\t\tb.scroll({\n\t\t\t\t\t\tleft: p.offsetLeft + p.offsetWidth - b.offsetWidth,\n\t\t\t\t\t\tbehavior: 'smooth',\n\t\t\t\t\t})\n\t\t\t\t\t// new this.$.$mol_after_timeout( 1000, ()=> n.bring() )\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\tbreak\n\n\t\t\t}\n\n\t\t\treturn [ ... next, ... placeholders ]\n\t\t}\n\t\t\n\t\tbring() {\n\t\t\t\n\t\t\tconst pages = this.pages_deep()\n\t\t\t\n\t\t\tif( pages.length ) pages[ pages.length - 1 ].bring()\n\t\t\telse super.bring()\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/book2/book2.view.css\",\n \"[mol_book2] {\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: stretch;\\n\\tflex: 1 1 auto;\\n\\talign-self: stretch;\\n\\tmargin: 0;\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n\\t/* transform: translateZ(0); */\\n\\ttransition: none;\\n\\tscroll-snap-type: x mandatory;\\n\\t/* padding: 0 1px;\\n\\tscroll-padding: 0 1px;\\n\\tgap: 1px; */\\n}\\n\\n[mol_book2] > * {\\n/* \\tflex: none; */\\n\\tscroll-snap-stop: always;\\n\\tscroll-snap-align: end;\\n\\tposition: relative;\\n\\tmin-height: 100%;\\n\\tmax-height: 100%;\\n\\tmax-width: 100%;\\n\\tflex-shrink: 0;\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_field);\\n}\\n\\n[mol_book2] > *:not(:first-of-type):before,\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tcontent: '';\\n\\tposition: absolute;\\n\\ttop: 1.5rem;\\n\\twidth: 3px;\\n\\theight: 1rem;\\n\\tbackground: linear-gradient(\\n\\t\\tto bottom,\\n\\t\\tvar(--mol_theme_special) 0%,\\n\\t\\tvar(--mol_theme_special) 14%,\\n\\t\\ttransparent 15%,\\n\\t\\ttransparent 42%,\\n\\t\\tvar(--mol_theme_special) 43%,\\n\\t\\tvar(--mol_theme_special) 57%,\\n\\t\\ttransparent 58%,\\n\\t\\ttransparent 85%,\\n\\t\\tvar(--mol_theme_special) 86%,\\n\\t\\tvar(--mol_theme_special) 100%\\n\\t);\\n\\topacity: .5;\\n\\tz-index: var(--mol_layer_speck);\\n}\\n[mol_book2] > *:not(:first-of-type):before {\\n\\tleft: -3px;\\n}\\n[mol_book2] > *:not(:last-of-type)::after {\\n\\tright: -3px;\\n}\\n\\n:where([mol_book2]) > * {\\n\\tbackground-color: var(--mol_theme_card);\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_back); */\\n}\\n\\n[mol_book2] > [mol_book2] {\\n\\tdisplay: contents;\\n}\\n\\n[mol_book2] > *:first-child {\\n\\tscroll-snap-align: start;\\n}\\n\\n[mol_book2] > [mol_view] {\\n\\ttransform: none; /* prevent content clipping */\\n}\\n\\n[mol_book2_placeholder] {\\n\\tflex: 1 1 0;\\n\\tbackground: none;\\n}\\n\\n[mol_book2_gap] {\\n\\tbackground: none;\\n\\tflex-grow: 1;\\n\\tscroll-snap-align: none;\\n\\tmargin-right: -1px;\\n\\tbox-shadow: none;\\n}\\n\\n[mol_book2_gap]::before,\\n[mol_book2_gap]::after {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_pop $mol_view\n\tshowed? false\n\talign_vert \\\n\talign_hor \\\n\tprefer \\vert\n\tsub /\n\t\t<= Anchor null\n\tsub_visible /\n\t\t<= Anchor\n\t\t<= Bubble $mol_pop_bubble\n\t\t\talign <= align \\bottom_center\n\t\t\tcontent <= bubble_content /$mol_view_content\n\t\t\theight_max <= height_max 9999\n\n$mol_pop_bubble $mol_view\n\tsub <= content /$mol_view_content\n\tstyle *\n\t\t^\n\t\tmaxHeight <= height_max 9999\n\tattr *\n\t\t^\n\t\tmol_pop_align <= align \\\n\t\ttabindex 0\n","namespace $.$$ {\n\n\t/**\n\t * `Bubble` that can be shown anchored to `Anchor` element.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_pop_demo\n\t */\n\texport class $mol_pop extends $.$mol_pop {\n\t\t\n\t\t@ $mol_mem\n\t\tshowed( next = false ) {\n\t\t\tthis.focused()\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\tthis.Anchor() ,\n\t\t\t\t... this.showed() ? [ this.Bubble() ] : [] ,\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\theight_max() {\n\t\t\t\n\t\t\tconst viewport = this.$.$mol_window.size()\n\t\t\tconst rect_bubble = this.view_rect()!\n\t\t\tconst align = this.align_vert()\n\t\t\t\n\t\t\tif( align === 'bottom' ) return ( viewport.height - rect_bubble.bottom ) * .66\n\t\t\tif( align === 'top' ) return rect_bubble.top * .66\n\t\t\t\n\t\t\treturn 0\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign() {\n\t\t\tswitch( this.prefer() ) {\n\t\t\t\tcase 'hor': return `${ this.align_hor() }_${ this.align_vert() }`\n\t\t\t\tcase 'vert': return `${ this.align_vert() }_${ this.align_hor() }`\n\t\t\t\tdefault: return this.prefer()\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_vert() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.top > ( viewport.top + viewport.height / 2 ) ? 'top' : 'bottom'\n\t\t}\n\n\t\t@ $mol_mem\n\t\talign_hor() {\n\t\t\tconst viewport = this.view_port()\n\t\t\t\n\t\t\tconst rect_pop = this.view_rect()\n\t\t\tif( !rect_pop ) return 'suspense'\n\t\t\t\n\t\t\treturn rect_pop.left > ( viewport.left + viewport.width / 2 ) ? 'left' : 'right'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tView_port() {\n\t\t\tconst view = new $mol_view\n\t\t\tview.dom_node = ()=> {\n\t\t\t\tlet node = this.dom_node() as HTMLElement\n\t\t\t\twhile( node = node.offsetParent! as HTMLElement ) {\n\t\t\t\t\tif( this.$.$mol_dom_context.getComputedStyle( node ).overflow !== 'visible' ) return node\n\t\t\t\t}\n\t\t\t\treturn this.$.$mol_dom_context.document.documentElement\n\t\t\t}\n\t\t\treturn view\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tview_port() {\n\t\t\treturn this.View_port().view_rect() ?? { ... this.$.$mol_window.size(), left: 0, top: 0 }\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/pop/pop.view.css\",\n \"[mol_pop] {\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n}\\n\\n[mol_pop_bubble] {\\n\\tbox-shadow: 0 0 1rem hsla(0,0%,0%,.5);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_popup);\\n\\tbackground: var(--mol_theme_back);\\n\\tmax-width: none;\\n\\tmax-height: none;\\n\\t/* overflow: hidden;\\n\\toverflow-y: scroll;\\n\\toverflow-y: overlay; */\\n\\tword-break: normal;\\n\\twidth: max-content;\\n\\t/* height: max-content; */\\n\\tflex-direction: column;\\n\\tmax-width: 80vw;\\n\\tmax-height: 80vw;\\n\\tcontain: paint;\\n\\ttransition-property: opacity;\\n}\\n\\n:where( [mol_pop_bubble] > * ) {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[mol_pop_bubble][mol_scroll] {\\n\\tbackground: var(--mol_theme_back);\\n}\\n\\n[mol_pop_bubble]:focus {\\n\\toutline: none;\\n}\\n\\n[mol_pop_align=\\\"suspense_suspense\\\"] {\\n\\topacity: 0;\\n}\\n\\n[mol_pop_align=\\\"left_top\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"left_center\\\"] {\\n\\ttransform: translate(-100%, -50%);\\n\\tleft: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"left_bottom\\\"] {\\n\\ttransform: translate(-100%);\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"right_top\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\tbottom: 0;\\n}\\n\\n[mol_pop_align=\\\"right_center\\\"] {\\n\\ttransform: translate(100%, -50%);\\n\\tright: 0;\\n\\ttop: 50%;\\n}\\n\\n[mol_pop_align=\\\"right_bottom\\\"] {\\n\\ttransform: translate(100%);\\n\\tright: 0;\\n\\ttop: 0;\\n}\\n\\n[mol_pop_align=\\\"center\\\"] {\\n\\tleft: 50%;\\n\\ttop: 50%;\\n\\ttransform: translate(-50%, -50%);\\n}\\n\\n[mol_pop_align=\\\"top_left\\\"] {\\n\\tright: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"top_right\\\"] {\\n\\tleft: 0;\\n\\tbottom: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_left\\\"] {\\n\\tright: 0;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_center\\\"] {\\n\\ttransform: translate(-50%);\\n\\tleft: 50%;\\n\\ttop: 100%;\\n}\\n\\n[mol_pop_align=\\\"bottom_right\\\"] {\\n\\tleft: 0;\\n\\ttop: 100%;\\n}\\n\"\n) }","$mol_hotkey $mol_plugin\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tkey *\n\tmod_ctrl false\n\tmod_alt false\n\tmod_shift false\n","namespace $.$$ {\n\t/**\n\t * Plugin which adds handlers for keyboard keys.\n\t * @see [mol_keyboard_code](../keyboard/code/code.ts)\n\t */\n\texport class $mol_hotkey extends $.$mol_hotkey {\n\n\t\tkey() {\n\t\t\treturn super.key() as {\n\t\t\t\t[ key in keyof typeof $mol_keyboard_code ]? : ( event : KeyboardEvent )=> void\n\t\t\t}\n\t\t}\n\t\t\n\t\tkeydown( event? : KeyboardEvent ) {\n\n\t\t\tif( !event ) return\n\t\t\tif( event.defaultPrevented ) return\n\n\t\t\tlet name = $mol_keyboard_code[ event.keyCode ] as keyof typeof $mol_keyboard_code\n\t\t\t\n\t\t\tif( this.mod_ctrl() !== ( event.ctrlKey || event.metaKey ) ) return\n\t\t\tif( this.mod_alt() !== event.altKey ) return\n\t\t\tif( this.mod_shift() !== event.shiftKey ) return\n\t\t\t\n\t\t\tconst handle = this.key()[ name ]\n\t\t\tif( handle ) handle( event )\n\n\t\t}\n\t\t\n\t}\n}\n","$mol_nav $mol_plugin\n\tcycle? false\n\t-\n\tmod_ctrl false\n\tmod_shift false\n\tmod_alt false\n\t-\n\tkeys_x? /\n\tkeys_y? /\n\t-\n\tcurrent_x? null\n\tcurrent_y? null\n\t-\n\tevent_up?event null\n\tevent_down?event null\n\tevent_left?event null\n\tevent_right?event null\n\tevent *\n\t\t^\n\t\tkeydown?event <=> event_key?event null\n","namespace $.$$ {\n\t\n\t/**\n\t * Plugin which can navigate in list of items\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_nav_demo\n\t */\n\texport class $mol_nav extends $.$mol_nav {\n\t\t\n\t\tevent_key( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\t\t\tif( event.defaultPrevented ) return\n\t\t\t\n\t\t\tif( this.mod_ctrl() && !event.ctrlKey ) return\n\t\t\tif( this.mod_shift() && !event.shiftKey ) return\n\t\t\tif( this.mod_alt() && !event.altKey ) return\n\t\t\t\n\t\t\tswitch( event.keyCode ) {\n\t\t\t\tcase $mol_keyboard_code.up : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.down : return this.event_down( event )\n\t\t\t\tcase $mol_keyboard_code.left : return this.event_left( event )\n\t\t\t\tcase $mol_keyboard_code.right : return this.event_right( event )\n\t\t\t\tcase $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\tcase $mol_keyboard_code.pageDown : return this.event_down( event )\n\t\t\t}\n\t\t}\n\t\t\n\t\tevent_up( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? 0 : index_y\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_down( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_y()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_y = this.index_y();\n\t\t\t\n\t\t\tconst index_old = index_y === null ? keys.length - 1 : index_y;\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_y( this.keys_y()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_left( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? 0 : index_x\n\t\t\tconst index_new = ( index_old + keys.length - 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_old === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tevent_right( event? : KeyboardEvent ) {\n\t\t\tif( !event ) return event\n\n\t\t\tconst keys = this.keys_x()\n\t\t\tif( keys.length < 1 ) return\n\t\t\t\n\t\t\tconst index_x = this.index_x();\n\t\t\t\n\t\t\tconst index_old = index_x === null ? keys.length - 1 : index_x\n\t\t\tconst index_new = ( index_old + 1 ) % keys.length\n\t\t\t\n\t\t\tevent.preventDefault()\n\t\t\t\n\t\t\tif( index_new === 0 && !this.cycle() ) return\n\t\t\t\n\t\t\tthis.current_x( this.keys_x()[ index_new ] )\n\t\t}\n\t\t\n\t\tindex_y() {\n\t\t\tlet index = this.keys_y().indexOf( this.current_y() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t\tindex_x() {\n\t\t\tlet index = this.keys_x().indexOf( this.current_x() )\n\t\t\tif( index < 0 ) return null\n\t\t\t\n\t\t\treturn index\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport let $mol_mem_persist = $mol_wire_solid\n}\n","namespace $ {\n\tconst factories = new WeakMap()\n\n\tfunction factory(\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 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\n\t}\n\n\ttype FunctionResultAwaited = Some extends (...args: infer Args) => infer Res\n\t\t? (...args: Args) => Awaited\n\t\t: Some\n\n\ttype ConstructorResultAwaited = Some extends new (...args: infer Args) => infer Res\n\t\t? new (...args: Args) => Res\n\t\t: {}\n\n\ttype MethodsResultAwaited = {\n\t\t[K in keyof Host]: FunctionResultAwaited\n\t}\n\n\ttype ObjectOrFunctionResultAwaited = (\n\t\tSome extends (...args: any) => unknown ? FunctionResultAwaited : {}\n\t) & ( Some extends Object ? MethodsResultAwaited & ConstructorResultAwaited : Some )\n\n}\n","namespace $ {\n\texport class $mol_storage extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic native() {\n\t\t\treturn this.$.$mol_dom_context.navigator.storage ?? { // exists only in secure context\n\t\t\t\tpersisted: async ()=> false,\n\t\t\t\tpersist: async ()=> false,\n\t\t\t\testimate: async ()=> ({}),\n\t\t\t\tgetDirectory: async ()=> null! as FileSystemHandle,\n\t\t\t} as StorageManager\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic persisted( next?: boolean, cache?: 'cache' ): boolean {\n\t\t\t\n\t\t\t$mol_mem_persist()\n\t\t\t\n\t\t\tif( cache ) return Boolean( next )\n\t\t\t\n\t\t\tconst native = this.native()\n\t\t\tif( next && !$mol_mem_cached( ()=> this.persisted() ) ) {\n\t\t\t\tnative.persist().then( actual => {\n\t\t\t\t\t\n\t\t\t\t\tsetTimeout( ()=> this.persisted( actual, 'cache' ), 5000 )\n\t\t\t\t\t\n\t\t\t\t\tif( actual ) this.$.$mol_log3_done({ place: `$mol_storage`, message: `Persist: Yes` })\n\t\t\t\t\telse this.$.$mol_log3_fail({ place: `$mol_storage`, message: `Persist: No` })\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t\treturn next ?? $mol_wire_sync( native ).persisted()\n\t\t}\n\t\t\n\t\tstatic estimate() {\n\t\t\treturn $mol_wire_sync( this.native() ?? {} ).estimate()\n\t\t}\n\t\t\n\t\tstatic dir() {\n\t\t\treturn $mol_wire_sync( this.native() ).getDirectory()\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $mol_state_local< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.localStorage\n\t\t\t\tif( !native ) break check\n\t\t\t\t\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic changes( next?: StorageEvent ) { return next }\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >(\n\t\t\tkey : string ,\n\t\t\tnext? : Value | null ,\n\t\t) : Value | null {\n\t\t\t\n\t\t\tthis.changes()\n\t\t\t\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) {\n\t\t\t\tthis.native().removeItem( key )\n\t\t\t} else {\n\t\t\t\tthis.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\tthis.$.$mol_storage.persisted( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tself.addEventListener( 'storage' , event => $.$mol_state_local.changes( event ) )\n\n}\n","namespace $ {\n\t/**\n\t * Decorates method to fiber to ensure it is executed only once inside other fiber from [mol_wire](../wire/README.md)\n\t * @see https://mol.hyoo.ru/#!section=docs/=1fcpsq_1wh0h2\n\t */\n\texport let $mol_action = $mol_wire_method\n}\n","namespace $ {\n\texport class $mol_lock extends $mol_object {\n\t\tprotected promise = null as null | Promise\n\n\t\tasync wait() {\n let next = () => {}\n\t\t\tlet destructed = false\n const task = $mol_wire_auto()\n\t\t\tif (! task) return next\n\n\t\t\tconst destructor = task.destructor.bind(task)\n task.destructor = ()=> {\n\t\t\t\tdestructor()\n\t\t\t\tdestructed = true\n next()\n }\n\n\t\t\tlet promise\n\n\t\t\tdo {\n\t\t\t\tpromise = this.promise\n\t\t\t\tawait promise\n\t\t\t\tif (destructed) return next\n\t\t\t} while (promise !== this.promise)\n\n\t\t\tthis.promise = new Promise(done => { next = done })\n\t\t\treturn next\n\t\t}\n\n\t\tgrab() { return $mol_wire_sync(this).wait() }\n\t}\n}\n","namespace $ {\n export function $mol_compare_array>(a: Value, b: Value): boolean {\n\t\tif (a === b) return true\n\t\tif (Object.getPrototypeOf(a) !== Object.getPrototypeOf(b)) return false\n\t\tif (a.length !== b.length) return false\n\n\t\tfor (let i = 0; i < a.length; i++)\n\t\t\tif (a[i] !== b[i]) return false\n\n\t\treturn true\n\t}\n}\n","namespace $ {\n\n\tconst decoders = {} as { [ key in $mol_charset_encoding ]?: TextDecoder }\n\n\texport function $mol_charset_decode(\n\t\tbuffer: BufferSource,\n\t\tencoding: $mol_charset_encoding = 'utf8',\n\t) {\n\t\t\n\t\tlet decoder = decoders[ encoding ]\n\t\tif( !decoder ) decoder = decoders[ encoding ] = new TextDecoder( encoding )\n\t\t\n\t\treturn decoder.decode( buffer )\n\t}\n\n}\n","// @ts-ignore\r\nvar $node = $node || {}\r\n","namespace $ {\n\tconst TextEncoder = globalThis.TextEncoder ?? $node.util.TextEncoder\n\n\tconst encoder = new TextEncoder()\n\n\texport function $mol_charset_encode(value: string) {\n\t\treturn encoder.encode(value) as Uint8Array< ArrayBuffer >\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_transaction_mode = 'create' | 'exists_truncate' | 'exists_fail' | 'read_only'\n\t\t| 'write_only' | 'read_write' | 'append'\n\n\texport type $mol_file_transaction_buffer = ArrayBufferView\n\n\texport class $mol_file_transaction extends $mol_object {\n\t\tpath() { return '' }\n\n\t\tmodes() { return [] as readonly $mol_file_transaction_mode[] }\n\n\t\twrite(options: {\n\t\t\tbuffer: ArrayBufferView | string | readonly ArrayBufferView[],\n\t\t\toffset?: number | null,\n\t\t\tlength?: number | null,\n\t\t\tposition?: number | null,\n\t\t}) {\n\t\t\treturn 0\n\t\t}\n\n\t\tread() {\n\t\t\treturn new Uint8Array()\n\t\t}\n\n\t\ttruncate(size: number) {}\n\n\t\tclose() {}\n\n\t\toverride destructor() {\n\t\t\tthis.close()\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_file_transaction_web extends $mol_file_transaction {\n\t\toverride write(options: {\n\t\t\tbuffer: ArrayBufferView | string | readonly ArrayBufferView[],\n\t\t\toffset?: number | null,\n\t\t\tlength?: number | null,\n\t\t\tposition?: number | null,\n\t\t}): number {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t\toverride truncate(size: number) {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t\toverride read(): Buffer< ArrayBuffer > {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t\toverride close() {\n\t\t\tthrow new Error('Not implemented')\n\t\t}\n\n\t}\n\n\t$.$mol_file_transaction = $mol_file_transaction_web\n}\n","namespace $ {\n\n\texport class $mol_file_base extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute(this: This, path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t}) as InstanceType< This >\n\t\t}\n\n\t\tstatic relative(this: This, path : string ) : InstanceType {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\t\t\n\t\tstatic base = ''\n\t\t\n\t\tpath() {\n\t\t\treturn '.'\n\t\t}\n\t\t\n\t\tparent() {\n\t\t\treturn this.resolve( '..' )\n\t\t}\n\n\t\t@ $mol_action\n\t\texists_cut() { return this.exists() }\n\n\t\tprotected root() {\n\t\t\tconst path = this.path()\n\t\t\tconst base = (this.constructor as typeof $mol_file_base).base\n\n\t\t\t// Если путь выше или равен base или если parent такойже как и this - считаем это корнем\n\t\t\treturn base.startsWith(path) || this == this.parent()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tprotected stat(next? : $mol_file_stat | null, virt?: 'virt') {\n\n\t\t\tconst path = this.path()\n\t\t\tconst parent = this.parent()\n\n\t\t\t// Отслеживать проверку наличия родительской папки не стоит до корня диска\n\t\t\t// Лучше ограничить mam-ом\n\t\t\tif ( ! this.root() ) {\n\t\t\t\t/*\n\t\t\t\tЕсли parent папка удалилась, надо ресетнуть все объекты в ней на любой глубине.\n\t\t\t\tНапример, rm -rf с последующим git pull: parent папка может удалиться, потом создасться,\n\t\t\t\tа текущая папка успеет только удалиться до момента выполнения stat.\n\t\t\t\tПоэтому parent.exists() не запустит перевычисления, нужна именно parent.version()\n\n\t\t\t\tОднако, parent.version() меняется не только при удалении, будет ложное срабатывание\n\t\t\t\tС этим придется мириться, красивого решения пока нет.\n\t\t\t\t*/\n\n\t\t\t\tparent.version()\n\t\t\t}\n\t\t\tparent.watcher()\n\n\t\t\tif( virt ) return next ?? null\n\t\t\t\n\t\t\treturn next ?? this.info(path)\n\t\t}\n\n\t\tprotected static changed = new Set<$mol_file_base>\n\n\t\tprotected static frame = null as null | $mol_after_timeout\n\n\t\tprotected static changed_add(type: 'change' | 'rename', path: string) {\n\t\t\tif (/([\\/\\\\]\\.|___$)/.test( path )) return\n\n\t\t\tconst file = this.relative( path.at(-1) === '/' ? path.slice(0, -1) : path )\n\t\t\t// console.log(type, path)\n\n\t\t\t// add (change): добавился файл - у parent надо обновить список sub, если он был заюзан\n\t\t\t// change, unlink (rename): обновился или удалился файл - ресетим\n\t\t\t// addDir (change), добавилась папка, у parent обновляем список директорий в sub\n\t\t\t// дочерние ресетим\n\n\t\t\t// unlinkDir (rename), удалилась папка, ресетим ее\n\t\t\t// stat у всех дочерних обновится сам, т.к. связан с parent.version()\n\t\t\tthis.changed.add(file)\n\n\t\t\tif (! this.watching) return\n\n\t\t\t// throttle, пока события поступают не сбрасываем.\n\t\t\t// аналог awaitWriteFinish из chokidar\n\t\t\t// интервалы между change-сообщениями модифицируемого файла должны быть меньше watch_debounce\n\t\t\tthis.frame?.destructor()\n\t\t\tthis.frame = new this.$.$mol_after_timeout(this.watch_debounce(), () => {\n\t\t\t\tif (! this.watching) return\n\t\t\t\tthis.watching = false\n\t\t\t\t$mol_wire_async(this).flush()\n\t\t\t} )\n\t\t}\n\n\t\t/**\n\t\t * Должно быть больше, чем время между событиями от вотчера при записи внешним процессом.\n\t\t * Иначе запуск ресетов паралельно с изменением может привести к неконсистентности.\n\t\t */\n\t\tstatic watch_debounce() { return 500 }\n\n\t\t@ $mol_action\n\t\tstatic flush() {\n\t\t\t// Пока flush работает, вотчер сюда не заходит, но может добавлять новые изменения\n\t\t\t// на каждом перезапуске они применятся\n\t\t\t// Пока run выполняется, изменения накапливаются, в конце run вызывается flush\n\t\t\t// Пока применяются изменения, run должен ожидать конца flush\n\n\t\t\tfor (const file of this.changed) {\n\t\t\t\tconst parent = file.parent()\n\n\t\t\t\ttry {\n\t\t\t\t\tif ( $mol_wire_probe(() => parent.sub()) ) parent.sub(null)\n\t\t\t\t\tfile.reset()\n\t\t\t\t} catch (error) {\n\t\t\t\t\tif ($mol_fail_catch(error)) $mol_fail_log(error)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tthis.changed.clear()\n\t\t\tthis.watching = true\n\n\t\t\t// this.watch_wd?.destructor()\n\t\t\t// this.watch_wd = null\n\t}\n\n\t\tprotected static watching = true\n\n\t\tprotected static lock = new $mol_lock\n\n\t\t@ $mol_action\n\t\tprotected static watch_off(path: string) {\n\t\t\tthis.watching = false\n\t\t\t// run должен ожидать конца flush\n\t\t\tthis.flush()\n\t\t\tthis.watching = false\n\n\t\t\t/*\n\t\t\twatch запаздывает и событие может прилететь через 3 сек после окончания сайд эффекта\n\t\t\tпоэтому добавляем папку, которую меняет side_effect\n\t\t\tКогда дойдет до выполнения flush, он ресетнет ее\n\t\t\t\n\t\t\tИначе будут лишние срабатывания\n\t\t\tНапример, удалили hyoo/board, watch ресетит и exists начинает отдавать false, срабатывает git clone\n\t\t\tСразу после него событие addDir еще не успело прийти,\n\t\t\tна следующем перезапуске вызывается git pull, т.к.\n\t\t\tс точки зрения реактивной системы hyoo/board еще не существует.\n\t\t\t*/\n\t\t\tthis.changed.add(this.absolute(path))\n\t\t}\n\t\n\t\t// protected static watch_wd = null as null | $mol_after_timeout\n\n\t\tstatic unwatched(side_effect: () => Result, affected_dir: string) {\n\t\t\t// ждем, пока выполнится предыдущий unwatched\n\t\t\tconst unlock = this.lock.grab()\n\t\t\tthis.watch_off(affected_dir)\n\n\t\t\ttry {\n\t\t\t\tconst result = side_effect()\n\t\t\t\tthis.flush()\n\t\t\t\tunlock()\n\t\t\t\treturn result\n\t\t\t} catch(e) {\n\t\t\t\tif (! $mol_promise_like(e)) {\n\t\t\t\t\tthis.flush()\n\t\t\t\t\tunlock()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\n\t\treset() {\n\t\t\tthis.stat( null )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tmodified() { return this.stat()?.mtime ?? null }\n\n\t\t@ $mol_mem\n\t\tversion() {\n\t\t\tconst next = this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t\t// console.log('version', next, this.path())\n\t\t\treturn next\n\t\t}\n\n\t\tprotected info( path: string ) { return null as null | $mol_file_stat }\n\t\tprotected ensure() {}\n\t\tprotected drop() {}\n\t\tprotected copy(to: string) {}\n\t\tprotected read(): Uint8Array { return new Uint8Array }\n\t\tprotected write(buffer: Uint8Array) { }\n\t\tprotected kids() {\n\t\t\treturn [] as readonly this[]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\treadable(opts: { start?: number, end?: number }) {\n\t\t\treturn new ReadableStream>\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\twritable(opts: { start?: number }) {\n\t\t\treturn new WritableStream>\n\t\t}\n\n\t\t// open( ... modes: readonly $mol_file_mode[] ) { return 0 }\n\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ): Uint8Array {\n\n\t\t\t// Если версия пустая - возвращаем пустой буфер\n\t\t\tlet readed: Uint8Array = new Uint8Array()\n\n\t\t\tif( next === undefined ) {\n\t\t\t\t// Если меняется версия файла, буфер надо перечитать\n\t\t\t\tif ( this.version() ) readed = this.read()\n\t\t\t}\n\n\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\tconst changed = prev === undefined || ! $mol_compare_array( prev, next ?? readed)\n\n\t\t\tif( prev !== undefined && changed ) {\n\t\t\t\t// Логируем, если повторно читаем/пишем и буфер поменялся\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tplace: `$mol_file_node.buffer()`,\n\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (next === undefined) return changed ? readed : prev\n\n\t\t\t// Если буфер при записи не поменялся и файл не удаляли перед этим - не записываем новую версию.\n\t\t\t// Если записывать, это приведет к смене mtime и вотчер снова триггернется, даже если содержимое файла не поменялось.\n\n\t\t\t// В этом алгоритме есть изъян.\n\t\t\t// Если файл записали, потом отключили вотчер, кто-то из вне его поменял, потом включили вотчер, снова записали тот же буфер,\n\t\t\t// то буфер не запишется на диск, т.к. кэш не консистентен с диском.\n\t\t\t\n\t\t\tif (! changed && this.exists()) return prev\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\tthis.stat( this.stat_make(next.length), 'virt' )\n\n\t\t\tthis.write(next)\n\n\t\t\treturn next\n\n\t\t}\n\n\t\t@ $mol_action\n\t\tstat_make(size: number) {\n\t\t\tconst now = new Date()\n\t\t\treturn {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t} as const\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tclone(to: string) {\n\t\t\tif (! this.exists() ) return null\n\n\t\t\tconst target = (this.constructor as typeof $mol_file_base).absolute(to) as this\n\n\t\t\ttry {\n\t\t\t\tthis.version()\n\t\t\t\ttarget.parent().exists(true)\n\t\t\t\tthis.copy(to)\n\t\t\t\ttarget.reset()\n\t\t\t\treturn target\n\t\t\t} catch (error) {\n\t\t\t\tif ( $mol_fail_catch(error)) {\n\t\t\t\t\tconsole.error(error)\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\n\t\t// static watch_root = ''\n\n\t\t// static watcher_warned = false\n\t\twatcher() {\n\t\t\t// const constructor = this.constructor as typeof $mol_file_base\n\t\t\t// if (! constructor.watcher_warned) {\n\t\t\t// \tconsole.warn(`${constructor}.watcher() not implemented`)\n\t\t\t// \tconstructor.watcher_warned = true\n\t\t\t// }\n\n\t\t\treturn {\n\t\t\t\tdestructor() {}\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texists( next? : boolean ) {\n\t\t\t\n\t\t\tconst exists = Boolean( this.stat() )\n\n\t\t\t// console.log('exists current', exists, 'next', next, this.path())\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) {\n\t\t\t\tthis.parent().exists( true )\n\t\t\t\tthis.ensure()\n\t\t\t} else {\n\t\t\t\tthis.drop()\n\t\t\t}\n\n\t\t\tthis.reset()\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\treturn this.stat()?.type ?? ''\n\t\t}\n\t\t\n\t\tname() {\n\t\t\treturn this.path().replace( /^.*\\//, '' )\n\t\t}\n\t\t\n\t\text() {\n\t\t\tconst match = /((?:\\.\\w+)+)$/.exec( this.path() )\n\t\t\treturn match ? match[ 1 ].substring( 1 ) : ''\n\t\t}\n\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\t// Если записываем text, и вотчер ресетнул записанный файл,\n\t\t\t// то надо снова его обновить, вызвать логику, которая делала пуш в text.\n\t\t\t// Например файл удалили, потом снова создали, версия поменялась - перезаписываем\n\t\t\t// Если использовать version, то вновь созданный файл, через вотчер запустит свое пересоздание\n\t\t\tif (next !== undefined) this.exists()\n\t\t\treturn this.text_int(next, virt)\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttext_int(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tthis.stat( this.stat_make(0), 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = $mol_charset_encode( next )\n\t\t\t\tthis.buffer( buffer )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub(reset?: null) {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tthis.version()\n\n\t\t\t// Если дочерний file удалился, список надо обновить\n\t\t\treturn this.kids().filter(file => file.exists())\n\t\t}\n\n\t\tresolve(path: string): this {\n\t\t\tthrow new Error('implement')\n\t\t}\n\n\t\trelate( base = ( this.constructor as typeof $mol_file_base ).relative( '.' )): string {\n\t\t\tconst base_path = base.path()\n\t\t\tconst path = this.path()\n\t\t\treturn path.startsWith(base_path) ? path.slice(base_path.length) : path\n\t\t}\n\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as typeof this[]\n\t\t\tconst sub = this.sub()\n\n\t\t\tfor (const child of sub) {\n\t\t\t\tconst child_path = child.path()\n\n\t\t\t\tif( exclude && child_path.match( exclude ) ) continue\n\n\t\t\t\tif( !include || child_path.match( include ) ) found.push( child )\n\n\t\t\t\tif( child.type() === 'dir' ) {\n\t\t\t\t\tconst sub_child = child.find( include , exclude )\n\t\t\t\t\tfor (const child of sub_child) found.push(child)\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn found\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsize() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'file': return this.stat()?.size ?? 0\n\t\t\t\tdefault: return 0\n\t\t\t}\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.path()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\topen( ... modes: readonly $mol_file_transaction_mode[] ) {\n\t\t\treturn this.$.$mol_file_transaction.make({\n\t\t\t\tpath: () => this.path(),\n\t\t\t\tmodes: () => modes\n\t\t\t})\n\t\t}\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_file_type = 'file' | 'dir' | 'link'\n\n\texport interface $mol_file_stat {\n\t\ttype: $mol_file_type\n\t\tsize: number\n\t\tatime: Date\n\t\tmtime: Date\n\t\tctime: Date\n\t}\n\n\texport class $mol_file extends $mol_file_base {}\n\n}\n","namespace $ {\n\n\texport function $mol_dom_parse(\n\t\ttext : string ,\n\t\ttype : DOMParserSupportedType = 'application/xhtml+xml' ,\n\t) {\n\n\t\tconst parser = new $mol_dom_context.DOMParser()\n\t\tconst doc = parser.parseFromString( text , type )\n\t\t\n\t\tconst error = doc.getElementsByTagName( 'parsererror' )\n\t\tif( error.length ) throw new Error( error[0].textContent! )\n\n\t\treturn doc\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_fetch_response extends $mol_object2 {\n\n\t\tconstructor( readonly native : Response ) {\n\t\t\tsuper()\n\t\t}\n\n\t\tstatus() {\n\t\t\tconst types = [ 'unknown', 'inform', 'success', 'redirect', 'wrong', 'failed' ] as const\n\t\t\treturn types[ Math.floor( this.native.status / 100 ) ]\n\t\t}\n\t\t\n\t\tcode() {\n\t\t\treturn this.native.status\n\t\t}\n\t\t\n\t\tmessage() {\n\t\t\treturn this.native.statusText || `HTTP Error ${ this.code() }`\n\t\t}\n\n\t\theaders() {\n\t\t\treturn this.native.headers\n\t\t}\n\n\t\tmime() {\n\t\t\treturn this.headers().get( 'content-type' )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstream() {\n\t\t\treturn this.native.body\n\t\t}\n\n\t\t@ $mol_action\n\t\ttext() {\n\n\t\t\tconst buffer = this.buffer()\n\n\t\t\tconst native = this.native\n\t\t\tconst mime = native.headers.get( 'content-type' ) || ''\n\t\t\tconst [,charset] = /charset=(.*)/.exec( mime ) || [, 'utf-8']\n\t\t\t\n\t\t\tconst decoder = new TextDecoder( charset )\n\t\t\treturn decoder.decode( buffer )\n\n\t\t}\t\n\n\t\tjson() {\n\t\t\treturn $mol_wire_sync( this.native ).json() as unknown\n\t\t}\t\n\n\t\tblob() {\n\t\t\treturn $mol_wire_sync( this.native ).blob()\n\t\t}\n\n\n\t\tbuffer() {\n\t\t\treturn $mol_wire_sync( this.native ).arrayBuffer()\n\t\t}\n\n\t\t@ $mol_action\n\t\txml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\txhtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'application/xhtml+xml' )\n\t\t}\n\n\t\t@ $mol_action\n\t\thtml() {\n\t\t\treturn $mol_dom_parse( this.text() , 'text/html' )\n\t\t}\n\n\t}\n\n\texport class $mol_fetch extends $mol_object2 {\n\t\t\n\t\tstatic request( input : RequestInfo , init : RequestInit = {} ) {\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = fetch( input , {\n\t\t\t\t... init,\n\t\t\t\tsignal: controller!.signal,\n\t\t\t} ).finally( ()=> {\n\t\t\t\tdone = true\n\t\t\t} )\n\t\t\t\n\t\t\treturn Object.assign( promise, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\t// Abort of done request breaks response parsing\n\t\t\t\t\tif( !done && !controller.signal.aborted ) controller.abort()\n\t\t\t\t},\n\t\t\t} )\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic response( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn new $mol_fetch_response( $mol_wire_sync( this ).request( input , init ) )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic success( input: RequestInfo, init?: RequestInit ) {\n\n\t\t\tconst response = this.response( input , init )\n\t\t\tif( response.status() === 'success' ) return response\n\t\t\t\n\t\t\tthrow new Error( response.message(), { cause: response } )\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic stream( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).stream()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic text( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).text()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic json( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).json()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic blob( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).blob()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic buffer( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).buffer()\n\t\t}\t\n\n\t\t@ $mol_action\n\t\tstatic xml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic xhtml( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).xhtml()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic html( input: RequestInfo, init?: RequestInit ) {\n\t\t\treturn this.success( input , init ).html()\n\t\t}\n\n\t}\n\n}\n\n","namespace $ {\n\texport class $mol_file_webdav extends $mol_file_base {\n\t\tstatic override relative(this: This, path : string ) {\n\t\t\treturn this.absolute( new URL( path , this.base ).toString() )\n\t\t}\n\n\t\toverride resolve( path : string ) {\n\t\t\tlet res = this.path() + '/' + path\n\n\t\t\twhile( true ) {\n\t\t\t\tlet prev = res\n\t\t\t\t// foo/../ -> /\n\t\t\t\tres = res.replace( /\\/[^\\/.]+\\/\\.\\.\\// , '/' )\n\t\t\t\tif( prev === res ) break\n\t\t\t}\n\n\t\t\t// http://localhost/.. -> http://localhost\n\t\t\tres = res.replace(/\\/\\.\\.\\/?$/, '')\n\n\t\t\tif (res === this.path()) return this\n\n\t\t\treturn ( this.constructor as typeof $mol_file_base ).absolute( res ) as this\n\t\t}\n\n\t\tstatic headers() { return {} as Record }\n\t\theaders() { return (this.constructor as typeof $mol_file_webdav).headers() }\n\n\t\tprotected fetch(init: RequestInit) {\n\t\t\treturn this.$.$mol_fetch.success(this.path(), {\n\t\t\t\t...init,\n\t\t\t\theaders: {\n\t\t\t\t\t...this.headers(),\n\t\t\t\t\t...init.headers,\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tprotected override read() {\n\t\t\ttry {\n\t\t\t\tconst response = this.fetch({})\n\t\t\t\treturn new Uint8Array(response.buffer()) as Uint8Array\n\t\t\t} catch (error) {\n\t\t\t\tif (\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t&& error.cause instanceof $mol_fetch_response\n\t\t\t\t\t&& error.cause.native.status === 404\n\t\t\t\t) return new Uint8Array\n\n\t\t\t\t$mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\n\t\tprotected override write( body : Uint8Array ) { this.fetch({ method: 'PUT', body }) }\n\t\tprotected override ensure() { this.fetch({ method: 'MKCOL' }) }\n\t\tprotected override drop() { this.fetch({ method: 'DELETE' }) }\n\n\t\tprotected override copy(to: string) {\n\t\t\tthis.fetch({\n\t\t\t\tmethod: 'COPY',\n\t\t\t\theaders: { Destination: to }\n\t\t\t})\n\t\t}\n\n\t\tprotected override kids() {\n\t\t\tconst response = this.fetch({ method: 'PROPFIND' })\n\t\t\tconst xml = response.xml()\n\t\t\tconst result = []\n\n\t\t\tfor (const multistatus of xml.childNodes) {\n\t\t\t\tif (multistatus.nodeName !== 'D:multistatus') continue\n\t\n\t\t\t\tfor (const response of multistatus.childNodes) {\n\t\t\t\t\tlet path\n\t\n\t\t\t\t\tif (response.nodeName === 'D:href') path = response.textContent ?? ''\n\t\n\t\t\t\t\tif (! path ) continue\n\t\t\t\t\tif ( response.nodeName !== 'D:propstat') continue\n\t\n\t\t\t\t\tconst stat = webdav_stat(response)\n\t\n\t\t\t\t\tconst file = this.resolve(path)\n\t\t\t\t\tfile.stat(stat, 'virt')\n\t\t\t\t\tresult.push(file)\n\t\t\t\t}\n\t\t\t}\n\t\n\t\t\treturn result\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\toverride readable( opts: { start?: number; end?: number } ) {\n\t\t\treturn this.fetch({\n\t\t\t\theaders: ! opts.start ? {} : {\n\t\t\t\t\t'Range': `bytes=${opts.start}-${opts.end ?? ''}`\n\t\t\t\t}\n\t\t\t}).stream() as ReadableStream> | null || $mol_fail(new Error('Not found'))\n\t\t}\n\n\t\tprotected override info() {\n\t\t\treturn this.kids().at(0)?.stat() ?? null\n\t\t}\n\t}\n\n\tfunction webdav_stat(prop_stat: ChildNode) {\n\t\tconst now = new Date()\n\t\tconst stat: $mol_file_stat = {\n\t\t\ttype: 'file',\n\t\t\tsize: 0,\n\t\t\tatime: now,\n\t\t\tmtime: now,\n\t\t\tctime: now,\n\t\t}\n\n\t\tfor (const prop of prop_stat.childNodes) {\n\t\t\tif (prop.nodeName !== 'D:prop') continue\n\n\t\t\tfor (const value of prop.childNodes) {\n\t\t\t\tconst name = value.nodeName\n\t\t\t\tconst text = value.textContent ?? ''\n\n\t\t\t\tif (name === 'D:getcontenttype') {\n\t\t\t\t\tstat.type = text.endsWith('directory') ? 'dir' : 'file'\n\t\t\t\t}\n\n\t\t\t\tif (name === 'D:getcontentlength') {\n\t\t\t\t\tstat.size = Number(value.textContent || '0')\n\t\t\t\t\tif (Number.isNaN(stat.size)) stat.size = 0\n\t\t\t\t}\n\n\t\t\t\tif (name === 'D:getlastmodified') stat.mtime = stat.atime = new Date(text)\n\t\t\t\tif (name === 'D:creationdate') stat.ctime = new Date(text)\n\t\t\t}\n\t\t}\n\n\t\treturn stat\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_file_web extends $mol_file_webdav {\n\n\t\tstatic override base = $mol_dom_context.document?.currentScript\n\t\t\t? new URL( '.' , ($mol_dom_context.document.currentScript as any)['src'] ).toString()\n\t\t\t: ''\n\n\t\t// Вотчер выключен, версия всегда будет одна\n\t\t// Если пустая строка - будет считаться, что файла нет\n\t\toverride version() { return '1' }\n\t\t// Ворнинги подавляем, иначе в каждом приложении, загружающим локали, будет ворнинг\n\t\t// override watcher() { return { destructor() {} }}\n\n\t\tprotected override info() {\n\t\t\t// Директории не поддерживаются\n\t\t\ttry {\n\t\t\t\tconst response = this.fetch({ method: 'HEAD' })\n\t\t\t\tconst headers = response.headers()\n\n\t\t\t\tlet size = Number(headers.get('Content-Length'))\n\t\t\t\tif (Number.isNaN(size)) size = 0\n\t\n\t\t\t\tconst last = headers.get('Last-Modified')\n\t\n\t\t\t\tconst mtime = last ? new Date(last) : new Date()\n\t\n\t\t\t\treturn {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize,\n\t\t\t\t\tmtime,\n\t\t\t\t\tatime: mtime,\n\t\t\t\t\tctime: mtime,\n\t\t\t\t} as $mol_file_stat\n\n\t\t\t} catch (error) {\n\t\t\t\tif (\n\t\t\t\t\terror instanceof Error\n\t\t\t\t\t&& error.cause instanceof $mol_fetch_response\n\t\t\t\t\t&& error.cause.native.status === 404\n\t\t\t\t) return null\n\n\t\t\t\t$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t}\n\t\n\t}\n\n\t$.$mol_file = $mol_file_web\n}\n","namespace $ {\n\t\n\texport interface $mol_locale_dict {\n\t\t[ key : string ] : string\n\t}\n\t\n\t/**\n\t * Localisation in $mol framework\n\t * @see https://mol.hyoo.ru/#!section=docs/=s5aqnb_odub8l\n\t */\n\texport class $mol_locale extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang_default() {\n\t\t\treturn 'en'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic lang( next? : string ) {\n\t\t\treturn this.$.$mol_state_local.value( 'locale' , next ) || $mol_dom_context.navigator.language.replace( /-.*/ , '' ) || this.lang_default()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic source( lang : string ) {\n\t\t\treturn JSON.parse( this.$.$mol_file.relative( `web.locale=${ lang }.json` ).text().toString() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic texts( lang : string , next? : $mol_locale_dict ) : $mol_locale_dict {\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn this.source( lang ).valueOf()\n\t\t\t} catch( error: any ) {\n\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\tconst def = this.lang_default()\n\t\t\t\t\tif( lang === def ) throw error\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic text( key : string ): string {\n\t\t\t\n\t\t\tconst lang = this.lang()\n\n\t\t\tconst target = this.texts( lang )[ key ]\n\t\t\tif( target ) return target\n\t\t\t\n\t\t\tthis.warn( key )\n\t\t\t\n\t\t\tconst en = this.texts( 'en' )[ key ]\n\t\t\tif( !en ) return key\n\t\t\t\n\t\t\treturn en\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic warn( key : string ) {\n\t\t\tconsole.warn( `Not translated to \"${ this.lang() }\": ${ key }` )\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_string $mol_view\n\tdom_name \\input\n\tenabled true\n\tminimal_height 40\n\tautocomplete false\n\tselection? /number\n\t\t0\n\t\t0\n\tauto /\n\t\t<= selection_watcher null\n\t\t<= error_report null\n\tfield *\n\t\t^\n\t\tdisabled <= disabled false\n\t\tvalue <= value_changed? <=> value? \\\n\t\tplaceholder <= hint_visible <= hint \\\n\t\tspellcheck <= spellcheck true\n\t\tautocomplete <= autocomplete_native \\\n\t\tselectionEnd <= selection_end 0\n\t\tselectionStart <= selection_start 0\n\t\tinputMode <= keyboard \\text\n\t\tenterkeyhint <= enter \\go\n\tattr *\n\t\t^\n\t\tmaxlength <= length_max +Infinity\n\t\ttype <= type? \\text\n\tevent *\n\t\t^\n\t\tinput?event <=> event_change?event null\n\tplugins /\n\t\t<= Submit $mol_hotkey\n\t\t\tmod_ctrl <= submit_with_ctrl false\n\t\t\tkey * enter?event <=> submit?event null\n","namespace $.$$ {\n\t/**\n\t * An input field for entering single line text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_string_demo\n\t */\n\texport class $mol_string extends $.$mol_string {\n\t\t\n\t\t@ $mol_action\n\t\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\ttry {\n\t\t\t\tel.value = this.value_changed( el.value )\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\tif( to === null ) return \n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\t\t\tthis.selection_change( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\terror_report() {\n\t\t\ttry {\n\t\t\t\tif( this.focused() ) this.value()\n\t\t\t} catch( error ) {\n\t\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\t\tif( error instanceof Error ) {\n\t\t\t\t\tel.setCustomValidity( error.message )\n\t\t\t\t\tel.reportValidity()\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\thint_visible() {\n\t\t\treturn ( this.enabled() ? this.hint() : '' ) || ' '\n\t\t}\n\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\n\t\tautocomplete_native() {\n\t\t\treturn this.autocomplete() ? 'on' : 'off'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tselection_watcher() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\tthis.$.$mol_dom_context.document,\n\t\t\t\t'selectionchange',\n\t\t\t\t$mol_wire_async( event => this.selection_change( event ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t\tselection_change( event: Event ) {\n\t\t\t\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el !== this.$.$mol_dom_context.document.activeElement ) return\n\t\t\t\n\t\t\tconst [ from, to ] = this.selection([\n\t\t\t\tel.selectionStart!,\n\t\t\t\tel.selectionEnd!,\n\t\t\t])\n\t\t\t\n\t\t\tel.selectionEnd = to\n\t\t\tel.selectionStart = from\n\n\t\t\tif( to !== from && el.selectionEnd === el.selectionStart ) {\n\t\t\t\tel.selectionEnd = to\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tselection_start() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionStart == null ) return undefined!\n\t\t\treturn this.selection()[0]\n\t\t}\n\t\t\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( !this.focused() ) return undefined!\n\t\t\tif( el.selectionEnd == null ) return undefined!\n\t\t\treturn this.selection()[1]\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/string/string.view.css\",\n \"[mol_string] {\\n\\tbox-sizing: border-box;\\n\\toutline-offset: 0;\\n\\tborder: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\toverflow: hidden;\\n\\ttext-overflow: ellipsis;\\n\\tpadding: var(--mol_gap_text);\\n\\ttext-align: left;\\n\\tposition: relative;\\n\\tfont: inherit;\\n\\tflex: 1 1 auto;\\n\\tbackground: transparent;\\n\\tmin-width: 0;\\n\\tcolor: inherit;\\n\\tbackground: var(--mol_theme_field);\\n}\\n\\n[mol_string]:disabled:not(:placeholder-shown) {\\n\\tbackground-color: transparent;\\n\\tcolor: var(--mol_theme_text);\\n}\\n\\n[mol_string]:where(:not(:disabled)) {\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_string]:where(:not(:disabled)):hover {\\n\\tbox-shadow: inset 0 0 0 2px var(--mol_theme_line);\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_string]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n\\tcolor: var(--mol_theme_text);\\n\\tbox-shadow: inset 0 0 0 1px var(--mol_theme_focus);\\n}\\n\\n[mol_string]::placeholder {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_string]::-ms-clear {\\n\\tdisplay: none;\\n}\\n\"\n) }","$mol_svg $mol_view\n\tdom_name \\svg\n\tdom_name_space \\http://www.w3.org/2000/svg\n\tfont_size 16\n\tfont_family \\\n\tstyle_size *\n","namespace $ {\n\t\n\t/** State of time moment */\n\texport class $mol_state_time extends $mol_object {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic task( precision: number, reset?: null ): $mol_after_timeout | $mol_after_frame {\n\t\t\t\n\t\t\tif( precision ) {\n\t\t\t\treturn new $mol_after_timeout( precision, ()=> this.task( precision, null ) )\n\t\t\t} else {\n\t\t\t\treturn new $mol_after_frame( ()=> this.task( precision, null ) )\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic now( precision: number ) {\n\t\t\tthis.task( precision )\n\t\t\treturn Date.now()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t/** Base SVG component to display SVG images or icons. */\n\texport class $mol_svg extends $.$mol_svg {\n\t\t@$mol_mem\n\t\tcomputed_style() {\n\t\t\tconst win = this.$.$mol_dom_context\n\t\t\tconst style = win.getComputedStyle(this.dom_node()) as Record\n\n\t\t\tif(!style['font-size']) $mol_state_time.now( 0 )\n\n\t\t\treturn style\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_size(): number {\n\t\t\treturn parseInt(this.computed_style()['font-size']) || 16\n\t\t}\n\n\t\t@$mol_mem\n\t\tfont_family() {\n\t\t\treturn this.computed_style()['font-family']\n\t\t}\n\n\t}\n}\n","$mol_svg_root $mol_svg\n\tdom_name \\svg\n\tattr *\n\t\t^\n\t\tviewBox <= view_box \\0 0 100 100\n\t\tpreserveAspectRatio <= aspect \\xMidYMid\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","$mol_svg_path $mol_svg\n\tdom_name \\path\n\tattr *\n\t\t^\n\t\td <= geometry \\\n\n","$mol_icon $mol_svg_root\n\tview_box \\0 0 24 24\n\tminimal_width 16\n\tminimal_height 16\n\tsub /\n\t\t<= Path $mol_svg_path\n\t\t\tgeometry <= path \\\n","namespace $ { $mol_style_attach( \"mol/icon/icon.view.css\",\n \"[mol_icon] {\\n\\tfill: currentColor;\\n\\tstroke: none;\\n\\twidth: 1em;\\n\\theight: 1.5em;\\n\\tflex: 0 0 auto;\\n\\tvertical-align: top;\\n\\tdisplay: inline-block;\\n\\tfilter: drop-shadow(0px 1px 1px var(--mol_theme_back));\\n\\ttransform-origin: center;\\n}\\n\\n[mol_icon_path] {\\n\\ttransform-origin: center;\\n}\\n\"\n) }","$mol_icon_close $mol_icon path \\M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z\n","$mol_speck $mol_view\n\tminimal_width 12\n\tattr *\n\t\t^\n\t\tmol_theme <= theme \\$mol_theme_accent\n\tstyle *\n\t\t^\n\t\tminHeight \\1em\n\tsub /\n\t\t<= value null\n","namespace $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .75rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.2rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tvertical-align: sub;\\n\\tpadding: 0 .2rem;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: .9;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n\\tbox-shadow: 0 0 3px rgba(0,0,0,.5);\\n}\\n\"\n) }","$mol_button $mol_view\n\tenabled true\n\tclick?event null\n\tevent_click?event null\n\tevent *\n\t\t^\n\t\tclick?event <=> event_activate?event null\n\t\tdblclick?event <=> clicks?event null\n\t\tkeydown?event <=> event_key_press?event null \n\tattr *\n\t\t^\n\t\tdisabled <= disabled false\n\t\trole \\button\n\t\ttabindex <= tab_index 0\n\t\ttitle <= hint_safe <= hint \\\n\tsub /$mol_view_content\n\t\t<= title\n\tSpeck $mol_speck\n\t\tvalue <= error \\\n","namespace $.$$ {\n\t\n\t/**\n\t * Simple button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button extends $.$mol_button {\n\n\t\t@ $mol_mem\n\t\tstatus( next = [ null as any ] ) { return next }\n\t\t\n\t\tdisabled() {\n\t\t\treturn !this.enabled()\n\t\t}\n\t\t\n\t\tevent_activate( next : Event ) {\n\t\t\t\n\t\t\tif( !next ) return\n\t\t\tif( !this.enabled() ) return\n\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.event_click( next )\n\t\t\t\tthis.click( next )\n\t\t\t\tthis.status([ null ])\n\t\t\t\t\n\t\t\t} catch( error: any ) {\n\t\t\t\t\n\t\t\t\tPromise.resolve().then( ()=> this.status([ error ]) )\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tevent_key_press ( event: KeyboardEvent ) { \n\t\t\tif( event.keyCode === $mol_keyboard_code.enter ) {\n\t\t\t\treturn this.event_activate( event )\n\t\t\t}\n\t\t} \n\t\t\n\t\ttab_index() {\n\t\t\treturn this.enabled() ? super.tab_index() : -1\n\t\t}\n\n\t\terror() {\n\n\t\t\tconst [ error ] = this.status()\n\t\t\tif( !error ) return ''\n\n\t\t\tif( error instanceof Promise ) {\n\t\t\t\treturn $mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t\treturn String( error.message ?? error )\n\n\t\t}\n\t\t\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.error() ? [ this.Speck() ] : [] ,\n\t\t\t\t... this.sub() ,\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/button/button.view.css\",\n \"[mol_button] {\\n\\tborder: none;\\n\\tfont: inherit;\\n\\tdisplay: inline-flex;\\n\\tflex-shrink: 0;\\n\\ttext-decoration: inherit;\\n\\tcursor: inherit;\\n\\tposition: relative;\\n\\tbox-sizing: border-box;\\n\\tword-break: normal;\\n\\tcursor: default;\\n\\tuser-select: none;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tbackground: transparent;\\n\\tcolor: inherit;\\n}\\n\\n[mol_button]:where(:not(:disabled)):hover {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_button]:focus {\\n\\toutline: none;\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","$mol_button_typed $mol_button\n\tminimal_height 40\n\tminimal_width 40\n","namespace $ { $mol_style_attach( \"mol/button/typed/typed.view.css\",\n \"[mol_button_typed] {\\n\\talign-content: center;\\n\\talign-items: center;\\n\\tpadding: var(--mol_gap_text);\\n\\tborder-radius: var(--mol_gap_round);\\n\\tgap: var(--mol_gap_space);\\n\\tuser-select: none;\\n\\tcursor: pointer;\\n}\\n\\n[mol_button_typed][disabled] {\\n\\tpointer-events: none;\\n}\\n\\n[mol_button_typed]:hover ,\\n[mol_button_typed]:focus-visible {\\n\\tbox-shadow: inset 0 0 0 10rem var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","$mol_button_minor $mol_button_typed\n","namespace $ { $mol_style_attach( \"mol/button/minor/minor.view.css\",\n \"[mol_button_minor] {\\n\\tcolor: var(--mol_theme_control);\\n}\\n\\n[mol_button_minor][disabled] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\"\n) }","$mol_list $mol_view\n\trender_visible_only true\n\trender_over 0\n\tsub <= rows /$mol_view\n\tEmpty $mol_view\n\tGap_before $mol_view style * paddingTop <= gap_before 0\n\tGap_after $mol_view style * paddingTop <= gap_after 0\n\titem_height_min* 1\n\titem_width_min* 1\n\tview_window /\n\t\t0\n\t\t0\n","namespace $ {\n\n\tlet cache = null as null | boolean\n\texport function $mol_support_css_overflow_anchor( this: $ ) {\n\t\treturn cache ?? (\n\t\t\tcache = this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' ) ?? false\n\t\t)\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * The list of rows with lazy/virtual rendering support based on `minimal_height` of rows.\n\t * `mol_list` should contain only components that inherits `mol_view`. You should not place raw strings or numbers in list.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_list_demo\n\t */\n\texport class $mol_list extends $.$mol_list {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tconst rows = this.rows()\n\t\t\treturn ( rows.length === 0 ) ? [ this.Empty() ] : rows\n\t\t}\n\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tview_window( next?: [ number , number ] ) : [ number , number ] {\n\t\t\t\n\t\t\tconst kids = this.sub()\n\t\t\t\n\t\t\tif( kids.length < 3 ) return [ 0 , kids.length ]\n\t\t\tif( this.$.$mol_print.active() ) return [ 0 , kids.length ]\n\t\t\t\n\t\t\tconst rect = this.view_rect()\n\t\t\tif( next ) return next\n\t\t\t\n\t\t\tlet [ min , max ] = $mol_mem_cached( ()=> this.view_window() ) ?? [ 0 , 0 ]\n\n\t\t\tlet max2 = max = Math.min( max , kids.length )\n\t\t\tlet min2 = min = Math.max( 0 , Math.min( min , max - 1 ) )\n\t\t\t\n\t\t\tconst anchoring = this.render_visible_only()\n\t\t\tconst window_height = this.$.$mol_window.size().height + 40\n\t\t\tconst over = Math.ceil( window_height * this.render_over() )\n\t\t\tconst limit_top = -over\n\t\t\tconst limit_bottom = window_height + over\n\n\t\t\tconst gap_before = $mol_mem_cached( ()=> this.gap_before() ) ?? 0\n\t\t\tconst gap_after = $mol_mem_cached( ()=> this.gap_after() ) ?? 0\n\n\t\t\tlet top = Math.ceil( rect?.top ?? 0 ) + gap_before\n\t\t\tlet bottom = Math.ceil( rect?.bottom ?? 0 ) - gap_after\n\n\t\t\t// change nothing when already covers all limits\n\t\t\tif( top <= limit_top && bottom >= limit_bottom ) {\n\t\t\t\treturn [ min2 , max2 ]\n\t\t\t}\n\n\t\t\t// jumps when fully over limits\n\t\t\tif( anchoring && (( bottom < limit_top )||( top > limit_bottom )) ) {\n\t\t\t\t\n\t\t\t\tmin = 0\n\t\t\t\ttop = Math.ceil( rect?.top ?? 0 )\n\t\t\t\t\n\t\t\t\twhile( min < ( kids.length - 1 ) ) {\n\t\t\t\t\t\n\t\t\t\t\tconst height = this.item_height_min( min )\n\t\t\t\t\tif( top + height >= limit_top ) break\n\t\t\t\t\t\n\t\t\t\t\ttop += height\n\t\t\t\t\t++ min\n\n\t\t\t\t}\n\n\t\t\t\tmin2 = min\n\t\t\t\tmax2 = max = min\n\t\t\t\tbottom = top\n\n\t\t\t}\n\n\t\t\tlet top2 = top\n\t\t\tlet bottom2 = bottom\n\t\t\t\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top < limit_top ) && ( bottom < limit_bottom ) && ( max < kids.length ) ) {\n\t\t\t\tmin2 = max\n\t\t\t\ttop2 = bottom\n\t\t\t}\n\n\t\t\t// force recalc max when overlapse bottom limit\n\t\t\tif( ( bottom > limit_bottom ) && ( top > limit_top ) && ( min > 0 ) ) {\n\t\t\t\tmax2 = min\n\t\t\t\tbottom2 = top\n\t\t\t}\n\n\t\t\t// extend min to cover top limit\n\t\t\twhile( anchoring && (( top2 > limit_top )&&( min2 > 0 )) ) {\n\t\t\t\t-- min2\n\t\t\t\ttop2 -= this.item_height_min( min2 )\n\t\t\t}\n\t\t\t\n\t\t\t// extend max to cover bottom limit\n\t\t\twhile( bottom2 < limit_bottom && max2 < kids.length ) {\n\t\t\t\tbottom2 += this.item_height_min( max2 )\n\t\t\t\t++ max2\n\t\t\t}\n\t\t\t\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\t\t\n\t\titem_height_min( index: number ) {\n\t\t\ttry {\n\t\t\t\treturn this.sub()[ index ]?.minimal_height() ?? 0\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 0\n\t\t\t}\n\t\t}\n\n\t\trow_width_min( index: number ) {\n\t\t\ttry {\n\t\t\t\treturn this.sub()[ index ]?.minimal_width() ?? 0\n\t\t\t} catch( error: any ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 0\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tlet gap = 0\n\t\t\tconst skipped = this.view_window()[0]\n\t\t\tfor( let i = 0; i < skipped; ++ i ) gap += this.item_height_min( i )\n\t\t\treturn gap\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tlet gap = 0\n\t\t\tconst from = this.view_window()[1]\n\t\t\tconst to = this.sub().length\n\t\t\tfor( let i = from; i < to; ++ i ) gap += this.item_height_min( i )\n\t\t\treturn gap\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsub_visible() {\n\t\t\treturn [\n\t\t\t\t... this.gap_before() ? [ this.Gap_before() ] : [],\n\t\t\t\t... this.sub().slice( ... this.view_window() ),\n\t\t\t\t... this.gap_after() ? [ this.Gap_after() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\tlet height = 0\n\t\t\tconst len = this.sub().length\n\t\t\tfor( let i = 0; i < len; ++ i ) height += this.item_height_min( i )\n\t\t\treturn height\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_width() {\n\t\t\tlet width = 0\n\t\t\tconst len = this.sub().length\n\t\t\tfor( let i = 0; i < len; ++ i ) width = Math.max( width, this.item_width_min( i ) )\n\t\t\treturn width\n\t\t}\n\n\t\tforce_render(\n\t\t\tpath : Set< $mol_view >,\n\t\t) {\n\n\t\t\tconst kids = this.rows()\n\n\t\t\tconst index = kids.findIndex( item => path.has( item ) )\n\n\t\t\tif( index >= 0 ) {\n\t\t\t\tconst win = this.view_window()\n\t\t\t\tif( index < win[0] || index >= win[1] ) {\n\t\t\t\t\tthis.view_window([ this.render_visible_only() ? index : 0, index + 1 ])\n\t\t\t\t}\n\t\t\t\t( kids[ index ] as $mol_view ).force_render( path )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/list/list.view.css\",\n \"[mol_list] {\\n\\twill-change: contents;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex-shrink: 0;\\n\\tmax-width: 100%;\\n\\t/* display: flex;\\n\\talign-items: stretch;\\n\\talign-content: stretch; */\\n\\ttransition: none;\\n\\tmin-height: 1.5rem;\\n}\\n\\n[mol_list_gap_before] ,\\n[mol_list_gap_after] {\\n\\tdisplay: block !important;\\n\\tflex: none;\\n\\ttransition: none;\\n\\toverflow-anchor: none;\\n}\\n\"\n) }","$mol_paragraph $mol_view\n\tline_height 24\n\tletter_width 7\n\twidth_limit +Infinity\n\trow_width 0\n\tsub / <= title\n","namespace $.$$ {\n\n\texport class $mol_paragraph extends $.$mol_paragraph {\n\n\t\t@ $mol_mem\n\t\tmaximal_width() {\n\n\t\t\tlet width = 0\n\t\t\tconst letter = this.letter_width()\n\t\t\t\n\t\t\tfor( const kid of this.sub() ) {\n\t\t\t\t\n\t\t\t\tif( !kid ) continue\n\t\t\t\t\n\t\t\t\tif( kid instanceof $mol_view ) {\n\t\t\t\t\twidth += kid.maximal_width()\n\t\t\t\t} else if( typeof kid !== 'object' ) {\n\t\t\t\t\twidth += String( kid ).length * letter\n\t\t\t\t}\n\n\t\t\t}\n\t\t\t\n\t\t\treturn width\n\n\t\t}\n\n\t\twidth_limit() {\n\t\t\treturn this.$.$mol_window.size().width\n\t\t}\n\t\t\n\t\tminimal_width() {\n\t\t\treturn this.letter_width()\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_width() {\n\t\t\treturn Math.max( Math.min( this.width_limit() , this.maximal_width() ) , this.letter_width() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tminimal_height() {\n\t\t\treturn Math.max( 1 , Math.ceil( this.maximal_width() / this.row_width() ) ) * this.line_height()\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/paragraph/paragraph.view.css\",\n \":where([mol_paragraph]) {\\n\\tmargin: 0;\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_dimmer $mol_paragraph\n\thaystack \\\n\tneedle \\\n\tsub <= parts /$mol_view_content\n\tLow* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n\tHigh* $mol_paragraph\n\t\tsub /\n\t\t\t<= string* \\\n","interface String {\n\t\n\tmatch< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.match ]\n\t>\n\t\n matchAll< RE extends RegExp >( regexp: RE ): ReturnType<\n\t\tRE[ typeof Symbol.matchAll ]\n\t>\n\t\n}\n\nnamespace $ {\n\t\n\ttype Groups_to_params = {\n\t\t[P in keyof T]?: T[P] | boolean | undefined;\n\t};\t\n\n\texport type $mol_regexp_source =\n\t| number\n\t| string\n\t| RegExp\n\t| { [ key in string ] : $mol_regexp_source }\n\t| readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\texport type $mol_regexp_groups< Source extends $mol_regexp_source >\n\t\n\t\t= Source extends number\n\t\t? {}\n\t\t\n\t\t: Source extends string\n\t\t? {}\n\t\t\n\t\t: Source extends $mol_regexp_source[]\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in Extract< keyof Source , number > ] : $mol_regexp_groups< Source[ key ] >\n\t\t}[ Extract< keyof Source , number > ] > >\n\t\t\n\t\t: Source extends RegExp\n\t\t? Record< string, string > extends NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\t? {}\n\t\t\t: NonNullable< NonNullable< ReturnType< Source['exec'] > >[ 'groups' ] >\n\t\t\n\t\t: Source extends { readonly [ key in string ] : $mol_regexp_source }\n\t\t? $mol_type_merge< $mol_type_intersect< {\n\t\t\t[ key in keyof Source ] :\n\t\t\t\t$mol_type_merge<\n\t\t\t\t\t& $mol_type_override<\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in Extract< keyof Source , string > ]: string\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treadonly [ k in key ]:\n\t\t\t\t\t\t\t\tSource[ key ] extends string\n\t\t\t\t\t\t\t\t\t? Source[ key ]\n\t\t\t\t\t\t\t\t\t: string\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t& $mol_regexp_groups< Source[ key ] >\n\t\t\t\t>\n\t\t}[ keyof Source ] > >\n\n\t\t: never\n\t\t\n\t/** Type safe reguar expression builder */\n\texport class $mol_regexp< Groups extends Record< string , string > > extends RegExp {\n\t\t\n\t\t/** Prefer to use $mol_regexp.from */\n\t\tconstructor( source : string , flags : string = 'gsu' , readonly groups : ( Extract< keyof Groups , string > )[] = [] ) {\n\t\t\tsuper( source , flags )\n\t\t}\n\t\t\n\t\t*[Symbol.matchAll] (str:string): RegExpStringIterator< RegExpMatchArray & $mol_type_override< RegExpMatchArray, { groups?: { [ key in keyof Groups ] : string } } > > {\n\t\t\tconst index = this.lastIndex\n\t\t\tthis.lastIndex = 0\n\t\t\ttry {\n\t\t\t\twhile ( this.lastIndex < str.length ) {\n\t\t\t\t\tconst found = this.exec(str)\n\t\t\t\t\tif( !found ) break\n\t\t\t\t\tyield found\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\tthis.lastIndex = index\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Parses input and returns found capture groups or null */\n\t\t[ Symbol.match ]( str : string ): null | RegExpMatchArray {\n\t\t\tconst res = [ ... this[Symbol.matchAll]( str ) ].filter( r => r.groups ).map( r => r[0] )\n\t\t\tif( !res.length ) return null\n\t\t\treturn res as RegExpMatchArray\n\t\t}\n\t\t\n\t\t/** Splits string by regexp edges */\n\t\t[ Symbol.split ]( str : string ): string[] {\n\t\t\t\n\t\t\tconst res = [] as string[]\n\t\t\tlet token_last = null\n\t\t\t\n\t\t\tfor( let token of this[Symbol.matchAll]( str ) ) {\n\t\t\t\tif( token.groups && ( token_last ? token_last.groups : true ) ) res.push( '' )\n\t\t\t\tres.push( token[0] )\n\t\t\t\ttoken_last = token\n\t\t\t}\n\t\t\t\n\t\t\tif( !res.length ) res.push( '' )\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttest( str : string ): boolean {\n\t\t\treturn Boolean( str.match( this) )\n\t\t}\n\t\t\n\t\texec( str : string ): RegExpExecArray & $mol_type_override< RegExpExecArray , { groups?: { [ key in keyof Groups ] : string } } > | null {\n\t\t\t\n\t\t\tconst from = this.lastIndex\n\t\t\tif( from >= str.length ) return null\n\t\t\t\n\t\t\tconst res = super.exec( str )\n\t\t\tif( res === null ) {\n\t\t\t\tthis.lastIndex = str.length\n\t\t\t\tif( !str ) return null\n\t\t\t\treturn Object.assign( [ str.slice( from ) ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: str,\n\t\t\t\t} ) as any\n\t\t\t}\n\n\t\t\tif( from === this.lastIndex ) {\n\t\t\t\t$mol_fail( new Error( 'Captured empty substring' ) )\n\t\t\t}\n\n\t\t\ttype Token = { [ key in keyof Groups ] : string } & { [ key : number ] : string }\n\t\t\tconst groups = {} as Token\n\t\t\t\n\t\t\tconst skipped = str.slice( from , this.lastIndex - res[0].length )\n\t\t\tif( skipped ) {\n\t\t\t\tthis.lastIndex = this.lastIndex - res[0].length\n\t\t\t\treturn Object.assign( [ skipped ], {\n\t\t\t\t\tindex: from,\n\t\t\t\t\tinput: res.input,\n\t\t\t\t} ) as any\n\t\t\t}\n\t\t\t\n\t\t\tfor( let i = 0 ; i < this.groups.length ; ++i ) {\n\t\t\t\tconst group = this.groups[ i ]\n\t\t\t\tgroups[ group ] = groups[ group ] || res[ i + 1 ] || '' as any\n\t\t\t}\n\n\t\t\treturn Object.assign( res, { groups } )\n\t\t}\n\t\t\n\t\tgenerate(\n\t\t\tparams: Groups_to_params< Groups >\n\t\t): string | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget native() {\n\t\t\treturn new RegExp( this.source, this.flags )\n\t\t}\n\n\t\t/** Makes regexp that non-greedy repeats this pattern from min to max count */\n\t\tstatic repeat<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}?`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\n\t\t}\n\n\t\t/** Makes regexp that greedy repeats this pattern from min to max count */\n\t\tstatic repeat_greedy<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\tmin = 0 ,\n\t\t\tmax = Number.POSITIVE_INFINITY ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\t\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\tconst upper = Number.isFinite( max ) ? max : ''\n\t\t\t\n\t\t\tconst str = `(?:${ regexp.source }){${ min },${ upper }}`\n\t\t\tconst regexp2 = new $mol_regexp( str , regexp.flags , regexp.groups )\n\t\t\t\n\t\t\tregexp2.generate = params => {\n\t\t\t\tconst res = regexp.generate( params )\n\t\t\t\tif( res ) return res\n\t\t\t\tif( min > 0 ) return res\n\t\t\t\treturn ''\n\t\t\t}\n\t\n\t\t\treturn regexp2\n\t\t}\n\n\t\t/** Makes regexp that match any of options */\n\t\tstatic vary<\n\t\t\tSources extends readonly $mol_regexp_source[]\n\t\t>(\n\t\t\tsources : Sources ,\n\t\t) {\n\t\t\t\n\t\t\tconst groups = [] as string[]\n\t\t\t\n\t\t\tconst chunks = sources.map( source => {\n\n\t\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\n\t\t\t\treturn regexp.source\n\n\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\t\t\t\n\t\t\treturn new $mol_regexp< $mol_regexp_groups< Sources[number] > >(\n\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t'' ,\n\t\t\t\tgroups as any[] ,\n\t\t\t)\n\t\t\t\n\t\t}\n\n\t\t/** Makes regexp that allow absent of this pattern */\n\t\tstatic optional<\n\t\t\tSource extends $mol_regexp_source\n\t\t>( source : Source ) {\n\t\t\treturn $mol_regexp.repeat_greedy( source , 0 , 1 )\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic force_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?=${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Makes regexp that look ahead for pattern */\n\t\tstatic forbid_after( source : $mol_regexp_source ) {\n\n\t\t\tconst regexp = $mol_regexp.from( source )\n\t\t\t\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`(?!${ regexp.source })` ,\n\t\t\t\tregexp.flags ,\n\t\t\t\tregexp.groups ,\n\t\t\t)\n\n\t\t}\n\n\t\t/** Converts some js values to regexp */\n\t\tstatic from<\n\t\t\tSource extends $mol_regexp_source\n\t\t>(\n\t\t\tsource : Source ,\n\t\t\t{ ignoreCase , multiline } : Partial< Pick< RegExp , 'ignoreCase' | 'multiline' > > = {\n\t\t\t\tignoreCase : false ,\n\t\t\t\tmultiline : false ,\n\t\t\t} ,\n\t\t) : $mol_regexp< $mol_regexp_groups< Source > > {\n\n\t\t\tlet flags = 'gsu'\n\t\t\tif( multiline ) flags += 'm'\n\t\t\tif( ignoreCase ) flags += 'i'\n\n\t\t\tif( typeof source === 'number' ) {\n\n\t\t\t\tconst src = `\\\\u{${ source.toString(16) }}`\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> src\n\t\t\t\treturn regexp\n\n\t\t\t} if( typeof source === 'string' ) {\n\n\t\t\t\tconst src = source.replace( /[.*+?^${}()|[\\]\\\\]/g , '\\\\$&' ) \n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >( src , flags )\n\t\t\t\tregexp.generate = ()=> source\n\t\t\t\treturn regexp\n\n\t\t\t} else if( source instanceof $mol_regexp ) {\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( source.source, flags, source.groups )\n\t\t\t\tregexp.generate = params => source.generate( params )\n\t\t\t\treturn regexp\n\t\t\t\t\n\t\t\t} if( source instanceof RegExp ) {\n\n\n\t\t\t\tconst test = new RegExp( '|' + source.source )\n\t\t\t\tconst groups = Array.from(\n\t\t\t\t\t{ length : test.exec('')!.length - 1 } ,\n\t\t\t\t\t( _ , i )=> String( i + 1 ) ,\n\t\t\t\t)\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\tsource.source ,\n\t\t\t\t\tsource.flags ,\n\t\t\t\t\tgroups as any ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tregexp.generate = ()=> ''\n\n\t\t\t\treturn regexp\n\n\t\t\t} if( Array.isArray( source ) ) {\n\n\t\t\t\tconst patterns = source.map( src => Array.isArray( src )\n\t\t\t\t\t? $mol_regexp.optional( src as any )\n\t\t\t\t\t: $mol_regexp.from( src )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst chunks = patterns.map( pattern => pattern.source )\n\t\t\t\t\n\t\t\t\tconst groups = [] as ( Extract< keyof $mol_regexp_groups< Source > , string > )[]\n\n\t\t\t\tlet index = 0\n\t\t\n\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\n\t\t\t\t\tfor( let group of pattern.groups ) {\n\t\t\t\t\t\tif( Number( group ) >= 0 ) {\n\t\t\t\t\t\t\tgroups.push( String( index ++ ) as any )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tgroups.push( group )\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst regexp = new $mol_regexp( chunks.join( '' ) , flags , groups )\n\t\t\t\t\n\t\t\t\tregexp.generate = params => {\n\t\t\t\t\tlet res = ''\n\t\t\t\t\tfor( const pattern of patterns ) {\n\t\t\t\t\t\tlet sub = pattern.generate( params )\n\t\t\t\t\t\tif( sub === null ) return ''\n\t\t\t\t\t\tres += sub\n\t\t\t\t\t}\n\t\t\t\t\treturn res\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\t\t\n\t\t\t} else {\n\n\t\t\t\tconst groups = [] as string[]\n\n\t\t\t\tconst chunks = Object.keys( source ).map( name => {\n\n\t\t\t\t\tgroups.push( name )\n\n\t\t\t\t\tconst regexp = $mol_regexp.from( (source as any)[ name ] )\n\t\t\t\t\tgroups.push( ... regexp.groups )\n\t\t\t\t\t\n\t\t\t\t\treturn `(${regexp.source})`\n\n\t\t\t\t} ) as any as readonly[ $mol_regexp_source , ... $mol_regexp_source[] ]\n\n\t\t\t\tconst regexp = new $mol_regexp< $mol_regexp_groups< Source > >(\n\t\t\t\t\t`(?:${ chunks.join('|') })` ,\n\t\t\t\t\tflags ,\n\t\t\t\t\tgroups as any[] ,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tconst validator = new RegExp( '^' + regexp.source + '$', flags )\n\t\t\t\tregexp.generate = (params: any) => {\n\t\t\t\t\t\n\t\t\t\t\tfor( let option in source ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( option in params ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( typeof params[ option ] === 'boolean' ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( !params[ option as any ] ) continue\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst str = String( params[ option ] )\n\t\t\t\t\t\t\t\tif( str.match( validator ) ) return str\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t$mol_fail( new Error( `Wrong param: ${option}=${str}` ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif( typeof (source as any)[ option ] !== 'object' ) continue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst res = $mol_regexp.from( (source as any)[ option ] ).generate( params )\n\t\t\t\t\t\tif( res ) return res\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn regexp\n\n\t\t\t}\n\t\n\t\t}\n\n\t\t/** Makes regexp which includes only unicode category */\n\t\tstatic unicode_only( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\p{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\t/** Makes regexp which excludes unicode category */\n\t\tstatic unicode_except( ... category: $mol_unicode_category ) {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`\\\\P{${ category.join( '=' ) }}`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_range(\n\t\t\tfrom: number,\n\t\t\tto: number,\n\t\t): $mol_regexp<{}> {\n\t\t\treturn new $mol_regexp(\n\t\t\t\t`${ $mol_regexp.from( from ).source }-${ $mol_regexp.from( to ).source }`\n\t\t\t)\n\t\t}\n\n\t\tstatic char_only(\n\t\t\t... allowed: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = allowed.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[${ regexp }]` )\n\t\t}\n\n\t\tstatic char_except(\n\t\t\t... forbidden: readonly [ $mol_regexp_source, ... $mol_regexp_source[] ]\n\t\t): $mol_regexp<{}> {\n\t\t\tconst regexp = forbidden.map( f => $mol_regexp.from( f ).source ).join('')\n\t\t\treturn new $mol_regexp( `[^${ regexp }]` )\n\t\t}\n\t\t\n\t\tstatic decimal_only = $mol_regexp.from( /\\d/gsu )\n\t\tstatic decimal_except = $mol_regexp.from( /\\D/gsu )\n\t\t\n\t\tstatic latin_only = $mol_regexp.from( /\\w/gsu )\n\t\tstatic latin_except = $mol_regexp.from( /\\W/gsu )\n\t\t\n\t\tstatic space_only = $mol_regexp.from( /\\s/gsu )\n\t\tstatic space_except = $mol_regexp.from( /\\S/gsu )\n\t\t\n\t\tstatic word_break_only = $mol_regexp.from( /\\b/gsu )\n\t\tstatic word_break_except = $mol_regexp.from( /\\B/gsu )\n\t\t\n\t\tstatic tab = $mol_regexp.from( /\\t/gsu )\n\t\tstatic slash_back = $mol_regexp.from( /\\\\/gsu )\n\t\tstatic nul = $mol_regexp.from( /\\0/gsu )\n\t\t\n\t\tstatic char_any = $mol_regexp.from( /./gsu )\n\t\tstatic begin = $mol_regexp.from( /^/gsu )\n\t\tstatic end = $mol_regexp.from( /$/gsu )\n\t\tstatic or = $mol_regexp.from( /|/gsu )\n\t\t\n\t\tstatic line_end = $mol_regexp.from({\n\t\t\twin_end: [ [ '\\r' ], '\\n' ],\n\t\t\tmac_end: '\\r',\n\t\t})\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * Output text with dimmed mismatched substrings.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_dimmer_demo\n\t */\n\texport class $mol_dimmer extends $.$mol_dimmer {\n\t\t\n\t\tparts() {\n\t\t\tconst needle = this.needle()\n\t\t\tif( needle.length < 2 ) return [ this.haystack() ]\n\t\t\t\n\t\t\tlet chunks : any[] = []\n\t\t\tlet strings = this.strings()\n\t\t\t\n\t\t\tfor( let index = 0 ; index < strings.length ; index++ ) {\n\t\t\t\tif( strings[ index ] === '' ) continue\n\t\t\t\t\n\t\t\t\tchunks.push( ( index % 2 ) ? this.High( index ) : this.Low( index ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstrings() {\n\t\t\t\n\t\t\tconst options = this.needle().split( /\\s+/g ).filter( Boolean )\n\t\t\tif( !options.length ) return [ this.haystack() ]\n\t\t\t\n\t\t\tconst variants = { ... options } as Record< number, string >\n\t\t\tconst regexp = $mol_regexp.from( { needle: variants } , { ignoreCase: true } )\n\t\t\t\n\t\t\treturn this.haystack().split( regexp )\n\t\t}\n\t\t\n\t\tstring( index: number ) {\n\t\t\treturn this.strings()[ index ]\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.haystack() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/dimmer/dimmer.view.css\",\n \"[mol_dimmer] {\\n\\tdisplay: block;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_dimmer_low] {\\n\\tdisplay: inline;\\n\\topacity: 0.8;\\n}\\n\\n[mol_dimmer_high] {\\n\\tdisplay: inline;\\n\\tcolor: var(--mol_theme_focus);\\n\\ttext-shadow: 0 0;\\n}\\n\"\n) }","$mol_search $mol_pop\n\tquery? \\\n\tsuggests /string\n\tplugins /$mol_plugin\n\t\t^\n\t\t<= Hotkey $mol_hotkey\n\t\t\tkey * escape? <=> clear? null\n\t\t<= Nav $mol_nav\n\t\t\tkeys_y <= nav_components /$mol_view\n\t\t\tcurrent_y?component <=> nav_focused?component null\n\tshowed? <=> suggests_showed? false\n\talign_hor \\right\n\tAnchor $mol_view\n\t\tsub <= anchor_content /\n\t\t\t<= Query $mol_string\n\t\t\t\tvalue? <=> query? \\\n\t\t\t\thint <= hint @ \\Search...\n\t\t\t\tsubmit?event <=> submit?event null\n\t\t\t\tenabled <= enabled true\n\t\t\t\tkeyboard <= keyboard \\search\n\t\t\t\tenter <= enter \\search\n\t\t\t\tbring => bring\n\t\t\t<= Clear $mol_button_minor\n\t\t\t\thint @ \\Clear\n\t\t\t\tenabled <= enabled true\n\t\t\t\tclick?event <=> clear?event null\n\t\t\t\tsub /\n\t\t\t\t\t<= Clear_icon $mol_icon_close\n\tbubble_content /$mol_view_content\n\t\t<= Bubble_pane $mol_scroll\n\t\t\tsub /\n\t\t\t\t<= Menu $mol_list\n\t\t\t\t\trows <= menu_items /$mol_view\n\tSuggest* $mol_button_minor\n\t\tclick?event <=> suggest_select*?event null\n\t\tsub <= suggest_content* /$mol_view_content\n\t\t\t<= Suggest_label* $mol_dimmer\n\t\t\t\thaystack <= suggest_label* \\\n\t\t\t\tneedle <= query? \\\n","\n\t\t()\n\t\t\tthis\n\t\t\t[] \\$\n\t\t\t[] \\$mol_locale\n\t\t\t[] \\text\n\t\t\t(,) #key\n\t","namespace $.$$ {\n\t\n\t/**\n\t * Search input with suggest and clear button.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_search_demo\n\t */\n\texport class $mol_search extends $.$mol_search {\n\t\t\n\t\t@ $mol_mem\n\t\tanchor_content() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.query() ? [ this.Clear() ] : [],\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsuggests_showed( next = true ) {\n\t\t\t\n\t\t\tthis.query()\n\t\t\t\n\t\t\tif( !this.focused() ) return false\n\n\t\t\treturn next\n\t\t}\n\n\t\tsuggest_selected( next? : string ) {\n\t\t\t\n\t\t\tif( next === undefined ) return\n\t\t\t\n\t\t\tthis.query( next )\n\t\t\tthis.Query().focused( true )\n\t\t\t\n\t\t}\n\t\t\n\t\tnav_components() {\n\t\t\treturn [\n\t\t\t\tthis.Query(),\n\t\t\t\t... this.menu_items(),\n\t\t\t]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnav_focused( component? : $mol_view ) {\n\t\t\t\n\t\t\tif( !this.focused() ) return null\n\t\t\t\n\t\t\tif( component == null ) {\n\t\t\t\t\n\t\t\t\tfor( let comp of this.nav_components() ) {\n\t\t\t\t\tif( comp && comp.focused() ) return comp\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\t\t\t\n\t\t\tif( this.suggests_showed() ) {\n\t\t\t\tthis.ensure_visible( component, \"center\" )\n\t\t\t\tcomponent.focused( true )\n\t\t\t}\n\t\t\t\n\t\t\treturn component\n\t\t}\n\t\t\n\t\tsuggest_label( key: string ) {\n\t\t\treturn key\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmenu_items() {\n\t\t\treturn this.suggests().map( ( suggest : string ) => this.Suggest( suggest ) )\n\t\t}\n\t\t\n\t\tsuggest_select( id : string , event? : MouseEvent ) {\n\t\t\tthis.query( id )\n\t\t\tthis.Query().selection([ id.length, id.length ])\n\t\t\tthis.Query().focused( true )\n\t\t}\n\t\t\n\t\tclear( event? : Event ) {\n\t\t\tthis.query( '' )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/search/search.view.css\",\n \"[mol_search] {\\n\\talign-self: flex-start;\\n\\tflex: auto;\\n}\\n\\n[mol_search_anchor] {\\n\\tflex: 1 1 auto;\\n}\\n\\n[mol_search_query] {\\n\\tflex-grow: 1;\\n}\\n\\n[mol_search_menu] {\\n\\tmin-height: .75rem;\\n\\tdisplay: flex;\\n}\\n\\n[mol_search_suggest] {\\n\\ttext-align: left;\\n}\\n\\n[mol_search_suggest_label_high] {\\n\\tcolor: var(--mol_theme_shade);\\n\\ttext-shadow: none;\\n}\\n\"\n) }","$mol_link $mol_view\n\turi \\\n\tdom_name \\a\n\turi_off \\\n\turi_native null\n\texternal false\n\tattr *\n\t\t^\n\t\thref <= uri_toggle \\\n\t\ttitle <= hint_safe <= hint \\\n\t\ttarget <= target \\_self\n\t\tdownload <= file_name \\\n\t\tmol_link_current <= current false\n\t\trel <= relation \\\n\tsub /$mol_view_content\n\t\t<= title\n\targ *\n\tevent *\n\t\t^\n\t\tclick?event <=> click?event <=> event_click?event null\n","namespace $ {\n\n\t/** State of arguments like `#foo=bar/xxx` or `?foo=bar&xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next?: string ) {\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\t\n\t\t\t\tnext = $mol_dom_context.location.href\n\t\t\t\t\n\t\t\t} else if( !/^about:srcdoc/.test( next ) ) {\n\t\t\t\t\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\t\n\t\t\t\t\tconst next = this.href()\n\t\t\t\t\tconst prev = $mol_dom_context.location.href\n\t\t\t\t\tif( next === prev ) return\n\t\t\t\t\t\n\t\t\t\t\tconst history = $mol_dom_context.history\n\t\t\t\t\thistory.replaceState( history.state, $mol_dom_context.document.title, next )\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_dom_context.parent !== $mol_dom_context.self ) {\n\t\t\t\t$mol_dom_context.parent.postMessage( [ 'hashchange', next ], '*' )\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal(): string {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_absolute(): string {\n\t\t\treturn new URL( this.href(), $mol_dom_context.location.href ).toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\t\n\t\t\tvar href = this.href( next && this.make_link( next ) ).split( /#!?/ )[1] || ''\n\t\t\tvar chunks = href.split( this.separator )\n\t\t\t\n\t\t\tvar params : { [ key : string ] : string } = {}\n\t\t\tchunks.forEach(\n\t\t\t\tchunk => {\n\t\t\t\t\tif( !chunk ) return\n\t\t\t\t\tvar vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t)\n\t\t\t\n\t\t\treturn params as Readonly< typeof params >\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic dict_cut( except : string[] ) {\n\t\t\t\n\t\t\tconst dict = this.dict()\n\t\t\tconst cut : { [ key : string ] : string } = {}\n\t\t\t\n\t\t\tfor( const key in dict ) {\n\t\t\t\tif( except.indexOf( key ) >= 0 ) break\n\t\t\t\tcut[ key ] = dict[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn cut\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tconst nextDict = ( next === void 0 ) ? void 0 : { ... this.dict() , [ key ] : next }\n\t\t\tconst next2 = this.dict( nextDict )[ key ]\n\t\t\treturn ( next2 == null ) ? null : next2\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\treturn this.make_link({\n\t\t\t\t... this.dict_cut( Object.keys( next ) ),\n\t\t\t\t... next,\n\t\t\t})\n\t\t}\n\t\t\n\t\tstatic prolog = '!'\n\t\tstatic separator = '/'\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic make_link( next : { [ key : string ] : string | null } ) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( let key in next ) {\n\t\t\t\tif( null == next[ key ] ) continue\n\t\t\t\tconst val = next[ key ]\n\t\t\t\tchunks.push( [ key ].concat( val ? [ val ] : [] ).map( this.encode ).join( '=' ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn new URL( '#' + this.prolog + chunks.join( this.separator ) , this.href_absolute() ).toString()\n\t\t}\n\n\t\t@ $mol_action\n\t\tstatic commit() {\n\t\t\t$mol_dom.history.pushState(\n\t\t\t\t$mol_dom.history.state,\n\t\t\t\t$mol_dom.document.title,\n\t\t\t\tthis.href(),\n\t\t\t)\n\t\t}\n\t\t\n\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\t$mol_dom_context.location.href = this.link( next )\n\t\t}\n\t\t\n\t\tstatic encode( str : string ) {\n\t\t\treturn encodeURIComponent( str ).replace( /\\(/g , '%28' ).replace( /\\)/g , '%29' )\n\t\t}\n\t\t\n\t\tconstructor( public prefix = '' ) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tvalue( key : string , next? : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).value( this.prefix + key , next )\n\t\t}\n\t\t\n\t\tsub( postfix : string ) {\n\t\t\treturn new ( this.constructor as typeof $mol_state_arg )( this.prefix + postfix + '.' )\n\t\t}\n\t\t\n\t\tlink( next : Record ) {\n\t\t\tvar prefix = this.prefix\n\t\t\tvar dict : typeof next = {}\n\t\t\tfor( var key in next ) {\n\t\t\t\tdict[ prefix + key ] = next[ key ]\n\t\t\t}\n\t\t\treturn ( this.constructor as typeof $mol_state_arg ).link( dict )\n\t\t}\n\t\t\n\t}\n\n\tfunction $mol_state_arg_change( ) {\n\t\t$mol_state_arg.href( $mol_dom_context.location.href )\n\t}\n\n\tself.addEventListener( 'hashchange' , $mol_state_arg_change )\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Dynamic hyperlink. It can add, change or remove parameters. A link that leads to the current page has [mol_link_current] attribute set to true.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_link_demo\n\t */\n\texport class $mol_link extends $.$mol_link {\n\t\t\n\t\t@ $mol_mem\n\t\turi_toggle() {\n\t\t\treturn this.current() ? this.uri_off() : this.uri()\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( this.arg() )\n\t\t}\n\n\t\t@ $mol_mem\n\t\turi_off() {\n\t\t\tconst arg2: Record = {}\n\t\t\tfor( let i in this.arg() ) arg2[i] = null\n\t\t\t\n\t\t\treturn new this.$.$mol_state_arg( this.state_key() ).link( arg2 )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_native() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\treturn new URL( this.uri() , base )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent() {\n\n\t\t\tconst base = this.$.$mol_state_arg.href_normal()\n\t\t\tconst target = this.uri_native().toString()\n\n\t\t\tif( base === target ) return true\n\t\t\t\n\t\t\tconst args = this.arg() as Record\n\t\t\t\n\t\t\tconst keys = Object.keys( args ).filter( key => args[ key ] != null )\n\t\t\tif( keys.length === 0 ) return false\n\n\t\t\tfor( const key of keys ) {\n\t\t\t\tif( this.$.$mol_state_arg.value( key ) != args[ key ] ) return false\n\t\t\t}\n\n\t\t\treturn true\n\t\t}\n\n\t\tfile_name() {\n\t\t\treturn null as unknown as string\n\t\t}\n\n\t\tminimal_height() {\n\t\t\treturn Math.max( super.minimal_height(), 24 )\n\t\t}\n\t\t\n\t\texternal() {\n\t\t\treturn this.uri_native().origin !== $mol_dom_context.location.origin\n\t\t}\n\t\t\n\t\ttarget(): '_self' | '_blank' | '_top' | '_parent' | string {\n\t\t\treturn this.external() ? '_blank' : '_self'\n\t\t}\n\n\t\thint_safe() {\n\t\t\ttry {\n\t\t\t\treturn this.hint()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn ''\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_link , {\n\t\t\n\t\ttextDecoration: 'none',\n\t\tcolor: $mol_theme.control,\n\t\tstroke: 'currentcolor',\n\t\tcursor: 'pointer',\n\t\tpadding: $mol_gap.text,\n\t\tboxSizing: 'border-box',\n\t\tposition: 'relative',\n\t\tminWidth: rem(2.5),\n\t\tgap: $mol_gap.space,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\t':hover': {\n\t\t\t\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t},\n\t\t\t\n\t\t},\n\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t},\n\n\t\t':focus-visible': {\n\t\t\toutline: 'none',\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.hover,\n\t\t\t}\n\t\t},\n\t\t\n\t\t':active': {\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\n\t\t'@': {\n\t\t\tmol_link_current: {\n\t\t\t\t'true': {\n\t\t\t\t\tcolor: $mol_theme.current,\n\t\t\t\t\ttextShadow: '0 0',\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\n\t} )\n\n}\n","$mol_page $mol_view\n\tdom_name \\article\n\tattr *\n\t\t^\n\t\ttabIndex <= tabindex -1\n\tsub /\n\t\t<= Head $mol_view\n\t\t\tminimal_height 64\n\t\t\tdom_name \\header\n\t\t\tsub <= head /\n\t\t\t\t<= Title $mol_view\n\t\t\t\t\tdom_name \\h1\n\t\t\t\t\tsub <= title_content /\n\t\t\t\t\t\t<= Logo null\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools $mol_view\n\t\t\t\t\tsub <= tools /$mol_view_content\n\t\t<= Body $mol_scroll\n\t\t\tscroll_top? => body_scroll_top?\n\t\t\tsub <= body_content /\n\t\t\t\t<= Body_content $mol_view\n\t\t\t\t\tsub <= body /$mol_view\n\t\t<= Foot $mol_view\n\t\t\tdom_name \\footer\n\t\t\tsub <= foot /$mol_view\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { hsla, blur } = $mol_style_func\n\n\t$mol_style_define( $mol_page , {\n\n\t\tdisplay: 'flex' ,\n\t\tflex: {\n\t\t\tbasis: 'auto' ,\n\t\t\tdirection: 'column' ,\n\t\t},\n\t\tposition: 'relative' ,\n\t\talignSelf: 'stretch' ,\n\t\tmaxWidth: per(100) ,\n\t\tmaxHeight: per(100) ,\n\t\tboxSizing: 'border-box' ,\n\t\tcolor: $mol_theme.text ,\n\t\t// backdropFilter: blur( `3px` ), enforces layering\n\t\t// zIndex: 0 ,\n\t\t\n\t\t':focus': {\n\t\t\toutline: 'none',\n\t\t} ,\n\n\t\tHead: {\n\t\t\tdisplay: 'flex' ,\n\t\t\tflexWrap: 'wrap' ,\n\t\t\tjustifyContent: 'flex-end' ,\n\t\t\tflex: 'none',\n\t\t\tposition: 'relative' ,\n\t\t\tmargin: 0 ,\n\t\t\tminHeight: rem(4),\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 2,\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tbox: {\n\t\t\t\t\t\tshadow: [[ 0, `1px`, 0, 0, hsla( 0, 0, 0, .25 ) ]],\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tTitle: {\n\n\t\t\tminHeight: rem(2),\n\t\t\tmargin: 0,\n\t\t\tpadding: $mol_gap.text,\n\t\t\tgap: $mol_gap.text,\n\t\t\twordBreak: 'normal',\n\t\t\ttextShadow: '0 0',\n\n\t\t\tfont: {\n\t\t\t\tsize: 'inherit',\n\t\t\t\tweight: 'normal',\n\t\t\t},\n\t\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: 'auto',\n\t\t\t},\n\n\t\t},\n\n\t\tTools: {\n\t\t\t\n\t\t\tflex: {\n\t\t\t\tbasis: 'auto',\n\t\t\t\tgrow: 0,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'flex-end',\n\t\t\talignItems: 'flex-start',\n\t\t\tflexWrap: 'wrap',\n\n\t\t\t'@media': {\n\t\t\t\t'print': {\n\t\t\t\t\tdisplay: 'none',\n\t\t\t\t},\n\t\t\t},\n\n\t\t},\n\n\t\tBody: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1000,\n\t\t\t\tshrink: 1,\n\t\t\t\tbasis: per(100),\n\t\t\t},\n\t\t},\n\t\t\n\t\tBody_content: {\n\t\t\tpadding: $mol_gap.block ,\n\t\t\tflex: {\n\t\t\t\tdirection: 'column',\n\t\t\t\tshrink: 1,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tjustify: {\n\t\t\t\tself: 'stretch',\n\t\t\t},\n\t\t},\n\t\t\n\t\tFoot: {\n\t\t\tdisplay: 'flex',\n\t\t\tjustifyContent: 'space-between',\n\t\t\tflex: 'none',\n\t\t\tmargin: 0,\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card ,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [\n\t\t\t\t\t[ 0, `-0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t\t[ 0, `0.5rem`, `0.5rem`, `-0.5rem`, hsla( 0, 0, 0, .25 ) ],\n\t\t\t\t],\n\t\t\t},\n\t\t\tzIndex: 1,\n\t\t\tpadding: $mol_gap.block ,\n\t\t\t':empty': {\n\t\t\t\tdisplay: 'none',\n\t\t\t},\n\t\t},\t\n\n\t} )\n\t\n}\n","$mol_book2_catalog $mol_book2\n\tparam \\\n\tspread? \\\n\tspreads *\n\tSpread* $mol_view\n\tSpread_default null\n\tspread_ids /string\n\tmenu_filter_enabled false\n\tspread_ids_filtered /string\n\tspread_current null\n\tmenu_tools /\n\taddon_tools /\n\tpages /\n\t\t<= Menu $mol_page\n\t\t\tTitle => Menu_title\n\t\t\ttitle <= menu_title \\\n\t\t\tTools => Menu_tools\n\t\t\tLogo <= Menu_logo null\n\t\t\ttools /\n\t\t\t\t^ menu_tools\n\t\t\t\t^ addon_tools\n\t\t\thead <= menu_head /$mol_view_content\n\t\t\t\t<= Menu_title\n\t\t\t\t<= Menu_tools\n\t\t\tbody <= menu_body /$mol_view\n\t\t\t\t<= Menu_filter $mol_search\n\t\t\t\t\tquery? <=> menu_filter? \\\n\t\t\t\t<= Menu_links $mol_list\n\t\t\t\t\tEmpty <= Menu_links_empty $mol_view\n\t\t\t\t\trows <= menu_links /$mol_view\n\t\t\t\t\t\t<= Menu_item*0 $mol_view\n\t\t\t\t\t\t\tsub <= menu_item_content* /$mol_view\n\t\t\t\t\t\t\t\t<= Menu_link* $mol_link\n\t\t\t\t\t\t\t\t\targ <= menu_link_arg* <= arg* *\n\t\t\t\t\t\t\t\t\tsub <= menu_link_content* /$mol_view_content\n\t\t\t\t\t\t\t\t\t\t<= Menu_link_title* $mol_dimmer\n\t\t\t\t\t\t\t\t\t\t\tneedle <= menu_filter\n\t\t\t\t\t\t\t\t\t\t\thaystack <= spread_title* \\\n\t\t\tfoot <= menu_foot /$mol_view\n\tSpread_close $mol_link\n\t\targ <= spread_close_arg *\n\t\thint @ \\Close page\n\t\tsub /\n\t\t\t<= Spread_close_icon $mol_icon_close\n","namespace $ {\n\n\texport function $mol_match_text< Variant >( query : string , values : ( variant : Variant )=> readonly string[] ) {\n\t\tconst tags = query.toLowerCase().trim().split( /\\s+/ ).filter( tag => tag )\n\n\t\tif( tags.length === 0 ) return ()=> true\n\t\t\n\t\treturn ( variant : Variant )=> {\n\t\t\tconst vals = values( variant )\n\t\t\treturn tags.every( tag => vals.some( val => val.toLowerCase().indexOf( tag ) >= 0 ) )\n\t\t}\n\t}\n\n}\n","namespace $.$$ {\n\n\t/**\n\t * Variant of [mol_book2](../book2.view.ts) which draws menu in side bar on opens one of taken spreads.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_book2_catalog_demo\n\t */\n\texport class $mol_book2_catalog extends $.$mol_book2_catalog {\n\t\t\n\t\tspread_current() {\n\t\t\treturn this.spread() === '' ? this.Spread_default() : this.Spread(this.spread())\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpages() {\n\t\t\tconst spread = this.spread_current()\n\t\t\treturn [\n\t\t\t\tthis.Menu(),\n\t\t\t\t... spread\n\t\t\t\t\t? spread instanceof $mol_book2\n\t\t\t\t\t\t? spread.pages_deep()\n\t\t\t\t\t\t: [ spread ]\n\t\t\t\t\t: [],\n\t\t\t]\n\t\t}\n\n\t\toverride auto() {\n\t\t\tconst spread = this.spread_current()\n\t\t\tif (spread instanceof $mol_book2) spread.auto()\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride spread_ids(): readonly string[] {\n\t\t\treturn Object.keys( this.spreads() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride menu_body() {\n\t\t\treturn [\n\t\t\t\t... this.menu_filter_enabled() ? [ this.Menu_filter() ] : [],\n\t\t\t\tthis.Menu_links(),\n\t\t\t]\n\t\t}\n\n\t\toverride menu_filter_enabled() {\n\t\t\treturn this.spread_ids().length >= 10\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride menu_links() {\n\t\t\treturn this.spread_ids_filtered()\n\t\t\t\t.map( spread => this.Menu_item( spread ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride spread_ids_filtered() {\n\t\t\treturn this.spread_ids()\n\t\t\t\t.filter( $mol_match_text( this.menu_filter(), spread => [ this.spread_title( spread ) ] ) )\n\t\t}\n\t\t\n\t\toverride Spread(id: string): $mol_view {\n\t\t\treturn this.spreads()[ id ]\n\t\t}\n\n\t\toverride Spread_default() {\n\t\t\treturn this.spreads()['']\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\toverride spread( next?: string ) {\n\t\t\treturn this.$.$mol_state_arg.value( this.param(), next ) ?? ''\n\t\t}\n\t\t\n\t\toverride arg( spread: string ) {\n\t\t\treturn { [ this.param() ]: spread || null }\n\t\t}\n\t\t\n\t\toverride spread_close_arg() {\n\t\t\treturn { [ this.param() ]: null }\n\t\t}\n\t\t\n\t\toverride spread_title( spread: string ) {\n\t\t\tconst page = this.Spread( spread )\n\t\t\treturn page instanceof $mol_book2\n\t\t\t\t&& page.menu_title()\n\t\t\t\t|| page.title()\n\t\t\t\t|| spread\n\t\t}\n\n\t\tspread_current_book() {\n\t\t\tconst spread = this.spread_current()\n\t\t\treturn spread instanceof $mol_book2 ? spread : null\n\t\t}\n\n\t\t@ $mol_mem\n\t\toverride placeholders() {\n\t\t\tconst spread_placeholders = this.spread_current_book()?.placeholders() ?? []\n\t\t\treturn spread_placeholders.length ? spread_placeholders : super.placeholders()\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\t$mol_style_define( $mol_book2_catalog, {\n\t\t\n\t\tMenu_filter: {\n\t\t\tflex: {\n\t\t\t\tshrink: 0,\n\t\t\t\tgrow: 0,\n\t\t\t},\n\t\t\talignSelf: 'stretch',\n\t\t},\n\t\t\n\t\tMenu_item: {\n\t\t\talign: {\n\t\t\t\titems: 'flex-start',\n\t\t\t},\n\t\t},\n\t\t\n\t\tMenu_link: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t\twrap: 'wrap',\n\t\t\t},\n\t\t},\n\t\t\n\t})\n\n}\n","$mol_theme_auto $mol_plugin\n\tlight \\$mol_theme_light\n\tattr * mol_theme <= theme <= dark \\$mol_theme_dark\n","namespace $ {\n\t\n\texport class $mol_media extends $mol_object2 {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic match( query: string, next?: boolean ) {\n\t\t\t\n\t\t\tif( next !== undefined ) return next\n\t\t\t\n\t\t\tconst res = this.$.$mol_dom_context.matchMedia?.( query ) ?? {}\n\t\t\tres.onchange = ()=> this.match( query, res.matches )\n\t\t\t\n\t\t\treturn res.matches\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tfunction parse( theme: string | null ) {\n\t\tif( theme === 'true' ) return true\n\t\tif( theme === 'false' ) return false\n\t\treturn null\n\t}\n\t\n\t/**\n\t * Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport function $mol_lights( this : $ , next? : boolean ) {\n\t\t\n\t\tconst arg = parse( this.$mol_state_arg.value( 'mol_lights' ) )\n\t\t\n\t\tconst base = this.$mol_media.match( '(prefers-color-scheme: light)' )\n\t\t\n\t\tif( next === undefined ) {\n\t\t\treturn arg ?? this.$mol_state_local.value< boolean >( '$mol_lights' ) ?? base\n\t\t} else {\n\t\t\tif( arg === null ) {\n\t\t\t\tthis.$mol_state_local.value( '$mol_lights' , next === base ? null : next )\n\t\t\t} else {\n\t\t\t\tthis.$mol_state_arg.value( 'mol_lights' , String( next ) )\n\t\t\t}\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\n\t/**\n\t * The [plugin](../../plugin/readme.md) which defines theme based on [mol_lights](../../lights/readme.md).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_theme_auto extends $.$mol_theme_auto {\n\n\t\ttheme() {\n\t\t\treturn this.$.$mol_lights() ? this.light() : this.dark()\n\t\t}\n\n\t}\n}\n","$mol_check $mol_button_minor\n\tattr *\n\t\t^\n\t\tmol_check_checked <= checked? false\n\t\taria-checked <= aria_checked \\false\n\t\trole <= aria_role \\checkbox\n\tsub /$mol_view_content\n\t\t<= Icon null\n\t\t<= label /\n\t\t\t<= Title $mol_view\n\t\t\t\tsub /\n\t\t\t\t\t<= title \\\n","namespace $ { $mol_style_attach( \"mol/check/check.css\",\n \"[mol_check] {\\n\\tflex: 0 0 auto;\\n\\tjustify-content: flex-start;\\n\\talign-content: center;\\n\\t/* align-items: flex-start; */\\n\\tborder: none;\\n\\tfont-weight: inherit;\\n\\tbox-shadow: none;\\n\\ttext-align: left;\\n\\tdisplay: inline-flex;\\n\\tflex-wrap: nowrap;\\n}\\n\\n[mol_check_title] {\\n\\tflex-shrink: 1;\\n}\\n\"\n) }","namespace $.$$ {\n\n\t/**\n\t * Checkbox UI component. See Variants for more concrete implementations.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_box_demo\n\t */\n\texport class $mol_check extends $.$mol_check {\n\n\t\tclick( next? : Event ) {\n\t\t\tif( next?.defaultPrevented ) return\n\t\t\tthis.checked( !this.checked() )\n\t\t\tif( next ) next.preventDefault()\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... $mol_maybe( this.Icon() ) ,\n\t\t\t\t... this.label() ,\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\n\t\tlabel() {\n\t\t\treturn this.title() ? super.label() : []\n\t\t}\n\t\t\n\t\taria_checked() {\n\t\t\treturn String( this.checked() )\n\t\t}\n\n\t}\n}\n","$mol_check_icon $mol_check\n","namespace $ { $mol_style_attach( \"mol/check/icon/icon.view.css\",\n \"[mol_check_icon]:where([mol_check_checked]) {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\"\n) }","$mol_icon_brightness_4 $mol_icon path \\M12,18C11.11,18 10.26,17.8 9.5,17.45C11.56,16.5 13,14.42 13,12C13,9.58 11.56,7.5 9.5,6.55C10.26,6.2 11.11,6 12,6A6,6 0 0,1 18,12A6,6 0 0,1 12,18M20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31L23.31,12L20,8.69Z\n","$mol_lights_toggle $mol_check_icon\n\tIcon <= Lights_icon $mol_icon_brightness_4\n\thint @ \\Toggle lights\n\tchecked? <=> lights? false\n","namespace $.$$ {\n\t/**\n\t * Toggle for Switcher between light/dark themes (usually for `mol_theme_auto` plugin).\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_lights_demo\n\t */\n\texport class $mol_lights_toggle extends $.$mol_lights_toggle {\n\t\tlights( next? : boolean ) {\n\t\t\treturn this.$.$mol_lights( next )\n\t\t}\n\t}\n}\n","$mol_chip $mol_view\n\tminimal_height 40\n\tattr *\n\t\t^\n\t\ttitle <= hint \\\n\tsub /\n\t\t<= title\n","namespace $.$$ {\n\t\n\t$mol_style_define( $mol_chip, {\n\t\t\n\t\tpadding: $mol_gap.text,\n\t\t\n\t\tborder: {\n\t\t\tradius: $mol_gap.round,\n\t\t},\n\n\t\tbackground: {\n\t\t\tcolor: $mol_theme.card,\n\t\t},\n\t\t\n\t\tgap: $mol_gap.block,\n\t\t\n\t} )\n\t\n}\n","$mol_icon_plus $mol_icon path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n","$mol_gallery $mol_view\n\tsub <= items /$mol_view\n\tSide* $mol_gallery\n\t\tstyle *\n\t\t\tflexGrow <= side_size* \\1\n\t\titems <= side_items* /$mol_view\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_gallery_demo\n\t */\n\texport class $mol_gallery extends $.$mol_gallery {\n\t\t\n\t\t@ $mol_mem\n\t\tsub(): readonly $mol_view[] {\n\t\t\t\n\t\t\tconst items = this.items()\n\t\t\tif( items.length <= 3 ) return items\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Side(0),\n\t\t\t\tthis.Side(1),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tside_items( id: number ) {\n\t\t\tconst items = this.items()\n\t\t\tconst middle = items.length % 2\n\t\t\t\t? Math.ceil( items.length / 3 )\n\t\t\t\t: items.length / 2\n\t\t\treturn id\n\t\t\t\t? items.slice( middle )\n\t\t\t\t: items.slice( 0, middle )\n\t\t}\n\t\t\n\t\tside_size( id: number ) {\n\t\t\treturn String( this.side_items( id ).length )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/gallery/gallery.view.css\",\n \"[mol_gallery] {\\n\\tflex-wrap: wrap;\\n\\tflex: 1 1 auto;\\n\\talign-items: stretch;\\n align-content: stretch;\\n}\\n\"\n) }","$hd_canary_app_monitor $mol_page\n\ttitle @ \\Мониторы\n\ttargets? *\n\ttarget_result*? 1\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\thead /\n\t\t<= Status_total $mol_chip title <= status_total \\\n\t\t<= Title\n\t\t<= Add $mol_view sub /\n\t\t\t<= Add_url $mol_string\n\t\t\t\thint @ \\URL\n\t\t\t\tvalue? <=> add_url? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_title $mol_string\n\t\t\t\thint @ \\Title\n\t\t\t\tvalue? <=> add_title? \\\n\t\t\t\tsubmit? <=> add_submit? null\n\t\t\t<= Add_submit $mol_button_minor\n\t\t\t\thint @ \\Add\n\t\t\t\tclick? <=> add_submit? null\n\t\t\t\tsub /\n\t\t\t\t\t<= Add_submit_icon $mol_icon_plus\n\t\t<= Tools\n\tbody /\n\t\t<= Target_list $mol_gallery items <= target_list /\n\t\t\t<= Target*0 $mol_list rows <= target_rows* /\n\t\t\t\t<= Target_main* $mol_view sub /\n\t\t\t\t\t<= Target_status* $mol_view\n\t\t\t\t\t\tsub / <= target_status* \\\n\t\t\t\t\t<= Target_url* $mol_link\n\t\t\t\t\t\ttitle <= target_title* \\\n\t\t\t\t\t\turi <= target_url* \\\n\t\t\t\t\t<= Target_remove* $mol_button_minor\n\t\t\t\t\t\tclick <=> target_remove* null\n\t\t\t\t\t\tsub / <= Target_remove_icon* $mol_icon_close\n\t\t\t\t<= Target_message* $mol_view\n\t\t\t\t\tsub / <= target_message*? \\\n\t\t\t\t<= Target_moment* $mol_view\n\t\t\t\t\tsub / <= target_moment*? <= waiting_hint @ \\Waiting...\n","namespace $ {\n\texport enum $mol_rest_code {\n\t\n\t\tContinue = 100,\n\t\tSwitching_Protocols = 101,\n\t\tProcessing = 102,\n\t\t\n\t\tOK = 200,\n\t\tCreated = 201,\n\t\tAccepted = 202,\n\t\tNon_Authoritative_Information = 203,\n\t\tNo_Content = 204,\n\t\tReset_Content = 205,\n\t\tPartial_Content = 206,\n\t\tMulti_Status = 207,\n\t\tAlready_Reported = 208,\n\t\tIM_Used = 226,\n\t\t\n\t\tMultiple_Choices = 300,\n\t\tMoved_Permanently = 301,\n\t\tFound = 302,\n\t\tSee_Other = 303,\n\t\tNot_Modified = 304,\n\t\tUse_Proxy = 305,\n\t\tTemporary_Redirect = 307,\n\t\t\n\t\tBad_Request = 400,\n\t\tUnauthorized = 401,\n\t\tPayment_Required = 402,\n\t\tForbidden = 403,\n\t\tNot_Found = 404,\n\t\tMethod_Not_Allowed = 405,\n\t\tNot_Acceptable = 406,\n\t\tProxy_Authentication_Required = 407,\n\t\tRequest_Timeout = 408,\n\t\tConflict = 409,\n\t\tGone = 410,\n\t\tLength_Required = 411,\n\t\tPrecondition_Failed = 412,\n\t\tRequest_Entity_Too_Large = 413,\n\t\tRequest_URI_Too_Long = 414,\n\t\tUnsupported_Media_Type = 415,\n\t\tRequested_Range_Not_Satisfiable = 416,\n\t\tExpectation_Failed = 417,\n\t\tTeapot = 418,\n\t\tUnprocessable_Entity = 422,\n\t\tLocked = 423,\n\t\tFailed_Dependency = 424,\n\t\tUpgrade_Required = 426,\n\t\tPrecondition_Required = 428,\n\t\tToo_Many_Requests = 429,\n\t\tRequest_Header_Fields_Too_Large = 431,\n\t\tUnavailable_For_Legal_Reasons = 451,\n\t\t\n\t\tInternal_Server_Error = 500,\n\t\tNot_Implemented = 501,\n\t\tBad_Gateway = 502,\n\t\tService_Unavailable = 503,\n\t\tGateway_Timeout = 504,\n\t\tHTTP_Version_Not_Supported = 505,\n\t\tInsufficient_Storage = 507,\n\t\tLoop_Detected = 508,\n\t\tNot_Extended = 510,\n\t\tNetwork_Authentication_Required = 511,\n\t\tNetwork_Read_Timeout_Error = 598,\n\t\tNetwork_Connect_Timeout_Error = 599,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_dom_serialize(\n\t\tnode: Node\n\t) {\n\t\tconst serializer = new $mol_dom_context.XMLSerializer\n\t\treturn serializer.serializeToString( node )\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_rest_port_mime_hi =\n\t\t| 'text' | 'application' | 'font'\n\t\t| 'audio' | 'video' | 'image' | 'model'\n\t\n\texport type $mol_rest_port_mime = `${ $mol_rest_port_mime_hi }/${ string }`\n\t\n\texport class $mol_rest_port extends $mol_object {\n\t\t\n\t\tsend_code( code: $mol_rest_code ) {}\n\t\tsend_type( mime: $mol_rest_port_mime ) {}\n\t\t\n\t\t@ $mol_action\n\t\tsend_data( data: null | string | Uint8Array< ArrayBuffer > | Element | object ) {\n\t\t\tif( data === null ) return this.send_nil()\n\t\t\tif( typeof data === 'string' ) return this.send_text( data )\n\t\t\tif( data instanceof Uint8Array ) return this.send_bin( data )\n\t\t\tif( data instanceof $mol_dom_context.Element ) return this.send_dom( data )\n\t\t\treturn this.send_json( data )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_nil() {\n\t\t\tthis.send_code( 204 )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_bin( data: Uint8Array< ArrayBuffer > ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'application/octet-stream' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_text( data: string ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'text/plain;charset=utf-8' )\n\t\t\tthis.send_bin( $mol_charset_encode( data ) )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_json( data: object ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'application/json' )\n\t\t\tthis.send_text( JSON.stringify( data ) )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_dom( data: Element ) {\n\t\t\tthis.send_code( 200 )\n\t\t\tthis.send_type( 'text/html;charset=utf-8' )\n\t\t\tthis.send_text( $mol_dom_serialize( data ) )\n\t\t}\n\t\t\n\t\t@ $mol_action< any, any >\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.make( config ) as InstanceType< This >\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\ttype $mol_data_tagged_type< Value, Tag extends PropertyKey > = Value & { [ Key in Tag ]: Value }\n\t\n\ttype $mol_data_tagged_parser< Input, Output > = {\n\t\tValue: Output\n\t} & (\n\t\t( val: $mol_data_tagged_type< Input, never > )=> Output\n\t)\n\n\t/**\n\t * Checks for given runtype and returns tagged version of returned type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_tagged_demo\n\t */\n\texport function $mol_data_tagged<\n\t\tConfig extends Record< string, $mol_data_value >,\n\t>(\n\t\tconfig: Config\n\t) {\n\t\treturn config as any as {\n\t\t\t[ Type in keyof Config ]: $mol_data_tagged_parser<\n\t\t\t\tParameters< Config[ Type ] >[0],\n\t\t\t\t$mol_data_tagged_type< ReturnType< Config[ Type ] >, Type >\n\t\t\t>\n\t\t}\n\t}\n\n}\n","namespace $ {\n\texport function $mol_base64_encode(src: string | Uint8Array): string {\n\t\tthrow new Error('Not implemented')\n\t}\n}\n","namespace $ {\n\n\tfunction binary_string(bytes: Uint8Array | string): string {\n\t\tlet binary = ''\n\t\tif (typeof bytes !== 'string') {\n\t\t\tfor (const byte of bytes) binary += String.fromCharCode( byte )\n\t\t} else {\n\t\t\tbinary = unescape(encodeURIComponent(bytes))\n\t\t}\n\n\t\treturn binary\n\t}\n\n\texport function $mol_base64_encode_web(str: string | Uint8Array): string {\n\t\treturn $mol_dom_context.btoa(binary_string(str))\n\t}\n\n\t$.$mol_base64_encode = $mol_base64_encode_web\n}\n","namespace $ {\n\texport function $mol_base64_decode(base64: string): Uint8Array< ArrayBuffer > {\n\t\tthrow new Error('Not implemented')\n\t}\n}\n","namespace $ {\n\n\texport function $mol_base64_decode_web(base64Str: string): Uint8Array< ArrayBuffer > {\n\t\treturn new Uint8Array($mol_dom_context.atob(base64Str).split('').map(c => c.charCodeAt(0)))\n\t}\n\n\t$.$mol_base64_decode = $mol_base64_decode_web\n}\n","namespace $ {\n\t\n\texport function $mol_base64_ae_encode( buffer: Uint8Array ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, 'æ' ).replace( /\\//g, 'Æ' ).replace( /=/g, '' )\n\t}\n\t\n\texport function $mol_base64_ae_decode( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /æ/g, '+' ).replace( /Æ/g, '/' ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport const { $hyoo_crus_ref } = $mol_data_tagged({ $hyoo_crus_ref: ( val: string | symbol )=> {\n\t\tif( typeof val === 'string' ) val = Symbol.for( val.replace( /_+$/, '' ) )\n\t\tif( /^(([a-zæA-ZÆ0-9]{8})?_){0,3}([a-zæA-ZÆ0-9]{8})?$/.test( val.description! ) ) return val\n\t\t$mol_fail( new Error( `Wrong ref (${ val.description! })` ) )\n\t} })\n\t\n\t/** Reference to Lord/Land/Node. May be absolute or relative. */\n\texport type $hyoo_crus_ref = typeof $hyoo_crus_ref.Value\n\n\t/** returns string if it's valid ref or return empty string */\n\texport function $hyoo_crus_ref_check( val: string ) {\n\t\ttry {\n\t\t\t$hyoo_crus_ref( val )\n\t\t\treturn val\n\t\t} catch {\n\t\t\treturn ''\n\t\t}\n\t}\n\t\n\t/** Lord ref of any ref */\n\texport function $hyoo_crus_ref_lord( ref: $hyoo_crus_ref ) {\n\t\treturn $hyoo_crus_ref( ref.description!.split( '_' ).slice( 0, 2 ).join( '_' ) )\n\t}\n\n\t/** Land ref of any ref */\n\texport function $hyoo_crus_ref_land( ref: $hyoo_crus_ref ) {\n\t\treturn $hyoo_crus_ref( ref.description!.split( '_' ).slice( 0, 3 ).join( '_' ).replace( /_$/, '' ) )\n\t}\n\n\t/** Peer part of Ref */\n\texport function $hyoo_crus_ref_peer( ref: $hyoo_crus_ref ) {\n\t\treturn ref.description!.split( '_' )[ 0 ] ?? ''\n\t}\n\t\n\t/** Area part of Node Ref */\n\texport function $hyoo_crus_ref_area( ref: $hyoo_crus_ref ) {\n\t\treturn ref.description!.split( '_' )[ 2 ] ?? ''\n\t}\n\n\t/** Head part of Node Ref */\n\texport function $hyoo_crus_ref_head( ref: $hyoo_crus_ref ) {\n\t\treturn ref.description!.split( '_' )[ 3 ] ?? ''\n\t}\n\n\t/** Encode to binary (12/18/24 bytes) */\n\texport function $hyoo_crus_ref_encode( ref: $hyoo_crus_ref ) {\n\t\treturn $mol_base64_ae_decode(\n\t\t\t( ref.description! || '_' )\n\t\t\t\t.split( '_' )\n\t\t\t\t.map( numb => numb || 'AAAAAAAA' )\n\t\t\t\t.join( '' )\n\t\t)\n\t}\n\n\t/** Read from binary (12/18 bytes) */\n\texport function $hyoo_crus_ref_decode( bin: Uint8Array ) {\n\t\treturn $hyoo_crus_ref(\n\t\t\t[ ... $mol_base64_ae_encode( bin ).match( /(.{8})/g ) ?? [] ]\n\t\t\t\t.map( numb => numb === 'AAAAAAAA' ? '' : numb )\n\t\t\t\t.join( '_' ).replace( /_+$/, '' )\n\t\t)\n\t}\n\n\t/** Make Node Ref relative to base Land: `___QWERTYUI` */\n\texport function $hyoo_crus_ref_relate( base: $hyoo_crus_ref, ref: $hyoo_crus_ref ) {\n\t\tbase = $hyoo_crus_ref_land( base )\n\t\tif( $hyoo_crus_ref_land( ref ) !== base ) return ref\n\t\tconst head = $hyoo_crus_ref_head( ref )\n\t\treturn $hyoo_crus_ref( head ? '___' + head : '' )\n\t}\n\n\t/** Make absolute Node Ref from relative (`___QWERTYUI`) using base Land Ref. */\n\texport function $hyoo_crus_ref_resolve( base: $hyoo_crus_ref, ref: $hyoo_crus_ref ) {\n\t\t\n\t\tif( !ref.description ) return $hyoo_crus_ref_land( base )\n\t\tif( !ref.description!.startsWith( '___' ) ) return ref\n\t\t\n\t\tconst parts = base.description!.split( '_' ).slice( 0, 3 )\n\t\twhile( parts.length < 3 ) parts.push( '' )\n\t\tparts.push( ref.description!.slice( 3 ) )\n\t\t\n\t\treturn $hyoo_crus_ref( parts.join( '_' ) )\n\t}\t\n\n}\n","namespace $ {\n\t/** Reactive Set */\n\texport class $mol_wire_set< Value > extends Set< Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( value: Value ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( value )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, value2: Value, set: Set< Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tadd( value: Value ) {\n\t\t\tif( super.has( value ) ) return this\n\t\t\tsuper.add( value )\n\t\t\tthis.pub.emit()\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( value: Value ) {\n\t\t\tconst res = super.delete( value )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\n\t\t// Extensions\n\t\t\n\t\titem( val: Value, next?: boolean ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.has( val )\n\t\t\t\n\t\t\tif( next ) this.add( val )\n\t\t\telse this.delete( val )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crus_part {\n\t\t\n\t\t/** Land header for the following parts. */\n\t\tland = 0b0000_0011,\n\t\t/** Land face. */\n\t\tface = 0b0000_1011,\n\t\t\n\t\t/** Public key. First writes wins. */\n\t\tpass = 0b1111_1111,\n\t\t/** Rights/Keys sharing. Last writes wins. */\n\t\tgift = 0b1111_0111,\n\t\t\n\t\t/** Changeable data. Last writes wins. */\n\t\tsand = 0b0000_1000,\n\t\t\n\t\t/** Blob response. */\n\t\trock = 0b0000_0101,\n\t\t\n\t\t/** B+Tree root bucket. */\n\t\troot = 0b0000_0001,\n\t\t/** B+Tree branch bucket. */\n\t\tbuck = 0b0000_1001,\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_buffer extends DataView< ArrayBuffer > {\n\t\t\n\t\t[ Symbol.toStringTag ] = this.constructor.name + '<>'\n\t\t\n\t\tstatic from<\n\t\t\tThis extends typeof $mol_buffer\n\t\t>(\n\t\t\tthis: This,\n\t\t\tarray: number | string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\tif( typeof array === 'number' ) array = new Uint8Array( array )\n\t\t\tif( typeof array === 'string' ) array = $mol_base64_ae_decode( array )\n\t\t\treturn new this( array.buffer, array.byteOffset, array.byteLength ) as InstanceType< This >\n\t\t}\n\t\t\n\t\tstatic toString() {\n\t\t\treturn $$.$mol_func_name( this )\n\t\t}\n\n\t\tgetUint48( offset: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\treturn this.getUint16( offset, LE ) + this.getUint32( offset + 2, LE ) * 2**16\n\t\t\t} else {\n\t\t\t\treturn this.getUint32( offset, LE ) + this.getUint16( offset + 4, LE ) * 2**32\n\t\t\t}\n\t\t}\n\t\t\n\t\tsetUint48( offset: number, value: number, LE = false ) {\n\t\t\tif( offset % 4 ) {\n\t\t\t\tthis.setUint16( offset, value & ( (1<<16) - 1 ), LE )\n\t\t\t\tthis.setUint32( offset + 2, ( value / 2**16 )|0, LE )\n\t\t\t} else {\n\t\t\t\tthis.setUint32( offset, value |0, LE )\n\t\t\t\tthis.setUint16( offset + 4, ( value / 2**32 )|0, LE )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** 1-byte signed integer channel for offset. */\n\t\tint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt8( offset )\n\t\t\tif( next >= -(2**7) && next < 2**7 ) return this.setInt8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong int8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 1-byte unsigned integer channel for offset. */\n\t\tuint8( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint8( offset )\n\t\t\tif( next >= 0 && next < 2**8 ) return this.setUint8( offset, next ), next\n\t\t\t$mol_fail( new Error( `Wrong uint8 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte signed integer little-endian channel for offset. */\n\t\tint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt16( offset, true )\n\t\t\tif( next >= -(2**15) && next < 2**15 ) return this.setInt16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 2-byte unsigned integer little-endian channel for offset. */\n\t\tuint16( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint16( offset, true )\n\t\t\tif( next >= 0 && next < 2**16 ) return this.setUint16( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint16 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 4-byte signed integer little-endian channel for offset. */\n\t\tint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getInt32( offset, true )\n\t\t\tif( next >= -(2**31) && next < 2**31 ) return this.setInt32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int32 value ${ next }` ) )\n\t\t}\n\t\n\t\t/** 4-byte unsigned integer little-endian channel for offset. */\n\t\tuint32( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint32( offset, true )\n\t\t\tif( next >= 0 && next < 2**32 ) return this.setUint32( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint32 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte signed integer little-endian channel for offset. */\n\t\tint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigInt64( offset, true )\n\t\t\tif( next >= -(2n**63n) && next < 2n**63n ) return this.setBigInt64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong int64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 6-byte unsigned integer little-endian channel for offset. */\n\t\tuint48( offset: number, next?: number ) {\n\t\t\tif( next === undefined ) return this.getUint48( offset, true )\n\t\t\tif( next >= 0 && next < 2**48 ) return this.setUint48( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint48 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 8-byte unsigned integer little-endian channel for offset. */\n\t\tuint64( offset: number, next?: bigint ) {\n\t\t\tif( next === undefined ) return this.getBigUint64( offset, true )\n\t\t\tif( next >= 0n && next < 2n**64n ) return this.setBigUint64( offset, next, true ), next\n\t\t\t$mol_fail( new Error( `Wrong uint64 value ${ next }` ) )\n\t\t}\n\t\t\n\t\t/** 4-byte float little-endian channel for offset. */\n\t\tfloat32( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat32( offset, next, true )\n\t\t\treturn this.getFloat32( offset, true )\n\t\t}\n\t\t\n\t\t/** 8-byte float little-endian channel for offset. */\n\t\tfloat64( offset: number, next?: number ) {\n\t\t\tif( next !== undefined ) this.setFloat64( offset, next, true )\n\t\t\treturn this.getFloat64( offset, true )\n\t\t}\n\t\t\n\t\t/** A Uint8Array view for the same buffer. */\n\t\tasArray() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset, this.byteLength )\n\t\t}\n\t\t\n\t\t/** base64ae string from buffer. */\n\t\ttoString() {\n\t\t\treturn $mol_base64_ae_encode( this.asArray() )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_data_setup<\n\t\tValue extends $mol_data_value ,\n\t\tConfig = never\n\t>(\n\t\tvalue : Value ,\n\t\tconfig : Config ,\n\t) {\n\t\t\n\t\treturn Object.assign( value , {\n\t\t\tconfig ,\n\t\t\tValue : null as any as ReturnType< Value >\n\t\t} )\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_func_is_class<\n\t\tFunc extends Function\n\t>(\n\t\tfunc: Func\n\t): func is Func & ( new( ...args: any[] )=> any ) {\n\t\treturn Object.getOwnPropertyDescriptor( func, 'prototype' )?.writable === false\n\t}\n\n}\n","namespace $ {\n\n\ttype Guard_value<\n\t\tFuncs extends $mol_type_unary[] ,\n\t\tIndex extends keyof Funcs\n\t> = $mol_type_param<\n\t\tIndex extends keyof $mol_type_tail< Funcs >\n\t\t\t? $mol_type_tail< Funcs >[ Index ]\n\t\t\t: any ,\n\t\t0\n\t>\n\n\ttype Guard<\n\t\tFuncs extends $mol_type_unary[]\n\t> = {\n\t\t[ Index in keyof Funcs ] : (\n\t\t\tFuncs[Index] extends $mol_type_unary_func\n\t\t\t\t? (\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t\t\t: new(\n\t\t\t\t\tinput : $mol_type_param< Funcs[Index] , 0 >\n\t\t\t\t) => Guard_value< Funcs , Index >\n\t\t)\n\t}\n\n\t/**\n\t * Combines list of unary functions/classes to one function.\n\t * \n\t * \tconst reparse = $mol_data_pipe( JSON.stringify , JSON.parse )\n\t **/\n\texport function $mol_data_pipe<\n\t\tFuncs extends $mol_type_unary[]\n\t>(\n\t\t... funcs : Funcs & Guard< Funcs >\n\t) {\n\n\t\treturn $mol_data_setup(\n\t\t\tfunction( this: any, input : $mol_type_param< Funcs[0] , 0 > ) {\n\t\t\t\tlet value : any = input\n\t\t\t\tfor( const func of funcs ) value = $mol_func_is_class( func ) ? new func( value ) : ( func as any ).call( this, value )\n\t\t\t\treturn value as $mol_type_result<\n\t\t\t\t\t$mol_type_foot< Funcs >\n\t\t\t\t>\n\t\t\t},\n\t\t\t{ funcs }\n\t\t)\n\n\t}\n\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\te.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\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 class $mol_data_error extends $mol_error_mix {}\n\n}\n","namespace $ {\n\n\t/**\n\t * Checks for number and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_number_demo\n\t */\n\texport let $mol_data_number = ( val : number )=> {\n\t\t\n\t\tif( typeof val === 'number' ) return val\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not a number` ) )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * Checks for integer and returns number type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_integer_demo\n\t */\n\texport function $mol_data_integer( val : number ) {\n\n\t\tconst val2 = $mol_data_number( val )\n\t\tif( Math.floor( val2 ) === val2 ) return val2\n\t\t\n\t\treturn $mol_fail( new $mol_data_error( `${ val } is not an integer` ) )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport const { $hyoo_crus_rank } = $mol_data_tagged({\n\t\t$hyoo_crus_rank: $mol_data_pipe(\n\t\t\t$mol_data_integer,\n\t\t\t( rank: number )=> {\n\t\t\t\tif( rank >= $hyoo_crus_rank_deny && rank <= $hyoo_crus_rank_rule ) return rank\n\t\t\t\t$mol_fail( new $mol_data_error( `${rank} is out of Ran range` ) )\n\t\t\t}\n\t\t),\n\t}) \n\t\n\t/** Makes Rank from Tier and Fame names. */\n\texport function $hyoo_crus_rank_make(\n\t\ttier: keyof typeof $hyoo_crus_rank_tier,\n\t\tfame: keyof typeof $hyoo_crus_rank_rate,\n\t) {\n\t\treturn ( $hyoo_crus_rank_tier[ tier ] | $hyoo_crus_rank_rate[ fame ] ) as typeof $hyoo_crus_rank.Value\n\t}\n\n\t/** Access level: deny, read, join, post, rule */\n\texport enum $hyoo_crus_rank_tier {\n\n\t\t/** Forbidden. There is no access, neither read nor write. */\n\t\tdeny = 0b0_0000_0000,\n\n\t\t/** Read only */\n\t\tread = 0b0_0001_0000,\n\n\t\t/** Join only (Pass) */\n\t\tjoin = 0b0_0011_0000,\n\n\t\t/** Post changes (Pass, Sand) */\n\t\tpost = 0b0_0111_0000,\n\n\t\t/** Full control (Pass, Sand, Gift) */\n\t\trule = 0b0_1111_0000,\n\n\t}\n\n\t/** Ease of making changes, depends on fame: evil, harm, even, nice, good */\n\texport enum $hyoo_crus_rank_rate {\n\n\t\t/** Very hard challenge. Minutes to put. */\n\t\tlate = 0b0_0000,\n\t\t\n\t\t/** Hard challendge. Tens seconds to put. */\n\t\tlong = 0b0_0011,\n\n\t\t/** Required some work to prevent spam. Seconds to put. */\n\t\tslow = 0b0_0111,\n\n\t\t/** Slow mode. Hundred milliseconds to put. */\n\t\tfast = 0b0_1011,\n\n\t\t/** No work required. As fast as possble. Milliseconds to put. */\n\t\tjust = 0b0_1111,\n\n\t}\n\t\n\texport const $hyoo_crus_rank_deny = $hyoo_crus_rank_make( 'deny', 'late' )\n\texport const $hyoo_crus_rank_read = $hyoo_crus_rank_make( 'read', 'late' )\n\texport const $hyoo_crus_rank_rule = $hyoo_crus_rank_make( 'rule', 'just' )\n\t\n\texport function $hyoo_crus_rank_join(\n\t\trate: keyof typeof $hyoo_crus_rank_rate\n\t) {\n\t\treturn $hyoo_crus_rank_make( 'join', rate )\n\t}\n\n\texport function $hyoo_crus_rank_post(\n\t\trate: keyof typeof $hyoo_crus_rank_rate\n\t) {\n\t\treturn $hyoo_crus_rank_make( 'post', rate )\n\t}\n\n\t/** Mapping Auth to Rank */\n\texport type $hyoo_crus_rank_preset = Record< string, typeof $hyoo_crus_rank.Value >\n\n}\n","namespace $ {\n\t\n\texport function $mol_base64_url_encode( buffer: Uint8Array ) {\n\t\treturn $mol_base64_encode( buffer ).replace( /\\+/g, '-' ).replace( /\\//g, '_' ).replace( /=/g, '' )\n\t}\n\t\n\texport function $mol_base64_url_decode( str: string ) {\n\t\treturn $mol_base64_decode( str.replace( /-/g, '+' ).replace( /_/g, '/' ) )\n\t}\n\t\n}\n","namespace $ {\n\texport var $mol_crypto_native = crypto\n}\n","namespace $ {\n\t\n\t/** Derived debuggable error with stack */\n\texport function $mol_crypto_restack( error: any ): never {\n\t\terror = new Error( error instanceof Error ? error.message : String( error ), { cause: error } )\n\t\t$mol_fail_hidden( error )\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst ecdsa = {\n\t\tname: 'ECDSA',\n\t\thash: 'SHA-1',\n\t\tnamedCurve: \"P-256\",\n\t}\n\t\n\tconst ecdh = { name: \"ECDH\", namedCurve: \"P-256\" }\n\tconst jwk = { crv: 'P-256', ext: true, kty: 'EC' }\n\t\n\texport class $mol_crypto_key extends $mol_buffer {\n\t\t\n\t\tstatic from< This extends typeof $mol_crypto_key >(\n\t\t\tthis: This,\n\t\t\tserial: number | string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array([\n\t\t\t\t\t... $mol_base64_url_decode( serial.slice( 0, 43 ) ),\n\t\t\t\t\t... $mol_base64_url_decode( serial.slice( 43, 86 ) ),\n\t\t\t\t\t... $mol_base64_url_decode( serial.slice( 86, 129 ) ),\n\t\t\t\t]) as Uint8Array< ArrayBuffer >\n\t\t\t}\n\t\t\t\n\t\t\treturn super.from( serial ) as InstanceType< This >\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\tconst arr = this.asArray()\n\t\t\treturn $mol_base64_url_encode( arr.subarray( 0, 32 ) )\n\t\t\t\t+ $mol_base64_url_encode( arr.subarray( 32, 64 ) )\n\t\t\t\t+ $mol_base64_url_encode( arr.subarray( 64 ) )\n\t\t}\n\t\t\n\t}\n\t\n\texport class $mol_crypto_key_public extends $mol_crypto_key {\n\t\t\n\t\tstatic size_str = 86\n\t\tstatic size_bin = 64\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\tconst str = this.toString()\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'verify' ],\n\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\tx: str.slice( 0, 43 ),\n\t\t\t\t\ty: str.slice( 43, 86 ),\n\t\t\t\t},\n\t\t\t\tecdsa,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'verify' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native_derive() {\n\t\t\t\n\t\t\tconst serial = this.toString()\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [],\n\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\ttrue,\n\t\t\t\t[],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\tasync verify( data: BufferSource, sign: BufferSource ) {\n\t\t\treturn await $mol_crypto_native.subtle.verify(\n\t\t\t\tecdsa,\n\t\t\t\tawait this.native(),\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t).catch( $mol_crypto_restack )\n\t\t}\n\t\t\n\t}\n\t\n\texport class $mol_crypto_key_private extends $mol_crypto_key {\n\t\t\n\t\tstatic size_str = 129\n\t\tstatic size_bin = 96\n\t\tstatic size_sign = 64\n\t\t\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\t\tecdsa,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign', 'verify' ]\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst { x, y, d } = await $mol_crypto_native.subtle.exportKey( 'jwk', pair.privateKey ).catch( $mol_crypto_restack )\n\t\t\treturn this.from( x + y! + d! )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native() {\n\t\t\tconst str = this.toString()\n\t\t\treturn await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\text: true,\n\t\t\t\t\tkey_ops: [ 'sign' ],\n\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\tx: str.slice( 0, 43 ),\n\t\t\t\t\ty: str.slice( 43, 86 ),\n\t\t\t\t\td: str.slice( 86, 129 ),\n\t\t\t\t},\n\t\t\t\tecdsa,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'sign' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync native_derive() {\n\t\t\t\n\t\t\tconst serial = this.toString()\n\t\t\t\n\t\t\treturn $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [ 'deriveKey', 'deriveBits' ],\n\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\td: serial.slice( 86, 129 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\tBoolean( 'extractable' ),\n\t\t\t\t[ 'deriveKey', 'deriveBits' ],\n\t\t\t).catch( $mol_crypto_restack )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tpublic() {\n\t\t\treturn new $mol_crypto_key_public( this.asArray().slice( 0, 64 ).buffer )\n\t\t}\n\t\t\n\t\tasync sign( data: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.sign(\n\t\t\t\tecdsa,\n\t\t\t\tawait this.native(),\n\t\t\t\tdata\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** 16 byte */\n\texport function $mol_crypto_salt() {\n\t\treturn $mol_crypto_native.getRandomValues(\n\t\t\tnew Uint8Array( 16 )\n\t\t)\n\t}\n\t\n\t/** 16 byte */\n\texport const $mol_crypto_salt_once = new Uint8Array(\n\t\t[1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6]\n\t)\n\t\n}\n","namespace $ {\n\t\n\ttype BufferSource = ArrayBufferView< ArrayBuffer > | ArrayBuffer\n\t\n\t/** Symmetric cipher with shortest payload. */\n\texport class $mol_crypto_sacred extends $mol_buffer {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 16 as const\n\t\t\n\t\t/** Makes new random secret. */\n\t\tstatic make() {\n\t\t\treturn this.from( $mol_crypto_salt() )\n\t\t}\n\t\t\n\t\t/** Makes from string of buffer view. */\n\t\tstatic from< This extends typeof $mol_buffer >(\n\t\t\tthis: This,\n\t\t\tserial: string | ArrayBufferView< ArrayBuffer >,\n\t\t) {\n\t\t\t\n\t\t\tif( typeof serial === 'string' ) {\n\t\t\t\tserial = new Uint8Array([\n\t\t\t\t\t... $mol_base64_url_decode( serial ),\n\t\t\t\t]) as Uint8Array< ArrayBuffer >\n\t\t\t}\n\t\t\t\n\t\t\tif(!( serial instanceof Uint8Array )) {\n\t\t\t\tserial = new Uint8Array( serial.buffer, serial.byteOffset, serial.byteLength )\n\t\t\t}\n\t\t\t\n\t\t\t;( serial as Uint8Array )[0] = 0xFF\n\t\t\t\n\t\t\tconst sacred = super.from( serial ) as InstanceType< This >\n\t\t\n\t\t\treturn sacred\n\t\t}\n\t\t\n\t\tstatic async from_native( native: CryptoKey ) {\n\t\t\t\n\t\t\tconst buf = await $mol_crypto_native.subtle.exportKey( 'raw', native ).catch( $mol_crypto_restack )\n\t\t\t\n\t\t\tconst sacred = this.from( new Uint8Array( buf ) )\n\t\t\tsacred._native = native as CryptoKey & { type: 'secret' }\n\t\t\t\n\t\t\treturn sacred\n\t\t}\n\t\t\n\t\tconstructor( buffer: ArrayBuffer, byteOffset?: number, byteLength?: number ) {\n\t\t\tsuper( buffer, byteOffset, byteLength )\n\t\t\tif( this.getUint8( 0 ) !== 0xFF ) $mol_fail( new Error( 'Buffer should starts with 0xFF byte' ) )\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\ttoString() {\n\t\t\treturn $mol_base64_url_encode( this.asArray() )\n\t\t}\n\t\t\n\t\t_native: undefined | CryptoKey & { type: 'secret' }\n\t\t/** Native crypto secret */\n\t\tasync native() {\n\t\t\treturn this._native ?? ( this._native = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'raw',\n\t\t\t\tthis,\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t},\n\t\t\t\ttrue,\n\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t).catch( $mol_crypto_restack ) as CryptoKey & { type: 'secret' } )\n\t\t}\n\t\t\n\t\t/** Encrypt any binary message. 16n bytes */\n\t\tasync encrypt( open: BufferSource, salt: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.encrypt(\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t\ttagLength: 32,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tawait this.native(),\n\t\t\t\topen\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t\t/** Decrypt any binary message. */\n\t\tasync decrypt( closed: BufferSource, salt : BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.decrypt(\n\t\t\t\t{\n\t\t\t\t\tname: 'AES-CBC',\n\t\t\t\t\tlength: 128,\n\t\t\t\t\ttagLength: 32,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tawait this.native(),\n\t\t\t\tclosed\n\t\t\t).catch( $mol_crypto_restack ) )\n\t\t}\n\t\t\n\t\t/** Encrypts Sacred. 16 bytes */\n\t\tasync close( sacred: DataView< ArrayBuffer >, salt: BufferSource ) {\n\t\t\tif( sacred.getUint8(0) !== 0xFF ) throw new Error( 'Closable buffer should starts with 0xFF' )\n\t\t\tconst buf = new Uint8Array( sacred.buffer, sacred.byteOffset + 1, sacred.byteLength - 1 )\n\t\t\treturn this.encrypt( buf, salt )\n\t\t}\n\t\t\n\t\t/** Decrypts Sacred. 16 bytes */\n\t\tasync open( buf: Uint8Array< ArrayBuffer >, salt: BufferSource ) {\n\t\t\tconst buf2 = new Uint8Array( 16 )\n\t\t\tbuf2[0] = 0xFF\n\t\t\tbuf2.set( await this.decrypt( buf, salt ), 1 )\n\t\t\treturn buf2\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\tconst algorithm = {\n\t\tname: 'AES-CBC',\n\t\tlength: 128,\n\t\ttagLength: 32,\n\t}\n\t\n\t/**\n\t * Symmetric cipher with shortest payload.\n\t * @deprecated Use $mol_crypto_sacred.\n\t */\n\texport class $mol_crypto_secret extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 16\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'secret' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.generateKey(\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'encrypt', 'decrypt' ]\n\t\t\t\t) as CryptoKey & { type: 'secret' }\n\t\t\t)\n\t\t}\n\t\t\n\t\tstatic async from( serial: BufferSource ) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'raw',\n\t\t\t\t\tserial,\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t\t) as CryptoKey & { type: 'secret' }\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async pass( pass: string, salt: Uint8Array< ArrayBuffer > ) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.deriveKey(\n\t\t\t\t\t\n\t\t\t\t\t{\n\t\t\t\t\t\tname: \"PBKDF2\",\n\t\t\t\t\t\tsalt,\n\t\t\t\t\t\titerations: 10_000,\n\t\t\t\t\t\thash: \"SHA-256\",\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t\t\"raw\",\n\t\t\t\t\t\t$mol_charset_encode( pass ),\n\t\t\t\t\t\t\"PBKDF2\",\n\t\t\t\t\t\tfalse,\n\t\t\t\t\t\t[ \"deriveKey\" ],\n\t\t\t\t\t),\n\t\t\t\t\t\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t\t\t\t\n\t\t\t\t) as CryptoKey & { type: 'secret' }\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async derive( private_serial: string, public_serial: string ) {\n\t\t\t\n\t\t\tconst ecdh = { name: \"ECDH\", namedCurve: \"P-256\" }\n\t\t\tconst jwk = { crv: 'P-256', ext: true, kty: 'EC' }\n\t\t\t\n\t\t\tconst private_key = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [ 'deriveKey' ],\n\t\t\t\t\tx: private_serial.slice( 0, 43 ),\n\t\t\t\t\ty: private_serial.slice( 43, 86 ),\n\t\t\t\t\td: private_serial.slice( 86, 129 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\ttrue,\n\t\t\t\t[ 'deriveKey' ],\n\t\t\t)\n\t\t\n\t\t\tconst public_key = await $mol_crypto_native.subtle.importKey(\n\t\t\t\t'jwk',\n\t\t\t\t{\n\t\t\t\t\t... jwk,\n\t\t\t\t\tkey_ops: [],\n\t\t\t\t\tx: public_serial.slice( 0, 43 ),\n\t\t\t\t\ty: public_serial.slice( 43, 86 ),\n\t\t\t\t},\n\t\t\t\tecdh,\n\t\t\t\ttrue,\n\t\t\t\t[],\n\t\t\t)\n\t\t\t\n\t\t\tconst secret = await $mol_crypto_native.subtle.deriveKey(\n\t\t\t\t{\n\t\t\t\t name: \"ECDH\",\n\t\t\t\t public: public_key,\n\t\t\t\t},\n\t\t\t\tprivate_key,\n\t\t\t\talgorithm,\n\t\t\t\ttrue,\n\t\t\t\t[ \"encrypt\", \"decrypt\" ],\n\t\t\t)\n\t\t\n\t\t\treturn new this( secret as CryptoKey & { type: 'secret' } )\n\t\t}\n\t\t\n\t\t/** 16 bytes */\n\t\tasync serial() {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'raw',\n\t\t\t\tthis.native,\n\t\t\t) )\n\t\t}\n\n\t\t/** 16n bytes */\n\t\tasync encrypt( open: BufferSource, salt: BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.encrypt(\n\t\t\t\t{\n\t\t\t\t\t... algorithm,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tthis.native,\n\t\t\t\topen\n\t\t\t) )\n\t\t}\n\t\t\n\t\tasync decrypt( closed: BufferSource, salt : BufferSource ) {\n\t\t\treturn new Uint8Array( await $mol_crypto_native.subtle.decrypt(\n\t\t\t\t{\n\t\t\t\t\t... algorithm,\n\t\t\t\t\tiv: salt,\n\t\t\t\t},\n\t\t\t\tthis.native,\n\t\t\t\tclosed\n\t\t\t) )\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Private key generated with Proof of Work */\n\texport class $hyoo_crus_auth extends $mol_crypto_key_private {\n\t\t\n\t\t/** Current Private key generated with Proof of Work */\n\t\t@ $mol_mem\n\t\tstatic current( next?: $hyoo_crus_auth | null ) {\n\t\t\t\n\t\t\t$mol_wire_solid()\n\t\t\t\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst key = String( $mol_state_local.value( '$hyoo_crus_auth' ) ?? '' )\n\t\t\t\tif( key ) return $hyoo_crus_auth.from( key )\n\t\t\t}\n\t\t\t\n\t\t\tif( !next ) next = this.grab()\n\t\t\t\n\t\t\t$mol_state_local.value( '$hyoo_crus_auth', next.toString() )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic embryos = [] as string[]\n\t\t\n\t\t@ $mol_action\n\t\tstatic grab() {\n\t\t\tif( this.embryos.length ) return this.from( this.embryos.pop()! )\n\t\t\treturn $mol_wire_sync( this as typeof $hyoo_crus_auth ).generate()\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\tfor( let i = 0; i < 4096; ++i ) {\n\t\t\t\tconst auth = await super.generate()\n\t\t\t\tif( auth.uint8(0) !== $hyoo_crus_unit_kind.pass ) continue\n\t\t\t\treturn this.from( auth )\n\t\t\t}\n\t\t\t$mol_fail( new Error( `Too long key generation` ) )\n\t\t}\n\t\t\n\t\t/** Independent actor with global unique id generated from Auth key */\n\t\t@ $mol_memo.method\n\t\tlord() {\n\t\t\treturn $hyoo_crus_ref_decode( new Uint8Array( this.buffer, 2, 12 ) )\n\t\t}\n\t\t\n\t\t/** Land local unique identifier of independent actor (first half of Lord) */\n\t\t@ $mol_memo.method\n\t\tpeer() {\n\t\t\treturn $mol_base64_ae_encode( new Uint8Array( this.buffer, 2, 6 ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsecret_mutual( pub: string ) {\n\t\t\treturn $mol_wire_sync( $mol_crypto_secret ).derive( this.toString(), pub.toString() )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_time_base {\n\n\t\tstatic patterns = {} as Record< string , ( arg : any )=> string >\n\n\t\tstatic formatter( pattern : string ) {\n\n\t\t\tif( this.patterns[ pattern ] ) return this.patterns[ pattern ]\n\n\t\t\tvar tokens = Object.keys( this.patterns )\n\t\t\t\t.sort()\n\t\t\t\t.reverse()\n\t\t\t\t.map( ( token : string ) => token.replace( /([-+*.\\[\\]()\\^])/g , '\\\\$1' ) )\n\t\t\tvar lexer = RegExp( '(.*?)(' + tokens.join( '|' ) + '|$)', 'g' )\n\n\t\t\tvar funcs = [] as ( ( arg : any )=> string )[]\n\n\t\t\tpattern.replace( lexer, ( str : string , text : string , token : string ) => {\n\t\t\t\tif( text ) funcs.push( () => text )\n\t\t\t\tif( token ) funcs.push( this.patterns[ token ] )\n\t\t\t\treturn str\n\t\t\t} )\n\n\t\t\treturn this.patterns[ pattern ] = ( arg : any )=> {\n\t\t\t\treturn funcs.reduce( ( res , func )=> res + func( arg ) , '' )\n\t\t\t}\n\t\t\n\t\t}\n\n\t\ttoString( pattern : string ) : string {\n\t\t\tconst Base = this.constructor as typeof $mol_time_base\n\t\t\tconst formatter = Base.formatter( pattern )\n\t\t\treturn formatter( this )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport type $mol_time_duration_config = number | string | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time duration representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_duration extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_duration_config = 0 ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tif( !Number.isFinite( config ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t\tthis.second = config / 1000\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( config === 'Z' ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.hour = 0\n\t\t\t\t\tthis.minute = 0\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tduration: {\n\t\t\t\t\tconst parser = /^(-?)P(?:([+-]?\\d+(?:\\.\\d+)?)Y)?(?:([+-]?\\d+(?:\\.\\d+)?)M)?(?:([+-]?\\d+(?:\\.\\d+)?)D)?(?:T(?:([+-]?\\d+(?:\\.\\d+)?)h)?(?:([+-]?\\d+(?:\\.\\d+)?)m)?(?:([+-]?\\d+(?:\\.\\d+)?)s)?)?$/i\n\t\t\t\t\t\n\t\t\t\t\tconst found = parser.exec( config )\n\t\t\t\t\tif( !found ) break duration\n\t\t\t\t\t\t\n\t\t\t\t\tconst sign = found[1] ? -1 : 1\n\t\t\t\t\tif( found[2] ) this.year = sign * Number( found[2] )\n\t\t\t\t\tif( found[3] ) this.month = sign * Number( found[3] )\n\t\t\t\t\tif( found[4] ) this.day = sign * Number( found[4] )\n\t\t\t\t\tif( found[5] ) this.hour = sign * Number( found[5] )\n\t\t\t\t\tif( found[6] ) this.minute = sign * Number( found[6] )\n\t\t\t\t\tif( found[7] ) this.second = sign * Number( found[7] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toffset: {\n\t\t\t\t\tvar parser = /^[+-](\\d\\d)(?::?(\\d\\d))?$/i\n\t\t\t\t\t\n\t\t\t\t\tvar found = parser.exec( config )\n\t\t\t\t\tif( !found ) break offset\n\t\t\t\t\t\t\n\t\t\t\t\tif( found[1] ) this.hour = Number( found[1] )\n\t\t\t\t\tif( found[2] ) this.minute = Number( found[2] )\n\t\t\t\t\t\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\tthrow new Error( `Can not parse time duration (${ config })` )\n\t\t\t}\n\t\t\t\n\t\t\tthis.year = config.year || 0\n\t\t\tthis.month = config.month || 0\n\t\t\tthis.day = config.day || 0\n\t\t\tthis.hour = config.hour || 0\n\t\t\tthis.minute = config.minute || 0\n\t\t\tthis.second = config.second || 0\n\t\t}\n\n\t\treadonly year : number= 0\n\t\treadonly month : number = 0\n\t\treadonly day : number = 0\n\t\treadonly hour : number = 0\n\t\treadonly minute : number = 0\n\t\treadonly second : number = 0\n\t\t\n\t\tget normal() {\n\t\t\t\n\t\t\tlet second = this.second ?? 0\n\t\t\tlet minute = this.minute ?? 0\n\t\t\tlet hour = this.hour ?? 0\n\t\t\tlet day = this.day ?? 0\n\t\t\t\n\t\t\tminute += Math.floor( second / 60 )\n\t\t\tsecond = second % 60\n\t\t\t\n\t\t\thour += Math.floor( minute / 60 )\n\t\t\tminute = minute % 60\n\t\t\t\n\t\t\tday += Math.floor( hour / 24 )\n\t\t\thour = hour % 24\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear: this.year,\n\t\t\t\tmonth: this.month,\n\t\t\t\tday: day,\n\t\t\t\thour: hour,\n\t\t\t\tminute: minute,\n\t\t\t\tsecond: second,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\tsumm( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\t\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year + duration.year ,\n\t\t\t\tmonth : this.month + duration.month ,\n\t\t\t\tday : this.day + duration.day ,\n\t\t\t\thour : this.hour + duration.hour ,\n\t\t\t\tminute : this.minute + duration.minute ,\n\t\t\t\tsecond : this.second + duration.second ,\n\t\t\t})\n\t\t}\n\n\t\tmult( numb : number ) {\n\t\t\treturn new $mol_time_duration({\n\t\t\t\tyear : this.year && this.year * numb ,\n\t\t\t\tmonth : this.month && this.month * numb ,\n\t\t\t\tday : this.day && this.day * numb ,\n\t\t\t\thour : this.hour && this.hour * numb ,\n\t\t\t\tminute : this.minute && this.minute * numb ,\n\t\t\t\tsecond : this.second && this.second * numb ,\n\t\t\t})\n\t\t}\n\n\t\tcount( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\treturn this.valueOf() / duration.valueOf()\n\t\t}\n\n\t\tvalueOf() {\n\t\t\tvar day = this.year * 365 + this.month * 30.4 + this.day\n\t\t\tvar second = ( ( day * 24 + this.hour ) * 60 + this.minute ) * 60 + this.second\n\t\t\treturn second * 1000\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'P#Y#M#DT#h#m#s' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\tstatic patterns = {\n\n\t\t\t'#Y' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.year ) return ''\n\t\t\t\treturn duration.year + 'Y'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#M' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.month ) return ''\n\t\t\t\treturn duration.month + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#D' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.day ) return ''\n\t\t\t\treturn duration.day + 'D'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#h' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.hour ) return ''\n\t\t\t\treturn duration.hour + 'H'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#m' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.minute ) return ''\n\t\t\t\treturn duration.minute + 'M'\n\t\t\t} ,\n\t\t\t\n\t\t\t'#s' : ( duration : $mol_time_duration )=> {\n\t\t\t\tif( !duration.second ) return ''\n\t\t\t\treturn duration.second + 'S'\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\t// if( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport enum $mol_time_moment_weekdays {\n\t\tmonday,\n\t\ttuesday,\n\t\twednesday,\n\t\tthursday,\n\t\tfriday,\n\t\tsaturday,\n\t\tsunday\n\t}\n\t\n\texport type $mol_time_moment_config = number | Date | string | {\n\t\tyear? : number\n\t\tmonth? : number\n\t\tday? : number\n\t\thour? : number\n\t\tminute? : number\n\t\tsecond? : number\n\t\toffset? : $mol_time_duration_config\n\t}\n\t\n\tfunction numb( str: string, max: number ) {\n\t\tconst numb = Number( str )\n\t\tif( numb < max ) return numb\n\t\t$mol_fail( new Error( `Wrong time component ${ str }` ) )\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time moment representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_moment extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_moment_config = new Date ) {\n\t\t\t\n\t\t\tsuper()\n\n\t\t\tif( typeof config === 'number' ) {\n\t\t\t\tconfig = new Date( config )\n\t\t\t\tif( Number.isNaN( config.valueOf() ) ) throw new RangeError( `Wrong ms count` )\n\t\t\t}\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tconst parsed = /^(?:(\\d\\d?\\d?\\d?)(?:-?(\\d\\d?)(?:-?(\\d\\d?))?)?)?(?:[T ](?:(\\d\\d?)(?::?(\\d\\d?)(?::?(\\d\\d?(?:\\.\\d+)?))?)?)?(Z|[\\+\\-]\\d\\d?(?::?(?:\\d\\d?)?)?)?)?$/.exec( config )\n\t\t\t\tif( !parsed ) throw new Error( `Can not parse time moment (${ config })` )\n\n\t\t\t\tif( parsed[1] ) this.year = numb( parsed[1], 9999 )\n\t\t\t\tif( parsed[2] ) this.month = numb( parsed[2], 13 ) - 1\n\t\t\t\tif( parsed[3] ) this.day = numb( parsed[3], 32 ) - 1\n\t\t\t\tif( parsed[4] ) this.hour = numb( parsed[4], 60 )\n\t\t\t\tif( parsed[5] ) this.minute = numb( parsed[5], 60 )\n\t\t\t\tif( parsed[6] ) this.second = numb( parsed[6], 60 )\n\t\t\t\tif( parsed[7] ) this.offset = new $mol_time_duration( parsed[7] )\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\t\t\t\n\t\t\tif( config instanceof Date ) {\n\t\t\t\t\n\t\t\t\tthis.year = config.getFullYear()\n\t\t\t\tthis.month = config.getMonth()\n\t\t\t\tthis.day = config.getDate() - 1\n\t\t\t\tthis.hour = config.getHours()\n\t\t\t\tthis.minute = config.getMinutes()\n\t\t\t\tthis.second = config.getSeconds() + config.getMilliseconds() / 1000\n\t\t\t\t\n\t\t\t\tconst offset = - config.getTimezoneOffset()\n\t\t\t\tthis.offset = new $mol_time_duration({\n\t\t\t\t\thour : ( offset < 0 ) ? Math.ceil( offset / 60 ) : Math.floor( offset / 60 ) ,\n\t\t\t\t\tminute : offset % 60\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tthis.year = config.year\n\t\t\tthis.month = config.month\n\t\t\tthis.day = config.day\n\t\t\tthis.hour = config.hour\n\t\t\tthis.minute = config.minute\n\t\t\tthis.second = config.second\n\t\t\t\n\t\t\tthis.offset = config.offset == null ? config.offset as undefined : new $mol_time_duration( config.offset ) \n\n\t\t}\n\n\t\treadonly year : number | undefined\n\t\treadonly month : number | undefined\n\t\treadonly day : number | undefined\n\t\treadonly hour : number | undefined\n\t\treadonly minute : number | undefined\n\t\treadonly second : number | undefined\n\t\treadonly offset : $mol_time_duration | undefined\n\n\t\tget weekday() {\n\t\t\treturn ( this.native.getDay() + 6 ) % 7\n\t\t}\n\n\t\t_native : Date | undefined\n\t\tget native() {\n\t\t\t\n\t\t\tif( this._native ) return this._native\n\t\t\t\n\t\t\tconst second = Math.floor( this.second ?? 0 )\n\t\t\t\n\t\t\tconst current = new Date()\n\t\t\t\n\t\t\tconst native = new Date(\n\t\t\t\tthis.year ?? current.getFullYear() ,\n\t\t\t\tthis.month ?? ( this.year === undefined ? current.getMonth() : 0 ),\n\t\t\t\t( this.day ?? ( this.year === undefined && this.month === undefined ? current.getDate() - 1 : 0 ) ) + 1 ,\n\t\t\t\tthis.hour ?? 0 ,\n\t\t\t\tthis.minute ?? 0 ,\n\t\t\t\tsecond,\n\t\t\t\tMath.floor( ( ( this.second ?? 0 ) - second ) * 1000 ),\n\t\t\t)\n\t\t\t\n\t\t\tconst offset = - native.getTimezoneOffset()\n\t\t\tshift: if( this.offset ) {\n\t\t\t\tconst target = this.offset.count( 'PT1m' )\n\t\t\t\tif( target === offset ) break shift\n\t\t\t\tnative.setMinutes( native.getMinutes() + offset - target )\n\t\t\t}\n\t\t\t\n\t\t\treturn this._native = native\n\t\t}\n\n\t\t_normal : $mol_time_moment | undefined\n\t\tget normal() {\n\t\t\tif( this._normal ) return this._normal\n\t\t\t\n\t\t\tconst moment = new $mol_time_moment( this.native ).toOffset( this.offset )\n\t\t\t\n\t\t\treturn this._normal = new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : moment.year ,\n\t\t\t\tmonth : this.month === undefined ? undefined : moment.month ,\n\t\t\t\tday : this.day === undefined ? undefined : moment.day ,\n\t\t\t\thour : this.hour === undefined ? undefined : moment.hour ,\n\t\t\t\tminute : this.minute === undefined ? undefined : moment.minute ,\n\t\t\t\tsecond : this.second === undefined ? undefined : moment.second ,\n\t\t\t\toffset : this.offset === undefined ? undefined : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tmerge( config : $mol_time_moment_config ) {\n\t\t\tconst moment = new $mol_time_moment( config )\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : moment.year === undefined ? this.year : moment.year ,\n\t\t\t\tmonth : moment.month === undefined ? this.month : moment.month ,\n\t\t\t\tday : moment.day === undefined ? this.day : moment.day ,\n\t\t\t\thour : moment.hour === undefined ? this.hour : moment.hour ,\n\t\t\t\tminute : moment.minute === undefined ? this.minute : moment.minute ,\n\t\t\t\tsecond : moment.second === undefined ? this.second : moment.second ,\n\t\t\t\toffset : moment.offset === undefined ? this.offset : moment.offset ,\n\t\t\t})\n\t\t}\n\n\t\tshift( config : $mol_time_duration_config ) {\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst moment = new $mol_time_moment().merge({\n\t\t\t\tyear: this.year ?? 0,\n\t\t\t\tmonth: this.month ?? 0,\n\t\t\t\tday: this.day ?? 0,\n\t\t\t\thour: this.hour ?? 0,\n\t\t\t\tminute: this.minute ?? 0,\n\t\t\t\tsecond: this.second ?? 0,\n\t\t\t\toffset: this.offset ?? 0\n\t\t\t})\n\n\t\t\tconst second = moment.second! + ( duration.second ?? 0 )\n\t\t\tconst native = new Date(\n\t\t\t\tmoment.year! + ( duration.year ?? 0 ) ,\n\t\t\t\tmoment.month! + ( duration.month ?? 0 ) ,\n\t\t\t\tmoment.day! + 1 + ( duration.day ?? 0 ) ,\n\t\t\t\tmoment.hour! + ( duration.hour ?? 0 ) ,\n\t\t\t\tmoment.minute! + ( duration.minute ?? 0 ) ,\n\t\t\t\tMath.floor( second ) ,\n\t\t\t\t( second - Math.floor( second ) ) * 1000\n\t\t\t)\n\n\t\t\tif( isNaN( native.valueOf() ) ) throw new Error( 'Wrong time' )\n\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : this.year === undefined ? undefined : native.getFullYear(),\n\t\t\t\tmonth : this.month === undefined ? undefined : native.getMonth(),\n\t\t\t\tday : this.day === undefined ? undefined : native.getDate() - 1,\n\t\t\t\thour : this.hour === undefined ? undefined : native.getHours(),\n\t\t\t\tminute : this.minute === undefined ? undefined : native.getMinutes(),\n\t\t\t\tsecond : this.second === undefined ? undefined : native.getSeconds() + native.getMilliseconds() / 1000,\n\t\t\t\toffset : this.offset,\n\t\t\t})\n\t\t}\n\n\t\tmask( config : $mol_time_moment_config ) {\n\n\t\t\tconst mask = new $mol_time_moment( config )\n\t\t\t\n\t\t\treturn new $mol_time_moment({\n\t\t\t\tyear : mask.year === undefined ? undefined : this.year ,\n\t\t\t\tmonth : mask.month === undefined ? undefined : this.month ,\n\t\t\t\tday : mask.day === undefined ? undefined : this.day ,\n\t\t\t\thour : mask.hour === undefined ? undefined : this.hour ,\n\t\t\t\tminute : mask.minute === undefined ? undefined : this.minute ,\n\t\t\t\tsecond : mask.second === undefined ? undefined : this.second ,\n\t\t\t\toffset : mask.offset === undefined ? undefined : this.offset ,\n\t\t\t})\n\t\t\t\n\t\t}\n\n\t\ttoOffset( config: $mol_time_duration_config = new $mol_time_moment().offset! ) {\n\t\t\t\n\t\t\tconst duration = new $mol_time_duration( config )\n\t\t\tconst offset = this.offset || new $mol_time_moment().offset!\n\t\t\t\n\t\t\tlet with_time = new $mol_time_moment( '0001-01-01T00:00:00' ).merge( this ) \n\t\t \tconst moment = with_time.shift( duration.summ( offset.mult( -1 ) ) )\n\n\t\t\treturn moment.merge({ offset : duration })\n\t\t}\n\n\t\tvalueOf() { return this.native.getTime() }\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( pattern = 'YYYY-MM-DDThh:mm:ss.sssZ' ) {\n\t\t\treturn super.toString( pattern )\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn mode === 'number' ? this.valueOf() : this.toString()\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_accent( this.toString( 'YYYY-MM-DD hh:mm:ss.sss Z' ) ),\n\t\t\t)\n\t\t}\n\n\t\t/// Mnemonics:\n\t\t/// * single letter for numbers: M - month number, D - day of month.\n\t\t/// * uppercase letters for dates, lowercase for times: M - month number , m - minutes number\n\t\t/// * repeated letters for define register count: YYYY - full year, YY - shot year, MM - padded month number\n\t\t/// * words for word representation: Month - month name, WeekDay - day of week name\n\t\t/// * shortcuts: WD - short day of week, Mon - short month name.\n\t\tstatic patterns = {\n\n\t\t\t'YYYY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year )\n\t\t\t} ,\n\t\t\t\n\t\t\t'AD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( Math.floor( moment.year / 100 ) + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'YY' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn String( moment.year % 100 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'long' } ) ) ,\n\t\t\t\n\t\t\t'DD Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Month' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Month' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'long' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { month : 'short' } ) ) ,\n\t\t\t\n\t\t\t'DD Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : '2-digit' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'D Mon' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'D' ]( moment )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif( moment.day == null ) {\n\t\t\t\t\t\treturn $mol_time_moment.patterns[ 'Mon' ]( moment )\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn pattern.format( moment.native )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} )(\n\t\t\t\tnew Intl.DateTimeFormat( undefined , { day : 'numeric' , month : 'short' } )\n\t\t\t) ,\n\t\t\t\n\t\t\t'-MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'MM' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'MM' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( 100 + moment.month + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'M' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\treturn String( moment.month + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'WeekDay' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'long' } ) ) ,\n\n\t\t\t'WD' : ( pattern => ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\tif( moment.month == null ) return ''\n\t\t\t\tif( moment.year == null ) return ''\n\t\t\t\treturn pattern.format( moment.native )\n\t\t\t} )( new Intl.DateTimeFormat( undefined , { weekday : 'short' } ) ) ,\n\t\t\t\n\t\t\t'-DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn '-' + $mol_time_moment.patterns[ 'DD' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'DD' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( 100 + moment.day + 1 ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'D' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.day == null ) return ''\n\t\t\t\treturn String( moment.day + 1 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'Thh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn 'T' + $mol_time_moment.patterns[ 'hh' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'hh' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( 100 + moment.hour ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'h' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.hour == null ) return ''\n\t\t\t\treturn String( moment.hour )\n\t\t\t} ,\n\t\t\t\n\t\t\t':mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'mm' ]( moment )\n\t\t\t} ,\n\t\t\t\n\t\t\t'mm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( 100 + moment.minute ).slice(1)\n\t\t\t} ,\n\t\t\t\n\t\t\t'm' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.minute == null ) return ''\n\t\t\t\treturn String( moment.minute )\n\t\t\t},\n\t\t\t\n\t\t\t':ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn ':' + $mol_time_moment.patterns[ 'ss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'ss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( 100 + moment.second | 0 ).slice(1)\n\t\t\t},\n\t\t\t\n\t\t\t's' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\treturn String( moment.second | 0 )\n\t\t\t} ,\n\t\t\t\n\t\t\t'.sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tif( moment.second === ( moment.second | 0 ) ) return ''\n\t\t\t\treturn '.' + $mol_time_moment.patterns[ 'sss' ]( moment )\n\t\t\t},\n\t\t\t\n\t\t\t'sss' : ( moment : $mol_time_moment )=> {\n\t\t\t\tif( moment.second == null ) return ''\n\t\t\t\tconst millisecond = ( moment.second - Math.trunc( moment.second ) ).toFixed( 3 )\n\t\t\t\treturn millisecond.slice(2)\n\t\t\t},\n\t\t\t\n\t\t\t'Z' : ( moment : $mol_time_moment )=> {\n\t\t\t\t\n\t\t\t\tconst offset = moment.offset\n\t\t\t\tif( !offset ) return ''\n\t\t\t\t\n\t\t\t\tlet hour = offset.hour\n\n\t\t\t\tlet sign = '+'\n\t\t\t\tif( hour < 0 ) {\n\t\t\t\t\tsign = '-'\n\t\t\t\t\thour = -hour\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn sign + String( 100 + hour ).slice(1) + ':' + String( 100 + offset.minute ).slice(1)\n\t\t\t}\n\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Moment from time. */\n\texport function $hyoo_crus_time_moment( time: number ) {\n\t\tconst stamp = Math.floor( time / 65536 ) * 1000\n\t\treturn new $mol_time_moment( stamp )\n\t}\n\t\n\t/** Tick from time. */\n\texport function $hyoo_crus_time_tick( time: number ) {\n\t\treturn time % 65536\n\t}\n\t\n\t/** User readable time+tick view. */\n\texport function $hyoo_crus_time_dump( time: number ) {\n\t\treturn $hyoo_crus_time_moment( time ).toString( 'YYYY-MM-DD hh:mm:ss' )\n\t\t+ ' @' + $hyoo_crus_time_tick( time )\n\t}\n\n\t/** Current time with 0 tick. */\n\texport function $hyoo_crus_time_now() {\n\t\treturn now || Math.floor( Date.now() / 1000 ) * 65536\n\t}\n\t\n\tlet now = 0\n\n\t/** Run atomic transaction by temp freezing time. */\n\texport function $hyoo_crus_time_freeze( task: ()=> void ) {\n\n\t\tif( now ) return task()\n\t\t\n\t\tnow = $hyoo_crus_time_now()\n\t\ttry {\n\t\t\treturn task()\n\t\t} finally {\n\t\t\tnow = 0\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport type $hyoo_crus_face_data = Iterable< readonly [ peer: string, time: number ] >\n\t\n\t/** Statistics about Units in Land. it's total Units count & dictionary which maps Peer to Time */\n\texport class $hyoo_crus_face_map extends Map< string, number > {\n\t\t\n\t\t/** Maximum time for all peers. */\n\t\tlast_time = 0\n\t\t\n\t\t/** Total units count in Land. */\n\t\ttotal = 0\n\t\t\n\t\tconstructor(\n\t\t\tentries?: $hyoo_crus_face_data\n\t\t) {\n\t\t\tsuper()\n\t\t\tif( entries ) this.sync( entries )\n\t\t}\n\t\t\n\t\t/** Synchronize this clock with another. */\n\t\tsync( right: $hyoo_crus_face_data ) {\n\t\t\tif( right instanceof $hyoo_crus_face_map ) this.total = right.total\n\t\t\tfor( const [ peer, time ] of right ) this.time_max( peer, time )\n\t\t}\n\t\t\n\t\t/** Update last time for peer. */\n\t\ttime_max(\n\t\t\tpeer: string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\t\n\t\t\tif( this.last_time < time ) this.last_time = time\n\t\t\t\n\t\t\tlet prev = this.get( peer ) ?? 0\n\t\t\tif( prev < time ) this.set( peer, time )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Generates new time for peer that greater then other seen. */\n\t\t@ $mol_action\n\t\ttick() {\n\t\t\treturn this.last_time = Math.max( this.last_time + 1, $hyoo_crus_time_now() )\n\t\t}\n\n\t\t/** Last change moment */\n\t\tlast_moment() {\n\t\t\treturn $hyoo_crus_time_moment( this.last_time )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t$mol_dev_format_shade( ' ', $hyoo_crus_time_dump( this.last_time ) ) ,\n\t\t\t\t$mol_dev_format_shade( ' #', this.total ) ,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t/** reactive Dictionary */\n\texport class $mol_wire_dict< Key, Value > extends Map< Key, Value > {\n\n\t\tpub = new $mol_wire_pub\n\t\t\n\t\t// Accessors\n\t\t\n\t\thas( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.has( key )\n\t\t}\n\t\t\n\t\tget( key: Key ) {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.get( key )\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.entries()\n\t\t}\n\t\t\n\t\tkeys() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.keys()\n\t\t}\n\t\t\n\t\tvalues() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.values()\n\t\t}\n\t\t\n\t\tforEach(\n\t\t\ttask: ( value: Value, key: Key, dict: Map< Key, Value > ) => void,\n\t\t\tself?: any\n\t\t) {\n\t\t\tthis.pub.promote()\n\t\t\tsuper.forEach( task, self )\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super[Symbol.iterator]()\n\t\t}\n\t\t\n\t\tget size() {\n\t\t\tthis.pub.promote()\n\t\t\treturn super.size\t\n\t\t}\n\n\t\t// Mutators\n\n\t\tset( key: Key, value: Value ) {\n\t\t\tif( super.get( key ) === value ) return this\n\t\t\tsuper.set( key, value )\n\t\t\tthis.pub?.emit() // undefined in constructor\n\t\t\treturn this\n\t\t}\n\n\t\tdelete( key: Key ) {\n\t\t\tconst res = super.delete( key )\n\t\t\tif( res ) this.pub.emit()\n\t\t\treturn res\n\t\t}\n\t\t\n\t\tclear() {\n\t\t\tif( !super.size ) return\n\t\t\tsuper.clear()\n\t\t\tthis.pub.emit()\n\t\t}\n\t\t\n\t\t// Extensions\n\t\t\n\t\titem( key: Key, next?: Value | null ) {\n\t\t\t\n\t\t\tif( next === undefined ) return this.get( key ) ?? null\n\t\t\t\n\t\t\tif( next === null ) this.delete( key )\n\t\t\telse this.set( key, next )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Registry of nodes as domain entities. */\n\texport class $hyoo_crus_fund< Key, Node > extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\treadonly item_make: ( head: Key )=> Node\n\t\t) { super() }\n\t\t\n\t\t@ $mol_mem_key\n\t\tItem( head: Key ) {\n\t\t\treturn this.item_make( head )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * # Generic Graph model\n\t * - Supports any type of Nodes and Edges.\n\t * - All links are ordered, but this may be ignored.\n\t * - Multigraph supported using arrays of Edges.\n\t * - Hypergraph supported by reusing same Edge on set of links.\n\t * - Ubergraph supported using Edges as Nodes to.\n\t **/\n\texport class $mol_graph< Node , Edge > {\n\t\t\n\t\t/** All registered Nodes */\n\t\tnodes = new Set< Node >()\n\t\t\n\t\t/** Edges for Nodes pairs (from-to-edge) */\n\t\tedges_out = new Map< Node , Map< Node , Edge > >()\n\t\t/** Edges for Nodes pairs (to-from-edge) */\n\t\tedges_in = new Map< Node , Map< Node , Edge > >()\n\t\t\n\t\t// LINKING NODES\n\t\t\n\t\t/** Full connect two Nodes */\n\t\tlink( from : Node , to : Node , edge : Edge ) {\n\t\t\tthis.link_out( from , to , edge )\n\t\t\tthis.link_in( to , from , edge )\n\t\t}\n\t\t\n\t\t/** Full disconnect two Nodes */\n\t\tunlink( from : Node , to : Node ) {\n\t\t\tthis.edges_in.get( to )?.delete( from )\n\t\t\tthis.edges_out.get( from )?.delete( to )\n\t\t}\n\t\t\n\t\t/** Forward connect two Nodes */\n\t\tlink_out( from : Node , to : Node , edge : Edge ) {\n\t\t\t\n\t\t\tlet pair = this.edges_out.get( from )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_out.set( from , pair )\n\t\t\t\tthis.nodes.add( from )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( to , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t/** Backward connect two Nodes */\n\t\tlink_in( to : Node , from : Node , edge : Edge ) {\n\n\t\t\tlet pair = this.edges_in.get( to )\n\t\t\t\n\t\t\tif( !pair ) {\n\t\t\t\tpair = new Map< Node , Edge >()\n\t\t\t\tthis.edges_in.set( to , pair )\n\t\t\t\tthis.nodes.add( to )\n\t\t\t}\n\t\t\t\n\t\t\tpair.set( from , edge )\n\t\t\tthis.nodes.add( to )\n\n\t\t}\n\t\t\n\t\t// GETTING EDGES\n\t\t\n\t\t/** Return any Edge for two Nodes or null */\n\t\tedge( from : Node , to : Node ) {\n\t\t\treturn this.edge_out( from, to ) ?? this.edge_in( to, from )\n\t\t}\n\t\t\n\t\t/** Return output Edge for two Nodes or null */\n\t\tedge_out( from : Node , to : Node ) {\n\t\t\treturn this.edges_out.get( from )?.get( to ) ?? null\n\t\t}\n\t\t\n\t\t/** Return input Edge for two Nodes or null */\n\t\tedge_in( to : Node , from : Node ) {\n\t\t\treturn this.edges_in.get( to )?.get( from ) ?? null\n\t\t}\n\t\t\n\t\t// MUTATIONS\n\t\t\n\t\t/** Cut cycles at lowest priority of Edges */\n\t\tacyclic( get_weight : ( edge : Edge )=> number ) {\n\t\t\t\n\t\t\tconst checked = [] as Node[]\n\t\t\t\n\t\t\tfor( const start of this.nodes ) {\n\t\t\t\t\n\t\t\t\tconst path = [] as Node[]\n\t\t\t\t\n\t\t\t\tconst visit = ( from : Node ) : number => {\n\n\t\t\t\t\tif( checked.includes( from ) ) return Number.MAX_SAFE_INTEGER\n\n\t\t\t\t\tconst index = path.lastIndexOf( from )\n\t\t\t\t\tif( index > -1 ) {\n\n\t\t\t\t\t\tconst cycle = path.slice( index )\n\n\t\t\t\t\t\treturn cycle.reduce(\n\t\t\t\t\t\t\t( weight , node , index )=> Math.min(\n\t\t\t\t\t\t\t\tweight ,\n\t\t\t\t\t\t\t\tget_weight( this.edge_out( node , cycle[ ( index + 1 ) % cycle.length ] )! ) ,\n\t\t\t\t\t\t\t) ,\n\t\t\t\t\t\t\tNumber.MAX_SAFE_INTEGER ,\n\t\t\t\t\t\t)\n\n\t\t\t\t\t}\n\n\t\t\t\t\tpath.push( from )\n\n\t\t\t\t\tdive: try {\n\n\t\t\t\t\t\tconst deps = this.edges_out.get( from )\n\t\t\t\t\t\tif( !deps ) break dive\n\n\t\t\t\t\t\tfor( const [ to , edge ] of deps ) {\n\n\t\t\t\t\t\t\tif( to === from ) {\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tconst weight_out = get_weight( edge )\n\t\t\t\t\t\t\tconst min = visit( to )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( weight_out > min ) return min\n\t\t\t\t\t\t\tif( weight_out === min ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tthis.unlink( from , to )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tif( path.length > 1 ) {\n\t\t\t\t\t\t\t\t\tconst enter = path[ path.length - 2 ]\n\t\t\t\t\t\t\t\t\tthis.link( enter , to , edge )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tpath.pop()\n\t\t\t\t\t}\n\n\t\t\t\t\tchecked.push( from )\n\n\t\t\t\t\treturn Number.MAX_SAFE_INTEGER\n\t\t\t\t}\n\n\t\t\t\tvisit( start )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t// NODES SELECTION\n\t\t\n\t\t/** Topoligical ordered set of all Nodes for acyclic graph */\n\t\tget sorted() {\n\n\t\t\tconst sorted = new Set< Node >()\n\t\t\t\n\t\t\tconst visit = ( node : Node ) => {\n\t\t\t\t\n\t\t\t\tif( sorted.has( node ) ) return\n\n\t\t\t\tconst deps = this.edges_out.get( node )\n\n\t\t\t\tif( deps ) {\n\t\t\t\t\tfor( const [dep] of deps ) visit( dep )\n\t\t\t\t}\n\n\t\t\t\tsorted.add( node )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\tvisit( node )\n\t\t\t}\n\t\t\t\n\t\t\treturn sorted\n\t\t}\n\t\t\n\t\t/** All Nodes which don't have input Edges */\n\t\tget roots() {\n\t\t\t\n\t\t\tconst roots = [] as Node[]\n\t\t\tfor( const node of this.nodes ) {\n\t\t\t\t\n\t\t\t\tif( this.edges_in.get( node )?.size ) continue\n\t\t\t\troots.push( node )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn roots\n\t\t}\n\t\t\n\t\t// DEPTH STATS\n\t\t\n\t\t/**\n\t\t * Nodes depth statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_stat( Math.min )\n\t\t * graph.depth_stat( Math.max )\n\t\t **/\n\t\tnodes_depth( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst stat = new Map< Node, number >()\n\t\t\tconst visit = ( node: Node, depth = 0 )=> {\n\t\t\t\t\n\t\t\t\tif( stat.has( node ) ) stat.set( node, select( depth, stat.get( node )! ) )\n\t\t\t\telse stat.set( node, depth )\n\t\t\t\t\n\t\t\t\tfor( const kid of this.edges_out.get( node )?.keys() ?? [] ) visit( kid, depth + 1 )\n\t\t\t\t\n\t\t\t}\n\t\t\tfor( const root of this.roots ) visit( root )\n\t\t\t\n\t\t\treturn stat\n\t\t}\n\t\t\n\t\t/**\n\t\t * Depth's Nodes statistics for acyclic graph\n\t\t * @example\n\t\t * graph.depth_nodes( Math.min )\n\t\t * graph.depth_nodes( Math.max )\n\t\t **/\n\t\tdepth_nodes( select: ( left: number, right: number )=> number ) {\n\t\t\t\n\t\t\tconst groups = [] as Node[][]\n\t\t\tfor( const [ node, depth ] of this.nodes_depth( select ).entries() ) {\n\t\t\t\t\n\t\t\t\tif( groups[ depth ] ) groups[ depth ].push( node )\n\t\t\t\telse groups[ depth ] = [ node ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn groups\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tlet sponge = new Uint32Array(80)\n\t\n\t/** Fast small sync SHA-1 (20 bytes, 160 bits) */\n\texport function $mol_crypto_hash( input: ArrayBufferView ) {\n\t\t\n\t\tconst data = input instanceof Uint8Array\n\t\t\t? input\n\t\t\t: new Uint8Array( input.buffer, input.byteOffset, input.byteLength )\n\t\t\n\t\tconst bits = data.byteLength << 3\n\t\tconst kbits = bits >> 5\n\t\tconst kword = 0x80 << ( 24 - bits & 0b11111 )\n\t\t\n\t\tconst bytes = 16 + ( bits + 64 >>> 9 << 4 )\n\t\tconst klens = bytes - 1\n\t\tconst words = new DataView( data.buffer, data.byteOffset, data.byteLength >> 2 << 2 )\n\t\t\n\t\tlet tail = 0\n\t\tfor( let i = words.byteLength; i < data.length; ++i ) {\n\t\t\ttail |= data[i] << ( ( 3 - i & 0b11 ) << 3 )\n\t\t}\n\t\t\n\t\t// Initial\n\t\tconst hash = new Int32Array([ 1732584193, -271733879, -1732584194, 271733878, -1009589776 ])\n\t\t\n\t\t// Digest\n\t\tfor( let i = 0; i < bytes; i += 16 ) {\n\t\t\t\n\t\t\tlet h0 = hash[0]\n\t\t\tlet h1 = hash[1]\n\t\t\tlet h2 = hash[2]\n\t\t\tlet h3 = hash[3]\n\t\t\tlet h4 = hash[4]\n\n\t\t\tfor( let j = 0; j < 16; ++j ) {\n\t\t\t\t\n\t\t\t\tconst k = i + j\n\t\t\t\tif( k === klens ) {\n\t\t\t\t\t\n\t\t\t\t\tsponge[j] = bits\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tconst pos = k << 2\n\t\t\t\t\tlet word =\n\t\t\t\t\t\tpos === words.byteLength ? tail :\n\t\t\t\t\t\tpos > words.byteLength ? 0 :\n\t\t\t\t\t\twords.getInt32( pos, false )\n\t\t\t\t\t\n\t\t\t\t\tif( k === kbits ) word |= kword\n\t\t\t\t\t\n\t\t\t\t\tsponge[j] = word\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 & h2 | ~h1 & h3 ) + 1518500249 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 16; j < 20; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 & h2 | ~h1 & h3 ) + 1518500249 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 20; j < 40; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 ^ h2 ^ h3 ) + 1859775393 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 40; j < 60; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 & h2 | h1 & h3 | h2 & h3 ) - 1894007588 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\tfor( let j = 60; j < 80; ++j ) {\n\t\t\t\t\n\t\t\t\tconst shuffle = sponge[j-3] ^ sponge[j-8] ^ sponge[j-14] ^ sponge[j-16]\n\t\t\t\tsponge[j] = shuffle << 1 | shuffle >>> 31\n\t\t\t\t\n\t\t\t\tconst next = ( ( h1 ^ h2 ^ h3 ) - 899497514 + h4 + ( sponge[j] >>> 0 ) + (( h0 << 5 )|( h0 >>> 27 )) )|0\n\n\t\t\t\th4 = h3\n\t\t\t\th3 = h2\n\t\t\t\th2 = ( h1 << 30 )|( h1 >>> 2 )\n\t\t\t\th1 = h0\n\t\t\t\th0 = next\n\t\t\t\t\n\t\t\t}\n\n\t\t\thash[0] += h0\n\t\t\thash[1] += h1\n\t\t\thash[2] += h2\n\t\t\thash[3] += h3\n\t\t\thash[4] += h4\n\t\t\t\n\t\t}\n\t\t\n\t\tfor( let i = 0; i < 20; ++i ) {\n\t\t\tconst word = hash[i]\n\t\t\thash[i] = word << 24 | word << 8 & 0xFF0000 | word >>> 8 & 0xFF00 | word >>> 24 & 0xFF // BE -> LE\n\t\t}\n\n\t\treturn new Uint8Array( hash.buffer )\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Universal binary package which contains some Faces/Units/Rocks */\n\texport type $hyoo_crus_pack_parts = {\n\t\t\n\t\tlands: Record< $hyoo_crus_ref, {\n\t\t\tfaces: $hyoo_crus_face_map,\n\t\t\tunits: $hyoo_crus_unit[],\n\t\t} >,\n\t\t\n\t\t/** List of BLOB identified by Hash. */\n\t\trocks: [ Uint8Array< ArrayBuffer >, null | Uint8Array< ArrayBuffer > ][],\n\t\t\n\t}\n\t\n\t/** Universal binary package which contains some Faces/Units/Rocks */\n\texport class $hyoo_crus_pack extends $mol_buffer {\n\t\t\n\t\ttoBlob() {\n\t\t\treturn new Blob( [ this ], { type: 'application/vnd.hyoo_crus_pack' } )\n\t\t}\n\t\t\n\t\tparts( land = null as $hyoo_crus_ref | null ) {\n\t\t\t\n\t\t\tconst lands = {} as $hyoo_crus_pack_parts[ 'lands' ]\n\t\t\tif( land ) lands[ land ] = { faces: new $hyoo_crus_face_map, units: [] }\n\t\t\t\n\t\t\tlet total = 0\n\t\t\t\n\t\t\tconst rocks = [] as $hyoo_crus_pack_parts[ 'rocks' ]\n\t\t\t\n\t\t\tconst buf = this.asArray()\n\t\t\t\n\t\t\tfor( let offset = 0; offset < this.byteLength; ) {\n\t\t\t\t\n\t\t\t\tconst kind = this.uint8( offset )\n\t\t\t\tif( !kind ) break\n\t\t\t\t\n\t\t\t\tif( kind % 2 ) {\n\t\t\t\t\t\n\t\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.land: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst faces = new $hyoo_crus_face_map\n\t\t\t\t\t\t\tfaces.total = this.uint32( offset ) >> 8\n\t\t\t\t\t\t\toffset += 4\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tland = $hyoo_crus_ref_decode(\n\t\t\t\t\t\t\t\tnew Uint8Array( buf.buffer, buf.byteOffset + offset, 18 )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\toffset += 20\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlands[ land ] = { faces, units: [] }\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.face: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst count = this.uint32( offset ) >> 8\n\t\t\t\t\t\t\toffset += 4\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst faces = lands[ land ].faces\n\t\t\t\t\t\t\tfor( let i = 0; i < count; ++i ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst peer = $mol_base64_ae_encode(\n\t\t\t\t\t\t\t\t\tnew Uint8Array( buf.buffer, buf.byteOffset + offset, 6 )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst time = this.uint48( offset + 6 )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tfaces.time_max( peer, time )\n\t\t\t\t\t\t\t\toffset += 12\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\toffset = Math.ceil( offset / 8 ) * 8\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.pass: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst unit = new $hyoo_crus_pass(\n\t\t\t\t\t\t\t\tbuf.slice( offset, offset += $hyoo_crus_unit.size ).buffer\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlands[ land ].units ||= []\n\t\t\t\t\t\t\tlands[ land ].units.push( unit )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.gift: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst unit = new $hyoo_crus_gift(\n\t\t\t\t\t\t\t\tbuf.slice( offset, offset += $hyoo_crus_unit.size ).buffer\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tlands[ land ].units ||= []\n\t\t\t\t\t\t\tlands[ land ].units.push( unit )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.rock: {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst size = this.uint32( offset ) >> 8\n\t\t\t\t\t\t\tif( size === 0 ) {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst hash = buf.slice( offset + 4, offset + 4 + 24 )\n\t\t\t\t\t\t\t\trocks.push([ hash, null ])\n\t\t\t\t\t\t\t\toffset += 4 + 24\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst rock = buf.slice( offset + 4, offset + 4 + size )\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tconst hash = $mol_crypto_hash( rock )\n\t\t\t\t\t\t\t\trocks.push([ hash, rock ])\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\toffset += Math.ceil( size / 8 + .5 ) * 8\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tcase $hyoo_crus_part.root:\n\t\t\t\t\t\tcase $hyoo_crus_part.buck: {\n\t\t\t\t\t\t\toffset += 128\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tdefault: $mol_fail( new Error( `Unknown CRUS Pack Part (${ kind.toString(2) }) at (${ offset.toString(16) })` ) )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tif( !land ) $mol_fail( new Error( 'Land is undefined' ) )\n\t\t\t\t\t\n\t\t\t\t\tconst unit = $hyoo_crus_sand.from(\n\t\t\t\t\t\tbuf.slice( offset, offset += $hyoo_crus_unit.size )\n\t\t\t\t\t)\n\t\t\t\t\t\n\t\t\t\t\tlands[ land ].units ||= []\n\t\t\t\t\tlands[ land ].units.push( unit )\n\t\t\t\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn { lands, rocks }\n\t\t\t\n\t\t}\n\t\n\t\tstatic make( { lands, rocks }: $hyoo_crus_pack_parts ) {\n\t\t\t\n\t\t\tlet size = 0\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( lands ) as $hyoo_crus_ref[] ) {\n\t\t\t\tsize += 24\n\t\t\t\t// if( lands[ land ].faces.size ) {\n\t\t\t\t\tsize += Math.ceil( lands[ land ].faces.size * 12 / 8 + .5 ) * 8\n\t\t\t\t// }\n\t\t\t\tsize += lands[ land ].units.length * $hyoo_crus_unit.size\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ hash, rock ] of rocks ) {\n\t\t\t\tsize += rock ? Math.ceil( rock.length / 8 + .5 ) * 8 : 24\n\t\t\t}\n\t\t\t\n\t\t\tif( size === 0 ) return null!\n\t\t\t\n\t\t\tconst buff = new Uint8Array( size )\n\t\t\tconst pack = new $hyoo_crus_pack( buff.buffer )\n\t\t\t\n\t\t\tlet offset = 0\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( lands ) as $hyoo_crus_ref[] ) {\n\t\t\t\t\n\t\t\t\tconst faces = lands[ land ].faces\n\t\t\t\t\n\t\t\t\tpack.uint32( offset, $hyoo_crus_part.land | ( faces.total << 8 ) )\n\t\t\t\tbuff.set( $hyoo_crus_ref_encode( land ), offset + 4 )\n\t\t\t\toffset += 24\n\t\t\t\t\n\t\t\t\t// if( !faces.size ) continue\n\t\t\t\t\n\t\t\t\tpack.uint32( offset, $hyoo_crus_part.face | ( faces.size << 8 ) )\n\t\t\t\toffset += 4\n\t\t\t\tfor( const [ peer, time ] of faces ) {\n\t\t\t\t\tbuff.set( $mol_base64_ae_decode( peer ), offset )\n\t\t\t\t\tpack.uint48( offset + 6, time )\n\t\t\t\t\toffset += 12\n\t\t\t\t}\n\t\t\t\toffset = Math.ceil( offset / 8 ) * 8\n\t\t\t\t\n\t\t\t\tfor( const unit of lands[ land ].units ) {\n\t\t\t\t\tbuff.set( unit.asArray(), offset )\n\t\t\t\t\toffset += unit.byteLength\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ hash, rock ] of rocks ) {\n\t\t\t\t\n\t\t\t\tconst len = rock?.length ?? 0\n\t\t\t\tpack.uint32( offset, $hyoo_crus_part.rock | ( len << 8 ) )\n\t\t\t\t\n\t\t\t\tif( rock ) buff.set( rock, offset + 4 )\n\t\t\t\telse buff.set( hash, offset + 4 )\n\t\t\t\n\t\t\t\toffset += rock ? Math.ceil( len / 8 + .5 ) * 8 : 24\n\t\t\t}\n\t\t\t\n\t\t\treturn pack\n\t\t}\n\t\t\n\t}\n\t\n\t\n\t\n}\n","namespace $ {\n\n\texport type $mol_time_interval_config = string | {\n\t\tstart? : $mol_time_moment_config\n\t\tend? : $mol_time_moment_config\n\t\tduration? : $mol_time_duration_config\n\t}\n\n\t/**\n\t * Small, simple, powerful, and fast TypeScript/JavaScript library for proper date/time/duration/interval arithmetic.\n\t *\n\t * Immutable iso8601 time interval representation.\n\t * @see http://localhost:9080/mol/app/docs/-/test.html#!demo=mol_time_demo\n\t */\n\texport class $mol_time_interval extends $mol_time_base {\n\n\t\tconstructor( config : $mol_time_interval_config ) {\n\t\t\t\n\t\t\tsuper()\n\t\t\t\n\t\t\tif( typeof config === 'string' ) {\n\t\t\t\t\n\t\t\t\tvar chunks = config.split( '/' )\n\t\t\t\t\n\t\t\t\tif( chunks[0] ) {\n\t\t\t\t\tif( chunks[0][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[0] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._start = new $mol_time_moment( chunks[0] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._start = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( chunks[1] ) {\n\t\t\t\t\tif( chunks[1][0].toUpperCase() === 'P' ) {\n\t\t\t\t\t\tthis._duration = new $mol_time_duration( chunks[1] )\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._end = new $mol_time_moment( chunks[1] )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis._end = new $mol_time_moment()\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tif( config.start !== undefined ) this._start = new $mol_time_moment( config.start )\n\t\t\tif( config.end !== undefined ) this._end = new $mol_time_moment( config.end )\n\t\t\tif( config.duration !== undefined ) this._duration = new $mol_time_duration( config.duration )\n\t\t}\n\n\t\tprivate _start : $mol_time_moment | undefined\n\t\tget start() {\n\t\t\tif( this._start ) return this._start\n\t\t\t\n\t\t\treturn this._start = this._end!.shift( this._duration!.mult( -1 ) )\n\t\t}\n\n\t\tprivate _end : $mol_time_moment | undefined\n\t\tget end() {\n\t\t\tif( this._end ) return this._end\n\t\t\t\n\t\t\treturn this._end = this._start!.shift( this._duration! )\n\t\t}\n\n\t\tprivate _duration : $mol_time_duration | undefined\n\t\tget duration() {\n\t\t\tif( this._duration ) return this._duration\n\t\t\t\n\t\t\treturn this._duration = new $mol_time_duration( this._end!.valueOf() - this._start!.valueOf() )\n\t\t}\n\n\t\ttoJSON() { return this.toString() }\n\n\t\ttoString( ) {\n\t\t\treturn ( this._start || this._duration || '' ).toString() + '/' + ( this._end || this._duration || '' ).toString()\n\t\t}\n\n\t\t[ Symbol.toPrimitive ]( mode: 'default' | 'number' | 'string' ) {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t}\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/** 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\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\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\t\n\ttype json = null | boolean | number | string | { [ key in string ]: json } | readonly json[]\n\t/** Supported primitive types. */\n\texport type $hyoo_crus_vary_type =\n\t| Uint8Array< ArrayBuffer > | bigint | $hyoo_crus_ref\n\t| BigInt64Array | Float64Array\n\t| $mol_time_moment | $mol_time_duration | $mol_time_interval\n\t| $mol_tree2 | json | Node\n\t\n\texport let $hyoo_crus_vary_mapping = {\n\t\t\n\t\tnil: null,\n\t\tbin: Uint8Array,\n\t\tbool: Boolean,\n\t\tint: BigInt,\n\t\treal: Number,\n\t\tints: BigInt64Array,\n\t\treals: Float64Array,\n\t\tref: Symbol,\n\t\t\n\t\tstr: String,\n\t\ttime: $mol_time_moment,\n\t\tdur: $mol_time_duration,\n\t\trange: $mol_time_interval,\n\t\tjson: Object,\n\t\tjsan: Array,\n\t\tdom: $mol_dom_context.Element,\n\t\ttree: $mol_tree2,\n\t\t\n\t}\n\t\n\texport type $hyoo_crus_vary_classes = typeof $hyoo_crus_vary_mapping[ keyof typeof $hyoo_crus_vary_mapping ]\n\t\n\t/** Universal binary package which contains some TIP and bin */\n\texport type $hyoo_crus_vary_pack = {\n\t\ttip: keyof typeof $hyoo_crus_vary_tip,\n\t\tbin: Uint8Array< ArrayBuffer >,\n\t}\n\t\n\t/** Hint how to interpret Data. */\n\texport enum $hyoo_crus_vary_tip {\n\t\t\n\t\t/** 0. No Data */\n\t\tnil = 0b00001,\n\t\t/** 0. Binary */\n\t\tbin = 0b00010,\n\t\t/** 1b * 32 * 8. Boolean */\n\t\tbool = 0b00011,\n\t\t/** 8B. int64 */\n\t\tint = 0b00100,\n\t\t/** 8B. float64 */\n\t\treal = 0b00101,\n\t\t/** 8B * n<=4. int64 */\n\t\tints = 0b00110,\n\t\t/** 8B * n<=4. float64 */\n\t\treals = 0b00111,\n\t\t/** 12B. Reference to Node/Land/Lord. */\n\t\tref = 0b01000,\n\t\t\n\t\t/** String */\n\t\tstr = 0b10000,\n\t\t/** iso8601 moment*/\n\t\ttime = 0b10001,\n\t\t/** iso8601 duration */\n\t\tdur = 0b10010,\n\t\t/** iso8601 interval */\n\t\trange = 0b10011,\n\t\t/** Plain Old JS Object. */\n\t\tjson = 0b10100, // json object\n\t\t/** Plain Old JS Array. */\n\t\tjsan = 0b10101,\n\t\t/** Document Object Model (xml, xhtml etc). */\n\t\tdom = 0b10110,\n\t\t/** Abstract Syntax Tree. */\n\t\ttree = 0b10111,\n\n\t}\n\t\n\texport function $hyoo_crus_vary_switch< Ways extends {\n\t\t\t\n\t\tnil: ( vary: null )=> any,\n\t\tbin: ( vary: Uint8Array< ArrayBuffer > )=> any,\n\t\tbool: ( vary: boolean )=> any,\n\t\tint: ( vary: bigint )=> any,\n\t\tints: ( vary: BigInt64Array< ArrayBuffer > )=> any,\n\t\treal: ( vary: number )=> any,\n\t\treals: ( vary: Float64Array< ArrayBuffer > )=> any,\n\t\tref: ( vary: $hyoo_crus_ref )=> any,\n\t\t\n\t\tstr: ( vary: string )=> any,\n\t\ttime: ( vary: $mol_time_moment )=> any,\n\t\tdur: ( vary: $mol_time_duration )=> any,\n\t\trange: ( vary: $mol_time_interval )=> any,\n\t\tjson: ( vary: {} )=> any,\n\t\tjsan: ( vary: any[] )=> any,\n\t\tdom: ( vary: Element )=> any,\n\t\ttree: ( vary: $mol_tree2 )=> any,\n\t\t\n\t} >(\n\t\tvary: $hyoo_crus_vary_type,\n\t\tways: Ways,\n\t): $mol_type_result< Ways[ keyof Ways ] > {\n\t\t\n\t\tif( vary === null ) return ways.nil( vary )\n\t\t\t\n\t\tswitch( typeof vary ) {\n\t\t\tcase \"boolean\": return ways.bool( vary )\n\t\t\tcase \"bigint\": return ways.int( vary )\n\t\t\tcase \"number\": return ways.real( vary )\n\t\t\tcase \"string\": return ways.str( vary )\n\t\t\tcase 'symbol': return ways.ref( vary )\n\t\t}\n\t\t\n\t\tswitch( Reflect.getPrototypeOf( vary ) ) {\n\t\t\tcase Object.prototype: return ways.json( vary )\n\t\t\tcase Array.prototype: return ways.jsan( vary as any[] )\n\t\t\tcase Uint8Array.prototype: return ways.bin( vary as Uint8Array< ArrayBuffer > )\n\t\t\tcase BigInt64Array.prototype: return ways.ints( vary as BigInt64Array< ArrayBuffer > )\n\t\t\tcase Float64Array.prototype: return ways.reals( vary as Float64Array< ArrayBuffer > )\n\t\t\tcase $mol_time_moment.prototype: return ways.time( vary as $mol_time_moment )\n\t\t\tcase $mol_time_duration.prototype: return ways.dur( vary as $mol_time_duration )\n\t\t\tcase $mol_time_interval.prototype: return ways.range( vary as $mol_time_interval )\n\t\t\tcase $mol_tree2.prototype: return ways.tree( vary as $mol_tree2 )\n\t\t}\n\t\t\n\t\tif( vary instanceof $mol_dom_context.Element ) return ways.dom( vary )\n\t\t\n\t\treturn $mol_fail( new TypeError( `Unsupported vary type` ) )\n\t}\n\t\n\texport function $hyoo_crus_vary_encode( vary: $hyoo_crus_vary_type ): $hyoo_crus_vary_pack {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => ({ tip: 'nil' as const, bin: new Uint8Array([]) }),\n\t\t\tbin: vary => ({ tip: 'bin' as const, bin: vary }),\n\t\t\tbool: vary => ({ tip: 'bool' as const, bin: new Uint8Array([ Number( vary ) ]) }),\n\t\t\tint: vary => ({ tip: 'int' as const, bin: new Uint8Array( new BigInt64Array([ vary ]).buffer ) }),\n\t\t\tints: vary => ({ tip: 'ints' as const, bin: new Uint8Array( vary.buffer, vary.byteLength, vary.byteLength ) }),\n\t\t\treal: vary => ({ tip: 'real' as const, bin: new Uint8Array( new Float64Array([ vary ]).buffer ) }),\n\t\t\treals: vary => ({ tip: 'reals' as const, bin: new Uint8Array( vary.buffer, vary.byteLength, vary.byteLength ) }),\n\t\t\tref: vary => ({ tip: 'ref' as const, bin: $hyoo_crus_ref_encode( vary ) }),\n\t\t\t\n\t\t\tstr: vary => ({ tip: 'str' as const, bin: $mol_charset_encode( vary ) }),\n\t\t\ttime: vary => ({ tip: 'time' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\tdur: vary => ({ tip: 'dur' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\trange: vary => ({ tip: 'range' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\tjson: vary => ({ tip: 'json' as const, bin: $mol_charset_encode( JSON.stringify( vary ) ) }),\n\t\t\tjsan: vary => ({ tip: 'jsan' as const, bin: $mol_charset_encode( JSON.stringify( vary ) ) }),\n\t\t\tdom: vary => ({ tip: 'dom' as const, bin: $mol_charset_encode( $mol_dom_serialize( vary ) ) }),\n\t\t\ttree: vary => ({ tip: 'tree' as const, bin: $mol_charset_encode( String( vary ) ) }),\n\t\t\t\n\t\t} )\n\t}\n\t\n\texport function $hyoo_crus_vary_decode( { tip, bin }: $hyoo_crus_vary_pack ): $hyoo_crus_vary_type {\n\t\tswitch( tip ) {\n\t\t\t\n\t\t\tcase 'nil': return null\n\t\t\tcase 'bin': return bin\n\t\t\tcase 'bool': return Boolean( bin[0] )\n\t\t\tcase 'int': return new BigInt64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )[0]\n\t\t\tcase 'ints': return new BigInt64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )\n\t\t\tcase 'real': return new Float64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )[0]\n\t\t\tcase 'reals': return new Float64Array( bin.buffer, bin.byteOffset, bin.byteLength / 8 )\n\t\t\tcase 'ref': return $hyoo_crus_ref_decode( bin )\n\t\t\t\n\t\t\tcase 'str': return $mol_charset_decode( bin )\n\t\t\tcase 'time': return new $mol_time_moment( $mol_charset_decode( bin ) )\n\t\t\tcase 'dur': return new $mol_time_duration( $mol_charset_decode( bin ) )\n\t\t\tcase 'range': return new $mol_time_interval( $mol_charset_decode( bin ) )\n\t\t\tcase 'json': return JSON.parse( $mol_charset_decode( bin ) )\n\t\t\tcase 'jsan': return JSON.parse( $mol_charset_decode( bin ) )\n\t\t\tcase 'dom': return $mol_dom_parse( $mol_charset_decode( bin ) ).documentElement\n\t\t\tcase 'tree': return $$.$mol_tree2_from_string( $mol_charset_decode( bin ) )\n\t\t\t\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\texport let $mol_jsx_prefix = ''\n\texport let $mol_jsx_crumbs = ''\n\n\texport let $mol_jsx_booked = null as null | Set< string >\n\t\n\texport let $mol_jsx_document : $mol_jsx.JSX.ElementClass['ownerDocument'] = {\n\t\tgetElementById : ()=> null ,\n\t\tcreateElementNS : ( space: string, name : string )=> $mol_dom_context.document.createElementNS( space, name ) as any,\n\t\tcreateDocumentFragment : ()=> $mol_dom_context.document.createDocumentFragment(),\n\t}\n\t\n\texport const $mol_jsx_frag = ''\n\n\t/**\n\t * JSX adapter that makes DOM tree.\n\t * Generates global unique ids for every DOM-element by components tree with ids.\n\t * Ensures all local ids are unique.\n\t * Can reuse an existing nodes by GUIDs when used inside [`mol_jsx_attach`](https://github.com/hyoo-ru/mam_mol/tree/master/jsx/attach).\n\t */\n\texport function $mol_jsx<\n\t\tProps extends $mol_jsx.JSX.IntrinsicAttributes,\n\t\tChildren extends Array< Node | string >\n\t>(\n\t\tElem : string\n\t\t\t| ( ( props : Props , ... children : Children ) => Element ) ,\n\t\tprops : Props ,\n\t\t... childNodes : Children\n\t) : Element | DocumentFragment {\n\n\t\tconst id = props && props.id || ''\n\t\tconst guid = id ? $mol_jsx_prefix ? $mol_jsx_prefix + '/'+ id : id : $mol_jsx_prefix\n\t\tconst crumbs_self = id ? $mol_jsx_crumbs.replace( /(\\S+)/g, `$1_${ id.replace( /\\/.*/i, '' ) }` ) : $mol_jsx_crumbs\n\t\t\n\t\tif( Elem && $mol_jsx_booked ) {\n\t\t\tif( $mol_jsx_booked.has( id ) ) {\n\t\t\t\t$mol_fail( new Error( `JSX already has tag with id ${ JSON.stringify( guid ) }` ) )\n\t\t\t} else {\n\t\t\t\t$mol_jsx_booked.add( id )\n\t\t\t}\n\t\t}\n\n\t\tlet node: Element | DocumentFragment | null = guid ? $mol_jsx_document.getElementById( guid ) : null\n\n\t\tif( $mol_jsx_prefix ) {\n\t\t\t\n\t\t\tconst prefix_ext = $mol_jsx_prefix\n\t\t\tconst booked_ext = $mol_jsx_booked\n\t\t\tconst crumbs_ext = $mol_jsx_crumbs\n\t\t\t\n\t\t\tfor( const field in props ) {\n\t\t\t\t\n\t\t\t\tconst func = props[ field ]\n\t\t\t\tif( typeof func !== 'function' ) continue\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tconst wrapper = function( this: any, ... args: any[] ) {\n\t\t\t\t\t\n\t\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\t\n\t\t\t\t\ttry {\n\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix_ext\n\t\t\t\t\t\t$mol_jsx_booked = booked_ext\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs_ext\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn func.call( this, ... args )\n\t\t\t\t\t\t\n\t\t\t\t\t} finally {\n\t\t\t\t\t\t\n\t\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\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\t$mol_func_name_from( wrapper, func )\n\t\t\t\tprops[ field ] = wrapper as any\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tif( typeof Elem !== 'string' ) {\n\n\t\t\tif( 'prototype' in Elem ) {\n\n\t\t\t\tconst view = node && (node as any)[ String(Elem) ] || new ( Elem as any )\n\t\t\t\t\n\t\t\t\tObject.assign( view , props )\n\t\t\t\tview[ Symbol.toStringTag ] = guid\n\t\t\t\t\n\t\t\t\tview.childNodes = childNodes\n\t\t\t\t\n\t\t\t\tif( !view.ownerDocument ) view.ownerDocument = $mol_jsx_document\n\t\t\t\tview.className = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\t\t\t\n\t\t\t\tnode = view.valueOf()\n\t\t\t\t\n\t\t\t\t;(node as any)![ String(Elem) ] = view\n\t\t\t\t\n\t\t\t\treturn node!\n\n\t\t\t} else {\n\n\t\t\t\tconst prefix = $mol_jsx_prefix\n\t\t\t\tconst booked = $mol_jsx_booked\n\t\t\t\tconst crumbs = $mol_jsx_crumbs\n\t\t\t\t\n\t\t\t\ttry {\n\t\n\t\t\t\t\t$mol_jsx_prefix = guid\n\t\t\t\t\t$mol_jsx_booked = new Set\n\t\t\t\t\t$mol_jsx_crumbs = ( crumbs_self ? crumbs_self + ' ' : '' ) + ( Elem['name'] || Elem )\n\t\n\t\t\t\t\treturn ( Elem as any )( props , ... childNodes )\n\t\t\t\t\t\n\t\t\t\t} finally {\n\n\t\t\t\t\t$mol_jsx_prefix = prefix\n\t\t\t\t\t$mol_jsx_booked = booked\n\t\t\t\t\t$mol_jsx_crumbs = crumbs\n\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( !node ) {\n\t\t\tnode = Elem\n\t\t\t\t? $mol_jsx_document.createElementNS( props?.xmlns ?? 'http://www.w3.org/1999/xhtml', Elem )\n\t\t\t\t: $mol_jsx_document.createDocumentFragment()\n\t\t}\n\n\t\t$mol_dom_render_children( node , ( [] as ( Node | string )[] ).concat( ... childNodes ) )\n\t\tif( !Elem ) return node\n\n\t\tif( guid ) ( node as Element ).id = guid\n\t\tfor( const key in props ) {\n\t\t\tif( key === 'id' ) continue\n\t\t\t\n\t\t\tif( typeof props[ key ] === 'string' ) {\n\t\t\t\t\n\t\t\t\tif( typeof (node as any)[ key ] === 'string' ) (node as any)[ key ] = props[ key ]\n\t\t\t\t;( node as Element ).setAttribute( key , (props as any)[ key ] )\n\t\t\t\t\n\t\t\t} else if(\n\t\t\t\tprops[ key ] &&\n\t\t\t\ttypeof props[ key ] === 'object' &&\n\t\t\t\tReflect.getPrototypeOf( props[ key ] as any ) === Reflect.getPrototypeOf({})\n\t\t\t) {\n\n\t\t\t\tif( typeof (node as any)[ key ] === 'object' ) {\n\t\t\t\t\tObject.assign( ( node as any )[ key ] , props[ key ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t} else {\n\n\t\t\t\t(node as any)[ key ] = props[ key ]\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\n\t\tif( $mol_jsx_crumbs ) ( node as Element ).className = ( (props as any)?.['class'] ? (props as any)['class'] + ' ' : '' ) + crumbs_self\n\n\t\treturn node\n\n\t}\n\n\texport declare namespace $mol_jsx.JSX {\n\n\t\texport interface Element extends HTMLElement {\n\t\t\tclass?: string\n\t\t}\n\t\t\n\t\texport interface ElementClass {\n\t\t\tattributes : {}\n\t\t\townerDocument : Pick< Document , 'getElementById' | 'createElementNS' | 'createDocumentFragment' >\n\t\t\tchildNodes : Array< Node | string >\n\t\t\tvalueOf() : Element\n\t\t}\n\t\t\n\t\ttype OrString< Dict > = {\n\t\t\t[ key in keyof Dict ]: Dict[ key ] | string\n\t\t}\n\t\t\n\t\t/** Props for html elements */\n\t\texport type IntrinsicElements = {\n\t\t\t[ key in keyof ElementTagNameMap ]? : $.$mol_type_partial_deep< OrString<\n\t\t\t\t& Element\n\t\t\t\t& IntrinsicAttributes\n\t\t\t\t& ElementTagNameMap[ key ]\n\t\t\t> >\n\t\t}\n\t\t\n\t\t/** Additional undeclared props */\n\t\texport interface IntrinsicAttributes {\n\t\t\tid? : string\n\t\t\txmlns? : string\n\t\t}\n\t\t\n\t\texport interface ElementAttributesProperty {\n\t\t\tattributes : {\n\t\t\t}\n\t\t}\n\t\t\n\t\t// export type IntrinsicClassAttributes< Class > = $.$mol_type_partial_deep< Omit< Class , 'valueOf' > >\n\t\t\n\t\tinterface ElementChildrenAttribute {\n\t\t}\n\t\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_bin_to_bytes( tree : $mol_tree2 ) {\n\t\treturn Uint8Array.from( tree.kids , kid => parseInt( kid.value , 16 ) )\n\t}\n\n\texport function $mol_tree2_bin_from_bytes(\n\t\tbytes : ArrayLike< number >,\n\t\tspan = $mol_span.unknown,\n\t) {\n\t\t\n\t\treturn $mol_tree2.list( Array.from( bytes , code => {\n\t\t\treturn $mol_tree2.data( code.toString( 16 ).padStart( 2 , '0' ) , [] , span )\n\t\t} ) , span )\n\t\t\n\t}\n\n\texport function $mol_tree2_bin_from_string(\n\t\tstr : string,\n\t\tspan = $mol_span.unknown,\n\t) {\n\t\treturn $mol_tree2_bin_from_bytes( [ ... new TextEncoder().encode( str ) ] , span )\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\texport function $mol_tree2_xml_from_dom( dom: Node ): $mol_tree2 {\n\t\t\n\t\tswitch( dom.nodeType ) {\n\t\t\t\n\t\t\tcase dom.DOCUMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tkids.push( $mol_tree2_xml_from_dom( kid ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.list( kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.PROCESSING_INSTRUCTION_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '?', [\n\t\t\t\t\t$mol_tree2.struct( dom.nodeName, \n\t\t\t\t\t\tdom.nodeValue!.split(' ').map( chunk => {\n\t\t\t\t\t\t\tconst [, name, value ] = /^(.*?)(?:=\"(.*?)\")?$/.exec( chunk )!\n\t\t\t\t\t\t\tconst kids = value ? [ $mol_tree2.data( value ) ] : []\n\t\t\t\t\t\t\treturn $mol_tree2.struct( name, kids )\n\t\t\t\t\t\t} )\n\t\t\t\t\t)\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.DOCUMENT_TYPE_NODE: {\n\t\t\t\tconst dom2 = dom as DocumentType\n\t\t\t\treturn $mol_tree2.struct( '!', [\n\t\t\t\t\t$mol_tree2.struct( 'DOCTYPE', [ \n\t\t\t\t\t\t$mol_tree2.struct( dom2.name )\n\t\t\t\t\t] )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.ELEMENT_NODE: {\n\t\t\t\tlet kids = [] as $mol_tree2[]\n\t\t\t\t\n\t\t\t\tfor( const attr of ( dom as Element ).attributes ) {\n\t\t\t\t\tkids.push(\n\t\t\t\t\t\t$mol_tree2.struct( '@', [\n\t\t\t\t\t\t\t$mol_tree2.struct( attr.nodeName, [\n\t\t\t\t\t\t\t\t$mol_tree2.data( attr.nodeValue! )\n\t\t\t\t\t\t\t] )\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\tfor( const kid of dom.childNodes ) {\n\t\t\t\t\tconst k = $mol_tree2_xml_from_dom( kid ) \n\t\t\t\t\tif( k.type || k.value ) kids.push( k )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn $mol_tree2.struct( dom.nodeName, kids )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.COMMENT_NODE: {\n\t\t\t\treturn $mol_tree2.struct( '--', [\n\t\t\t\t\t$mol_tree2.data( dom.nodeValue! )\n\t\t\t\t] )\n\t\t\t}\n\t\t\t\n\t\t\tcase dom.TEXT_NODE: {\n\t\t\t\tif( !dom.nodeValue!.trim() ) return $mol_tree2.list([])\n\t\t\t\treturn $mol_tree2.data(\n\t\t\t\t\tdom.nodeValue!.replace( /\\s+/g, ' ' )\n\t\t\t\t)\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $mol_fail( new Error( `Unsupported node ${ dom.nodeName }` ) )\n\t}\n\t\n}\n","/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\texport function $hyoo_crus_vary_cast_bin( vary: $hyoo_crus_vary_type ): Uint8Array | null {\n\t\treturn vary === null || vary === '' ? null : $hyoo_crus_vary_encode( vary ).bin\n\t}\n\t\n\texport function $hyoo_crus_vary_cast_bool( vary: $hyoo_crus_vary_type ): boolean | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => Boolean( vary.length ),\n\t\t\tbool: vary => vary,\n\t\t\tint: vary => Boolean( vary ),\n\t\t\treal: vary => Boolean( vary ),\n\t\t\tints: vary => Boolean( vary.length ),\n\t\t\treals: vary => Boolean( vary.length ),\n\t\t\tref: vary => Boolean( vary.description ),\n\t\t\t\n\t\t\tstr: vary => Boolean( vary ),\n\t\t\ttime: vary => Boolean( vary.valueOf() ),\n\t\t\tdur: vary => Boolean( vary.valueOf() ),\n\t\t\trange: vary => Boolean( vary.duration.valueOf() ),\n\t\t\tjson: vary => Boolean( Reflect.ownKeys( vary ).length ),\n\t\t\tjsan: vary => Boolean( vary.length ),\n\t\t\tdom: vary => Boolean( vary.attributes.length + vary.childNodes.length ),\n\t\t\ttree: vary => Boolean( vary.value || vary.kids.length ),\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_int( vary: $hyoo_crus_vary_type ): bigint | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => BigInt( vary.length ),\n\t\t\tbool: vary => BigInt( vary ),\n\t\t\tint: vary => vary,\n\t\t\treal: vary => Number.isFinite( vary ) ? BigInt( Math.trunc( vary ) ) : null,\n\t\t\tints: vary => BigInt( vary.length ),\n\t\t\treals: vary => BigInt( vary.length ),\n\t\t\tref: vary => null,//$mol_base64_ae_decode( vary.description!.slice( 0, 16 ) ) + ( BigInt( vary.land() ) << 64n ) + ( BigInt( vary.head() ) << 96n ),\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? BigInt( vary ) : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\t\n\t\t\ttime: vary => BigInt( vary.valueOf() ),\n\t\t\tdur: vary => BigInt( vary.valueOf() ),\n\t\t\trange: vary => BigInt( vary.duration.valueOf() ),\n\t\t\t\n\t\t\tjson: vary => BigInt( Reflect.ownKeys( vary ).length ),\n\t\t\tjsan: vary => BigInt( vary.length ),\n\t\t\tdom: vary => BigInt( vary.attributes.length + vary.childNodes.length ),\n\t\t\t\n\t\t\ttree: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn BigInt( vary.value )\n\t\t\t\t} catch {\n\t\t\t\t\treturn BigInt( vary.kids.length )\n\t\t\t\t}\n\t\t\t},\n\t\t\t\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_real( vary: $hyoo_crus_vary_type ): number | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => vary.length,\n\t\t\tbool: vary => Number( vary ),\n\t\t\tint: vary => Number( vary ),\n\t\t\treal: vary => vary,\n\t\t\tints: vary => vary.length,\n\t\t\treals: vary => vary.length,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => vary ? Number( vary ) : null,\n\t\t\ttime: vary => vary.valueOf(),\n\t\t\tdur: vary => vary.valueOf(),\n\t\t\trange: vary => vary.duration.valueOf(),\n\t\t\tjson: vary => Reflect.ownKeys( vary ).length,\n\t\t\tjsan: vary => vary.length,\n\t\t\tdom: vary => Number( vary.attributes.length + vary.childNodes.length ),\n\t\t\ttree: vary => Number( vary.value || vary.kids.length ),\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_ints( vary: $hyoo_crus_vary_type ): BigInt64Array | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => new BigInt64Array( [ ... vary ].map( BigInt ) ),\n\t\t\tbool: vary => vary ? new BigInt64Array([ 1n ]) : null,\n\t\t\tint: vary => new BigInt64Array([ vary ]),\n\t\t\treal: vary => Number.isFinite( vary ) ? new BigInt64Array([ BigInt( vary ) ]) : null,\n\t\t\tints: vary => vary,\n\t\t\treals: vary => new BigInt64Array( [ ... vary ].map( BigInt ) ),\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\treturn new BigInt64Array( vary.split( ',' ).map( v => BigInt(v) || 0n ) )\n\t\t\t},\n\t\t\ttime: vary => new BigInt64Array([ BigInt( vary.valueOf() ) ]),\n\t\t\tdur: vary => new BigInt64Array([ BigInt( vary.valueOf() ) ]),\n\t\t\trange: vary => null,\n\t\t\tjson: vary => null,\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_reals( vary: $hyoo_crus_vary_type ): Float64Array | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => new Float64Array( [ ... vary ] ),\n\t\t\tbool: vary => vary ? new Float64Array([ 1 ]) : null,\n\t\t\tint: vary => new Float64Array([ Number( vary ) ]),\n\t\t\treal: vary => ( vary && Number.isFinite( vary ) ) ? new Float64Array([ vary ]) : null,\n\t\t\tints: vary => new Float64Array( [ ... vary ].map( Number ) ),\n\t\t\treals: vary => vary,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\treturn new Float64Array( vary.split( ',' ).map( v => Number(v) || 0 ) )\n\t\t\t},\n\t\t\ttime: vary => new Float64Array([ vary.valueOf() ]),\n\t\t\tdur: vary => new Float64Array([ vary.valueOf() ]),\n\t\t\trange: vary => null,\n\t\t\tjson: vary => null,\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_ref( vary: $hyoo_crus_vary_type ): $hyoo_crus_ref | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => ( !vary.length || vary.length % 6 ) ? null : $hyoo_crus_ref_decode( vary ),\n\t\t\tbool: vary => null,\n\t\t\tint: vary => null,\n\t\t\treal: vary => null,\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => vary,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn $hyoo_crus_ref( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => null,\n\t\t\tdur: vary => null,\n\t\t\trange: vary => null,\n\t\t\tjson: vary => null,\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn $hyoo_crus_ref( vary.type )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_str( vary: $hyoo_crus_vary_type ): string | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => [ ... vary ].map( n => n.toString(16).padStart( 2, '0' ) ).join( '' ),\n\t\t\tbool: vary => String( vary ),\n\t\t\tint: vary => String( vary ),\n\t\t\treal: vary => String( vary ),\n\t\t\tints: vary => vary.join(','),\n\t\t\treals: vary => vary.join(','),\n\t\t\tref: vary => vary.description!,\n\t\t\t\n\t\t\tstr: vary => vary,\n\t\t\ttime: vary => String( vary ),\n\t\t\tdur: vary => String( vary ),\n\t\t\trange: vary => String( vary ),\n\t\t\tjson: vary => JSON.stringify( vary ),\n\t\t\tjsan: vary => JSON.stringify( vary ),\n\t\t\tdom: vary => $mol_dom_serialize( vary ),\n\t\t\ttree: vary => String( vary ),\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_time( vary: $hyoo_crus_vary_type ): $mol_time_moment | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => new $mol_time_moment( Number( vary & 0xFFFFFFFFFFFFn ) ),\n\t\t\treal: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_moment( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? new $mol_time_moment( vary ) : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => vary,\n\t\t\tdur: vary => null,\n\t\t\trange: vary => null,\n\t\t\tjson: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_moment( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_dur( vary: $hyoo_crus_vary_type ): $mol_time_duration | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => new $mol_time_duration( Number( vary & 0xFFFFFFFFFFFFn ) ),\n\t\t\treal: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_duration( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_duration( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => null,\n\t\t\tdur: vary => vary,\n\t\t\trange: vary => null,\n\t\t\tjson: vary => new $mol_time_duration( vary as any ),\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_range( vary: $hyoo_crus_vary_type ): $mol_time_interval | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => null,\n\t\t\treal: vary => null,\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? new $mol_time_interval( vary ) : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => new $mol_time_interval({ start: vary, duration: 0 }),\n\t\t\tdur: vary => null,\n\t\t\trange: vary => vary,\n\t\t\tjson: vary => {\n\t\t\t\ttry {\n\t\t\t\t\treturn new $mol_time_interval( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\tjsan: vary => null,\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_json( vary: $hyoo_crus_vary_type ): {} | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => null,\n\t\t\tbool: vary => null,\n\t\t\tint: vary => null,\n\t\t\treal: vary => null,\n\t\t\tints: vary => null,\n\t\t\treals: vary => null,\n\t\t\tref: vary => null,\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\tconst res = JSON.parse( vary )\n\t\t\t\t\tif( typeof res === 'object' ) return res\n\t\t\t\t\treturn null\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => ({ ... vary }),\n\t\t\tdur: vary => ({ ... vary }),\n\t\t\trange: vary => ({ ... vary }),\n\t\t\tjson: vary => vary,\n\t\t\tjsan: vary => Object( vary[0] ),\n\t\t\tdom: vary => null,\n\t\t\ttree: vary => null,\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_jsan( vary: $hyoo_crus_vary_type ): any[] | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => [ ... vary ],\n\t\t\tbool: vary => [ vary ],\n\t\t\tint: vary => [ vary.toString() ],\n\t\t\treal: vary => Number.isFinite( vary ) ? [ vary ] : null,\n\t\t\tints: vary => [ ... vary ].map( v => Number( v ) ),\n\t\t\treals: vary => [ ... vary ],\n\t\t\tref: vary => [ vary.description! ],\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\treturn [].concat( JSON.parse( vary ) )\n\t\t\t\t} catch {\n\t\t\t\t\treturn [ vary ]\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => [ vary.toJSON() ],\n\t\t\tdur: vary => [ vary.toJSON() ],\n\t\t\trange: vary => [ vary.toJSON() ],\n\t\t\tjson: vary => [ vary ],\n\t\t\tjsan: vary => vary,\n\t\t\tdom: vary => [ $mol_dom_serialize( vary ) ],\n\t\t\ttree: vary => [ vary.toString() ],\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_dom( vary: $hyoo_crus_vary_type ): Element | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => { vary && $mol_base64_ae_encode( vary ) },\n\t\t\tbool: vary => { vary },\n\t\t\tint: vary => { vary },\n\t\t\treal: vary => { vary },\n\t\t\tints: vary => { vary.join(',') },\n\t\t\treals: vary => { vary.join(',') },\n\t\t\tref: vary => { vary.description },\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\treturn vary ? $mol_dom_parse( vary, 'application/xhtml+xml' ).documentElement : null\n\t\t\t\t} catch {\n\t\t\t\t\treturn { vary }\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => { vary },\n\t\t\tdur: vary => { vary },\n\t\t\trange: vary => { vary },\n\t\t\tjson: vary => { JSON.stringify( vary ) },\n\t\t\tjsan: vary => { JSON.stringify( vary ) },\n\t\t\tdom: vary => vary,\n\t\t\ttree: vary => { vary },\n\t\t\t\n\t\t})\n\t}\n\n\texport function $hyoo_crus_vary_cast_tree( vary: $hyoo_crus_vary_type ): $mol_tree2 | null {\n\t\treturn $hyoo_crus_vary_switch( vary, {\n\t\t\t\n\t\t\tnil: vary => null,\n\t\t\tbin: vary => $mol_tree2_bin_from_bytes( vary ),\n\t\t\tbool: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tint: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\treal: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tints: vary => $mol_tree2.list( [ ... vary ].map( v => $mol_tree2.struct( v.toString() ) ) ),\n\t\t\treals: vary => $mol_tree2.list( [ ... vary ].map( v => $mol_tree2.struct( v.toString() ) ) ),\n\t\t\tref: vary => $mol_tree2.struct( vary.description! ),\n\t\t\t\n\t\t\tstr: vary => {\n\t\t\t\tif( !vary ) return null\n\t\t\t\ttry {\n\t\t\t\t\treturn $$.$mol_tree2_from_string( vary )\n\t\t\t\t} catch {\n\t\t\t\t\treturn $$.$mol_tree2.data( vary )\n\t\t\t\t}\n\t\t\t},\n\t\t\ttime: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tdur: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\trange: vary => $mol_tree2.struct( vary.toString() ),\n\t\t\tjson: vary => $$.$mol_tree2_from_json( vary ),\n\t\t\tjsan: vary => $$.$mol_tree2_from_json( vary ),\n\t\t\tdom: vary => $$.$mol_tree2_xml_from_dom( vary ),\n\t\t\ttree: vary => vary,\n\t\t\t\n\t\t})\n\t}\n\n\texport const $hyoo_crus_vary_cast_funcs = {\n\t\t\t\n\t\tnil: ()=> null,\n\t\tbin: $hyoo_crus_vary_cast_bin,\n\t\tbool: $hyoo_crus_vary_cast_bool,\n\t\tint: $hyoo_crus_vary_cast_int,\n\t\treal: $hyoo_crus_vary_cast_real,\n\t\tints: $hyoo_crus_vary_cast_ints,\n\t\treals: $hyoo_crus_vary_cast_reals,\n\t\tref: $hyoo_crus_vary_cast_ref,\n\t\t\n\t\tstr: $hyoo_crus_vary_cast_str,\n\t\ttime: $hyoo_crus_vary_cast_time,\n\t\tdur: $hyoo_crus_vary_cast_dur,\n\t\trange: $hyoo_crus_vary_cast_range,\n\t\tjson: $hyoo_crus_vary_cast_json,\n\t\tjsan: $hyoo_crus_vary_cast_jsan,\n\t\tdom: $hyoo_crus_vary_cast_dom,\n\t\ttree: $hyoo_crus_vary_cast_tree,\n\t\t\n\t} as const\n\t\n\texport function $hyoo_crus_vary_cast<\n\t\tTip extends keyof typeof $hyoo_crus_vary_tip\n\t>(\n\t\ttip: Tip,\n\t\tvary: $hyoo_crus_vary_type,\n\t) {\n\t\treturn $hyoo_crus_vary_cast_funcs[ tip ]( vary )\n\t}\n\t\n}\n","namespace $ {\n\texport function $mol_guard_defined(value: T): value is NonNullable {\n\t\treturn value !== null && value !== undefined\n\t}\n}\n","namespace $ {\n export class $mol_bus< Data > extends $mol_object {\n\t\t\n readonly channel: BroadcastChannel\n\t\t\n\t\tconstructor(\n\t\t\treadonly name: string,\n\t\t\treadonly handle: ( data: Data )=> void\n\t\t) {\n\t\t\tsuper()\n const channel = new BroadcastChannel( name )\n channel.onmessage = ( event: MessageEvent< Data > )=> this.handle( event.data )\n\t\t\tthis.channel = channel\n }\n\t\t\n\t\tdestructor() {\n\t\t\tthis.channel.close()\n\t\t}\n\t\t\n\t\tsend( data: Data ) {\n\t\t\tthis.channel.postMessage( data )\n\t\t}\n\t\t\n }\n}\n","namespace $ {\n\texport function $hyoo_crus_log( this: $ ) {\n\t\treturn this.$mol_state_arg.value( 'hyoo_crus_log' ) !== null\n\t}\n}\n","namespace $ {\n\t\n\t/** Starts subtasks concurrently instead of serial. */\n\texport function $mol_wire_race<\n\t\tTasks extends ( ( ... args: any )=> any )[]\n\t>( ... tasks: Tasks ): {\n\t\t[ index in keyof Tasks ]: ReturnType< Tasks[ index ] > \n\t} {\n\t\t\n\t\tconst results = tasks.map( task => {\n\t\t\t\n\t\t\ttry {\n\t\t\t\treturn task()\n\t\t\t} catch( error ) {\n\t\t\t\treturn error\n\t\t\t}\n\t\t\t\n\t\t} )\n\t\t\n\t\tconst promises = results.filter( res => $mol_promise_like( res ) )\n\t\tif( promises.length ) $mol_fail( Promise.race( promises ) )\n\t\t\n\t\tconst error = results.find( res => res instanceof Error )\n\t\tif( error ) $mol_fail( error )\n\t\t\n\t\treturn results as any\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crus_land_root {\n\t\tdata = '', // 0\n\t\ttine = 'AQAAAAAA', // 1\n\t}\n\t\n\t/** Standalone part of Glob which syncs separately, have own rights, and contains Units */\n\texport class $hyoo_crus_land extends $mol_object {\n\t\t\n\t\t/** Auth Independent actor with global unique id generated from Auth key */\n\t\tref() {\n\t\t\treturn this.auth().lord()\n\t\t}\n\t\t\n\t\t/** Auth Private key generated with Proof of Work */\n\t\tauth() {\n\t\t\treturn this.$.$hyoo_crus_auth.current()\n\t\t}\n\t\t\n\t\tfaces = new $hyoo_crus_face_map\n\n\t\tpass = new $mol_wire_dict< string /*peer*/, $hyoo_crus_pass >()\n\t\tgift = new $mol_wire_dict< $hyoo_crus_ref /*lord*/, $hyoo_crus_gift >()\n\t\tsand = new $mol_wire_dict< string /*head*/, $mol_wire_dict< string /*peer*/, $mol_wire_dict< string /*self*/, $hyoo_crus_sand > > >()\n\t\t\n\t\tself_all = new $mol_wire_dict< string, $hyoo_crus_sand | null >()\n\t\t\n\t\t@ $mol_action\n\t\tself_make( idea = Math.floor( Math.random() * 2**48 ) ) {\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst rank = this.lord_rank( auth.lord() )\n\t\t\t\n\t\t\tif( rank < $hyoo_crus_rank_tier.post ) $mol_fail( new Error( `Rank too low (${ rank })` ) )\n\t\t\t\n\t\t\tfor( let i = 0; i < 4096; ++i ) {\n\t\t\t\t\n\t\t\t\tidea = ( idea + 1 ) % 2**48\n\t\t\t\tif( !idea ) continue\n\t\t\t\t\n\t\t\t\tconst idea_str = $mol_base64_ae_encode( new Uint8Array( new BigUint64Array([ BigInt( idea ) ]).buffer, 0, 6 ) )\n\t\t\t\tif( this.self_all.has( idea_str ) ) continue\n\t\t\t\t\n\t\t\t\tthis.self_all.set( idea_str, null )\n\t\t\t\treturn idea_str\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t$mol_fail( new Error( `Too long self generation` ) )\n\t\t}\n\t\t\n\t\t/** Land where Lord is King. Contains only ain info */\n\t\thome() {\n\t\t\treturn this.Data( $hyoo_crus_home )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tarea_make( idea = Math.floor( Math.random() * 2**48 ) ) {\n\t\t\t\n\t\t\tthis.loading()\n\t\t\t\n\t\t\tconst id = $mol_base64_ae_encode( new Uint8Array( new BigUint64Array([ BigInt( idea ) ]).buffer, 0, 6 ) )\n\t\t\tconst ref = $hyoo_crus_ref( $hyoo_crus_ref_lord( this.ref() ).description! + '_' + id )\n\t\t\t\n\t\t\tconst area = this.$.$hyoo_crus_glob.Land( ref )\n\t\t\tconst units = this.unit_sort([ ... this.pass.values(), ... this.gift.values() ]).map( unit => {\n\t\t\t\tconst clone = $hyoo_crus_unit.from( unit ).narrow()\n\t\t\t\tclone._land = area\n\t\t\t\t$hyoo_crus_unit_trusted.add( clone )\n\t\t\t\treturn clone\n\t\t\t} )\n\t\t\tconst errors = area.apply_unit( units, 'skip_check' ).filter( Boolean )\n\t\t\t\n\t\t\tfor( const error of errors ) this.$.$mol_log3_warn({\n\t\t\t\tplace: `${this}.area_make()`,\n\t\t\t\tmessage: error,\n\t\t\t\thint: 'Send it to developer',\n\t\t\t})\n\t\t\t\n\t\t\tarea.bus()\n\t\t\tarea.sync_mine()\n\t\t\tarea.sync_yard()\n\t\t\t\n\t\t\treturn area\n\t\t}\n\t\t\n\t\t/** Data root */\n\t\t@ $mol_mem_key\n\t\tData< Node extends typeof $hyoo_crus_node >( Node: Node ) {\n\t\t\treturn this.Node( Node ).Item( $hyoo_crus_land_root.data )\n\t\t} \n\t\t\n\t\t/** Lands for inheritance */\n\t\t@ $mol_mem\n\t\tTine() {\n\t\t\treturn this.Node( $hyoo_crus_list_ref ).Item( $hyoo_crus_land_root.tine ) \n\t\t} \n\t\t\n\t\t/** High level representation of stored data */\n\t\t@ $mol_mem_key\n\t\tNode< Node extends typeof $hyoo_crus_node >( Node: Node ): $hyoo_crus_fund< string, InstanceType< Node > > {\n\t\t\treturn new $hyoo_crus_fund( ( head: string )=> {\n\t\t\t\tif( head === 'AAAAAAAA' ) return this.Node( Node ).Item( $hyoo_crus_land_root.data )\n\t\t\t\treturn ( Node as typeof $hyoo_crus_node ).make({\n\t\t\t\t\tland: ()=> this.sync(),\n\t\t\t\t\thead: $mol_const( head ),\n\t\t\t\t}) as InstanceType< Node >\n\t\t\t} )\n\t\t} \n\t\t\n\t\t/** Total count of Units inside Land. */\n\t\t@ $mol_mem\n\t\ttotal() {\n\t\t\tlet total = this.pass.size + this.gift.size\n\t\t\tfor( const peers of this.sand.values() ) {\n\t\t\t\tfor( const units of peers.values() ) {\n\t\t\t\t\ttotal += units.size\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn total\n\t\t}\n\t\t\n\t\t/** All joined Lords. */\n\t\t@ $mol_mem\n\t\tjoined_list() {\n\t\t\treturn [ ... this.pass.values() ].map( unit => unit.lord() )\n\t\t}\n\t\t\n\t\t/** Public key of Land Lord. */\n\t\t@ $mol_mem\n\t\tkey() {\n\t\t\tconst pass = this.pass.get( $hyoo_crus_ref_peer( this.ref() ) )\n\t\t\tif( !pass ) return null\n\t\t\treturn $hyoo_crus_auth.from( pass.auth() )\n\t\t}\n\t\t\n\t\t/** Rights level of Lord for Land. */\n\t\t@ $mol_mem_key\n\t\tlord_rank( lord: $hyoo_crus_ref, next?: typeof $hyoo_crus_rank.Value ): typeof $hyoo_crus_rank.Value {\n\t\t\t\n\t\t\tif( lord === $hyoo_crus_ref_lord( this.ref() ) ) return $hyoo_crus_rank_rule\n\t\t\t\n\t\t\tconst prev = this.gift.get( lord )?.rank()\n\t\t\t\t?? this.gift.get( $hyoo_crus_ref( '' ) )?.rank()\n\t\t\t\t?? ( this.encrypted() ? $hyoo_crus_rank_deny : $hyoo_crus_rank_read )\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( next === prev ) return prev\n\t\t\t\n\t\t\tthis.give( lord, next )\n\t\t\treturn next\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Rights level of Peer for Land. */\n\t\tpeer_rank( peer: string ) {\n\t\t\t\n\t\t\tconst auth = this.pass.get( peer )!\n\t\t\tif( auth ) return this.lord_rank( auth.lord() )\n\t\t\t\n\t\t\treturn this.encrypted() ? $hyoo_crus_rank_deny : $hyoo_crus_rank_read\n\t\t\t\n\t\t}\n\t\t\n\t\tunit_sort( units: readonly $hyoo_crus_unit[] ) {\n\t\t\n\t\t\tconst dict = new Map< string, $hyoo_crus_unit >()\n\t\t\tfor( const unit of units ) dict.set( unit.key(), unit )\n\t\t\t\n\t\t\tconst lord = $hyoo_crus_ref_lord( this.ref() )\n\t\t\t\n\t\t\tconst graph = new $mol_graph< string, void >()\n\t\t\tfor( const unit of units ) {\n\t\t\t\tunit.choose({\n\t\t\t\t\tpass: pass => {\n\t\t\t\t\t\tif( pass.lord() === lord ) return\n\t\t\t\t\t\tgraph.link( pass.key(), 'gift:' )\n\t\t\t\t\t},\n\t\t\t\t\tgift: gift => {\n\t\t\t\t\t\tgraph.link( 'pass:' + $hyoo_crus_ref_peer( gift.dest() ), gift.key() )\n\t\t\t\t\t\tgraph.link( gift.key(), 'pass:' + gift.peer() )\n\t\t\t\t\t},\n\t\t\t\t\tsand: sand=> {\n\t\t\t\t\t\tgraph.link( sand.key(), 'pass:' + sand.peer() )\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tgraph.acyclic( ()=> 1 ) \n\t\t\t\n\t\t\treturn [ ... graph.sorted ].map( key => dict.get( key )! ).filter( Boolean )\n\t\n\t\t}\n\t\t\n\t\t/** Picks units between Face and current state. */\n\t\tdelta_unit( face = new $hyoo_crus_face_map ): $hyoo_crus_unit[] {\n\t\t\t\n\t\t\tthis.loading()\n\t\t\t\n\t\t\tconst delta = [] as $hyoo_crus_unit[]\n\t\t\t\n\t\t\tconst passed = new Set< string >()\n\t\t\tconst auth = ( peer: string )=> {\n\t\t\t\t\n\t\t\t\tif( passed.has( peer ) ) return\n\t\t\t\tif( face.get( peer ) ) return\n\t\t\t\t\n\t\t\t\tconst pass = this.pass.get( peer )\n\t\t\t\tif( !pass ) $mol_fail( new Error( `No pass for Peer (${ peer })` ) )\n\t\t\t\t\n\t\t\t\tdelta.push( pass )\n\t\t\t\tpassed.add( peer )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ lord, unit ] of this.gift ) {\n\t\t\t\t\n\t\t\t\tconst time = face.get( unit.peer() ) ?? 0\n\t\t\t\tif( time >= unit.time() ) continue\n\t\t\t\t\n\t\t\t\tauth( unit.peer() )\n\t\t\t\tdelta.push( unit )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const kids of this.sand.values() ) {\n\t\t\t\tfor( const peers of kids.values() ) {\n\t\t\t\t\tfor( const unit of peers.values() ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst time = face.get( unit.peer() ) ?? 0\n\t\t\t\t\t\tif( time >= unit.time() ) continue\n\t\t\t\t\t\t\n\t\t\t\t\t\tauth( unit.peer() )\n\t\t\t\t\t\tdelta.push( unit )\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ peer, unit ] of this.pass ) {\n\t\t\t\t\n\t\t\t\tif( passed.has( peer ) ) continue\n\t\t\t\tif( face.has( unit.peer() ) ) continue\n\t\t\t\t\n\t\t\t\tdelta.push( unit )\n\t\t\t\tpassed.add( peer )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tif( delta.length || this.faces.total <= this.faces.total ) return delta\n\t\t\t\n\t\t\tthis.$.$mol_log3_warn({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Unit Absent',\n\t\t\t\thint: 'Relax, Delta contains all Units to restore',\n\t\t\t\tface,\n\t\t\t})\n\t\t\t\n\t\t\treturn this.delta_unit()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes binary Delta between Face and current state. */\n\t\tdelta_pack( face = new $hyoo_crus_face_map ) {\n\t\t\t\n\t\t\tconst parts = this.delta_parts( face )\n\t\t\tif( !parts ) return null\n\t\t\t\n\t\t\tconst pack = $hyoo_crus_pack.make( parts )\n\t\t\t\n\t\t\treturn pack\n\t\t}\n\t\t\n\t\tdelta_parts( face = new $hyoo_crus_face_map ) {\n\t\t\t\n\t\t\tconst units = this.delta_unit( face )\n\t\t\tif( !units.length ) return null\n\t\t\t\n\t\t\tconst rocks = [] as [ Uint8Array< ArrayBuffer >, null | Uint8Array< ArrayBuffer > ][]\n\t\t\t\n\t\t\tfor( let unit of units ) {\n\t\t\t\t\n\t\t\t\tif( unit.kind() !== 'sand' ) continue\n\t\t\t\t\n\t\t\t\tconst sand = unit.narrow() as $hyoo_crus_sand\n\t\t\t\tif( sand.size() <= 32 ) continue\n\t\t\t\t\n\t\t\t\tconst rock = this.$.$hyoo_crus_mine.rock( sand.hash() ) ?? null\n\t\t\t\trocks.push([ sand.hash(), rock ])\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn {\n\t\t\t\tlands: {\n\t\t\t\t\t[ this.ref() ]: {\n\t\t\t\t\t\tfaces: new $hyoo_crus_face_map,\n\t\t\t\t\t\tunits,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\trocks,\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tfaces_pack() {\n\t\t\tconst pack = $hyoo_crus_pack.make({\n\t\t\t\tlands: {\n\t\t\t\t\t[ this.ref() ]: { faces: this.faces, units: [] },\n\t\t\t\t},\n\t\t\t\trocks: [],\n\t\t\t})\n\t\t\treturn pack\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state with verify. */\n\t\t@ $mol_action\n\t\tapply_unit( delta: readonly $hyoo_crus_unit[], skip_check?: 'skip_check' ) {\n\t\t\t\n\t\t\tif( !delta.length ) return []\n\t\t\t\n\t\t\tif( !skip_check ) this.loading()\n\t\t\t\n\t\t\tconst doubt = delta.filter( unit => !$hyoo_crus_unit_trusted.has( unit ) )\n\t\t\tif( doubt.length ) {\n\t\t\t\tconst errors = $mol_wire_sync( this ).units_verify( doubt )\n\t\t\t\tif( errors.some( v => v ) ) return errors\n\t\t\t}\n\t\t\t\n\t\t\tconst errors = this.apply_unit_trust( delta, skip_check )\n\t\t\t\n\t\t\tfor( const unit of doubt ) $hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\treturn errors\n\t\t}\n\t\t\n\t\tasync units_verify( units: readonly $hyoo_crus_unit[] ) {\n\t\t\t\n\t\t\tconst passes = units.filter( unit => unit.kind() === 'pass' ) as $hyoo_crus_pass[]\n\t\t\tconst auth = new Map( passes.map( ( unit: $hyoo_crus_pass )=> [\n\t\t\t\tunit.peer(),\n\t\t\t\t$mol_crypto_key_public.from( unit.auth() ),\n\t\t\t] ) )\n\t\t\t\n\t\t\tconst mixin = $hyoo_crus_ref_encode( this.ref() )\n\t\t\tconst mixin_lord = $hyoo_crus_ref_encode( $hyoo_crus_ref_lord( this.ref() ) )\n\t\t\t\n\t\t\treturn await Promise.all( units.map( async unit => {\n\t\t\t\t\n\t\t\t\tlet key_public = this.key_public( unit.peer() )\n\t\t\t\tif( !key_public ) key_public = auth.get( unit.peer() ) ?? null\n\t\t\t\tif( !key_public ) return `No public key for peer (${unit.peer()})`\n\t\t\t\t\n\t\t\t\tconst sign = unit.sign()\n\t\t\t\t\n\t\t\t\tlet sens = unit.sens().slice()\n\t\t\t\tfor( let i = 0; i < mixin.length; ++i ) sens[i+2] ^= mixin[i]\n\t\t\t\tif( await key_public.verify( sens, sign ) ) return ''\n\t\t\t\t\n\t\t\t\tsens = unit.sens().slice()\n\t\t\t\tfor( let i = 0; i < mixin_lord.length; ++i ) sens[i+2] ^= mixin_lord[i]\n\t\t\t\tif( await key_public.verify( sens, sign ) ) return ''\n\t\t\t\t\n\t\t\t\treturn `Wrong unit sign`\n\t\n\t\t\t} ) )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state without verifying. */\n\t\t@ $mol_action\n\t\tapply_unit_trust( delta: readonly $hyoo_crus_unit[], skip_check?: 'skip_check' ) {\n\t\t\treturn delta.map( unit => {\n\t\t\t\t\n\t\t\t\tlet need_recheck = false\n\t\t\t\tconst res = unit.choose({\n\t\t\t\t\t\n\t\t\t\t\tpass: next => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst lord = next.lord()\n\t\t\t\t\t\tconst peer = next.peer()\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !skip_check && this.lord_rank( lord ) < next.rank_min() ) return 'Need reg rank to join'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst exists = this.pass.get( peer )\n\t\t\t\t\t\tif( exists ) return ''\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.pass.set( peer, next )\n\t\t\t\t\t\tthis.faces.time_max( peer, 0 )\n\t\t\t\t\t\tthis.faces.total ++\n\t\t\t\t\t\t\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tgift: next => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst peer = next.peer()\n\t\t\t\t\t\tconst dest = next.dest()\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !skip_check && this.peer_rank( peer ) < next.rank_min() ) return 'Need law rank to change rank'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst prev = this.gift.get( dest )\n\t\t\t\t\t\tif( prev && $hyoo_crus_gift.compare( prev, next ) <= 0 ) return ''\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.gift.set( dest, next )\n\t\t\t\t\t\tthis.faces.time_max( peer, next.time() )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !prev ) this.faces.total ++\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( ( prev?.rank() ?? $hyoo_crus_rank_deny ) > next.rank() ) need_recheck = true\n\t\t\t\t\t\t\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tsand: next => {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst head = next.head()\n\t\t\t\t\t\tconst peer = next.peer()\n\t\t\t\t\t\tconst self = next.self()\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !skip_check && this.peer_rank( peer ) < next.rank_min() ) return 'Need mod rank to post data'\n\n\t\t\t\t\t\tlet peers = this.sand.get( head )\n\t\t\t\t\t\tif( !peers ) this.sand.set( head, peers = new $mol_wire_dict )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tlet units = peers.get( peer )\n\t\t\t\t\t\tif( !units ) peers.set( peer, units = new $mol_wire_dict )\n\t\t\t\t\t\t\t\n\t\t\t\t\t\tconst prev = units.get( self )\n\t\t\t\t\t\tif( prev && $hyoo_crus_sand.compare( prev, next ) <= 0 ) return ''\n\t\t\t\t\t\t\n\t\t\t\t\t\tunits.set( self, next )\n\t\t\t\t\t\tthis.self_all.set( self, next )\n\t\t\t\t\t\tthis.faces.time_max( peer, next.time() )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !prev ) this.faces.total ++\n\t\t\t\t\t\t\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\tif( need_recheck ) this.recheck()\n\t\t\t\treturn res ?? ''\n\t\t\t\t\n\t\t\t})\n\t\t}\n\t\t\n\t\tapply_land( land: $hyoo_crus_land ) {\n\t\t\treturn this.apply_unit( land.delta_unit() )\n\t\t}\n\t\t\n\t\trecheck() {\n\t\t\t\n\t\t\tfor( const [ peer, pass ] of this.pass ) {\n\t\t\t\tif( this.lord_rank( pass.lord() ) >= pass.rank_min() ) continue\n\t\t\t\tthis.pass.delete( peer )\n\t\t\t\tthis.faces.total --\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ lord, gift ] of this.gift ) {\n\t\t\t\tif( this.peer_rank( gift.peer() ) >= gift.rank_min() ) continue\n\t\t\t\tthis.gift.delete( lord )\n\t\t\t\tthis.faces.total --\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ head, peers ] of this.sand ) {\n\t\t\t\tfor( const [ peer, sands ] of peers ) {\n\t\t\t\t\tconst rank = this.peer_rank( peer )\n\t\t\t\t\tfor( const [ self, sand ] of sands ) {\n\t\t\t\t\t\tif( rank >= sand.rank_min() ) continue\n\t\t\t\t\t\tsands.delete( self )\n\t\t\t\t\t\tthis.faces.total --\n\t\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_action\n\t\tfork( preset: $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\tconst land = this.$.$hyoo_crus_glob.land_grab( preset )\n\t\t\tland.Tine().items_vary([ this.ref() ])\n\t\t\treturn land\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsand_ordered( { head, peer }: { head: string, peer: string | null } ) {\n\t\t\t\n\t\t\tthis.sync()\n\t\t\t// this.secret() // early async to prevent async on put\n\t\t\t\n\t\t\tconst queue = peer\n\t\t\t\t? [ ... this.sand.get( head )?.get( peer )?.values() ?? [] ]\n\t\t\t\t: [ ... this.sand.get( head )?.values() ?? [] ].flatMap( units => [ ... units.values() ] )\n\t\t\t\n\t\t\tconst slices = new Map\n\t\t\tfor( const sand of queue ) slices.set( sand, 0 )\n\t\t\t\n\t\t\tmerge: if( head !== $hyoo_crus_land_root.tine ) {\n\t\t\t\t\n\t\t\t\tconst tines = ( this.Tine()?.items_vary().slice().reverse() ?? [] )\n\t\t\t\t\t.map( $hyoo_crus_vary_cast_ref )\n\t\t\t\t\t.filter( $mol_guard_defined )\n\t\t\t\tif( !tines.length ) break merge\n\t\t\t\t\n\t\t\t\tconst exists = new Set( queue.map( sand => sand.self() ) )\n\t\t\t\t\n\t\t\t\tconst glob = this.$.$hyoo_crus_glob\n\t\t\t\tlet slice = 0\n\t\t\t\tfor( const ref of tines ) {\n\t\t\t\t\t++ slice\n\t\t\t\t\tconst land = glob.Land( ref )\n\t\t\t\t\tfor( const sand of land.sand_ordered({ head, peer }) ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( exists.has( sand.self() ) ) continue\n\t\t\t\t\t\tqueue.push( sand )\n\t\t\t\t\t\texists.add( sand.self() )\n\t\t\t\t\t\tslices.set( sand, slice )\n\t\t\t\t\t\t\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( queue.length < 2 ) return queue\n\t\t\t\n\t\t\tconst compare = ( left: $hyoo_crus_sand, right: $hyoo_crus_sand )=> {\n\t\t\t\treturn ( slices.get( left ) - slices.get( right ) ) || $hyoo_crus_sand.compare( left, right )\n\t\t\t}\n\t\t\t\n\t\t\tqueue.sort( compare )\n\t\t\t\n\t\t\tlet entry = {\n\t\t\t\tsand: null as null | $hyoo_crus_sand,\n\t\t\t\tnext: '',\n\t\t\t\tprev: '',\n\t\t\t}\n\t\t\t\n\t\t\tconst key = peer === null ? ( sand: $hyoo_crus_sand )=> sand.key() : ( sand: $hyoo_crus_sand )=> sand.self()\n\t\t\t\n\t\t\tconst by_key = new Map([ [ '', entry ] ])\n\t\t\tconst by_self = new Map([ [ '', entry ] ])\n\t\t\t\n\t\t\twhile( queue.length ) {\n\t\t\t\t\n\t\t\t\tconst last = queue.pop()!\n\t\t\t\tby_key.get( entry.prev )!.next = key( last )\n\t\t\t\t\n\t\t\t\tconst item = { sand: last, next: '', prev: entry.prev }\n\t\t\t\tby_key.set( key( last ), item )\n\t\t\t\t\n\t\t\t\tconst exists = by_self.get( last.self() )\n\t\t\t\tif( !exists || compare( exists.sand!, last ) < 0 ) {\n\t\t\t\t\tby_self.set( last.self(), item )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tentry.prev = key( last )\n\t\t\t\t\n\t\t\t\tfor( let cursor = queue.length - 1; cursor >= 0; --cursor ) {\n\t\t\t\t\t\n\t\t\t\t\tconst kid = queue[cursor]\n\t\t\t\t\t\n\t\t\t\t\tlet lead = by_self.get( kid.lead() )\n\t\t\t\t\tif( !lead ) continue\n\t\t\t\t\t\n\t\t\t\t\twhile( lead.next && ( compare( by_key.get( lead.next )!.sand!, kid ) < 0 ) ) lead = by_key.get( lead.next )!\n\t\t\t\t\t\n\t\t\t\t\tconst exists1 = by_key.get( key( kid ) )\n\t\t\t\t\tif( exists1 ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( ( lead.sand ? key( lead.sand ) : '' ) === exists1.prev ) {\n\t\t\t\t\t\t\texists1.sand = kid\n\t\t\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tby_key.get( exists1.prev )!.next = exists1.next\n\t\t\t\t\t\tby_key.get( exists1.next )!.prev = exists1.prev\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst follower = by_key.get( lead.next )!\n\t\t\t\t\tfollower.prev = key( kid )\n\t\t\t\t\t\n\t\t\t\t\tconst item = { sand: kid, next: lead.next, prev: lead.sand ? key( lead.sand ) : '' }\n\t\t\t\t\tby_key.set( key( kid ), item )\n\t\t\t\t\t\n\t\t\t\t\tconst exists2 = by_self.get( kid.self() )\n\t\t\t\t\tif( !exists2 || compare( exists2.sand!, kid ) < 0 ) {\n\t\t\t\t\t\tby_self.set( kid.self(), item )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tlead.next = key( kid )\n\t\t\t\t\t\n\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\tcursor = queue.length\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\tconst res = [] as $hyoo_crus_sand[]\n\t\t\t\n\t\t\twhile( entry.next ) {\n\t\t\t\tentry = by_key.get( entry.next )!\n\t\t\t\tres.push( entry.sand! )\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\t/** Register public key **/\n\t\t@ $mol_action\n\t\tjoin() {\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\t\n\t\t\tconst prev = this.pass.get( auth.peer() )\n\t\t\tif( prev ) return prev\n\t\t\t\n\t\t\tconst next = new $hyoo_crus_pass\n\t\t\t$hyoo_crus_unit_trusted.add( next )\n\t\t\tnext.auth( auth.public().asArray() )\n\t\t\tnext._land = this\n\t\t\t\n\t\t\tconst error = this.apply_unit([ next ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\tthis.broadcast()\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/**\n\t\t * Gives access rights to Lord by Auth key.\n\t\t * `null` - gives rights for all Peers.\n\t\t */\n\t\t@ $mol_action\n\t\tgive(\n\t\t\tdest: $hyoo_crus_auth | $hyoo_crus_ref | null,\n\t\t\trank: typeof $hyoo_crus_rank.Value,\n\t\t) {\n\t\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst unit = new $hyoo_crus_gift\n\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\tunit.rank( rank )\n\t\t\tunit.time( this.faces.tick() )\n\t\t\tunit.peer( auth.peer() )\n\t\t\tunit.dest( dest ? dest instanceof $hyoo_crus_auth ? dest.lord() : dest : $hyoo_crus_ref('') )\n\t\t\tunit._land = this\n\t\t\t\n\t\t\tif( rank >= $hyoo_crus_rank_read ) {\n\t\t\t\t\n\t\t\t\tconst secret_land = this.secret()\n\t\t\t\tif( secret_land ) {\n\t\t\t\t\t\n\t\t\t\t\tif( !dest ) $mol_fail( new Error( `Encrypted land can't be shared to everyone` ) )\n\t\t\t\t\t\n\t\t\t\t\t// const prev = this.gift.get( dest instanceof $hyoo_crus_auth ? dest.lord() : dest )\n\t\t\t\t\t// if( prev && prev.rank() >= $hyoo_crus_rank_read ) {\n\t\t\t\t\t// \tunit.bill().set( prev.bill() ) // need reencrypt with new salt\n\t\t\t\t\t// } else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( typeof dest === 'symbol' ) {\n\t\t\t\t\t\t\t$mol_fail( new Error( `No pub key for lord (${ dest.description! })` ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\t\tconst secret_mutual = this.secret_mutual( dest.toString() )\n\t\t\t\t\t\tif( secret_mutual ) {\n\t\t\t\t\t\t\tconst secret_bin = $mol_wire_sync( secret_land ).serial()\n\t\t\t\t\t\t\tconst bill = $mol_wire_sync( secret_mutual ).encrypt( secret_bin, unit.salt() )\n\t\t\t\t\t\t\tunit.bill().set( bill )\n\t\t\t\t\t\t}\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\tconst error = this.apply_unit([ unit ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\tthis.broadcast()\n\t\t\treturn unit\n\t\t}\n\t\t\n\t\t/** Places data to tree. */\n\t\t@ $mol_action\n\t\tpost(\n\t\t\tlead: string,\n\t\t\thead: string,\n\t\t\tself: string,\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\t\n\t\t\tif( typeof vary === 'symbol' ) vary = $hyoo_crus_ref_relate( this.ref(), vary )\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst unit = new $hyoo_crus_sand\n\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\tunit.time( this.faces.tick() )\n\t\t\tunit.peer( auth.peer() )\n\t\t\tunit.lead( lead )\n\t\t\tunit.head( head )\n\t\t\tunit._vary = vary\n\t\t\tunit._land = this\n\t\t\t\n\t\t\tlet { tip, bin } = $hyoo_crus_vary_encode( vary )\n\t\t\tunit._open = bin\n\t\t\t\n\t\t\tif( vary !== null && this.encrypted() ) {\n\t\t\t\tunit.hash( $mol_crypto_hash( bin ), tip, tag )\n\t\t\t} else {\n\t\t\t\tif( bin.byteLength > 32 ) unit.hash( this.$.$hyoo_crus_mine.hash( bin ), tip, tag )\n\t\t\t\telse unit.data( bin, tip, tag )\n\t\t\t}\n\t\t\t\n\t\t\tunit.self( self || this.self_make( unit.idea() ) )\n\t\t\t\n\t\t\tconst error = this.apply_unit([ unit ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\tthis.broadcast()\n\t\t\treturn unit\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsand_move(\n\t\t\tsand: $hyoo_crus_sand,\n\t\t\thead: string,\n\t\t\tseat: number,\n\t\t\tpeer = '' as string | null\n\t\t) {\n\t\t\t\n\t\t\tif( sand.tip() === 'nil' ) $mol_fail( new RangeError( `Can't move wiped sand` ) )\n\t\t\t\n\t\t\tconst units = this.sand_ordered({ head, peer }).filter( unit => unit.tip() !== 'nil' )\n\t\t\tif( seat > units.length ) $mol_fail( new RangeError( `Seat (${seat}) out of units length (${units.length})` ) )\n\t\t\t\n\t\t\tconst lead = seat ? units[ seat - 1 ].self() : ''\n\t\t\tconst vary = this.sand_decode( sand )\n\t\t\t\n\t\t\tif( sand.head() === head ) {\n\t\t\t\t\n\t\t\t\tconst seat_prev = units.indexOf( sand )\n\t\t\t\t\n\t\t\t\tif( seat === seat_prev ) return\n\t\t\t\tif( seat === seat_prev + 1 ) return\n\t\t\t\t\n\t\t\t\tconst prev = seat_prev ? units[ seat_prev - 1 ].self() : ''\n\t\t\t\tconst next = units[ seat_prev + 1 ]\n\t\t\t\t\n\t\t\t\tif( next ) this.post(\n\t\t\t\t\tprev,\n\t\t\t\t\thead,\n\t\t\t\t\tnext.self(),\n\t\t\t\t\tthis.sand_decode( next ),\n\t\t\t\t\tnext.tag(),\n\t\t\t\t)\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.sand_wipe( sand )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn this.post(\n\t\t\t\tlead,\n\t\t\t\thead,\n\t\t\t\tsand.self(),\n\t\t\t\tvary,\n\t\t\t\tsand.tag(),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsand_wipe(\n\t\t\tsand: $hyoo_crus_sand,\n\t\t\tpeer = '' as string | null,\n\t\t) {\n\t\t\t\n\t\t\tconst head = sand.head()\n\t\t\tconst units = this.sand_ordered({ head, peer }).filter( unit => unit.tip() !== 'nil' )\n\t\t\tconst seat = units.indexOf( sand )\n\t\t\tif( seat < 0 ) return sand\n\t\t\t\n\t\t\treturn this.post(\n\t\t\t\tseat ? units[ seat - 1 ].self() : '',\n\t\t\t\thead,\n\t\t\t\tsand.self(),\n\t\t\t\tnull,\n\t\t\t\t'term',\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tbroadcast() {\n\t\t\tthis.$.$hyoo_crus_glob.yard().lands_news.add( this.ref() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\tthis.loading()\n\t\t\tthis.bus()\n\t\t\tthis.sync_mine()\n\t\t\tthis.sync_yard()\n\t\t\treturn this\n\t\t}\n\t\t\n\t\tdestructor() {\n\t\t\tthis.$.$hyoo_crus_glob.yard().forget_land( this )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_mine() {\n\t\t\treturn new $mol_wire_atom( '', ()=> this.saving() ).fresh()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_yard() {\n\t\t\treturn new $mol_wire_atom( '', ()=> this.$.$hyoo_crus_glob.yard().sync_land( this.ref() ) ).fresh()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbus() {\n\t\t\treturn new this.$.$mol_bus< ArrayBuffer[] >(\n\t\t\t\t`$hyoo_crus_land:${ this.ref().description }`,\n\t\t\t\t$mol_wire_async( bins => {\n\t\t\t\t\t\n\t\t\t\t\tthis.apply_unit( bins.map( bin => {\n\t\t\t\t\t\tconst unit = new $hyoo_crus_unit( bin ).narrow()\n\t\t\t\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\t\t\tthis.$.$hyoo_crus_mine.units_persisted.add( unit )\n\t\t\t\t\t\treturn unit\n\t\t\t\t\t} ) )\n\t\t\t\t\t\n\t\t\t\t} ),\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tloading() {\n\t\t\t\n\t\t\t// $mol_wire_solid()\n\t\t\t\n\t\t\tlet units = this.unit_sort( this.$.$hyoo_crus_mine.units( this.ref() ) ?? [] )\n\t\t\t\n\t\t\tif( this.$.$hyoo_crus_log() ) $mol_wire_sync( this.$ ).$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Load Unit',\n\t\t\t\tunits: units.length,\n\t\t\t})\n\t\t\t\n\t\t\tconst errors = this.apply_unit( units, 'skip_check' ).filter( Boolean )\n\t\t\t\n\t\t\tif( errors.length ) this.$.$mol_log3_fail({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: errors.join( '\\n' ),\n\t\t\t})\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsaving() {\n\t\t\t\n\t\t\tconst mine = this.$.$hyoo_crus_mine\n\t\t\tif( !mine ) return\n\t\t\t\n\t\t\tthis.loading()\n\t\t\t\n\t\t\tconst encoding = [] as $hyoo_crus_sand[]\n\t\t\tconst signing = [] as $hyoo_crus_unit[]\n\t\t\tconst persisting = [] as $hyoo_crus_unit[]\n\t\t\t\n\t\t\tfor( const pass of this.pass.values() ) {\n\t\t\t\tif( !pass.signed() ) signing.push( pass )\n\t\t\t\tif( !mine.units_persisted.has( pass ) ) persisting.push( pass )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const gift of this.gift.values() ) {\n\t\t\t\tif( !gift.signed() ) signing.push( gift )\n\t\t\t\tif( !mine.units_persisted.has( gift ) ) persisting.push( gift )\n\t\t\t}\n\t\t\t\n\t\t\tfor( const kids of this.sand.values() ) {\n\t\t\t\tfor( const units of kids.values() ) {\n\t\t\t\t\tfor( const sand of units.values() ) {\n\t\t\t\t\t\tif( !sand.signed() ) {\n\t\t\t\t\t\t\tencoding.push( sand )\n\t\t\t\t\t\t\tsigning.push( sand )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif( !mine.units_persisted.has( sand ) ) persisting.push( sand )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_race( ... encoding.map( unit => ()=> this.sand_encode( unit ) ) )\n\t\t\t$mol_wire_race( ... signing.map( unit => ()=> this.unit_sign( unit ) ) )\n\t\t\t\n\t\t\tif( persisting.length )\t{\n\t\t\t\t\n\t\t\t\tthis.bus().send( persisting.map( unit => unit.buffer ) )\n\t\t\t\tmine.units( this.ref(), persisting )\n\t\t\t\n\t\t\t\tif( this.$.$hyoo_crus_log() ) $mol_wire_sync( this.$ ).$mol_log3_done({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: 'Saved Units',\n\t\t\t\t\tunits: persisting.length,\n\t\t\t\t})\n\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tunit_sign( unit: $hyoo_crus_unit ) {\n\t\t\tif( unit.signed() ) return\n\t\t\t\n\t\t\tconst key = $mol_wire_sync( unit._land!.auth() )\n\t\t\tconst mixin = $hyoo_crus_ref_encode( unit._land!.ref() )\n\t\t\t\n\t\t\tconst sens = unit.sens().slice()\n\t\t\tfor( let i = 0; i < mixin.length; ++i ) sens[i+2] ^= mixin[i]\n\t\t\t\n\t\t\twhile( true ) {\n\t\t\t\t\n\t\t\t\tconst sign = key.sign( sens )\n\t\t\t\tunit.sign( sign.slice( 0, 2 ) )\n\t\t\t\t\n\t\t\t\tconst rank = unit instanceof $hyoo_crus_pass\n\t\t\t\t\t? this.lord_rank( unit.lord() )\n\t\t\t\t\t: this.peer_rank( unit.peer() )\n\t\t\t\t\n\t\t\t\tif( rank >= unit.rank_min() ) {\n\t\t\t\t\tunit.sign( sign )\n\t\t\t\t\treturn\n\t\t\t\t} else {\n\t\t\t\t\tunit.sign( new Uint8Array([ 0, 0 ]) )\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_mem_key\n\t\tsand_encode( sand: $hyoo_crus_sand ) {\n\t\t\t\n\t\t\tif( sand._open === null ) return sand\n\t\t\tif( sand.tip() === 'nil' ) return sand\n\t\t\t\n\t\t\tlet bin = sand._open\n\t\t\tconst secret = sand._land!.secret()!\n\t\t\t\n\t\t\tif( secret ) bin = $mol_wire_sync( secret ).encrypt( bin, sand.salt() )\n\t\t\t\n\t\t\tif( bin.byteLength > 32 ) sand.hash( this.$.$hyoo_crus_mine.rock_save( bin ), sand.tip(), sand.tag() )\n\t\t\telse sand.data( bin, sand.tip(), sand.tag() )\n\t\t\t\n\t\t\treturn sand\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsand_decode( sand: $hyoo_crus_sand ): $hyoo_crus_vary_type {\n\t\t\t\n\t\t\ttry {\n\n\t\t\t\tlet vary = this.sand_decode_raw( sand )\n\t\t\t\tif( typeof vary === 'symbol' ) vary = $hyoo_crus_ref_resolve( this.ref(), vary )\n\t\t\t\treturn vary\n\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif( error instanceof Promise ) return $mol_fail_hidden( error )\n\t\t\t\tthis.$.$mol_fail_log( error )\n\t\t\t\treturn null\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsand_decode_raw( sand: $hyoo_crus_sand ): $hyoo_crus_vary_type {\n\t\t\t\n\t\t\tif( this.sand.get( sand.head() )?.get( sand.peer() )?.get( sand.self() ) !== sand ) {\n\t\t\t\tfor( const id of this.Tine().items_vary() ?? [] ) {\n\t\t\t\t\tconst vary = this.$.$hyoo_crus_glob.Land( $hyoo_crus_vary_cast_ref( id! )! ).sand_decode_raw( sand )\n\t\t\t\t\tif( vary !== undefined ) return vary\n\t\t\t\t}\n\t\t\t\treturn undefined!\n\t\t\t}\n\t\t\t\n\t\t\tconst secret = this.secret()\n\t\t\t\n\t\t\tif( sand._vary !== undefined ) return sand._vary\n\t\t\tif( sand._open !== null ) return sand._vary = $hyoo_crus_vary_decode({ tip: sand.tip(), bin: sand._open })\n\t\t\t\n\t\t\tlet bin = sand.size() > 32 ? this.$.$hyoo_crus_mine.rock( sand.hash() ) : sand.data()\n\t\t\tif( secret && bin && sand.tip() !== 'nil' ) {\n\t\t\t\ttry {\n\t\t\t\t\tbin = $mol_wire_sync( secret ).decrypt( bin, sand.salt() )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\tif( $mol_fail_catch( error ) ) {\n\t\t\t\t\t\tif( error.message ) $mol_fail_hidden( error )\n\t\t\t\t\t\telse $mol_fail_hidden( new Error( `Can't decrypt`, { cause: error } ) )\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tsand._open = bin\n\t\t\treturn sand._vary = ( bin ? $hyoo_crus_vary_decode({ tip: sand.tip(), bin }) : null )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tkey_public( peer: string ) {\n\t\t\tconst key = this.pass.get( peer )?.auth()\n\t\t\treturn key ? $mol_crypto_key_public.from( key ) : null\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsecret_mutual( key_public: string ) {\n\t\t\treturn $mol_wire_sync( $mol_crypto_secret ).derive(\n\t\t\t\tthis.auth().toString(),\n\t\t\t\tkey_public,\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tencryptable() {\n\t\t\treturn !this.sand.size\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tencrypted( next?: boolean ) {\n\t\t\t\n\t\t\t// $mol_wire_solid()\n\t\t\t\n\t\t\tconst gift = this.gift.get( this.ref() )\n\t\t\tconst prev = gift?.bill().some( b => b ) ?? false\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( prev === next ) return prev\n\t\t\t\n\t\t\tif( !this.encryptable() ) $mol_fail( new Error( `Non empty Land never encrypted` ) )\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst secret = $mol_wire_sync( $mol_crypto_secret ).generate()\n\t\t\tconst secret_land = $mol_wire_sync( secret ).serial()\n\t\t\tconst secret_mutual = auth.secret_mutual( auth.public().toString() )\n\t\t\t\n\t\t\tconst unit = new $hyoo_crus_gift\n\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t\n\t\t\tunit.rank( $hyoo_crus_rank_rule )\n\t\t\tunit.time( this.faces.tick() )\n\t\t\tunit.peer( auth.peer() )\n\t\t\tunit.dest( auth.lord() )\n\t\t\tunit._land = this\n\t\t\t\n\t\t\tconst secret_closed = $mol_wire_sync( secret_mutual ).encrypt( secret_land, unit.salt() )\n\t\t\tunit.bill().set( secret_closed )\n\t\t\t\n\t\t\tconst error = this.apply_unit([ unit ])[0]\n\t\t\tif( error ) $mol_fail( new Error( error ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsecret() {\n\t\t\t\n\t\t\tif( !this.encrypted() ) return null\n\t\t\t\n\t\t\tconst auth = this.auth()\n\t\t\tconst gift = this.gift.get( auth.lord() )\n\t\t\tif( !gift ) return $mol_fail( new Error( `Access denied` ) )\n\t\t\t\n\t\t\tconst bill = gift.bill()\n\t\t\tif( !bill.some( b => b ) ) return $mol_fail( new Error( `No key to decrypt` ) )\n\t\t\t\n\t\t\tconst secret_mutual = auth.secret_mutual( this.key_public( gift.peer() )!.toString() )\n\t\t\tif( !secret_mutual ) return $mol_fail( new Error( `Can't decrypt secret` ) )\n\t\t\t\n\t\t\tconst secret_land = $mol_wire_sync( secret_mutual ).decrypt( bill, gift.salt() )\n\t\t\treturn $mol_wire_sync( $mol_crypto_secret ).from( secret_land )\n\t\t\t\n\t\t}\n\t\t\n\t\tdump() {\n\t\t\t\n\t\t\tthis.saving()\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crus_unit[]\n\t\t\tconst rocks = [] as [ Uint8Array< ArrayBuffer >, Uint8Array< ArrayBuffer > ][]\n\t\t\t\n\t\t\tfor( const pass of this.pass.values() ) units.push( pass )\n\t\t\tfor( const gift of this.gift.values() ) units.push( gift )\n\t\t\t\n\t\t\tfor( const heads of this.sand.values() ) {\n\t\t\t\tfor( const sands of heads.values() ) {\n\t\t\t\t\tfor( const sand of sands.values() ) {\n\t\t\t\t\t\tunits.push( sand )\n\t\t\t\t\t\tif( sand.size() <= 32 ) continue\n\t\t\t\t\t\tconst rock = this.$.$hyoo_crus_mine.rock( sand.hash() )\n\t\t\t\t\t\tif( !rock ) continue\n\t\t\t\t\t\trocks.push([ sand.hash(), rock ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn {\n\t\t\t\tland: this.ref(),\n\t\t\t\tunits, rocks,\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_span( {},\n\t\t \t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( this.faces.total ),\n\t\t \t)\n\t\t }\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Kind of Unit */\n\texport enum $hyoo_crus_unit_kind {\n\t\t\n\t\t/** Public key. First writes wins. */\n\t\tpass = $hyoo_crus_part.pass,\n\t\t\n\t\t/** Rights sharing. More power wins. */\n\t\tgift = $hyoo_crus_part.gift,\n\t\t\n\t\t/** Changeable data. Last writes wins. */\n\t\tsand = $hyoo_crus_part.sand,\n\t\t\n\t}\n\t\n\texport let $hyoo_crus_unit_trusted = new WeakSet< $hyoo_crus_unit >()\n\t\n\t/** Minimal independent stable part of information. Actually it's edge between nodes in graph model */\n\texport class $hyoo_crus_unit extends $mol_buffer {\n\t\t\n\t\tstatic size = 128 as const\n\t\t\t\t\n\t\tconstructor(\n\t\t\tbuffer = new ArrayBuffer( $hyoo_crus_unit.size ),\n\t\t\tbyteOffset = 0,\n\t\t\tbyteLength = buffer.byteLength,\n\t\t) {\n\t\t\tsuper( buffer, byteOffset, byteLength )\n\t\t}\n\t\t\n\t\tkind(): keyof typeof $hyoo_crus_unit_kind {\n\t\t\t\n\t\t\tconst val = this.uint8( 0 )\n\t\t\tif( !val ) $mol_fail( new Error( `Empty unit` ) )\n\t\t\tif( ( val & 1 ) === 0 ) return 'sand'\n\t\t\t\n\t\t\tconst kind = $hyoo_crus_unit_kind[ val ] as keyof typeof $hyoo_crus_unit_kind\n\t\t\tif( kind ) return kind\n\t\t\t\n\t\t\t$mol_fail( new Error( `Unknown unit kind (${val})` ) )\n\t\t}\n\t\t\n\t\tchoose< Res >( ways: {\n\t\t\tpass: ( unit: $hyoo_crus_pass )=> Res,\n\t\t\tgift: ( unit: $hyoo_crus_gift )=> Res,\n\t\t\tsand: ( unit: $hyoo_crus_sand )=> Res,\n\t\t} ) {\n\t\t\tconst way = this.kind()\n\t\t\tconst Unit = {\n\t\t\t\tpass: $hyoo_crus_pass,\n\t\t\t\tgift: $hyoo_crus_gift,\n\t\t\t\tsand: $hyoo_crus_sand,\n\t\t\t}[ way ]\n\t\t\tif( this instanceof Unit ) return ways[ way ]( this as any )\n\t\t\tconst unit = new Unit( this.buffer, this.byteOffset, this.byteLength ) as any\n\t\t\treturn ways[ way ]( unit )\n\t\t}\n\t\t\n\t\tnarrow() {\n\t\t\treturn this.choose< $hyoo_crus_pass | $hyoo_crus_gift | $hyoo_crus_sand >({\n\t\t\t\tsand: unit => unit,\n\t\t\t\tpass: unit => unit,\n\t\t\t\tgift: unit => unit,\n\t\t\t})\n\t\t}\n\t\t\n\t\tkey(): string {\n\t\t\treturn this.narrow().key()\n\t\t}\n\t\t\n\t\tid6( offset: number, next?: string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst str = $mol_base64_ae_encode( new Uint8Array( this.buffer, this.byteOffset + offset, 6 ) )\n\t\t\t\treturn str === 'AAAAAAAA' ? '' : str\n\t\t\t} else {\n\t\t\t\tthis.asArray().set( $mol_base64_ae_decode( next || 'AAAAAAAA' ), this.byteOffset + offset )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\t\t\n\t\tid12( offset: number, next?: $hyoo_crus_ref ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $hyoo_crus_ref_decode( new Uint8Array( this.buffer, this.byteOffset + offset, 12 ) )\n\t\t\t} else {\n\t\t\t\tthis.asArray().set( $hyoo_crus_ref_encode( next ), this.byteOffset + offset )\n\t\t\t\treturn next\n\t\t\t}\n\t\t}\n\t\t\n\t\t_peer!: string\n\t\tpeer( next?: string ) {\n\t\t\tif( next === undefined && this._peer !== undefined ) return this._peer\n\t\t\telse return this._peer = this.id6( 2, next )\n\t\t}\n\t\t\n\t\tsalt() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 2, 16 )\n\t\t}\n\t\t\n\t\tsens( next?: ArrayLike< number > ) {\n\t\t\tconst prev = new Uint8Array( this.buffer, this.byteOffset, 64 )\n\t\t\tif( next ) prev.set( next )\n\t\t\treturn prev\n\t\t}\n\t\t\n\t\tmix( mixin: Uint8Array ) {\n\t\t\tfor( let i = 0; i < mixin.length; ++i ) {\n\t\t\t\tthis.uint8( 2 + i, this.uint8( 2 + i ) ^ mixin[i] )\n\t\t\t}\n\t\t}\n\t\t\n\t\tsign( next?: ArrayLike< number > ) {\n\t\t\tconst prev = new Uint8Array( this.buffer, this.byteOffset + 64, 64 )\n\t\t\tif( next ) prev.set( next )\n\t\t\treturn prev\n\t\t}\n\t\t\n\t\tsigned() {\n\t\t\treturn this.sign().some( b => b )\n\t\t}\n\t\t\n\t\twork() {\n\t\t\t\n\t\t\tif( !this.signed() ) {\n\t\t\t\treturn $hyoo_crus_rank_rate.just\n\t\t\t}\n\t\t\t\n\t\t\tconst sign = this.sign()\n\t\t\tlet int = sign[0] | ( sign[1] << 8 )\n\t\t\t\n\t\t\tlet count = 0\n\t\t\twhile( int & 1 ) {\n\t\t\t\tint >>>= 1\n\t\t\t\t++ count\n\t\t\t}\n\t\t\t\n\t\t\treturn count\n\t\t}\n\t\t\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank_rule\n\t\t}\n\t\t\n\t\t_land = null as null | $hyoo_crus_land\n\t\t\n\t\tdump() {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Public key of Peer */\n\texport class $hyoo_crus_pass extends $hyoo_crus_unit {\n\t\t\n\t\t_lord!: $hyoo_crus_ref\n\t\tlord( next?: $hyoo_crus_ref ) {\n\t\t\tif( next === undefined && this._lord !== undefined ) return this._lord\n\t\t\telse return this._lord = this.id12( 2, next )\n\t\t}\n\t\t\n\t\tkey(): string {\n\t\t\treturn `pass:${ this.id6( 2 ) }`\n\t\t}\n\t\t\n\t\tauth( next?: ArrayLike< number > ) {\n\t\t\tconst prev = new Uint8Array( this.buffer, this.byteOffset, 64 )\n\t\t\tif( next ) prev.set( next )\n\t\t\treturn prev\n\t\t}\n\t\t\n\t\tdump() {\n\t\t\treturn {\n\t\t\t\tkind: this.kind(),\n\t\t\t\tlord: this.lord().description!,\n\t\t\t}\n\t\t}\n\t\t\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank( $hyoo_crus_rank_tier.join | ( $hyoo_crus_rank_rate.just - this.work() ) )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.peer(),\n\t\t\t\t' 🔑 ',\n\t\t\t\t$mol_dev_format_span( {}, this.lord().description ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\n}\n","namespace $ {\n\t\n\t/** Given Rank and Secret */\n\texport class $hyoo_crus_gift extends $hyoo_crus_unit {\n\t\t\n\t\trank( next?: typeof $hyoo_crus_rank.Value ) {\n\t\t\t\n\t\t\tif( next !== undefined ) this.uint8( 0, $hyoo_crus_unit_kind.gift )\n\t\t\tconst res = this.uint8( 1, next ) as typeof $hyoo_crus_rank.Value\n\t\t\t\n\t\t\tif( res < $hyoo_crus_rank_deny || res > $hyoo_crus_rank_rule ) {\n\t\t\t\t$mol_fail( new RangeError( `Wrong rank ${ res }` ) )\n\t\t\t}\n\t\t\t\n\t\t\treturn res\n\t\t}\n\t\t\n\t\ttime( next?: number ) {\n\t\t\treturn this.uint48( 8, next )\n\t\t}\n\t\t\n\t\tfree() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 26, 6 )\n\t\t}\n\t\t\n\t\t_dest!: $hyoo_crus_ref\n\t\tdest( next?: $hyoo_crus_ref ) {\n\t\t\tif( next === undefined && this._dest !== undefined ) return this._dest\n\t\t\telse return this._dest = this.id12( 14, next )\n\t\t}\n\t\t\n\t\tkey(): string {\n\t\t\treturn `gift:${ this.dest().description! }`\n\t\t}\n\t\t\n\t\tbill() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, 32 )\n\t\t}\n\t\t\n\t\tstatic compare(\n\t\t\tleft: $hyoo_crus_gift,\n\t\t\tright: $hyoo_crus_gift,\n\t\t) {\n\t\t\treturn ( right.time() - left.time() ) || ( right.peer() > left.peer() ? 1 : right.peer() < left.peer() ? -1 : 0 )\n\t\t}\n\t\t\n\t\tdump() {\n\t\t\treturn {\n\t\t\t\tkind: this.kind(),\n\t\t\t\tpeer: this.peer(),\n\t\t\t\tdest: this.dest().description!,\n\t\t\t\ttier: $hyoo_crus_rank_tier[ this.rank() &~ $hyoo_crus_rank_rate.just ],\n\t\t\t\twork: this.work(),\n\t\t\t\ttime: $hyoo_crus_time_dump( this.time() ),\n\t\t\t}\n\t\t}\n\t\t\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank( $hyoo_crus_rank_rule | ( $hyoo_crus_rank_rate.just - this.work() ) )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.peer(),\n\t\t\t\t' 🏅 ',\n\t\t\t\t$mol_dev_format_span( {}, this.dest().description || '_' ),\n\t\t\t\tthis.bill().some( v => v ) ? ' 🔐' : ' 👀',\n\t\t\t\t$hyoo_crus_rank_tier[ this.rank() &~ $hyoo_crus_rank_rate.just ],\n\t\t\t\t':',\n\t\t\t\tthis.rank() & $hyoo_crus_rank_rate.just,\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_shade( $hyoo_crus_time_dump( this.time() ) ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crus_mine extends $mol_object {\n\t\t\n\t\tstatic unit_updates = 0\n\t\tstatic unit_appends = 0\n\t\tstatic rock_writes = 0\n\t\t\n\t\t/** SHA-1 hash of BLOB */\n\t\t@ $mol_mem_key\n\t\tstatic hash( blob: Uint8Array< ArrayBuffer > ) {\n\t\t\treturn $mol_crypto_hash( blob )\n\t\t}\n\t\t\n\t\t/** BLOB identified by Hash */\n\t\t@ $mol_mem_key\n\t\tstatic rock( hash: Uint8Array< ArrayBuffer >, next?: Uint8Array< ArrayBuffer > ): Uint8Array< ArrayBuffer > | null {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next ?? null\n\t\t}\n\t\t\n\t\t/** Saves BLOB to storage and returns it's Hash */\n\t\t@ $mol_action\n\t\tstatic rock_save( blob: Uint8Array< ArrayBuffer > ) {\n\t\t\tconst hash = this.hash( blob )\n\t\t\tthis.rock( hash, blob )\n\t\t\tthis.rock( hash ) // temp dep allow reap\n\t\t\treturn hash\n\t\t}\n\t\t\n\t\tstatic units_persisted = new WeakSet< $hyoo_crus_unit >()\n\t\t\n\t\t/** Sync loads/saves units. */\n\t\tstatic units( land: $hyoo_crus_ref, next?: readonly $hyoo_crus_unit[] ) {\n\t\t\tif( next ) return $mol_wire_sync( this ).units_save( land, next ), next\n\t\t\telse return $mol_wire_sync( this ).units_load( land )\n\t\t}\n\t\t\n\t\t/** Loads units from storage */\n\t\tstatic async units_load( land: $hyoo_crus_ref ) {\n\t\t\treturn [] as readonly $hyoo_crus_unit[]\n\t\t}\n\t\t\n\t\t/** Saves units to storage */\n\t\tstatic async units_save( land: $hyoo_crus_ref, units: readonly $hyoo_crus_unit[] ) {\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Converts IDBResult to Promise */\n\texport function $mol_db_response< Result >(\n\t\trequest: IDBRequest< Result >\n\t) {\n\t\t\n\t\treturn new Promise< Result >( ( done, fail )=> {\n\t\t\trequest.onerror = ()=> fail( new Error( request.error!.message ) )\n\t\t\trequest.onsuccess = ()=> done( request.result as Result )\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB ObjectStore wrapper. */\n\texport class $mol_db_store< Schema extends $mol_db_store_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBObjectStore,\n\t\t) {}\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget path() {\n\t\t\treturn this.native.keyPath\n\t\t}\n\t\t\n\t\tget incremental() {\n\t\t\treturn this.native.autoIncrement\n\t\t}\n\t\t\n\t\t/** Returns dictionary of all existen Indexes. */\n\t\tget indexes() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema['Indexes'] ]: $mol_db_index<{\n\t\t\t\t\t\tKey: Schema['Indexes'][ Name ],\n\t\t\t\t\t\tDoc: Schema['Doc'],\n\t\t\t\t\t}>\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.indexNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.indexNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string )=> new $mol_db_index( this.native.index( name ) )\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Index */\n\t\tindex_make(\n\t\t\tname: string,\n\t\t\tpath = [] as string[],\n\t\t\tunique = false,\n\t\t\tmultiEntry = false,\n\t\t) {\n\t\t\treturn this.native.createIndex( name, path, { multiEntry, unique } )\n\t\t}\n\t\t\n\t\t/** Drops existen Index */\n\t\tindex_drop( name: string ) {\n\t\t\tthis.native.deleteIndex( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn new $mol_db_transaction(\n\t\t\t\tthis.native.transaction\n\t\t\t)\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.transaction.db\n\t\t}\n\t\t\n\t\t/** Deletes all stored Documents */\n\t\tclear() {\n\t\t\treturn $mol_db_response( this.native.clear() )\n\t\t}\n\t\t\n\t\t/** Counts Documents by primary key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Stores single Document by primary key. */\n\t\tput( doc: Schema['Doc'], key?: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.put( doc, key ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t\t/** Deletes Documents by primary key(s). */\n\t\tdrop( keys: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.delete( keys ) )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB Index wrapper. */\n\texport class $mol_db_index< Schema extends $mol_db_index_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBIndex,\n\t\t) { }\n\t\t\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\tget paths() {\n\t\t\treturn this.native.keyPath as string[]\n\t\t}\n\t\t\n\t\tget unique() {\n\t\t\treturn this.native.unique\n\t\t}\n\t\t\n\t\tget multiple() {\n\t\t\treturn this.native.multiEntry\n\t\t}\n\t\t\n\t\tget store() {\n\t\t\treturn new $mol_db_store(\n\t\t\t\tthis.native.objectStore\n\t\t\t)\n\t\t}\n\t\t\n\t\tget transaction() {\n\t\t\treturn this.store.transaction\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn this.store.db\n\t\t}\n\t\t\n\t\t/** Counts Documents by key(s) */\n\t\tcount( keys?: Schema['Key'] | IDBKeyRange ) {\n\t\t\treturn $mol_db_response( this.native.count( keys ) )\n\t\t}\n\t\t\n\t\t/** Returns Document by primary key. */\n\t\tget( key: Schema['Key'] ) {\n\t\t\treturn $mol_db_response( this.native.get( key ) as IDBRequest< Schema['Doc'] | undefined > )\n\t\t}\n\t\t\n\t\t/** Selects Documents by primary keys. */\n\t\tselect( key?: Schema['Key'] | IDBKeyRange | null, count?: number ) {\n\t\t\treturn $mol_db_response( this.native.getAll( key, count ) as IDBRequest< Schema['Doc'][] > )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/**\n\t * Creates new or returns existen database with automatic schema migration.\n\t * Schema version is based on migrations count.\n\t * Migrations code mustn't be changed after deploy.\n\t * Only adding migrations at the end is allowed.\n\t * Only new migrations will be applyed to existen DB.\n\t * Schema changes allowed only through migratios. \n\t */\n\texport async function $mol_db< Schema extends $mol_db_schema >(\n\t\tthis: $,\n\t\tname: string,\n\t\t... migrations: ( ( transaction: $mol_db_transaction< $mol_db_schema > )=> void )[]\n\t) {\n\t\t\n\t\tconst request = this.$mol_dom_context.indexedDB.open( name, migrations.length ? migrations.length + 1 : undefined )\n\t\t\n\t\trequest.onupgradeneeded = event => {\n\t\t\t\n\t\t\tmigrations.splice( 0, event.oldVersion - 1 )\n\t\t\tconst transaction = new $mol_db_transaction( request.transaction! )\n\t\t\t\n\t\t\tfor( const migrate of migrations ) migrate( transaction )\n\t\t\t\n\t\t}\n\t\t\n\t\tconst db = await $mol_db_response( request )\n\t\t\n\t\treturn new $mol_db_database< Schema >( db )\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** IndexedDB instance wrapper. */\n\texport class $mol_db_database< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBDatabase,\n\t\t) { }\n\t\t\n\t\t/** Returns database name. */\n\t\tget name() {\n\t\t\treturn this.native.name\n\t\t}\n\t\t\n\t\t/** Returns database schema version. */\n\t\tget version() {\n\t\t\treturn this.native.version\n\t\t}\n\t\t\n\t\t/** Returns all stores names. */\n\t\tget stores() {\n\t\t\treturn [ ... this.native.objectStoreNames ] as ( keyof Schema )[]\n\t\t}\n\t\t\n\t\t/** Create read-only transaction. */\n\t\tread< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readonly', { durability: 'relaxed' } )\n\t\t\t).stores\n\t\t}\n\t\t\n\t\t/** Create read/write transaction. */\n\t\tchange< Names extends Exclude< keyof Schema, symbol | number > >( ... names: Names[] ) {\n\t\t\treturn new $mol_db_transaction< Pick< Schema, Names > >(\n\t\t\t\tthis.native.transaction( names, 'readwrite', { durability: 'relaxed' } )\n\t\t\t)\n\t\t}\n\t\t\n\t\t/**\n\t\t * Deletes database.\n\t\t * DB can be deleted only after end of all transactions.\n\t\t */\n\t\tkill() {\n\t\t\t\n\t\t\tthis.native.close()\n\t\t\t\n\t\t\tconst request = $mol_dom_context.indexedDB.deleteDatabase( this.name )\n\t\t\t\n\t\t\trequest.onblocked = console.warn\n\t\t\treturn $mol_db_response( request )\n\t\t\t\n\t\t}\n\t\t\n\t\t/**\n\t\t * Closes DB connection.\n\t\t * Connection really be closed only after end of all transactions.\n\t\t */\n\t\tdestructor() {\n\t\t\tthis.native.close()\n\t\t}\n\t\t\n\t}\n\t\n}\n","interface IDBTransaction {\n\tcommit(): void\n}\n\nnamespace $ {\n\t\n\t/** IndexedDB Transaction wrapper. */\n\texport class $mol_db_transaction< Schema extends $mol_db_schema > {\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: IDBTransaction,\n\t\t) {}\n\t\t\n\t\t/** Returns dictionary of all existen Stores. */\n\t\tget stores() {\n\t\t\treturn new Proxy(\n\t\t\t\t{} as {\n\t\t\t\t\t[ Name in keyof Schema ]: $mol_db_store< Schema[ Name ] >\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\townKeys: ()=> [ ... this.native.objectStoreNames ],\n\t\t\t\t\thas: ( _, name: string )=> this.native.objectStoreNames.contains( name ),\n\t\t\t\t\tget: ( _, name: string, proxy )=> ( name in proxy )\n\t\t\t\t\t\t? new $mol_db_store( this.native.objectStore( name ) )\n\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** Creates new Store */\n\t\tstore_make( name: string ) {\n\t\t\treturn this.native.db.createObjectStore( name, { autoIncrement: true } )\n\t\t}\n\t\t\n\t\t/** Drops existen Store */\n\t\tstore_drop( name: string ) {\n\t\t\tthis.native.db.deleteObjectStore( name )\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t/** Instant abort transaction. Any errors aborts transactions automatically. */\n\t\tabort() {\n\t\t\tif( this.native.error ) return\n\t\t\tthis.native.abort()\n\t\t}\n\t\t\n\t\t/** Instant commits transaction. Without errors commit proceed automatically later. */\n\t\tcommit() {\n\t\t\t\n\t\t\tthis.native.commit?.()\n\t\t\t\n\t\t\treturn new Promise< void >( ( done, fail )=> {\n\t\t\t\tthis.native.onerror = ()=> fail( new Error( this.native.error!.message ) )\n\t\t\t\tthis.native.oncomplete = ()=> done()\n\t\t\t} )\n\t\t\t\n\t\t}\n\t\t\n\t\tget db() {\n\t\t\treturn new $mol_db_database(\n\t\t\t\tthis.native.db\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crus_mine_idb extends $hyoo_crus_mine {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic rock( hash: Uint8Array< ArrayBuffer >, next?: Uint8Array< ArrayBuffer > ): Uint8Array< ArrayBuffer > | null {\n\t\t\t\n\t\t\tconst prev = $mol_mem_cached( ()=> this.rock( hash ) )\n\t\t\tif( prev ) return prev\n\t\t\t\n\t\t\tif( next ) {\n\t\t\t\tthis.rock_change().then( Rock => Rock.put( next.buffer, [ hash ] ) )\n\t\t\t\treturn next\n\t\t\t} else {\n\t\t\t\tconst buf = $mol_wire_sync( this.rock_read() ).get([ hash ])\n\t\t\t\treturn buf ? new Uint8Array( buf ) : null\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic rock_read() {\n\t\t\tconst db = this.db_sync()\n\t\t\treturn $mol_wire_sync( db ).read( 'Rock' ).Rock\n\t\t}\n\t\t\n\t\tstatic async rock_change() {\n\t\t\tconst db = await this.db()\n\t\t\treturn db.change( 'Rock' ).stores.Rock\n\t\t}\n\t\t\n\t\tstatic async units_save( land: $hyoo_crus_ref, units: readonly $hyoo_crus_unit[] ) { $hyoo_crus_land\n\t\t\t\n\t\t\tconst land_ref = land.description!\n\t\t\tconst db = await this.db()\n\t\t\tconst change = db.change( 'Land' )\n\t\t\tconst { Land } = change.stores\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tLand.put( unit.buffer, [ land_ref, unit.key() ] )\n\t\t\t\tthis.units_persisted.add( unit )\n\t\t\t}\n\t\t\t\n\t\t\tawait change.commit()\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async units_load( land: $hyoo_crus_ref ) {\n\t\t\t\n\t\t\tconst db = await this.db()\n\t\t\tconst { Land } = db.read( 'Land' )\n\t\t\tconst land_ref = land.description\n\t\t\tconst land_key = IDBKeyRange.bound( [ land_ref, '' ], [ land_ref, '\\uFFFF' ] )\n\t\t\tconst res = await Land.select( land_key )\n\t\t\t\n\t\t\tconst units = res.map( bin => new $hyoo_crus_unit( bin ).narrow() )\n\t\t\tfor( const unit of units ) {\n\t\t\t\tthis.units_persisted.add( unit )\n\t\t\t\t$hyoo_crus_unit_trusted.add( unit )\n\t\t\t}\n\t\t\t\n\t\t\treturn units\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstatic db_sync() {\n\t\t\t$mol_wire_solid()\n\t\t\treturn $mol_wire_sync( this ).db()\n\t\t}\n\t\t\n\t\t@ $mol_memo.method\n\t\tstatic async db() {\n\t\t\t\n\t\t\treturn await this.$.$mol_db<{\n\t\t\t\tRock: {\n\t\t\t\t\tKey: [ hash: Uint8Array< ArrayBuffer > ]\n\t\t\t\t\tDoc: ArrayBuffer\n\t\t\t\t\tIndexes: {}\n\t\t\t\t}\n\t\t\t\tLand: {\n\t\t\t\t\tKey: [ land: string, path: string ]\n\t\t\t\t\tDoc: ArrayBuffer\n\t\t\t\t\tIndexes: {}\n\t\t\t\t}\n\t\t\t}>( '$hyoo_crus',\n\t\t\t\tmig => mig.store_make( 'Rock' ),\n\t\t\t\tmig => mig.store_make( 'Land' ),\n\t\t\t\tmig => mig.stores.Land.clear(),\n\t\t\t\tmig => mig.stores.Land.clear(),\n\t\t\t\tmig => mig.stores.Land.clear(),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$.$hyoo_crus_mine = $hyoo_crus_mine_idb\n}\n","namespace $ {\n\n\t/** Hint how interpret inner Units: term, solo, vals, keys */\n\texport enum $hyoo_crus_sand_tag {\n\t\t/** Itself value. Ignore */\n\t\tterm = 0b00,\n\t\t/** Value in first sub node. Ignore all after first */\n\t\tsolo = 0b01,\n\t\t/** List of values */\n\t\tvals = 0b10,\n\t\t/** List of keys */\n\t\tkeys = 0b11,\n\t}\n\n\t/** (Meta) Data */\n\texport class $hyoo_crus_sand extends $hyoo_crus_unit {\n\n\t\t_vary = undefined as undefined | $hyoo_crus_vary_type\n\t\t_open = null as null | Uint8Array< ArrayBuffer >\n\n\t\thint(\n\t\t\ttip: keyof typeof $hyoo_crus_vary_tip = 'nil',\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tthis.uint8( 0, ( $hyoo_crus_sand_tag[ tag ] << 1 ) | ( $hyoo_crus_vary_tip[ tip ] << 3 ) )\n\t\t}\n\n\t\ttag() {\n\t\t\treturn $hyoo_crus_sand_tag[ ( this.uint8( 0 ) >> 1 ) & 0b11 ] as keyof typeof $hyoo_crus_sand_tag\n\t\t}\n\n\t\ttip() {\n\t\t\tconst tip = $hyoo_crus_vary_tip[ this.uint8( 0 ) >> 3 ] || $hyoo_crus_vary_tip.nil\n\t\t\t// if( !tip ) $mol_fail( new Error( 'Empty tip' ) )\n\t\t\treturn tip as keyof typeof $hyoo_crus_vary_tip\n\t\t}\n\n\t\tutf() {\n\t\t\treturn Boolean( this.uint8( 0 ) & 0b10000000 )\n\t\t}\n\n\t\tsize( next?: number ) {\n\t\t\treturn this.uint8( 1, next )\n\t\t}\n\n\t\ttime( next?: number ) {\n\t\t\treturn this.uint48( 8, next )\n\t\t}\n\n\t\t_head!: string\n\t\thead( next?: string ) {\n\t\t\tif( next === undefined && this._head !== undefined ) return this._head\n\t\t\telse return this._head = this.id6( 14, next )\n\t\t}\n\n\t\t_self!: string\n\t\tself( next?: string ) {\n\t\t\tif( next === undefined && this._self !== undefined ) return this._self\n\t\t\telse return this._self = this.id6( 20, next )\n\t\t}\n\n\t\tkey(): string {\n\t\t\treturn `sand:${ this.head() }/${ this.peer() }/${ this.self() }`\n\t\t}\n\n\t\t_lead!: string\n\t\tlead( next?: string ) {\n\t\t\tif( next === undefined && this._lead !== undefined ) return this._lead\n\t\t\telse return this._lead = this.id6( 26, next )\n\t\t}\n\n\t\thash(\n\t\t\tnext?: Uint8Array< ArrayBuffer >,\n\t\t\ttip: keyof typeof $hyoo_crus_vary_tip = 'nil' as const,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tconst bin = new Uint8Array( this.buffer, this.byteOffset + 32, 20 )\n\t\t\tif( next !== undefined ) {\n\t\t\t\tthis.hint( tip, tag )\n\t\t\t\tthis.size( 255 )\n\t\t\t\tbin.set( next )\n\t\t\t}\n\t\t\tif( this.size() > 32 ) return bin\n\t\t\t$mol_fail( new Error( 'No stored hash' ) )\n\t\t}\n\n\t\tmeta() {\n\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 42, 12 )\n\t\t}\n\n\t\tdata(\n\t\t\tnext?: Uint8Array< ArrayBuffer >,\n\t\t\ttip: keyof typeof $hyoo_crus_vary_tip = 'nil',\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tif( next === undefined ) {\n\t\t\t\tconst size = this.size()\n\t\t\t\tif( size > 32 ) $mol_fail( new Error( 'Too long data' ) )\n\t\t\t\treturn new Uint8Array( this.buffer, this.byteOffset + 32, size )\n\t\t\t} else {\n\t\t\t\tthis.hint( tip, tag )\n\t\t\t\tif( next.byteLength > 32 ) $mol_fail( new Error( 'Too long data' ) )\n\t\t\t\tthis.uint8( 1, next.byteLength )\n\t\t\t\tconst bin = new Uint8Array( this.buffer, this.byteOffset + 32, next.byteLength )\n\t\t\t\tbin.set( next )\n\t\t\t\tnew Uint8Array( this.buffer, this.byteOffset + 32 + next.length, 32 - next.length ).fill( 0 )\n\t\t\t\treturn bin\n\t\t\t}\n\t\t}\n\n\t\tidea() {\n\t\t\tconst bin = new Uint8Array( this.buffer, this.byteOffset + 20, 44 )\n\t\t\tconst hash = $mol_crypto_hash( bin )\n\t\t\tconst buf = new $mol_buffer( hash.buffer )\n\t\t\treturn buf.uint48( 0 )\n\t\t}\n\n\t\t/**\n\t\t * Compare Sands on timeline ( right - left )\n\t\t * Priority: time > peer > tick\n\t\t */\n\t\tstatic compare(\n\t\t\tleft: $hyoo_crus_sand,\n\t\t\tright: $hyoo_crus_sand,\n\t\t) {\n\t\t\treturn ( Math.floor( right.time() / 65536 ) - Math.floor( left.time() / 65536 ) )\n\t\t\t\t|| ( right.peer() > left.peer() ? 1 : right.peer() < left.peer() ? -1 : 0 )\n\t\t\t\t|| ( right.time() - left.time() )\n\t\t}\n\n\t\tdump() {\n\t\t\treturn {\n\t\t\t\tkind: this.kind(),\n\t\t\t\tpeer: this.peer(),\n\t\t\t\tlead: this.lead(),\n\t\t\t\thead: this.head(),\n\t\t\t\tself: this.self(),\n\t\t\t\ttip: this.tip(),\n\t\t\t\ttag: this.tag(),\n\t\t\t\tsize: this.size(),\n\t\t\t\ttime: $hyoo_crus_time_dump( this.time() ),\n\t\t\t}\n\t\t}\n\n\t\trank_min() {\n\t\t\treturn $hyoo_crus_rank( $hyoo_crus_rank_tier.post | ( $hyoo_crus_rank_rate.just - this.work() ) )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {},\n\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t' ',\n\t\t\t\tthis.peer(),\n\t\t\t\t' ',\n\t\t\t\tthis.lead() || 'AAAAAAAA',\n\t\t\t\t$mol_dev_format_shade( '\\\\' ),\n\t\t\t\t$mol_dev_format_accent( this.head() || 'AAAAAAAA' ),\n\t\t\t\t$mol_dev_format_shade( '/' ),\n\t\t\t\tthis.self() || 'AAAAAAAA',\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_shade( $hyoo_crus_time_dump( this.time() ) ),\n\t\t\t\t' ',\n\t\t\t\t{\n\t\t\t\t\tterm: '💼',\n\t\t\t\t\tsolo: '1️⃣',\n\t\t\t\t\tvals: '🎹',\n\t\t\t\t\tkeys: '🔑',\n\t\t\t\t}[ this.tag() ],\n\t\t\t\tthis.tip(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_native( this._vary ) //??\n\t\t\t\t// ( this.size() > 32\n\t\t\t\t// \t? $mol_dev_format_shade( this.hash() )\n\t\t\t\t// \t: $mol_dev_format_native( $hyoo_crus_vary_decode({ tip: this.tip(), bin: this.data() }) )\n\t\t\t\t// ),\n\t\t\t)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Virtual Node that represents contained units as high-level data types. */\n\texport class $hyoo_crus_node extends $mol_object {\n\t\t\n\t\tstatic tag: keyof typeof $hyoo_crus_sand_tag = 'vals'\n\t\t\n\t\t/** Standalone part of Glob which syncs separately, have own rights, and contains Units */\n\t\tland() {\n\t\t\treturn null as any as $hyoo_crus_land\n\t\t}\n\t\t\n\t\t/** Land local Node id */\n\t\thead() {\n\t\t\treturn ''\n\t\t}\n\t\t\n\t\t/** Reference to Land/Lord. */\n\t\tland_ref() {\n\t\t\treturn this.land()?.ref() ?? this.$.$hyoo_crus_auth.current().lord()\n\t\t}\n\t\t\n\t\t/** Reference to Node/Land/Lord. */\n\t\t@ $mol_memo.method\n\t\tref() {\n\t\t\treturn $hyoo_crus_ref_resolve( this.land_ref(), $hyoo_crus_ref( '___' + this.head() ) )\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.ref().description\n\t\t}\n\t\t\n\t\t/** Returns another representation of this node. */\n\t\t@ $mol_mem_key\n\t\tcast< Node extends typeof $hyoo_crus_node >( Node: Node ): InstanceType< Node > {\n\t\t\treturn this.land().Node( Node ).Item( this.head() )\n\t\t}\n\t\t\n\t\t/** Ordered inner alive Node. */\n\t\t@ $mol_mem_key\n\t\tnodes< Node extends typeof $hyoo_crus_node >( Node: Node | null ): readonly InstanceType< Node >[] {\n\t\t\tconst land = this.land()\n\t\t\tconst map = {\n\t\t\t\tterm: ()=> land.Node( Node || $hyoo_crus_atom_vary ),\n\t\t\t\tsolo: ()=> land.Node( Node || $hyoo_crus_atom_vary ),\n\t\t\t\tvals: ()=> land.Node( Node || $hyoo_crus_list_vary ),\n\t\t\t\tkeys: ()=> land.Node( Node || $hyoo_crus_dict ),\n\t\t\t}\n\t\t\treturn this.units().map( unit => map[ unit.tag() ]().Item( unit.self() ) ) as any\n\t\t}\n\t\t\n\t\t/** All ordered alive Units */\n\t\tunits() {\n\t\t\treturn this.units_of( '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tunits_of( peer: string | null ) {\n\t\t\treturn this.land().sand_ordered({ head: this.head(), peer }).filter( unit => unit.tip() !== 'nil' )\n\t\t}\n\t\t\n\t\tfilled() {\n\t\t\treturn this.units().length > 0\n\t\t}\n\t\t\n\t\t/** Ability to make changes by current peer. */\n\t\tcan_change() {\n\t\t\treturn this.land().lord_rank( this.land().auth().lord() ) >= $hyoo_crus_rank_tier.join\n\t\t}\n\t\t\n\t\t/** Time of last changed unit inside Node subtree */\n\t\t@ $mol_mem\n\t\tlast_change() {\n\t\t\t\n\t\t\tconst land = this.land()\n\t\t\tlet last = 0\n\t\t\t\n\t\t\tconst visit = ( sand: $hyoo_crus_sand )=> {\n\t\t\t\tif( sand.time() > last ) last = sand.time()\n\t\t\t\tif( sand.tag() === 'term' ) return\n\t\t\t\tland.Node( $hyoo_crus_node ).Item( sand.self() ).units().forEach( visit )\n\t\t\t}\n\t\t\tthis.units().forEach( visit )\n\t\t\t\n\t\t\treturn last ? $hyoo_crus_time_moment( last ) : null\n\t\t\t\n\t\t}\n\t\t\n\t\t/** All author Peers of Node subtree */\n\t\t@ $mol_mem\n\t\tauthor_peers() {\n\t\t\t\n\t\t\tconst land = this.land()\n\t\t\tconst peers = new Set< string >()\n\t\t\t\n\t\t\tconst visit = ( sand: $hyoo_crus_sand )=> {\n\t\t\t\tpeers.add( sand.peer() )\n\t\t\t\tif( sand.tag() === 'term' ) return\n\t\t\t\tland.Node( $hyoo_crus_node ).Item( sand.self() ).units_of( null ).forEach( visit )\n\t\t\t}\n\t\t\tthis.units_of( null ).forEach( visit )\n\t\t\t\n\t\t\treturn [ ... peers ]\n\t\t\t\n\t\t}\n\t\t\n\t\t/** All author Lords of Node subtree */\n\t\t@ $mol_mem\n\t\tauthor_lords() {\n\t\t\tconst land = this.land()\n\t\t\treturn this.author_peers()\n\t\t\t\t.map( peer => land.pass.get( peer )?.lord() )\n\t\t\t\t.filter( $mol_guard_defined )\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport function $mol_reconcile< Prev, Next >( {\n\t\tprev,\n\t\tfrom,\n\t\tto,\n\t\tnext,\n\t\tequal,\n\t\tdrop,\n\t\tinsert,\n\t\tupdate,\n\t\treplace,\n\t}: {\n\t\tprev: readonly Prev[],\n\t\tfrom: number,\n\t\tto: number,\n\t\tnext: ArrayLike,\n\t\tequal: ( next: Next, prev: Prev )=> boolean,\n\t\tdrop: ( prev: Prev, lead: Prev | null )=> Prev | null,\n\t\tinsert: ( next: Next, lead: Prev | null )=> Prev,\n\t\tupdate?: ( next: Next, prev: Prev, lead: Prev | null )=> Prev,\n\t\treplace?: ( next: Next, prev: Prev, lead: Prev | null )=> Prev,\n\t} ) {\n\t\t\n\t\tif( !update ) update = ( next, prev, lead )=> prev\n\t\tif( !replace ) replace = ( next, prev, lead )=> insert( next, drop( prev, lead ) )\n\t\t\n\t\tif( to > prev.length ) to = prev.length // $mol_fail( new RangeError( `To(${ to }) greater then length(${ prev.length })` ) )\n\t\tif( from > to ) from = to // $mol_fail( new RangeError( `From(${ to }) greater then to(${ to })` ) )\n\t\n\t\tlet p = from\n\t\tlet n = 0\n\t\tlet lead = p ? prev[ p - 1 ] : null\n\t\t\n\t\twhile( p < to || n < next.length ) {\n\t\t\t\n\t\t\tif( p < to && n < next.length && equal( next[n], prev[p] ) ) {\n\t\t\t\t\n\t\t\t\tlead = update( next[n], prev[p], lead )\n\t\t\t\t++ p\n\t\t\t\t++ n\n\t\t\t\t\n\t\t\t} else if( next.length - n > to - p ) {\n\t\t\t\t\n\t\t\t\tlead = insert( next[n], lead )\n\t\t\t\t++ n\n\t\t\t\t\n\t\t\t} else if( next.length - n < to - p ) {\n\t\t\t\t\n\t\t\t\tlead = drop( prev[p], lead )\n\t\t\t\t++ p\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tlead = replace( next[n], prev[p], lead )\n\t\t\t\t++ p\n\t\t\t\t++ n\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Reactive convergent list. */\n\texport class $hyoo_crus_list_vary extends $hyoo_crus_node {\n\t\t\n\t\tstatic tag = $hyoo_crus_sand_tag[ $hyoo_crus_sand_tag.vals ] as keyof typeof $hyoo_crus_sand_tag\n\t\t\n\t\t/** All Vary in the list. */\n\t\t@ $mol_mem\n\t\titems_vary(\n\t\t\tnext?: readonly $hyoo_crus_vary_type[],\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t): readonly $hyoo_crus_vary_type[] {\n\t\t\t\n\t\t\tconst units = this.units()\n\t\t\tif( next === undefined ) return units.map( unit => this.land().sand_decode( unit ) )\n\t\t\t\n\t\t\tthis.splice( next, 0, units.length, tag )\n\t\t\treturn this.items_vary()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Replace sublist by new one with reconciliation. */\n\t\t@ $mol_action\n\t\tsplice(\n\t\t\tnext: readonly $hyoo_crus_vary_type[],\n\t\t\tfrom = this.units().length,\n\t\t\tto = from,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tconst land = this.land()\n\t\t\t$mol_reconcile({\n\t\t\t\tprev: this.units(),\n\t\t\t\tfrom,\n\t\t\t\tto,\n\t\t\t\tnext,\n\t\t\t\tequal: ( next, prev )=> $mol_compare_deep( this.land().sand_decode( prev ), next ),\n\t\t\t\tdrop: ( prev, lead )=> this.land().post( lead?.self() ?? '', prev.head(), prev.self(), null ),\n\t\t\t\tinsert: ( next, lead )=> this.land().post( lead?.self() ?? '', this.head(), land.self_make(), next, tag ),\n\t\t\t\treplace: ( next, prev, lead )=> this.land().post( lead?.self() ?? '', prev.head(), prev.self(), next, prev.tag() ),\n\t\t\t})\n\t\t}\n\t\t\n\t\t/** Unit by Vary. */\n\t\tfind( vary: $hyoo_crus_vary_type ) {\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( $mol_compare_deep( this.land().sand_decode( unit ), vary ) ) return unit\n\t\t\t}\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t/** Existence of Vary in the list. */\n\t\thas(\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\tnext?: boolean,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tif( next === undefined ) return Boolean( this.find( vary ) )\n\t\t\tif( next ) this.add( vary, tag )\n\t\t\telse this.cut( vary )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/** Add Vary a the beginning if it doesn't exists. */\n\t\tadd(\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tif( this.has( vary ) ) return\n\t\t\tthis.land().post( '', this.head(), '', vary, tag )\n\t\t}\n\t\t\n\t\t/** Removes all Vary presence. */\n\t\tcut( vary: $hyoo_crus_vary_type ) {\n\t\t\t\n\t\t\tconst units = [ ... this.units() ]\n\t\t\tfor( let i = 0; i < units.length; ++ i ) {\n\t\t\t\t\n\t\t\t\tif( ! $mol_compare_deep( this.land().sand_decode( units[i] ), vary ) ) continue\n\t\t\t\t\n\t\t\t\tthis.land().post(\n\t\t\t\t\tunits[i-1]?.self() ?? 0,\n\t\t\t\t\tunits[i].head(),\n\t\t\t\t\tunits[i].self(),\n\t\t\t\t\tnull,\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tunits.splice( i, 1 )\n\t\t\t\t-- i\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves item from one Seat to another. */\n\t\tmove( from: number, to: number ) {\n\t\t\tthis.land().sand_move( this.units()[ from ], this.head(), to )\n\t\t}\n\t\t\n\t\t/** Remove item by Seat. */\n\t\twipe( seat: number ) {\n\t\t\tthis.land().sand_wipe( this.units()[ seat ] )\n\t\t}\n\t\t\n\t\t/** Add vary at the end and use maked Self as Node Head. */\n\t\tnode_make< Node extends typeof $hyoo_crus_node >(\n\t\t\tNode: Node,\n\t\t\tvary: $hyoo_crus_vary_type,\n\t\t\ttag: keyof typeof $hyoo_crus_sand_tag = 'term',\n\t\t) {\n\t\t\tthis.splice( [ vary ], undefined, undefined, tag )\n\t\t\treturn this.land().Node( Node ).Item( this.units().at(-1)!.self() )\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( this.items_vary() ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\n\t/** Mergeable list of atomic vary type factory */\n\texport function $hyoo_crus_list<\n\t\tParse extends $mol_data_value\n\t>( parse: Parse ) {\n\n\t\tabstract class $hyoo_crus_list extends $hyoo_crus_list_vary {\n\n\t\t\tstatic parse = parse;\n\n\t\t\t@ $mol_mem\n\t\t\titems( next?: readonly ReturnType< Parse >[] ): readonly ReturnType< Parse >[] {\n\t\t\t\treturn this.items_vary( next?.map( parse ) ).map( parse )\n\t\t\t}\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_list ? '$hyoo_crus_list<' + this.$.$mol_func_name( parse ) + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn $hyoo_crus_list\n\t}\n\n\t/** Mergeable list of atomic non empty binaries */\n\texport class $hyoo_crus_list_bin extends $hyoo_crus_list( $hyoo_crus_vary_cast_bin ) {}\n\t/** Mergeable list of atomic booleans */\n\texport class $hyoo_crus_list_bool extends $hyoo_crus_list( $hyoo_crus_vary_cast_bool ) {}\n\t/** Mergeable list of atomic int64s */\n\texport class $hyoo_crus_list_int extends $hyoo_crus_list( $hyoo_crus_vary_cast_int ) {}\n\t/** Mergeable list of atomic float64s */\n\texport class $hyoo_crus_list_real extends $hyoo_crus_list( $hyoo_crus_vary_cast_real ) {}\n\t/** Mergeable list of atomic int64 arrays */\n\texport class $hyoo_crus_list_ints extends $hyoo_crus_list( $hyoo_crus_vary_cast_ints ) {}\n\t/** Mergeable list of atomic float64 arrays */\n\texport class $hyoo_crus_list_reals extends $hyoo_crus_list( $hyoo_crus_vary_cast_reals ) {}\n\t/** Mergeable list of atomic some references */\n\texport class $hyoo_crus_list_ref extends $hyoo_crus_list( $hyoo_crus_vary_cast_ref ) {}\n\n\t/** Mergeable list of atomic strings */\n\texport class $hyoo_crus_list_str extends $hyoo_crus_list( $hyoo_crus_vary_cast_str ) {}\n\t/** Mergeable list of atomic iso8601 time moments */\n\texport class $hyoo_crus_list_time extends $hyoo_crus_list( $hyoo_crus_vary_cast_time ) {}\n\t/** Mergeable list of atomic iso8601 time durations */\n\texport class $hyoo_crus_list_dur extends $hyoo_crus_list( $hyoo_crus_vary_cast_dur ) {}\n\t/** Mergeable list of atomic iso8601 time intervals */\n\texport class $hyoo_crus_list_range extends $hyoo_crus_list( $hyoo_crus_vary_cast_range ) {}\n\t/** Mergeable list of atomic plain old js objects */\n\texport class $hyoo_crus_list_json extends $hyoo_crus_list( $hyoo_crus_vary_cast_json ) {}\n\t/** Mergeable list of atomic plain old js arrays */\n\texport class $hyoo_crus_list_jsan extends $hyoo_crus_list( $hyoo_crus_vary_cast_jsan ) {}\n\t/** Mergeable list of atomic DOMs */\n\texport class $hyoo_crus_list_dom extends $hyoo_crus_list( $hyoo_crus_vary_cast_dom ) {}\n\t/** Mergeable list of atomic Trees*/\n\texport class $hyoo_crus_list_tree extends $hyoo_crus_list( $hyoo_crus_vary_cast_tree ) {}\n\n\texport class $hyoo_crus_list_ref_base extends $hyoo_crus_list_ref {\n\t}\n\t\n\t/** mergeable list of atomic references to some Node type */\n\texport function $hyoo_crus_list_ref_to<\n\t\tconst Value extends any,\n\t\tVals extends readonly any[] = readonly $mol_type_result< $mol_type_result< Value > >[]\n\t>( Value: Value ) {\n\t\t\n\t\tclass $hyoo_crus_list_ref_to extends $hyoo_crus_list_ref_base {\n\t\t\t\n\t\t\tstatic Value = $mol_memo.func( Value as any ) as Value\n\t\t\t\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_list_ref_to ? '$hyoo_crus_list_ref_to<' + ( Value as any )() + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t\t/** List of referenced Nodes */\n\t\t\t@ $mol_mem\n\t\t\tremote_list( next?: Vals ) {\n\t\t\t\tconst glob = this.$.$hyoo_crus_glob\n\t\t\t\tconst Node = ( Value as any )()\n\t\t\t\treturn this.items_vary( next?.map( item => ( item as $hyoo_crus_node ).ref() ) )\n\t\t\t\t\t.map( $hyoo_crus_vary_cast_ref )\n\t\t\t\t\t.filter( $mol_guard_defined )\n\t\t\t\t\t.map( ref => glob.Node( ref, Node ) ) as readonly any[] as Vals\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tremote_add( item: Vals[number] ) {\n\t\t\t\tthis.add( item.ref() )\n\t\t\t}\n\t\t\t\n\t\t\t/** Make new Node and place it at end. */\n\t\t\t@ $mol_action\n\t\t\tmake( config: null | number | $hyoo_crus_rank_preset | $hyoo_crus_land ): Vals[number] {\n\t\t\t\t\n\t\t\t\tif( config === null || typeof config === 'number' ) {\n\t\t\t\t\t\n\t\t\t\t\tconst self = this.land().self_make( config || undefined )\n\t\t\t\t\tconst node = this.land().Node( ( Value as any )() ).Item( self )\n\t\t\t\t\tthis.splice([ node.ref() ])\n\t\t\t\t\treturn node\n\t\t\t\t\t\n\t\t\t\t} else if( config instanceof $hyoo_crus_land ) {\n\t\t\t\t\t\n\t\t\t\t\tconst land = config.area_make()\n\t\t\t\t\tthis.splice([ land.ref() ])\n\t\t\t\t\treturn land.Node( ( Value as any )() ).Item('')\n\t\t\t\t\t\n\t\t\t\t} else if( config ) {\n\t\t\t\t\t\n\t\t\t\t\tconst land = this.$.$hyoo_crus_glob.land_grab( config )\n\t\t\t\t\tthis.splice([ land.ref() ])\n\t\t\t\t\treturn land.Node( ( Value as any )() ).Item('')\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\t/** Add new Node which placed in new Land */\n\t\t\t/** @deprecated use make( ... ) */\n\t\t\tremote_make( config: $hyoo_crus_rank_preset ): Vals[number] {\n\t\t\t\treturn this.make( config )\n\t\t\t}\n\t\t\t\n\t\t\t/** Add new Node which placed in same Land */\n\t\t\t/** @deprecated use make( ... ) */\n\t\t\t@ $mol_action\n\t\t\tlocal_make( idea?: number ): Vals[number] {\n\t\t\t\tconst self = this.land().self_make( idea )\n\t\t\t\tconst node = this.land().Node( ( Value as any )() ).Item( self )\n\t\t\t\tthis.splice([ node.ref() ])\n\t\t\t\treturn node\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn $hyoo_crus_list_ref_to\n\t}\n\t\n}\n","namespace $ {\n\t/** Mergeable dictionary node with any keys mapped to any embedded Node types */\n\texport class $hyoo_crus_dict extends $hyoo_crus_list_vary {\n\t\t\n\t\tstatic tag = $hyoo_crus_sand_tag[ $hyoo_crus_sand_tag.keys ] as keyof typeof $hyoo_crus_sand_tag\n\t\t\n\t\t/** List of Vary keys. */\n\t\t@ $mol_mem\n\t\tkeys(): readonly $hyoo_crus_vary_type[] {\n\t\t\treturn this.items_vary()\n\t\t}\n\t\t\n\t\t/** Inner Node by key. */\n\t\tdive< Node extends typeof $hyoo_crus_node >(\n\t\t\tkey: $hyoo_crus_vary_type,\n\t\t\tNode: Node,\n\t\t\tauto?: any,\n\t\t) {\n\t\t\tif( this.can_change() && auto !== undefined ) this.has( key, true, Node.tag )\n\t\t\tconst unit = this.find( key )\n\t\t\treturn unit ? this.land().Node( Node ).Item( unit.self() ) : null\n\t\t}\n\t\t\n\t\tstatic schema = {} as Record< string, typeof $hyoo_crus_node >\n\t\t\n\t\t/** Mergeable dictionary node with defined keys mapped to different embedded Node types */\n\t\tstatic with<\n\t\t\tThis extends typeof $hyoo_crus_dict,\n\t\t\tconst Schema extends Record< string, { tag: keyof typeof $hyoo_crus_sand_tag, new(): {} } >\n\t\t>( this: This, schema: Schema ) {\n\t\t\t\n\t\t\tconst $hyoo_crus_dict_with = class $hyoo_crus_dict_with extends ( this as any ) {\n\t\t\t\t// static get schema() { return { ... this.schema, ... schema } }\n\t\t\t\t\n\t\t\t\tstatic toString() {\n\t\t\t\t\t\n\t\t\t\t\tif( this !== $hyoo_crus_dict_with ) return super.toString()\n\t\t\t\t\t\n\t\t\t\t\tconst params = Object.entries( schema ).map( ([ name, type ])=> `${name}: ${type}` )\n\t\t\t\t\treturn '$hyoo_crus_dict.with<{' + params.join( ', ' ) + '}>'\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} as Omit< This, 'prototype' > & {\n\t\t\t\tnew( ...args: any[] ): $mol_type_override< InstanceType< This >, {\n\t\t\t\t\treadonly [ Key in keyof Schema ]: ( auto?: any )=> InstanceType< Schema[ Key ] > | null\n\t\t\t\t} >\n\t\t\t}\n\n\t\t\tfor( const Field in schema ) {\n\t\t\t\t\n\t\t\t\tObject.defineProperty( $hyoo_crus_dict_with.prototype, Field, {\n\t\t\t\t\tvalue: function( this: InstanceType< This >, auto?: any ) {\n\t\t\t\t\t\treturn this.dive( Field, schema[ Field ] as any, auto )\n\t\t\t\t\t}\n\t\t\t\t} )\n\t\t\t\t\n\t\t\t\t// $mol_wire_field( Entity.prototype, Field as any )\n\t\t\t}\n\t\t\t\n\t\t\treturn Object.assign( $hyoo_crus_dict_with, { schema: { ... this.schema, ... schema } } )\n\t\t\t\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tconst keys = $mol_wire_probe( ()=> this.keys() )\n\t\t\tconst nodes = $mol_wire_probe( ()=> this.nodes(null) ) ?? []\n\t\t\t\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( keys?.map( ( key, index )=> new Pair( key, nodes[ index ] ) ) ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\tclass Pair {\n\t\tconstructor( readonly key: any, readonly val: any ) {\n\t\t}\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_tr( {} ,\n\t\t\t\t$mol_dev_format_td( {}, $mol_dev_format_auto(this.key) ),\n\t\t\t\t$mol_dev_format_td( {},': '),\n\t\t\t\t$mol_dev_format_td( {}, $mol_dev_format_auto(this.val) ),\n\t\t\t)\n\t\t}\n\t}\n\t\n\t/** Mergeable dictionary with any keys mapped to any embedded Node types */\n\texport function $hyoo_crus_dict_to<\n\t\tValue extends { tag: keyof typeof $hyoo_crus_sand_tag, new(): {} }\n\t>( Value: Value ) {\n\t\t\n\t\treturn class $hyoo_crus_dict_to extends $hyoo_crus_dict {\n\t\t\t\n\t\t\tValue = Value\n\t\t\t\n\t\t\tkey( key: $hyoo_crus_vary_type, auto?: any ) {\n\t\t\t\treturn this.dive( key, this.Value as any as typeof $hyoo_crus_node, auto ) as InstanceType< Value >\n\t\t\t}\n\t\t\t\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_dict_to ? '$hyoo_crus_dict_to<' + Value + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/**\n\t * 48-bit streamable string hash function\n\t * Based on cyrb53: https://stackoverflow.com/a/52171480\n\t */\n\texport function $mol_hash_string( str: string, seed = 0 ) {\n\t\t\n\t\tlet h1 = 0xdeadbeef ^ seed\n\t\tlet h2 = 0x41c6ce57 ^ seed\n\t\t\n\t\tfor( let i = 0; i < str.length; i++ ) {\n\t\t\tconst ch = str.charCodeAt(i)\n\t\t\th1 = Math.imul( h1 ^ ch, 2654435761 )\n\t\t\th2 = Math.imul( h2 ^ ch, 1597334677 )\n\t\t}\n\t\t\n\t\th1 = Math.imul( h1 ^ ( h1 >>> 16 ), 2246822507 ) ^ Math.imul( h2 ^ ( h2 >>> 13 ), 3266489909 )\n\t\th2 = Math.imul( h2 ^ ( h2 >>> 16 ), 2246822507 ) ^ Math.imul( h1 ^ ( h1 >>> 13 ), 3266489909 )\n\t\t\n\t\treturn 4294967296 * ( ( ( 1 << 16 ) - 1 ) & h2 ) + ( h1 >>> 0 )\n\t}\n\n}\n","\nnamespace $ {\n\n\t/** Atomic dynamic register */\n\texport class $hyoo_crus_atom_vary extends $hyoo_crus_node {\n\n\t\tstatic tag = $hyoo_crus_sand_tag[ $hyoo_crus_sand_tag.solo ] as keyof typeof $hyoo_crus_sand_tag;\n\t\t\n\t\tpick_unit( peer: string | null ) {\n\t\t\treturn this.units_of( peer ).at(0)\n\t\t}\n\t\t\n\t\tvary( next?: $hyoo_crus_vary_type ): $hyoo_crus_vary_type {\n\t\t\treturn this.vary_of( '', next )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tvary_of( peer: string | null, next?: $hyoo_crus_vary_type ): $hyoo_crus_vary_type {\n\t\t\t\n\t\t\tlet unit_prev = this.pick_unit( peer )\n\t\t\tlet prev = unit_prev ? this.land().sand_decode( unit_prev ) : null\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( $mol_compare_deep( prev , next ) ) return next\n\t\t\t\n\t\t\tthis.land().post(\n\t\t\t\t'', \n\t\t\t\tunit_prev?.head() ?? this.head(),\n\t\t\t\tunit_prev?.self() ?? '',\n\t\t\t\tnext\n\t\t\t)\n\t\t\t\n\t\t\treturn this.vary_of( peer )\n\t\t}\n\t\t\n\t\t;[ $mol_dev_format_head ]() {\n\t\t\treturn $mol_dev_format_span( {} ,\n\t\t\t\t$mol_dev_format_native( this ) ,\n\t\t\t\t' ',\n\t\t\t\tthis.head(),\n\t\t\t\t' ',\n\t\t\t\t$mol_dev_format_auto( this.vary() ),\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\n\texport class $hyoo_crus_atom_enum_base extends $hyoo_crus_atom_vary {\n\n\t\tstatic options = [] as readonly $hyoo_crus_vary_type[]\n\t\t\n\t}\n\t\n\texport function $hyoo_crus_atom_enum<\n\t\tconst Options extends readonly $hyoo_crus_vary_type[]\n\t>( options: Options ) {\n\n\t\tabstract class $hyoo_crus_atom_enum extends $hyoo_crus_atom_enum_base {\n\n\t\t\tstatic options = options;\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_atom_enum ? '$hyoo_crus_atom_enum<' + options.map( $hyoo_crus_vary_cast_str ) + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t\tval( next?: Options[number] ): Options[number] | null {\n\t\t\t\treturn this.val_of( '', next )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tval_of( peer: string | null, next?: Options[number] ): Options[number] | null {\n\t\t\t\t\n\t\t\t\tvalidate: if( next !== undefined ) {\n\t\t\t\t\tfor( const option of options ) {\n\t\t\t\t\t\tif( $mol_compare_deep( option, next ) ) break validate\n\t\t\t\t\t}\n\t\t\t\t\t$mol_fail( new Error( `Wrong value (${ $hyoo_crus_vary_cast_str( next ) })` ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst val = this.vary_of( peer, next )\n\t\t\t\t\n\t\t\t\tfor( const option of options ) {\n\t\t\t\t\tif( $mol_compare_deep( option, val ) ) return val\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn null\n\t\t\t}\n\n\t\t}\n\n\t\treturn $hyoo_crus_atom_enum\n\t}\n\n\t/** Atomic narrowed register factory */\n\texport function $hyoo_crus_atom<\n\t\tParse extends $mol_data_value\n\t>( parse: Parse ) {\n\n\t\tabstract class $hyoo_crus_atom extends $hyoo_crus_atom_vary {\n\n\t\t\tstatic parse = parse;\n\n\t\t\t/** Get/Set value of Node field */\n\t\t\tval( next?: ReturnType< Parse > ): ReturnType< Parse > | null {\n\t\t\t\treturn this.val_of( '', next )\n\t\t\t}\n\t\t\t\n\t\t\tval_of( peer: string | null, next?: ReturnType< Parse > ): ReturnType< Parse > | null {\n\t\t\t\t\n\t\t\t\tif( next !== undefined ) parse( next )\n\t\t\t\t\n\t\t\t\tconst res = this.vary_of( peer, next )\n\t\t\t\ttry {\n\t\t\t\t\treturn parse( res )\n\t\t\t\t} catch {\n\t\t\t\t\treturn null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_atom ? '$hyoo_crus_atom<' + this.$.$mol_func_name( parse ) + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\treturn $hyoo_crus_atom\n\t}\n\t\n\t/** Atomic non empty binary register */\n\texport class $hyoo_crus_atom_bin extends $hyoo_crus_atom( $hyoo_crus_vary_cast_bin ) {}\n\t/** Atomic boolean register */\n\texport class $hyoo_crus_atom_bool extends $hyoo_crus_atom( $hyoo_crus_vary_cast_bool ) {}\n\t/** Atomic int64 register */\n\texport class $hyoo_crus_atom_int extends $hyoo_crus_atom( $hyoo_crus_vary_cast_int ) {}\n\t/** Atomic float64 register */\n\texport class $hyoo_crus_atom_real extends $hyoo_crus_atom( $hyoo_crus_vary_cast_real ) {}\n\t/** Atomic int64 array register */\n\texport class $hyoo_crus_atom_ints extends $hyoo_crus_atom( $hyoo_crus_vary_cast_ints ) {}\n\t/** Atomic float64 array register */\n\texport class $hyoo_crus_atom_reals extends $hyoo_crus_atom( $hyoo_crus_vary_cast_reals ) {}\n\t/** Atomic some reference register */\n\texport class $hyoo_crus_atom_ref extends $hyoo_crus_atom( $hyoo_crus_vary_cast_ref ) {}\n\n\t/** Atomic string register */\n\texport class $hyoo_crus_atom_str extends $hyoo_crus_atom( $hyoo_crus_vary_cast_str ) {}\n\t/** Atomic iso8601 time moment register*/\n\texport class $hyoo_crus_atom_time extends $hyoo_crus_atom( $hyoo_crus_vary_cast_time ) {}\n\t/** Atomic iso8601 time duration register */\n\texport class $hyoo_crus_atom_dur extends $hyoo_crus_atom( $hyoo_crus_vary_cast_dur ) {}\n\t/** Atomic iso8601 time interval register */\n\texport class $hyoo_crus_atom_range extends $hyoo_crus_atom( $hyoo_crus_vary_cast_range ) {}\n\n\t/** Atomic plain old js object register */\n\texport class $hyoo_crus_atom_json extends $hyoo_crus_atom( $hyoo_crus_vary_cast_json ) {}\n\t/** Atomic plain old js array register */\n\texport class $hyoo_crus_atom_jsan extends $hyoo_crus_atom( $hyoo_crus_vary_cast_jsan ) {}\n\t/** Atomic DOM register */\n\texport class $hyoo_crus_atom_dom extends $hyoo_crus_atom( $hyoo_crus_vary_cast_dom ) {}\n\t/** Atomic Tree register */\n\texport class $hyoo_crus_atom_tree extends $hyoo_crus_atom( $hyoo_crus_vary_cast_tree ) {}\n\t\n\texport class $hyoo_crus_atom_ref_base extends $hyoo_crus_atom_ref {\n\t\t\n\t\tstatic Value = $hyoo_crus_dict;\n\t\t\n\t}\n\t\n\t/** Atomic reference to some Node type register */\n\texport function $hyoo_crus_atom_ref_to< const Value extends any >( Value: Value ) {\n\n\t\tclass $hyoo_crus_atom_ref_to extends $hyoo_crus_atom_ref_base {\n\n\t\t\tValue = $mol_memo.func( Value as any ) as Value;\n\n\t\t\tstatic toString() {\n\t\t\t\treturn this === $hyoo_crus_atom_ref_to ? '$hyoo_crus_atom_ref_to<' + ( Value as any )() + '>' : super.toString()\n\t\t\t}\n\t\t\t\n\t\t\t/** Target Node */\n\t\t\tremote(\n\t\t\t\tnext?: null | $mol_type_result< $mol_type_result< this['Value'] > >\n\t\t\t): null | $mol_type_result< $mol_type_result< this['Value'] > > {\n\t\t\t\treturn this.remote_of( '', next )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_mem_key\n\t\t\tremote_of(\n\t\t\t\tpeer: string | null,\n\t\t\t\tnext?: null | $mol_type_result< $mol_type_result< this['Value'] > >\n\t\t\t): null | $mol_type_result< $mol_type_result< this['Value'] > > {\n\t\t\t\t\n\t\t\t\tlet ref: $hyoo_crus_ref | null = ( next as $hyoo_crus_node )?.ref() ?? next\n\t\t\t\tref = $hyoo_crus_vary_cast_ref( this.vary_of( peer, ref ) )\n\t\t\t\tif( !ref ) return null\n\t\t\t\t\n\t\t\t\treturn this.$.$hyoo_crus_glob.Node( ref, ( Value as any )() )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\t/** Target Node. Creates if not exists. */\n\t\t\tensure( config?: null | $hyoo_crus_rank_preset | $hyoo_crus_land ) {\n\t\t\t\treturn this.ensure_of( '', config )\n\t\t\t}\n\t\t\t\n\t\t\tensure_of( peer: string | null, config?: null | $hyoo_crus_rank_preset | $hyoo_crus_land ) {\n\t\t\t\t\n\t\t\t\tif( !this.val_of( peer ) ) {\n\t\t\t\t\tif( config === null ) this.ensure_here( peer )\n\t\t\t\t\telse if( config instanceof $hyoo_crus_land ) this.ensure_area( peer, config )\n\t\t\t\t\telse if( config ) this.ensure_lord( peer, config )\n\t\t\t\t\telse return null\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.remote_of( peer )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tensure_here( peer: string | null ) {\n\t\t\t\tconst idea = $mol_hash_string( this.ref().description! )\n\t\t\t\tconst head = this.land().self_make( idea )\n\t\t\t\tconst node = this.land().Node( ( Value as any )() ).Item( head )\n\t\t\t\tthis.remote_of( peer, node )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tensure_area( peer: string | null, land: $hyoo_crus_land ) {\n\t\t\t\tconst idea = $mol_hash_string( this.ref().description! )\n\t\t\t\tconst area = land.area_make( idea )\n\t\t\t\tthis.val_of( peer, area.ref() )\n\t\t\t}\n\t\t\t\n\t\t\t@ $mol_action\n\t\t\tensure_lord( peer: string | null, preset: $hyoo_crus_rank_preset ) {\n\t\t\t\tconst land = this.$.$hyoo_crus_glob.land_grab( preset )\n\t\t\t\tthis.val_of( peer, land.ref() )\n\t\t\t}\n\t\t\t\n\t\t\t/** @deprecated Use ensure( preset ) */\n\t\t\tremote_ensure( preset?: $hyoo_crus_rank_preset ) {\n\t\t\t\treturn this.ensure( preset )\n\t\t\t}\n\n\t\t\t/** @deprecated Use ensure( null ) */\n\t\t\tlocal_ensure() {\n\t\t\t\treturn this.ensure( null )\n\t\t\t}\n\n\t\t}\n\n\t\treturn $hyoo_crus_atom_ref_to\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Entity dictionary Model with Title property included by default */\n\texport class $hyoo_crus_entity extends $hyoo_crus_dict.with( {\n\t\t/** Entity Title - default property for use */\n\t\tTitle: $hyoo_crus_atom_str,\n\t}) {\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\treturn this.Title( next )?.val( next ) ?? ''\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Land where Lord is King. Contains only ain info. */\n\texport class $hyoo_crus_home extends $hyoo_crus_entity.with({\n\t\tSelection: $hyoo_crus_atom_str,\n\t\tHall: $hyoo_crus_atom_ref_to( ()=> $hyoo_crus_dict ),\n\t}) {\n\t\t\n\t\thall_by< Node extends typeof $hyoo_crus_dict >(\n\t\t\tNode: Node,\n\t\t\tpreset?: $hyoo_crus_rank_preset\n\t\t) {\n\t\t\treturn this.Hall(null)?.ensure( preset )?.cast( Node ) ?? null\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t/** Whole global graph database which contains Lands. */\n\texport class $hyoo_crus_glob extends $mol_object {\n\t\t\n\t\tstatic lands_touched = new $mol_wire_set< $hyoo_crus_ref >()\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tlands_touched = ( this.constructor as typeof $hyoo_crus_glob ).lands_touched\n\t\t\n\t\t/** Glob synchronizer. */\n\t\t@ $mol_mem\n\t\tstatic yard() {\n\t\t\treturn new this.$.$hyoo_crus_yard\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tyard() {\n\t\t\treturn this.$.$hyoo_crus_glob.yard()\n\t\t}\n\t\t\n\t\t/** Land where Lord is King. Contains only ain info */\n\t\tstatic home< Node extends typeof $hyoo_crus_home = typeof $hyoo_crus_home >( Node?: Node ) {\n\t\t\treturn this.Land( this.$.$hyoo_crus_auth.current().lord() ).Data( Node ?? $hyoo_crus_home ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\thome() {\n\t\t\treturn this.$.$hyoo_crus_glob.home()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic king_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\t\n\t\t\tconst king = this.$.$hyoo_crus_auth.grab()\n\t\t\tconst colony = ( $mol_wire_sync( $hyoo_crus_land ) as typeof $hyoo_crus_land ).make({ $: this.$ })\n\t\t\tcolony.auth = $mol_const( king )\n\t\t\t\n\t\t\tif( ( preset[''] ?? $hyoo_crus_rank_deny ) === $hyoo_crus_rank_deny ) {\n\t\t\t\tcolony.encrypted( true )\n\t\t\t}\n\t\t\t\n\t\t\tconst self = this.$.$hyoo_crus_auth.current()\n\t\t\tcolony.give( self, $hyoo_crus_rank_rule )\n\t\t\t\n\t\t\tfor( const key in preset ) colony.give( key ? $hyoo_crus_auth.from( key ) : null, preset[ key ] )\n\t\t\t\n\t\t\tthis.Land( colony.ref() ).apply_unit( colony.delta_unit() )\n\t\t\t\n\t\t\treturn king\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tking_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\treturn this.$.$hyoo_crus_glob.king_grab( preset )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic land_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\treturn this.Land( this.king_grab( preset ).lord() )\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tland_grab( preset : $hyoo_crus_rank_preset = { '': $hyoo_crus_rank_read } ) {\n\t\t\treturn this.$.$hyoo_crus_glob.land_grab( preset )\n\t\t}\n\t\t\n\t\t/** Standalone part of Glob which syncs separately, have own rights, and contains Units */\n\t\t@ $mol_mem_key\n\t\tstatic Land( ref: $hyoo_crus_ref ): $hyoo_crus_land {\n\t\t\tthis.lands_touched.add( ref )\n\t\t\treturn $hyoo_crus_land.make({\n\t\t\t\tref: $mol_const( ref ),\n\t\t\t})\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tLand( ref: $hyoo_crus_ref ) {\n\t\t\treturn this.$.$hyoo_crus_glob.Land( ref )\n\t\t}\n\t\t\n\t\t/** High level representation of stored data. */\n\t\tstatic Node< Node extends typeof $hyoo_crus_node > ( ref: $hyoo_crus_ref, Node: Node ) {\n\t\t\tconst land = this.Land( $hyoo_crus_ref_land( ref ) )\n\t\t\treturn land.Node( Node ).Item( $hyoo_crus_ref_head( ref ) )\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tNode< Node extends typeof $hyoo_crus_node > ( ref: $hyoo_crus_ref, Node: Node ) {\n\t\t\treturn this.$.$hyoo_crus_glob.Node( ref, Node )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic apply_pack( pack: $hyoo_crus_pack ) {\n\t\t\tconst { lands, rocks } = pack.parts()\n\t\t\treturn this.apply_parts( lands, rocks )\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tapply_pack( pack: $hyoo_crus_pack ) {\n\t\t\treturn this.$.$hyoo_crus_glob.apply_pack( pack )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic apply_parts(\n\t\t\tlands: Record< $hyoo_crus_ref, {\n\t\t\t\tfaces: $hyoo_crus_face_map\n\t\t\t\tunits: $hyoo_crus_unit[]\n\t\t\t}>,\n\t\t\trocks: [ Uint8Array< ArrayBuffer >, Uint8Array< ArrayBuffer > | null ][],\n\t\t) {\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( lands ) as $hyoo_crus_ref[] ) {\n\t\t\t\t\n\t\t\t\tconst errors = this.Land( land ).apply_unit( lands[ land ].units ).filter( Boolean )\n\t\t\t\t\n\t\t\t\tfor( const error of errors ) this.$.$mol_log3_warn({\n\t\t\t\t\tplace: `${this}.apply_pack()`,\n\t\t\t\t\tmessage: error,\n\t\t\t\t\thint: 'Send it to developer',\n\t\t\t\t})\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor( const [ hash, rock ] of rocks ) {\n\t\t\t\tif( !rock ) continue\n\t\t\t\tthis.$.$hyoo_crus_mine.rock_save( rock )\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t/** @deprecated Use `this.$.$hyoo_crus_glob` */\n\t\tapply_parts(\n\t\t\tlands: Record< $hyoo_crus_ref, {\n\t\t\t\tfaces: $hyoo_crus_face_map\n\t\t\t\tunits: $hyoo_crus_unit[]\n\t\t\t}>,\n\t\t\trocks: [ Uint8Array< ArrayBuffer >, Uint8Array< ArrayBuffer > | null ][],\n\t\t) {\n\t\t\treturn this.$.$hyoo_crus_glob.apply_parts( lands, rocks )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_rest_port_ws extends $mol_rest_port {}\n\t\n}\n","namespace $ {\n\t\n\texport class $mol_rest_port_ws_std extends $mol_rest_port_ws {\n\t\t\n\t\tsocket!: WebSocket\n\t\t\n\t\t@ $mol_action\n\t\tsend_nil() {\n\t\t\tif( this.socket.readyState !== this.socket.OPEN ) return\n\t\t\tthis.socket.send( '' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_bin( data: Uint8Array< ArrayBuffer > ) {\n\t\t\tif( this.socket.readyState !== this.socket.OPEN ) return\n\t\t\tthis.socket.send( data )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsend_text( data: string ) {\n\t\t\tif( this.socket.readyState !== this.socket.OPEN ) return\n\t\t\tconst bin = $mol_charset_encode( data )\n\t\t\tthis.socket.send( bin )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\tconst Passives = new WeakMap< $mol_rest_port, Set< $hyoo_crus_ref > >()\n\t\n\t/** Glob synchronizer */\n\texport class $hyoo_crus_yard extends $mol_object {\n\t\t\n\t\t/** Whole global graph database which contains Lands */\n\t\t@ $mol_mem\n\t\tglob() {\n\t\t\treturn null! as $hyoo_crus_glob\n\t\t}\n\t\t\n\t\tlands_news = new $mol_wire_set< $hyoo_crus_ref >()\n\t\t\n\t\tstatic masters = [] as string[]\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_cursor( next = 0 ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_current() {\n\t\t\treturn this.$.$hyoo_crus_yard.masters[ this.master_cursor() ]\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tmaster_next() {\n\t\t\tthis.master_cursor( ( this.master_cursor() + 1 ) % this.$.$hyoo_crus_yard.masters.length )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\treconnects( reset?: null ): number {\n\t\t\treturn ( $mol_wire_probe( ()=> this.reconnects() ) ?? 0 ) + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster() {\n\t\t\t\n\t\t\tthis.reconnects()\n\t\t\t\n\t\t\tconst link = this.master_current()\n\t\t\tif( !link ) return null\n\t\t\t\n\t\t\tconst socket = new $mol_dom_context.WebSocket( link.replace( /^http/, 'ws' ) )\n\t\t\tsocket.binaryType = 'arraybuffer'\n\t\t\tconst port = $mol_rest_port_ws_std.make({ socket })\n\t\t\t\n\t\t\tsocket.onmessage = async( event )=> {\n\t\t\t\t\n\t\t\t\tif( event.data instanceof ArrayBuffer ) {\n\t\t\t\t\tif( !event.data.byteLength ) return\n\t\t\t\t\tawait $mol_wire_async( this ).port_income( port, new Uint8Array( event.data ) )\n\t\t\t\t} else {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_fail({\t\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tmessage: 'Wrong data',\n\t\t\t\t\t\tdata: event.data\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\tlet interval: any\n\n\t\t\tsocket.onclose = ()=> {\n\t\t\t\tclearInterval( interval )\n\t\t\t\tsetTimeout( ()=> this.reconnects( null ), 1000 )\n\t\t\t}\n\t\t\t\n\t\t\tObject.assign( socket, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\tsocket.onclose = ()=> {}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tsocket.close()\n\t\t\t\t}\n\t\t\t} )\n\t\t\t\n\t\t\treturn new Promise< $mol_rest_port >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tsocket.onopen = ()=> {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_come({\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tmessage: 'Connected',\n\t\t\t\t\t\tport: $mol_key( port ),\n\t\t\t\t\t\tserver: link,\n\t\t\t\t\t})\n\t\t\t\t\t\n\t\t\t\t\tinterval = setInterval( ()=> socket.send( new Uint8Array ), 30000 )\n\t\t\t\t\t\n\t\t\t\t\tdone( port )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsocket.onerror = ()=> {\n\t\t\t\t\t\n\t\t\t\t\tsocket.onclose = event => {\n\t\t\t\t\t\tfail( new Error( `Master (${link}) is unavailable (${ event.code })` ) )\n\t\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\t\tinterval = setTimeout( ()=> {\n\t\t\t\t\t\t\tthis.master_next()\n\t\t\t\t\t\t\tthis.reconnects( null )\n\t\t\t\t\t\t}, 1000 )\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} ) as any as $mol_rest_port\n\t\t\t\n\t\t}\n\t\t\n\t\tslaves = new $mol_wire_set< $mol_rest_port >()\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\tthis.sync_news()\n\t\t\tthis.sync_port()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_news() {\n\t\t\t\n\t\t\tconst glob = this.$.$hyoo_crus_glob\n\t\t\tconst lands = [ ... this.lands_news ].map( ref => glob.Land( ref ) )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const port of this.masters() ) {\n\t\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\t\tthis.sync_port_land([ port, land.ref() ])\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tfor( const land of lands ) land.saving()\n\t\t\t\tthis.lands_news.clear()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync_port() {\n\t\t\tfor( const port of this.ports() ) this.sync_port_lands( port )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsync_port_lands( port: $mol_rest_port ) {\n\t\t\tfor( const land of this.port_lands_active( port ) ) {\n\t\t\t\tthis.sync_port_land([ port, land ])\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tports() {\n\t\t\treturn [ ... this.masters(), ... this.slaves ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmasters() {\n\t\t\ttry {\n\t\t\t\treturn [ this.master() ].filter( $mol_guard_defined )\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn []\n\t\t\t}\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tport_lands_active( port: $mol_rest_port ) {\n\t\t\treturn new $mol_wire_set< $hyoo_crus_ref >()\n\t\t}\n\t\t\n\t\tport_lands_passive( port: $mol_rest_port ) {\n\t\t\tlet passives = Passives.get( port )\n\t\t\tif( !passives ) Passives.set( port, passives = new Set )\n\t\t\treturn passives\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tport_income( port: $mol_rest_port, msg: Uint8Array< ArrayBuffer > ) {\n\t\t\t\n\t\t\tconst pack = $mol_wire_sync( $hyoo_crus_pack ).from( msg ) as $hyoo_crus_pack\n\t\t\tconst parts = $mol_wire_sync( pack ).parts()\n\t\t\t\n\t\t\tif( this.$.$hyoo_crus_log() ) $mol_wire_sync( this.$ ).$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Gain Pack',\n\t\t\t\tport: $mol_key( port ),\n\t\t\t\tlands: parts.lands,\n\t\t\t\trocks: parts.rocks.length,\n\t\t\t})\n\t\t\t\n\t\t\tforget: {\n\t\t\t\t\n\t\t\t\tif( parts.rocks.length ) break forget\n\t\t\t\t\n\t\t\t\tconst lands = Object.getOwnPropertySymbols( parts.lands ) as any as readonly $hyoo_crus_ref[]\n\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\t\n\t\t\t\t\tif( parts.lands[ land ].units.length ) break forget\n\t\t\t\t\tif( parts.lands[ land ].faces.size ) break forget\n\t\t\t\t\tif( !this.port_lands_active( port ).has( land ) ) break forget\n\t\t\t\t\t\n\t\t\t\t\tthis.port_lands_active( port ).delete( land )\n\t\t\t\t\treturn\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\tthis.face_port_sync( port, parts.lands )\n\t\t\tthis.$.$hyoo_crus_glob.apply_parts( parts.lands, parts.rocks )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tface_port_sync(\n\t\t\tport: $mol_rest_port,\n\t\t\tincome: Record< $hyoo_crus_ref, {\n\t\t\t\tfaces: $hyoo_crus_face_map\n\t\t\t\tunits: $hyoo_crus_unit[]\n\t\t\t}>, \n\t\t) {\n\t\t\t\n\t\t\tconst actives = this.port_lands_active( port )\n\t\t\tconst passives = this.port_lands_passive( port )\n\t\t\t\n\t\t\tfor( const land of Reflect.ownKeys( income ) as $hyoo_crus_ref[] ) {\n\t\t\t\t\n\t\t\t\tif( !passives.has( land ) ) actives.add( land )\n\t\t\t\t\n\t\t\t\tconst faces = income[ land ].faces\n\t\t\t\tlet port_faces = this.face_port_land([ port, land ])\n\t\t\t\t\n\t\t\t\tif( !port_faces ) this.face_port_land(\n\t\t\t\t\t[ port, land ],\n\t\t\t\t\tport_faces = $mol_mem_cached( ()=> this.face_port_land([ port, land ]) )\n\t\t\t\t\t\t|| new $hyoo_crus_face_map,\n\t\t\t\t)\n\t\t\t\tport_faces.sync( faces )\n\t\t\t\n\t\t\t\tconst units = income[ land ].units\n\t\t\t\tfor( let unit of units ) {\n\t\t\t\t\tconst unit2 = unit.narrow()\n\t\t\t\t\tif( unit2 instanceof $hyoo_crus_pass ) continue\n\t\t\t\t\tport_faces.time_max( unit2.peer(), unit2.time() )\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_mem_key\n\t\tsync_land( land: $hyoo_crus_ref ) {\n\t\t\tfor( const port of this.masters() ) {\n\t\t\t\tthis.port_lands_passive( port ).add( land )\n\t\t\t\tthis.sync_port_land([ port, land ])\n\t\t\t}\n\t\t\tthis.sync()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tforget_land( land: $hyoo_crus_land ) {\n\t\t\t\n\t\t\tconst faces = new $hyoo_crus_face_map\n\t\t\tfaces.total = land.faces.total\n\t\t\t\n\t\t\tconst pack = $hyoo_crus_pack.make({\n\t\t\t\tlands: { [ land.ref() ]: { faces, units: [] } },\n\t\t\t\trocks:[],\n\t\t\t}).asArray()\n\t\t\t\n\t\t\tfor( const port of this.ports() ) {\n\t\t\t\t\n\t\t\t\tif( !this.port_lands_passive( port ).has( land.ref() ) ) continue\n\t\t\t\tthis.port_lands_passive( port ).delete( land.ref() )\n\t\t\t\t\n\t\t\t\tif( this.$.$hyoo_crus_log() ) this.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: 'Forget Land',\n\t\t\t\t\tport: $mol_key( port ),\n\t\t\t\t\tland: land.ref(),\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tport.send_bin( pack )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tsync_port_land( [ port, land ]: [ $mol_rest_port, $hyoo_crus_ref ] ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\n\t\t\t\tthis.init_port_land([ port, land ])\n\t\t\t\t\n\t\t\t\tconst faces = this.face_port_land([ port, land ])\n\t\t\t\tif( !faces ) return\n\t\t\t\t\n\t\t\t\tconst Land = this.$.$hyoo_crus_glob.Land( land )\n\t\t\t\tLand.saving()\n\t\t\t\t\n\t\t\t\tconst parts = Land.delta_parts( faces )\n\t\t\t\tif( !parts ) return\n\t\t\t\t\n\t\t\t\tif( this.$.$hyoo_crus_log() ) this.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: 'Send Unit',\n\t\t\t\t\tport: $mol_key( port ),\n\t\t\t\t\tlands: parts.lands,\n\t\t\t\t\trocks: parts.rocks.length,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tport.send_bin( $hyoo_crus_pack.make( parts ).asArray() )\n\t\t\t\tfaces.sync( Land.faces )\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tinit_port_land( [ port, land ]: [ $mol_rest_port, $hyoo_crus_ref ] ) {\n\t\t\t// $mol_wire_solid() \n\t\t\tconst Land = this.$.$hyoo_crus_glob.Land( land )\n\t\t\tLand.loading()\n\t\t\tif( this.$.$hyoo_crus_log() ) this.$.$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: 'Send Face',\n\t\t\t\tport: $mol_key( port ),\n\t\t\t\tland: land,\n\t\t\t\tfaces: Land.faces,\n\t\t\t})\n\t\t\tport.send_bin( Land.faces_pack().asArray() )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tface_port_land(\n\t\t\t[ port, land ]: [ $mol_rest_port, $hyoo_crus_ref ],\n\t\t\tnext = null as null | $hyoo_crus_face_map\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$.$hyoo_crus_yard.masters = [\n\t\t'https://crus.hd4.ru/', // main\n\t\t'https://i-love-crus.ru/', // amigun\n\t\t//'https://crus.xedth.ru/', zubkov_p, unsupported\n\t\t'https://crus.87-120-36-150.ip.hyoo.ru/', // Dev_Cmyser\n\t]\n}\n","namespace $ {\n\t\n\texport class $hd_canary_app_home extends $hyoo_crus_home.with({\n\t\t// Aliases: $hyoo_crus_dict_to( $hyoo_crus_list_str ),\n\t\t// Stat: $hyoo_crus_atom_ref_to( ()=> $hyoo_crus_app_stat ),\n\n\t\tSites: $hyoo_crus_list_ref_to( ()=> $hd_canary_app_home_site ),\n\t}) {}\n\n\texport class $hd_canary_app_home_site extends $hyoo_crus_dict.with( {\n\t\t/** Type of value */\n\t\turl: $hyoo_crus_atom_str,\n\t\ttitle: $hyoo_crus_atom_str,\n\t\t\n\t\tlast_ping_time: $hyoo_crus_atom_time,\n\t\tlast_ping_status: $hyoo_crus_atom_bool,\n\t}) {\n\n\t\t@ $mol_mem\n\t\ttick() {\n\t\t\t\n\t\t\tthis.$.$mol_state_time.now( 5000 )\n\n\t\t\tthis.$.$mol_log3_done({\n\t\t\t\tplace: this,\n\t\t\t\tmessage: this.land().ref().description!,\n\t\t\t});\n\n\t\t\tif(this.can_change()) {\n\t\t\t\tconst url = this.url()!.val() as string\n\t\t\t\tconst title = this.title()!.val() as string\nconsole.log({url, title})\n\t\t\t\tthis.$.$mol_log3_done({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tmessage: this.land().ref().description!,\n\t\t\t\t\t...{action:\"tick\", url, title }\n\t\t\t\t});\n\n\t\t\t\tconst request = $mol_fetch.response(url)\n\t\t\t\tthis.last_ping_status(null)!.val( request.code() == 200)\n\t\t\t\tthis.last_ping_time(null)!.val( new $mol_time_moment)\n\t\t\t\t// console.log({status: request.code()})\n\n\t\t\t}\n\n\t\t}\n\t}\n\t\n}\n","namespace $.$$ {\n\t$hyoo_crus_yard.masters = [\n\t\t$mol_dom_context.document.location.origin +'/',\n\t]\n\n\texport class $hd_canary_app_monitor extends $.$hd_canary_app_monitor {\n\n\t\tstatus_total() {\n\t\t\treturn this.home().Sites(null)!.remote_list().every( key => key.last_ping_status()?.val() == true) ? \"🟢\" : \"🔴\"\n\t\t}\n\n\t\ttarget_status( prop: $hd_canary_app_home_site ) {\n\t\t\treturn prop.last_ping_status()?.val() ? \"🟢\" : \"🔴\"\n\t\t}\n\t\ttarget_title(prop: $hd_canary_app_home_site) {\n\t\t\treturn prop.title()!.val() as string\n\t\t}\n\t\ttarget_url(prop: $hd_canary_app_home_site) {\n\t\t\treturn prop.url()!.val() as string;\n\t\t}\n\t\ttarget_moment(prop: $hd_canary_app_home_site) {\n\t\t\treturn ((prop.last_ping_time()?.val() as $mol_time_moment) ?? \"planed ping\").toString('YYYY-MM-DD hh:mm:ss')// ?? prop.ref().description! as any\n\t\t}\n\n\t\ttarget_list() {\n\t\t\treturn this.home().Sites(null)!.remote_list().map( key => this.Target( key ) ) ?? []\n\t\t}\n\n\t\tis_valid_http_url(string: string) {\n\t\t\tlet url;\n\t\t\ttry {\n\t\t\t url = new URL(string);\n\t\t\t} catch (_) {\n\t\t\t return false;\n\t\t\t}\n\t\t\treturn url.protocol === \"http:\" || url.protocol === \"https:\";\n\t\t}\n\n\t\tadd_submit() {\n\t\t\tconst url = this.add_url().trim()\n\t\t\tif (url == \"\") throw \"Empty url!\"\n\t\t\tif (this.is_valid_http_url(url) == false) throw \"Not valid url!\"\n\t\t\t\n\n\t\t\tlet title = this.add_title().trim()\n\t\t\tif (title == \"\") title = url.replace(/(^https?:\\/\\/)|(\\/+$)/g, '');\n\n\t\t\tthis.add_site(url, title)\n\n\t\t\tthis.add_url('');\n\t\t\tthis.add_title('');\n\t\t}\n\n\t\t@$mol_action\n\t\tadd_site(url: string, title: string) {\n\t\t\tconst new_site = this.home().Sites(null)!.make(null)\n\t\t\tnew_site.land().give(null, $hyoo_crus_rank_rule)\n\t\t\t\n\t\t\tnew_site.url(null)!.val(url)\n\t\t\tnew_site.title(null)!.val(title)\n\t\t}\n\n\t\ttarget_remove(prop: $hd_canary_app_home_site) {\n\t\t\tthis.home().Sites(null)!.cut(prop.ref())\n\t\t}\n\n\t\t// наш id клиента\n\t\tmy_key() {\n\t\t\treturn this.$.$hyoo_crus_auth.current().lord().description!\n\t\t}\n\n\t\t@ $mol_mem\n\t\tusers() {\n\t\t\tconst ref = $hyoo_crus_ref( this.$.$mol_fetch.text( '/join' ) )\n\t\t\treturn this.$.$hyoo_crus_glob.Node( ref, $hyoo_crus_list_vary )\n\t\t}\n\n\t\t@ $mol_mem\n\t\thome() {\n\t\t\t// берем свой уголок\n\t\t\tconst home = this.$.$hyoo_crus_glob.home( $hd_canary_app_home )\n\t\t\t// home.land().join()\n\n\t\t\t// проверяем есть ли он в базе\n\t\t\tif (this.users().has(home.ref()) == false) {\n\n\t\t\t\t// даем серверу права на запись\n\t\t\t\tconst ref = $hyoo_crus_ref( this.$.$mol_fetch.text( '/ref' ) )\n\t\t\t\thome.land().give(ref, $hyoo_crus_rank_rule)\n\n\t\t\t\t// и заносим это в глобальную базу\n\t\t\t\tthis.users().add(home.ref())\n\n\t\t\t}\n\n\t\t\treturn home\n\t\t}\n\n\t\t@$mol_action\n\t\tbulk_add(sites_input: string) {\n\t\t\tconst sites = sites_input.split(/\\r?\\n/).map( site => site.trim()).filter(site => site != \"\")\n\t\t\tfor (const site of sites) {\n\t\t\t\tthis.add_site(site, site.replace(/(^https?:\\/\\/)|(\\/+$)/g, ''))\n\t\t\t}\n\t\t}\n\t}\n}\n","namespace $.$$ {\n\t$mol_style_define($.$hd_canary_app_monitor, {\n\t\tAdd: {\n\t\t\tflex: {\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\t\tBody_content: {\n\t\t\tgap: $mol_gap.block,\n\t\t},\n\t\tTarget: {\n\t\t\tmargin: $mol_gap.block,\n\t\t\tpadding: $mol_gap.block,\n\t\t\tflex: {\n\t\t\t\tbasis: `15rem`,\n\t\t\t\tgrow: 1,\n\t\t\t},\n\t\t\tbackground: {\n\t\t\t\tcolor: $mol_theme.card,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tradius: $mol_gap.round,\n\t\t\t},\n\t\t\tbox: {\n\t\t\t\tshadow: [{\n\t\t\t\t\t\tx: 0,\n\t\t\t\t\t\ty: 0,\n\t\t\t\t\t\tblur: 0,\n\t\t\t\t\t\tspread: `1px`,\n\t\t\t\t\t\tcolor: $mol_theme.line,\n\t\t\t\t\t}],\n\t\t\t},\n\t\t},\n\t\tTarget_main: {\n\t\t\talign: {\n\t\t\t\titems: 'flex-start',\n\t\t\t},\n\t\t},\n\t\tStatus_total: {\n\t\t\twidth: `2.5rem`,\n\t\t\theight: `2.5rem`,\n\t\t\tpadding: `.5rem`,\n\t\t\tjustify: {\n\t\t\t\tcontent: 'center',\n\t\t\t},\n\t\t},\n\t\tTarget_status: {\n\t\t\twidth: `2.5rem`,\n\t\t\theight: `2.5rem`,\n\t\t\tpadding: `.5rem`,\n\t\t\tjustify: {\n\t\t\t\tcontent: 'center',\n\t\t\t},\n\t\t},\n\t\tTarget_url: {\n\t\t\tflex: {\n\t\t\t\tgrow: 1,\n\t\t\t\tshrink: 1,\n\t\t\t},\n\t\t},\n\t\tTarget_moment: {\n\t\t\tpadding: $mol_gap.text,\n\t\t\tcolor: $mol_theme.shade,\n\t\t},\n\t\tTarget_message: {\n\t\t\tpadding: $mol_gap.text,\n\t\t\tcolor: $mol_theme.focus,\n\t\t},\n\t});\n}\n","$mol_avatar $mol_icon\n\tview_box \\0 0 24 24\n\tid \\\n\tpath \\M 12 12 l 0 0 M 0 0 l 0 0 M 24 24 l 0 0 M 0 24 l 0 0 M 24 0 l 0 0\n","namespace $.$$ {\n\n\t/**\n\t * Avatar uniquely-generated by id string\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_avatar_demo\n\t */\n\texport class $mol_avatar extends $.$mol_avatar {\n\t\t\n\t\t@ $mol_mem\n\t\tpath() {\n\t\t\t\n\t\t\tconst id = $mol_hash_string( this.id() )\n\t\t\tconst p = 2.1\n\t\t\tconst m = 2.7\n\t\t\t\n\t\t\tlet path = ''\n\t\t\t\n\t\t\tfor( let x = 0; x < 4; ++x ) {\n\t\t\t\tfor( let y = 0; y < 8; ++y ) {\n\t\t\t\t\tif( ( id >> ( x + y * 7 ) ) & 1 ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst mxp = Math.ceil( m*x+p )\n\t\t\t\t\t\tconst myp = Math.ceil( m*y+p )\n\t\t\t\t\t\t\n\t\t\t\t\t\tpath += `M ${ mxp } ${ myp } l 0 0 ` + `M ${ 24-mxp } ${ myp } l 0 0 `\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn path\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/avatar/avatar.view.css\",\n \"[mol_avatar] {\\n\\tstroke-linecap: round;\\n\\tstroke-width: 3.5px;\\n\\tfill: none;\\n\\tstroke: currentColor;\\n\\t/* width: 1.5rem;\\n\\theight: 1.5rem;\\n\\tmargin: 0 -.25rem; */\\n\\t/* box-shadow: 0 0 0 1px var(--mol_theme_line); */\\n}\\n\"\n) }","$mol_labeler $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tminimal_height 32\n\t\t\tsub <= label /$mol_view_content\n\t\t\t\t<= title\n\t\t<= Content $mol_view\n\t\t\tminimal_height 24\n\t\t\tsub <= content /\n","namespace $ { $mol_style_attach( \"mol/labeler/labeler.view.css\",\n \"[mol_labeler] {\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\talign-items: stretch;\\n\\tcursor: inherit;\\n}\\n\\n[mol_labeler_label] {\\n\\tmin-height: 2rem;\\n\\tcolor: var(--mol_theme_shade);\\n\\tpadding: .5rem .75rem 0;\\n\\tgap: 0 var(--mol_gap_block);\\n\\tflex-wrap: wrap;\\n}\\n\\n[mol_labeler_content] {\\n\\tdisplay: flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\"\n) }","$mol_stack $mol_view\n","namespace $ { $mol_style_attach( \"mol/stack/stack.view.css\",\n \"[mol_stack] {\\n\\tdisplay: grid;\\n\\t/* width: max-content; */\\n\\t/* height: max-content; */\\n\\talign-items: flex-start;\\n\\tjustify-items: flex-start;\\n}\\n\\n[mol_stack] > * {\\n\\tgrid-area: 1/1;\\n}\\n\"\n) }","$mol_text_code_token $mol_dimmer\n\tattr *\n\t\t^\n\t\tmol_text_code_token_type <= type \\\n\n$mol_text_code_token_link $mol_text_code_token\n\tdom_name \\a\n\ttype \\code-link\n\tattr *\n\t\t^\n\t\thref <= uri \\\n\t\ttarget \\_blank\n","namespace $.$$ {\n\n\tconst { hsla } = $mol_style_func\n\t\n\t$mol_style_define( $mol_text_code_token, {\n\n\t\tdisplay: 'inline',\n\t\ttextDecoration: 'none',\n\n\t\t'@': {\n\t\t\tmol_text_code_token_type: {\n\n\t\t\t\t'code-keyword': {\n\t\t\t\t\tcolor: hsla( 0, 70, 60, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-field': {\n\t\t\t\t\tcolor: hsla( 300, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-tag': {\n\t\t\t\t\tcolor: hsla( 330, 70, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-global': {\n\t\t\t\t\tcolor: hsla( 30, 80, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-decorator': {\n\t\t\t\t\tcolor: hsla( 180, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-punctuation': {\n\t\t\t\t\tcolor: hsla( 0, 0, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-string': {\n\t\t\t\t\tcolor: hsla( 90, 40, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-number': {\n\t\t\t\t\tcolor: hsla( 55, 65, 45, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-call': {\n\t\t\t\t\tcolor: hsla( 270, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-link': {\n\t\t\t\t\tcolor: hsla( 210, 60, 50, 1 ),\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-inline': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-comment-block': {\n\t\t\t\t\topacity: .5,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t\t'code-docs': {\n\t\t\t\t\topacity: .75,\n\t\t\t\t},\n\t\t\t\t\n\t\t\t},\n\t\t}\n\n\t} )\n\n}\n","$mol_text_code_line $mol_paragraph\n\ttext \\\n\tminimal_height 24\n\tnumb_showed true\n\tsyntax null\n\turi_resolve* \\\n\tNumb $mol_view\n\t\tsub /\n\t\t\t<= numb 0\n\tToken* $mol_text_code_token\n\t\ttype <= token_type* \\\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\tToken_link* $mol_text_code_token_link\n\t\thaystack <= token_text* \\\n\t\tneedle <= highlight \\\n\t\turi <= token_uri* \\\n\tfind_pos* null\n","namespace $ {\n\n\t/** Creates lexer by dictionary of lexems. Lexem that started first wins. Then lexem that declared earlier wins. Use regexp capture to take parts of token. */\n\texport class $mol_syntax2< Lexems extends { [ name : string ] : RegExp } = {} > {\n\t\t\n\t\tconstructor(\n\t\t\tpublic lexems : Lexems\n\t\t) {\n\n\t\t\tfor( let name in lexems ) {\n\t\t\t\tthis.rules.push({\n\t\t\t\t\tname : name ,\n\t\t\t\t\tregExp : lexems[ name ] ,\n\t\t\t\t\tsize : RegExp( '^$|' + lexems[ name ].source ).exec( '' )!.length - 1 , \n\t\t\t\t})\n\t\t\t}\n\n\t\t\tconst parts = '(' + this.rules.map( rule => rule.regExp.source ).join( ')|(' ) + ')'\n\t\t\tthis.regexp = RegExp( `([\\\\s\\\\S]*?)(?:(${ parts })|$(?![^]))` , 'gmu' ) \n\t\t\t\n\t\t}\n\t\t\n\t\trules = [] as Array<{\n\t\t\tregExp : RegExp ,\n\t\t\tname : string ,\n\t\t\tsize : number\n\t\t}>\n\t\t\n\t\tregexp : RegExp\n\n\t\ttokenize(\n\t\t\ttext : string ,\n\t\t\thandle : ( name : string , found : string , chunks : string[] , offset : number )=> void ,\n\t\t) {\n\t\t\t\n\t\t\tlet end = 0\n\t\t\t\t\n\t\t\tlexing : while( end < text.length ) {\n\n\t\t\t\tconst start = end\n\n\t\t\t\tthis.regexp.lastIndex = start\n\t\t\t\tvar found = this.regexp.exec( text )!\n\t\t\t\t\n\t\t\t\tend = this.regexp.lastIndex\n\t\t\t\tif( start === end ) throw new Error( 'Empty token' )\n\t\t\t\t\n\t\t\t\tvar prefix = found[ 1 ]\n\t\t\t\tif( prefix ) handle( '' , prefix , [ prefix ] , start )\n\t\t\t\t\n\t\t\t\tvar suffix = found[ 2 ]\n\t\t\t\tif( !suffix ) continue\n\n\t\t\t\tlet offset = 4\n\t\t\t\tfor( let rule of this.rules ) {\n\n\t\t\t\t\tif( found[ offset - 1 ] ) {\n\t\t\t\t\t\thandle( rule.name , suffix , found.slice( offset, offset + rule.size ) , start + prefix.length )\n\t\t\t\t\t\tcontinue lexing\n\t\t\t\t\t}\n\n\t\t\t\t\toffset += rule.size + 1\n\t\t\t\t}\n\n\t\t\t\t$mol_fail( new Error( '$mol_syntax2 is broken' ) )\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\tparse(\n\t\t\ttext : string ,\n\t\t\thandlers : { [ key in keyof Lexems | '' ] : ( found : string , chunks : string[] , offset : number )=> void } ,\n\t\t) : void {\n\t\t\tthis.tokenize( text , ( name , ...args )=> handlers[ name ]( ... args ) )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport var $mol_syntax2_md_flow = new $mol_syntax2({\n\t\t'quote' : /^((?:(?:[>\"] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'spoiler' : /^((?:(?:[\\?] )(?:[^]*?)$(\\r?\\n?))+)([\\n\\r]*)/ ,\n\t\t'header' : /^([#=]+)(\\s+)(.*?)$([\\n\\r]*)/ ,\n\t\t'list' : /^((?:(?: ?([*+-])|(?:\\d+[\\.\\)])+) +(?:[^]*?)$(?:\\r?\\n?)(?: (?:[^]*?)$(?:\\r?\\n?))*)+)((?:\\r?\\n)*)/ ,\n\t\t'code' : /^(```\\s*)([\\w.-]*)[\\r\\n]+([^]*?)^(```)$([\\n\\r]*)/ ,\n\t\t'code-indent' : /^((?:(?: |\\t)(?:[^]*?)$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'table' : /((?:^\\|.+?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'grid' : /((?:^ *! .*?$\\r?\\n?)+)([\\n\\r]*)/ ,\n\t\t'cut' : /^--+$((?:\\r?\\n)*)/ ,\n\t\t'block' : /^(.*?)$((?:\\r?\\n)*)/ ,\n\t})\n\t\n\texport var $mol_syntax2_md_line = new $mol_syntax2({\n\t\t'strong' : /\\*\\*(.+?)\\*\\*/ ,\n\t\t'emphasis' : /\\*(?!\\s)(.+?)\\*|\\/\\/(?!\\s)(.+?)\\/\\// ,\n\t\t'code' : /```(.+?)```|;;(.+?);;|`(.+?)`/ ,\n\t\t'insert' : /\\+\\+(.+?)\\+\\+/ ,\n\t\t'delete' : /~~(.+?)~~|--(.+?)--/ ,\n\t\t// 'remark' : /(\\()(.+?)(\\))/ ,\n\t\t// 'quote' : /(\")(.+?)(\")/ ,\n\t\t'embed' : /\"\"(?:(.*?)\\\\)?(.*?)\"\"/ ,\n\t\t'link' : /\\\\\\\\(?:(.*?)\\\\)?(.*?)\\\\\\\\/ ,\n\t\t'image-link' : /!\\[([^\\[\\]]*?)\\]\\((.*?)\\)/ ,\n\t\t'text-link' : /\\[(.*?(?:\\[[^\\[\\]]*?\\][^\\[\\]]*?)*)\\]\\((.*?)\\)/ ,\n\t\t'text-link-http' : /\\b(https?:\\/\\/[^\\s,.;:!?\")]+(?:[,.;:!?\")][^\\s,.;:!?\")]+)+)/ ,\n\t})\n\t\n\texport const $mol_syntax2_md_code = new $mol_syntax2({\n\t\t'code-indent' : /\\t+/ ,\n\t\t'code-docs' : /\\/\\/\\/.*?$/ ,\n\t\t'code-comment-block' : /(?:\\/\\*[^]*?\\*\\/|\\/\\+[^]*?\\+\\/|)/ ,\n\t\t'code-link' : /(?:\\w+:\\/\\/|#)\\S+?(?=\\s|\\\\\\\\|\"\"|$)/ ,\n\t\t'code-comment-inline' : /\\/\\/.*?(?:$|\\/\\/)|- \\\\(?!\\\\).*|#!? .*/ ,\n\t\t'code-string' : /(?:\".*?\"|'.*?'|`.*?`| ?\\\\\\\\.+?\\\\\\\\|\\/.+?\\/[dygimsu]*(?!\\p{Letter})|[ \\t]*\\\\[^\\n]*)/u ,\n\t\t'code-number' : /[+-]?(?:\\d*\\.)?\\d+\\w*/ ,\n\t\t'code-call' : /\\.?\\w+ *(?=\\()/ ,\n\t\t'code-sexpr' : /\\((\\w+ )/ ,\n\t\t'code-field' : /(?:(?:\\.|::|->)\\w+|[\\w-]+\\??\\s*:(?!\\/\\/|:))/ ,\n\t\t'code-keyword' : /\\b(throw|readonly|unknown|keyof|typeof|never|from|class|struct|interface|type|function|extends|implements|module|namespace|import|export|include|require|var|val|let|const|for|do|while|until|in|out|of|new|if|then|else|switch|case|this|return|async|await|yield|try|catch|break|continue|get|set|public|private|protected|string|boolean|number|null|undefined|true|false|void|int|float|ref)\\b/ ,\n\t\t'code-global' : /[$]+\\w*|\\b[A-Z][a-z0-9]+[A-Z]\\w*/ ,\n\t\t'code-word' : /\\w+/ ,\n\t\t'code-decorator' : /@\\s*\\S+/ ,\n\t\t'code-tag' : /<\\/?[\\w-]+\\/?>?|&\\w+;/ ,\n\t\t'code-punctuation' : /[\\-\\[\\]\\{\\}\\(\\)<=>~!\\?@#%&\\*_\\+\\\\\\/\\|;:\\.,\\^]+?/ ,\n\t})\n\t\n}\n","namespace $.$$ {\n\n\texport class $mol_text_code_line extends $.$mol_text_code_line {\n\t\t\n\t\tmaximal_width() {\n\t\t\treturn this.text().length * this.letter_width()\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\ttokens( path: number[] ) {\n\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tconst text = ( path.length > 0 )\n\t\t\t\t// @FIXME: this logic compatible only with `string`\n\t\t\t\t? this.tokens( path.slice( 0, path.length - 1 ) )[ path[ path.length - 1 ] ].found.slice( 1, -1 )\n\t\t\t\t: this.text()\n\t\t\t\n\t\t\tthis.syntax().tokenize(\n\t\t\t\ttext,\n\t\t\t\t( name , found , chunks )=> {\n\t\t\t\t\tif( name === 'code-sexpr' ) {\n\t\t\t\t\t\ttokens.push({ name: 'code-punctuation', found: '(', chunks: [] })\n\t\t\t\t\t\ttokens.push({ name: 'code-call', found: chunks[0], chunks: [] })\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttokens.push({ name , found , chunks })\t\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.numb_showed() ? [ this.Numb() ] : [],\n\t\t\t\t... this.row_content([])\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_content( path: number[] ) {\n\t\t\treturn this.tokens( path ).map( (t,i)=> this.Token([ ... path, i ]) )\n\t\t}\n\n\t\tToken( path: number[] ) {\n\t\t\treturn this.token_type( path ) === 'code-link' ? this.Token_link( path ) : super.Token( path )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_type( path: number[] ) {\n\t\t\treturn this.tokens( [ ... path.slice( 0, path.length - 1 ) ] )[ path[ path.length - 1 ] ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_content( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\tswitch( token.name ) {\n\t\t\t\t\n\t\t\t\tcase 'code-string': return [\n\t\t\t\t\ttoken.found[0],\n\t\t\t\t\t... this.row_content( path ),\n\t\t\t\t\ttoken.found[ token.found.length - 1 ],\n\t\t\t\t] \n\t\t\t\t\n\t\t\t\tdefault: return [ token.found ]\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_text( path: number[] ) {\n\n\t\t\tconst tokens = this.tokens( [ ... path.slice( 0, path.length - 1 ) ] ) \n\t\t\tconst token = tokens[ path[ path.length - 1 ] ]\n\n\t\t\treturn token.found\n\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttoken_uri( path: number[] ) {\n\t\t\tconst uri = this.token_text( path )\n\t\t\treturn this.uri_resolve( uri )\n\t\t}\n\t\t\n\t\t*view_find(\n\t\t\tcheck: ( path : $mol_view, text?: string )=> boolean,\n\t\t\tpath = [] as $mol_view[],\n\t\t): Generator< $mol_view[] > {\n\n\t\t\tif( check( this, this.text() ) ) {\n\t\t\t\tyield [ ... path, this ]\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\treturn this.find_token_pos([ offset ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_token_pos( [ offset, ... path ]: number[] ) {\n\t\t\t\n\t\t\tfor( const [ index, token ] of this.tokens( path ).entries() ) {\n\t\t\t\tif( token.found.length >= offset ) {\n\t\t\t\t\tconst token = this.Token([ ... path, index ])\n\t\t\t\t\treturn { token, offset }\n\t\t\t\t} else {\n\t\t\t\t\toffset -= token.found.length\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\t\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code_line, {\n\n\t\tdisplay: 'block',\n\t\tposition: 'relative',\n\t\t\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tNumb: {\n\t\t\ttextAlign: 'right',\n\t\t\tcolor: $mol_theme.shade,\n\t\t\twidth: rem(3),\n\t\t\tmargin: {\n\t\t\t\tleft: rem(-4),\n\t\t\t},\n\t\t\tdisplay: 'inline-block',\n\t\t\twhiteSpace: 'nowrap',\n\t\t\tuserSelect: 'none',\n\t\t\tposition: 'absolute',\n\t\t},\n\t\t\n\t} )\n\t\n}\n","namespace $ {\n\n\texport type $mol_blob = Blob\n\n\texport let $mol_blob = ( $node.buffer?.Blob ?? $mol_dom_context.Blob ) as any as {\n\t\tprototype: Blob;\n\t\tnew(blobParts?: readonly BlobPart[], options?: BlobPropertyBag): Blob;\n\t}\n\n}\n","$mol_icon_clipboard $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3\n","$mol_icon_clipboard_outline $mol_icon path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5A2,2 0 0,0 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5A2,2 0 0,0 19,3M12,3A1,1 0 0,1 13,4A1,1 0 0,1 12,5A1,1 0 0,1 11,4A1,1 0 0,1 12,3M7,7H17V5H19V19H5V5H7V7Z\n","$mol_button_copy $mol_button_minor\n\tblobs /$mol_blob\n\t\t<= text_blob? $mol_blob /\n\t\t\t/BlobPart <= text <= title\n\t\t\t* type \\text/plain\n\t\t<= html_blob? $mol_blob /\n\t\t\t/BlobPart <= html \\\n\t\t\t* type \\text/html\n\tdata *\n\tsub /\n\t\t<= Icon $mol_icon_clipboard_outline\n\t\t<= title \\\n\n","namespace $ {\n\t\n\tconst mapping = {\n\t\t'<' : '<' ,\n\t\t'>' : '>' ,\n\t\t'\"' : '"' ,\n\t\t'&' : '&' ,\n\t}\n\t\n\texport function $mol_html_encode( text : string ) {\n\t\treturn text.replace( /[&<\">]/gi , str => mapping[ str as keyof typeof mapping ] )\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\t/**\n\t * Button copy text() value to clipboard\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_copy extends $.$mol_button_copy {\n\t\t\n\t\tdata() {\n\t\t\treturn Object.fromEntries(\n\t\t\t\tthis.blobs().map( blob => [ blob.type, blob ] )\n\t\t\t)\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thtml() {\n\t\t\treturn $mol_html_encode( this.text() )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tattachments() {\n\t\t\treturn [ new ClipboardItem( this.data() ) ]\n\t\t}\n\t\t\n\t\tclick( event?: Event ) {\n\t\t\tconst cb = $mol_wire_sync( this.$.$mol_dom_context.navigator.clipboard )\n\t\t\t\n\t\t\tcb.writeText?.( this.text() )\n\t\t\tcb.write?.( this.attachments() )\n\n\t\t\tif( cb.writeText === undefined && cb.write === undefined ) {\n\t\t\t\tthrow new Error( \"doesn't support copy to clipoard\" )\n\t\t\t}\n\t\t}\n\n\t}\n\t\n}\n","$mol_text_code $mol_stack\n\tattr *\n\t\t^\n\t\tmol_text_code_sidebar_showed <= sidebar_showed false\n\ttext \\\n\ttext_lines /string\n\tfind_pos* null\n\turi_base \\\n\trow_themes /string\n\tsub /\n\t\t<= Rows $mol_list\n\t\t\trender_visible_only <= render_visible_only false\n\t\t\trows <= rows /\n\t\t\t\t<= Row*0 $mol_text_code_line\n\t\t\t\t\tnumb_showed <= sidebar_showed\n\t\t\t\t\tnumb <= row_numb* 0\n\t\t\t\t\ttheme <= row_theme* \\\n\t\t\t\t\ttext <= row_text* \\\n\t\t\t\t\tsyntax <= syntax null\n\t\t\t\t\turi_resolve* <= uri_resolve* \\\n\t\t\t\t\thighlight <= highlight \\\n\t\t<= Copy $mol_button_copy\n\t\t\thint @ \\Copy whole code\n\t\t\ttext <= text_export \\\n","namespace $.$$ {\n\n\t/**\n\t * Code visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_code_demo\n\t */\n\texport class $mol_text_code extends $.$mol_text_code {\n\t\t\n\t\trender_visible_only() {\n\t\t\treturn this.$.$mol_support_css_overflow_anchor()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttext_lines() {\n\t\t\treturn ( this.text() ?? '' ).split( '\\n' ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.text_lines().map( ( _ , index )=> this.Row( index + 1 ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\trow_text( index: number ) {\n\t\t\treturn this.text_lines()[ index - 1 ]\n\t\t}\n\t\t\n\t\trow_numb( index: number ) {\n\t\t\treturn index\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tfind_pos( offset: number ) {\n\t\t\t\n\t\t\tfor( const [ index, line ] of this.text_lines().entries() ) {\n\t\t\t\tif( line.length >= offset ) {\n\t\t\t\t\treturn this.Row( index + 1 ).find_pos( offset )\n\t\t\t\t} else {\n\t\t\t\t\toffset -= line.length + 1\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\t... this.sidebar_showed() ? [ this.Copy() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\tsyntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\ttext_export() {\n\t\t\treturn this.text() + '\\n'\n\t\t}\n\t\t\n\t\trow_theme( row: number ) {\n\t\t\treturn this.row_themes()[ row - 1 ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $.$$ {\n\t\n\tconst { rem, px } = $mol_style_unit\n\n\t$mol_style_define( $mol_text_code, {\n\n\t\twhiteSpace: 'pre-wrap',\n\t\tfont: {\n\t\t\tfamily: 'monospace',\n\t\t},\n\t\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\n\t\tRow: {\n\t\t\tfont: {\n\t\t\t\tfamily: 'inherit',\n\t\t\t},\n\t\t},\n\n\t\tCopy: {\n\t\t\talignSelf: 'flex-start',\n\t\t\tjustifySelf: 'flex-start',\n\t\t},\n\t\t\n\t\t'@': {\n\t\t\t'mol_text_code_sidebar_showed': {\n\t\t\t\ttrue: {\n\t\t\t\t\t$mol_text_code_line: {\n\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\tleft: rem(1.75),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t} )\n\t\n}\n","$mol_float $mol_view\n\tstyle *\n\t\t^\n\t\tminHeight \\auto\n","namespace $ { $mol_style_attach( \"mol/float/float.view.css\",\n \"[mol_float] {\\n\\tposition: sticky;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\tz-index: var(--mol_layer_float);\\n\\topacity: 1;\\n\\ttransition: opacity .25s ease-in;\\n\\tdisplay: block;\\n\\tbackground: linear-gradient( var(--mol_theme_card), var(--mol_theme_card) ), var(--mol_theme_back);\\n\\tbox-shadow: 0 0 .5rem hsla(0,0%,0%,.25);\\n}\\n\\n\"\n) }","$mol_icon_chevron $mol_icon path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n","$mol_check_expand $mol_check\n\tIcon $mol_icon_chevron\n\tlevel 0\n\tstyle *\n\t\t^\n\t\tpaddingLeft <= level_style \\0px\n\tchecked? <=> expanded? false\n\tenabled <= expandable false\n","namespace $.$$ {\n\t\n\t/**\n\t * Expander for trees, lists, etc\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_check_expand_demo\n\t */\n\texport class $mol_check_expand extends $.$mol_check_expand {\n\t\t\n\t\tlevel_style() {\n\t\t\treturn `${ this.level() * 1 - 1 }rem`\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.expanded() !== null\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/check/expand/expand.view.css\",\n \"[mol_check_expand] {\\n\\tmin-width: 20px;\\n}\\n\\n:where([mol_check_expand][disabled]) [mol_check_expand_icon] {\\n\\tvisibility: hidden;\\n}\\n\\n[mol_check_expand_icon] {\\n\\tbox-shadow: none;\\n\\tmargin-left: -0.375rem;\\n}\\n[mol_check_expand_icon] {\\n\\ttransform: rotateZ(0deg);\\n}\\n\\n:where([mol_check_checked]) [mol_check_expand_icon] {\\n\\ttransform: rotateZ(90deg);\\n}\\n\\n[mol_check_expand_icon] {\\n\\tvertical-align: text-top;\\n}\\n\\n[mol_check_expand_label] {\\n\\tmargin-left: 0;\\n}\\n\"\n) }","$mol_grid $mol_view\n\trow_height 32\n\trow_ids /string[]\n\trow_id* null\n\tcol_ids /\n\trecords *\n\trecord* null\n\thierarchy null\n\thierarchy_col \\\n\tminimal_width 0\n\t-\n\tsub /\n\t\t<= Head\n\t\t<= Table $mol_grid_table\n\t\t\tsub <= rows /$mol_view\n\tHead $mol_grid_row\n\t\tcells <= head_cells /$mol_view\n\tRow* $mol_grid_row\n\t\tminimal_height <= row_height\n\t\tminimal_width <= minimal_width\n\t\tcells <= cells* /$mol_view\n\t-\n\tCell* $mol_view\n\tcell* null\n\tCell_text* $mol_grid_cell\n\t\tsub <= cell_content_text* <= cell_content* /$mol_view_content\n\tCell_number* $mol_grid_number\n\t\tsub <= cell_content_number* <= cell_content* /$mol_view_content\n\tCol_head* $mol_float\n\t\tdom_name \\th\n\t\tsub <= col_head_content* /$mol_view_content\n\tCell_branch* $mol_check_expand\n\t\tlevel <= cell_level* 0\n\t\tlabel <= cell_content* /$mol_view_content\n\t\texpanded? <=> cell_expanded*? false\n\tCell_content* /\n\t\t<= Cell_dimmer* $mol_dimmer\n\t\t\tneedle <= needle \\\n\t\t\thaystack <= cell_value* \\\n\n$mol_grid_table $mol_list\n\t- dom_name \\table\n\n$mol_grid_row $mol_view\n\t- dom_name \\tr\n\tsub <= cells /$mol_view\n\n$mol_grid_cell $mol_view\n\t- dom_name \\td\n\tminimal_height 40\n\n$mol_grid_number $mol_grid_cell\n","namespace $ {\n\t\n\texport class $mol_state_session< Value > extends $mol_object {\n\t\t\n\t\tstatic 'native()' : Pick< Storage , 'getItem'|'setItem'|'removeItem' >\n\t\tstatic native() {\n\t\t\tif( this['native()'] ) return this['native()']\n\n\t\t\tcheck : try {\n\t\t\t\tconst native = $mol_dom_context.sessionStorage\n\t\t\t\tif( !native ) break check\n\n\t\t\t\tnative.setItem( '' , '' )\n\t\t\t\tnative.removeItem( '' )\n\t\t\t\treturn this['native()'] = native\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.warn( error )\n\t\t\t}\n\n\t\t\treturn this['native()'] = {\n\t\t\t\tgetItem( key : string ) {\n\t\t\t\t\treturn (this as any)[ ':' + key ]\n\t\t\t\t} ,\n\t\t\t\tsetItem( key : string , value : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = value\n\t\t\t\t} ,\n\t\t\t\tremoveItem( key : string ) {\n\t\t\t\t\t(this as any)[ ':' + key ] = void 0\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tstatic value< Value >( key : string , next? : Value ) : Value {\n\t\t\tif( next === void 0 ) return JSON.parse( this.native().getItem( key ) || 'null' )\n\t\t\t\n\t\t\tif( next === null ) this.native().removeItem( key )\n\t\t\telse this.native().setItem( key , JSON.stringify( next ) )\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tprefix() { return '' }\n\t\t\n\t\tvalue( key : string , next? : Value ) {\n\t\t\treturn $mol_state_session.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\t\n\texport interface $mol_grid_node {\n\t\tid : string\n\t\tparent : $mol_grid_node\n\t\tsub : $mol_grid_node[]\n\t}\n\t\n\texport class $mol_grid extends $.$mol_grid {\n\t\t\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn this.col_ids().map( colId => this.Col_head( colId ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcol_head_content( colId : string ) {\n\t\t\treturn [ colId ] as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.row_ids().map( id => this.Row( id ) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\tcells( row_id : string[] ) {\n\t\t\treturn this.col_ids().map( col_id => this.Cell({ row : row_id , col : col_id }) ) as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcol_type( col_id : string ) {\n\t\t\tif( col_id === this.hierarchy_col() ) return 'branch'\n\t\t\t\n\t\t\tconst rowFirst = this.row_id( 0 )\n\t\t\tconst val = this.record( rowFirst[ rowFirst.length -1 ] )[ col_id ]\n\t\t\tif( typeof val === 'number' ) return 'number'\n\t\t\t\n\t\t\treturn 'text'\n\t\t}\n\t\t\n\t\tCell( id : { row : string[] , col : string } ) : $mol_view {\n\t\t\tswitch( this.col_type( id.col ).valueOf() ) {\n\t\t\t\tcase 'branch' : return this.Cell_branch( id )\n\t\t\t\tcase 'number' : return this.Cell_number( id )\n\t\t\t}\n\t\t\t\n\t\t\treturn this.Cell_text( id )\n\t\t}\n\t\t\n\t\tcell_content( id : { row : string[] , col : string } ) {\n\t\t\treturn [ this.record( id.row[ id.row.length - 1 ] )[ id.col ] ]\n\t\t}\n\t\t\n\t\tcell_content_text( id : { row : string[] , col : string } ) {\n\t\t\treturn this.cell_content( id ).map( val => typeof val === 'object' ? JSON.stringify( val ) : val )\n\t\t}\n\t\t\n\t\trecords() : any {\n\t\t\treturn []\n\t\t}\n\t\t\n\t\trecord( id : string ) {\n\t\t\treturn this.records()[ id ]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trecord_ids() {\n\t\t\treturn Object.keys( this.records() )\n\t\t}\n\t\t\n\t\trow_id( index : number ) {\n\t\t\treturn ( this.row_ids().slice( index , index + 1 ).valueOf() as string[] )[0]\n\t\t}\n\n\t\tcol_ids() {\n\t\t\tconst rowFirst = this.row_id(0)\n\t\t\tif( rowFirst === void 0 ) return []\n\t\t\t\n\t\t\tconst record = this.record( rowFirst[ rowFirst.length - 1 ] )\n\t\t\tif( !record ) return []\n\t\t\t\n\t\t\treturn Object.keys( record ) as readonly string[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\thierarchy() {\n\t\t\tconst hierarchy : { [ id : string ] : $mol_grid_node } = {}\n\t\t\tconst root = hierarchy[ '' ] = {\n\t\t\t\tid : '' ,\n\t\t\t\tparent : null as any as $mol_grid_node ,\n\t\t\t\tsub : [] as $mol_grid_node[] ,\n\t\t\t}\n\t\t\tthis.record_ids().map( id => {\n\t\t\t\troot.sub.push( hierarchy[ id ] = {\n\t\t\t\t\tid ,\n\t\t\t\t\tparent : root ,\n\t\t\t\t\tsub : [] ,\n\t\t\t\t} )\n\t\t\t} )\n\t\t\treturn hierarchy\n\t\t}\n\t\t\n\t\trow_sub_ids( row : string[] ) : string[][] {\n\t\t\treturn this.hierarchy()[ row[ row.length - 1 ] ].sub.map( child => row.concat( child.id ) )\n\t\t}\n\t\t\n\t\trow_root_id() : string[] {\n\t\t\treturn [ '' ]\n\t\t}\n\t\t\n\t\tcell_level( id : { row : string[] } ) {\n\t\t\treturn id.row.length - 1\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\tconst next : string[][] = []\n\t\t\t\n\t\t\tconst add = ( row : string[] )=> {\n\t\t\t\tnext.push( row )\n\t\t\t\tif( this.row_expanded( row ) ) {\n\t\t\t\t\tthis.row_sub_ids( row ).forEach( child => add( child ) )\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tthis.row_sub_ids( this.row_root_id() ).forEach( child => add( child ) )\n\t\t\t\n\t\t\treturn next as readonly string[][]\n\t\t}\n\t\t\n\t\trow_expanded( row_id : string[] , next? : boolean ) {\n\t\t\tif( !this.row_sub_ids( row_id ).length ) return null\n\t\t\t\n\t\t\tconst key = `row_expanded(${ JSON.stringify( row_id ) })`\n\t\t\tconst next2 = $mol_state_session.value( key , next )\n\t\t\t\n\t\t\treturn ( next2 == null ) ? this.row_expanded_default( row_id ) : next2\n\t\t}\n\t\t\n\t\trow_expanded_default( row_id : string[] ) {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\tcell_expanded( id : { row : string[] } , next? : boolean ) {\n\t\t\treturn this.row_expanded( id.row , next )!\n\t\t}\n\t\t\n\t\toverride sub() {\n\t\t\tthis.head_cells()\n\t\t\tthis.rows()\n\t\t\treturn super.sub()\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ { $mol_style_attach( \"mol/grid/grid.view.css\",\n \"[mol_grid] {\\n\\tdisplay: block;\\n\\tflex: 0 1 auto;\\n\\tposition: relative;\\n\\toverflow-x: auto;\\n}\\n\\n[mol_grid_gap] {\\n\\tposition: absolute;\\n\\tpadding: .1px;\\n\\ttop: 0;\\n\\ttransform: translateZ(0);\\n}\\n\\n[mol_grid_table] {\\n\\tborder-spacing: 0;\\n\\tdisplay: table-row-group;\\n\\tposition: relative;\\n}\\n\\n[mol_grid_table] > * {\\n\\tdisplay: table-row;\\n\\ttransition: none;\\n}\\n\\n[mol_grid_head] > *,\\n[mol_grid_table] > * > * {\\n\\tdisplay: table-cell;\\n\\tpadding: var(--mol_gap_text);\\n\\twhite-space: nowrap;\\n\\tvertical-align: middle;\\n\\tbox-shadow: inset 2px 2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 2px 0 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 2px -2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -2px 0 -1px var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > [mol_grid_row]:where(:first-child) > *:where(:first-child) {\\n\\tbox-shadow: none;\\n}\\t\\n\\n[mol_grid_head] {\\n\\tdisplay: table-row;\\n\\ttransform: none !important;\\n}\\n\\n/* [mol_grid_cell_number] {\\n\\ttext-align: right;\\n} */\\n\\n[mol_grid_col_head] {\\n\\tfont-weight: inherit;\\n\\ttext-align: inherit;\\n\\tdisplay: table-cell;\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_grid_cell_dimmer] {\\n\\tdisplay: inline-block;\\n\\tvertical-align: inherit;\\n}\\n\"\n) }","$mol_image $mol_view\n\tdom_name \\img\n\tattr *any\n\t\t^\n\t\tsrc <= uri \\\n\t\talt <= title\n\t\tloading <= loading \\lazy\n\t\tdecoding <= decoding \\async\n\t\tcrossOrigin <= cors null\n\t\twidth <= natural_width 0\n\t\theight <= natural_height 0\n\tevent *any\n\t\tload? <=> load? null\n\tminimal_width 16\n\tminimal_height 16\n","namespace $.$$ {\n\texport class $mol_image extends $.$mol_image {\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_width( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalWidth ) return dom.naturalWidth\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bwidth=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tnatural_height( next?: null ) {\n\t\t\t\n\t\t\tconst dom = this.dom_node() as HTMLImageElement\n\t\t\tif( dom.naturalHeight ) return dom.naturalHeight\n\t\t\t\n\t\t\tconst found = this.uri().match( /\\bheight=(\\d+)/ )\n\t\t\treturn found ? Number( found[1] ) : null!\n\t\t\t\n\t\t}\n\t\t\n\t\tload() {\n\t\t\tthis.natural_width( null )\n\t\t\tthis.natural_height( null )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/image/image.view.css\",\n \"[mol_image] {\\n\\tborder-radius: var(--mol_gap_round);\\n\\toverflow: hidden;\\n\\tflex: 0 1 auto;\\n\\tmax-width: 100%;\\n\\tobject-fit: cover;\\n\\theight: fit-content;\\n}\\n\"\n) }","$mol_link_iconed $mol_link\n\tsub /\n\t\t<= Icon $mol_image\n\t\t\turi <= icon \\\n\t\t\ttitle \\\n\tcontent /\n\t\t<= title <= uri\n\thost \\\n","namespace $.$$ {\n\n\texport class $mol_link_iconed extends $.$mol_link_iconed {\n\n\t\t@ $mol_mem\n\t\ticon() {\n\t\t\treturn `https://favicon.yandex.net/favicon/${ this.host() }?color=0,0,0,0&size=32&stub=1`\n\t\t\t// return `https://api.faviconkit.com/${ this.host() }/16`\n\t\t}\n\n\t\t@ $mol_mem\n\t\thost() {\n\t\t\tconst base = this.$.$mol_state_arg.href()\n\t\t\tconst url = new URL( this.uri() , base )\n\t\t\treturn url.hostname\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle() {\n\t\t\tconst uri = this.uri()\n\t\t\tconst host = this.host()\n\t\t\tconst suffix = ( host ? uri.split( this.host() , 2 )[1] : uri )?.replace( /^[\\/\\?#!]+/, '' )\n\t\t\treturn decodeURIComponent( suffix || host ).replace( /^\\//, ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\t... this.host() ? [ this.Icon() ] : [],\n\t\t\t\t... this.content() ? [ ' ', ... this.content() ] : [],\n\t\t\t] as readonly any[]\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/link/iconed/iconed.view.css\",\n \"[mol_link_iconed] {\\n\\talign-items: baseline;\\n\\tdisplay: inline-flex;\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[mol_link_iconed_icon] {\\n\\tbox-shadow: none;\\n\\theight: 1.5em;\\n\\twidth: 1em;\\n\\tflex: 0 0 auto;\\n\\tdisplay: inline-block;\\n\\talign-self: normal;\\n\\tvertical-align: top;\\n\\tborder-radius: 0;\\n\\tobject-fit: scale-down;\\n\\topacity: .75;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] [mol_link_iconed_icon] {\\n\\tfilter: var(--mol_theme_image);\\n}\\n\"\n) }","$mol_embed_native $mol_scroll\n\tdom_name \\iframe\n\twindow null\n\tattr *\n\t\t^\n\t\tsrc <= uri? \\about:config\n\tsub /\n\t\t<= Fallback $mol_link\n\t\t\turi <= uri\n\t\t\tsub /\n\t\t\t\t<= title \\\n\tmessage *\n\t\thashchange? <=> uri_change? null\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ): Promise< void > {\n\t\tconst promise = new $mol_promise()\n\t\tconst task = new this.$mol_after_timeout( timeout , ()=> promise.done() )\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> task.destructor()\n\t\t} )\n\t}\n\t\n\texport function $mol_wait_timeout( this: $, timeout: number ) {\n\t\treturn this.$mol_wire_sync( this ).$mol_wait_timeout_async( timeout )\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $mol_embed_native extends $.$mol_embed_native {\n\n\t\t@ $mol_mem\n\t\twindow() {\n\t\t\t$mol_wire_solid()\n\t\t\tthis.uri_resource()\n\t\t\treturn $mol_wire_sync( this as $mol_embed_native ).load( this.dom_node_actual() as HTMLIFrameElement )\n\t\t}\n\t\t\n\t\tload( frame: HTMLIFrameElement ) {\n\t\t\treturn new Promise< Window >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tframe.onload = () => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif( frame.contentWindow!.location.href === 'about:blank' ) {\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch { }\n\t\t\t\t\tdone( frame.contentWindow! )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tframe.onerror = ( event : Event | string ) => {\n\t\t\t\t\tfail( typeof event === 'string' ? new Error( event ) : ( event as ErrorEvent ).error || event )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_resource() {\n\t\t\treturn this.uri().replace( /#.*/, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmessage_listener() {\n\t\t\treturn new $mol_dom_listener(\n\t\t\t\t$mol_dom_context,\n\t\t\t\t'message',\n\t\t\t\t$mol_wire_async( this ).message_receive\n\t\t\t)\n\t\t}\n\n\t\toverride sub_visible() {\n\t\t\tthis.window()\n\n\t\t\treturn super.sub_visible()\n\t\t}\n\t\t\n\t\tmessage_receive( event?: MessageEvent<[ string, string ]> ) {\n\t\t\t\n\t\t\tif( !event ) return\n\t\t\tif( event.source !== this.window() ) return\n\t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\n\t\t\t(this.message() as any)[ event.data[0] ]?.( event )\n\t\t}\n\n\t\turi_change( event: MessageEvent<[ string, string ]> ) {\n\t\t\tthis.$.$mol_wait_timeout( 1000 )\n\t\t\tthis.uri( event.data[1] )\n\t\t}\n\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.message_listener(),\n\t\t\t\tthis.window(),\n\t\t\t]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/native/native.view.css\",\n \"[mol_embed_native] {\\n\\tmax-width: 100%;\\n\\tmax-height: 100vh;\\n\\tobject-fit: cover;\\n\\tdisplay: flex;\\n\\tflex: 1 1 auto;\\n\\tobject-position: top left;\\n\\tborder-radius: var(--mol_gap_round);\\n\\taspect-ratio: 4/3;\\n\\tborder: none;\\n}\\n\"\n) }","$mol_icon_youtube $mol_icon path \\M10,15L15.19,12L10,9V15M21.56,7.17C21.69,7.64 21.78,8.27 21.84,9.07C21.91,9.87 21.94,10.56 21.94,11.16L22,12C22,14.19 21.84,15.8 21.56,16.83C21.31,17.73 20.73,18.31 19.83,18.56C19.36,18.69 18.5,18.78 17.18,18.84C15.88,18.91 14.69,18.94 13.59,18.94L12,19C7.81,19 5.2,18.84 4.17,18.56C3.27,18.31 2.69,17.73 2.44,16.83C2.31,16.36 2.22,15.73 2.16,14.93C2.09,14.13 2.06,13.44 2.06,12.84L2,12C2,9.81 2.16,8.2 2.44,7.17C2.69,6.27 3.27,5.69 4.17,5.44C4.64,5.31 5.5,5.22 6.82,5.16C8.12,5.09 9.31,5.06 10.41,5.06L12,5C16.19,5 18.8,5.16 19.83,5.44C20.73,5.69 21.31,6.27 21.56,7.17Z\n","$mol_frame $mol_embed_native\n\tattr *\n\t\ttabindex <= tabindex\n\t\tallow <= allow \\\n\t\tsrc <= uri\n\t\tsrcdoc <= html null\n\tfullscreen true\n\taccelerometer true\n\tautoplay true\n\tencription true\n\tgyroscope true\n\tpip true\n\tclipboard_read true\n\tclipboard_write true\n","namespace $.$$ {\n\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_frame_demo\n\t */\n\texport class $mol_frame extends $.$mol_frame {\n\t\t\n\t\twindow() {\n\t\t\t// if( this.html() ) return ( this.dom_node() as HTMLIFrameElement ).contentWindow!\n\t\t\treturn super.window()\n\t\t}\n\n\t\tallow() {\n\t\t\treturn [\n\t\t\t\t... this.fullscreen() ? [ 'fullscreen' ] : [] ,\n\t\t\t\t... this.accelerometer() ? [ 'accelerometer' ] : [] ,\n\t\t\t\t... this.autoplay() ? [ 'autoplay' ] : [] ,\n\t\t\t\t... this.encription() ? [ 'encrypted-media' ] : [] ,\n\t\t\t\t... this.gyroscope() ? [ 'gyroscope' ] : [] ,\n\t\t\t\t... this.pip() ? [ 'picture-in-picture' ] : [] ,\n\t\t\t\t... this.clipboard_read() ? [ `clipboard-read ${ this.uri() }` ] : [],\n\t\t\t\t... this.clipboard_write() ? [ `clipboard-write ${ this.uri() }` ] : [],\n\t\t\t].join('; ')\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t$mol_style_define( $mol_frame , {\n\t\tborder: {\n\t\t\tstyle: 'none',\n\t\t},\n\t\tmaxHeight: $mol_style_unit.vh(100),\n\t} )\n}\n","$mol_embed_service $mol_check\n\turi \\\n\tvideo_preview \\\n\tvideo_id \\\n\tchecked? <=> active? false\n\tsub /\n\t\t<= Image $mol_image\n\t\t\ttitle <= title \\\n\t\t\turi <= video_preview \\\n\t\t<= Hint $mol_icon_youtube\n\t\t<= Frame $mol_frame\n\t\t\ttitle <= title \\\n\t\t\turi <= video_embed \\\n\n","namespace $.$$ {\n\texport class $mol_embed_service extends $.$mol_embed_service {\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\treturn this.active()\n\t\t\t\t? [ this.Frame() ]\n\t\t\t\t: [ this.Image(), this.Hint() ]\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/embed/service/service.view.css\",\n \"[mol_embed_service] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_service_image] {\\n\\tflex: auto 1 1;\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_frame] {\\n\\twidth: 100vw;\\n}\\n\\n[mol_embed_service_hint] {\\n\\tposition: absolute;\\n left: 50%;\\n top: 50%;\\n width: 50%;\\n height: 50%;\\n opacity: 0.3;\\n transform: translate(-50%, -50%);\\n}\\n\\n[mol_embed_service]:hover [mol_embed_service_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","$mol_embed_youtube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_youtube extends $.$mol_embed_youtube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://www.youtube.com/embed/${ encodeURIComponent( this.video_id() ) }?autoplay=1&loop=1`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https\\:\\/\\/www\\.youtube\\.com\\/(?:embed\\/|shorts\\/|watch\\?v=)([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? this.uri().match( /^https\\:\\/\\/youtu\\.be\\/([^\\/&?#]+)/ )?.[1]\n\t\t\t\t?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://i.ytimg.com/vi/${ this.video_id() }/sddefault.jpg`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_rutube $mol_embed_service\n","namespace $.$$ {\n\texport class $mol_embed_rutube extends $.$mol_embed_rutube {\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_embed() {\n\t\t\treturn `https://rutube.ru/play/embed/${ encodeURIComponent( this.video_id() ) }`\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_id() {\n\t\t\treturn this.uri().match( /^https:\\/\\/rutube.ru\\/video\\/([^\\/&?#]+)/ )?.[1] ?? 'about:blank'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tvideo_preview() {\n\t\t\treturn `https://rutube.ru/api/video/${ this.video_id() }/thumbnail/?redirect=1`\n\t\t}\n\t\t\n\t}\n}\n","$mol_embed_any $mol_view\n\tImage $mol_image\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tObject $mol_embed_native\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tYoutube $mol_embed_youtube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n\tRutube $mol_embed_rutube\n\t\ttitle <= title \\\n\t\turi <= uri \\\n","namespace $.$$ {\n\t\n\texport class $mol_embed_any extends $.$mol_embed_any {\n\t\t\n\t\t@ $mol_mem\n\t\ttype() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst uri = this.uri()\n\t\t\t\t\n\t\t\t\tif( /\\b(png|gif|jpg|jpeg|jfif|webp|svg)\\b/.test( uri ) ) return 'image'\n\t\t\t\tif( /^https:\\/\\/www\\.youtube\\.com\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/youtu\\.be\\//.test( uri ) ) return 'youtube'\n\t\t\t\tif( /^https:\\/\\/rutube\\.ru\\//.test( uri ) ) return 'rutube'\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn 'image'\n\t\t\t}\n\t\t\t\n\t\t\treturn 'object'\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsub() {\n\t\t\tswitch( this.type() ) {\n\t\t\t\tcase 'image': return [ this.Image() ]\n\t\t\t\tcase 'youtube': return [ this.Youtube() ]\n\t\t\t\tcase 'rutube': return [ this.Rutube() ]\n\t\t\t\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","$mol_expander $mol_list\n\trows /\n\t\t<= Label $mol_view\n\t\t\tsub /\n\t\t\t\t<= Trigger $mol_check_expand\n\t\t\t\t\tchecked? <=> expanded? false\n\t\t\t\t\texpandable <= expandable true\n\t\t\t\t\tlabel <= label /\n\t\t\t\t\t\t<= title\n\t\t\t\t<= Tools null\n\t\t<= Content $mol_list\n\t\t\trows <= content /\n","namespace $.$$ {\n\t/**\n\t * Component which expands any content on title click.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_expander_demo\n\t */\n\texport class $mol_expander extends $.$mol_expander {\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Label(),\n\t\t\t\t... this.expanded() ? [ this.Content() ] : []\n\t\t\t]\n\t\t}\n\t\t\n\t\texpandable() {\n\t\t\treturn this.content().length > 0\n\t\t}\n\t\t\n\t}\n}\n\n","namespace $ { $mol_style_attach( \"mol/expander/expander.view.css\",\n \"[mol_expander] {\\n\\tflex-direction: column;\\n}\\n\\n[mol_expander_label] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[mol_expander_trigger] {\\n\\tflex: auto;\\n\\tposition: relative;\\n}\\n\"\n) }","$mol_text $mol_list\n\turi_base \\\n\ttext \\\n\tparam \\\n\tflow_tokens /\n\tblock_text* \\\n\tauto /\n\t\t<= auto_scroll null\n\t- \\Blocks\n\tParagraph* $mol_paragraph\n\t\tsub <= block_content* /\n\tQuote* $mol_text\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= quote_text* \\\n\t\thighlight <= highlight \\\n\t\tauto_scroll null\n\tList* $mol_text_list\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttype <= list_type* \\-\n\t\ttext <= list_text* \\\n\t\thighlight <= highlight \\\n\titem_index* 0\n\tHeader* $mol_text_header\n\t\tminimal_height 40\n\t\tlevel <= header_level* 1\n\t\tcontent <= block_content* /\n\t\targ <= header_arg* *\n\tPre* $mol_text_code\n\t\ttext <= pre_text* \\\n\t\trow_themes <= pre_themes* /string\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsidebar_showed <= pre_sidebar_showed <= code_sidebar_showed true\n\tCut* $mol_view dom_name \\hr\n\t- \\Table\n\tTable* $mol_grid\n\t\thead_cells <= table_head_cells* /\n\t\trows <= table_rows* /\n\tTable_row* $mol_grid_row\n\t\tcells <= table_cells* /\n\tTable_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= table_cell_text* \\\n\t- \\Grid\n\tGrid* $mol_grid\n\t\trows <= grid_rows* /\n\tGrid_row* $mol_grid_row\n\t\tcells <= grid_cells* /\n\tGrid_cell* $mol_text\n\t\tauto_scroll null\n\t\thighlight <= highlight \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\ttext <= grid_cell_text* \\\n\t- \\Lines\n\tString* $mol_dimmer\n\t\tdom_name \\span\n\t\tneedle <= highlight \\\n\t\thaystack <= line_text* \\\n\tSpan* $mol_text_span\n\t\tdom_name \\span\n\t\ttype <= line_type* \\\n\t\tsub <= line_content* /\n\tCode_line* $mol_text_code_line\n\t\tnumb_showed false\n\t\thighlight <= highlight \\\n\t\ttext <= line_text* \\\n\t\turi_resolve* <= uri_resolve* \\\n\t\tsyntax <= code_syntax null\n\tLink* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent <= line_content* /\n\tLink_http* $mol_link_iconed\n\t\turi <= link_uri* \\\n\t\tcontent / <= link_host* \\\n\tEmbed* $mol_embed_any\n\t\turi <= link_uri* \\\n\t\ttitle <= line_text* \\\n\t- \\Spoilers\n\tSpoiler* $mol_expander\n\t\tlabel /\n\t\t\t<= Spoiler_label* $mol_text\n\t\t\t\ttext <= spoiler_label* \\\n\t\tcontent /\n\t\t\t<= Spoiler_content* $mol_text\n\t\t\t\ttext <= spoiler_content* \\\n\n$mol_text_header $mol_paragraph\n\tlevel 1\n\tsub /\n\t\t<= Link $mol_link\n\t\t\targ <= arg *\n\t\t\thint @ \\Permalink to this section\n\t\t\tsub <= content /\n\n$mol_text_span $mol_paragraph\n\tdom_name \\span\n\tattr *\n\t\t^\n\t\tmol_text_type <= type \\\n","namespace $.$$ {\n\t/**\n\t * Markdown visualizer.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_text_demo\n\t */\n\texport class $mol_text extends $.$mol_text {\n\t\t\n\t\t@ $mol_mem\n\t\tflow_tokens() {\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\tthis.$.$mol_syntax2_md_flow.tokenize(\n\t\t\t\tthis.text(),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tblock_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].name\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\trows() {\n\t\t\treturn this.flow_tokens().map( ( { name }, index )=> {\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'quote': return this.Quote( index )\n\t\t\t\t\tcase 'spoiler': return this.Spoiler( index )\n\t\t\t\t\tcase 'header': return this.Header( index )\n\t\t\t\t\tcase 'list': return this.List( index )\n\t\t\t\t\tcase 'code': return this.Pre( index )\n\t\t\t\t\tcase 'code-indent': return this.Pre( index )\n\t\t\t\t\tcase 'table': return this.Table( index )\n\t\t\t\t\tcase 'grid': return this.Grid( index )\n\t\t\t\t\tcase 'cut': return this.Cut( index )\n\t\t\t\t\tdefault: return this.Paragraph( index )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tparam() {\n\t\t\treturn this.toString().replace( /^.*?[\\)>]\\./, '' ).replace( /[(<>)]/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_level( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].length\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\theader_arg( index: number ) {\n\t\t\treturn {\n\t\t\t\t[ this.param() ]: this.block_text( index )\n\t\t\t}\n\t\t}\n\t\t\n\t\tlist_type( index: number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[1] ?? ''\n\t\t}\n\t\t\n\t\titem_index( index: number ) {\n\t\t\treturn this.flow_tokens().slice( 0, index ).filter( token => token.name === 'block' ).length + 1\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_text( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\treturn ( token.chunks[2] ?? token.chunks[0].replace( /^(\\t| (?:\\+\\+|--|\\*\\*| ) )/gm , '' ) ).replace( /[\\n\\r]*$/ , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tpre_themes( index : number ) {\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\tconst names: Record< string, string > = {\n\t\t\t\t' ** ': '$mol_theme_accent',\n\t\t\t\t' ++ ': '$mol_theme_current',\n\t\t\t\t' -- ': '$mol_theme_special',\n\t\t\t}\n\t\t\treturn token.chunks[0].split('\\n')\n\t\t\t\t.map( line => names[ line.match( /^ (?:\\+\\+|--|\\*\\*| ) /gm )?.[0] ?? '' ] ?? null )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tquote_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[>\"] /mg , '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlist_text( index : number ) {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^([-*+]|(?:\\d+[\\.\\)])+) ?/mg , '' ).replace( /^ ?/mg, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tcell_content( indexBlock : number ) {\n\t\t\treturn this.flow_tokens()[ indexBlock ].chunks[ 0 ]\n\t\t\t.split( /\\r?\\n/g )\n\t\t\t.filter( row => row && !/\\|--/.test( row ) )\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\treturn row.split( /\\|/g )\n\t\t\t\t.filter( cell => cell )\n\t\t\t\t.map( ( cell , cellId )=> cell.trim() )\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_rows( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )\n\t\t\t.slice( 1 )\n\t\t\t.map( ( row , rowId )=> this.Table_row({ block : blockId , row : rowId + 1 }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_head_cells( blockId : number ) {\n\t\t\treturn this.cell_content( blockId )[ 0 ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : blockId , row : 0 , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cells( id : { block : number , row : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Table_cell({ block : id.block , row : id.row , cell : cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\ttable_cell_text( id : { block : number , row : number , cell : number } ) {\n\t\t\treturn this.cell_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_content( indexBlock: number ) {\n\t\t\treturn [ ... this.flow_tokens()[ indexBlock ].chunks[ 0 ].match( /(?:^! .*?$\\r?\\n?)+(?:^ +! .*?$\\r?\\n?)*/gm )! ]\n\t\t\t.map( ( row , rowId ) => {\n\t\t\t\tconst cells = [] as string[]\n\t\t\t\tfor( const line of row.trim().split( /\\r?\\n/ ) ) {\n\t\t\t\t\tconst [ _, indent, content ] = /^( *)! (.*)/.exec( line )!\n\t\t\t\t\tconst col = Math.ceil( indent.length / 2 )\n\t\t\t\t\tcells[ col ] = ( cells[ col ] ? cells[ col ] + '\\n' : '' ) + content\n\t\t\t\t}\n\t\t\t\treturn cells\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_rows( blockId: number ) {\n\t\t\treturn this.grid_content( blockId )\n\t\t\t.map( ( row, rowId )=> this.Grid_row({ block: blockId , row: rowId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cells( id: { block: number, row: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ]\n\t\t\t.map( ( cell , cellId )=> this.Grid_cell({ block: id.block, row: id.row, cell: cellId }) )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tgrid_cell_text( id: { block: number, row: number, cell: number } ) {\n\t\t\treturn this.grid_content( id.block )[ id.row ][ id.cell ]\n\t\t}\n\t\t\n\t\turi_base() {\n\t\t\treturn $mol_dom_context.document.location.href\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\turi_base_abs() {\n\t\t\treturn new URL( this.uri_base() , $mol_dom_context.document.location.href )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\turi_resolve( uri: string ) {\n\t\t\t\n\t\t\tif( /^(\\w+script+:)+/.test( uri ) ) return null as any as string\n\t\t\t\n\t\t\tif( /^#\\!/.test( uri ) ) {\n\t\t\t\t\n\t\t\t\tconst params: Record< string, string > = {}\n\t\t\t\n\t\t\t\tfor( const chunk of uri.slice(2).split( this.$.$mol_state_arg.separator ) ) {\n\t\t\t\t\tif( !chunk ) continue\n\t\t\t\t\tconst vals = chunk.split( '=' ).map( decodeURIComponent )\n\t\t\t\t\tparams[ vals.shift()! ] = vals.join( '=' )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn this.$.$mol_state_arg.link( params )\n\t\n\t\t\t}\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tconst url = new URL( uri , this.uri_base_abs() )\n\t\t\t\treturn url.toString()\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null as any as string\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tcode_syntax() {\n\t\t\treturn this.$.$mol_syntax2_md_code\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tblock_text( index: number ) {\n\t\t\t\n\t\t\tconst token = this.flow_tokens()[ index ]\n\t\t\t\n\t\t\tswitch( token.name ) {\n\t\t\t\tcase 'header' : return token.chunks[2]\n\t\t\t\tdefault: return token.chunks[0]\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tblock_content( index: number ) {\n\t\t\treturn this.line_content([ index ])\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_tokens( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst tokens = [] as { name : string , found : string , chunks: string[] }[]\n\t\t\t\n\t\t\tthis.$.$mol_syntax2_md_line.tokenize(\n\t\t\t\tthis.line_text( path ),\n\t\t\t\t( name , found , chunks )=> tokens.push({ name , found , chunks }),\n\t\t\t)\n\t\t\t\n\t\t\treturn tokens as Readonly< typeof tokens >\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_token( path: readonly number[] ) {\n\t\t\tconst tokens = this.line_tokens( path.slice( 0, path.length - 1 ) )\n\t\t\treturn tokens[ path[ path.length - 1 ] ]\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_type( path: readonly number[] ) {\n\t\t\treturn this.line_token( path ).name\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_text( path: readonly number[] ) {\n\t\t\t\n\t\t\tif( path.length === 1 ) return this.block_text( path[0] )\n\t\t\t\n\t\t\tconst { name, found, chunks } = this.line_token( path )\n\t\t\t\n\t\t\tswitch( name ) {\n\t\t\t\tcase 'link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tcase 'text-link': return chunks[0] || chunks[1].replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t\t\tdefault: return ( chunks[0] || chunks[1] || chunks[2] ) ?? found\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_content( path: readonly number[] ) {\n\t\t\treturn this.line_tokens( path ).map( ( { name, chunks }, index )=> {\n\t\t\t\t\n\t\t\t\tconst path2 = [ ... path, index ]\n\t\t\t\t\n\t\t\t\tswitch( name ) {\n\t\t\t\t\tcase 'embed': return this.Embed( path2 )\n\t\t\t\t\tcase 'link' : return this.Link( path2 )\n\t\t\t\t\tcase 'text-link-http': return this.Link_http( path2 )\n\t\t\t\t\tcase 'text-link' : return this.Link( path2 )\n\t\t\t\t\tcase 'image-link': return this.Embed( path2 )\n\t\t\t\t\tcase 'code': return this.Code_line( path2 )\n\t\t\t\t\tcase '': return this.String( path2 )\n\t\t\t\t\tdefault: return this.Span( path2 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_uri( path: readonly number[] ) {\n\t\t\t\n\t\t\tconst token = this.line_token( path )\n\t\t\tconst uri = this.uri_resolve( token.chunks[1] ?? token.found )\n\t\t\t\n\t\t\tif( !uri ) throw new Error( 'Bad link' )\n\t\t\treturn uri\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tlink_host( path: readonly number[] ) {\n\t\t\treturn this.link_uri( path ).replace( /^.*?\\/\\/|\\/.*$/g, '' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tauto_scroll() {\n\t\t\tfor( const [ index, token ] of this.flow_tokens().entries() ) {\n\t\t\t\t\n\t\t\t\tif( token.name !== 'header' ) continue\n\t\t\t\t\n\t\t\t\tconst header = this.Header( index )\n\t\t\t\tif( !header.Link().current() ) continue\n\t\t\t\t\n\t\t\t\tnew $mol_after_tick(\n\t\t\t\t\t()=> this.ensure_visible( header )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_rows( index: number ): string[] {\n\t\t\treturn this.flow_tokens()[ index ].chunks[0].replace( /^[\\?] /mg , '' ).split('\\n');\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tspoiler_label( index: number ): string {\n\t\t\treturn this.spoiler_rows(index)[0];\n\t\t}\n\t\n\t\t@ $mol_mem_key\n\t\tspoiler_content( index: number): string {\n\t\t\treturn this.spoiler_rows(index).slice(1).join('\\n');\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $.$mol_text_header {\n\t\t\n\t\tdom_name() {\n\t\t\treturn 'h' + this.level()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/text/text/text.view.css\",\n \"[mol_text] {\\n\\tline-height: 1.5em;\\n\\tbox-sizing: border-box;\\n\\tborder-radius: var(--mol_gap_round);\\n\\twhite-space: pre-line;\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\tflex: 0 0 auto;\\n\\ttab-size: 4;\\n}\\n\\n[mol_text_paragraph] {\\n\\tpadding: var(--mol_gap_text);\\n\\toverflow: auto;\\n\\toverflow-x: overlay;\\n\\tmax-width: 100%;\\n\\tdisplay: block;\\n\\tmax-width: 60rem;\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_spoiler_label_paragraph] {\\n\\tpadding: 0;\\n}\\n\\n[mol_text_span] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_string] {\\n\\tdisplay: inline;\\n\\tflex: 0 1 auto;\\n\\twhite-space: normal;\\n}\\n\\n[mol_text_quote] {\\n\\tmargin: var(--mol_gap_block);\\n\\tpadding: var(--mol_gap_block);\\n\\tbackground: var(--mol_theme_card);\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_back);\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\n\\tbreak-after: avoid;\\n}\\n\\n* + [mol_text_header] {\\n\\tmargin-top: 0.75rem;\\n}\\n\\nh1[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n}\\n\\nh2[mol_text_header] {\\n\\tfont-size: 1.5rem;\\n\\tfont-style: italic;\\n}\\n\\nh3[mol_text_header] {\\n\\tfont-size: 1.25rem;\\n}\\n\\nh4[mol_text_header] {\\n\\tfont-size: 1.25em;\\n\\tfont-style: italic;\\n}\\n\\nh5[mol_text_header] {\\n\\tfont-size: 1rem;\\n}\\n\\nh6[mol_text_header] {\\n\\tfont-size: 1rem;\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_header_link] {\\n\\tcolor: inherit;\\n}\\n\\n[mol_text_table] {\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_table_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: baseline;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_grid] {\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_grid_cell] {\\n\\twidth: auto;\\n\\tdisplay: table-cell;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\tborder-radius: 0;\\n}\\n\\n[mol_text_cut] {\\n\\tborder: none;\\n\\twidth: 100%;\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_line);\\n}\\n\\n[mol_text_link_http],\\n[mol_text_link] {\\n\\tpadding: 0;\\n\\tdisplay: inline;\\n\\twhite-space: nowrap;\\n}\\n\\n[mol_text_link_icon] + [mol_text_embed] {\\n\\tmargin-left: -1.5rem;\\n}\\n\\n[mol_text_embed_youtube] {\\n\\tdisplay: inline;\\n}\\n\\n[mol_text_embed_youtube_image],\\n[mol_text_embed_youtube_frame],\\n[mol_text_embed_object] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n}\\n[mol_text_embed_object_fallback] {\\n\\tpadding: 0;\\n}\\n[mol_text_embed_image] {\\n\\tobject-fit: contain;\\n\\tobject-position: center;\\n\\tdisplay: inline;\\n\\t/* max-height: calc( 100vh - 6rem ); */\\n\\tvertical-align: top;\\n}\\n\\n[mol_text_pre] {\\n\\twhite-space: pre;\\n\\toverflow-x: auto;\\n\\toverflow-x: overlay;\\n\\ttab-size: 2;\\n\\tbreak-inside: avoid;\\n}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n}\\n\\n[mol_text_type=\\\"strong\\\"] {\\n\\ttext-shadow: 0 0;\\n\\tfilter: contrast(1.5);\\n}\\n\\n[mol_text_type=\\\"emphasis\\\"] {\\n\\tfont-style: italic;\\n}\\n\\n[mol_text_type=\\\"insert\\\"] {\\n\\tcolor: var(--mol_theme_special);\\n}\\n\\n[mol_text_type=\\\"delete\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"remark\\\"] {\\n\\tcolor: var(--mol_theme_shade);\\n}\\n\\n[mol_text_type=\\\"quote\\\"] {\\n\\tfont-style: italic;\\n}\\n\"\n) }","$mol_icon_eye $mol_icon path \\M12,9A3,3 0 0,0 9,12A3,3 0 0,0 12,15A3,3 0 0,0 15,12A3,3 0 0,0 12,9M12,17A5,5 0 0,1 7,12A5,5 0 0,1 12,7A5,5 0 0,1 17,12A5,5 0 0,1 12,17M12,4.5C7,4.5 2.73,7.61 1,12C2.73,16.39 7,19.5 12,19.5C17,19.5 21.27,16.39 23,12C21.27,7.61 17,4.5 12,4.5Z\n","$mol_password $mol_view\n\ttype? \\password\n\tsub <= content /\n\t\t<= Pass $mol_string\n\t\t\ttype <= type\n\t\t\thint <= hint \\\n\t\t\tvalue? <=> value? \\\n\t\t\tsubmit?event <=> submit?event null\n\t\t\tenabled <= enabled true\n\t\t<= Show $mol_check_icon\n\t\t\tchecked? <=> checked? true\n\t\t\tIcon <= Show_icon $mol_icon_eye\n","namespace $.$$ {\n\n\t/**\n\t * Password input field\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_password_demo\n\t */\n\texport class $mol_password extends $.$mol_password {\n\n\t\t@ $mol_mem\n\t\tchecked( next?: boolean ) {\n\t\t\tthis.type( next ? 'text' : 'password' )\n\t\t\treturn next ?? false\n\t\t}\n\t\t\n\t}\n\n}\n","$mol_form_field $mol_labeler\n\tbids /string\n\tlabel /\n\t\t<= name \\\n\t\t<= Bid $mol_view\n\t\t\tsub / <= bid \\\n\tcontent / <= control null\n","namespace $.$$ {\n\t/**\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form_field extends $.$mol_form_field {\n\t\t\n\t\t@ $mol_mem\n\t\tbid() {\n\t\t\treturn this.bids().filter( Boolean )[ 0 ] ?? ''\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/field/field.view.css\",\n \"[mol_form_field] {\\n\\talign-items: stretch;\\n}\\n\\n[mol_form_field_bid] {\\n\\tcolor: var(--mol_theme_focus);\\n\\tdisplay: inline-block;\\n\\ttext-shadow: 0 0;\\n}\\n\\n[mol_form_field_content] {\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","$mol_text_list $mol_text\n\tauto_scroll null\n\tattr *\n\t\t^\n\t\tmol_text_list_type <= type \\\n\tParagraph* $mol_text_list_item\n\t\tindex <= item_index*\n\t\tsub <= block_content*\n\n$mol_text_list_item $mol_paragraph\n\tattr *\n\t\t^\n\t\tmol_text_list_item_index <= index 0\n","namespace $ { $mol_style_attach( \"mol/text/list/list.view.css\",\n \"[mol_text_list] {\\r\\n\\tpadding-left: 1.75rem;\\r\\n}\\r\\n\\r\\n[mol_text_list_item] {\\r\\n\\tcontain: none;\\r\\n\\tdisplay: list-item;\\r\\n}\\r\\n\\r\\n[mol_text_list_item]::before {\\r\\n\\tcontent: attr( mol_text_list_item_index ) \\\".\\\";\\r\\n\\twidth: 1.25rem;\\r\\n\\tdisplay: inline-block;\\r\\n\\tposition: absolute;\\r\\n\\tmargin-left: -1.75rem;\\r\\n\\ttext-align: end;\\r\\n}\\r\\n\\r\\n[mol_text_list_type=\\\"-\\\"] > [mol_text_list_item]::before,\\r\\n[mol_text_list_type=\\\"*\\\"] > [mol_text_list_item]::before {\\r\\n\\tcontent: \\\"•\\\";\\r\\n}\\r\\n\"\n) }","$mol_row $mol_view\n","namespace $ { $mol_style_attach( \"mol/row/row.view.css\",\n \"[mol_row] {\\n\\tdisplay: flex;\\n\\tflex-wrap: wrap;\\n\\talign-items: flex-start;\\n\\talign-content: flex-start;\\n\\tjustify-content: flex-start;\\n\\tpadding: var(--mol_gap_block);\\n\\tgap: var(--mol_gap_block);\\n\\tflex: 0 0 auto;\\n\\tbox-sizing: border-box;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_row] > * {\\n\\tmax-width: 100%;\\n}\\n\"\n) }","$mol_form $mol_list\n\tsubmit_allowed true\n\tsubmit_blocked false\n\tevent *\n\t\t^\n\t\tkeydown?event <=> keydown?event null\n\tsubmit?event null\n\trows /\n\t\t<= Body $mol_list\n\t\t\tsub <= body <= form_fields /$mol_form_field\n\t\t<= Foot $mol_row\n\t\t\tsub <= foot <= buttons /$mol_view\n","namespace $.$$ {\n\n\t/**\n\t * Form, that contains form fields and action buttons.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_form_demo\n\t */\n\texport class $mol_form extends $.$mol_form {\n\t\t\n\t\t@ $mol_mem\n\t\tform_fields() {\n\t\t\treturn [ ... this.view_find( view => view instanceof $mol_form_field ) ]\n\t\t\t\t.map( path => path[ path.length - 1 ] ) as any as readonly $mol_form_field[]\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsubmit_allowed() {\n\t\t\treturn this.form_fields().every( field => !field.bid() )\n\t\t}\n\n\t\tsubmit_blocked( ) {\n\t\t\treturn !this.submit_allowed()\n\t\t}\n\t\t\n\t\tkeydown( next : KeyboardEvent ) {\n\t\t\tif( next.ctrlKey && next.keyCode === $mol_keyboard_code.enter && !this.submit_blocked() ) this.submit( next )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"mol/form/form.view.css\",\n \"[mol_form] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\\r\\n\\r\\n[mol_form_body] {\\r\\n\\tgap: var(--mol_gap_block);\\r\\n}\"\n) }","$hd_canary_app_profile $mol_page\n\ttitle @ \\Private keys\n\tkey_size 144\n\tbid_pass_long @ \\> 7 letters\n\tattr *\n\t\t^\n\t\tmol_theme \\$mol_theme_special\n\tbody /\n\t\t<= Current_profile $mol_labeler\n\t\t\ttitle \\Текущий профиль\n\t\t\tcontent /\n\t\t\t\t<= Current_profile_avatar_labeler $mol_labeler\n\t\t\t\t\ttitle \\Ваш аватар:\n\t\t\t\t\tcontent /\n\t\t\t\t\t\t<= Current_peer_avatar $mol_avatar id <= current_peer \\\n\t\t\t\t<= Current_profile_peer_labeler $mol_labeler\n\t\t\t\t\ttitle \\Ваш id:\n\t\t\t\t\tcontent /\n\t\t\t\t\t\t<= Current_peer_string $mol_string\n\t\t\t\t\t\t\tvalue <= current_peer\n\t\t\t\t\t\t\tenabled false\n\t\t<= Auth_block $mol_labeler\n\t\t\ttitle <= auth_title \\Авторизация\n\t\t\tcontent /\n\t\t\t\t<= Content $mol_list rows <= content /\n\t\t\t\t\t<= Export_block $mol_list rows <= export_rows /\n\t\t\t\t\t\t<= Expot_bid $mol_text text @ \\Your private access keys are stored in the browser. In order not to lose them or transfer to another device, it is recommended to come up with a strong password for exporting them.\n\t\t\t\t\t\t<= Export_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field $mol_form_field\n\t\t\t\t\t\t\t\tname @ \\Password\n\t\t\t\t\t\t\t\tbids / <= password_bid \\\n\t\t\t\t\t\t\t\tContent <= Password $mol_password\n\t\t\t\t\t\t\t\t\tvalue? <=> password? \\\n\t\t\t\t\t\t<= Export_link $mol_link\n\t\t\t\t\t\t\turi <= export_link \\\n\t\t\t\t\t\t\ttitle @ \\This link contains your encrypted prvate keys. Save it to a secure place on another physical device. Using this link you can \n\t\t\t\t\t<= Import_block $mol_list rows <= import_rows /\n\t\t\t\t\t\t<= Iport_descr $mol_text text @ \\\n\t\t\t\t\t\t\t\\To import a private key, you must enter the password from it.\n\t\t\t\t\t\t\t\\**If the current key is not saved, it will be lost forever.**\n\t\t\t\t\t\t<= Import_pass $mol_list rows /\n\t\t\t\t\t\t\t<= Password_field\n\t\t\t\t\t\t<= Import_switch $mol_button_minor\n\t\t\t\t\t\t\tclick? <=> import_switch? null\n\t\t\t\t\t\t\tsub /\n\t\t\t\t\t\t\t\t<= Peer_new $mol_avatar id <= peer_new \\\n\t\t\t\t\t\t\t\t<= impot_switch_title @ \\Switch\n\t\t- <= Id_block $mol_labeler\n\t\t\ttitle \\Ваш ID профиля чтобы можно было поделиться\n\t\t\tcontent /\n","namespace $ {\n\t\n\t/** Slow conversion any password string to secret key. */\n\texport async function $mol_crypto_sacred_pass( pass: string, salt: Uint8Array ) {\n\t\t\t\n\t\tconst raw = await $mol_crypto_native.subtle.importKey(\n\t\t\t\"raw\",\n\t\t\t$mol_charset_encode( pass ),\n\t\t\t\"PBKDF2\",\n\t\t\tfalse,\n\t\t\t[ \"deriveKey\" ],\n\t\t).catch( $mol_crypto_restack )\n\t\t\n\t\tconst hard = await $mol_crypto_native.subtle.deriveKey(\n\t\t\t{\n\t\t\t\tname: \"PBKDF2\",\n\t\t\t\tsalt,\n\t\t\t\titerations: 10_000,\n\t\t\t\thash: \"SHA-256\",\n\t\t\t},\n\t\t\traw,\n\t\t\t{\n\t\t\t\tname: 'AES-CBC',\n\t\t\t\tlength: 128,\n\t\t\t},\n\t\t\tBoolean( 'extractable' ),\n\t\t\t[ 'encrypt', 'decrypt' ],\n\t\t).catch( $mol_crypto_restack )\n\t\t\n\t\treturn $mol_crypto_sacred.from_native( hard )\n\t\t\n\t}\n\t\n}\n","namespace $.$$ {\n\texport class $hd_canary_app_profile extends $.$hd_canary_app_profile {\n\t\t\n\t\t@ $mol_mem\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t\tthis.key_import()\n\t\t\t\t\t? this.Import_block()\n\t\t\t\t\t: this.Export_block()\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tauth_title() {\n\t\t\treturn this.key_import()\n\t\t\t\t? \"Войти в профиль\"\n\t\t\t\t: \"Поделиться профилем\"\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\texport_link() {\n\t\t\treturn this.$.$mol_state_arg.link({\n\t\t\t\tauth: this.key_export(),\n\t\t\t})\n\t\t}\n\n\t\tkey_import( next?: string | null ) {\n\t\t\treturn this.$.$mol_state_arg.value( 'auth', next ) ?? null\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpeer_new() {\n\t\t\treturn $hyoo_crus_auth.from(this.key_new()!).peer()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcurrent_peer() {\n\t\t\treturn this.$.$hyoo_crus_auth.current().peer()\n\t\t}\n\n\t\t@ $mol_action\n\t\timport_switch() {\n\t\t\tthis.$.$hyoo_crus_auth.current($hyoo_crus_auth.from(this.key_new()!))\n\t\t\tthis.password( '' )\n\t\t\tthis.key_import( null )\n\t\t}\n\t\t\n\n\t\t@ $mol_mem\n\t\tpassword_bid() {\n\t\t\tconst pass = this.password()\n\t\t\tif( pass.length <= 7 ) return this.bid_pass_long()\n\t\t\treturn ''\n\t\t}\n\t\texport_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Expot_bid(),\n\t\t\t\tthis.Export_pass(),\n\t\t\t\t... this.password_bid() ? [] : [ this.Export_link() ],\n\t\t\t]\n\t\t}\n\t\t\n\t\timport_rows() {\n\t\t\treturn [\n\t\t\t\tthis.Iport_descr(),\n\t\t\t\tthis.Import_pass(),\n\t\t\t\t... this.key_new() ? [ this.Import_switch() ] : [],\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tkey_new() {\n\t\t\t\n\t\t\tconst serial = this.key_import()\n\t\t\tif( !serial ) return null\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst password = this.password()\n\t\t\t\tconst app = $mol_crypto_hash( $mol_charset_encode( \"hd_canary\" ) ) // 20 B\n\t\t\t\tconst secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B\n\n\t\t\t\tconst data = $mol_base64_url_decode( serial ) \n\t\t\t\tconst salt = $mol_crypto_hash( app ).slice( 0, 16 )\n\t\n\t\t\t\tconst closed = $mol_wire_sync( secret ).decrypt( data, salt ) // 16x B\n\t\t\t\treturn closed\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn null\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@$mol_action\n\t\t@ $mol_mem\n\t\tkey_export() {\n\t\t\tconst password = this.password()\n\t\t\tconst app = $mol_crypto_hash( $mol_charset_encode( \"hd_canary\" ) ) // 20 B\n\t\t\tconst secret = $mol_wire_sync( $mol_crypto_sacred_pass )( password, app ) // 16 B\n\n\t\t\tconst salt = $mol_crypto_hash( app ).slice( 0, 16 )\n\t\t\tconst closed = $mol_wire_sync( secret ).encrypt( this.$.$hyoo_crus_auth.current(), salt ) // 16x B\n\n\t\t\treturn $mol_base64_url_encode( closed )\n\t\t}\n\t\t\n\n\t\t\n\t}\n}","namespace $.$$ {\n\n\tconst { rem } = $mol_style_unit\n\n\t$mol_style_define( $hd_canary_app_profile , {\n\t\tCurrent_peer_avatar: {\n\t\t\twidth: rem( 2 ),\n\t\t\theight: rem( 2 )\n\t\t}\n\t} )\n\n}\n","$mol_icon_bird $mol_icon path \\M23 11.5L19.95 10.37C19.69 9.22 19.04 8.56 19.04 8.56C17.4 6.92 14.75 6.92 13.11 8.56L11.63 10.04L5 3C4 7 5 11 7.45 14.22L2 19.5C2 19.5 10.89 21.5 16.07 17.45C18.83 15.29 19.45 14.03 19.84 12.7L23 11.5M17.71 11.72C17.32 12.11 16.68 12.11 16.29 11.72C15.9 11.33 15.9 10.7 16.29 10.31C16.68 9.92 17.32 9.92 17.71 10.31C18.1 10.7 18.1 11.33 17.71 11.72Z\n","$hd_canary_app $mol_book2_catalog\n\tplugins /\n\t\t<= Theme $mol_theme_auto\n\tMenu_logo $mol_icon_bird\n\tmenu_tools /\n\t\t<= Lighter $mol_lights_toggle\n\tmenu_title @ \\Hyper Canary\n\tspreads *$mol_view\n\t\tmonitor <= List $hd_canary_app_monitor\n\t\tprofile <= Profile $hd_canary_app_profile\n"]} \ No newline at end of file