diff --git a/node.js b/node.js index 2860ba6..a9eb7b7 100644 --- a/node.js +++ b/node.js @@ -6588,7 +6588,7 @@ var $; 'embed': /""(?:(.*?)\\)?(.*?)""/, 'link': /\\\\(?:(.*?)\\)?(.*?)\\\\/, 'image-link': /!\[([^\[\]]*?)\]\((.*?)\)/, - 'text-link': /\[(.*?(?:\[.*?\].*?)*)\]\((.*?)\)/, + 'text-link': /\[(.*?(?:\[[^\[\]]*?\][^\[\]]*?)*)\]\((.*?)\)/, 'text-link-http': /\b(https?:\/\/[^\s,.;:!?")]+(?:[,.;:!?")][^\s,.;:!?")]+)+)/, }); $.$mol_syntax2_md_code = new $mol_syntax2({ diff --git a/node.js.map b/node.js.map index cbe4ea6..3d3864e 100644 --- a/node.js.map +++ b/node.js.map @@ -1 +1 @@ -{"version":3,"sources":["-","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mam.ts","../../../mam.jam.js","../../hyoo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/ambient/mol/ambient/ambient.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/delegate/mol/delegate/delegate.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/owning/mol/owning/owning.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/mol/fail/fail.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/hidden/mol/fail/hidden/hidden.ts","../../../mol/type/writable/writable.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object2/mol/object2/object2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object/mol/object/object.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/window/mol/window/window.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/cursor/mol/wire/cursor/cursor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/mol/wire/pub/pub.ts","../../../mol/wire/sub/sub.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/mol/wire/wire.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dev/format/mol/dev/format/format.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/sub/mol/wire/pub/sub/sub.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/timeout/mol/after/timeout/timeout.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/frame/mol/after/frame/frame.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/promise/like/mol/promise/like/like.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/fiber/mol/wire/fiber/fiber.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/name/mol/func/name/name.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/guid/mol/guid/guid.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/key/mol/key/key.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/deep/mol/compare/deep/deep.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/task/mol/wire/task/task.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/method/mol/wire/method/method.ts","../../../mol/type/tail/tail.ts","../../../mol/type/foot/foot.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/catch/mol/fail/catch/catch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/log/mol/fail/log/log.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/atom/mol/wire/atom/atom.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solo/mol/wire/solo/solo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/plex/mol/wire/plex/plex.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/mem/mol/mem/mem.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/context/mol/dom/context/context.ts","../../../node/node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../node/node/node.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/span/mol/span/span.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/to/string/mol/tree2/to/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/mol/tree2/tree2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/error/syntax/mol/error/syntax/syntax.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/string/mol/tree2/from/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/json/mol/tree2/from/json/json.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/term/color/mol/term/color/color.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/env/mol/env/env.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/env/mol/env/env.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/exec/mol/exec/exec.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/context/mol/dom/context/context.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/tick/mol/after/tick/tick.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/selection/mol/view/selection/selection.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wrapper/mol/wrapper/wrapper.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/memo/mol/memo/memo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/qname/mol/dom/qname/qname.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/probe/mol/wire/probe/probe.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/watch/mol/wire/watch/watch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solid/mol/wire/solid/solid.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/const/mol/const/const.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/attributes/mol/dom/render/attributes/attributes.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/async/mol/wire/async/async.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/events/mol/dom/render/events/events.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/styles/mol/dom/render/styles/styles.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/children/mol/dom/render/children/children.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/fields/mol/dom/render/fields/fields.ts","../../../mol/type/keys/extract/extract.ts","../../../mol/type/pick/pick.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/attach/mol/style/attach/attach.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/decor/mol/decor/decor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/unit/mol/style/unit/unit.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/func/mol/style/func/func.ts","../../../mol/type/override/override.ts","../../../mol/style/properties/properties.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/mol/theme/theme.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/-css/mol/theme/-css/theme.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/gap/mol/gap/gap.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/gap/-css/mol/gap/-css/gap.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/mol/view/view/view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/-css/mol/view/view/-css/view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/-view.tree/mol/scroll/-view.tree/scroll.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/listener/mol/dom/listener/listener.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/print/mol/print/print.ts","../../../mol/style/pseudo/class.ts","../../../mol/style/pseudo/element.ts","../../../mol/type/error/error.ts","../../../mol/style/guard/guard.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/sheet/mol/style/sheet/sheet.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/define/mol/style/define/define.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/mol/scroll/scroll.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/mol/scroll/scroll.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/page/-view.tree/mol/page/-view.tree/page.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/plugin/mol/plugin/plugin.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/page/mol/page/page.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/-meta.tree/hyoo/sync/-meta.tree/revision.meta.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/encode/mol/charset/encode/encode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/int62/mol/int62/int62.ts","../../../mol/data/value/value.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/setup/mol/data/setup/setup.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/diff/path/mol/diff/path/path.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/error/mix/mol/error/mix/mix.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/error/mol/data/error/error.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/enum/mol/data/enum/enum.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/crypto/native/mol/crypto/native/native.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/crypto/auditor/mol/crypto/auditor/auditor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/peer/hyoo/crowd/peer/peer.ts","../../../mol/charset/encoding/encoding.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/decode/mol/charset/decode/decode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/unit/hyoo/crowd/unit/unit.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/sync/mol/wire/sync/sync.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/local/mol/state/local/local.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/peer/hyoo/sync/peer/peer.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/time/hyoo/crowd/time/time.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/clock/hyoo/crowd/clock/clock.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/node/hyoo/crowd/node/node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/reg/hyoo/crowd/reg/reg.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/struct/hyoo/crowd/struct/struct.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/land/hyoo/crowd/land/land.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/action/mol/action/action.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/fund/hyoo/crowd/fund/fund.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dict/mol/dict/dict.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/world/hyoo/crowd/world/world.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/promise/promise/mol/promise/promise/promise.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wait/timeout/mol/wait/timeout/timeout.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/race/mol/wire/race/race.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/masters/hyoo/sync/masters/masters.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/yard/hyoo/sync/yard/yard.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/response/mol/db/response/response.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/store/mol/db/store/store.ts","../../../mol/db/store/store_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/index/mol/db/index/index.ts","../../../mol/db/index/index_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.node.ts","../../../mol/db/db_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/database/mol/db/database/database.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/transaction/mol/db/transaction/transaction.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/client/hyoo/sync/client/client.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/stack/-view.tree/mol/stack/-view.tree/stack.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/stack/-css/mol/stack/-css/stack.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/-view.tree/mol/paragraph/-view.tree/paragraph.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/mol/paragraph/paragraph.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/-css/mol/paragraph/-css/paragraph.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/-view.tree/mol/dimmer/-view.tree/dimmer.view.tree.ts","../../../mol/type/equals/equals.ts","../../../mol/type/merge/merge.ts","../../../mol/type/intersect/intersect.ts","../../../mol/unicode/unicode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/regexp/mol/regexp/regexp.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/mol/dimmer/dimmer.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/-css/mol/dimmer/-css/dimmer.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/token/-view.tree/mol/text/code/token/-view.tree/token.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/token/mol/text/code/token/token.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/-view.tree/mol/text/code/row/-view.tree/row.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/mol/syntax2/syntax2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/md/mol/syntax2/md/md.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/mol/text/code/row/row.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/mol/text/code/row/row.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/-view.tree/mol/list/-view.tree/list.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/support/css/mol/support/css/css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/mem/cached/mol/mem/cached/cached.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/mol/list/list.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/-css/mol/list/-css/list.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/speck/-view.tree/mol/speck/-view.tree/speck.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/layer/mol/layer/layer.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/layer/-css/mol/layer/-css/layer.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/speck/-css/mol/speck/-css/speck.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/-view.tree/mol/button/-view.tree/button.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/keyboard/code/mol/keyboard/code/code.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/mol/button/button.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/-css/mol/button/-css/button.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/typed/-view.tree/mol/button/typed/-view.tree/typed.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/typed/-css/mol/button/typed/-css/typed.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/minor/-view.tree/mol/button/minor/-view.tree/minor.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/minor/-css/mol/button/minor/-css/minor.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/blob/mol/blob/blob.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/-view.tree/mol/svg/-view.tree/svg.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/time/mol/state/time/time.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/mol/svg/svg.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/root/-view.tree/mol/svg/root/-view.tree/root.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/root/-css/mol/svg/root/-css/root.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/path/-view.tree/mol/svg/path/-view.tree/path.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/-view.tree/mol/icon/-view.tree/icon.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/-css/mol/icon/-css/icon.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/clipboard/-view.tree/mol/icon/clipboard/-view.tree/clipboard.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/clipboard/outline/-view.tree/mol/icon/clipboard/outline/-view.tree/outline.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/copy/-view.tree/mol/button/copy/-view.tree/copy.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/html/encode/mol/html/encode/encode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/copy/mol/button/copy/copy.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/file/mol/file/file.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/array/mol/compare/array/array.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/file/mol/file/file.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/parse/mol/dom/parse/parse.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fetch/mol/fetch/fetch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/huggingface/mol/huggingface/huggingface.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../lingua/translate/hyoo/lingua/translate/translate.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/locale/mol/locale/locale.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/-view.tree/mol/text/code/-view.tree/code.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/mol/text/code/code.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/mol/text/code/code.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hotkey/-view.tree/mol/hotkey/-view.tree/hotkey.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hotkey/mol/hotkey/hotkey.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/-view.tree/mol/string/-view.tree/string.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/mol/string/string.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/-css/mol/string/-css/string.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/-view.tree/mol/textarea/-view.tree/textarea.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/mol/textarea/textarea.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/-css/mol/textarea/-css/textarea.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/float/-view.tree/mol/float/-view.tree/float.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/float/-css/mol/float/-css/float.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/button/-view.tree/mol/string/button/-view.tree/button.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/button/-css/mol/string/button/-css/button.view.css.ts","../../../mol/type/partial/deep/deep.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/jsx/mol/jsx/jsx.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/download/-view.tree/mol/icon/download/-view.tree/download.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/download/-view.tree/mol/button/download/-view.tree/download.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/download/mol/button/download/download.view.tsx","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/directions/-view.tree/mol/icon/directions/-view.tree/directions.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/directions/fork/-view.tree/mol/icon/directions/fork/-view.tree/fork.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/plus/-view.tree/mol/icon/plus/-view.tree/plus.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/plus/box/-view.tree/mol/icon/plus/box/-view.tree/box.view.tree.ts","../../../mol/state/arg/arg.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/arg/mol/state/arg/arg.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/mol/lights/lights.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/-view.tree/mol/check/-view.tree/check.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/maybe/mol/maybe/maybe.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/-css/mol/check/-css/check.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/mol/check/check.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/icon/-view.tree/mol/check/icon/-view.tree/icon.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/icon/-css/mol/check/icon/-css/icon.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/brightness/6/-view.tree/mol/icon/brightness/6/-view.tree/6.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/toggle/-view.tree/mol/lights/toggle/-view.tree/toggle.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/toggle/mol/lights/toggle/toggle.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/-view.tree/mol/link/-view.tree/link.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/mol/link/link.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/mol/link/link.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/github/circle/-view.tree/mol/icon/github/circle/-view.tree/circle.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/source/-view.tree/mol/link/source/-view.tree/source.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/-view.tree/mol/avatar/-view.tree/avatar.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hash/string/mol/hash/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/mol/avatar/avatar.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/-css/mol/avatar/-css/avatar.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/sync/-view.tree/mol/icon/sync/-view.tree/sync.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/sync/off/-view.tree/mol/icon/sync/off/-view.tree/off.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/-view.tree/hyoo/sync/online/-view.tree/online.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/hyoo/sync/online/online.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/-css/hyoo/sync/online/-css/online.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/hint/-view.tree/mol/icon/hint/-view.tree/hint.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/bar/-view.tree/mol/bar/-view.tree/bar.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/bar/-css/mol/bar/-css/bar.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/-view.tree/mol/icon/chevron/-view.tree/chevron.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/-view.tree/mol/check/expand/-view.tree/expand.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/mol/check/expand/expand.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/-css/mol/check/expand/-css/expand.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/-view.tree/mol/grid/-view.tree/grid.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/session/mol/state/session/session.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/mol/grid/grid.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/-css/mol/grid/-css/grid.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/-view.tree/mol/image/-view.tree/image.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/mol/image/image.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/-css/mol/image/-css/image.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/-view.tree/mol/link/iconed/-view.tree/iconed.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/mol/link/iconed/iconed.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/-css/mol/link/iconed/-css/iconed.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/-view.tree/mol/embed/native/-view.tree/native.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/mol/embed/native/native.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/-css/mol/embed/native/-css/native.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/youtube/-view.tree/mol/icon/youtube/-view.tree/youtube.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/-view.tree/mol/frame/-view.tree/frame.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/mol/frame/frame.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/mol/frame/frame.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/-view.tree/mol/embed/youtube/-view.tree/youtube.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/mol/embed/youtube/youtube.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/-css/mol/embed/youtube/-css/youtube.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/any/-view.tree/mol/embed/any/-view.tree/any.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/any/mol/embed/any/any.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/-view.tree/mol/text/text/-view.tree/text.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/mol/text/text/text.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/-css/mol/text/text/-css/text.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/down/-view.tree/mol/icon/chevron/down/-view.tree/down.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/right/-view.tree/mol/icon/chevron/right/-view.tree/right.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/auto/-view.tree/mol/theme/auto/-view.tree/auto.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/auto/mol/theme/auto/auto.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/nav/-view.tree/mol/nav/-view.tree/nav.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/nav/mol/nav/nav.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/list/-view.tree/mol/text/list/-view.tree/list.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/list/-css/mol/text/list/-css/list.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../-view.tree/hyoo/calc/-view.tree/calc.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/reconcile/mol/reconcile/reconcile.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/dict/hyoo/crowd/dict/dict.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../sheet/hyoo/calc/sheet/sheet.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/sandbox/mol/func/sandbox/sandbox.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/offline/mol/offline/offline.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/offline/install/mol/offline/install/install.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../hyoo/calc/calc.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../-css/hyoo/calc/-css/calc.view.css.ts","../-bin/calc_logo.svg.js"],"names":[],"sourceRoot":"/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/","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",null,null,"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' ) 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",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ 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\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ] as string\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\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\ttoJSON(): 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< Instance >( this : { new() : Instance } , config : Partial< Instance > ) : Instance {\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 any\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\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\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.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === 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 )\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",null,"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 let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $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\treturn val[ $mol_dev_format_head ]()\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\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\tif( typeof obj !== 'object' && typeof obj !== 'function' ) 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\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\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\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\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 tail = 0\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\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\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 ) {\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}\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_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\treturn val && typeof val.then === 'function'\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\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_frame | 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_frame( ()=> {\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\t[Symbol.toStringTag]!: string\n\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()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\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}\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_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( 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\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\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 ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\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\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() {\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 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\t\t\n\t}\n\t\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\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\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\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( !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\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 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['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['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 >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\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( 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 if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\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\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\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\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\t// if( existen && sub instanceof $mol_wire_task ) {\n\t\t\t\t// \t$mol_fail( new Error( `$mol_wire_task detects nonidempotency\\n${existen}` ) )\n\t\t\t\t// }\n\t\t\t\t\n\t\t\t\treturn new $mol_wire_task( `${ (host as any)?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, task, host, args )\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\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",null,null,"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\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 }.${ field }`\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 id = `${ prefix }.${ task.name }(${ $mol_key( key ) })`\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( id )\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 fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( id, 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\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\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((this as any)[ Symbol.toStringTag ] )\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 var $mol_dom_context : typeof globalThis\n\t\n}\n",null,"interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '--no-save', name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '--no-save', '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\treturn target.require( name )\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = `${ this.uri }#${ this.row }:${ this.col }/${ this.length }`\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , length )\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(`Begin value '${begin}' out of range ${this}`)\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail(`End value '${end}' out of range ${this}`)\n\t\t\tif (end < begin) this.$.$mol_fail(`End value '${end}' can't be less than begin value ${this}`)\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\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\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.map( ( 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.insert( 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 , [] ).insert( 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 sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\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.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\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\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\t\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat( ... this.kids.map( child => {\n\n\t\t\t\tlet handle = belt[ child.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\t\tif( !handle || handle === Object.prototype[ child.type as keyof Object ] ) {\n\t\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\treturn handle( child , belt , context! )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror.message += `\\n${ child.clone([]) }${ child.span }`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\n\t\t\t} ) )\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( 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( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tpromise : any\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.promise = Promise.resolve().then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\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 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\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode 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\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\treturn 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}\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/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tconst current = $mol_wire_auto()\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\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\treturn getter\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 === 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\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 any as (\n\t\t\tHost extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise\n\t\t\t\t\t? Host\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: {}\n\t\t) & {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t\t\n\t}\n\t\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\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n",null,null,"namespace $ {\n\n\tlet all = [] as string[]\n\tlet el : HTMLStyleElement | null = null\n\tlet timer : $mol_after_tick | null = null\n\n\texport function $mol_style_attach_force() {\n\t\tif( all.length ) {\n\t\t\tel!.innerHTML += '\\n' + all.join( '\\n\\n' )\n\t\t\tall = []\n\t\t}\n\t\ttimer = null\n\t\treturn el!\n\t}\n\t\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tall.push( `/* ${ id } */\\n\\n${ text }`)\n\n\t\tif( timer ) return el!\n\t\t\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\n\t\tel = doc.createElement('style')\n\t\tel.id = `$mol_style_attach`\n\t\tdoc.head.appendChild( el )\n\n\t\ttimer = new $mol_after_tick( $mol_style_attach_force )\n\n\t\treturn el\n\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\t\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| 'url'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_filter = '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 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< any >,\n\t\t\tmid: $mol_style_unit< any >,\n\t\t\tmax: $mol_style_unit< 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<$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<'%'>){\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<'%'>){\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<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit<$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<'%'>){\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<$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<'%'>){\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<'%'>){\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<'%'>){\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<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n",null,null,"namespace $ {\n\n\tconst { vary } = $mol_style_func\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport const $mol_theme = {\n\t\tback: vary('--mol_theme_back'),\n\t\thover: vary('--mol_theme_hover'),\n\t\tcard: vary('--mol_theme_card'),\n\t\tcurrent: vary('--mol_theme_current'),\n\t\tspecial: vary('--mol_theme_special'),\n\t\ttext: vary('--mol_theme_text'),\n\t\tcontrol: vary('--mol_theme_control'),\n\t\tshade: vary('--mol_theme_shade'),\n\t\tline: vary('--mol_theme_line'),\n\t\tfocus: vary('--mol_theme_focus'),\n\t\tfield: vary('--mol_theme_field'),\n\t\timage: vary('--mol_theme_image'),\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_satur: 1;\\n\\t--mol_theme_image: none;\\n}\\n\\n[mol_theme] {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n}\\n:where([mol_theme]) {\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 20% ), calc( 55% + 45% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, calc( 40% - 40% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 50% ), calc( 54% + 46% * var(--mol_theme_luma) ), .25 );\\n\\t\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 50% ), calc( 55% + 35% * var(--mol_theme_luma) ), .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 50%, 1 );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, calc( 55% - 10% * var(--mol_theme_luma) ) );\\n\\t\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"] {\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] {\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n}\\n\\n[mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_luma: -2;\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 40% );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 60%, 30% );\\n\\t--mol_theme_current: hsl( var(--mol_theme_hue), 100%, 20% );\\n}\\n\\n[mol_theme=\\\"$mol_theme_current\\\"] {\\n\\tbackground-color: var(--mol_theme_back);\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% + 30% * var(--mol_theme_luma) ) );\\n}\\n\\n[mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 55% + 35% * var(--mol_theme_luma) ), .25 );\\n}\\n\\n[mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\tbackground-color: var(--mol_theme_back);\\n\\t--mol_theme_luma: -2;\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 50% );\\n\\t--mol_theme_hover: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 35% );\\n}\\n\\n[mol_theme=\\\"$mol_theme_accent\\\"] [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: black;\\n}\\n\"\n) }","namespace $ {\n\tconst { vary } = $mol_style_func\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = {\n\t\tblock: vary( '--mol_gap_block' ) ,\n\t\ttext: vary( '--mol_gap_text' ),\n\t\tround: vary( '--mol_gap_round' ),\n\t\tspace: vary( '--mol_gap_space' ),\n\t\tblur: vary( '--mol_gap_blur' ),\n\t} as const\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\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\tconst error_showed = new WeakMap< Error, $mol_view >()\n\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|Node|string|number|boolean)[]\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\tdom_id() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t\n\t\t\t$mol_wire_solid()\n\t\t\t\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\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = $mol_wire_async( this.event() )\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\t\t\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\t\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : error.name || error.constructor.name } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\tif( ( error_showed.get( error ) ?? this ) !== this ) 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\terror_showed.set( error, this )\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\t\t\tconst fields = this.field()\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(),\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\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( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\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} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\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\tnew this.$.$mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\tthis.dom_node().scrollIntoView({ block: 'start', inline: 'end' })\n\t\t\t\tthis.focused( true )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\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}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\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=\\\"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) }","namespace $ {\n\texport class $mol_scroll extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_top? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_top(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_left? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_left(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tscroll?event <=> event_scroll?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tscroll: (event?: any) => this.event_scroll(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_scroll?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_scroll(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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",null,null,null,null,"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 in val ) {\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 in types ) {\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 in attrs ) {\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 in media ) {\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 {\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: 'flex',\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\talignSelf: 'stretch',\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\ttransform: 'translateZ(0)', // enforce gpu scroll in all agents\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: 'visible',\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","namespace $ {\n\texport class $mol_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\article\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"article\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Body\n\t\t * \t<= Foot\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Body(),\n\t\t\t\tthis.Foot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Logo null\n\t\t * ```\n\t\t */\n\t\tLogo() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_content /\n\t\t * \t<= Logo\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\ttitle_content() {\n\t\t\treturn [\n\t\t\t\tthis.Logo(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view\n\t\t * \tdom_name \\h1\n\t\t * \tsub <= title_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"h1\"\n\t\t\tobj.sub = () => this.title_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /$mol_view_content\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Tools $mol_view sub <= tools\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTools() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.tools()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\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 * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 64\n\t\t\tobj.dom_name = () => \"header\"\n\t\t\tobj.sub = () => this.head()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_scroll_top?\n\t\t * ```\n\t\t */\n\t\tbody_scroll_top(next?: any) {\n\t\t\treturn this.Body().scroll_top(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body $mol_scroll\n\t\t * \tscroll_top? => body_scroll_top?\n\t\t * \tsub <= body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => this.body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * foot /$mol_view\n\t\t * ```\n\t\t */\n\t\tfoot() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Foot $mol_view\n\t\t * \tdom_name \\footer\n\t\t * \tsub <= foot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"footer\"\n\t\t\tobj.sub = () => this.foot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\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\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\n\t\t\tconst node = next || ( ( $mol_owning_get( this ) as $mol_wire_fiber ).host as $mol_view )!.dom_node()\n\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\n\t\t\tconst events = $mol_wire_async( this.event() )\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.addEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ] ,\n\t\t\t\t\t{ passive : false } as any ,\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn node\n\t\t}\n\n\t\tattr_static() : { [ key : string ] : string|number|boolean } {\n\t\t\treturn {}\n\t\t}\n\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\trender() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { calc } = $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// 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\tboxShadow: `0 0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 2,\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: 1000,\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},\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\tpadding: $mol_gap.block ,\n\t\t},\n\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\tboxShadow: `0 -0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\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","let $hyoo_sync_revision = \"6efc2c3\"","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)\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_int62_string = `${string}_${string}`\n\t\n\texport function $mol_int62_string_ensure( str: unknown ) {\n\t\tif( typeof str !== 'string' ) return null\n\t\treturn $mol_int62_from_string( str ) && str as $mol_int62_string\n\t}\n\t\n\texport type $mol_int62_pair = {\n\t\treadonly lo: number,\n\t\treadonly hi: number,\n\t}\n\t\n\texport const $mol_int62_max = ( 2 ** 30 ) - 1\n\texport const $mol_int62_min = - ( 2 ** 30 )\n\texport const $mol_int62_range = $mol_int62_max - $mol_int62_min + 1\n\t\n\texport function $mol_int62_to_string( { lo, hi }: $mol_int62_pair ) {\n\t\tlo = ( lo + $mol_int62_range ) % $mol_int62_range\n\t\thi = ( hi + $mol_int62_range ) % $mol_int62_range\n\t\treturn lo.toString(36) + '_' + hi.toString(36) as $mol_int62_string\n\t}\n\n\texport function $mol_int62_from_string( str: string ): null | $mol_int62_pair {\n\t\t\n\t\tconst [ str_lo, str_hi ] = str.split( '_' )\n\t\t\n\t\tconst int_lo = parseInt( str_lo, 36 )\n\t\tconst int_hi = parseInt( str_hi, 36 )\n\t\t\n\t\tif( int_lo.toString( 36 ) !== str_lo || int_hi.toString( 36 ) !== str_hi ) {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\treturn {\n\t\t\tlo: ( int_lo - $mol_int62_min ) % $mol_int62_range + $mol_int62_min,\n\t\t\thi: ( int_hi - $mol_int62_min ) % $mol_int62_range + $mol_int62_min,\n\t\t} as const\n\t\t\n\t}\n\n\texport function $mol_int62_compare(\n\t\tleft_lo: number,\n\t\tleft_hi: number,\n\t\tright_lo: number,\n\t\tright_hi: number,\n\t) {\n\t\treturn ( right_hi - left_hi ) || ( right_lo - left_lo )\n\t}\n\n\texport function $mol_int62_inc(\n\t\tlo: number,\n\t\thi: number,\n\t\tmax = $mol_int62_max,\n\t): $mol_int62_pair {\n\t\tif( lo === max ) {\n\t\t\treturn { lo: -max, hi: hi + 1 }\n\t\t} else {\n\t\t\treturn { lo: lo + 1, hi }\n\t\t}\n\t}\n\n\texport function $mol_int62_random(): $mol_int62_pair {\n\t\treturn {\n\t\t\tlo: Math.floor( Math.random() * $mol_int62_range + $mol_int62_min ),\n\t\t\thi: Math.floor( Math.random() * $mol_int62_range + $mol_int62_min ),\n\t\t}\n\t}\n\n\texport function $mol_int62_hash_string( str: string ) {\n\t\treturn $mol_int62_to_string(\n\t\t\t$mol_int62_hash_buffer(\n\t\t\t\t$mol_charset_encode( str ),\n\t\t\t)\n\t\t)\n\t}\n\t\n\texport function $mol_int62_hash_buffer( buf: Uint8Array, seed = { lo: 0, hi: 0 } ): $mol_int62_pair {\n\t\t\n\t\tlet h1 = 0xdeadbeef ^ seed.lo\n\t\tlet h2 = 0x41c6ce57 ^ seed.hi\n\t\t\n\t\tfor( const byte of buf ) {\n\t\t\th1 = Math.imul( h1 ^ byte, 2654435761 )\n\t\t\th2 = Math.imul( h2 ^ byte, 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 { lo: h1 << 1 >> 1, hi: h2 << 1 >> 1 }\n\t}\n\t\n}\n",null,"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_diff_path< Item >( ... paths : Item[][] ) {\n\n\t\tconst limit = Math.min( ... paths.map( path => path.length ) )\n\n\t\tlookup: for( var i = 0 ; i < limit ; ++i ) {\n\n\t\t\tconst first = paths[0][i]\n\n\t\t\tfor( let j = 1 ; j < paths.length ; ++j ) {\n\t\t\t\tif( paths[j][i] !== first ) break lookup\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\tprefix : paths[0].slice( 0 , i ) ,\n\t\t\tsuffix : paths.map( path => path.slice( i ) ) ,\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends Error {\n\n\t\terrors : Error[]\n\n\t\tconstructor( message : string , ... errors : Error[] ) {\n\n\t\t\tsuper( message )\n\t\t\t\n\t\t\tthis.errors = errors\n\n\t\t\tif( errors.length ) {\n\n\t\t\t\tconst stacks = [ ... errors.map( error => error.stack ) , this.stack ]\n\t\t\t\t\n\t\t\t\tconst diff = $mol_diff_path( ... stacks.map( stack => {\n\t\t\t\t\tif( !stack ) return []\n\t\t\t\t\treturn stack.split( '\\n' ).reverse()\n\t\t\t\t} ) )\n\t\t\t\t\n\t\t\t\tconst head = diff.prefix.reverse().join( '\\n' )\n\t\t\t\tconst tails = diff.suffix.map( path => path.reverse().map( line => line.replace( /^(?!\\s+at)/ , '\\tat (.) ' ) ).join( '\\n' ) ).join( '\\n\\tat (.) -----\\n' )\n\n\t\t\t\tthis.stack = `Error: ${ this.constructor.name }\\n\\tat (.) /\"\"\"\\\\\\n${ tails }\\n\\tat (.) \\\\___/\\n${ head }`\n\t\t\t\tthis.message += errors.map( error => '\\n' + error.message ).join( '' )\n\n\t\t\t}\n\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\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 value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $ {\n\texport var $mol_crypto_native = $node.crypto.webcrypto as any as Crypto\n}\n","namespace $ {\n\n\t/** @FIXME Need polyfill for Safari and Node (https://github.com/microsoft/MSR-JavaScript-Crypto/) */\n\tconst algorithm = {\n\t\tname: 'ECDSA',\n\t\thash: 'SHA-256',\n\t\tnamedCurve: \"P-256\",\n\t}\n\t\n\t/** Asymmetric signing pair with shortest payload */\n\texport async function $mol_crypto_auditor_pair( this: $ ) {\n\t\t\n\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\talgorithm,\n\t\t\ttrue,\n\t\t\t[ 'sign', 'verify' ]\n\t\t)\n\t\t\n\t\treturn {\n\t\t\t\n\t\t\tpublic: new $mol_crypto_auditor_public(\n\t\t\t\tpair.publicKey as CryptoKey & { type: 'public' }\n\t\t\t),\n\t\t\t\n\t\t\tprivate: new $mol_crypto_auditor_private(\n\t\t\t\tpair.privateKey as CryptoKey & { type: 'private' }\n\t\t\t),\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t/** Asymmetric signing public key wrapper with shortest payload */\n\texport class $mol_crypto_auditor_public extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 86\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'public' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tstatic async from( serial: string ) {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'jwk',\n\t\t\t\t\t{\n\t\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\t\text: true,\n\t\t\t\t\t\tkey_ops: ['verify'],\n\t\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\t},\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'verify' ],\n\t\t\t\t) as CryptoKey & { type: 'public' }\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** 62 bytes */\n\t\tasync serial(): Promise< string > {\n\t\t\tconst { x, y } = await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'jwk',\n\t\t\t\tthis.native,\n\t\t\t)\n\t\t\treturn x! + y!\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\talgorithm,\n\t\t\t\tthis.native,\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\t/** Asymmetric signing private key wrapper with shortest payload */\n\texport class $mol_crypto_auditor_private extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 129\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'private' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\n\t\tstatic async from( serial: string ) {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'jwk',\n\t\t\t\t\t{\n\t\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\t\text: true,\n\t\t\t\t\t\tkey_ops: ['sign'],\n\t\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\t\td: serial.slice( 86, 129 ),\n\t\t\t\t\t},\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'sign' ],\n\t\t\t\t) as CryptoKey & { type: 'private' }\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** 129 bytes */\n\t\tasync serial(): Promise< string > {\n\t\t\tconst { x, y, d } = await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'jwk',\n\t\t\t\tthis.native,\n\t\t\t)\n\t\t\treturn x! + y! + d!\n\t\t}\n\t\t\n\t\t/** 64 bytes */\n\t\tasync sign( data: BufferSource ) {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.sign(\n\t\t\t\talgorithm,\n\t\t\t\tthis.native,\n\t\t\t\tdata\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes public key from private */\n\t\tasync public() {\n\t\t\treturn await $mol_crypto_auditor_public.from(\n\t\t\t\t$mol_crypto_auditor_private_to_public( await this.serial() )\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\t/** Sign size in bytes. */\n\texport const $mol_crypto_auditor_sign_size = 64\n\t\n\texport function $mol_crypto_auditor_private_to_public( serial: string ) {\n\t\treturn serial.slice( 0, 86 )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crowd_peer_level {\n\t\tget = 0,\n\t\tadd = 1,\n\t\tmod = 2,\n\t\tlaw = 3,\n\t}\n\t\n\texport class $hyoo_crowd_peer extends Object {\n\t\t\n\t\tid: $mol_int62_string\n\t\t\n\t\tconstructor(\n\t\t\treadonly key_public: $mol_crypto_auditor_public,\n\t\t\treadonly key_public_serial: string,\n\t\t\treadonly key_private: $mol_crypto_auditor_private,\n\t\t\treadonly key_private_serial: string,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = $mol_int62_hash_string( this.key_public_serial )\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst serial = await pair.private.serial()\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tpair.public,\n\t\t\t\t$mol_crypto_auditor_private_to_public( serial ),\n\t\t\t\tpair.private,\n\t\t\t\tserial,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async restore(\n\t\t\tserial: string,\n\t\t) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $$.$mol_crypto_auditor_public.from( serial ),\n\t\t\t\t$mol_crypto_auditor_private_to_public( serial ),\n\t\t\t\tawait $$.$mol_crypto_auditor_private.from( serial ),\n\t\t\t\tserial,\n\t\t\t)\n\t\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"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","namespace $ {\n\t\n\texport type $hyoo_crowd_unit_id = `${ $mol_int62_string }!${ $mol_int62_string }`\n\t\n\tconst level = $mol_data_enum( 'level', $hyoo_crowd_peer_level )\n\t\n\texport enum $hyoo_crowd_unit_kind {\n\t\t\n\t\t/** Grab Land by King */\n\t\tgrab,\n\t\t\n\t\t/** Join Peer to Land */\n\t\tjoin,\n\t\t\n\t\t/* Give Level for Peer for Land */\n\t\tgive,\n\t\t\n\t\t/** Add Data to Land by joined Peer with right Level */\n\t\tdata,\n\t\t\n\t}\n\t\n\texport enum $hyoo_crowd_unit_group {\n\t\t\n\t\t/** Join and Give units */\n\t\tauth = 0,\n\t\t\n\t\t/** Data units */\n\t\tdata = 1,\n\t\t\n\t}\n\t\n\t/** Independent part of data. */\n\texport class $hyoo_crowd_unit extends Object {\n\t\t\n\t\tconstructor(\n\t\n\t\t\t/** Identifier of land. */\n\t\t\treadonly land: $mol_int62_string,\n\t\t\t\n\t\t\t/** Identifier of auth. */\n\t\t\treadonly auth: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Identifier of head node. */\n\t\t\treadonly head: $mol_int62_string,\n\t\t\t\n\t\t\t/** Self identifier inside head after prev before next. */\n\t\t\treadonly self: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Identifier of next node. */\n\t\t\treadonly next: $mol_int62_string,\n\t\t\t\n\t\t\t/** Identifier of prev node. */\n\t\t\treadonly prev: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Monotonic real clock. 4B / info = 31b */\n\t\t\treadonly time: number,\n\t\t\t\n\t\t\t/** type-size = bin<0 | null=0 | json>0 */\n\t\t\t/** Associated atomic data. mem = 4B+ / bin = (0|8B)+ / type-size-info = 16b */\n\t\t\treadonly data: unknown,\n\t\t\t\n\t\t\tpublic bin: $hyoo_crowd_unit_bin | null\n\t\t\t\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tkind() {\n\t\t\t\n\t\t\tif( this.head === this.self && this.auth === this.self ) {\n\t\t\t\tif( this.head === this.land ) {\n\t\t\t\t\treturn $hyoo_crowd_unit_kind.grab\n\t\t\t\t} else {\n\t\t\t\t\treturn $hyoo_crowd_unit_kind.join\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( this.head === this.land ) {\n\t\t\t\treturn $hyoo_crowd_unit_kind.give\n\t\t\t}\n\t\t\t\n\t\t\treturn $hyoo_crowd_unit_kind.data\n\t\t}\n\t\t\n\t\tgroup() {\n\t\t\treturn this.kind() === $hyoo_crowd_unit_kind.data\n\t\t\t\t? $hyoo_crowd_unit_group.data\n\t\t\t\t: $hyoo_crowd_unit_group.auth\n\t\t}\n\t\t\n\t\tlevel() {\n\t\t\tswitch( this.kind() ) {\n\t\t\t\tcase $hyoo_crowd_unit_kind.grab: return $hyoo_crowd_peer_level.law\n\t\t\t\tcase $hyoo_crowd_unit_kind.give: return level( this.data as any )\n\t\t\t\tdefault: $mol_fail( new Error( `Wrong unit kind for getting level: ${ this.kind() }` ) )\n\t\t\t}\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn JSON.stringify( this )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tswitch( this.kind() ) {\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.grab:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t' 👑',\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.join:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 🔑 ',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.give:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 🏅 ',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$mol_dev_format_native( $hyoo_crowd_peer_level[ this.data as number ] ?? this.data ),\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.data:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 📦 ',\n\t\t\t\t\t\t\tthis.head,\n\t\t\t\t\t\t\t'!',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$mol_dev_format_native( this.data ),\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}\n\t\n\tconst offset = {\n\t\t\n\t\tland_lo: 0,\n\t\tland_hi: 4,\n\t\tauth_lo: 8,\n\t\tauth_hi: 12,\n\t\t\n\t\thead_lo: 16,\n\t\thead_hi: 20,\n\t\tself_lo: 24,\n\t\tself_hi: 28,\n\t\t\n\t\tnext_lo: 32,\n\t\tnext_hi: 36,\n\t\tprev_lo: 40,\n\t\tprev_hi: 44,\n\t\t\n\t\ttime: 48,\n\t\tsize: 54,\n\t\tdata: 56,\n\t\t\n\t} as const\n\t\n\texport class $hyoo_crowd_unit_bin extends DataView {\n\t\t\n\t\tstatic from_buffer( buffer: Int16Array ) {\n\t\t\tconst size = Math.ceil( Math.abs( buffer[ offset.size / 2 ] ) / 8 ) * 8 + offset.data + $mol_crypto_auditor_sign_size\n\t\t\treturn new this( buffer.slice( 0, size / 2 ).buffer )\n\t\t}\n\t\t\n\t\tstatic from_unit( unit: $hyoo_crowd_unit ) {\n\t\t\t\n\t\t\tif( unit.bin ) return unit.bin\n\t\t\t\n\t\t\tconst type = unit.data === null\n\t\t\t\t? 0\n\t\t\t\t: unit.data instanceof Uint8Array\n\t\t\t\t\t? -1\n\t\t\t\t\t: 1\n\t\t\t\n\t\t\tconst buff = type === 0 ? null\n\t\t\t\t: type > 0 ? $mol_charset_encode( JSON.stringify( unit.data ) )\n\t\t\t\t: unit.data as Uint8Array\n\t\t\t\n\t\t\tconst size = buff?.byteLength ?? 0\n\t\t\tif( type > 0 && size > 2**15 - 1 ) throw new Error( `Too large json data: ${size} > ${ 2**15 - 1 }` )\n\t\t\tif( type < 0 && size > 2**15 ) throw new Error( `Too large binary data: ${size} > ${ 2**15 }` )\n\t\t\t\n\t\t\tconst total = offset.data + Math.ceil( size / 8 ) * 8 + $mol_crypto_auditor_sign_size\n\t\t\t\n\t\t\tconst mem = new Uint8Array( total )\n\t\t\tconst bin = new $hyoo_crowd_unit_bin( mem.buffer )\n\t\t\t\n\t\t\tconst land = $mol_int62_from_string( unit.land )!\n\t\t\tbin.setInt32( offset.land_lo, land.lo, true )\n\t\t\tbin.setInt32( offset.land_hi, land.hi, true )\n\t\t\tconst auth = $mol_int62_from_string( unit.auth )!\n\t\t\tbin.setInt32( offset.auth_lo, auth.lo, true )\n\t\t\tbin.setInt32( offset.auth_hi, auth.hi, true )\n\t\t\t\n\t\t\tconst head = $mol_int62_from_string( unit.head )!\n\t\t\tbin.setInt32( offset.head_lo, head.lo, true )\n\t\t\tbin.setInt32( offset.head_hi, head.hi, true )\n\t\t\tconst self = $mol_int62_from_string( unit.self )!\n\t\t\tbin.setInt32( offset.self_lo, self.lo, true )\n\t\t\tbin.setInt32( offset.self_hi, self.hi, true )\n\t\t\t\n\t\t\tconst next = $mol_int62_from_string( unit.next )!\n\t\t\tbin.setInt32( offset.next_lo, next.lo, true )\n\t\t\tbin.setInt32( offset.next_hi, next.hi, true )\n\t\t\tconst prev = $mol_int62_from_string( unit.prev )!\n\t\t\tbin.setInt32( offset.prev_lo, prev.lo, true )\n\t\t\tbin.setInt32( offset.prev_hi, prev.hi, true )\n\t\t\t\n\t\t\tbin.setInt32( offset.time, unit.time, true )\n\t\t\tbin.setInt16( offset.size, type * size, true )\n\t\t\t\n\t\t\tif( buff ) mem.set( buff, offset.data )\n\t\t\t\n\t\t\treturn bin\n\t\t}\n\t\t\n\t\tsign( next?: Uint8Array ) {\n\t\t\t\n\t\t\tconst sign_offset = this.byteOffset + this.byteLength - $mol_crypto_auditor_sign_size\n\t\t\t\n\t\t\tconst buff = new Uint8Array(\n\t\t\t\tthis.buffer,\n\t\t\t\tsign_offset,\n\t\t\t\t$mol_crypto_auditor_sign_size,\n\t\t\t)\n\t\t\t\n\t\t\tif( !next ) return buff\n\t\t\t\n\t\t\tbuff.set( next )\n\t\t\treturn buff\n\t\t\t\n\t\t}\n\t\t\n\t\t// land( next?: $mol_int62_pair ) {\n\t\t\t\n\t\t// \tif( next ) {\n\t\t\t\t\n\t\t// \t\tthis.setInt32( offset.land_lo, next.lo, true )\n\t\t// \t\tthis.setInt32( offset.land_hi, next.hi, true )\n\t\t// \t\treturn next\n\t\t\t\t\n\t\t// \t} else {\n\t\t\t\t\n\t\t// \t\treturn {\n\t\t// \t\t\tlo: this.getInt32( offset.land_lo, true ),\n\t\t// \t\t\thi: this.getInt32( offset.land_hi, true ),\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t}\n\n\t\t// }\n\t\t\n\t\tsize() {\n\t\t\treturn Math.ceil( Math.abs( this.getInt16( offset.size, true ) ) / 8 ) * 8 + offset.data + $mol_crypto_auditor_sign_size\n\t\t}\n\t\t\n\t\t// data() {\n\t\t// \tconst info = this.getUint16( offset.data )\n\t\t// \tconst size = Math.abs( info )\n\t\t// \tconst buf = new Uint8Array( this.buffer, this.byteOffset + offset.sens, size )\n\t\t// \tconst data = info > 0 ? JSON.parse( $mol_charset_decode( buf ) ) : info < 0 ? buf : null\n\t\t// \treturn data\n\t\t// }\n\t\t\n\t\tsens() {\n\t\t\treturn new Uint8Array(\n\t\t\t\tthis.buffer,\n\t\t\t\tthis.byteOffset,\n\t\t\t\tthis.size() - $mol_crypto_auditor_sign_size,\n\t\t\t)\n\t\t}\n\t\t\n\t\tunit(): $hyoo_crowd_unit {\n\t\t\t\n\t\t\tconst land = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.land_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.land_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst auth = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.auth_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.auth_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst head = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.head_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.head_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst self = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.self_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.self_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst next = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.next_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.next_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst prev = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.prev_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.prev_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst time = this.getInt32( offset.time, true ) << 1 >> 1\n\t\t\tconst type_size = this.getInt16( offset.size, true )\n\t\t\t\n\t\t\tlet data = null as unknown\n\t\t\t\n\t\t\tif( type_size ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tvar buff = new Uint8Array( this.buffer, this.byteOffset + offset.data, Math.abs( type_size ) )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror['message'] += `\\nhead=${head};self=${self}`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( type_size < 0 ) data = buff\n\t\t\t\telse data = JSON.parse( $mol_charset_decode( buff ) )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn new $hyoo_crowd_unit(\n\t\t\t\tland, auth,\n\t\t\t\thead, self,\n\t\t\t\tnext, prev,\n\t\t\t\ttime, data,\n\t\t\t\tthis,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\texport function $hyoo_crowd_unit_compare(\n\t\tleft: $hyoo_crowd_unit,\n\t\tright: $hyoo_crowd_unit,\n\t) {\n\t\treturn ( left.group() - right.group() )\n\t\t\t|| ( left.time - right.time )\n\t\t\t\n\t\t\t|| ( ( left.auth > right.auth ) ? 1 : ( left.auth < right.auth ) ? -1 : 0 )\n\t\t\t|| ( ( left.self > right.self ) ? 1 : ( left.self < right.self ) ? -1 : 0 )\n\t\t\t|| ( ( left.head > right.head ) ? 1 : ( left.head < right.head ) ? -1 : 0 )\n\t\t\t|| ( ( left.prev > right.prev ) ? 1 : ( left.prev < right.prev ) ? -1 : 0 )\n\t\t\t|| ( ( left.next > right.next ) ? 1 : ( left.next < right.next ) ? -1 : 0 )\n\t\t\t|| ( ( left.land > right.land ) ? 1 : ( left.land < right.land ) ? -1 : 0 )\n\t\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\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\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\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\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\t\n\t\t\t},\n\t\t\t\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\tconst fiber = temp( self, args )\n\t\t\t\treturn fiber.sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as any as (\n\t\t\tHost extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise< infer Res2 >\n\t\t\t\t\t? ( ... args: Args )=> Res2\n\t\t\t\t\t: Host\n\t\t\t\t: {}\n\t\t) & {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\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 ) 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_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport async function $hyoo_sync_peer( path: string, next?: string ) {\n\t\t\n\t\tlet serial = $mol_state_local.value( '$hyoo_sync_peer', next ) as string | null\n\t\tif( typeof serial === 'string' ) {\n\t\t\treturn await $hyoo_crowd_peer.restore( serial )\n\t\t}\n\t\t\n\t\tconst peer = await $hyoo_crowd_peer.generate()\n\t\t$mol_state_local.value( '$hyoo_sync_peer', peer.key_private_serial )\n\t\treturn peer\n\t\t\n\t}\n\n\t\n}\n","namespace $ {\n\t\n\t/** Internal int31 representation of current time. */\n\texport function $hyoo_crowd_time_now() {\n\t\treturn Math.floor( Date.now() / 100 ) - 1767e7\n\t}\n\t\n\t/** Returns unix timestamp for internal time representation. */\n\texport function $hyoo_crowd_time_stamp( time: number ) {\n\t\treturn 1767e9 + time * 100\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Vector clock. Stores real timestamps. */\n\texport class $hyoo_crowd_clock extends Map<\n\t\t$mol_int62_string,\n\t\tnumber\n\t> {\n\t\t\n\t\tstatic begin = -1 * 2**30\n\t\t\n\t\t/** Maximum time for all peers. */\n\t\tlast_time = $hyoo_crowd_clock.begin\n\t\t\n\t\tconstructor(\n\t\t\tentries?: Iterable<\n\t\t\t\treadonly [ $mol_int62_string, number ]\n\t\t\t>\n\t\t) {\n\t\t\t\n\t\t\tsuper( entries )\n\t\t\tif( !entries ) return\n\t\t\t\n\t\t\tfor( const [ peer, time ] of entries ) {\n\t\t\t\tthis.see_time( time )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Synchronize this clock with another. */\n\t\tsync( right: $hyoo_crowd_clock ) {\n\t\t\tfor( const [ peer, time ] of right ) {\n\t\t\t\tthis.see_peer( peer, time )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Increase `last` to latest. */\n\t\tsee_time( time: number ) {\n\t\t\tif( time < this.last_time ) return\n\t\t\tthis.last_time = time\n\t\t}\n\t\t\n\t\t/** Add new `time` for `peer` and increase `last`. */\n\t\tsee_peer(\n\t\t\tpeer: $mol_int62_string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\t\n\t\t\tif( !this.fresh( peer, time ) ) return\n\t\t\t\n\t\t\tthis.set( peer, time )\n\t\t\tthis.see_time( time )\n\t\t\t\n\t\t}\n\t\t\n\t\tsee_bin( bin: $hyoo_crowd_clock_bin, group: $hyoo_crowd_unit_group ) {\n\t\t\t\n\t\t\tfor( let cursor = offset.clocks; cursor < bin.byteLength; cursor += 16 ) {\n\t\t\t\t\n\t\t\t\tthis.see_peer(\n\t\t\t\t\t$mol_int62_to_string({\n\t\t\t\t\t\tlo: bin.getInt32( cursor + 0, true ) << 1 >> 1,\n\t\t\t\t\t\thi: bin.getInt32( cursor + 4, true ) << 1 >> 1,\n\t\t\t\t\t}),\n\t\t\t\t\tbin.getInt32( cursor + 8 + 4 * group, true )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t/** Checks if time from future. */\n\t\tfresh(\n\t\t\tpeer: $mol_int62_string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\treturn time > this.time( peer )\n\t\t}\n\t\t\n\t\t/** Checks if this clock from future of another. */\n\t\tahead( clock: $hyoo_crowd_clock ) {\n\t\t\t\n\t\t\tfor( const [ peer, time ] of this ) {\n\t\t\t\tif( clock.fresh( peer, time ) ) return true\n\t\t\t}\n\t\t\t\n\t\t\treturn false\n\t\t}\n\t\t\n\t\ttime( peer: $mol_int62_string ) {\n\t\t\treturn this.get( peer ) ?? $hyoo_crowd_clock.begin\n\t\t}\n\t\t\n\t\tnow() {\n\t\t\treturn $hyoo_crowd_time_now()\n\t\t}\n\t\t\n\t\tlast_stamp() {\n\t\t\treturn $hyoo_crowd_time_stamp( this.last_time )\n\t\t}\n\t\t\n\t\t/** Gererates new time for peer that greater then other seen. */\n\t\ttick( peer: $mol_int62_string ) {\n\t\t\t\n\t\t\tlet time = this.now()\n\t\t\t\n\t\t\tif( time <= this.last_time ) {\n\t\t\t\ttime = this.last_time + 1\n\t\t\t}\n\t\t\t\n\t\t\tthis.see_peer( peer, time )\n\t\t\t\n\t\t\treturn time\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( ' ' + new Date( this.last_stamp() ).toISOString().replace( 'T', ' ' ) ) ,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\tconst offset = {\n\t\t\n\t\tland_lo: 0,\n\t\tland_hi: 4,\n\t\t\n\t\tcount: 8,\n\t\t\n\t\tclocks: 16,\n\t\t\n\t} as const\n\t\n\texport class $hyoo_crowd_clock_bin extends DataView {\n\t\t\n\t\tstatic from(\n\t\t\tland_id: $mol_int62_string,\n\t\t\tclocks: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ],\n\t\t\tcount: number,\n\t\t) {\n\t\t\t\n\t\t\tconst size = offset.clocks + clocks[0].size * 16\n\t\t\tconst mem = new Uint8Array( size )\n\t\t\tconst bin = new $hyoo_crowd_clock_bin( mem.buffer )\n\t\t\t\n\t\t\tconst land = $mol_int62_from_string( land_id )!\n\t\t\tbin.setInt32( offset.land_lo, land.lo ^ ( 1 << 31 ), true )\n\t\t\tbin.setInt32( offset.land_hi, land.hi, true )\n\t\t\t\n\t\t\tbin.setInt32( offset.count, count, true )\n\t\t\t\n\t\t\tlet cursor = offset.clocks\n\t\t\tfor( const [ peer_id, time ] of clocks[0] ) {\n\t\t\t\t\n\t\t\t\tconst peer = $mol_int62_from_string( peer_id )!\n\t\t\t\t\n\t\t\t\tbin.setInt32( cursor + 0, peer.lo, true )\n\t\t\t\tbin.setInt32( cursor + 4, peer.hi, true )\n\t\t\t\t\n\t\t\t\tbin.setInt32( cursor + 8, time, true )\n\t\t\t\tbin.setInt32( cursor + 12, clocks[1].get( peer_id ) ?? $hyoo_crowd_clock.begin, true )\n\t\t\t\t\n\t\t\t\tcursor += 16\n\t\t\t}\n\t\t\t\n\t\t\treturn bin\n\t\t}\n\t\t\n\t\tland() {\n\t\t\treturn $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.land_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.land_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t}\n\t\t\n\t\tcount() {\n\t\t\treturn this.getInt32( offset.count, true )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Stateless non-unique adapter to CROWD Tree for given Head. */\n\texport class $hyoo_crowd_node extends $mol_object2 {\n\t\t\n\t\tconstructor(\n\t\t\treadonly land = new $hyoo_crowd_land,\n\t\t\treadonly head: $mol_int62_string = '0_0',\n\t\t) { super() }\n\t\t\n\t\tstatic for< Node extends typeof $hyoo_crowd_node >(\n\t\t\tthis: Node,\n\t\t\tland: $hyoo_crowd_land,\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\treturn new this( land, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tid() {\n\t\t\treturn this.head === '0_0'\n\t\t\t\t? this.land.id()\n\t\t\t\t: `${ this.land.id() }!${ this.head }` as $hyoo_crowd_unit_id\n\t\t}\n\t\t\n\t\tworld() {\n\t\t\treturn this.land.world()\n\t\t}\n\t\t\n\t\t/** Returns another representation of this node. */\n\t\tas< Node extends typeof $hyoo_crowd_node >( Node: Node ) {\n\t\t\treturn this.world()?.Fund( Node ).Item( `${ this.land.id() }!${ this.head }` ) ?? new Node( this.land, this.head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** Ordered inner alive Units. */\n\t\tunits() {\n\t\t\treturn this.land.unit_alives( 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_crowd_node >( Node: Node ) {\n\t\t\tconst fund = this.world()?.Fund( Node )\n\t\t\treturn this.units().map( unit => fund?.Item( `${ this.land.id() }!${ unit.self }` ) ?? new Node( this.land, unit.self ) as InstanceType< Node > )\n\t\t}\n\t\t\n\t\t/** Returns true when node value is never changed. */\n\t\tvirgin() {\n\t\t\treturn this.land.unit_list( this.head ).length === 0\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn `${ this.constructor.name }(\"${ this.land.id() }\",\"${ this.head }\")`\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.id()\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( this.land.unit_list( this.head ) ) ,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crowd_reg extends $hyoo_crowd_node {\n\t\t\n\t\t/** Atomic value. */\n\t\tvalue( next?: unknown ) {\n\t\t\t\n\t\t\tconst unit = this.units().at(-1)\n\t\t\tif( next === undefined ) return unit?.data ?? null\n\t\t\t\t\n\t\t\tif( $mol_compare_deep( unit?.data, next ) ) return next\n\t\t\t\n\t\t\tthis.land.put(\n\t\t\t\tthis.head,\n\t\t\t\tunit?.self ?? this.land.id_new(),\n\t\t\t\t'0_0',\n\t\t\t\tnext,\n\t\t\t)\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/** Atomic string. */\n\t\tstr( next?: string ) {\n\t\t\treturn String( this.value( next ) ?? '' )\n\t\t}\n\t\t\n\t\t/** Atomic number. */\n\t\tnumb( next?: number ) {\n\t\t\treturn Number( this.value( next ) )\n\t\t}\n\t\t\n\t\t/** Atomic boolean. */\n\t\tbool( next?: boolean ) {\n\t\t\treturn Boolean( this.value( next ) )\n\t\t}\n\t\t\n\t\tyoke(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\t\n\t\t\tconst world = this.world()!\n\t\t\t\n\t\t\tlet land_id = $mol_int62_string_ensure( this.value() )\n\t\t\tif( land_id ) return world.land_sync( land_id )\n\t\t\t\n\t\t\tif( !this.land.allowed_add() ) return null\n\t\t\t\n\t\t\tconst land = $mol_wire_sync( world ).grab( law, mod, add )\n\t\t\t\n\t\t\tthis.value( land.id() )\n\t\t\tworld.land_init( land )\n\t\t\t\n\t\t\treturn land\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $hyoo_crowd_struct extends $hyoo_crowd_node {\n\t\t\n\t\t/** Returns inner node for key. */\n\t\tsub< Node extends typeof $hyoo_crowd_node >( key: string, Node: Node ) {\n\t\t\tconst head = $mol_int62_hash_string( key + '\\n' + this.head )\n\t\t\treturn this.world()?.Fund( Node ).Item( `${ this.land.id() }!${ head }` ) ?? new Node( this.land, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\tyoke< Node extends typeof $hyoo_crowd_node >(\n\t\t\tkey: string,\n\t\t\tNode: Node,\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\tconst land = this.sub( key, $hyoo_crowd_reg ).yoke( law, mod, add )\n\t\t\treturn land?.chief.sub( key, Node ) ?? null\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Conflict-free Reinterpretable Ordered Washed Data Tree */\n\texport class $hyoo_crowd_land extends $mol_object {\n\t\t\n\t\t@ $mol_memo.method\n\t\tid() {\n\t\t\treturn $mol_int62_to_string( $mol_int62_random() )\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.id()\n\t\t}\n\t\t\n\t\tpeer() {\n\t\t\treturn this.world()?.peer!\n\t\t}\n\t\t\n\t\tpeer_id() {\n\t\t\treturn this.peer()?.id ?? '0_0'\n\t\t}\n\t\t\n\t\tworld(): $hyoo_crowd_world | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget clock_auth() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks[ $hyoo_crowd_unit_group.auth ]\n\t\t}\n\t\t\n\t\tget clock_data() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks[ $hyoo_crowd_unit_group.data ]\n\t\t}\n\t\t\n\t\tget clocks() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks\n\t\t}\n\t\t\n\t\tget clocks_bin() {\n\t\t\treturn new Uint8Array( $hyoo_crowd_clock_bin.from( this.id(), this._clocks, this._unit_all.size ).buffer )\n\t\t}\n\t\t\n\t\treadonly pub = new $mol_wire_pub\n\t\treadonly _clocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t\n\t\t/** unit by head + self */\n\t\t_unit_all = new Map<\n\t\t\t$hyoo_crowd_unit_id,\n\t\t\t$hyoo_crowd_unit\n\t\t>()\n\t\t\n\t\tunit(\n\t\t\thead: $mol_int62_string,\n\t\t\tself: $mol_int62_string,\n\t\t) {\n\t\t\treturn this._unit_all.get(`${ head }!${ self }`)\n\t\t}\n\t\t\n\t\t/** units by head */\n\t\t_unit_lists = new Map<\n\t\t\t$mol_int62_string,\n\t\t\tundefined | $hyoo_crowd_unit[] & { dirty: boolean }\n\t\t>()\n\t\t\n\t\t/** Units by Head without tombstones */\n\t\t_unit_alives = new Map<\n\t\t\t$mol_int62_string,\n\t\t\tundefined | $hyoo_crowd_unit[]\n\t\t>()\n\t\t\n\t\tsize() {\n\t\t\treturn this._unit_all.size\n\t\t}\n\t\t\n\t\t/** Returns list of all Units for Node. */ \n\t\tunit_list(\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tlet kids = this._unit_lists.get( head )\n\t\t\tif( !kids ) this._unit_lists.set( head, kids = Object.assign( [], { dirty: false } ) )\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Returns list of alive Units for Node. */ \n\t\tunit_alives(\n\t\t\thead: $mol_int62_string,\n\t\t): readonly $hyoo_crowd_unit[] {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tlet kids = this._unit_alives.get( head )\n\t\t\tif( !kids ) {\n\t\t\t\t\n\t\t\t\tconst all = this.unit_list( head )\n\t\t\t\tif( all.dirty ) this.resort( head )\n\t\t\t\t\n\t\t\t\tkids = all.filter( kid => kid.data !== null )\n\t\t\t\tthis._unit_alives.set( head, kids )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Node by id and type. */\n\t\tnode< Node extends typeof $hyoo_crowd_node >( head: $mol_int62_string, Node: Node ) {\n\t\t\treturn new Node( this, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** Root Node. */\n\t\tchief = this.node( '0_0', $hyoo_crowd_struct )\n\t\t\n\t\t/** Generates new identifier. */\n\t\tid_new(): $mol_int62_string {\n\t\t\t\n\t\t\tfor( let i = 0; i < 1000; ++i ) {\n\t\t\t\t\n\t\t\t\tconst id = $mol_int62_to_string( $mol_int62_random() )\n\t\t\t\t\n\t\t\t\tif( id === '0_0' ) continue // zero reserved for empty\n\t\t\t\tif( id === this.id() ) continue // reserved for rights\n\t\t\t\tif( this._unit_lists.has( id ) ) continue // skip already exists\n\t\t\t\t\n\t\t\t\treturn id\n\t\t\t}\n\t\t\t\n\t\t\tthrow new Error( `Can't generate ID after 1000 times` )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes independent clone with defined peer. */\n\t\tfork( auth: $hyoo_crowd_peer ) {\n\t\t\t\n\t\t\tconst fork = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( this.id() ),\n\t\t\t\tpeer: $mol_const( auth ),\n\t\t\t})\n\t\t\t\n\t\t\treturn fork.apply( this.delta() )\n\t\t}\n\t\t\n\t\t/** Makes Delta bettween Clock and now. */\n\t\tdelta(\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst delta = [] as $hyoo_crowd_unit[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tconst time = clocks[ unit.group() ].time( unit.auth )\n\t\t\t\tif( unit.time <= time ) continue\n\t\t\t\t\n\t\t\t\tdelta.push( unit! )\n\t\t\t}\n\t\t\t\n\t\t\tdelta.sort( $hyoo_crowd_unit_compare )\n\t\t\t\n\t\t\treturn delta as readonly $hyoo_crowd_unit[]\n\t\t}\n\t\t\n\t\tresort(\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst kids = this._unit_lists.get( head )!\n\t\t\tif( !kids.dirty ) return kids\n\t\t\t\n\t\t\tif( kids.length < 2 ) {\n\t\t\t\tkids.dirty = true\n\t\t\t\treturn kids\n\t\t\t}\n\t\t\t\n\t\t\tconst queue = kids.splice(0).sort(\n\t\t\t\t( left, right )=> - $hyoo_crowd_unit_compare( left, right )\n\t\t\t)\n\t\t\t\n\t\t\tconst locate = ( self: $mol_int62_string )=> {\n\t\t\t\t\n\t\t\t\tfor( let i = kids.length - 1; i >= 0; --i ) {\n\t\t\t\t\tif( kids[i].self === self ) return i\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\t\n\t\t\twhile( queue.length ) {\n\t\t\t\t\n\t\t\t\tkids.push( queue.pop()! )\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\tlet index = 0\n\n\t\t\t\t\tif( kid.prev !== '0_0' ) {\n\t\t\t\t\t\tindex = locate( kid.prev ) + 1\n\t\t\t\t\t\tif( !index ) continue\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\twhile( kids[ index ] && ( $hyoo_crowd_unit_compare( kids[ index ], kid ) > 0 ) ) ++ index\n\t\t\t\t\t\n\t\t\t\t\tconst exists = locate( kid.self )\n\t\t\t\t\tif( index === exists ) {\n\t\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif( exists >= 0 ) {\n\t\t\t\t\t\tkids.splice( exists, 1 )\n\t\t\t\t\t\tif( exists < index ) -- index\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tkids.splice( index, 0, 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\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tkids.dirty = false\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state. */\n\t\tapply( delta: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\tfor( const next of delta ) {\n\t\t\t\t\n\t\t\t\tthis._clocks[ next.group() ].see_peer( next.auth, next.time )\n\t\t\t\tconst kids = this.unit_list( next.head )\n\t\t\t\tconst next_id = `${ next.head }!${ next.self }` as const\n\t\t\t\t\n\t\t\t\tlet prev = this._unit_all.get( next_id )\n\t\t\t\tif( prev ) {\n\t\t\t\t\tif( $hyoo_crowd_unit_compare( prev, next ) > 0 ) continue\n\t\t\t\t\tkids[ kids.indexOf( prev ) ] = next\n\t\t\t\t} else {\n\t\t\t\t\tkids.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis._unit_all.set( next_id, next )\n\t\t\t\tif( kids.length > 1 ) kids.dirty = true\n\t\t\t\tthis._unit_alives.set( next.head, undefined )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t_joined = false\n\t\t\n\t\t/** Register public key of current peer **/\n\t\tjoin() {\n\t\t\t\n\t\t\tif( this._joined ) return\n\t\t\t\n\t\t\tconst auth = this.peer()\n\t\t\tif( !auth ) return\n\t\t\tif( !auth.key_public_serial ) return\n\t\t\t\n\t\t\tconst auth_id = `${ auth.id }!${ auth.id }` as const\n\t\t\t\n\t\t\tconst auth_unit = this._unit_all.get( auth_id )\n\t\t\tif( auth_unit?.data ) return this._joined = true\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( auth.id )\n\t\t\t\n\t\t\tconst join_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth.id,\n\t\t\t\tauth.id, auth.id,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, auth.key_public_serial,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( auth_id, join_unit )\n\t\t\t\n\t\t\tthis._joined = true\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Unregister public key of current peer **/\n\t\tleave() {\n\t\t\t\n\t\t\tconst auth = this.peer()\n\t\t\tif( !auth ) return\n\t\t\tif( !auth.key_public_serial ) return\n\t\t\t\n\t\t\tconst auth_id = `${ auth.id }!${ auth.id }` as const\n\t\t\t\n\t\t\tconst auth_unit = this._unit_all.get( auth_id )\n\t\t\tif( !auth_unit || !auth_unit.data ) return this._joined = false\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( auth.id )\n\t\t\t\n\t\t\tconst join_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth.id,\n\t\t\t\tauth.id, auth.id,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, null,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( auth_id, join_unit )\n\t\t\t\n\t\t\tthis._joined = false\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t}\n\t\t\n\t\tallowed_add( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.add\n\t\t}\n\t\tallowed_mod( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.mod\n\t\t}\n\t\tallowed_law( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.law\n\t\t}\n\t\t\n\t\tlevel_base( next?: $hyoo_crowd_peer_level ) {\n\t\t\tthis.level( '0_0', next )\n\t\t}\n\t\t\n\t\t/** Access level for peer. Use empty string for current peer. **/\n\t\tlevel( peer: $mol_int62_string | '', next?: $hyoo_crowd_peer_level ) {\n\t\t\t\n\t\t\tif( next ) this.join()\n\t\t\telse this.pub.promote()\n\t\t\t\n\t\t\tif( !peer ) peer = this.peer_id()\n\t\t\t\n\t\t\tconst level_id = `${ this.id() }!${ peer }` as const\n\t\t\t\n\t\t\tconst prev = this._unit_all.get( level_id )?.level()\n\t\t\t\t?? this._unit_all.get( `${ this.id() }!0_0` )?.level()\n\t\t\t\t?? ( this.id() === peer ? $hyoo_crowd_peer_level.law : $hyoo_crowd_peer_level.get )\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( next <= prev ) return prev\n\t\t\tif( !this.allowed_law() ) return prev\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( peer )\n\t\t\tconst auth = this.peer_id()\n\t\t\t\n\t\t\tconst level_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth,\n\t\t\t\tthis.id(), peer,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, next,\n\t\t\t\tnull,\n\t\t\t\t\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( level_id, level_unit )\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tgrabbed() {\n\t\t\tif( this.id() === this.peer_id() ) return true\n\t\t\tthis.pub.promote()\n\t\t\treturn this._unit_all.size > 0\n\t\t}\n\t\t\n\t\t/** All peers who have special rights to write o land. */\n\t\tpeers() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst lords = [] as $mol_int62_string[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tswitch( unit.kind() ) {\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.data: continue\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.join: continue\n\t\t\t\t\tdefault: lords.push( unit.self )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn lords as Readonly< typeof lords >\n\t\t}\n\t\t\n\t\t/** All peers who joined to land except king. */\n\t\tresidents() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst lords = [] as $mol_int62_string[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tif( unit.data === null ) continue\n\t\t\t\tif( unit.kind() !== $hyoo_crowd_unit_kind.join ) continue\n\t\t\t\t\n\t\t\t\tlords.push( unit.self )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn lords as Readonly< typeof lords >\n\t\t}\n\t\t\n\t\t/** All peers who have alive data inside land. */\n\t\tauthors() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst authors = new Set<$mol_int62_string>()\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\tif( unit.kind() !== $hyoo_crowd_unit_kind.data ) continue\n\t\t\t\tif( unit.data === null ) continue\n\t\t\t\tauthors.add( unit.auth )\n\t\t\t}\n\t\t\t\n\t\t\treturn authors\n\t\t}\n\t\t\n\t\tsteal_rights( donor: $hyoo_crowd_land ) {\n\t\t\tif( !this.allowed_law() ) return\n\t\t\tfor( const peer of donor.peers() ) {\n\t\t\t\tthis.level( peer, donor.level( peer ) )\n\t\t\t}\n\t\t}\n\t\t\n\t\tfirst_stamp() {\n\t\t\tthis.pub.promote()\n\t\t\tconst grab_unit = this._unit_all.get( `${ this.id() }!${ this.id() }` )\n\t\t\treturn ( grab_unit && $hyoo_crowd_time_stamp( grab_unit.time ) ) ?? null\n\t\t}\n\t\t\n\t\tlast_stamp() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this.clock_data.last_stamp()\n\t\t}\n\t\t\n\t\tselection( peer: $mol_int62_string ) {\n\t\t\treturn this.world()!.land_sync( peer ).chief.sub( '$hyoo_crowd_land..selection', $hyoo_crowd_reg )\n\t\t}\n\t\t\n\t\t/** Places data to tree. */\n\t\tput(\n\t\t\thead: $mol_int62_string,\n\t\t\tself: $mol_int62_string,\n\t\t\tprev: $mol_int62_string,\n\t\t\tdata: unknown,\n\t\t) {\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst old_id = `${ head }!${ self }` as const\n\t\t\tlet unit_old = this._unit_all.get( old_id )\n\t\t\tlet unit_prev = prev !== '0_0'\n\t\t\t\t? this._unit_all.get( `${ head }!${ prev }` )!\n\t\t\t\t: null\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( head )\n\t\t\tif( unit_old ) unit_list.splice( unit_list.indexOf( unit_old ), 1 )\n\t\t\t\n\t\t\tconst seat = unit_prev ? unit_list.indexOf( unit_prev ) + 1 : 0\n\t\t\tconst next = unit_list[ seat ]?.self ?? '0_0'\n\t\t\t\n\t\t\tconst auth = this.peer_id()\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.data ].tick( auth )\n\t\t\t\n\t\t\tconst unit_new = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth,\n\t\t\t\thead, self,\n\t\t\t\tnext, prev,\n\t\t\t\ttime, data,\n\t\t\t\tnull,\n\t\t\t\t\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( old_id, unit_new )\n\t\t\t\n\t\t\tunit_list.splice( seat, 0, unit_new )\n\t\t\t// unit_list.dirty = true\n\t\t\tthis._unit_alives.set( head, undefined )\n\t\t\t\n\t\t\t// this.apply([ unit_new ])\n\t\t\t\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn unit_new\n\t\t}\n\t\t\n\t\t/** Marks unit as deleted and wipes its data. */\n\t\twipe( unit: $hyoo_crowd_unit ) {\n\t\t\t\n\t\t\tif( unit.data === null ) return unit\n\t\t\t\n\t\t\t// for( const kid of this.unit_list( unit.self ) ) {\n\t\t\t// \tthis.wipe( kid )\n\t\t\t// }\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( unit.head )\n\t\t\tconst seat = unit_list.indexOf( unit )\n\t\t\t\n\t\t\tconst prev = seat > 0 ? unit_list[ seat - 1 ].self : seat < 0 ? unit.prev : '0_0'\n\t\t\t\n\t\t\treturn this.put(\n\t\t\t\tunit.head,\n\t\t\t\tunit.self,\n\t\t\t\tprev,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves Unit after another Prev inside some Head. */\n\t\tmove(\n\t\t\tunit: $hyoo_crowd_unit,\n\t\t\thead: $mol_int62_string,\n\t\t\tprev: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( unit.head )\n\t\t\t\n\t\t\tconst seat = unit_list.indexOf( unit )\n\t\t\tconst next = unit_list[ seat + 1 ]\n\t\t\t\n\t\t\tthis.wipe( unit )\n\t\t\t\n\t\t\tif( next ) this.put(\n\t\t\t\tnext.head,\n\t\t\t\tnext.self,\n\t\t\t\tunit_list[ unit_list.indexOf( next ) - 2 ]?.self ?? '0_0',\n\t\t\t\tnext.data,\n\t\t\t)\n\t\t\t\n\t\t\tthis.put(\n\t\t\t\thead,\n\t\t\t\tunit.self,\n\t\t\t\tprev,\n\t\t\t\tunit.data\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves Unit at given Seat inside given Head. */\n\t\tinsert(\n\t\t\tunit: $hyoo_crowd_unit,\n\t\t\thead: $mol_int62_string,\n\t\t\tseat: number,\n\t\t) {\n\t\t\tconst list = this.unit_list( head )\n\t\t\tconst prev = seat ? list[ seat - 1 ].self : '0_0'\n\t\t\treturn this.move( unit, head, prev )\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}\n\t\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\t\n\t/** Registry of nodes as domain entities. */\n\texport class $hyoo_crowd_fund< Node extends typeof $hyoo_crowd_node > extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\tpublic world: $hyoo_crowd_world,\n\t\t\tpublic Node: Node,\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tItem( id: $mol_int62_string | `${$mol_int62_string}!${$mol_int62_string}` ): InstanceType {\n\t\t\tconst [ land, head ] = id.split( '!' ) as [ $mol_int62_string, $mol_int62_string | undefined ]\n\t\t\tif( !head ) return this.Item( `${land}!0_0` )\n\t\t\treturn this.world.land_sync( land ).node( head, this.Node )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tmake(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\tconst land = $mol_wire_sync( this.world ).grab( law, mod, add )\n\t\t\treturn this.Item( land.id() )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** @deprecated */\n\texport let $mol_dict_key = $mol_key\n\n\t/**\n\t * Dictionary with extended keys support\n\t */\n\texport class $mol_dict< Key , Value > extends Map< Key , Value > {\n\n\t\tget( key : Key ) {\n\t\t\treturn super.get( $mol_key( key ) as any )\n\t\t}\n\n\t\thas( key : Key ) {\n\t\t\treturn super.has( $mol_key( key ) as any )\n\t\t}\n\n\t\tset( key : Key , value : Value ) {\n\t\t\treturn super.set( $mol_key( key ) as any , value )\n\t\t}\n\n\t\tdelete( key : Key ) {\n\t\t\treturn super.delete( $mol_key( key ) as any )\n\t\t}\n\n\t\tforEach( back : ( value : Value , key : Key , dict : Map< Key , Value > ) => void , context? : any ) {\n\t\t\treturn super.forEach( ( val , key , dict )=> {\n\t\t\t\tif( typeof key === 'string' ) key = JSON.parse( key )\n\t\t\t\treturn back.call( this , val , key , dict )\n\t\t\t} , context )\n\t\t}\n\n\t\tkeys() {\n\t\t\tconst iterator = super.keys()\n\t\t\t\n\t\t\treturn {\n\t\t\t\t[Symbol.iterator]() {\n\t\t\t\t\treturn this\n\t\t\t\t},\n\t\t\t\tnext() {\n\t\t\t\t\t\n\t\t\t\t\tconst iteration = iterator.next()\n\t\t\t\t\tif( iteration.done ) return iteration\n\t\t\t\t\t\n\t\t\t\t\titeration.value = JSON.parse( iteration.value as any as string )\n\t\t\t\t\treturn iteration\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tconst iterator = super.entries()\n\t\t\t\n\t\t\treturn {\n\t\t\t\t[Symbol.iterator]() {\n\t\t\t\t\treturn this\n\t\t\t\t},\n\t\t\t\tnext() {\n\t\t\t\t\t\n\t\t\t\t\tconst iteration = iterator.next()\n\t\t\t\t\tif( iteration.done ) return iteration\n\t\t\t\t\t\n\t\t\t\t\titeration.value = [ JSON.parse( iteration.value[0] as any as string ), iteration.value[1] ]\n\t\t\t\t\t// iteration.value[0] = JSON.parse( iteration.value[0] as any as string )\n\t\t\t\t\treturn iteration\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\treturn this.entries()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport class $hyoo_crowd_world extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\treadonly peer?: $hyoo_crowd_peer\n\t\t) {\n\t\t\tsuper()\n\t\t\tif( peer ) this._knights.set( peer.id , peer )\n\t\t}\n\t\t\n\t\treadonly lands_pub = new $mol_wire_pub\n\t\t\n\t\t_lands = new Map<\n\t\t\t$mol_int62_string,\n\t\t\t$hyoo_crowd_land\n\t\t>()\n\t\t\n\t\tget lands() {\n\t\t\tthis.lands_pub.promote()\n\t\t\treturn this._lands\n\t\t}\n\t\t\n\t\tland_init( id: $hyoo_crowd_land ) { }\n\t\t\n\t\tland(\n\t\t\tid: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst exists = this._lands.get( id )\n\t\t\tif( exists ) return exists\n\t\t\t\n\t\t\tconst land = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( id ),\n\t\t\t\tworld: $mol_const( this ),\n\t\t\t})\n\t\t\t\n\t\t\tthis._lands.set( id, land )\n\t\t\tthis.lands_pub.emit()\n\t\t\t\n\t\t\treturn land\n\t\t}\n\t\t\n\t\tland_sync(\n\t\t\tid: $mol_int62_string,\n\t\t) {\n\t\t\tconst land = this.land( id )\n\t\t\tthis.land_init( land )\n\t\t\treturn land\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tFund< Item extends typeof $hyoo_crowd_node >( Item: Item ) {\n\t\t\treturn new $hyoo_crowd_fund( this, Item )\n\t\t}\n\t\t\n\t\thome() {\n\t\t\treturn this.land_sync( this.peer!.id )\n\t\t}\n\t\t\n\t\t_knights = new $mol_dict<\n\t\t\t$mol_int62_string,\n\t\t\t$hyoo_crowd_peer\n\t\t>()\n\t\t\n\t\t_signs = new WeakMap< $hyoo_crowd_unit, Uint8Array >()\n\t\t\n\t\tasync grab(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\t\n\t\t\t// if( !law.length && !mod.length && !add.length ) $mol_fail( new Error( 'Grabbing dead land' ) )\n\t\t\t\n\t\t\tconst knight = await $hyoo_crowd_peer.generate()\n\t\t\tthis._knights.set( knight.id, knight )\n\t\t\t\n\t\t\tconst land_inner = this.land( knight.id )\n\t\t\tconst land_outer = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( knight.id ),\n\t\t\t\tpeer: $mol_const( knight ),\n\t\t\t})\n\t\t\t\n\t\t\tland_outer.join()\n\t\t\tfor( const peer of law ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.law )\n\t\t\tfor( const peer of mod ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.mod )\n\t\t\tfor( const peer of add ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.add )\n\t\t\t\n\t\t\tland_inner.apply( land_outer.delta() )\n\t\t\t\n\t\t\treturn land_inner\n\t\t}\n\t\t\n\t\tsign_units( units: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\treturn Promise.all( units.map( async( unit )=> {\n\t\t\t\t\n\t\t\t\tif( unit.bin ) return unit\n\t\t\t\tconst bin = $hyoo_crowd_unit_bin.from_unit( unit )\n\t\t\t\t\n\t\t\t\tlet sign = this._signs.get( unit )\n\t\t\t\tif( !sign ) {\n\t\t\t\t\tconst knight = this._knights.get( unit.auth )!\n\t\t\t\t\tsign = new Uint8Array( await knight.key_private.sign( bin.sens() ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbin.sign( sign )\n\t\t\t\tunit.bin = bin\n\t\t\t\tthis._signs.set( unit, sign )\n\t\t\t\t\n\t\t\t\treturn unit\n\t\t\t\t\n\t\t\t} ) )\n\t\t\t\n\t\t}\n\t\t\n\t\tdelta_land(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\treturn this.sign_units( land.delta( clocks ) )\n\t\t}\n\t\t\n\t\tasync delta_batch(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\t\n\t\t\tconst units = await this.delta_land( land, clocks )\n\t\t\t\n\t\t\tlet size = 0\n\t\t\tconst bins = [] as $hyoo_crowd_unit_bin[]\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tconst bin = unit.bin!\n\t\t\t\tbins.push( bin )\n\t\t\t\tsize += bin.byteLength\n\t\t\t}\n\t\t\t\n\t\t\tconst batch = new Uint8Array( size )\n\t\t\t\t\n\t\t\tlet offset = 0\n\t\t\tfor( const bin of bins ) {\n\t\t\t\tbatch.set( new Uint8Array( bin.buffer, bin.byteOffset, bin.byteLength ), offset )\n\t\t\t\toffset += bin.byteLength\n\t\t\t}\n\t\t\t\n\t\t\treturn batch\n\t\t}\n\t\t\t\t\n\t\tasync *delta( clocks = new Map< $mol_int62_string, readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ] >() ) {\n\t\t\tfor( const land of this.lands.values() ) {\n\t\t\t\tconst batch = await this.delta_batch( land, clocks.get( land.id() ) )\n\t\t\t\tif( batch.length ) yield batch\n\t\t\t}\n\t\t}\n\t\t\n\t\tasync merge( donor: $hyoo_crowd_world ) {\n\t\t\tfor await( const batch of donor.delta() ) await this.apply( batch )\n\t\t}\n\t\t\n\t\tasync apply(\n\t\t\tdelta: Uint8Array,\n\t\t) {\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crowd_unit[]\n\t\t\t\n\t\t\tlet bin_offset = 0\n\t\t\twhile( bin_offset < delta.byteLength ) {\n\t\t\t\t\n\t\t\t\tconst buf = new Int16Array( delta.buffer, delta.byteOffset + bin_offset )\n\t\t\t\tconst bin = $hyoo_crowd_unit_bin.from_buffer( buf )\n\t\t\t\t\n\t\t\t\tunits.push( bin.unit() )\n\t\t\t\tbin_offset += bin.size()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst land = this.land( units[0].land )\n\t\t\tconst report = await this.audit_delta( land, units )\n\t\t\tland.apply( report.allow )\n\t\t\t\n\t\t\treturn report\n\t\t}\n\t\t\n\t\tasync audit_delta(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tdelta: $hyoo_crowd_unit[],\n\t\t) {\n\t\t\t\n\t\t\tconst all = new Map<\n\t\t\t\t$hyoo_crowd_unit_id,\n\t\t\t\t$hyoo_crowd_unit\n\t\t\t>()\n\t\t\t\n\t\t\tconst desync = 60 * 60 * 10 // 1 hour\n\t\t\tconst deadline = land.clock_data.now() + desync\n\t\t\t\n\t\t\tconst get_unit = ( id: $hyoo_crowd_unit_id )=> {\n\t\t\t\treturn all.get( id ) ?? land._unit_all.get( id )\n\t\t\t}\n\t\t\t\n\t\t\tconst get_level = ( head: $mol_int62_string, self: $mol_int62_string )=> {\n\t\t\t\treturn get_unit( `${ head }!${ self }` )?.level()\n\t\t\t\t\t?? get_unit( `${ head }!0_0` )?.level()\n\t\t\t\t\t?? $hyoo_crowd_peer_level.get\n\t\t\t}\n\t\t\t\n\t\t\tconst check_unit = async( unit: $hyoo_crowd_unit )=> {\n\t\t\t\n\t\t\t\tconst bin = unit.bin!\n\t\t\t\t\t\n\t\t\t\tif( unit.time > deadline ) return 'Far future'\n\t\t\t\t\n\t\t\t\tconst auth_unit = get_unit( `${ unit.auth }!${ unit.auth }` )\n\t\t\t\tconst kind = unit.kind()\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.grab:\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.join: {\n\t\t\t\t\t\n\t\t\t\t\t\tconst key_str = auth_unit?.data ?? unit.data\n\t\t\t\t\t\tif( typeof key_str !== 'string' ) return 'No join key'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst self = $mol_int62_hash_string( key_str )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( unit.self !== self ) return 'Alien join key'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst key = await $mol_crypto_auditor_public.from( key_str )\n\t\t\t\t\t\tconst sign = bin.sign()\n\t\t\t\t\t\tconst valid = await key.verify( bin.sens(), sign )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !valid ) return 'Wrong join sign'\n\t\t\t\t\t\t\n\t\t\t\t\t\tall.set( `${ unit.head }!${ unit.auth }`, unit )\n\t\t\t\t\t\tthis._signs.set( unit, sign )\n\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.give: {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst lord_level = get_level( land.id(), unit.auth )\n\t\t\t\t\t\tif( lord_level < $hyoo_crowd_peer_level.law ) return `Level too low`\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst peer_level = get_level( land.id(), unit.self )\n\t\t\t\t\t\tif( peer_level > unit.level() ) return `Cancel unsupported`\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.data: {\n\t\t\t\t\t\n\t\t\t\t\t\tconst level = get_level( land.id(), unit.auth )\n\t\t\t\t\t\tif( level >= $hyoo_crowd_peer_level.mod ) break\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( level === $hyoo_crowd_peer_level.add ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst exists = get_unit( `${ unit.head }!${ unit.self }` )\n\t\t\t\t\t\t\tif( !exists ) break\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( exists.auth === unit.auth ) break\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\treturn `Level too low`\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\tconst key_str = auth_unit?.data\n\t\t\t\tif( typeof key_str !== 'string' ) return 'No auth key'\n\t\t\t\t\n\t\t\t\tconst key = await $mol_crypto_auditor_public.from( key_str )\n\t\t\t\tconst sign = bin.sign()\n\t\t\t\tconst valid = await key.verify( bin.sens(), sign )\n\t\t\t\t\n\t\t\t\tif( !valid ) return 'Wrong auth sign'\n\t\t\t\t\n\t\t\t\tall.set( `${ unit.head }!${ unit.self }`, unit )\n\t\t\t\tthis._signs.set( unit, sign )\n\t\t\t\t\n\t\t\t\treturn ''\n\t\t\t}\n\t\t\t\n\t\t\tconst allow = [] as $hyoo_crowd_unit[]\n\t\t\tconst forbid = new Map< $hyoo_crowd_unit, string >()\n\t\t\t\n\t\t\tconst proceed_unit = async( unit: $hyoo_crowd_unit )=> {\n\t\t\t\t\n\t\t\t\tconst error = await check_unit( unit )\n\t\t\t\t\t\n\t\t\t\tif( error ) forbid.set( unit, error )\n\t\t\t\telse allow.push( unit )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst tasks = [] as Promise[]\n\t\t\tfor( const unit of delta ) {\n\t\t\t\t\n\t\t\t\tconst task = proceed_unit( unit )\n\t\t\t\ttasks.push( task )\n\t\t\t\t\n\t\t\t\tif( unit.group() === $hyoo_crowd_unit_group.auth ) await task\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait Promise.all( tasks )\n\t\t\t\n\t\t\treturn { allow, forbid }\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise< Result >( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $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\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 ]: index extends number\n\t\t\t? ReturnType< Tasks[ index ] >\n\t\t\t: 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\texport let $hyoo_sync_masters = [\n\t\t`sync.hyoo.ru`,\n\t\t`crowd.up.railway.app`,\n\t\t`crowd2.up.railway.app`,\n\t]\n}\n","namespace $ {\n\texport class $hyoo_sync_yard< Line > extends $mol_object2 {\n\t\t\n\t\tdb_unit_persisted = new WeakSet< $hyoo_crowd_unit >()\n\t\t\n\t\tlog_pack( data: any ) {\n\t\t\treturn data\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpeer( next?: string ) {\n\t\t\treturn $mol_wire_sync( $hyoo_sync_peer )( this + '.peer()', next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tworld() {\n\t\t\t$mol_wire_solid()\n\t\t\tconst world = new this.$.$hyoo_crowd_world( this.peer() )\n\t\t\tworld.land_init = land => this.land_init( land )\n\t\t\treturn world\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tland_init( land: $hyoo_crowd_land ) {\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.land_sync( land )\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\tif( !land.grabbed() ) this.$.$mol_wait_timeout( 10_000 )\n\t\t}\n\t\t\n\t\tland( id: $mol_int62_string ) {\n\t\t\treturn this.world().land_sync( id )\n\t\t}\n\t\t\n\t\tland_grab(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\treturn $mol_wire_sync( this.world() ).grab( law, mod, add )\n\t\t}\n\t\t\n\t\thome() {\n\t\t\treturn this.land( this.peer().id )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tland_search( query: string ) {\n\t\t\t\n\t\t\tconst stat = new Map< $mol_int62_string, number >()\n\t\t\t\n\t\t\tfor( const prefix of query.match( /\\p{Letter}{2,}/gu ) ?? [] ) {\n\t\t\t\t\n\t\t\t\tconst caps = prefix.slice( 0, 1 ).toUpperCase() + prefix.slice( 1 )\n\t\t\t\tconst prefs = new Set< string >([\n\t\t\t\t\tcaps, ' ' + caps,\n\t\t\t\t\tprefix, ' ' + prefix,\n\t\t\t\t])\n\t\t\t\t\n\t\t\t\tconst lands = new Set< $mol_int62_string >()\n\t\t\t\t\n\t\t\t\tconst founds = $mol_wire_race(\n\t\t\t\t\t... [ ... prefs ].map(\n\t\t\t\t\t\tpref => ()=> $mol_wire_sync( this as $hyoo_sync_yard< Line > ).db_land_search( pref )\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tfor( const found of founds ) {\n\t\t\t\t\tfor( const land of [ ... found ].reverse() ) lands.add( land )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\tstat.set( land, ( stat.get( land ) ?? 0 ) + 1 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\treturn [ ... stat ].sort( ( left, right )=> right[1] - left[1] ).map( pair => pair[0] )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\t\n\t\t\tthis.server()\n\t\t\t\n\t\t\tfor( const land of this.world().lands.values() ) {\n\t\t\t\tthis.db_land_sync( land )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_race(\n\t\t\t\t... this.slaves().map( line =>\n\t\t\t\t\t()=> this.line_sync( line )\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst master = this.master()\n\t\t\t\tif( master ) $mol_wire_race(\n\t\t\t\t\t... [ ... this.world().lands.values() ].map( land =>\n\t\t\t\t\t\t()=> this.line_land_sync({ line: master, land })\n\t\t\t\t\t)\n\t\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\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tland_sync( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.db_land_sync( land )\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\ttry {\n\t\t\t\tconst master = this.master()\n\t\t\t\tif( master ) this.line_land_sync({ line: master, land })\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\ttry {\n\t\t\t\t$mol_wire_race(\n\t\t\t\t\t... this.slaves()\n\t\t\t\t\t\t.filter( line => this.line_lands( line ).includes( land ) )\n\t\t\t\t\t\t.map( line => ()=> this.line_land_sync({ line, land }) )\n\t\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\n\t\t@ $mol_mem_key\n\t\tdb_land_clocks(\n\t\t\tland: $mol_int62_string,\n\t\t\tnext?: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ],\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tdb_land_sync( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\tland.clocks\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crowd_unit[]\n\t\t\tfor( const unit of land._unit_all.values() ) {\n\t\t\t\tif( this.db_unit_persisted.has( unit ) ) continue\n\t\t\t\tunits.push( unit )\n\t\t\t}\n\t\t\tif( !units.length ) return\n\t\t\t\n\t\t\t$mol_wire_sync( this.world() ).sign_units( units )\n\t\t\t$mol_wire_sync( this ).db_land_save( land, units )\n\t\t\t\n\t\t\tfor( const unit of units ) this.db_unit_persisted.add( unit )\n\t\t\t\n\t\t\t// this.$.$mol_log3_rise({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Base Save',\n\t\t\t// \tunits: this.log_pack( units ),\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tdb_land_init( land: $hyoo_crowd_land ) {\n\n\t\t\ttry {\n\t\t\t\tvar units = $mol_wire_sync< $hyoo_sync_yard< Line > >( this ).db_land_load( land )\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif(!( error instanceof Error )) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tland: land.id(),\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tunits = []\n\t\t\t}\n\t\t\t\n\t\t\tfor( const unit of units ) this.db_unit_persisted.add( unit )\n\t\t\t\n\t\t\tunits.sort( $hyoo_crowd_unit_compare )\n\t\t\tland.apply( units )\n\t\t\t\n\t\t\t// this.$.$mol_log3_rise({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Base Load',\n\t\t\t// \tunits: this.log_pack( units ),\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\tasync db_land_load( land: $hyoo_crowd_land ) {\n\t\t\treturn [] as $hyoo_crowd_unit[]\n\t\t}\n\t\tasync db_land_search( from: string | number, to = from ) {\n\t\t\treturn new Set< $mol_int62_string >()\n\t\t}\n\t\tasync db_land_save( land: $hyoo_crowd_land, units: readonly $hyoo_crowd_unit[] ) { }\n\t\t\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\tmaster_list() {\n\t\t\treturn this.$.$hyoo_sync_masters\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_link() {\n\t\t\tconst scheme = this.$.$mol_dom_context.document.location.protocol.replace( /^http/ , 'ws' )\n\t\t\tconst host = this.master_list()[ this.master_cursor() ]\n\t\t\treturn `${scheme}//${host}`\n\t\t}\n\t\t\n\t\tmaster() {\n\t\t\treturn null as Line | null as any\n\t\t}\n\t\n\t\tserver() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t\n\t\t@ $mol_mem\n\t\tslaves( next = [] as readonly Line[] ) {\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tline_lands( line: Line, next = [] as $hyoo_crowd_land[] ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_land_clocks(\n\t\t\t{ line, land }: {\n\t\t\t\tline: Line,\n\t\t\t\tland: $hyoo_crowd_land,\n\t\t\t},\n\t\t\tnext?: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ]\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\t\n\t\t\t// try{\n\t\t\t// \tthis.master()\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_sync( line: Line ) {\n\t\t\t\n\t\t\t$mol_wire_race(\n\t\t\t\t... this.line_lands( line ).map( land =>\n\t\t\t\t\t()=> this.line_land_sync({ line, land })\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\tline_land_sync( { line, land }: {\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t} ) {\n\t\t\t\n\t\t\tthis.line_land_init({ line, land })\n\t\t\t\n\t\t\tlet clocks = this.line_land_clocks({ line, land })\n\t\t\tif( !clocks ) return\n\t\t\t\n\t\t\tconst units = land.delta( clocks )\n\t\t\tif( !units.length ) return\n\t\t\t\n\t\t\tthis.line_send_units( line, units )\n\t\t\t\n\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tland: land.id(),\n\t\t\t\tmessage: 'Sync Sent',\n\t\t\t\tline: $mol_key( line ),\n\t\t\t\tunits: this.log_pack( units ),\n\t\t\t})\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tclocks[ unit.group() ].see_peer( unit.auth, unit.time )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tline_land_init( { line, land }: {\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t} ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\t// const lands = this.line_land_clocks({ line, land })\n\t\t\t// if( lands ) return\n\t\t\t\n\t\t\tthis.line_send_clocks( line, land )\n\t\t\t\n\t\t\t// this.$.$mol_log3_come({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Sync Open',\n\t\t\t// \tline: $mol_key( line ),\n\t\t\t// \tclocks: land._clocks,\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_land_neck(\n\t\t\t{ line, land }: {\n\t\t\t\tline: Line,\n\t\t\t\tland: $mol_int62_string,\n\t\t\t},\n\t\t\tnext = [] as Promise[],\n\t\t) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tasync line_receive( line: Line, message: Uint8Array ) {\n\t\t\t\n\t\t\tif( !message.byteLength ) return\n\t\t\tconst view = new DataView( message.buffer, message.byteOffset, message.byteLength )\n\t\t\tconst int0 = view.getInt32( 0, true )\n\t\t\tconst int1 = view.getInt32( 4, true )\n\t\t\t\n\t\t\tconst land_id = $mol_int62_to_string({\n\t\t\t\tlo: int0 << 1 >> 1,\n\t\t\t\thi: int1 << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst handle = async( prev?: Promise )=> {\n\t\t\t\t\n\t\t\t\tif( prev ) await prev\n\t\t\t\t\n\t\t\t\tconst world = this.world()\n\t\t\t\tconst land = await $mol_wire_async( world ).land( land_id )\n\t\t\t\t\n\t\t\t\tlet clocks = this.line_land_clocks({ line, land })!\n\t\t\t\tif( !clocks ) this.line_land_clocks(\n\t\t\t\t\t{ line, land },\n\t\t\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ],\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tif( int0 << 1 >> 1 ^ int0 ) {\n\t\t\t\t\t\n\t\t\t\t\tconst bin = new $hyoo_crowd_clock_bin( message.buffer, message.byteOffset, message.byteLength )\n\t\t\t\t\t\n\t\t\t\t\tfor( let group = 0; group < clocks.length; ++group ) {\n\t\t\t\t\t\tclocks[ group ].see_bin( bin, group )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif( bin.count() + land.delta( clocks ).length < land._unit_all.size ) {\n\t\t\t\t\t\tthis.line_land_clocks( { line, land }, clocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst lands = this.line_lands( line )\n\t\t\t\t\tif( lands.includes( land ) ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.$.$mol_log3_warn({\n\t\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\t\tland: land.id(),\n\t\t\t\t\t\t\tmessage: 'Already syncing',\n\t\t\t\t\t\t\thint: 'Bug at $hyoo_sync_yard',\n\t\t\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\t\t\tclocks,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.line_lands( line, [ ... lands, land ] )\n\t\t\t\t\t\t\n\t\t\t\t\t\t// this.$.$mol_log3_done({\n\t\t\t\t\t\t// \tplace: this,\n\t\t\t\t\t\t// \tland: land.id(),\n\t\t\t\t\t\t// \tmessage: 'Sync Pair',\n\t\t\t\t\t\t// \tline: $mol_key( line ),\n\t\t\t\t\t\t// \tclocks,\n\t\t\t\t\t\t// })\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\n\t\t\t\t}\n\t\t\t\n\t\t\t\tconst { allow, forbid } = await world.apply( message )\n\t\t\t\t\n\t\t\t\tfor( const [ { bin, ... unit }, error ] of forbid ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tland: land.id(),\n\t\t\t\t\t\tmessage: error,\n\t\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\t\tunit,\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( !allow.length ) return\n\t\t\t\t\n\t\t\t\tfor( const unit of allow ) {\n\t\t\t\t\tclocks[ unit.group() ].see_peer( unit.auth, unit.time )\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tland: land.id(),\n\t\t\t\t\tmessage: 'Sync Gain',\n\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\tunits: this.log_pack( allow ),\n\t\t\t\t})\n\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.line_land_neck(\n\t\t\t\t{ line, land: land_id },\n\t\t\t\t[\n\t\t\t\t\thandle( this.line_land_neck({ line, land: land_id })[0] )\n\t\t\t\t\t\t.catch( error => {\n\t\t\t\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\t\t\tland: land_id,\n\t\t\t\t\t\t\t\tmessage: String( error?.message ?? error ),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} )\n\t\t\t\t],\n\t\t\t)\n\n\t\t} \n\t\t\n\t\tline_send_clocks(\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t) {}\n\t\t\n\t\tasync line_send_units(\n\t\t\tline: Line,\n\t\t\tunits: readonly $hyoo_crowd_unit[],\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}\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/**\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 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",null,"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",null,"namespace $ {\n\n $mol_dom_context.indexedDB = $node[ 'fake-indexeddb' ].indexedDB\n $mol_dom_context.IDBCursor = $node[ 'fake-indexeddb' ].IDBCursor\n $mol_dom_context.IDBCursorWithValue = $node[ 'fake-indexeddb' ].IDBCursorWithValue\n $mol_dom_context.IDBDatabase = $node[ 'fake-indexeddb' ].IDBDatabase\n $mol_dom_context.IDBFactory = $node[ 'fake-indexeddb' ].IDBFactory\n $mol_dom_context.IDBIndex = $node[ 'fake-indexeddb' ].IDBIndex\n $mol_dom_context.IDBKeyRange = $node[ 'fake-indexeddb' ].IDBKeyRange\n $mol_dom_context.IDBObjectStore = $node[ 'fake-indexeddb' ].IDBObjectStore\n $mol_dom_context.IDBOpenDBRequest = $node[ 'fake-indexeddb' ].IDBOpenDBRequest\n $mol_dom_context.IDBRequest = $node[ 'fake-indexeddb' ].IDBRequest\n $mol_dom_context.IDBTransaction = $node[ 'fake-indexeddb' ].IDBTransaction\n $mol_dom_context.IDBVersionChangeEvent = $node[ 'fake-indexeddb' ].IDBVersionChangeEvent\n\n}\n",null,"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' )\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' )\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 )=> new $mol_db_store( this.native.objectStore( name ) ),\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\t\n\texport class $hyoo_sync_client extends $hyoo_sync_yard< WebSocket | Window > {\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync db() {\n\t\t\t\n\t\t\ttype Scheme = {\n\t\t\t\tUnit: {\n\t\t\t\t\t// land, head, self\n\t\t\t\t\tKey: [ $mol_int62_string, $mol_int62_string, $mol_int62_string ]\n\t\t\t\t\tDoc: $hyoo_crowd_unit\n\t\t\t\t\tIndexes: {\n\t\t\t\t\t\t// land\n\t\t\t\t\t\tLand: [ $mol_int62_string ]\n\t\t\t\t\t\t// data\n\t\t\t\t\t\tData: [ $mol_int62_string ]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst db1 = await this.$.$mol_db< Scheme >( '$hyoo_sync_client_db' )\n\t\t\tawait db1.kill()\n\t\t\t\n\t\t\treturn await this.$.$mol_db< Scheme >( '$hyoo_sync_client_db2',\n\t\t\t\tmig => mig.store_make( 'Unit' ),\n\t\t\t\tmig => mig.stores.Unit.index_make( 'Land', [ 'land' ] ),\n\t\t\t\tmig => mig.stores.Unit.index_make( 'Data', [ 'data' ] ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tasync db_land_load( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\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\t\n\t\t\tconst Unit = db.read( 'Unit' ).Unit\n\t\t\t\n\t\t\tconst recs = await Unit.indexes.Land.select([ land.id() ])\n\t\t\tif( !recs ) return []\n\t\t\t\n\t\t\tconst units = recs.map( rec => new $hyoo_crowd_unit(\n\t\t\t\trec.land, rec.auth,\n\t\t\t\trec.head, rec.self,\n\t\t\t\trec.next, rec.prev,\n\t\t\t\trec.time, rec.data,\n\t\t\t\tnew $hyoo_crowd_unit_bin( rec.bin!.buffer ),\n\t\t\t) )\n\t\t\t\n\t\t\treturn units\n\t\t}\n\t\t\n\t\tasync db_land_search( from: string, to = from + '\\uFFFF' ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn new Set< $mol_int62_string >()\n\t\t\t}\n\t\t\t\n\t\t\tconst Unit = db.read( 'Unit' ).Unit\n\t\t\tconst query = IDBKeyRange.bound( [ from ], [ to ] )\n\t\t\tconst recs = await Unit.indexes.Data.select( query )\n\n\t\t\treturn new Set< $mol_int62_string >( recs.map( rec => rec.land ) )\n\t\t}\n\t\t\n\t\tasync db_land_save( land: $hyoo_crowd_land, units: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\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\t\n\t\t\tconst trans = db.change( 'Unit' )\n\t\t\tconst Unit = trans.stores.Unit\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tUnit.put( unit, [ unit.land, unit.head, unit.self ] )\n\t\t\t}\n\t\t\t\n\t\t\tawait trans.commit()\n\t\t}\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_link()\n\t\t\tconst line = new $mol_dom_context.WebSocket( link, [ '$hyoo_sync_protocol_1' ] )\n\t\t\tline.binaryType = 'arraybuffer'\n\t\t\t\n\t\t\tline.onmessage = async( event )=> {\n\t\t\t\t\n\t\t\t\tif( event.data instanceof ArrayBuffer ) {\n\t\t\t\t\tawait this.line_receive( line, 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({\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\tline.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( line, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\tline.onclose = ()=> {}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tline.close()\n\t\t\t\t}\n\t\t\t} )\n\t\t\t\n\t\t\treturn new Promise< typeof line >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tline.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 to Master',\n\t\t\t\t\t\tline: $mol_key( line ),\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( ()=> line.send( new Uint8Array ), 30000 )\n\t\t\n\t\t\t\t\tdone( line )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tline.onerror = ()=> {\n\t\t\t\t\tline.onclose = event => {\n\t\t\t\t\t\tfail( new Error( `Master is unavailable (${ event.code })` ) )\n\t\t\t\t\t}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tthis.master_cursor( ( this.master_cursor() + 1 ) % this.$.$hyoo_sync_masters.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} ) as any as WebSocket\n\t\t\t\n\t\t}\n\t\t\n\t\t// @ $mol_mem\n\t\t// server() {\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( ( event: MessageEvent<[ string, $mol_int62_string, readonly $hyoo_crowd_unit[] ]> )=> {\n\t\t\t\t\t\n\t\t// \t\t\tif( !event ) return\n\t\t// \t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\t\t\n\t\t// \t\t\tswitch( event.data[0] ) {\n\t\t// \t\t\t\tcase 'hyoo_sync_units': {\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tconst [, land_id, units ] = event.data\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tconst line = event.source! as Window\n\t\t// \t\t\t\t\tconst land = this.land( land_id )\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tland.apply( units )\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tthis.slaves([ ... new Set([ ... this.slaves(), line ]) ])\n\t\t// \t\t\t\t\tthis.line_lands( line, [ ... new Set([ ... this.line_lands( line ), land ]) ] )\n\t\t// \t\t\t\t\tthis.line_land_clocks({ line, land })\n\t\t// \t\t\t\t\tline.postMessage([ 'hyoo_sync_units', land.id(), [] ])\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\t\n\t\t// \t\t} )\n\t\t// \t)\n\t\t// }\n\t\t\n\t\tline_send_clocks(\n\t\t\tline: WebSocket | Window,\n\t\t\tland: $hyoo_crowd_land,\n\t\t) {\n\t\t\t\n\t\t\tif( line instanceof WebSocket ) {\n\t\t\t\tline.send( land.clocks_bin )\n\t\t\t} else {\n\t\t\t\tline.postMessage([ 'hyoo_sync_clocks', land.id(), land._clocks ])\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tasync line_send_units(\n\t\t\tline: WebSocket | Window,\n\t\t\tunits: readonly $hyoo_crowd_unit[],\n\t\t) {\n\t\t\t\n\t\t\tif( line instanceof WebSocket ) {\n\t\t\t\t\n\t\t\t\tawait this.world().sign_units( units )\n\t\t\t\tconst message = new Blob( units.map( unit => unit.bin! ) ) \n\t\t\t\tline.send( message )\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tline.postMessage([ 'hyoo_sync_units', units[0].land, units ])\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\texport class $mol_stack extends $mol_view {\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_paragraph extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_height 24\n\t\t * ```\n\t\t */\n\t\tline_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * letter_width 7\n\t\t * ```\n\t\t */\n\t\tletter_width() {\n\t\t\treturn 7\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width_limit +Infinity\n\t\t * ```\n\t\t */\n\t\twidth_limit() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_width 0\n\t\t * ```\n\t\t */\n\t\trow_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_dimmer extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * haystack \\\n\t\t * ```\n\t\t */\n\t\thaystack() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= parts\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.parts()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Low* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLow(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * High* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHigh(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * parts /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tparts() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * string* \\\n\t\t * ```\n\t\t */\n\t\tstring(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n",null,null,null,null,"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): IterableIterator< 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) }","namespace $ {\n\texport class $mol_text_code_token extends $mol_dimmer {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_code_token_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_code_token_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_code_token_link extends $mol_text_code_token {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\code-link\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"code-link\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri\n\t\t * \ttarget \\_blank\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri(),\n\t\t\t\ttarget: \"_blank\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_text_code_row extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 24\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * numb_showed true\n\t\t * ```\n\t\t */\n\t\tnumb_showed() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * syntax null\n\t\t * ```\n\t\t */\n\t\tsyntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Numb $mol_view sub / <= numb\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNumb() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.numb()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Token* $mol_text_code_token\n\t\t * \ttype <= token_type*\n\t\t * \thaystack <= token_text*\n\t\t * \tneedle <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tToken(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_token()\n\t\t\t\n\t\t\tobj.type = () => this.token_type(id)\n\t\t\tobj.haystack = () => this.token_text(id)\n\t\t\tobj.needle = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Token_link* $mol_text_code_token_link\n\t\t * \thaystack <= token_text*\n\t\t * \tneedle <= highlight\n\t\t * \turi <= token_uri*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tToken_link(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_token_link()\n\t\t\t\n\t\t\tobj.haystack = () => this.token_text(id)\n\t\t\tobj.needle = () => this.highlight()\n\t\t\tobj.uri = () => this.token_uri(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * find_pos* null\n\t\t * ```\n\t\t */\n\t\tfind_pos(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * numb 0\n\t\t * ```\n\t\t */\n\t\tnumb() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_type* \\\n\t\t * ```\n\t\t */\n\t\ttoken_type(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_text* \\\n\t\t * ```\n\t\t */\n\t\ttoken_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_uri* \\\n\t\t * ```\n\t\t */\n\t\ttoken_uri(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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 , [] , 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'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]*\\n)/ ,\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|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_row extends $.$mol_text_code_row {\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_row, {\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\n\t} )\n\t\n}\n","namespace $ {\n\texport class $mol_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only true\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_over 0\n\t\t * ```\n\t\t */\n\t\trender_over() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= rows\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.rows()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Empty $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEmpty() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_before $mol_view style * paddingTop <= gap_before\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_before() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_before()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_after $mol_view style * paddingTop <= gap_after\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_after() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_after()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_window /\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\tview_window() {\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_before 0\n\t\t * ```\n\t\t */\n\t\tgap_before() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_after 0\n\t\t * ```\n\t\t */\n\t\tgap_after() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\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 = (\n\t\t\t\t!/Gecko\\//.test( navigator.userAgent ) // FF doesn't anchow while scroll animates\n\t\t\t\t&& this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' )\n\t\t\t) ?? false\n\t\t)\n\t}\n\n}\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\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\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 = kids[ min ].minimal_height()\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\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top <= limit_top ) && ( bottom2 < limit_bottom ) ) {\n\t\t\t\tmin2 = Math.max( 0, max - 1 )\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 ) && ( top2 >= limit_top ) ) {\n\t\t\t\tmax2 = Math.min( min + 1, kids.length )\n\t\t\t\tbottom2 = top\n\t\t\t}\n\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 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\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 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\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\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\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: .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) }","namespace $ {\n\texport class $mol_speck extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\1em\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"1em\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= value\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.value()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\$mol_theme_accent\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"$mol_theme_accent\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value null\n\t\t * ```\n\t\t */\n\t\tvalue() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\tconst { vary } = $mol_style_func\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = {\n\t\thover: vary( '--mol_layer_hover' ),\n\t\tfocus: vary( '--mol_layer_focus' ),\n\t\tspeck: vary( '--mol_layer_speck' ),\n\t\tfloat: vary( '--mol_layer_float' ),\n\t\tpopup: vary( '--mol_layer_popup' ),\n\t} as const\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 $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> event_activate?event\n\t\t * \tdblclick?event <=> clicks?event\n\t\t * \tkeydown?event <=> event_key_press?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.event_activate(event),\n\t\t\t\tdblclick: (event?: any) => this.clicks(event),\n\t\t\t\tkeydown: (event?: any) => this.event_key_press(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \trole \\button\n\t\t * \ttabindex <= tab_index\n\t\t * \ttitle <= hint_safe\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\trole: \"button\",\n\t\t\t\ttabindex: this.tab_index(),\n\t\t\t\ttitle: this.hint_safe()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Speck $mol_speck value <= error\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSpeck() {\n\t\t\tconst obj = new this.$.$mol_speck()\n\t\t\t\n\t\t\tobj.value = () => this.error()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_activate?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_activate(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key_press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key_press(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tab_index 0\n\t\t * ```\n\t\t */\n\t\ttab_index() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error \\\n\t\t * ```\n\t\t */\n\t\terror() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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\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\tthis.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}\\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) }","namespace $ {\n\texport class $mol_button_typed extends $mol_button {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n}\n\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 {\\n\\tbackground-color: var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $mol_button_minor extends $mol_button_typed {\n\t}\n\t\n}\n\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) }","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","namespace $ {\n\texport class $mol_svg extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name_space \\http://www.w3.org/2000/svg\n\t\t * ```\n\t\t */\n\t\tdom_name_space() {\n\t\t\treturn \"http://www.w3.org/2000/svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_size 16\n\t\t * ```\n\t\t */\n\t\tfont_size() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_family \\\n\t\t * ```\n\t\t */\n\t\tfont_family() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style_size *\n\t\t * ```\n\t\t */\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_svg_root extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tviewBox <= view_box\n\t\t * \tpreserveAspectRatio <= aspect\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tviewBox: this.view_box(),\n\t\t\t\tpreserveAspectRatio: this.aspect()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 100 100\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 100 100\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aspect \\xMidYMid\n\t\t * ```\n\t\t */\n\t\taspect() {\n\t\t\treturn \"xMidYMid\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg_path extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\path\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"path\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \td <= geometry\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\td: this.geometry()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * geometry \\\n\t\t * ```\n\t\t */\n\t\tgeometry() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon extends $mol_svg_root {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Path\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Path()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Path $mol_svg_path geometry <= path\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPath() {\n\t\t\tconst obj = new this.$.$mol_svg_path()\n\t\t\t\n\t\t\tobj.geometry = () => this.path()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_icon_clipboard extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_clipboard_outline extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3M7,7H17V5H19V19H5V5H7V7Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3M7,7H17V5H19V19H5V5H7V7Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_copy extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * blobs /$mol_blob\n\t\t * \t<= text_blob?\n\t\t * \t<= html_blob?\n\t\t * ```\n\t\t */\n\t\tblobs() {\n\t\t\treturn [\n\t\t\t\tthis.text_blob(),\n\t\t\t\tthis.html_blob()\n\t\t\t] as readonly $mol_blob[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * data *\n\t\t * ```\n\t\t */\n\t\tdata() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text <= title\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn this.title()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_blob? $mol_blob /\n\t\t * \t/BlobPart <= text\n\t\t * \t* type \\text/plain\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttext_blob(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\tconst obj = new this.$.$mol_blob(\n\t\t\t\t[\n\t\t\t\t\tthis.text()\n\t\t\t\t] as readonly BlobPart[],\n\t\t\t\t{\n\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t} as Record< string, any >\n\t\t\t)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html \\\n\t\t * ```\n\t\t */\n\t\thtml() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html_blob? $mol_blob /\n\t\t * \t/BlobPart <= html\n\t\t * \t* type \\text/html\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thtml_blob(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\tconst obj = new this.$.$mol_blob(\n\t\t\t\t[\n\t\t\t\t\tthis.html()\n\t\t\t\t] as readonly BlobPart[],\n\t\t\t\t{\n\t\t\t\t\ttype: \"text/html\"\n\t\t\t\t} as Record< string, any >\n\t\t\t)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_clipboard_outline\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_clipboard_outline()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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\tcb.write( this.attachments() )\n\t\t}\n\n\t}\n\t\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_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\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\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\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\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure()\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\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\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $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\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\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\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}\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\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored : /(^\\.|___$)/ ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\t$.$mol_file = $mol_file_node\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\t@ $mol_action\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 native = globalThis.fetch ?? $node['undici'].fetch\n\t\t\t\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = native( 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() )\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}\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\t\n\texport function $mol_huggingface_run(\n\t\tthis: $,\n\t\tspace: string,\n\t\tmethod: string | number,\n\t\t... data: readonly any[]\n\t) {\n\t\twhile( true ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tif( typeof method === 'number' ) {\n\t\t\t\t\treturn $mol_wire_sync( this ).$mol_huggingface_ws( space, method, ... data )\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$mol_huggingface_rest( space, method, ... data )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\tif( error instanceof Error && error.message === `Queue full` ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\t\n\texport function $mol_huggingface_rest(\n\t\tspace: string,\n\t\tmethod: string,\n\t\t... data: readonly any[]\n\t) {\n\t\t\n\t\tconst uri = `https://${space}.hf.space/run/${method}`\n\t\tconst response = $mol_fetch.json( uri, {\n\t\t\tmethod: 'post',\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({ data }),\n\t\t} ) as any\n\t\t\n\t\tif( 'error' in response ) {\n\t\t\t$mol_fail( new Error( response.error ?? 'Unknown API error' ) )\n\t\t}\n\t\t\n\t\treturn response.data as readonly any[]\n\t\t\n\t}\n\t\n\texport function $mol_huggingface_ws(\n\t\tspace: string,\n\t\tfn_index: number,\n\t\t... data: readonly any[]\n\t) {\n\t\t\n\t\tconst session_hash = $mol_guid()\n\t\tconst socket = new WebSocket( `wss://${space}.hf.space/queue/join` )\n\t\t\n\t\tconst promise = new Promise< readonly any[] >( ( done, fail )=> {\n\t\t\t\n\t\t\tsocket.onclose = event => {\n\t\t\t\tif( event.reason ) fail( new Error( event.reason ) )\n\t\t\t}\n\t\t\n\t\t\tsocket.onerror = event => {\n\t\t\t\tfail( new Error( `Socket error` ) )\n\t\t\t}\n\t\t\n\t\t\tsocket.onmessage = event => {\n\t\t\t\t\n\t\t\t\tconst message = JSON.parse( event.data )\n\t\t\t\tswitch( message.msg ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'send_hash':\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn socket.send(\n\t\t\t\t\t\t\tJSON.stringify({ session_hash, fn_index })\n\t\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\t\tcase 'estimation': return\n\t\t\t\t\t\n\t\t\t\t\tcase 'queue_full':\n\t\t\t\t\t\tfail( new Error( `Queue full` ) )\n\t\t\t\t\n\t\t\t\t\tcase 'send_data':\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn socket.send(\n\t\t\t\t\t\t\tJSON.stringify({ session_hash, fn_index, data })\n\t\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\t\tcase 'process_starts': return\n\t\t\t\t\n\t\t\t\t\tcase 'process_completed':\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( message.success ) {\n\t\t\t\t\t\t\treturn done( message.output.data )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn fail(\n\t\t\t\t\t\t\t\tnew Error( message.output.error ?? `Unknown API error` )\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\tdefault:\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn fail(\n\t\t\t\t\t\t\tnew Error( `Unknown message type: ${ message.msg }` )\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}\n\t\t\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> socket.close()\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $hyoo_lingua_translate( this: $, lang: string, text: string ) {\n\t\t\n\t\tif( !text.trim() ) return ''\n\t\t\n\t\tconst cache_key = `$hyoo_lingua_translate(${ JSON.stringify(lang) },${ JSON.stringify(text) })`\n\t\tconst cached = this.$mol_state_local.value( cache_key )\n\t\tif( cached ) return String( cached )\n\t\t\n\t\tconst translated = this.$mol_huggingface_run( 'hyoo-translate', 0, lang, text )[0] as string\n\t\treturn this.$mol_state_local.value( cache_key, translated )!\n\t}\n\t\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\ttry {\n\t\t\t\treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\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\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","namespace $ {\n\texport class $mol_text_code extends $mol_stack {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_code_sidebar_showed <= sidebar_showed\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_code_sidebar_showed: this.sidebar_showed()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_lines /string\n\t\t * ```\n\t\t */\n\t\ttext_lines() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * find_pos* null\n\t\t * ```\n\t\t */\n\t\tfind_pos(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_base \\\n\t\t * ```\n\t\t */\n\t\turi_base() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Rows\n\t\t * \t<= Copy\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\tthis.Copy()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sidebar_showed false\n\t\t * ```\n\t\t */\n\t\tsidebar_showed() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only false\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_numb* 0\n\t\t * ```\n\t\t */\n\t\trow_numb(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_text* \\\n\t\t * ```\n\t\t */\n\t\trow_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * syntax null\n\t\t * ```\n\t\t */\n\t\tsyntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row*0 $mol_text_code_row\n\t\t * \tnumb_showed <= sidebar_showed\n\t\t * \tnumb <= row_numb*\n\t\t * \ttext <= row_text*\n\t\t * \tsyntax <= syntax\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_row()\n\t\t\t\n\t\t\tobj.numb_showed = () => this.sidebar_showed()\n\t\t\tobj.numb = () => this.row_numb(id)\n\t\t\tobj.text = () => this.row_text(id)\n\t\t\tobj.syntax = () => this.syntax()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows / <= Row*0\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Row(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Rows $mol_list\n\t\t * \trender_visible_only <= render_visible_only\n\t\t * \trows <= rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRows() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.render_visible_only = () => this.render_visible_only()\n\t\t\tobj.rows = () => this.rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_export \\\n\t\t * ```\n\t\t */\n\t\ttext_export() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Copy $mol_button_copy\n\t\t * \thint @ \\Copy whole code\n\t\t * \ttext <= text_export\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCopy() {\n\t\t\tconst obj = new this.$.$mol_button_copy()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_text_code_Copy_hint' )\n\t\t\tobj.text = () => this.text_export()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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}\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\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\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_row: {\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","namespace $ {\n\texport class $mol_hotkey extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * key *\n\t\t * ```\n\t\t */\n\t\tkey() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_string extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete false\n\t\t * ```\n\t\t */\n\t\tautocomplete() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto / <= selection_watcher\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.selection_watcher()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \tvalue <= value_changed?\n\t\t * \tplaceholder <= hint_visible\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tautocomplete <= autocomplete_native\n\t\t * \tselectionEnd <= selection_end\n\t\t * \tselectionStart <= selection_start\n\t\t * \tinputMode <= keyboard\n\t\t * \tenterkeyhint <= enter\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\tvalue: this.value_changed(),\n\t\t\t\tplaceholder: this.hint_visible(),\n\t\t\t\tspellcheck: this.spellcheck(),\n\t\t\t\tautocomplete: this.autocomplete_native(),\n\t\t\t\tselectionEnd: this.selection_end(),\n\t\t\t\tselectionStart: this.selection_start(),\n\t\t\t\tinputMode: this.keyboard(),\n\t\t\t\tenterkeyhint: this.enter()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmaxlength <= length_max\n\t\t * \ttype <= type?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmaxlength: this.length_max(),\n\t\t\t\ttype: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tinput?event <=> event_change?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tinput: (event?: any) => this.event_change(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins / <= Submit\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Submit()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_watcher null\n\t\t * ```\n\t\t */\n\t\tselection_watcher() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_changed? <=> value?\n\t\t * ```\n\t\t */\n\t\tvalue_changed(next?: any) {\n\t\t\treturn this.value(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_visible <= hint\n\t\t * ```\n\t\t */\n\t\thint_visible() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete_native \\\n\t\t * ```\n\t\t */\n\t\tautocomplete_native() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_end 0\n\t\t * ```\n\t\t */\n\t\tselection_end() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_start 0\n\t\t * ```\n\t\t */\n\t\tselection_start() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\text\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\go\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"go\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type? \\text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_change?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_change(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit_with_ctrl false\n\t\t * ```\n\t\t */\n\t\tsubmit_with_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Submit $mol_hotkey\n\t\t * \tmod_ctrl <= submit_with_ctrl\n\t\t * \tkey * enter?event <=> submit?event\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSubmit() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.mod_ctrl = () => this.submit_with_ctrl()\n\t\t\tobj.key = () => ({\n\t\t\t\tenter: (event?: any) => this.submit(event)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\tel.value = this.value_changed( el.value )\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\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\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( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\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) }","namespace $ {\n\texport class $mol_textarea extends $mol_stack {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_textarea_clickable <= clickable?\n\t\t * \tmol_textarea_sidebar_showed <= sidebar_showed\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_textarea_clickable: this.clickable(),\n\t\t\t\tmol_textarea_sidebar_showed: this.sidebar_showed()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \tkeydown?event <=> press?event\n\t\t * \tpointermove?event <=> hover?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tkeydown: (event?: any) => this.press(event),\n\t\t\t\tpointermove: (event?: any) => this.hover(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Edit\n\t\t * \t<= View\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Edit(),\n\t\t\t\tthis.View()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * symbols_alt *\n\t\t * \tcomma \\<\n\t\t * \tperiod \\>\n\t\t * \tdash \\−\n\t\t * \tequals \\≈\n\t\t * \tgraveAccent \\́\n\t\t * \tforwardSlash \\÷\n\t\t * \tE \\€\n\t\t * \tX \\×\n\t\t * \tC \\©\n\t\t * \tP \\§\n\t\t * \tH \\₽\n\t\t * \tkey0 \\°\n\t\t * \tkey8 \\•\n\t\t * \tkey2 \\@\n\t\t * \tkey3 \\#\n\t\t * \tkey4 \\$\n\t\t * \tkey6 \\^\n\t\t * \tkey7 \\&\n\t\t * \tbracketOpen \\[\n\t\t * \tbracketClose \\]\n\t\t * \tslashBack \\|\n\t\t * ```\n\t\t */\n\t\tsymbols_alt() {\n\t\t\treturn {\n\t\t\t\tcomma: \"<\",\n\t\t\t\tperiod: \">\",\n\t\t\t\tdash: \"−\",\n\t\t\t\tequals: \"≈\",\n\t\t\t\tgraveAccent: \"́\",\n\t\t\t\tforwardSlash: \"÷\",\n\t\t\t\tE: \"€\",\n\t\t\t\tX: \"×\",\n\t\t\t\tC: \"©\",\n\t\t\t\tP: \"§\",\n\t\t\t\tH: \"₽\",\n\t\t\t\tkey0: \"°\",\n\t\t\t\tkey8: \"•\",\n\t\t\t\tkey2: \"@\",\n\t\t\t\tkey3: \"#\",\n\t\t\t\tkey4: \"$\",\n\t\t\t\tkey6: \"^\",\n\t\t\t\tkey7: \"&\",\n\t\t\t\tbracketOpen: \"[\",\n\t\t\t\tbracketClose: \"]\",\n\t\t\t\tslashBack: \"|\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * symbols_alt_shift *\n\t\t * \tV \\✅\n\t\t * \tX \\❌\n\t\t * \tO \\⭕\n\t\t * \tkey1 \\❗\n\t\t * \tkey4 \\💲\n\t\t * \tkey7 \\❓\n\t\t * \tcomma \\«\n\t\t * \tperiod \\»\n\t\t * \tsemicolon \\“\n\t\t * \tquoteSingle \\”\n\t\t * \tdash \\—\n\t\t * \tequals \\≠\n\t\t * \tgraveAccent \\̱\n\t\t * \tbracketOpen \\{\n\t\t * \tbracketClose \\}\n\t\t * ```\n\t\t */\n\t\tsymbols_alt_shift() {\n\t\t\treturn {\n\t\t\t\tV: \"✅\",\n\t\t\t\tX: \"❌\",\n\t\t\t\tO: \"⭕\",\n\t\t\t\tkey1: \"❗\",\n\t\t\t\tkey4: \"💲\",\n\t\t\t\tkey7: \"❓\",\n\t\t\t\tcomma: \"«\",\n\t\t\t\tperiod: \"»\",\n\t\t\t\tsemicolon: \"“\",\n\t\t\t\tquoteSingle: \"”\",\n\t\t\t\tdash: \"—\",\n\t\t\t\tequals: \"≠\",\n\t\t\t\tgraveAccent: \"̱\",\n\t\t\t\tbracketOpen: \"{\",\n\t\t\t\tbracketClose: \"}\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clickable? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclickable(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sidebar_showed false\n\t\t * ```\n\t\t */\n\t\tsidebar_showed() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpress(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hover?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thover(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \" \"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bring\n\t\t * ```\n\t\t */\n\t\tbring() {\n\t\t\treturn this.Edit().bring()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit $mol_textarea_edit\n\t\t * \tvalue? <=> value?\n\t\t * \thint <= hint\n\t\t * \tenabled <= enabled\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tlength_max <= length_max\n\t\t * \tselection? <=> selection?\n\t\t * \tbring => bring\n\t\t * \tsubmit? <=> submit?\n\t\t * \tsubmit_with_ctrl true\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEdit() {\n\t\t\tconst obj = new this.$.$mol_textarea_edit()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.value(next)\n\t\t\tobj.hint = () => this.hint()\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\tobj.spellcheck = () => this.spellcheck()\n\t\t\tobj.length_max = () => this.length_max()\n\t\t\tobj.selection = (next?: any) => this.selection(next)\n\t\t\tobj.submit = (next?: any) => this.submit(next)\n\t\t\tobj.submit_with_ctrl = () => true\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_numb* 0\n\t\t * ```\n\t\t */\n\t\trow_numb(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * View $mol_text_code\n\t\t * \ttext <= value\n\t\t * \trender_visible_only false\n\t\t * \trow_numb* <= row_numb*\n\t\t * \tsidebar_showed <= sidebar_showed\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tView() {\n\t\t\tconst obj = new this.$.$mol_text_code()\n\t\t\t\n\t\t\tobj.text = () => this.value()\n\t\t\tobj.render_visible_only = () => false\n\t\t\tobj.row_numb = (id: any) => this.row_numb(id)\n\t\t\tobj.sidebar_showed = () => this.sidebar_showed()\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_textarea_edit extends $mol_string {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\textarea\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"textarea\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\enter\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"enter\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tscrollTop 0\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tscrollTop: 0\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * An input field for entering multiline text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport class $mol_textarea extends $.$mol_textarea {\n\n\t\tindent_inc() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tlet end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to ) {\n\t\t\t\t\tif( to === from || start !== to ) {\n\t\t\t\t\t\trows[i] = '\\t' + rows[i]\n\t\t\t\t\t\tto += 1\n\t\t\t\t\t\tend += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from + 1, to ])\n\t\t\t\n\t\t}\n\n\t\tindent_dec() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tconst end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to && rows[i].startsWith( '\\t' ) ) {\n\t\t\t\t\trows[i] = rows[i].slice( 1 )\n\t\t\t\t\tto -= 1\n\t\t\t\t\tif( start < from ) from -= 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from, to ])\n\t\t\t\n\t\t}\n\t\t\n\t\tsymbol_insert( event: KeyboardEvent ) {\n\t\t\t\n\t\t\tconst symbol = event.shiftKey\n\t\t\t\t? this.symbols_alt_shift()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t: this.symbols_alt()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\n\t\t\tif( !symbol ) return\n\t\t\t\n\t\t\tdocument.execCommand( 'insertText', false, symbol )\n\t\t\t\n\t\t}\n\t\t\n\t\thover( event : PointerEvent ) {\n\t\t\tthis.clickable( event.ctrlKey )\n\t\t}\n\t\t\n\t\tpress( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( event.altKey && !event.ctrlKey ) {\n\t\t\t\t\n\t\t\t\tthis.symbol_insert( event )\n\t\t\t\t\n\t\t\t} else {\n\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\t\tcase !event.shiftKey && $mol_keyboard_code.tab : this.indent_inc() ; break\n\t\t\t\t\tcase event.shiftKey && $mol_keyboard_code.tab : this.indent_dec() ; break\n\t\t\t\t\tdefault : return\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\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}\n\n}\n","namespace $ { $mol_style_attach( \"mol/textarea/textarea.view.css\",\n \"[mol_textarea] {\\n\\tflex: 1 0 auto;\\n\\tflex-direction: column;\\n\\tvertical-align: top;\\n\\tmin-height: max-content;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tfont-family: monospace;\\n\\tposition: relative;\\n\\ttab-size: 4;\\n}\\n\\n[mol_textarea_view] {\\n\\tpointer-events: none;\\n\\twhite-space: inherit;\\n\\tfont-family: inherit;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_view_copy] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_view] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_edit] {\\n\\tfont-family: inherit;\\n\\tpadding: var(--mol_gap_text);\\n\\tcolor: transparent !important;\\n\\tcaret-color: var(--mol_theme_text);\\n\\tresize: none;\\n\\ttext-align: inherit;\\n\\twhite-space: inherit;\\n\\tborder-radius: inherit;\\n\\toverflow-anchor: none;\\n\\tposition: absolute;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_sidebar_showed] [mol_textarea_edit] {\\n\\tleft: 1.75rem;\\n\\twidth: calc( 100% - 1.75rem );\\n}\\n\\n[mol_textarea_edit]:hover + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_textarea_edit]:focus + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_float extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\auto\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"auto\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_string_button extends $mol_string {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/string/button/button.view.css\",\n \"[mol_string_button]:not(:placeholder-shown):not(:focus):not(:hover):not(:disabled) {\\n\\tcolor: var(--mol_theme_control);\\n\\tbackground: transparent;\\n\\tbox-shadow: none;\\n}\\n\"\n) }",null,"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\texport class $mol_icon_download extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_download extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * blob null\n\t\t * ```\n\t\t */\n\t\tblob() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\blob.bin\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"blob.bin\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_download\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_download()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","/** @jsx $mol_jsx */\nnamespace $.$$ {\n\n\t/**\n\t * Button download file from uri() or a blob()\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_download extends $.$mol_button_download {\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn URL.createObjectURL( this.blob() )\n\t\t}\n\t\t\n\t\tclick() {\n\t\t\t\n\t\t\tconst a = \n\t\t\t\n\t\t\ta.click()\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_icon_directions extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M14,14.5V12H10V15H8V11C8,10.45 8.45,10 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M14,14.5V12H10V15H8V11C8,10.45 8.45,10 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_directions_fork extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_plus extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_plus_box extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z\"\n\t\t}\n\t}\n\t\n}\n\n",null,"namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\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\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.make_link( next ) )\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\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\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\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 = false //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\texport class $mol_check extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_check_checked <= checked?\n\t\t * \taria-checked <= aria_checked\n\t\t * \trole <= aria_role\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_check_checked: this.checked(),\n\t\t\t\t\"aria-checked\": this.aria_checked(),\n\t\t\t\trole: this.aria_role()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content\n\t\t * \t<= Icon\n\t\t * \t<= label\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.label()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tchecked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_checked \\false\n\t\t * ```\n\t\t */\n\t\taria_checked() {\n\t\t\treturn \"false\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_role \\checkbox\n\t\t * ```\n\t\t */\n\t\taria_role() {\n\t\t\treturn \"checkbox\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon null\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view sub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label / <= Title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.Title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\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 $ { $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\\talign-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","namespace $ {\n\texport class $mol_check_icon extends $mol_check {\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_icon_brightness_6 extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,18V6C15.31,6 18,8.69 18,12C18,15.31 15.31,18 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,18V6C15.31,6 18,8.69 18,12C18,15.31 15.31,18 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_lights_toggle extends $mol_check_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon <= Lights_icon\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn this.Lights_icon()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Toggle lights\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_lights_toggle_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> lights?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.lights(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Lights_icon $mol_icon_brightness_6\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLights_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_brightness_6()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * lights? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlights(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_link extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri_toggle\n\t\t * \ttitle <= hint_safe\n\t\t * \ttarget <= target\n\t\t * \tdownload <= file_name\n\t\t * \tmol_link_current <= current\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri_toggle(),\n\t\t\t\ttitle: this.hint_safe(),\n\t\t\t\ttarget: this.target(),\n\t\t\t\tdownload: this.file_name(),\n\t\t\t\tmol_link_current: this.current()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_toggle \\\n\t\t * ```\n\t\t */\n\t\turi_toggle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * target \\_self\n\t\t * ```\n\t\t */\n\t\ttarget() {\n\t\t\treturn \"_self\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current false\n\t\t * ```\n\t\t */\n\t\tcurrent() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event <=> event_click?event\n\t\t * ```\n\t\t */\n\t\tclick(event?: any) {\n\t\t\treturn this.event_click(event)\n\t\t}\n\t}\n\t\n}\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\t\n\t\t\toutline: 'none',\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-within': {\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","namespace $ {\n\texport class $mol_icon_github_circle extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,2C6.48,2 2,6.48 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12C22,6.48 17.52,2 12,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,2C6.48,2 2,6.48 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12C22,6.48 17.52,2 12,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_link_source extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Source code\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_link_source_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_github_circle\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_github_circle()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_avatar extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * id \\\n\t\t * ```\n\t\t */\n\t\tid() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\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\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"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\t\t}\n\t}\n\t\n}\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","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) }","namespace $ {\n\texport class $mol_icon_sync extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_sync_off extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $hyoo_sync_online extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * yard $hyoo_sync_yard\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tyard() {\n\t\t\tconst obj = new this.$.$hyoo_sync_yard()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri <= master_link\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn this.master_link()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Well\n\t\t * \t<= Fail\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Well(),\n\t\t\t\tthis.Fail()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \ttitle <= message\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\ttitle: this.message()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * master_link \\\n\t\t * ```\n\t\t */\n\t\tmaster_link() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Well $mol_avatar id <= master_link\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tWell() {\n\t\t\tconst obj = new this.$.$mol_avatar()\n\t\t\t\n\t\t\tobj.id = () => this.master_link()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fail $mol_icon_sync_off\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFail() {\n\t\t\tconst obj = new this.$.$mol_icon_sync_off()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\$hyoo_sync\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"$hyoo_sync\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * message <= hint\n\t\t * ```\n\t\t */\n\t\tmessage() {\n\t\t\treturn this.hint()\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\texport class $hyoo_sync_online extends $.$hyoo_sync_online {\n\t\t\n\t\t@ $mol_mem\n\t\tmessage() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.yard().sync()\n\t\t\t\treturn this.hint()\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn String( error )\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\tsub() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.yard().sync()\n\t\t\t\treturn [ this.Well() ]\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn [ this.Fail() ]\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\thint() {\n\t\t\treturn super.hint() + ' ' + $hyoo_sync_revision\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_link() {\n\t\t\treturn this.yard().master_link().replace( /^ws(s?):/, 'http$1:' )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"hyoo/sync/online/online.view.css\",\n \"[hyoo_sync_online] {\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[hyoo_sync_online_well] {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[hyoo_sync_online_fail] {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n[hyoo_sync_online][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: hyoo_sync_online_wait 1s linear infinite;\\n}\\n\\n@keyframes hyoo_sync_online_wait {\\n\\tfrom {\\n\\t\\topacity: 1;\\n\\t}\\n\\tto {\\n\\t\\topacity: .5;\\n\\t}\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_hint extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_bar extends $mol_view {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/bar/bar.view.css\",\n \"[mol_bar] {\\n\\tdisplay: flex;\\n\\t/* box-shadow: inset 0 0 0 1px var(--mol_theme_line); */\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_chevron extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_check_expand extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_chevron\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_chevron()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level 0\n\t\t * ```\n\t\t */\n\t\tlevel() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tpaddingLeft <= level_style\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tpaddingLeft: this.level_style()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> expanded?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.expanded(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled <= expandable\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn this.expandable()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level_style \\0px\n\t\t * ```\n\t\t */\n\t\tlevel_style() {\n\t\t\treturn \"0px\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * expanded? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\texpanded(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * expandable false\n\t\t * ```\n\t\t */\n\t\texpandable() {\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\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}\\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) }","namespace $ {\n\texport class $mol_grid extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_height 32\n\t\t * ```\n\t\t */\n\t\trow_height() {\n\t\t\treturn 32\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ids /string[]\n\t\t * ```\n\t\t */\n\t\trow_ids() {\n\t\t\treturn [\n\t\t\t] as readonly (string[])[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_id* null\n\t\t * ```\n\t\t */\n\t\trow_id(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ids /\n\t\t * ```\n\t\t */\n\t\tcol_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * records *\n\t\t * ```\n\t\t */\n\t\trecords() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * record* null\n\t\t * ```\n\t\t */\n\t\trecord(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hierarchy null\n\t\t * ```\n\t\t */\n\t\thierarchy() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hierarchy_col \\\n\t\t * ```\n\t\t */\n\t\thierarchy_col() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 0\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Table\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Table()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Head $mol_grid_row cells <= head_cells\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.head_cells()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row* $mol_grid_row\n\t\t * \tminimal_height <= row_height\n\t\t * \tminimal_width <= minimal_width\n\t\t * \tcells <= cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.minimal_height = () => this.row_height()\n\t\t\tobj.minimal_width = () => this.minimal_width()\n\t\t\tobj.cells = () => this.cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell* $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell* null\n\t\t * ```\n\t\t */\n\t\tcell(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_text* $mol_grid_cell sub <= cell_content_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_text(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_cell()\n\t\t\t\n\t\t\tobj.sub = () => this.cell_content_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_number* $mol_grid_number sub <= cell_content_number*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_number(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_number()\n\t\t\t\n\t\t\tobj.sub = () => this.cell_content_number(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= col_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.col_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_branch* $mol_check_expand\n\t\t * \tlevel <= cell_level*\n\t\t * \tlabel <= cell_content*\n\t\t * \texpanded? <=> cell_expanded*?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_branch(id: any) {\n\t\t\tconst obj = new this.$.$mol_check_expand()\n\t\t\t\n\t\t\tobj.level = () => this.cell_level(id)\n\t\t\tobj.label = () => this.cell_content(id)\n\t\t\tobj.expanded = (next?: any) => this.cell_expanded(id, next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_content* / <= Cell_dimmer*\n\t\t * ```\n\t\t */\n\t\tCell_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Cell_dimmer(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table $mol_grid_table sub <= rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTable() {\n\t\t\tconst obj = new this.$.$mol_grid_table()\n\t\t\t\n\t\t\tobj.sub = () => this.rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_cells /$mol_view\n\t\t * ```\n\t\t */\n\t\thead_cells() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells* /$mol_view\n\t\t * ```\n\t\t */\n\t\tcells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content* /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcell_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content_text* <= cell_content*\n\t\t * ```\n\t\t */\n\t\tcell_content_text(id: any) {\n\t\t\treturn this.cell_content(id)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content_number* <= cell_content*\n\t\t * ```\n\t\t */\n\t\tcell_content_number(id: any) {\n\t\t\treturn this.cell_content(id)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_head_content* /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcol_head_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_level* 0\n\t\t * ```\n\t\t */\n\t\tcell_level(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_expanded*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcell_expanded(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_value* \\\n\t\t * ```\n\t\t */\n\t\tcell_value(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_dimmer* $mol_dimmer\n\t\t * \tneedle <= needle\n\t\t * \thaystack <= cell_value*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_dimmer(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.needle = () => this.needle()\n\t\t\tobj.haystack = () => this.cell_value(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_grid_table extends $mol_list {\n\t}\n\t\n\texport class $mol_grid_row extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= cells\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.cells()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells /$mol_view\n\t\t * ```\n\t\t */\n\t\tcells() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t}\n\t\n\texport class $mol_grid_cell extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n\texport class $mol_grid_number extends $mol_grid_cell {\n\t}\n\t\n}\n\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}\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 1px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 1px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -1px 0 0 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) }","namespace $ {\n\texport class $mol_image extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\img\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"img\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tsrc <= uri\n\t\t * \talt <= title\n\t\t * \tloading <= loading\n\t\t * \tdecoding <= decoding\n\t\t * \tcrossOrigin <= cors\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tsrc: this.uri(),\n\t\t\t\talt: this.title(),\n\t\t\t\tloading: this.loading(),\n\t\t\t\tdecoding: this.decoding(),\n\t\t\t\tcrossOrigin: this.cors()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \twidth <= natural_width?\n\t\t * \theight <= natural_height?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\twidth: this.natural_width(),\n\t\t\t\theight: this.natural_height()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * load? <=> load?\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tload: (next?: any) => this.load(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * loading \\eager\n\t\t * ```\n\t\t */\n\t\tloading() {\n\t\t\treturn \"eager\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * decoding \\async\n\t\t * ```\n\t\t */\n\t\tdecoding() {\n\t\t\treturn \"async\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cors null\n\t\t * ```\n\t\t */\n\t\tcors() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * natural_width? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnatural_width(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * natural_height? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnatural_height(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * load? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tload(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_link_iconed extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content / <= title\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * host \\\n\t\t * ```\n\t\t */\n\t\thost() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * icon \\\n\t\t * ```\n\t\t */\n\t\ticon() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_image\n\t\t * \turi <= icon\n\t\t * \ttitle \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.uri = () => this.icon()\n\t\t\tobj.title = () => \"\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title <= uri\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn this.uri()\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_embed_native extends $mol_scroll {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\object\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"object\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * window null\n\t\t * ```\n\t\t */\n\t\twindow() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdata <= uri\n\t\t * \ttype <= mime\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdata: this.uri(),\n\t\t\t\ttype: this.mime()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Fallback\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Fallback()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * message * hashchange? <=> uri_change?\n\t\t * ```\n\t\t */\n\t\tmessage() {\n\t\t\treturn {\n\t\t\t\thashchange: (next?: any) => this.uri_change(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mime \\\n\t\t * ```\n\t\t */\n\t\tmime() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fallback $mol_link\n\t\t * \turi <= uri\n\t\t * \tsub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFallback() {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.uri = () => this.uri()\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_change? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi_change(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\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\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\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}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_youtube extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * 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\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"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\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_frame extends $mol_embed_native {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\iframe\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"iframe\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdata null\n\t\t * \ttype null\n\t\t * \tsrc <= uri?\n\t\t * \tsrcdoc <= html\n\t\t * \tallow <= allow\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdata: null as any,\n\t\t\t\ttype: null as any,\n\t\t\t\tsrc: this.uri(),\n\t\t\t\tsrcdoc: this.html(),\n\t\t\t\tallow: this.allow()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * fullscreen true\n\t\t * ```\n\t\t */\n\t\tfullscreen() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accelerometer true\n\t\t * ```\n\t\t */\n\t\taccelerometer() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autoplay true\n\t\t * ```\n\t\t */\n\t\tautoplay() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * encription true\n\t\t * ```\n\t\t */\n\t\tencription() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gyroscope true\n\t\t * ```\n\t\t */\n\t\tgyroscope() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pip true\n\t\t * ```\n\t\t */\n\t\tpip() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clipboard_read true\n\t\t * ```\n\t\t */\n\t\tclipboard_read() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clipboard_write true\n\t\t * ```\n\t\t */\n\t\tclipboard_write() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri? \\about:config\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"about:config\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html null\n\t\t * ```\n\t\t */\n\t\thtml() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * allow \\\n\t\t * ```\n\t\t */\n\t\tallow() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_embed_youtube extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_preview \\\n\t\t * ```\n\t\t */\n\t\tvideo_preview() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_id \\\n\t\t * ```\n\t\t */\n\t\tvideo_id() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> active?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.active(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Image\n\t\t * \t<= Hint\n\t\t * \t<= Frame\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Image(),\n\t\t\t\tthis.Hint(),\n\t\t\t\tthis.Frame()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * active? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tactive(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Image $mol_image\n\t\t * \ttitle <= title\n\t\t * \turi <= video_preview\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tImage() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.video_preview()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint $mol_icon_youtube\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint() {\n\t\t\tconst obj = new this.$.$mol_icon_youtube()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_embed \\\n\t\t * ```\n\t\t */\n\t\tvideo_embed() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Frame $mol_frame\n\t\t * \ttitle <= title\n\t\t * \turi <= video_embed\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFrame() {\n\t\t\tconst obj = new this.$.$mol_frame()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.video_embed()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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\\/|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\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/youtube/youtube.view.css\",\n \"[mol_embed_youtube] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_youtube_image] {\\n\\tflex: auto 1 1;\\n}\\n\\n[mol_embed_youtube_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_youtube]:hover [mol_embed_youtube_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_embed_any extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Image $mol_image\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tImage() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Object $mol_embed_native\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tObject() {\n\t\t\tconst obj = new this.$.$mol_embed_native()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Youtube $mol_embed_youtube\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tYoutube() {\n\t\t\tconst obj = new this.$.$mol_embed_youtube()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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\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\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_text extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_base \\\n\t\t * ```\n\t\t */\n\t\turi_base() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * param \\\n\t\t * ```\n\t\t */\n\t\tparam() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * flow_tokens /\n\t\t * ```\n\t\t */\n\t\tflow_tokens() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto / <= auto_scroll\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.auto_scroll()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Paragraph* $mol_paragraph sub <= block_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tParagraph(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => this.block_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Quote* $mol_text\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= quote_text*\n\t\t * \thighlight <= highlight\n\t\t * \tauto_scroll null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tQuote(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.quote_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * List* $mol_text_list\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttype <= list_type*\n\t\t * \ttext <= list_text*\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tList(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_list()\n\t\t\t\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.type = () => this.list_type(id)\n\t\t\tobj.text = () => this.list_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * item_index* 0\n\t\t * ```\n\t\t */\n\t\titem_index(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Header* $mol_text_header\n\t\t * \tminimal_height 40\n\t\t * \tlevel <= header_level*\n\t\t * \tcontent <= block_content*\n\t\t * \targ <= header_arg*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeader(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_header()\n\t\t\t\n\t\t\tobj.minimal_height = () => 40\n\t\t\tobj.level = () => this.header_level(id)\n\t\t\tobj.content = () => this.block_content(id)\n\t\t\tobj.arg = () => this.header_arg(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pre* $mol_text_code\n\t\t * \ttext <= pre_text*\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \tsidebar_showed <= pre_sidebar_showed\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPre(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code()\n\t\t\t\n\t\t\tobj.text = () => this.pre_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.sidebar_showed = () => this.pre_sidebar_showed()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cut* $mol_view dom_name \\hr\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCut(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"hr\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table* $mol_grid\n\t\t * \thead_cells <= table_head_cells*\n\t\t * \trows <= table_rows*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.head_cells = () => this.table_head_cells(id)\n\t\t\tobj.rows = () => this.table_rows(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table_row* $mol_grid_row cells <= table_cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.table_cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table_cell* $mol_text\n\t\t * \tauto_scroll null\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= table_cell_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable_cell(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.table_cell_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid* $mol_grid rows <= grid_rows*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.rows = () => this.grid_rows(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid_row* $mol_grid_row cells <= grid_cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.grid_cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid_cell* $mol_text\n\t\t * \tauto_scroll null\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= grid_cell_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid_cell(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.grid_cell_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * String* $mol_dimmer\n\t\t * \tdom_name \\span\n\t\t * \tneedle <= highlight\n\t\t * \thaystack <= line_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tString(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.dom_name = () => \"span\"\n\t\t\tobj.needle = () => this.highlight()\n\t\t\tobj.haystack = () => this.line_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Span* $mol_text_span\n\t\t * \tdom_name \\span\n\t\t * \ttype <= line_type*\n\t\t * \tsub <= line_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSpan(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_span()\n\t\t\t\n\t\t\tobj.dom_name = () => \"span\"\n\t\t\tobj.type = () => this.line_type(id)\n\t\t\tobj.sub = () => this.line_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Code_line* $mol_text_code_row\n\t\t * \tnumb_showed false\n\t\t * \thighlight <= highlight\n\t\t * \ttext <= line_text*\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \tsyntax <= code_syntax\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCode_line(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_row()\n\t\t\t\n\t\t\tobj.numb_showed = () => false\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.text = () => this.line_text(id)\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.syntax = () => this.code_syntax()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Link* $mol_link_iconed\n\t\t * \turi <= link_uri*\n\t\t * \tcontent <= line_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLink(id: any) {\n\t\t\tconst obj = new this.$.$mol_link_iconed()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.content = () => this.line_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Link_http* $mol_link_iconed\n\t\t * \turi <= link_uri*\n\t\t * \tcontent / <= link_host*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLink_http(id: any) {\n\t\t\tconst obj = new this.$.$mol_link_iconed()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.content = () => [\n\t\t\t\tthis.link_host(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Embed* $mol_embed_any\n\t\t * \turi <= link_uri*\n\t\t * \ttitle <= line_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEmbed(id: any) {\n\t\t\tconst obj = new this.$.$mol_embed_any()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.title = () => this.line_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto_scroll null\n\t\t * ```\n\t\t */\n\t\tauto_scroll() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * block_content* /\n\t\t * ```\n\t\t */\n\t\tblock_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * quote_text* \\\n\t\t * ```\n\t\t */\n\t\tquote_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * list_type* \\-\n\t\t * ```\n\t\t */\n\t\tlist_type(id: any) {\n\t\t\treturn \"-\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * list_text* \\\n\t\t * ```\n\t\t */\n\t\tlist_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * header_level* 1\n\t\t * ```\n\t\t */\n\t\theader_level(id: any) {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * header_arg* *\n\t\t * ```\n\t\t */\n\t\theader_arg(id: any) {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pre_text* \\\n\t\t * ```\n\t\t */\n\t\tpre_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * code_sidebar_showed true\n\t\t * ```\n\t\t */\n\t\tcode_sidebar_showed() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pre_sidebar_showed <= code_sidebar_showed\n\t\t * ```\n\t\t */\n\t\tpre_sidebar_showed() {\n\t\t\treturn this.code_sidebar_showed()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_head_cells* /\n\t\t * ```\n\t\t */\n\t\ttable_head_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_rows* /\n\t\t * ```\n\t\t */\n\t\ttable_rows(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_cells* /\n\t\t * ```\n\t\t */\n\t\ttable_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_cell_text* \\\n\t\t * ```\n\t\t */\n\t\ttable_cell_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_rows* /\n\t\t * ```\n\t\t */\n\t\tgrid_rows(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_cells* /\n\t\t * ```\n\t\t */\n\t\tgrid_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_cell_text* \\\n\t\t * ```\n\t\t */\n\t\tgrid_cell_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_text* \\\n\t\t * ```\n\t\t */\n\t\tline_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_type* \\\n\t\t * ```\n\t\t */\n\t\tline_type(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_content* /\n\t\t * ```\n\t\t */\n\t\tline_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * code_syntax null\n\t\t * ```\n\t\t */\n\t\tcode_syntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * link_uri* \\\n\t\t * ```\n\t\t */\n\t\tlink_uri(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * link_host* \\\n\t\t * ```\n\t\t */\n\t\tlink_host(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level 1\n\t\t * ```\n\t\t */\n\t\tlevel() {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Link\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Link()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\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\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLink() {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => this.arg()\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_text_header_Link_hint' )\n\t\t\tobj.sub = () => this.content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_text_span extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\span\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"span\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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 '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\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_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() )\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}\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}\\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}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\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_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_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\\tdisplay: inline;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n\\tvertical-align: top;\\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}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\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) }","namespace $ {\n\texport class $mol_icon_chevron_down extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_chevron_right extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_theme_auto extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr * mol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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() ? '$mol_theme_light' : '$mol_theme_dark'\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_nav extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cycle? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_x? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_y? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_x? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_y? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_up?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_up(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_down?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_down(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_left?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_left(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_right?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_right(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> event_key?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.event_key(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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\t// case $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\t// case $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 class $mol_text_list extends $mol_text {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto_scroll null\n\t\t * ```\n\t\t */\n\t\tauto_scroll() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_list_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_list_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Paragraph* $mol_text_list_item\n\t\t * \tindex <= item_index*\n\t\t * \tsub <= block_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tParagraph(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_list_item()\n\t\t\t\n\t\t\tobj.index = () => this.item_index(id)\n\t\t\tobj.sub = () => this.block_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_list_item extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_list_item_index <= index\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_list_item_index: this.index()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * index 0\n\t\t * ```\n\t\t */\n\t\tindex() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $hyoo_calc extends $mol_page {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * yard $hyoo_sync_client\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tyard() {\n\t\t\tconst obj = new this.$.$hyoo_sync_client()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * formulas_default *\n\t\t * ```\n\t\t */\n\t\tformulas_default() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * formula*?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tformula(id: any, val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title_edit\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title_edit(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /\n\t\t * \t<= Download\n\t\t * \t<= Fork\n\t\t * \t<= New\n\t\t * \t<= Lights\n\t\t * \t<= Source\n\t\t * \t<= Online\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t\tthis.Download(),\n\t\t\t\tthis.Fork(),\n\t\t\t\tthis.New(),\n\t\t\t\tthis.Lights(),\n\t\t\t\tthis.Source(),\n\t\t\t\tthis.Online()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Current\n\t\t * \t<= Hint\n\t\t * \t<= Body\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Current(),\n\t\t\t\tthis.Hint(),\n\t\t\t\tthis.Body()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body / <= Cells\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t\tthis.Cells()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit* $mol_textarea\n\t\t * \thint \\=\n\t\t * \tvalue?val <=> formula*?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEdit(id: any) {\n\t\t\tconst obj = new this.$.$mol_textarea()\n\t\t\t\n\t\t\tobj.hint = () => \"=\"\n\t\t\tobj.value = (val?: any) => this.formula(id, val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= col_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.col_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= row_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.row_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell* $hyoo_calc_cell\n\t\t * \ttext <= cell_content*\n\t\t * \tselected?val <=> selected*?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell(id: any) {\n\t\t\tconst obj = new this.$.$hyoo_calc_cell()\n\t\t\t\n\t\t\tobj.text = () => this.cell_content(id)\n\t\t\tobj.selected = (val?: any) => this.selected(id, val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /\n\t\t * \t<= Theme\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Theme(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * paste?event <=> paste?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tpaste: (event?: any) => this.paste(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttitle(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_default @ \\Spreedsheet\n\t\t * ```\n\t\t */\n\t\ttitle_default() {\n\t\t\treturn this.$.$mol_locale.text( '$hyoo_calc_title_default' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title_edit $mol_string_button\n\t\t * \tvalue?val <=> title?val\n\t\t * \thint <= title_default\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle_edit() {\n\t\t\tconst obj = new this.$.$mol_string_button()\n\t\t\t\n\t\t\tobj.value = (val?: any) => this.title(val)\n\t\t\tobj.hint = () => this.title_default()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * download_file \\\n\t\t * ```\n\t\t */\n\t\tdownload_file() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * download_uri?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tdownload_uri(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Download $mol_button_download\n\t\t * \thint @ \\Download CSV\n\t\t * \tfile_name <= download_file\n\t\t * \turi <= download_uri?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tDownload() {\n\t\t\tconst obj = new this.$.$mol_button_download()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Download_hint' )\n\t\t\tobj.file_name = () => this.download_file()\n\t\t\tobj.uri = () => this.download_uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sheet_fork? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsheet_fork(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fork_icon $mol_icon_directions_fork\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFork_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_directions_fork()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fork $mol_button_minor\n\t\t * \thint @ \\Fork spreadsheet\n\t\t * \tclick? <=> sheet_fork?\n\t\t * \tsub / <= Fork_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFork() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Fork_hint' )\n\t\t\tobj.click = (next?: any) => this.sheet_fork(next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Fork_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sheet_new? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsheet_new(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * New_icon $mol_icon_plus_box\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNew_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_plus_box()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * New $mol_button_minor\n\t\t * \thint @ \\New spreadsheet\n\t\t * \tclick? <=> sheet_new?\n\t\t * \tsub / <= New_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNew() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_New_hint' )\n\t\t\tobj.click = (next?: any) => this.sheet_new(next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.New_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Lights $mol_lights_toggle\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLights() {\n\t\t\tconst obj = new this.$.$mol_lights_toggle()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Source $mol_link_source uri \\https://github.com/hyoo-ru/calc.hyoo.ru\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSource() {\n\t\t\tconst obj = new this.$.$mol_link_source()\n\t\t\t\n\t\t\tobj.uri = () => \"https://github.com/hyoo-ru/calc.hyoo.ru\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Online $hyoo_sync_online yard <= yard\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOnline() {\n\t\t\tconst obj = new this.$.$hyoo_sync_online()\n\t\t\t\n\t\t\tobj.yard = () => this.yard()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pos?val \\A1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpos(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"A1\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pos $mol_button_minor\n\t\t * \tenabled false\n\t\t * \ttitle <= pos?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPos() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.enabled = () => false\n\t\t\tobj.title = () => this.pos()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit_current $mol_textarea\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEdit_current() {\n\t\t\tconst obj = new this.$.$mol_textarea()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_showed?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thint_showed(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint_trigger_icon $mol_icon_hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint_trigger_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint_trigger $mol_check_icon\n\t\t * \tchecked?val <=> hint_showed?val\n\t\t * \tIcon <= Hint_trigger_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint_trigger() {\n\t\t\tconst obj = new this.$.$mol_check_icon()\n\t\t\t\n\t\t\tobj.checked = (val?: any) => this.hint_showed(val)\n\t\t\tobj.Icon = () => this.Hint_trigger_icon()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Current $mol_bar sub /\n\t\t * \t<= Pos\n\t\t * \t<= Edit_current\n\t\t * \t<= Hint_trigger\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCurrent() {\n\t\t\tconst obj = new this.$.$mol_bar()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Pos(),\n\t\t\t\tthis.Edit_current(),\n\t\t\t\tthis.Hint_trigger()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\\n\t\t * \t\\`$.A1` - result of A1, `$$.A1` - formula of A1, `a=` - define variable, `_.a` - value of variable, `__.a` - cell id of variable, `A1:C3` - range of cells, use [**JavaScript**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) for other.\n\t\t * \t\\**Available funcs**: {funcs}.\n\t\t * \t\\Use Alt + Arrows to switch between cells.\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$hyoo_calc_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint $mol_text text <= hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint() {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.text = () => this.hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ids /\n\t\t * ```\n\t\t */\n\t\tcol_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ids /\n\t\t * ```\n\t\t */\n\t\trow_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_cells /\n\t\t * ```\n\t\t */\n\t\thead_cells() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells* /\n\t\t * ```\n\t\t */\n\t\tcells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cells $mol_grid\n\t\t * \tcol_ids <= col_ids\n\t\t * \trow_ids <= row_ids\n\t\t * \thead_cells <= head_cells\n\t\t * \tcells* <= cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCells() {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.col_ids = () => this.col_ids()\n\t\t\tobj.row_ids = () => this.row_ids()\n\t\t\tobj.head_cells = () => this.head_cells()\n\t\t\tobj.cells = (id: any) => this.cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_title* \\\n\t\t * ```\n\t\t */\n\t\tcol_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_title* $mol_view sub / <= col_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_title(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.col_title(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ins*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcol_ins(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_ins_icon* $mol_icon_chevron_down\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_ins_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_down()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_ins* $mol_button_minor\n\t\t * \thint @ \\Insert Column\n\t\t * \tclick? <=> col_ins*?\n\t\t * \tsub /\n\t\t * \t\t<= col_title*\n\t\t * \t\t<= Col_ins_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_ins(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Col_ins_hint' )\n\t\t\tobj.click = (next?: any) => this.col_ins(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.col_title(id),\n\t\t\t\tthis.Col_ins_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_right*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcol_right(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_right_icon* $mol_icon_chevron_right\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_right_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_right()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_right* $mol_button_minor\n\t\t * \thint @ \\Move Right\n\t\t * \tclick? <=> col_right*?\n\t\t * \tsub / <= Col_right_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_right(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Col_right_hint' )\n\t\t\tobj.click = (next?: any) => this.col_right(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Col_right_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_tools* /\n\t\t * \t<= Col_ins*\n\t\t * \t<= Col_right*\n\t\t * ```\n\t\t */\n\t\tcol_tools(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Col_ins(id),\n\t\t\t\tthis.Col_right(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_tools* $mol_bar sub <= col_tools*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_tools(id: any) {\n\t\t\tconst obj = new this.$.$mol_bar()\n\t\t\t\n\t\t\tobj.sub = () => this.col_tools(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_head_content* /\n\t\t * \t<= Col_title*\n\t\t * \t<= Col_tools*\n\t\t * ```\n\t\t */\n\t\tcol_head_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Col_title(id),\n\t\t\t\tthis.Col_tools(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_title* \\\n\t\t * ```\n\t\t */\n\t\trow_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_title* $mol_view sub / <= row_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_title(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.row_title(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ins*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\trow_ins(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_ins_icon* $mol_icon_chevron_right\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_ins_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_right()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_ins* $mol_button_minor\n\t\t * \thint @ \\Insert Row\n\t\t * \tclick? <=> row_ins*?\n\t\t * \tsub /\n\t\t * \t\t<= row_title*\n\t\t * \t\t<= Row_ins_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_ins(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Row_ins_hint' )\n\t\t\tobj.click = (next?: any) => this.row_ins(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.row_title(id),\n\t\t\t\tthis.Row_ins_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_down*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\trow_down(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_down_icon* $mol_icon_chevron_down\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_down_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_down()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_down* $mol_button_minor\n\t\t * \thint @ \\Move Down\n\t\t * \tclick? <=> row_down*?\n\t\t * \tsub / <= Row_down_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_down(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Row_down_hint' )\n\t\t\tobj.click = (next?: any) => this.row_down(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Row_down_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_tools* /\n\t\t * \t<= Row_ins*\n\t\t * \t<= Row_down*\n\t\t * ```\n\t\t */\n\t\trow_tools(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Row_ins(id),\n\t\t\t\tthis.Row_down(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_tools* $mol_view sub <= row_tools*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_tools(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.row_tools(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_head_content* /\n\t\t * \t<= Row_title*\n\t\t * \t<= Row_tools*\n\t\t * ```\n\t\t */\n\t\trow_head_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Row_title(id),\n\t\t\t\tthis.Row_tools(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content* \\\n\t\t * ```\n\t\t */\n\t\tcell_content(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selected*?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tselected(id: any, val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Theme $mol_theme_auto\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTheme() {\n\t\t\tconst obj = new this.$.$mol_theme_auto()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_col?val 1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_col(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_row?val 1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_row(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tmod_alt true\n\t\t * \tkeys_x <= col_ids\n\t\t * \tkeys_y <= row_ids\n\t\t * \tcurrent_x?val <=> current_col?val\n\t\t * \tcurrent_y?val <=> current_row?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.mod_alt = () => true\n\t\t\tobj.keys_x = () => this.col_ids()\n\t\t\tobj.keys_y = () => this.row_ids()\n\t\t\tobj.current_x = (val?: any) => this.current_col(val)\n\t\t\tobj.current_y = (val?: any) => this.current_row(val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * paste?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpaste(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n\texport class $hyoo_calc_cell extends $mol_text {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\td\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"td\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thyoo_calc_cell_selected <= selected?val\n\t\t * \thyoo_calc_cell_type <= type?val\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thyoo_calc_cell_selected: this.selected(),\n\t\t\t\thyoo_calc_cell_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selected?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselected(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\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}: {\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} ) {\n\t\t\n\t\tif( !update ) update = ( next, prev, lead )=> insert( next, drop( prev, lead ) )\n\t\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\tif( to > prev.length ) $mol_fail( new RangeError( `To(${ to }) greater then length(${ prev.length })` ) )\n\t\tif( from > to ) $mol_fail( new RangeError( `From(${ to }) greater then to(${ to })` ) )\n\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 = prev[p]\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 = 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}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $hyoo_crowd_dict extends $hyoo_crowd_node {\n\t\t\n\t\tkeys( next?: string[] ) {\n\t\t\t\n\t\t\tconst prev = this.units()\n\t\t\tif( !next ) return prev.map( unit => String( unit.data ) )\n\n\t\t\t$mol_reconcile({\n\t\t\t\tprev,\n\t\t\t\tfrom: 0,\n\t\t\t\tto: prev.length,\n\t\t\t\tnext,\n\t\t\t\tequal: ( next, prev )=> prev.data === next,\n\t\t\t\tdrop: ( prev, lead )=> this.land.wipe( prev ),\n\t\t\t\tinsert: ( next, lead )=> this.land.put(\n\t\t\t\t\tthis.head,\n\t\t\t\t\t$mol_int62_hash_string( next + '\\n' + this.head ),\n\t\t\t\t\tlead?.self ?? '0_0',\n\t\t\t\t\tnext,\n\t\t\t\t),\n\t\t\t})\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tsub< Node extends typeof $hyoo_crowd_node >( key: string, Node: Node ) {\n\t\t\tthis.add( key )\n\t\t\treturn new Node( this.land, $mol_int62_hash_string( key + '\\n' + this.head ) ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\thas( key: string ) {\n\t\t\t\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( unit.data === key ) return true \n\t\t\t}\n\t\t\t\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tadd( key: string ) {\n\t\t\tif( this.has( key ) ) return\n\t\t\tthis.keys([ ... this.keys(), key ])\n\t\t}\n\t\t\n\t\tdrop( key: string ) {\n\t\t\t\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( unit.data !== key ) continue\n\t\t\t\tthis.land.wipe( unit )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $hyoo_calc_sheet extends $hyoo_crowd_struct {\n\t\t\n\t\t@ $mol_mem\n\t\tchangable() {\n\t\t\treturn this.land.level( '' ) >= $hyoo_crowd_peer_level.mod\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\treturn this.sub( 'title', $hyoo_crowd_reg ).str( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tformula_node() {\n\t\t\treturn this.sub( 'formula', $hyoo_crowd_dict )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tformula( cell: string, next?: string ) {\n\t\t\tif( !next && !this.cells().includes( cell ) ) return next ?? ''\n\t\t\treturn this.formula_node().sub( cell, $hyoo_crowd_reg ).str( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tcells() {\n\t\t\treturn this.formula_node().keys()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsteal( donor: $hyoo_calc_sheet ) {\n\t\t\t\n\t\t\tthis.title( donor.title() )\n\t\t\t\n\t\t\tfor( const cell of donor.cells() ) {\n\t\t\t\tthis.formula( cell, donor.formula( cell ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Sandbox for javascript code from user.\n\t * @see https://sandbox.js.hyoo.ru/\n\t */\n\texport class $mol_func_sandbox {\n\t\t\n\t\tstatic blacklist = new Set([\n\t\t\t( function() {} ).constructor ,\n\t\t\t( async function() {} ).constructor ,\n\t\t\t( function*() {} ).constructor ,\n\t\t\t( async function*() {} ).constructor ,\n\t\t\teval ,\n\t\t\tsetTimeout ,\n\t\t\tsetInterval ,\n\t\t])\n\n\t\tstatic whitelist = new WeakSet()\n\n\t\tstatic _make : ( contexts : Object[] )=> ( code : string )=> ()=> any\n\n\t\tstatic get make() {\n\n\t\t\tif( this._make ) return this._make\n\t\t\t\n\t\t\tconst frame = $mol_dom_context.document.createElement( 'iframe' )\n\n\t\t\tframe.style.display = 'none'\n\t\t\t$mol_dom_context.document.body.appendChild( frame )\n\n\t\t\tconst win = frame.contentWindow as any as typeof globalThis\n\t\t\tconst SafeFunc = win.Function\n\t\t\tconst SafeJSON = win.JSON\n\t\t\t\n\t\t\twin.eval( `\n\n\t\t\t\tvar AsyncFunction = AsyncFunction || ( async function() {} ).constructor\n\t\t\t\tvar GeneratorFunction = GeneratorFunction || ( function*() {} ).constructor\n\t\t\t\tvar AsyncGeneratorFunction = AsyncGeneratorFunction || ( async function*() {} ).constructor\n\n\t\t\t\tObject.defineProperty( Function.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( AsyncFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( GeneratorFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( AsyncGeneratorFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\t\n\t\t\t\tdelete Object.prototype.__proto__\n\n\t\t\t\tfor( const Class of [\n\t\t\t\t\tString , Number , BigInt , Boolean , Array , Object , Promise , Symbol , RegExp , \n\t\t\t\t\tWindow, Error , RangeError , ReferenceError , SyntaxError , TypeError ,\n\t\t\t\t\tFunction , AsyncFunction , GeneratorFunction , AsyncGeneratorFunction\n\t\t\t\t] ) {\n\t\t\t\t\tObject.freeze( Class )\n\t\t\t\t\tObject.freeze( Class.prototype )\n\t\t\t\t}\n\n\t\t\t\tfor( const key of Object.getOwnPropertyNames( window ) ) delete window[ key ]\n\n\t\t\t` )\n\n\t\t\t// Stop event-loop and break all async operations\n\t\t\t$mol_dom_context.document.body.removeChild( frame )\n\t\t\t\n\t\t\tlet context_default = {} as Record< string, any >\n\n\t\t\tfunction clean( obj : object ) {\n\n\t\t\t\tfor( let name of Object.getOwnPropertyNames( obj ) ) {\n\t\t\t\t\tcontext_default[ name ] = undefined\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst proto = Object.getPrototypeOf( obj )\n\t\t\t\tif( proto ) clean( proto )\n\n\t\t\t}\n\t\t\tclean( win )\n\n\t\t\tconst is_primitive = ( val : any )=> Object( val ) !== val\n\n\t\t\tconst safe_value = ( val : any ) : any => {\n\n\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\tif( this.blacklist.has( val ) ) return undefined\n\t\t\t\tif( this.whitelist.has( val ) ) return val\n\t\t\t\t\n\t\t\t\tconst str = JSON.stringify( val )\n\t\t\t\tif( !str ) return str\n\n\t\t\t\tval = SafeJSON.parse( str )\n\t\t\t\tthis.whitelist.add( val )\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tconst safe_derived = ( val : any ) : any => {\n\t\t\t\t\n\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\t\n\t\t\t\tconst proxy = new Proxy( val , {\n\n\t\t\t\t\tget( val , field : any ) {\n\t\t\t\t\t\tif( field === 'valueOf' ) return safe_derived( val[field] )\n\t\t\t\t\t\tif( field === 'toString' ) return safe_derived( val[field] )\n\t\t\t\t\t\treturn safe_value( val[field] )\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tset() { return false },\n\t\t\t\t\tdefineProperty() { return false },\n\t\t\t\t\tdeleteProperty() { return false },\n\t\t\t\t\tpreventExtensions() { return false },\n\t\t\t\t\t\n\t\t\t\t\tapply( val , host , args ) {\n\t\t\t\t\t\treturn safe_value( val.call( host , ... args ) )\n\t\t\t\t\t},\n\n\t\t\t\t\tconstruct( val , args ) {\n\t\t\t\t\t\treturn safe_value( new val( ... args ) )\n\t\t\t\t\t},\n\n\t\t\t\t})\n\n\t\t\t\tthis.whitelist.add( proxy )\n\n\t\t\t\treturn proxy\n\t\t\t}\n\n\t\t\treturn this._make = ( ( ... contexts : Record< string, any >[] )=> {\n\n\t\t\t\tconst context_merged = {} as Record< string, any >\n\n\t\t\t\tfor( let context of contexts ) {\n\t\t\t\t\tfor( let name of Object.getOwnPropertyNames( context ) ) {\n\t\t\t\t\t\tcontext_merged[ name ] = safe_derived( context[ name ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst vars = Object.keys( context_merged )\n\t\t\t\tconst values = vars.map( name => context_merged[ name ] )\n\t\n\t\t\t\treturn ( code : string )=> {\n\n\t\t\t\t\tconst func = new SafeFunc( ... vars , '\"use strict\";' + code )\n\t\t\t\t\t\t.bind( null , ... values )\n\t\t\t\t\t\n\t\t\t\t\treturn ()=> {\n\n\t\t\t\t\t\tconst val = func()\n\t\t\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.whitelist.add( val )\n\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} ).bind( null , context_default )\n\n\t\t}\n\n\t\tconstructor( ... contexts : Object[] ) {\n\t\t\tthis.contexts = contexts\n\t\t}\n\n\t\tcontexts : Object[]\n\t\t\n\t\t_eval : ( ( code : string )=> ()=> any ) | undefined\n\t\tget eval() {\n\t\t\tif( this._eval ) return this._eval\n\t\t\treturn this._eval = $mol_func_sandbox.make( ... this.contexts as [Object[]] )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_offline( ) {}\n\n}\n","namespace $ {\n\ttry {\n\t\t$mol_offline()\n\t} catch( error ) {\n\t\tconsole.error( error )\n\t}\n}\n","namespace $.$$ {\n\n\texport class $hyoo_calc extends $.$hyoo_calc {\n\t\t\n\t\t@ $mol_mem\n\t\tsheet_fund() {\n\t\t\treturn this.yard().world().Fund( $hyoo_calc_sheet )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsheet() {\n\t\t\t\n\t\t\tconst id = $mol_int62_string_ensure( this.$.$mol_state_arg.value( 'sheet' ) )\n\t\t\tif( !id ) return null\n\t\t\t\n\t\t\treturn this.sheet_fund().Item( id )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsheet_new() {\n\t\t\tconst sheet = this.sheet_fund().make()\n\t\t\tthis.$.$mol_state_arg.go({ sheet: sheet.land.id() })\n\t\t\treturn sheet\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsheet_fork() {\n\t\t\t\n\t\t\tconst prev = this.sheet()\n\t\t\t\n\t\t\tconst title = this.title()\n\t\t\tconst formulas = this.formulas()\n\t\t\t\n\t\t\tconst next = this.sheet_new()\n\t\t\t\n\t\t\tif( prev ) {\n\t\t\t\t\n\t\t\t\tnext.steal( prev )\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tnext.title( title )\n\t\t\t\t\n\t\t\t\tfor( let cell in formulas ) {\n\t\t\t\t\tnext.formula( cell, formulas[ cell ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_action\n\t\tsheet_changable() {\n\t\t\tconst sheet = this.sheet()\n\t\t\tif( sheet?.changable() ) return sheet\n\t\t\treturn this.sheet_fork()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tformulas_default() {\n\t\t\tconst source = this.$.$mol_state_arg.value( 'source' )\n\t\t\tif( source ) {\n\t\t\t\treturn this.$.$mol_fetch.json( source ) as Record< string, string >\n\t\t\t}\n\t\t\treturn this.$.$mol_state_arg.dict()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tformulas() {\n\t\t\t\n\t\t\tconst formulas = {} as { [ key : string ] : string }\n\t\t\t\n\t\t\tconst sheet = this.sheet()\n\t\t\tif( sheet ) {\n\t\t\t\t\n\t\t\t\tfor( const cell of sheet.cells() ) {\n\t\t\t\t\tformulas[ cell ] = sheet.formula( cell )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tlet args = this.formulas_default()\n\t\t\t\tconst ids = Object.keys( args ).filter( param => this.id2coord( param ) )\n\t\t\t\tfor( let id of ids ) formulas[ id ] = args[ id ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn formulas\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tformula_name( id : string ) {\n\t\t\t\n\t\t\tconst found = /^([\\p{Letter}_]*)\\s*=/u.exec( this.formulas()[ id ] )\n\t\t\tif( !found ) return null\n\n\t\t\treturn found[1]\n\t\t}\n\n\t\t@ $mol_mem\n\t\trefs() {\n\t\t\t\n\t\t\tconst formulas = this.formulas()\n\t\t\tconst vars = {} as Record< string , string >\n\t\t\t\n\t\t\tfor( const id in formulas ) {\n\t\t\t\t\n\t\t\t\tconst name = this.formula_name( id )\n\t\t\t\tif( !name ) continue\n\n\t\t\t\tif( vars[ name ] ) throw new Error( `Names conflict: ${ id }, ${ vars[ name ] }` )\n\t\t\t\t\n\t\t\t\tvars[ name ] = id\n\t\t\t}\n\n\t\t\treturn vars\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tid2coord( id : string ) : [ number , number ] | null {\n\t\t\t\n\t\t\tconst parsed = /^([A-Z]+)(\\d+)$/i.exec( id )\n\t\t\tif( !parsed ) return null\n\n\t\t\treturn [ this.string2number( parsed[1].toUpperCase() ) , Number( parsed[2] ) ]\n\t\t}\n\n\t\tcoord2id( coord : [ number , number ] ) : string {\n\t\t\treturn `${ this.number2string( coord[0] ) }${ coord[1] }`\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdimensions() {\n\n\t\t\tconst dims = {\n\t\t\t\trows : 3 ,\n\t\t\t\tcols : 3 ,\n\t\t\t}\n\n\t\t\tfor( let key of Object.keys( this.formulas() ) ) {\n\t\t\t\tconst coord = this.id2coord( key )!\n\n\t\t\t\tconst rows = coord[1] + 2\n\t\t\t\tconst cols = coord[0] + 2\n\t\t\t\t\n\t\t\t\tif( rows > dims.rows ) dims.rows = rows\n\t\t\t\tif( cols > dims.cols ) dims.cols = cols\n\t\t\t}\n\t\t\t\n\t\t\treturn dims\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcol_ids() {\n\t\t\treturn Array( this.dimensions().cols ).join(' ').split(' ').map( ( _ , i )=> i + 1 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\treturn Array( this.dimensions().rows ).join(' ').split(' ').map( ( _ , i )=> i + 1 )\n\t\t}\n\n\t\tnumber2string( numb : number ) {\n\t\t\t\n\t\t\tif( numb <= 0 ) return ''\n\t\t\tnumb --\n\t\t\t\n\t\t\tconst letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n\t\t\tlet str = ''\n\t\t\t\n\t\t\tdo {\n\t\t\t\tstr = letters[ numb % 26 ] + str\n\t\t\t\tnumb = Math.floor( numb / 26 )\n\t\t\t} while ( numb )\n\t\t\t\n\t\t\treturn str\n\t\t}\n\n\t\tstring2number( str : string ) {\n\t\t\tlet numb = 0\n\t\t\tfor( let symb of str.split( '' ) ) {\n\t\t\t\tnumb = numb * 26\n\t\t\t\tnumb += symb.charCodeAt( 0 ) - 65\n\t\t\t}\n\t\t\treturn numb + 1\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttitle( next? : string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn this.sheet()?.title() ?? this.$.$mol_state_arg.value( `title` ) ?? super.title()\n\t\t\t} else {\n\t\t\t\treturn this.sheet_changable().title( next )\n\t\t\t}\n\t\t}\n\n\t\tcol_title( id : number ) {\n\t\t\treturn this.number2string( id )\n\t\t}\n\n\t\tcol_head_content( id: number ) {\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tif( coord[0] !== id ) return [ this.Col_title(id) ]\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Col_title(id),\n\t\t\t\tthis.Col_tools(id),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\trow_title( id : number ) {\n\t\t\treturn String( id )\n\t\t}\n\n\t\trow_head_content( id: number ) {\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tif( coord[1] !== id ) return [ this.Row_title(id) ]\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Row_title(id),\n\t\t\t\tthis.Row_tools(id),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn [ this.Col_head( 0 ) , ... this.col_ids().map( colId => this.Col_head( colId ) ) ]\n\t\t}\n\t\t\n\t\tcells( row_id : number ) {\n\t\t\treturn [ this.Row_head( row_id ) , ... this.col_ids().map( col_id => this.Cell( this.coord2id([ col_id , row_id ]) ) ) ]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tselected( id : string , next? : boolean ) {\n\t\t\treturn this.Cell( this.pos( next ? id : undefined ) ) === this.Cell( id )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpos( next? : string ) : string {\n\t\t\tif( next !== $mol_mem_cached( ()=> this.pos() ) ) {\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\tthis.Edit_current().Edit().focused( true )\n\t\t\t\t\tthis.ensure_visible( this.Cell( next ), 'nearest' )\n\t\t\t\t} )\n\t\t\t}\n\t\t\treturn next || super.pos()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcoord( next? : [ number , number ] ) {\n\t\t\treturn this.id2coord( this.pos( next && this.coord2id( next ) ) )!\n\t\t}\n\n\t\tEdit_current() {\n\t\t\treturn this.Edit( this.pos() )\n\t\t}\n\n\t\tcurrent_row( next? : number ) {\n\t\t\treturn this.coord( next === undefined ? undefined : [ this.coord()[0] , next ] )[ 1 ]\n\t\t}\n\n\t\tcurrent_col( next? : number ) {\n\t\t\treturn this.coord( next === undefined ? undefined : [ next , this.coord()[1] ] )[ 0 ]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tformula( id : string , next? : string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn this.sheet()?.formula( id, next ) || this.formulas_default()[ id ] || ''\n\t\t\t} else {\n\t\t\t\treturn this.sheet_changable().formula( id, next )\n\t\t\t}\n\t\t}\n\n\t\tformula_current( next? : string ) {\n\t\t\treturn this.formula( this.pos() , next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsandbox() {\n\t\t\treturn new $mol_func_sandbox( Math , {\n\n\t\t\t\t'$' : new Proxy( {} , { get : ( _ , id : string ) : any => {\n\t\t\t\t\treturn this.result( id )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'$$' : new Proxy( {} , { get : ( _ , id : string ) : any => {\n\t\t\t\t\treturn this.formula( id )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'_' : new Proxy( {} , { get : ( _ , name : string ) : any => {\n\t\t\t\t\treturn this.result( this.refs()[ name ] )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'__' : new Proxy( {} , { get : ( _ , name : string ) : any => {\n\t\t\t\t\treturn this.refs()[ name ]\n\t\t\t\t} } ) ,\n\n\t\t\t\t'RANGE' : ( from : string , to : string )=> this.results([ from , to ]) ,\n\n\t\t\t\t'SUM' : ( values : number[] )=> values.reduce( ( accum , item ) => accum + item , 0 ) ,\n\t\t\t\t\n\t\t\t\t'AVG' : ( values : number[] )=> values.reduce( ( accum , item ) => accum + item , 0 ) / values.length ,\n\n\t\t\t\t'MAX' : ( values : number[] )=> values.reduce( ( max , item ) => item > max ? item : max , Number.NEGATIVE_INFINITY ) ,\n\n\t\t\t\t'MIN' : ( values : number[] )=> values.reduce( ( min , item ) => item < min ? item : min , Number.POSITIVE_INFINITY ) ,\n\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tresults( range : [ string , string ] ) {\n\t\t\t\n\t\t\tconst start = this.id2coord( range[0] )!\n\t\t\tconst end = this.id2coord( range[1] )!\n\n\t\t\tconst results = [] as unknown[]\n\n\t\t\tfor( let row = start[0] ; row <= end[0] ; ++row ) {\n\t\t\t\tfor( let col = start[1] ; col <= end[1] ; ++col ) {\n\t\t\t\t\tresults.push( this.result( this.coord2id([ row , col ]) ) )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn results\n\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head() ,\n\t\t\t\tthis.Current() ,\n\t\t\t\t... this.hint_showed() ? [ this.Hint() ] : [] ,\n\t\t\t\tthis.Body() ,\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\thint() {\n\t\t\treturn super.hint().replace( '{funcs}' , Object.getOwnPropertyNames( Math ).map( name => \"`\" + name + \"`\" ).join( ', ' ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tcell_content( id : string ) : string {\n\t\t\t\n\t\t\tconst name = this.formula_name( id )\n\t\t\t\n\t\t\tlet val = this.result( id )\n\t\t\tif( typeof val === 'object' ) val = JSON.stringify( val )\n\n\t\t\treturn name ? `${name} = ${val}` : String( val )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfunc( id : string ) {\n\t\t\tconst formula = this.formula( id )\n\t\t\tif( !/^([\\p{Letter}_]*)?\\s*=/u.test( formula ) ) return ()=> formula\n\t\t\t\n\t\t\tconst code = 'return ' + formula\n\t\t\t.replace( /([A-Z]+[0-9]+):([A-Z]+[0-9]+)/g , ( found : string , from : string , to : string )=> `RANGE('${ from.toLowerCase() }','${ to.toLowerCase() }')` )\n\t\t\t.replace( /@([A-Z]+[0-9]+)\\b/g , '$$.$1' )\n\t\t\t.replace( /([^.])([A-Z]+[0-9]+)\\b/g , '$1$.$2' )\n\t\t\t.replace( /^([\\p{Letter}_]*)?\\s*=/u , '' )\n\t\t\t\n\t\t\treturn this.sandbox().eval( code )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tresult( id : string ) : string | number {\n\t\t\t$mol_wire_solid()\n\t\t\tconst res = this.func( id )()\n\t\t\tif( res === undefined ) return ''\n\t\t\tif( res === '' ) return ''\n\t\t\tif( isNaN( res ) ) return res\n\t\t\tif( res && typeof res === 'object' ) return JSON.stringify( res )\n\t\t\treturn Number( res )\n\t\t}\n\n\t\tpaste( event : ClipboardEvent ) {\n\t\t\t\n\t\t\tconst table = event.clipboardData!.getData( 'text/plain' ).trim().split( '\\n' ).map( row => row.split( '\\t' ) ) as string[][]\n\t\t\tif( table.length === 1 && table[0].length === 1 ) return\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\n\t\t\tconst [ col_start , row_start ] = this.id2coord( this.pos() )!\n\n\t\t\tfor( let row in table ) {\n\t\t\t\tfor( let col in table[ row ] ) {\n\t\t\t\t\tconst id = this.coord2id([ col_start + Number( col ) , row_start + Number( row ) ])\n\t\t\t\t\tsheet.formula( id, table[ row ][ col ] )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tevent.preventDefault()\n\t\t}\n\n\t\tdownload_file() {\n\t\t\treturn `${ this.title() }.csv`\n\t\t}\n\n\t\tdownload_uri() {\n\n\t\t\tconst table : string[][] = []\n\t\t\tconst dims = this.dimensions()\n\n\t\t\tfor( let row = 1 ; row < dims.rows ; ++ row ) {\n\n\t\t\t\tconst row_data = [] as any[]\n\t\t\t\ttable.push( row_data )\n\t\t\t\t\n\t\t\t\tfor( let col = 0 ; col < dims.cols ; ++ col ) {\n\t\t\t\t\trow_data[ col ] = String( this.result( this.coord2id([ col , row ]) ) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst content = table.map( row => row.map( val => `\"${ val.replace( /\"/g , '\"\"' ) }\"` ).join( ';' ) ).join( '\\n' )\n\n\t\t\treturn `data:text/csv;charset=utf-8,${ encodeURIComponent( content ) }`\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tcol_ins( col: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[0] < col ) {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t} else {\n\t\t\t\t\tif( coord[0] === col ) sheet.formula( id, '' )\n\t\t\t\t\tsheet.formula( this.coord2id([ coord[0] + 1, coord[1] ]), prev[ id ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\trow_ins( row: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[1] < row ) {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t} else {\n\t\t\t\t\tif( coord[1] === row ) sheet.formula( id, '' )\n\t\t\t\t\tsheet.formula( this.coord2id([ coord[0], coord[1] + 1 ]), prev[ id ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tcol_right( col: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[0] === col ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0] + 1, coord[1] ])\n\t\t\t\t} else if( coord[0] === col + 1 ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0] - 1, coord[1] ])\n\t\t\t\t} else {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsheet.formula( pair, prev[ id ] || '' )\n\t\t\t\tsheet.formula( id, prev[ pair ] || '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tthis.coord([ coord[0] + 1, coord[1] ])\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\trow_down( row: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[1] === row ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0], coord[1] + 1 ])\n\t\t\t\t} else if( coord[1] === row + 1 ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0], coord[1] - 1 ])\n\t\t\t\t} else {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsheet.formula( pair, prev[ id ] || '' )\n\t\t\t\tsheet.formula( id, prev[ pair ] || '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tthis.coord([ coord[0], coord[1] + 1 ])\n\t\t\t\n\t\t}\n\n\t}\n\n\texport class $hyoo_calc_cell extends $.$hyoo_calc_cell {\n\n\t\tclick( event? : Event ) {\n\t\t\tif( event ) this.selected( true )\n\t\t}\n\n\t\ttype() {\n\t\t\tconst value = this.text()\n\t\t\treturn isNaN( Number( value ) ) ? 'string' : 'number'\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"hyoo/calc/calc.view.css\",\n \"[hyoo_calc_title_edit]:enabled {\\n\\twidth: auto;\\n\\tflex: 1000 1 auto;\\n}\\n\\n[hyoo_calc_tools] {\\n\\tflex-grow: 0;\\n}\\n\\n[hyoo_calc_current] {\\n\\tflex: none;\\n}\\n\\n[hyoo_calc_pos] {\\n\\tflex: none;\\n\\twidth: 2.5rem;\\n\\tfont-family: monospace;\\n\\talign-items: flex-start;\\n}\\n\\n[hyoo_calc_edit] {\\n\\tflex-shrink: 1;\\n}\\n\\n[hyoo_calc_hint] {\\n\\tmax-width: none;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_hint_trigger] {\\n\\talign-items: center;\\n}\\n\\n[hyoo_calc_body] {\\n\\tscroll-padding: 2.5rem;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cells][hyoo_calc_cells] {\\n\\tflex-shrink: 0;\\n\\talign-self: flex-start;\\n}\\n\\n[hyoo_calc_col_head] ,\\n[hyoo_calc_row_head] {\\n\\tfont-family: monospace;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_shade);\\n\\tuser-select: none;\\n\\tfont-weight: inherit;\\n}\\n\\n[hyoo_calc_col_head]:has( [hyoo_calc_col_tools] ) {\\n\\tz-index: 5;\\n}\\n\\n[hyoo_calc_col_head] {\\n\\ttext-align: left;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n\\tmin-width: 5rem;\\n}\\n\\n[hyoo_calc_col_title] {\\n\\tpadding: var(--mol_gap_text);\\n\\tdisplay: inline-flex;\\n\\tvertical-align: top;\\n}\\n\\n[hyoo_calc_col_tools] {\\n\\tdisplay: inline-flex;\\n\\tposition: absolute;\\n\\tbackground: var(--mol_theme_back);\\n\\tz-index: 1;\\n\\tleft: 0;\\n\\tbox-shadow: 0 0 0.5rem hsl(0deg 0% 0% / 25%);\\n}\\n\\n[hyoo_calc_col_tools] > [mol_button_minor] {\\n\\tbackground: var(--mol_theme_card);\\n\\tjustify-content: center;\\n}\\n\\n[hyoo_calc_col_ins_icon] {\\n position: absolute;\\n\\tbottom: -0.25rem;\\n}\\n\\n[hyoo_calc_cells_row]:has( [hyoo_calc_cell_selected=\\\"true\\\"] ) > [hyoo_calc_row_head] {\\n\\tz-index: 5;\\n}\\n\\n[hyoo_calc_row_head] {\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n}\\n\\n[hyoo_calc_row_title] {\\n\\tpadding: var(--mol_gap_text);\\n\\tdisplay: inline-flex;\\n\\tvertical-align: top;\\n}\\n\\n[hyoo_calc_row_tools] {\\n\\tposition: absolute;\\n\\tbackground: var(--mol_theme_back);\\n\\tflex-direction: column;\\n\\tz-index: 1;\\n\\ttop: 0;\\n\\tleft: 1px;\\n\\tbox-shadow: 0 0 0.5rem hsl(0deg 0% 0% / 25%);\\n}\\n\\n[hyoo_calc_row_tools] > [mol_button_minor] {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[hyoo_calc_row_ins_icon] {\\n position: absolute;\\n right: 0px;\\n}\\n\\n[hyoo_calc_cell] {\\n\\tuser-select: text;\\n\\tborder-radius: 0;\\n\\tdisplay: table-cell;\\n\\twhite-space: normal;\\n\\tword-break: normal;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cell_rows] {\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cell_selected] {\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_current);\\n\\tz-index: 5;\\n\\tposition: relative;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[hyoo_calc_cell_type=\\\"number\\\"] {\\n\\ttext-align: right;\\n}\\n\"\n) }",null]} \ No newline at end of file +{"version":3,"sources":["-","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mam.ts","../../../mam.jam.js","../../hyoo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/ambient/mol/ambient/ambient.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/delegate/mol/delegate/delegate.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/owning/mol/owning/owning.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/mol/fail/fail.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/hidden/mol/fail/hidden/hidden.ts","../../../mol/type/writable/writable.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object2/mol/object2/object2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object/mol/object/object.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/window/mol/window/window.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/cursor/mol/wire/cursor/cursor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/mol/wire/pub/pub.ts","../../../mol/wire/sub/sub.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/mol/wire/wire.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dev/format/mol/dev/format/format.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/sub/mol/wire/pub/sub/sub.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/timeout/mol/after/timeout/timeout.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/frame/mol/after/frame/frame.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/promise/like/mol/promise/like/like.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/fiber/mol/wire/fiber/fiber.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/name/mol/func/name/name.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/guid/mol/guid/guid.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/key/mol/key/key.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/deep/mol/compare/deep/deep.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/task/mol/wire/task/task.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/method/mol/wire/method/method.ts","../../../mol/type/tail/tail.ts","../../../mol/type/foot/foot.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/catch/mol/fail/catch/catch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/log/mol/fail/log/log.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/atom/mol/wire/atom/atom.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solo/mol/wire/solo/solo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/plex/mol/wire/plex/plex.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/mem/mol/mem/mem.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/context/mol/dom/context/context.ts","../../../node/node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../node/node/node.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/span/mol/span/span.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/to/string/mol/tree2/to/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/mol/tree2/tree2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/error/syntax/mol/error/syntax/syntax.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/string/mol/tree2/from/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/json/mol/tree2/from/json/json.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/term/color/mol/term/color/color.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/env/mol/env/env.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/env/mol/env/env.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/exec/mol/exec/exec.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/context/mol/dom/context/context.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/tick/mol/after/tick/tick.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/selection/mol/view/selection/selection.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wrapper/mol/wrapper/wrapper.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/memo/mol/memo/memo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/qname/mol/dom/qname/qname.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/probe/mol/wire/probe/probe.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/watch/mol/wire/watch/watch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solid/mol/wire/solid/solid.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/const/mol/const/const.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/attributes/mol/dom/render/attributes/attributes.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/async/mol/wire/async/async.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/events/mol/dom/render/events/events.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/styles/mol/dom/render/styles/styles.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/children/mol/dom/render/children/children.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/fields/mol/dom/render/fields/fields.ts","../../../mol/type/keys/extract/extract.ts","../../../mol/type/pick/pick.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/attach/mol/style/attach/attach.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/decor/mol/decor/decor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/unit/mol/style/unit/unit.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/func/mol/style/func/func.ts","../../../mol/type/override/override.ts","../../../mol/style/properties/properties.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/mol/theme/theme.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/-css/mol/theme/-css/theme.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/gap/mol/gap/gap.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/gap/-css/mol/gap/-css/gap.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/mol/view/view/view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/-css/mol/view/view/-css/view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/-view.tree/mol/scroll/-view.tree/scroll.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/listener/mol/dom/listener/listener.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/print/mol/print/print.ts","../../../mol/style/pseudo/class.ts","../../../mol/style/pseudo/element.ts","../../../mol/type/error/error.ts","../../../mol/style/guard/guard.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/sheet/mol/style/sheet/sheet.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/define/mol/style/define/define.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/mol/scroll/scroll.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/mol/scroll/scroll.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/page/-view.tree/mol/page/-view.tree/page.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/plugin/mol/plugin/plugin.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/page/mol/page/page.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/-meta.tree/hyoo/sync/-meta.tree/revision.meta.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/encode/mol/charset/encode/encode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/int62/mol/int62/int62.ts","../../../mol/data/value/value.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/setup/mol/data/setup/setup.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/diff/path/mol/diff/path/path.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/error/mix/mol/error/mix/mix.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/error/mol/data/error/error.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/enum/mol/data/enum/enum.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/crypto/native/mol/crypto/native/native.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/crypto/auditor/mol/crypto/auditor/auditor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/peer/hyoo/crowd/peer/peer.ts","../../../mol/charset/encoding/encoding.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/decode/mol/charset/decode/decode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/unit/hyoo/crowd/unit/unit.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/sync/mol/wire/sync/sync.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/local/mol/state/local/local.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/peer/hyoo/sync/peer/peer.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/time/hyoo/crowd/time/time.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/clock/hyoo/crowd/clock/clock.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/node/hyoo/crowd/node/node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/reg/hyoo/crowd/reg/reg.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/struct/hyoo/crowd/struct/struct.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/land/hyoo/crowd/land/land.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/action/mol/action/action.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/fund/hyoo/crowd/fund/fund.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dict/mol/dict/dict.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/world/hyoo/crowd/world/world.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/promise/promise/mol/promise/promise/promise.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wait/timeout/mol/wait/timeout/timeout.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/race/mol/wire/race/race.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/masters/hyoo/sync/masters/masters.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/yard/hyoo/sync/yard/yard.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/response/mol/db/response/response.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/store/mol/db/store/store.ts","../../../mol/db/store/store_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/index/mol/db/index/index.ts","../../../mol/db/index/index_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.node.ts","../../../mol/db/db_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/database/mol/db/database/database.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/transaction/mol/db/transaction/transaction.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/client/hyoo/sync/client/client.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/stack/-view.tree/mol/stack/-view.tree/stack.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/stack/-css/mol/stack/-css/stack.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/-view.tree/mol/paragraph/-view.tree/paragraph.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/mol/paragraph/paragraph.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/-css/mol/paragraph/-css/paragraph.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/-view.tree/mol/dimmer/-view.tree/dimmer.view.tree.ts","../../../mol/type/equals/equals.ts","../../../mol/type/merge/merge.ts","../../../mol/type/intersect/intersect.ts","../../../mol/unicode/unicode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/regexp/mol/regexp/regexp.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/mol/dimmer/dimmer.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/-css/mol/dimmer/-css/dimmer.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/token/-view.tree/mol/text/code/token/-view.tree/token.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/token/mol/text/code/token/token.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/-view.tree/mol/text/code/row/-view.tree/row.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/mol/syntax2/syntax2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/md/mol/syntax2/md/md.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/mol/text/code/row/row.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/mol/text/code/row/row.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/-view.tree/mol/list/-view.tree/list.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/support/css/mol/support/css/css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/mem/cached/mol/mem/cached/cached.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/mol/list/list.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/-css/mol/list/-css/list.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/speck/-view.tree/mol/speck/-view.tree/speck.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/layer/mol/layer/layer.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/layer/-css/mol/layer/-css/layer.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/speck/-css/mol/speck/-css/speck.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/-view.tree/mol/button/-view.tree/button.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/keyboard/code/mol/keyboard/code/code.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/mol/button/button.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/-css/mol/button/-css/button.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/typed/-view.tree/mol/button/typed/-view.tree/typed.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/typed/-css/mol/button/typed/-css/typed.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/minor/-view.tree/mol/button/minor/-view.tree/minor.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/minor/-css/mol/button/minor/-css/minor.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/blob/mol/blob/blob.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/-view.tree/mol/svg/-view.tree/svg.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/time/mol/state/time/time.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/mol/svg/svg.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/root/-view.tree/mol/svg/root/-view.tree/root.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/root/-css/mol/svg/root/-css/root.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/path/-view.tree/mol/svg/path/-view.tree/path.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/-view.tree/mol/icon/-view.tree/icon.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/-css/mol/icon/-css/icon.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/clipboard/-view.tree/mol/icon/clipboard/-view.tree/clipboard.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/clipboard/outline/-view.tree/mol/icon/clipboard/outline/-view.tree/outline.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/copy/-view.tree/mol/button/copy/-view.tree/copy.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/html/encode/mol/html/encode/encode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/copy/mol/button/copy/copy.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/file/mol/file/file.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/array/mol/compare/array/array.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/file/mol/file/file.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/parse/mol/dom/parse/parse.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fetch/mol/fetch/fetch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/huggingface/mol/huggingface/huggingface.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../lingua/translate/hyoo/lingua/translate/translate.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/locale/mol/locale/locale.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/-view.tree/mol/text/code/-view.tree/code.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/mol/text/code/code.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/mol/text/code/code.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hotkey/-view.tree/mol/hotkey/-view.tree/hotkey.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hotkey/mol/hotkey/hotkey.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/-view.tree/mol/string/-view.tree/string.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/mol/string/string.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/-css/mol/string/-css/string.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/-view.tree/mol/textarea/-view.tree/textarea.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/mol/textarea/textarea.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/-css/mol/textarea/-css/textarea.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/float/-view.tree/mol/float/-view.tree/float.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/float/-css/mol/float/-css/float.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/button/-view.tree/mol/string/button/-view.tree/button.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/button/-css/mol/string/button/-css/button.view.css.ts","../../../mol/type/partial/deep/deep.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/jsx/mol/jsx/jsx.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/download/-view.tree/mol/icon/download/-view.tree/download.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/download/-view.tree/mol/button/download/-view.tree/download.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/download/mol/button/download/download.view.tsx","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/directions/-view.tree/mol/icon/directions/-view.tree/directions.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/directions/fork/-view.tree/mol/icon/directions/fork/-view.tree/fork.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/plus/-view.tree/mol/icon/plus/-view.tree/plus.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/plus/box/-view.tree/mol/icon/plus/box/-view.tree/box.view.tree.ts","../../../mol/state/arg/arg.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/arg/mol/state/arg/arg.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/mol/lights/lights.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/-view.tree/mol/check/-view.tree/check.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/maybe/mol/maybe/maybe.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/-css/mol/check/-css/check.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/mol/check/check.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/icon/-view.tree/mol/check/icon/-view.tree/icon.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/icon/-css/mol/check/icon/-css/icon.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/brightness/6/-view.tree/mol/icon/brightness/6/-view.tree/6.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/toggle/-view.tree/mol/lights/toggle/-view.tree/toggle.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/toggle/mol/lights/toggle/toggle.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/-view.tree/mol/link/-view.tree/link.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/mol/link/link.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/mol/link/link.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/github/circle/-view.tree/mol/icon/github/circle/-view.tree/circle.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/source/-view.tree/mol/link/source/-view.tree/source.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/-view.tree/mol/avatar/-view.tree/avatar.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hash/string/mol/hash/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/mol/avatar/avatar.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/-css/mol/avatar/-css/avatar.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/sync/-view.tree/mol/icon/sync/-view.tree/sync.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/sync/off/-view.tree/mol/icon/sync/off/-view.tree/off.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/-view.tree/hyoo/sync/online/-view.tree/online.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/hyoo/sync/online/online.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/-css/hyoo/sync/online/-css/online.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/hint/-view.tree/mol/icon/hint/-view.tree/hint.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/bar/-view.tree/mol/bar/-view.tree/bar.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/bar/-css/mol/bar/-css/bar.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/-view.tree/mol/icon/chevron/-view.tree/chevron.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/-view.tree/mol/check/expand/-view.tree/expand.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/mol/check/expand/expand.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/-css/mol/check/expand/-css/expand.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/-view.tree/mol/grid/-view.tree/grid.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/session/mol/state/session/session.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/mol/grid/grid.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/-css/mol/grid/-css/grid.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/-view.tree/mol/image/-view.tree/image.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/mol/image/image.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/-css/mol/image/-css/image.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/-view.tree/mol/link/iconed/-view.tree/iconed.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/mol/link/iconed/iconed.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/-css/mol/link/iconed/-css/iconed.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/-view.tree/mol/embed/native/-view.tree/native.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/mol/embed/native/native.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/-css/mol/embed/native/-css/native.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/youtube/-view.tree/mol/icon/youtube/-view.tree/youtube.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/-view.tree/mol/frame/-view.tree/frame.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/mol/frame/frame.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/mol/frame/frame.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/-view.tree/mol/embed/youtube/-view.tree/youtube.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/mol/embed/youtube/youtube.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/-css/mol/embed/youtube/-css/youtube.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/any/-view.tree/mol/embed/any/-view.tree/any.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/any/mol/embed/any/any.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/-view.tree/mol/text/text/-view.tree/text.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/mol/text/text/text.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/-css/mol/text/text/-css/text.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/down/-view.tree/mol/icon/chevron/down/-view.tree/down.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/right/-view.tree/mol/icon/chevron/right/-view.tree/right.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/auto/-view.tree/mol/theme/auto/-view.tree/auto.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/auto/mol/theme/auto/auto.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/nav/-view.tree/mol/nav/-view.tree/nav.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/nav/mol/nav/nav.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/list/-view.tree/mol/text/list/-view.tree/list.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/list/-css/mol/text/list/-css/list.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../-view.tree/hyoo/calc/-view.tree/calc.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/reconcile/mol/reconcile/reconcile.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/dict/hyoo/crowd/dict/dict.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../sheet/hyoo/calc/sheet/sheet.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/sandbox/mol/func/sandbox/sandbox.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/offline/mol/offline/offline.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/offline/install/mol/offline/install/install.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../hyoo/calc/calc.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../-css/hyoo/calc/-css/calc.view.css.ts","../-bin/calc_logo.svg.js"],"names":[],"sourceRoot":"/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/","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",null,null,"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' ) 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",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ 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\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ] as string\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\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\ttoJSON(): 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< Instance >( this : { new() : Instance } , config : Partial< Instance > ) : Instance {\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 any\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\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\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.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === 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 )\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",null,"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 let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $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\treturn val[ $mol_dev_format_head ]()\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\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\tif( typeof obj !== 'object' && typeof obj !== 'function' ) 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\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\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\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\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 tail = 0\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\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\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 ) {\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}\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_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\treturn val && typeof val.then === 'function'\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\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_frame | 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_frame( ()=> {\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\t[Symbol.toStringTag]!: string\n\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()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\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}\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_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( 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\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\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 ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\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\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() {\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 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\t\t\n\t}\n\t\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\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\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\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( !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\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 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['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['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 >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\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( 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 if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\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\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\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\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\t// if( existen && sub instanceof $mol_wire_task ) {\n\t\t\t\t// \t$mol_fail( new Error( `$mol_wire_task detects nonidempotency\\n${existen}` ) )\n\t\t\t\t// }\n\t\t\t\t\n\t\t\t\treturn new $mol_wire_task( `${ (host as any)?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, task, host, args )\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\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",null,null,"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\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 }.${ field }`\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 id = `${ prefix }.${ task.name }(${ $mol_key( key ) })`\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( id )\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 fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( id, 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\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\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((this as any)[ Symbol.toStringTag ] )\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 var $mol_dom_context : typeof globalThis\n\t\n}\n",null,"interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '--no-save', name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '--no-save', '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\treturn target.require( name )\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = `${ this.uri }#${ this.row }:${ this.col }/${ this.length }`\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , length )\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(`Begin value '${begin}' out of range ${this}`)\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail(`End value '${end}' out of range ${this}`)\n\t\t\tif (end < begin) this.$.$mol_fail(`End value '${end}' can't be less than begin value ${this}`)\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\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\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.map( ( 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.insert( 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 , [] ).insert( 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 sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\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.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\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\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\t\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat( ... this.kids.map( child => {\n\n\t\t\t\tlet handle = belt[ child.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\t\tif( !handle || handle === Object.prototype[ child.type as keyof Object ] ) {\n\t\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\treturn handle( child , belt , context! )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror.message += `\\n${ child.clone([]) }${ child.span }`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\n\t\t\t} ) )\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( 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( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tpromise : any\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.promise = Promise.resolve().then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\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 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\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode 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\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\treturn 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}\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/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tconst current = $mol_wire_auto()\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\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\treturn getter\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 === 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\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 any as (\n\t\t\tHost extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise\n\t\t\t\t\t? Host\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: {}\n\t\t) & {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t\t\n\t}\n\t\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\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n",null,null,"namespace $ {\n\n\tlet all = [] as string[]\n\tlet el : HTMLStyleElement | null = null\n\tlet timer : $mol_after_tick | null = null\n\n\texport function $mol_style_attach_force() {\n\t\tif( all.length ) {\n\t\t\tel!.innerHTML += '\\n' + all.join( '\\n\\n' )\n\t\t\tall = []\n\t\t}\n\t\ttimer = null\n\t\treturn el!\n\t}\n\t\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tall.push( `/* ${ id } */\\n\\n${ text }`)\n\n\t\tif( timer ) return el!\n\t\t\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\n\t\tel = doc.createElement('style')\n\t\tel.id = `$mol_style_attach`\n\t\tdoc.head.appendChild( el )\n\n\t\ttimer = new $mol_after_tick( $mol_style_attach_force )\n\n\t\treturn el\n\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\t\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| 'url'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_filter = '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 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< any >,\n\t\t\tmid: $mol_style_unit< any >,\n\t\t\tmax: $mol_style_unit< 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<$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<'%'>){\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<'%'>){\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<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit<$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<'%'>){\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<$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<'%'>){\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<'%'>){\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<'%'>){\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<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n",null,null,"namespace $ {\n\n\tconst { vary } = $mol_style_func\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport const $mol_theme = {\n\t\tback: vary('--mol_theme_back'),\n\t\thover: vary('--mol_theme_hover'),\n\t\tcard: vary('--mol_theme_card'),\n\t\tcurrent: vary('--mol_theme_current'),\n\t\tspecial: vary('--mol_theme_special'),\n\t\ttext: vary('--mol_theme_text'),\n\t\tcontrol: vary('--mol_theme_control'),\n\t\tshade: vary('--mol_theme_shade'),\n\t\tline: vary('--mol_theme_line'),\n\t\tfocus: vary('--mol_theme_focus'),\n\t\tfield: vary('--mol_theme_field'),\n\t\timage: vary('--mol_theme_image'),\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_satur: 1;\\n\\t--mol_theme_image: none;\\n}\\n\\n[mol_theme] {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n}\\n:where([mol_theme]) {\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 20% ), calc( 55% + 45% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, calc( 40% - 40% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 50% ), calc( 54% + 46% * var(--mol_theme_luma) ), .25 );\\n\\t\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 50% ), calc( 55% + 35% * var(--mol_theme_luma) ), .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 50%, 1 );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, calc( 55% - 10% * var(--mol_theme_luma) ) );\\n\\t\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"] {\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] {\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n}\\n\\n[mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_luma: -2;\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 40% );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 60%, 30% );\\n\\t--mol_theme_current: hsl( var(--mol_theme_hue), 100%, 20% );\\n}\\n\\n[mol_theme=\\\"$mol_theme_current\\\"] {\\n\\tbackground-color: var(--mol_theme_back);\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% + 30% * var(--mol_theme_luma) ) );\\n}\\n\\n[mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 55% + 35% * var(--mol_theme_luma) ), .25 );\\n}\\n\\n[mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\tbackground-color: var(--mol_theme_back);\\n\\t--mol_theme_luma: -2;\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 50% );\\n\\t--mol_theme_hover: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 35% );\\n}\\n\\n[mol_theme=\\\"$mol_theme_accent\\\"] [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: black;\\n}\\n\"\n) }","namespace $ {\n\tconst { vary } = $mol_style_func\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = {\n\t\tblock: vary( '--mol_gap_block' ) ,\n\t\ttext: vary( '--mol_gap_text' ),\n\t\tround: vary( '--mol_gap_round' ),\n\t\tspace: vary( '--mol_gap_space' ),\n\t\tblur: vary( '--mol_gap_blur' ),\n\t} as const\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\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\tconst error_showed = new WeakMap< Error, $mol_view >()\n\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|Node|string|number|boolean)[]\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\tdom_id() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t\n\t\t\t$mol_wire_solid()\n\t\t\t\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\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = $mol_wire_async( this.event() )\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\t\t\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\t\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : error.name || error.constructor.name } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\tif( ( error_showed.get( error ) ?? this ) !== this ) 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\terror_showed.set( error, this )\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\t\t\tconst fields = this.field()\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(),\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\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( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\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} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\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\tnew this.$.$mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\tthis.dom_node().scrollIntoView({ block: 'start', inline: 'end' })\n\t\t\t\tthis.focused( true )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\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}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\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=\\\"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) }","namespace $ {\n\texport class $mol_scroll extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_top? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_top(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_left? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_left(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tscroll?event <=> event_scroll?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tscroll: (event?: any) => this.event_scroll(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_scroll?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_scroll(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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",null,null,null,null,"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 in val ) {\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 in types ) {\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 in attrs ) {\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 in media ) {\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 {\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: 'flex',\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\talignSelf: 'stretch',\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\ttransform: 'translateZ(0)', // enforce gpu scroll in all agents\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: 'visible',\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","namespace $ {\n\texport class $mol_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\article\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"article\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Body\n\t\t * \t<= Foot\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Body(),\n\t\t\t\tthis.Foot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Logo null\n\t\t * ```\n\t\t */\n\t\tLogo() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_content /\n\t\t * \t<= Logo\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\ttitle_content() {\n\t\t\treturn [\n\t\t\t\tthis.Logo(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view\n\t\t * \tdom_name \\h1\n\t\t * \tsub <= title_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"h1\"\n\t\t\tobj.sub = () => this.title_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /$mol_view_content\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Tools $mol_view sub <= tools\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTools() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.tools()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\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 * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 64\n\t\t\tobj.dom_name = () => \"header\"\n\t\t\tobj.sub = () => this.head()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_scroll_top?\n\t\t * ```\n\t\t */\n\t\tbody_scroll_top(next?: any) {\n\t\t\treturn this.Body().scroll_top(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body $mol_scroll\n\t\t * \tscroll_top? => body_scroll_top?\n\t\t * \tsub <= body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => this.body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * foot /$mol_view\n\t\t * ```\n\t\t */\n\t\tfoot() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Foot $mol_view\n\t\t * \tdom_name \\footer\n\t\t * \tsub <= foot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"footer\"\n\t\t\tobj.sub = () => this.foot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\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\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\n\t\t\tconst node = next || ( ( $mol_owning_get( this ) as $mol_wire_fiber ).host as $mol_view )!.dom_node()\n\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\n\t\t\tconst events = $mol_wire_async( this.event() )\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.addEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ] ,\n\t\t\t\t\t{ passive : false } as any ,\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn node\n\t\t}\n\n\t\tattr_static() : { [ key : string ] : string|number|boolean } {\n\t\t\treturn {}\n\t\t}\n\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\trender() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { calc } = $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// 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\tboxShadow: `0 0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 2,\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: 1000,\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},\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\tpadding: $mol_gap.block ,\n\t\t},\n\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\tboxShadow: `0 -0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\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","let $hyoo_sync_revision = \"6efc2c3\"","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)\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_int62_string = `${string}_${string}`\n\t\n\texport function $mol_int62_string_ensure( str: unknown ) {\n\t\tif( typeof str !== 'string' ) return null\n\t\treturn $mol_int62_from_string( str ) && str as $mol_int62_string\n\t}\n\t\n\texport type $mol_int62_pair = {\n\t\treadonly lo: number,\n\t\treadonly hi: number,\n\t}\n\t\n\texport const $mol_int62_max = ( 2 ** 30 ) - 1\n\texport const $mol_int62_min = - ( 2 ** 30 )\n\texport const $mol_int62_range = $mol_int62_max - $mol_int62_min + 1\n\t\n\texport function $mol_int62_to_string( { lo, hi }: $mol_int62_pair ) {\n\t\tlo = ( lo + $mol_int62_range ) % $mol_int62_range\n\t\thi = ( hi + $mol_int62_range ) % $mol_int62_range\n\t\treturn lo.toString(36) + '_' + hi.toString(36) as $mol_int62_string\n\t}\n\n\texport function $mol_int62_from_string( str: string ): null | $mol_int62_pair {\n\t\t\n\t\tconst [ str_lo, str_hi ] = str.split( '_' )\n\t\t\n\t\tconst int_lo = parseInt( str_lo, 36 )\n\t\tconst int_hi = parseInt( str_hi, 36 )\n\t\t\n\t\tif( int_lo.toString( 36 ) !== str_lo || int_hi.toString( 36 ) !== str_hi ) {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\treturn {\n\t\t\tlo: ( int_lo - $mol_int62_min ) % $mol_int62_range + $mol_int62_min,\n\t\t\thi: ( int_hi - $mol_int62_min ) % $mol_int62_range + $mol_int62_min,\n\t\t} as const\n\t\t\n\t}\n\n\texport function $mol_int62_compare(\n\t\tleft_lo: number,\n\t\tleft_hi: number,\n\t\tright_lo: number,\n\t\tright_hi: number,\n\t) {\n\t\treturn ( right_hi - left_hi ) || ( right_lo - left_lo )\n\t}\n\n\texport function $mol_int62_inc(\n\t\tlo: number,\n\t\thi: number,\n\t\tmax = $mol_int62_max,\n\t): $mol_int62_pair {\n\t\tif( lo === max ) {\n\t\t\treturn { lo: -max, hi: hi + 1 }\n\t\t} else {\n\t\t\treturn { lo: lo + 1, hi }\n\t\t}\n\t}\n\n\texport function $mol_int62_random(): $mol_int62_pair {\n\t\treturn {\n\t\t\tlo: Math.floor( Math.random() * $mol_int62_range + $mol_int62_min ),\n\t\t\thi: Math.floor( Math.random() * $mol_int62_range + $mol_int62_min ),\n\t\t}\n\t}\n\n\texport function $mol_int62_hash_string( str: string ) {\n\t\treturn $mol_int62_to_string(\n\t\t\t$mol_int62_hash_buffer(\n\t\t\t\t$mol_charset_encode( str ),\n\t\t\t)\n\t\t)\n\t}\n\t\n\texport function $mol_int62_hash_buffer( buf: Uint8Array, seed = { lo: 0, hi: 0 } ): $mol_int62_pair {\n\t\t\n\t\tlet h1 = 0xdeadbeef ^ seed.lo\n\t\tlet h2 = 0x41c6ce57 ^ seed.hi\n\t\t\n\t\tfor( const byte of buf ) {\n\t\t\th1 = Math.imul( h1 ^ byte, 2654435761 )\n\t\t\th2 = Math.imul( h2 ^ byte, 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 { lo: h1 << 1 >> 1, hi: h2 << 1 >> 1 }\n\t}\n\t\n}\n",null,"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_diff_path< Item >( ... paths : Item[][] ) {\n\n\t\tconst limit = Math.min( ... paths.map( path => path.length ) )\n\n\t\tlookup: for( var i = 0 ; i < limit ; ++i ) {\n\n\t\t\tconst first = paths[0][i]\n\n\t\t\tfor( let j = 1 ; j < paths.length ; ++j ) {\n\t\t\t\tif( paths[j][i] !== first ) break lookup\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\tprefix : paths[0].slice( 0 , i ) ,\n\t\t\tsuffix : paths.map( path => path.slice( i ) ) ,\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends Error {\n\n\t\terrors : Error[]\n\n\t\tconstructor( message : string , ... errors : Error[] ) {\n\n\t\t\tsuper( message )\n\t\t\t\n\t\t\tthis.errors = errors\n\n\t\t\tif( errors.length ) {\n\n\t\t\t\tconst stacks = [ ... errors.map( error => error.stack ) , this.stack ]\n\t\t\t\t\n\t\t\t\tconst diff = $mol_diff_path( ... stacks.map( stack => {\n\t\t\t\t\tif( !stack ) return []\n\t\t\t\t\treturn stack.split( '\\n' ).reverse()\n\t\t\t\t} ) )\n\t\t\t\t\n\t\t\t\tconst head = diff.prefix.reverse().join( '\\n' )\n\t\t\t\tconst tails = diff.suffix.map( path => path.reverse().map( line => line.replace( /^(?!\\s+at)/ , '\\tat (.) ' ) ).join( '\\n' ) ).join( '\\n\\tat (.) -----\\n' )\n\n\t\t\t\tthis.stack = `Error: ${ this.constructor.name }\\n\\tat (.) /\"\"\"\\\\\\n${ tails }\\n\\tat (.) \\\\___/\\n${ head }`\n\t\t\t\tthis.message += errors.map( error => '\\n' + error.message ).join( '' )\n\n\t\t\t}\n\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\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 value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $ {\n\texport var $mol_crypto_native = $node.crypto.webcrypto as any as Crypto\n}\n","namespace $ {\n\n\t/** @FIXME Need polyfill for Safari and Node (https://github.com/microsoft/MSR-JavaScript-Crypto/) */\n\tconst algorithm = {\n\t\tname: 'ECDSA',\n\t\thash: 'SHA-256',\n\t\tnamedCurve: \"P-256\",\n\t}\n\t\n\t/** Asymmetric signing pair with shortest payload */\n\texport async function $mol_crypto_auditor_pair( this: $ ) {\n\t\t\n\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\talgorithm,\n\t\t\ttrue,\n\t\t\t[ 'sign', 'verify' ]\n\t\t)\n\t\t\n\t\treturn {\n\t\t\t\n\t\t\tpublic: new $mol_crypto_auditor_public(\n\t\t\t\tpair.publicKey as CryptoKey & { type: 'public' }\n\t\t\t),\n\t\t\t\n\t\t\tprivate: new $mol_crypto_auditor_private(\n\t\t\t\tpair.privateKey as CryptoKey & { type: 'private' }\n\t\t\t),\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t/** Asymmetric signing public key wrapper with shortest payload */\n\texport class $mol_crypto_auditor_public extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 86\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'public' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tstatic async from( serial: string ) {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'jwk',\n\t\t\t\t\t{\n\t\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\t\text: true,\n\t\t\t\t\t\tkey_ops: ['verify'],\n\t\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\t},\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'verify' ],\n\t\t\t\t) as CryptoKey & { type: 'public' }\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** 62 bytes */\n\t\tasync serial(): Promise< string > {\n\t\t\tconst { x, y } = await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'jwk',\n\t\t\t\tthis.native,\n\t\t\t)\n\t\t\treturn x! + y!\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\talgorithm,\n\t\t\t\tthis.native,\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\t/** Asymmetric signing private key wrapper with shortest payload */\n\texport class $mol_crypto_auditor_private extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 129\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'private' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\n\t\tstatic async from( serial: string ) {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'jwk',\n\t\t\t\t\t{\n\t\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\t\text: true,\n\t\t\t\t\t\tkey_ops: ['sign'],\n\t\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\t\td: serial.slice( 86, 129 ),\n\t\t\t\t\t},\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'sign' ],\n\t\t\t\t) as CryptoKey & { type: 'private' }\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** 129 bytes */\n\t\tasync serial(): Promise< string > {\n\t\t\tconst { x, y, d } = await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'jwk',\n\t\t\t\tthis.native,\n\t\t\t)\n\t\t\treturn x! + y! + d!\n\t\t}\n\t\t\n\t\t/** 64 bytes */\n\t\tasync sign( data: BufferSource ) {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.sign(\n\t\t\t\talgorithm,\n\t\t\t\tthis.native,\n\t\t\t\tdata\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes public key from private */\n\t\tasync public() {\n\t\t\treturn await $mol_crypto_auditor_public.from(\n\t\t\t\t$mol_crypto_auditor_private_to_public( await this.serial() )\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\t/** Sign size in bytes. */\n\texport const $mol_crypto_auditor_sign_size = 64\n\t\n\texport function $mol_crypto_auditor_private_to_public( serial: string ) {\n\t\treturn serial.slice( 0, 86 )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crowd_peer_level {\n\t\tget = 0,\n\t\tadd = 1,\n\t\tmod = 2,\n\t\tlaw = 3,\n\t}\n\t\n\texport class $hyoo_crowd_peer extends Object {\n\t\t\n\t\tid: $mol_int62_string\n\t\t\n\t\tconstructor(\n\t\t\treadonly key_public: $mol_crypto_auditor_public,\n\t\t\treadonly key_public_serial: string,\n\t\t\treadonly key_private: $mol_crypto_auditor_private,\n\t\t\treadonly key_private_serial: string,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = $mol_int62_hash_string( this.key_public_serial )\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst serial = await pair.private.serial()\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tpair.public,\n\t\t\t\t$mol_crypto_auditor_private_to_public( serial ),\n\t\t\t\tpair.private,\n\t\t\t\tserial,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async restore(\n\t\t\tserial: string,\n\t\t) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $$.$mol_crypto_auditor_public.from( serial ),\n\t\t\t\t$mol_crypto_auditor_private_to_public( serial ),\n\t\t\t\tawait $$.$mol_crypto_auditor_private.from( serial ),\n\t\t\t\tserial,\n\t\t\t)\n\t\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"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","namespace $ {\n\t\n\texport type $hyoo_crowd_unit_id = `${ $mol_int62_string }!${ $mol_int62_string }`\n\t\n\tconst level = $mol_data_enum( 'level', $hyoo_crowd_peer_level )\n\t\n\texport enum $hyoo_crowd_unit_kind {\n\t\t\n\t\t/** Grab Land by King */\n\t\tgrab,\n\t\t\n\t\t/** Join Peer to Land */\n\t\tjoin,\n\t\t\n\t\t/* Give Level for Peer for Land */\n\t\tgive,\n\t\t\n\t\t/** Add Data to Land by joined Peer with right Level */\n\t\tdata,\n\t\t\n\t}\n\t\n\texport enum $hyoo_crowd_unit_group {\n\t\t\n\t\t/** Join and Give units */\n\t\tauth = 0,\n\t\t\n\t\t/** Data units */\n\t\tdata = 1,\n\t\t\n\t}\n\t\n\t/** Independent part of data. */\n\texport class $hyoo_crowd_unit extends Object {\n\t\t\n\t\tconstructor(\n\t\n\t\t\t/** Identifier of land. */\n\t\t\treadonly land: $mol_int62_string,\n\t\t\t\n\t\t\t/** Identifier of auth. */\n\t\t\treadonly auth: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Identifier of head node. */\n\t\t\treadonly head: $mol_int62_string,\n\t\t\t\n\t\t\t/** Self identifier inside head after prev before next. */\n\t\t\treadonly self: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Identifier of next node. */\n\t\t\treadonly next: $mol_int62_string,\n\t\t\t\n\t\t\t/** Identifier of prev node. */\n\t\t\treadonly prev: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Monotonic real clock. 4B / info = 31b */\n\t\t\treadonly time: number,\n\t\t\t\n\t\t\t/** type-size = bin<0 | null=0 | json>0 */\n\t\t\t/** Associated atomic data. mem = 4B+ / bin = (0|8B)+ / type-size-info = 16b */\n\t\t\treadonly data: unknown,\n\t\t\t\n\t\t\tpublic bin: $hyoo_crowd_unit_bin | null\n\t\t\t\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tkind() {\n\t\t\t\n\t\t\tif( this.head === this.self && this.auth === this.self ) {\n\t\t\t\tif( this.head === this.land ) {\n\t\t\t\t\treturn $hyoo_crowd_unit_kind.grab\n\t\t\t\t} else {\n\t\t\t\t\treturn $hyoo_crowd_unit_kind.join\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( this.head === this.land ) {\n\t\t\t\treturn $hyoo_crowd_unit_kind.give\n\t\t\t}\n\t\t\t\n\t\t\treturn $hyoo_crowd_unit_kind.data\n\t\t}\n\t\t\n\t\tgroup() {\n\t\t\treturn this.kind() === $hyoo_crowd_unit_kind.data\n\t\t\t\t? $hyoo_crowd_unit_group.data\n\t\t\t\t: $hyoo_crowd_unit_group.auth\n\t\t}\n\t\t\n\t\tlevel() {\n\t\t\tswitch( this.kind() ) {\n\t\t\t\tcase $hyoo_crowd_unit_kind.grab: return $hyoo_crowd_peer_level.law\n\t\t\t\tcase $hyoo_crowd_unit_kind.give: return level( this.data as any )\n\t\t\t\tdefault: $mol_fail( new Error( `Wrong unit kind for getting level: ${ this.kind() }` ) )\n\t\t\t}\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn JSON.stringify( this )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tswitch( this.kind() ) {\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.grab:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t' 👑',\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.join:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 🔑 ',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.give:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 🏅 ',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$mol_dev_format_native( $hyoo_crowd_peer_level[ this.data as number ] ?? this.data ),\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.data:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 📦 ',\n\t\t\t\t\t\t\tthis.head,\n\t\t\t\t\t\t\t'!',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$mol_dev_format_native( this.data ),\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}\n\t\n\tconst offset = {\n\t\t\n\t\tland_lo: 0,\n\t\tland_hi: 4,\n\t\tauth_lo: 8,\n\t\tauth_hi: 12,\n\t\t\n\t\thead_lo: 16,\n\t\thead_hi: 20,\n\t\tself_lo: 24,\n\t\tself_hi: 28,\n\t\t\n\t\tnext_lo: 32,\n\t\tnext_hi: 36,\n\t\tprev_lo: 40,\n\t\tprev_hi: 44,\n\t\t\n\t\ttime: 48,\n\t\tsize: 54,\n\t\tdata: 56,\n\t\t\n\t} as const\n\t\n\texport class $hyoo_crowd_unit_bin extends DataView {\n\t\t\n\t\tstatic from_buffer( buffer: Int16Array ) {\n\t\t\tconst size = Math.ceil( Math.abs( buffer[ offset.size / 2 ] ) / 8 ) * 8 + offset.data + $mol_crypto_auditor_sign_size\n\t\t\treturn new this( buffer.slice( 0, size / 2 ).buffer )\n\t\t}\n\t\t\n\t\tstatic from_unit( unit: $hyoo_crowd_unit ) {\n\t\t\t\n\t\t\tif( unit.bin ) return unit.bin\n\t\t\t\n\t\t\tconst type = unit.data === null\n\t\t\t\t? 0\n\t\t\t\t: unit.data instanceof Uint8Array\n\t\t\t\t\t? -1\n\t\t\t\t\t: 1\n\t\t\t\n\t\t\tconst buff = type === 0 ? null\n\t\t\t\t: type > 0 ? $mol_charset_encode( JSON.stringify( unit.data ) )\n\t\t\t\t: unit.data as Uint8Array\n\t\t\t\n\t\t\tconst size = buff?.byteLength ?? 0\n\t\t\tif( type > 0 && size > 2**15 - 1 ) throw new Error( `Too large json data: ${size} > ${ 2**15 - 1 }` )\n\t\t\tif( type < 0 && size > 2**15 ) throw new Error( `Too large binary data: ${size} > ${ 2**15 }` )\n\t\t\t\n\t\t\tconst total = offset.data + Math.ceil( size / 8 ) * 8 + $mol_crypto_auditor_sign_size\n\t\t\t\n\t\t\tconst mem = new Uint8Array( total )\n\t\t\tconst bin = new $hyoo_crowd_unit_bin( mem.buffer )\n\t\t\t\n\t\t\tconst land = $mol_int62_from_string( unit.land )!\n\t\t\tbin.setInt32( offset.land_lo, land.lo, true )\n\t\t\tbin.setInt32( offset.land_hi, land.hi, true )\n\t\t\tconst auth = $mol_int62_from_string( unit.auth )!\n\t\t\tbin.setInt32( offset.auth_lo, auth.lo, true )\n\t\t\tbin.setInt32( offset.auth_hi, auth.hi, true )\n\t\t\t\n\t\t\tconst head = $mol_int62_from_string( unit.head )!\n\t\t\tbin.setInt32( offset.head_lo, head.lo, true )\n\t\t\tbin.setInt32( offset.head_hi, head.hi, true )\n\t\t\tconst self = $mol_int62_from_string( unit.self )!\n\t\t\tbin.setInt32( offset.self_lo, self.lo, true )\n\t\t\tbin.setInt32( offset.self_hi, self.hi, true )\n\t\t\t\n\t\t\tconst next = $mol_int62_from_string( unit.next )!\n\t\t\tbin.setInt32( offset.next_lo, next.lo, true )\n\t\t\tbin.setInt32( offset.next_hi, next.hi, true )\n\t\t\tconst prev = $mol_int62_from_string( unit.prev )!\n\t\t\tbin.setInt32( offset.prev_lo, prev.lo, true )\n\t\t\tbin.setInt32( offset.prev_hi, prev.hi, true )\n\t\t\t\n\t\t\tbin.setInt32( offset.time, unit.time, true )\n\t\t\tbin.setInt16( offset.size, type * size, true )\n\t\t\t\n\t\t\tif( buff ) mem.set( buff, offset.data )\n\t\t\t\n\t\t\treturn bin\n\t\t}\n\t\t\n\t\tsign( next?: Uint8Array ) {\n\t\t\t\n\t\t\tconst sign_offset = this.byteOffset + this.byteLength - $mol_crypto_auditor_sign_size\n\t\t\t\n\t\t\tconst buff = new Uint8Array(\n\t\t\t\tthis.buffer,\n\t\t\t\tsign_offset,\n\t\t\t\t$mol_crypto_auditor_sign_size,\n\t\t\t)\n\t\t\t\n\t\t\tif( !next ) return buff\n\t\t\t\n\t\t\tbuff.set( next )\n\t\t\treturn buff\n\t\t\t\n\t\t}\n\t\t\n\t\t// land( next?: $mol_int62_pair ) {\n\t\t\t\n\t\t// \tif( next ) {\n\t\t\t\t\n\t\t// \t\tthis.setInt32( offset.land_lo, next.lo, true )\n\t\t// \t\tthis.setInt32( offset.land_hi, next.hi, true )\n\t\t// \t\treturn next\n\t\t\t\t\n\t\t// \t} else {\n\t\t\t\t\n\t\t// \t\treturn {\n\t\t// \t\t\tlo: this.getInt32( offset.land_lo, true ),\n\t\t// \t\t\thi: this.getInt32( offset.land_hi, true ),\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t}\n\n\t\t// }\n\t\t\n\t\tsize() {\n\t\t\treturn Math.ceil( Math.abs( this.getInt16( offset.size, true ) ) / 8 ) * 8 + offset.data + $mol_crypto_auditor_sign_size\n\t\t}\n\t\t\n\t\t// data() {\n\t\t// \tconst info = this.getUint16( offset.data )\n\t\t// \tconst size = Math.abs( info )\n\t\t// \tconst buf = new Uint8Array( this.buffer, this.byteOffset + offset.sens, size )\n\t\t// \tconst data = info > 0 ? JSON.parse( $mol_charset_decode( buf ) ) : info < 0 ? buf : null\n\t\t// \treturn data\n\t\t// }\n\t\t\n\t\tsens() {\n\t\t\treturn new Uint8Array(\n\t\t\t\tthis.buffer,\n\t\t\t\tthis.byteOffset,\n\t\t\t\tthis.size() - $mol_crypto_auditor_sign_size,\n\t\t\t)\n\t\t}\n\t\t\n\t\tunit(): $hyoo_crowd_unit {\n\t\t\t\n\t\t\tconst land = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.land_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.land_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst auth = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.auth_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.auth_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst head = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.head_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.head_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst self = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.self_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.self_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst next = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.next_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.next_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst prev = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.prev_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.prev_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst time = this.getInt32( offset.time, true ) << 1 >> 1\n\t\t\tconst type_size = this.getInt16( offset.size, true )\n\t\t\t\n\t\t\tlet data = null as unknown\n\t\t\t\n\t\t\tif( type_size ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tvar buff = new Uint8Array( this.buffer, this.byteOffset + offset.data, Math.abs( type_size ) )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror['message'] += `\\nhead=${head};self=${self}`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( type_size < 0 ) data = buff\n\t\t\t\telse data = JSON.parse( $mol_charset_decode( buff ) )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn new $hyoo_crowd_unit(\n\t\t\t\tland, auth,\n\t\t\t\thead, self,\n\t\t\t\tnext, prev,\n\t\t\t\ttime, data,\n\t\t\t\tthis,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\texport function $hyoo_crowd_unit_compare(\n\t\tleft: $hyoo_crowd_unit,\n\t\tright: $hyoo_crowd_unit,\n\t) {\n\t\treturn ( left.group() - right.group() )\n\t\t\t|| ( left.time - right.time )\n\t\t\t\n\t\t\t|| ( ( left.auth > right.auth ) ? 1 : ( left.auth < right.auth ) ? -1 : 0 )\n\t\t\t|| ( ( left.self > right.self ) ? 1 : ( left.self < right.self ) ? -1 : 0 )\n\t\t\t|| ( ( left.head > right.head ) ? 1 : ( left.head < right.head ) ? -1 : 0 )\n\t\t\t|| ( ( left.prev > right.prev ) ? 1 : ( left.prev < right.prev ) ? -1 : 0 )\n\t\t\t|| ( ( left.next > right.next ) ? 1 : ( left.next < right.next ) ? -1 : 0 )\n\t\t\t|| ( ( left.land > right.land ) ? 1 : ( left.land < right.land ) ? -1 : 0 )\n\t\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\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\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\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\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\t\n\t\t\t},\n\t\t\t\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\tconst fiber = temp( self, args )\n\t\t\t\treturn fiber.sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as any as (\n\t\t\tHost extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise< infer Res2 >\n\t\t\t\t\t? ( ... args: Args )=> Res2\n\t\t\t\t\t: Host\n\t\t\t\t: {}\n\t\t) & {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\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 ) 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_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport async function $hyoo_sync_peer( path: string, next?: string ) {\n\t\t\n\t\tlet serial = $mol_state_local.value( '$hyoo_sync_peer', next ) as string | null\n\t\tif( typeof serial === 'string' ) {\n\t\t\treturn await $hyoo_crowd_peer.restore( serial )\n\t\t}\n\t\t\n\t\tconst peer = await $hyoo_crowd_peer.generate()\n\t\t$mol_state_local.value( '$hyoo_sync_peer', peer.key_private_serial )\n\t\treturn peer\n\t\t\n\t}\n\n\t\n}\n","namespace $ {\n\t\n\t/** Internal int31 representation of current time. */\n\texport function $hyoo_crowd_time_now() {\n\t\treturn Math.floor( Date.now() / 100 ) - 1767e7\n\t}\n\t\n\t/** Returns unix timestamp for internal time representation. */\n\texport function $hyoo_crowd_time_stamp( time: number ) {\n\t\treturn 1767e9 + time * 100\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Vector clock. Stores real timestamps. */\n\texport class $hyoo_crowd_clock extends Map<\n\t\t$mol_int62_string,\n\t\tnumber\n\t> {\n\t\t\n\t\tstatic begin = -1 * 2**30\n\t\t\n\t\t/** Maximum time for all peers. */\n\t\tlast_time = $hyoo_crowd_clock.begin\n\t\t\n\t\tconstructor(\n\t\t\tentries?: Iterable<\n\t\t\t\treadonly [ $mol_int62_string, number ]\n\t\t\t>\n\t\t) {\n\t\t\t\n\t\t\tsuper( entries )\n\t\t\tif( !entries ) return\n\t\t\t\n\t\t\tfor( const [ peer, time ] of entries ) {\n\t\t\t\tthis.see_time( time )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Synchronize this clock with another. */\n\t\tsync( right: $hyoo_crowd_clock ) {\n\t\t\tfor( const [ peer, time ] of right ) {\n\t\t\t\tthis.see_peer( peer, time )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Increase `last` to latest. */\n\t\tsee_time( time: number ) {\n\t\t\tif( time < this.last_time ) return\n\t\t\tthis.last_time = time\n\t\t}\n\t\t\n\t\t/** Add new `time` for `peer` and increase `last`. */\n\t\tsee_peer(\n\t\t\tpeer: $mol_int62_string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\t\n\t\t\tif( !this.fresh( peer, time ) ) return\n\t\t\t\n\t\t\tthis.set( peer, time )\n\t\t\tthis.see_time( time )\n\t\t\t\n\t\t}\n\t\t\n\t\tsee_bin( bin: $hyoo_crowd_clock_bin, group: $hyoo_crowd_unit_group ) {\n\t\t\t\n\t\t\tfor( let cursor = offset.clocks; cursor < bin.byteLength; cursor += 16 ) {\n\t\t\t\t\n\t\t\t\tthis.see_peer(\n\t\t\t\t\t$mol_int62_to_string({\n\t\t\t\t\t\tlo: bin.getInt32( cursor + 0, true ) << 1 >> 1,\n\t\t\t\t\t\thi: bin.getInt32( cursor + 4, true ) << 1 >> 1,\n\t\t\t\t\t}),\n\t\t\t\t\tbin.getInt32( cursor + 8 + 4 * group, true )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t/** Checks if time from future. */\n\t\tfresh(\n\t\t\tpeer: $mol_int62_string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\treturn time > this.time( peer )\n\t\t}\n\t\t\n\t\t/** Checks if this clock from future of another. */\n\t\tahead( clock: $hyoo_crowd_clock ) {\n\t\t\t\n\t\t\tfor( const [ peer, time ] of this ) {\n\t\t\t\tif( clock.fresh( peer, time ) ) return true\n\t\t\t}\n\t\t\t\n\t\t\treturn false\n\t\t}\n\t\t\n\t\ttime( peer: $mol_int62_string ) {\n\t\t\treturn this.get( peer ) ?? $hyoo_crowd_clock.begin\n\t\t}\n\t\t\n\t\tnow() {\n\t\t\treturn $hyoo_crowd_time_now()\n\t\t}\n\t\t\n\t\tlast_stamp() {\n\t\t\treturn $hyoo_crowd_time_stamp( this.last_time )\n\t\t}\n\t\t\n\t\t/** Gererates new time for peer that greater then other seen. */\n\t\ttick( peer: $mol_int62_string ) {\n\t\t\t\n\t\t\tlet time = this.now()\n\t\t\t\n\t\t\tif( time <= this.last_time ) {\n\t\t\t\ttime = this.last_time + 1\n\t\t\t}\n\t\t\t\n\t\t\tthis.see_peer( peer, time )\n\t\t\t\n\t\t\treturn time\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( ' ' + new Date( this.last_stamp() ).toISOString().replace( 'T', ' ' ) ) ,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\tconst offset = {\n\t\t\n\t\tland_lo: 0,\n\t\tland_hi: 4,\n\t\t\n\t\tcount: 8,\n\t\t\n\t\tclocks: 16,\n\t\t\n\t} as const\n\t\n\texport class $hyoo_crowd_clock_bin extends DataView {\n\t\t\n\t\tstatic from(\n\t\t\tland_id: $mol_int62_string,\n\t\t\tclocks: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ],\n\t\t\tcount: number,\n\t\t) {\n\t\t\t\n\t\t\tconst size = offset.clocks + clocks[0].size * 16\n\t\t\tconst mem = new Uint8Array( size )\n\t\t\tconst bin = new $hyoo_crowd_clock_bin( mem.buffer )\n\t\t\t\n\t\t\tconst land = $mol_int62_from_string( land_id )!\n\t\t\tbin.setInt32( offset.land_lo, land.lo ^ ( 1 << 31 ), true )\n\t\t\tbin.setInt32( offset.land_hi, land.hi, true )\n\t\t\t\n\t\t\tbin.setInt32( offset.count, count, true )\n\t\t\t\n\t\t\tlet cursor = offset.clocks\n\t\t\tfor( const [ peer_id, time ] of clocks[0] ) {\n\t\t\t\t\n\t\t\t\tconst peer = $mol_int62_from_string( peer_id )!\n\t\t\t\t\n\t\t\t\tbin.setInt32( cursor + 0, peer.lo, true )\n\t\t\t\tbin.setInt32( cursor + 4, peer.hi, true )\n\t\t\t\t\n\t\t\t\tbin.setInt32( cursor + 8, time, true )\n\t\t\t\tbin.setInt32( cursor + 12, clocks[1].get( peer_id ) ?? $hyoo_crowd_clock.begin, true )\n\t\t\t\t\n\t\t\t\tcursor += 16\n\t\t\t}\n\t\t\t\n\t\t\treturn bin\n\t\t}\n\t\t\n\t\tland() {\n\t\t\treturn $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.land_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.land_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t}\n\t\t\n\t\tcount() {\n\t\t\treturn this.getInt32( offset.count, true )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Stateless non-unique adapter to CROWD Tree for given Head. */\n\texport class $hyoo_crowd_node extends $mol_object2 {\n\t\t\n\t\tconstructor(\n\t\t\treadonly land = new $hyoo_crowd_land,\n\t\t\treadonly head: $mol_int62_string = '0_0',\n\t\t) { super() }\n\t\t\n\t\tstatic for< Node extends typeof $hyoo_crowd_node >(\n\t\t\tthis: Node,\n\t\t\tland: $hyoo_crowd_land,\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\treturn new this( land, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tid() {\n\t\t\treturn this.head === '0_0'\n\t\t\t\t? this.land.id()\n\t\t\t\t: `${ this.land.id() }!${ this.head }` as $hyoo_crowd_unit_id\n\t\t}\n\t\t\n\t\tworld() {\n\t\t\treturn this.land.world()\n\t\t}\n\t\t\n\t\t/** Returns another representation of this node. */\n\t\tas< Node extends typeof $hyoo_crowd_node >( Node: Node ) {\n\t\t\treturn this.world()?.Fund( Node ).Item( `${ this.land.id() }!${ this.head }` ) ?? new Node( this.land, this.head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** Ordered inner alive Units. */\n\t\tunits() {\n\t\t\treturn this.land.unit_alives( 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_crowd_node >( Node: Node ) {\n\t\t\tconst fund = this.world()?.Fund( Node )\n\t\t\treturn this.units().map( unit => fund?.Item( `${ this.land.id() }!${ unit.self }` ) ?? new Node( this.land, unit.self ) as InstanceType< Node > )\n\t\t}\n\t\t\n\t\t/** Returns true when node value is never changed. */\n\t\tvirgin() {\n\t\t\treturn this.land.unit_list( this.head ).length === 0\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn `${ this.constructor.name }(\"${ this.land.id() }\",\"${ this.head }\")`\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.id()\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( this.land.unit_list( this.head ) ) ,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crowd_reg extends $hyoo_crowd_node {\n\t\t\n\t\t/** Atomic value. */\n\t\tvalue( next?: unknown ) {\n\t\t\t\n\t\t\tconst unit = this.units().at(-1)\n\t\t\tif( next === undefined ) return unit?.data ?? null\n\t\t\t\t\n\t\t\tif( $mol_compare_deep( unit?.data, next ) ) return next\n\t\t\t\n\t\t\tthis.land.put(\n\t\t\t\tthis.head,\n\t\t\t\tunit?.self ?? this.land.id_new(),\n\t\t\t\t'0_0',\n\t\t\t\tnext,\n\t\t\t)\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/** Atomic string. */\n\t\tstr( next?: string ) {\n\t\t\treturn String( this.value( next ) ?? '' )\n\t\t}\n\t\t\n\t\t/** Atomic number. */\n\t\tnumb( next?: number ) {\n\t\t\treturn Number( this.value( next ) )\n\t\t}\n\t\t\n\t\t/** Atomic boolean. */\n\t\tbool( next?: boolean ) {\n\t\t\treturn Boolean( this.value( next ) )\n\t\t}\n\t\t\n\t\tyoke(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\t\n\t\t\tconst world = this.world()!\n\t\t\t\n\t\t\tlet land_id = $mol_int62_string_ensure( this.value() )\n\t\t\tif( land_id ) return world.land_sync( land_id )\n\t\t\t\n\t\t\tif( !this.land.allowed_add() ) return null\n\t\t\t\n\t\t\tconst land = $mol_wire_sync( world ).grab( law, mod, add )\n\t\t\t\n\t\t\tthis.value( land.id() )\n\t\t\tworld.land_init( land )\n\t\t\t\n\t\t\treturn land\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $hyoo_crowd_struct extends $hyoo_crowd_node {\n\t\t\n\t\t/** Returns inner node for key. */\n\t\tsub< Node extends typeof $hyoo_crowd_node >( key: string, Node: Node ) {\n\t\t\tconst head = $mol_int62_hash_string( key + '\\n' + this.head )\n\t\t\treturn this.world()?.Fund( Node ).Item( `${ this.land.id() }!${ head }` ) ?? new Node( this.land, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\tyoke< Node extends typeof $hyoo_crowd_node >(\n\t\t\tkey: string,\n\t\t\tNode: Node,\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\tconst land = this.sub( key, $hyoo_crowd_reg ).yoke( law, mod, add )\n\t\t\treturn land?.chief.sub( key, Node ) ?? null\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Conflict-free Reinterpretable Ordered Washed Data Tree */\n\texport class $hyoo_crowd_land extends $mol_object {\n\t\t\n\t\t@ $mol_memo.method\n\t\tid() {\n\t\t\treturn $mol_int62_to_string( $mol_int62_random() )\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.id()\n\t\t}\n\t\t\n\t\tpeer() {\n\t\t\treturn this.world()?.peer!\n\t\t}\n\t\t\n\t\tpeer_id() {\n\t\t\treturn this.peer()?.id ?? '0_0'\n\t\t}\n\t\t\n\t\tworld(): $hyoo_crowd_world | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget clock_auth() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks[ $hyoo_crowd_unit_group.auth ]\n\t\t}\n\t\t\n\t\tget clock_data() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks[ $hyoo_crowd_unit_group.data ]\n\t\t}\n\t\t\n\t\tget clocks() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks\n\t\t}\n\t\t\n\t\tget clocks_bin() {\n\t\t\treturn new Uint8Array( $hyoo_crowd_clock_bin.from( this.id(), this._clocks, this._unit_all.size ).buffer )\n\t\t}\n\t\t\n\t\treadonly pub = new $mol_wire_pub\n\t\treadonly _clocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t\n\t\t/** unit by head + self */\n\t\t_unit_all = new Map<\n\t\t\t$hyoo_crowd_unit_id,\n\t\t\t$hyoo_crowd_unit\n\t\t>()\n\t\t\n\t\tunit(\n\t\t\thead: $mol_int62_string,\n\t\t\tself: $mol_int62_string,\n\t\t) {\n\t\t\treturn this._unit_all.get(`${ head }!${ self }`)\n\t\t}\n\t\t\n\t\t/** units by head */\n\t\t_unit_lists = new Map<\n\t\t\t$mol_int62_string,\n\t\t\tundefined | $hyoo_crowd_unit[] & { dirty: boolean }\n\t\t>()\n\t\t\n\t\t/** Units by Head without tombstones */\n\t\t_unit_alives = new Map<\n\t\t\t$mol_int62_string,\n\t\t\tundefined | $hyoo_crowd_unit[]\n\t\t>()\n\t\t\n\t\tsize() {\n\t\t\treturn this._unit_all.size\n\t\t}\n\t\t\n\t\t/** Returns list of all Units for Node. */ \n\t\tunit_list(\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tlet kids = this._unit_lists.get( head )\n\t\t\tif( !kids ) this._unit_lists.set( head, kids = Object.assign( [], { dirty: false } ) )\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Returns list of alive Units for Node. */ \n\t\tunit_alives(\n\t\t\thead: $mol_int62_string,\n\t\t): readonly $hyoo_crowd_unit[] {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tlet kids = this._unit_alives.get( head )\n\t\t\tif( !kids ) {\n\t\t\t\t\n\t\t\t\tconst all = this.unit_list( head )\n\t\t\t\tif( all.dirty ) this.resort( head )\n\t\t\t\t\n\t\t\t\tkids = all.filter( kid => kid.data !== null )\n\t\t\t\tthis._unit_alives.set( head, kids )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Node by id and type. */\n\t\tnode< Node extends typeof $hyoo_crowd_node >( head: $mol_int62_string, Node: Node ) {\n\t\t\treturn new Node( this, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** Root Node. */\n\t\tchief = this.node( '0_0', $hyoo_crowd_struct )\n\t\t\n\t\t/** Generates new identifier. */\n\t\tid_new(): $mol_int62_string {\n\t\t\t\n\t\t\tfor( let i = 0; i < 1000; ++i ) {\n\t\t\t\t\n\t\t\t\tconst id = $mol_int62_to_string( $mol_int62_random() )\n\t\t\t\t\n\t\t\t\tif( id === '0_0' ) continue // zero reserved for empty\n\t\t\t\tif( id === this.id() ) continue // reserved for rights\n\t\t\t\tif( this._unit_lists.has( id ) ) continue // skip already exists\n\t\t\t\t\n\t\t\t\treturn id\n\t\t\t}\n\t\t\t\n\t\t\tthrow new Error( `Can't generate ID after 1000 times` )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes independent clone with defined peer. */\n\t\tfork( auth: $hyoo_crowd_peer ) {\n\t\t\t\n\t\t\tconst fork = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( this.id() ),\n\t\t\t\tpeer: $mol_const( auth ),\n\t\t\t})\n\t\t\t\n\t\t\treturn fork.apply( this.delta() )\n\t\t}\n\t\t\n\t\t/** Makes Delta bettween Clock and now. */\n\t\tdelta(\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst delta = [] as $hyoo_crowd_unit[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tconst time = clocks[ unit.group() ].time( unit.auth )\n\t\t\t\tif( unit.time <= time ) continue\n\t\t\t\t\n\t\t\t\tdelta.push( unit! )\n\t\t\t}\n\t\t\t\n\t\t\tdelta.sort( $hyoo_crowd_unit_compare )\n\t\t\t\n\t\t\treturn delta as readonly $hyoo_crowd_unit[]\n\t\t}\n\t\t\n\t\tresort(\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst kids = this._unit_lists.get( head )!\n\t\t\tif( !kids.dirty ) return kids\n\t\t\t\n\t\t\tif( kids.length < 2 ) {\n\t\t\t\tkids.dirty = true\n\t\t\t\treturn kids\n\t\t\t}\n\t\t\t\n\t\t\tconst queue = kids.splice(0).sort(\n\t\t\t\t( left, right )=> - $hyoo_crowd_unit_compare( left, right )\n\t\t\t)\n\t\t\t\n\t\t\tconst locate = ( self: $mol_int62_string )=> {\n\t\t\t\t\n\t\t\t\tfor( let i = kids.length - 1; i >= 0; --i ) {\n\t\t\t\t\tif( kids[i].self === self ) return i\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\t\n\t\t\twhile( queue.length ) {\n\t\t\t\t\n\t\t\t\tkids.push( queue.pop()! )\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\tlet index = 0\n\n\t\t\t\t\tif( kid.prev !== '0_0' ) {\n\t\t\t\t\t\tindex = locate( kid.prev ) + 1\n\t\t\t\t\t\tif( !index ) continue\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\twhile( kids[ index ] && ( $hyoo_crowd_unit_compare( kids[ index ], kid ) > 0 ) ) ++ index\n\t\t\t\t\t\n\t\t\t\t\tconst exists = locate( kid.self )\n\t\t\t\t\tif( index === exists ) {\n\t\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif( exists >= 0 ) {\n\t\t\t\t\t\tkids.splice( exists, 1 )\n\t\t\t\t\t\tif( exists < index ) -- index\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tkids.splice( index, 0, 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\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tkids.dirty = false\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state. */\n\t\tapply( delta: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\tfor( const next of delta ) {\n\t\t\t\t\n\t\t\t\tthis._clocks[ next.group() ].see_peer( next.auth, next.time )\n\t\t\t\tconst kids = this.unit_list( next.head )\n\t\t\t\tconst next_id = `${ next.head }!${ next.self }` as const\n\t\t\t\t\n\t\t\t\tlet prev = this._unit_all.get( next_id )\n\t\t\t\tif( prev ) {\n\t\t\t\t\tif( $hyoo_crowd_unit_compare( prev, next ) > 0 ) continue\n\t\t\t\t\tkids[ kids.indexOf( prev ) ] = next\n\t\t\t\t} else {\n\t\t\t\t\tkids.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis._unit_all.set( next_id, next )\n\t\t\t\tif( kids.length > 1 ) kids.dirty = true\n\t\t\t\tthis._unit_alives.set( next.head, undefined )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t_joined = false\n\t\t\n\t\t/** Register public key of current peer **/\n\t\tjoin() {\n\t\t\t\n\t\t\tif( this._joined ) return\n\t\t\t\n\t\t\tconst auth = this.peer()\n\t\t\tif( !auth ) return\n\t\t\tif( !auth.key_public_serial ) return\n\t\t\t\n\t\t\tconst auth_id = `${ auth.id }!${ auth.id }` as const\n\t\t\t\n\t\t\tconst auth_unit = this._unit_all.get( auth_id )\n\t\t\tif( auth_unit?.data ) return this._joined = true\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( auth.id )\n\t\t\t\n\t\t\tconst join_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth.id,\n\t\t\t\tauth.id, auth.id,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, auth.key_public_serial,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( auth_id, join_unit )\n\t\t\t\n\t\t\tthis._joined = true\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Unregister public key of current peer **/\n\t\tleave() {\n\t\t\t\n\t\t\tconst auth = this.peer()\n\t\t\tif( !auth ) return\n\t\t\tif( !auth.key_public_serial ) return\n\t\t\t\n\t\t\tconst auth_id = `${ auth.id }!${ auth.id }` as const\n\t\t\t\n\t\t\tconst auth_unit = this._unit_all.get( auth_id )\n\t\t\tif( !auth_unit || !auth_unit.data ) return this._joined = false\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( auth.id )\n\t\t\t\n\t\t\tconst join_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth.id,\n\t\t\t\tauth.id, auth.id,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, null,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( auth_id, join_unit )\n\t\t\t\n\t\t\tthis._joined = false\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t}\n\t\t\n\t\tallowed_add( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.add\n\t\t}\n\t\tallowed_mod( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.mod\n\t\t}\n\t\tallowed_law( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.law\n\t\t}\n\t\t\n\t\tlevel_base( next?: $hyoo_crowd_peer_level ) {\n\t\t\tthis.level( '0_0', next )\n\t\t}\n\t\t\n\t\t/** Access level for peer. Use empty string for current peer. **/\n\t\tlevel( peer: $mol_int62_string | '', next?: $hyoo_crowd_peer_level ) {\n\t\t\t\n\t\t\tif( next ) this.join()\n\t\t\telse this.pub.promote()\n\t\t\t\n\t\t\tif( !peer ) peer = this.peer_id()\n\t\t\t\n\t\t\tconst level_id = `${ this.id() }!${ peer }` as const\n\t\t\t\n\t\t\tconst prev = this._unit_all.get( level_id )?.level()\n\t\t\t\t?? this._unit_all.get( `${ this.id() }!0_0` )?.level()\n\t\t\t\t?? ( this.id() === peer ? $hyoo_crowd_peer_level.law : $hyoo_crowd_peer_level.get )\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( next <= prev ) return prev\n\t\t\tif( !this.allowed_law() ) return prev\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( peer )\n\t\t\tconst auth = this.peer_id()\n\t\t\t\n\t\t\tconst level_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth,\n\t\t\t\tthis.id(), peer,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, next,\n\t\t\t\tnull,\n\t\t\t\t\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( level_id, level_unit )\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tgrabbed() {\n\t\t\tif( this.id() === this.peer_id() ) return true\n\t\t\tthis.pub.promote()\n\t\t\treturn this._unit_all.size > 0\n\t\t}\n\t\t\n\t\t/** All peers who have special rights to write o land. */\n\t\tpeers() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst lords = [] as $mol_int62_string[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tswitch( unit.kind() ) {\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.data: continue\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.join: continue\n\t\t\t\t\tdefault: lords.push( unit.self )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn lords as Readonly< typeof lords >\n\t\t}\n\t\t\n\t\t/** All peers who joined to land except king. */\n\t\tresidents() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst lords = [] as $mol_int62_string[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tif( unit.data === null ) continue\n\t\t\t\tif( unit.kind() !== $hyoo_crowd_unit_kind.join ) continue\n\t\t\t\t\n\t\t\t\tlords.push( unit.self )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn lords as Readonly< typeof lords >\n\t\t}\n\t\t\n\t\t/** All peers who have alive data inside land. */\n\t\tauthors() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst authors = new Set<$mol_int62_string>()\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\tif( unit.kind() !== $hyoo_crowd_unit_kind.data ) continue\n\t\t\t\tif( unit.data === null ) continue\n\t\t\t\tauthors.add( unit.auth )\n\t\t\t}\n\t\t\t\n\t\t\treturn authors\n\t\t}\n\t\t\n\t\tsteal_rights( donor: $hyoo_crowd_land ) {\n\t\t\tif( !this.allowed_law() ) return\n\t\t\tfor( const peer of donor.peers() ) {\n\t\t\t\tthis.level( peer, donor.level( peer ) )\n\t\t\t}\n\t\t}\n\t\t\n\t\tfirst_stamp() {\n\t\t\tthis.pub.promote()\n\t\t\tconst grab_unit = this._unit_all.get( `${ this.id() }!${ this.id() }` )\n\t\t\treturn ( grab_unit && $hyoo_crowd_time_stamp( grab_unit.time ) ) ?? null\n\t\t}\n\t\t\n\t\tlast_stamp() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this.clock_data.last_stamp()\n\t\t}\n\t\t\n\t\tselection( peer: $mol_int62_string ) {\n\t\t\treturn this.world()!.land_sync( peer ).chief.sub( '$hyoo_crowd_land..selection', $hyoo_crowd_reg )\n\t\t}\n\t\t\n\t\t/** Places data to tree. */\n\t\tput(\n\t\t\thead: $mol_int62_string,\n\t\t\tself: $mol_int62_string,\n\t\t\tprev: $mol_int62_string,\n\t\t\tdata: unknown,\n\t\t) {\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst old_id = `${ head }!${ self }` as const\n\t\t\tlet unit_old = this._unit_all.get( old_id )\n\t\t\tlet unit_prev = prev !== '0_0'\n\t\t\t\t? this._unit_all.get( `${ head }!${ prev }` )!\n\t\t\t\t: null\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( head )\n\t\t\tif( unit_old ) unit_list.splice( unit_list.indexOf( unit_old ), 1 )\n\t\t\t\n\t\t\tconst seat = unit_prev ? unit_list.indexOf( unit_prev ) + 1 : 0\n\t\t\tconst next = unit_list[ seat ]?.self ?? '0_0'\n\t\t\t\n\t\t\tconst auth = this.peer_id()\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.data ].tick( auth )\n\t\t\t\n\t\t\tconst unit_new = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth,\n\t\t\t\thead, self,\n\t\t\t\tnext, prev,\n\t\t\t\ttime, data,\n\t\t\t\tnull,\n\t\t\t\t\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( old_id, unit_new )\n\t\t\t\n\t\t\tunit_list.splice( seat, 0, unit_new )\n\t\t\t// unit_list.dirty = true\n\t\t\tthis._unit_alives.set( head, undefined )\n\t\t\t\n\t\t\t// this.apply([ unit_new ])\n\t\t\t\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn unit_new\n\t\t}\n\t\t\n\t\t/** Marks unit as deleted and wipes its data. */\n\t\twipe( unit: $hyoo_crowd_unit ) {\n\t\t\t\n\t\t\tif( unit.data === null ) return unit\n\t\t\t\n\t\t\t// for( const kid of this.unit_list( unit.self ) ) {\n\t\t\t// \tthis.wipe( kid )\n\t\t\t// }\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( unit.head )\n\t\t\tconst seat = unit_list.indexOf( unit )\n\t\t\t\n\t\t\tconst prev = seat > 0 ? unit_list[ seat - 1 ].self : seat < 0 ? unit.prev : '0_0'\n\t\t\t\n\t\t\treturn this.put(\n\t\t\t\tunit.head,\n\t\t\t\tunit.self,\n\t\t\t\tprev,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves Unit after another Prev inside some Head. */\n\t\tmove(\n\t\t\tunit: $hyoo_crowd_unit,\n\t\t\thead: $mol_int62_string,\n\t\t\tprev: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( unit.head )\n\t\t\t\n\t\t\tconst seat = unit_list.indexOf( unit )\n\t\t\tconst next = unit_list[ seat + 1 ]\n\t\t\t\n\t\t\tthis.wipe( unit )\n\t\t\t\n\t\t\tif( next ) this.put(\n\t\t\t\tnext.head,\n\t\t\t\tnext.self,\n\t\t\t\tunit_list[ unit_list.indexOf( next ) - 2 ]?.self ?? '0_0',\n\t\t\t\tnext.data,\n\t\t\t)\n\t\t\t\n\t\t\tthis.put(\n\t\t\t\thead,\n\t\t\t\tunit.self,\n\t\t\t\tprev,\n\t\t\t\tunit.data\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves Unit at given Seat inside given Head. */\n\t\tinsert(\n\t\t\tunit: $hyoo_crowd_unit,\n\t\t\thead: $mol_int62_string,\n\t\t\tseat: number,\n\t\t) {\n\t\t\tconst list = this.unit_list( head )\n\t\t\tconst prev = seat ? list[ seat - 1 ].self : '0_0'\n\t\t\treturn this.move( unit, head, prev )\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}\n\t\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\t\n\t/** Registry of nodes as domain entities. */\n\texport class $hyoo_crowd_fund< Node extends typeof $hyoo_crowd_node > extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\tpublic world: $hyoo_crowd_world,\n\t\t\tpublic Node: Node,\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tItem( id: $mol_int62_string | `${$mol_int62_string}!${$mol_int62_string}` ): InstanceType {\n\t\t\tconst [ land, head ] = id.split( '!' ) as [ $mol_int62_string, $mol_int62_string | undefined ]\n\t\t\tif( !head ) return this.Item( `${land}!0_0` )\n\t\t\treturn this.world.land_sync( land ).node( head, this.Node )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tmake(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\tconst land = $mol_wire_sync( this.world ).grab( law, mod, add )\n\t\t\treturn this.Item( land.id() )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** @deprecated */\n\texport let $mol_dict_key = $mol_key\n\n\t/**\n\t * Dictionary with extended keys support\n\t */\n\texport class $mol_dict< Key , Value > extends Map< Key , Value > {\n\n\t\tget( key : Key ) {\n\t\t\treturn super.get( $mol_key( key ) as any )\n\t\t}\n\n\t\thas( key : Key ) {\n\t\t\treturn super.has( $mol_key( key ) as any )\n\t\t}\n\n\t\tset( key : Key , value : Value ) {\n\t\t\treturn super.set( $mol_key( key ) as any , value )\n\t\t}\n\n\t\tdelete( key : Key ) {\n\t\t\treturn super.delete( $mol_key( key ) as any )\n\t\t}\n\n\t\tforEach( back : ( value : Value , key : Key , dict : Map< Key , Value > ) => void , context? : any ) {\n\t\t\treturn super.forEach( ( val , key , dict )=> {\n\t\t\t\tif( typeof key === 'string' ) key = JSON.parse( key )\n\t\t\t\treturn back.call( this , val , key , dict )\n\t\t\t} , context )\n\t\t}\n\n\t\tkeys() {\n\t\t\tconst iterator = super.keys()\n\t\t\t\n\t\t\treturn {\n\t\t\t\t[Symbol.iterator]() {\n\t\t\t\t\treturn this\n\t\t\t\t},\n\t\t\t\tnext() {\n\t\t\t\t\t\n\t\t\t\t\tconst iteration = iterator.next()\n\t\t\t\t\tif( iteration.done ) return iteration\n\t\t\t\t\t\n\t\t\t\t\titeration.value = JSON.parse( iteration.value as any as string )\n\t\t\t\t\treturn iteration\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tconst iterator = super.entries()\n\t\t\t\n\t\t\treturn {\n\t\t\t\t[Symbol.iterator]() {\n\t\t\t\t\treturn this\n\t\t\t\t},\n\t\t\t\tnext() {\n\t\t\t\t\t\n\t\t\t\t\tconst iteration = iterator.next()\n\t\t\t\t\tif( iteration.done ) return iteration\n\t\t\t\t\t\n\t\t\t\t\titeration.value = [ JSON.parse( iteration.value[0] as any as string ), iteration.value[1] ]\n\t\t\t\t\t// iteration.value[0] = JSON.parse( iteration.value[0] as any as string )\n\t\t\t\t\treturn iteration\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\treturn this.entries()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport class $hyoo_crowd_world extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\treadonly peer?: $hyoo_crowd_peer\n\t\t) {\n\t\t\tsuper()\n\t\t\tif( peer ) this._knights.set( peer.id , peer )\n\t\t}\n\t\t\n\t\treadonly lands_pub = new $mol_wire_pub\n\t\t\n\t\t_lands = new Map<\n\t\t\t$mol_int62_string,\n\t\t\t$hyoo_crowd_land\n\t\t>()\n\t\t\n\t\tget lands() {\n\t\t\tthis.lands_pub.promote()\n\t\t\treturn this._lands\n\t\t}\n\t\t\n\t\tland_init( id: $hyoo_crowd_land ) { }\n\t\t\n\t\tland(\n\t\t\tid: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst exists = this._lands.get( id )\n\t\t\tif( exists ) return exists\n\t\t\t\n\t\t\tconst land = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( id ),\n\t\t\t\tworld: $mol_const( this ),\n\t\t\t})\n\t\t\t\n\t\t\tthis._lands.set( id, land )\n\t\t\tthis.lands_pub.emit()\n\t\t\t\n\t\t\treturn land\n\t\t}\n\t\t\n\t\tland_sync(\n\t\t\tid: $mol_int62_string,\n\t\t) {\n\t\t\tconst land = this.land( id )\n\t\t\tthis.land_init( land )\n\t\t\treturn land\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tFund< Item extends typeof $hyoo_crowd_node >( Item: Item ) {\n\t\t\treturn new $hyoo_crowd_fund( this, Item )\n\t\t}\n\t\t\n\t\thome() {\n\t\t\treturn this.land_sync( this.peer!.id )\n\t\t}\n\t\t\n\t\t_knights = new $mol_dict<\n\t\t\t$mol_int62_string,\n\t\t\t$hyoo_crowd_peer\n\t\t>()\n\t\t\n\t\t_signs = new WeakMap< $hyoo_crowd_unit, Uint8Array >()\n\t\t\n\t\tasync grab(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\t\n\t\t\t// if( !law.length && !mod.length && !add.length ) $mol_fail( new Error( 'Grabbing dead land' ) )\n\t\t\t\n\t\t\tconst knight = await $hyoo_crowd_peer.generate()\n\t\t\tthis._knights.set( knight.id, knight )\n\t\t\t\n\t\t\tconst land_inner = this.land( knight.id )\n\t\t\tconst land_outer = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( knight.id ),\n\t\t\t\tpeer: $mol_const( knight ),\n\t\t\t})\n\t\t\t\n\t\t\tland_outer.join()\n\t\t\tfor( const peer of law ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.law )\n\t\t\tfor( const peer of mod ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.mod )\n\t\t\tfor( const peer of add ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.add )\n\t\t\t\n\t\t\tland_inner.apply( land_outer.delta() )\n\t\t\t\n\t\t\treturn land_inner\n\t\t}\n\t\t\n\t\tsign_units( units: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\treturn Promise.all( units.map( async( unit )=> {\n\t\t\t\t\n\t\t\t\tif( unit.bin ) return unit\n\t\t\t\tconst bin = $hyoo_crowd_unit_bin.from_unit( unit )\n\t\t\t\t\n\t\t\t\tlet sign = this._signs.get( unit )\n\t\t\t\tif( !sign ) {\n\t\t\t\t\tconst knight = this._knights.get( unit.auth )!\n\t\t\t\t\tsign = new Uint8Array( await knight.key_private.sign( bin.sens() ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbin.sign( sign )\n\t\t\t\tunit.bin = bin\n\t\t\t\tthis._signs.set( unit, sign )\n\t\t\t\t\n\t\t\t\treturn unit\n\t\t\t\t\n\t\t\t} ) )\n\t\t\t\n\t\t}\n\t\t\n\t\tdelta_land(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\treturn this.sign_units( land.delta( clocks ) )\n\t\t}\n\t\t\n\t\tasync delta_batch(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\t\n\t\t\tconst units = await this.delta_land( land, clocks )\n\t\t\t\n\t\t\tlet size = 0\n\t\t\tconst bins = [] as $hyoo_crowd_unit_bin[]\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tconst bin = unit.bin!\n\t\t\t\tbins.push( bin )\n\t\t\t\tsize += bin.byteLength\n\t\t\t}\n\t\t\t\n\t\t\tconst batch = new Uint8Array( size )\n\t\t\t\t\n\t\t\tlet offset = 0\n\t\t\tfor( const bin of bins ) {\n\t\t\t\tbatch.set( new Uint8Array( bin.buffer, bin.byteOffset, bin.byteLength ), offset )\n\t\t\t\toffset += bin.byteLength\n\t\t\t}\n\t\t\t\n\t\t\treturn batch\n\t\t}\n\t\t\t\t\n\t\tasync *delta( clocks = new Map< $mol_int62_string, readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ] >() ) {\n\t\t\tfor( const land of this.lands.values() ) {\n\t\t\t\tconst batch = await this.delta_batch( land, clocks.get( land.id() ) )\n\t\t\t\tif( batch.length ) yield batch\n\t\t\t}\n\t\t}\n\t\t\n\t\tasync merge( donor: $hyoo_crowd_world ) {\n\t\t\tfor await( const batch of donor.delta() ) await this.apply( batch )\n\t\t}\n\t\t\n\t\tasync apply(\n\t\t\tdelta: Uint8Array,\n\t\t) {\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crowd_unit[]\n\t\t\t\n\t\t\tlet bin_offset = 0\n\t\t\twhile( bin_offset < delta.byteLength ) {\n\t\t\t\t\n\t\t\t\tconst buf = new Int16Array( delta.buffer, delta.byteOffset + bin_offset )\n\t\t\t\tconst bin = $hyoo_crowd_unit_bin.from_buffer( buf )\n\t\t\t\t\n\t\t\t\tunits.push( bin.unit() )\n\t\t\t\tbin_offset += bin.size()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst land = this.land( units[0].land )\n\t\t\tconst report = await this.audit_delta( land, units )\n\t\t\tland.apply( report.allow )\n\t\t\t\n\t\t\treturn report\n\t\t}\n\t\t\n\t\tasync audit_delta(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tdelta: $hyoo_crowd_unit[],\n\t\t) {\n\t\t\t\n\t\t\tconst all = new Map<\n\t\t\t\t$hyoo_crowd_unit_id,\n\t\t\t\t$hyoo_crowd_unit\n\t\t\t>()\n\t\t\t\n\t\t\tconst desync = 60 * 60 * 10 // 1 hour\n\t\t\tconst deadline = land.clock_data.now() + desync\n\t\t\t\n\t\t\tconst get_unit = ( id: $hyoo_crowd_unit_id )=> {\n\t\t\t\treturn all.get( id ) ?? land._unit_all.get( id )\n\t\t\t}\n\t\t\t\n\t\t\tconst get_level = ( head: $mol_int62_string, self: $mol_int62_string )=> {\n\t\t\t\treturn get_unit( `${ head }!${ self }` )?.level()\n\t\t\t\t\t?? get_unit( `${ head }!0_0` )?.level()\n\t\t\t\t\t?? $hyoo_crowd_peer_level.get\n\t\t\t}\n\t\t\t\n\t\t\tconst check_unit = async( unit: $hyoo_crowd_unit )=> {\n\t\t\t\n\t\t\t\tconst bin = unit.bin!\n\t\t\t\t\t\n\t\t\t\tif( unit.time > deadline ) return 'Far future'\n\t\t\t\t\n\t\t\t\tconst auth_unit = get_unit( `${ unit.auth }!${ unit.auth }` )\n\t\t\t\tconst kind = unit.kind()\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.grab:\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.join: {\n\t\t\t\t\t\n\t\t\t\t\t\tconst key_str = auth_unit?.data ?? unit.data\n\t\t\t\t\t\tif( typeof key_str !== 'string' ) return 'No join key'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst self = $mol_int62_hash_string( key_str )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( unit.self !== self ) return 'Alien join key'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst key = await $mol_crypto_auditor_public.from( key_str )\n\t\t\t\t\t\tconst sign = bin.sign()\n\t\t\t\t\t\tconst valid = await key.verify( bin.sens(), sign )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !valid ) return 'Wrong join sign'\n\t\t\t\t\t\t\n\t\t\t\t\t\tall.set( `${ unit.head }!${ unit.auth }`, unit )\n\t\t\t\t\t\tthis._signs.set( unit, sign )\n\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.give: {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst lord_level = get_level( land.id(), unit.auth )\n\t\t\t\t\t\tif( lord_level < $hyoo_crowd_peer_level.law ) return `Level too low`\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst peer_level = get_level( land.id(), unit.self )\n\t\t\t\t\t\tif( peer_level > unit.level() ) return `Cancel unsupported`\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.data: {\n\t\t\t\t\t\n\t\t\t\t\t\tconst level = get_level( land.id(), unit.auth )\n\t\t\t\t\t\tif( level >= $hyoo_crowd_peer_level.mod ) break\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( level === $hyoo_crowd_peer_level.add ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst exists = get_unit( `${ unit.head }!${ unit.self }` )\n\t\t\t\t\t\t\tif( !exists ) break\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( exists.auth === unit.auth ) break\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\treturn `Level too low`\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\tconst key_str = auth_unit?.data\n\t\t\t\tif( typeof key_str !== 'string' ) return 'No auth key'\n\t\t\t\t\n\t\t\t\tconst key = await $mol_crypto_auditor_public.from( key_str )\n\t\t\t\tconst sign = bin.sign()\n\t\t\t\tconst valid = await key.verify( bin.sens(), sign )\n\t\t\t\t\n\t\t\t\tif( !valid ) return 'Wrong auth sign'\n\t\t\t\t\n\t\t\t\tall.set( `${ unit.head }!${ unit.self }`, unit )\n\t\t\t\tthis._signs.set( unit, sign )\n\t\t\t\t\n\t\t\t\treturn ''\n\t\t\t}\n\t\t\t\n\t\t\tconst allow = [] as $hyoo_crowd_unit[]\n\t\t\tconst forbid = new Map< $hyoo_crowd_unit, string >()\n\t\t\t\n\t\t\tconst proceed_unit = async( unit: $hyoo_crowd_unit )=> {\n\t\t\t\t\n\t\t\t\tconst error = await check_unit( unit )\n\t\t\t\t\t\n\t\t\t\tif( error ) forbid.set( unit, error )\n\t\t\t\telse allow.push( unit )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst tasks = [] as Promise[]\n\t\t\tfor( const unit of delta ) {\n\t\t\t\t\n\t\t\t\tconst task = proceed_unit( unit )\n\t\t\t\ttasks.push( task )\n\t\t\t\t\n\t\t\t\tif( unit.group() === $hyoo_crowd_unit_group.auth ) await task\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait Promise.all( tasks )\n\t\t\t\n\t\t\treturn { allow, forbid }\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise< Result >( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $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\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 ]: index extends number\n\t\t\t? ReturnType< Tasks[ index ] >\n\t\t\t: 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\texport let $hyoo_sync_masters = [\n\t\t`sync.hyoo.ru`,\n\t\t`crowd.up.railway.app`,\n\t\t`crowd2.up.railway.app`,\n\t]\n}\n","namespace $ {\n\texport class $hyoo_sync_yard< Line > extends $mol_object2 {\n\t\t\n\t\tdb_unit_persisted = new WeakSet< $hyoo_crowd_unit >()\n\t\t\n\t\tlog_pack( data: any ) {\n\t\t\treturn data\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpeer( next?: string ) {\n\t\t\treturn $mol_wire_sync( $hyoo_sync_peer )( this + '.peer()', next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tworld() {\n\t\t\t$mol_wire_solid()\n\t\t\tconst world = new this.$.$hyoo_crowd_world( this.peer() )\n\t\t\tworld.land_init = land => this.land_init( land )\n\t\t\treturn world\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tland_init( land: $hyoo_crowd_land ) {\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.land_sync( land )\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\tif( !land.grabbed() ) this.$.$mol_wait_timeout( 10_000 )\n\t\t}\n\t\t\n\t\tland( id: $mol_int62_string ) {\n\t\t\treturn this.world().land_sync( id )\n\t\t}\n\t\t\n\t\tland_grab(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\treturn $mol_wire_sync( this.world() ).grab( law, mod, add )\n\t\t}\n\t\t\n\t\thome() {\n\t\t\treturn this.land( this.peer().id )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tland_search( query: string ) {\n\t\t\t\n\t\t\tconst stat = new Map< $mol_int62_string, number >()\n\t\t\t\n\t\t\tfor( const prefix of query.match( /\\p{Letter}{2,}/gu ) ?? [] ) {\n\t\t\t\t\n\t\t\t\tconst caps = prefix.slice( 0, 1 ).toUpperCase() + prefix.slice( 1 )\n\t\t\t\tconst prefs = new Set< string >([\n\t\t\t\t\tcaps, ' ' + caps,\n\t\t\t\t\tprefix, ' ' + prefix,\n\t\t\t\t])\n\t\t\t\t\n\t\t\t\tconst lands = new Set< $mol_int62_string >()\n\t\t\t\t\n\t\t\t\tconst founds = $mol_wire_race(\n\t\t\t\t\t... [ ... prefs ].map(\n\t\t\t\t\t\tpref => ()=> $mol_wire_sync( this as $hyoo_sync_yard< Line > ).db_land_search( pref )\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tfor( const found of founds ) {\n\t\t\t\t\tfor( const land of [ ... found ].reverse() ) lands.add( land )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\tstat.set( land, ( stat.get( land ) ?? 0 ) + 1 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\treturn [ ... stat ].sort( ( left, right )=> right[1] - left[1] ).map( pair => pair[0] )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\t\n\t\t\tthis.server()\n\t\t\t\n\t\t\tfor( const land of this.world().lands.values() ) {\n\t\t\t\tthis.db_land_sync( land )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_race(\n\t\t\t\t... this.slaves().map( line =>\n\t\t\t\t\t()=> this.line_sync( line )\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst master = this.master()\n\t\t\t\tif( master ) $mol_wire_race(\n\t\t\t\t\t... [ ... this.world().lands.values() ].map( land =>\n\t\t\t\t\t\t()=> this.line_land_sync({ line: master, land })\n\t\t\t\t\t)\n\t\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\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tland_sync( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.db_land_sync( land )\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\ttry {\n\t\t\t\tconst master = this.master()\n\t\t\t\tif( master ) this.line_land_sync({ line: master, land })\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\ttry {\n\t\t\t\t$mol_wire_race(\n\t\t\t\t\t... this.slaves()\n\t\t\t\t\t\t.filter( line => this.line_lands( line ).includes( land ) )\n\t\t\t\t\t\t.map( line => ()=> this.line_land_sync({ line, land }) )\n\t\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\n\t\t@ $mol_mem_key\n\t\tdb_land_clocks(\n\t\t\tland: $mol_int62_string,\n\t\t\tnext?: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ],\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tdb_land_sync( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\tland.clocks\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crowd_unit[]\n\t\t\tfor( const unit of land._unit_all.values() ) {\n\t\t\t\tif( this.db_unit_persisted.has( unit ) ) continue\n\t\t\t\tunits.push( unit )\n\t\t\t}\n\t\t\tif( !units.length ) return\n\t\t\t\n\t\t\t$mol_wire_sync( this.world() ).sign_units( units )\n\t\t\t$mol_wire_sync( this ).db_land_save( land, units )\n\t\t\t\n\t\t\tfor( const unit of units ) this.db_unit_persisted.add( unit )\n\t\t\t\n\t\t\t// this.$.$mol_log3_rise({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Base Save',\n\t\t\t// \tunits: this.log_pack( units ),\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tdb_land_init( land: $hyoo_crowd_land ) {\n\n\t\t\ttry {\n\t\t\t\tvar units = $mol_wire_sync< $hyoo_sync_yard< Line > >( this ).db_land_load( land )\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif(!( error instanceof Error )) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tland: land.id(),\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tunits = []\n\t\t\t}\n\t\t\t\n\t\t\tfor( const unit of units ) this.db_unit_persisted.add( unit )\n\t\t\t\n\t\t\tunits.sort( $hyoo_crowd_unit_compare )\n\t\t\tland.apply( units )\n\t\t\t\n\t\t\t// this.$.$mol_log3_rise({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Base Load',\n\t\t\t// \tunits: this.log_pack( units ),\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\tasync db_land_load( land: $hyoo_crowd_land ) {\n\t\t\treturn [] as $hyoo_crowd_unit[]\n\t\t}\n\t\tasync db_land_search( from: string | number, to = from ) {\n\t\t\treturn new Set< $mol_int62_string >()\n\t\t}\n\t\tasync db_land_save( land: $hyoo_crowd_land, units: readonly $hyoo_crowd_unit[] ) { }\n\t\t\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\tmaster_list() {\n\t\t\treturn this.$.$hyoo_sync_masters\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_link() {\n\t\t\tconst scheme = this.$.$mol_dom_context.document.location.protocol.replace( /^http/ , 'ws' )\n\t\t\tconst host = this.master_list()[ this.master_cursor() ]\n\t\t\treturn `${scheme}//${host}`\n\t\t}\n\t\t\n\t\tmaster() {\n\t\t\treturn null as Line | null as any\n\t\t}\n\t\n\t\tserver() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t\n\t\t@ $mol_mem\n\t\tslaves( next = [] as readonly Line[] ) {\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tline_lands( line: Line, next = [] as $hyoo_crowd_land[] ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_land_clocks(\n\t\t\t{ line, land }: {\n\t\t\t\tline: Line,\n\t\t\t\tland: $hyoo_crowd_land,\n\t\t\t},\n\t\t\tnext?: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ]\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\t\n\t\t\t// try{\n\t\t\t// \tthis.master()\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_sync( line: Line ) {\n\t\t\t\n\t\t\t$mol_wire_race(\n\t\t\t\t... this.line_lands( line ).map( land =>\n\t\t\t\t\t()=> this.line_land_sync({ line, land })\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\tline_land_sync( { line, land }: {\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t} ) {\n\t\t\t\n\t\t\tthis.line_land_init({ line, land })\n\t\t\t\n\t\t\tlet clocks = this.line_land_clocks({ line, land })\n\t\t\tif( !clocks ) return\n\t\t\t\n\t\t\tconst units = land.delta( clocks )\n\t\t\tif( !units.length ) return\n\t\t\t\n\t\t\tthis.line_send_units( line, units )\n\t\t\t\n\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tland: land.id(),\n\t\t\t\tmessage: 'Sync Sent',\n\t\t\t\tline: $mol_key( line ),\n\t\t\t\tunits: this.log_pack( units ),\n\t\t\t})\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tclocks[ unit.group() ].see_peer( unit.auth, unit.time )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tline_land_init( { line, land }: {\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t} ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\t// const lands = this.line_land_clocks({ line, land })\n\t\t\t// if( lands ) return\n\t\t\t\n\t\t\tthis.line_send_clocks( line, land )\n\t\t\t\n\t\t\t// this.$.$mol_log3_come({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Sync Open',\n\t\t\t// \tline: $mol_key( line ),\n\t\t\t// \tclocks: land._clocks,\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_land_neck(\n\t\t\t{ line, land }: {\n\t\t\t\tline: Line,\n\t\t\t\tland: $mol_int62_string,\n\t\t\t},\n\t\t\tnext = [] as Promise[],\n\t\t) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tasync line_receive( line: Line, message: Uint8Array ) {\n\t\t\t\n\t\t\tif( !message.byteLength ) return\n\t\t\tconst view = new DataView( message.buffer, message.byteOffset, message.byteLength )\n\t\t\tconst int0 = view.getInt32( 0, true )\n\t\t\tconst int1 = view.getInt32( 4, true )\n\t\t\t\n\t\t\tconst land_id = $mol_int62_to_string({\n\t\t\t\tlo: int0 << 1 >> 1,\n\t\t\t\thi: int1 << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst handle = async( prev?: Promise )=> {\n\t\t\t\t\n\t\t\t\tif( prev ) await prev\n\t\t\t\t\n\t\t\t\tconst world = this.world()\n\t\t\t\tconst land = await $mol_wire_async( world ).land( land_id )\n\t\t\t\t\n\t\t\t\tlet clocks = this.line_land_clocks({ line, land })!\n\t\t\t\tif( !clocks ) this.line_land_clocks(\n\t\t\t\t\t{ line, land },\n\t\t\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ],\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tif( int0 << 1 >> 1 ^ int0 ) {\n\t\t\t\t\t\n\t\t\t\t\tconst bin = new $hyoo_crowd_clock_bin( message.buffer, message.byteOffset, message.byteLength )\n\t\t\t\t\t\n\t\t\t\t\tfor( let group = 0; group < clocks.length; ++group ) {\n\t\t\t\t\t\tclocks[ group ].see_bin( bin, group )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif( bin.count() + land.delta( clocks ).length < land._unit_all.size ) {\n\t\t\t\t\t\tthis.line_land_clocks( { line, land }, clocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst lands = this.line_lands( line )\n\t\t\t\t\tif( lands.includes( land ) ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.$.$mol_log3_warn({\n\t\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\t\tland: land.id(),\n\t\t\t\t\t\t\tmessage: 'Already syncing',\n\t\t\t\t\t\t\thint: 'Bug at $hyoo_sync_yard',\n\t\t\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\t\t\tclocks,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.line_lands( line, [ ... lands, land ] )\n\t\t\t\t\t\t\n\t\t\t\t\t\t// this.$.$mol_log3_done({\n\t\t\t\t\t\t// \tplace: this,\n\t\t\t\t\t\t// \tland: land.id(),\n\t\t\t\t\t\t// \tmessage: 'Sync Pair',\n\t\t\t\t\t\t// \tline: $mol_key( line ),\n\t\t\t\t\t\t// \tclocks,\n\t\t\t\t\t\t// })\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\n\t\t\t\t}\n\t\t\t\n\t\t\t\tconst { allow, forbid } = await world.apply( message )\n\t\t\t\t\n\t\t\t\tfor( const [ { bin, ... unit }, error ] of forbid ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tland: land.id(),\n\t\t\t\t\t\tmessage: error,\n\t\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\t\tunit,\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( !allow.length ) return\n\t\t\t\t\n\t\t\t\tfor( const unit of allow ) {\n\t\t\t\t\tclocks[ unit.group() ].see_peer( unit.auth, unit.time )\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tland: land.id(),\n\t\t\t\t\tmessage: 'Sync Gain',\n\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\tunits: this.log_pack( allow ),\n\t\t\t\t})\n\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.line_land_neck(\n\t\t\t\t{ line, land: land_id },\n\t\t\t\t[\n\t\t\t\t\thandle( this.line_land_neck({ line, land: land_id })[0] )\n\t\t\t\t\t\t.catch( error => {\n\t\t\t\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\t\t\tland: land_id,\n\t\t\t\t\t\t\t\tmessage: String( error?.message ?? error ),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} )\n\t\t\t\t],\n\t\t\t)\n\n\t\t} \n\t\t\n\t\tline_send_clocks(\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t) {}\n\t\t\n\t\tasync line_send_units(\n\t\t\tline: Line,\n\t\t\tunits: readonly $hyoo_crowd_unit[],\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}\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/**\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 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",null,"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",null,"namespace $ {\n\n $mol_dom_context.indexedDB = $node[ 'fake-indexeddb' ].indexedDB\n $mol_dom_context.IDBCursor = $node[ 'fake-indexeddb' ].IDBCursor\n $mol_dom_context.IDBCursorWithValue = $node[ 'fake-indexeddb' ].IDBCursorWithValue\n $mol_dom_context.IDBDatabase = $node[ 'fake-indexeddb' ].IDBDatabase\n $mol_dom_context.IDBFactory = $node[ 'fake-indexeddb' ].IDBFactory\n $mol_dom_context.IDBIndex = $node[ 'fake-indexeddb' ].IDBIndex\n $mol_dom_context.IDBKeyRange = $node[ 'fake-indexeddb' ].IDBKeyRange\n $mol_dom_context.IDBObjectStore = $node[ 'fake-indexeddb' ].IDBObjectStore\n $mol_dom_context.IDBOpenDBRequest = $node[ 'fake-indexeddb' ].IDBOpenDBRequest\n $mol_dom_context.IDBRequest = $node[ 'fake-indexeddb' ].IDBRequest\n $mol_dom_context.IDBTransaction = $node[ 'fake-indexeddb' ].IDBTransaction\n $mol_dom_context.IDBVersionChangeEvent = $node[ 'fake-indexeddb' ].IDBVersionChangeEvent\n\n}\n",null,"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' )\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' )\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 )=> new $mol_db_store( this.native.objectStore( name ) ),\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\t\n\texport class $hyoo_sync_client extends $hyoo_sync_yard< WebSocket | Window > {\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync db() {\n\t\t\t\n\t\t\ttype Scheme = {\n\t\t\t\tUnit: {\n\t\t\t\t\t// land, head, self\n\t\t\t\t\tKey: [ $mol_int62_string, $mol_int62_string, $mol_int62_string ]\n\t\t\t\t\tDoc: $hyoo_crowd_unit\n\t\t\t\t\tIndexes: {\n\t\t\t\t\t\t// land\n\t\t\t\t\t\tLand: [ $mol_int62_string ]\n\t\t\t\t\t\t// data\n\t\t\t\t\t\tData: [ $mol_int62_string ]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst db1 = await this.$.$mol_db< Scheme >( '$hyoo_sync_client_db' )\n\t\t\tawait db1.kill()\n\t\t\t\n\t\t\treturn await this.$.$mol_db< Scheme >( '$hyoo_sync_client_db2',\n\t\t\t\tmig => mig.store_make( 'Unit' ),\n\t\t\t\tmig => mig.stores.Unit.index_make( 'Land', [ 'land' ] ),\n\t\t\t\tmig => mig.stores.Unit.index_make( 'Data', [ 'data' ] ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tasync db_land_load( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\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\t\n\t\t\tconst Unit = db.read( 'Unit' ).Unit\n\t\t\t\n\t\t\tconst recs = await Unit.indexes.Land.select([ land.id() ])\n\t\t\tif( !recs ) return []\n\t\t\t\n\t\t\tconst units = recs.map( rec => new $hyoo_crowd_unit(\n\t\t\t\trec.land, rec.auth,\n\t\t\t\trec.head, rec.self,\n\t\t\t\trec.next, rec.prev,\n\t\t\t\trec.time, rec.data,\n\t\t\t\tnew $hyoo_crowd_unit_bin( rec.bin!.buffer ),\n\t\t\t) )\n\t\t\t\n\t\t\treturn units\n\t\t}\n\t\t\n\t\tasync db_land_search( from: string, to = from + '\\uFFFF' ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn new Set< $mol_int62_string >()\n\t\t\t}\n\t\t\t\n\t\t\tconst Unit = db.read( 'Unit' ).Unit\n\t\t\tconst query = IDBKeyRange.bound( [ from ], [ to ] )\n\t\t\tconst recs = await Unit.indexes.Data.select( query )\n\n\t\t\treturn new Set< $mol_int62_string >( recs.map( rec => rec.land ) )\n\t\t}\n\t\t\n\t\tasync db_land_save( land: $hyoo_crowd_land, units: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\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\t\n\t\t\tconst trans = db.change( 'Unit' )\n\t\t\tconst Unit = trans.stores.Unit\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tUnit.put( unit, [ unit.land, unit.head, unit.self ] )\n\t\t\t}\n\t\t\t\n\t\t\tawait trans.commit()\n\t\t}\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_link()\n\t\t\tconst line = new $mol_dom_context.WebSocket( link, [ '$hyoo_sync_protocol_1' ] )\n\t\t\tline.binaryType = 'arraybuffer'\n\t\t\t\n\t\t\tline.onmessage = async( event )=> {\n\t\t\t\t\n\t\t\t\tif( event.data instanceof ArrayBuffer ) {\n\t\t\t\t\tawait this.line_receive( line, 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({\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\tline.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( line, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\tline.onclose = ()=> {}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tline.close()\n\t\t\t\t}\n\t\t\t} )\n\t\t\t\n\t\t\treturn new Promise< typeof line >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tline.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 to Master',\n\t\t\t\t\t\tline: $mol_key( line ),\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( ()=> line.send( new Uint8Array ), 30000 )\n\t\t\n\t\t\t\t\tdone( line )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tline.onerror = ()=> {\n\t\t\t\t\tline.onclose = event => {\n\t\t\t\t\t\tfail( new Error( `Master is unavailable (${ event.code })` ) )\n\t\t\t\t\t}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tthis.master_cursor( ( this.master_cursor() + 1 ) % this.$.$hyoo_sync_masters.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} ) as any as WebSocket\n\t\t\t\n\t\t}\n\t\t\n\t\t// @ $mol_mem\n\t\t// server() {\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( ( event: MessageEvent<[ string, $mol_int62_string, readonly $hyoo_crowd_unit[] ]> )=> {\n\t\t\t\t\t\n\t\t// \t\t\tif( !event ) return\n\t\t// \t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\t\t\n\t\t// \t\t\tswitch( event.data[0] ) {\n\t\t// \t\t\t\tcase 'hyoo_sync_units': {\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tconst [, land_id, units ] = event.data\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tconst line = event.source! as Window\n\t\t// \t\t\t\t\tconst land = this.land( land_id )\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tland.apply( units )\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tthis.slaves([ ... new Set([ ... this.slaves(), line ]) ])\n\t\t// \t\t\t\t\tthis.line_lands( line, [ ... new Set([ ... this.line_lands( line ), land ]) ] )\n\t\t// \t\t\t\t\tthis.line_land_clocks({ line, land })\n\t\t// \t\t\t\t\tline.postMessage([ 'hyoo_sync_units', land.id(), [] ])\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\t\n\t\t// \t\t} )\n\t\t// \t)\n\t\t// }\n\t\t\n\t\tline_send_clocks(\n\t\t\tline: WebSocket | Window,\n\t\t\tland: $hyoo_crowd_land,\n\t\t) {\n\t\t\t\n\t\t\tif( line instanceof WebSocket ) {\n\t\t\t\tline.send( land.clocks_bin )\n\t\t\t} else {\n\t\t\t\tline.postMessage([ 'hyoo_sync_clocks', land.id(), land._clocks ])\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tasync line_send_units(\n\t\t\tline: WebSocket | Window,\n\t\t\tunits: readonly $hyoo_crowd_unit[],\n\t\t) {\n\t\t\t\n\t\t\tif( line instanceof WebSocket ) {\n\t\t\t\t\n\t\t\t\tawait this.world().sign_units( units )\n\t\t\t\tconst message = new Blob( units.map( unit => unit.bin! ) ) \n\t\t\t\tline.send( message )\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tline.postMessage([ 'hyoo_sync_units', units[0].land, units ])\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\texport class $mol_stack extends $mol_view {\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_paragraph extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_height 24\n\t\t * ```\n\t\t */\n\t\tline_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * letter_width 7\n\t\t * ```\n\t\t */\n\t\tletter_width() {\n\t\t\treturn 7\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width_limit +Infinity\n\t\t * ```\n\t\t */\n\t\twidth_limit() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_width 0\n\t\t * ```\n\t\t */\n\t\trow_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_dimmer extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * haystack \\\n\t\t * ```\n\t\t */\n\t\thaystack() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= parts\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.parts()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Low* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLow(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * High* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHigh(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * parts /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tparts() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * string* \\\n\t\t * ```\n\t\t */\n\t\tstring(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n",null,null,null,null,"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): IterableIterator< 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) }","namespace $ {\n\texport class $mol_text_code_token extends $mol_dimmer {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_code_token_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_code_token_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_code_token_link extends $mol_text_code_token {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\code-link\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"code-link\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri\n\t\t * \ttarget \\_blank\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri(),\n\t\t\t\ttarget: \"_blank\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_text_code_row extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 24\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * numb_showed true\n\t\t * ```\n\t\t */\n\t\tnumb_showed() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * syntax null\n\t\t * ```\n\t\t */\n\t\tsyntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Numb $mol_view sub / <= numb\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNumb() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.numb()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Token* $mol_text_code_token\n\t\t * \ttype <= token_type*\n\t\t * \thaystack <= token_text*\n\t\t * \tneedle <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tToken(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_token()\n\t\t\t\n\t\t\tobj.type = () => this.token_type(id)\n\t\t\tobj.haystack = () => this.token_text(id)\n\t\t\tobj.needle = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Token_link* $mol_text_code_token_link\n\t\t * \thaystack <= token_text*\n\t\t * \tneedle <= highlight\n\t\t * \turi <= token_uri*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tToken_link(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_token_link()\n\t\t\t\n\t\t\tobj.haystack = () => this.token_text(id)\n\t\t\tobj.needle = () => this.highlight()\n\t\t\tobj.uri = () => this.token_uri(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * find_pos* null\n\t\t * ```\n\t\t */\n\t\tfind_pos(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * numb 0\n\t\t * ```\n\t\t */\n\t\tnumb() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_type* \\\n\t\t * ```\n\t\t */\n\t\ttoken_type(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_text* \\\n\t\t * ```\n\t\t */\n\t\ttoken_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_uri* \\\n\t\t * ```\n\t\t */\n\t\ttoken_uri(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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 , [] , 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'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]*\\n)/ ,\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|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_row extends $.$mol_text_code_row {\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_row, {\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\n\t} )\n\t\n}\n","namespace $ {\n\texport class $mol_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only true\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_over 0\n\t\t * ```\n\t\t */\n\t\trender_over() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= rows\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.rows()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Empty $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEmpty() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_before $mol_view style * paddingTop <= gap_before\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_before() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_before()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_after $mol_view style * paddingTop <= gap_after\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_after() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_after()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_window /\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\tview_window() {\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_before 0\n\t\t * ```\n\t\t */\n\t\tgap_before() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_after 0\n\t\t * ```\n\t\t */\n\t\tgap_after() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\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 = (\n\t\t\t\t!/Gecko\\//.test( navigator.userAgent ) // FF doesn't anchow while scroll animates\n\t\t\t\t&& this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' )\n\t\t\t) ?? false\n\t\t)\n\t}\n\n}\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\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\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 = kids[ min ].minimal_height()\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\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top <= limit_top ) && ( bottom2 < limit_bottom ) ) {\n\t\t\t\tmin2 = Math.max( 0, max - 1 )\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 ) && ( top2 >= limit_top ) ) {\n\t\t\t\tmax2 = Math.min( min + 1, kids.length )\n\t\t\t\tbottom2 = top\n\t\t\t}\n\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 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\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 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\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\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\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: .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) }","namespace $ {\n\texport class $mol_speck extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\1em\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"1em\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= value\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.value()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\$mol_theme_accent\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"$mol_theme_accent\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value null\n\t\t * ```\n\t\t */\n\t\tvalue() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\tconst { vary } = $mol_style_func\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = {\n\t\thover: vary( '--mol_layer_hover' ),\n\t\tfocus: vary( '--mol_layer_focus' ),\n\t\tspeck: vary( '--mol_layer_speck' ),\n\t\tfloat: vary( '--mol_layer_float' ),\n\t\tpopup: vary( '--mol_layer_popup' ),\n\t} as const\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 $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> event_activate?event\n\t\t * \tdblclick?event <=> clicks?event\n\t\t * \tkeydown?event <=> event_key_press?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.event_activate(event),\n\t\t\t\tdblclick: (event?: any) => this.clicks(event),\n\t\t\t\tkeydown: (event?: any) => this.event_key_press(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \trole \\button\n\t\t * \ttabindex <= tab_index\n\t\t * \ttitle <= hint_safe\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\trole: \"button\",\n\t\t\t\ttabindex: this.tab_index(),\n\t\t\t\ttitle: this.hint_safe()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Speck $mol_speck value <= error\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSpeck() {\n\t\t\tconst obj = new this.$.$mol_speck()\n\t\t\t\n\t\t\tobj.value = () => this.error()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_activate?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_activate(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key_press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key_press(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tab_index 0\n\t\t * ```\n\t\t */\n\t\ttab_index() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error \\\n\t\t * ```\n\t\t */\n\t\terror() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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\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\tthis.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}\\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) }","namespace $ {\n\texport class $mol_button_typed extends $mol_button {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n}\n\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 {\\n\\tbackground-color: var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $mol_button_minor extends $mol_button_typed {\n\t}\n\t\n}\n\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) }","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","namespace $ {\n\texport class $mol_svg extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name_space \\http://www.w3.org/2000/svg\n\t\t * ```\n\t\t */\n\t\tdom_name_space() {\n\t\t\treturn \"http://www.w3.org/2000/svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_size 16\n\t\t * ```\n\t\t */\n\t\tfont_size() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_family \\\n\t\t * ```\n\t\t */\n\t\tfont_family() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style_size *\n\t\t * ```\n\t\t */\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_svg_root extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tviewBox <= view_box\n\t\t * \tpreserveAspectRatio <= aspect\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tviewBox: this.view_box(),\n\t\t\t\tpreserveAspectRatio: this.aspect()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 100 100\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 100 100\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aspect \\xMidYMid\n\t\t * ```\n\t\t */\n\t\taspect() {\n\t\t\treturn \"xMidYMid\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg_path extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\path\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"path\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \td <= geometry\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\td: this.geometry()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * geometry \\\n\t\t * ```\n\t\t */\n\t\tgeometry() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon extends $mol_svg_root {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Path\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Path()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Path $mol_svg_path geometry <= path\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPath() {\n\t\t\tconst obj = new this.$.$mol_svg_path()\n\t\t\t\n\t\t\tobj.geometry = () => this.path()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_icon_clipboard extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_clipboard_outline extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3M7,7H17V5H19V19H5V5H7V7Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3M7,7H17V5H19V19H5V5H7V7Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_copy extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * blobs /$mol_blob\n\t\t * \t<= text_blob?\n\t\t * \t<= html_blob?\n\t\t * ```\n\t\t */\n\t\tblobs() {\n\t\t\treturn [\n\t\t\t\tthis.text_blob(),\n\t\t\t\tthis.html_blob()\n\t\t\t] as readonly $mol_blob[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * data *\n\t\t * ```\n\t\t */\n\t\tdata() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text <= title\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn this.title()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_blob? $mol_blob /\n\t\t * \t/BlobPart <= text\n\t\t * \t* type \\text/plain\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttext_blob(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\tconst obj = new this.$.$mol_blob(\n\t\t\t\t[\n\t\t\t\t\tthis.text()\n\t\t\t\t] as readonly BlobPart[],\n\t\t\t\t{\n\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t} as Record< string, any >\n\t\t\t)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html \\\n\t\t * ```\n\t\t */\n\t\thtml() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html_blob? $mol_blob /\n\t\t * \t/BlobPart <= html\n\t\t * \t* type \\text/html\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thtml_blob(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\tconst obj = new this.$.$mol_blob(\n\t\t\t\t[\n\t\t\t\t\tthis.html()\n\t\t\t\t] as readonly BlobPart[],\n\t\t\t\t{\n\t\t\t\t\ttype: \"text/html\"\n\t\t\t\t} as Record< string, any >\n\t\t\t)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_clipboard_outline\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_clipboard_outline()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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\tcb.write( this.attachments() )\n\t\t}\n\n\t}\n\t\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_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\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\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\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\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure()\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\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\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $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\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\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\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}\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\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored : /(^\\.|___$)/ ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\t$.$mol_file = $mol_file_node\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\t@ $mol_action\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 native = globalThis.fetch ?? $node['undici'].fetch\n\t\t\t\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = native( 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() )\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}\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\t\n\texport function $mol_huggingface_run(\n\t\tthis: $,\n\t\tspace: string,\n\t\tmethod: string | number,\n\t\t... data: readonly any[]\n\t) {\n\t\twhile( true ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tif( typeof method === 'number' ) {\n\t\t\t\t\treturn $mol_wire_sync( this ).$mol_huggingface_ws( space, method, ... data )\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$mol_huggingface_rest( space, method, ... data )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\tif( error instanceof Error && error.message === `Queue full` ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\t\n\texport function $mol_huggingface_rest(\n\t\tspace: string,\n\t\tmethod: string,\n\t\t... data: readonly any[]\n\t) {\n\t\t\n\t\tconst uri = `https://${space}.hf.space/run/${method}`\n\t\tconst response = $mol_fetch.json( uri, {\n\t\t\tmethod: 'post',\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({ data }),\n\t\t} ) as any\n\t\t\n\t\tif( 'error' in response ) {\n\t\t\t$mol_fail( new Error( response.error ?? 'Unknown API error' ) )\n\t\t}\n\t\t\n\t\treturn response.data as readonly any[]\n\t\t\n\t}\n\t\n\texport function $mol_huggingface_ws(\n\t\tspace: string,\n\t\tfn_index: number,\n\t\t... data: readonly any[]\n\t) {\n\t\t\n\t\tconst session_hash = $mol_guid()\n\t\tconst socket = new WebSocket( `wss://${space}.hf.space/queue/join` )\n\t\t\n\t\tconst promise = new Promise< readonly any[] >( ( done, fail )=> {\n\t\t\t\n\t\t\tsocket.onclose = event => {\n\t\t\t\tif( event.reason ) fail( new Error( event.reason ) )\n\t\t\t}\n\t\t\n\t\t\tsocket.onerror = event => {\n\t\t\t\tfail( new Error( `Socket error` ) )\n\t\t\t}\n\t\t\n\t\t\tsocket.onmessage = event => {\n\t\t\t\t\n\t\t\t\tconst message = JSON.parse( event.data )\n\t\t\t\tswitch( message.msg ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'send_hash':\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn socket.send(\n\t\t\t\t\t\t\tJSON.stringify({ session_hash, fn_index })\n\t\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\t\tcase 'estimation': return\n\t\t\t\t\t\n\t\t\t\t\tcase 'queue_full':\n\t\t\t\t\t\tfail( new Error( `Queue full` ) )\n\t\t\t\t\n\t\t\t\t\tcase 'send_data':\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn socket.send(\n\t\t\t\t\t\t\tJSON.stringify({ session_hash, fn_index, data })\n\t\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\t\tcase 'process_starts': return\n\t\t\t\t\n\t\t\t\t\tcase 'process_completed':\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( message.success ) {\n\t\t\t\t\t\t\treturn done( message.output.data )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn fail(\n\t\t\t\t\t\t\t\tnew Error( message.output.error ?? `Unknown API error` )\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\tdefault:\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn fail(\n\t\t\t\t\t\t\tnew Error( `Unknown message type: ${ message.msg }` )\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}\n\t\t\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> socket.close()\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $hyoo_lingua_translate( this: $, lang: string, text: string ) {\n\t\t\n\t\tif( !text.trim() ) return ''\n\t\t\n\t\tconst cache_key = `$hyoo_lingua_translate(${ JSON.stringify(lang) },${ JSON.stringify(text) })`\n\t\tconst cached = this.$mol_state_local.value( cache_key )\n\t\tif( cached ) return String( cached )\n\t\t\n\t\tconst translated = this.$mol_huggingface_run( 'hyoo-translate', 0, lang, text )[0] as string\n\t\treturn this.$mol_state_local.value( cache_key, translated )!\n\t}\n\t\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\ttry {\n\t\t\t\treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\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\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","namespace $ {\n\texport class $mol_text_code extends $mol_stack {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_code_sidebar_showed <= sidebar_showed\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_code_sidebar_showed: this.sidebar_showed()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_lines /string\n\t\t * ```\n\t\t */\n\t\ttext_lines() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * find_pos* null\n\t\t * ```\n\t\t */\n\t\tfind_pos(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_base \\\n\t\t * ```\n\t\t */\n\t\turi_base() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Rows\n\t\t * \t<= Copy\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\tthis.Copy()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sidebar_showed false\n\t\t * ```\n\t\t */\n\t\tsidebar_showed() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only false\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_numb* 0\n\t\t * ```\n\t\t */\n\t\trow_numb(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_text* \\\n\t\t * ```\n\t\t */\n\t\trow_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * syntax null\n\t\t * ```\n\t\t */\n\t\tsyntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row*0 $mol_text_code_row\n\t\t * \tnumb_showed <= sidebar_showed\n\t\t * \tnumb <= row_numb*\n\t\t * \ttext <= row_text*\n\t\t * \tsyntax <= syntax\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_row()\n\t\t\t\n\t\t\tobj.numb_showed = () => this.sidebar_showed()\n\t\t\tobj.numb = () => this.row_numb(id)\n\t\t\tobj.text = () => this.row_text(id)\n\t\t\tobj.syntax = () => this.syntax()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows / <= Row*0\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Row(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Rows $mol_list\n\t\t * \trender_visible_only <= render_visible_only\n\t\t * \trows <= rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRows() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.render_visible_only = () => this.render_visible_only()\n\t\t\tobj.rows = () => this.rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_export \\\n\t\t * ```\n\t\t */\n\t\ttext_export() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Copy $mol_button_copy\n\t\t * \thint @ \\Copy whole code\n\t\t * \ttext <= text_export\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCopy() {\n\t\t\tconst obj = new this.$.$mol_button_copy()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_text_code_Copy_hint' )\n\t\t\tobj.text = () => this.text_export()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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}\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\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\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_row: {\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","namespace $ {\n\texport class $mol_hotkey extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * key *\n\t\t * ```\n\t\t */\n\t\tkey() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_string extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete false\n\t\t * ```\n\t\t */\n\t\tautocomplete() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto / <= selection_watcher\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.selection_watcher()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \tvalue <= value_changed?\n\t\t * \tplaceholder <= hint_visible\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tautocomplete <= autocomplete_native\n\t\t * \tselectionEnd <= selection_end\n\t\t * \tselectionStart <= selection_start\n\t\t * \tinputMode <= keyboard\n\t\t * \tenterkeyhint <= enter\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\tvalue: this.value_changed(),\n\t\t\t\tplaceholder: this.hint_visible(),\n\t\t\t\tspellcheck: this.spellcheck(),\n\t\t\t\tautocomplete: this.autocomplete_native(),\n\t\t\t\tselectionEnd: this.selection_end(),\n\t\t\t\tselectionStart: this.selection_start(),\n\t\t\t\tinputMode: this.keyboard(),\n\t\t\t\tenterkeyhint: this.enter()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmaxlength <= length_max\n\t\t * \ttype <= type?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmaxlength: this.length_max(),\n\t\t\t\ttype: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tinput?event <=> event_change?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tinput: (event?: any) => this.event_change(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins / <= Submit\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Submit()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_watcher null\n\t\t * ```\n\t\t */\n\t\tselection_watcher() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_changed? <=> value?\n\t\t * ```\n\t\t */\n\t\tvalue_changed(next?: any) {\n\t\t\treturn this.value(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_visible <= hint\n\t\t * ```\n\t\t */\n\t\thint_visible() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete_native \\\n\t\t * ```\n\t\t */\n\t\tautocomplete_native() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_end 0\n\t\t * ```\n\t\t */\n\t\tselection_end() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_start 0\n\t\t * ```\n\t\t */\n\t\tselection_start() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\text\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\go\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"go\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type? \\text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_change?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_change(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit_with_ctrl false\n\t\t * ```\n\t\t */\n\t\tsubmit_with_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Submit $mol_hotkey\n\t\t * \tmod_ctrl <= submit_with_ctrl\n\t\t * \tkey * enter?event <=> submit?event\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSubmit() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.mod_ctrl = () => this.submit_with_ctrl()\n\t\t\tobj.key = () => ({\n\t\t\t\tenter: (event?: any) => this.submit(event)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\tel.value = this.value_changed( el.value )\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\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\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( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\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) }","namespace $ {\n\texport class $mol_textarea extends $mol_stack {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_textarea_clickable <= clickable?\n\t\t * \tmol_textarea_sidebar_showed <= sidebar_showed\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_textarea_clickable: this.clickable(),\n\t\t\t\tmol_textarea_sidebar_showed: this.sidebar_showed()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \tkeydown?event <=> press?event\n\t\t * \tpointermove?event <=> hover?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tkeydown: (event?: any) => this.press(event),\n\t\t\t\tpointermove: (event?: any) => this.hover(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Edit\n\t\t * \t<= View\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Edit(),\n\t\t\t\tthis.View()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * symbols_alt *\n\t\t * \tcomma \\<\n\t\t * \tperiod \\>\n\t\t * \tdash \\−\n\t\t * \tequals \\≈\n\t\t * \tgraveAccent \\́\n\t\t * \tforwardSlash \\÷\n\t\t * \tE \\€\n\t\t * \tX \\×\n\t\t * \tC \\©\n\t\t * \tP \\§\n\t\t * \tH \\₽\n\t\t * \tkey0 \\°\n\t\t * \tkey8 \\•\n\t\t * \tkey2 \\@\n\t\t * \tkey3 \\#\n\t\t * \tkey4 \\$\n\t\t * \tkey6 \\^\n\t\t * \tkey7 \\&\n\t\t * \tbracketOpen \\[\n\t\t * \tbracketClose \\]\n\t\t * \tslashBack \\|\n\t\t * ```\n\t\t */\n\t\tsymbols_alt() {\n\t\t\treturn {\n\t\t\t\tcomma: \"<\",\n\t\t\t\tperiod: \">\",\n\t\t\t\tdash: \"−\",\n\t\t\t\tequals: \"≈\",\n\t\t\t\tgraveAccent: \"́\",\n\t\t\t\tforwardSlash: \"÷\",\n\t\t\t\tE: \"€\",\n\t\t\t\tX: \"×\",\n\t\t\t\tC: \"©\",\n\t\t\t\tP: \"§\",\n\t\t\t\tH: \"₽\",\n\t\t\t\tkey0: \"°\",\n\t\t\t\tkey8: \"•\",\n\t\t\t\tkey2: \"@\",\n\t\t\t\tkey3: \"#\",\n\t\t\t\tkey4: \"$\",\n\t\t\t\tkey6: \"^\",\n\t\t\t\tkey7: \"&\",\n\t\t\t\tbracketOpen: \"[\",\n\t\t\t\tbracketClose: \"]\",\n\t\t\t\tslashBack: \"|\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * symbols_alt_shift *\n\t\t * \tV \\✅\n\t\t * \tX \\❌\n\t\t * \tO \\⭕\n\t\t * \tkey1 \\❗\n\t\t * \tkey4 \\💲\n\t\t * \tkey7 \\❓\n\t\t * \tcomma \\«\n\t\t * \tperiod \\»\n\t\t * \tsemicolon \\“\n\t\t * \tquoteSingle \\”\n\t\t * \tdash \\—\n\t\t * \tequals \\≠\n\t\t * \tgraveAccent \\̱\n\t\t * \tbracketOpen \\{\n\t\t * \tbracketClose \\}\n\t\t * ```\n\t\t */\n\t\tsymbols_alt_shift() {\n\t\t\treturn {\n\t\t\t\tV: \"✅\",\n\t\t\t\tX: \"❌\",\n\t\t\t\tO: \"⭕\",\n\t\t\t\tkey1: \"❗\",\n\t\t\t\tkey4: \"💲\",\n\t\t\t\tkey7: \"❓\",\n\t\t\t\tcomma: \"«\",\n\t\t\t\tperiod: \"»\",\n\t\t\t\tsemicolon: \"“\",\n\t\t\t\tquoteSingle: \"”\",\n\t\t\t\tdash: \"—\",\n\t\t\t\tequals: \"≠\",\n\t\t\t\tgraveAccent: \"̱\",\n\t\t\t\tbracketOpen: \"{\",\n\t\t\t\tbracketClose: \"}\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clickable? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclickable(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sidebar_showed false\n\t\t * ```\n\t\t */\n\t\tsidebar_showed() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpress(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hover?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thover(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \" \"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bring\n\t\t * ```\n\t\t */\n\t\tbring() {\n\t\t\treturn this.Edit().bring()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit $mol_textarea_edit\n\t\t * \tvalue? <=> value?\n\t\t * \thint <= hint\n\t\t * \tenabled <= enabled\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tlength_max <= length_max\n\t\t * \tselection? <=> selection?\n\t\t * \tbring => bring\n\t\t * \tsubmit? <=> submit?\n\t\t * \tsubmit_with_ctrl true\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEdit() {\n\t\t\tconst obj = new this.$.$mol_textarea_edit()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.value(next)\n\t\t\tobj.hint = () => this.hint()\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\tobj.spellcheck = () => this.spellcheck()\n\t\t\tobj.length_max = () => this.length_max()\n\t\t\tobj.selection = (next?: any) => this.selection(next)\n\t\t\tobj.submit = (next?: any) => this.submit(next)\n\t\t\tobj.submit_with_ctrl = () => true\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_numb* 0\n\t\t * ```\n\t\t */\n\t\trow_numb(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * View $mol_text_code\n\t\t * \ttext <= value\n\t\t * \trender_visible_only false\n\t\t * \trow_numb* <= row_numb*\n\t\t * \tsidebar_showed <= sidebar_showed\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tView() {\n\t\t\tconst obj = new this.$.$mol_text_code()\n\t\t\t\n\t\t\tobj.text = () => this.value()\n\t\t\tobj.render_visible_only = () => false\n\t\t\tobj.row_numb = (id: any) => this.row_numb(id)\n\t\t\tobj.sidebar_showed = () => this.sidebar_showed()\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_textarea_edit extends $mol_string {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\textarea\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"textarea\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\enter\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"enter\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tscrollTop 0\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tscrollTop: 0\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * An input field for entering multiline text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport class $mol_textarea extends $.$mol_textarea {\n\n\t\tindent_inc() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tlet end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to ) {\n\t\t\t\t\tif( to === from || start !== to ) {\n\t\t\t\t\t\trows[i] = '\\t' + rows[i]\n\t\t\t\t\t\tto += 1\n\t\t\t\t\t\tend += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from + 1, to ])\n\t\t\t\n\t\t}\n\n\t\tindent_dec() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tconst end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to && rows[i].startsWith( '\\t' ) ) {\n\t\t\t\t\trows[i] = rows[i].slice( 1 )\n\t\t\t\t\tto -= 1\n\t\t\t\t\tif( start < from ) from -= 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from, to ])\n\t\t\t\n\t\t}\n\t\t\n\t\tsymbol_insert( event: KeyboardEvent ) {\n\t\t\t\n\t\t\tconst symbol = event.shiftKey\n\t\t\t\t? this.symbols_alt_shift()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t: this.symbols_alt()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\n\t\t\tif( !symbol ) return\n\t\t\t\n\t\t\tdocument.execCommand( 'insertText', false, symbol )\n\t\t\t\n\t\t}\n\t\t\n\t\thover( event : PointerEvent ) {\n\t\t\tthis.clickable( event.ctrlKey )\n\t\t}\n\t\t\n\t\tpress( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( event.altKey && !event.ctrlKey ) {\n\t\t\t\t\n\t\t\t\tthis.symbol_insert( event )\n\t\t\t\t\n\t\t\t} else {\n\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\t\tcase !event.shiftKey && $mol_keyboard_code.tab : this.indent_inc() ; break\n\t\t\t\t\tcase event.shiftKey && $mol_keyboard_code.tab : this.indent_dec() ; break\n\t\t\t\t\tdefault : return\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\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}\n\n}\n","namespace $ { $mol_style_attach( \"mol/textarea/textarea.view.css\",\n \"[mol_textarea] {\\n\\tflex: 1 0 auto;\\n\\tflex-direction: column;\\n\\tvertical-align: top;\\n\\tmin-height: max-content;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tfont-family: monospace;\\n\\tposition: relative;\\n\\ttab-size: 4;\\n}\\n\\n[mol_textarea_view] {\\n\\tpointer-events: none;\\n\\twhite-space: inherit;\\n\\tfont-family: inherit;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_view_copy] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_view] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_edit] {\\n\\tfont-family: inherit;\\n\\tpadding: var(--mol_gap_text);\\n\\tcolor: transparent !important;\\n\\tcaret-color: var(--mol_theme_text);\\n\\tresize: none;\\n\\ttext-align: inherit;\\n\\twhite-space: inherit;\\n\\tborder-radius: inherit;\\n\\toverflow-anchor: none;\\n\\tposition: absolute;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_sidebar_showed] [mol_textarea_edit] {\\n\\tleft: 1.75rem;\\n\\twidth: calc( 100% - 1.75rem );\\n}\\n\\n[mol_textarea_edit]:hover + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_textarea_edit]:focus + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_float extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\auto\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"auto\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_string_button extends $mol_string {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/string/button/button.view.css\",\n \"[mol_string_button]:not(:placeholder-shown):not(:focus):not(:hover):not(:disabled) {\\n\\tcolor: var(--mol_theme_control);\\n\\tbackground: transparent;\\n\\tbox-shadow: none;\\n}\\n\"\n) }",null,"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\texport class $mol_icon_download extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_download extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * blob null\n\t\t * ```\n\t\t */\n\t\tblob() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\blob.bin\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"blob.bin\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_download\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_download()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","/** @jsx $mol_jsx */\nnamespace $.$$ {\n\n\t/**\n\t * Button download file from uri() or a blob()\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_download extends $.$mol_button_download {\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn URL.createObjectURL( this.blob() )\n\t\t}\n\t\t\n\t\tclick() {\n\t\t\t\n\t\t\tconst a = \n\t\t\t\n\t\t\ta.click()\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_icon_directions extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M14,14.5V12H10V15H8V11C8,10.45 8.45,10 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M14,14.5V12H10V15H8V11C8,10.45 8.45,10 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_directions_fork extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_plus extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_plus_box extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z\"\n\t\t}\n\t}\n\t\n}\n\n",null,"namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\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\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.make_link( next ) )\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\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\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\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 = false //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\texport class $mol_check extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_check_checked <= checked?\n\t\t * \taria-checked <= aria_checked\n\t\t * \trole <= aria_role\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_check_checked: this.checked(),\n\t\t\t\t\"aria-checked\": this.aria_checked(),\n\t\t\t\trole: this.aria_role()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content\n\t\t * \t<= Icon\n\t\t * \t<= label\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.label()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tchecked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_checked \\false\n\t\t * ```\n\t\t */\n\t\taria_checked() {\n\t\t\treturn \"false\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_role \\checkbox\n\t\t * ```\n\t\t */\n\t\taria_role() {\n\t\t\treturn \"checkbox\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon null\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view sub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label / <= Title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.Title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\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 $ { $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\\talign-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","namespace $ {\n\texport class $mol_check_icon extends $mol_check {\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_icon_brightness_6 extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,18V6C15.31,6 18,8.69 18,12C18,15.31 15.31,18 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,18V6C15.31,6 18,8.69 18,12C18,15.31 15.31,18 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_lights_toggle extends $mol_check_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon <= Lights_icon\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn this.Lights_icon()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Toggle lights\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_lights_toggle_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> lights?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.lights(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Lights_icon $mol_icon_brightness_6\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLights_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_brightness_6()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * lights? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlights(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_link extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri_toggle\n\t\t * \ttitle <= hint_safe\n\t\t * \ttarget <= target\n\t\t * \tdownload <= file_name\n\t\t * \tmol_link_current <= current\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri_toggle(),\n\t\t\t\ttitle: this.hint_safe(),\n\t\t\t\ttarget: this.target(),\n\t\t\t\tdownload: this.file_name(),\n\t\t\t\tmol_link_current: this.current()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_toggle \\\n\t\t * ```\n\t\t */\n\t\turi_toggle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * target \\_self\n\t\t * ```\n\t\t */\n\t\ttarget() {\n\t\t\treturn \"_self\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current false\n\t\t * ```\n\t\t */\n\t\tcurrent() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event <=> event_click?event\n\t\t * ```\n\t\t */\n\t\tclick(event?: any) {\n\t\t\treturn this.event_click(event)\n\t\t}\n\t}\n\t\n}\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\t\n\t\t\toutline: 'none',\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-within': {\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","namespace $ {\n\texport class $mol_icon_github_circle extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,2C6.48,2 2,6.48 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12C22,6.48 17.52,2 12,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,2C6.48,2 2,6.48 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12C22,6.48 17.52,2 12,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_link_source extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Source code\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_link_source_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_github_circle\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_github_circle()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_avatar extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * id \\\n\t\t * ```\n\t\t */\n\t\tid() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\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\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"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\t\t}\n\t}\n\t\n}\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","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) }","namespace $ {\n\texport class $mol_icon_sync extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_sync_off extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $hyoo_sync_online extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * yard $hyoo_sync_yard\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tyard() {\n\t\t\tconst obj = new this.$.$hyoo_sync_yard()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri <= master_link\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn this.master_link()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Well\n\t\t * \t<= Fail\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Well(),\n\t\t\t\tthis.Fail()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \ttitle <= message\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\ttitle: this.message()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * master_link \\\n\t\t * ```\n\t\t */\n\t\tmaster_link() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Well $mol_avatar id <= master_link\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tWell() {\n\t\t\tconst obj = new this.$.$mol_avatar()\n\t\t\t\n\t\t\tobj.id = () => this.master_link()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fail $mol_icon_sync_off\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFail() {\n\t\t\tconst obj = new this.$.$mol_icon_sync_off()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\$hyoo_sync\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"$hyoo_sync\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * message <= hint\n\t\t * ```\n\t\t */\n\t\tmessage() {\n\t\t\treturn this.hint()\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\texport class $hyoo_sync_online extends $.$hyoo_sync_online {\n\t\t\n\t\t@ $mol_mem\n\t\tmessage() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.yard().sync()\n\t\t\t\treturn this.hint()\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn String( error )\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\tsub() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.yard().sync()\n\t\t\t\treturn [ this.Well() ]\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn [ this.Fail() ]\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\thint() {\n\t\t\treturn super.hint() + ' ' + $hyoo_sync_revision\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_link() {\n\t\t\treturn this.yard().master_link().replace( /^ws(s?):/, 'http$1:' )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"hyoo/sync/online/online.view.css\",\n \"[hyoo_sync_online] {\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[hyoo_sync_online_well] {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[hyoo_sync_online_fail] {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n[hyoo_sync_online][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: hyoo_sync_online_wait 1s linear infinite;\\n}\\n\\n@keyframes hyoo_sync_online_wait {\\n\\tfrom {\\n\\t\\topacity: 1;\\n\\t}\\n\\tto {\\n\\t\\topacity: .5;\\n\\t}\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_hint extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_bar extends $mol_view {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/bar/bar.view.css\",\n \"[mol_bar] {\\n\\tdisplay: flex;\\n\\t/* box-shadow: inset 0 0 0 1px var(--mol_theme_line); */\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_chevron extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_check_expand extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_chevron\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_chevron()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level 0\n\t\t * ```\n\t\t */\n\t\tlevel() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tpaddingLeft <= level_style\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tpaddingLeft: this.level_style()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> expanded?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.expanded(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled <= expandable\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn this.expandable()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level_style \\0px\n\t\t * ```\n\t\t */\n\t\tlevel_style() {\n\t\t\treturn \"0px\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * expanded? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\texpanded(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * expandable false\n\t\t * ```\n\t\t */\n\t\texpandable() {\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\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}\\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) }","namespace $ {\n\texport class $mol_grid extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_height 32\n\t\t * ```\n\t\t */\n\t\trow_height() {\n\t\t\treturn 32\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ids /string[]\n\t\t * ```\n\t\t */\n\t\trow_ids() {\n\t\t\treturn [\n\t\t\t] as readonly (string[])[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_id* null\n\t\t * ```\n\t\t */\n\t\trow_id(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ids /\n\t\t * ```\n\t\t */\n\t\tcol_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * records *\n\t\t * ```\n\t\t */\n\t\trecords() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * record* null\n\t\t * ```\n\t\t */\n\t\trecord(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hierarchy null\n\t\t * ```\n\t\t */\n\t\thierarchy() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hierarchy_col \\\n\t\t * ```\n\t\t */\n\t\thierarchy_col() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 0\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Table\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Table()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Head $mol_grid_row cells <= head_cells\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.head_cells()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row* $mol_grid_row\n\t\t * \tminimal_height <= row_height\n\t\t * \tminimal_width <= minimal_width\n\t\t * \tcells <= cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.minimal_height = () => this.row_height()\n\t\t\tobj.minimal_width = () => this.minimal_width()\n\t\t\tobj.cells = () => this.cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell* $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell* null\n\t\t * ```\n\t\t */\n\t\tcell(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_text* $mol_grid_cell sub <= cell_content_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_text(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_cell()\n\t\t\t\n\t\t\tobj.sub = () => this.cell_content_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_number* $mol_grid_number sub <= cell_content_number*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_number(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_number()\n\t\t\t\n\t\t\tobj.sub = () => this.cell_content_number(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= col_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.col_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_branch* $mol_check_expand\n\t\t * \tlevel <= cell_level*\n\t\t * \tlabel <= cell_content*\n\t\t * \texpanded? <=> cell_expanded*?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_branch(id: any) {\n\t\t\tconst obj = new this.$.$mol_check_expand()\n\t\t\t\n\t\t\tobj.level = () => this.cell_level(id)\n\t\t\tobj.label = () => this.cell_content(id)\n\t\t\tobj.expanded = (next?: any) => this.cell_expanded(id, next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_content* / <= Cell_dimmer*\n\t\t * ```\n\t\t */\n\t\tCell_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Cell_dimmer(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table $mol_grid_table sub <= rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTable() {\n\t\t\tconst obj = new this.$.$mol_grid_table()\n\t\t\t\n\t\t\tobj.sub = () => this.rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_cells /$mol_view\n\t\t * ```\n\t\t */\n\t\thead_cells() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells* /$mol_view\n\t\t * ```\n\t\t */\n\t\tcells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content* /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcell_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content_text* <= cell_content*\n\t\t * ```\n\t\t */\n\t\tcell_content_text(id: any) {\n\t\t\treturn this.cell_content(id)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content_number* <= cell_content*\n\t\t * ```\n\t\t */\n\t\tcell_content_number(id: any) {\n\t\t\treturn this.cell_content(id)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_head_content* /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcol_head_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_level* 0\n\t\t * ```\n\t\t */\n\t\tcell_level(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_expanded*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcell_expanded(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_value* \\\n\t\t * ```\n\t\t */\n\t\tcell_value(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_dimmer* $mol_dimmer\n\t\t * \tneedle <= needle\n\t\t * \thaystack <= cell_value*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_dimmer(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.needle = () => this.needle()\n\t\t\tobj.haystack = () => this.cell_value(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_grid_table extends $mol_list {\n\t}\n\t\n\texport class $mol_grid_row extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= cells\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.cells()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells /$mol_view\n\t\t * ```\n\t\t */\n\t\tcells() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t}\n\t\n\texport class $mol_grid_cell extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n\texport class $mol_grid_number extends $mol_grid_cell {\n\t}\n\t\n}\n\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}\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 1px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 1px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -1px 0 0 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) }","namespace $ {\n\texport class $mol_image extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\img\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"img\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tsrc <= uri\n\t\t * \talt <= title\n\t\t * \tloading <= loading\n\t\t * \tdecoding <= decoding\n\t\t * \tcrossOrigin <= cors\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tsrc: this.uri(),\n\t\t\t\talt: this.title(),\n\t\t\t\tloading: this.loading(),\n\t\t\t\tdecoding: this.decoding(),\n\t\t\t\tcrossOrigin: this.cors()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \twidth <= natural_width?\n\t\t * \theight <= natural_height?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\twidth: this.natural_width(),\n\t\t\t\theight: this.natural_height()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * load? <=> load?\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tload: (next?: any) => this.load(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * loading \\eager\n\t\t * ```\n\t\t */\n\t\tloading() {\n\t\t\treturn \"eager\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * decoding \\async\n\t\t * ```\n\t\t */\n\t\tdecoding() {\n\t\t\treturn \"async\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cors null\n\t\t * ```\n\t\t */\n\t\tcors() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * natural_width? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnatural_width(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * natural_height? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnatural_height(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * load? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tload(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_link_iconed extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content / <= title\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * host \\\n\t\t * ```\n\t\t */\n\t\thost() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * icon \\\n\t\t * ```\n\t\t */\n\t\ticon() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_image\n\t\t * \turi <= icon\n\t\t * \ttitle \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.uri = () => this.icon()\n\t\t\tobj.title = () => \"\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title <= uri\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn this.uri()\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_embed_native extends $mol_scroll {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\object\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"object\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * window null\n\t\t * ```\n\t\t */\n\t\twindow() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdata <= uri\n\t\t * \ttype <= mime\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdata: this.uri(),\n\t\t\t\ttype: this.mime()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Fallback\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Fallback()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * message * hashchange? <=> uri_change?\n\t\t * ```\n\t\t */\n\t\tmessage() {\n\t\t\treturn {\n\t\t\t\thashchange: (next?: any) => this.uri_change(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mime \\\n\t\t * ```\n\t\t */\n\t\tmime() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fallback $mol_link\n\t\t * \turi <= uri\n\t\t * \tsub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFallback() {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.uri = () => this.uri()\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_change? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi_change(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\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\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\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}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_youtube extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * 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\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"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\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_frame extends $mol_embed_native {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\iframe\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"iframe\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdata null\n\t\t * \ttype null\n\t\t * \tsrc <= uri?\n\t\t * \tsrcdoc <= html\n\t\t * \tallow <= allow\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdata: null as any,\n\t\t\t\ttype: null as any,\n\t\t\t\tsrc: this.uri(),\n\t\t\t\tsrcdoc: this.html(),\n\t\t\t\tallow: this.allow()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * fullscreen true\n\t\t * ```\n\t\t */\n\t\tfullscreen() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accelerometer true\n\t\t * ```\n\t\t */\n\t\taccelerometer() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autoplay true\n\t\t * ```\n\t\t */\n\t\tautoplay() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * encription true\n\t\t * ```\n\t\t */\n\t\tencription() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gyroscope true\n\t\t * ```\n\t\t */\n\t\tgyroscope() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pip true\n\t\t * ```\n\t\t */\n\t\tpip() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clipboard_read true\n\t\t * ```\n\t\t */\n\t\tclipboard_read() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clipboard_write true\n\t\t * ```\n\t\t */\n\t\tclipboard_write() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri? \\about:config\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"about:config\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html null\n\t\t * ```\n\t\t */\n\t\thtml() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * allow \\\n\t\t * ```\n\t\t */\n\t\tallow() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_embed_youtube extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_preview \\\n\t\t * ```\n\t\t */\n\t\tvideo_preview() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_id \\\n\t\t * ```\n\t\t */\n\t\tvideo_id() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> active?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.active(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Image\n\t\t * \t<= Hint\n\t\t * \t<= Frame\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Image(),\n\t\t\t\tthis.Hint(),\n\t\t\t\tthis.Frame()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * active? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tactive(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Image $mol_image\n\t\t * \ttitle <= title\n\t\t * \turi <= video_preview\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tImage() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.video_preview()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint $mol_icon_youtube\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint() {\n\t\t\tconst obj = new this.$.$mol_icon_youtube()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_embed \\\n\t\t * ```\n\t\t */\n\t\tvideo_embed() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Frame $mol_frame\n\t\t * \ttitle <= title\n\t\t * \turi <= video_embed\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFrame() {\n\t\t\tconst obj = new this.$.$mol_frame()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.video_embed()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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\\/|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\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/youtube/youtube.view.css\",\n \"[mol_embed_youtube] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_youtube_image] {\\n\\tflex: auto 1 1;\\n}\\n\\n[mol_embed_youtube_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_youtube]:hover [mol_embed_youtube_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_embed_any extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Image $mol_image\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tImage() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Object $mol_embed_native\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tObject() {\n\t\t\tconst obj = new this.$.$mol_embed_native()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Youtube $mol_embed_youtube\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tYoutube() {\n\t\t\tconst obj = new this.$.$mol_embed_youtube()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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\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\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_text extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_base \\\n\t\t * ```\n\t\t */\n\t\turi_base() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * param \\\n\t\t * ```\n\t\t */\n\t\tparam() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * flow_tokens /\n\t\t * ```\n\t\t */\n\t\tflow_tokens() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto / <= auto_scroll\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.auto_scroll()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Paragraph* $mol_paragraph sub <= block_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tParagraph(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => this.block_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Quote* $mol_text\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= quote_text*\n\t\t * \thighlight <= highlight\n\t\t * \tauto_scroll null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tQuote(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.quote_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * List* $mol_text_list\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttype <= list_type*\n\t\t * \ttext <= list_text*\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tList(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_list()\n\t\t\t\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.type = () => this.list_type(id)\n\t\t\tobj.text = () => this.list_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * item_index* 0\n\t\t * ```\n\t\t */\n\t\titem_index(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Header* $mol_text_header\n\t\t * \tminimal_height 40\n\t\t * \tlevel <= header_level*\n\t\t * \tcontent <= block_content*\n\t\t * \targ <= header_arg*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeader(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_header()\n\t\t\t\n\t\t\tobj.minimal_height = () => 40\n\t\t\tobj.level = () => this.header_level(id)\n\t\t\tobj.content = () => this.block_content(id)\n\t\t\tobj.arg = () => this.header_arg(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pre* $mol_text_code\n\t\t * \ttext <= pre_text*\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \tsidebar_showed <= pre_sidebar_showed\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPre(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code()\n\t\t\t\n\t\t\tobj.text = () => this.pre_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.sidebar_showed = () => this.pre_sidebar_showed()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cut* $mol_view dom_name \\hr\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCut(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"hr\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table* $mol_grid\n\t\t * \thead_cells <= table_head_cells*\n\t\t * \trows <= table_rows*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.head_cells = () => this.table_head_cells(id)\n\t\t\tobj.rows = () => this.table_rows(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table_row* $mol_grid_row cells <= table_cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.table_cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table_cell* $mol_text\n\t\t * \tauto_scroll null\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= table_cell_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable_cell(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.table_cell_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid* $mol_grid rows <= grid_rows*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.rows = () => this.grid_rows(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid_row* $mol_grid_row cells <= grid_cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.grid_cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid_cell* $mol_text\n\t\t * \tauto_scroll null\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= grid_cell_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid_cell(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.grid_cell_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * String* $mol_dimmer\n\t\t * \tdom_name \\span\n\t\t * \tneedle <= highlight\n\t\t * \thaystack <= line_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tString(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.dom_name = () => \"span\"\n\t\t\tobj.needle = () => this.highlight()\n\t\t\tobj.haystack = () => this.line_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Span* $mol_text_span\n\t\t * \tdom_name \\span\n\t\t * \ttype <= line_type*\n\t\t * \tsub <= line_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSpan(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_span()\n\t\t\t\n\t\t\tobj.dom_name = () => \"span\"\n\t\t\tobj.type = () => this.line_type(id)\n\t\t\tobj.sub = () => this.line_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Code_line* $mol_text_code_row\n\t\t * \tnumb_showed false\n\t\t * \thighlight <= highlight\n\t\t * \ttext <= line_text*\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \tsyntax <= code_syntax\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCode_line(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_row()\n\t\t\t\n\t\t\tobj.numb_showed = () => false\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.text = () => this.line_text(id)\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.syntax = () => this.code_syntax()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Link* $mol_link_iconed\n\t\t * \turi <= link_uri*\n\t\t * \tcontent <= line_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLink(id: any) {\n\t\t\tconst obj = new this.$.$mol_link_iconed()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.content = () => this.line_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Link_http* $mol_link_iconed\n\t\t * \turi <= link_uri*\n\t\t * \tcontent / <= link_host*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLink_http(id: any) {\n\t\t\tconst obj = new this.$.$mol_link_iconed()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.content = () => [\n\t\t\t\tthis.link_host(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Embed* $mol_embed_any\n\t\t * \turi <= link_uri*\n\t\t * \ttitle <= line_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEmbed(id: any) {\n\t\t\tconst obj = new this.$.$mol_embed_any()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.title = () => this.line_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto_scroll null\n\t\t * ```\n\t\t */\n\t\tauto_scroll() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * block_content* /\n\t\t * ```\n\t\t */\n\t\tblock_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * quote_text* \\\n\t\t * ```\n\t\t */\n\t\tquote_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * list_type* \\-\n\t\t * ```\n\t\t */\n\t\tlist_type(id: any) {\n\t\t\treturn \"-\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * list_text* \\\n\t\t * ```\n\t\t */\n\t\tlist_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * header_level* 1\n\t\t * ```\n\t\t */\n\t\theader_level(id: any) {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * header_arg* *\n\t\t * ```\n\t\t */\n\t\theader_arg(id: any) {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pre_text* \\\n\t\t * ```\n\t\t */\n\t\tpre_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * code_sidebar_showed true\n\t\t * ```\n\t\t */\n\t\tcode_sidebar_showed() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pre_sidebar_showed <= code_sidebar_showed\n\t\t * ```\n\t\t */\n\t\tpre_sidebar_showed() {\n\t\t\treturn this.code_sidebar_showed()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_head_cells* /\n\t\t * ```\n\t\t */\n\t\ttable_head_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_rows* /\n\t\t * ```\n\t\t */\n\t\ttable_rows(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_cells* /\n\t\t * ```\n\t\t */\n\t\ttable_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_cell_text* \\\n\t\t * ```\n\t\t */\n\t\ttable_cell_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_rows* /\n\t\t * ```\n\t\t */\n\t\tgrid_rows(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_cells* /\n\t\t * ```\n\t\t */\n\t\tgrid_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_cell_text* \\\n\t\t * ```\n\t\t */\n\t\tgrid_cell_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_text* \\\n\t\t * ```\n\t\t */\n\t\tline_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_type* \\\n\t\t * ```\n\t\t */\n\t\tline_type(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_content* /\n\t\t * ```\n\t\t */\n\t\tline_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * code_syntax null\n\t\t * ```\n\t\t */\n\t\tcode_syntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * link_uri* \\\n\t\t * ```\n\t\t */\n\t\tlink_uri(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * link_host* \\\n\t\t * ```\n\t\t */\n\t\tlink_host(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level 1\n\t\t * ```\n\t\t */\n\t\tlevel() {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Link\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Link()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\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\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLink() {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => this.arg()\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_text_header_Link_hint' )\n\t\t\tobj.sub = () => this.content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_text_span extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\span\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"span\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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 '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\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_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() )\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}\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}\\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}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\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_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_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\\tdisplay: inline;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n\\tvertical-align: top;\\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}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\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) }","namespace $ {\n\texport class $mol_icon_chevron_down extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_chevron_right extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_theme_auto extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr * mol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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() ? '$mol_theme_light' : '$mol_theme_dark'\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_nav extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cycle? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_x? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_y? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_x? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_y? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_up?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_up(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_down?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_down(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_left?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_left(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_right?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_right(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> event_key?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.event_key(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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\t// case $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\t// case $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 class $mol_text_list extends $mol_text {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto_scroll null\n\t\t * ```\n\t\t */\n\t\tauto_scroll() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_list_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_list_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Paragraph* $mol_text_list_item\n\t\t * \tindex <= item_index*\n\t\t * \tsub <= block_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tParagraph(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_list_item()\n\t\t\t\n\t\t\tobj.index = () => this.item_index(id)\n\t\t\tobj.sub = () => this.block_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_list_item extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_list_item_index <= index\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_list_item_index: this.index()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * index 0\n\t\t * ```\n\t\t */\n\t\tindex() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $hyoo_calc extends $mol_page {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * yard $hyoo_sync_client\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tyard() {\n\t\t\tconst obj = new this.$.$hyoo_sync_client()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * formulas_default *\n\t\t * ```\n\t\t */\n\t\tformulas_default() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * formula*?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tformula(id: any, val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title_edit\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title_edit(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /\n\t\t * \t<= Download\n\t\t * \t<= Fork\n\t\t * \t<= New\n\t\t * \t<= Lights\n\t\t * \t<= Source\n\t\t * \t<= Online\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t\tthis.Download(),\n\t\t\t\tthis.Fork(),\n\t\t\t\tthis.New(),\n\t\t\t\tthis.Lights(),\n\t\t\t\tthis.Source(),\n\t\t\t\tthis.Online()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Current\n\t\t * \t<= Hint\n\t\t * \t<= Body\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Current(),\n\t\t\t\tthis.Hint(),\n\t\t\t\tthis.Body()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body / <= Cells\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t\tthis.Cells()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit* $mol_textarea\n\t\t * \thint \\=\n\t\t * \tvalue?val <=> formula*?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEdit(id: any) {\n\t\t\tconst obj = new this.$.$mol_textarea()\n\t\t\t\n\t\t\tobj.hint = () => \"=\"\n\t\t\tobj.value = (val?: any) => this.formula(id, val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= col_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.col_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= row_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.row_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell* $hyoo_calc_cell\n\t\t * \ttext <= cell_content*\n\t\t * \tselected?val <=> selected*?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell(id: any) {\n\t\t\tconst obj = new this.$.$hyoo_calc_cell()\n\t\t\t\n\t\t\tobj.text = () => this.cell_content(id)\n\t\t\tobj.selected = (val?: any) => this.selected(id, val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /\n\t\t * \t<= Theme\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Theme(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * paste?event <=> paste?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tpaste: (event?: any) => this.paste(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttitle(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_default @ \\Spreedsheet\n\t\t * ```\n\t\t */\n\t\ttitle_default() {\n\t\t\treturn this.$.$mol_locale.text( '$hyoo_calc_title_default' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title_edit $mol_string_button\n\t\t * \tvalue?val <=> title?val\n\t\t * \thint <= title_default\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle_edit() {\n\t\t\tconst obj = new this.$.$mol_string_button()\n\t\t\t\n\t\t\tobj.value = (val?: any) => this.title(val)\n\t\t\tobj.hint = () => this.title_default()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * download_file \\\n\t\t * ```\n\t\t */\n\t\tdownload_file() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * download_uri?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tdownload_uri(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Download $mol_button_download\n\t\t * \thint @ \\Download CSV\n\t\t * \tfile_name <= download_file\n\t\t * \turi <= download_uri?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tDownload() {\n\t\t\tconst obj = new this.$.$mol_button_download()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Download_hint' )\n\t\t\tobj.file_name = () => this.download_file()\n\t\t\tobj.uri = () => this.download_uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sheet_fork? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsheet_fork(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fork_icon $mol_icon_directions_fork\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFork_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_directions_fork()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fork $mol_button_minor\n\t\t * \thint @ \\Fork spreadsheet\n\t\t * \tclick? <=> sheet_fork?\n\t\t * \tsub / <= Fork_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFork() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Fork_hint' )\n\t\t\tobj.click = (next?: any) => this.sheet_fork(next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Fork_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sheet_new? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsheet_new(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * New_icon $mol_icon_plus_box\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNew_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_plus_box()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * New $mol_button_minor\n\t\t * \thint @ \\New spreadsheet\n\t\t * \tclick? <=> sheet_new?\n\t\t * \tsub / <= New_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNew() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_New_hint' )\n\t\t\tobj.click = (next?: any) => this.sheet_new(next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.New_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Lights $mol_lights_toggle\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLights() {\n\t\t\tconst obj = new this.$.$mol_lights_toggle()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Source $mol_link_source uri \\https://github.com/hyoo-ru/calc.hyoo.ru\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSource() {\n\t\t\tconst obj = new this.$.$mol_link_source()\n\t\t\t\n\t\t\tobj.uri = () => \"https://github.com/hyoo-ru/calc.hyoo.ru\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Online $hyoo_sync_online yard <= yard\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOnline() {\n\t\t\tconst obj = new this.$.$hyoo_sync_online()\n\t\t\t\n\t\t\tobj.yard = () => this.yard()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pos?val \\A1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpos(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"A1\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pos $mol_button_minor\n\t\t * \tenabled false\n\t\t * \ttitle <= pos?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPos() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.enabled = () => false\n\t\t\tobj.title = () => this.pos()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit_current $mol_textarea\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEdit_current() {\n\t\t\tconst obj = new this.$.$mol_textarea()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_showed?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thint_showed(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint_trigger_icon $mol_icon_hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint_trigger_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint_trigger $mol_check_icon\n\t\t * \tchecked?val <=> hint_showed?val\n\t\t * \tIcon <= Hint_trigger_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint_trigger() {\n\t\t\tconst obj = new this.$.$mol_check_icon()\n\t\t\t\n\t\t\tobj.checked = (val?: any) => this.hint_showed(val)\n\t\t\tobj.Icon = () => this.Hint_trigger_icon()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Current $mol_bar sub /\n\t\t * \t<= Pos\n\t\t * \t<= Edit_current\n\t\t * \t<= Hint_trigger\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCurrent() {\n\t\t\tconst obj = new this.$.$mol_bar()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Pos(),\n\t\t\t\tthis.Edit_current(),\n\t\t\t\tthis.Hint_trigger()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\\n\t\t * \t\\`$.A1` - result of A1, `$$.A1` - formula of A1, `a=` - define variable, `_.a` - value of variable, `__.a` - cell id of variable, `A1:C3` - range of cells, use [**JavaScript**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) for other.\n\t\t * \t\\**Available funcs**: {funcs}.\n\t\t * \t\\Use Alt + Arrows to switch between cells.\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$hyoo_calc_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint $mol_text text <= hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint() {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.text = () => this.hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ids /\n\t\t * ```\n\t\t */\n\t\tcol_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ids /\n\t\t * ```\n\t\t */\n\t\trow_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_cells /\n\t\t * ```\n\t\t */\n\t\thead_cells() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells* /\n\t\t * ```\n\t\t */\n\t\tcells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cells $mol_grid\n\t\t * \tcol_ids <= col_ids\n\t\t * \trow_ids <= row_ids\n\t\t * \thead_cells <= head_cells\n\t\t * \tcells* <= cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCells() {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.col_ids = () => this.col_ids()\n\t\t\tobj.row_ids = () => this.row_ids()\n\t\t\tobj.head_cells = () => this.head_cells()\n\t\t\tobj.cells = (id: any) => this.cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_title* \\\n\t\t * ```\n\t\t */\n\t\tcol_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_title* $mol_view sub / <= col_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_title(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.col_title(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ins*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcol_ins(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_ins_icon* $mol_icon_chevron_down\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_ins_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_down()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_ins* $mol_button_minor\n\t\t * \thint @ \\Insert Column\n\t\t * \tclick? <=> col_ins*?\n\t\t * \tsub /\n\t\t * \t\t<= col_title*\n\t\t * \t\t<= Col_ins_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_ins(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Col_ins_hint' )\n\t\t\tobj.click = (next?: any) => this.col_ins(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.col_title(id),\n\t\t\t\tthis.Col_ins_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_right*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcol_right(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_right_icon* $mol_icon_chevron_right\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_right_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_right()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_right* $mol_button_minor\n\t\t * \thint @ \\Move Right\n\t\t * \tclick? <=> col_right*?\n\t\t * \tsub / <= Col_right_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_right(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Col_right_hint' )\n\t\t\tobj.click = (next?: any) => this.col_right(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Col_right_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_tools* /\n\t\t * \t<= Col_ins*\n\t\t * \t<= Col_right*\n\t\t * ```\n\t\t */\n\t\tcol_tools(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Col_ins(id),\n\t\t\t\tthis.Col_right(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_tools* $mol_bar sub <= col_tools*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_tools(id: any) {\n\t\t\tconst obj = new this.$.$mol_bar()\n\t\t\t\n\t\t\tobj.sub = () => this.col_tools(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_head_content* /\n\t\t * \t<= Col_title*\n\t\t * \t<= Col_tools*\n\t\t * ```\n\t\t */\n\t\tcol_head_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Col_title(id),\n\t\t\t\tthis.Col_tools(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_title* \\\n\t\t * ```\n\t\t */\n\t\trow_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_title* $mol_view sub / <= row_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_title(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.row_title(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ins*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\trow_ins(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_ins_icon* $mol_icon_chevron_right\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_ins_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_right()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_ins* $mol_button_minor\n\t\t * \thint @ \\Insert Row\n\t\t * \tclick? <=> row_ins*?\n\t\t * \tsub /\n\t\t * \t\t<= row_title*\n\t\t * \t\t<= Row_ins_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_ins(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Row_ins_hint' )\n\t\t\tobj.click = (next?: any) => this.row_ins(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.row_title(id),\n\t\t\t\tthis.Row_ins_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_down*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\trow_down(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_down_icon* $mol_icon_chevron_down\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_down_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_down()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_down* $mol_button_minor\n\t\t * \thint @ \\Move Down\n\t\t * \tclick? <=> row_down*?\n\t\t * \tsub / <= Row_down_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_down(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Row_down_hint' )\n\t\t\tobj.click = (next?: any) => this.row_down(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Row_down_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_tools* /\n\t\t * \t<= Row_ins*\n\t\t * \t<= Row_down*\n\t\t * ```\n\t\t */\n\t\trow_tools(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Row_ins(id),\n\t\t\t\tthis.Row_down(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_tools* $mol_view sub <= row_tools*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_tools(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.row_tools(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_head_content* /\n\t\t * \t<= Row_title*\n\t\t * \t<= Row_tools*\n\t\t * ```\n\t\t */\n\t\trow_head_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Row_title(id),\n\t\t\t\tthis.Row_tools(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content* \\\n\t\t * ```\n\t\t */\n\t\tcell_content(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selected*?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tselected(id: any, val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Theme $mol_theme_auto\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTheme() {\n\t\t\tconst obj = new this.$.$mol_theme_auto()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_col?val 1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_col(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_row?val 1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_row(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tmod_alt true\n\t\t * \tkeys_x <= col_ids\n\t\t * \tkeys_y <= row_ids\n\t\t * \tcurrent_x?val <=> current_col?val\n\t\t * \tcurrent_y?val <=> current_row?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.mod_alt = () => true\n\t\t\tobj.keys_x = () => this.col_ids()\n\t\t\tobj.keys_y = () => this.row_ids()\n\t\t\tobj.current_x = (val?: any) => this.current_col(val)\n\t\t\tobj.current_y = (val?: any) => this.current_row(val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * paste?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpaste(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n\texport class $hyoo_calc_cell extends $mol_text {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\td\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"td\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thyoo_calc_cell_selected <= selected?val\n\t\t * \thyoo_calc_cell_type <= type?val\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thyoo_calc_cell_selected: this.selected(),\n\t\t\t\thyoo_calc_cell_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selected?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselected(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\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}: {\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} ) {\n\t\t\n\t\tif( !update ) update = ( next, prev, lead )=> insert( next, drop( prev, lead ) )\n\t\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\tif( to > prev.length ) $mol_fail( new RangeError( `To(${ to }) greater then length(${ prev.length })` ) )\n\t\tif( from > to ) $mol_fail( new RangeError( `From(${ to }) greater then to(${ to })` ) )\n\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 = prev[p]\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 = 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}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $hyoo_crowd_dict extends $hyoo_crowd_node {\n\t\t\n\t\tkeys( next?: string[] ) {\n\t\t\t\n\t\t\tconst prev = this.units()\n\t\t\tif( !next ) return prev.map( unit => String( unit.data ) )\n\n\t\t\t$mol_reconcile({\n\t\t\t\tprev,\n\t\t\t\tfrom: 0,\n\t\t\t\tto: prev.length,\n\t\t\t\tnext,\n\t\t\t\tequal: ( next, prev )=> prev.data === next,\n\t\t\t\tdrop: ( prev, lead )=> this.land.wipe( prev ),\n\t\t\t\tinsert: ( next, lead )=> this.land.put(\n\t\t\t\t\tthis.head,\n\t\t\t\t\t$mol_int62_hash_string( next + '\\n' + this.head ),\n\t\t\t\t\tlead?.self ?? '0_0',\n\t\t\t\t\tnext,\n\t\t\t\t),\n\t\t\t})\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tsub< Node extends typeof $hyoo_crowd_node >( key: string, Node: Node ) {\n\t\t\tthis.add( key )\n\t\t\treturn new Node( this.land, $mol_int62_hash_string( key + '\\n' + this.head ) ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\thas( key: string ) {\n\t\t\t\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( unit.data === key ) return true \n\t\t\t}\n\t\t\t\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tadd( key: string ) {\n\t\t\tif( this.has( key ) ) return\n\t\t\tthis.keys([ ... this.keys(), key ])\n\t\t}\n\t\t\n\t\tdrop( key: string ) {\n\t\t\t\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( unit.data !== key ) continue\n\t\t\t\tthis.land.wipe( unit )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $hyoo_calc_sheet extends $hyoo_crowd_struct {\n\t\t\n\t\t@ $mol_mem\n\t\tchangable() {\n\t\t\treturn this.land.level( '' ) >= $hyoo_crowd_peer_level.mod\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\treturn this.sub( 'title', $hyoo_crowd_reg ).str( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tformula_node() {\n\t\t\treturn this.sub( 'formula', $hyoo_crowd_dict )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tformula( cell: string, next?: string ) {\n\t\t\tif( !next && !this.cells().includes( cell ) ) return next ?? ''\n\t\t\treturn this.formula_node().sub( cell, $hyoo_crowd_reg ).str( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tcells() {\n\t\t\treturn this.formula_node().keys()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsteal( donor: $hyoo_calc_sheet ) {\n\t\t\t\n\t\t\tthis.title( donor.title() )\n\t\t\t\n\t\t\tfor( const cell of donor.cells() ) {\n\t\t\t\tthis.formula( cell, donor.formula( cell ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Sandbox for javascript code from user.\n\t * @see https://sandbox.js.hyoo.ru/\n\t */\n\texport class $mol_func_sandbox {\n\t\t\n\t\tstatic blacklist = new Set([\n\t\t\t( function() {} ).constructor ,\n\t\t\t( async function() {} ).constructor ,\n\t\t\t( function*() {} ).constructor ,\n\t\t\t( async function*() {} ).constructor ,\n\t\t\teval ,\n\t\t\tsetTimeout ,\n\t\t\tsetInterval ,\n\t\t])\n\n\t\tstatic whitelist = new WeakSet()\n\n\t\tstatic _make : ( contexts : Object[] )=> ( code : string )=> ()=> any\n\n\t\tstatic get make() {\n\n\t\t\tif( this._make ) return this._make\n\t\t\t\n\t\t\tconst frame = $mol_dom_context.document.createElement( 'iframe' )\n\n\t\t\tframe.style.display = 'none'\n\t\t\t$mol_dom_context.document.body.appendChild( frame )\n\n\t\t\tconst win = frame.contentWindow as any as typeof globalThis\n\t\t\tconst SafeFunc = win.Function\n\t\t\tconst SafeJSON = win.JSON\n\t\t\t\n\t\t\twin.eval( `\n\n\t\t\t\tvar AsyncFunction = AsyncFunction || ( async function() {} ).constructor\n\t\t\t\tvar GeneratorFunction = GeneratorFunction || ( function*() {} ).constructor\n\t\t\t\tvar AsyncGeneratorFunction = AsyncGeneratorFunction || ( async function*() {} ).constructor\n\n\t\t\t\tObject.defineProperty( Function.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( AsyncFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( GeneratorFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( AsyncGeneratorFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\t\n\t\t\t\tdelete Object.prototype.__proto__\n\n\t\t\t\tfor( const Class of [\n\t\t\t\t\tString , Number , BigInt , Boolean , Array , Object , Promise , Symbol , RegExp , \n\t\t\t\t\tWindow, Error , RangeError , ReferenceError , SyntaxError , TypeError ,\n\t\t\t\t\tFunction , AsyncFunction , GeneratorFunction , AsyncGeneratorFunction\n\t\t\t\t] ) {\n\t\t\t\t\tObject.freeze( Class )\n\t\t\t\t\tObject.freeze( Class.prototype )\n\t\t\t\t}\n\n\t\t\t\tfor( const key of Object.getOwnPropertyNames( window ) ) delete window[ key ]\n\n\t\t\t` )\n\n\t\t\t// Stop event-loop and break all async operations\n\t\t\t$mol_dom_context.document.body.removeChild( frame )\n\t\t\t\n\t\t\tlet context_default = {} as Record< string, any >\n\n\t\t\tfunction clean( obj : object ) {\n\n\t\t\t\tfor( let name of Object.getOwnPropertyNames( obj ) ) {\n\t\t\t\t\tcontext_default[ name ] = undefined\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst proto = Object.getPrototypeOf( obj )\n\t\t\t\tif( proto ) clean( proto )\n\n\t\t\t}\n\t\t\tclean( win )\n\n\t\t\tconst is_primitive = ( val : any )=> Object( val ) !== val\n\n\t\t\tconst safe_value = ( val : any ) : any => {\n\n\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\tif( this.blacklist.has( val ) ) return undefined\n\t\t\t\tif( this.whitelist.has( val ) ) return val\n\t\t\t\t\n\t\t\t\tconst str = JSON.stringify( val )\n\t\t\t\tif( !str ) return str\n\n\t\t\t\tval = SafeJSON.parse( str )\n\t\t\t\tthis.whitelist.add( val )\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tconst safe_derived = ( val : any ) : any => {\n\t\t\t\t\n\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\t\n\t\t\t\tconst proxy = new Proxy( val , {\n\n\t\t\t\t\tget( val , field : any ) {\n\t\t\t\t\t\tif( field === 'valueOf' ) return safe_derived( val[field] )\n\t\t\t\t\t\tif( field === 'toString' ) return safe_derived( val[field] )\n\t\t\t\t\t\treturn safe_value( val[field] )\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tset() { return false },\n\t\t\t\t\tdefineProperty() { return false },\n\t\t\t\t\tdeleteProperty() { return false },\n\t\t\t\t\tpreventExtensions() { return false },\n\t\t\t\t\t\n\t\t\t\t\tapply( val , host , args ) {\n\t\t\t\t\t\treturn safe_value( val.call( host , ... args ) )\n\t\t\t\t\t},\n\n\t\t\t\t\tconstruct( val , args ) {\n\t\t\t\t\t\treturn safe_value( new val( ... args ) )\n\t\t\t\t\t},\n\n\t\t\t\t})\n\n\t\t\t\tthis.whitelist.add( proxy )\n\n\t\t\t\treturn proxy\n\t\t\t}\n\n\t\t\treturn this._make = ( ( ... contexts : Record< string, any >[] )=> {\n\n\t\t\t\tconst context_merged = {} as Record< string, any >\n\n\t\t\t\tfor( let context of contexts ) {\n\t\t\t\t\tfor( let name of Object.getOwnPropertyNames( context ) ) {\n\t\t\t\t\t\tcontext_merged[ name ] = safe_derived( context[ name ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst vars = Object.keys( context_merged )\n\t\t\t\tconst values = vars.map( name => context_merged[ name ] )\n\t\n\t\t\t\treturn ( code : string )=> {\n\n\t\t\t\t\tconst func = new SafeFunc( ... vars , '\"use strict\";' + code )\n\t\t\t\t\t\t.bind( null , ... values )\n\t\t\t\t\t\n\t\t\t\t\treturn ()=> {\n\n\t\t\t\t\t\tconst val = func()\n\t\t\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.whitelist.add( val )\n\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} ).bind( null , context_default )\n\n\t\t}\n\n\t\tconstructor( ... contexts : Object[] ) {\n\t\t\tthis.contexts = contexts\n\t\t}\n\n\t\tcontexts : Object[]\n\t\t\n\t\t_eval : ( ( code : string )=> ()=> any ) | undefined\n\t\tget eval() {\n\t\t\tif( this._eval ) return this._eval\n\t\t\treturn this._eval = $mol_func_sandbox.make( ... this.contexts as [Object[]] )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_offline( ) {}\n\n}\n","namespace $ {\n\ttry {\n\t\t$mol_offline()\n\t} catch( error ) {\n\t\tconsole.error( error )\n\t}\n}\n","namespace $.$$ {\n\n\texport class $hyoo_calc extends $.$hyoo_calc {\n\t\t\n\t\t@ $mol_mem\n\t\tsheet_fund() {\n\t\t\treturn this.yard().world().Fund( $hyoo_calc_sheet )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsheet() {\n\t\t\t\n\t\t\tconst id = $mol_int62_string_ensure( this.$.$mol_state_arg.value( 'sheet' ) )\n\t\t\tif( !id ) return null\n\t\t\t\n\t\t\treturn this.sheet_fund().Item( id )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsheet_new() {\n\t\t\tconst sheet = this.sheet_fund().make()\n\t\t\tthis.$.$mol_state_arg.go({ sheet: sheet.land.id() })\n\t\t\treturn sheet\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsheet_fork() {\n\t\t\t\n\t\t\tconst prev = this.sheet()\n\t\t\t\n\t\t\tconst title = this.title()\n\t\t\tconst formulas = this.formulas()\n\t\t\t\n\t\t\tconst next = this.sheet_new()\n\t\t\t\n\t\t\tif( prev ) {\n\t\t\t\t\n\t\t\t\tnext.steal( prev )\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tnext.title( title )\n\t\t\t\t\n\t\t\t\tfor( let cell in formulas ) {\n\t\t\t\t\tnext.formula( cell, formulas[ cell ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_action\n\t\tsheet_changable() {\n\t\t\tconst sheet = this.sheet()\n\t\t\tif( sheet?.changable() ) return sheet\n\t\t\treturn this.sheet_fork()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tformulas_default() {\n\t\t\tconst source = this.$.$mol_state_arg.value( 'source' )\n\t\t\tif( source ) {\n\t\t\t\treturn this.$.$mol_fetch.json( source ) as Record< string, string >\n\t\t\t}\n\t\t\treturn this.$.$mol_state_arg.dict()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tformulas() {\n\t\t\t\n\t\t\tconst formulas = {} as { [ key : string ] : string }\n\t\t\t\n\t\t\tconst sheet = this.sheet()\n\t\t\tif( sheet ) {\n\t\t\t\t\n\t\t\t\tfor( const cell of sheet.cells() ) {\n\t\t\t\t\tformulas[ cell ] = sheet.formula( cell )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tlet args = this.formulas_default()\n\t\t\t\tconst ids = Object.keys( args ).filter( param => this.id2coord( param ) )\n\t\t\t\tfor( let id of ids ) formulas[ id ] = args[ id ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn formulas\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tformula_name( id : string ) {\n\t\t\t\n\t\t\tconst found = /^([\\p{Letter}_]*)\\s*=/u.exec( this.formulas()[ id ] )\n\t\t\tif( !found ) return null\n\n\t\t\treturn found[1]\n\t\t}\n\n\t\t@ $mol_mem\n\t\trefs() {\n\t\t\t\n\t\t\tconst formulas = this.formulas()\n\t\t\tconst vars = {} as Record< string , string >\n\t\t\t\n\t\t\tfor( const id in formulas ) {\n\t\t\t\t\n\t\t\t\tconst name = this.formula_name( id )\n\t\t\t\tif( !name ) continue\n\n\t\t\t\tif( vars[ name ] ) throw new Error( `Names conflict: ${ id }, ${ vars[ name ] }` )\n\t\t\t\t\n\t\t\t\tvars[ name ] = id\n\t\t\t}\n\n\t\t\treturn vars\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tid2coord( id : string ) : [ number , number ] | null {\n\t\t\t\n\t\t\tconst parsed = /^([A-Z]+)(\\d+)$/i.exec( id )\n\t\t\tif( !parsed ) return null\n\n\t\t\treturn [ this.string2number( parsed[1].toUpperCase() ) , Number( parsed[2] ) ]\n\t\t}\n\n\t\tcoord2id( coord : [ number , number ] ) : string {\n\t\t\treturn `${ this.number2string( coord[0] ) }${ coord[1] }`\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdimensions() {\n\n\t\t\tconst dims = {\n\t\t\t\trows : 3 ,\n\t\t\t\tcols : 3 ,\n\t\t\t}\n\n\t\t\tfor( let key of Object.keys( this.formulas() ) ) {\n\t\t\t\tconst coord = this.id2coord( key )!\n\n\t\t\t\tconst rows = coord[1] + 2\n\t\t\t\tconst cols = coord[0] + 2\n\t\t\t\t\n\t\t\t\tif( rows > dims.rows ) dims.rows = rows\n\t\t\t\tif( cols > dims.cols ) dims.cols = cols\n\t\t\t}\n\t\t\t\n\t\t\treturn dims\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcol_ids() {\n\t\t\treturn Array( this.dimensions().cols ).join(' ').split(' ').map( ( _ , i )=> i + 1 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\treturn Array( this.dimensions().rows ).join(' ').split(' ').map( ( _ , i )=> i + 1 )\n\t\t}\n\n\t\tnumber2string( numb : number ) {\n\t\t\t\n\t\t\tif( numb <= 0 ) return ''\n\t\t\tnumb --\n\t\t\t\n\t\t\tconst letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n\t\t\tlet str = ''\n\t\t\t\n\t\t\tdo {\n\t\t\t\tstr = letters[ numb % 26 ] + str\n\t\t\t\tnumb = Math.floor( numb / 26 )\n\t\t\t} while ( numb )\n\t\t\t\n\t\t\treturn str\n\t\t}\n\n\t\tstring2number( str : string ) {\n\t\t\tlet numb = 0\n\t\t\tfor( let symb of str.split( '' ) ) {\n\t\t\t\tnumb = numb * 26\n\t\t\t\tnumb += symb.charCodeAt( 0 ) - 65\n\t\t\t}\n\t\t\treturn numb + 1\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttitle( next? : string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn this.sheet()?.title() ?? this.$.$mol_state_arg.value( `title` ) ?? super.title()\n\t\t\t} else {\n\t\t\t\treturn this.sheet_changable().title( next )\n\t\t\t}\n\t\t}\n\n\t\tcol_title( id : number ) {\n\t\t\treturn this.number2string( id )\n\t\t}\n\n\t\tcol_head_content( id: number ) {\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tif( coord[0] !== id ) return [ this.Col_title(id) ]\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Col_title(id),\n\t\t\t\tthis.Col_tools(id),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\trow_title( id : number ) {\n\t\t\treturn String( id )\n\t\t}\n\n\t\trow_head_content( id: number ) {\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tif( coord[1] !== id ) return [ this.Row_title(id) ]\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Row_title(id),\n\t\t\t\tthis.Row_tools(id),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn [ this.Col_head( 0 ) , ... this.col_ids().map( colId => this.Col_head( colId ) ) ]\n\t\t}\n\t\t\n\t\tcells( row_id : number ) {\n\t\t\treturn [ this.Row_head( row_id ) , ... this.col_ids().map( col_id => this.Cell( this.coord2id([ col_id , row_id ]) ) ) ]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tselected( id : string , next? : boolean ) {\n\t\t\treturn this.Cell( this.pos( next ? id : undefined ) ) === this.Cell( id )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpos( next? : string ) : string {\n\t\t\tif( next !== $mol_mem_cached( ()=> this.pos() ) ) {\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\tthis.Edit_current().Edit().focused( true )\n\t\t\t\t\tthis.ensure_visible( this.Cell( next ), 'nearest' )\n\t\t\t\t} )\n\t\t\t}\n\t\t\treturn next || super.pos()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcoord( next? : [ number , number ] ) {\n\t\t\treturn this.id2coord( this.pos( next && this.coord2id( next ) ) )!\n\t\t}\n\n\t\tEdit_current() {\n\t\t\treturn this.Edit( this.pos() )\n\t\t}\n\n\t\tcurrent_row( next? : number ) {\n\t\t\treturn this.coord( next === undefined ? undefined : [ this.coord()[0] , next ] )[ 1 ]\n\t\t}\n\n\t\tcurrent_col( next? : number ) {\n\t\t\treturn this.coord( next === undefined ? undefined : [ next , this.coord()[1] ] )[ 0 ]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tformula( id : string , next? : string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn this.sheet()?.formula( id, next ) || this.formulas_default()[ id ] || ''\n\t\t\t} else {\n\t\t\t\treturn this.sheet_changable().formula( id, next )\n\t\t\t}\n\t\t}\n\n\t\tformula_current( next? : string ) {\n\t\t\treturn this.formula( this.pos() , next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsandbox() {\n\t\t\treturn new $mol_func_sandbox( Math , {\n\n\t\t\t\t'$' : new Proxy( {} , { get : ( _ , id : string ) : any => {\n\t\t\t\t\treturn this.result( id )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'$$' : new Proxy( {} , { get : ( _ , id : string ) : any => {\n\t\t\t\t\treturn this.formula( id )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'_' : new Proxy( {} , { get : ( _ , name : string ) : any => {\n\t\t\t\t\treturn this.result( this.refs()[ name ] )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'__' : new Proxy( {} , { get : ( _ , name : string ) : any => {\n\t\t\t\t\treturn this.refs()[ name ]\n\t\t\t\t} } ) ,\n\n\t\t\t\t'RANGE' : ( from : string , to : string )=> this.results([ from , to ]) ,\n\n\t\t\t\t'SUM' : ( values : number[] )=> values.reduce( ( accum , item ) => accum + item , 0 ) ,\n\t\t\t\t\n\t\t\t\t'AVG' : ( values : number[] )=> values.reduce( ( accum , item ) => accum + item , 0 ) / values.length ,\n\n\t\t\t\t'MAX' : ( values : number[] )=> values.reduce( ( max , item ) => item > max ? item : max , Number.NEGATIVE_INFINITY ) ,\n\n\t\t\t\t'MIN' : ( values : number[] )=> values.reduce( ( min , item ) => item < min ? item : min , Number.POSITIVE_INFINITY ) ,\n\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tresults( range : [ string , string ] ) {\n\t\t\t\n\t\t\tconst start = this.id2coord( range[0] )!\n\t\t\tconst end = this.id2coord( range[1] )!\n\n\t\t\tconst results = [] as unknown[]\n\n\t\t\tfor( let row = start[0] ; row <= end[0] ; ++row ) {\n\t\t\t\tfor( let col = start[1] ; col <= end[1] ; ++col ) {\n\t\t\t\t\tresults.push( this.result( this.coord2id([ row , col ]) ) )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn results\n\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head() ,\n\t\t\t\tthis.Current() ,\n\t\t\t\t... this.hint_showed() ? [ this.Hint() ] : [] ,\n\t\t\t\tthis.Body() ,\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\thint() {\n\t\t\treturn super.hint().replace( '{funcs}' , Object.getOwnPropertyNames( Math ).map( name => \"`\" + name + \"`\" ).join( ', ' ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tcell_content( id : string ) : string {\n\t\t\t\n\t\t\tconst name = this.formula_name( id )\n\t\t\t\n\t\t\tlet val = this.result( id )\n\t\t\tif( typeof val === 'object' ) val = JSON.stringify( val )\n\n\t\t\treturn name ? `${name} = ${val}` : String( val )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfunc( id : string ) {\n\t\t\tconst formula = this.formula( id )\n\t\t\tif( !/^([\\p{Letter}_]*)?\\s*=/u.test( formula ) ) return ()=> formula\n\t\t\t\n\t\t\tconst code = 'return ' + formula\n\t\t\t.replace( /([A-Z]+[0-9]+):([A-Z]+[0-9]+)/g , ( found : string , from : string , to : string )=> `RANGE('${ from.toLowerCase() }','${ to.toLowerCase() }')` )\n\t\t\t.replace( /@([A-Z]+[0-9]+)\\b/g , '$$.$1' )\n\t\t\t.replace( /([^.])([A-Z]+[0-9]+)\\b/g , '$1$.$2' )\n\t\t\t.replace( /^([\\p{Letter}_]*)?\\s*=/u , '' )\n\t\t\t\n\t\t\treturn this.sandbox().eval( code )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tresult( id : string ) : string | number {\n\t\t\t$mol_wire_solid()\n\t\t\tconst res = this.func( id )()\n\t\t\tif( res === undefined ) return ''\n\t\t\tif( res === '' ) return ''\n\t\t\tif( isNaN( res ) ) return res\n\t\t\tif( res && typeof res === 'object' ) return JSON.stringify( res )\n\t\t\treturn Number( res )\n\t\t}\n\n\t\tpaste( event : ClipboardEvent ) {\n\t\t\t\n\t\t\tconst table = event.clipboardData!.getData( 'text/plain' ).trim().split( '\\n' ).map( row => row.split( '\\t' ) ) as string[][]\n\t\t\tif( table.length === 1 && table[0].length === 1 ) return\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\n\t\t\tconst [ col_start , row_start ] = this.id2coord( this.pos() )!\n\n\t\t\tfor( let row in table ) {\n\t\t\t\tfor( let col in table[ row ] ) {\n\t\t\t\t\tconst id = this.coord2id([ col_start + Number( col ) , row_start + Number( row ) ])\n\t\t\t\t\tsheet.formula( id, table[ row ][ col ] )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tevent.preventDefault()\n\t\t}\n\n\t\tdownload_file() {\n\t\t\treturn `${ this.title() }.csv`\n\t\t}\n\n\t\tdownload_uri() {\n\n\t\t\tconst table : string[][] = []\n\t\t\tconst dims = this.dimensions()\n\n\t\t\tfor( let row = 1 ; row < dims.rows ; ++ row ) {\n\n\t\t\t\tconst row_data = [] as any[]\n\t\t\t\ttable.push( row_data )\n\t\t\t\t\n\t\t\t\tfor( let col = 0 ; col < dims.cols ; ++ col ) {\n\t\t\t\t\trow_data[ col ] = String( this.result( this.coord2id([ col , row ]) ) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst content = table.map( row => row.map( val => `\"${ val.replace( /\"/g , '\"\"' ) }\"` ).join( ';' ) ).join( '\\n' )\n\n\t\t\treturn `data:text/csv;charset=utf-8,${ encodeURIComponent( content ) }`\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tcol_ins( col: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[0] < col ) {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t} else {\n\t\t\t\t\tif( coord[0] === col ) sheet.formula( id, '' )\n\t\t\t\t\tsheet.formula( this.coord2id([ coord[0] + 1, coord[1] ]), prev[ id ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\trow_ins( row: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[1] < row ) {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t} else {\n\t\t\t\t\tif( coord[1] === row ) sheet.formula( id, '' )\n\t\t\t\t\tsheet.formula( this.coord2id([ coord[0], coord[1] + 1 ]), prev[ id ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tcol_right( col: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[0] === col ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0] + 1, coord[1] ])\n\t\t\t\t} else if( coord[0] === col + 1 ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0] - 1, coord[1] ])\n\t\t\t\t} else {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsheet.formula( pair, prev[ id ] || '' )\n\t\t\t\tsheet.formula( id, prev[ pair ] || '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tthis.coord([ coord[0] + 1, coord[1] ])\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\trow_down( row: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[1] === row ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0], coord[1] + 1 ])\n\t\t\t\t} else if( coord[1] === row + 1 ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0], coord[1] - 1 ])\n\t\t\t\t} else {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsheet.formula( pair, prev[ id ] || '' )\n\t\t\t\tsheet.formula( id, prev[ pair ] || '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tthis.coord([ coord[0], coord[1] + 1 ])\n\t\t\t\n\t\t}\n\n\t}\n\n\texport class $hyoo_calc_cell extends $.$hyoo_calc_cell {\n\n\t\tclick( event? : Event ) {\n\t\t\tif( event ) this.selected( true )\n\t\t}\n\n\t\ttype() {\n\t\t\tconst value = this.text()\n\t\t\treturn isNaN( Number( value ) ) ? 'string' : 'number'\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"hyoo/calc/calc.view.css\",\n \"[hyoo_calc_title_edit]:enabled {\\n\\twidth: auto;\\n\\tflex: 1000 1 auto;\\n}\\n\\n[hyoo_calc_tools] {\\n\\tflex-grow: 0;\\n}\\n\\n[hyoo_calc_current] {\\n\\tflex: none;\\n}\\n\\n[hyoo_calc_pos] {\\n\\tflex: none;\\n\\twidth: 2.5rem;\\n\\tfont-family: monospace;\\n\\talign-items: flex-start;\\n}\\n\\n[hyoo_calc_edit] {\\n\\tflex-shrink: 1;\\n}\\n\\n[hyoo_calc_hint] {\\n\\tmax-width: none;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_hint_trigger] {\\n\\talign-items: center;\\n}\\n\\n[hyoo_calc_body] {\\n\\tscroll-padding: 2.5rem;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cells][hyoo_calc_cells] {\\n\\tflex-shrink: 0;\\n\\talign-self: flex-start;\\n}\\n\\n[hyoo_calc_col_head] ,\\n[hyoo_calc_row_head] {\\n\\tfont-family: monospace;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_shade);\\n\\tuser-select: none;\\n\\tfont-weight: inherit;\\n}\\n\\n[hyoo_calc_col_head]:has( [hyoo_calc_col_tools] ) {\\n\\tz-index: 5;\\n}\\n\\n[hyoo_calc_col_head] {\\n\\ttext-align: left;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n\\tmin-width: 5rem;\\n}\\n\\n[hyoo_calc_col_title] {\\n\\tpadding: var(--mol_gap_text);\\n\\tdisplay: inline-flex;\\n\\tvertical-align: top;\\n}\\n\\n[hyoo_calc_col_tools] {\\n\\tdisplay: inline-flex;\\n\\tposition: absolute;\\n\\tbackground: var(--mol_theme_back);\\n\\tz-index: 1;\\n\\tleft: 0;\\n\\tbox-shadow: 0 0 0.5rem hsl(0deg 0% 0% / 25%);\\n}\\n\\n[hyoo_calc_col_tools] > [mol_button_minor] {\\n\\tbackground: var(--mol_theme_card);\\n\\tjustify-content: center;\\n}\\n\\n[hyoo_calc_col_ins_icon] {\\n position: absolute;\\n\\tbottom: -0.25rem;\\n}\\n\\n[hyoo_calc_cells_row]:has( [hyoo_calc_cell_selected=\\\"true\\\"] ) > [hyoo_calc_row_head] {\\n\\tz-index: 5;\\n}\\n\\n[hyoo_calc_row_head] {\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n}\\n\\n[hyoo_calc_row_title] {\\n\\tpadding: var(--mol_gap_text);\\n\\tdisplay: inline-flex;\\n\\tvertical-align: top;\\n}\\n\\n[hyoo_calc_row_tools] {\\n\\tposition: absolute;\\n\\tbackground: var(--mol_theme_back);\\n\\tflex-direction: column;\\n\\tz-index: 1;\\n\\ttop: 0;\\n\\tleft: 1px;\\n\\tbox-shadow: 0 0 0.5rem hsl(0deg 0% 0% / 25%);\\n}\\n\\n[hyoo_calc_row_tools] > [mol_button_minor] {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[hyoo_calc_row_ins_icon] {\\n position: absolute;\\n right: 0px;\\n}\\n\\n[hyoo_calc_cell] {\\n\\tuser-select: text;\\n\\tborder-radius: 0;\\n\\tdisplay: table-cell;\\n\\twhite-space: normal;\\n\\tword-break: normal;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cell_rows] {\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cell_selected] {\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_current);\\n\\tz-index: 5;\\n\\tposition: relative;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[hyoo_calc_cell_type=\\\"number\\\"] {\\n\\ttext-align: right;\\n}\\n\"\n) }",null]} \ No newline at end of file diff --git a/node.mjs b/node.mjs index 1f998c7..042da84 100644 --- a/node.mjs +++ b/node.mjs @@ -6588,7 +6588,7 @@ var $; 'embed': /""(?:(.*?)\\)?(.*?)""/, 'link': /\\\\(?:(.*?)\\)?(.*?)\\\\/, 'image-link': /!\[([^\[\]]*?)\]\((.*?)\)/, - 'text-link': /\[(.*?(?:\[.*?\].*?)*)\]\((.*?)\)/, + 'text-link': /\[(.*?(?:\[[^\[\]]*?\][^\[\]]*?)*)\]\((.*?)\)/, 'text-link-http': /\b(https?:\/\/[^\s,.;:!?")]+(?:[,.;:!?")][^\s,.;:!?")]+)+)/, }); $.$mol_syntax2_md_code = new $mol_syntax2({ diff --git a/node.test.js b/node.test.js index 5906dbc..d5de4d3 100644 --- a/node.test.js +++ b/node.test.js @@ -6580,7 +6580,7 @@ var $; 'embed': /""(?:(.*?)\\)?(.*?)""/, 'link': /\\\\(?:(.*?)\\)?(.*?)\\\\/, 'image-link': /!\[([^\[\]]*?)\]\((.*?)\)/, - 'text-link': /\[(.*?(?:\[.*?\].*?)*)\]\((.*?)\)/, + 'text-link': /\[(.*?(?:\[[^\[\]]*?\][^\[\]]*?)*)\]\((.*?)\)/, 'text-link-http': /\b(https?:\/\/[^\s,.;:!?")]+(?:[,.;:!?")][^\s,.;:!?")]+)+)/, }); $.$mol_syntax2_md_code = new $mol_syntax2({ diff --git a/node.test.js.map b/node.test.js.map index 86889b3..99e4063 100644 --- a/node.test.js.map +++ b/node.test.js.map @@ -1 +1 @@ -{"version":3,"sources":["/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mam.ts","../../../mam.jam.js","../../hyoo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/ambient/mol/ambient/ambient.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/delegate/mol/delegate/delegate.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/owning/mol/owning/owning.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/mol/fail/fail.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/hidden/mol/fail/hidden/hidden.ts","../../../mol/type/writable/writable.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object2/mol/object2/object2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object/mol/object/object.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/window/mol/window/window.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/cursor/mol/wire/cursor/cursor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/mol/wire/pub/pub.ts","../../../mol/wire/sub/sub.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/mol/wire/wire.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dev/format/mol/dev/format/format.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/sub/mol/wire/pub/sub/sub.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/timeout/mol/after/timeout/timeout.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/frame/mol/after/frame/frame.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/promise/like/mol/promise/like/like.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/fiber/mol/wire/fiber/fiber.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/name/mol/func/name/name.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/guid/mol/guid/guid.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/key/mol/key/key.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/deep/mol/compare/deep/deep.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/task/mol/wire/task/task.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/method/mol/wire/method/method.ts","../../../mol/type/tail/tail.ts","../../../mol/type/foot/foot.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/catch/mol/fail/catch/catch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fail/log/mol/fail/log/log.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/atom/mol/wire/atom/atom.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solo/mol/wire/solo/solo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/plex/mol/wire/plex/plex.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/mem/mol/mem/mem.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/context/mol/dom/context/context.ts","../../../node/node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../node/node/node.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/span/mol/span/span.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/to/string/mol/tree2/to/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/mol/tree2/tree2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/error/syntax/mol/error/syntax/syntax.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/string/mol/tree2/from/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/json/mol/tree2/from/json/json.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/term/color/mol/term/color/color.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/env/mol/env/env.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/env/mol/env/env.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/exec/mol/exec/exec.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/context/mol/dom/context/context.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/tick/mol/after/tick/tick.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/selection/mol/view/selection/selection.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wrapper/mol/wrapper/wrapper.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/memo/mol/memo/memo.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/qname/mol/dom/qname/qname.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/probe/mol/wire/probe/probe.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/watch/mol/wire/watch/watch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solid/mol/wire/solid/solid.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/const/mol/const/const.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/attributes/mol/dom/render/attributes/attributes.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/async/mol/wire/async/async.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/events/mol/dom/render/events/events.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/styles/mol/dom/render/styles/styles.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/children/mol/dom/render/children/children.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/render/fields/mol/dom/render/fields/fields.ts","../../../mol/type/keys/extract/extract.ts","../../../mol/type/pick/pick.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/attach/mol/style/attach/attach.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/decor/mol/decor/decor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/unit/mol/style/unit/unit.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/func/mol/style/func/func.ts","../../../mol/type/override/override.ts","../../../mol/style/properties/properties.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/mol/theme/theme.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/-css/mol/theme/-css/theme.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/gap/mol/gap/gap.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/gap/-css/mol/gap/-css/gap.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/mol/view/view/view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/-css/mol/view/view/-css/view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/-view.tree/mol/scroll/-view.tree/scroll.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/listener/mol/dom/listener/listener.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/print/mol/print/print.ts","../../../mol/style/pseudo/class.ts","../../../mol/style/pseudo/element.ts","../../../mol/type/error/error.ts","../../../mol/style/guard/guard.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/sheet/mol/style/sheet/sheet.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/define/mol/style/define/define.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/mol/scroll/scroll.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/scroll/mol/scroll/scroll.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/page/-view.tree/mol/page/-view.tree/page.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/plugin/mol/plugin/plugin.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/page/mol/page/page.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/-meta.tree/hyoo/sync/-meta.tree/revision.meta.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/encode/mol/charset/encode/encode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/int62/mol/int62/int62.ts","../../../mol/data/value/value.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/setup/mol/data/setup/setup.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/diff/path/mol/diff/path/path.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/error/mix/mol/error/mix/mix.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/error/mol/data/error/error.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/enum/mol/data/enum/enum.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/crypto/native/mol/crypto/native/native.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/crypto/auditor/mol/crypto/auditor/auditor.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/peer/hyoo/crowd/peer/peer.ts","../../../mol/charset/encoding/encoding.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/decode/mol/charset/decode/decode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/unit/hyoo/crowd/unit/unit.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/sync/mol/wire/sync/sync.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/local/mol/state/local/local.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/peer/hyoo/sync/peer/peer.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/time/hyoo/crowd/time/time.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/clock/hyoo/crowd/clock/clock.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/node/hyoo/crowd/node/node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/reg/hyoo/crowd/reg/reg.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/struct/hyoo/crowd/struct/struct.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/land/hyoo/crowd/land/land.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/action/mol/action/action.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/fund/hyoo/crowd/fund/fund.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dict/mol/dict/dict.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/world/hyoo/crowd/world/world.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/promise/promise/mol/promise/promise/promise.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wait/timeout/mol/wait/timeout/timeout.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/race/mol/wire/race/race.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/masters/hyoo/sync/masters/masters.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/yard/hyoo/sync/yard/yard.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/response/mol/db/response/response.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/store/mol/db/store/store.ts","../../../mol/db/store/store_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/index/mol/db/index/index.ts","../../../mol/db/index/index_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.node.ts","../../../mol/db/db_schema.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/database/mol/db/database/database.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/transaction/mol/db/transaction/transaction.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/client/hyoo/sync/client/client.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/stack/-view.tree/mol/stack/-view.tree/stack.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/stack/-css/mol/stack/-css/stack.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/-view.tree/mol/paragraph/-view.tree/paragraph.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/mol/paragraph/paragraph.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/paragraph/-css/mol/paragraph/-css/paragraph.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/-view.tree/mol/dimmer/-view.tree/dimmer.view.tree.ts","../../../mol/type/equals/equals.ts","../../../mol/type/merge/merge.ts","../../../mol/type/intersect/intersect.ts","../../../mol/unicode/unicode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/regexp/mol/regexp/regexp.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/mol/dimmer/dimmer.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/-css/mol/dimmer/-css/dimmer.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/token/-view.tree/mol/text/code/token/-view.tree/token.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/token/mol/text/code/token/token.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/-view.tree/mol/text/code/row/-view.tree/row.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/mol/syntax2/syntax2.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/md/mol/syntax2/md/md.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/mol/text/code/row/row.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/row/mol/text/code/row/row.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/-view.tree/mol/list/-view.tree/list.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/support/css/mol/support/css/css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/mem/cached/mol/mem/cached/cached.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/mol/list/list.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/list/-css/mol/list/-css/list.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/speck/-view.tree/mol/speck/-view.tree/speck.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/layer/mol/layer/layer.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/layer/-css/mol/layer/-css/layer.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/speck/-css/mol/speck/-css/speck.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/-view.tree/mol/button/-view.tree/button.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/keyboard/code/mol/keyboard/code/code.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/mol/button/button.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/-css/mol/button/-css/button.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/typed/-view.tree/mol/button/typed/-view.tree/typed.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/typed/-css/mol/button/typed/-css/typed.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/minor/-view.tree/mol/button/minor/-view.tree/minor.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/minor/-css/mol/button/minor/-css/minor.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/blob/mol/blob/blob.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/-view.tree/mol/svg/-view.tree/svg.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/time/mol/state/time/time.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/mol/svg/svg.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/root/-view.tree/mol/svg/root/-view.tree/root.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/root/-css/mol/svg/root/-css/root.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/svg/path/-view.tree/mol/svg/path/-view.tree/path.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/-view.tree/mol/icon/-view.tree/icon.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/-css/mol/icon/-css/icon.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/clipboard/-view.tree/mol/icon/clipboard/-view.tree/clipboard.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/clipboard/outline/-view.tree/mol/icon/clipboard/outline/-view.tree/outline.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/copy/-view.tree/mol/button/copy/-view.tree/copy.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/html/encode/mol/html/encode/encode.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/copy/mol/button/copy/copy.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/file/mol/file/file.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/array/mol/compare/array/array.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/file/mol/file/file.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/parse/mol/dom/parse/parse.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/fetch/mol/fetch/fetch.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/huggingface/mol/huggingface/huggingface.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../lingua/translate/hyoo/lingua/translate/translate.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/locale/mol/locale/locale.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/-view.tree/mol/text/code/-view.tree/code.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/mol/text/code/code.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/code/mol/text/code/code.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hotkey/-view.tree/mol/hotkey/-view.tree/hotkey.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hotkey/mol/hotkey/hotkey.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/-view.tree/mol/string/-view.tree/string.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/mol/string/string.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/-css/mol/string/-css/string.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/-view.tree/mol/textarea/-view.tree/textarea.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/mol/textarea/textarea.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/textarea/-css/mol/textarea/-css/textarea.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/float/-view.tree/mol/float/-view.tree/float.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/float/-css/mol/float/-css/float.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/button/-view.tree/mol/string/button/-view.tree/button.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/string/button/-css/mol/string/button/-css/button.view.css.ts","../../../mol/type/partial/deep/deep.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/jsx/mol/jsx/jsx.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/download/-view.tree/mol/icon/download/-view.tree/download.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/download/-view.tree/mol/button/download/-view.tree/download.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/download/mol/button/download/download.view.tsx","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/directions/-view.tree/mol/icon/directions/-view.tree/directions.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/directions/fork/-view.tree/mol/icon/directions/fork/-view.tree/fork.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/plus/-view.tree/mol/icon/plus/-view.tree/plus.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/plus/box/-view.tree/mol/icon/plus/box/-view.tree/box.view.tree.ts","../../../mol/state/arg/arg.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/arg/mol/state/arg/arg.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/mol/lights/lights.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/-view.tree/mol/check/-view.tree/check.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/maybe/mol/maybe/maybe.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/-css/mol/check/-css/check.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/mol/check/check.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/icon/-view.tree/mol/check/icon/-view.tree/icon.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/icon/-css/mol/check/icon/-css/icon.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/brightness/6/-view.tree/mol/icon/brightness/6/-view.tree/6.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/toggle/-view.tree/mol/lights/toggle/-view.tree/toggle.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/lights/toggle/mol/lights/toggle/toggle.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/-view.tree/mol/link/-view.tree/link.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/mol/link/link.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/mol/link/link.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/github/circle/-view.tree/mol/icon/github/circle/-view.tree/circle.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/source/-view.tree/mol/link/source/-view.tree/source.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/-view.tree/mol/avatar/-view.tree/avatar.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/hash/string/mol/hash/string/string.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/mol/avatar/avatar.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/avatar/-css/mol/avatar/-css/avatar.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/sync/-view.tree/mol/icon/sync/-view.tree/sync.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/sync/off/-view.tree/mol/icon/sync/off/-view.tree/off.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/-view.tree/hyoo/sync/online/-view.tree/online.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/hyoo/sync/online/online.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/online/-css/hyoo/sync/online/-css/online.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/hint/-view.tree/mol/icon/hint/-view.tree/hint.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/bar/-view.tree/mol/bar/-view.tree/bar.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/bar/-css/mol/bar/-css/bar.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/-view.tree/mol/icon/chevron/-view.tree/chevron.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/-view.tree/mol/check/expand/-view.tree/expand.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/mol/check/expand/expand.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/check/expand/-css/mol/check/expand/-css/expand.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/-view.tree/mol/grid/-view.tree/grid.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/session/mol/state/session/session.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/mol/grid/grid.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/grid/-css/mol/grid/-css/grid.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/-view.tree/mol/image/-view.tree/image.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/mol/image/image.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/image/-css/mol/image/-css/image.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/-view.tree/mol/link/iconed/-view.tree/iconed.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/mol/link/iconed/iconed.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/link/iconed/-css/mol/link/iconed/-css/iconed.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/-view.tree/mol/embed/native/-view.tree/native.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/mol/embed/native/native.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/native/-css/mol/embed/native/-css/native.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/youtube/-view.tree/mol/icon/youtube/-view.tree/youtube.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/-view.tree/mol/frame/-view.tree/frame.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/mol/frame/frame.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/frame/mol/frame/frame.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/-view.tree/mol/embed/youtube/-view.tree/youtube.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/mol/embed/youtube/youtube.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/youtube/-css/mol/embed/youtube/-css/youtube.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/any/-view.tree/mol/embed/any/-view.tree/any.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/embed/any/mol/embed/any/any.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/-view.tree/mol/text/text/-view.tree/text.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/mol/text/text/text.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/text/-css/mol/text/text/-css/text.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/down/-view.tree/mol/icon/chevron/down/-view.tree/down.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/icon/chevron/right/-view.tree/mol/icon/chevron/right/-view.tree/right.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/auto/-view.tree/mol/theme/auto/-view.tree/auto.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/theme/auto/mol/theme/auto/auto.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/nav/-view.tree/mol/nav/-view.tree/nav.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/nav/mol/nav/nav.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/list/-view.tree/mol/text/list/-view.tree/list.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/text/list/-css/mol/text/list/-css/list.view.css.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../-view.tree/hyoo/calc/-view.tree/calc.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/reconcile/mol/reconcile/reconcile.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/dict/hyoo/crowd/dict/dict.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../sheet/hyoo/calc/sheet/sheet.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/sandbox/mol/func/sandbox/sandbox.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/offline/mol/offline/offline.node.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/offline/install/mol/offline/install/install.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../hyoo/calc/calc.view.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../-css/hyoo/calc/-css/calc.view.css.ts","../-bin/calc_logo.svg.js","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/test/mol/test/test.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/test/mol/test/test.node.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/log3/mol/log3/log3.test.ts","../../../mol/type/assert/assert.ts","../../../mol/type/assert/assert.test.ts","../../../mol/type/equals/equals.test.ts","../../../mol/type/partial/deep/deep.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/jsx/mol/jsx/jsx.test.tsx","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/deep/mol/compare/deep/deep.test.tsx","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dom/serialize/mol/dom/serialize/serialize.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/assert/mol/assert/assert.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/assert/mol/assert/assert.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/func/name/mol/func/name/name.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/delegate/mol/delegate/delegate.test.ts","../../../mol/type/writable/writable.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/object/mol/object/object.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/pub/sub/mol/wire/pub/sub/sub.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/mock/mol/after/mock/mock.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/timeout/mol/after/timeout/timeout.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/frame/mol/after/frame/frame.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/fiber/mol/wire/fiber/fiber.test.ts","../../../mol/type/tail/tail.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/async/mol/wire/async/async.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/solo/mol/wire/solo/solo.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/plex/mol/wire/plex/plex.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/probe/mol/wire/probe/probe.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/after/tick/mol/after/tick/tick.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wrapper/mol/wrapper/wrapper.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/memo/mol/memo/memo.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/key/mol/key/key.test.tsx","../../../mol/type/foot/foot.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/log/mol/wire/log/log.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/wire/atom/mol/wire/atom/atom.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/const/mol/const/const.test.ts","../../../mol/type/keys/extract/extract.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/view/mol/view/view/view.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/style/sheet/mol/style/sheet/sheet.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/test/-view.tree/mol/view/tree/test/-view.tree/simple.test.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/test/-view.tree/mol/view/tree/test/-view.tree/binding.test.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/test/-view.tree/mol/view/tree/test/-view.tree/attributes.test.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/test/-view.tree/mol/view/tree/test/-view.tree/subcomponent.test.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/test/-view.tree/mol/view/tree/test/-view.tree/binding_right.test.view.tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/test/mol/view/tree/test/tree.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/span/mol/span/span.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/mol/tree2/tree2.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/string/mol/tree2/from/string/string.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree2/from/json/mol/tree2/from/json/json.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree/mol/tree/tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/tree/mol/tree/tree.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/local/mol/state/local/local.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/local/mol/state/local/local.mock.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/decode/mol/charset/decode/decode.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/charset/encode/mol/charset/encode/encode.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/compare/array/mol/compare/array/array.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/locale/mol/locale/locale.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/view/tree/mol/view/tree/tree.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/setup/mol/data/setup/setup.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/diff/path/mol/diff/path/path.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/data/enum/mol/data/enum/enum.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/unit/hyoo/crowd/unit/unit.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/clock/hyoo/crowd/clock/clock.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/reconcile/mol/reconcile/reconcile.test.tsx","../../../mol/type/merge/merge.test.ts","../../../mol/type/intersect/intersect.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/regexp/mol/regexp/regexp.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/tokenizer/hyoo/crowd/tokenizer/tokenizer.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/tokenizer/hyoo/crowd/tokenizer/tokenizer.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/text/hyoo/crowd/text/text.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/text/hyoo/crowd/text/text.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/land/hyoo/crowd/land/land.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dict/mol/dict/dict.test.tsx","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/list/hyoo/crowd/list/list.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/list/hyoo/crowd/list/list.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../crowd/world/hyoo/crowd/world/world.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/masters/hyoo/sync/masters/masters.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/store/mol/db/store/store.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/mol/db/db.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/db/index/mol/db/index/index.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../sync/client/hyoo/sync/client/client.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/dimmer/mol/dimmer/dimmer.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/syntax2/md/mol/syntax2/md/md.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/button/mol/button/button.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/maybe/mol/maybe/maybe.test.ts","/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/../../../mol/state/session/mol/state/session/session.test.ts"],"names":[],"sourceRoot":"/home/runner/work/calc.hyoo.ru/calc.hyoo.ru/hyoo/calc/-/","mappings":"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","sourcesContent":["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",null,null,"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' ) 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",null,"namespace $ {\n\n\texport class $mol_object2 {\n\t\t\n\t\tstatic $ = $ 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\tif( Symbol.toStringTag in this ) return this[ Symbol.toStringTag ] as string\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tdestructor() { }\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\ttoJSON(): 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< Instance >( this : { new() : Instance } , config : Partial< Instance > ) : Instance {\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 any\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\texport class $mol_window extends $mol_object {\n\t\t\n\t\tstatic size() {\n\t\t\treturn {\n\t\t\t\twidth: 1024,\n\t\t\t\theight: 768,\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\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\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.pop()\n\t\t\tthis.data.pop()\n\t\t\t\n\t\t\tif( this.data.length === 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 )\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",null,"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 let $mol_dev_format_head = Symbol( '$mol_dev_format_head' )\n\texport let $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\treturn val[ $mol_dev_format_head ]()\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\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\tif( typeof obj !== 'object' && typeof obj !== 'function' ) 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\tif( typeof obj === 'object' && $mol_dev_format_head in obj ) {\n\t\t\treturn obj[ $mol_dev_format_head ]()\n\t\t}\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\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\n\t\t\t\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 tail = 0\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\tif( this.sub_from < this.data.length ) {\n\t\t\t\t\tthis.peer_move( this.data.length - 2, cursor )\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t\tthis.data.pop()\n\t\t\t\t} else {\n\t\t\t\t\t++ tail\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tfor(; tail; -- tail ) {\n\t\t\t\tthis.data.pop()\n\t\t\t\tthis.data.pop()\n\t\t\t}\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 ) {\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}\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_timeout extends $mol_object2 {\n\n\t\tid : any\n\n\t\tconstructor(\n\t\t\tpublic delay : number ,\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = setTimeout( task , delay )\n\t\t}\n\n\t\tdestructor() {\n\t\t\tclearTimeout( this.id )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_frame extends $mol_after_timeout {\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper( 16 , task )\n\t\t}\n\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_promise_like( val: any ): val is Promise {\n\t\treturn val && typeof val.then === 'function'\n\t}\n\n}\n","namespace $ {\n\t\n\tconst handled = new WeakSet< Promise< unknown > >()\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_frame | 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_frame( ()=> {\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\t[Symbol.toStringTag]!: string\n\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()\n\t\t\tif( args ) this.data.push( ... args )\n\t\t\tthis.pub_from = this.sub_from = args?.length ?? 0\n\t\t\tthis[ Symbol.toStringTag ] = id\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}\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_dev_format_native( this ),\n\t\t\t\t$mol_dev_format_shade( 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\t\t\t\t\t\n\t\t\t\t\tconst put = ( res: Result )=> {\n\t\t\t\t\t\tif( this.cache === result ) this.put( res )\n\t\t\t\t\t\treturn res\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.then( put, put ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\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 ) && !handled.has( result ) ) {\n\t\t\t\t\t\n\t\t\t\t\tresult = Object.assign( result.finally( ()=> {\n\t\t\t\t\t\tif( this.cache === result ) this.absorb()\n\t\t\t\t\t} ), {\n\t\t\t\t\t\tdestructor: (result as any)['destructor'] ?? (()=> {})\n\t\t\t\t\t} )\n\t\t\t\t\t\n\t\t\t\t\thandled.add( result )\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\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() {\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 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\t\t\n\t}\n\t\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\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\texport const $mol_key_store = new WeakMap< object, string >()\n\n\t/** Returns string key for any value. */\n\texport function $mol_key< Value >( value : Value ) : string {\n\t\t\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( !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\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 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['valueOf']() )\n\t\tif( left instanceof Number ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof String ) return Object.is( left.valueOf(), right['valueOf']() )\n\t\tif( left instanceof Date ) return Object.is( left.valueOf(), right['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 >([[ right, true ]])\n\t\t\t$mol_compare_deep_cache.set( left , left_cache )\n\n\t\t}\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( 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 if( Symbol.toPrimitive in left ) result = compare_primitive( left, right )\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\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\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\t// Disabled because non-idempotency is required for try-catch\n\t\t\t\t// if( existen && sub instanceof $mol_wire_task ) {\n\t\t\t\t// \t$mol_fail( new Error( `$mol_wire_task detects nonidempotency\\n${existen}` ) )\n\t\t\t\t// }\n\t\t\t\t\n\t\t\t\treturn new $mol_wire_task( `${ (host as any)?.[ Symbol.toStringTag ] ?? host }.${ task.name }(#)`, task, host, args )\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\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",null,null,"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\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 }.${ field }`\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 id = `${ prefix }.${ task.name }(${ $mol_key( key ) })`\n\t\t\t\n\t\t\tif( dict ) {\n\t\t\t\tconst existen = dict.get( id )\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 fiber = new $mol_wire_atom( id, task, host, [ key ] as any as Args )\n\t\t\tdict.set( id, 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\tconst prev = this.cache\n\t\t\tif( $mol_owning_check( this, prev ) ) {\n\t\t\t\tprev.destructor()\n\t\t\t}\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((this as any)[ Symbol.toStringTag ] )\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 var $mol_dom_context : typeof globalThis\n\t\n}\n",null,"interface $node {\n\t[key:string]: any\n}\n\nvar $node = new Proxy( { require } as any , {\n\t\n\tget( target , name : string , wrapper ) {\n\n\t\tif( target[ name ] ) return target[ name ]\n\n\t\tconst mod = target.require( 'module' ) as typeof import( 'module' )\n\t\t\n\t\tif( mod.builtinModules.indexOf( name ) >= 0 ) return target.require( name )\n\t\tif( name[0] === '.' ) return target.require( name )\n\t\t\n\t\tconst path = target.require( 'path' ) as typeof import( 'path' )\n\t\tconst fs = target.require( 'fs' ) as typeof import( 'fs' )\n\n\t\tlet dir = path.resolve( '.' )\n\t\tconst suffix = `./node_modules/${ name }`\n\n\t\tconst $$ = ( $ as any )\n\t\t\n\t\twhile( !fs.existsSync( path.join( dir , suffix ) ) ) {\n\n\t\t\tconst parent = path.resolve( dir , '..' )\n\n\t\t\tif( parent === dir ) {\n\n\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '--no-save', name )\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\t$$.$mol_exec( '.' , 'npm' , 'install' , '--omit=dev', '--no-save', '@types/' + name )\n\t\t\t\t} catch {}\n\n\t\t\t\tbreak\n\n\t\t\t} else {\n\n\t\t\t\tdir = parent\n\n\t\t\t}\n\n\t\t}\n\t\t\n\t\treturn target.require( name )\n\n\t},\n\n\tset( target , name : string , value ) {\n\t\ttarget[ name ] = value\n\t\treturn true\n\t},\n\n} ) as $node\n\nrequire = ( req =>\n\tObject.assign( function require( name : string ) {\n\t\treturn $node[ name ]\n\t} , req )\n)( require )\n\n","namespace $ {\n\n\t/** Logger event data */\n\texport type $mol_log3_event< Fields > = {\n\t\t[ key in string ] : unknown\n\t} & {\n\t\t\n\t\t/** Time of event creation */\n\t\ttime? : string\n\n\t\t/** Place of event creation */\n\t\tplace : unknown\n\n\t\t/** Short description of event */\n\t\tmessage : string\n\n\t} & Fields\n\n\t/** Logger function */\n\texport type $mol_log3_logger< Fields , Res = void > = (\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event< Fields > ,\n\t)=> Res\n\n\t/** Log begin of some task */\n\texport declare let $mol_log3_come : $mol_log3_logger<{}>\n\t\n\t/** Log end of some task */\n\texport declare let $mol_log3_done : $mol_log3_logger<{}>\n\t\n\t/** Log error */\n\texport declare let $mol_log3_fail : $mol_log3_logger<{}>\n\t\n\t/** Log warning message */\n\texport declare let $mol_log3_warn : $mol_log3_logger<{ hint : string }>\n\t\n\t/** Log some generic event */\n\texport declare let $mol_log3_rise : $mol_log3_logger<{}>\n\n\t/** Log begin of log group, returns func to close group */\n\texport declare let $mol_log3_area : $mol_log3_logger< {} , ()=> void >\n\n\t/** Log begin of collapsed group only when some logged inside, returns func to close group */\n\texport function $mol_log3_area_lazy(\n\t\tthis : $ ,\n\t\tevent : $mol_log3_event<{}> ,\n\t) {\n\n\t\tconst self = this\n\t\tconst stack = self.$mol_log3_stack\n\n\t\tconst deep = stack.length\n\t\tlet logged = false\n\n\t\tstack.push( ()=> {\n\t\t\tlogged = true\n\t\t\tself.$mol_log3_area.call( self , event )\n\t\t} )\n\n\t\treturn ()=> {\n\t\t\tif( logged ) self.console.groupEnd()\n\t\t\tif( stack.length > deep ) stack.length = deep\n\t\t}\n\n\t}\n\n\texport let $mol_log3_stack = [] as ( ()=> void )[]\n\n}\n","namespace $ {\n\n\t/** Position in any resource. */\n\texport class $mol_span extends $mol_object2 {\n\n\t\tconstructor(\n\t\t\treadonly uri: string ,\n\t\t\treadonly source: string ,\n\t\t\treadonly row: number ,\n\t\t\treadonly col: number ,\n\t\t\treadonly length: number ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis[ Symbol.toStringTag ] = `${ this.uri }#${ this.row }:${ this.col }/${ this.length }`\n\t\t}\n\n\t\t/** Span for begin of unknown resource */\n\t\tstatic unknown = $mol_span.begin('?')\n\n\t\t/** Makes new span for begin of resource. */\n\t\tstatic begin( uri: string, source = '' ) {\n\t\t\treturn new $mol_span( uri , source, 1 , 1 , 0 )\n\t\t}\n\n\t\t/** Makes new span for end of resource. */\n\t\tstatic end( uri: string , source: string ) {\n\t\t\treturn new $mol_span( uri , source, 1 , source.length + 1 , length )\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(`Begin value '${begin}' out of range ${this}`)\n\t\t\tif (end < 0 || end > len) this.$.$mol_fail(`End value '${end}' out of range ${this}`)\n\t\t\tif (end < begin) this.$.$mol_fail(`End value '${end}' can't be less than begin value ${this}`)\n\n\t\t\treturn this.span( this.row , this.col + begin , end - begin )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Serializes tree to string in tree format. */\n\texport function $mol_tree2_to_string(\n\t\tthis: $,\n\t\ttree: $mol_tree2,\n\t) : string {\n\n\t\tlet output = [] as string[]\n\t\t\n\t\tfunction dump(\n\t\t\ttree: $mol_tree2,\n\t\t\tprefix = '',\n\t\t) {\n\n\t\t\tif( tree.type.length ) {\n\t\t\t\t\n\t\t\t\tif( !prefix.length ) {\n\t\t\t\t\tprefix = \"\\t\";\n\t\t\t\t}\n\n\t\t\t\toutput.push( tree.type )\n\n\t\t\t\tif( tree.kids.length == 1 ) {\n\t\t\t\t\toutput.push( ' ' )\n\t\t\t\t\tdump( tree.kids[ 0 ], prefix )\n\t\t\t\t\treturn\n\t\t\t\t}\n\n\t\t\t\toutput.push( \"\\n\" )\n\n\t\t\t} else if( tree.value.length || prefix.length ) {\n\n\t\t\t\toutput.push( \"\\\\\" + tree.value + \"\\n\" )\n\n\t\t\t}\n\n\t\t\tfor( const kid of tree.kids ) {\n\t\t\t\toutput.push( prefix )\n\t\t\t\tdump( kid, prefix + \"\\t\" )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\tdump( tree )\n\n\t\treturn output.join('')\n\t}\n\t\t\n}\n","namespace $ {\n\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\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.map( ( 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.insert( 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 , [] ).insert( 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 sub = this.kids.slice()\n\t\t\t\tsub[ type ] = ( sub[ type ] || this.list([]) )\n\t\t\t\t\t.insert( value , ... path.slice( 1 ) )\n\t\t\t\t\n\t\t\t\treturn this.clone( sub.filter( Boolean ) )\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.map( item => item.insert( value , ... path.slice( 1 ) ) )\n\t\t\t\t.filter( Boolean )\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\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\t\n\t\t\treturn ( [] as readonly $mol_tree2[] ).concat( ... this.kids.map( child => {\n\n\t\t\t\tlet handle = belt[ child.type ] || belt[ '' ]\n\t\t\t\t\n\t\t\t\tif( !handle || handle === Object.prototype[ child.type as keyof Object ] ) {\n\t\t\t\t\thandle = ( input, belt, context )=> [\n\t\t\t\t\t\tinput.clone( input.hack( belt, context ), context.span )\n\t\t\t\t\t]\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\treturn handle( child , belt , context! )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror.message += `\\n${ child.clone([]) }${ child.span }`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\n\t\t\t} ) )\n\n\t\t}\n\n\t\t/** Makes Error with node coordinates. */\n\t\terror( message : string , Class = Error ) {\n\t\t\treturn this.span.error( `${ message }\\n${ this.clone([]) }` , Class )\n\t\t}\n\n\t}\n\n\texport class $mol_tree2_empty extends $mol_tree2 {\n\t\tconstructor() {\n\t\t\tsuper( '' , '' , [] , $mol_span.unknown )\n\t\t}\n\t}\n\t\n}\n","namespace $ {\n\n\t/** Syntax error with cordinates and source line snippet. */\n\texport class $mol_error_syntax extends SyntaxError {\n\t\tconstructor (\n\t\t\tpublic reason: string,\n\t\t\tpublic line: string,\n\t\t\tpublic span: $mol_span,\n\t\t) {\n\t\t\tsuper(`${ reason }\\n${ span }\\n${ line.substring( 0 , span.col - 1 ).replace( /\\S/g, ' ' ) }${ ''.padEnd( span.length, '!' ) }\\n${ line }`)\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\t/** Parses tree format from string. */\n\texport function $mol_tree2_from_string(\n\t\tthis: $,\n\t\tstr: string,\n\t\turi = '?',\n\t) : $mol_tree2 {\n\n\t\tconst span = $mol_span.entire( uri, str )\n\n\t\tvar root = $mol_tree2.list( [], span )\n\t\tvar stack = [ root ]\n\n\t\tvar pos = 0, row = 0, min_indent = 0\n\t\t\n\t\twhile( str.length > pos ) {\n\n\t\t\tvar indent = 0\n\t\t\tvar line_start = pos\n\n\t\t\trow++\n\n\t\t\t// read indent\n\t\t\twhile( str.length > pos && str[ pos ] == '\\t' ) {\n\t\t\t\tindent++\n\t\t\t\tpos++\n\t\t\t}\n\n\t\t\tif( ! root.kids.length ) {\n\t\t\t\tmin_indent = indent\n\t\t\t}\n\n\t\t\tindent -= min_indent\n\n\t\t\t// invalid tab size\n\t\t\tif( indent < 0 || indent >= stack.length ) {\n\n\t\t\t\tconst sp = span.span( row, 1, pos - line_start )\n\n\t\t\t\t// skip error line\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( indent < 0 ) {\n\t\t\t\t\tif( str.length > pos ) {\n\t\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t\t`Too few tabs`,\n\t\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\t\tsp,\n\t\t\t\t\t\t) )\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Too many tabs`,\n\t\t\t\t\t\tstr.substring( line_start, pos ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tstack.length = indent + 1\n\t\t\tvar parent = stack[ indent ]\n\n\t\t\t// parse types\n\t\t\twhile( str.length > pos && str[ pos ] != '\\\\' && str[ pos ] != '\\n' ) {\n\n\t\t\t\t// type can not contain space and tab\n\t\t\t\tvar error_start = pos\n\t\t\t\twhile( str.length > pos && ( str[ pos ] == ' ' || str[ pos ] == '\\t' ) ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\n\t\t\t\tif( pos > error_start ) {\n\t\t\t\t\tlet line_end = str.indexOf( '\\n' , pos )\n\t\t\t\t\tif( line_end === -1 ) line_end = str.length\n\t\t\t\t\tconst sp = span.span( row, error_start - line_start + 1, pos - error_start )\n\t\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t\t`Wrong nodes separator`,\n\t\t\t\t\t\tstr.substring( line_start, line_end ),\n\t\t\t\t\t\tsp,\n\t\t\t\t\t) )\n\t\t\t\t}\n\n\t\t\t\t// read type\n\t\t\t\tvar type_start = pos\n\t\t\t\twhile( \n\t\t\t\t\tstr.length > pos && \n\t\t\t\t\tstr[ pos ] != '\\\\' && \n\t\t\t\t\tstr[ pos ] != ' ' && \n\t\t\t\t\tstr[ pos ] != '\\t' && \n\t\t\t\t\tstr[ pos ] != '\\n'\n\t\t\t\t) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tif( pos > type_start ) {\n\t\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t\tstr.slice( type_start , pos ),\n\t\t\t\t\t\t'',\n\t\t\t\t\t\t[],\n\t\t\t\t\t\tspan.span( row, type_start - line_start + 1, pos - type_start ),\n\t\t\t\t\t)\n\t\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\t\tparent_kids.push( next )\n\t\t\t\t\tparent = next\n\t\t\t\t}\n\n\t\t\t\t// read one space if exists\n\t\t\t\tif( str.length > pos && str[ pos ] == ' ' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// read data\n\t\t\tif( str.length > pos && str[ pos ] == '\\\\' ) {\n\t\t\t\tvar data_start = pos\n\t\t\t\twhile( str.length > pos && str[ pos ] != '\\n' ) {\n\t\t\t\t\tpos++\n\t\t\t\t}\n\t\t\t\tlet next = new $mol_tree2(\n\t\t\t\t\t'',\n\t\t\t\t\tstr.slice( data_start + 1 , pos ),\n\t\t\t\t\t[],\n\t\t\t\t\tspan.span( row, data_start - line_start + 2, pos - data_start - 1 ),\n\t\t\t\t)\n\t\t\t\tconst parent_kids = parent.kids as $mol_tree2[]\n\t\t\t\tparent_kids.push( next )\n\t\t\t\tparent = next\n\t\t\t}\n\n\t\t\t// now must be end of text\n\t\t\tif( str.length === pos && stack.length > 0 ) {\n\t\t\t\tconst sp = span.span( row, pos - line_start + 1, 1 )\n\t\t\t\tthis.$mol_fail( new this.$mol_error_syntax(\n\t\t\t\t\t`Unexpected EOF, LF required`,\n\t\t\t\t\tstr.substring( line_start, str.length ),\n\t\t\t\t\tsp,\n\t\t\t\t) )\n\t\t\t}\n\n\t\t\tstack.push( parent )\n\t\t\tpos++\n\t\t}\n\n\t\treturn root\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_tree2_from_json( json: any, span = $mol_span.unknown ): $mol_tree2 {\n\n\t\tif( typeof json === 'boolean' || typeof json === 'number' || json === null ) {\n\t\t\treturn new $mol_tree2( String( json ) , '' , [] , span )\n\t\t}\n\t\t\n\t\tif( typeof json === 'string' ) {\n\t\t\treturn $mol_tree2.data( json , [], span )\n\t\t}\n\n\t\tif( 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( typeof json.toJSON === 'function' ) {\n\t\t\treturn $mol_tree2_from_json( json.toJSON() )\n\t\t}\n\n\t\tif( json instanceof Error ) {\n\t\t\tconst { name , message , stack } = json\n\t\t\tjson = { ... json, name, message, stack }\n\t\t}\n\n\t\tconst sub = [] as $mol_tree2[]\n\t\t\n\t\tfor( var key in json ) {\n\n\t\t\tconst val = json[ key ]\n\n\t\t\tif( val === undefined ) continue\n\n\t\t\tconst subsub = $mol_tree2_from_json( val, span )\n\t\t\t\n\t\t\tif( /^[^\\n\\t\\\\ ]+$/.test( key ) ) {\n\t\t\t\tsub.push( new $mol_tree2( key, '', [ subsub ], span ) )\n\t\t\t} else {\n\t\t\t\tsub.push( $mol_tree2.data( key, [ subsub ], span ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\treturn new $mol_tree2( '*' , '', sub , span )\n\t\t\t\n\t}\n\n}\n","namespace $ {\n\t\n\t/** Module for working with terminal. Text coloring when output in terminal */\n\texport class $mol_term_color {\n\t\t\n\t\tstatic reset = this.ansi( 0, 0 )\n\t\tstatic bold = this.ansi( 1, 22 )\n\t\tstatic italic = this.ansi( 3, 23 )\n\t\tstatic underline = this.ansi( 4, 24 )\n\t\tstatic inverse = this.ansi( 7, 27 )\n\t\tstatic hidden = this.ansi( 8, 28 )\n\t\tstatic strike = this.ansi( 9, 29 )\n\t\t\n\t\tstatic gray = this.ansi( 90, 39 )\n\t\tstatic red = this.ansi( 91, 39 )\n\t\tstatic green = this.ansi( 92, 39 )\n\t\tstatic yellow = this.ansi( 93, 39 )\n\t\tstatic blue = this.ansi( 94, 39 )\n\t\tstatic magenta = this.ansi( 95, 39 )\n\t\tstatic cyan = this.ansi( 96, 39 )\n\t\t\n\t\tstatic Gray = ( str: string )=> this.inverse( this.gray( str ) )\n\t\tstatic Red = ( str: string )=> this.inverse( this.red( str ) )\n\t\tstatic Green = ( str: string )=> this.inverse( this.green( str ) )\n\t\tstatic Yellow = ( str: string )=> this.inverse( this.yellow( str ) )\n\t\tstatic Blue = ( str: string )=> this.inverse( this.blue( str ) )\n\t\tstatic Magenta = ( str: string )=> this.inverse( this.magenta( str ) )\n\t\tstatic Cyan = ( str: string )=> this.inverse( this.cyan( str ) )\n\t\t\n\t\tstatic ansi( open: number, close: number ) {\n\t\n\t\t\tif( typeof process === 'undefined' ) return String\n\t\t\tif( !process.stdout.isTTY ) return String\n\t\t\n\t\t\tconst prefix = `\\x1b[${open}m`\n\t\t\tconst postfix = `\\x1b[${close}m`\n\t\t\t\n\t\t\tconst suffix_regexp = new RegExp( postfix.replace( '[', '\\\\[' ), 'g' )\n\t\t\n\t\t\treturn function colorer( str: string ) {\n\t\t\n\t\t\t\tstr = String( str )\n\t\t\t\tif( str === '' ) return str\n\t\t\n\t\t\t\tconst suffix = str.replace( suffix_regexp, prefix )\n\t\t\t\treturn prefix + suffix + postfix\n\t\t\n\t\t\t}\n\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\n\texport function $mol_log3_node_make(\n\t\tlevel : keyof Console ,\n\t\toutput : 'stdout' | 'stderr',\n\t\ttype : string ,\n\t\tcolor: ( str: string )=> string ,\n\t) {\n\n\t\treturn function $mol_log3_logger(\n\t\t\tthis : $ ,\n\t\t\tevent : $mol_log3_event<{}> ,\n\t\t) {\n\n\t\t\tif( !event.time ) event = { time : new Date().toISOString() , ... event }\n\n\t\t\tlet tree = this.$mol_tree2_from_json( event )\n\t\t\ttree = tree.struct( type, tree.kids )\n\t\t\t\n\t\t\tlet str = color( tree.toString() )\n\t\t\t;( this.console[ level ] as any )( str )\n\t\n\t\t\tconst self = this\n\t\t\treturn ()=> self.console.groupEnd()\n\n\t\t}\n\n\t}\n\n\t$.$mol_log3_come = $mol_log3_node_make( 'info' , 'stdout' , 'come' , $mol_term_color.blue )\n\t$.$mol_log3_done = $mol_log3_node_make( 'info' , 'stdout' , 'done' , $mol_term_color.green )\n\t$.$mol_log3_fail = $mol_log3_node_make( 'error' , 'stderr' , 'fail' , $mol_term_color.red )\n\t$.$mol_log3_warn = $mol_log3_node_make( 'warn' , 'stderr' , 'warn' , $mol_term_color.yellow )\n\t$.$mol_log3_rise = $mol_log3_node_make( 'log' , 'stdout' , 'rise' , $mol_term_color.magenta )\n\t$.$mol_log3_area = $mol_log3_node_make( 'log' , 'stdout' , 'area' , $mol_term_color.cyan )\n\n}\n","namespace $ {\n\texport function $mol_env() {\n\t\treturn {} as Record< string, string | undefined >\n\t}\n}\n","namespace $ {\n\t$.$mol_env = function $mol_env() {\n\t\treturn this.process.env\n\t}\n}\n","namespace $ {\n\texport function $mol_exec(\n\t\tthis : $ ,\n\t\tdir : string ,\n\t\tcommand : string ,\n\t\t...args : string[]\n\t) {\n\n\t\tlet [ app , ... args0 ] = command.split( ' ' )\n\t\targs = [ ... args0 , ... args ]\n\n\t\tthis.$mol_log3_come({\n\t\t\tplace: '$mol_exec' ,\n\t\t\tdir: $node.path.relative( '' , dir ) ,\n\t\t\tmessage: 'Run',\n\t\t\tcommand: `${app} ${ args.join(' ') }` ,\n\t\t})\n\n\t\tvar res = $node['child_process'].spawnSync(\n\t\t\tapp ,\n\t\t\targs,\n\t\t\t{\n\t\t\t\tcwd : $node.path.resolve( dir ) ,\n\t\t\t\tshell : true ,\n\t\t\t\tenv: this.$mol_env(),\n\t\t\t}\n\t\t)\n\t\t\n\t\tif( res.status || res.error ) return $mol_fail( res.error || new Error( res.stderr.toString() ) )\n\t\tif( !res.stdout ) res.stdout = Buffer.from([])\n\n\t\treturn res\n\t}\n}\n","namespace $ {\n\t\n\t$.$mol_dom_context = new $node.jsdom.JSDOM( '' , { url : 'https://localhost/' } ).window as any\n\t\n}\n","namespace $ {\n\n\texport class $mol_after_tick extends $mol_object2 {\n\n\t\tpromise : any\n\t\tcancelled = false\n\n\t\tconstructor(\n\t\t\tpublic task : ()=> void ,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.promise = Promise.resolve().then( ()=> {\n\t\t\t\tif( this.cancelled ) return\n\t\t\t\ttask()\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 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\t\n\t\t\twhile( element ) {\n\t\t\t\tparents.push( element )\n\t\t\t\telement = element.parentNode 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\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\treturn 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}\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/**\n\t * Disable reaping of current subscriber\n\t */\n\texport function $mol_wire_solid() {\n\t\tconst current = $mol_wire_auto()\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\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\treturn getter\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 === 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\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 any as (\n\t\t\tHost extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise\n\t\t\t\t\t? Host\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: {}\n\t\t) & {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise\n\t\t\t\t\t? Host[ key ]\n\t\t\t\t\t: ( ... args: Args )=> Promise< Res >\n\t\t\t\t: Host[ key ]\n\t\t}\n\t\t\n\t}\n\t\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\t\n\t\t\t(el as any)[ key ] = val\n\t\t}\n\t}\n\n}\n",null,null,"namespace $ {\n\n\tlet all = [] as string[]\n\tlet el : HTMLStyleElement | null = null\n\tlet timer : $mol_after_tick | null = null\n\n\texport function $mol_style_attach_force() {\n\t\tif( all.length ) {\n\t\t\tel!.innerHTML += '\\n' + all.join( '\\n\\n' )\n\t\t\tall = []\n\t\t}\n\t\ttimer = null\n\t\treturn el!\n\t}\n\t\n\texport function $mol_style_attach(\n\t\tid : string ,\n\t\ttext : string ,\n\t) {\n\n\t\tall.push( `/* ${ id } */\\n\\n${ text }`)\n\n\t\tif( timer ) return el!\n\t\t\n\t\tconst doc = $mol_dom_context.document\n\t\tif( !doc ) return null\n\n\t\tel = doc.createElement('style')\n\t\tel.id = `$mol_style_attach`\n\t\tdoc.head.appendChild( el )\n\n\t\ttimer = new $mol_after_tick( $mol_style_attach_force )\n\n\t\treturn el\n\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\t\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| 'url'\n\t| 'scale'\n\t| 'cubic-bezier'\n\t| 'linear'\n\t| 'steps'\n\t| $mol_style_func_filter\n\t\n\texport type $mol_style_func_filter = '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 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< any >,\n\t\t\tmid: $mol_style_unit< any >,\n\t\t\tmax: $mol_style_unit< 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<$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<'%'>){\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<'%'>){\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<$mol_style_unit_length>,\n\t\t\ty_offset: $mol_style_unit<$mol_style_unit_length>,\n\t\t\tblur_radius?: $mol_style_unit<$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<'%'>){\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<$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<'%'>){\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<'%'>){\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<'%'>){\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<'%'>){\n\t\t\treturn new $mol_style_func( 'saturate', value ?? \"\" );\n\t\t}\n\t\n\t}\n\n}\n",null,null,"namespace $ {\n\n\tconst { vary } = $mol_style_func\n\n\t/**\n\t * Theme css variables\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport const $mol_theme = {\n\t\tback: vary('--mol_theme_back'),\n\t\thover: vary('--mol_theme_hover'),\n\t\tcard: vary('--mol_theme_card'),\n\t\tcurrent: vary('--mol_theme_current'),\n\t\tspecial: vary('--mol_theme_special'),\n\t\ttext: vary('--mol_theme_text'),\n\t\tcontrol: vary('--mol_theme_control'),\n\t\tshade: vary('--mol_theme_shade'),\n\t\tline: vary('--mol_theme_line'),\n\t\tfocus: vary('--mol_theme_focus'),\n\t\tfield: vary('--mol_theme_field'),\n\t\timage: vary('--mol_theme_image'),\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"mol/theme/theme.css\",\n \":root {\\n\\t--mol_theme_hue: 210deg;\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_satur: 1;\\n\\t--mol_theme_image: none;\\n}\\n\\n[mol_theme] {\\n\\tcolor: var(--mol_theme_text);\\n\\tfill: var(--mol_theme_text);\\n}\\n:where([mol_theme]) {\\n\\tbackground-color: var(--mol_theme_back);\\n}\\n\\t\\n:root, [mol_theme] {\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 20% ), calc( 55% + 45% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_text: hsl( var(--mol_theme_hue), 0%, calc( 40% - 40% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_field: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 50% ), calc( 54% + 46% * var(--mol_theme_luma) ), .25 );\\n\\t\\n\\t--mol_theme_card: hsl( var(--mol_theme_hue), calc( var(--mol_theme_satur) * 50% ), calc( 55% + 35% * var(--mol_theme_luma) ), .25 );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 0%, 50%, .1 );\\n\\t--mol_theme_line: hsl( var(--mol_theme_hue), 0%, 50%, .2 );\\n\\t--mol_theme_shade: hsl( var(--mol_theme_hue), 0%, 50%, 1 );\\n\\t\\n\\t--mol_theme_control: hsl( var(--mol_theme_hue), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_current: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_special: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 50% - 10% * var(--mol_theme_luma) ) );\\n\\t--mol_theme_focus: hsl( calc( var(--mol_theme_hue) + 180deg ), 100%, calc( 55% - 10% * var(--mol_theme_luma) ) );\\n\\t\\n}\\n\\n[mol_theme=\\\"$mol_theme_light\\\"] {\\n\\t--mol_theme_luma: 1;\\n\\t--mol_theme_image: none;\\n}\\n\\n[mol_theme=\\\"$mol_theme_dark\\\"] {\\n\\t--mol_theme_luma: -1;\\n\\t--mol_theme_image: invert(1) hue-rotate( 180deg );\\n}\\n\\n[mol_theme=\\\"$mol_theme_base\\\"] {\\n\\t--mol_theme_luma: -2;\\n\\t--mol_theme_back: hsl( var(--mol_theme_hue), 50%, 40% );\\n\\t--mol_theme_hover: hsl( var(--mol_theme_hue), 60%, 30% );\\n\\t--mol_theme_current: hsl( var(--mol_theme_hue), 100%, 20% );\\n}\\n\\n[mol_theme=\\\"$mol_theme_current\\\"] {\\n\\tbackground-color: var(--mol_theme_back);\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) - 90deg ), 50%, calc( 50% + 30% * var(--mol_theme_luma) ) );\\n}\\n\\n[mol_theme=\\\"$mol_theme_special\\\"] {\\n\\t--mol_theme_card: hsl( calc( var(--mol_theme_hue) + 90deg ), 50%, calc( 55% + 35% * var(--mol_theme_luma) ), .25 );\\n}\\n\\n[mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\tbackground-color: var(--mol_theme_back);\\n\\t--mol_theme_luma: -2;\\n\\t--mol_theme_back: hsl( calc( var(--mol_theme_hue) + 180deg ), 90%, 50% );\\n\\t--mol_theme_hover: hsl( calc( var(--mol_theme_hue) + 180deg ), 80%, 35% );\\n}\\n\\n[mol_theme=\\\"$mol_theme_accent\\\"] [mol_theme=\\\"$mol_theme_accent\\\"] {\\n\\t--mol_theme_back: black;\\n}\\n\"\n) }","namespace $ {\n\tconst { vary } = $mol_style_func\n\t/**\n\t * Gap in CSS\n\t * @see https://page.hyoo.ru/#!=msdb74_bm7nsq\n\t */\n\texport let $mol_gap = {\n\t\tblock: vary( '--mol_gap_block' ) ,\n\t\ttext: vary( '--mol_gap_text' ),\n\t\tround: vary( '--mol_gap_round' ),\n\t\tspace: vary( '--mol_gap_space' ),\n\t\tblur: vary( '--mol_gap_blur' ),\n\t} as const\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\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\tconst error_showed = new WeakMap< Error, $mol_view >()\n\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|Node|string|number|boolean)[]\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\tdom_id() {\n\t\t\treturn this.toString()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\t\t\t\n\t\t\t$mol_wire_solid()\n\t\t\t\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\t$mol_dom_render_attributes( node , this.attr_static() )\n\t\t\t\n\t\t\tconst events = $mol_wire_async( this.event() )\n\t\t\t$mol_dom_render_events(node, events)\n\n\t\t\treturn node\n\t\t}\n\t\t\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\t\n\t\t\t\t$mol_dom_render_attributes( node , { mol_view_error : error.name || error.constructor.name } )\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) break render\n\t\t\t\tif( ( error_showed.get( error ) ?? this ) !== this ) 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\terror_showed.set( error, this )\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\t\t\tconst fields = this.field()\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(),\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\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( check( this ) ) return yield [ ... path, this ]\n\t\t\t\n\t\t\ttry {\n\t\t\t\tfor( const item of this.sub() ) {\n\t\t\t\t\tif( item instanceof $mol_view ) {\n\t\t\t\t\t\tyield* item.view_find( check, [ ... path, this ] )\n\t\t\t\t\t}\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} catch(err) {\n\t\t\t\t$mol_fail_log(err)\n\t\t\t}\n\n\t\t\tview.dom_node().scrollIntoView({ block: align })\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\tnew this.$.$mol_after_frame( ()=> {\n\t\t\t\t\n\t\t\t\tthis.dom_node().scrollIntoView({ block: 'start', inline: 'end' })\n\t\t\t\tthis.focused( true )\n\t\t\t\t\n\t\t\t} )\n\t\t\t\n\t\t}\n\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}\\n\\n@media print {\\n\\t[mol_view_root] {\\n\\t\\theight: auto;\\n\\t}\\n}\\n\\n[mol_view][mol_view_error]:not([mol_view_error=\\\"Promise\\\"]) {\\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=\\\"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) }","namespace $ {\n\texport class $mol_scroll extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_top? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_top(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * scroll_left? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tscroll_left(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tscroll?event <=> event_scroll?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tscroll: (event?: any) => this.event_scroll(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_scroll?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_scroll(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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",null,null,null,null,"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 in val ) {\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 in types ) {\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 in attrs ) {\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 in media ) {\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 {\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: 'flex',\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\talignSelf: 'stretch',\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\ttransform: 'translateZ(0)', // enforce gpu scroll in all agents\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: 'visible',\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","namespace $ {\n\texport class $mol_page extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\article\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"article\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \ttabIndex <= tabindex\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\ttabIndex: this.tabindex()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Body\n\t\t * \t<= Foot\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Body(),\n\t\t\t\tthis.Foot()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tabindex -1\n\t\t * ```\n\t\t */\n\t\ttabindex() {\n\t\t\treturn -1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Logo null\n\t\t * ```\n\t\t */\n\t\tLogo() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_content /\n\t\t * \t<= Logo\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\ttitle_content() {\n\t\t\treturn [\n\t\t\t\tthis.Logo(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view\n\t\t * \tdom_name \\h1\n\t\t * \tsub <= title_content\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"h1\"\n\t\t\tobj.sub = () => this.title_content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /$mol_view_content\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Tools $mol_view sub <= tools\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTools() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.tools()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\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 * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.minimal_height = () => 64\n\t\t\tobj.dom_name = () => \"header\"\n\t\t\tobj.sub = () => this.head()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body_scroll_top?\n\t\t * ```\n\t\t */\n\t\tbody_scroll_top(next?: any) {\n\t\t\treturn this.Body().scroll_top(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Body $mol_scroll\n\t\t * \tscroll_top? => body_scroll_top?\n\t\t * \tsub <= body\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tBody() {\n\t\t\tconst obj = new this.$.$mol_scroll()\n\t\t\t\n\t\t\tobj.sub = () => this.body()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * foot /$mol_view\n\t\t * ```\n\t\t */\n\t\tfoot() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Foot $mol_view\n\t\t * \tdom_name \\footer\n\t\t * \tsub <= foot\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFoot() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"footer\"\n\t\t\tobj.sub = () => this.foot()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\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\t@ $mol_mem\n\t\tdom_node( next? : Element ) {\n\n\t\t\tconst node = next || ( ( $mol_owning_get( this ) as $mol_wire_fiber ).host as $mol_view )!.dom_node()\n\n\t\t\t$mol_dom_render_attributes( node , this.attr_static() )\n\n\t\t\tconst events = $mol_wire_async( this.event() )\n\t\t\tfor( let event_name in events ) {\n\t\t\t\tnode.addEventListener(\n\t\t\t\t\tevent_name ,\n\t\t\t\t\tevents[ event_name ] ,\n\t\t\t\t\t{ passive : false } as any ,\n\t\t\t\t)\n\t\t\t}\n\n\t\t\treturn node\n\t\t}\n\n\t\tattr_static() : { [ key : string ] : string|number|boolean } {\n\t\t\treturn {}\n\t\t}\n\n\t\tevent() : { [ key : string ] : ( event : Event )=> void } {\n\t\t\treturn {}\n\t\t}\n\t\t\n\t\trender() {\n\t\t\tthis.dom_node_actual()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $.$$ {\n\n\tconst { per , rem } = $mol_style_unit\n\tconst { calc } = $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// 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\tboxShadow: `0 0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\n\t\t\tzIndex: 2,\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: 1000,\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},\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\tpadding: $mol_gap.block ,\n\t\t},\n\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\tboxShadow: `0 -0.5rem 0.5rem -0.5rem hsla(0,0%,0%,.25)` ,\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","let $hyoo_sync_revision = \"6efc2c3\"","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)\n\t}\n\n}\n","namespace $ {\n\t\n\texport type $mol_int62_string = `${string}_${string}`\n\t\n\texport function $mol_int62_string_ensure( str: unknown ) {\n\t\tif( typeof str !== 'string' ) return null\n\t\treturn $mol_int62_from_string( str ) && str as $mol_int62_string\n\t}\n\t\n\texport type $mol_int62_pair = {\n\t\treadonly lo: number,\n\t\treadonly hi: number,\n\t}\n\t\n\texport const $mol_int62_max = ( 2 ** 30 ) - 1\n\texport const $mol_int62_min = - ( 2 ** 30 )\n\texport const $mol_int62_range = $mol_int62_max - $mol_int62_min + 1\n\t\n\texport function $mol_int62_to_string( { lo, hi }: $mol_int62_pair ) {\n\t\tlo = ( lo + $mol_int62_range ) % $mol_int62_range\n\t\thi = ( hi + $mol_int62_range ) % $mol_int62_range\n\t\treturn lo.toString(36) + '_' + hi.toString(36) as $mol_int62_string\n\t}\n\n\texport function $mol_int62_from_string( str: string ): null | $mol_int62_pair {\n\t\t\n\t\tconst [ str_lo, str_hi ] = str.split( '_' )\n\t\t\n\t\tconst int_lo = parseInt( str_lo, 36 )\n\t\tconst int_hi = parseInt( str_hi, 36 )\n\t\t\n\t\tif( int_lo.toString( 36 ) !== str_lo || int_hi.toString( 36 ) !== str_hi ) {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\treturn {\n\t\t\tlo: ( int_lo - $mol_int62_min ) % $mol_int62_range + $mol_int62_min,\n\t\t\thi: ( int_hi - $mol_int62_min ) % $mol_int62_range + $mol_int62_min,\n\t\t} as const\n\t\t\n\t}\n\n\texport function $mol_int62_compare(\n\t\tleft_lo: number,\n\t\tleft_hi: number,\n\t\tright_lo: number,\n\t\tright_hi: number,\n\t) {\n\t\treturn ( right_hi - left_hi ) || ( right_lo - left_lo )\n\t}\n\n\texport function $mol_int62_inc(\n\t\tlo: number,\n\t\thi: number,\n\t\tmax = $mol_int62_max,\n\t): $mol_int62_pair {\n\t\tif( lo === max ) {\n\t\t\treturn { lo: -max, hi: hi + 1 }\n\t\t} else {\n\t\t\treturn { lo: lo + 1, hi }\n\t\t}\n\t}\n\n\texport function $mol_int62_random(): $mol_int62_pair {\n\t\treturn {\n\t\t\tlo: Math.floor( Math.random() * $mol_int62_range + $mol_int62_min ),\n\t\t\thi: Math.floor( Math.random() * $mol_int62_range + $mol_int62_min ),\n\t\t}\n\t}\n\n\texport function $mol_int62_hash_string( str: string ) {\n\t\treturn $mol_int62_to_string(\n\t\t\t$mol_int62_hash_buffer(\n\t\t\t\t$mol_charset_encode( str ),\n\t\t\t)\n\t\t)\n\t}\n\t\n\texport function $mol_int62_hash_buffer( buf: Uint8Array, seed = { lo: 0, hi: 0 } ): $mol_int62_pair {\n\t\t\n\t\tlet h1 = 0xdeadbeef ^ seed.lo\n\t\tlet h2 = 0x41c6ce57 ^ seed.hi\n\t\t\n\t\tfor( const byte of buf ) {\n\t\t\th1 = Math.imul( h1 ^ byte, 2654435761 )\n\t\t\th2 = Math.imul( h2 ^ byte, 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 { lo: h1 << 1 >> 1, hi: h2 << 1 >> 1 }\n\t}\n\t\n}\n",null,"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_diff_path< Item >( ... paths : Item[][] ) {\n\n\t\tconst limit = Math.min( ... paths.map( path => path.length ) )\n\n\t\tlookup: for( var i = 0 ; i < limit ; ++i ) {\n\n\t\t\tconst first = paths[0][i]\n\n\t\t\tfor( let j = 1 ; j < paths.length ; ++j ) {\n\t\t\t\tif( paths[j][i] !== first ) break lookup\n\t\t\t}\n\n\t\t}\n\n\t\treturn {\n\t\t\tprefix : paths[0].slice( 0 , i ) ,\n\t\t\tsuffix : paths.map( path => path.slice( i ) ) ,\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport class $mol_error_mix extends Error {\n\n\t\terrors : Error[]\n\n\t\tconstructor( message : string , ... errors : Error[] ) {\n\n\t\t\tsuper( message )\n\t\t\t\n\t\t\tthis.errors = errors\n\n\t\t\tif( errors.length ) {\n\n\t\t\t\tconst stacks = [ ... errors.map( error => error.stack ) , this.stack ]\n\t\t\t\t\n\t\t\t\tconst diff = $mol_diff_path( ... stacks.map( stack => {\n\t\t\t\t\tif( !stack ) return []\n\t\t\t\t\treturn stack.split( '\\n' ).reverse()\n\t\t\t\t} ) )\n\t\t\t\t\n\t\t\t\tconst head = diff.prefix.reverse().join( '\\n' )\n\t\t\t\tconst tails = diff.suffix.map( path => path.reverse().map( line => line.replace( /^(?!\\s+at)/ , '\\tat (.) ' ) ).join( '\\n' ) ).join( '\\n\\tat (.) -----\\n' )\n\n\t\t\t\tthis.stack = `Error: ${ this.constructor.name }\\n\\tat (.) /\"\"\"\\\\\\n${ tails }\\n\\tat (.) \\\\___/\\n${ head }`\n\t\t\t\tthis.message += errors.map( error => '\\n' + error.message ).join( '' )\n\n\t\t\t}\n\n\t\t}\n\n\t\ttoJSON() {\n\t\t\treturn this.message\n\t\t}\n\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 value of given enum and returns expected type.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_data_enum_demo\n\t */\n\texport function $mol_data_enum<\n\t\tDict extends Record< number | string , number | string >\n\t>( name : string , dict : Dict ) {\n\n\t\ttype Value = Dict[ keyof Dict ]\n\n\t\tconst index = {} as Record< Value , keyof Dict >\n\n\t\tfor( let key in dict ) {\n\t\t\tif( Number.isNaN( Number( key ) ) ) {\n\t\t\t\tindex[ dict[ key ] ] = key\n\t\t\t}\n\t\t}\n\n\t\treturn $mol_data_setup( ( value : Value ) => {\n\n\t\t\tif ( typeof index[ value ] !== 'string' ) {\n\t\t\t\treturn $mol_fail( new $mol_data_error( `${value} is not value of ${name} enum` ) )\n\t\t\t}\n\n\t\t\treturn value\n\n\t\t} , { name , dict } )\n\n\t}\n\t\n}\n","namespace $ {\n\texport var $mol_crypto_native = $node.crypto.webcrypto as any as Crypto\n}\n","namespace $ {\n\n\t/** @FIXME Need polyfill for Safari and Node (https://github.com/microsoft/MSR-JavaScript-Crypto/) */\n\tconst algorithm = {\n\t\tname: 'ECDSA',\n\t\thash: 'SHA-256',\n\t\tnamedCurve: \"P-256\",\n\t}\n\t\n\t/** Asymmetric signing pair with shortest payload */\n\texport async function $mol_crypto_auditor_pair( this: $ ) {\n\t\t\n\t\tconst pair = await $mol_crypto_native.subtle.generateKey(\n\t\t\talgorithm,\n\t\t\ttrue,\n\t\t\t[ 'sign', 'verify' ]\n\t\t)\n\t\t\n\t\treturn {\n\t\t\t\n\t\t\tpublic: new $mol_crypto_auditor_public(\n\t\t\t\tpair.publicKey as CryptoKey & { type: 'public' }\n\t\t\t),\n\t\t\t\n\t\t\tprivate: new $mol_crypto_auditor_private(\n\t\t\t\tpair.privateKey as CryptoKey & { type: 'private' }\n\t\t\t),\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\t/** Asymmetric signing public key wrapper with shortest payload */\n\texport class $mol_crypto_auditor_public extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 86\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'public' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tstatic async from( serial: string ) {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'jwk',\n\t\t\t\t\t{\n\t\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\t\text: true,\n\t\t\t\t\t\tkey_ops: ['verify'],\n\t\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\t},\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'verify' ],\n\t\t\t\t) as CryptoKey & { type: 'public' }\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** 62 bytes */\n\t\tasync serial(): Promise< string > {\n\t\t\tconst { x, y } = await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'jwk',\n\t\t\t\tthis.native,\n\t\t\t)\n\t\t\treturn x! + y!\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\talgorithm,\n\t\t\t\tthis.native,\n\t\t\t\tsign,\n\t\t\t\tdata,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\t/** Asymmetric signing private key wrapper with shortest payload */\n\texport class $mol_crypto_auditor_private extends Object {\n\t\t\n\t\t/** Key size in bytes. */\n\t\tstatic size = 129\n\t\t\n\t\tconstructor(\n\t\t\treadonly native: CryptoKey & { type: 'private' }\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\n\t\tstatic async from( serial: string ) {\n\t\t\treturn new this(\n\t\t\t\tawait $mol_crypto_native.subtle.importKey(\n\t\t\t\t\t'jwk',\n\t\t\t\t\t{\n\t\t\t\t\t\tcrv: \"P-256\",\n\t\t\t\t\t\text: true,\n\t\t\t\t\t\tkey_ops: ['sign'],\n\t\t\t\t\t\tkty: \"EC\",\n\t\t\t\t\t\tx: serial.slice( 0, 43 ),\n\t\t\t\t\t\ty: serial.slice( 43, 86 ),\n\t\t\t\t\t\td: serial.slice( 86, 129 ),\n\t\t\t\t\t},\n\t\t\t\t\talgorithm,\n\t\t\t\t\ttrue,\n\t\t\t\t\t[ 'sign' ],\n\t\t\t\t) as CryptoKey & { type: 'private' }\n\t\t\t)\n\t\t}\n\t\t\n\t\t/** 129 bytes */\n\t\tasync serial(): Promise< string > {\n\t\t\tconst { x, y, d } = await $mol_crypto_native.subtle.exportKey(\n\t\t\t\t'jwk',\n\t\t\t\tthis.native,\n\t\t\t)\n\t\t\treturn x! + y! + d!\n\t\t}\n\t\t\n\t\t/** 64 bytes */\n\t\tasync sign( data: BufferSource ) {\n\t\t\t\n\t\t\treturn await $mol_crypto_native.subtle.sign(\n\t\t\t\talgorithm,\n\t\t\t\tthis.native,\n\t\t\t\tdata\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes public key from private */\n\t\tasync public() {\n\t\t\treturn await $mol_crypto_auditor_public.from(\n\t\t\t\t$mol_crypto_auditor_private_to_public( await this.serial() )\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\t/** Sign size in bytes. */\n\texport const $mol_crypto_auditor_sign_size = 64\n\t\n\texport function $mol_crypto_auditor_private_to_public( serial: string ) {\n\t\treturn serial.slice( 0, 86 )\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport enum $hyoo_crowd_peer_level {\n\t\tget = 0,\n\t\tadd = 1,\n\t\tmod = 2,\n\t\tlaw = 3,\n\t}\n\t\n\texport class $hyoo_crowd_peer extends Object {\n\t\t\n\t\tid: $mol_int62_string\n\t\t\n\t\tconstructor(\n\t\t\treadonly key_public: $mol_crypto_auditor_public,\n\t\t\treadonly key_public_serial: string,\n\t\t\treadonly key_private: $mol_crypto_auditor_private,\n\t\t\treadonly key_private_serial: string,\n\t\t) {\n\t\t\tsuper()\n\t\t\tthis.id = $mol_int62_hash_string( this.key_public_serial )\n\t\t}\n\t\t\n\t\tstatic async generate() {\n\t\t\t\n\t\t\tconst pair = await $$.$mol_crypto_auditor_pair()\n\t\t\tconst serial = await pair.private.serial()\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tpair.public,\n\t\t\t\t$mol_crypto_auditor_private_to_public( serial ),\n\t\t\t\tpair.private,\n\t\t\t\tserial,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tstatic async restore(\n\t\t\tserial: string,\n\t\t) {\n\t\t\t\n\t\t\treturn new this(\n\t\t\t\tawait $$.$mol_crypto_auditor_public.from( serial ),\n\t\t\t\t$mol_crypto_auditor_private_to_public( serial ),\n\t\t\t\tawait $$.$mol_crypto_auditor_private.from( serial ),\n\t\t\t\tserial,\n\t\t\t)\n\t\n\t\t}\n\t\t\n\t}\n\t\n}\n",null,"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","namespace $ {\n\t\n\texport type $hyoo_crowd_unit_id = `${ $mol_int62_string }!${ $mol_int62_string }`\n\t\n\tconst level = $mol_data_enum( 'level', $hyoo_crowd_peer_level )\n\t\n\texport enum $hyoo_crowd_unit_kind {\n\t\t\n\t\t/** Grab Land by King */\n\t\tgrab,\n\t\t\n\t\t/** Join Peer to Land */\n\t\tjoin,\n\t\t\n\t\t/* Give Level for Peer for Land */\n\t\tgive,\n\t\t\n\t\t/** Add Data to Land by joined Peer with right Level */\n\t\tdata,\n\t\t\n\t}\n\t\n\texport enum $hyoo_crowd_unit_group {\n\t\t\n\t\t/** Join and Give units */\n\t\tauth = 0,\n\t\t\n\t\t/** Data units */\n\t\tdata = 1,\n\t\t\n\t}\n\t\n\t/** Independent part of data. */\n\texport class $hyoo_crowd_unit extends Object {\n\t\t\n\t\tconstructor(\n\t\n\t\t\t/** Identifier of land. */\n\t\t\treadonly land: $mol_int62_string,\n\t\t\t\n\t\t\t/** Identifier of auth. */\n\t\t\treadonly auth: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Identifier of head node. */\n\t\t\treadonly head: $mol_int62_string,\n\t\t\t\n\t\t\t/** Self identifier inside head after prev before next. */\n\t\t\treadonly self: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Identifier of next node. */\n\t\t\treadonly next: $mol_int62_string,\n\t\t\t\n\t\t\t/** Identifier of prev node. */\n\t\t\treadonly prev: $mol_int62_string,\n\t\t\t\n\t\t\t\n\t\t\t/** Monotonic real clock. 4B / info = 31b */\n\t\t\treadonly time: number,\n\t\t\t\n\t\t\t/** type-size = bin<0 | null=0 | json>0 */\n\t\t\t/** Associated atomic data. mem = 4B+ / bin = (0|8B)+ / type-size-info = 16b */\n\t\t\treadonly data: unknown,\n\t\t\t\n\t\t\tpublic bin: $hyoo_crowd_unit_bin | null\n\t\t\t\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\tkind() {\n\t\t\t\n\t\t\tif( this.head === this.self && this.auth === this.self ) {\n\t\t\t\tif( this.head === this.land ) {\n\t\t\t\t\treturn $hyoo_crowd_unit_kind.grab\n\t\t\t\t} else {\n\t\t\t\t\treturn $hyoo_crowd_unit_kind.join\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tif( this.head === this.land ) {\n\t\t\t\treturn $hyoo_crowd_unit_kind.give\n\t\t\t}\n\t\t\t\n\t\t\treturn $hyoo_crowd_unit_kind.data\n\t\t}\n\t\t\n\t\tgroup() {\n\t\t\treturn this.kind() === $hyoo_crowd_unit_kind.data\n\t\t\t\t? $hyoo_crowd_unit_group.data\n\t\t\t\t: $hyoo_crowd_unit_group.auth\n\t\t}\n\t\t\n\t\tlevel() {\n\t\t\tswitch( this.kind() ) {\n\t\t\t\tcase $hyoo_crowd_unit_kind.grab: return $hyoo_crowd_peer_level.law\n\t\t\t\tcase $hyoo_crowd_unit_kind.give: return level( this.data as any )\n\t\t\t\tdefault: $mol_fail( new Error( `Wrong unit kind for getting level: ${ this.kind() }` ) )\n\t\t\t}\n\t\t}\n\t\t\n\t\t[Symbol.toPrimitive]() {\n\t\t\treturn JSON.stringify( this )\n\t\t}\n\t\t\n\t\t[ $mol_dev_format_head ]() {\n\t\t\t\n\t\t\tswitch( this.kind() ) {\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.grab:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t' 👑',\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.join:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 🔑 ',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t),\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.give:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 🏅 ',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$mol_dev_format_native( $hyoo_crowd_peer_level[ this.data as number ] ?? this.data ),\n\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\tcase $hyoo_crowd_unit_kind.data:\n\t\t\t\t\treturn $mol_dev_format_div( {},\n\t\t\t\t\t\t$mol_dev_format_native( this ),\n\t\t\t\t\t\t$mol_dev_format_shade(\n\t\t\t\t\t\t\t' 📦 ',\n\t\t\t\t\t\t\tthis.head,\n\t\t\t\t\t\t\t'!',\n\t\t\t\t\t\t\tthis.self,\n\t\t\t\t\t\t\t' ',\n\t\t\t\t\t\t),\n\t\t\t\t\t\t$mol_dev_format_native( this.data ),\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}\n\t\n\tconst offset = {\n\t\t\n\t\tland_lo: 0,\n\t\tland_hi: 4,\n\t\tauth_lo: 8,\n\t\tauth_hi: 12,\n\t\t\n\t\thead_lo: 16,\n\t\thead_hi: 20,\n\t\tself_lo: 24,\n\t\tself_hi: 28,\n\t\t\n\t\tnext_lo: 32,\n\t\tnext_hi: 36,\n\t\tprev_lo: 40,\n\t\tprev_hi: 44,\n\t\t\n\t\ttime: 48,\n\t\tsize: 54,\n\t\tdata: 56,\n\t\t\n\t} as const\n\t\n\texport class $hyoo_crowd_unit_bin extends DataView {\n\t\t\n\t\tstatic from_buffer( buffer: Int16Array ) {\n\t\t\tconst size = Math.ceil( Math.abs( buffer[ offset.size / 2 ] ) / 8 ) * 8 + offset.data + $mol_crypto_auditor_sign_size\n\t\t\treturn new this( buffer.slice( 0, size / 2 ).buffer )\n\t\t}\n\t\t\n\t\tstatic from_unit( unit: $hyoo_crowd_unit ) {\n\t\t\t\n\t\t\tif( unit.bin ) return unit.bin\n\t\t\t\n\t\t\tconst type = unit.data === null\n\t\t\t\t? 0\n\t\t\t\t: unit.data instanceof Uint8Array\n\t\t\t\t\t? -1\n\t\t\t\t\t: 1\n\t\t\t\n\t\t\tconst buff = type === 0 ? null\n\t\t\t\t: type > 0 ? $mol_charset_encode( JSON.stringify( unit.data ) )\n\t\t\t\t: unit.data as Uint8Array\n\t\t\t\n\t\t\tconst size = buff?.byteLength ?? 0\n\t\t\tif( type > 0 && size > 2**15 - 1 ) throw new Error( `Too large json data: ${size} > ${ 2**15 - 1 }` )\n\t\t\tif( type < 0 && size > 2**15 ) throw new Error( `Too large binary data: ${size} > ${ 2**15 }` )\n\t\t\t\n\t\t\tconst total = offset.data + Math.ceil( size / 8 ) * 8 + $mol_crypto_auditor_sign_size\n\t\t\t\n\t\t\tconst mem = new Uint8Array( total )\n\t\t\tconst bin = new $hyoo_crowd_unit_bin( mem.buffer )\n\t\t\t\n\t\t\tconst land = $mol_int62_from_string( unit.land )!\n\t\t\tbin.setInt32( offset.land_lo, land.lo, true )\n\t\t\tbin.setInt32( offset.land_hi, land.hi, true )\n\t\t\tconst auth = $mol_int62_from_string( unit.auth )!\n\t\t\tbin.setInt32( offset.auth_lo, auth.lo, true )\n\t\t\tbin.setInt32( offset.auth_hi, auth.hi, true )\n\t\t\t\n\t\t\tconst head = $mol_int62_from_string( unit.head )!\n\t\t\tbin.setInt32( offset.head_lo, head.lo, true )\n\t\t\tbin.setInt32( offset.head_hi, head.hi, true )\n\t\t\tconst self = $mol_int62_from_string( unit.self )!\n\t\t\tbin.setInt32( offset.self_lo, self.lo, true )\n\t\t\tbin.setInt32( offset.self_hi, self.hi, true )\n\t\t\t\n\t\t\tconst next = $mol_int62_from_string( unit.next )!\n\t\t\tbin.setInt32( offset.next_lo, next.lo, true )\n\t\t\tbin.setInt32( offset.next_hi, next.hi, true )\n\t\t\tconst prev = $mol_int62_from_string( unit.prev )!\n\t\t\tbin.setInt32( offset.prev_lo, prev.lo, true )\n\t\t\tbin.setInt32( offset.prev_hi, prev.hi, true )\n\t\t\t\n\t\t\tbin.setInt32( offset.time, unit.time, true )\n\t\t\tbin.setInt16( offset.size, type * size, true )\n\t\t\t\n\t\t\tif( buff ) mem.set( buff, offset.data )\n\t\t\t\n\t\t\treturn bin\n\t\t}\n\t\t\n\t\tsign( next?: Uint8Array ) {\n\t\t\t\n\t\t\tconst sign_offset = this.byteOffset + this.byteLength - $mol_crypto_auditor_sign_size\n\t\t\t\n\t\t\tconst buff = new Uint8Array(\n\t\t\t\tthis.buffer,\n\t\t\t\tsign_offset,\n\t\t\t\t$mol_crypto_auditor_sign_size,\n\t\t\t)\n\t\t\t\n\t\t\tif( !next ) return buff\n\t\t\t\n\t\t\tbuff.set( next )\n\t\t\treturn buff\n\t\t\t\n\t\t}\n\t\t\n\t\t// land( next?: $mol_int62_pair ) {\n\t\t\t\n\t\t// \tif( next ) {\n\t\t\t\t\n\t\t// \t\tthis.setInt32( offset.land_lo, next.lo, true )\n\t\t// \t\tthis.setInt32( offset.land_hi, next.hi, true )\n\t\t// \t\treturn next\n\t\t\t\t\n\t\t// \t} else {\n\t\t\t\t\n\t\t// \t\treturn {\n\t\t// \t\t\tlo: this.getInt32( offset.land_lo, true ),\n\t\t// \t\t\thi: this.getInt32( offset.land_hi, true ),\n\t\t// \t\t}\n\t\t\t\t\n\t\t// \t}\n\n\t\t// }\n\t\t\n\t\tsize() {\n\t\t\treturn Math.ceil( Math.abs( this.getInt16( offset.size, true ) ) / 8 ) * 8 + offset.data + $mol_crypto_auditor_sign_size\n\t\t}\n\t\t\n\t\t// data() {\n\t\t// \tconst info = this.getUint16( offset.data )\n\t\t// \tconst size = Math.abs( info )\n\t\t// \tconst buf = new Uint8Array( this.buffer, this.byteOffset + offset.sens, size )\n\t\t// \tconst data = info > 0 ? JSON.parse( $mol_charset_decode( buf ) ) : info < 0 ? buf : null\n\t\t// \treturn data\n\t\t// }\n\t\t\n\t\tsens() {\n\t\t\treturn new Uint8Array(\n\t\t\t\tthis.buffer,\n\t\t\t\tthis.byteOffset,\n\t\t\t\tthis.size() - $mol_crypto_auditor_sign_size,\n\t\t\t)\n\t\t}\n\t\t\n\t\tunit(): $hyoo_crowd_unit {\n\t\t\t\n\t\t\tconst land = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.land_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.land_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst auth = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.auth_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.auth_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst head = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.head_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.head_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst self = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.self_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.self_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst next = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.next_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.next_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\tconst prev = $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.prev_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.prev_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst time = this.getInt32( offset.time, true ) << 1 >> 1\n\t\t\tconst type_size = this.getInt16( offset.size, true )\n\t\t\t\n\t\t\tlet data = null as unknown\n\t\t\t\n\t\t\tif( type_size ) {\n\t\t\t\t\n\t\t\t\ttry {\n\t\t\t\t\tvar buff = new Uint8Array( this.buffer, this.byteOffset + offset.data, Math.abs( type_size ) )\n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\terror['message'] += `\\nhead=${head};self=${self}`\n\t\t\t\t\t$mol_fail_hidden( error )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif( type_size < 0 ) data = buff\n\t\t\t\telse data = JSON.parse( $mol_charset_decode( buff ) )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn new $hyoo_crowd_unit(\n\t\t\t\tland, auth,\n\t\t\t\thead, self,\n\t\t\t\tnext, prev,\n\t\t\t\ttime, data,\n\t\t\t\tthis,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n\texport function $hyoo_crowd_unit_compare(\n\t\tleft: $hyoo_crowd_unit,\n\t\tright: $hyoo_crowd_unit,\n\t) {\n\t\treturn ( left.group() - right.group() )\n\t\t\t|| ( left.time - right.time )\n\t\t\t\n\t\t\t|| ( ( left.auth > right.auth ) ? 1 : ( left.auth < right.auth ) ? -1 : 0 )\n\t\t\t|| ( ( left.self > right.self ) ? 1 : ( left.self < right.self ) ? -1 : 0 )\n\t\t\t|| ( ( left.head > right.head ) ? 1 : ( left.head < right.head ) ? -1 : 0 )\n\t\t\t|| ( ( left.prev > right.prev ) ? 1 : ( left.prev < right.prev ) ? -1 : 0 )\n\t\t\t|| ( ( left.next > right.next ) ? 1 : ( left.next < right.next ) ? -1 : 0 )\n\t\t\t|| ( ( left.land > right.land ) ? 1 : ( left.land < right.land ) ? -1 : 0 )\n\t\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\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\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\tconst temp = $mol_wire_task.getter( val )\n\t\t\t\treturn function $mol_wire_sync( this: Host, ... args: any[] ) {\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\t\n\t\t\t},\n\t\t\t\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\tconst fiber = temp( self, args )\n\t\t\t\treturn fiber.sync()\n\t\t\t},\n\t\t\t\n\t\t} ) as any as (\n\t\t\tHost extends ( ... args: infer Args )=> infer Res\n\t\t\t\t? Res extends Promise< infer Res2 >\n\t\t\t\t\t? ( ... args: Args )=> Res2\n\t\t\t\t\t: Host\n\t\t\t\t: {}\n\t\t) & {\n\t\t\t[ key in keyof Host ]: Host[ key ] extends ( ... args: infer Args )=> Promise< infer Res >\n\t\t\t\t? ( ... args: Args )=> Res\n\t\t\t\t: Host[ key ]\n\t\t}\n\t}\n\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 ) 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_local.value( this.prefix() + '.' + key , next )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport async function $hyoo_sync_peer( path: string, next?: string ) {\n\t\t\n\t\tlet serial = $mol_state_local.value( '$hyoo_sync_peer', next ) as string | null\n\t\tif( typeof serial === 'string' ) {\n\t\t\treturn await $hyoo_crowd_peer.restore( serial )\n\t\t}\n\t\t\n\t\tconst peer = await $hyoo_crowd_peer.generate()\n\t\t$mol_state_local.value( '$hyoo_sync_peer', peer.key_private_serial )\n\t\treturn peer\n\t\t\n\t}\n\n\t\n}\n","namespace $ {\n\t\n\t/** Internal int31 representation of current time. */\n\texport function $hyoo_crowd_time_now() {\n\t\treturn Math.floor( Date.now() / 100 ) - 1767e7\n\t}\n\t\n\t/** Returns unix timestamp for internal time representation. */\n\texport function $hyoo_crowd_time_stamp( time: number ) {\n\t\treturn 1767e9 + time * 100\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Vector clock. Stores real timestamps. */\n\texport class $hyoo_crowd_clock extends Map<\n\t\t$mol_int62_string,\n\t\tnumber\n\t> {\n\t\t\n\t\tstatic begin = -1 * 2**30\n\t\t\n\t\t/** Maximum time for all peers. */\n\t\tlast_time = $hyoo_crowd_clock.begin\n\t\t\n\t\tconstructor(\n\t\t\tentries?: Iterable<\n\t\t\t\treadonly [ $mol_int62_string, number ]\n\t\t\t>\n\t\t) {\n\t\t\t\n\t\t\tsuper( entries )\n\t\t\tif( !entries ) return\n\t\t\t\n\t\t\tfor( const [ peer, time ] of entries ) {\n\t\t\t\tthis.see_time( time )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Synchronize this clock with another. */\n\t\tsync( right: $hyoo_crowd_clock ) {\n\t\t\tfor( const [ peer, time ] of right ) {\n\t\t\t\tthis.see_peer( peer, time )\n\t\t\t}\n\t\t}\n\t\t\n\t\t/** Increase `last` to latest. */\n\t\tsee_time( time: number ) {\n\t\t\tif( time < this.last_time ) return\n\t\t\tthis.last_time = time\n\t\t}\n\t\t\n\t\t/** Add new `time` for `peer` and increase `last`. */\n\t\tsee_peer(\n\t\t\tpeer: $mol_int62_string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\t\n\t\t\tif( !this.fresh( peer, time ) ) return\n\t\t\t\n\t\t\tthis.set( peer, time )\n\t\t\tthis.see_time( time )\n\t\t\t\n\t\t}\n\t\t\n\t\tsee_bin( bin: $hyoo_crowd_clock_bin, group: $hyoo_crowd_unit_group ) {\n\t\t\t\n\t\t\tfor( let cursor = offset.clocks; cursor < bin.byteLength; cursor += 16 ) {\n\t\t\t\t\n\t\t\t\tthis.see_peer(\n\t\t\t\t\t$mol_int62_to_string({\n\t\t\t\t\t\tlo: bin.getInt32( cursor + 0, true ) << 1 >> 1,\n\t\t\t\t\t\thi: bin.getInt32( cursor + 4, true ) << 1 >> 1,\n\t\t\t\t\t}),\n\t\t\t\t\tbin.getInt32( cursor + 8 + 4 * group, true )\n\t\t\t\t)\n\t\t\t\t\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t/** Checks if time from future. */\n\t\tfresh(\n\t\t\tpeer: $mol_int62_string,\n\t\t\ttime: number,\n\t\t) {\n\t\t\treturn time > this.time( peer )\n\t\t}\n\t\t\n\t\t/** Checks if this clock from future of another. */\n\t\tahead( clock: $hyoo_crowd_clock ) {\n\t\t\t\n\t\t\tfor( const [ peer, time ] of this ) {\n\t\t\t\tif( clock.fresh( peer, time ) ) return true\n\t\t\t}\n\t\t\t\n\t\t\treturn false\n\t\t}\n\t\t\n\t\ttime( peer: $mol_int62_string ) {\n\t\t\treturn this.get( peer ) ?? $hyoo_crowd_clock.begin\n\t\t}\n\t\t\n\t\tnow() {\n\t\t\treturn $hyoo_crowd_time_now()\n\t\t}\n\t\t\n\t\tlast_stamp() {\n\t\t\treturn $hyoo_crowd_time_stamp( this.last_time )\n\t\t}\n\t\t\n\t\t/** Gererates new time for peer that greater then other seen. */\n\t\ttick( peer: $mol_int62_string ) {\n\t\t\t\n\t\t\tlet time = this.now()\n\t\t\t\n\t\t\tif( time <= this.last_time ) {\n\t\t\t\ttime = this.last_time + 1\n\t\t\t}\n\t\t\t\n\t\t\tthis.see_peer( peer, time )\n\t\t\t\n\t\t\treturn time\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( ' ' + new Date( this.last_stamp() ).toISOString().replace( 'T', ' ' ) ) ,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n\tconst offset = {\n\t\t\n\t\tland_lo: 0,\n\t\tland_hi: 4,\n\t\t\n\t\tcount: 8,\n\t\t\n\t\tclocks: 16,\n\t\t\n\t} as const\n\t\n\texport class $hyoo_crowd_clock_bin extends DataView {\n\t\t\n\t\tstatic from(\n\t\t\tland_id: $mol_int62_string,\n\t\t\tclocks: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ],\n\t\t\tcount: number,\n\t\t) {\n\t\t\t\n\t\t\tconst size = offset.clocks + clocks[0].size * 16\n\t\t\tconst mem = new Uint8Array( size )\n\t\t\tconst bin = new $hyoo_crowd_clock_bin( mem.buffer )\n\t\t\t\n\t\t\tconst land = $mol_int62_from_string( land_id )!\n\t\t\tbin.setInt32( offset.land_lo, land.lo ^ ( 1 << 31 ), true )\n\t\t\tbin.setInt32( offset.land_hi, land.hi, true )\n\t\t\t\n\t\t\tbin.setInt32( offset.count, count, true )\n\t\t\t\n\t\t\tlet cursor = offset.clocks\n\t\t\tfor( const [ peer_id, time ] of clocks[0] ) {\n\t\t\t\t\n\t\t\t\tconst peer = $mol_int62_from_string( peer_id )!\n\t\t\t\t\n\t\t\t\tbin.setInt32( cursor + 0, peer.lo, true )\n\t\t\t\tbin.setInt32( cursor + 4, peer.hi, true )\n\t\t\t\t\n\t\t\t\tbin.setInt32( cursor + 8, time, true )\n\t\t\t\tbin.setInt32( cursor + 12, clocks[1].get( peer_id ) ?? $hyoo_crowd_clock.begin, true )\n\t\t\t\t\n\t\t\t\tcursor += 16\n\t\t\t}\n\t\t\t\n\t\t\treturn bin\n\t\t}\n\t\t\n\t\tland() {\n\t\t\treturn $mol_int62_to_string({\n\t\t\t\tlo: this.getInt32( offset.land_lo, true ) << 1 >> 1,\n\t\t\t\thi: this.getInt32( offset.land_hi, true ) << 1 >> 1,\n\t\t\t})\n\t\t}\n\t\t\n\t\tcount() {\n\t\t\treturn this.getInt32( offset.count, true )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** Stateless non-unique adapter to CROWD Tree for given Head. */\n\texport class $hyoo_crowd_node extends $mol_object2 {\n\t\t\n\t\tconstructor(\n\t\t\treadonly land = new $hyoo_crowd_land,\n\t\t\treadonly head: $mol_int62_string = '0_0',\n\t\t) { super() }\n\t\t\n\t\tstatic for< Node extends typeof $hyoo_crowd_node >(\n\t\t\tthis: Node,\n\t\t\tland: $hyoo_crowd_land,\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\treturn new this( land, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\tstatic toJSON() {\n\t\t\treturn this.name\n\t\t}\n\t\t\n\t\tid() {\n\t\t\treturn this.head === '0_0'\n\t\t\t\t? this.land.id()\n\t\t\t\t: `${ this.land.id() }!${ this.head }` as $hyoo_crowd_unit_id\n\t\t}\n\t\t\n\t\tworld() {\n\t\t\treturn this.land.world()\n\t\t}\n\t\t\n\t\t/** Returns another representation of this node. */\n\t\tas< Node extends typeof $hyoo_crowd_node >( Node: Node ) {\n\t\t\treturn this.world()?.Fund( Node ).Item( `${ this.land.id() }!${ this.head }` ) ?? new Node( this.land, this.head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** Ordered inner alive Units. */\n\t\tunits() {\n\t\t\treturn this.land.unit_alives( 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_crowd_node >( Node: Node ) {\n\t\t\tconst fund = this.world()?.Fund( Node )\n\t\t\treturn this.units().map( unit => fund?.Item( `${ this.land.id() }!${ unit.self }` ) ?? new Node( this.land, unit.self ) as InstanceType< Node > )\n\t\t}\n\t\t\n\t\t/** Returns true when node value is never changed. */\n\t\tvirgin() {\n\t\t\treturn this.land.unit_list( this.head ).length === 0\n\t\t}\n\t\t\n\t\t[ Symbol.toPrimitive ]() {\n\t\t\treturn `${ this.constructor.name }(\"${ this.land.id() }\",\"${ this.head }\")`\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.id()\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( this.land.unit_list( this.head ) ) ,\n\t\t\t)\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $hyoo_crowd_reg extends $hyoo_crowd_node {\n\t\t\n\t\t/** Atomic value. */\n\t\tvalue( next?: unknown ) {\n\t\t\t\n\t\t\tconst unit = this.units().at(-1)\n\t\t\tif( next === undefined ) return unit?.data ?? null\n\t\t\t\t\n\t\t\tif( $mol_compare_deep( unit?.data, next ) ) return next\n\t\t\t\n\t\t\tthis.land.put(\n\t\t\t\tthis.head,\n\t\t\t\tunit?.self ?? this.land.id_new(),\n\t\t\t\t'0_0',\n\t\t\t\tnext,\n\t\t\t)\n\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t/** Atomic string. */\n\t\tstr( next?: string ) {\n\t\t\treturn String( this.value( next ) ?? '' )\n\t\t}\n\t\t\n\t\t/** Atomic number. */\n\t\tnumb( next?: number ) {\n\t\t\treturn Number( this.value( next ) )\n\t\t}\n\t\t\n\t\t/** Atomic boolean. */\n\t\tbool( next?: boolean ) {\n\t\t\treturn Boolean( this.value( next ) )\n\t\t}\n\t\t\n\t\tyoke(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\t\n\t\t\tconst world = this.world()!\n\t\t\t\n\t\t\tlet land_id = $mol_int62_string_ensure( this.value() )\n\t\t\tif( land_id ) return world.land_sync( land_id )\n\t\t\t\n\t\t\tif( !this.land.allowed_add() ) return null\n\t\t\t\n\t\t\tconst land = $mol_wire_sync( world ).grab( law, mod, add )\n\t\t\t\n\t\t\tthis.value( land.id() )\n\t\t\tworld.land_init( land )\n\t\t\t\n\t\t\treturn land\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $hyoo_crowd_struct extends $hyoo_crowd_node {\n\t\t\n\t\t/** Returns inner node for key. */\n\t\tsub< Node extends typeof $hyoo_crowd_node >( key: string, Node: Node ) {\n\t\t\tconst head = $mol_int62_hash_string( key + '\\n' + this.head )\n\t\t\treturn this.world()?.Fund( Node ).Item( `${ this.land.id() }!${ head }` ) ?? new Node( this.land, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\tyoke< Node extends typeof $hyoo_crowd_node >(\n\t\t\tkey: string,\n\t\t\tNode: Node,\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\tconst land = this.sub( key, $hyoo_crowd_reg ).yoke( law, mod, add )\n\t\t\treturn land?.chief.sub( key, Node ) ?? null\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\t/** Conflict-free Reinterpretable Ordered Washed Data Tree */\n\texport class $hyoo_crowd_land extends $mol_object {\n\t\t\n\t\t@ $mol_memo.method\n\t\tid() {\n\t\t\treturn $mol_int62_to_string( $mol_int62_random() )\n\t\t}\n\t\t\n\t\ttoJSON() {\n\t\t\treturn this.id()\n\t\t}\n\t\t\n\t\tpeer() {\n\t\t\treturn this.world()?.peer!\n\t\t}\n\t\t\n\t\tpeer_id() {\n\t\t\treturn this.peer()?.id ?? '0_0'\n\t\t}\n\t\t\n\t\tworld(): $hyoo_crowd_world | null {\n\t\t\treturn null\n\t\t}\n\t\t\n\t\tget clock_auth() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks[ $hyoo_crowd_unit_group.auth ]\n\t\t}\n\t\t\n\t\tget clock_data() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks[ $hyoo_crowd_unit_group.data ]\n\t\t}\n\t\t\n\t\tget clocks() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this._clocks\n\t\t}\n\t\t\n\t\tget clocks_bin() {\n\t\t\treturn new Uint8Array( $hyoo_crowd_clock_bin.from( this.id(), this._clocks, this._unit_all.size ).buffer )\n\t\t}\n\t\t\n\t\treadonly pub = new $mol_wire_pub\n\t\treadonly _clocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t\n\t\t/** unit by head + self */\n\t\t_unit_all = new Map<\n\t\t\t$hyoo_crowd_unit_id,\n\t\t\t$hyoo_crowd_unit\n\t\t>()\n\t\t\n\t\tunit(\n\t\t\thead: $mol_int62_string,\n\t\t\tself: $mol_int62_string,\n\t\t) {\n\t\t\treturn this._unit_all.get(`${ head }!${ self }`)\n\t\t}\n\t\t\n\t\t/** units by head */\n\t\t_unit_lists = new Map<\n\t\t\t$mol_int62_string,\n\t\t\tundefined | $hyoo_crowd_unit[] & { dirty: boolean }\n\t\t>()\n\t\t\n\t\t/** Units by Head without tombstones */\n\t\t_unit_alives = new Map<\n\t\t\t$mol_int62_string,\n\t\t\tundefined | $hyoo_crowd_unit[]\n\t\t>()\n\t\t\n\t\tsize() {\n\t\t\treturn this._unit_all.size\n\t\t}\n\t\t\n\t\t/** Returns list of all Units for Node. */ \n\t\tunit_list(\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tlet kids = this._unit_lists.get( head )\n\t\t\tif( !kids ) this._unit_lists.set( head, kids = Object.assign( [], { dirty: false } ) )\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Returns list of alive Units for Node. */ \n\t\tunit_alives(\n\t\t\thead: $mol_int62_string,\n\t\t): readonly $hyoo_crowd_unit[] {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tlet kids = this._unit_alives.get( head )\n\t\t\tif( !kids ) {\n\t\t\t\t\n\t\t\t\tconst all = this.unit_list( head )\n\t\t\t\tif( all.dirty ) this.resort( head )\n\t\t\t\t\n\t\t\t\tkids = all.filter( kid => kid.data !== null )\n\t\t\t\tthis._unit_alives.set( head, kids )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Node by id and type. */\n\t\tnode< Node extends typeof $hyoo_crowd_node >( head: $mol_int62_string, Node: Node ) {\n\t\t\treturn new Node( this, head ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\t/** Root Node. */\n\t\tchief = this.node( '0_0', $hyoo_crowd_struct )\n\t\t\n\t\t/** Generates new identifier. */\n\t\tid_new(): $mol_int62_string {\n\t\t\t\n\t\t\tfor( let i = 0; i < 1000; ++i ) {\n\t\t\t\t\n\t\t\t\tconst id = $mol_int62_to_string( $mol_int62_random() )\n\t\t\t\t\n\t\t\t\tif( id === '0_0' ) continue // zero reserved for empty\n\t\t\t\tif( id === this.id() ) continue // reserved for rights\n\t\t\t\tif( this._unit_lists.has( id ) ) continue // skip already exists\n\t\t\t\t\n\t\t\t\treturn id\n\t\t\t}\n\t\t\t\n\t\t\tthrow new Error( `Can't generate ID after 1000 times` )\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Makes independent clone with defined peer. */\n\t\tfork( auth: $hyoo_crowd_peer ) {\n\t\t\t\n\t\t\tconst fork = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( this.id() ),\n\t\t\t\tpeer: $mol_const( auth ),\n\t\t\t})\n\t\t\t\n\t\t\treturn fork.apply( this.delta() )\n\t\t}\n\t\t\n\t\t/** Makes Delta bettween Clock and now. */\n\t\tdelta(\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst delta = [] as $hyoo_crowd_unit[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tconst time = clocks[ unit.group() ].time( unit.auth )\n\t\t\t\tif( unit.time <= time ) continue\n\t\t\t\t\n\t\t\t\tdelta.push( unit! )\n\t\t\t}\n\t\t\t\n\t\t\tdelta.sort( $hyoo_crowd_unit_compare )\n\t\t\t\n\t\t\treturn delta as readonly $hyoo_crowd_unit[]\n\t\t}\n\t\t\n\t\tresort(\n\t\t\thead: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst kids = this._unit_lists.get( head )!\n\t\t\tif( !kids.dirty ) return kids\n\t\t\t\n\t\t\tif( kids.length < 2 ) {\n\t\t\t\tkids.dirty = true\n\t\t\t\treturn kids\n\t\t\t}\n\t\t\t\n\t\t\tconst queue = kids.splice(0).sort(\n\t\t\t\t( left, right )=> - $hyoo_crowd_unit_compare( left, right )\n\t\t\t)\n\t\t\t\n\t\t\tconst locate = ( self: $mol_int62_string )=> {\n\t\t\t\t\n\t\t\t\tfor( let i = kids.length - 1; i >= 0; --i ) {\n\t\t\t\t\tif( kids[i].self === self ) return i\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\treturn -1\n\t\t\t}\n\t\t\t\n\t\t\twhile( queue.length ) {\n\t\t\t\t\n\t\t\t\tkids.push( queue.pop()! )\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\tlet index = 0\n\n\t\t\t\t\tif( kid.prev !== '0_0' ) {\n\t\t\t\t\t\tindex = locate( kid.prev ) + 1\n\t\t\t\t\t\tif( !index ) continue\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\twhile( kids[ index ] && ( $hyoo_crowd_unit_compare( kids[ index ], kid ) > 0 ) ) ++ index\n\t\t\t\t\t\n\t\t\t\t\tconst exists = locate( kid.self )\n\t\t\t\t\tif( index === exists ) {\n\t\t\t\t\t\tif( cursor === queue.length - 1 ) queue.pop()\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\n\t\t\t\t\tif( exists >= 0 ) {\n\t\t\t\t\t\tkids.splice( exists, 1 )\n\t\t\t\t\t\tif( exists < index ) -- index\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tkids.splice( index, 0, 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\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tkids.dirty = false\n\t\t\t\n\t\t\treturn kids\n\t\t}\n\t\t\n\t\t/** Applies Delta to current state. */\n\t\tapply( delta: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\tfor( const next of delta ) {\n\t\t\t\t\n\t\t\t\tthis._clocks[ next.group() ].see_peer( next.auth, next.time )\n\t\t\t\tconst kids = this.unit_list( next.head )\n\t\t\t\tconst next_id = `${ next.head }!${ next.self }` as const\n\t\t\t\t\n\t\t\t\tlet prev = this._unit_all.get( next_id )\n\t\t\t\tif( prev ) {\n\t\t\t\t\tif( $hyoo_crowd_unit_compare( prev, next ) > 0 ) continue\n\t\t\t\t\tkids[ kids.indexOf( prev ) ] = next\n\t\t\t\t} else {\n\t\t\t\t\tkids.push( next )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tthis._unit_all.set( next_id, next )\n\t\t\t\tif( kids.length > 1 ) kids.dirty = true\n\t\t\t\tthis._unit_alives.set( next.head, undefined )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn this\n\t\t}\n\t\t\n\t\t_joined = false\n\t\t\n\t\t/** Register public key of current peer **/\n\t\tjoin() {\n\t\t\t\n\t\t\tif( this._joined ) return\n\t\t\t\n\t\t\tconst auth = this.peer()\n\t\t\tif( !auth ) return\n\t\t\tif( !auth.key_public_serial ) return\n\t\t\t\n\t\t\tconst auth_id = `${ auth.id }!${ auth.id }` as const\n\t\t\t\n\t\t\tconst auth_unit = this._unit_all.get( auth_id )\n\t\t\tif( auth_unit?.data ) return this._joined = true\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( auth.id )\n\t\t\t\n\t\t\tconst join_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth.id,\n\t\t\t\tauth.id, auth.id,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, auth.key_public_serial,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( auth_id, join_unit )\n\t\t\t\n\t\t\tthis._joined = true\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Unregister public key of current peer **/\n\t\tleave() {\n\t\t\t\n\t\t\tconst auth = this.peer()\n\t\t\tif( !auth ) return\n\t\t\tif( !auth.key_public_serial ) return\n\t\t\t\n\t\t\tconst auth_id = `${ auth.id }!${ auth.id }` as const\n\t\t\t\n\t\t\tconst auth_unit = this._unit_all.get( auth_id )\n\t\t\tif( !auth_unit || !auth_unit.data ) return this._joined = false\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( auth.id )\n\t\t\t\n\t\t\tconst join_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth.id,\n\t\t\t\tauth.id, auth.id,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, null,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( auth_id, join_unit )\n\t\t\t\n\t\t\tthis._joined = false\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t}\n\t\t\n\t\tallowed_add( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.add\n\t\t}\n\t\tallowed_mod( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.mod\n\t\t}\n\t\tallowed_law( peer = this.peer().id ) {\n\t\t\treturn this.level( peer ) >= $hyoo_crowd_peer_level.law\n\t\t}\n\t\t\n\t\tlevel_base( next?: $hyoo_crowd_peer_level ) {\n\t\t\tthis.level( '0_0', next )\n\t\t}\n\t\t\n\t\t/** Access level for peer. Use empty string for current peer. **/\n\t\tlevel( peer: $mol_int62_string | '', next?: $hyoo_crowd_peer_level ) {\n\t\t\t\n\t\t\tif( next ) this.join()\n\t\t\telse this.pub.promote()\n\t\t\t\n\t\t\tif( !peer ) peer = this.peer_id()\n\t\t\t\n\t\t\tconst level_id = `${ this.id() }!${ peer }` as const\n\t\t\t\n\t\t\tconst prev = this._unit_all.get( level_id )?.level()\n\t\t\t\t?? this._unit_all.get( `${ this.id() }!0_0` )?.level()\n\t\t\t\t?? ( this.id() === peer ? $hyoo_crowd_peer_level.law : $hyoo_crowd_peer_level.get )\n\t\t\t\n\t\t\tif( next === undefined ) return prev\n\t\t\tif( next <= prev ) return prev\n\t\t\tif( !this.allowed_law() ) return prev\n\t\t\t\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.auth ].tick( peer )\n\t\t\tconst auth = this.peer_id()\n\t\t\t\n\t\t\tconst level_unit = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth,\n\t\t\t\tthis.id(), peer,\n\t\t\t\t'0_0', '0_0',\n\t\t\t\ttime, next,\n\t\t\t\tnull,\n\t\t\t\t\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( level_id, level_unit )\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tgrabbed() {\n\t\t\tif( this.id() === this.peer_id() ) return true\n\t\t\tthis.pub.promote()\n\t\t\treturn this._unit_all.size > 0\n\t\t}\n\t\t\n\t\t/** All peers who have special rights to write o land. */\n\t\tpeers() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst lords = [] as $mol_int62_string[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tswitch( unit.kind() ) {\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.data: continue\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.join: continue\n\t\t\t\t\tdefault: lords.push( unit.self )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn lords as Readonly< typeof lords >\n\t\t}\n\t\t\n\t\t/** All peers who joined to land except king. */\n\t\tresidents() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst lords = [] as $mol_int62_string[]\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\t\n\t\t\t\tif( unit.data === null ) continue\n\t\t\t\tif( unit.kind() !== $hyoo_crowd_unit_kind.join ) continue\n\t\t\t\t\n\t\t\t\tlords.push( unit.self )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn lords as Readonly< typeof lords >\n\t\t}\n\t\t\n\t\t/** All peers who have alive data inside land. */\n\t\tauthors() {\n\t\t\t\n\t\t\tthis.pub.promote()\n\t\t\t\n\t\t\tconst authors = new Set<$mol_int62_string>()\n\t\t\t\n\t\t\tfor( const unit of this._unit_all.values() ) {\n\t\t\t\tif( unit.kind() !== $hyoo_crowd_unit_kind.data ) continue\n\t\t\t\tif( unit.data === null ) continue\n\t\t\t\tauthors.add( unit.auth )\n\t\t\t}\n\t\t\t\n\t\t\treturn authors\n\t\t}\n\t\t\n\t\tsteal_rights( donor: $hyoo_crowd_land ) {\n\t\t\tif( !this.allowed_law() ) return\n\t\t\tfor( const peer of donor.peers() ) {\n\t\t\t\tthis.level( peer, donor.level( peer ) )\n\t\t\t}\n\t\t}\n\t\t\n\t\tfirst_stamp() {\n\t\t\tthis.pub.promote()\n\t\t\tconst grab_unit = this._unit_all.get( `${ this.id() }!${ this.id() }` )\n\t\t\treturn ( grab_unit && $hyoo_crowd_time_stamp( grab_unit.time ) ) ?? null\n\t\t}\n\t\t\n\t\tlast_stamp() {\n\t\t\tthis.pub.promote()\n\t\t\treturn this.clock_data.last_stamp()\n\t\t}\n\t\t\n\t\tselection( peer: $mol_int62_string ) {\n\t\t\treturn this.world()!.land_sync( peer ).chief.sub( '$hyoo_crowd_land..selection', $hyoo_crowd_reg )\n\t\t}\n\t\t\n\t\t/** Places data to tree. */\n\t\tput(\n\t\t\thead: $mol_int62_string,\n\t\t\tself: $mol_int62_string,\n\t\t\tprev: $mol_int62_string,\n\t\t\tdata: unknown,\n\t\t) {\n\t\t\t\n\t\t\tthis.join()\n\t\t\t\n\t\t\tconst old_id = `${ head }!${ self }` as const\n\t\t\tlet unit_old = this._unit_all.get( old_id )\n\t\t\tlet unit_prev = prev !== '0_0'\n\t\t\t\t? this._unit_all.get( `${ head }!${ prev }` )!\n\t\t\t\t: null\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( head )\n\t\t\tif( unit_old ) unit_list.splice( unit_list.indexOf( unit_old ), 1 )\n\t\t\t\n\t\t\tconst seat = unit_prev ? unit_list.indexOf( unit_prev ) + 1 : 0\n\t\t\tconst next = unit_list[ seat ]?.self ?? '0_0'\n\t\t\t\n\t\t\tconst auth = this.peer_id()\n\t\t\tconst time = this._clocks[ $hyoo_crowd_unit_group.data ].tick( auth )\n\t\t\t\n\t\t\tconst unit_new = new $hyoo_crowd_unit(\n\t\t\t\tthis.id(), auth,\n\t\t\t\thead, self,\n\t\t\t\tnext, prev,\n\t\t\t\ttime, data,\n\t\t\t\tnull,\n\t\t\t\t\n\t\t\t)\n\t\t\t\n\t\t\tthis._unit_all.set( old_id, unit_new )\n\t\t\t\n\t\t\tunit_list.splice( seat, 0, unit_new )\n\t\t\t// unit_list.dirty = true\n\t\t\tthis._unit_alives.set( head, undefined )\n\t\t\t\n\t\t\t// this.apply([ unit_new ])\n\t\t\t\n\t\t\tthis.pub.emit()\n\t\t\t\n\t\t\treturn unit_new\n\t\t}\n\t\t\n\t\t/** Marks unit as deleted and wipes its data. */\n\t\twipe( unit: $hyoo_crowd_unit ) {\n\t\t\t\n\t\t\tif( unit.data === null ) return unit\n\t\t\t\n\t\t\t// for( const kid of this.unit_list( unit.self ) ) {\n\t\t\t// \tthis.wipe( kid )\n\t\t\t// }\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( unit.head )\n\t\t\tconst seat = unit_list.indexOf( unit )\n\t\t\t\n\t\t\tconst prev = seat > 0 ? unit_list[ seat - 1 ].self : seat < 0 ? unit.prev : '0_0'\n\t\t\t\n\t\t\treturn this.put(\n\t\t\t\tunit.head,\n\t\t\t\tunit.self,\n\t\t\t\tprev,\n\t\t\t\tnull,\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves Unit after another Prev inside some Head. */\n\t\tmove(\n\t\t\tunit: $hyoo_crowd_unit,\n\t\t\thead: $mol_int62_string,\n\t\t\tprev: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst unit_list = this.unit_list( unit.head )\n\t\t\t\n\t\t\tconst seat = unit_list.indexOf( unit )\n\t\t\tconst next = unit_list[ seat + 1 ]\n\t\t\t\n\t\t\tthis.wipe( unit )\n\t\t\t\n\t\t\tif( next ) this.put(\n\t\t\t\tnext.head,\n\t\t\t\tnext.self,\n\t\t\t\tunit_list[ unit_list.indexOf( next ) - 2 ]?.self ?? '0_0',\n\t\t\t\tnext.data,\n\t\t\t)\n\t\t\t\n\t\t\tthis.put(\n\t\t\t\thead,\n\t\t\t\tunit.self,\n\t\t\t\tprev,\n\t\t\t\tunit.data\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\t/** Moves Unit at given Seat inside given Head. */\n\t\tinsert(\n\t\t\tunit: $hyoo_crowd_unit,\n\t\t\thead: $mol_int62_string,\n\t\t\tseat: number,\n\t\t) {\n\t\t\tconst list = this.unit_list( head )\n\t\t\tconst prev = seat ? list[ seat - 1 ].self : '0_0'\n\t\t\treturn this.move( unit, head, prev )\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}\n\t\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\t\n\t/** Registry of nodes as domain entities. */\n\texport class $hyoo_crowd_fund< Node extends typeof $hyoo_crowd_node > extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\tpublic world: $hyoo_crowd_world,\n\t\t\tpublic Node: Node,\n\t\t) {\n\t\t\tsuper()\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tItem( id: $mol_int62_string | `${$mol_int62_string}!${$mol_int62_string}` ): InstanceType {\n\t\t\tconst [ land, head ] = id.split( '!' ) as [ $mol_int62_string, $mol_int62_string | undefined ]\n\t\t\tif( !head ) return this.Item( `${land}!0_0` )\n\t\t\treturn this.world.land_sync( land ).node( head, this.Node )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tmake(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\tconst land = $mol_wire_sync( this.world ).grab( law, mod, add )\n\t\t\treturn this.Item( land.id() )\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\t/** @deprecated */\n\texport let $mol_dict_key = $mol_key\n\n\t/**\n\t * Dictionary with extended keys support\n\t */\n\texport class $mol_dict< Key , Value > extends Map< Key , Value > {\n\n\t\tget( key : Key ) {\n\t\t\treturn super.get( $mol_key( key ) as any )\n\t\t}\n\n\t\thas( key : Key ) {\n\t\t\treturn super.has( $mol_key( key ) as any )\n\t\t}\n\n\t\tset( key : Key , value : Value ) {\n\t\t\treturn super.set( $mol_key( key ) as any , value )\n\t\t}\n\n\t\tdelete( key : Key ) {\n\t\t\treturn super.delete( $mol_key( key ) as any )\n\t\t}\n\n\t\tforEach( back : ( value : Value , key : Key , dict : Map< Key , Value > ) => void , context? : any ) {\n\t\t\treturn super.forEach( ( val , key , dict )=> {\n\t\t\t\tif( typeof key === 'string' ) key = JSON.parse( key )\n\t\t\t\treturn back.call( this , val , key , dict )\n\t\t\t} , context )\n\t\t}\n\n\t\tkeys() {\n\t\t\tconst iterator = super.keys()\n\t\t\t\n\t\t\treturn {\n\t\t\t\t[Symbol.iterator]() {\n\t\t\t\t\treturn this\n\t\t\t\t},\n\t\t\t\tnext() {\n\t\t\t\t\t\n\t\t\t\t\tconst iteration = iterator.next()\n\t\t\t\t\tif( iteration.done ) return iteration\n\t\t\t\t\t\n\t\t\t\t\titeration.value = JSON.parse( iteration.value as any as string )\n\t\t\t\t\treturn iteration\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\tentries() {\n\t\t\tconst iterator = super.entries()\n\t\t\t\n\t\t\treturn {\n\t\t\t\t[Symbol.iterator]() {\n\t\t\t\t\treturn this\n\t\t\t\t},\n\t\t\t\tnext() {\n\t\t\t\t\t\n\t\t\t\t\tconst iteration = iterator.next()\n\t\t\t\t\tif( iteration.done ) return iteration\n\t\t\t\t\t\n\t\t\t\t\titeration.value = [ JSON.parse( iteration.value[0] as any as string ), iteration.value[1] ]\n\t\t\t\t\t// iteration.value[0] = JSON.parse( iteration.value[0] as any as string )\n\t\t\t\t\treturn iteration\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t[Symbol.iterator]() {\n\t\t\treturn this.entries()\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\texport class $hyoo_crowd_world extends $mol_object {\n\t\t\n\t\tconstructor(\n\t\t\treadonly peer?: $hyoo_crowd_peer\n\t\t) {\n\t\t\tsuper()\n\t\t\tif( peer ) this._knights.set( peer.id , peer )\n\t\t}\n\t\t\n\t\treadonly lands_pub = new $mol_wire_pub\n\t\t\n\t\t_lands = new Map<\n\t\t\t$mol_int62_string,\n\t\t\t$hyoo_crowd_land\n\t\t>()\n\t\t\n\t\tget lands() {\n\t\t\tthis.lands_pub.promote()\n\t\t\treturn this._lands\n\t\t}\n\t\t\n\t\tland_init( id: $hyoo_crowd_land ) { }\n\t\t\n\t\tland(\n\t\t\tid: $mol_int62_string,\n\t\t) {\n\t\t\t\n\t\t\tconst exists = this._lands.get( id )\n\t\t\tif( exists ) return exists\n\t\t\t\n\t\t\tconst land = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( id ),\n\t\t\t\tworld: $mol_const( this ),\n\t\t\t})\n\t\t\t\n\t\t\tthis._lands.set( id, land )\n\t\t\tthis.lands_pub.emit()\n\t\t\t\n\t\t\treturn land\n\t\t}\n\t\t\n\t\tland_sync(\n\t\t\tid: $mol_int62_string,\n\t\t) {\n\t\t\tconst land = this.land( id )\n\t\t\tthis.land_init( land )\n\t\t\treturn land\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tFund< Item extends typeof $hyoo_crowd_node >( Item: Item ) {\n\t\t\treturn new $hyoo_crowd_fund( this, Item )\n\t\t}\n\t\t\n\t\thome() {\n\t\t\treturn this.land_sync( this.peer!.id )\n\t\t}\n\t\t\n\t\t_knights = new $mol_dict<\n\t\t\t$mol_int62_string,\n\t\t\t$hyoo_crowd_peer\n\t\t>()\n\t\t\n\t\t_signs = new WeakMap< $hyoo_crowd_unit, Uint8Array >()\n\t\t\n\t\tasync grab(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\t\n\t\t\t// if( !law.length && !mod.length && !add.length ) $mol_fail( new Error( 'Grabbing dead land' ) )\n\t\t\t\n\t\t\tconst knight = await $hyoo_crowd_peer.generate()\n\t\t\tthis._knights.set( knight.id, knight )\n\t\t\t\n\t\t\tconst land_inner = this.land( knight.id )\n\t\t\tconst land_outer = $hyoo_crowd_land.make({\n\t\t\t\tid: $mol_const( knight.id ),\n\t\t\t\tpeer: $mol_const( knight ),\n\t\t\t})\n\t\t\t\n\t\t\tland_outer.join()\n\t\t\tfor( const peer of law ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.law )\n\t\t\tfor( const peer of mod ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.mod )\n\t\t\tfor( const peer of add ) land_outer.level( peer || this.peer!.id, $hyoo_crowd_peer_level.add )\n\t\t\t\n\t\t\tland_inner.apply( land_outer.delta() )\n\t\t\t\n\t\t\treturn land_inner\n\t\t}\n\t\t\n\t\tsign_units( units: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\treturn Promise.all( units.map( async( unit )=> {\n\t\t\t\t\n\t\t\t\tif( unit.bin ) return unit\n\t\t\t\tconst bin = $hyoo_crowd_unit_bin.from_unit( unit )\n\t\t\t\t\n\t\t\t\tlet sign = this._signs.get( unit )\n\t\t\t\tif( !sign ) {\n\t\t\t\t\tconst knight = this._knights.get( unit.auth )!\n\t\t\t\t\tsign = new Uint8Array( await knight.key_private.sign( bin.sens() ) )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tbin.sign( sign )\n\t\t\t\tunit.bin = bin\n\t\t\t\tthis._signs.set( unit, sign )\n\t\t\t\t\n\t\t\t\treturn unit\n\t\t\t\t\n\t\t\t} ) )\n\t\t\t\n\t\t}\n\t\t\n\t\tdelta_land(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\treturn this.sign_units( land.delta( clocks ) )\n\t\t}\n\t\t\n\t\tasync delta_batch(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] as const\n\t\t) {\n\t\t\t\n\t\t\tconst units = await this.delta_land( land, clocks )\n\t\t\t\n\t\t\tlet size = 0\n\t\t\tconst bins = [] as $hyoo_crowd_unit_bin[]\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tconst bin = unit.bin!\n\t\t\t\tbins.push( bin )\n\t\t\t\tsize += bin.byteLength\n\t\t\t}\n\t\t\t\n\t\t\tconst batch = new Uint8Array( size )\n\t\t\t\t\n\t\t\tlet offset = 0\n\t\t\tfor( const bin of bins ) {\n\t\t\t\tbatch.set( new Uint8Array( bin.buffer, bin.byteOffset, bin.byteLength ), offset )\n\t\t\t\toffset += bin.byteLength\n\t\t\t}\n\t\t\t\n\t\t\treturn batch\n\t\t}\n\t\t\t\t\n\t\tasync *delta( clocks = new Map< $mol_int62_string, readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ] >() ) {\n\t\t\tfor( const land of this.lands.values() ) {\n\t\t\t\tconst batch = await this.delta_batch( land, clocks.get( land.id() ) )\n\t\t\t\tif( batch.length ) yield batch\n\t\t\t}\n\t\t}\n\t\t\n\t\tasync merge( donor: $hyoo_crowd_world ) {\n\t\t\tfor await( const batch of donor.delta() ) await this.apply( batch )\n\t\t}\n\t\t\n\t\tasync apply(\n\t\t\tdelta: Uint8Array,\n\t\t) {\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crowd_unit[]\n\t\t\t\n\t\t\tlet bin_offset = 0\n\t\t\twhile( bin_offset < delta.byteLength ) {\n\t\t\t\t\n\t\t\t\tconst buf = new Int16Array( delta.buffer, delta.byteOffset + bin_offset )\n\t\t\t\tconst bin = $hyoo_crowd_unit_bin.from_buffer( buf )\n\t\t\t\t\n\t\t\t\tunits.push( bin.unit() )\n\t\t\t\tbin_offset += bin.size()\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst land = this.land( units[0].land )\n\t\t\tconst report = await this.audit_delta( land, units )\n\t\t\tland.apply( report.allow )\n\t\t\t\n\t\t\treturn report\n\t\t}\n\t\t\n\t\tasync audit_delta(\n\t\t\tland: $hyoo_crowd_land,\n\t\t\tdelta: $hyoo_crowd_unit[],\n\t\t) {\n\t\t\t\n\t\t\tconst all = new Map<\n\t\t\t\t$hyoo_crowd_unit_id,\n\t\t\t\t$hyoo_crowd_unit\n\t\t\t>()\n\t\t\t\n\t\t\tconst desync = 60 * 60 * 10 // 1 hour\n\t\t\tconst deadline = land.clock_data.now() + desync\n\t\t\t\n\t\t\tconst get_unit = ( id: $hyoo_crowd_unit_id )=> {\n\t\t\t\treturn all.get( id ) ?? land._unit_all.get( id )\n\t\t\t}\n\t\t\t\n\t\t\tconst get_level = ( head: $mol_int62_string, self: $mol_int62_string )=> {\n\t\t\t\treturn get_unit( `${ head }!${ self }` )?.level()\n\t\t\t\t\t?? get_unit( `${ head }!0_0` )?.level()\n\t\t\t\t\t?? $hyoo_crowd_peer_level.get\n\t\t\t}\n\t\t\t\n\t\t\tconst check_unit = async( unit: $hyoo_crowd_unit )=> {\n\t\t\t\n\t\t\t\tconst bin = unit.bin!\n\t\t\t\t\t\n\t\t\t\tif( unit.time > deadline ) return 'Far future'\n\t\t\t\t\n\t\t\t\tconst auth_unit = get_unit( `${ unit.auth }!${ unit.auth }` )\n\t\t\t\tconst kind = unit.kind()\n\t\t\t\t\n\t\t\t\tswitch( kind ) {\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.grab:\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.join: {\n\t\t\t\t\t\n\t\t\t\t\t\tconst key_str = auth_unit?.data ?? unit.data\n\t\t\t\t\t\tif( typeof key_str !== 'string' ) return 'No join key'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst self = $mol_int62_hash_string( key_str )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( unit.self !== self ) return 'Alien join key'\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst key = await $mol_crypto_auditor_public.from( key_str )\n\t\t\t\t\t\tconst sign = bin.sign()\n\t\t\t\t\t\tconst valid = await key.verify( bin.sens(), sign )\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( !valid ) return 'Wrong join sign'\n\t\t\t\t\t\t\n\t\t\t\t\t\tall.set( `${ unit.head }!${ unit.auth }`, unit )\n\t\t\t\t\t\tthis._signs.set( unit, sign )\n\n\t\t\t\t\t\treturn ''\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.give: {\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst lord_level = get_level( land.id(), unit.auth )\n\t\t\t\t\t\tif( lord_level < $hyoo_crowd_peer_level.law ) return `Level too low`\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst peer_level = get_level( land.id(), unit.self )\n\t\t\t\t\t\tif( peer_level > unit.level() ) return `Cancel unsupported`\n\t\t\t\t\t\t\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tcase $hyoo_crowd_unit_kind.data: {\n\t\t\t\t\t\n\t\t\t\t\t\tconst level = get_level( land.id(), unit.auth )\n\t\t\t\t\t\tif( level >= $hyoo_crowd_peer_level.mod ) break\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( level === $hyoo_crowd_peer_level.add ) {\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tconst exists = get_unit( `${ unit.head }!${ unit.self }` )\n\t\t\t\t\t\t\tif( !exists ) break\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif( exists.auth === unit.auth ) break\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\treturn `Level too low`\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\tconst key_str = auth_unit?.data\n\t\t\t\tif( typeof key_str !== 'string' ) return 'No auth key'\n\t\t\t\t\n\t\t\t\tconst key = await $mol_crypto_auditor_public.from( key_str )\n\t\t\t\tconst sign = bin.sign()\n\t\t\t\tconst valid = await key.verify( bin.sens(), sign )\n\t\t\t\t\n\t\t\t\tif( !valid ) return 'Wrong auth sign'\n\t\t\t\t\n\t\t\t\tall.set( `${ unit.head }!${ unit.self }`, unit )\n\t\t\t\tthis._signs.set( unit, sign )\n\t\t\t\t\n\t\t\t\treturn ''\n\t\t\t}\n\t\t\t\n\t\t\tconst allow = [] as $hyoo_crowd_unit[]\n\t\t\tconst forbid = new Map< $hyoo_crowd_unit, string >()\n\t\t\t\n\t\t\tconst proceed_unit = async( unit: $hyoo_crowd_unit )=> {\n\t\t\t\t\n\t\t\t\tconst error = await check_unit( unit )\n\t\t\t\t\t\n\t\t\t\tif( error ) forbid.set( unit, error )\n\t\t\t\telse allow.push( unit )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst tasks = [] as Promise[]\n\t\t\tfor( const unit of delta ) {\n\t\t\t\t\n\t\t\t\tconst task = proceed_unit( unit )\n\t\t\t\ttasks.push( task )\n\t\t\t\t\n\t\t\t\tif( unit.group() === $hyoo_crowd_unit_group.auth ) await task\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tawait Promise.all( tasks )\n\t\t\t\n\t\t\treturn { allow, forbid }\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\n\texport function $mol_promise< Result = void >() {\n\t\t\n\t\tlet done!: ( res: Result | PromiseLike< Result > )=> void\n\t\tlet fail!: ( error?: any ) => void\n\t\t\n\t\tconst promise = new Promise< Result >( ( d, f ) => {\n\t\t\tdone = d\n\t\t\tfail = f\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdone,\n\t\t\tfail,\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $mol_wait_timeout_async( this: $, timeout: number ) {\n\t\tconst promise = $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\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 ]: index extends number\n\t\t\t? ReturnType< Tasks[ index ] >\n\t\t\t: 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\texport let $hyoo_sync_masters = [\n\t\t`sync.hyoo.ru`,\n\t\t`crowd.up.railway.app`,\n\t\t`crowd2.up.railway.app`,\n\t]\n}\n","namespace $ {\n\texport class $hyoo_sync_yard< Line > extends $mol_object2 {\n\t\t\n\t\tdb_unit_persisted = new WeakSet< $hyoo_crowd_unit >()\n\t\t\n\t\tlog_pack( data: any ) {\n\t\t\treturn data\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tpeer( next?: string ) {\n\t\t\treturn $mol_wire_sync( $hyoo_sync_peer )( this + '.peer()', next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tworld() {\n\t\t\t$mol_wire_solid()\n\t\t\tconst world = new this.$.$hyoo_crowd_world( this.peer() )\n\t\t\tworld.land_init = land => this.land_init( land )\n\t\t\treturn world\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tland_init( land: $hyoo_crowd_land ) {\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.land_sync( land )\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\tif( !land.grabbed() ) this.$.$mol_wait_timeout( 10_000 )\n\t\t}\n\t\t\n\t\tland( id: $mol_int62_string ) {\n\t\t\treturn this.world().land_sync( id )\n\t\t}\n\t\t\n\t\tland_grab(\n\t\t\tlaw = [''] as readonly ( $mol_int62_string | '' )[],\n\t\t\tmod = [] as readonly ( $mol_int62_string | '' )[],\n\t\t\tadd = [] as readonly ( $mol_int62_string | '' )[],\n\t\t) {\n\t\t\treturn $mol_wire_sync( this.world() ).grab( law, mod, add )\n\t\t}\n\t\t\n\t\thome() {\n\t\t\treturn this.land( this.peer().id )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tland_search( query: string ) {\n\t\t\t\n\t\t\tconst stat = new Map< $mol_int62_string, number >()\n\t\t\t\n\t\t\tfor( const prefix of query.match( /\\p{Letter}{2,}/gu ) ?? [] ) {\n\t\t\t\t\n\t\t\t\tconst caps = prefix.slice( 0, 1 ).toUpperCase() + prefix.slice( 1 )\n\t\t\t\tconst prefs = new Set< string >([\n\t\t\t\t\tcaps, ' ' + caps,\n\t\t\t\t\tprefix, ' ' + prefix,\n\t\t\t\t])\n\t\t\t\t\n\t\t\t\tconst lands = new Set< $mol_int62_string >()\n\t\t\t\t\n\t\t\t\tconst founds = $mol_wire_race(\n\t\t\t\t\t... [ ... prefs ].map(\n\t\t\t\t\t\tpref => ()=> $mol_wire_sync( this as $hyoo_sync_yard< Line > ).db_land_search( pref )\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tfor( const found of founds ) {\n\t\t\t\t\tfor( const land of [ ... found ].reverse() ) lands.add( land )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tfor( const land of lands ) {\n\t\t\t\t\tstat.set( land, ( stat.get( land ) ?? 0 ) + 1 )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\n\t\t\treturn [ ... stat ].sort( ( left, right )=> right[1] - left[1] ).map( pair => pair[0] )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsync() {\n\t\t\t\n\t\t\tthis.server()\n\t\t\t\n\t\t\tfor( const land of this.world().lands.values() ) {\n\t\t\t\tthis.db_land_sync( land )\n\t\t\t}\n\t\t\t\n\t\t\t$mol_wire_race(\n\t\t\t\t... this.slaves().map( line =>\n\t\t\t\t\t()=> this.line_sync( line )\n\t\t\t\t)\n\t\t\t)\n\t\t\t\n\t\t\ttry {\n\t\t\t\tconst master = this.master()\n\t\t\t\tif( master ) $mol_wire_race(\n\t\t\t\t\t... [ ... this.world().lands.values() ].map( land =>\n\t\t\t\t\t\t()=> this.line_land_sync({ line: master, land })\n\t\t\t\t\t)\n\t\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\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tland_sync( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\ttry {\n\t\t\t\tthis.db_land_sync( land )\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\ttry {\n\t\t\t\tconst master = this.master()\n\t\t\t\tif( master ) this.line_land_sync({ line: master, land })\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\ttry {\n\t\t\t\t$mol_wire_race(\n\t\t\t\t\t... this.slaves()\n\t\t\t\t\t\t.filter( line => this.line_lands( line ).includes( land ) )\n\t\t\t\t\t\t.map( line => ()=> this.line_land_sync({ line, land }) )\n\t\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\n\t\t@ $mol_mem_key\n\t\tdb_land_clocks(\n\t\t\tland: $mol_int62_string,\n\t\t\tnext?: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ],\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tdb_land_sync( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\tland.clocks\n\t\t\t\n\t\t\tconst units = [] as $hyoo_crowd_unit[]\n\t\t\tfor( const unit of land._unit_all.values() ) {\n\t\t\t\tif( this.db_unit_persisted.has( unit ) ) continue\n\t\t\t\tunits.push( unit )\n\t\t\t}\n\t\t\tif( !units.length ) return\n\t\t\t\n\t\t\t$mol_wire_sync( this.world() ).sign_units( units )\n\t\t\t$mol_wire_sync( this ).db_land_save( land, units )\n\t\t\t\n\t\t\tfor( const unit of units ) this.db_unit_persisted.add( unit )\n\t\t\t\n\t\t\t// this.$.$mol_log3_rise({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Base Save',\n\t\t\t// \tunits: this.log_pack( units ),\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tdb_land_init( land: $hyoo_crowd_land ) {\n\n\t\t\ttry {\n\t\t\t\tvar units = $mol_wire_sync< $hyoo_sync_yard< Line > >( this ).db_land_load( land )\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif(!( error instanceof Error )) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tland: land.id(),\n\t\t\t\t\tmessage: error.message,\n\t\t\t\t})\n\t\t\t\t\n\t\t\t\tunits = []\n\t\t\t}\n\t\t\t\n\t\t\tfor( const unit of units ) this.db_unit_persisted.add( unit )\n\t\t\t\n\t\t\tunits.sort( $hyoo_crowd_unit_compare )\n\t\t\tland.apply( units )\n\t\t\t\n\t\t\t// this.$.$mol_log3_rise({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Base Load',\n\t\t\t// \tunits: this.log_pack( units ),\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\tasync db_land_load( land: $hyoo_crowd_land ) {\n\t\t\treturn [] as $hyoo_crowd_unit[]\n\t\t}\n\t\tasync db_land_search( from: string | number, to = from ) {\n\t\t\treturn new Set< $mol_int62_string >()\n\t\t}\n\t\tasync db_land_save( land: $hyoo_crowd_land, units: readonly $hyoo_crowd_unit[] ) { }\n\t\t\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\tmaster_list() {\n\t\t\treturn this.$.$hyoo_sync_masters\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_link() {\n\t\t\tconst scheme = this.$.$mol_dom_context.document.location.protocol.replace( /^http/ , 'ws' )\n\t\t\tconst host = this.master_list()[ this.master_cursor() ]\n\t\t\treturn `${scheme}//${host}`\n\t\t}\n\t\t\n\t\tmaster() {\n\t\t\treturn null as Line | null as any\n\t\t}\n\t\n\t\tserver() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t\n\t\t@ $mol_mem\n\t\tslaves( next = [] as readonly Line[] ) {\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tline_lands( line: Line, next = [] as $hyoo_crowd_land[] ) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_land_clocks(\n\t\t\t{ line, land }: {\n\t\t\t\tline: Line,\n\t\t\t\tland: $hyoo_crowd_land,\n\t\t\t},\n\t\t\tnext?: readonly[ $hyoo_crowd_clock, $hyoo_crowd_clock ]\n\t\t) {\n\t\t\t$mol_wire_solid()\n\t\t\t\n\t\t\t// try{\n\t\t\t// \tthis.master()\n\t\t\t// } catch( error ) {\n\t\t\t// \t$mol_fail_log( error )\n\t\t\t// }\n\n\t\t\treturn next\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_sync( line: Line ) {\n\t\t\t\n\t\t\t$mol_wire_race(\n\t\t\t\t... this.line_lands( line ).map( land =>\n\t\t\t\t\t()=> this.line_land_sync({ line, land })\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\tline_land_sync( { line, land }: {\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t} ) {\n\t\t\t\n\t\t\tthis.line_land_init({ line, land })\n\t\t\t\n\t\t\tlet clocks = this.line_land_clocks({ line, land })\n\t\t\tif( !clocks ) return\n\t\t\t\n\t\t\tconst units = land.delta( clocks )\n\t\t\tif( !units.length ) return\n\t\t\t\n\t\t\tthis.line_send_units( line, units )\n\t\t\t\n\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\tplace: this,\n\t\t\t\tland: land.id(),\n\t\t\t\tmessage: 'Sync Sent',\n\t\t\t\tline: $mol_key( line ),\n\t\t\t\tunits: this.log_pack( units ),\n\t\t\t})\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tclocks[ unit.group() ].see_peer( unit.auth, unit.time )\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tline_land_init( { line, land }: {\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t} ) {\n\t\t\t\n\t\t\tthis.db_land_init( land )\n\t\t\t\n\t\t\t// const lands = this.line_land_clocks({ line, land })\n\t\t\t// if( lands ) return\n\t\t\t\n\t\t\tthis.line_send_clocks( line, land )\n\t\t\t\n\t\t\t// this.$.$mol_log3_come({\n\t\t\t// \tplace: this,\n\t\t\t// \tland: land.id(),\n\t\t\t// \tmessage: 'Sync Open',\n\t\t\t// \tline: $mol_key( line ),\n\t\t\t// \tclocks: land._clocks,\n\t\t\t// })\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tline_land_neck(\n\t\t\t{ line, land }: {\n\t\t\t\tline: Line,\n\t\t\t\tland: $mol_int62_string,\n\t\t\t},\n\t\t\tnext = [] as Promise[],\n\t\t) {\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tasync line_receive( line: Line, message: Uint8Array ) {\n\t\t\t\n\t\t\tif( !message.byteLength ) return\n\t\t\tconst view = new DataView( message.buffer, message.byteOffset, message.byteLength )\n\t\t\tconst int0 = view.getInt32( 0, true )\n\t\t\tconst int1 = view.getInt32( 4, true )\n\t\t\t\n\t\t\tconst land_id = $mol_int62_to_string({\n\t\t\t\tlo: int0 << 1 >> 1,\n\t\t\t\thi: int1 << 1 >> 1,\n\t\t\t})\n\t\t\t\n\t\t\tconst handle = async( prev?: Promise )=> {\n\t\t\t\t\n\t\t\t\tif( prev ) await prev\n\t\t\t\t\n\t\t\t\tconst world = this.world()\n\t\t\t\tconst land = await $mol_wire_async( world ).land( land_id )\n\t\t\t\t\n\t\t\t\tlet clocks = this.line_land_clocks({ line, land })!\n\t\t\t\tif( !clocks ) this.line_land_clocks(\n\t\t\t\t\t{ line, land },\n\t\t\t\t\tclocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ],\n\t\t\t\t)\n\t\t\t\t\n\t\t\t\tif( int0 << 1 >> 1 ^ int0 ) {\n\t\t\t\t\t\n\t\t\t\t\tconst bin = new $hyoo_crowd_clock_bin( message.buffer, message.byteOffset, message.byteLength )\n\t\t\t\t\t\n\t\t\t\t\tfor( let group = 0; group < clocks.length; ++group ) {\n\t\t\t\t\t\tclocks[ group ].see_bin( bin, group )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tif( bin.count() + land.delta( clocks ).length < land._unit_all.size ) {\n\t\t\t\t\t\tthis.line_land_clocks( { line, land }, clocks = [ new $hyoo_crowd_clock, new $hyoo_crowd_clock ] )\n\t\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\t\tconst lands = this.line_lands( line )\n\t\t\t\t\tif( lands.includes( land ) ) {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.$.$mol_log3_warn({\n\t\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\t\tland: land.id(),\n\t\t\t\t\t\t\tmessage: 'Already syncing',\n\t\t\t\t\t\t\thint: 'Bug at $hyoo_sync_yard',\n\t\t\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\t\t\tclocks,\n\t\t\t\t\t\t})\n\t\t\t\t\t\t\n\t\t\t\t\t} else {\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.line_lands( line, [ ... lands, land ] )\n\t\t\t\t\t\t\n\t\t\t\t\t\t// this.$.$mol_log3_done({\n\t\t\t\t\t\t// \tplace: this,\n\t\t\t\t\t\t// \tland: land.id(),\n\t\t\t\t\t\t// \tmessage: 'Sync Pair',\n\t\t\t\t\t\t// \tline: $mol_key( line ),\n\t\t\t\t\t\t// \tclocks,\n\t\t\t\t\t\t// })\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\n\t\t\t\t}\n\t\t\t\n\t\t\t\tconst { allow, forbid } = await world.apply( message )\n\t\t\t\t\n\t\t\t\tfor( const [ { bin, ... unit }, error ] of forbid ) {\n\t\t\t\t\t\n\t\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\tland: land.id(),\n\t\t\t\t\t\tmessage: error,\n\t\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\t\tunit,\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( !allow.length ) return\n\t\t\t\t\n\t\t\t\tfor( const unit of allow ) {\n\t\t\t\t\tclocks[ unit.group() ].see_peer( unit.auth, unit.time )\n\t\t\t\t}\n\t\t\t\t\t\n\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\tplace: this,\n\t\t\t\t\tland: land.id(),\n\t\t\t\t\tmessage: 'Sync Gain',\n\t\t\t\t\tline: $mol_key( line ),\n\t\t\t\t\tunits: this.log_pack( allow ),\n\t\t\t\t})\n\t\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.line_land_neck(\n\t\t\t\t{ line, land: land_id },\n\t\t\t\t[\n\t\t\t\t\thandle( this.line_land_neck({ line, land: land_id })[0] )\n\t\t\t\t\t\t.catch( error => {\n\t\t\t\t\t\t\tthis.$.$mol_log3_fail({\n\t\t\t\t\t\t\t\tplace: this,\n\t\t\t\t\t\t\t\tland: land_id,\n\t\t\t\t\t\t\t\tmessage: String( error?.message ?? error ),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t} )\n\t\t\t\t],\n\t\t\t)\n\n\t\t} \n\t\t\n\t\tline_send_clocks(\n\t\t\tline: Line,\n\t\t\tland: $hyoo_crowd_land,\n\t\t) {}\n\t\t\n\t\tasync line_send_units(\n\t\t\tline: Line,\n\t\t\tunits: readonly $hyoo_crowd_unit[],\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}\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/**\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 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",null,"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",null,"namespace $ {\n\n $mol_dom_context.indexedDB = $node[ 'fake-indexeddb' ].indexedDB\n $mol_dom_context.IDBCursor = $node[ 'fake-indexeddb' ].IDBCursor\n $mol_dom_context.IDBCursorWithValue = $node[ 'fake-indexeddb' ].IDBCursorWithValue\n $mol_dom_context.IDBDatabase = $node[ 'fake-indexeddb' ].IDBDatabase\n $mol_dom_context.IDBFactory = $node[ 'fake-indexeddb' ].IDBFactory\n $mol_dom_context.IDBIndex = $node[ 'fake-indexeddb' ].IDBIndex\n $mol_dom_context.IDBKeyRange = $node[ 'fake-indexeddb' ].IDBKeyRange\n $mol_dom_context.IDBObjectStore = $node[ 'fake-indexeddb' ].IDBObjectStore\n $mol_dom_context.IDBOpenDBRequest = $node[ 'fake-indexeddb' ].IDBOpenDBRequest\n $mol_dom_context.IDBRequest = $node[ 'fake-indexeddb' ].IDBRequest\n $mol_dom_context.IDBTransaction = $node[ 'fake-indexeddb' ].IDBTransaction\n $mol_dom_context.IDBVersionChangeEvent = $node[ 'fake-indexeddb' ].IDBVersionChangeEvent\n\n}\n",null,"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' )\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' )\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 )=> new $mol_db_store( this.native.objectStore( name ) ),\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\t\n\texport class $hyoo_sync_client extends $hyoo_sync_yard< WebSocket | Window > {\n\t\t\n\t\t@ $mol_memo.method\n\t\tasync db() {\n\t\t\t\n\t\t\ttype Scheme = {\n\t\t\t\tUnit: {\n\t\t\t\t\t// land, head, self\n\t\t\t\t\tKey: [ $mol_int62_string, $mol_int62_string, $mol_int62_string ]\n\t\t\t\t\tDoc: $hyoo_crowd_unit\n\t\t\t\t\tIndexes: {\n\t\t\t\t\t\t// land\n\t\t\t\t\t\tLand: [ $mol_int62_string ]\n\t\t\t\t\t\t// data\n\t\t\t\t\t\tData: [ $mol_int62_string ]\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\tconst db1 = await this.$.$mol_db< Scheme >( '$hyoo_sync_client_db' )\n\t\t\tawait db1.kill()\n\t\t\t\n\t\t\treturn await this.$.$mol_db< Scheme >( '$hyoo_sync_client_db2',\n\t\t\t\tmig => mig.store_make( 'Unit' ),\n\t\t\t\tmig => mig.stores.Unit.index_make( 'Land', [ 'land' ] ),\n\t\t\t\tmig => mig.stores.Unit.index_make( 'Data', [ 'data' ] ),\n\t\t\t)\n\t\t\t\n\t\t}\n\t\t\n\t\tasync db_land_load( land: $hyoo_crowd_land ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\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\t\n\t\t\tconst Unit = db.read( 'Unit' ).Unit\n\t\t\t\n\t\t\tconst recs = await Unit.indexes.Land.select([ land.id() ])\n\t\t\tif( !recs ) return []\n\t\t\t\n\t\t\tconst units = recs.map( rec => new $hyoo_crowd_unit(\n\t\t\t\trec.land, rec.auth,\n\t\t\t\trec.head, rec.self,\n\t\t\t\trec.next, rec.prev,\n\t\t\t\trec.time, rec.data,\n\t\t\t\tnew $hyoo_crowd_unit_bin( rec.bin!.buffer ),\n\t\t\t) )\n\t\t\t\n\t\t\treturn units\n\t\t}\n\t\t\n\t\tasync db_land_search( from: string, to = from + '\\uFFFF' ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\n\t\t\t} catch( error ) {\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn new Set< $mol_int62_string >()\n\t\t\t}\n\t\t\t\n\t\t\tconst Unit = db.read( 'Unit' ).Unit\n\t\t\tconst query = IDBKeyRange.bound( [ from ], [ to ] )\n\t\t\tconst recs = await Unit.indexes.Data.select( query )\n\n\t\t\treturn new Set< $mol_int62_string >( recs.map( rec => rec.land ) )\n\t\t}\n\t\t\n\t\tasync db_land_save( land: $hyoo_crowd_land, units: readonly $hyoo_crowd_unit[] ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\tvar db = await this.db()\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\t\n\t\t\tconst trans = db.change( 'Unit' )\n\t\t\tconst Unit = trans.stores.Unit\n\t\t\t\n\t\t\tfor( const unit of units ) {\n\t\t\t\tUnit.put( unit, [ unit.land, unit.head, unit.self ] )\n\t\t\t}\n\t\t\t\n\t\t\tawait trans.commit()\n\t\t}\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_link()\n\t\t\tconst line = new $mol_dom_context.WebSocket( link, [ '$hyoo_sync_protocol_1' ] )\n\t\t\tline.binaryType = 'arraybuffer'\n\t\t\t\n\t\t\tline.onmessage = async( event )=> {\n\t\t\t\t\n\t\t\t\tif( event.data instanceof ArrayBuffer ) {\n\t\t\t\t\tawait this.line_receive( line, 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({\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\tline.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( line, {\n\t\t\t\tdestructor: ()=> {\n\t\t\t\t\tline.onclose = ()=> {}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tline.close()\n\t\t\t\t}\n\t\t\t} )\n\t\t\t\n\t\t\treturn new Promise< typeof line >( ( done, fail )=> {\n\t\t\t\t\n\t\t\t\tline.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 to Master',\n\t\t\t\t\t\tline: $mol_key( line ),\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( ()=> line.send( new Uint8Array ), 30000 )\n\t\t\n\t\t\t\t\tdone( line )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tline.onerror = ()=> {\n\t\t\t\t\tline.onclose = event => {\n\t\t\t\t\t\tfail( new Error( `Master is unavailable (${ event.code })` ) )\n\t\t\t\t\t}\n\t\t\t\t\tclearInterval( interval )\n\t\t\t\t\tthis.master_cursor( ( this.master_cursor() + 1 ) % this.$.$hyoo_sync_masters.length )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} ) as any as WebSocket\n\t\t\t\n\t\t}\n\t\t\n\t\t// @ $mol_mem\n\t\t// server() {\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( ( event: MessageEvent<[ string, $mol_int62_string, readonly $hyoo_crowd_unit[] ]> )=> {\n\t\t\t\t\t\n\t\t// \t\t\tif( !event ) return\n\t\t// \t\t\tif( !Array.isArray( event.data ) ) return\n\t\t\t\t\t\n\t\t// \t\t\tswitch( event.data[0] ) {\n\t\t// \t\t\t\tcase 'hyoo_sync_units': {\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tconst [, land_id, units ] = event.data\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tconst line = event.source! as Window\n\t\t// \t\t\t\t\tconst land = this.land( land_id )\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tland.apply( units )\n\t\t\t\t\t\t\t\n\t\t// \t\t\t\t\tthis.slaves([ ... new Set([ ... this.slaves(), line ]) ])\n\t\t// \t\t\t\t\tthis.line_lands( line, [ ... new Set([ ... this.line_lands( line ), land ]) ] )\n\t\t// \t\t\t\t\tthis.line_land_clocks({ line, land })\n\t\t// \t\t\t\t\tline.postMessage([ 'hyoo_sync_units', land.id(), [] ])\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\t\n\t\t// \t\t} )\n\t\t// \t)\n\t\t// }\n\t\t\n\t\tline_send_clocks(\n\t\t\tline: WebSocket | Window,\n\t\t\tland: $hyoo_crowd_land,\n\t\t) {\n\t\t\t\n\t\t\tif( line instanceof WebSocket ) {\n\t\t\t\tline.send( land.clocks_bin )\n\t\t\t} else {\n\t\t\t\tline.postMessage([ 'hyoo_sync_clocks', land.id(), land._clocks ])\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\tasync line_send_units(\n\t\t\tline: WebSocket | Window,\n\t\t\tunits: readonly $hyoo_crowd_unit[],\n\t\t) {\n\t\t\t\n\t\t\tif( line instanceof WebSocket ) {\n\t\t\t\t\n\t\t\t\tawait this.world().sign_units( units )\n\t\t\t\tconst message = new Blob( units.map( unit => unit.bin! ) ) \n\t\t\t\tline.send( message )\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tline.postMessage([ 'hyoo_sync_units', units[0].land, units ])\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\texport class $mol_stack extends $mol_view {\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_paragraph extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_height 24\n\t\t * ```\n\t\t */\n\t\tline_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * letter_width 7\n\t\t * ```\n\t\t */\n\t\tletter_width() {\n\t\t\treturn 7\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * width_limit +Infinity\n\t\t * ```\n\t\t */\n\t\twidth_limit() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_width 0\n\t\t * ```\n\t\t */\n\t\trow_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_dimmer extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * haystack \\\n\t\t * ```\n\t\t */\n\t\thaystack() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= parts\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.parts()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Low* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLow(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * High* $mol_paragraph sub / <= string*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHigh(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.string(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * parts /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tparts() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * string* \\\n\t\t * ```\n\t\t */\n\t\tstring(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n",null,null,null,null,"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): IterableIterator< 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) }","namespace $ {\n\texport class $mol_text_code_token extends $mol_dimmer {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_code_token_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_code_token_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_code_token_link extends $mol_text_code_token {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\code-link\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"code-link\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri\n\t\t * \ttarget \\_blank\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri(),\n\t\t\t\ttarget: \"_blank\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_text_code_row extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 24\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 24\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * numb_showed true\n\t\t * ```\n\t\t */\n\t\tnumb_showed() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * syntax null\n\t\t * ```\n\t\t */\n\t\tsyntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Numb $mol_view sub / <= numb\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNumb() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.numb()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Token* $mol_text_code_token\n\t\t * \ttype <= token_type*\n\t\t * \thaystack <= token_text*\n\t\t * \tneedle <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tToken(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_token()\n\t\t\t\n\t\t\tobj.type = () => this.token_type(id)\n\t\t\tobj.haystack = () => this.token_text(id)\n\t\t\tobj.needle = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Token_link* $mol_text_code_token_link\n\t\t * \thaystack <= token_text*\n\t\t * \tneedle <= highlight\n\t\t * \turi <= token_uri*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tToken_link(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_token_link()\n\t\t\t\n\t\t\tobj.haystack = () => this.token_text(id)\n\t\t\tobj.needle = () => this.highlight()\n\t\t\tobj.uri = () => this.token_uri(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * find_pos* null\n\t\t * ```\n\t\t */\n\t\tfind_pos(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * numb 0\n\t\t * ```\n\t\t */\n\t\tnumb() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_type* \\\n\t\t * ```\n\t\t */\n\t\ttoken_type(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_text* \\\n\t\t * ```\n\t\t */\n\t\ttoken_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * token_uri* \\\n\t\t * ```\n\t\t */\n\t\ttoken_uri(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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 , [] , 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'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]*\\n)/ ,\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|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_row extends $.$mol_text_code_row {\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_row, {\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\n\t} )\n\t\n}\n","namespace $ {\n\texport class $mol_list extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only true\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_over 0\n\t\t * ```\n\t\t */\n\t\trender_over() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= rows\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.rows()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Empty $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEmpty() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_before $mol_view style * paddingTop <= gap_before\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_before() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_before()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Gap_after $mol_view style * paddingTop <= gap_after\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tGap_after() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.style = () => ({\n\t\t\t\tpaddingTop: this.gap_after()\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_window /\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\tview_window() {\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_before 0\n\t\t * ```\n\t\t */\n\t\tgap_before() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gap_after 0\n\t\t * ```\n\t\t */\n\t\tgap_after() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\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 = (\n\t\t\t\t!/Gecko\\//.test( navigator.userAgent ) // FF doesn't anchow while scroll animates\n\t\t\t\t&& this.$mol_dom_context.CSS?.supports( 'overflow-anchor:auto' )\n\t\t\t) ?? false\n\t\t)\n\t}\n\n}\n","namespace $ {\n\texport let $mol_mem_cached = $mol_wire_probe\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\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 = kids[ min ].minimal_height()\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\n\t\t\t// force recalc min when overlapse top limit\n\t\t\tif( anchoring && ( top <= limit_top ) && ( bottom2 < limit_bottom ) ) {\n\t\t\t\tmin2 = Math.max( 0, max - 1 )\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 ) && ( top2 >= limit_top ) ) {\n\t\t\t\tmax2 = Math.min( min + 1, kids.length )\n\t\t\t\tbottom2 = top\n\t\t\t}\n\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 += kids[ max2 ].minimal_height()\n\t\t\t\t++ max2\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 -= kids[ min2 ].minimal_height()\n\t\t\t}\n\n\t\t\treturn [ min2 , max2 ]\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_before() {\n\t\t\tconst skipped = this.sub().slice( 0 , this.view_window()[0] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tgap_after() {\n\t\t\tconst skipped = this.sub().slice( this.view_window()[1] )\n\t\t\treturn Math.max( 0 , skipped.reduce( ( sum , view )=> sum + view.minimal_height() , 0 ) )\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\n\t\t\treturn this.sub().reduce( ( sum , view )=> {\n\n\t\t\t\ttry {\n\t\t\t\t\treturn sum + view.minimal_height() \n\t\t\t\t} catch( error: any ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\treturn sum\n\t\t\t\t}\n\n\t\t\t} , 0 )\n\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: .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) }","namespace $ {\n\texport class $mol_speck extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\1em\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"1em\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= value\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.value()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\$mol_theme_accent\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"$mol_theme_accent\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value null\n\t\t * ```\n\t\t */\n\t\tvalue() {\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\tconst { vary } = $mol_style_func\n\t/**\n\t * Z-index values for layers\n\t * https://page.hyoo.ru/#!=xthcpx_wqmiba\n\t */\n\texport let $mol_layer = {\n\t\thover: vary( '--mol_layer_hover' ),\n\t\tfocus: vary( '--mol_layer_focus' ),\n\t\tspeck: vary( '--mol_layer_speck' ),\n\t\tfloat: vary( '--mol_layer_float' ),\n\t\tpopup: vary( '--mol_layer_popup' ),\n\t} as const\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 $ { $mol_style_attach( \"mol/speck/speck.view.css\",\n \"[mol_speck] {\\n\\tfont-size: .625rem;\\n\\tborder-radius: 1rem;\\n\\tmargin: -0.5rem -0.25rem;\\n\\talign-self: flex-start;\\n\\tmin-height: 1em;\\n\\tmin-width: .5em;\\n\\tvertical-align: sub;\\n\\tpadding: .25em .5em;\\n\\tposition: absolute;\\n\\tz-index: var(--mol_layer_speck);\\n\\ttext-align: center;\\n\\tline-height: 1;\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\n\\ttext-overflow: ellipsis;\\n\\tuser-select: none;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_button extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> event_activate?event\n\t\t * \tdblclick?event <=> clicks?event\n\t\t * \tkeydown?event <=> event_key_press?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.event_activate(event),\n\t\t\t\tdblclick: (event?: any) => this.clicks(event),\n\t\t\t\tkeydown: (event?: any) => this.event_key_press(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \trole \\button\n\t\t * \ttabindex <= tab_index\n\t\t * \ttitle <= hint_safe\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\trole: \"button\",\n\t\t\t\ttabindex: this.tab_index(),\n\t\t\t\ttitle: this.hint_safe()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Speck $mol_speck value <= error\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSpeck() {\n\t\t\tconst obj = new this.$.$mol_speck()\n\t\t\t\n\t\t\tobj.value = () => this.error()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_activate?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_activate(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clicks?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclicks(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key_press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key_press(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tab_index 0\n\t\t * ```\n\t\t */\n\t\ttab_index() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * error \\\n\t\t * ```\n\t\t */\n\t\terror() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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\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\tthis.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}\\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) }","namespace $ {\n\texport class $mol_button_typed extends $mol_button {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n}\n\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 {\\n\\tbackground-color: var(--mol_theme_hover);\\n}\\n\\n[mol_button_typed]:active {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n\"\n) }","namespace $ {\n\texport class $mol_button_minor extends $mol_button_typed {\n\t}\n\t\n}\n\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) }","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","namespace $ {\n\texport class $mol_svg extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name_space \\http://www.w3.org/2000/svg\n\t\t * ```\n\t\t */\n\t\tdom_name_space() {\n\t\t\treturn \"http://www.w3.org/2000/svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_size 16\n\t\t * ```\n\t\t */\n\t\tfont_size() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * font_family \\\n\t\t * ```\n\t\t */\n\t\tfont_family() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style_size *\n\t\t * ```\n\t\t */\n\t\tstyle_size() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_svg_root extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\svg\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"svg\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tviewBox <= view_box\n\t\t * \tpreserveAspectRatio <= aspect\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tviewBox: this.view_box(),\n\t\t\t\tpreserveAspectRatio: this.aspect()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 100 100\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 100 100\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aspect \\xMidYMid\n\t\t * ```\n\t\t */\n\t\taspect() {\n\t\t\treturn \"xMidYMid\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/svg/root/root.view.css\",\n \"[mol_svg_root] {\\n\\toverflow: hidden;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_svg_path extends $mol_svg {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\path\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"path\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \td <= geometry\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\td: this.geometry()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * geometry \\\n\t\t * ```\n\t\t */\n\t\tgeometry() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon extends $mol_svg_root {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Path\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Path()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Path $mol_svg_path geometry <= path\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPath() {\n\t\t\tconst obj = new this.$.$mol_svg_path()\n\t\t\t\n\t\t\tobj.geometry = () => this.path()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_icon_clipboard extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_clipboard_outline extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3M7,7H17V5H19V19H5V5H7V7Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,3H14.82C14.4,1.84 13.3,1 12,1C10.7,1 9.6,1.84 9.18,3H5C3.9,3 3,3.9 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.9 20.1,3 19,3M12,3C12.55,3 13,3.45 13,4C13,4.55 12.55,5 12,5C11.45,5 11,4.55 11,4C11,3.45 11.45,3 12,3M7,7H17V5H19V19H5V5H7V7Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_copy extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * blobs /$mol_blob\n\t\t * \t<= text_blob?\n\t\t * \t<= html_blob?\n\t\t * ```\n\t\t */\n\t\tblobs() {\n\t\t\treturn [\n\t\t\t\tthis.text_blob(),\n\t\t\t\tthis.html_blob()\n\t\t\t] as readonly $mol_blob[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * data *\n\t\t * ```\n\t\t */\n\t\tdata() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text <= title\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn this.title()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_blob? $mol_blob /\n\t\t * \t/BlobPart <= text\n\t\t * \t* type \\text/plain\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttext_blob(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\tconst obj = new this.$.$mol_blob(\n\t\t\t\t[\n\t\t\t\t\tthis.text()\n\t\t\t\t] as readonly BlobPart[],\n\t\t\t\t{\n\t\t\t\t\ttype: \"text/plain\"\n\t\t\t\t} as Record< string, any >\n\t\t\t)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html \\\n\t\t * ```\n\t\t */\n\t\thtml() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html_blob? $mol_blob /\n\t\t * \t/BlobPart <= html\n\t\t * \t* type \\text/html\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thtml_blob(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\tconst obj = new this.$.$mol_blob(\n\t\t\t\t[\n\t\t\t\t\tthis.html()\n\t\t\t\t] as readonly BlobPart[],\n\t\t\t\t{\n\t\t\t\t\ttype: \"text/html\"\n\t\t\t\t} as Record< string, any >\n\t\t\t)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_clipboard_outline\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_clipboard_outline()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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\tcb.write( this.attachments() )\n\t\t}\n\n\t}\n\t\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_not_found extends Error {}\n\n\texport abstract class $mol_file extends $mol_object {\n\t\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ): $mol_file {\n\t\t\tthrow new Error( 'Not implemented yet' )\n\t\t}\n\n\t\tstatic relative( path : string ) : $mol_file {\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\tabstract stat( next? : $mol_file_stat | null, virt?: 'virt' ): $mol_file_stat | null\n\n\t\treset(): void {\n\t\t\ttry {\n\t\t\t\tthis.stat( null )\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error instanceof $mol_file_not_found) return\n\t\t\t\treturn $mol_fail_hidden(error)\n\t\t\t}\n\t\t}\n\t\t\n\t\tversion() {\n\t\t\treturn this.stat()?.mtime.getTime().toString( 36 ).toUpperCase() ?? ''\n\t\t}\n\n\t\tabstract ensure(): void\n\n\t\twatcher() {\n\t\t\tconsole.warn('$mol_file_web.watcher() not implemented')\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\tlet exists = Boolean( this.stat() )\n\n\t\t\tif( next === undefined ) return exists\n\t\t\tif( next === exists ) return exists\n\n\t\t\tif( next ) this.parent().exists( true )\n\t\t\tthis.ensure()\n\t\t\tthis.reset()\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\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\tabstract buffer( next? : Uint8Array ): Uint8Array\n\n\t\t@ $mol_mem\n\t\ttext(next?: string, virt?: 'virt') {\n\t\t\tif( virt ) {\n\t\t\t\tconst now = new Date\n\t\t\t\tthis.stat( {\n\t\t\t\t\ttype: 'file',\n\t\t\t\t\tsize: 0,\n\t\t\t\t\tatime: now,\n\t\t\t\t\tmtime: now,\n\t\t\t\t\tctime: now,\t\t\t\n\t\t\t\t}, 'virt' )\n\t\t\t\treturn next!\n\t\t\t}\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn $mol_charset_decode( this.buffer( undefined ) )\t\n\t\t\t} else {\n\t\t\t\tconst buffer = next === undefined ? undefined : $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\tabstract sub(): $mol_file[]\n\n\t\tabstract resolve(path: string): $mol_file\n\n\t\tabstract relate( base?: $mol_file ): string\n\t\t\n\t\tabstract append( next : Uint8Array | string ): void\n\t\t\n\t\tfind(\n\t\t\tinclude? : RegExp ,\n\t\t\texclude? : RegExp\n\t\t) {\n\t\t\tconst found = [] as $mol_file[]\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\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}\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\tfunction stat_convert(stat: ReturnType): null | $mol_file_stat {\n\t\t\n\t\tif( !stat ) return null\n\t\t\n\t\tlet type: $mol_file_type | undefined\n\t\tif (stat.isDirectory()) type = 'dir'\n\t\tif (stat.isFile()) type = 'file'\n\t\tif (stat.isSymbolicLink()) type = 'link'\n\n\t\tif (! type) return $mol_fail( new Error(`Unsupported file type`) )\n\n\t\treturn {\n\t\t\ttype, \n\t\t\tsize: Number(stat.size),\n\t\t\tatime: stat.atime,\n\t\t\tmtime: stat.mtime,\n\t\t\tctime: stat.ctime\n\t\t}\n\t}\n\n\tfunction buffer_normalize(buf: Buffer): Uint8Array {\n\t\treturn new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength)\n\t}\n\n\texport class $mol_file_node extends $mol_file {\n\t\t\n\t\t@ $mol_mem_key\n\t\tstatic absolute( path : string ) {\n\t\t\treturn this.make({\n\t\t\t\tpath : $mol_const( path )\n\t\t\t})\n\t\t}\n\n\t\tstatic relative( path : string ) {\n\t\t\treturn this.absolute( $node.path.resolve( this.base, path ).replace( /\\\\/g , '/' ) )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\twatcher() {\n\n\t\t\tconst watcher = $node.chokidar.watch( this.path() , {\n\t\t\t\tpersistent : true ,\n\t\t\t\tignored : /(^\\.|___$)/ ,\n\t\t\t\tdepth : 0 ,\n\t\t\t\tignoreInitial : true ,\n\t\t\t\tawaitWriteFinish: {\n\t\t\t\t\tstabilityThreshold: 100,\n\t\t\t\t},\n\t\t\t} )\n\n\t\t\twatcher\n\t\t\t.on( 'all' , ( type , path )=> {\n\t\t\t\t\n\t\t\t\tconst file = $mol_file.relative( path.replace( /\\\\/g , '/' ) )\n\n\t\t\t\tfile.reset()\n\t\t\t\t\n\t\t\t\tif( type === 'change' ) {\n\t\t\t\t\tthis.stat( null )\n\t\t\t\t} else {\n\t\t\t\t\tfile.parent().reset()\n\t\t\t\t}\n\n\t\t\t} )\n\t\t\t.on( 'error' , $mol_fail_log )\n\t\t\t\n\t\t\treturn {\n\t\t\t\tdestructor() {\n\t\t\t\t\twatcher.close()\n\t\t\t\t}\n\t\t\t}\n\n\t\t}\n\n\t\t@ $mol_mem\n\t\tstat( next? : $mol_file_stat | null, virt?: 'virt' ) {\n\t\t\t\n\t\t\tlet stat = next\n\t\t\tconst path = this.path()\n\n\t\t\tthis.parent().watcher()\n\t\t\t\n\t\t\tif( virt ) return next!\n\t\t\t\n\t\t\ttry {\n\t\t\t\tstat = next ?? stat_convert($node.fs.statSync( path, { throwIfNoEntry: false } ))\n\t\t\t} catch( error: any ) {\n\t\t\t\tif (error.code === 'ENOENT') error = new $mol_file_not_found(`File not found`)\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(error)\n\t\t\t}\n\n\t\t\treturn stat\n\t\t}\n\n\t\t@ $mol_mem\n\t\tensure() {\n\t\t\tconst path = this.path()\n\n\t\t\ttry {\n\t\t\t\t$node.fs.mkdirSync( path )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\tthis.$.$mol_fail_hidden(e)\n\t\t\t}\n\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tbuffer( next? : Uint8Array ) {\n\n\t\t\tconst path = this.path()\n\t\t\tif( next === undefined ) {\n\n\t\t\t\tif( !this.stat() ) return new Uint8Array\n\t\t\t\t\n\t\t\t\ttry {\n\n\t\t\t\t\tconst prev = $mol_mem_cached( ()=> this.buffer() )\n\t\t\t\t\t\n\t\t\t\t\tnext = buffer_normalize( $node.fs.readFileSync( path ) )\n\n\t\t\t\t\tif( prev !== undefined && !$mol_compare_array( prev, next ) ) {\n\t\t\t\t\t\tthis.$.$mol_log3_rise({\n\t\t\t\t\t\t\tplace: `$mol_file_node..buffer()`,\n\t\t\t\t\t\t\tmessage: 'Changed' ,\n\t\t\t\t\t\t\tpath: this.relate() ,\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\n\t\t\t\t\treturn next\n\n\t\t\t\t} catch( error: any ) {\n\n\t\t\t\t\terror.message += '\\n' + path\n\t\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tthis.parent().exists( true )\n\t\t\t\n\t\t\tconst now = new Date\n\t\t\tthis.stat( {\n\t\t\t\ttype: 'file',\n\t\t\t\tsize: next.length,\n\t\t\t\tatime: now,\n\t\t\t\tmtime: now,\n\t\t\t\tctime: now,\n\t\t\t}, 'virt' )\n\n\t\t\ttry {\n\n\t\t\t\t$node.fs.writeFileSync( path, next )\n\n\t\t\t} catch( error: any ) {\n\n\t\t\t\terror.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden( error )\n\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\n\t\t}\n\t\t@ $mol_mem\n\t\tsub() : $mol_file[] {\n\t\t\tif (! this.exists() ) return []\n\t\t\tif ( this.type() !== 'dir') return []\n\n\t\t\tconst path = this.path()\n\t\t\tthis.stat()\n\n\t\t\ttry {\n\t\t\t\treturn $node.fs.readdirSync( path )\n\t\t\t\t\t.filter( name => !/^\\.+$/.test( name ) )\n\t\t\t\t\t.map( name => this.resolve( name ) )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\n\t\t\n\t\tresolve( path : string ) {\n\t\t\treturn ( this.constructor as typeof $mol_file ).relative( $node.path.join( this.path() , path ) )\n\t\t}\n\t\t\n\t\trelate( base = ( this.constructor as typeof $mol_file ).relative( '.' )) {\n\t\t\treturn $node.path.relative( base.path() , this.path() ).replace( /\\\\/g , '/' )\n\t\t}\n\t\t\n\t\tappend( next : Uint8Array | string ) {\n\t\t\tconst path = this.path()\n\t\t\ttry {\n\t\t\t\t$node.fs.appendFileSync( path , next )\n\t\t\t} catch( e: any ) {\n\t\t\t\te.message += '\\n' + path\n\t\t\t\treturn this.$.$mol_fail_hidden(e)\n\t\t\t}\n\t\t}\t\t\n\t}\n\n\t$.$mol_file = $mol_file_node\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\t@ $mol_action\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 native = globalThis.fetch ?? $node['undici'].fetch\n\t\t\t\n\t\t\tconst controller = new AbortController()\n\t\t\tlet done = false\n\t\t\t\n\t\t\tconst promise = native( 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() )\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}\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\t\n\texport function $mol_huggingface_run(\n\t\tthis: $,\n\t\tspace: string,\n\t\tmethod: string | number,\n\t\t... data: readonly any[]\n\t) {\n\t\twhile( true ) {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tif( typeof method === 'number' ) {\n\t\t\t\t\treturn $mol_wire_sync( this ).$mol_huggingface_ws( space, method, ... data )\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$mol_huggingface_rest( space, method, ... data )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\t\n\t\t\t\tif( $mol_promise_like( error ) ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\tif( error instanceof Error && error.message === `Queue full` ) {\n\t\t\t\t\t$mol_fail_log( error )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t$mol_fail_hidden( error )\n\t\t\t}\n\t\t\t\n\t\t}\n\t}\n\t\n\texport function $mol_huggingface_rest(\n\t\tspace: string,\n\t\tmethod: string,\n\t\t... data: readonly any[]\n\t) {\n\t\t\n\t\tconst uri = `https://${space}.hf.space/run/${method}`\n\t\tconst response = $mol_fetch.json( uri, {\n\t\t\tmethod: 'post',\n\t\t\theaders: { \"Content-Type\": \"application/json\" },\n\t\t\tbody: JSON.stringify({ data }),\n\t\t} ) as any\n\t\t\n\t\tif( 'error' in response ) {\n\t\t\t$mol_fail( new Error( response.error ?? 'Unknown API error' ) )\n\t\t}\n\t\t\n\t\treturn response.data as readonly any[]\n\t\t\n\t}\n\t\n\texport function $mol_huggingface_ws(\n\t\tspace: string,\n\t\tfn_index: number,\n\t\t... data: readonly any[]\n\t) {\n\t\t\n\t\tconst session_hash = $mol_guid()\n\t\tconst socket = new WebSocket( `wss://${space}.hf.space/queue/join` )\n\t\t\n\t\tconst promise = new Promise< readonly any[] >( ( done, fail )=> {\n\t\t\t\n\t\t\tsocket.onclose = event => {\n\t\t\t\tif( event.reason ) fail( new Error( event.reason ) )\n\t\t\t}\n\t\t\n\t\t\tsocket.onerror = event => {\n\t\t\t\tfail( new Error( `Socket error` ) )\n\t\t\t}\n\t\t\n\t\t\tsocket.onmessage = event => {\n\t\t\t\t\n\t\t\t\tconst message = JSON.parse( event.data )\n\t\t\t\tswitch( message.msg ) {\n\t\t\t\t\t\n\t\t\t\t\tcase 'send_hash':\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn socket.send(\n\t\t\t\t\t\t\tJSON.stringify({ session_hash, fn_index })\n\t\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\t\tcase 'estimation': return\n\t\t\t\t\t\n\t\t\t\t\tcase 'queue_full':\n\t\t\t\t\t\tfail( new Error( `Queue full` ) )\n\t\t\t\t\n\t\t\t\t\tcase 'send_data':\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn socket.send(\n\t\t\t\t\t\t\tJSON.stringify({ session_hash, fn_index, data })\n\t\t\t\t\t\t)\n\t\t\t\t\n\t\t\t\t\tcase 'process_starts': return\n\t\t\t\t\n\t\t\t\t\tcase 'process_completed':\n\t\t\t\t\t\t\n\t\t\t\t\t\tif( message.success ) {\n\t\t\t\t\t\t\treturn done( message.output.data )\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn fail(\n\t\t\t\t\t\t\t\tnew Error( message.output.error ?? `Unknown API error` )\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\tdefault:\n\t\t\t\t\t\t\n\t\t\t\t\t\treturn fail(\n\t\t\t\t\t\t\tnew Error( `Unknown message type: ${ message.msg }` )\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}\n\t\t\n\t\t} )\n\t\t\n\t\treturn Object.assign( promise, {\n\t\t\tdestructor: ()=> socket.close()\n\t\t} )\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport function $hyoo_lingua_translate( this: $, lang: string, text: string ) {\n\t\t\n\t\tif( !text.trim() ) return ''\n\t\t\n\t\tconst cache_key = `$hyoo_lingua_translate(${ JSON.stringify(lang) },${ JSON.stringify(text) })`\n\t\tconst cached = this.$mol_state_local.value( cache_key )\n\t\tif( cached ) return String( cached )\n\t\t\n\t\tconst translated = this.$mol_huggingface_run( 'hyoo-translate', 0, lang, text )[0] as string\n\t\treturn this.$mol_state_local.value( cache_key, translated )!\n\t}\n\t\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\ttry {\n\t\t\t\treturn $mol_wire_sync( $hyoo_lingua_translate ).call( this.$, lang, en )\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\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","namespace $ {\n\texport class $mol_text_code extends $mol_stack {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_code_sidebar_showed <= sidebar_showed\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_code_sidebar_showed: this.sidebar_showed()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_lines /string\n\t\t * ```\n\t\t */\n\t\ttext_lines() {\n\t\t\treturn [\n\t\t\t] as readonly string[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * find_pos* null\n\t\t * ```\n\t\t */\n\t\tfind_pos(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_base \\\n\t\t * ```\n\t\t */\n\t\turi_base() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Rows\n\t\t * \t<= Copy\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Rows(),\n\t\t\t\tthis.Copy()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sidebar_showed false\n\t\t * ```\n\t\t */\n\t\tsidebar_showed() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * render_visible_only false\n\t\t * ```\n\t\t */\n\t\trender_visible_only() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_numb* 0\n\t\t * ```\n\t\t */\n\t\trow_numb(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_text* \\\n\t\t * ```\n\t\t */\n\t\trow_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * syntax null\n\t\t * ```\n\t\t */\n\t\tsyntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row*0 $mol_text_code_row\n\t\t * \tnumb_showed <= sidebar_showed\n\t\t * \tnumb <= row_numb*\n\t\t * \ttext <= row_text*\n\t\t * \tsyntax <= syntax\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_row()\n\t\t\t\n\t\t\tobj.numb_showed = () => this.sidebar_showed()\n\t\t\tobj.numb = () => this.row_numb(id)\n\t\t\tobj.text = () => this.row_text(id)\n\t\t\tobj.syntax = () => this.syntax()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows / <= Row*0\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t\tthis.Row(\"0\")\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Rows $mol_list\n\t\t * \trender_visible_only <= render_visible_only\n\t\t * \trows <= rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tRows() {\n\t\t\tconst obj = new this.$.$mol_list()\n\t\t\t\n\t\t\tobj.render_visible_only = () => this.render_visible_only()\n\t\t\tobj.rows = () => this.rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text_export \\\n\t\t * ```\n\t\t */\n\t\ttext_export() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Copy $mol_button_copy\n\t\t * \thint @ \\Copy whole code\n\t\t * \ttext <= text_export\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCopy() {\n\t\t\tconst obj = new this.$.$mol_button_copy()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_text_code_Copy_hint' )\n\t\t\tobj.text = () => this.text_export()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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}\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\t\n\t\tRows: {\n\t\t\tpadding: $mol_gap.text,\n\t\t},\n\t\t\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_row: {\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","namespace $ {\n\texport class $mol_hotkey extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> keydown?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.keydown(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * key *\n\t\t * ```\n\t\t */\n\t\tkey() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keydown?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeydown(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_string extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\input\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"input\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete false\n\t\t * ```\n\t\t */\n\t\tautocomplete() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * \t0\n\t\t * \t0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t\t0,\n\t\t\t\t0\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto / <= selection_watcher\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.selection_watcher()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tdisabled <= disabled\n\t\t * \tvalue <= value_changed?\n\t\t * \tplaceholder <= hint_visible\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tautocomplete <= autocomplete_native\n\t\t * \tselectionEnd <= selection_end\n\t\t * \tselectionStart <= selection_start\n\t\t * \tinputMode <= keyboard\n\t\t * \tenterkeyhint <= enter\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tdisabled: this.disabled(),\n\t\t\t\tvalue: this.value_changed(),\n\t\t\t\tplaceholder: this.hint_visible(),\n\t\t\t\tspellcheck: this.spellcheck(),\n\t\t\t\tautocomplete: this.autocomplete_native(),\n\t\t\t\tselectionEnd: this.selection_end(),\n\t\t\t\tselectionStart: this.selection_start(),\n\t\t\t\tinputMode: this.keyboard(),\n\t\t\t\tenterkeyhint: this.enter()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmaxlength <= length_max\n\t\t * \ttype <= type?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmaxlength: this.length_max(),\n\t\t\t\ttype: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tinput?event <=> event_change?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tinput: (event?: any) => this.event_change(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins / <= Submit\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Submit()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_watcher null\n\t\t * ```\n\t\t */\n\t\tselection_watcher() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * disabled false\n\t\t * ```\n\t\t */\n\t\tdisabled() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value_changed? <=> value?\n\t\t * ```\n\t\t */\n\t\tvalue_changed(next?: any) {\n\t\t\treturn this.value(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_visible <= hint\n\t\t * ```\n\t\t */\n\t\thint_visible() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autocomplete_native \\\n\t\t * ```\n\t\t */\n\t\tautocomplete_native() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_end 0\n\t\t * ```\n\t\t */\n\t\tselection_end() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection_start 0\n\t\t * ```\n\t\t */\n\t\tselection_start() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keyboard \\text\n\t\t * ```\n\t\t */\n\t\tkeyboard() {\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\go\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"go\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type? \\text\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"text\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_change?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_change(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit_with_ctrl false\n\t\t * ```\n\t\t */\n\t\tsubmit_with_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Submit $mol_hotkey\n\t\t * \tmod_ctrl <= submit_with_ctrl\n\t\t * \tkey * enter?event <=> submit?event\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSubmit() {\n\t\t\tconst obj = new this.$.$mol_hotkey()\n\t\t\t\n\t\t\tobj.mod_ctrl = () => this.submit_with_ctrl()\n\t\t\tobj.key = () => ({\n\t\t\t\tenter: (event?: any) => this.submit(event)\n\t\t\t} as Record< string, any >)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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\tevent_change( next? : Event ) {\n\t\t\tif( !next ) return\n\t\t\tconst el = next.target as HTMLInputElement\n\t\t\tconst from = el.selectionStart\n\t\t\tconst to = el.selectionEnd\n\t\t\tel.value = this.value_changed( el.value )\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\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\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( el.selectionStart === null ) return undefined as any as number\n\t\t\treturn this.selection()[0]\n\t\t}\n\n\t\tselection_end() {\n\t\t\tconst el = this.dom_node() as HTMLInputElement\n\t\t\tif( el.selectionEnd === null ) return undefined as any as number\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) }","namespace $ {\n\texport class $mol_textarea extends $mol_stack {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_textarea_clickable <= clickable?\n\t\t * \tmol_textarea_sidebar_showed <= sidebar_showed\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_textarea_clickable: this.clickable(),\n\t\t\t\tmol_textarea_sidebar_showed: this.sidebar_showed()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \tkeydown?event <=> press?event\n\t\t * \tpointermove?event <=> hover?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tkeydown: (event?: any) => this.press(event),\n\t\t\t\tpointermove: (event?: any) => this.hover(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Edit\n\t\t * \t<= View\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Edit(),\n\t\t\t\tthis.View()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * symbols_alt *\n\t\t * \tcomma \\<\n\t\t * \tperiod \\>\n\t\t * \tdash \\−\n\t\t * \tequals \\≈\n\t\t * \tgraveAccent \\́\n\t\t * \tforwardSlash \\÷\n\t\t * \tE \\€\n\t\t * \tX \\×\n\t\t * \tC \\©\n\t\t * \tP \\§\n\t\t * \tH \\₽\n\t\t * \tkey0 \\°\n\t\t * \tkey8 \\•\n\t\t * \tkey2 \\@\n\t\t * \tkey3 \\#\n\t\t * \tkey4 \\$\n\t\t * \tkey6 \\^\n\t\t * \tkey7 \\&\n\t\t * \tbracketOpen \\[\n\t\t * \tbracketClose \\]\n\t\t * \tslashBack \\|\n\t\t * ```\n\t\t */\n\t\tsymbols_alt() {\n\t\t\treturn {\n\t\t\t\tcomma: \"<\",\n\t\t\t\tperiod: \">\",\n\t\t\t\tdash: \"−\",\n\t\t\t\tequals: \"≈\",\n\t\t\t\tgraveAccent: \"́\",\n\t\t\t\tforwardSlash: \"÷\",\n\t\t\t\tE: \"€\",\n\t\t\t\tX: \"×\",\n\t\t\t\tC: \"©\",\n\t\t\t\tP: \"§\",\n\t\t\t\tH: \"₽\",\n\t\t\t\tkey0: \"°\",\n\t\t\t\tkey8: \"•\",\n\t\t\t\tkey2: \"@\",\n\t\t\t\tkey3: \"#\",\n\t\t\t\tkey4: \"$\",\n\t\t\t\tkey6: \"^\",\n\t\t\t\tkey7: \"&\",\n\t\t\t\tbracketOpen: \"[\",\n\t\t\t\tbracketClose: \"]\",\n\t\t\t\tslashBack: \"|\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * symbols_alt_shift *\n\t\t * \tV \\✅\n\t\t * \tX \\❌\n\t\t * \tO \\⭕\n\t\t * \tkey1 \\❗\n\t\t * \tkey4 \\💲\n\t\t * \tkey7 \\❓\n\t\t * \tcomma \\«\n\t\t * \tperiod \\»\n\t\t * \tsemicolon \\“\n\t\t * \tquoteSingle \\”\n\t\t * \tdash \\—\n\t\t * \tequals \\≠\n\t\t * \tgraveAccent \\̱\n\t\t * \tbracketOpen \\{\n\t\t * \tbracketClose \\}\n\t\t * ```\n\t\t */\n\t\tsymbols_alt_shift() {\n\t\t\treturn {\n\t\t\t\tV: \"✅\",\n\t\t\t\tX: \"❌\",\n\t\t\t\tO: \"⭕\",\n\t\t\t\tkey1: \"❗\",\n\t\t\t\tkey4: \"💲\",\n\t\t\t\tkey7: \"❓\",\n\t\t\t\tcomma: \"«\",\n\t\t\t\tperiod: \"»\",\n\t\t\t\tsemicolon: \"“\",\n\t\t\t\tquoteSingle: \"”\",\n\t\t\t\tdash: \"—\",\n\t\t\t\tequals: \"≠\",\n\t\t\t\tgraveAccent: \"̱\",\n\t\t\t\tbracketOpen: \"{\",\n\t\t\t\tbracketClose: \"}\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clickable? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclickable(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sidebar_showed false\n\t\t * ```\n\t\t */\n\t\tsidebar_showed() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * press?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpress(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hover?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thover(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * value? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tvalue(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \" \"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled true\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * spellcheck true\n\t\t * ```\n\t\t */\n\t\tspellcheck() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * length_max +Infinity\n\t\t * ```\n\t\t */\n\t\tlength_max() {\n\t\t\treturn +Infinity\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selection? /number\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselection(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly number[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * submit? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsubmit(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * bring\n\t\t * ```\n\t\t */\n\t\tbring() {\n\t\t\treturn this.Edit().bring()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit $mol_textarea_edit\n\t\t * \tvalue? <=> value?\n\t\t * \thint <= hint\n\t\t * \tenabled <= enabled\n\t\t * \tspellcheck <= spellcheck\n\t\t * \tlength_max <= length_max\n\t\t * \tselection? <=> selection?\n\t\t * \tbring => bring\n\t\t * \tsubmit? <=> submit?\n\t\t * \tsubmit_with_ctrl true\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEdit() {\n\t\t\tconst obj = new this.$.$mol_textarea_edit()\n\t\t\t\n\t\t\tobj.value = (next?: any) => this.value(next)\n\t\t\tobj.hint = () => this.hint()\n\t\t\tobj.enabled = () => this.enabled()\n\t\t\tobj.spellcheck = () => this.spellcheck()\n\t\t\tobj.length_max = () => this.length_max()\n\t\t\tobj.selection = (next?: any) => this.selection(next)\n\t\t\tobj.submit = (next?: any) => this.submit(next)\n\t\t\tobj.submit_with_ctrl = () => true\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_numb* 0\n\t\t * ```\n\t\t */\n\t\trow_numb(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * View $mol_text_code\n\t\t * \ttext <= value\n\t\t * \trender_visible_only false\n\t\t * \trow_numb* <= row_numb*\n\t\t * \tsidebar_showed <= sidebar_showed\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tView() {\n\t\t\tconst obj = new this.$.$mol_text_code()\n\t\t\t\n\t\t\tobj.text = () => this.value()\n\t\t\tobj.render_visible_only = () => false\n\t\t\tobj.row_numb = (id: any) => this.row_numb(id)\n\t\t\tobj.sidebar_showed = () => this.sidebar_showed()\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_textarea_edit extends $mol_string {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\textarea\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"textarea\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enter \\enter\n\t\t * ```\n\t\t */\n\t\tenter() {\n\t\t\treturn \"enter\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tscrollTop 0\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tscrollTop: 0\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\n\t/**\n\t * An input field for entering multiline text.\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_textarea_demo\n\t */\n\texport class $mol_textarea extends $.$mol_textarea {\n\n\t\tindent_inc() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tlet end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to ) {\n\t\t\t\t\tif( to === from || start !== to ) {\n\t\t\t\t\t\trows[i] = '\\t' + rows[i]\n\t\t\t\t\t\tto += 1\n\t\t\t\t\t\tend += 1\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from + 1, to ])\n\t\t\t\n\t\t}\n\n\t\tindent_dec() {\n\n\t\t\tlet text = this.value()\n\t\t\tlet [ from, to ] = this.selection()\n\t\t\t\n\t\t\tconst rows = text.split( '\\n' )\n\t\t\tlet start = 0\n\t\t\t\n\t\t\tfor( let i = 0; i < rows.length; ++i ) {\n\t\t\t\tconst end = start + rows[i].length\n\t\t\t\t\n\t\t\t\tif( end >= from && start <= to && rows[i].startsWith( '\\t' ) ) {\n\t\t\t\t\trows[i] = rows[i].slice( 1 )\n\t\t\t\t\tto -= 1\n\t\t\t\t\tif( start < from ) from -= 1\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tstart = end + 1\n\t\t\t}\n\n\t\t\tthis.value( rows.join('\\n') )\n\t\t\tthis.selection([ from, to ])\n\t\t\t\n\t\t}\n\t\t\n\t\tsymbol_insert( event: KeyboardEvent ) {\n\t\t\t\n\t\t\tconst symbol = event.shiftKey\n\t\t\t\t? this.symbols_alt_shift()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t: this.symbols_alt()[ $mol_keyboard_code[ event.keyCode ] ]\n\t\t\t\t\n\t\t\tif( !symbol ) return\n\t\t\t\n\t\t\tdocument.execCommand( 'insertText', false, symbol )\n\t\t\t\n\t\t}\n\t\t\n\t\thover( event : PointerEvent ) {\n\t\t\tthis.clickable( event.ctrlKey )\n\t\t}\n\t\t\n\t\tpress( event : KeyboardEvent ) {\n\t\t\t\n\t\t\tif( event.altKey && !event.ctrlKey ) {\n\t\t\t\t\n\t\t\t\tthis.symbol_insert( event )\n\t\t\t\t\n\t\t\t} else {\n\n\t\t\t\tswitch( event.keyCode ) {\n\t\t\t\t\tcase !event.shiftKey && $mol_keyboard_code.tab : this.indent_inc() ; break\n\t\t\t\t\tcase event.shiftKey && $mol_keyboard_code.tab : this.indent_dec() ; break\n\t\t\t\t\tdefault : return\n\t\t\t\t}\n\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tevent.preventDefault()\n\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}\n\n}\n","namespace $ { $mol_style_attach( \"mol/textarea/textarea.view.css\",\n \"[mol_textarea] {\\n\\tflex: 1 0 auto;\\n\\tflex-direction: column;\\n\\tvertical-align: top;\\n\\tmin-height: max-content;\\n\\twhite-space: pre-wrap;\\n\\tword-break: break-word;\\n\\tborder-radius: var(--mol_gap_round);\\n\\tfont-family: monospace;\\n\\tposition: relative;\\n\\ttab-size: 4;\\n}\\n\\n[mol_textarea_view] {\\n\\tpointer-events: none;\\n\\twhite-space: inherit;\\n\\tfont-family: inherit;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_view_copy] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_clickable] > [mol_textarea_view] {\\n\\tpointer-events: all;\\n}\\n\\n[mol_textarea_edit] {\\n\\tfont-family: inherit;\\n\\tpadding: var(--mol_gap_text);\\n\\tcolor: transparent !important;\\n\\tcaret-color: var(--mol_theme_text);\\n\\tresize: none;\\n\\ttext-align: inherit;\\n\\twhite-space: inherit;\\n\\tborder-radius: inherit;\\n\\toverflow-anchor: none;\\n\\tposition: absolute;\\n\\theight: 100%;\\n\\twidth: 100%;\\n\\ttab-size: inherit;\\n}\\n\\n[mol_textarea_sidebar_showed] [mol_textarea_edit] {\\n\\tleft: 1.75rem;\\n\\twidth: calc( 100% - 1.75rem );\\n}\\n\\n[mol_textarea_edit]:hover + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_hover);\\n}\\n\\n[mol_textarea_edit]:focus + [mol_textarea_view] {\\n\\tz-index: var(--mol_layer_focus);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_float extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tminHeight \\auto\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tminHeight: \"auto\"\n\t\t\t} as Record< string, any >\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_string_button extends $mol_string {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/string/button/button.view.css\",\n \"[mol_string_button]:not(:placeholder-shown):not(:focus):not(:hover):not(:disabled) {\\n\\tcolor: var(--mol_theme_control);\\n\\tbackground: transparent;\\n\\tbox-shadow: none;\\n}\\n\"\n) }",null,"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\texport class $mol_icon_download extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M5,20H19V18H5M19,9H15V3H9V9H5L12,16L19,9Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_button_download extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * blob null\n\t\t * ```\n\t\t */\n\t\tblob() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\blob.bin\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"blob.bin\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Icon\n\t\t * \t<= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_download\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_download()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\n","/** @jsx $mol_jsx */\nnamespace $.$$ {\n\n\t/**\n\t * Button download file from uri() or a blob()\n\t * @see https://mol.hyoo.ru/#!section=demos/demo=mol_button_demo\n\t */\n\texport class $mol_button_download extends $.$mol_button_download {\n\n\t\t@ $mol_mem\n\t\turi() {\n\t\t\treturn URL.createObjectURL( this.blob() )\n\t\t}\n\t\t\n\t\tclick() {\n\t\t\t\n\t\t\tconst a = \n\t\t\t\n\t\t\ta.click()\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\texport class $mol_icon_directions extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M14,14.5V12H10V15H8V11C8,10.45 8.45,10 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M14,14.5V12H10V15H8V11C8,10.45 8.45,10 9,10H14V7.5L17.5,11M21.71,11.29L12.71,2.29H12.7C12.31,1.9 11.68,1.9 11.29,2.29L2.29,11.29C1.9,11.68 1.9,12.32 2.29,12.71L11.29,21.71C11.68,22.09 12.31,22.1 12.71,21.71L21.71,12.71C22.1,12.32 22.1,11.68 21.71,11.29Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_directions_fork extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M3,4V12.5L6,9.5L9,13C10,14 10,15 10,15V21H14V14C14,14 14,13 13.47,12C12.94,11 12,10 12,10L9,6.58L11.5,4M18,4L13.54,8.47L14,9C14,9 14.93,10 15.47,11C15.68,11.4 15.8,11.79 15.87,12.13L21,7\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_plus extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_plus_box extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M17,13H13V17H11V13H7V11H11V7H13V11H17M19,3H5C3.89,3 3,3.89 3,5V19C3,20.1 3.9,21 5,21H19C20.1,21 21,20.1 21,19V5C21,3.89 20.1,3 19,3Z\"\n\t\t}\n\t}\n\t\n}\n\n",null,"namespace $ {\n\n\t/** State of arguments like `foo=bar xxx` */\n\texport class $mol_state_arg extends $mol_object {\n\t\t\n\t\tstatic prolog = ''\n\t\tstatic separator = ' '\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href( next? : string ) {\n\t\t\treturn next || process.argv.slice( 2 ).join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic href_normal() {\n\t\t\treturn this.link({})\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tstatic dict( next? : { [ key : string ] : string | null } ) {\n\t\t\tif( next !== void 0 ) this.href( this.make_link( next ) )\n\t\t\t\n\t\t\tvar href = this.href()\n\t\t\tvar chunks = href.split( ' ' )\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\t\t\n\t\t@ $mol_mem_key\n\t\tstatic value( key : string , next? : string | null ) {\n\t\t\tif( next === void 0 ) return this.dict()[ key ] ?? null\n\t\t\tthis.href( this.link( { [ key ] : next } ) )\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tstatic link( next : Record ) {\n\t\t\tconst params : Record = {}\n\t\t\t\n\t\t\tvar prev = this.dict()\n\t\t\tfor( var key in prev ) {\n\t\t\t\tparams[ key ] = prev[ key ]\n\t\t\t}\n\t\t\t\n\t\t\tfor( var key in next ) {\n\t\t\t\tparams[ key ] = next[ key ]\n\t\t\t}\n\t\t\t\n\t\t\treturn this.make_link( params )\n\t\t}\n\t\t\n\t\tstatic make_link( next : Record) {\n\t\t\tconst chunks : string[] = []\n\t\t\tfor( const key in next ) {\n\t\t\t\tif( next[ key ] !== null ) {\n\t\t\t\t\tchunks.push([key, next[key]!].map(encodeURIComponent).join('='))\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn chunks.join( ' ' )\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tstatic go( next : { [ key : string ] : string | null } ) {\n\t\t\tthis.href( this.make_link( next ) )\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\tconst prefix = this.prefix\n\t\t\tconst dict : Record = {}\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\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 = false //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\texport class $mol_check extends $mol_button_minor {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_check_checked <= checked?\n\t\t * \taria-checked <= aria_checked\n\t\t * \trole <= aria_role\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_check_checked: this.checked(),\n\t\t\t\t\"aria-checked\": this.aria_checked(),\n\t\t\t\trole: this.aria_role()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content\n\t\t * \t<= Icon\n\t\t * \t<= label\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon(),\n\t\t\t\tthis.label()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tchecked(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_checked \\false\n\t\t * ```\n\t\t */\n\t\taria_checked() {\n\t\t\treturn \"false\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * aria_role \\checkbox\n\t\t * ```\n\t\t */\n\t\taria_role() {\n\t\t\treturn \"checkbox\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon null\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title $mol_view sub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle() {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * label / <= Title\n\t\t * ```\n\t\t */\n\t\tlabel() {\n\t\t\treturn [\n\t\t\t\tthis.Title()\n\t\t\t] as readonly any[]\n\t\t}\n\t}\n\t\n}\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 $ { $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\\talign-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","namespace $ {\n\texport class $mol_check_icon extends $mol_check {\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_icon_brightness_6 extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,18V6C15.31,6 18,8.69 18,12C18,15.31 15.31,18 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,18V6C15.31,6 18,8.69 18,12C18,15.31 15.31,18 12,18M20,15.31L23.31,12L20,8.69V4H15.31L12,0.69L8.69,4H4V8.69L0.69,12L4,15.31V20H8.69L12,23.31L15.31,20H20V15.31Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_lights_toggle extends $mol_check_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon <= Lights_icon\n\t\t * ```\n\t\t */\n\t\tIcon() {\n\t\t\treturn this.Lights_icon()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Toggle lights\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_lights_toggle_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> lights?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.lights(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Lights_icon $mol_icon_brightness_6\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLights_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_brightness_6()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * lights? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tlights(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_link extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\a\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"a\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thref <= uri_toggle\n\t\t * \ttitle <= hint_safe\n\t\t * \ttarget <= target\n\t\t * \tdownload <= file_name\n\t\t * \tmol_link_current <= current\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thref: this.uri_toggle(),\n\t\t\t\ttitle: this.hint_safe(),\n\t\t\t\ttarget: this.target(),\n\t\t\t\tdownload: this.file_name(),\n\t\t\t\tmol_link_current: this.current()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /$mol_view_content <= title\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_toggle \\\n\t\t * ```\n\t\t */\n\t\turi_toggle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_safe <= hint\n\t\t * ```\n\t\t */\n\t\thint_safe() {\n\t\t\treturn this.hint()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * target \\_self\n\t\t * ```\n\t\t */\n\t\ttarget() {\n\t\t\treturn \"_self\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * file_name \\\n\t\t * ```\n\t\t */\n\t\tfile_name() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current false\n\t\t * ```\n\t\t */\n\t\tcurrent() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_click(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event <=> event_click?event\n\t\t * ```\n\t\t */\n\t\tclick(event?: any) {\n\t\t\treturn this.event_click(event)\n\t\t}\n\t}\n\t\n}\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\t\n\t\t\toutline: 'none',\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-within': {\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","namespace $ {\n\texport class $mol_icon_github_circle extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,2C6.48,2 2,6.48 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12C22,6.48 17.52,2 12,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,2C6.48,2 2,6.48 2,12C2,16.42 4.87,20.17 8.84,21.5C9.34,21.58 9.5,21.27 9.5,21C9.5,20.77 9.5,20.14 9.5,19.31C6.73,19.91 6.14,17.97 6.14,17.97C5.68,16.81 5.03,16.5 5.03,16.5C4.12,15.88 5.1,15.9 5.1,15.9C6.1,15.97 6.63,16.93 6.63,16.93C7.5,18.45 8.97,18 9.54,17.76C9.63,17.11 9.89,16.67 10.17,16.42C7.95,16.17 5.62,15.31 5.62,11.5C5.62,10.39 6,9.5 6.65,8.79C6.55,8.54 6.2,7.5 6.75,6.15C6.75,6.15 7.59,5.88 9.5,7.17C10.29,6.95 11.15,6.84 12,6.84C12.85,6.84 13.71,6.95 14.5,7.17C16.41,5.88 17.25,6.15 17.25,6.15C17.8,7.5 17.45,8.54 17.35,8.79C18,9.5 18.38,10.39 18.38,11.5C18.38,15.32 16.04,16.16 13.81,16.41C14.17,16.72 14.5,17.33 14.5,18.26C14.5,19.6 14.5,20.68 14.5,21C14.5,21.27 14.66,21.59 15.17,21.5C19.14,20.16 22,16.42 22,12C22,6.48 17.52,2 12,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_link_source extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\Source code\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$mol_link_source_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_github_circle\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_github_circle()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_avatar extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * view_box \\0 0 24 24\n\t\t * ```\n\t\t */\n\t\tview_box() {\n\t\t\treturn \"0 0 24 24\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * id \\\n\t\t * ```\n\t\t */\n\t\tid() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\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\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"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\t\t}\n\t}\n\t\n}\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","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) }","namespace $ {\n\texport class $mol_icon_sync extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M12,18C8.69,18 6,15.31 6,12C6,11 6.25,10.03 6.7,9.2L5.24,7.74C4.46,8.97 4,10.43 4,12C4,16.42 7.58,20 12,20V23L16,19L12,15M12,4V1L8,5L12,9V6C15.31,6 18,8.69 18,12C18,13 17.75,13.97 17.3,14.8L18.76,16.26C19.54,15.03 20,13.57 20,12C20,7.58 16.42,4 12,4Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_sync_off extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M20,4H14V10L16.24,7.76C17.32,8.85 18,10.34 18,12C18,13 17.75,13.94 17.32,14.77L18.78,16.23C19.55,15 20,13.56 20,12C20,9.79 19.09,7.8 17.64,6.36L20,4M2.86,5.41L5.22,7.77C4.45,9 4,10.44 4,12C4,14.21 4.91,16.2 6.36,17.64L4,20H10V14L7.76,16.24C6.68,15.15 6,13.66 6,12C6,11 6.25,10.06 6.68,9.23L14.76,17.31C14.5,17.44 14.26,17.56 14,17.65V19.74C14.79,19.53 15.54,19.2 16.22,18.78L18.58,21.14L19.85,19.87L4.14,4.14L2.86,5.41M10,6.35V4.26C9.2,4.47 8.45,4.8 7.77,5.22L9.23,6.68C9.5,6.56 9.73,6.44 10,6.35Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $hyoo_sync_online extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 40\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * yard $hyoo_sync_yard\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tyard() {\n\t\t\tconst obj = new this.$.$hyoo_sync_yard()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri <= master_link\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn this.master_link()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Well\n\t\t * \t<= Fail\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Well(),\n\t\t\t\tthis.Fail()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \ttitle <= message\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\ttitle: this.message()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * master_link \\\n\t\t * ```\n\t\t */\n\t\tmaster_link() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Well $mol_avatar id <= master_link\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tWell() {\n\t\t\tconst obj = new this.$.$mol_avatar()\n\t\t\t\n\t\t\tobj.id = () => this.master_link()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fail $mol_icon_sync_off\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFail() {\n\t\t\tconst obj = new this.$.$mol_icon_sync_off()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint \\$hyoo_sync\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn \"$hyoo_sync\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * message <= hint\n\t\t * ```\n\t\t */\n\t\tmessage() {\n\t\t\treturn this.hint()\n\t\t}\n\t}\n\t\n}\n\n","namespace $.$$ {\n\texport class $hyoo_sync_online extends $.$hyoo_sync_online {\n\t\t\n\t\t@ $mol_mem\n\t\tmessage() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.yard().sync()\n\t\t\t\treturn this.hint()\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn String( error )\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\tsub() {\n\t\t\t\n\t\t\ttry {\n\t\t\t\t\n\t\t\t\tthis.yard().sync()\n\t\t\t\treturn [ this.Well() ]\n\t\t\t\n\t\t\t} catch( error ) {\n\t\t\t\tif( error instanceof Promise ) $mol_fail_hidden( error )\n\t\t\t\t\n\t\t\t\t$mol_fail_log( error )\n\t\t\t\treturn [ this.Fail() ]\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\thint() {\n\t\t\treturn super.hint() + ' ' + $hyoo_sync_revision\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tmaster_link() {\n\t\t\treturn this.yard().master_link().replace( /^ws(s?):/, 'http$1:' )\n\t\t}\n\t\t\n\t}\n}\n","namespace $ { $mol_style_attach( \"hyoo/sync/online/online.view.css\",\n \"[hyoo_sync_online] {\\n\\tpadding: var(--mol_gap_text);\\n}\\n\\n[hyoo_sync_online_well] {\\n\\tcolor: var(--mol_theme_current);\\n}\\n\\n[hyoo_sync_online_fail] {\\n\\tcolor: var(--mol_theme_focus);\\n}\\n\\n[hyoo_sync_online][mol_view_error=\\\"Promise\\\"] {\\n\\tanimation: hyoo_sync_online_wait 1s linear infinite;\\n}\\n\\n@keyframes hyoo_sync_online_wait {\\n\\tfrom {\\n\\t\\topacity: 1;\\n\\t}\\n\\tto {\\n\\t\\topacity: .5;\\n\\t}\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_hint extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M10,19H13V22H10V19M12,2C17.35,2.22 19.68,7.62 16.5,11.67C15.67,12.67 14.33,13.33 13.67,14.17C13,15 13,16 13,17H10C10,15.33 10,13.92 10.67,12.92C11.33,11.92 12.67,11.33 13.5,10.67C15.92,8.43 15.32,5.26 12,5A3,3 0 0,0 9,8H6A6,6 0 0,1 12,2Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_bar extends $mol_view {\n\t}\n\t\n}\n\n","namespace $ { $mol_style_attach( \"mol/bar/bar.view.css\",\n \"[mol_bar] {\\n\\tdisplay: flex;\\n\\t/* box-shadow: inset 0 0 0 1px var(--mol_theme_line); */\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_chevron extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_check_expand extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_icon_chevron\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_icon_chevron()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level 0\n\t\t * ```\n\t\t */\n\t\tlevel() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * style *\n\t\t * \t^\n\t\t * \tpaddingLeft <= level_style\n\t\t * ```\n\t\t */\n\t\tstyle() {\n\t\t\treturn {\n\t\t\t\t...super.style(),\n\t\t\t\tpaddingLeft: this.level_style()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> expanded?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.expanded(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * enabled <= expandable\n\t\t * ```\n\t\t */\n\t\tenabled() {\n\t\t\treturn this.expandable()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level_style \\0px\n\t\t * ```\n\t\t */\n\t\tlevel_style() {\n\t\t\treturn \"0px\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * expanded? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\texpanded(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * expandable false\n\t\t * ```\n\t\t */\n\t\texpandable() {\n\t\t\treturn false\n\t\t}\n\t}\n\t\n}\n\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}\\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) }","namespace $ {\n\texport class $mol_grid extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_height 32\n\t\t * ```\n\t\t */\n\t\trow_height() {\n\t\t\treturn 32\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ids /string[]\n\t\t * ```\n\t\t */\n\t\trow_ids() {\n\t\t\treturn [\n\t\t\t] as readonly (string[])[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_id* null\n\t\t * ```\n\t\t */\n\t\trow_id(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ids /\n\t\t * ```\n\t\t */\n\t\tcol_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * records *\n\t\t * ```\n\t\t */\n\t\trecords() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * record* null\n\t\t * ```\n\t\t */\n\t\trecord(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hierarchy null\n\t\t * ```\n\t\t */\n\t\thierarchy() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hierarchy_col \\\n\t\t * ```\n\t\t */\n\t\thierarchy_col() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 0\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Table\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Table()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Head $mol_grid_row cells <= head_cells\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHead() {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.head_cells()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row* $mol_grid_row\n\t\t * \tminimal_height <= row_height\n\t\t * \tminimal_width <= minimal_width\n\t\t * \tcells <= cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.minimal_height = () => this.row_height()\n\t\t\tobj.minimal_width = () => this.minimal_width()\n\t\t\tobj.cells = () => this.cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell* $mol_view\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell* null\n\t\t * ```\n\t\t */\n\t\tcell(id: any) {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_text* $mol_grid_cell sub <= cell_content_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_text(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_cell()\n\t\t\t\n\t\t\tobj.sub = () => this.cell_content_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_number* $mol_grid_number sub <= cell_content_number*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_number(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_number()\n\t\t\t\n\t\t\tobj.sub = () => this.cell_content_number(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= col_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.col_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_branch* $mol_check_expand\n\t\t * \tlevel <= cell_level*\n\t\t * \tlabel <= cell_content*\n\t\t * \texpanded? <=> cell_expanded*?\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_branch(id: any) {\n\t\t\tconst obj = new this.$.$mol_check_expand()\n\t\t\t\n\t\t\tobj.level = () => this.cell_level(id)\n\t\t\tobj.label = () => this.cell_content(id)\n\t\t\tobj.expanded = (next?: any) => this.cell_expanded(id, next)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_content* / <= Cell_dimmer*\n\t\t * ```\n\t\t */\n\t\tCell_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Cell_dimmer(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * rows /$mol_view\n\t\t * ```\n\t\t */\n\t\trows() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table $mol_grid_table sub <= rows\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTable() {\n\t\t\tconst obj = new this.$.$mol_grid_table()\n\t\t\t\n\t\t\tobj.sub = () => this.rows()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_cells /$mol_view\n\t\t * ```\n\t\t */\n\t\thead_cells() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells* /$mol_view\n\t\t * ```\n\t\t */\n\t\tcells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content* /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcell_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content_text* <= cell_content*\n\t\t * ```\n\t\t */\n\t\tcell_content_text(id: any) {\n\t\t\treturn this.cell_content(id)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content_number* <= cell_content*\n\t\t * ```\n\t\t */\n\t\tcell_content_number(id: any) {\n\t\t\treturn this.cell_content(id)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_head_content* /$mol_view_content\n\t\t * ```\n\t\t */\n\t\tcol_head_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view_content[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_level* 0\n\t\t * ```\n\t\t */\n\t\tcell_level(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_expanded*? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcell_expanded(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * needle \\\n\t\t * ```\n\t\t */\n\t\tneedle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_value* \\\n\t\t * ```\n\t\t */\n\t\tcell_value(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell_dimmer* $mol_dimmer\n\t\t * \tneedle <= needle\n\t\t * \thaystack <= cell_value*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell_dimmer(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.needle = () => this.needle()\n\t\t\tobj.haystack = () => this.cell_value(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_grid_table extends $mol_list {\n\t}\n\t\n\texport class $mol_grid_row extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub <= cells\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn this.cells()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells /$mol_view\n\t\t * ```\n\t\t */\n\t\tcells() {\n\t\t\treturn [\n\t\t\t] as readonly $mol_view[]\n\t\t}\n\t}\n\t\n\texport class $mol_grid_cell extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 40\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 40\n\t\t}\n\t}\n\t\n\texport class $mol_grid_number extends $mol_grid_cell {\n\t}\n\t\n}\n\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}\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 1px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_row]:where(:first-child) > * {\\n\\tbox-shadow: inset 1px 0 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_table] > * > *:where(:first-child) {\\n\\tbox-shadow: inset 0px 1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > * {\\n\\tbox-shadow: inset 1px -1px 0 0 var(--mol_theme_line);\\n}\\n\\n[mol_grid_head] > *:where(:first-child) {\\n\\tbox-shadow: inset 0px -1px 0 0 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) }","namespace $ {\n\texport class $mol_image extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\img\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"img\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * field *\n\t\t * \t^\n\t\t * \tsrc <= uri\n\t\t * \talt <= title\n\t\t * \tloading <= loading\n\t\t * \tdecoding <= decoding\n\t\t * \tcrossOrigin <= cors\n\t\t * ```\n\t\t */\n\t\tfield() {\n\t\t\treturn {\n\t\t\t\t...super.field(),\n\t\t\t\tsrc: this.uri(),\n\t\t\t\talt: this.title(),\n\t\t\t\tloading: this.loading(),\n\t\t\t\tdecoding: this.decoding(),\n\t\t\t\tcrossOrigin: this.cors()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \twidth <= natural_width?\n\t\t * \theight <= natural_height?\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\twidth: this.natural_width(),\n\t\t\t\theight: this.natural_height()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * load? <=> load?\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tload: (next?: any) => this.load(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_width 16\n\t\t * ```\n\t\t */\n\t\tminimal_width() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * minimal_height 16\n\t\t * ```\n\t\t */\n\t\tminimal_height() {\n\t\t\treturn 16\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * loading \\eager\n\t\t * ```\n\t\t */\n\t\tloading() {\n\t\t\treturn \"eager\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * decoding \\async\n\t\t * ```\n\t\t */\n\t\tdecoding() {\n\t\t\treturn \"async\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cors null\n\t\t * ```\n\t\t */\n\t\tcors() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * natural_width? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnatural_width(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * natural_height? 0\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tnatural_height(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * load? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tload(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_link_iconed extends $mol_link {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Icon\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Icon()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content / <= title\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * host \\\n\t\t * ```\n\t\t */\n\t\thost() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * icon \\\n\t\t * ```\n\t\t */\n\t\ticon() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Icon $mol_image\n\t\t * \turi <= icon\n\t\t * \ttitle \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tIcon() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.uri = () => this.icon()\n\t\t\tobj.title = () => \"\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title <= uri\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn this.uri()\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $mol_embed_native extends $mol_scroll {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri? \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\object\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"object\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * window null\n\t\t * ```\n\t\t */\n\t\twindow() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdata <= uri\n\t\t * \ttype <= mime\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdata: this.uri(),\n\t\t\t\ttype: this.mime()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Fallback\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Fallback()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * message * hashchange? <=> uri_change?\n\t\t * ```\n\t\t */\n\t\tmessage() {\n\t\t\treturn {\n\t\t\t\thashchange: (next?: any) => this.uri_change(next)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mime \\\n\t\t * ```\n\t\t */\n\t\tmime() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fallback $mol_link\n\t\t * \turi <= uri\n\t\t * \tsub / <= title\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFallback() {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.uri = () => this.uri()\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.title()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_change? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi_change(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\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\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\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}\\n\"\n) }","namespace $ {\n\texport class $mol_icon_youtube extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * 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\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"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\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_frame extends $mol_embed_native {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\iframe\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"iframe\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tdata null\n\t\t * \ttype null\n\t\t * \tsrc <= uri?\n\t\t * \tsrcdoc <= html\n\t\t * \tallow <= allow\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tdata: null as any,\n\t\t\t\ttype: null as any,\n\t\t\t\tsrc: this.uri(),\n\t\t\t\tsrcdoc: this.html(),\n\t\t\t\tallow: this.allow()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * fullscreen true\n\t\t * ```\n\t\t */\n\t\tfullscreen() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * accelerometer true\n\t\t * ```\n\t\t */\n\t\taccelerometer() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * autoplay true\n\t\t * ```\n\t\t */\n\t\tautoplay() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * encription true\n\t\t * ```\n\t\t */\n\t\tencription() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * gyroscope true\n\t\t * ```\n\t\t */\n\t\tgyroscope() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pip true\n\t\t * ```\n\t\t */\n\t\tpip() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clipboard_read true\n\t\t * ```\n\t\t */\n\t\tclipboard_read() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * clipboard_write true\n\t\t * ```\n\t\t */\n\t\tclipboard_write() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri? \\about:config\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\turi(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn \"about:config\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * html null\n\t\t * ```\n\t\t */\n\t\thtml() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * allow \\\n\t\t * ```\n\t\t */\n\t\tallow() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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","namespace $ {\n\texport class $mol_embed_youtube extends $mol_check {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_preview \\\n\t\t * ```\n\t\t */\n\t\tvideo_preview() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_id \\\n\t\t * ```\n\t\t */\n\t\tvideo_id() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * checked? <=> active?\n\t\t * ```\n\t\t */\n\t\tchecked(next?: any) {\n\t\t\treturn this.active(next)\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Image\n\t\t * \t<= Hint\n\t\t * \t<= Frame\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Image(),\n\t\t\t\tthis.Hint(),\n\t\t\t\tthis.Frame()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * active? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tactive(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Image $mol_image\n\t\t * \ttitle <= title\n\t\t * \turi <= video_preview\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tImage() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.video_preview()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint $mol_icon_youtube\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint() {\n\t\t\tconst obj = new this.$.$mol_icon_youtube()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * video_embed \\\n\t\t * ```\n\t\t */\n\t\tvideo_embed() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Frame $mol_frame\n\t\t * \ttitle <= title\n\t\t * \turi <= video_embed\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFrame() {\n\t\t\tconst obj = new this.$.$mol_frame()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.video_embed()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n}\n\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\\/|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\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/youtube/youtube.view.css\",\n \"[mol_embed_youtube] {\\n\\tpadding: 0;\\n\\tmax-width: 100%;\\n}\\n\\n[mol_embed_youtube_image] {\\n\\tflex: auto 1 1;\\n}\\n\\n[mol_embed_youtube_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_youtube]:hover [mol_embed_youtube_hint] {\\n\\topacity: .6;\\n}\\n\"\n) }","namespace $ {\n\texport class $mol_embed_any extends $mol_view {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Image $mol_image\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tImage() {\n\t\t\tconst obj = new this.$.$mol_image()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Object $mol_embed_native\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tObject() {\n\t\t\tconst obj = new this.$.$mol_embed_native()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Youtube $mol_embed_youtube\n\t\t * \ttitle <= title\n\t\t * \turi <= uri\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tYoutube() {\n\t\t\tconst obj = new this.$.$mol_embed_youtube()\n\t\t\t\n\t\t\tobj.title = () => this.title()\n\t\t\tobj.uri = () => this.uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title \\\n\t\t * ```\n\t\t */\n\t\ttitle() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri \\\n\t\t * ```\n\t\t */\n\t\turi() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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\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\tdefault: return [ this.Object() ]\n\t\t\t}\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\texport class $mol_text extends $mol_list {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_base \\\n\t\t * ```\n\t\t */\n\t\turi_base() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * text \\\n\t\t * ```\n\t\t */\n\t\ttext() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * param \\\n\t\t * ```\n\t\t */\n\t\tparam() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * flow_tokens /\n\t\t * ```\n\t\t */\n\t\tflow_tokens() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto / <= auto_scroll\n\t\t * ```\n\t\t */\n\t\tauto() {\n\t\t\treturn [\n\t\t\t\tthis.auto_scroll()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Paragraph* $mol_paragraph sub <= block_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tParagraph(id: any) {\n\t\t\tconst obj = new this.$.$mol_paragraph()\n\t\t\t\n\t\t\tobj.sub = () => this.block_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Quote* $mol_text\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= quote_text*\n\t\t * \thighlight <= highlight\n\t\t * \tauto_scroll null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tQuote(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.quote_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * List* $mol_text_list\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttype <= list_type*\n\t\t * \ttext <= list_text*\n\t\t * \thighlight <= highlight\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tList(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_list()\n\t\t\t\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.type = () => this.list_type(id)\n\t\t\tobj.text = () => this.list_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * item_index* 0\n\t\t * ```\n\t\t */\n\t\titem_index(id: any) {\n\t\t\treturn 0\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Header* $mol_text_header\n\t\t * \tminimal_height 40\n\t\t * \tlevel <= header_level*\n\t\t * \tcontent <= block_content*\n\t\t * \targ <= header_arg*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tHeader(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_header()\n\t\t\t\n\t\t\tobj.minimal_height = () => 40\n\t\t\tobj.level = () => this.header_level(id)\n\t\t\tobj.content = () => this.block_content(id)\n\t\t\tobj.arg = () => this.header_arg(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pre* $mol_text_code\n\t\t * \ttext <= pre_text*\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \tsidebar_showed <= pre_sidebar_showed\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tPre(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code()\n\t\t\t\n\t\t\tobj.text = () => this.pre_text(id)\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.sidebar_showed = () => this.pre_sidebar_showed()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cut* $mol_view dom_name \\hr\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCut(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.dom_name = () => \"hr\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table* $mol_grid\n\t\t * \thead_cells <= table_head_cells*\n\t\t * \trows <= table_rows*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.head_cells = () => this.table_head_cells(id)\n\t\t\tobj.rows = () => this.table_rows(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table_row* $mol_grid_row cells <= table_cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.table_cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Table_cell* $mol_text\n\t\t * \tauto_scroll null\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= table_cell_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tTable_cell(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.table_cell_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid* $mol_grid rows <= grid_rows*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.rows = () => this.grid_rows(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid_row* $mol_grid_row cells <= grid_cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid_row(id: any) {\n\t\t\tconst obj = new this.$.$mol_grid_row()\n\t\t\t\n\t\t\tobj.cells = () => this.grid_cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Grid_cell* $mol_text\n\t\t * \tauto_scroll null\n\t\t * \thighlight <= highlight\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \ttext <= grid_cell_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tGrid_cell(id: any) {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.auto_scroll = () => null as any\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.text = () => this.grid_cell_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * String* $mol_dimmer\n\t\t * \tdom_name \\span\n\t\t * \tneedle <= highlight\n\t\t * \thaystack <= line_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tString(id: any) {\n\t\t\tconst obj = new this.$.$mol_dimmer()\n\t\t\t\n\t\t\tobj.dom_name = () => \"span\"\n\t\t\tobj.needle = () => this.highlight()\n\t\t\tobj.haystack = () => this.line_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Span* $mol_text_span\n\t\t * \tdom_name \\span\n\t\t * \ttype <= line_type*\n\t\t * \tsub <= line_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tSpan(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_span()\n\t\t\t\n\t\t\tobj.dom_name = () => \"span\"\n\t\t\tobj.type = () => this.line_type(id)\n\t\t\tobj.sub = () => this.line_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Code_line* $mol_text_code_row\n\t\t * \tnumb_showed false\n\t\t * \thighlight <= highlight\n\t\t * \ttext <= line_text*\n\t\t * \turi_resolve* <= uri_resolve*\n\t\t * \tsyntax <= code_syntax\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCode_line(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_code_row()\n\t\t\t\n\t\t\tobj.numb_showed = () => false\n\t\t\tobj.highlight = () => this.highlight()\n\t\t\tobj.text = () => this.line_text(id)\n\t\t\tobj.uri_resolve = (id: any) => this.uri_resolve(id)\n\t\t\tobj.syntax = () => this.code_syntax()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Link* $mol_link_iconed\n\t\t * \turi <= link_uri*\n\t\t * \tcontent <= line_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLink(id: any) {\n\t\t\tconst obj = new this.$.$mol_link_iconed()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.content = () => this.line_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Link_http* $mol_link_iconed\n\t\t * \turi <= link_uri*\n\t\t * \tcontent / <= link_host*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tLink_http(id: any) {\n\t\t\tconst obj = new this.$.$mol_link_iconed()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.content = () => [\n\t\t\t\tthis.link_host(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Embed* $mol_embed_any\n\t\t * \turi <= link_uri*\n\t\t * \ttitle <= line_text*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEmbed(id: any) {\n\t\t\tconst obj = new this.$.$mol_embed_any()\n\t\t\t\n\t\t\tobj.uri = () => this.link_uri(id)\n\t\t\tobj.title = () => this.line_text(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto_scroll null\n\t\t * ```\n\t\t */\n\t\tauto_scroll() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * block_content* /\n\t\t * ```\n\t\t */\n\t\tblock_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * uri_resolve* \\\n\t\t * ```\n\t\t */\n\t\turi_resolve(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * quote_text* \\\n\t\t * ```\n\t\t */\n\t\tquote_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * highlight \\\n\t\t * ```\n\t\t */\n\t\thighlight() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * list_type* \\-\n\t\t * ```\n\t\t */\n\t\tlist_type(id: any) {\n\t\t\treturn \"-\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * list_text* \\\n\t\t * ```\n\t\t */\n\t\tlist_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * header_level* 1\n\t\t * ```\n\t\t */\n\t\theader_level(id: any) {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * header_arg* *\n\t\t * ```\n\t\t */\n\t\theader_arg(id: any) {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pre_text* \\\n\t\t * ```\n\t\t */\n\t\tpre_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * code_sidebar_showed true\n\t\t * ```\n\t\t */\n\t\tcode_sidebar_showed() {\n\t\t\treturn true\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pre_sidebar_showed <= code_sidebar_showed\n\t\t * ```\n\t\t */\n\t\tpre_sidebar_showed() {\n\t\t\treturn this.code_sidebar_showed()\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_head_cells* /\n\t\t * ```\n\t\t */\n\t\ttable_head_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_rows* /\n\t\t * ```\n\t\t */\n\t\ttable_rows(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_cells* /\n\t\t * ```\n\t\t */\n\t\ttable_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * table_cell_text* \\\n\t\t * ```\n\t\t */\n\t\ttable_cell_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_rows* /\n\t\t * ```\n\t\t */\n\t\tgrid_rows(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_cells* /\n\t\t * ```\n\t\t */\n\t\tgrid_cells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * grid_cell_text* \\\n\t\t * ```\n\t\t */\n\t\tgrid_cell_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_text* \\\n\t\t * ```\n\t\t */\n\t\tline_text(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_type* \\\n\t\t * ```\n\t\t */\n\t\tline_type(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * line_content* /\n\t\t * ```\n\t\t */\n\t\tline_content(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * code_syntax null\n\t\t * ```\n\t\t */\n\t\tcode_syntax() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * link_uri* \\\n\t\t * ```\n\t\t */\n\t\tlink_uri(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * link_host* \\\n\t\t * ```\n\t\t */\n\t\tlink_host(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_header extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * level 1\n\t\t * ```\n\t\t */\n\t\tlevel() {\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub / <= Link\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Link()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * arg *\n\t\t * ```\n\t\t */\n\t\targ() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * content /\n\t\t * ```\n\t\t */\n\t\tcontent() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\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\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLink() {\n\t\t\tconst obj = new this.$.$mol_link()\n\t\t\t\n\t\t\tobj.arg = () => this.arg()\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$mol_text_header_Link_hint' )\n\t\t\tobj.sub = () => this.content()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t}\n\t\n\texport class $mol_text_span extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\span\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"span\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\n\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 '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\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_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() )\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}\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}\\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}\\n\\n[mol_text_header] {\\n\\tdisplay: block;\\n\\ttext-shadow: 0 0;\\n\\tfont-weight: normal;\\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_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_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\\tdisplay: inline;\\n\\twidth: 100vw;\\n\\tmax-height: calc( 100vh - 6rem );\\n\\tvertical-align: top;\\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}\\n\\n[mol_text_code_line] {\\n\\tdisplay: inline-block;\\n\\twhite-space: nowrap;\\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) }","namespace $ {\n\texport class $mol_icon_chevron_down extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_icon_chevron_right extends $mol_icon {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * path \\M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\n\t\t * ```\n\t\t */\n\t\tpath() {\n\t\t\treturn \"M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z\"\n\t\t}\n\t}\n\t\n}\n\n","namespace $ {\n\texport class $mol_theme_auto extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr * mol_theme <= theme\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\tmol_theme: this.theme()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * theme \\\n\t\t * ```\n\t\t */\n\t\ttheme() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n}\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() ? '$mol_theme_light' : '$mol_theme_dark'\n\t\t}\n\n\t}\n}\n","namespace $ {\n\texport class $mol_nav extends $mol_plugin {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cycle? false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcycle(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_ctrl false\n\t\t * ```\n\t\t */\n\t\tmod_ctrl() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_shift false\n\t\t * ```\n\t\t */\n\t\tmod_shift() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * mod_alt false\n\t\t * ```\n\t\t */\n\t\tmod_alt() {\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_x? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * keys_y? /\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tkeys_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_x? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_x(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_y? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_y(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_up?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_up(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_down?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_down(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_left?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_left(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_right?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_right(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tkeydown?event <=> event_key?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tkeydown: (event?: any) => this.event_key(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event_key?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tevent_key(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n}\n\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\t// case $mol_keyboard_code.pageUp : return this.event_up( event )\n\t\t\t\t// case $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 class $mol_text_list extends $mol_text {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * auto_scroll null\n\t\t * ```\n\t\t */\n\t\tauto_scroll() {\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_list_type <= type\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_list_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Paragraph* $mol_text_list_item\n\t\t * \tindex <= item_index*\n\t\t * \tsub <= block_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tParagraph(id: any) {\n\t\t\tconst obj = new this.$.$mol_text_list_item()\n\t\t\t\n\t\t\tobj.index = () => this.item_index(id)\n\t\t\tobj.sub = () => this.block_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type \\\n\t\t * ```\n\t\t */\n\t\ttype() {\n\t\t\treturn \"\"\n\t\t}\n\t}\n\t\n\texport class $mol_text_list_item extends $mol_paragraph {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \tmol_text_list_item_index <= index\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\tmol_text_list_item_index: this.index()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * index 0\n\t\t * ```\n\t\t */\n\t\tindex() {\n\t\t\treturn 0\n\t\t}\n\t}\n\t\n}\n\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) }","namespace $ {\n\texport class $hyoo_calc extends $mol_page {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * yard $hyoo_sync_client\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tyard() {\n\t\t\tconst obj = new this.$.$hyoo_sync_client()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * formulas_default *\n\t\t * ```\n\t\t */\n\t\tformulas_default() {\n\t\t\treturn {\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * formula*?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tformula(id: any, val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head /\n\t\t * \t<= Title_edit\n\t\t * \t<= Tools\n\t\t * ```\n\t\t */\n\t\thead() {\n\t\t\treturn [\n\t\t\t\tthis.Title_edit(),\n\t\t\t\tthis.Tools()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * tools /\n\t\t * \t<= Download\n\t\t * \t<= Fork\n\t\t * \t<= New\n\t\t * \t<= Lights\n\t\t * \t<= Source\n\t\t * \t<= Online\n\t\t * ```\n\t\t */\n\t\ttools() {\n\t\t\treturn [\n\t\t\t\tthis.Download(),\n\t\t\t\tthis.Fork(),\n\t\t\t\tthis.New(),\n\t\t\t\tthis.Lights(),\n\t\t\t\tthis.Source(),\n\t\t\t\tthis.Online()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sub /\n\t\t * \t<= Head\n\t\t * \t<= Current\n\t\t * \t<= Hint\n\t\t * \t<= Body\n\t\t * ```\n\t\t */\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head(),\n\t\t\t\tthis.Current(),\n\t\t\t\tthis.Hint(),\n\t\t\t\tthis.Body()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * body / <= Cells\n\t\t * ```\n\t\t */\n\t\tbody() {\n\t\t\treturn [\n\t\t\t\tthis.Cells()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit* $mol_textarea\n\t\t * \thint \\=\n\t\t * \tvalue?val <=> formula*?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tEdit(id: any) {\n\t\t\tconst obj = new this.$.$mol_textarea()\n\t\t\t\n\t\t\tobj.hint = () => \"=\"\n\t\t\tobj.value = (val?: any) => this.formula(id, val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= col_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.col_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_head* $mol_float\n\t\t * \tdom_name \\th\n\t\t * \tsub <= row_head_content*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_head(id: any) {\n\t\t\tconst obj = new this.$.$mol_float()\n\t\t\t\n\t\t\tobj.dom_name = () => \"th\"\n\t\t\tobj.sub = () => this.row_head_content(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cell* $hyoo_calc_cell\n\t\t * \ttext <= cell_content*\n\t\t * \tselected?val <=> selected*?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCell(id: any) {\n\t\t\tconst obj = new this.$.$hyoo_calc_cell()\n\t\t\t\n\t\t\tobj.text = () => this.cell_content(id)\n\t\t\tobj.selected = (val?: any) => this.selected(id, val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * plugins /\n\t\t * \t<= Theme\n\t\t * \t<= Nav\n\t\t * ```\n\t\t */\n\t\tplugins() {\n\t\t\treturn [\n\t\t\t\tthis.Theme(),\n\t\t\t\tthis.Nav()\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event * paste?event <=> paste?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\tpaste: (event?: any) => this.paste(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttitle(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * title_default @ \\Spreedsheet\n\t\t * ```\n\t\t */\n\t\ttitle_default() {\n\t\t\treturn this.$.$mol_locale.text( '$hyoo_calc_title_default' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Title_edit $mol_string_button\n\t\t * \tvalue?val <=> title?val\n\t\t * \thint <= title_default\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTitle_edit() {\n\t\t\tconst obj = new this.$.$mol_string_button()\n\t\t\t\n\t\t\tobj.value = (val?: any) => this.title(val)\n\t\t\tobj.hint = () => this.title_default()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * download_file \\\n\t\t * ```\n\t\t */\n\t\tdownload_file() {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * download_uri?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tdownload_uri(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Download $mol_button_download\n\t\t * \thint @ \\Download CSV\n\t\t * \tfile_name <= download_file\n\t\t * \turi <= download_uri?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tDownload() {\n\t\t\tconst obj = new this.$.$mol_button_download()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Download_hint' )\n\t\t\tobj.file_name = () => this.download_file()\n\t\t\tobj.uri = () => this.download_uri()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sheet_fork? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsheet_fork(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fork_icon $mol_icon_directions_fork\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFork_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_directions_fork()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Fork $mol_button_minor\n\t\t * \thint @ \\Fork spreadsheet\n\t\t * \tclick? <=> sheet_fork?\n\t\t * \tsub / <= Fork_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tFork() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Fork_hint' )\n\t\t\tobj.click = (next?: any) => this.sheet_fork(next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Fork_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * sheet_new? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tsheet_new(next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * New_icon $mol_icon_plus_box\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNew_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_plus_box()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * New $mol_button_minor\n\t\t * \thint @ \\New spreadsheet\n\t\t * \tclick? <=> sheet_new?\n\t\t * \tsub / <= New_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNew() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_New_hint' )\n\t\t\tobj.click = (next?: any) => this.sheet_new(next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.New_icon()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Lights $mol_lights_toggle\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tLights() {\n\t\t\tconst obj = new this.$.$mol_lights_toggle()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Source $mol_link_source uri \\https://github.com/hyoo-ru/calc.hyoo.ru\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tSource() {\n\t\t\tconst obj = new this.$.$mol_link_source()\n\t\t\t\n\t\t\tobj.uri = () => \"https://github.com/hyoo-ru/calc.hyoo.ru\"\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Online $hyoo_sync_online yard <= yard\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tOnline() {\n\t\t\tconst obj = new this.$.$hyoo_sync_online()\n\t\t\t\n\t\t\tobj.yard = () => this.yard()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * pos?val \\A1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpos(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"A1\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Pos $mol_button_minor\n\t\t * \tenabled false\n\t\t * \ttitle <= pos?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tPos() {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.enabled = () => false\n\t\t\tobj.title = () => this.pos()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Edit_current $mol_textarea\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tEdit_current() {\n\t\t\tconst obj = new this.$.$mol_textarea()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint_showed?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\thint_showed(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint_trigger_icon $mol_icon_hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint_trigger_icon() {\n\t\t\tconst obj = new this.$.$mol_icon_hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint_trigger $mol_check_icon\n\t\t * \tchecked?val <=> hint_showed?val\n\t\t * \tIcon <= Hint_trigger_icon\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint_trigger() {\n\t\t\tconst obj = new this.$.$mol_check_icon()\n\t\t\t\n\t\t\tobj.checked = (val?: any) => this.hint_showed(val)\n\t\t\tobj.Icon = () => this.Hint_trigger_icon()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Current $mol_bar sub /\n\t\t * \t<= Pos\n\t\t * \t<= Edit_current\n\t\t * \t<= Hint_trigger\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCurrent() {\n\t\t\tconst obj = new this.$.$mol_bar()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Pos(),\n\t\t\t\tthis.Edit_current(),\n\t\t\t\tthis.Hint_trigger()\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * hint @ \\\n\t\t * \t\\`$.A1` - result of A1, `$$.A1` - formula of A1, `a=` - define variable, `_.a` - value of variable, `__.a` - cell id of variable, `A1:C3` - range of cells, use [**JavaScript**](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) for other.\n\t\t * \t\\**Available funcs**: {funcs}.\n\t\t * \t\\Use Alt + Arrows to switch between cells.\n\t\t * ```\n\t\t */\n\t\thint() {\n\t\t\treturn this.$.$mol_locale.text( '$hyoo_calc_hint' )\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Hint $mol_text text <= hint\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tHint() {\n\t\t\tconst obj = new this.$.$mol_text()\n\t\t\t\n\t\t\tobj.text = () => this.hint()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ids /\n\t\t * ```\n\t\t */\n\t\tcol_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ids /\n\t\t * ```\n\t\t */\n\t\trow_ids() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * head_cells /\n\t\t * ```\n\t\t */\n\t\thead_cells() {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cells* /\n\t\t * ```\n\t\t */\n\t\tcells(id: any) {\n\t\t\treturn [\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Cells $mol_grid\n\t\t * \tcol_ids <= col_ids\n\t\t * \trow_ids <= row_ids\n\t\t * \thead_cells <= head_cells\n\t\t * \tcells* <= cells*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tCells() {\n\t\t\tconst obj = new this.$.$mol_grid()\n\t\t\t\n\t\t\tobj.col_ids = () => this.col_ids()\n\t\t\tobj.row_ids = () => this.row_ids()\n\t\t\tobj.head_cells = () => this.head_cells()\n\t\t\tobj.cells = (id: any) => this.cells(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_title* \\\n\t\t * ```\n\t\t */\n\t\tcol_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_title* $mol_view sub / <= col_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_title(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.col_title(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_ins*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcol_ins(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_ins_icon* $mol_icon_chevron_down\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_ins_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_down()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_ins* $mol_button_minor\n\t\t * \thint @ \\Insert Column\n\t\t * \tclick? <=> col_ins*?\n\t\t * \tsub /\n\t\t * \t\t<= col_title*\n\t\t * \t\t<= Col_ins_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_ins(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Col_ins_hint' )\n\t\t\tobj.click = (next?: any) => this.col_ins(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.col_title(id),\n\t\t\t\tthis.Col_ins_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_right*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tcol_right(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_right_icon* $mol_icon_chevron_right\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_right_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_right()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_right* $mol_button_minor\n\t\t * \thint @ \\Move Right\n\t\t * \tclick? <=> col_right*?\n\t\t * \tsub / <= Col_right_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_right(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Col_right_hint' )\n\t\t\tobj.click = (next?: any) => this.col_right(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Col_right_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_tools* /\n\t\t * \t<= Col_ins*\n\t\t * \t<= Col_right*\n\t\t * ```\n\t\t */\n\t\tcol_tools(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Col_ins(id),\n\t\t\t\tthis.Col_right(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Col_tools* $mol_bar sub <= col_tools*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tCol_tools(id: any) {\n\t\t\tconst obj = new this.$.$mol_bar()\n\t\t\t\n\t\t\tobj.sub = () => this.col_tools(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * col_head_content* /\n\t\t * \t<= Col_title*\n\t\t * \t<= Col_tools*\n\t\t * ```\n\t\t */\n\t\tcol_head_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Col_title(id),\n\t\t\t\tthis.Col_tools(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_title* \\\n\t\t * ```\n\t\t */\n\t\trow_title(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_title* $mol_view sub / <= row_title*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_title(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.row_title(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_ins*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\trow_ins(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_ins_icon* $mol_icon_chevron_right\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_ins_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_right()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_ins* $mol_button_minor\n\t\t * \thint @ \\Insert Row\n\t\t * \tclick? <=> row_ins*?\n\t\t * \tsub /\n\t\t * \t\t<= row_title*\n\t\t * \t\t<= Row_ins_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_ins(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Row_ins_hint' )\n\t\t\tobj.click = (next?: any) => this.row_ins(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.row_title(id),\n\t\t\t\tthis.Row_ins_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_down*? null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\trow_down(id: any, next?: any) {\n\t\t\tif ( next !== undefined ) return next as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_down_icon* $mol_icon_chevron_down\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_down_icon(id: any) {\n\t\t\tconst obj = new this.$.$mol_icon_chevron_down()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_down* $mol_button_minor\n\t\t * \thint @ \\Move Down\n\t\t * \tclick? <=> row_down*?\n\t\t * \tsub / <= Row_down_icon*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_down(id: any) {\n\t\t\tconst obj = new this.$.$mol_button_minor()\n\t\t\t\n\t\t\tobj.hint = () => this.$.$mol_locale.text( '$hyoo_calc_Row_down_hint' )\n\t\t\tobj.click = (next?: any) => this.row_down(id, next)\n\t\t\tobj.sub = () => [\n\t\t\t\tthis.Row_down_icon(id)\n\t\t\t] as readonly any[]\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_tools* /\n\t\t * \t<= Row_ins*\n\t\t * \t<= Row_down*\n\t\t * ```\n\t\t */\n\t\trow_tools(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Row_ins(id),\n\t\t\t\tthis.Row_down(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Row_tools* $mol_view sub <= row_tools*\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tRow_tools(id: any) {\n\t\t\tconst obj = new this.$.$mol_view()\n\t\t\t\n\t\t\tobj.sub = () => this.row_tools(id)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * row_head_content* /\n\t\t * \t<= Row_title*\n\t\t * \t<= Row_tools*\n\t\t * ```\n\t\t */\n\t\trow_head_content(id: any) {\n\t\t\treturn [\n\t\t\t\tthis.Row_title(id),\n\t\t\t\tthis.Row_tools(id)\n\t\t\t] as readonly any[]\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * cell_content* \\\n\t\t * ```\n\t\t */\n\t\tcell_content(id: any) {\n\t\t\treturn \"\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selected*?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem_key\n\t\tselected(id: any, val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Theme $mol_theme_auto\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tTheme() {\n\t\t\tconst obj = new this.$.$mol_theme_auto()\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_col?val 1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_col(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * current_row?val 1\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tcurrent_row(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn 1\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * Nav $mol_nav\n\t\t * \tmod_alt true\n\t\t * \tkeys_x <= col_ids\n\t\t * \tkeys_y <= row_ids\n\t\t * \tcurrent_x?val <=> current_col?val\n\t\t * \tcurrent_y?val <=> current_row?val\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tNav() {\n\t\t\tconst obj = new this.$.$mol_nav()\n\t\t\t\n\t\t\tobj.mod_alt = () => true\n\t\t\tobj.keys_x = () => this.col_ids()\n\t\t\tobj.keys_y = () => this.row_ids()\n\t\t\tobj.current_x = (val?: any) => this.current_col(val)\n\t\t\tobj.current_y = (val?: any) => this.current_row(val)\n\t\t\t\n\t\t\treturn obj\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * paste?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tpaste(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t}\n\t\n\texport class $hyoo_calc_cell extends $mol_text {\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * dom_name \\td\n\t\t * ```\n\t\t */\n\t\tdom_name() {\n\t\t\treturn \"td\"\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * event *\n\t\t * \t^\n\t\t * \tclick?event <=> click?event\n\t\t * ```\n\t\t */\n\t\tevent() {\n\t\t\treturn {\n\t\t\t\t...super.event(),\n\t\t\t\tclick: (event?: any) => this.click(event)\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * attr *\n\t\t * \t^\n\t\t * \thyoo_calc_cell_selected <= selected?val\n\t\t * \thyoo_calc_cell_type <= type?val\n\t\t * ```\n\t\t */\n\t\tattr() {\n\t\t\treturn {\n\t\t\t\t...super.attr(),\n\t\t\t\thyoo_calc_cell_selected: this.selected(),\n\t\t\t\thyoo_calc_cell_type: this.type()\n\t\t\t} as Record< string, any >\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * click?event null\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tclick(event?: any) {\n\t\t\tif ( event !== undefined ) return event as never\n\t\t\treturn null as any\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * selected?val false\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\tselected(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn false\n\t\t}\n\t\t\n\t\t/**\n\t\t * ```tree\n\t\t * type?val \\\n\t\t * ```\n\t\t */\n\t\t@ $mol_mem\n\t\ttype(val?: any) {\n\t\t\tif ( val !== undefined ) return val as never\n\t\t\treturn \"\"\n\t\t}\n\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}: {\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} ) {\n\t\t\n\t\tif( !update ) update = ( next, prev, lead )=> insert( next, drop( prev, lead ) )\n\t\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\tif( to > prev.length ) $mol_fail( new RangeError( `To(${ to }) greater then length(${ prev.length })` ) )\n\t\tif( from > to ) $mol_fail( new RangeError( `From(${ to }) greater then to(${ to })` ) )\n\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 = prev[p]\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 = 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}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\t\n}\n","namespace $ {\n\t\n\texport class $hyoo_crowd_dict extends $hyoo_crowd_node {\n\t\t\n\t\tkeys( next?: string[] ) {\n\t\t\t\n\t\t\tconst prev = this.units()\n\t\t\tif( !next ) return prev.map( unit => String( unit.data ) )\n\n\t\t\t$mol_reconcile({\n\t\t\t\tprev,\n\t\t\t\tfrom: 0,\n\t\t\t\tto: prev.length,\n\t\t\t\tnext,\n\t\t\t\tequal: ( next, prev )=> prev.data === next,\n\t\t\t\tdrop: ( prev, lead )=> this.land.wipe( prev ),\n\t\t\t\tinsert: ( next, lead )=> this.land.put(\n\t\t\t\t\tthis.head,\n\t\t\t\t\t$mol_int62_hash_string( next + '\\n' + this.head ),\n\t\t\t\t\tlead?.self ?? '0_0',\n\t\t\t\t\tnext,\n\t\t\t\t),\n\t\t\t})\n\t\t\t\n\t\t\treturn next\n\t\t}\n\t\t\n\t\tsub< Node extends typeof $hyoo_crowd_node >( key: string, Node: Node ) {\n\t\t\tthis.add( key )\n\t\t\treturn new Node( this.land, $mol_int62_hash_string( key + '\\n' + this.head ) ) as InstanceType< Node >\n\t\t}\n\t\t\n\t\thas( key: string ) {\n\t\t\t\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( unit.data === key ) return true \n\t\t\t}\n\t\t\t\n\t\t\treturn false\n\t\t}\n\t\t\n\t\tadd( key: string ) {\n\t\t\tif( this.has( key ) ) return\n\t\t\tthis.keys([ ... this.keys(), key ])\n\t\t}\n\t\t\n\t\tdrop( key: string ) {\n\t\t\t\n\t\t\tfor( const unit of this.units() ) {\n\t\t\t\tif( unit.data !== key ) continue\n\t\t\t\tthis.land.wipe( unit )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n}\n","namespace $ {\n\t\n\texport class $hyoo_calc_sheet extends $hyoo_crowd_struct {\n\t\t\n\t\t@ $mol_mem\n\t\tchangable() {\n\t\t\treturn this.land.level( '' ) >= $hyoo_crowd_peer_level.mod\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\ttitle( next?: string ) {\n\t\t\treturn this.sub( 'title', $hyoo_crowd_reg ).str( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tformula_node() {\n\t\t\treturn this.sub( 'formula', $hyoo_crowd_dict )\n\t\t}\n\t\t\n\t\t@ $mol_mem_key\n\t\tformula( cell: string, next?: string ) {\n\t\t\tif( !next && !this.cells().includes( cell ) ) return next ?? ''\n\t\t\treturn this.formula_node().sub( cell, $hyoo_crowd_reg ).str( next )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tcells() {\n\t\t\treturn this.formula_node().keys()\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsteal( donor: $hyoo_calc_sheet ) {\n\t\t\t\n\t\t\tthis.title( donor.title() )\n\t\t\t\n\t\t\tfor( const cell of donor.cells() ) {\n\t\t\t\tthis.formula( cell, donor.formula( cell ) )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t}\n\n}\n","namespace $ {\n\n\t/**\n\t * Sandbox for javascript code from user.\n\t * @see https://sandbox.js.hyoo.ru/\n\t */\n\texport class $mol_func_sandbox {\n\t\t\n\t\tstatic blacklist = new Set([\n\t\t\t( function() {} ).constructor ,\n\t\t\t( async function() {} ).constructor ,\n\t\t\t( function*() {} ).constructor ,\n\t\t\t( async function*() {} ).constructor ,\n\t\t\teval ,\n\t\t\tsetTimeout ,\n\t\t\tsetInterval ,\n\t\t])\n\n\t\tstatic whitelist = new WeakSet()\n\n\t\tstatic _make : ( contexts : Object[] )=> ( code : string )=> ()=> any\n\n\t\tstatic get make() {\n\n\t\t\tif( this._make ) return this._make\n\t\t\t\n\t\t\tconst frame = $mol_dom_context.document.createElement( 'iframe' )\n\n\t\t\tframe.style.display = 'none'\n\t\t\t$mol_dom_context.document.body.appendChild( frame )\n\n\t\t\tconst win = frame.contentWindow as any as typeof globalThis\n\t\t\tconst SafeFunc = win.Function\n\t\t\tconst SafeJSON = win.JSON\n\t\t\t\n\t\t\twin.eval( `\n\n\t\t\t\tvar AsyncFunction = AsyncFunction || ( async function() {} ).constructor\n\t\t\t\tvar GeneratorFunction = GeneratorFunction || ( function*() {} ).constructor\n\t\t\t\tvar AsyncGeneratorFunction = AsyncGeneratorFunction || ( async function*() {} ).constructor\n\n\t\t\t\tObject.defineProperty( Function.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( AsyncFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( GeneratorFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\tObject.defineProperty( AsyncGeneratorFunction.prototype , 'constructor' , { value : undefined } )\n\t\t\t\t\n\t\t\t\tdelete Object.prototype.__proto__\n\n\t\t\t\tfor( const Class of [\n\t\t\t\t\tString , Number , BigInt , Boolean , Array , Object , Promise , Symbol , RegExp , \n\t\t\t\t\tWindow, Error , RangeError , ReferenceError , SyntaxError , TypeError ,\n\t\t\t\t\tFunction , AsyncFunction , GeneratorFunction , AsyncGeneratorFunction\n\t\t\t\t] ) {\n\t\t\t\t\tObject.freeze( Class )\n\t\t\t\t\tObject.freeze( Class.prototype )\n\t\t\t\t}\n\n\t\t\t\tfor( const key of Object.getOwnPropertyNames( window ) ) delete window[ key ]\n\n\t\t\t` )\n\n\t\t\t// Stop event-loop and break all async operations\n\t\t\t$mol_dom_context.document.body.removeChild( frame )\n\t\t\t\n\t\t\tlet context_default = {} as Record< string, any >\n\n\t\t\tfunction clean( obj : object ) {\n\n\t\t\t\tfor( let name of Object.getOwnPropertyNames( obj ) ) {\n\t\t\t\t\tcontext_default[ name ] = undefined\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tconst proto = Object.getPrototypeOf( obj )\n\t\t\t\tif( proto ) clean( proto )\n\n\t\t\t}\n\t\t\tclean( win )\n\n\t\t\tconst is_primitive = ( val : any )=> Object( val ) !== val\n\n\t\t\tconst safe_value = ( val : any ) : any => {\n\n\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\tif( this.blacklist.has( val ) ) return undefined\n\t\t\t\tif( this.whitelist.has( val ) ) return val\n\t\t\t\t\n\t\t\t\tconst str = JSON.stringify( val )\n\t\t\t\tif( !str ) return str\n\n\t\t\t\tval = SafeJSON.parse( str )\n\t\t\t\tthis.whitelist.add( val )\n\t\t\t\treturn val\n\n\t\t\t}\n\n\t\t\tconst safe_derived = ( val : any ) : any => {\n\t\t\t\t\n\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\t\n\t\t\t\tconst proxy = new Proxy( val , {\n\n\t\t\t\t\tget( val , field : any ) {\n\t\t\t\t\t\tif( field === 'valueOf' ) return safe_derived( val[field] )\n\t\t\t\t\t\tif( field === 'toString' ) return safe_derived( val[field] )\n\t\t\t\t\t\treturn safe_value( val[field] )\n\t\t\t\t\t},\n\t\t\t\t\t\n\t\t\t\t\tset() { return false },\n\t\t\t\t\tdefineProperty() { return false },\n\t\t\t\t\tdeleteProperty() { return false },\n\t\t\t\t\tpreventExtensions() { return false },\n\t\t\t\t\t\n\t\t\t\t\tapply( val , host , args ) {\n\t\t\t\t\t\treturn safe_value( val.call( host , ... args ) )\n\t\t\t\t\t},\n\n\t\t\t\t\tconstruct( val , args ) {\n\t\t\t\t\t\treturn safe_value( new val( ... args ) )\n\t\t\t\t\t},\n\n\t\t\t\t})\n\n\t\t\t\tthis.whitelist.add( proxy )\n\n\t\t\t\treturn proxy\n\t\t\t}\n\n\t\t\treturn this._make = ( ( ... contexts : Record< string, any >[] )=> {\n\n\t\t\t\tconst context_merged = {} as Record< string, any >\n\n\t\t\t\tfor( let context of contexts ) {\n\t\t\t\t\tfor( let name of Object.getOwnPropertyNames( context ) ) {\n\t\t\t\t\t\tcontext_merged[ name ] = safe_derived( context[ name ] )\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst vars = Object.keys( context_merged )\n\t\t\t\tconst values = vars.map( name => context_merged[ name ] )\n\t\n\t\t\t\treturn ( code : string )=> {\n\n\t\t\t\t\tconst func = new SafeFunc( ... vars , '\"use strict\";' + code )\n\t\t\t\t\t\t.bind( null , ... values )\n\t\t\t\t\t\n\t\t\t\t\treturn ()=> {\n\n\t\t\t\t\t\tconst val = func()\n\t\t\t\t\t\tif( is_primitive( val ) ) return val\n\t\t\t\t\t\t\n\t\t\t\t\t\tthis.whitelist.add( val )\n\n\t\t\t\t\t\treturn val\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t} ).bind( null , context_default )\n\n\t\t}\n\n\t\tconstructor( ... contexts : Object[] ) {\n\t\t\tthis.contexts = contexts\n\t\t}\n\n\t\tcontexts : Object[]\n\t\t\n\t\t_eval : ( ( code : string )=> ()=> any ) | undefined\n\t\tget eval() {\n\t\t\tif( this._eval ) return this._eval\n\t\t\treturn this._eval = $mol_func_sandbox.make( ... this.contexts as [Object[]] )\n\t\t}\n\n\t}\n\n}\n","namespace $ {\n\n\texport function $mol_offline( ) {}\n\n}\n","namespace $ {\n\ttry {\n\t\t$mol_offline()\n\t} catch( error ) {\n\t\tconsole.error( error )\n\t}\n}\n","namespace $.$$ {\n\n\texport class $hyoo_calc extends $.$hyoo_calc {\n\t\t\n\t\t@ $mol_mem\n\t\tsheet_fund() {\n\t\t\treturn this.yard().world().Fund( $hyoo_calc_sheet )\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tsheet() {\n\t\t\t\n\t\t\tconst id = $mol_int62_string_ensure( this.$.$mol_state_arg.value( 'sheet' ) )\n\t\t\tif( !id ) return null\n\t\t\t\n\t\t\treturn this.sheet_fund().Item( id )\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsheet_new() {\n\t\t\tconst sheet = this.sheet_fund().make()\n\t\t\tthis.$.$mol_state_arg.go({ sheet: sheet.land.id() })\n\t\t\treturn sheet\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tsheet_fork() {\n\t\t\t\n\t\t\tconst prev = this.sheet()\n\t\t\t\n\t\t\tconst title = this.title()\n\t\t\tconst formulas = this.formulas()\n\t\t\t\n\t\t\tconst next = this.sheet_new()\n\t\t\t\n\t\t\tif( prev ) {\n\t\t\t\t\n\t\t\t\tnext.steal( prev )\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tnext.title( title )\n\t\t\t\t\n\t\t\t\tfor( let cell in formulas ) {\n\t\t\t\t\tnext.formula( cell, formulas[ cell ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn next\n\t\t}\n\n\t\t@ $mol_action\n\t\tsheet_changable() {\n\t\t\tconst sheet = this.sheet()\n\t\t\tif( sheet?.changable() ) return sheet\n\t\t\treturn this.sheet_fork()\n\t\t}\n\t\t\n\t\t@ $mol_mem\n\t\tformulas_default() {\n\t\t\tconst source = this.$.$mol_state_arg.value( 'source' )\n\t\t\tif( source ) {\n\t\t\t\treturn this.$.$mol_fetch.json( source ) as Record< string, string >\n\t\t\t}\n\t\t\treturn this.$.$mol_state_arg.dict()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tformulas() {\n\t\t\t\n\t\t\tconst formulas = {} as { [ key : string ] : string }\n\t\t\t\n\t\t\tconst sheet = this.sheet()\n\t\t\tif( sheet ) {\n\t\t\t\t\n\t\t\t\tfor( const cell of sheet.cells() ) {\n\t\t\t\t\tformulas[ cell ] = sheet.formula( cell )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tlet args = this.formulas_default()\n\t\t\t\tconst ids = Object.keys( args ).filter( param => this.id2coord( param ) )\n\t\t\t\tfor( let id of ids ) formulas[ id ] = args[ id ]\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\treturn formulas\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tformula_name( id : string ) {\n\t\t\t\n\t\t\tconst found = /^([\\p{Letter}_]*)\\s*=/u.exec( this.formulas()[ id ] )\n\t\t\tif( !found ) return null\n\n\t\t\treturn found[1]\n\t\t}\n\n\t\t@ $mol_mem\n\t\trefs() {\n\t\t\t\n\t\t\tconst formulas = this.formulas()\n\t\t\tconst vars = {} as Record< string , string >\n\t\t\t\n\t\t\tfor( const id in formulas ) {\n\t\t\t\t\n\t\t\t\tconst name = this.formula_name( id )\n\t\t\t\tif( !name ) continue\n\n\t\t\t\tif( vars[ name ] ) throw new Error( `Names conflict: ${ id }, ${ vars[ name ] }` )\n\t\t\t\t\n\t\t\t\tvars[ name ] = id\n\t\t\t}\n\n\t\t\treturn vars\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tid2coord( id : string ) : [ number , number ] | null {\n\t\t\t\n\t\t\tconst parsed = /^([A-Z]+)(\\d+)$/i.exec( id )\n\t\t\tif( !parsed ) return null\n\n\t\t\treturn [ this.string2number( parsed[1].toUpperCase() ) , Number( parsed[2] ) ]\n\t\t}\n\n\t\tcoord2id( coord : [ number , number ] ) : string {\n\t\t\treturn `${ this.number2string( coord[0] ) }${ coord[1] }`\n\t\t}\n\n\t\t@ $mol_mem\n\t\tdimensions() {\n\n\t\t\tconst dims = {\n\t\t\t\trows : 3 ,\n\t\t\t\tcols : 3 ,\n\t\t\t}\n\n\t\t\tfor( let key of Object.keys( this.formulas() ) ) {\n\t\t\t\tconst coord = this.id2coord( key )!\n\n\t\t\t\tconst rows = coord[1] + 2\n\t\t\t\tconst cols = coord[0] + 2\n\t\t\t\t\n\t\t\t\tif( rows > dims.rows ) dims.rows = rows\n\t\t\t\tif( cols > dims.cols ) dims.cols = cols\n\t\t\t}\n\t\t\t\n\t\t\treturn dims\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcol_ids() {\n\t\t\treturn Array( this.dimensions().cols ).join(' ').split(' ').map( ( _ , i )=> i + 1 )\n\t\t}\n\n\t\t@ $mol_mem\n\t\trow_ids() {\n\t\t\treturn Array( this.dimensions().rows ).join(' ').split(' ').map( ( _ , i )=> i + 1 )\n\t\t}\n\n\t\tnumber2string( numb : number ) {\n\t\t\t\n\t\t\tif( numb <= 0 ) return ''\n\t\t\tnumb --\n\t\t\t\n\t\t\tconst letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'\n\t\t\tlet str = ''\n\t\t\t\n\t\t\tdo {\n\t\t\t\tstr = letters[ numb % 26 ] + str\n\t\t\t\tnumb = Math.floor( numb / 26 )\n\t\t\t} while ( numb )\n\t\t\t\n\t\t\treturn str\n\t\t}\n\n\t\tstring2number( str : string ) {\n\t\t\tlet numb = 0\n\t\t\tfor( let symb of str.split( '' ) ) {\n\t\t\t\tnumb = numb * 26\n\t\t\t\tnumb += symb.charCodeAt( 0 ) - 65\n\t\t\t}\n\t\t\treturn numb + 1\n\t\t}\n\n\t\t@ $mol_mem\n\t\ttitle( next? : string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn this.sheet()?.title() ?? this.$.$mol_state_arg.value( `title` ) ?? super.title()\n\t\t\t} else {\n\t\t\t\treturn this.sheet_changable().title( next )\n\t\t\t}\n\t\t}\n\n\t\tcol_title( id : number ) {\n\t\t\treturn this.number2string( id )\n\t\t}\n\n\t\tcol_head_content( id: number ) {\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tif( coord[0] !== id ) return [ this.Col_title(id) ]\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Col_title(id),\n\t\t\t\tthis.Col_tools(id),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\trow_title( id : number ) {\n\t\t\treturn String( id )\n\t\t}\n\n\t\trow_head_content( id: number ) {\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tif( coord[1] !== id ) return [ this.Row_title(id) ]\n\t\t\t\n\t\t\treturn [\n\t\t\t\tthis.Row_title(id),\n\t\t\t\tthis.Row_tools(id),\n\t\t\t]\n\t\t\t\n\t\t}\n\n\t\t@ $mol_mem\n\t\thead_cells() {\n\t\t\treturn [ this.Col_head( 0 ) , ... this.col_ids().map( colId => this.Col_head( colId ) ) ]\n\t\t}\n\t\t\n\t\tcells( row_id : number ) {\n\t\t\treturn [ this.Row_head( row_id ) , ... this.col_ids().map( col_id => this.Cell( this.coord2id([ col_id , row_id ]) ) ) ]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tselected( id : string , next? : boolean ) {\n\t\t\treturn this.Cell( this.pos( next ? id : undefined ) ) === this.Cell( id )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tpos( next? : string ) : string {\n\t\t\tif( next !== $mol_mem_cached( ()=> this.pos() ) ) {\n\t\t\t\tnew $mol_after_frame( ()=> {\n\t\t\t\t\tthis.Edit_current().Edit().focused( true )\n\t\t\t\t\tthis.ensure_visible( this.Cell( next ), 'nearest' )\n\t\t\t\t} )\n\t\t\t}\n\t\t\treturn next || super.pos()\n\t\t}\n\n\t\t@ $mol_mem\n\t\tcoord( next? : [ number , number ] ) {\n\t\t\treturn this.id2coord( this.pos( next && this.coord2id( next ) ) )!\n\t\t}\n\n\t\tEdit_current() {\n\t\t\treturn this.Edit( this.pos() )\n\t\t}\n\n\t\tcurrent_row( next? : number ) {\n\t\t\treturn this.coord( next === undefined ? undefined : [ this.coord()[0] , next ] )[ 1 ]\n\t\t}\n\n\t\tcurrent_col( next? : number ) {\n\t\t\treturn this.coord( next === undefined ? undefined : [ next , this.coord()[1] ] )[ 0 ]\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tformula( id : string , next? : string ) {\n\t\t\tif( next === undefined ) {\n\t\t\t\treturn this.sheet()?.formula( id, next ) || this.formulas_default()[ id ] || ''\n\t\t\t} else {\n\t\t\t\treturn this.sheet_changable().formula( id, next )\n\t\t\t}\n\t\t}\n\n\t\tformula_current( next? : string ) {\n\t\t\treturn this.formula( this.pos() , next )\n\t\t}\n\n\t\t@ $mol_mem\n\t\tsandbox() {\n\t\t\treturn new $mol_func_sandbox( Math , {\n\n\t\t\t\t'$' : new Proxy( {} , { get : ( _ , id : string ) : any => {\n\t\t\t\t\treturn this.result( id )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'$$' : new Proxy( {} , { get : ( _ , id : string ) : any => {\n\t\t\t\t\treturn this.formula( id )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'_' : new Proxy( {} , { get : ( _ , name : string ) : any => {\n\t\t\t\t\treturn this.result( this.refs()[ name ] )\n\t\t\t\t} } ) ,\n\t\t\t\t\n\t\t\t\t'__' : new Proxy( {} , { get : ( _ , name : string ) : any => {\n\t\t\t\t\treturn this.refs()[ name ]\n\t\t\t\t} } ) ,\n\n\t\t\t\t'RANGE' : ( from : string , to : string )=> this.results([ from , to ]) ,\n\n\t\t\t\t'SUM' : ( values : number[] )=> values.reduce( ( accum , item ) => accum + item , 0 ) ,\n\t\t\t\t\n\t\t\t\t'AVG' : ( values : number[] )=> values.reduce( ( accum , item ) => accum + item , 0 ) / values.length ,\n\n\t\t\t\t'MAX' : ( values : number[] )=> values.reduce( ( max , item ) => item > max ? item : max , Number.NEGATIVE_INFINITY ) ,\n\n\t\t\t\t'MIN' : ( values : number[] )=> values.reduce( ( min , item ) => item < min ? item : min , Number.POSITIVE_INFINITY ) ,\n\n\t\t\t} )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tresults( range : [ string , string ] ) {\n\t\t\t\n\t\t\tconst start = this.id2coord( range[0] )!\n\t\t\tconst end = this.id2coord( range[1] )!\n\n\t\t\tconst results = [] as unknown[]\n\n\t\t\tfor( let row = start[0] ; row <= end[0] ; ++row ) {\n\t\t\t\tfor( let col = start[1] ; col <= end[1] ; ++col ) {\n\t\t\t\t\tresults.push( this.result( this.coord2id([ row , col ]) ) )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn results\n\n\t\t}\n\n\t\tsub() {\n\t\t\treturn [\n\t\t\t\tthis.Head() ,\n\t\t\t\tthis.Current() ,\n\t\t\t\t... this.hint_showed() ? [ this.Hint() ] : [] ,\n\t\t\t\tthis.Body() ,\n\t\t\t]\n\t\t}\n\n\t\t@ $mol_mem\n\t\thint() {\n\t\t\treturn super.hint().replace( '{funcs}' , Object.getOwnPropertyNames( Math ).map( name => \"`\" + name + \"`\" ).join( ', ' ) )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tcell_content( id : string ) : string {\n\t\t\t\n\t\t\tconst name = this.formula_name( id )\n\t\t\t\n\t\t\tlet val = this.result( id )\n\t\t\tif( typeof val === 'object' ) val = JSON.stringify( val )\n\n\t\t\treturn name ? `${name} = ${val}` : String( val )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tfunc( id : string ) {\n\t\t\tconst formula = this.formula( id )\n\t\t\tif( !/^([\\p{Letter}_]*)?\\s*=/u.test( formula ) ) return ()=> formula\n\t\t\t\n\t\t\tconst code = 'return ' + formula\n\t\t\t.replace( /([A-Z]+[0-9]+):([A-Z]+[0-9]+)/g , ( found : string , from : string , to : string )=> `RANGE('${ from.toLowerCase() }','${ to.toLowerCase() }')` )\n\t\t\t.replace( /@([A-Z]+[0-9]+)\\b/g , '$$.$1' )\n\t\t\t.replace( /([^.])([A-Z]+[0-9]+)\\b/g , '$1$.$2' )\n\t\t\t.replace( /^([\\p{Letter}_]*)?\\s*=/u , '' )\n\t\t\t\n\t\t\treturn this.sandbox().eval( code )\n\t\t}\n\n\t\t@ $mol_mem_key\n\t\tresult( id : string ) : string | number {\n\t\t\t$mol_wire_solid()\n\t\t\tconst res = this.func( id )()\n\t\t\tif( res === undefined ) return ''\n\t\t\tif( res === '' ) return ''\n\t\t\tif( isNaN( res ) ) return res\n\t\t\tif( res && typeof res === 'object' ) return JSON.stringify( res )\n\t\t\treturn Number( res )\n\t\t}\n\n\t\tpaste( event : ClipboardEvent ) {\n\t\t\t\n\t\t\tconst table = event.clipboardData!.getData( 'text/plain' ).trim().split( '\\n' ).map( row => row.split( '\\t' ) ) as string[][]\n\t\t\tif( table.length === 1 && table[0].length === 1 ) return\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\n\t\t\tconst [ col_start , row_start ] = this.id2coord( this.pos() )!\n\n\t\t\tfor( let row in table ) {\n\t\t\t\tfor( let col in table[ row ] ) {\n\t\t\t\t\tconst id = this.coord2id([ col_start + Number( col ) , row_start + Number( row ) ])\n\t\t\t\t\tsheet.formula( id, table[ row ][ col ] )\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tevent.preventDefault()\n\t\t}\n\n\t\tdownload_file() {\n\t\t\treturn `${ this.title() }.csv`\n\t\t}\n\n\t\tdownload_uri() {\n\n\t\t\tconst table : string[][] = []\n\t\t\tconst dims = this.dimensions()\n\n\t\t\tfor( let row = 1 ; row < dims.rows ; ++ row ) {\n\n\t\t\t\tconst row_data = [] as any[]\n\t\t\t\ttable.push( row_data )\n\t\t\t\t\n\t\t\t\tfor( let col = 0 ; col < dims.cols ; ++ col ) {\n\t\t\t\t\trow_data[ col ] = String( this.result( this.coord2id([ col , row ]) ) )\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\tconst content = table.map( row => row.map( val => `\"${ val.replace( /\"/g , '\"\"' ) }\"` ).join( ';' ) ).join( '\\n' )\n\n\t\t\treturn `data:text/csv;charset=utf-8,${ encodeURIComponent( content ) }`\n\t\t\t\n\t\t}\n\t\t\n\t\t@ $mol_action\n\t\tcol_ins( col: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[0] < col ) {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t} else {\n\t\t\t\t\tif( coord[0] === col ) sheet.formula( id, '' )\n\t\t\t\t\tsheet.formula( this.coord2id([ coord[0] + 1, coord[1] ]), prev[ id ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\trow_ins( row: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[1] < row ) {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t} else {\n\t\t\t\t\tif( coord[1] === row ) sheet.formula( id, '' )\n\t\t\t\t\tsheet.formula( this.coord2id([ coord[0], coord[1] + 1 ]), prev[ id ] )\n\t\t\t\t}\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\tcol_right( col: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[0] === col ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0] + 1, coord[1] ])\n\t\t\t\t} else if( coord[0] === col + 1 ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0] - 1, coord[1] ])\n\t\t\t\t} else {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsheet.formula( pair, prev[ id ] || '' )\n\t\t\t\tsheet.formula( id, prev[ pair ] || '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tthis.coord([ coord[0] + 1, coord[1] ])\n\t\t\t\n\t\t}\n\n\t\t@ $mol_action\n\t\trow_down( row: number ) {\n\t\t\t\n\t\t\tconst sheet = this.sheet_changable()\n\t\t\tconst prev = this.formulas()\n\t\t\t\n\t\t\tfor( const id in prev ) {\n\t\t\t\t\n\t\t\t\tconst coord = this.id2coord( id )!\n\t\t\t\t\n\t\t\t\tif( coord[1] === row ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0], coord[1] + 1 ])\n\t\t\t\t} else if( coord[1] === row + 1 ) {\n\t\t\t\t\tvar pair = this.coord2id([ coord[0], coord[1] - 1 ])\n\t\t\t\t} else {\n\t\t\t\t\tsheet.formula( id, prev[ id ] )\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tsheet.formula( pair, prev[ id ] || '' )\n\t\t\t\tsheet.formula( id, prev[ pair ] || '' )\n\t\t\t\t\n\t\t\t}\n\t\t\t\n\t\t\tconst coord = this.coord()\n\t\t\tthis.coord([ coord[0], coord[1] + 1 ])\n\t\t\t\n\t\t}\n\n\t}\n\n\texport class $hyoo_calc_cell extends $.$hyoo_calc_cell {\n\n\t\tclick( event? : Event ) {\n\t\t\tif( event ) this.selected( true )\n\t\t}\n\n\t\ttype() {\n\t\t\tconst value = this.text()\n\t\t\treturn isNaN( Number( value ) ) ? 'string' : 'number'\n\t\t}\n\n\t}\n\n}\n","namespace $ { $mol_style_attach( \"hyoo/calc/calc.view.css\",\n \"[hyoo_calc_title_edit]:enabled {\\n\\twidth: auto;\\n\\tflex: 1000 1 auto;\\n}\\n\\n[hyoo_calc_tools] {\\n\\tflex-grow: 0;\\n}\\n\\n[hyoo_calc_current] {\\n\\tflex: none;\\n}\\n\\n[hyoo_calc_pos] {\\n\\tflex: none;\\n\\twidth: 2.5rem;\\n\\tfont-family: monospace;\\n\\talign-items: flex-start;\\n}\\n\\n[hyoo_calc_edit] {\\n\\tflex-shrink: 1;\\n}\\n\\n[hyoo_calc_hint] {\\n\\tmax-width: none;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_hint_trigger] {\\n\\talign-items: center;\\n}\\n\\n[hyoo_calc_body] {\\n\\tscroll-padding: 2.5rem;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cells][hyoo_calc_cells] {\\n\\tflex-shrink: 0;\\n\\talign-self: flex-start;\\n}\\n\\n[hyoo_calc_col_head] ,\\n[hyoo_calc_row_head] {\\n\\tfont-family: monospace;\\n\\tbackground: var(--mol_theme_back);\\n\\tcolor: var(--mol_theme_shade);\\n\\tuser-select: none;\\n\\tfont-weight: inherit;\\n}\\n\\n[hyoo_calc_col_head]:has( [hyoo_calc_col_tools] ) {\\n\\tz-index: 5;\\n}\\n\\n[hyoo_calc_col_head] {\\n\\ttext-align: left;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n\\tmin-width: 5rem;\\n}\\n\\n[hyoo_calc_col_title] {\\n\\tpadding: var(--mol_gap_text);\\n\\tdisplay: inline-flex;\\n\\tvertical-align: top;\\n}\\n\\n[hyoo_calc_col_tools] {\\n\\tdisplay: inline-flex;\\n\\tposition: absolute;\\n\\tbackground: var(--mol_theme_back);\\n\\tz-index: 1;\\n\\tleft: 0;\\n\\tbox-shadow: 0 0 0.5rem hsl(0deg 0% 0% / 25%);\\n}\\n\\n[hyoo_calc_col_tools] > [mol_button_minor] {\\n\\tbackground: var(--mol_theme_card);\\n\\tjustify-content: center;\\n}\\n\\n[hyoo_calc_col_ins_icon] {\\n position: absolute;\\n\\tbottom: -0.25rem;\\n}\\n\\n[hyoo_calc_cells_row]:has( [hyoo_calc_cell_selected=\\\"true\\\"] ) > [hyoo_calc_row_head] {\\n\\tz-index: 5;\\n}\\n\\n[hyoo_calc_row_head] {\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n\\twhite-space: nowrap;\\n}\\n\\n[hyoo_calc_row_title] {\\n\\tpadding: var(--mol_gap_text);\\n\\tdisplay: inline-flex;\\n\\tvertical-align: top;\\n}\\n\\n[hyoo_calc_row_tools] {\\n\\tposition: absolute;\\n\\tbackground: var(--mol_theme_back);\\n\\tflex-direction: column;\\n\\tz-index: 1;\\n\\ttop: 0;\\n\\tleft: 1px;\\n\\tbox-shadow: 0 0 0.5rem hsl(0deg 0% 0% / 25%);\\n}\\n\\n[hyoo_calc_row_tools] > [mol_button_minor] {\\n\\tbackground: var(--mol_theme_card);\\n}\\n\\n[hyoo_calc_row_ins_icon] {\\n position: absolute;\\n right: 0px;\\n}\\n\\n[hyoo_calc_cell] {\\n\\tuser-select: text;\\n\\tborder-radius: 0;\\n\\tdisplay: table-cell;\\n\\twhite-space: normal;\\n\\tword-break: normal;\\n\\tvertical-align: top;\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cell_rows] {\\n\\tpadding: 0;\\n}\\n\\n[hyoo_calc_cell_selected] {\\n\\tbox-shadow: 0 0 0 1px var(--mol_theme_current);\\n\\tz-index: 5;\\n\\tposition: relative;\\n\\tborder-radius: var(--mol_gap_round);\\n}\\n\\n[hyoo_calc_cell_type=\\\"number\\\"] {\\n\\ttext-align: right;\\n}\\n\"\n) }",null,"namespace $ {\n\n\texport function $mol_test( set : { [ name : string ] : string | ( ( context : $ )=> void ) } ) {\n\t\t\n\t\tfor( let name in set ) {\n\n\t\t\tconst code = set[ name ]\n\t\t\tconst test = ( typeof code === 'string' ) ? new Function( '' , code ) as ()=> void : code\n\t\t\t\n\t\t\t$mol_test_all.push( test )\n\t\t}\n\n\t\t$mol_test_schedule()\n\t}\n\n\texport let $mol_test_mocks = [] as Array< ( context : $ )=> void >\n\n\texport const $mol_test_all = [] as Array< ( context : $ )=> any >\n\n\texport async function $mol_test_run() {\n\n\t\tfor( var test of $mol_test_all ) {\n\n\t\t\tlet context = Object.create( $$ )\n\t\t\tfor( let mock of $mol_test_mocks ) await mock( context )\n\t\t\t\n\t\t\tconst res = test( context )\n\t\t\tif( $mol_promise_like( res ) ) {\n\t\t\t\tawait new Promise( ( done, fail )=> {\n\t\t\t\t\tres.then( done, fail )\n\t\t\t\t\tsetTimeout( ()=> fail( new Error( 'Test timeout: ' + test.name ) ), 1000 )\n\t\t\t\t} )\n\t\t\t}\n\t\t\t\n\t\t}\n\t\t\n\t\t$$.$mol_log3_done({\n\t\t\tplace: '$mol_test',\n\t\t\tmessage: 'All tests passed',\n\t\t\tcount: $mol_test_all.length,\n\t\t})\n\t\t\n\t}\n\t\n\tlet scheduled = false\n\texport function $mol_test_schedule() {\n\n\t\tif( scheduled ) return\n\t\tscheduled = true\n\n\t\tsetTimeout( async ()=> {\n\t\t\t\n\t\t\tscheduled = false\n \t\t\t\n\t\t\tawait $mol_test_run()\n\t\t\t$$.$mol_test_complete()\n\t\t\t\n\t\t} , 1000 )\n\t\t\n\t}\n\n\t$mol_test_mocks.push( context => {\n\t\tlet seed = 0\n\n\t\tcontext.Math = Object.create( Math )\n\t\tcontext.Math.random = ()=> Math.sin( seed++ )\n\n\t\tconst forbidden = [ 'XMLHttpRequest' , 'fetch' ] as const\n\n\t\tfor( let api of forbidden ) {\n\t\t\tcontext[ api ] = new Proxy( function(){} as any , {\n\t\t\t\tget() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t\tapply() {\n\t\t\t\t\t$mol_fail_hidden( new Error( `${ api } is forbidden in tests` ) )\n\t\t\t\t} ,\n\t\t\t} )\n\t\t}\n\t\t\n\t} )\n\n\t$mol_test({\n\n\t\t'mocked Math.random'( $ ) {\n\t\t\tconsole.assert( $.Math.random() === 0 )\n\t\t\tconsole.assert( $.Math.random() === Math.sin(1) )\n\t\t} ,\n\n\t\t'forbidden XMLHttpRequest'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void new $.XMLHttpRequest )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'XMLHttpRequest is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t\t'forbidden fetch'( $ ) {\n\t\t\ttry {\n\t\t\t\tconsole.assert( void $.fetch('') )\n\t\t\t} catch( error: any ) {\n\t\t\t\tconsole.assert( error.message === 'fetch is forbidden in tests' )\n\t\t\t}\n\t\t} ,\n\n\t})\n\n}\n","namespace $ {\n\t\n\texport function $mol_test_complete() {\n\t\tprocess.exit(0)\n\t}\n\t\n}\n","namespace $ {\n\n\t$mol_test_mocks.push( $ => {\n\t\t$.$mol_log3_come = ()=> {}\n\t\t$.$mol_log3_done = ()=> {}\n\t\t$.$mol_log3_fail = ()=> {}\n\t\t$.$mol_log3_warn = ()=> {}\n\t\t$.$mol_log3_rise = ()=> {}\n\t\t$.$mol_log3_area = ()=> ()=> {}\n\t} )\n\n}\n",null,null,null,null,"/** @jsx $mol_jsx */\nnamespace $ {\n\t\n\t$mol_test({\n\t\t\n\t\t'Make empty div'() {\n\t\t\t$mol_assert_equal( (
).outerHTML , '
' )\n\t\t} ,\n\t\t\n\t\t'Define native field'() {\n\t\t\t\n\t\t\tconst dom = as HTMLInputElement\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '' )\n\t\t\t$mol_assert_equal( dom.value, '123' )\n\n\t\t} ,\n\t\t\n\t\t'Define classes'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define styles'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define dataset'() {\n\t\t\t\n\t\t\tconst dom =
\n\t\t\t\n\t\t\t$mol_assert_equal( dom.outerHTML, '
' )\n\n\t\t} ,\n\t\t\n\t\t'Define attributes'() {\n\t\t\t\n\t\t\tconst dom =