{ "release": "2026.09.27.1", "previous_release": "2026.09.26.4", "source_archive": "hockey_tabs_2026-09-26_v4.zip", "source_sha256": "95e02dddf8b7382e8a166249a66e1ecb28701d6f793264ea4a659c38647440ef", "package_type": "cumulative changed-files update; extract into existing project root", "base_release": "2026.09.24.4", "also_applies_to": [ "2026.09.26.1", "2026.09.26.2", "2026.09.26.3", "2026.09.26.4" ], "changes_in_this_release": [ "UPDATE_KHL_CAREER_RU.md", "VALIDATION_KHL_CAREER_RU.md", "app.py", "hockey_data/khl_career.py", "hockey_data/models.py", "hockey_data/router.py", "khl_site/career_stats.py", "khl_site/khl_data_center.py", "khl_site/khl_site_collector.py", "khl_site/person_data.py", "khl_site/web/index.html", "tests/test_build45_tab_triggers_and_prematch_modal.py", "tests/test_khl_refresh_and_career.py", "tests/test_khl_site_module.py", "ui_builder/static/app.js", "ui_builder/static/styles.css" ], "delete_files": [], "excluded": [ "all user settings JSON", "settings/local/", "settings/backups/", ".env", "Agent secrets and binaries", "databases and logs", "khl_site/data/", "khl_site/cache/" ], "validation": { "full_suite": { "passed": 432, "failed": 40, "new_failed_test_ids": [] }, "latest_target_suite_passed": 24, "new_functional_tests_passed": 18, "khl_ui_jsdom": "passed", "career_ui_jsdom": "passed", "live_khl_verified": false, "production_postgresql_tested": false, "browser_layout_measured": false, "full_import_test": { "players": 4264, "coaches": 239, "officials": 45, "storage": "SQLite test adapter; production PostgreSQL unchanged" } }, "files": [ { "path": ".gitignore", "bytes": 2284, "updated_sha256": "b868270ed9be2aed976c03035b07ab1a05a50160cbc6131f3e98c399c87c5c13", "v4_sha256": "b868270ed9be2aed976c03035b07ab1a05a50160cbc6131f3e98c399c87c5c13" }, { "path": "PREVIOUS_40_FAILURES_RU.md", "bytes": 16887, "updated_sha256": "45f3b19368fc0f06970c9be42530bb94a86f0d69898493d3e7cf1ca06d9ee404", "v4_sha256": "45f3b19368fc0f06970c9be42530bb94a86f0d69898493d3e7cf1ca06d9ee404" }, { "path": "UPDATE_HOTFIX_RU.md", "bytes": 9218, "updated_sha256": "cfd90470464b7f356e524c396f8637e4788474b851c6486f4a98a4cb612ed5c0", "v4_sha256": "cfd90470464b7f356e524c396f8637e4788474b851c6486f4a98a4cb612ed5c0" }, { "path": "UPDATE_KHL_CAREER_RU.md", "bytes": 12985, "updated_sha256": "e1c9a0b815878de1838743ffd6ac90ddbf465ebfb602fa42f2fcf8b1b4bebd94", "v4_sha256": null }, { "path": "UPDATE_STAGE2_RU.md", "bytes": 18312, "updated_sha256": "5347cdd210e7b4cfe896d1a743073c646872108237ed9edc2eccf9b323840983", "v4_sha256": "5347cdd210e7b4cfe896d1a743073c646872108237ed9edc2eccf9b323840983" }, { "path": "UPDATE_TABS_RU.md", "bytes": 4918, "updated_sha256": "1ddc563fd8fce8cb2c6cbbab218478af30b5171aa374a03fa18209479fc2e2fe", "v4_sha256": "1ddc563fd8fce8cb2c6cbbab218478af30b5171aa374a03fa18209479fc2e2fe" }, { "path": "VALIDATION_HOTFIX_RU.md", "bytes": 6367, "updated_sha256": "01a5679ba5318f7381f12c91b3adf1128ddfd9e3790fffc1e890e22ce1277d85", "v4_sha256": "01a5679ba5318f7381f12c91b3adf1128ddfd9e3790fffc1e890e22ce1277d85" }, { "path": "VALIDATION_KHL_CAREER_RU.md", "bytes": 6843, "updated_sha256": "0b207361fbc62288d158de81ad9c84722afb9915293e03f7f5dc4bfd534e77f4", "v4_sha256": null }, { "path": "VALIDATION_STAGE2_RU.md", "bytes": 11454, "updated_sha256": "0020d6174c7470d6afe8987dfa64e685fe23431e1cd7eb691a4285a80bf0d260", "v4_sha256": "0020d6174c7470d6afe8987dfa64e685fe23431e1cd7eb691a4285a80bf0d260" }, { "path": "app.py", "bytes": 20309, "updated_sha256": "24e735d7a59d0bfd11045fbc2b3226ad8de80b3d4ba04d5f94e8c9e01ad0b9da", "v4_sha256": "77d570fd9e6a1cf7218ed5735be3b08679d940435c3b6662c4c3f55ff3bdf331" }, { "path": "broadcast_settings/expressions.py", "bytes": 9364, "updated_sha256": "83e84e1943e763ba08db11fd885dea4147309fff87e61a205763c3bc26ed82de", "v4_sha256": "83e84e1943e763ba08db11fd885dea4147309fff87e61a205763c3bc26ed82de" }, { "path": "broadcast_settings/transform.py", "bytes": 84253, "updated_sha256": "276abb72aa02335f566f9e041f81f60f6d8aefeb1b06ee3a271a4a264bb9a3bb", "v4_sha256": "276abb72aa02335f566f9e041f81f60f6d8aefeb1b06ee3a271a4a264bb9a3bb" }, { "path": "hockey_data/account_activity.py", "bytes": 1331, "updated_sha256": "1647d07ef17d10c6c9994574b541bfc2483b1cdd7eacfcb76dbf72e3d40045f1", "v4_sha256": "1647d07ef17d10c6c9994574b541bfc2483b1cdd7eacfcb76dbf72e3d40045f1" }, { "path": "hockey_data/agent_bridge.py", "bytes": 280458, "updated_sha256": "1a4e1d30fbc567daa0af53e8002354c30dba19ebe97f25b1f80ae90fdc92b4a1", "v4_sha256": "1a4e1d30fbc567daa0af53e8002354c30dba19ebe97f25b1f80ae90fdc92b4a1" }, { "path": "hockey_data/async_work.py", "bytes": 1814, "updated_sha256": "d491a15e5e233c3d30d623f86a46402364d4296c675a238d3df72c4a840986e0", "v4_sha256": "d491a15e5e233c3d30d623f86a46402364d4296c675a238d3df72c4a840986e0" }, { "path": "hockey_data/auth_bridge.py", "bytes": 15193, "updated_sha256": "dfba4b954748076f5b6c7733dd12b5b4350fc937e920215282249de6753673d6", "v4_sha256": "dfba4b954748076f5b6c7733dd12b5b4350fc937e920215282249de6753673d6" }, { "path": "hockey_data/auth_router.py", "bytes": 7870, "updated_sha256": "645d8b610a37dda58ea5a70457976640264b8499e72b6e6b79aeef33b94586b9", "v4_sha256": "645d8b610a37dda58ea5a70457976640264b8499e72b6e6b79aeef33b94586b9" }, { "path": "hockey_data/database.py", "bytes": 15921, "updated_sha256": "1ca3b7ea41a85d24401d393bf51a6a7a04eb70678f8481145f71da80dd07b2fc", "v4_sha256": "1ca3b7ea41a85d24401d393bf51a6a7a04eb70678f8481145f71da80dd07b2fc" }, { "path": "hockey_data/idle_matches.py", "bytes": 4857, "updated_sha256": "21fdc4a9f4ad1f8d64a39135706191038f3cc15844339f3502e0246101f44851", "v4_sha256": "21fdc4a9f4ad1f8d64a39135706191038f3cc15844339f3502e0246101f44851" }, { "path": "hockey_data/khl_career.py", "bytes": 13602, "updated_sha256": "989ec7f954d4472cea8910372a13091b7202cab9f40b34258bbfe6e0b3b936b0", "v4_sha256": null }, { "path": "hockey_data/mapping_context.py", "bytes": 87920, "updated_sha256": "f33d22d64a991d7a1f0ac88e1680151a769b336ee3e9fecef8755b846160b822", "v4_sha256": "f33d22d64a991d7a1f0ac88e1680151a769b336ee3e9fecef8755b846160b822" }, { "path": "hockey_data/match_access.py", "bytes": 26978, "updated_sha256": "eaa9e6320be5bc034af50c0e54a482573ab584fede8e0f1e8b0712b0062f0f21", "v4_sha256": "eaa9e6320be5bc034af50c0e54a482573ab584fede8e0f1e8b0712b0062f0f21" }, { "path": "hockey_data/models.py", "bytes": 74289, "updated_sha256": "a6aa2c0e53d0bf4a8503244bccaa291723c0167499f2c4e3202d1b1a8e2cff3c", "v4_sha256": "c77f257bd9f60fe5dfda2b3d62584b50173819468eca4662fcdcc2a9cfe391c6" }, { "path": "hockey_data/router.py", "bytes": 69335, "updated_sha256": "982dde45d194df37074f304a4e302a81508a9db4e458502d8b34426b81a20adb", "v4_sha256": "bec255b080cf66d8f4105d965bb8c5d6ac8b0444b2dbe89833ae195484f4821c" }, { "path": "hockey_data/service.py", "bytes": 389282, "updated_sha256": "96429c4f5228b01cd115152617fde502a9febc1f685afbc5107e0b5b4a1c3c70", "v4_sha256": "96429c4f5228b01cd115152617fde502a9febc1f685afbc5107e0b5b4a1c3c70" }, { "path": "hockey_data/static/admin-directories.css", "bytes": 112514, "updated_sha256": "f1d6727f9b697f51c49be3e7df843a07c75a98778707d8535030862686a7ca4b", "v4_sha256": "f1d6727f9b697f51c49be3e7df843a07c75a98778707d8535030862686a7ca4b" }, { "path": "hockey_data/static/admin-directories.js", "bytes": 279460, "updated_sha256": "e99d673531d497bdf9d48e12c8d4df4ffa1e961aa4a21df110208385ea5072e7", "v4_sha256": "e99d673531d497bdf9d48e12c8d4df4ffa1e961aa4a21df110208385ea5072e7" }, { "path": "hockey_data/static/agent-devices.js", "bytes": 22668, "updated_sha256": "c13fb0efd12debb06e4ac53ffb511bd94515639bfb4320e5f1dbe0abc5e379cb", "v4_sha256": "c13fb0efd12debb06e4ac53ffb511bd94515639bfb4320e5f1dbe0abc5e379cb" }, { "path": "hockey_data/static/agent-diagnostics.js", "bytes": 12633, "updated_sha256": "89b2ffe30bf961090b4299ee55060697a0753142fd52b101e26d17a4eda87ae8", "v4_sha256": "89b2ffe30bf961090b4299ee55060697a0753142fd52b101e26d17a4eda87ae8" }, { "path": "hockey_data/static/match-access.css", "bytes": 3149, "updated_sha256": "013fd8a0312cbe1eabe0200cbfe55f8d85f6aaa0dbcf18e5e6cdeae2704c15b9", "v4_sha256": "013fd8a0312cbe1eabe0200cbfe55f8d85f6aaa0dbcf18e5e6cdeae2704c15b9" }, { "path": "hockey_data/static/match-access.js", "bytes": 22601, "updated_sha256": "fb8dc03d384d58a0631b81715b62acdd41ed8875a3ef56d8f4e19fd3180a4041", "v4_sha256": "fb8dc03d384d58a0631b81715b62acdd41ed8875a3ef56d8f4e19fd3180a4041" }, { "path": "hockey_data/static/match-status-header.js", "bytes": 18217, "updated_sha256": "1c615b1b388c597cde8abc5de641807a468cf6a73681333b580e2544ca5a92a6", "v4_sha256": "1c615b1b388c597cde8abc5de641807a468cf6a73681333b580e2544ca5a92a6" }, { "path": "hockey_data/static/session-activity.js", "bytes": 4332, "updated_sha256": "3c835ae5265c13fcd4686355961c2f150b4bcc5cb134a1d03c2c1b9b9d85a52d", "v4_sha256": "3c835ae5265c13fcd4686355961c2f150b4bcc5cb134a1d03c2c1b9b9d85a52d" }, { "path": "hockey_data/static/tournament-menu.js", "bytes": 128669, "updated_sha256": "223fb629a785bcbea73533c994dbfde1e84bd358e63880b78f929c315fe1c246", "v4_sha256": "223fb629a785bcbea73533c994dbfde1e84bd358e63880b78f929c315fe1c246" }, { "path": "hockey_data/vmix_portable.py", "bytes": 24220, "updated_sha256": "fa4e3ed13be7d621f4bd19e1b947553896727a3622d89563a874497de85d5cda", "v4_sha256": "fa4e3ed13be7d621f4bd19e1b947553896727a3622d89563a874497de85d5cda" }, { "path": "khl_site/career_stats.py", "bytes": 3262, "updated_sha256": "7becb90f3c64a79c6bf5bb3049e00d66460fa5d5c73bbe8fa670727554d7e392", "v4_sha256": null }, { "path": "khl_site/khl_data_center.py", "bytes": 47641, "updated_sha256": "727df51050611bde14bdb09ae1ec597d11921cb482ec8c65179a8df2bf80cb1e", "v4_sha256": "6589743a92ef9438478268d87324badc3da56269999fdc4a4de8a05aa3872201" }, { "path": "khl_site/khl_site_collector.py", "bytes": 72851, "updated_sha256": "61a32bcd0324f3988d70a6fa7c620a789ebd67ea5960678c92f008c2b1f902b4", "v4_sha256": "0b719d121ef9ff8420c8e97482b35b5acaf68768675311406c8ef4a176560d3e" }, { "path": "khl_site/person_data.py", "bytes": 11594, "updated_sha256": "3fa2cafc2f69e20d5ac8cb59eab2c907d743c28f17e6a6f41c539ad60cdd57c5", "v4_sha256": null }, { "path": "khl_site/web/index.html", "bytes": 55462, "updated_sha256": "b0d6e772fbbc81cd60de71fc6b02d6b93ca2168b808689cc922e591b38d8dc79", "v4_sha256": "c87263e3ac842035537e56622cb7e8889a194990069cbdb5fa68db3bc23c204e" }, { "path": "requirements.txt", "bytes": 227, "updated_sha256": "1407ef85d9e64bf831eb2956a66948f410125decabca0f22bf0e22d624fcb7fb", "v4_sha256": "1407ef85d9e64bf831eb2956a66948f410125decabca0f22bf0e22d624fcb7fb" }, { "path": "settings/README.md", "bytes": 2252, "updated_sha256": "81df38a9e09702750cf09fa7ebf1d7f7021ce28d8b578852bb45a0d2b5ba464a", "v4_sha256": "81df38a9e09702750cf09fa7ebf1d7f7021ce28d8b578852bb45a0d2b5ba464a" }, { "path": "tests/hotfix_penalty_visibility.cjs", "bytes": 7149, "updated_sha256": "cb76b1180a275d60b133e091acf66ebda6df891b3c9bfbca6cd15b636bcdda28", "v4_sha256": "cb76b1180a275d60b133e091acf66ebda6df891b3c9bfbca6cd15b636bcdda28" }, { "path": "tests/stage2_penalty_countdown.cjs", "bytes": 6218, "updated_sha256": "9e021722d6725d7a29da8ae3cff47be2896c1b482cded96d0ea582339badb95b", "v4_sha256": "9e021722d6725d7a29da8ae3cff47be2896c1b482cded96d0ea582339badb95b" }, { "path": "tests/stage2_session_activity.cjs", "bytes": 4702, "updated_sha256": "14b31ba72d7296b7edd8714cd106e9881423f9c73a8b380d5c34d095a590252b", "v4_sha256": "14b31ba72d7296b7edd8714cd106e9881423f9c73a8b380d5c34d095a590252b" }, { "path": "tests/support.py", "bytes": 1143, "updated_sha256": "dea63976c42f9be71a8a348d657475f066bcf23f053e9358101a487523fcd29a", "v4_sha256": "dea63976c42f9be71a8a348d657475f066bcf23f053e9358101a487523fcd29a" }, { "path": "tests/test_agent_bridge.py", "bytes": 30897, "updated_sha256": "327cc0cb0c99815271d6733533d5ec4a2eabcaa8dcc29267bbdaaf418c3cd6ab", "v4_sha256": "327cc0cb0c99815271d6733533d5ec4a2eabcaa8dcc29267bbdaaf418c3cd6ab" }, { "path": "tests/test_build110_match_roster_atomic_switch.py", "bytes": 2117, "updated_sha256": "ea42b58398db3e87692ab1a9cb8991e8580f0eac86d093f6c32f16cd0591639c", "v4_sha256": "ea42b58398db3e87692ab1a9cb8991e8580f0eac86d093f6c32f16cd0591639c" }, { "path": "tests/test_build111_agent_match_handoff.py", "bytes": 3873, "updated_sha256": "7c27dfde250d2fff0db5a387ee131083ea9114e52ad1418a456134796a2d83fc", "v4_sha256": "7c27dfde250d2fff0db5a387ee131083ea9114e52ad1418a456134796a2d83fc" }, { "path": "tests/test_build45_tab_triggers_and_prematch_modal.py", "bytes": 1634, "updated_sha256": "8822d578ee68cbb14a75c59aa1b812281e767e176ce378a140b4eb89edffe37b", "v4_sha256": "fa45c4de12e633c4056460f348597b93cd542931bbe8512aa685e7a2949602c7" }, { "path": "tests/test_build47_team_state_scoreboard_overlays.py", "bytes": 2788, "updated_sha256": "48e2517d4a3648c34664b7819a2db189d7ceb55d667f5970b1911809935b0417", "v4_sha256": "48e2517d4a3648c34664b7819a2db189d7ceb55d667f5970b1911809935b0417" }, { "path": "tests/test_build65_nonadmin_match_selection.py", "bytes": 1108, "updated_sha256": "6ac2cc2aa37dfdf229ed501a256bab4220ea6d0c27f56806382de9b753f26a61", "v4_sha256": "6ac2cc2aa37dfdf229ed501a256bab4220ea6d0c27f56806382de9b753f26a61" }, { "path": "tests/test_build77_penalty_overlay_auto_in.py", "bytes": 1247, "updated_sha256": "5fe286219c48e4970f0ad903b3cc3bd307485095eea78ffe9564b4872a97db3f", "v4_sha256": "5fe286219c48e4970f0ad903b3cc3bd307485095eea78ffe9564b4872a97db3f" }, { "path": "tests/test_build84_penalty_selection_persistence_prepared_titles.py", "bytes": 8624, "updated_sha256": "4c3cdac2e32e022201c2418ad41acd05a5453b3db1c561dd1ef3276d926fa7ed", "v4_sha256": "4c3cdac2e32e022201c2418ad41acd05a5453b3db1c561dd1ef3276d926fa7ed" }, { "path": "tests/test_build86_penalty_context_prepared_titles.py", "bytes": 4756, "updated_sha256": "7dcac6c12740cb08a123f155665784f4a9474294d88b12046b65396e01b1abd3", "v4_sha256": "7dcac6c12740cb08a123f155665784f4a9474294d88b12046b65396e01b1abd3" }, { "path": "tests/test_build89_single_penalty_plate_transition.py", "bytes": 3727, "updated_sha256": "d9a8255c5ad2ace83b9d688dd0f5f4615f409eb94b3ddd1740f8b07b2753be66", "v4_sha256": "d9a8255c5ad2ace83b9d688dd0f5f4615f409eb94b3ddd1740f8b07b2753be66" }, { "path": "tests/test_build93_countdown_reseed_on_start.py", "bytes": 1900, "updated_sha256": "b85692e09ddc0e885575ccca43c43d380d49f8dc9707e4379a25cb052e071007", "v4_sha256": "b85692e09ddc0e885575ccca43c43d380d49f8dc9707e4379a25cb052e071007" }, { "path": "tests/test_build95_countdown_explicit_start_stop_sync.py", "bytes": 2691, "updated_sha256": "09ffafbf44fcb3ccbfbdaadf7a07f626c4a14eaf2b9866cabc90a639d036c035", "v4_sha256": "09ffafbf44fcb3ccbfbdaadf7a07f626c4a14eaf2b9866cabc90a639d036c035" }, { "path": "tests/test_build98_timer_countdown_sync_fixed_pin.py", "bytes": 3105, "updated_sha256": "eeff1d148467167952060628ab9aa0775f2eb3345939ea101efe59b83dcd8d2a", "v4_sha256": "eeff1d148467167952060628ab9aa0775f2eb3345939ea101efe59b83dcd8d2a" }, { "path": "tests/test_hotfix_idle_matches.py", "bytes": 8520, "updated_sha256": "2032d5d48bec464f29f477078d4fd3468a1601577f36db8f4217f88540d7c835", "v4_sha256": "2032d5d48bec464f29f477078d4fd3468a1601577f36db8f4217f88540d7c835" }, { "path": "tests/test_hotfix_mapping_transport.py", "bytes": 3290, "updated_sha256": "67c6260342bcea902b87461a4e5a8c7e9280783adbb92e9822590d8abc430971", "v4_sha256": "67c6260342bcea902b87461a4e5a8c7e9280783adbb92e9822590d8abc430971" }, { "path": "tests/test_hotfix_penalty_visibility.py", "bytes": 492, "updated_sha256": "ef3219f28f66cf96274fc4e65624ac7b6ea96e726f61081965f8860541e2f8d1", "v4_sha256": "ef3219f28f66cf96274fc4e65624ac7b6ea96e726f61081965f8860541e2f8d1" }, { "path": "tests/test_khl_refresh_and_career.py", "bytes": 15783, "updated_sha256": "e98f7c4682f27f98cfb759bb4d6378e497da37cb66f9de615259a46882d99466", "v4_sha256": null }, { "path": "tests/test_khl_site_module.py", "bytes": 1706, "updated_sha256": "03859b2c9c2d3cb025326f7e2f4babba5e98edd1db4cd72e6c8ebd7c42ccf08b", "v4_sha256": "4f43537d9efde22ecd98c2a5395cd4c5b95593c9b09a4fc1207fc82e4e979687" }, { "path": "tests/test_multi_agent_routing.py", "bytes": 4614, "updated_sha256": "0c5857ef6e306bba679f9ba9648afd34b89b013f4d4a1c2f799b718391d0a3dd", "v4_sha256": "0c5857ef6e306bba679f9ba9648afd34b89b013f4d4a1c2f799b718391d0a3dd" }, { "path": "tests/test_stage1_expressions.py", "bytes": 2116, "updated_sha256": "d11e26fdfd759f4aa1c62ffb08ff4762b652ccdb9ef7ab6efc796c1e32883113", "v4_sha256": "d11e26fdfd759f4aa1c62ffb08ff4762b652ccdb9ef7ab6efc796c1e32883113" }, { "path": "tests/test_stage1_match_access.py", "bytes": 16208, "updated_sha256": "f998ae041bd6951f75ca403ca0af9da1c86bd02586e809aa0bdb05653c101907", "v4_sha256": "f998ae041bd6951f75ca403ca0af9da1c86bd02586e809aa0bdb05653c101907" }, { "path": "tests/test_stage2_custom_pluses.py", "bytes": 3211, "updated_sha256": "ebd11f142427c35c963fad151313f2ce7175a4afe2d9e870db1a2e2ff9bce836", "v4_sha256": "ebd11f142427c35c963fad151313f2ce7175a4afe2d9e870db1a2e2ff9bce836" }, { "path": "tests/test_stage2_idle_session.py", "bytes": 6138, "updated_sha256": "dc47703fccac5db7b9e2b8aa3fd8d2c5b9f6637f7bb07e3336f729f2e2ce83b4", "v4_sha256": "dc47703fccac5db7b9e2b8aa3fd8d2c5b9f6637f7bb07e3336f729f2e2ce83b4" }, { "path": "tests/test_stage2_mapping_inventory.py", "bytes": 3602, "updated_sha256": "752f1b07ec360b28e4823747095c6287183b65060ef6579dcf1a1b70dacbd150", "v4_sha256": "752f1b07ec360b28e4823747095c6287183b65060ef6579dcf1a1b70dacbd150" }, { "path": "tests/test_stage2_penalty_countdown.py", "bytes": 589, "updated_sha256": "088e1de13a214c8816287e39f80934ea25b02276617bb4571f4f54f92a4e4f44", "v4_sha256": "088e1de13a214c8816287e39f80934ea25b02276617bb4571f4f54f92a4e4f44" }, { "path": "tests/test_stage2_performance.py", "bytes": 11947, "updated_sha256": "d733a2bda2047ed77d6222e23ba468d5c62f02d5d566d4ecccf2fa4394d85c03", "v4_sha256": "d733a2bda2047ed77d6222e23ba468d5c62f02d5d566d4ecccf2fa4394d85c03" }, { "path": "tests/test_stage2_ui_storage.py", "bytes": 5543, "updated_sha256": "5ebc4d3e60fe17449256aefa42839043a2a324ccebca934a3af84dc64f0cec1b", "v4_sha256": "5ebc4d3e60fe17449256aefa42839043a2a324ccebca934a3af84dc64f0cec1b" }, { "path": "ui_builder/integration.py", "bytes": 5738, "updated_sha256": "a3845126817966b0c02e140f6c6a5f146b621a6ee716667f4456f612c579d465", "v4_sha256": "a3845126817966b0c02e140f6c6a5f146b621a6ee716667f4456f612c579d465" }, { "path": "ui_builder/manager.py", "bytes": 37223, "updated_sha256": "ae930ed4de95d36eb442d2492db3e1c04726582c99fb6713429ab6a91335b469", "v4_sha256": "ae930ed4de95d36eb442d2492db3e1c04726582c99fb6713429ab6a91335b469" }, { "path": "ui_builder/router.py", "bytes": 4517, "updated_sha256": "740398f215b7061ee8d58eb47e1f31f17d4fe9a0b6707ed3ebc0159e8f327f48", "v4_sha256": "740398f215b7061ee8d58eb47e1f31f17d4fe9a0b6707ed3ebc0159e8f327f48" }, { "path": "ui_builder/static/app.js", "bytes": 908550, "updated_sha256": "e7f68de6610ac05f883ed190a3ba68e25cfdcefd79fb0f59926021d3abfe920b", "v4_sha256": "c879751113c025c09aed3925ce0361338549ee0180db8a6e323029f743712291" }, { "path": "ui_builder/static/index.html", "bytes": 10717, "updated_sha256": "36cf899859d278d98283d4898f42d670c113c038b71f72b007b92c63c2abd5ae", "v4_sha256": "36cf899859d278d98283d4898f42d670c113c038b71f72b007b92c63c2abd5ae" }, { "path": "ui_builder/static/runtime.html", "bytes": 3316, "updated_sha256": "37b8272650ccf88e7f9504b7d04f13294f59abf431c107e0603cfbd86df2580b", "v4_sha256": "37b8272650ccf88e7f9504b7d04f13294f59abf431c107e0603cfbd86df2580b" }, { "path": "ui_builder/static/styles.css", "bytes": 291808, "updated_sha256": "59e8673f249c84d3767738c88f8362f0a97e3d18ad197a739513e5360fe00b59", "v4_sha256": "6f204b2c38d8d22e76e68ab916ad6b1988a8f037f3cf282d5f2ca62aa62714d8" }, { "path": "ui_builder/storage.py", "bytes": 3566, "updated_sha256": "67a720a4bff48fcfd2c185c4a65ec85a4574090f474fd83c556789f3cb1c5f1d", "v4_sha256": "67a720a4bff48fcfd2c185c4a65ec85a4574090f474fd83c556789f3cb1c5f1d" } ] }