@openmrs/esm-app-shell 10.0.1-pre.5199 → 10.0.1-pre.5227
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +4 -4
- package/dist/05851ecc07146490.js +1 -0
- package/dist/05851ecc07146490.js.map +1 -0
- package/dist/0be72cc6428e6925.js +1 -0
- package/dist/0be72cc6428e6925.js.map +1 -0
- package/dist/{5536ca8de39cb7d8.js → 13957ff0f140c6ff.js} +1 -1
- package/dist/13957ff0f140c6ff.js.map +1 -0
- package/dist/14b6c76f4b6cb59d.js +1 -0
- package/dist/14b6c76f4b6cb59d.js.map +1 -0
- package/dist/1a594994b175a085.js +1 -0
- package/dist/{457cd6ddd88887ec.js.map → 1a594994b175a085.js.map} +1 -1
- package/dist/24d4af05d310e7cd.js +1 -0
- package/dist/{790ebb7f7c3a944e.js.map → 24d4af05d310e7cd.js.map} +1 -1
- package/dist/342998ef12151fda.js +1 -0
- package/dist/342998ef12151fda.js.map +1 -0
- package/dist/371800b8adf2ecbc.js +1 -0
- package/dist/371800b8adf2ecbc.js.map +1 -0
- package/dist/3914d75d45c36ebc.js +1 -0
- package/dist/{98b428008990f466.js.map → 3914d75d45c36ebc.js.map} +1 -1
- package/dist/3affb37bd7c5e13d.js +1 -0
- package/dist/3affb37bd7c5e13d.js.map +1 -0
- package/dist/4230cf0319465310.js +1 -0
- package/dist/4230cf0319465310.js.map +1 -0
- package/dist/49f144128bf06965.js +1 -0
- package/dist/49f144128bf06965.js.map +1 -0
- package/dist/58e843241736198e.js +1 -0
- package/dist/58e843241736198e.js.map +1 -0
- package/dist/5a39f84add6ddbce.js +1 -0
- package/dist/5a39f84add6ddbce.js.map +1 -0
- package/dist/5a91f11a67af8e19.js +1 -0
- package/dist/{2977d80d1391b826.js.map → 5a91f11a67af8e19.js.map} +1 -1
- package/dist/5ad8cc3f3a1eee5c.js +1 -0
- package/dist/5ad8cc3f3a1eee5c.js.map +1 -0
- package/dist/5c858aea5fcb8617.js +1 -0
- package/dist/{998d1c557f85ca03.js.map → 5c858aea5fcb8617.js.map} +1 -1
- package/dist/6032d0e3b2927788.js +1 -0
- package/dist/{97165ec17daf35fc.js.map → 6032d0e3b2927788.js.map} +1 -1
- package/dist/692e798381349d20.js +1 -0
- package/dist/692e798381349d20.js.map +1 -0
- package/dist/6b4e9dbce0abc737.js +1 -0
- package/dist/6b4e9dbce0abc737.js.map +1 -0
- package/dist/6c121fe3fb94e78d.js +1 -0
- package/dist/6c121fe3fb94e78d.js.map +1 -0
- package/dist/6e09ab3cf3cb8a39.js +1 -0
- package/dist/6e09ab3cf3cb8a39.js.map +1 -0
- package/dist/6ec186481378b3f6.js +1 -0
- package/dist/6ec186481378b3f6.js.map +1 -0
- package/dist/713d2b74f56e0f3d.js +1 -0
- package/dist/713d2b74f56e0f3d.js.map +1 -0
- package/dist/7166614620fcd51c.js +1 -0
- package/dist/7166614620fcd51c.js.map +1 -0
- package/dist/73def4ffd08c637a.js +1 -0
- package/dist/73def4ffd08c637a.js.map +1 -0
- package/dist/7cc333a9b440d342.js +1 -0
- package/dist/7cc333a9b440d342.js.map +1 -0
- package/dist/82f6525970cbec1b.js +1 -0
- package/dist/{e173aa5eee85c641.js.map → 82f6525970cbec1b.js.map} +1 -1
- package/dist/95147fec497d02d2.js +1 -0
- package/dist/95147fec497d02d2.js.map +1 -0
- package/dist/9d19e5cc67c3e4f2.js +1 -0
- package/dist/9d19e5cc67c3e4f2.js.map +1 -0
- package/dist/9f9ef1f0f13ed258.js +1 -0
- package/dist/{da0f4000ff8a6308.js.map → 9f9ef1f0f13ed258.js.map} +1 -1
- package/dist/a21ba6a0329dacc3.js +1 -0
- package/dist/{3486eca0da3b88d1.js.map → a21ba6a0329dacc3.js.map} +1 -1
- package/dist/bd6b6ffba0831b4b.js +1 -0
- package/dist/bd6b6ffba0831b4b.js.map +1 -0
- package/dist/c37d944188b49944.js +1 -0
- package/dist/c37d944188b49944.js.map +1 -0
- package/dist/c4641db3088669e3.js +1 -0
- package/dist/c4641db3088669e3.js.map +1 -0
- package/dist/c4a815138ff694d3.js +1 -0
- package/dist/c4a815138ff694d3.js.map +1 -0
- package/dist/ca7025abbd4510ef.js +1 -0
- package/dist/ca7025abbd4510ef.js.map +1 -0
- package/dist/cb26daa4643ef6a9.js +1 -0
- package/dist/cb26daa4643ef6a9.js.map +1 -0
- package/dist/cea7b5aab075cfae.js +1 -0
- package/dist/{b006959f43e23fb8.js.map → cea7b5aab075cfae.js.map} +1 -1
- package/dist/d3d0fd00f6f27706.js +1 -0
- package/dist/d3d0fd00f6f27706.js.map +1 -0
- package/dist/d53d3a5adc27b3dc.js +1 -0
- package/dist/d53d3a5adc27b3dc.js.map +1 -0
- package/dist/d6a4c854751187c4.js +1 -0
- package/dist/d6a4c854751187c4.js.map +1 -0
- package/dist/d93d574a0a0a5ad1.js +1 -0
- package/dist/{6caaada0dd55e590.js.map → d93d574a0a0a5ad1.js.map} +1 -1
- package/dist/e0d211634c10fe6a.js +1 -0
- package/dist/e0d211634c10fe6a.js.map +1 -0
- package/dist/e372d79ed33118ff.js +1 -0
- package/dist/e372d79ed33118ff.js.map +1 -0
- package/dist/e80e5a1b612d1e8b.js +1 -0
- package/dist/{0cf6d2fca5bd467d.js.map → e80e5a1b612d1e8b.js.map} +1 -1
- package/dist/ea8b50f3e86d0c16.js +1 -0
- package/dist/ea8b50f3e86d0c16.js.map +1 -0
- package/dist/eb4945827da1cb41.js +1 -0
- package/dist/eb4945827da1cb41.js.map +1 -0
- package/dist/f531f465b3f30aa4.js +1 -0
- package/dist/f531f465b3f30aa4.js.map +1 -0
- package/dist/fd43dec286bd966c.js +1 -0
- package/dist/fd43dec286bd966c.js.map +1 -0
- package/dist/fda233679a0da75e.js +1 -0
- package/dist/fda233679a0da75e.js.map +1 -0
- package/dist/index.html +1 -1
- package/dist/openmrs.8ca63e38321edeff.js +7 -0
- package/dist/openmrs.8ca63e38321edeff.js.map +1 -0
- package/lib/openmrs.js +499 -20
- package/package.json +6 -3
- package/rspack.config.js +15 -2
- package/src/federation-runtime.test.ts +54 -0
- package/src/federation-runtime.ts +42 -0
- package/src/index.ts +5 -0
- package/turbo.json +33 -0
- package/dist/0cf6d2fca5bd467d.js +0 -1
- package/dist/0db3b903f784a131.js +0 -1
- package/dist/0db3b903f784a131.js.map +0 -1
- package/dist/140de372a2d1acb4.js +0 -1
- package/dist/140de372a2d1acb4.js.map +0 -1
- package/dist/29004411600d2e11.js +0 -1
- package/dist/29004411600d2e11.js.map +0 -1
- package/dist/2977d80d1391b826.js +0 -1
- package/dist/2edd97ba16bad94d.js +0 -1
- package/dist/2edd97ba16bad94d.js.map +0 -1
- package/dist/2f45a3ddfd50c943.js +0 -1
- package/dist/2f45a3ddfd50c943.js.map +0 -1
- package/dist/3486eca0da3b88d1.js +0 -1
- package/dist/3589f169e541e5a0.js +0 -1
- package/dist/3589f169e541e5a0.js.map +0 -1
- package/dist/368c44457fdd04cf.js +0 -1
- package/dist/368c44457fdd04cf.js.map +0 -1
- package/dist/3b65aba1b215cece.js +0 -1
- package/dist/3b65aba1b215cece.js.map +0 -1
- package/dist/457cd6ddd88887ec.js +0 -1
- package/dist/5536ca8de39cb7d8.js.map +0 -1
- package/dist/597d2113aef375f6.js +0 -1
- package/dist/597d2113aef375f6.js.map +0 -1
- package/dist/64f7917f1a8f8fb4.js +0 -1
- package/dist/64f7917f1a8f8fb4.js.map +0 -1
- package/dist/6610375530e10884.js +0 -1
- package/dist/6610375530e10884.js.map +0 -1
- package/dist/6caaada0dd55e590.js +0 -1
- package/dist/732bf759b17b5732.js +0 -1
- package/dist/732bf759b17b5732.js.map +0 -1
- package/dist/74d457f3dd2eb85f.js +0 -1
- package/dist/74d457f3dd2eb85f.js.map +0 -1
- package/dist/7760be96d3727fe2.js +0 -1
- package/dist/7760be96d3727fe2.js.map +0 -1
- package/dist/790ebb7f7c3a944e.js +0 -1
- package/dist/7e17d8151ef1ad94.js +0 -1
- package/dist/7e17d8151ef1ad94.js.map +0 -1
- package/dist/8d9b20644952b178.js +0 -1
- package/dist/8d9b20644952b178.js.map +0 -1
- package/dist/8ed0cc8227531777.js +0 -1
- package/dist/8ed0cc8227531777.js.map +0 -1
- package/dist/8ee4946c8757f032.js +0 -1
- package/dist/8ee4946c8757f032.js.map +0 -1
- package/dist/97165ec17daf35fc.js +0 -1
- package/dist/98b428008990f466.js +0 -1
- package/dist/998d1c557f85ca03.js +0 -1
- package/dist/aa19cc3bbe94d915.js +0 -1
- package/dist/aa19cc3bbe94d915.js.map +0 -1
- package/dist/b006959f43e23fb8.js +0 -1
- package/dist/b0a211dba76847c5.js +0 -1
- package/dist/b0a211dba76847c5.js.map +0 -1
- package/dist/b726991c35e41429.js +0 -1
- package/dist/b726991c35e41429.js.map +0 -1
- package/dist/b9123922ca01a42d.js +0 -1
- package/dist/b9123922ca01a42d.js.map +0 -1
- package/dist/bbe6b27a195b4177.js +0 -1
- package/dist/bbe6b27a195b4177.js.map +0 -1
- package/dist/bc1bf5960ca6f5c2.js +0 -1
- package/dist/bc1bf5960ca6f5c2.js.map +0 -1
- package/dist/bca5f162fad8eca9.js +0 -1
- package/dist/bca5f162fad8eca9.js.map +0 -1
- package/dist/bd91ed290a71e9cd.js +0 -1
- package/dist/bd91ed290a71e9cd.js.map +0 -1
- package/dist/c0d7c9cbe921b6e6.js +0 -1
- package/dist/c0d7c9cbe921b6e6.js.map +0 -1
- package/dist/c1f5ae377b833cf9.js +0 -1
- package/dist/c1f5ae377b833cf9.js.map +0 -1
- package/dist/c23d889af7916acd.js +0 -1
- package/dist/c23d889af7916acd.js.map +0 -1
- package/dist/c62d22bb7b3da2b8.js +0 -1
- package/dist/c62d22bb7b3da2b8.js.map +0 -1
- package/dist/c8c144b11053330d.js +0 -1
- package/dist/c8c144b11053330d.js.map +0 -1
- package/dist/c9da4b3d6e2dd2e7.js +0 -1
- package/dist/c9da4b3d6e2dd2e7.js.map +0 -1
- package/dist/ca13dd2bc48ab091.js +0 -1
- package/dist/ca13dd2bc48ab091.js.map +0 -1
- package/dist/da0f4000ff8a6308.js +0 -1
- package/dist/dc8bae4b1fc21ce6.js +0 -1
- package/dist/dc8bae4b1fc21ce6.js.map +0 -1
- package/dist/dde52f342e5fc083.js +0 -1
- package/dist/dde52f342e5fc083.js.map +0 -1
- package/dist/e113b11e79cf6e27.js +0 -1
- package/dist/e113b11e79cf6e27.js.map +0 -1
- package/dist/e173aa5eee85c641.js +0 -1
- package/dist/e70de7f0da3e9681.js +0 -1
- package/dist/e70de7f0da3e9681.js.map +0 -1
- package/dist/f5e94073baff3906.js +0 -1
- package/dist/f5e94073baff3906.js.map +0 -1
- package/dist/openmrs.6166de66af6e7d89.js +0 -5
- package/dist/openmrs.6166de66af6e7d89.js.map +0 -1
package/lib/openmrs.js
CHANGED
|
@@ -1,40 +1,519 @@
|
|
|
1
1
|
(() => {
|
|
2
|
-
"use strict";
|
|
3
2
|
var __webpack_modules__ = ({
|
|
4
|
-
"
|
|
5
|
-
|
|
3
|
+
"./src/federation-runtime.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
4
|
+
"use strict";
|
|
5
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n publishFederationRuntime: () => (publishFederationRuntime)\n});\n/* import */ var _module_federation_error_codes__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.mjs\");\n/* import */ var _module_federation_sdk__rspack_import_1 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.js\");\n/**\n * Remote entries built by `@openmrs/rspack-config` or `@openmrs/webpack-config` read the Module\n * Federation runtime from globals instead of embedding a copy each, so the app shell has to publish it.\n *\n * `@module-federation/runtime-core` is published by Module Federation itself, via the runtime plugin\n * that `experiments.provideExternalRuntime` injects. Because it is this build's copy, its compiled-in\n * build identifier and `experiments.optimization` settings are the ones every app's federation instance\n * ends up with. The two helpers below are published here because that doesn't cover them; they hold no\n * cross-build state. `@module-federation/runtime` and `webpack-bundler-runtime` are deliberately not\n * published — they cache a federation instance at module scope, so a remote using the app shell's copy\n * dies with RUNTIME-010.\n */ \n\n/**\n * A function rather than a module side effect so the call can't be tree-shaken away if the app shell\n * ever declares `sideEffects: false`.\n */ function publishFederationRuntime() {\n globalThis._OPENMRS_FEDERATION_ERROR_CODES = _module_federation_error_codes__rspack_import_0;\n globalThis._OPENMRS_FEDERATION_SDK = _module_federation_sdk__rspack_import_1;\n // Reporting this here means a mis-built app shell says so itself, rather than every app in the\n // distribution claiming the app shell is too old.\n if (typeof globalThis._FEDERATION_RUNTIME_CORE === 'undefined') {\n console.error('The app shell did not publish the Module Federation runtime, so no frontend module will be able ' + 'to start. This is a bug in the app shell build (see `experiments.provideExternalRuntime`).');\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9wYWNrYWdlcy9zaGVsbC9lc20tYXBwLXNoZWxsL3NyYy9mZWRlcmF0aW9uLXJ1bnRpbWUudHMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4vc3JjL2ZlZGVyYXRpb24tcnVudGltZS50cz80ODlmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVtb3RlIGVudHJpZXMgYnVpbHQgYnkgYEBvcGVubXJzL3JzcGFjay1jb25maWdgIG9yIGBAb3Blbm1ycy93ZWJwYWNrLWNvbmZpZ2AgcmVhZCB0aGUgTW9kdWxlXG4gKiBGZWRlcmF0aW9uIHJ1bnRpbWUgZnJvbSBnbG9iYWxzIGluc3RlYWQgb2YgZW1iZWRkaW5nIGEgY29weSBlYWNoLCBzbyB0aGUgYXBwIHNoZWxsIGhhcyB0byBwdWJsaXNoIGl0LlxuICpcbiAqIGBAbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlYCBpcyBwdWJsaXNoZWQgYnkgTW9kdWxlIEZlZGVyYXRpb24gaXRzZWxmLCB2aWEgdGhlIHJ1bnRpbWUgcGx1Z2luXG4gKiB0aGF0IGBleHBlcmltZW50cy5wcm92aWRlRXh0ZXJuYWxSdW50aW1lYCBpbmplY3RzLiBCZWNhdXNlIGl0IGlzIHRoaXMgYnVpbGQncyBjb3B5LCBpdHMgY29tcGlsZWQtaW5cbiAqIGJ1aWxkIGlkZW50aWZpZXIgYW5kIGBleHBlcmltZW50cy5vcHRpbWl6YXRpb25gIHNldHRpbmdzIGFyZSB0aGUgb25lcyBldmVyeSBhcHAncyBmZWRlcmF0aW9uIGluc3RhbmNlXG4gKiBlbmRzIHVwIHdpdGguIFRoZSB0d28gaGVscGVycyBiZWxvdyBhcmUgcHVibGlzaGVkIGhlcmUgYmVjYXVzZSB0aGF0IGRvZXNuJ3QgY292ZXIgdGhlbTsgdGhleSBob2xkIG5vXG4gKiBjcm9zcy1idWlsZCBzdGF0ZS4gYEBtb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lYCBhbmQgYHdlYnBhY2stYnVuZGxlci1ydW50aW1lYCBhcmUgZGVsaWJlcmF0ZWx5IG5vdFxuICogcHVibGlzaGVkIOKAlCB0aGV5IGNhY2hlIGEgZmVkZXJhdGlvbiBpbnN0YW5jZSBhdCBtb2R1bGUgc2NvcGUsIHNvIGEgcmVtb3RlIHVzaW5nIHRoZSBhcHAgc2hlbGwncyBjb3B5XG4gKiBkaWVzIHdpdGggUlVOVElNRS0wMTAuXG4gKi9cbmltcG9ydCAqIGFzIGVycm9yQ29kZXMgZnJvbSAnQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzJztcbmltcG9ydCAqIGFzIHNkayBmcm9tICdAbW9kdWxlLWZlZGVyYXRpb24vc2RrJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAvLyBgdmFyYCBpcyB3aGF0IGRlY2xhcmVzIGEgcHJvcGVydHkgb24gYGdsb2JhbFRoaXNgOyBgbGV0YC9gY29uc3RgIGRvIG5vdC5cbiAgIFxuICB2YXIgX09QRU5NUlNfRkVERVJBVElPTl9FUlJPUl9DT0RFUzogdHlwZW9mIGVycm9yQ29kZXM7XG4gICBcbiAgdmFyIF9PUEVOTVJTX0ZFREVSQVRJT05fU0RLOiB0eXBlb2Ygc2RrO1xuICAgXG4gIHZhciBfRkVERVJBVElPTl9SVU5USU1FX0NPUkU6IHVua25vd247XG59XG5cbi8qKlxuICogQSBmdW5jdGlvbiByYXRoZXIgdGhhbiBhIG1vZHVsZSBzaWRlIGVmZmVjdCBzbyB0aGUgY2FsbCBjYW4ndCBiZSB0cmVlLXNoYWtlbiBhd2F5IGlmIHRoZSBhcHAgc2hlbGxcbiAqIGV2ZXIgZGVjbGFyZXMgYHNpZGVFZmZlY3RzOiBmYWxzZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoRmVkZXJhdGlvblJ1bnRpbWUoKSB7XG4gIGdsb2JhbFRoaXMuX09QRU5NUlNfRkVERVJBVElPTl9FUlJPUl9DT0RFUyA9IGVycm9yQ29kZXM7XG4gIGdsb2JhbFRoaXMuX09QRU5NUlNfRkVERVJBVElPTl9TREsgPSBzZGs7XG5cbiAgLy8gUmVwb3J0aW5nIHRoaXMgaGVyZSBtZWFucyBhIG1pcy1idWlsdCBhcHAgc2hlbGwgc2F5cyBzbyBpdHNlbGYsIHJhdGhlciB0aGFuIGV2ZXJ5IGFwcCBpbiB0aGVcbiAgLy8gZGlzdHJpYnV0aW9uIGNsYWltaW5nIHRoZSBhcHAgc2hlbGwgaXMgdG9vIG9sZC5cbiAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzLl9GRURFUkFUSU9OX1JVTlRJTUVfQ09SRSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ1RoZSBhcHAgc2hlbGwgZGlkIG5vdCBwdWJsaXNoIHRoZSBNb2R1bGUgRmVkZXJhdGlvbiBydW50aW1lLCBzbyBubyBmcm9udGVuZCBtb2R1bGUgd2lsbCBiZSBhYmxlICcgK1xuICAgICAgICAndG8gc3RhcnQuIFRoaXMgaXMgYSBidWcgaW4gdGhlIGFwcCBzaGVsbCBidWlsZCAoc2VlIGBleHBlcmltZW50cy5wcm92aWRlRXh0ZXJuYWxSdW50aW1lYCkuJyxcbiAgICApO1xuICB9XG59XG4iXSwibmFtZXMiOlsiZXJyb3JDb2RlcyIsInNkayIsInB1Ymxpc2hGZWRlcmF0aW9uUnVudGltZSIsImdsb2JhbFRoaXMiLCJjb25zb2xlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Q0FXQyxHQUM0RDtBQUNmO0FBWTlDOzs7Q0FHQyxHQUNNLFNBQVNFO0lBQ2RDLFdBQVcsK0JBQStCLEdBQUdILCtDQUFVQTtJQUN2REcsV0FBVyx1QkFBdUIsR0FBR0YsdUNBQUdBO0lBRXhDLCtGQUErRjtJQUMvRixrREFBa0Q7SUFDbEQsSUFBSSxPQUFPRSxXQUFXLHdCQUF3QixLQUFLLGFBQWE7UUFDOURDLFFBQVEsS0FBSyxDQUNYLHFHQUNFO0lBRU47QUFDRiJ9\n//# sourceURL=webpack-internal:///./src/federation-runtime.ts\n\n}");
|
|
6
6
|
|
|
7
7
|
},
|
|
8
8
|
"./src/index.ts"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
9
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n setupUtils: () => (setupUtils)\n});\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype), d = Object.defineProperty;\n return d(g, \"next\", {\n value: verb(0)\n }), d(g, \"throw\", {\n value: verb(1)\n }), d(g, \"return\", {\n value: verb(2)\n }), typeof Symbol === \"function\" && d(g, Symbol.iterator, {\n value: function() {\n return this;\n }\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\nfunction _createSpaBase(baseUrl) {\n return function() {\n return baseUrl;\n };\n}\nfunction setupPaths(config) {\n var _process_env_BUILD_VERSION;\n var error = false;\n if (!config.apiUrl) {\n console.error('initializeSpa() was called without supplying an apiUrl. This means that the application cannot communicate with the backend.');\n error = true;\n }\n if (!config.spaPath) {\n console.error('initializeSpa() was called without supplying a spaPath. This means that the application cannot properly generate urls.');\n error = true;\n }\n if (error) {\n throw new Error('One or more required properties in the basic configuration of the application was missing and the application cannot be rendered. Please see the browser console for details.');\n }\n // Object.defineProperty used to make these read-only\n Object.defineProperty(window, 'openmrsBase', {\n value: config.apiUrl,\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'spaBase', {\n value: config.spaPath,\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'spaEnv', {\n value: config.env || 'production',\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'spaVersion', {\n value: (_process_env_BUILD_VERSION = \"10.0.1-pre.5199-20260821\") !== null && _process_env_BUILD_VERSION !== void 0 ? _process_env_BUILD_VERSION : 'local',\n writable: false,\n configurable: false\n });\n var spaBaseWithSlash = window.spaBase.endsWith('/') ? window.spaBase : window.spaBase + '/';\n Object.defineProperty(window, 'getOpenmrsSpaBase', {\n value: _createSpaBase(spaBaseWithSlash),\n writable: false,\n configurable: false\n });\n}\nfunction setupUtils() {\n Object.defineProperty(window, 'copyText', {\n value: function value(source) {\n var sel = window.getSelection();\n if (sel) {\n var r = document.createRange();\n r.selectNode(source);\n sel.removeAllRanges();\n sel.addRange(r);\n document.execCommand('copy');\n sel.removeAllRanges();\n }\n },\n writable: false,\n configurable: false\n });\n}\nfunction wireSpaPaths() {\n var baseElement = document.createElement('base');\n var baseHref = window.getOpenmrsSpaBase();\n baseElement.href = baseHref;\n document.head.appendChild(baseElement);\n __webpack_require__.p = baseHref;\n}\nvar initPromise = null;\n/**\n * Initializes the OpenMRS Frontend App Shell.\n * @param config The global configuration to apply.\n */ function initializeSpa(config) {\n if (initPromise) {\n return initPromise;\n }\n setupUtils();\n setupPaths(config);\n wireSpaPaths();\n initPromise = Promise.resolve(__webpack_require__.I('default')).then(function() {\n return _async_to_generator(function() {\n var shareScope, _config_configUrls, configUrls, _config_offline, offline, run;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n shareScope = __webpack_require__.S.default;\n // MF will deduplicate these as they're aliased at build time, but at runtime\n // apps try to load `@openmrs/esm-framework`, so here we provide a runtime\n // alias that resolves to the \"internal\" copy of the framework\n if (shareScope['@openmrs/esm-framework/src/internal'] && !shareScope['@openmrs/esm-framework']) {\n shareScope['@openmrs/esm-framework'] = shareScope['@openmrs/esm-framework/src/internal'];\n }\n _config_configUrls = config.configUrls, configUrls = _config_configUrls === void 0 ? [] : _config_configUrls, _config_offline = config.offline, offline = _config_offline === void 0 ? false : _config_offline;\n Object.defineProperty(window, 'offlineEnabled', {\n value: offline,\n writable: false,\n configurable: false\n });\n return [\n 4,\n Promise.all(/* import() */ [__webpack_require__.e(\"default-webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"default-webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"default-node_modules_carbon_icons-react_es_generated_bucket-11_js-node_modules_carbon_icons-r-63ea09\"), __webpack_require__.e(\"default-framework_esm-framework_dist_internal_js\"), __webpack_require__.e(\"default-vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguage-1ba50a\"), __webpack_require__.e(\"default-src_run_ts\")]).then(__webpack_require__.bind(__webpack_require__, \"./src/run.ts\"))\n ];\n case 1:\n run = _state.sent().run;\n return [\n 2,\n run(configUrls)\n ];\n }\n });\n })();\n });\n return initPromise;\n}\nObject.defineProperty(window, 'initializeSpa', {\n value: initializeSpa,\n writable: false,\n configurable: false\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9wYWNrYWdlcy9zaGVsbC9lc20tYXBwLXNoZWxsL3NyYy9pbmRleC50cyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi9zcmMvaW5kZXgudHM/OGNjNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNwYUNvbmZpZyB9IGZyb20gJ0BvcGVubXJzL2VzbS1mcmFtZXdvcmsvc3JjL2ludGVybmFsJztcblxuZnVuY3Rpb24gX2NyZWF0ZVNwYUJhc2UoYmFzZVVybDogc3RyaW5nKSB7XG4gIHJldHVybiAoKSA9PiBiYXNlVXJsO1xufVxuXG5mdW5jdGlvbiBzZXR1cFBhdGhzKGNvbmZpZzogU3BhQ29uZmlnKSB7XG4gIGxldCBlcnJvciA9IGZhbHNlO1xuICBpZiAoIWNvbmZpZy5hcGlVcmwpIHtcbiAgICBjb25zb2xlLmVycm9yKFxuICAgICAgJ2luaXRpYWxpemVTcGEoKSB3YXMgY2FsbGVkIHdpdGhvdXQgc3VwcGx5aW5nIGFuIGFwaVVybC4gVGhpcyBtZWFucyB0aGF0IHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgY29tbXVuaWNhdGUgd2l0aCB0aGUgYmFja2VuZC4nLFxuICAgICk7XG4gICAgZXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgaWYgKCFjb25maWcuc3BhUGF0aCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAnaW5pdGlhbGl6ZVNwYSgpIHdhcyBjYWxsZWQgd2l0aG91dCBzdXBwbHlpbmcgYSBzcGFQYXRoLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGNhbm5vdCBwcm9wZXJseSBnZW5lcmF0ZSB1cmxzLicsXG4gICAgKTtcbiAgICBlcnJvciA9IHRydWU7XG4gIH1cblxuICBpZiAoZXJyb3IpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnT25lIG9yIG1vcmUgcmVxdWlyZWQgcHJvcGVydGllcyBpbiB0aGUgYmFzaWMgY29uZmlndXJhdGlvbiBvZiB0aGUgYXBwbGljYXRpb24gd2FzIG1pc3NpbmcgYW5kIHRoZSBhcHBsaWNhdGlvbiBjYW5ub3QgYmUgcmVuZGVyZWQuIFBsZWFzZSBzZWUgdGhlIGJyb3dzZXIgY29uc29sZSBmb3IgZGV0YWlscy4nLFxuICAgICk7XG4gIH1cblxuICAvLyBPYmplY3QuZGVmaW5lUHJvcGVydHkgdXNlZCB0byBtYWtlIHRoZXNlIHJlYWQtb25seVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnb3Blbm1yc0Jhc2UnLCB7XG4gICAgdmFsdWU6IGNvbmZpZy5hcGlVcmwsXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnc3BhQmFzZScsIHtcbiAgICB2YWx1ZTogY29uZmlnLnNwYVBhdGgsXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gIH0pO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnc3BhRW52Jywge1xuICAgIHZhbHVlOiBjb25maWcuZW52IHx8ICdwcm9kdWN0aW9uJyxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdzcGFWZXJzaW9uJywge1xuICAgIHZhbHVlOiBwcm9jZXNzLmVudi5CVUlMRF9WRVJTSU9OID8/ICdsb2NhbCcsXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gIH0pO1xuXG4gIGNvbnN0IHNwYUJhc2VXaXRoU2xhc2ggPSB3aW5kb3cuc3BhQmFzZS5lbmRzV2l0aCgnLycpID8gd2luZG93LnNwYUJhc2UgOiB3aW5kb3cuc3BhQmFzZSArICcvJztcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgJ2dldE9wZW5tcnNTcGFCYXNlJywge1xuICAgIHZhbHVlOiBfY3JlYXRlU3BhQmFzZShzcGFCYXNlV2l0aFNsYXNoKSxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFV0aWxzKCkge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnY29weVRleHQnLCB7XG4gICAgdmFsdWU6IChzb3VyY2U6IEhUTUxFbGVtZW50KSA9PiB7XG4gICAgICBjb25zdCBzZWwgPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKCk7XG5cbiAgICAgIGlmIChzZWwpIHtcbiAgICAgICAgY29uc3QgciA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XG4gICAgICAgIHIuc2VsZWN0Tm9kZShzb3VyY2UpO1xuICAgICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICAgIHNlbC5hZGRSYW5nZShyKTtcbiAgICAgICAgZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcbiAgICAgICAgc2VsLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgfVxuICAgIH0sXG4gICAgd3JpdGFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB3aXJlU3BhUGF0aHMoKSB7XG4gIGNvbnN0IGJhc2VFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYmFzZScpO1xuICBjb25zdCBiYXNlSHJlZiA9IHdpbmRvdy5nZXRPcGVubXJzU3BhQmFzZSgpO1xuICBiYXNlRWxlbWVudC5ocmVmID0gYmFzZUhyZWY7XG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoYmFzZUVsZW1lbnQpO1xuICBfX3dlYnBhY2tfcHVibGljX3BhdGhfXyA9IGJhc2VIcmVmO1xufVxuXG5sZXQgaW5pdFByb21pc2U6IFByb21pc2U8dm9pZD4gfCBudWxsID0gbnVsbDtcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgT3Blbk1SUyBGcm9udGVuZCBBcHAgU2hlbGwuXG4gKiBAcGFyYW0gY29uZmlnIFRoZSBnbG9iYWwgY29uZmlndXJhdGlvbiB0byBhcHBseS5cbiAqL1xuZnVuY3Rpb24gaW5pdGlhbGl6ZVNwYShjb25maWc6IFNwYUNvbmZpZykge1xuICBpZiAoaW5pdFByb21pc2UpIHtcbiAgICByZXR1cm4gaW5pdFByb21pc2U7XG4gIH1cblxuICBzZXR1cFV0aWxzKCk7XG4gIHNldHVwUGF0aHMoY29uZmlnKTtcbiAgd2lyZVNwYVBhdGhzKCk7XG4gIGluaXRQcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKF9fd2VicGFja19pbml0X3NoYXJpbmdfXygnZGVmYXVsdCcpKS50aGVuKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBzaGFyZVNjb3BlID0gX193ZWJwYWNrX3NoYXJlX3Njb3Blc19fLmRlZmF1bHQ7XG4gICAgLy8gTUYgd2lsbCBkZWR1cGxpY2F0ZSB0aGVzZSBhcyB0aGV5J3JlIGFsaWFzZWQgYXQgYnVpbGQgdGltZSwgYnV0IGF0IHJ1bnRpbWVcbiAgICAvLyBhcHBzIHRyeSB0byBsb2FkIGBAb3Blbm1ycy9lc20tZnJhbWV3b3JrYCwgc28gaGVyZSB3ZSBwcm92aWRlIGEgcnVudGltZVxuICAgIC8vIGFsaWFzIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIFwiaW50ZXJuYWxcIiBjb3B5IG9mIHRoZSBmcmFtZXdvcmtcbiAgICBpZiAoc2hhcmVTY29wZVsnQG9wZW5tcnMvZXNtLWZyYW1ld29yay9zcmMvaW50ZXJuYWwnXSAmJiAhc2hhcmVTY29wZVsnQG9wZW5tcnMvZXNtLWZyYW1ld29yayddKSB7XG4gICAgICBzaGFyZVNjb3BlWydAb3Blbm1ycy9lc20tZnJhbWV3b3JrJ10gPSBzaGFyZVNjb3BlWydAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCddO1xuICAgIH1cblxuICAgIGNvbnN0IHsgY29uZmlnVXJscyA9IFtdLCBvZmZsaW5lID0gZmFsc2UgfSA9IGNvbmZpZztcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnb2ZmbGluZUVuYWJsZWQnLCB7XG4gICAgICB2YWx1ZTogb2ZmbGluZSxcbiAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICBjb25zdCB7IHJ1biB9ID0gYXdhaXQgaW1wb3J0KC8qIHdlYnBhY2tQcmVsb2FkOiB0cnVlICovICcuL3J1bicpO1xuICAgIHJldHVybiBydW4oY29uZmlnVXJscyk7XG4gIH0pO1xuICByZXR1cm4gaW5pdFByb21pc2U7XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdpbml0aWFsaXplU3BhJywge1xuICB2YWx1ZTogaW5pdGlhbGl6ZVNwYSxcbiAgd3JpdGFibGU6IGZhbHNlLFxuICBjb25maWd1cmFibGU6IGZhbHNlLFxufSk7XG4iXSwibmFtZXMiOlsiX2NyZWF0ZVNwYUJhc2UiLCJiYXNlVXJsIiwic2V0dXBQYXRocyIsImNvbmZpZyIsIl9wcm9jZXNzX2Vudl9CVUlMRF9WRVJTSU9OIiwiZXJyb3IiLCJjb25zb2xlIiwiRXJyb3IiLCJPYmplY3QiLCJ3aW5kb3ciLCJzcGFCYXNlV2l0aFNsYXNoIiwic2V0dXBVdGlscyIsInZhbHVlIiwic291cmNlIiwic2VsIiwiciIsImRvY3VtZW50Iiwid2lyZVNwYVBhdGhzIiwiYmFzZUVsZW1lbnQiLCJiYXNlSHJlZiIsIl9fd2VicGFja19wdWJsaWNfcGF0aF9fIiwiaW5pdFByb21pc2UiLCJpbml0aWFsaXplU3BhIiwiUHJvbWlzZSIsIl9fd2VicGFja19pbml0X3NoYXJpbmdfXyIsInNoYXJlU2NvcGUiLCJjb25maWdVcmxzIiwib2ZmbGluZSIsInJ1biIsIl9fd2VicGFja19zaGFyZV9zY29wZXNfXyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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\n//# sourceURL=webpack-internal:///./src/index.ts\n\n}");
|
|
9
|
+
"use strict";
|
|
10
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n setupUtils: () => (setupUtils)\n});\n/* import */ var _federation_runtime__rspack_import_0 = __webpack_require__(\"./src/federation-runtime.ts\");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype), d = Object.defineProperty;\n return d(g, \"next\", {\n value: verb(0)\n }), d(g, \"throw\", {\n value: verb(1)\n }), d(g, \"return\", {\n value: verb(2)\n }), typeof Symbol === \"function\" && d(g, Symbol.iterator, {\n value: function() {\n return this;\n }\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n\n// Before anything else: every frontend module reads the Module Federation runtime from the globals\n// this publishes, and modules are only ever loaded from code reached via `initializeSpa` below.\n(0,_federation_runtime__rspack_import_0.publishFederationRuntime)();\nfunction _createSpaBase(baseUrl) {\n return function() {\n return baseUrl;\n };\n}\nfunction setupPaths(config) {\n var _process_env_BUILD_VERSION;\n var error = false;\n if (!config.apiUrl) {\n console.error('initializeSpa() was called without supplying an apiUrl. This means that the application cannot communicate with the backend.');\n error = true;\n }\n if (!config.spaPath) {\n console.error('initializeSpa() was called without supplying a spaPath. This means that the application cannot properly generate urls.');\n error = true;\n }\n if (error) {\n throw new Error('One or more required properties in the basic configuration of the application was missing and the application cannot be rendered. Please see the browser console for details.');\n }\n // Object.defineProperty used to make these read-only\n Object.defineProperty(window, 'openmrsBase', {\n value: config.apiUrl,\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'spaBase', {\n value: config.spaPath,\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'spaEnv', {\n value: config.env || 'production',\n writable: false,\n configurable: false\n });\n Object.defineProperty(window, 'spaVersion', {\n value: (_process_env_BUILD_VERSION = \"10.0.1-pre.5227-20260827\") !== null && _process_env_BUILD_VERSION !== void 0 ? _process_env_BUILD_VERSION : 'local',\n writable: false,\n configurable: false\n });\n var spaBaseWithSlash = window.spaBase.endsWith('/') ? window.spaBase : window.spaBase + '/';\n Object.defineProperty(window, 'getOpenmrsSpaBase', {\n value: _createSpaBase(spaBaseWithSlash),\n writable: false,\n configurable: false\n });\n}\nfunction setupUtils() {\n Object.defineProperty(window, 'copyText', {\n value: function value(source) {\n var sel = window.getSelection();\n if (sel) {\n var r = document.createRange();\n r.selectNode(source);\n sel.removeAllRanges();\n sel.addRange(r);\n document.execCommand('copy');\n sel.removeAllRanges();\n }\n },\n writable: false,\n configurable: false\n });\n}\nfunction wireSpaPaths() {\n var baseElement = document.createElement('base');\n var baseHref = window.getOpenmrsSpaBase();\n baseElement.href = baseHref;\n document.head.appendChild(baseElement);\n __webpack_require__.p = baseHref;\n}\nvar initPromise = null;\n/**\n * Initializes the OpenMRS Frontend App Shell.\n * @param config The global configuration to apply.\n */ function initializeSpa(config) {\n if (initPromise) {\n return initPromise;\n }\n setupUtils();\n setupPaths(config);\n wireSpaPaths();\n initPromise = Promise.resolve(__webpack_require__.I('default')).then(function() {\n return _async_to_generator(function() {\n var shareScope, _config_configUrls, configUrls, _config_offline, offline, run;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n shareScope = __webpack_require__.S.default;\n // MF will deduplicate these as they're aliased at build time, but at runtime\n // apps try to load `@openmrs/esm-framework`, so here we provide a runtime\n // alias that resolves to the \"internal\" copy of the framework\n if (shareScope['@openmrs/esm-framework/src/internal'] && !shareScope['@openmrs/esm-framework']) {\n shareScope['@openmrs/esm-framework'] = shareScope['@openmrs/esm-framework/src/internal'];\n }\n _config_configUrls = config.configUrls, configUrls = _config_configUrls === void 0 ? [] : _config_configUrls, _config_offline = config.offline, offline = _config_offline === void 0 ? false : _config_offline;\n Object.defineProperty(window, 'offlineEnabled', {\n value: offline,\n writable: false,\n configurable: false\n });\n return [\n 4,\n Promise.all(/* import() */ [__webpack_require__.e(\"default-webpack_sharing_consume_default_react_react\"), __webpack_require__.e(\"default-webpack_sharing_consume_default_react-dom_react-dom\"), __webpack_require__.e(\"default-node_modules_carbon_icons-react_es_generated_bucket-11_js-node_modules_carbon_icons-r-63ea09\"), __webpack_require__.e(\"default-framework_esm-framework_dist_internal_js\"), __webpack_require__.e(\"default-vendors-node_modules_i18next-browser-languagedetector_dist_esm_i18nextBrowserLanguage-1ba50a\"), __webpack_require__.e(\"default-src_run_ts\")]).then(__webpack_require__.bind(__webpack_require__, \"./src/run.ts\"))\n ];\n case 1:\n run = _state.sent().run;\n return [\n 2,\n run(configUrls)\n ];\n }\n });\n })();\n });\n return initPromise;\n}\nObject.defineProperty(window, 'initializeSpa', {\n value: initializeSpa,\n writable: false,\n configurable: false\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9wYWNrYWdlcy9zaGVsbC9lc20tYXBwLXNoZWxsL3NyYy9pbmRleC50cyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi9zcmMvaW5kZXgudHM/OGNjNSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwdWJsaXNoRmVkZXJhdGlvblJ1bnRpbWUgfSBmcm9tICcuL2ZlZGVyYXRpb24tcnVudGltZSc7XG5pbXBvcnQgdHlwZSB7IFNwYUNvbmZpZyB9IGZyb20gJ0BvcGVubXJzL2VzbS1mcmFtZXdvcmsvc3JjL2ludGVybmFsJztcblxuLy8gQmVmb3JlIGFueXRoaW5nIGVsc2U6IGV2ZXJ5IGZyb250ZW5kIG1vZHVsZSByZWFkcyB0aGUgTW9kdWxlIEZlZGVyYXRpb24gcnVudGltZSBmcm9tIHRoZSBnbG9iYWxzXG4vLyB0aGlzIHB1Ymxpc2hlcywgYW5kIG1vZHVsZXMgYXJlIG9ubHkgZXZlciBsb2FkZWQgZnJvbSBjb2RlIHJlYWNoZWQgdmlhIGBpbml0aWFsaXplU3BhYCBiZWxvdy5cbnB1Ymxpc2hGZWRlcmF0aW9uUnVudGltZSgpO1xuXG5mdW5jdGlvbiBfY3JlYXRlU3BhQmFzZShiYXNlVXJsOiBzdHJpbmcpIHtcbiAgcmV0dXJuICgpID0+IGJhc2VVcmw7XG59XG5cbmZ1bmN0aW9uIHNldHVwUGF0aHMoY29uZmlnOiBTcGFDb25maWcpIHtcbiAgbGV0IGVycm9yID0gZmFsc2U7XG4gIGlmICghY29uZmlnLmFwaVVybCkge1xuICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAnaW5pdGlhbGl6ZVNwYSgpIHdhcyBjYWxsZWQgd2l0aG91dCBzdXBwbHlpbmcgYW4gYXBpVXJsLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uIGNhbm5vdCBjb21tdW5pY2F0ZSB3aXRoIHRoZSBiYWNrZW5kLicsXG4gICAgKTtcbiAgICBlcnJvciA9IHRydWU7XG4gIH1cblxuICBpZiAoIWNvbmZpZy5zcGFQYXRoKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgICdpbml0aWFsaXplU3BhKCkgd2FzIGNhbGxlZCB3aXRob3V0IHN1cHBseWluZyBhIHNwYVBhdGguIFRoaXMgbWVhbnMgdGhhdCB0aGUgYXBwbGljYXRpb24gY2Fubm90IHByb3Blcmx5IGdlbmVyYXRlIHVybHMuJyxcbiAgICApO1xuICAgIGVycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChlcnJvcikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdPbmUgb3IgbW9yZSByZXF1aXJlZCBwcm9wZXJ0aWVzIGluIHRoZSBiYXNpYyBjb25maWd1cmF0aW9uIG9mIHRoZSBhcHBsaWNhdGlvbiB3YXMgbWlzc2luZyBhbmQgdGhlIGFwcGxpY2F0aW9uIGNhbm5vdCBiZSByZW5kZXJlZC4gUGxlYXNlIHNlZSB0aGUgYnJvd3NlciBjb25zb2xlIGZvciBkZXRhaWxzLicsXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSB1c2VkIHRvIG1ha2UgdGhlc2UgcmVhZC1vbmx5XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdvcGVubXJzQmFzZScsIHtcbiAgICB2YWx1ZTogY29uZmlnLmFwaVVybCxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdzcGFCYXNlJywge1xuICAgIHZhbHVlOiBjb25maWcuc3BhUGF0aCxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgfSk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdzcGFFbnYnLCB7XG4gICAgdmFsdWU6IGNvbmZpZy5lbnYgfHwgJ3Byb2R1Y3Rpb24nLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICB9KTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgJ3NwYVZlcnNpb24nLCB7XG4gICAgdmFsdWU6IHByb2Nlc3MuZW52LkJVSUxEX1ZFUlNJT04gPz8gJ2xvY2FsJyxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgfSk7XG5cbiAgY29uc3Qgc3BhQmFzZVdpdGhTbGFzaCA9IHdpbmRvdy5zcGFCYXNlLmVuZHNXaXRoKCcvJykgPyB3aW5kb3cuc3BhQmFzZSA6IHdpbmRvdy5zcGFCYXNlICsgJy8nO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkod2luZG93LCAnZ2V0T3Blbm1yc1NwYUJhc2UnLCB7XG4gICAgdmFsdWU6IF9jcmVhdGVTcGFCYXNlKHNwYUJhc2VXaXRoU2xhc2gpLFxuICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldHVwVXRpbHMoKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdjb3B5VGV4dCcsIHtcbiAgICB2YWx1ZTogKHNvdXJjZTogSFRNTEVsZW1lbnQpID0+IHtcbiAgICAgIGNvbnN0IHNlbCA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICAgICAgaWYgKHNlbCkge1xuICAgICAgICBjb25zdCByID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgICAgci5zZWxlY3ROb2RlKHNvdXJjZSk7XG4gICAgICAgIHNlbC5yZW1vdmVBbGxSYW5nZXMoKTtcbiAgICAgICAgc2VsLmFkZFJhbmdlKHIpO1xuICAgICAgICBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgICAgICBzZWwucmVtb3ZlQWxsUmFuZ2VzKCk7XG4gICAgICB9XG4gICAgfSxcbiAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHdpcmVTcGFQYXRocygpIHtcbiAgY29uc3QgYmFzZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdiYXNlJyk7XG4gIGNvbnN0IGJhc2VIcmVmID0gd2luZG93LmdldE9wZW5tcnNTcGFCYXNlKCk7XG4gIGJhc2VFbGVtZW50LmhyZWYgPSBiYXNlSHJlZjtcbiAgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChiYXNlRWxlbWVudCk7XG4gIF9fd2VicGFja19wdWJsaWNfcGF0aF9fID0gYmFzZUhyZWY7XG59XG5cbmxldCBpbml0UHJvbWlzZTogUHJvbWlzZTx2b2lkPiB8IG51bGwgPSBudWxsO1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHRoZSBPcGVuTVJTIEZyb250ZW5kIEFwcCBTaGVsbC5cbiAqIEBwYXJhbSBjb25maWcgVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIHRvIGFwcGx5LlxuICovXG5mdW5jdGlvbiBpbml0aWFsaXplU3BhKGNvbmZpZzogU3BhQ29uZmlnKSB7XG4gIGlmIChpbml0UHJvbWlzZSkge1xuICAgIHJldHVybiBpbml0UHJvbWlzZTtcbiAgfVxuXG4gIHNldHVwVXRpbHMoKTtcbiAgc2V0dXBQYXRocyhjb25maWcpO1xuICB3aXJlU3BhUGF0aHMoKTtcbiAgaW5pdFByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoX193ZWJwYWNrX2luaXRfc2hhcmluZ19fKCdkZWZhdWx0JykpLnRoZW4oYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHNoYXJlU2NvcGUgPSBfX3dlYnBhY2tfc2hhcmVfc2NvcGVzX18uZGVmYXVsdDtcbiAgICAvLyBNRiB3aWxsIGRlZHVwbGljYXRlIHRoZXNlIGFzIHRoZXkncmUgYWxpYXNlZCBhdCBidWlsZCB0aW1lLCBidXQgYXQgcnVudGltZVxuICAgIC8vIGFwcHMgdHJ5IHRvIGxvYWQgYEBvcGVubXJzL2VzbS1mcmFtZXdvcmtgLCBzbyBoZXJlIHdlIHByb3ZpZGUgYSBydW50aW1lXG4gICAgLy8gYWxpYXMgdGhhdCByZXNvbHZlcyB0byB0aGUgXCJpbnRlcm5hbFwiIGNvcHkgb2YgdGhlIGZyYW1ld29ya1xuICAgIGlmIChzaGFyZVNjb3BlWydAb3Blbm1ycy9lc20tZnJhbWV3b3JrL3NyYy9pbnRlcm5hbCddICYmICFzaGFyZVNjb3BlWydAb3Blbm1ycy9lc20tZnJhbWV3b3JrJ10pIHtcbiAgICAgIHNoYXJlU2NvcGVbJ0BvcGVubXJzL2VzbS1mcmFtZXdvcmsnXSA9IHNoYXJlU2NvcGVbJ0BvcGVubXJzL2VzbS1mcmFtZXdvcmsvc3JjL2ludGVybmFsJ107XG4gICAgfVxuXG4gICAgY29uc3QgeyBjb25maWdVcmxzID0gW10sIG9mZmxpbmUgPSBmYWxzZSB9ID0gY29uZmlnO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3aW5kb3csICdvZmZsaW5lRW5hYmxlZCcsIHtcbiAgICAgIHZhbHVlOiBvZmZsaW5lLFxuICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHsgcnVuIH0gPSBhd2FpdCBpbXBvcnQoLyogd2VicGFja1ByZWxvYWQ6IHRydWUgKi8gJy4vcnVuJyk7XG4gICAgcmV0dXJuIHJ1bihjb25maWdVcmxzKTtcbiAgfSk7XG4gIHJldHVybiBpbml0UHJvbWlzZTtcbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KHdpbmRvdywgJ2luaXRpYWxpemVTcGEnLCB7XG4gIHZhbHVlOiBpbml0aWFsaXplU3BhLFxuICB3cml0YWJsZTogZmFsc2UsXG4gIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG59KTtcbiJdLCJuYW1lcyI6WyJwdWJsaXNoRmVkZXJhdGlvblJ1bnRpbWUiLCJfY3JlYXRlU3BhQmFzZSIsImJhc2VVcmwiLCJzZXR1cFBhdGhzIiwiY29uZmlnIiwiX3Byb2Nlc3NfZW52X0JVSUxEX1ZFUlNJT04iLCJlcnJvciIsImNvbnNvbGUiLCJFcnJvciIsIk9iamVjdCIsIndpbmRvdyIsInNwYUJhc2VXaXRoU2xhc2giLCJzZXR1cFV0aWxzIiwidmFsdWUiLCJzb3VyY2UiLCJzZWwiLCJyIiwiZG9jdW1lbnQiLCJ3aXJlU3BhUGF0aHMiLCJiYXNlRWxlbWVudCIsImJhc2VIcmVmIiwiX193ZWJwYWNrX3B1YmxpY19wYXRoX18iLCJpbml0UHJvbWlzZSIsImluaXRpYWxpemVTcGEiLCJQcm9taXNlIiwiX193ZWJwYWNrX2luaXRfc2hhcmluZ19fIiwic2hhcmVTY29wZSIsImNvbmZpZ1VybHMiLCJvZmZsaW5lIiwicnVuIiwiX193ZWJwYWNrX3NoYXJlX3Njb3Blc19fIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQWdFO0FBR2hFLG1HQUFtRztBQUNuRyxnR0FBZ0c7QUFDaEdBLGlFQUF3QkE7QUFFeEIsU0FBU0MsZUFBZUMsT0FBZTtJQUNyQyxPQUFPO2VBQU1BOztBQUNmO0FBRUEsU0FBU0MsV0FBV0MsTUFBaUI7UUF1QzFCQztJQXRDVCxJQUFJQyxRQUFRO0lBQ1osSUFBSSxDQUFDRixPQUFPLE1BQU0sRUFBRTtRQUNsQkcsUUFBUSxLQUFLLENBQ1g7UUFFRkQsUUFBUTtJQUNWO0lBRUEsSUFBSSxDQUFDRixPQUFPLE9BQU8sRUFBRTtRQUNuQkcsUUFBUSxLQUFLLENBQ1g7UUFFRkQsUUFBUTtJQUNWO0lBRUEsSUFBSUEsT0FBTztRQUNULE1BQU0sSUFBSUUsTUFDUjtJQUVKO0lBRUEscURBQXFEO0lBQ3JEQyxPQUFPLGNBQWMsQ0FBQ0MsUUFBUSxlQUFlO1FBQzNDLE9BQU9OLE9BQU8sTUFBTTtRQUNwQixVQUFVO1FBQ1YsY0FBYztJQUNoQjtJQUNBSyxPQUFPLGNBQWMsQ0FBQ0MsUUFBUSxXQUFXO1FBQ3ZDLE9BQU9OLE9BQU8sT0FBTztRQUNyQixVQUFVO1FBQ1Ys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\n//# sourceURL=webpack-internal:///./src/index.ts\n\n}");
|
|
11
|
+
|
|
12
|
+
},
|
|
13
|
+
"@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs\";import __module_federation_runtime_plugin_0__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/inject-external-runtime-core-plugin/dist/index.cjs\";const __module_federation_runtime_plugins__ = [{ plugin: __module_federation_runtime_plugin_0__, params: undefined }].filter(({ plugin }) => plugin).map(({ plugin, params }) => plugin(params));const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \"@openmrs/esm-app-shell\";const __module_federation_share_strategy__ = \"version-first\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var _ref,_ref1,_ref2,_ref3,_ref4;var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\"object\"&&value!==null){var _obj1,_key1,_1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};const remotesLoadingChunkMapping=(_ref=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&_ref!==void 0?_ref:{};const remotesLoadingModuleIdToRemoteDataMapping=(_ref1=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&_ref1!==void 0?_ref1:{};const initializeSharingScopeToInitDataMapping=(_ref2=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&_ref2!==void 0?_ref2:{};const consumesLoadingChunkMapping=(_ref3=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&_ref3!==void 0?_ref3:{};const consumesLoadingModuleToConsumeDataMapping=(_ref4=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&_ref4!==void 0?_ref4:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\"initOptions\",()=>({}));early(__webpack_require__.federation.initOptions,\"name\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\"shareStrategy\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\"shared\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\"object\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\"undefined\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\"remotes\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\"script\"));merge(__webpack_require__.federation.initOptions,\"plugins\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\"bundlerRuntimeOptions\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\"remotes\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\"S\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\"remotes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\"consumes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\"I\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\"initContainer\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\"getContainer\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \"'+module1+'\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}"(__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
14
|
+
"use strict";
|
|
15
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n/* import */ var _home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs\");\n/* import */ var _home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs__rspack_import_0);\n/* import */ var _home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_inject_external_runtime_core_plugin_dist_index_cjs__rspack_import_1 = __webpack_require__(\"../../../node_modules/@module-federation/inject-external-runtime-core-plugin/dist/index.cjs\");\n/* import */ var _home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_inject_external_runtime_core_plugin_dist_index_cjs__rspack_import_1_default = /*#__PURE__*/__webpack_require__.n(_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_inject_external_runtime_core_plugin_dist_index_cjs__rspack_import_1);\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\nvar __module_federation_runtime_plugins__ = [\n {\n plugin: (_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_inject_external_runtime_core_plugin_dist_index_cjs__rspack_import_1_default()),\n params: undefined\n }\n].filter(function(param) {\n var plugin = param.plugin;\n return plugin;\n}).map(function(param) {\n var plugin = param.plugin, params = param.params;\n return plugin(params);\n});\nvar __module_federation_remote_infos__ = {};\nvar __module_federation_container_name__ = \"@openmrs/esm-app-shell\";\nvar __module_federation_share_strategy__ = \"version-first\";\nif ((__webpack_require__.initializeSharingData || __webpack_require__.initializeExposesData) && __webpack_require__.federation) {\n var _ref, _ref1, _ref2, _ref3, _ref4;\n var __webpack_require___remotesLoadingData, __webpack_require___remotesLoadingData1, __webpack_require___initializeSharingData, __webpack_require___consumesLoadingData, __webpack_require___consumesLoadingData1, __webpack_require___initializeExposesData, __webpack_require___consumesLoadingData2;\n var override = function override(obj, key, value) {\n if (!obj) return;\n if (obj[key]) obj[key] = value;\n };\n var merge = function merge(obj, key, fn) {\n var value = fn();\n if (Array.isArray(value)) {\n var _obj_key;\n var _obj, _key, _;\n (_ = (_obj = obj)[_key = key]) !== null && _ !== void 0 ? _ : _obj[_key] = [];\n (_obj_key = obj[key]).push.apply(_obj_key, _to_consumable_array(value));\n } else if ((typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && value !== null) {\n var _obj1, _key1, _1;\n (_1 = (_obj1 = obj)[_key1 = key]) !== null && _1 !== void 0 ? _1 : _obj1[_key1] = {};\n Object.assign(obj[key], value);\n }\n };\n var early = function early(obj, key, initial) {\n var _obj, _key, _;\n (_ = (_obj = obj)[_key = key]) !== null && _ !== void 0 ? _ : _obj[_key] = initial();\n };\n var remotesLoadingChunkMapping = (_ref = (__webpack_require___remotesLoadingData = __webpack_require__.remotesLoadingData) === null || __webpack_require___remotesLoadingData === void 0 ? void 0 : __webpack_require___remotesLoadingData.chunkMapping) !== null && _ref !== void 0 ? _ref : {};\n var remotesLoadingModuleIdToRemoteDataMapping = (_ref1 = (__webpack_require___remotesLoadingData1 = __webpack_require__.remotesLoadingData) === null || __webpack_require___remotesLoadingData1 === void 0 ? void 0 : __webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping) !== null && _ref1 !== void 0 ? _ref1 : {};\n var initializeSharingScopeToInitDataMapping = (_ref2 = (__webpack_require___initializeSharingData = __webpack_require__.initializeSharingData) === null || __webpack_require___initializeSharingData === void 0 ? void 0 : __webpack_require___initializeSharingData.scopeToSharingDataMapping) !== null && _ref2 !== void 0 ? _ref2 : {};\n var consumesLoadingChunkMapping = (_ref3 = (__webpack_require___consumesLoadingData = __webpack_require__.consumesLoadingData) === null || __webpack_require___consumesLoadingData === void 0 ? void 0 : __webpack_require___consumesLoadingData.chunkMapping) !== null && _ref3 !== void 0 ? _ref3 : {};\n var consumesLoadingModuleToConsumeDataMapping = (_ref4 = (__webpack_require___consumesLoadingData1 = __webpack_require__.consumesLoadingData) === null || __webpack_require___consumesLoadingData1 === void 0 ? void 0 : __webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping) !== null && _ref4 !== void 0 ? _ref4 : {};\n var consumesLoadinginstalledModules = {};\n var initializeSharingInitPromises = [];\n var initializeSharingInitTokens = {};\n var containerShareScope = (__webpack_require___initializeExposesData = __webpack_require__.initializeExposesData) === null || __webpack_require___initializeExposesData === void 0 ? void 0 : __webpack_require___initializeExposesData.shareScope;\n for(var key in (_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs__rspack_import_0_default())){\n __webpack_require__.federation[key] = (_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs__rspack_import_0_default())[key];\n }\n early(__webpack_require__.federation, \"consumesLoadingModuleToHandlerMapping\", function() {\n var consumesLoadingModuleToHandlerMapping = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(consumesLoadingModuleToConsumeDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), moduleId = _step_value[0], data = _step_value[1];\n consumesLoadingModuleToHandlerMapping[moduleId] = {\n getter: data.fallback,\n shareInfo: {\n shareConfig: {\n fixedDependencies: false,\n requiredVersion: data.requiredVersion,\n strictVersion: data.strictVersion,\n singleton: data.singleton,\n eager: data.eager\n },\n scope: [\n data.shareScope\n ]\n },\n shareKey: data.shareKey\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return consumesLoadingModuleToHandlerMapping;\n });\n early(__webpack_require__.federation, \"initOptions\", function() {\n return {};\n });\n early(__webpack_require__.federation.initOptions, \"name\", function() {\n return __module_federation_container_name__;\n });\n early(__webpack_require__.federation.initOptions, \"shareStrategy\", function() {\n return __module_federation_share_strategy__;\n });\n early(__webpack_require__.federation.initOptions, \"shared\", function() {\n var shared = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(initializeSharingScopeToInitDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), scope = _step_value[0], stages = _step_value[1];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = stages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var stage = _step1.value;\n if ((typeof stage === \"undefined\" ? \"undefined\" : _type_of(stage)) === \"object\" && stage !== null) {\n var name = stage.name, version = stage.version, factory = stage.factory, eager = stage.eager, singleton = stage.singleton, requiredVersion = stage.requiredVersion, strictVersion = stage.strictVersion;\n var shareConfig = {};\n var isValidValue = function isValidValue(val) {\n return typeof val !== \"undefined\";\n };\n if (isValidValue(singleton)) {\n shareConfig.singleton = singleton;\n }\n if (isValidValue(requiredVersion)) {\n shareConfig.requiredVersion = requiredVersion;\n }\n if (isValidValue(eager)) {\n shareConfig.eager = eager;\n }\n if (isValidValue(strictVersion)) {\n shareConfig.strictVersion = strictVersion;\n }\n var options = {\n version: version,\n scope: [\n scope\n ],\n shareConfig: shareConfig,\n get: factory\n };\n if (shared[name]) {\n shared[name].push(options);\n } else {\n shared[name] = [\n options\n ];\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return shared;\n });\n merge(__webpack_require__.federation.initOptions, \"remotes\", function() {\n return Object.values(__module_federation_remote_infos__).flat().filter(function(remote) {\n return remote.externalType === \"script\";\n });\n });\n merge(__webpack_require__.federation.initOptions, \"plugins\", function() {\n return __module_federation_runtime_plugins__;\n });\n early(__webpack_require__.federation, \"bundlerRuntimeOptions\", function() {\n return {};\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions, \"remotes\", function() {\n return {};\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"chunkMapping\", function() {\n return remotesLoadingChunkMapping;\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"remoteInfos\", function() {\n return __module_federation_remote_infos__;\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"idToExternalAndNameMapping\", function() {\n var remotesLoadingIdToExternalAndNameMappingMapping = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(remotesLoadingModuleIdToRemoteDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), moduleId = _step_value[0], data = _step_value[1];\n remotesLoadingIdToExternalAndNameMappingMapping[moduleId] = [\n data.shareScope,\n data.name,\n data.externalModuleId,\n data.remoteName\n ];\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return remotesLoadingIdToExternalAndNameMappingMapping;\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"webpackRequire\", function() {\n return __webpack_require__;\n });\n merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"idToRemoteMap\", function() {\n var idToRemoteMap = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(remotesLoadingModuleIdToRemoteDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), id = _step_value[0], remoteData = _step_value[1];\n var info = __module_federation_remote_infos__[remoteData.remoteName];\n if (info) idToRemoteMap[id] = info;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return idToRemoteMap;\n });\n override(__webpack_require__, \"S\", __webpack_require__.federation.bundlerRuntime.S);\n if (__webpack_require__.federation.attachShareScopeMap) {\n __webpack_require__.federation.attachShareScopeMap(__webpack_require__);\n }\n override(__webpack_require__.f, \"remotes\", function(chunkId, promises) {\n return __webpack_require__.federation.bundlerRuntime.remotes({\n chunkId: chunkId,\n promises: promises,\n chunkMapping: remotesLoadingChunkMapping,\n idToExternalAndNameMapping: __webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,\n idToRemoteMap: __webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__.f, \"consumes\", function(chunkId, promises) {\n return __webpack_require__.federation.bundlerRuntime.consumes({\n chunkId: chunkId,\n promises: promises,\n chunkMapping: consumesLoadingChunkMapping,\n moduleToHandlerMapping: __webpack_require__.federation.consumesLoadingModuleToHandlerMapping,\n installedModules: consumesLoadinginstalledModules,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__, \"I\", function(name, initScope) {\n return __webpack_require__.federation.bundlerRuntime.I({\n shareScopeName: name,\n initScope: initScope,\n initPromises: initializeSharingInitPromises,\n initTokens: initializeSharingInitTokens,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__, \"initContainer\", function(shareScope, initScope, remoteEntryInitOptions) {\n return __webpack_require__.federation.bundlerRuntime.initContainerEntry({\n shareScope: shareScope,\n initScope: initScope,\n remoteEntryInitOptions: remoteEntryInitOptions,\n shareScopeKey: containerShareScope,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__, \"getContainer\", function(module1, getScope) {\n var moduleMap = __webpack_require__.initializeExposesData.moduleMap;\n __webpack_require__.R = getScope;\n getScope = Object.prototype.hasOwnProperty.call(moduleMap, module1) ? moduleMap[module1]() : Promise.resolve().then(function() {\n throw new Error('Module \"' + module1 + '\" does not exist in container.');\n });\n __webpack_require__.R = undefined;\n return getScope;\n });\n __webpack_require__.federation.instance = __webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);\n if ((__webpack_require___consumesLoadingData2 = __webpack_require__.consumesLoadingData) === null || __webpack_require___consumesLoadingData2 === void 0 ? void 0 : __webpack_require___consumesLoadingData2.initialConsumes) {\n __webpack_require__.federation.bundlerRuntime.installInitialConsumes({\n webpackRequire: __webpack_require__,\n installedModules: consumesLoadinginstalledModules,\n initialConsumes: __webpack_require__.consumesLoadingData.initialConsumes,\n moduleToHandlerMapping: __webpack_require__.federation.consumesLoadingModuleToHandlerMapping\n });\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyIWRhdGE6dGV4dC9qYXZhc2NyaXB0LGltcG9ydCBfX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9kaXN0L2luZGV4LmNqc1wiO2ltcG9ydCBfX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luXzBfXyBmcm9tIFwiL2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vaW5qZWN0LWV4dGVybmFsLXJ1bnRpbWUtY29yZS1wbHVnaW4vZGlzdC9pbmRleC5janNcIjtjb25zdCBfX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luc19fID0gW3sgcGx1Z2luOiBfX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luXzBfXywgcGFyYW1zOiB1bmRlZmluZWQgfV0uZmlsdGVyKCh7IHBsdWdpbiB9KSA9PiBwbHVnaW4pLm1hcCgoeyBwbHVnaW4sIHBhcmFtcyB9KSA9PiBwbHVnaW4ocGFyYW1zKSk7Y29uc3QgX19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXyA9IHt9O2NvbnN0IF9fbW9kdWxlX2ZlZGVyYXRpb25fY29udGFpbmVyX25hbWVfXyA9IFwiQG9wZW5tcnMvZXNtLWFwcC1zaGVsbFwiO2NvbnN0IF9fbW9kdWxlX2ZlZGVyYXRpb25fc2hhcmVfc3RyYXRlZ3lfXyA9IFwidmVyc2lvbi1maXJzdFwiO2lmKChfX3dlYnBhY2tfcmVxdWlyZV9fLmluaXRpYWxpemVTaGFyaW5nRGF0YXx8X193ZWJwYWNrX3JlcXVpcmVfXy5pbml0aWFsaXplRXhwb3Nlc0RhdGEpJiZfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24pe3ZhciBfcmVmLF9yZWYxLF9yZWYyLF9yZWYzLF9yZWY0O3ZhciBfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YSxfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTEsX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplU2hhcmluZ0RhdGEsX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhLF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTEsX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplRXhwb3Nlc0RhdGEsX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMjtjb25zdCBvdmVycmlkZT0ob2JqLGtleSx2YWx1ZSk9PntpZighb2JqKXJldHVybjtpZihvYmpba2V5XSlvYmpba2V5XT12YWx1ZX07Y29uc3QgbWVyZ2U9KG9iaixrZXksZm4pPT57Y29uc3QgdmFsdWU9Zm4oKTtpZihBcnJheS5pc0FycmF5KHZhbHVlKSl7dmFyIF9vYmosX2tleSxfOyhfPShfb2JqPW9iailbX2tleT1rZXldKSE9PW51bGwmJl8hPT12b2lkIDA/Xzpfb2JqW19rZXldPVtdO29ialtrZXldLnB1c2goLi4udmFsdWUpfWVsc2UgaWYodHlwZW9mIHZhbHVlPT09XCJvYmplY3RcIiYmdmFsdWUhPT1udWxsKXt2YXIgX29iajEsX2tleTEsXzE7KF8xPShfb2JqMT1vYmopW19rZXkxPWtleV0pIT09bnVsbCYmXzEhPT12b2lkIDA/XzE6X29iajFbX2tleTFdPXt9O09iamVjdC5hc3NpZ24ob2JqW2tleV0sdmFsdWUpfX07Y29uc3QgZWFybHk9KG9iaixrZXksaW5pdGlhbCk9Pnt2YXIgX29iaixfa2V5LF87KF89KF9vYmo9b2JqKVtfa2V5PWtleV0pIT09bnVsbCYmXyE9PXZvaWQgMD9fOl9vYmpbX2tleV09aW5pdGlhbCgpfTtjb25zdCByZW1vdGVzTG9hZGluZ0NodW5rTWFwcGluZz0oX3JlZj0oX193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGE9X193ZWJwYWNrX3JlcXVpcmVfXy5yZW1vdGVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhLmNodW5rTWFwcGluZykhPT1udWxsJiZfcmVmIT09dm9pZCAwP19yZWY6e307Y29uc3QgcmVtb3Rlc0xvYWRpbmdNb2R1bGVJZFRvUmVtb3RlRGF0YU1hcHBpbmc9KF9yZWYxPShfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTE9X193ZWJwYWNrX3JlcXVpcmVfXy5yZW1vdGVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGExPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTEubW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nKSE9PW51bGwmJl9yZWYxIT09dm9pZCAwP19yZWYxOnt9O2NvbnN0IGluaXRpYWxpemVTaGFyaW5nU2NvcGVUb0luaXREYXRhTWFwcGluZz0oX3JlZjI9KF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhPV9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZVNoYXJpbmdEYXRhKT09PW51bGx8fF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVTaGFyaW5nRGF0YS5zY29wZVRvU2hhcmluZ0RhdGFNYXBwaW5nKSE9PW51bGwmJl9yZWYyIT09dm9pZCAwP19yZWYyOnt9O2NvbnN0IGNvbnN1bWVzTG9hZGluZ0NodW5rTWFwcGluZz0oX3JlZjM9KF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YT1fX3dlYnBhY2tfcmVxdWlyZV9fLmNvbnN1bWVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGEuY2h1bmtNYXBwaW5nKSE9PW51bGwmJl9yZWYzIT09dm9pZCAwP19yZWYzOnt9O2NvbnN0IGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvQ29uc3VtZURhdGFNYXBwaW5nPShfcmVmND0oX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMT1fX3dlYnBhY2tfcmVxdWlyZV9fLmNvbnN1bWVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMT09PXZvaWQgMD92b2lkIDA6X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMS5tb2R1bGVJZFRvQ29uc3VtZURhdGFNYXBwaW5nKSE9PW51bGwmJl9yZWY0IT09dm9pZCAwP19yZWY0Ont9O2NvbnN0IGNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXM9e307Y29uc3QgaW5pdGlhbGl6ZVNoYXJpbmdJbml0UHJvbWlzZXM9W107Y29uc3QgaW5pdGlhbGl6ZVNoYXJpbmdJbml0VG9rZW5zPXt9O2NvbnN0IGNvbnRhaW5lclNoYXJlU2NvcGU9KF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhPV9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZUV4cG9zZXNEYXRhKT09PW51bGx8fF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVFeHBvc2VzRGF0YS5zaGFyZVNjb3BlO2Zvcihjb25zdCBrZXkgaW4gX19tb2R1bGVfZmVkZXJhdGlvbl9idW5kbGVyX3J1bnRpbWVfXyl7X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uW2tleV09X19tb2R1bGVfZmVkZXJhdGlvbl9idW5kbGVyX3J1bnRpbWVfX1trZXldfWVhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbixcImNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmdcIiwoKT0+e2NvbnN0IGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmc9e307Zm9yKGxldFttb2R1bGVJZCxkYXRhXW9mIE9iamVjdC5lbnRyaWVzKGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvQ29uc3VtZURhdGFNYXBwaW5nKSl7Y29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZ1ttb2R1bGVJZF09e2dldHRlcjpkYXRhLmZhbGxiYWNrLHNoYXJlSW5mbzp7c2hhcmVDb25maWc6e2ZpeGVkRGVwZW5kZW5jaWVzOmZhbHNlLHJlcXVpcmVkVmVyc2lvbjpkYXRhLnJlcXVpcmVkVmVyc2lvbixzdHJpY3RWZXJzaW9uOmRhdGEuc3RyaWN0VmVyc2lvbixzaW5nbGV0b246ZGF0YS5zaW5nbGV0b24sZWFnZXI6ZGF0YS5lYWdlcn0sc2NvcGU6W2RhdGEuc2hhcmVTY29wZV19LHNoYXJlS2V5OmRhdGEuc2hhcmVLZXl9fXJldHVybiBjb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nfSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLFwiaW5pdE9wdGlvbnNcIiwoKT0+KHt9KSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwibmFtZVwiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX2NvbnRhaW5lcl9uYW1lX18pO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyxcInNoYXJlU3RyYXRlZ3lcIiwoKT0+X19tb2R1bGVfZmVkZXJhdGlvbl9zaGFyZV9zdHJhdGVneV9fKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMsXCJzaGFyZWRcIiwoKT0+e2NvbnN0IHNoYXJlZD17fTtmb3IobGV0W3Njb3BlLHN0YWdlc11vZiBPYmplY3QuZW50cmllcyhpbml0aWFsaXplU2hhcmluZ1Njb3BlVG9Jbml0RGF0YU1hcHBpbmcpKXtmb3IobGV0IHN0YWdlIG9mIHN0YWdlcyl7aWYodHlwZW9mIHN0YWdlPT09XCJvYmplY3RcIiYmc3RhZ2UhPT1udWxsKXtjb25zdHtuYW1lLHZlcnNpb24sZmFjdG9yeSxlYWdlcixzaW5nbGV0b24scmVxdWlyZWRWZXJzaW9uLHN0cmljdFZlcnNpb259PXN0YWdlO2NvbnN0IHNoYXJlQ29uZmlnPXt9O2NvbnN0IGlzVmFsaWRWYWx1ZT1mdW5jdGlvbih2YWwpe3JldHVybiB0eXBlb2YgdmFsIT09XCJ1bmRlZmluZWRcIn07aWYoaXNWYWxpZFZhbHVlKHNpbmdsZXRvbikpe3NoYXJlQ29uZmlnLnNpbmdsZXRvbj1zaW5nbGV0b259aWYoaXNWYWxpZFZhbHVlKHJlcXVpcmVkVmVyc2lvbikpe3NoYXJlQ29uZmlnLnJlcXVpcmVkVmVyc2lvbj1yZXF1aXJlZFZlcnNpb259aWYoaXNWYWxpZFZhbHVlKGVhZ2VyKSl7c2hhcmVDb25maWcuZWFnZXI9ZWFnZXJ9aWYoaXNWYWxpZFZhbHVlKHN0cmljdFZlcnNpb24pKXtzaGFyZUNvbmZpZy5zdHJpY3RWZXJzaW9uPXN0cmljdFZlcnNpb259Y29uc3Qgb3B0aW9ucz17dmVyc2lvbixzY29wZTpbc2NvcGVdLHNoYXJlQ29uZmlnLGdldDpmYWN0b3J5fTtpZihzaGFyZWRbbmFtZV0pe3NoYXJlZFtuYW1lXS5wdXNoKG9wdGlvbnMpfWVsc2V7c2hhcmVkW25hbWVdPVtvcHRpb25zXX19fX1yZXR1cm4gc2hhcmVkfSk7bWVyZ2UoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwicmVtb3Rlc1wiLCgpPT5PYmplY3QudmFsdWVzKF9fbW9kdWxlX2ZlZGVyYXRpb25fcmVtb3RlX2luZm9zX18pLmZsYXQoKS5maWx0ZXIocmVtb3RlPT5yZW1vdGUuZXh0ZXJuYWxUeXBlPT09XCJzY3JpcHRcIikpO21lcmdlKF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyxcInBsdWdpbnNcIiwoKT0+X19tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX3BsdWdpbnNfXyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLFwiYnVuZGxlclJ1bnRpbWVPcHRpb25zXCIsKCk9Pih7fSkpO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMsXCJyZW1vdGVzXCIsKCk9Pih7fSkpO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3RlcyxcImNodW5rTWFwcGluZ1wiLCgpPT5yZW1vdGVzTG9hZGluZ0NodW5rTWFwcGluZyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLFwicmVtb3RlSW5mb3NcIiwoKT0+X19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLFwiaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdcIiwoKT0+e2NvbnN0IHJlbW90ZXNMb2FkaW5nSWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdNYXBwaW5nPXt9O2ZvcihsZXRbbW9kdWxlSWQsZGF0YV1vZiBPYmplY3QuZW50cmllcyhyZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykpe3JlbW90ZXNMb2FkaW5nSWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdNYXBwaW5nW21vZHVsZUlkXT1bZGF0YS5zaGFyZVNjb3BlLGRhdGEubmFtZSxkYXRhLmV4dGVybmFsTW9kdWxlSWQsZGF0YS5yZW1vdGVOYW1lXX1yZXR1cm4gcmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmd9KTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJ3ZWJwYWNrUmVxdWlyZVwiLCgpPT5fX3dlYnBhY2tfcmVxdWlyZV9fKTttZXJnZShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJpZFRvUmVtb3RlTWFwXCIsKCk9Pntjb25zdCBpZFRvUmVtb3RlTWFwPXt9O2ZvcihsZXRbaWQscmVtb3RlRGF0YV1vZiBPYmplY3QuZW50cmllcyhyZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykpe2NvbnN0IGluZm89X19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfX1tyZW1vdGVEYXRhLnJlbW90ZU5hbWVdO2lmKGluZm8paWRUb1JlbW90ZU1hcFtpZF09aW5mb31yZXR1cm4gaWRUb1JlbW90ZU1hcH0pO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJTXCIsX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLlMpO2lmKF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5hdHRhY2hTaGFyZVNjb3BlTWFwKXtfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYXR0YWNoU2hhcmVTY29wZU1hcChfX3dlYnBhY2tfcmVxdWlyZV9fKX1vdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLmYsXCJyZW1vdGVzXCIsKGNodW5rSWQscHJvbWlzZXMpPT5fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUucmVtb3Rlcyh7Y2h1bmtJZCxwcm9taXNlcyxjaHVua01hcHBpbmc6cmVtb3Rlc0xvYWRpbmdDaHVua01hcHBpbmcsaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmc6X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLmlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nLGlkVG9SZW1vdGVNYXA6X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLmlkVG9SZW1vdGVNYXAsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLmYsXCJjb25zdW1lc1wiLChjaHVua0lkLHByb21pc2VzKT0+X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLmNvbnN1bWVzKHtjaHVua0lkLHByb21pc2VzLGNodW5rTWFwcGluZzpjb25zdW1lc0xvYWRpbmdDaHVua01hcHBpbmcsbW9kdWxlVG9IYW5kbGVyTWFwcGluZzpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZyxpbnN0YWxsZWRNb2R1bGVzOmNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXMsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLFwiSVwiLChuYW1lLGluaXRTY29wZSk9Pl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZS5JKHtzaGFyZVNjb3BlTmFtZTpuYW1lLGluaXRTY29wZSxpbml0UHJvbWlzZXM6aW5pdGlhbGl6ZVNoYXJpbmdJbml0UHJvbWlzZXMsaW5pdFRva2Vuczppbml0aWFsaXplU2hhcmluZ0luaXRUb2tlbnMsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLFwiaW5pdENvbnRhaW5lclwiLChzaGFyZVNjb3BlLGluaXRTY29wZSxyZW1vdGVFbnRyeUluaXRPcHRpb25zKT0+X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLmluaXRDb250YWluZXJFbnRyeSh7c2hhcmVTY29wZSxpbml0U2NvcGUscmVtb3RlRW50cnlJbml0T3B0aW9ucyxzaGFyZVNjb3BlS2V5OmNvbnRhaW5lclNoYXJlU2NvcGUsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLFwiZ2V0Q29udGFpbmVyXCIsKG1vZHVsZTEsZ2V0U2NvcGUpPT57dmFyIG1vZHVsZU1hcD1fX3dlYnBhY2tfcmVxdWlyZV9fLmluaXRpYWxpemVFeHBvc2VzRGF0YS5tb2R1bGVNYXA7X193ZWJwYWNrX3JlcXVpcmVfXy5SPWdldFNjb3BlO2dldFNjb3BlPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2R1bGVNYXAsbW9kdWxlMSk/bW9kdWxlTWFwW21vZHVsZTFdKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IG5ldyBFcnJvcignTW9kdWxlIFwiJyttb2R1bGUxKydcIiBkb2VzIG5vdCBleGlzdCBpbiBjb250YWluZXIuJyl9KTtfX3dlYnBhY2tfcmVxdWlyZV9fLlI9dW5kZWZpbmVkO3JldHVybiBnZXRTY29wZX0pO19fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbnN0YW5jZT1fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24ucnVudGltZS5pbml0KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyk7aWYoKF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTI9X193ZWJwYWNrX3JlcXVpcmVfXy5jb25zdW1lc0xvYWRpbmdEYXRhKT09PW51bGx8fF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTI9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTIuaW5pdGlhbENvbnN1bWVzKXtfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuaW5zdGFsbEluaXRpYWxDb25zdW1lcyh7d2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfXyxpbnN0YWxsZWRNb2R1bGVzOmNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXMsaW5pdGlhbENvbnN1bWVzOl9fd2VicGFja19yZXF1aXJlX18uY29uc3VtZXNMb2FkaW5nRGF0YS5pbml0aWFsQ29uc3VtZXMsbW9kdWxlVG9IYW5kbGVyTWFwcGluZzpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZ30pfX0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLz09dm9pZCAwP2RiMWEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9fbW9kdWxlX2ZlZGVyYXRpb25fYnVuZGxlcl9ydW50aW1lX18gZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5kZXguY2pzXCI7aW1wb3J0IF9fbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9wbHVnaW5fMF9fIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9pbmplY3QtZXh0ZXJuYWwtcnVudGltZS1jb3JlLXBsdWdpbi9kaXN0L2luZGV4LmNqc1wiO2NvbnN0IF9fbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9wbHVnaW5zX18gPSBbeyBwbHVnaW46IF9fbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9wbHVnaW5fMF9fLCBwYXJhbXM6IHVuZGVmaW5lZCB9XS5maWx0ZXIoKHsgcGx1Z2luIH0pID0+IHBsdWdpbikubWFwKCh7IHBsdWdpbiwgcGFyYW1zIH0pID0+IHBsdWdpbihwYXJhbXMpKTtjb25zdCBfX21vZHVsZV9mZWRlcmF0aW9uX3JlbW90ZV9pbmZvc19fID0ge307Y29uc3QgX19tb2R1bGVfZmVkZXJhdGlvbl9jb250YWluZXJfbmFtZV9fID0gXCJAb3Blbm1ycy9lc20tYXBwLXNoZWxsXCI7Y29uc3QgX19tb2R1bGVfZmVkZXJhdGlvbl9zaGFyZV9zdHJhdGVneV9fID0gXCJ2ZXJzaW9uLWZpcnN0XCI7aWYoKF9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZVNoYXJpbmdEYXRhfHxfX3dlYnBhY2tfcmVxdWlyZV9fLmluaXRpYWxpemVFeHBvc2VzRGF0YSkmJl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbil7dmFyIF9yZWYsX3JlZjEsX3JlZjIsX3JlZjMsX3JlZjQ7dmFyIF9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhLF9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMSxfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVTaGFyaW5nRGF0YSxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGEsX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMSxfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVFeHBvc2VzRGF0YSxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGEyO2NvbnN0IG92ZXJyaWRlPShvYmosa2V5LHZhbHVlKT0+e2lmKCFvYmopcmV0dXJuO2lmKG9ialtrZXldKW9ialtrZXldPXZhbHVlfTtjb25zdCBtZXJnZT0ob2JqLGtleSxmbik9Pntjb25zdCB2YWx1ZT1mbigpO2lmKEFycmF5LmlzQXJyYXkodmFsdWUpKXt2YXIgX29iaixfa2V5LF87KF89KF9vYmo9b2JqKVtfa2V5PWtleV0pIT09bnVsbCYmXyE9PXZvaWQgMD9fOl9vYmpbX2tleV09W107b2JqW2tleV0ucHVzaCguLi52YWx1ZSl9ZWxzZSBpZih0eXBlb2YgdmFsdWU9PT1cIm9iamVjdFwiJiZ2YWx1ZSE9PW51bGwpe3ZhciBfb2JqMSxfa2V5MSxfMTsoXzE9KF9vYmoxPW9iailbX2tleTE9a2V5XSkhPT1udWxsJiZfMSE9PXZvaWQgMD9fMTpfb2JqMVtfa2V5MV09e307T2JqZWN0LmFzc2lnbihvYmpba2V5XSx2YWx1ZSl9fTtjb25zdCBlYXJseT0ob2JqLGtleSxpbml0aWFsKT0+e3ZhciBfb2JqLF9rZXksXzsoXz0oX29iaj1vYmopW19rZXk9a2V5XSkhPT1udWxsJiZfIT09dm9pZCAwP186X29ialtfa2V5XT1pbml0aWFsKCl9O2NvbnN0IHJlbW90ZXNMb2FkaW5nQ2h1bmtNYXBwaW5nPShfcmVmPShfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YT1fX3dlYnBhY2tfcmVxdWlyZV9fLnJlbW90ZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YT09PXZvaWQgMD92b2lkIDA6X193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGEuY2h1bmtNYXBwaW5nKSE9PW51bGwmJl9yZWYhPT12b2lkIDA/X3JlZjp7fTtjb25zdCByZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZz0oX3JlZjE9KF9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMT1fX3dlYnBhY2tfcmVxdWlyZV9fLnJlbW90ZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMS5tb2R1bGVJZFRvUmVtb3RlRGF0YU1hcHBpbmcpIT09bnVsbCYmX3JlZjEhPT12b2lkIDA/X3JlZjE6e307Y29uc3QgaW5pdGlhbGl6ZVNoYXJpbmdTY29wZVRvSW5pdERhdGFNYXBwaW5nPShfcmVmMj0oX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplU2hhcmluZ0RhdGE9X193ZWJwYWNrX3JlcXVpcmVfXy5pbml0aWFsaXplU2hhcmluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplU2hhcmluZ0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhLnNjb3BlVG9TaGFyaW5nRGF0YU1hcHBpbmcpIT09bnVsbCYmX3JlZjIhPT12b2lkIDA/X3JlZjI6e307Y29uc3QgY29uc3VtZXNMb2FkaW5nQ2h1bmtNYXBwaW5nPShfcmVmMz0oX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhPV9fd2VicGFja19yZXF1aXJlX18uY29uc3VtZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YS5jaHVua01hcHBpbmcpIT09bnVsbCYmX3JlZjMhPT12b2lkIDA/X3JlZjM6e307Y29uc3QgY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9Db25zdW1lRGF0YU1hcHBpbmc9KF9yZWY0PShfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGExPV9fd2VicGFja19yZXF1aXJlX18uY29uc3VtZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGExPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGExLm1vZHVsZUlkVG9Db25zdW1lRGF0YU1hcHBpbmcpIT09bnVsbCYmX3JlZjQhPT12b2lkIDA/X3JlZjQ6e307Y29uc3QgY29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcz17fTtjb25zdCBpbml0aWFsaXplU2hhcmluZ0luaXRQcm9taXNlcz1bXTtjb25zdCBpbml0aWFsaXplU2hhcmluZ0luaXRUb2tlbnM9e307Y29uc3QgY29udGFpbmVyU2hhcmVTY29wZT0oX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplRXhwb3Nlc0RhdGE9X193ZWJwYWNrX3JlcXVpcmVfXy5pbml0aWFsaXplRXhwb3Nlc0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplRXhwb3Nlc0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhLnNoYXJlU2NvcGU7Zm9yKGNvbnN0IGtleSBpbiBfX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fKXtfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb25ba2V5XT1fX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fW2tleV19ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLFwiY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZ1wiLCgpPT57Y29uc3QgY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZz17fTtmb3IobGV0W21vZHVsZUlkLGRhdGFdb2YgT2JqZWN0LmVudHJpZXMoY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9Db25zdW1lRGF0YU1hcHBpbmcpKXtjb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nW21vZHVsZUlkXT17Z2V0dGVyOmRhdGEuZmFsbGJhY2ssc2hhcmVJbmZvOntzaGFyZUNvbmZpZzp7Zml4ZWREZXBlbmRlbmNpZXM6ZmFsc2UscmVxdWlyZWRWZXJzaW9uOmRhdGEucmVxdWlyZWRWZXJzaW9uLHN0cmljdFZlcnNpb246ZGF0YS5zdHJpY3RWZXJzaW9uLHNpbmdsZXRvbjpkYXRhLnNpbmdsZXRvbixlYWdlcjpkYXRhLmVhZ2VyfSxzY29wZTpbZGF0YS5zaGFyZVNjb3BlXX0sc2hhcmVLZXk6ZGF0YS5zaGFyZUtleX19cmV0dXJuIGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmd9KTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24sXCJpbml0T3B0aW9uc1wiLCgpPT4oe30pKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMsXCJuYW1lXCIsKCk9Pl9fbW9kdWxlX2ZlZGVyYXRpb25fY29udGFpbmVyX25hbWVfXyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwic2hhcmVTdHJhdGVneVwiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX3NoYXJlX3N0cmF0ZWd5X18pO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyxcInNoYXJlZFwiLCgpPT57Y29uc3Qgc2hhcmVkPXt9O2ZvcihsZXRbc2NvcGUsc3RhZ2VzXW9mIE9iamVjdC5lbnRyaWVzKGluaXRpYWxpemVTaGFyaW5nU2NvcGVUb0luaXREYXRhTWFwcGluZykpe2ZvcihsZXQgc3RhZ2Ugb2Ygc3RhZ2VzKXtpZih0eXBlb2Ygc3RhZ2U9PT1cIm9iamVjdFwiJiZzdGFnZSE9PW51bGwpe2NvbnN0e25hbWUsdmVyc2lvbixmYWN0b3J5LGVhZ2VyLHNpbmdsZXRvbixyZXF1aXJlZFZlcnNpb24sc3RyaWN0VmVyc2lvbn09c3RhZ2U7Y29uc3Qgc2hhcmVDb25maWc9e307Y29uc3QgaXNWYWxpZFZhbHVlPWZ1bmN0aW9uKHZhbCl7cmV0dXJuIHR5cGVvZiB2YWwhPT1cInVuZGVmaW5lZFwifTtpZihpc1ZhbGlkVmFsdWUoc2luZ2xldG9uKSl7c2hhcmVDb25maWcuc2luZ2xldG9uPXNpbmdsZXRvbn1pZihpc1ZhbGlkVmFsdWUocmVxdWlyZWRWZXJzaW9uKSl7c2hhcmVDb25maWcucmVxdWlyZWRWZXJzaW9uPXJlcXVpcmVkVmVyc2lvbn1pZihpc1ZhbGlkVmFsdWUoZWFnZXIpKXtzaGFyZUNvbmZpZy5lYWdlcj1lYWdlcn1pZihpc1ZhbGlkVmFsdWUoc3RyaWN0VmVyc2lvbikpe3NoYXJlQ29uZmlnLnN0cmljdFZlcnNpb249c3RyaWN0VmVyc2lvbn1jb25zdCBvcHRpb25zPXt2ZXJzaW9uLHNjb3BlOltzY29wZV0sc2hhcmVDb25maWcsZ2V0OmZhY3Rvcnl9O2lmKHNoYXJlZFtuYW1lXSl7c2hhcmVkW25hbWVdLnB1c2gob3B0aW9ucyl9ZWxzZXtzaGFyZWRbbmFtZV09W29wdGlvbnNdfX19fXJldHVybiBzaGFyZWR9KTttZXJnZShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMsXCJyZW1vdGVzXCIsKCk9Pk9iamVjdC52YWx1ZXMoX19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXykuZmxhdCgpLmZpbHRlcihyZW1vdGU9PnJlbW90ZS5leHRlcm5hbFR5cGU9PT1cInNjcmlwdFwiKSk7bWVyZ2UoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwicGx1Z2luc1wiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luc19fKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24sXCJidW5kbGVyUnVudGltZU9wdGlvbnNcIiwoKT0+KHt9KSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucyxcInJlbW90ZXNcIiwoKT0+KHt9KSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLFwiY2h1bmtNYXBwaW5nXCIsKCk9PnJlbW90ZXNMb2FkaW5nQ2h1bmtNYXBwaW5nKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJyZW1vdGVJbmZvc1wiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX3JlbW90ZV9pbmZvc19fKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ1wiLCgpPT57Y29uc3QgcmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmc9e307Zm9yKGxldFttb2R1bGVJZCxkYXRhXW9mIE9iamVjdC5lbnRyaWVzKHJlbW90ZXNMb2FkaW5nTW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nKSl7cmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmdbbW9kdWxlSWRdPVtkYXRhLnNoYXJlU2NvcGUsZGF0YS5uYW1lLGRhdGEuZXh0ZXJuYWxNb2R1bGVJZCxkYXRhLnJlbW90ZU5hbWVdfXJldHVybiByZW1vdGVzTG9hZGluZ0lkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nTWFwcGluZ30pO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3RlcyxcIndlYnBhY2tSZXF1aXJlXCIsKCk9Pl9fd2VicGFja19yZXF1aXJlX18pO21lcmdlKF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3RlcyxcImlkVG9SZW1vdGVNYXBcIiwoKT0+e2NvbnN0IGlkVG9SZW1vdGVNYXA9e307Zm9yKGxldFtpZCxyZW1vdGVEYXRhXW9mIE9iamVjdC5lbnRyaWVzKHJlbW90ZXNMb2FkaW5nTW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nKSl7Y29uc3QgaW5mbz1fX21vZHVsZV9mZWRlcmF0aW9uX3JlbW90ZV9pbmZvc19fW3JlbW90ZURhdGEucmVtb3RlTmFtZV07aWYoaW5mbylpZFRvUmVtb3RlTWFwW2lkXT1pbmZvfXJldHVybiBpZFRvUmVtb3RlTWFwfSk7b3ZlcnJpZGUoX193ZWJwYWNrX3JlcXVpcmVfXyxcIlNcIixfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuUyk7aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmF0dGFjaFNoYXJlU2NvcGVNYXApe19fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5hdHRhY2hTaGFyZVNjb3BlTWFwKF9fd2VicGFja19yZXF1aXJlX18pfW92ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18uZixcInJlbW90ZXNcIiwoY2h1bmtJZCxwcm9taXNlcyk9Pl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZS5yZW1vdGVzKHtjaHVua0lkLHByb21pc2VzLGNodW5rTWFwcGluZzpyZW1vdGVzTG9hZGluZ0NodW5rTWFwcGluZyxpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZzpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMuaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmcsaWRUb1JlbW90ZU1hcDpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMuaWRUb1JlbW90ZU1hcCx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18uZixcImNvbnN1bWVzXCIsKGNodW5rSWQscHJvbWlzZXMpPT5fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuY29uc3VtZXMoe2NodW5rSWQscHJvbWlzZXMsY2h1bmtNYXBwaW5nOmNvbnN1bWVzTG9hZGluZ0NodW5rTWFwcGluZyxtb2R1bGVUb0hhbmRsZXJNYXBwaW5nOl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5jb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nLGluc3RhbGxlZE1vZHVsZXM6Y29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcyx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJJXCIsKG5hbWUsaW5pdFNjb3BlKT0+X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLkkoe3NoYXJlU2NvcGVOYW1lOm5hbWUsaW5pdFNjb3BlLGluaXRQcm9taXNlczppbml0aWFsaXplU2hhcmluZ0luaXRQcm9taXNlcyxpbml0VG9rZW5zOmluaXRpYWxpemVTaGFyaW5nSW5pdFRva2Vucyx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJpbml0Q29udGFpbmVyXCIsKHNoYXJlU2NvcGUsaW5pdFNjb3BlLHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMpPT5fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuaW5pdENvbnRhaW5lckVudHJ5KHtzaGFyZVNjb3BlLGluaXRTY29wZSxyZW1vdGVFbnRyeUluaXRPcHRpb25zLHNoYXJlU2NvcGVLZXk6Y29udGFpbmVyU2hhcmVTY29wZSx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJnZXRDb250YWluZXJcIiwobW9kdWxlMSxnZXRTY29wZSk9Pnt2YXIgbW9kdWxlTWFwPV9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZUV4cG9zZXNEYXRhLm1vZHVsZU1hcDtfX3dlYnBhY2tfcmVxdWlyZV9fLlI9Z2V0U2NvcGU7Z2V0U2NvcGU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZHVsZU1hcCxtb2R1bGUxKT9tb2R1bGVNYXBbbW9kdWxlMV0oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgXCInK21vZHVsZTErJ1wiIGRvZXMgbm90IGV4aXN0IGluIGNvbnRhaW5lci4nKX0pO19fd2VicGFja19yZXF1aXJlX18uUj11bmRlZmluZWQ7cmV0dXJuIGdldFNjb3BlfSk7X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluc3RhbmNlPV9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5ydW50aW1lLmluaXQoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zKTtpZigoX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMj1fX3dlYnBhY2tfcmVxdWlyZV9fLmNvbnN1bWVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMj09PXZvaWQgMD92b2lkIDA6X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMi5pbml0aWFsQ29uc3VtZXMpe19fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZS5pbnN0YWxsSW5pdGlhbENvbnN1bWVzKHt3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9fLGluc3RhbGxlZE1vZHVsZXM6Y29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcyxpbml0aWFsQ29uc3VtZXM6X193ZWJwYWNrX3JlcXVpcmVfXy5jb25zdW1lc0xvYWRpbmdEYXRhLmluaXRpYWxDb25zdW1lcyxtb2R1bGVUb0hhbmRsZXJNYXBwaW5nOl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5jb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nfSl9fSJdLCJuYW1lcyI6WyJfX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fIiwiX19tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX3BsdWdpbl8wX18iLCJfX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luc19fIiwidW5kZWZpbmVkIiwicGx1Z2luIiwicGFyYW1zIiwiX19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXyIsIl9fbW9kdWxlX2ZlZGVyYXRpb25fY29udGFpbmVyX25hbWVfXyIsIl9fbW9kdWxlX2ZlZGVyYXRpb25fc2hhcmVfc3RyYXRlZ3lfXyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJfcmVmIiwiX3JlZjEiLCJfcmVmMiIsIl9yZWYzIiwiX3JlZjQiLCJfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YSIsIl9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMSIsIl9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhIiwiX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhIiwiX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMSIsIl9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhIiwiX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMiIsIm92ZXJyaWRlIiwib2JqIiwia2V5IiwidmFsdWUiLCJtZXJnZSIsImZuIiwiQXJyYXkiLCJfb2JqX2tleSIsIl9vYmoiLCJfa2V5IiwiXyIsIl90eXBlX29mIiwiX29iajEiLCJfa2V5MSIsIl8xIiwiT2JqZWN0IiwiZWFybHkiLCJpbml0aWFsIiwicmVtb3Rlc0xvYWRpbmdDaHVua01hcHBpbmciLCJyZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZyIsImluaXRpYWxpemVTaGFyaW5nU2NvcGVUb0luaXREYXRhTWFwcGluZyIsImNvbnN1bWVzTG9hZGluZ0NodW5rTWFwcGluZyIsImNvbnN1bWVzTG9hZGluZ01vZHVsZVRvQ29uc3VtZURhdGFNYXBwaW5nIiwiY29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcyIsImluaXRpYWxpemVTaGFyaW5nSW5pdFByb21pc2VzIiwiaW5pdGlhbGl6ZVNoYXJpbmdJbml0VG9rZW5zIiwiY29udGFpbmVyU2hhcmVTY29wZSIsImNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmciLCJfaXRlcmF0b3JFcnJvciIsIm1vZHVsZUlkIiwiZGF0YSIsInNoYXJlZCIsInNjb3BlIiwic3RhZ2VzIiwiX2l0ZXJhdG9yRXJyb3IxIiwic3RhZ2UiLCJuYW1lIiwidmVyc2lvbiIsImZhY3RvcnkiLCJlYWdlciIsInNpbmdsZXRvbiIsInJlcXVpcmVkVmVyc2lvbiIsInN0cmljdFZlcnNpb24iLCJzaGFyZUNvbmZpZyIsImlzVmFsaWRWYWx1ZSIsInZhbCIsIm9wdGlvbnMiLCJyZW1vdGUiLCJyZW1vdGVzTG9hZGluZ0lkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nTWFwcGluZyIsImlkVG9SZW1vdGVNYXAiLCJpZCIsInJlbW90ZURhdGEiLCJpbmZvIiwiY2h1bmtJZCIsInByb21pc2VzIiwiaW5pdFNjb3BlIiwic2hhcmVTY29wZSIsInJlbW90ZUVudHJ5SW5pdE9wdGlvbnMiLCJtb2R1bGUxIiwiZ2V0U2NvcGUiLCJtb2R1bGVNYXAiLCJQcm9taXNlIiwiRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBK0s7QUFBNEw7QUFBQSxJQUFNRSx3Q0FBd0M7SUFBQztRQUFFLFFBQVFELGtLQUFzQ0E7UUFBRSxRQUFRRTtJQUFVO0NBQUUsQ0FBQyxNQUFNLENBQUM7UUFBR0MsZUFBQUE7V0FBYUE7R0FBUSxHQUFHLENBQUM7UUFBR0EsZUFBQUEsUUFBUUMsZUFBQUE7V0FBYUQsT0FBT0M7O0FBQVMsSUFBTUMscUNBQXFD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\n//# sourceURL=webpack-internal:///@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs\";import __module_federation_runtime_plugin_0__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/inject-external-runtime-core-plugin/dist/index.cjs\";const __module_federation_runtime_plugins__ = [{ plugin: __module_federation_runtime_plugin_0__, params: undefined }].filter(({ plugin }) => plugin).map(({ plugin, params }) => plugin(params));const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \"@openmrs/esm-app-shell\";const __module_federation_share_strategy__ = \"version-first\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var _ref,_ref1,_ref2,_ref3,_ref4;var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\"object\"&&value!==null){var _obj1,_key1,_1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};const remotesLoadingChunkMapping=(_ref=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&_ref!==void 0?_ref:{};const remotesLoadingModuleIdToRemoteDataMapping=(_ref1=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&_ref1!==void 0?_ref1:{};const initializeSharingScopeToInitDataMapping=(_ref2=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&_ref2!==void 0?_ref2:{};const consumesLoadingChunkMapping=(_ref3=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&_ref3!==void 0?_ref3:{};const consumesLoadingModuleToConsumeDataMapping=(_ref4=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&_ref4!==void 0?_ref4:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\"initOptions\",()=>({}));early(__webpack_require__.federation.initOptions,\"name\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\"shareStrategy\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\"shared\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\"object\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\"undefined\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\"remotes\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\"script\"));merge(__webpack_require__.federation.initOptions,\"plugins\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\"bundlerRuntimeOptions\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\"remotes\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\"S\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\"remotes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\"consumes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\"I\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\"initContainer\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\"getContainer\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \"'+module1+'\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}\n\n}");
|
|
16
|
+
|
|
17
|
+
},
|
|
18
|
+
"../../../node_modules/@module-federation/error-codes/dist/browser.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
19
|
+
eval("{Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\nconst require_getShortErrorMsg = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs\");\n\n//#region src/browser.ts\nfunction logAndReport(code, descMap, args, logger, originalErrorMsg, context) {\n\treturn logger(require_getShortErrorMsg.getShortErrorMsg(code, descMap, args, originalErrorMsg));\n}\n\n//#endregion\nexports.logAndReport = logAndReport;\n//# sourceMappingURL=browser.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvYnJvd3Nlci5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9icm93c2VyLmNqcz8yYWY2Il0sInNvdXJjZXNDb250ZW50IjpbIk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6ICdNb2R1bGUnIH0pO1xuY29uc3QgcmVxdWlyZV9nZXRTaG9ydEVycm9yTXNnID0gcmVxdWlyZSgnLi9nZXRTaG9ydEVycm9yTXNnLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL2Jyb3dzZXIudHNcbmZ1bmN0aW9uIGxvZ0FuZFJlcG9ydChjb2RlLCBkZXNjTWFwLCBhcmdzLCBsb2dnZXIsIG9yaWdpbmFsRXJyb3JNc2csIGNvbnRleHQpIHtcblx0cmV0dXJuIGxvZ2dlcihyZXF1aXJlX2dldFNob3J0RXJyb3JNc2cuZ2V0U2hvcnRFcnJvck1zZyhjb2RlLCBkZXNjTWFwLCBhcmdzLCBvcmlnaW5hbEVycm9yTXNnKSk7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5sb2dBbmRSZXBvcnQgPSBsb2dBbmRSZXBvcnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1icm93c2VyLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCLE9BQU8sd0JBQXdCLGlCQUFpQjtBQUN0RSxpQ0FBaUMsbUJBQU8sQ0FBQyxnRkFBd0I7O0FBRWpFO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CO0FBQ3BCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/browser.cjs\n\n}");
|
|
20
|
+
|
|
21
|
+
},
|
|
22
|
+
"../../../node_modules/@module-federation/error-codes/dist/desc.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
23
|
+
eval("{const require_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/error-codes.cjs\");\n\n//#region src/desc.ts\nconst runtimeDescMap = {\n\t[require_error_codes.RUNTIME_001]: \"Failed to get remoteEntry exports.\",\n\t[require_error_codes.RUNTIME_002]: \"The remote entry interface does not contain \\\"init\\\"\",\n\t[require_error_codes.RUNTIME_003]: \"Failed to get manifest.\",\n\t[require_error_codes.RUNTIME_004]: \"Failed to locate remote.\",\n\t[require_error_codes.RUNTIME_005]: \"Invalid loadShareSync function call from bundler runtime\",\n\t[require_error_codes.RUNTIME_006]: \"Invalid loadShareSync function call from runtime\",\n\t[require_error_codes.RUNTIME_007]: \"Failed to get remote snapshot.\",\n\t[require_error_codes.RUNTIME_008]: \"Failed to load script resources.\",\n\t[require_error_codes.RUNTIME_009]: \"Please call createInstance first.\",\n\t[require_error_codes.RUNTIME_010]: \"The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use \\\"createInstance\\\" api.\",\n\t[require_error_codes.RUNTIME_011]: \"The remoteEntry URL is missing from the remote snapshot.\",\n\t[require_error_codes.RUNTIME_012]: \"The getter for the shared module is not a function. This may be caused by setting \\\"shared.import: false\\\" without the host providing the corresponding lib.\",\n\t[require_error_codes.RUNTIME_013]: \"The manifest is not a valid Module Federation manifest.\",\n\t[require_error_codes.RUNTIME_014]: \"The remote does not expose the requested module.\",\n\t[require_error_codes.RUNTIME_015]: \"Remote container initialization failed.\"\n};\nconst typeDescMap = { [require_error_codes.TYPE_001]: \"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error.\" };\nconst buildDescMap = {\n\t[require_error_codes.BUILD_001]: \"Failed to find expose module.\",\n\t[require_error_codes.BUILD_002]: \"PublicPath is required in prod mode.\"\n};\nconst errorDescMap = {\n\t...runtimeDescMap,\n\t...typeDescMap,\n\t...buildDescMap\n};\n\n//#endregion\nexports.buildDescMap = buildDescMap;\nexports.errorDescMap = errorDescMap;\nexports.runtimeDescMap = runtimeDescMap;\nexports.typeDescMap = typeDescMap;\n//# sourceMappingURL=desc.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvZGVzYy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9kZXNjLmNqcz81ZDQxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfZXJyb3JfY29kZXMgPSByZXF1aXJlKCcuL2Vycm9yLWNvZGVzLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL2Rlc2MudHNcbmNvbnN0IHJ1bnRpbWVEZXNjTWFwID0ge1xuXHRbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwMV06IFwiRmFpbGVkIHRvIGdldCByZW1vdGVFbnRyeSBleHBvcnRzLlwiLFxuXHRbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwMl06IFwiVGhlIHJlbW90ZSBlbnRyeSBpbnRlcmZhY2UgZG9lcyBub3QgY29udGFpbiBcXFwiaW5pdFxcXCJcIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDNdOiBcIkZhaWxlZCB0byBnZXQgbWFuaWZlc3QuXCIsXG5cdFtyZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA0XTogXCJGYWlsZWQgdG8gbG9jYXRlIHJlbW90ZS5cIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDVdOiBcIkludmFsaWQgbG9hZFNoYXJlU3luYyBmdW5jdGlvbiBjYWxsIGZyb20gYnVuZGxlciBydW50aW1lXCIsXG5cdFtyZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA2XTogXCJJbnZhbGlkIGxvYWRTaGFyZVN5bmMgZnVuY3Rpb24gY2FsbCBmcm9tIHJ1bnRpbWVcIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDddOiBcIkZhaWxlZCB0byBnZXQgcmVtb3RlIHNuYXBzaG90LlwiLFxuXHRbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwOF06IFwiRmFpbGVkIHRvIGxvYWQgc2NyaXB0IHJlc291cmNlcy5cIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDldOiBcIlBsZWFzZSBjYWxsIGNyZWF0ZUluc3RhbmNlIGZpcnN0LlwiLFxuXHRbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMF06IFwiVGhlIG5hbWUgb3B0aW9uIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWxpemF0aW9uLiBJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugd2l0aCBhIGRpZmZlcmVudCBuYW1lLCBwbGVhc2UgdXNlIFxcXCJjcmVhdGVJbnN0YW5jZVxcXCIgYXBpLlwiLFxuXHRbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMV06IFwiVGhlIHJlbW90ZUVudHJ5IFVSTCBpcyBtaXNzaW5nIGZyb20gdGhlIHJlbW90ZSBzbmFwc2hvdC5cIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMTJdOiBcIlRoZSBnZXR0ZXIgZm9yIHRoZSBzaGFyZWQgbW9kdWxlIGlzIG5vdCBhIGZ1bmN0aW9uLiBUaGlzIG1heSBiZSBjYXVzZWQgYnkgc2V0dGluZyBcXFwic2hhcmVkLmltcG9ydDogZmFsc2VcXFwiIHdpdGhvdXQgdGhlIGhvc3QgcHJvdmlkaW5nIHRoZSBjb3JyZXNwb25kaW5nIGxpYi5cIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMTNdOiBcIlRoZSBtYW5pZmVzdCBpcyBub3QgYSB2YWxpZCBNb2R1bGUgRmVkZXJhdGlvbiBtYW5pZmVzdC5cIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMTRdOiBcIlRoZSByZW1vdGUgZG9lcyBub3QgZXhwb3NlIHRoZSByZXF1ZXN0ZWQgbW9kdWxlLlwiLFxuXHRbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxNV06IFwiUmVtb3RlIGNvbnRhaW5lciBpbml0aWFsaXphdGlvbiBmYWlsZWQuXCJcbn07XG5jb25zdCB0eXBlRGVzY01hcCA9IHsgW3JlcXVpcmVfZXJyb3JfY29kZXMuVFlQRV8wMDFdOiBcIkZhaWxlZCB0byBnZW5lcmF0ZSB0eXBlIGRlY2xhcmF0aW9uLiBFeGVjdXRlIHRoZSBiZWxvdyBjbWQgdG8gcmVwcm9kdWNlIGFuZCBmaXggdGhlIGVycm9yLlwiIH07XG5jb25zdCBidWlsZERlc2NNYXAgPSB7XG5cdFtyZXF1aXJlX2Vycm9yX2NvZGVzLkJVSUxEXzAwMV06IFwiRmFpbGVkIHRvIGZpbmQgZXhwb3NlIG1vZHVsZS5cIixcblx0W3JlcXVpcmVfZXJyb3JfY29kZXMuQlVJTERfMDAyXTogXCJQdWJsaWNQYXRoIGlzIHJlcXVpcmVkIGluIHByb2QgbW9kZS5cIlxufTtcbmNvbnN0IGVycm9yRGVzY01hcCA9IHtcblx0Li4ucnVudGltZURlc2NNYXAsXG5cdC4uLnR5cGVEZXNjTWFwLFxuXHQuLi5idWlsZERlc2NNYXBcbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5idWlsZERlc2NNYXAgPSBidWlsZERlc2NNYXA7XG5leHBvcnRzLmVycm9yRGVzY01hcCA9IGVycm9yRGVzY01hcDtcbmV4cG9ydHMucnVudGltZURlc2NNYXAgPSBydW50aW1lRGVzY01hcDtcbmV4cG9ydHMudHlwZURlc2NNYXAgPSB0eXBlRGVzY01hcDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRlc2MuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEIsbUJBQU8sQ0FBQywyRUFBbUI7O0FBRXZEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQjtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLHNCQUFzQjtBQUN0QixtQkFBbUI7QUFDbkIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/desc.cjs\n\n}");
|
|
24
|
+
|
|
25
|
+
},
|
|
26
|
+
"../../../node_modules/@module-federation/error-codes/dist/error-codes.cjs"(__unused_rspack_module, exports) {
|
|
27
|
+
eval("{\n//#region src/error-codes.ts\nconst RUNTIME_001 = \"RUNTIME-001\";\nconst RUNTIME_002 = \"RUNTIME-002\";\nconst RUNTIME_003 = \"RUNTIME-003\";\nconst RUNTIME_004 = \"RUNTIME-004\";\nconst RUNTIME_005 = \"RUNTIME-005\";\nconst RUNTIME_006 = \"RUNTIME-006\";\nconst RUNTIME_007 = \"RUNTIME-007\";\nconst RUNTIME_008 = \"RUNTIME-008\";\nconst RUNTIME_009 = \"RUNTIME-009\";\nconst RUNTIME_010 = \"RUNTIME-010\";\nconst RUNTIME_011 = \"RUNTIME-011\";\nconst RUNTIME_012 = \"RUNTIME-012\";\nconst RUNTIME_013 = \"RUNTIME-013\";\nconst RUNTIME_014 = \"RUNTIME-014\";\nconst RUNTIME_015 = \"RUNTIME-015\";\nconst TYPE_001 = \"TYPE-001\";\nconst BUILD_001 = \"BUILD-001\";\nconst BUILD_002 = \"BUILD-002\";\n\n//#endregion\nexports.BUILD_001 = BUILD_001;\nexports.BUILD_002 = BUILD_002;\nexports.RUNTIME_001 = RUNTIME_001;\nexports.RUNTIME_002 = RUNTIME_002;\nexports.RUNTIME_003 = RUNTIME_003;\nexports.RUNTIME_004 = RUNTIME_004;\nexports.RUNTIME_005 = RUNTIME_005;\nexports.RUNTIME_006 = RUNTIME_006;\nexports.RUNTIME_007 = RUNTIME_007;\nexports.RUNTIME_008 = RUNTIME_008;\nexports.RUNTIME_009 = RUNTIME_009;\nexports.RUNTIME_010 = RUNTIME_010;\nexports.RUNTIME_011 = RUNTIME_011;\nexports.RUNTIME_012 = RUNTIME_012;\nexports.RUNTIME_013 = RUNTIME_013;\nexports.RUNTIME_014 = RUNTIME_014;\nexports.RUNTIME_015 = RUNTIME_015;\nexports.TYPE_001 = TYPE_001;\n//# sourceMappingURL=error-codes.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvZXJyb3ItY29kZXMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvZXJyb3ItY29kZXMuY2pzP2Q4ZGMiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL2Vycm9yLWNvZGVzLnRzXG5jb25zdCBSVU5USU1FXzAwMSA9IFwiUlVOVElNRS0wMDFcIjtcbmNvbnN0IFJVTlRJTUVfMDAyID0gXCJSVU5USU1FLTAwMlwiO1xuY29uc3QgUlVOVElNRV8wMDMgPSBcIlJVTlRJTUUtMDAzXCI7XG5jb25zdCBSVU5USU1FXzAwNCA9IFwiUlVOVElNRS0wMDRcIjtcbmNvbnN0IFJVTlRJTUVfMDA1ID0gXCJSVU5USU1FLTAwNVwiO1xuY29uc3QgUlVOVElNRV8wMDYgPSBcIlJVTlRJTUUtMDA2XCI7XG5jb25zdCBSVU5USU1FXzAwNyA9IFwiUlVOVElNRS0wMDdcIjtcbmNvbnN0IFJVTlRJTUVfMDA4ID0gXCJSVU5USU1FLTAwOFwiO1xuY29uc3QgUlVOVElNRV8wMDkgPSBcIlJVTlRJTUUtMDA5XCI7XG5jb25zdCBSVU5USU1FXzAxMCA9IFwiUlVOVElNRS0wMTBcIjtcbmNvbnN0IFJVTlRJTUVfMDExID0gXCJSVU5USU1FLTAxMVwiO1xuY29uc3QgUlVOVElNRV8wMTIgPSBcIlJVTlRJTUUtMDEyXCI7XG5jb25zdCBSVU5USU1FXzAxMyA9IFwiUlVOVElNRS0wMTNcIjtcbmNvbnN0IFJVTlRJTUVfMDE0ID0gXCJSVU5USU1FLTAxNFwiO1xuY29uc3QgUlVOVElNRV8wMTUgPSBcIlJVTlRJTUUtMDE1XCI7XG5jb25zdCBUWVBFXzAwMSA9IFwiVFlQRS0wMDFcIjtcbmNvbnN0IEJVSUxEXzAwMSA9IFwiQlVJTEQtMDAxXCI7XG5jb25zdCBCVUlMRF8wMDIgPSBcIkJVSUxELTAwMlwiO1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuQlVJTERfMDAxID0gQlVJTERfMDAxO1xuZXhwb3J0cy5CVUlMRF8wMDIgPSBCVUlMRF8wMDI7XG5leHBvcnRzLlJVTlRJTUVfMDAxID0gUlVOVElNRV8wMDE7XG5leHBvcnRzLlJVTlRJTUVfMDAyID0gUlVOVElNRV8wMDI7XG5leHBvcnRzLlJVTlRJTUVfMDAzID0gUlVOVElNRV8wMDM7XG5leHBvcnRzLlJVTlRJTUVfMDA0ID0gUlVOVElNRV8wMDQ7XG5leHBvcnRzLlJVTlRJTUVfMDA1ID0gUlVOVElNRV8wMDU7XG5leHBvcnRzLlJVTlRJTUVfMDA2ID0gUlVOVElNRV8wMDY7XG5leHBvcnRzLlJVTlRJTUVfMDA3ID0gUlVOVElNRV8wMDc7XG5leHBvcnRzLlJVTlRJTUVfMDA4ID0gUlVOVElNRV8wMDg7XG5leHBvcnRzLlJVTlRJTUVfMDA5ID0gUlVOVElNRV8wMDk7XG5leHBvcnRzLlJVTlRJTUVfMDEwID0gUlVOVElNRV8wMTA7XG5leHBvcnRzLlJVTlRJTUVfMDExID0gUlVOVElNRV8wMTE7XG5leHBvcnRzLlJVTlRJTUVfMDEyID0gUlVOVElNRV8wMTI7XG5leHBvcnRzLlJVTlRJTUVfMDEzID0gUlVOVElNRV8wMTM7XG5leHBvcnRzLlJVTlRJTUVfMDE0ID0gUlVOVElNRV8wMTQ7XG5leHBvcnRzLlJVTlRJTUVfMDE1ID0gUlVOVElNRV8wMTU7XG5leHBvcnRzLlRZUEVfMDAxID0gVFlQRV8wMDE7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvci1jb2Rlcy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsZ0JBQWdCO0FBQ2hCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/error-codes.cjs\n\n}");
|
|
28
|
+
|
|
29
|
+
},
|
|
30
|
+
"../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs"(__unused_rspack_module, exports) {
|
|
31
|
+
eval("{\n//#region src/getShortErrorMsg.ts\nconst getDocsUrl = (errorCode) => {\n\treturn `View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${errorCode.split(\"-\")[0].toLowerCase()}#${errorCode.toLowerCase()}`;\n};\nconst getShortErrorMsg = (errorCode, errorDescMap, args, originalErrorMsg) => {\n\tconst msg = [`${[errorDescMap[errorCode]]} #${errorCode}`];\n\targs && msg.push(`args: ${JSON.stringify(args)}`);\n\tmsg.push(getDocsUrl(errorCode));\n\toriginalErrorMsg && msg.push(`Original Error Message:\\n ${originalErrorMsg}`);\n\treturn msg.join(\"\\n\");\n};\n\n//#endregion\nexports.getShortErrorMsg = getShortErrorMsg;\n//# sourceMappingURL=getShortErrorMsg.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvZ2V0U2hvcnRFcnJvck1zZy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9nZXRTaG9ydEVycm9yTXNnLmNqcz9kOTcwIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLy8jcmVnaW9uIHNyYy9nZXRTaG9ydEVycm9yTXNnLnRzXG5jb25zdCBnZXREb2NzVXJsID0gKGVycm9yQ29kZSkgPT4ge1xuXHRyZXR1cm4gYFZpZXcgdGhlIGRvY3MgdG8gc2VlIGhvdyB0byBzb2x2ZTogaHR0cHM6Ly9tb2R1bGUtZmVkZXJhdGlvbi5pby9ndWlkZS90cm91Ymxlc2hvb3RpbmcvJHtlcnJvckNvZGUuc3BsaXQoXCItXCIpWzBdLnRvTG93ZXJDYXNlKCl9IyR7ZXJyb3JDb2RlLnRvTG93ZXJDYXNlKCl9YDtcbn07XG5jb25zdCBnZXRTaG9ydEVycm9yTXNnID0gKGVycm9yQ29kZSwgZXJyb3JEZXNjTWFwLCBhcmdzLCBvcmlnaW5hbEVycm9yTXNnKSA9PiB7XG5cdGNvbnN0IG1zZyA9IFtgJHtbZXJyb3JEZXNjTWFwW2Vycm9yQ29kZV1dfSAjJHtlcnJvckNvZGV9YF07XG5cdGFyZ3MgJiYgbXNnLnB1c2goYGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG5cdG1zZy5wdXNoKGdldERvY3NVcmwoZXJyb3JDb2RlKSk7XG5cdG9yaWdpbmFsRXJyb3JNc2cgJiYgbXNnLnB1c2goYE9yaWdpbmFsIEVycm9yIE1lc3NhZ2U6XFxuICR7b3JpZ2luYWxFcnJvck1zZ31gKTtcblx0cmV0dXJuIG1zZy5qb2luKFwiXFxuXCIpO1xufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmdldFNob3J0RXJyb3JNc2cgPSBnZXRTaG9ydEVycm9yTXNnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0U2hvcnRFcnJvck1zZy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0EsaUdBQWlHLHNDQUFzQyxHQUFHLHdCQUF3QjtBQUNsSztBQUNBO0FBQ0EsaUJBQWlCLDJCQUEyQixHQUFHLFVBQVU7QUFDekQsMkJBQTJCLHFCQUFxQjtBQUNoRDtBQUNBLDJEQUEyRCxpQkFBaUI7QUFDNUU7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs\n\n}");
|
|
32
|
+
|
|
33
|
+
},
|
|
34
|
+
"../../../node_modules/@module-federation/error-codes/dist/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
35
|
+
eval("{Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\nconst require_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/error-codes.cjs\");\nconst require_getShortErrorMsg = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.cjs\");\nconst require_desc = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/desc.cjs\");\n\nexports.BUILD_001 = require_error_codes.BUILD_001;\nexports.BUILD_002 = require_error_codes.BUILD_002;\nexports.RUNTIME_001 = require_error_codes.RUNTIME_001;\nexports.RUNTIME_002 = require_error_codes.RUNTIME_002;\nexports.RUNTIME_003 = require_error_codes.RUNTIME_003;\nexports.RUNTIME_004 = require_error_codes.RUNTIME_004;\nexports.RUNTIME_005 = require_error_codes.RUNTIME_005;\nexports.RUNTIME_006 = require_error_codes.RUNTIME_006;\nexports.RUNTIME_007 = require_error_codes.RUNTIME_007;\nexports.RUNTIME_008 = require_error_codes.RUNTIME_008;\nexports.RUNTIME_009 = require_error_codes.RUNTIME_009;\nexports.RUNTIME_010 = require_error_codes.RUNTIME_010;\nexports.RUNTIME_011 = require_error_codes.RUNTIME_011;\nexports.RUNTIME_012 = require_error_codes.RUNTIME_012;\nexports.RUNTIME_013 = require_error_codes.RUNTIME_013;\nexports.RUNTIME_014 = require_error_codes.RUNTIME_014;\nexports.RUNTIME_015 = require_error_codes.RUNTIME_015;\nexports.TYPE_001 = require_error_codes.TYPE_001;\nexports.buildDescMap = require_desc.buildDescMap;\nexports.errorDescMap = require_desc.errorDescMap;\nexports.getShortErrorMsg = require_getShortErrorMsg.getShortErrorMsg;\nexports.runtimeDescMap = require_desc.runtimeDescMap;\nexports.typeDescMap = require_desc.typeDescMap;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvaW5kZXguY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Rpc3QvaW5kZXguY2pzPzhlOTMiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5jb25zdCByZXF1aXJlX2Vycm9yX2NvZGVzID0gcmVxdWlyZSgnLi9lcnJvci1jb2Rlcy5janMnKTtcbmNvbnN0IHJlcXVpcmVfZ2V0U2hvcnRFcnJvck1zZyA9IHJlcXVpcmUoJy4vZ2V0U2hvcnRFcnJvck1zZy5janMnKTtcbmNvbnN0IHJlcXVpcmVfZGVzYyA9IHJlcXVpcmUoJy4vZGVzYy5janMnKTtcblxuZXhwb3J0cy5CVUlMRF8wMDEgPSByZXF1aXJlX2Vycm9yX2NvZGVzLkJVSUxEXzAwMTtcbmV4cG9ydHMuQlVJTERfMDAyID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5CVUlMRF8wMDI7XG5leHBvcnRzLlJVTlRJTUVfMDAxID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwMTtcbmV4cG9ydHMuUlVOVElNRV8wMDIgPSByZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDAyO1xuZXhwb3J0cy5SVU5USU1FXzAwMyA9IHJlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDM7XG5leHBvcnRzLlJVTlRJTUVfMDA0ID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwNDtcbmV4cG9ydHMuUlVOVElNRV8wMDUgPSByZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA1O1xuZXhwb3J0cy5SVU5USU1FXzAwNiA9IHJlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDY7XG5leHBvcnRzLlJVTlRJTUVfMDA3ID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwNztcbmV4cG9ydHMuUlVOVElNRV8wMDggPSByZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA4O1xuZXhwb3J0cy5SVU5USU1FXzAwOSA9IHJlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMDk7XG5leHBvcnRzLlJVTlRJTUVfMDEwID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMDtcbmV4cG9ydHMuUlVOVElNRV8wMTEgPSByZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDExO1xuZXhwb3J0cy5SVU5USU1FXzAxMiA9IHJlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMTI7XG5leHBvcnRzLlJVTlRJTUVfMDEzID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMztcbmV4cG9ydHMuUlVOVElNRV8wMTQgPSByZXF1aXJlX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDE0O1xuZXhwb3J0cy5SVU5USU1FXzAxNSA9IHJlcXVpcmVfZXJyb3JfY29kZXMuUlVOVElNRV8wMTU7XG5leHBvcnRzLlRZUEVfMDAxID0gcmVxdWlyZV9lcnJvcl9jb2Rlcy5UWVBFXzAwMTtcbmV4cG9ydHMuYnVpbGREZXNjTWFwID0gcmVxdWlyZV9kZXNjLmJ1aWxkRGVzY01hcDtcbmV4cG9ydHMuZXJyb3JEZXNjTWFwID0gcmVxdWlyZV9kZXNjLmVycm9yRGVzY01hcDtcbmV4cG9ydHMuZ2V0U2hvcnRFcnJvck1zZyA9IHJlcXVpcmVfZ2V0U2hvcnRFcnJvck1zZy5nZXRTaG9ydEVycm9yTXNnO1xuZXhwb3J0cy5ydW50aW1lRGVzY01hcCA9IHJlcXVpcmVfZGVzYy5ydW50aW1lRGVzY01hcDtcbmV4cG9ydHMudHlwZURlc2NNYXAgPSByZXF1aXJlX2Rlc2MudHlwZURlc2NNYXA7Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNCQUFzQixPQUFPLHdCQUF3QixpQkFBaUI7QUFDdEUsNEJBQTRCLG1CQUFPLENBQUMsMkVBQW1CO0FBQ3ZELGlDQUFpQyxtQkFBTyxDQUFDLGdGQUF3QjtBQUNqRSxxQkFBcUIsbUJBQU8sQ0FBQyxvRUFBWTs7QUFFekMsaUJBQWlCO0FBQ2pCLGlCQUFpQjtBQUNqQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixtQkFBbUI7QUFDbkIsbUJBQW1CO0FBQ25CLG1CQUFtQjtBQUNuQixnQkFBZ0I7QUFDaEIsb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQix3QkFBd0I7QUFDeEIsc0JBQXNCO0FBQ3RCLG1CQUFtQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/index.cjs\n\n}");
|
|
10
36
|
|
|
11
37
|
},
|
|
12
|
-
"
|
|
13
|
-
eval("{__webpack_require__.r(__webpack_exports__);\n/* import */ var _home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs_cjs__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\");\n/* import */ var _home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs_cjs__rspack_import_0_default = /*#__PURE__*/__webpack_require__.n(_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs_cjs__rspack_import_0);\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\nvar __module_federation_runtime_plugins__ = [].filter(function(param) {\n var plugin = param.plugin;\n return plugin;\n}).map(function(param) {\n var plugin = param.plugin, params = param.params;\n return plugin(params);\n});\nvar __module_federation_remote_infos__ = {};\nvar __module_federation_container_name__ = \"@openmrs/esm-app-shell\";\nvar __module_federation_share_strategy__ = \"version-first\";\nif ((__webpack_require__.initializeSharingData || __webpack_require__.initializeExposesData) && __webpack_require__.federation) {\n var _ref, _ref1, _ref2, _ref3, _ref4;\n var __webpack_require___remotesLoadingData, __webpack_require___remotesLoadingData1, __webpack_require___initializeSharingData, __webpack_require___consumesLoadingData, __webpack_require___consumesLoadingData1, __webpack_require___initializeExposesData, __webpack_require___consumesLoadingData2;\n var override = function override(obj, key, value) {\n if (!obj) return;\n if (obj[key]) obj[key] = value;\n };\n var merge = function merge(obj, key, fn) {\n var value = fn();\n if (Array.isArray(value)) {\n var _obj_key;\n var _obj, _key, _;\n (_ = (_obj = obj)[_key = key]) !== null && _ !== void 0 ? _ : _obj[_key] = [];\n (_obj_key = obj[key]).push.apply(_obj_key, _to_consumable_array(value));\n } else if ((typeof value === \"undefined\" ? \"undefined\" : _type_of(value)) === \"object\" && value !== null) {\n var _obj1, _key1, _1;\n (_1 = (_obj1 = obj)[_key1 = key]) !== null && _1 !== void 0 ? _1 : _obj1[_key1] = {};\n Object.assign(obj[key], value);\n }\n };\n var early = function early(obj, key, initial) {\n var _obj, _key, _;\n (_ = (_obj = obj)[_key = key]) !== null && _ !== void 0 ? _ : _obj[_key] = initial();\n };\n var remotesLoadingChunkMapping = (_ref = (__webpack_require___remotesLoadingData = __webpack_require__.remotesLoadingData) === null || __webpack_require___remotesLoadingData === void 0 ? void 0 : __webpack_require___remotesLoadingData.chunkMapping) !== null && _ref !== void 0 ? _ref : {};\n var remotesLoadingModuleIdToRemoteDataMapping = (_ref1 = (__webpack_require___remotesLoadingData1 = __webpack_require__.remotesLoadingData) === null || __webpack_require___remotesLoadingData1 === void 0 ? void 0 : __webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping) !== null && _ref1 !== void 0 ? _ref1 : {};\n var initializeSharingScopeToInitDataMapping = (_ref2 = (__webpack_require___initializeSharingData = __webpack_require__.initializeSharingData) === null || __webpack_require___initializeSharingData === void 0 ? void 0 : __webpack_require___initializeSharingData.scopeToSharingDataMapping) !== null && _ref2 !== void 0 ? _ref2 : {};\n var consumesLoadingChunkMapping = (_ref3 = (__webpack_require___consumesLoadingData = __webpack_require__.consumesLoadingData) === null || __webpack_require___consumesLoadingData === void 0 ? void 0 : __webpack_require___consumesLoadingData.chunkMapping) !== null && _ref3 !== void 0 ? _ref3 : {};\n var consumesLoadingModuleToConsumeDataMapping = (_ref4 = (__webpack_require___consumesLoadingData1 = __webpack_require__.consumesLoadingData) === null || __webpack_require___consumesLoadingData1 === void 0 ? void 0 : __webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping) !== null && _ref4 !== void 0 ? _ref4 : {};\n var consumesLoadinginstalledModules = {};\n var initializeSharingInitPromises = [];\n var initializeSharingInitTokens = {};\n var containerShareScope = (__webpack_require___initializeExposesData = __webpack_require__.initializeExposesData) === null || __webpack_require___initializeExposesData === void 0 ? void 0 : __webpack_require___initializeExposesData.shareScope;\n for(var key in (_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs_cjs__rspack_import_0_default())){\n __webpack_require__.federation[key] = (_home_runner_work_openmrs_esm_core_openmrs_esm_core_node_modules_module_federation_webpack_bundler_runtime_dist_index_cjs_cjs__rspack_import_0_default())[key];\n }\n early(__webpack_require__.federation, \"consumesLoadingModuleToHandlerMapping\", function() {\n var consumesLoadingModuleToHandlerMapping = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(consumesLoadingModuleToConsumeDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), moduleId = _step_value[0], data = _step_value[1];\n consumesLoadingModuleToHandlerMapping[moduleId] = {\n getter: data.fallback,\n shareInfo: {\n shareConfig: {\n fixedDependencies: false,\n requiredVersion: data.requiredVersion,\n strictVersion: data.strictVersion,\n singleton: data.singleton,\n eager: data.eager\n },\n scope: [\n data.shareScope\n ]\n },\n shareKey: data.shareKey\n };\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return consumesLoadingModuleToHandlerMapping;\n });\n early(__webpack_require__.federation, \"initOptions\", function() {\n return {};\n });\n early(__webpack_require__.federation.initOptions, \"name\", function() {\n return __module_federation_container_name__;\n });\n early(__webpack_require__.federation.initOptions, \"shareStrategy\", function() {\n return __module_federation_share_strategy__;\n });\n early(__webpack_require__.federation.initOptions, \"shared\", function() {\n var shared = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(initializeSharingScopeToInitDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), scope = _step_value[0], stages = _step_value[1];\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = stages[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var stage = _step1.value;\n if ((typeof stage === \"undefined\" ? \"undefined\" : _type_of(stage)) === \"object\" && stage !== null) {\n var name = stage.name, version = stage.version, factory = stage.factory, eager = stage.eager, singleton = stage.singleton, requiredVersion = stage.requiredVersion, strictVersion = stage.strictVersion;\n var shareConfig = {};\n var isValidValue = function isValidValue(val) {\n return typeof val !== \"undefined\";\n };\n if (isValidValue(singleton)) {\n shareConfig.singleton = singleton;\n }\n if (isValidValue(requiredVersion)) {\n shareConfig.requiredVersion = requiredVersion;\n }\n if (isValidValue(eager)) {\n shareConfig.eager = eager;\n }\n if (isValidValue(strictVersion)) {\n shareConfig.strictVersion = strictVersion;\n }\n var options = {\n version: version,\n scope: [\n scope\n ],\n shareConfig: shareConfig,\n get: factory\n };\n if (shared[name]) {\n shared[name].push(options);\n } else {\n shared[name] = [\n options\n ];\n }\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return shared;\n });\n merge(__webpack_require__.federation.initOptions, \"remotes\", function() {\n return Object.values(__module_federation_remote_infos__).flat().filter(function(remote) {\n return remote.externalType === \"script\";\n });\n });\n merge(__webpack_require__.federation.initOptions, \"plugins\", function() {\n return __module_federation_runtime_plugins__;\n });\n early(__webpack_require__.federation, \"bundlerRuntimeOptions\", function() {\n return {};\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions, \"remotes\", function() {\n return {};\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"chunkMapping\", function() {\n return remotesLoadingChunkMapping;\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"remoteInfos\", function() {\n return __module_federation_remote_infos__;\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"idToExternalAndNameMapping\", function() {\n var remotesLoadingIdToExternalAndNameMappingMapping = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(remotesLoadingModuleIdToRemoteDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), moduleId = _step_value[0], data = _step_value[1];\n remotesLoadingIdToExternalAndNameMappingMapping[moduleId] = [\n data.shareScope,\n data.name,\n data.externalModuleId,\n data.remoteName\n ];\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return remotesLoadingIdToExternalAndNameMappingMapping;\n });\n early(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"webpackRequire\", function() {\n return __webpack_require__;\n });\n merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes, \"idToRemoteMap\", function() {\n var idToRemoteMap = {};\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = Object.entries(remotesLoadingModuleIdToRemoteDataMapping)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var _step_value = _sliced_to_array(_step.value, 2), id = _step_value[0], remoteData = _step_value[1];\n var info = __module_federation_remote_infos__[remoteData.remoteName];\n if (info) idToRemoteMap[id] = info;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n return idToRemoteMap;\n });\n override(__webpack_require__, \"S\", __webpack_require__.federation.bundlerRuntime.S);\n if (__webpack_require__.federation.attachShareScopeMap) {\n __webpack_require__.federation.attachShareScopeMap(__webpack_require__);\n }\n override(__webpack_require__.f, \"remotes\", function(chunkId, promises) {\n return __webpack_require__.federation.bundlerRuntime.remotes({\n chunkId: chunkId,\n promises: promises,\n chunkMapping: remotesLoadingChunkMapping,\n idToExternalAndNameMapping: __webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,\n idToRemoteMap: __webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__.f, \"consumes\", function(chunkId, promises) {\n return __webpack_require__.federation.bundlerRuntime.consumes({\n chunkId: chunkId,\n promises: promises,\n chunkMapping: consumesLoadingChunkMapping,\n moduleToHandlerMapping: __webpack_require__.federation.consumesLoadingModuleToHandlerMapping,\n installedModules: consumesLoadinginstalledModules,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__, \"I\", function(name, initScope) {\n return __webpack_require__.federation.bundlerRuntime.I({\n shareScopeName: name,\n initScope: initScope,\n initPromises: initializeSharingInitPromises,\n initTokens: initializeSharingInitTokens,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__, \"initContainer\", function(shareScope, initScope, remoteEntryInitOptions) {\n return __webpack_require__.federation.bundlerRuntime.initContainerEntry({\n shareScope: shareScope,\n initScope: initScope,\n remoteEntryInitOptions: remoteEntryInitOptions,\n shareScopeKey: containerShareScope,\n webpackRequire: __webpack_require__\n });\n });\n override(__webpack_require__, \"getContainer\", function(module1, getScope) {\n var moduleMap = __webpack_require__.initializeExposesData.moduleMap;\n __webpack_require__.R = getScope;\n getScope = Object.prototype.hasOwnProperty.call(moduleMap, module1) ? moduleMap[module1]() : Promise.resolve().then(function() {\n throw new Error('Module \"' + module1 + '\" does not exist in container.');\n });\n __webpack_require__.R = undefined;\n return getScope;\n });\n __webpack_require__.federation.instance = __webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);\n if ((__webpack_require___consumesLoadingData2 = __webpack_require__.consumesLoadingData) === null || __webpack_require___consumesLoadingData2 === void 0 ? void 0 : __webpack_require___consumesLoadingData2.initialConsumes) {\n __webpack_require__.federation.bundlerRuntime.installInitialConsumes({\n webpackRequire: __webpack_require__,\n installedModules: consumesLoadinginstalledModules,\n initialConsumes: __webpack_require__.consumesLoadingData.initialConsumes,\n moduleToHandlerMapping: __webpack_require__.federation.consumesLoadingModuleToHandlerMapping\n });\n }\n}\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbHRpbjpzd2MtbG9hZGVyIWRhdGE6dGV4dC9qYXZhc2NyaXB0LGltcG9ydCBfX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fIGZyb20gXCIvaG9tZS9ydW5uZXIvd29yay9vcGVubXJzLWVzbS1jb3JlL29wZW5tcnMtZXNtLWNvcmUvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9kaXN0L2luZGV4LmNqcy5janNcIjtjb25zdCBfX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luc19fID0gW10uZmlsdGVyKCh7IHBsdWdpbiB9KSA9PiBwbHVnaW4pLm1hcCgoeyBwbHVnaW4sIHBhcmFtcyB9KSA9PiBwbHVnaW4ocGFyYW1zKSk7Y29uc3QgX19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXyA9IHt9O2NvbnN0IF9fbW9kdWxlX2ZlZGVyYXRpb25fY29udGFpbmVyX25hbWVfXyA9IFwiQG9wZW5tcnMvZXNtLWFwcC1zaGVsbFwiO2NvbnN0IF9fbW9kdWxlX2ZlZGVyYXRpb25fc2hhcmVfc3RyYXRlZ3lfXyA9IFwidmVyc2lvbi1maXJzdFwiO2lmKChfX3dlYnBhY2tfcmVxdWlyZV9fLmluaXRpYWxpemVTaGFyaW5nRGF0YXx8X193ZWJwYWNrX3JlcXVpcmVfXy5pbml0aWFsaXplRXhwb3Nlc0RhdGEpJiZfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24pe3ZhciBfcmVmLF9yZWYxLF9yZWYyLF9yZWYzLF9yZWY0O3ZhciBfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YSxfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTEsX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplU2hhcmluZ0RhdGEsX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhLF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTEsX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplRXhwb3Nlc0RhdGEsX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMjtjb25zdCBvdmVycmlkZT0ob2JqLGtleSx2YWx1ZSk9PntpZighb2JqKXJldHVybjtpZihvYmpba2V5XSlvYmpba2V5XT12YWx1ZX07Y29uc3QgbWVyZ2U9KG9iaixrZXksZm4pPT57Y29uc3QgdmFsdWU9Zm4oKTtpZihBcnJheS5pc0FycmF5KHZhbHVlKSl7dmFyIF9vYmosX2tleSxfOyhfPShfb2JqPW9iailbX2tleT1rZXldKSE9PW51bGwmJl8hPT12b2lkIDA/Xzpfb2JqW19rZXldPVtdO29ialtrZXldLnB1c2goLi4udmFsdWUpfWVsc2UgaWYodHlwZW9mIHZhbHVlPT09XCJvYmplY3RcIiYmdmFsdWUhPT1udWxsKXt2YXIgX29iajEsX2tleTEsXzE7KF8xPShfb2JqMT1vYmopW19rZXkxPWtleV0pIT09bnVsbCYmXzEhPT12b2lkIDA/XzE6X29iajFbX2tleTFdPXt9O09iamVjdC5hc3NpZ24ob2JqW2tleV0sdmFsdWUpfX07Y29uc3QgZWFybHk9KG9iaixrZXksaW5pdGlhbCk9Pnt2YXIgX29iaixfa2V5LF87KF89KF9vYmo9b2JqKVtfa2V5PWtleV0pIT09bnVsbCYmXyE9PXZvaWQgMD9fOl9vYmpbX2tleV09aW5pdGlhbCgpfTtjb25zdCByZW1vdGVzTG9hZGluZ0NodW5rTWFwcGluZz0oX3JlZj0oX193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGE9X193ZWJwYWNrX3JlcXVpcmVfXy5yZW1vdGVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhLmNodW5rTWFwcGluZykhPT1udWxsJiZfcmVmIT09dm9pZCAwP19yZWY6e307Y29uc3QgcmVtb3Rlc0xvYWRpbmdNb2R1bGVJZFRvUmVtb3RlRGF0YU1hcHBpbmc9KF9yZWYxPShfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTE9X193ZWJwYWNrX3JlcXVpcmVfXy5yZW1vdGVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGExPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTEubW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nKSE9PW51bGwmJl9yZWYxIT09dm9pZCAwP19yZWYxOnt9O2NvbnN0IGluaXRpYWxpemVTaGFyaW5nU2NvcGVUb0luaXREYXRhTWFwcGluZz0oX3JlZjI9KF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhPV9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZVNoYXJpbmdEYXRhKT09PW51bGx8fF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVTaGFyaW5nRGF0YS5zY29wZVRvU2hhcmluZ0RhdGFNYXBwaW5nKSE9PW51bGwmJl9yZWYyIT09dm9pZCAwP19yZWYyOnt9O2NvbnN0IGNvbnN1bWVzTG9hZGluZ0NodW5rTWFwcGluZz0oX3JlZjM9KF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YT1fX3dlYnBhY2tfcmVxdWlyZV9fLmNvbnN1bWVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGEuY2h1bmtNYXBwaW5nKSE9PW51bGwmJl9yZWYzIT09dm9pZCAwP19yZWYzOnt9O2NvbnN0IGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvQ29uc3VtZURhdGFNYXBwaW5nPShfcmVmND0oX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMT1fX3dlYnBhY2tfcmVxdWlyZV9fLmNvbnN1bWVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMT09PXZvaWQgMD92b2lkIDA6X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMS5tb2R1bGVJZFRvQ29uc3VtZURhdGFNYXBwaW5nKSE9PW51bGwmJl9yZWY0IT09dm9pZCAwP19yZWY0Ont9O2NvbnN0IGNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXM9e307Y29uc3QgaW5pdGlhbGl6ZVNoYXJpbmdJbml0UHJvbWlzZXM9W107Y29uc3QgaW5pdGlhbGl6ZVNoYXJpbmdJbml0VG9rZW5zPXt9O2NvbnN0IGNvbnRhaW5lclNoYXJlU2NvcGU9KF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhPV9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZUV4cG9zZXNEYXRhKT09PW51bGx8fF9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVFeHBvc2VzRGF0YS5zaGFyZVNjb3BlO2Zvcihjb25zdCBrZXkgaW4gX19tb2R1bGVfZmVkZXJhdGlvbl9idW5kbGVyX3J1bnRpbWVfXyl7X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uW2tleV09X19tb2R1bGVfZmVkZXJhdGlvbl9idW5kbGVyX3J1bnRpbWVfX1trZXldfWVhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbixcImNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmdcIiwoKT0+e2NvbnN0IGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmc9e307Zm9yKGxldFttb2R1bGVJZCxkYXRhXW9mIE9iamVjdC5lbnRyaWVzKGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvQ29uc3VtZURhdGFNYXBwaW5nKSl7Y29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZ1ttb2R1bGVJZF09e2dldHRlcjpkYXRhLmZhbGxiYWNrLHNoYXJlSW5mbzp7c2hhcmVDb25maWc6e2ZpeGVkRGVwZW5kZW5jaWVzOmZhbHNlLHJlcXVpcmVkVmVyc2lvbjpkYXRhLnJlcXVpcmVkVmVyc2lvbixzdHJpY3RWZXJzaW9uOmRhdGEuc3RyaWN0VmVyc2lvbixzaW5nbGV0b246ZGF0YS5zaW5nbGV0b24sZWFnZXI6ZGF0YS5lYWdlcn0sc2NvcGU6W2RhdGEuc2hhcmVTY29wZV19LHNoYXJlS2V5OmRhdGEuc2hhcmVLZXl9fXJldHVybiBjb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nfSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLFwiaW5pdE9wdGlvbnNcIiwoKT0+KHt9KSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwibmFtZVwiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX2NvbnRhaW5lcl9uYW1lX18pO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyxcInNoYXJlU3RyYXRlZ3lcIiwoKT0+X19tb2R1bGVfZmVkZXJhdGlvbl9zaGFyZV9zdHJhdGVneV9fKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMsXCJzaGFyZWRcIiwoKT0+e2NvbnN0IHNoYXJlZD17fTtmb3IobGV0W3Njb3BlLHN0YWdlc11vZiBPYmplY3QuZW50cmllcyhpbml0aWFsaXplU2hhcmluZ1Njb3BlVG9Jbml0RGF0YU1hcHBpbmcpKXtmb3IobGV0IHN0YWdlIG9mIHN0YWdlcyl7aWYodHlwZW9mIHN0YWdlPT09XCJvYmplY3RcIiYmc3RhZ2UhPT1udWxsKXtjb25zdHtuYW1lLHZlcnNpb24sZmFjdG9yeSxlYWdlcixzaW5nbGV0b24scmVxdWlyZWRWZXJzaW9uLHN0cmljdFZlcnNpb259PXN0YWdlO2NvbnN0IHNoYXJlQ29uZmlnPXt9O2NvbnN0IGlzVmFsaWRWYWx1ZT1mdW5jdGlvbih2YWwpe3JldHVybiB0eXBlb2YgdmFsIT09XCJ1bmRlZmluZWRcIn07aWYoaXNWYWxpZFZhbHVlKHNpbmdsZXRvbikpe3NoYXJlQ29uZmlnLnNpbmdsZXRvbj1zaW5nbGV0b259aWYoaXNWYWxpZFZhbHVlKHJlcXVpcmVkVmVyc2lvbikpe3NoYXJlQ29uZmlnLnJlcXVpcmVkVmVyc2lvbj1yZXF1aXJlZFZlcnNpb259aWYoaXNWYWxpZFZhbHVlKGVhZ2VyKSl7c2hhcmVDb25maWcuZWFnZXI9ZWFnZXJ9aWYoaXNWYWxpZFZhbHVlKHN0cmljdFZlcnNpb24pKXtzaGFyZUNvbmZpZy5zdHJpY3RWZXJzaW9uPXN0cmljdFZlcnNpb259Y29uc3Qgb3B0aW9ucz17dmVyc2lvbixzY29wZTpbc2NvcGVdLHNoYXJlQ29uZmlnLGdldDpmYWN0b3J5fTtpZihzaGFyZWRbbmFtZV0pe3NoYXJlZFtuYW1lXS5wdXNoKG9wdGlvbnMpfWVsc2V7c2hhcmVkW25hbWVdPVtvcHRpb25zXX19fX1yZXR1cm4gc2hhcmVkfSk7bWVyZ2UoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwicmVtb3Rlc1wiLCgpPT5PYmplY3QudmFsdWVzKF9fbW9kdWxlX2ZlZGVyYXRpb25fcmVtb3RlX2luZm9zX18pLmZsYXQoKS5maWx0ZXIocmVtb3RlPT5yZW1vdGUuZXh0ZXJuYWxUeXBlPT09XCJzY3JpcHRcIikpO21lcmdlKF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyxcInBsdWdpbnNcIiwoKT0+X19tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX3BsdWdpbnNfXyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLFwiYnVuZGxlclJ1bnRpbWVPcHRpb25zXCIsKCk9Pih7fSkpO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMsXCJyZW1vdGVzXCIsKCk9Pih7fSkpO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3RlcyxcImNodW5rTWFwcGluZ1wiLCgpPT5yZW1vdGVzTG9hZGluZ0NodW5rTWFwcGluZyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLFwicmVtb3RlSW5mb3NcIiwoKT0+X19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLFwiaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdcIiwoKT0+e2NvbnN0IHJlbW90ZXNMb2FkaW5nSWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdNYXBwaW5nPXt9O2ZvcihsZXRbbW9kdWxlSWQsZGF0YV1vZiBPYmplY3QuZW50cmllcyhyZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykpe3JlbW90ZXNMb2FkaW5nSWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdNYXBwaW5nW21vZHVsZUlkXT1bZGF0YS5zaGFyZVNjb3BlLGRhdGEubmFtZSxkYXRhLmV4dGVybmFsTW9kdWxlSWQsZGF0YS5yZW1vdGVOYW1lXX1yZXR1cm4gcmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmd9KTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJ3ZWJwYWNrUmVxdWlyZVwiLCgpPT5fX3dlYnBhY2tfcmVxdWlyZV9fKTttZXJnZShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJpZFRvUmVtb3RlTWFwXCIsKCk9Pntjb25zdCBpZFRvUmVtb3RlTWFwPXt9O2ZvcihsZXRbaWQscmVtb3RlRGF0YV1vZiBPYmplY3QuZW50cmllcyhyZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykpe2NvbnN0IGluZm89X19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfX1tyZW1vdGVEYXRhLnJlbW90ZU5hbWVdO2lmKGluZm8paWRUb1JlbW90ZU1hcFtpZF09aW5mb31yZXR1cm4gaWRUb1JlbW90ZU1hcH0pO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJTXCIsX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLlMpO2lmKF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5hdHRhY2hTaGFyZVNjb3BlTWFwKXtfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYXR0YWNoU2hhcmVTY29wZU1hcChfX3dlYnBhY2tfcmVxdWlyZV9fKX1vdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLmYsXCJyZW1vdGVzXCIsKGNodW5rSWQscHJvbWlzZXMpPT5fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUucmVtb3Rlcyh7Y2h1bmtJZCxwcm9taXNlcyxjaHVua01hcHBpbmc6cmVtb3Rlc0xvYWRpbmdDaHVua01hcHBpbmcsaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmc6X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLmlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nLGlkVG9SZW1vdGVNYXA6X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLmlkVG9SZW1vdGVNYXAsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLmYsXCJjb25zdW1lc1wiLChjaHVua0lkLHByb21pc2VzKT0+X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLmNvbnN1bWVzKHtjaHVua0lkLHByb21pc2VzLGNodW5rTWFwcGluZzpjb25zdW1lc0xvYWRpbmdDaHVua01hcHBpbmcsbW9kdWxlVG9IYW5kbGVyTWFwcGluZzpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZyxpbnN0YWxsZWRNb2R1bGVzOmNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXMsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLFwiSVwiLChuYW1lLGluaXRTY29wZSk9Pl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZS5JKHtzaGFyZVNjb3BlTmFtZTpuYW1lLGluaXRTY29wZSxpbml0UHJvbWlzZXM6aW5pdGlhbGl6ZVNoYXJpbmdJbml0UHJvbWlzZXMsaW5pdFRva2Vuczppbml0aWFsaXplU2hhcmluZ0luaXRUb2tlbnMsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLFwiaW5pdENvbnRhaW5lclwiLChzaGFyZVNjb3BlLGluaXRTY29wZSxyZW1vdGVFbnRyeUluaXRPcHRpb25zKT0+X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLmluaXRDb250YWluZXJFbnRyeSh7c2hhcmVTY29wZSxpbml0U2NvcGUscmVtb3RlRW50cnlJbml0T3B0aW9ucyxzaGFyZVNjb3BlS2V5OmNvbnRhaW5lclNoYXJlU2NvcGUsd2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfX30pKTtvdmVycmlkZShfX3dlYnBhY2tfcmVxdWlyZV9fLFwiZ2V0Q29udGFpbmVyXCIsKG1vZHVsZTEsZ2V0U2NvcGUpPT57dmFyIG1vZHVsZU1hcD1fX3dlYnBhY2tfcmVxdWlyZV9fLmluaXRpYWxpemVFeHBvc2VzRGF0YS5tb2R1bGVNYXA7X193ZWJwYWNrX3JlcXVpcmVfXy5SPWdldFNjb3BlO2dldFNjb3BlPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChtb2R1bGVNYXAsbW9kdWxlMSk/bW9kdWxlTWFwW21vZHVsZTFdKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3Rocm93IG5ldyBFcnJvcignTW9kdWxlIFwiJyttb2R1bGUxKydcIiBkb2VzIG5vdCBleGlzdCBpbiBjb250YWluZXIuJyl9KTtfX3dlYnBhY2tfcmVxdWlyZV9fLlI9dW5kZWZpbmVkO3JldHVybiBnZXRTY29wZX0pO19fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbnN0YW5jZT1fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24ucnVudGltZS5pbml0KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyk7aWYoKF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTI9X193ZWJwYWNrX3JlcXVpcmVfXy5jb25zdW1lc0xvYWRpbmdEYXRhKT09PW51bGx8fF9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTI9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTIuaW5pdGlhbENvbnN1bWVzKXtfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuaW5zdGFsbEluaXRpYWxDb25zdW1lcyh7d2VicGFja1JlcXVpcmU6X193ZWJwYWNrX3JlcXVpcmVfXyxpbnN0YWxsZWRNb2R1bGVzOmNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXMsaW5pdGlhbENvbnN1bWVzOl9fd2VicGFja19yZXF1aXJlX18uY29uc3VtZXNMb2FkaW5nRGF0YS5pbml0aWFsQ29uc3VtZXMsbW9kdWxlVG9IYW5kbGVyTWFwcGluZzpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZ30pfX0iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLz09dm9pZCAwPzYxZjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF9fbW9kdWxlX2ZlZGVyYXRpb25fYnVuZGxlcl9ydW50aW1lX18gZnJvbSBcIi9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5kZXguY2pzLmNqc1wiO2NvbnN0IF9fbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9wbHVnaW5zX18gPSBbXS5maWx0ZXIoKHsgcGx1Z2luIH0pID0+IHBsdWdpbikubWFwKCh7IHBsdWdpbiwgcGFyYW1zIH0pID0+IHBsdWdpbihwYXJhbXMpKTtjb25zdCBfX21vZHVsZV9mZWRlcmF0aW9uX3JlbW90ZV9pbmZvc19fID0ge307Y29uc3QgX19tb2R1bGVfZmVkZXJhdGlvbl9jb250YWluZXJfbmFtZV9fID0gXCJAb3Blbm1ycy9lc20tYXBwLXNoZWxsXCI7Y29uc3QgX19tb2R1bGVfZmVkZXJhdGlvbl9zaGFyZV9zdHJhdGVneV9fID0gXCJ2ZXJzaW9uLWZpcnN0XCI7aWYoKF9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZVNoYXJpbmdEYXRhfHxfX3dlYnBhY2tfcmVxdWlyZV9fLmluaXRpYWxpemVFeHBvc2VzRGF0YSkmJl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbil7dmFyIF9yZWYsX3JlZjEsX3JlZjIsX3JlZjMsX3JlZjQ7dmFyIF9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhLF9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMSxfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVTaGFyaW5nRGF0YSxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGEsX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMSxfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVFeHBvc2VzRGF0YSxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGEyO2NvbnN0IG92ZXJyaWRlPShvYmosa2V5LHZhbHVlKT0+e2lmKCFvYmopcmV0dXJuO2lmKG9ialtrZXldKW9ialtrZXldPXZhbHVlfTtjb25zdCBtZXJnZT0ob2JqLGtleSxmbik9Pntjb25zdCB2YWx1ZT1mbigpO2lmKEFycmF5LmlzQXJyYXkodmFsdWUpKXt2YXIgX29iaixfa2V5LF87KF89KF9vYmo9b2JqKVtfa2V5PWtleV0pIT09bnVsbCYmXyE9PXZvaWQgMD9fOl9vYmpbX2tleV09W107b2JqW2tleV0ucHVzaCguLi52YWx1ZSl9ZWxzZSBpZih0eXBlb2YgdmFsdWU9PT1cIm9iamVjdFwiJiZ2YWx1ZSE9PW51bGwpe3ZhciBfb2JqMSxfa2V5MSxfMTsoXzE9KF9vYmoxPW9iailbX2tleTE9a2V5XSkhPT1udWxsJiZfMSE9PXZvaWQgMD9fMTpfb2JqMVtfa2V5MV09e307T2JqZWN0LmFzc2lnbihvYmpba2V5XSx2YWx1ZSl9fTtjb25zdCBlYXJseT0ob2JqLGtleSxpbml0aWFsKT0+e3ZhciBfb2JqLF9rZXksXzsoXz0oX29iaj1vYmopW19rZXk9a2V5XSkhPT1udWxsJiZfIT09dm9pZCAwP186X29ialtfa2V5XT1pbml0aWFsKCl9O2NvbnN0IHJlbW90ZXNMb2FkaW5nQ2h1bmtNYXBwaW5nPShfcmVmPShfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YT1fX3dlYnBhY2tfcmVxdWlyZV9fLnJlbW90ZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YT09PXZvaWQgMD92b2lkIDA6X193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGEuY2h1bmtNYXBwaW5nKSE9PW51bGwmJl9yZWYhPT12b2lkIDA/X3JlZjp7fTtjb25zdCByZW1vdGVzTG9hZGluZ01vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZz0oX3JlZjE9KF9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMT1fX3dlYnBhY2tfcmVxdWlyZV9fLnJlbW90ZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fcmVtb3Rlc0xvYWRpbmdEYXRhMS5tb2R1bGVJZFRvUmVtb3RlRGF0YU1hcHBpbmcpIT09bnVsbCYmX3JlZjEhPT12b2lkIDA/X3JlZjE6e307Y29uc3QgaW5pdGlhbGl6ZVNoYXJpbmdTY29wZVRvSW5pdERhdGFNYXBwaW5nPShfcmVmMj0oX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplU2hhcmluZ0RhdGE9X193ZWJwYWNrX3JlcXVpcmVfXy5pbml0aWFsaXplU2hhcmluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplU2hhcmluZ0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZVNoYXJpbmdEYXRhLnNjb3BlVG9TaGFyaW5nRGF0YU1hcHBpbmcpIT09bnVsbCYmX3JlZjIhPT12b2lkIDA/X3JlZjI6e307Y29uc3QgY29uc3VtZXNMb2FkaW5nQ2h1bmtNYXBwaW5nPShfcmVmMz0oX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhPV9fd2VicGFja19yZXF1aXJlX18uY29uc3VtZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YS5jaHVua01hcHBpbmcpIT09bnVsbCYmX3JlZjMhPT12b2lkIDA/X3JlZjM6e307Y29uc3QgY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9Db25zdW1lRGF0YU1hcHBpbmc9KF9yZWY0PShfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGExPV9fd2VicGFja19yZXF1aXJlX18uY29uc3VtZXNMb2FkaW5nRGF0YSk9PT1udWxsfHxfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGExPT09dm9pZCAwP3ZvaWQgMDpfX3dlYnBhY2tfcmVxdWlyZV9fX2NvbnN1bWVzTG9hZGluZ0RhdGExLm1vZHVsZUlkVG9Db25zdW1lRGF0YU1hcHBpbmcpIT09bnVsbCYmX3JlZjQhPT12b2lkIDA/X3JlZjQ6e307Y29uc3QgY29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcz17fTtjb25zdCBpbml0aWFsaXplU2hhcmluZ0luaXRQcm9taXNlcz1bXTtjb25zdCBpbml0aWFsaXplU2hhcmluZ0luaXRUb2tlbnM9e307Y29uc3QgY29udGFpbmVyU2hhcmVTY29wZT0oX193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplRXhwb3Nlc0RhdGE9X193ZWJwYWNrX3JlcXVpcmVfXy5pbml0aWFsaXplRXhwb3Nlc0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19pbml0aWFsaXplRXhwb3Nlc0RhdGE9PT12b2lkIDA/dm9pZCAwOl9fd2VicGFja19yZXF1aXJlX19faW5pdGlhbGl6ZUV4cG9zZXNEYXRhLnNoYXJlU2NvcGU7Zm9yKGNvbnN0IGtleSBpbiBfX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fKXtfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb25ba2V5XT1fX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fW2tleV19ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLFwiY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZ1wiLCgpPT57Y29uc3QgY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9IYW5kbGVyTWFwcGluZz17fTtmb3IobGV0W21vZHVsZUlkLGRhdGFdb2YgT2JqZWN0LmVudHJpZXMoY29uc3VtZXNMb2FkaW5nTW9kdWxlVG9Db25zdW1lRGF0YU1hcHBpbmcpKXtjb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nW21vZHVsZUlkXT17Z2V0dGVyOmRhdGEuZmFsbGJhY2ssc2hhcmVJbmZvOntzaGFyZUNvbmZpZzp7Zml4ZWREZXBlbmRlbmNpZXM6ZmFsc2UscmVxdWlyZWRWZXJzaW9uOmRhdGEucmVxdWlyZWRWZXJzaW9uLHN0cmljdFZlcnNpb246ZGF0YS5zdHJpY3RWZXJzaW9uLHNpbmdsZXRvbjpkYXRhLnNpbmdsZXRvbixlYWdlcjpkYXRhLmVhZ2VyfSxzY29wZTpbZGF0YS5zaGFyZVNjb3BlXX0sc2hhcmVLZXk6ZGF0YS5zaGFyZUtleX19cmV0dXJuIGNvbnN1bWVzTG9hZGluZ01vZHVsZVRvSGFuZGxlck1hcHBpbmd9KTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24sXCJpbml0T3B0aW9uc1wiLCgpPT4oe30pKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMsXCJuYW1lXCIsKCk9Pl9fbW9kdWxlX2ZlZGVyYXRpb25fY29udGFpbmVyX25hbWVfXyk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwic2hhcmVTdHJhdGVneVwiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX3NoYXJlX3N0cmF0ZWd5X18pO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5pbml0T3B0aW9ucyxcInNoYXJlZFwiLCgpPT57Y29uc3Qgc2hhcmVkPXt9O2ZvcihsZXRbc2NvcGUsc3RhZ2VzXW9mIE9iamVjdC5lbnRyaWVzKGluaXRpYWxpemVTaGFyaW5nU2NvcGVUb0luaXREYXRhTWFwcGluZykpe2ZvcihsZXQgc3RhZ2Ugb2Ygc3RhZ2VzKXtpZih0eXBlb2Ygc3RhZ2U9PT1cIm9iamVjdFwiJiZzdGFnZSE9PW51bGwpe2NvbnN0e25hbWUsdmVyc2lvbixmYWN0b3J5LGVhZ2VyLHNpbmdsZXRvbixyZXF1aXJlZFZlcnNpb24sc3RyaWN0VmVyc2lvbn09c3RhZ2U7Y29uc3Qgc2hhcmVDb25maWc9e307Y29uc3QgaXNWYWxpZFZhbHVlPWZ1bmN0aW9uKHZhbCl7cmV0dXJuIHR5cGVvZiB2YWwhPT1cInVuZGVmaW5lZFwifTtpZihpc1ZhbGlkVmFsdWUoc2luZ2xldG9uKSl7c2hhcmVDb25maWcuc2luZ2xldG9uPXNpbmdsZXRvbn1pZihpc1ZhbGlkVmFsdWUocmVxdWlyZWRWZXJzaW9uKSl7c2hhcmVDb25maWcucmVxdWlyZWRWZXJzaW9uPXJlcXVpcmVkVmVyc2lvbn1pZihpc1ZhbGlkVmFsdWUoZWFnZXIpKXtzaGFyZUNvbmZpZy5lYWdlcj1lYWdlcn1pZihpc1ZhbGlkVmFsdWUoc3RyaWN0VmVyc2lvbikpe3NoYXJlQ29uZmlnLnN0cmljdFZlcnNpb249c3RyaWN0VmVyc2lvbn1jb25zdCBvcHRpb25zPXt2ZXJzaW9uLHNjb3BlOltzY29wZV0sc2hhcmVDb25maWcsZ2V0OmZhY3Rvcnl9O2lmKHNoYXJlZFtuYW1lXSl7c2hhcmVkW25hbWVdLnB1c2gob3B0aW9ucyl9ZWxzZXtzaGFyZWRbbmFtZV09W29wdGlvbnNdfX19fXJldHVybiBzaGFyZWR9KTttZXJnZShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMsXCJyZW1vdGVzXCIsKCk9Pk9iamVjdC52YWx1ZXMoX19tb2R1bGVfZmVkZXJhdGlvbl9yZW1vdGVfaW5mb3NfXykuZmxhdCgpLmZpbHRlcihyZW1vdGU9PnJlbW90ZS5leHRlcm5hbFR5cGU9PT1cInNjcmlwdFwiKSk7bWVyZ2UoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zLFwicGx1Z2luc1wiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfcGx1Z2luc19fKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24sXCJidW5kbGVyUnVudGltZU9wdGlvbnNcIiwoKT0+KHt9KSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucyxcInJlbW90ZXNcIiwoKT0+KHt9KSk7ZWFybHkoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzLFwiY2h1bmtNYXBwaW5nXCIsKCk9PnJlbW90ZXNMb2FkaW5nQ2h1bmtNYXBwaW5nKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJyZW1vdGVJbmZvc1wiLCgpPT5fX21vZHVsZV9mZWRlcmF0aW9uX3JlbW90ZV9pbmZvc19fKTtlYXJseShfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMsXCJpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ1wiLCgpPT57Y29uc3QgcmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmc9e307Zm9yKGxldFttb2R1bGVJZCxkYXRhXW9mIE9iamVjdC5lbnRyaWVzKHJlbW90ZXNMb2FkaW5nTW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nKSl7cmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmdbbW9kdWxlSWRdPVtkYXRhLnNoYXJlU2NvcGUsZGF0YS5uYW1lLGRhdGEuZXh0ZXJuYWxNb2R1bGVJZCxkYXRhLnJlbW90ZU5hbWVdfXJldHVybiByZW1vdGVzTG9hZGluZ0lkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nTWFwcGluZ30pO2Vhcmx5KF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3RlcyxcIndlYnBhY2tSZXF1aXJlXCIsKCk9Pl9fd2VicGFja19yZXF1aXJlX18pO21lcmdlKF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3RlcyxcImlkVG9SZW1vdGVNYXBcIiwoKT0+e2NvbnN0IGlkVG9SZW1vdGVNYXA9e307Zm9yKGxldFtpZCxyZW1vdGVEYXRhXW9mIE9iamVjdC5lbnRyaWVzKHJlbW90ZXNMb2FkaW5nTW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nKSl7Y29uc3QgaW5mbz1fX21vZHVsZV9mZWRlcmF0aW9uX3JlbW90ZV9pbmZvc19fW3JlbW90ZURhdGEucmVtb3RlTmFtZV07aWYoaW5mbylpZFRvUmVtb3RlTWFwW2lkXT1pbmZvfXJldHVybiBpZFRvUmVtb3RlTWFwfSk7b3ZlcnJpZGUoX193ZWJwYWNrX3JlcXVpcmVfXyxcIlNcIixfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuUyk7aWYoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmF0dGFjaFNoYXJlU2NvcGVNYXApe19fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5hdHRhY2hTaGFyZVNjb3BlTWFwKF9fd2VicGFja19yZXF1aXJlX18pfW92ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18uZixcInJlbW90ZXNcIiwoY2h1bmtJZCxwcm9taXNlcyk9Pl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZS5yZW1vdGVzKHtjaHVua0lkLHByb21pc2VzLGNodW5rTWFwcGluZzpyZW1vdGVzTG9hZGluZ0NodW5rTWFwcGluZyxpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZzpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMuaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmcsaWRUb1JlbW90ZU1hcDpfX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zLnJlbW90ZXMuaWRUb1JlbW90ZU1hcCx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18uZixcImNvbnN1bWVzXCIsKGNodW5rSWQscHJvbWlzZXMpPT5fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuY29uc3VtZXMoe2NodW5rSWQscHJvbWlzZXMsY2h1bmtNYXBwaW5nOmNvbnN1bWVzTG9hZGluZ0NodW5rTWFwcGluZyxtb2R1bGVUb0hhbmRsZXJNYXBwaW5nOl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5jb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nLGluc3RhbGxlZE1vZHVsZXM6Y29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcyx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJJXCIsKG5hbWUsaW5pdFNjb3BlKT0+X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lLkkoe3NoYXJlU2NvcGVOYW1lOm5hbWUsaW5pdFNjb3BlLGluaXRQcm9taXNlczppbml0aWFsaXplU2hhcmluZ0luaXRQcm9taXNlcyxpbml0VG9rZW5zOmluaXRpYWxpemVTaGFyaW5nSW5pdFRva2Vucyx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJpbml0Q29udGFpbmVyXCIsKHNoYXJlU2NvcGUsaW5pdFNjb3BlLHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMpPT5fX3dlYnBhY2tfcmVxdWlyZV9fLmZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWUuaW5pdENvbnRhaW5lckVudHJ5KHtzaGFyZVNjb3BlLGluaXRTY29wZSxyZW1vdGVFbnRyeUluaXRPcHRpb25zLHNoYXJlU2NvcGVLZXk6Y29udGFpbmVyU2hhcmVTY29wZSx3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9ffSkpO292ZXJyaWRlKF9fd2VicGFja19yZXF1aXJlX18sXCJnZXRDb250YWluZXJcIiwobW9kdWxlMSxnZXRTY29wZSk9Pnt2YXIgbW9kdWxlTWFwPV9fd2VicGFja19yZXF1aXJlX18uaW5pdGlhbGl6ZUV4cG9zZXNEYXRhLm1vZHVsZU1hcDtfX3dlYnBhY2tfcmVxdWlyZV9fLlI9Z2V0U2NvcGU7Z2V0U2NvcGU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZHVsZU1hcCxtb2R1bGUxKT9tb2R1bGVNYXBbbW9kdWxlMV0oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCdNb2R1bGUgXCInK21vZHVsZTErJ1wiIGRvZXMgbm90IGV4aXN0IGluIGNvbnRhaW5lci4nKX0pO19fd2VicGFja19yZXF1aXJlX18uUj11bmRlZmluZWQ7cmV0dXJuIGdldFNjb3BlfSk7X193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluc3RhbmNlPV9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5ydW50aW1lLmluaXQoX193ZWJwYWNrX3JlcXVpcmVfXy5mZWRlcmF0aW9uLmluaXRPcHRpb25zKTtpZigoX193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMj1fX3dlYnBhY2tfcmVxdWlyZV9fLmNvbnN1bWVzTG9hZGluZ0RhdGEpPT09bnVsbHx8X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMj09PXZvaWQgMD92b2lkIDA6X193ZWJwYWNrX3JlcXVpcmVfX19jb25zdW1lc0xvYWRpbmdEYXRhMi5pbml0aWFsQ29uc3VtZXMpe19fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZS5pbnN0YWxsSW5pdGlhbENvbnN1bWVzKHt3ZWJwYWNrUmVxdWlyZTpfX3dlYnBhY2tfcmVxdWlyZV9fLGluc3RhbGxlZE1vZHVsZXM6Y29uc3VtZXNMb2FkaW5naW5zdGFsbGVkTW9kdWxlcyxpbml0aWFsQ29uc3VtZXM6X193ZWJwYWNrX3JlcXVpcmVfXy5jb25zdW1lc0xvYWRpbmdEYXRhLmluaXRpYWxDb25zdW1lcyxtb2R1bGVUb0hhbmRsZXJNYXBwaW5nOl9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5jb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nfSl9fSJdLCJuYW1lcyI6WyJfX21vZHVsZV9mZWRlcmF0aW9uX2J1bmRsZXJfcnVudGltZV9fIiwiX19tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX3BsdWdpbnNfXyIsInBsdWdpbiIsInBhcmFtcyIsIl9fbW9kdWxlX2ZlZGVyYXRpb25fcmVtb3RlX2luZm9zX18iLCJfX21vZHVsZV9mZWRlcmF0aW9uX2NvbnRhaW5lcl9uYW1lX18iLCJfX21vZHVsZV9mZWRlcmF0aW9uX3NoYXJlX3N0cmF0ZWd5X18iLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwiX3JlZiIsIl9yZWYxIiwiX3JlZjIiLCJfcmVmMyIsIl9yZWY0IiwiX193ZWJwYWNrX3JlcXVpcmVfX19yZW1vdGVzTG9hZGluZ0RhdGEiLCJfX3dlYnBhY2tfcmVxdWlyZV9fX3JlbW90ZXNMb2FkaW5nRGF0YTEiLCJfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVTaGFyaW5nRGF0YSIsIl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YSIsIl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTEiLCJfX3dlYnBhY2tfcmVxdWlyZV9fX2luaXRpYWxpemVFeHBvc2VzRGF0YSIsIl9fd2VicGFja19yZXF1aXJlX19fY29uc3VtZXNMb2FkaW5nRGF0YTIiLCJvdmVycmlkZSIsIm9iaiIsImtleSIsInZhbHVlIiwibWVyZ2UiLCJmbiIsIkFycmF5IiwiX29ial9rZXkiLCJfb2JqIiwiX2tleSIsIl8iLCJfdHlwZV9vZiIsIl9vYmoxIiwiX2tleTEiLCJfMSIsIk9iamVjdCIsImVhcmx5IiwiaW5pdGlhbCIsInJlbW90ZXNMb2FkaW5nQ2h1bmtNYXBwaW5nIiwicmVtb3Rlc0xvYWRpbmdNb2R1bGVJZFRvUmVtb3RlRGF0YU1hcHBpbmciLCJpbml0aWFsaXplU2hhcmluZ1Njb3BlVG9Jbml0RGF0YU1hcHBpbmciLCJjb25zdW1lc0xvYWRpbmdDaHVua01hcHBpbmciLCJjb25zdW1lc0xvYWRpbmdNb2R1bGVUb0NvbnN1bWVEYXRhTWFwcGluZyIsImNvbnN1bWVzTG9hZGluZ2luc3RhbGxlZE1vZHVsZXMiLCJpbml0aWFsaXplU2hhcmluZ0luaXRQcm9taXNlcyIsImluaXRpYWxpemVTaGFyaW5nSW5pdFRva2VucyIsImNvbnRhaW5lclNoYXJlU2NvcGUiLCJjb25zdW1lc0xvYWRpbmdNb2R1bGVUb0hhbmRsZXJNYXBwaW5nIiwiX2l0ZXJhdG9yRXJyb3IiLCJtb2R1bGVJZCIsImRhdGEiLCJzaGFyZWQiLCJzY29wZSIsInN0YWdlcyIsIl9pdGVyYXRvckVycm9yMSIsInN0YWdlIiwibmFtZSIsInZlcnNpb24iLCJmYWN0b3J5IiwiZWFnZXIiLCJzaW5nbGV0b24iLCJyZXF1aXJlZFZlcnNpb24iLCJzdHJpY3RWZXJzaW9uIiwic2hhcmVDb25maWciLCJpc1ZhbGlkVmFsdWUiLCJ2YWwiLCJvcHRpb25zIiwicmVtb3RlIiwicmVtb3Rlc0xvYWRpbmdJZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ01hcHBpbmciLCJpZFRvUmVtb3RlTWFwIiwiaWQiLCJyZW1vdGVEYXRhIiwiaW5mbyIsImNodW5rSWQiLCJwcm9taXNlcyIsImluaXRTY29wZSIsInNoYXJlU2NvcGUiLCJyZW1vdGVFbnRyeUluaXRPcHRpb25zIiwibW9kdWxlMSIsImdldFNjb3BlIiwibW9kdWxlTWFwIiwiUHJvbWlzZSIsIkVycm9yIiwidW5kZWZpbmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFtTDtBQUFBLElBQU1DLHdDQUF3QyxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQUdDLGVBQUFBO1dBQWFBO0dBQVEsR0FBRyxDQUFDO1FBQUdBLGVBQUFBLFFBQVFDLGVBQUFBO1dBQWFELE9BQU9DOztBQUFTLElBQU1DLHFDQUFxQyxDQUFDO0FBQUUsSUFBTUMsdUNBQXVDO0FBQXlCLElBQU1DLHVDQUF1QztBQUFnQixJQUFJQyxDQUFBQSxtQkFBbUJBLENBQUMscUJBQXFCLElBQUVBLG1CQUFtQkEsQ0FBQyxxQkFBb0IsS0FBSUEsbUJBQW1CQSxDQUFDLFVBQVUsRUFBQztJQUFDLElBQUlDLE1BQUtDLE9BQU1DLE9BQU1DLE9BQU1DO0lBQU0sSUFBSUMsd0NBQXVDQyx5Q0FBd0NDLDJDQUEwQ0MseUNBQXdDQywwQ0FBeUNDLDJDQUEwQ0M7SUFBeUMsSUFBTUMsV0FBUyxrQkFBQ0MsS0FBSUMsS0FBSUM7UUFBUyxJQUFHLENBQUNGLEtBQUk7UUFBTyxJQUFHQSxHQUFHLENBQUNDLElBQUksRUFBQ0QsR0FBRyxDQUFDQyxJQUFJLEdBQUNDO0lBQUs7SUFBRSxJQUFNQyxRQUFNLGVBQUNILEtBQUlDLEtBQUlHO1FBQU0sSUFBTUYsUUFBTUU7UUFBSyxJQUFHQyxNQUFNLE9BQU8sQ0FBQ0gsUUFBTztnQkFBNkVJO1lBQTVFLElBQUlDLE1BQUtDLE1BQUtDO1lBQUdBLENBQUFBLElBQUdGLENBQUFBLE9BQUtQLEdBQUUsQ0FBRSxDQUFDUSxPQUFLUCxJQUFHLE1BQUssUUFBTVEsTUFBSSxLQUFLLElBQUVBLElBQUVGLElBQUksQ0FBQ0MsS0FBSyxHQUFDLEVBQUU7WUFBQ0YsQ0FBQUEsV0FBQUEsR0FBRyxDQUFDTCxJQUFJLEVBQUMsSUFBSSxPQUFiSyxVQUFjLHFCQUFHSjtRQUFNLE9BQU0sSUFBR1EsQ0FBQUEsT0FBT1Isc0NBQVBRLFNBQU9SLE1BQUksTUFBSSxZQUFVQSxVQUFRLE1BQUs7WUFBQyxJQUFJUyxPQUFNQyxPQUFNQztZQUFJQSxDQUFBQSxLQUFJRixDQUFBQSxRQUFNWCxHQUFFLENBQUUsQ0FBQ1ksUUFBTVgsSUFBRyxNQUFLLFFBQU1ZLE9BQUssS0FBSyxJQUFFQSxLQUFHRixLQUFLLENBQUNDLE1BQU0sR0FBQyxDQUFDO1lBQUVFLE9BQU8sTUFBTSxDQUFDZCxHQUFHLENBQUNDLElBQUksRUFBQ0M7UUFBTTtJQUFDO0lBQUUsSUFBTWEsUUFBTSxlQUFDZixLQUFJQyxLQUFJZTtRQUFXLElBQUlULE1BQUtDLE1BQUtDO1FBQUdBLENBQUFBLElBQUdGLENBQUFBLE9BQUtQLEdBQUUsQ0FBRSxDQUFDUSxPQUFLUCxJQUFHLE1BQUssUUFBTVEsTUFBSSxLQUFLLElBQUVBLElBQUVGLElBQUksQ0FBQ0MsS0FBSyxHQUFDUTtJQUFTO0lBQUUsSUFBTUMsNkJBQTRCOUIsQ0FBQUEsT0FBTUssQ0FBQUEseUNBQXVDTixtQkFBbUJBLENBQUMsa0JBQWlCLE1BQUssUUFBTU0sMkNBQXlDLEtBQUssSUFBRSxLQUFLLElBQUVBLHVDQUF1QyxZQUFXLE1BQUssUUFBTUwsU0FBTyxLQUFLLElBQUVBLE9BQUssQ0FBQztJQUFFLElBQU0rQiw0Q0FBMkM5QixDQUFBQSxRQUFPSyxDQUFBQSwwQ0FBd0NQLG1CQUFtQkEsQ0FBQyxrQkFBaUIsTUFBSyxRQUFNTyw0Q0FBMEMsS0FBSyxJQUFFLEtBQUssSUFBRUEsd0NBQXdDLDJCQUEwQixNQUFLLFFBQU1MLFVBQVEsS0FBSyxJQUFFQSxRQUFNLENBQUM7SUFBRSxJQUFNK0IsMENBQXlDOUIsQ0FBQUEsUUFBT0ssQ0FBQUEsNENBQTBDUixtQkFBbUJBLENBQUMscUJBQW9CLE1BQUssUUFBTVEsOENBQTRDLEtBQUssSUFBRSxLQUFLLElBQUVBLDBDQUEwQyx5QkFBd0IsTUFBSyxRQUFNTCxVQUFRLEtBQUssSUFBRUEsUUFBTSxDQUFDO0lBQUUsSUFBTStCLDhCQUE2QjlCLENBQUFBLFFBQU9LLENBQUFBLDBDQUF3Q1QsbUJBQW1CQSxDQUFDLG1CQUFrQixNQUFLLFFBQU1TLDRDQUEwQyxLQUFLLElBQUUsS0FBSyxJQUFFQSx3Q0FBd0MsWUFBVyxNQUFLLFFBQU1MLFVBQVEsS0FBSyxJQUFFQSxRQUFNLENBQUM7SUFBRSxJQUFNK0IsNENBQTJDOUIsQ0FBQUEsUUFBT0ssQ0FBQUEsMkNBQXlDVixtQkFBbUJBLENBQUMsbUJBQWtCLE1BQUssUUFBTVUsNkNBQTJDLEtBQUssSUFBRSxLQUFLLElBQUVBLHlDQUF5Qyw0QkFBMkIsTUFBSyxRQUFNTCxVQUFRLEtBQUssSUFBRUEsUUFBTSxDQUFDO0lBQUUsSUFBTStCLGtDQUFnQyxDQUFDO0lBQUUsSUFBTUMsZ0NBQThCLEVBQUU7SUFBQyxJQUFNQyw4QkFBNEIsQ0FBQztJQUFFLElBQU1DLHNCQUFxQjVCLENBQUFBLDRDQUEwQ1gsbUJBQW1CQSxDQUFDLHFCQUFvQixNQUFLLFFBQU1XLDhDQUE0QyxLQUFLLElBQUUsS0FBSyxJQUFFQSwwQ0FBMEMsVUFBVTtJQUFDLElBQUksSUFBTUksT0FBT3RCLDBKQUFxQ0EsQ0FBQztRQUFDTyxtQkFBbUJBLENBQUMsVUFBVSxDQUFDZSxJQUFJLEdBQUN0QiwwSkFBcUMsQ0FBQ3NCLElBQUk7SUFBQTtJQUFDYyxNQUFNN0IsbUJBQW1CQSxDQUFDLFVBQVUsRUFBQyx5Q0FBd0M7UUFBSyxJQUFNd0Msd0NBQXNDLENBQUM7WUFBTUMsa0NBQUFBLDJCQUFBQTs7WUFBSixRQUFJQSxZQUFxQmIsT0FBTyxPQUFPLENBQUNPLCtEQUFwQ00sU0FBQUEsNkJBQUFBLFFBQUFBLHlCQUFBQSxpQ0FBK0U7Z0JBQS9FQSxtQ0FBQUEsaUJBQUlDLDJCQUFTQztnQkFBbUVILHFDQUFxQyxDQUFDRSxTQUFTLEdBQUM7b0JBQUMsUUFBT0MsS0FBSyxRQUFRO29CQUFDLFdBQVU7d0JBQUMsYUFBWTs0QkFBQyxtQkFBa0I7NEJBQU0saUJBQWdCQSxLQUFLLGVBQWU7NEJBQUMsZUFBY0EsS0FBSyxhQUFhOzRCQUFDLFdBQVVBLEtBQUssU0FBUzs0QkFBQyxPQUFNQSxLQUFLLEtBQUs7d0JBQUE7d0JBQUUsT0FBTTs0QkFBQ0EsS0FBSyxVQUFVO3lCQUFDO29CQUFBO29CQUFFLFVBQVNBLEtBQUssUUFBUTtnQkFBQTtZQUFDOztZQUF2V0Y7WUFBQUE7OztxQkFBQUEsNkJBQUFBO29CQUFBQTs7O29CQUFBQTswQkFBQUE7Ozs7UUFBd1csT0FBT0Q7SUFBcUM7SUFBR1gsTUFBTTdCLG1CQUFtQkEsQ0FBQyxVQUFVLEVBQUMsZUFBYztlQUFLLENBQUM7O0lBQUk2QixNQUFNN0IsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUMsUUFBTztlQUFJRjs7SUFBc0MrQixNQUFNN0IsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUMsaUJBQWdCO2VBQUlEOztJQUFzQzhCLE1BQU03QixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBQyxVQUFTO1FBQUssSUFBTTRDLFNBQU8sQ0FBQztZQUFNSCxrQ0FBQUEsMkJBQUFBOztZQUFKLFFBQUlBLFlBQW9CYixPQUFPLE9BQU8sQ0FBQ0ssNkRBQW5DUSxTQUFBQSw2QkFBQUEsUUFBQUEseUJBQUFBLGlDQUE0RTtnQkFBNUVBLG1DQUFBQSxpQkFBSUksd0JBQU1DO29CQUF1RUMsbUNBQUFBLDRCQUFBQTs7b0JBQUosUUFBSUEsYUFBYUQsMkJBQWJDLFVBQUFBLDhCQUFBQSxTQUFBQSwwQkFBQUEsa0NBQW9CO3dCQUFwQkEsSUFBSUMsUUFBSkQ7d0JBQXFCLElBQUd2QixDQUFBQSxPQUFPd0Isc0NBQVB4QixTQUFPd0IsTUFBSSxNQUFJLFlBQVVBLFVBQVEsTUFBSzs0QkFBQyxJQUFNQyxPQUFvRUQsTUFBcEVDLE1BQUtDLFVBQStERixNQUEvREUsU0FBUUMsVUFBdURILE1BQXZERyxTQUFRQyxRQUErQ0osTUFBL0NJLE9BQU1DLFlBQXlDTCxNQUF6Q0ssV0FBVUMsa0JBQStCTixNQUEvQk0saUJBQWdCQyxnQkFBZVAsTUFBZk87NEJBQXFCLElBQU1DLGNBQVksQ0FBQzs0QkFBRSxJQUFNQyxlQUFhLHNCQUFTQyxHQUFHO2dDQUFFLE9BQU8sT0FBT0EsUUFBTTs0QkFBVzs0QkFBRSxJQUFHRCxhQUFhSixZQUFXO2dDQUFDRyxZQUFZLFNBQVMsR0FBQ0g7NEJBQVM7NEJBQUMsSUFBR0ksYUFBYUgsa0JBQWlCO2dDQUFDRSxZQUFZLGVBQWUsR0FBQ0Y7NEJBQWU7NEJBQUMsSUFBR0csYUFBYUwsUUFBTztnQ0FBQ0ksWUFBWSxLQUFLLEdBQUNKOzRCQUFLOzRCQUFDLElBQUdLLGFBQWFGLGdCQUFlO2dDQUFDQyxZQUFZLGFBQWEsR0FBQ0Q7NEJBQWE7NEJBQUMsSUFBTUksVUFBUTtnQ0FBQ1QsU0FBQUE7Z0NBQVEsT0FBTTtvQ0FBQ0w7aUNBQU07Z0NBQUNXLGFBQUFBO2dDQUFZLEtBQUlMOzRCQUFPOzRCQUFFLElBQUdQLE1BQU0sQ0FBQ0ssS0FBSyxFQUFDO2dDQUFDTCxNQUFNLENBQUNLLEtBQUssQ0FBQyxJQUFJLENBQUNVOzRCQUFRLE9BQUs7Z0NBQUNmLE1BQU0sQ0FBQ0ssS0FBSyxHQUFDO29DQUFDVTtpQ0FBUTs0QkFBQTt3QkFBQztvQkFBQzs7b0JBQS9tQlo7b0JBQUFBOzs7NkJBQUFBLDhCQUFBQTs0QkFBQUE7Ozs0QkFBQUE7a0NBQUFBOzs7O1lBQWduQjs7WUFBanNCTjtZQUFBQTs7O3FCQUFBQSw2QkFBQUE7b0JBQUFBOzs7b0JBQUFBOzBCQUFBQTs7OztRQUFrc0IsT0FBT0c7SUFBTTtJQUFHM0IsTUFBTWpCLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFDLFdBQVU7ZUFBSTRCLE9BQU8sTUFBTSxDQUFDL0Isb0NBQW9DLElBQUksR0FBRyxNQUFNLENBQUMrRCxTQUFBQTttQkFBUUEsT0FBTyxZQUFZLEtBQUc7OztJQUFXM0MsTUFBTWpCLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFDLFdBQVU7ZUFBSU47O0lBQXVDbUMsTUFBTTdCLG1CQUFtQkEsQ0FBQyxVQUFVLEVBQUMseUJBQXdCO2VBQUssQ0FBQzs7SUFBSTZCLE1BQU03QixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFDLFdBQVU7ZUFBSyxDQUFDOztJQUFJNkIsTUFBTTdCLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFDLGdCQUFlO2VBQUkrQjs7SUFBNEJGLE1BQU03QixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBQyxlQUFjO2VBQUlIOztJQUFvQ2dDLE1BQU03QixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBQyw4QkFBNkI7UUFBSyxJQUFNNkQsa0RBQWdELENBQUM7WUFBTXBCLGtDQUFBQSwyQkFBQUE7O1lBQUosUUFBSUEsWUFBcUJiLE9BQU8sT0FBTyxDQUFDSSwrREFBcENTLFNBQUFBLDZCQUFBQSxRQUFBQSx5QkFBQUEsaUNBQStFO2dCQUEvRUEsbUNBQUFBLGlCQUFJQywyQkFBU0M7Z0JBQW1Fa0IsK0NBQStDLENBQUNuQixTQUFTLEdBQUM7b0JBQUNDLEtBQUssVUFBVTtvQkFBQ0EsS0FBSyxJQUFJO29CQUFDQSxLQUFLLGdCQUFnQjtvQkFBQ0EsS0FBSyxVQUFVO2lCQUFDO1lBQUE7O1lBQTNNRjtZQUFBQTs7O3FCQUFBQSw2QkFBQUE7b0JBQUFBOzs7b0JBQUFBOzBCQUFBQTs7OztRQUE0TSxPQUFPb0I7SUFBK0M7SUFBR2hDLE1BQU03QixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBQyxrQkFBaUI7ZUFBSUEsbUJBQW1CQTs7SUFBRWlCLE1BQU1qQixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sRUFBQyxpQkFBZ0I7UUFBSyxJQUFNOEQsZ0JBQWMsQ0FBQztZQUFNckIsa0NBQUFBLDJCQUFBQTs7WUFBSixRQUFJQSxZQUFxQmIsT0FBTyxPQUFPLENBQUNJLCtEQUFwQ1MsU0FBQUEsNkJBQUFBLFFBQUFBLHlCQUFBQSxpQ0FBK0U7Z0JBQS9FQSxtQ0FBQUEsaUJBQUlzQixxQkFBR0M7Z0JBQXlFLElBQU1DLE9BQUtwRSxrQ0FBa0MsQ0FBQ21FLFdBQVcsVUFBVSxDQUFDO2dCQUFDLElBQUdDLE1BQUtILGFBQWEsQ0FBQ0MsR0FBRyxHQUFDRTtZQUFJOztZQUFuTHhCO1lBQUFBOzs7cUJBQUFBLDZCQUFBQTtvQkFBQUE7OztvQkFBQUE7MEJBQUFBOzs7O1FBQW9MLE9BQU9xQjtJQUFhO0lBQUdqRCxTQUFTYixtQkFBbUJBLEVBQUMsS0FBSUEsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUFFLElBQUdBLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUM7UUFBQ0EsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQ0EsbUJBQW1CQTtJQUFDO0lBQUNhLFNBQVNiLG1CQUFtQkEsQ0FBQyxDQUFDLEVBQUMsV0FBVSxTQUFDa0UsU0FBUUM7ZUFBV25FLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQztZQUFDa0UsU0FBQUE7WUFBUUMsVUFBQUE7WUFBUyxjQUFhcEM7WUFBMkIsNEJBQTJCL0IsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsMEJBQTBCO1lBQUMsZUFBY0EsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsYUFBYTtZQUFDLGdCQUFlQSxtQkFBbUJBO1FBQUE7O0lBQUlhLFNBQVNiLG1CQUFtQkEsQ0FBQyxDQUFDLEVBQUMsWUFBVyxTQUFDa0UsU0FBUUM7ZUFBV25FLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQztZQUFDa0UsU0FBQUE7WUFBUUMsVUFBQUE7WUFBUyxjQUFhakM7WUFBNEIsd0JBQXVCbEMsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxxQ0FBcUM7WUFBQyxrQkFBaUJvQztZQUFnQyxnQkFBZXBDLG1CQUFtQkE7UUFBQTs7SUFBSWEsU0FBU2IsbUJBQW1CQSxFQUFDLEtBQUksU0FBQ2lELE1BQUttQjtlQUFZcEUsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1lBQUMsZ0JBQWVpRDtZQUFLbUIsV0FBQUE7WUFBVSxjQUFhL0I7WUFBOEIsWUFBV0M7WUFBNEIsZ0JBQWV0QyxtQkFBbUJBO1FBQUE7O0lBQUlhLFNBQVNiLG1CQUFtQkEsRUFBQyxpQkFBZ0IsU0FBQ3FFLFlBQVdELFdBQVVFO2VBQXlCdEUsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUM7WUFBQ3FFLFlBQUFBO1lBQVdELFdBQUFBO1lBQVVFLHdCQUFBQTtZQUF1QixlQUFjL0I7WUFBb0IsZ0JBQWV2QyxtQkFBbUJBO1FBQUE7O0lBQUlhLFNBQVNiLG1CQUFtQkEsRUFBQyxnQkFBZSxTQUFDdUUsU0FBUUM7UUFBWSxJQUFJQyxZQUFVekUsbUJBQW1CQSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7UUFBQ0EsbUJBQW1CQSxDQUFDLENBQUMsR0FBQ3dFO1FBQVNBLFdBQVM1QyxPQUFPLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDNkMsV0FBVUYsV0FBU0UsU0FBUyxDQUFDRixRQUFRLEtBQUdHLFFBQVEsT0FBTyxHQUFHLElBQUksQ0FBQztZQUFLLE1BQU0sSUFBSUMsTUFBTSxhQUFXSixVQUFRO1FBQWlDO1FBQUd2RSxtQkFBbUJBLENBQUMsQ0FBQyxHQUFDNEU7UUFBVSxPQUFPSjtJQUFRO0lBQUd4RSxtQkFBbUJBLENBQUMsVUFBVSxDQUFDLFFBQVEsR0FBQ0EsbUJBQW1CQSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDQSxtQkFBbUJBLENBQUMsVUFBVSxDQUFDLFdBQVc7SUFBRSxJQUFJWSxDQUFBQSwyQ0FBeUNaLG1CQUFtQkEsQ0FBQyxtQkFBa0IsTUFBSyxRQUFNWSw2Q0FBMkMsS0FBSyxJQUFFLEtBQUssSUFBRUEseUNBQXlDLGVBQWUsRUFBQztRQUFDWixtQkFBbUJBLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsQ0FBQztZQUFDLGdCQUFlQSxtQkFBbUJBO1lBQUMsa0JBQWlCb0M7WUFBZ0MsaUJBQWdCcEMsbUJBQW1CQSxDQUFDLG1CQUFtQixDQUFDLGVBQWU7WUFBQyx3QkFBdUJBLG1CQUFtQkEsQ0FBQyxVQUFVLENBQUMscUNBQXFDO1FBQUE7SUFBRTtBQUFDIn0=\n//# sourceURL=webpack-internal:///@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\";const __module_federation_runtime_plugins__ = [].filter(({ plugin }) => plugin).map(({ plugin, params }) => plugin(params));const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \"@openmrs/esm-app-shell\";const __module_federation_share_strategy__ = \"version-first\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var _ref,_ref1,_ref2,_ref3,_ref4;var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\"object\"&&value!==null){var _obj1,_key1,_1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};const remotesLoadingChunkMapping=(_ref=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&_ref!==void 0?_ref:{};const remotesLoadingModuleIdToRemoteDataMapping=(_ref1=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&_ref1!==void 0?_ref1:{};const initializeSharingScopeToInitDataMapping=(_ref2=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&_ref2!==void 0?_ref2:{};const consumesLoadingChunkMapping=(_ref3=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&_ref3!==void 0?_ref3:{};const consumesLoadingModuleToConsumeDataMapping=(_ref4=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&_ref4!==void 0?_ref4:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\"initOptions\",()=>({}));early(__webpack_require__.federation.initOptions,\"name\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\"shareStrategy\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\"shared\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\"object\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\"undefined\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\"remotes\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\"script\"));merge(__webpack_require__.federation.initOptions,\"plugins\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\"bundlerRuntimeOptions\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\"remotes\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\"S\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\"remotes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\"consumes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\"I\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\"initContainer\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\"getContainer\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \"'+module1+'\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}\n\n}");
|
|
38
|
+
"../../../node_modules/@module-federation/inject-external-runtime-core-plugin/dist/_virtual/_rolldown/runtime.cjs"(__unused_rspack_module, exports) {
|
|
39
|
+
eval("{//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n\nexports.__toESM = __toESM;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2luamVjdC1leHRlcm5hbC1ydW50aW1lLWNvcmUtcGx1Z2luL2Rpc3QvX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2luamVjdC1leHRlcm5hbC1ydW50aW1lLWNvcmUtcGx1Z2luL2Rpc3QvX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzP2UyYjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIFxcMHJvbGxkb3duL3J1bnRpbWUuanNcbnZhciBfX2NyZWF0ZSA9IE9iamVjdC5jcmVhdGU7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19nZXRQcm90b09mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuXHRpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0Zm9yICh2YXIga2V5cyA9IF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pLCBpID0gMCwgbiA9IGtleXMubGVuZ3RoLCBrZXk7IGkgPCBuOyBpKyspIHtcblx0XHRcdGtleSA9IGtleXNbaV07XG5cdFx0XHRpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KSB7XG5cdFx0XHRcdF9fZGVmUHJvcCh0bywga2V5LCB7XG5cdFx0XHRcdFx0Z2V0OiAoKGspID0+IGZyb21ba10pLmJpbmQobnVsbCwga2V5KSxcblx0XHRcdFx0XHRlbnVtZXJhYmxlOiAhKGRlc2MgPSBfX2dldE93blByb3BEZXNjKGZyb20sIGtleSkpIHx8IGRlc2MuZW51bWVyYWJsZVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIHRvO1xufTtcbnZhciBfX3RvRVNNID0gKG1vZCwgaXNOb2RlTW9kZSwgdGFyZ2V0KSA9PiAodGFyZ2V0ID0gbW9kICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kKSkgOiB7fSwgX19jb3B5UHJvcHMoaXNOb2RlTW9kZSB8fCAhbW9kIHx8ICFtb2QuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7XG5cdHZhbHVlOiBtb2QsXG5cdGVudW1lcmFibGU6IHRydWVcbn0pIDogdGFyZ2V0LCBtb2QpKTtcblxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydHMuX190b0VTTSA9IF9fdG9FU007Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RSxPQUFPO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1HQUFtRztBQUNuRztBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQSxlQUFlIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/inject-external-runtime-core-plugin/dist/_virtual/_rolldown/runtime.cjs\n\n}");
|
|
14
40
|
|
|
15
41
|
},
|
|
16
|
-
"../../../node_modules/@module-federation/runtime-core/dist/index.cjs
|
|
17
|
-
eval("{\n\nvar sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs.cjs\");\nvar errorCodes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs.js\");\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// FIXME: pre-bundle ?\nconst logger = sdk.createLogger(LOG_CATEGORY);\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction assert(condition, msg) {\n if (!condition) {\n error(msg);\n }\n}\nfunction error(msg) {\n if (msg instanceof Error) {\n // Check if the message already starts with the log category to avoid duplication\n if (!msg.message.startsWith(LOG_CATEGORY)) {\n msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n }\n throw msg;\n }\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n}\nfunction warn(msg) {\n if (msg instanceof Error) {\n // Check if the message already starts with the log category to avoid duplication\n if (!msg.message.startsWith(LOG_CATEGORY)) {\n msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n }\n logger.warn(msg);\n }\n else {\n logger.warn(msg);\n }\n}\n\nfunction addUniqueItem(arr, item) {\n if (arr.findIndex((name) => name === item) === -1) {\n arr.push(item);\n }\n return arr;\n}\nfunction getFMId(remoteInfo) {\n if ('version' in remoteInfo && remoteInfo.version) {\n return `${remoteInfo.name}:${remoteInfo.version}`;\n }\n else if ('entry' in remoteInfo && remoteInfo.entry) {\n return `${remoteInfo.name}:${remoteInfo.entry}`;\n }\n else {\n return `${remoteInfo.name}`;\n }\n}\nfunction isRemoteInfoWithEntry(remote) {\n return typeof remote.entry !== 'undefined';\n}\nfunction isPureRemoteEntry(remote) {\n return !remote.entry.includes('.json');\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function safeWrapper(callback, disableWarn) {\n try {\n const res = await callback();\n return res;\n }\n catch (e) {\n !disableWarn && warn(e);\n return;\n }\n}\nfunction isObject(val) {\n return val && typeof val === 'object';\n}\nconst objectToString = Object.prototype.toString;\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isPlainObject(val) {\n return objectToString.call(val) === '[object Object]';\n}\nfunction isStaticResourcesEqual(url1, url2) {\n const REG_EXP = /^(https?:)?\\/\\//i;\n // Transform url1 and url2 into relative paths\n const relativeUrl1 = url1.replace(REG_EXP, '').replace(/\\/$/, '');\n const relativeUrl2 = url2.replace(REG_EXP, '').replace(/\\/$/, '');\n // Check if the relative paths are identical\n return relativeUrl1 === relativeUrl2;\n}\nfunction arrayOptions(options) {\n return Array.isArray(options) ? options : [options];\n}\nfunction getRemoteEntryInfoFromSnapshot(snapshot) {\n const defaultRemoteEntryInfo = {\n url: '',\n type: 'global',\n globalName: '',\n };\n if (sdk.isBrowserEnv() || sdk.isReactNativeEnv()) {\n return 'remoteEntry' in snapshot\n ? {\n url: snapshot.remoteEntry,\n type: snapshot.remoteEntryType,\n globalName: snapshot.globalName,\n }\n : defaultRemoteEntryInfo;\n }\n if ('ssrRemoteEntry' in snapshot) {\n return {\n url: snapshot.ssrRemoteEntry || defaultRemoteEntryInfo.url,\n type: snapshot.ssrRemoteEntryType || defaultRemoteEntryInfo.type,\n globalName: snapshot.globalName,\n };\n }\n return defaultRemoteEntryInfo;\n}\nconst processModuleAlias = (name, subPath) => {\n // @host/ ./button -> @host/button\n let moduleName;\n if (name.endsWith('/')) {\n moduleName = name.slice(0, -1);\n }\n else {\n moduleName = name;\n }\n if (subPath.startsWith('.')) {\n subPath = subPath.slice(1);\n }\n moduleName = moduleName + subPath;\n return moduleName;\n};\n\nconst CurrentGlobal = typeof globalThis === 'object' ? globalThis : window;\nconst nativeGlobal = (() => {\n try {\n // get real window (incase of sandbox)\n return document.defaultView;\n }\n catch {\n // node env\n return CurrentGlobal;\n }\n})();\nconst Global = nativeGlobal;\nfunction definePropertyGlobalVal(target, key, val) {\n Object.defineProperty(target, key, {\n value: val,\n configurable: false,\n writable: true,\n });\n}\nfunction includeOwnProperty(target, key) {\n return Object.hasOwnProperty.call(target, key);\n}\n// This section is to prevent encapsulation by certain microfrontend frameworks. Due to reuse policies, sandbox escapes.\n// The sandbox in the microfrontend does not replicate the value of 'configurable'.\n// If there is no loading content on the global object, this section defines the loading object.\nif (!includeOwnProperty(CurrentGlobal, '__GLOBAL_LOADING_REMOTE_ENTRY__')) {\n definePropertyGlobalVal(CurrentGlobal, '__GLOBAL_LOADING_REMOTE_ENTRY__', {});\n}\nconst globalLoading = CurrentGlobal.__GLOBAL_LOADING_REMOTE_ENTRY__;\nfunction setGlobalDefaultVal(target) {\n if (includeOwnProperty(target, '__VMOK__') &&\n !includeOwnProperty(target, '__FEDERATION__')) {\n definePropertyGlobalVal(target, '__FEDERATION__', target.__VMOK__);\n }\n if (!includeOwnProperty(target, '__FEDERATION__')) {\n definePropertyGlobalVal(target, '__FEDERATION__', {\n __GLOBAL_PLUGIN__: [],\n __INSTANCES__: [],\n moduleInfo: {},\n __SHARE__: {},\n __MANIFEST_LOADING__: {},\n __PRELOADED_MAP__: new Map(),\n });\n definePropertyGlobalVal(target, '__VMOK__', target.__FEDERATION__);\n }\n target.__FEDERATION__.__GLOBAL_PLUGIN__ ??= [];\n target.__FEDERATION__.__INSTANCES__ ??= [];\n target.__FEDERATION__.moduleInfo ??= {};\n target.__FEDERATION__.__SHARE__ ??= {};\n target.__FEDERATION__.__MANIFEST_LOADING__ ??= {};\n target.__FEDERATION__.__PRELOADED_MAP__ ??= new Map();\n}\nsetGlobalDefaultVal(CurrentGlobal);\nsetGlobalDefaultVal(nativeGlobal);\nfunction resetFederationGlobalInfo() {\n CurrentGlobal.__FEDERATION__.__GLOBAL_PLUGIN__ = [];\n CurrentGlobal.__FEDERATION__.__INSTANCES__ = [];\n CurrentGlobal.__FEDERATION__.moduleInfo = {};\n CurrentGlobal.__FEDERATION__.__SHARE__ = {};\n CurrentGlobal.__FEDERATION__.__MANIFEST_LOADING__ = {};\n Object.keys(globalLoading).forEach((key) => {\n delete globalLoading[key];\n });\n}\nfunction setGlobalFederationInstance(FederationInstance) {\n CurrentGlobal.__FEDERATION__.__INSTANCES__.push(FederationInstance);\n}\nfunction getGlobalFederationConstructor() {\n return CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__;\n}\nfunction setGlobalFederationConstructor(FederationConstructor, isDebug = sdk.isDebugMode()) {\n if (isDebug) {\n CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;\n CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = \"0.22.0\";\n }\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction getInfoWithoutType(target, key) {\n if (typeof key === 'string') {\n const keyRes = target[key];\n if (keyRes) {\n return {\n value: target[key],\n key: key,\n };\n }\n else {\n const targetKeys = Object.keys(target);\n for (const targetKey of targetKeys) {\n const [targetTypeOrName, _] = targetKey.split(':');\n const nKey = `${targetTypeOrName}:${key}`;\n const typeWithKeyRes = target[nKey];\n if (typeWithKeyRes) {\n return {\n value: typeWithKeyRes,\n key: nKey,\n };\n }\n }\n return {\n value: undefined,\n key: key,\n };\n }\n }\n else {\n throw new Error('key must be string');\n }\n}\nconst getGlobalSnapshot = () => nativeGlobal.__FEDERATION__.moduleInfo;\nconst getTargetSnapshotInfoByModuleInfo = (moduleInfo, snapshot) => {\n // Check if the remote is included in the hostSnapshot\n const moduleKey = getFMId(moduleInfo);\n const getModuleInfo = getInfoWithoutType(snapshot, moduleKey).value;\n // The remoteSnapshot might not include a version\n if (getModuleInfo &&\n !getModuleInfo.version &&\n 'version' in moduleInfo &&\n moduleInfo['version']) {\n getModuleInfo.version = moduleInfo['version'];\n }\n if (getModuleInfo) {\n return getModuleInfo;\n }\n // If the remote is not included in the hostSnapshot, deploy a micro app snapshot\n if ('version' in moduleInfo && moduleInfo['version']) {\n const { version, ...resModuleInfo } = moduleInfo;\n const moduleKeyWithoutVersion = getFMId(resModuleInfo);\n const getModuleInfoWithoutVersion = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion).value;\n if (getModuleInfoWithoutVersion?.version === version) {\n return getModuleInfoWithoutVersion;\n }\n }\n return;\n};\nconst getGlobalSnapshotInfoByModuleInfo = (moduleInfo) => getTargetSnapshotInfoByModuleInfo(moduleInfo, nativeGlobal.__FEDERATION__.moduleInfo);\nconst setGlobalSnapshotInfoByModuleInfo = (remoteInfo, moduleDetailInfo) => {\n const moduleKey = getFMId(remoteInfo);\n nativeGlobal.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo;\n return nativeGlobal.__FEDERATION__.moduleInfo;\n};\nconst addGlobalSnapshot = (moduleInfos) => {\n nativeGlobal.__FEDERATION__.moduleInfo = {\n ...nativeGlobal.__FEDERATION__.moduleInfo,\n ...moduleInfos,\n };\n return () => {\n const keys = Object.keys(moduleInfos);\n for (const key of keys) {\n delete nativeGlobal.__FEDERATION__.moduleInfo[key];\n }\n };\n};\nconst getRemoteEntryExports = (name, globalName) => {\n const remoteEntryKey = globalName || `__FEDERATION_${name}:custom__`;\n const entryExports = CurrentGlobal[remoteEntryKey];\n return {\n remoteEntryKey,\n entryExports,\n };\n};\n// This function is used to register global plugins.\n// It iterates over the provided plugins and checks if they are already registered.\n// If a plugin is not registered, it is added to the global plugins.\n// If a plugin is already registered, a warning message is logged.\nconst registerGlobalPlugins = (plugins) => {\n const { __GLOBAL_PLUGIN__ } = nativeGlobal.__FEDERATION__;\n plugins.forEach((plugin) => {\n if (__GLOBAL_PLUGIN__.findIndex((p) => p.name === plugin.name) === -1) {\n __GLOBAL_PLUGIN__.push(plugin);\n }\n else {\n warn(`The plugin ${plugin.name} has been registered.`);\n }\n });\n};\nconst getGlobalHostPlugins = () => nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__;\nconst getPreloaded = (id) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.get(id);\nconst setPreloaded = (id) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.set(id, true);\n\nconst DEFAULT_SCOPE = 'default';\nconst DEFAULT_REMOTE_TYPE = 'global';\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// those constants are based on https://www.rubydoc.info/gems/semantic_range/3.0.0/SemanticRange#BUILDIDENTIFIER-constant\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nconst buildIdentifier = '[0-9A-Za-z-]+';\nconst build = `(?:\\\\+(${buildIdentifier}(?:\\\\.${buildIdentifier})*))`;\nconst numericIdentifier = '0|[1-9]\\\\d*';\nconst numericIdentifierLoose = '[0-9]+';\nconst nonNumericIdentifier = '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*';\nconst preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;\nconst preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\\\.${preReleaseIdentifierLoose})*))`;\nconst preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;\nconst preRelease = `(?:-(${preReleaseIdentifier}(?:\\\\.${preReleaseIdentifier})*))`;\nconst xRangeIdentifier = `${numericIdentifier}|x|X|\\\\*`;\nconst xRangePlain = `[v=\\\\s]*(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;\nconst hyphenRange = `^\\\\s*(${xRangePlain})\\\\s+-\\\\s+(${xRangePlain})\\\\s*$`;\nconst mainVersionLoose = `(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})`;\nconst loosePlain = `[v=\\\\s]*${mainVersionLoose}${preReleaseLoose}?${build}?`;\nconst gtlt = '((?:<|>)?=?)';\nconst comparatorTrim = `(\\\\s*)${gtlt}\\\\s*(${loosePlain}|${xRangePlain})`;\nconst loneTilde = '(?:~>?)';\nconst tildeTrim = `(\\\\s*)${loneTilde}\\\\s+`;\nconst loneCaret = '(?:\\\\^)';\nconst caretTrim = `(\\\\s*)${loneCaret}\\\\s+`;\nconst star = '(<|>)?=?\\\\s*\\\\*';\nconst caret = `^${loneCaret}${xRangePlain}$`;\nconst mainVersion = `(${numericIdentifier})\\\\.(${numericIdentifier})\\\\.(${numericIdentifier})`;\nconst fullPlain = `v?${mainVersion}${preRelease}?${build}?`;\nconst tilde = `^${loneTilde}${xRangePlain}$`;\nconst xRange = `^${gtlt}\\\\s*${xRangePlain}$`;\nconst comparator = `^${gtlt}\\\\s*(${fullPlain})$|^$`;\n// copy from semver package\nconst gte0 = '^\\\\s*>=\\\\s*0.0.0\\\\s*$';\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nfunction parseRegex(source) {\n return new RegExp(source);\n}\nfunction isXVersion(version) {\n return !version || version.toLowerCase() === 'x' || version === '*';\n}\nfunction pipe(...fns) {\n return (x) => fns.reduce((v, f) => f(v), x);\n}\nfunction extractComparator(comparatorString) {\n return comparatorString.match(parseRegex(comparator));\n}\nfunction combineVersion(major, minor, patch, preRelease) {\n const mainVersion = `${major}.${minor}.${patch}`;\n if (preRelease) {\n return `${mainVersion}-${preRelease}`;\n }\n return mainVersion;\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nfunction parseHyphen(range) {\n return range.replace(parseRegex(hyphenRange), (_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => {\n if (isXVersion(fromMajor)) {\n from = '';\n }\n else if (isXVersion(fromMinor)) {\n from = `>=${fromMajor}.0.0`;\n }\n else if (isXVersion(fromPatch)) {\n from = `>=${fromMajor}.${fromMinor}.0`;\n }\n else {\n from = `>=${from}`;\n }\n if (isXVersion(toMajor)) {\n to = '';\n }\n else if (isXVersion(toMinor)) {\n to = `<${Number(toMajor) + 1}.0.0-0`;\n }\n else if (isXVersion(toPatch)) {\n to = `<${toMajor}.${Number(toMinor) + 1}.0-0`;\n }\n else if (toPreRelease) {\n to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;\n }\n else {\n to = `<=${to}`;\n }\n return `${from} ${to}`.trim();\n });\n}\nfunction parseComparatorTrim(range) {\n return range.replace(parseRegex(comparatorTrim), '$1$2$3');\n}\nfunction parseTildeTrim(range) {\n return range.replace(parseRegex(tildeTrim), '$1~');\n}\nfunction parseCaretTrim(range) {\n return range.replace(parseRegex(caretTrim), '$1^');\n}\nfunction parseCarets(range) {\n return range\n .trim()\n .split(/\\s+/)\n .map((rangeVersion) => rangeVersion.replace(parseRegex(caret), (_, major, minor, patch, preRelease) => {\n if (isXVersion(major)) {\n return '';\n }\n else if (isXVersion(minor)) {\n return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n }\n else if (isXVersion(patch)) {\n if (major === '0') {\n return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n }\n else {\n return `>=${major}.${minor}.0 <${Number(major) + 1}.0.0-0`;\n }\n }\n else if (preRelease) {\n if (major === '0') {\n if (minor === '0') {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${minor}.${Number(patch) + 1}-0`;\n }\n else {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n }\n else {\n return `>=${major}.${minor}.${patch}-${preRelease} <${Number(major) + 1}.0.0-0`;\n }\n }\n else {\n if (major === '0') {\n if (minor === '0') {\n return `>=${major}.${minor}.${patch} <${major}.${minor}.${Number(patch) + 1}-0`;\n }\n else {\n return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n }\n }\n return `>=${major}.${minor}.${patch} <${Number(major) + 1}.0.0-0`;\n }\n }))\n .join(' ');\n}\nfunction parseTildes(range) {\n return range\n .trim()\n .split(/\\s+/)\n .map((rangeVersion) => rangeVersion.replace(parseRegex(tilde), (_, major, minor, patch, preRelease) => {\n if (isXVersion(major)) {\n return '';\n }\n else if (isXVersion(minor)) {\n return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n }\n else if (isXVersion(patch)) {\n return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n }\n else if (preRelease) {\n return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n }))\n .join(' ');\n}\nfunction parseXRanges(range) {\n return range\n .split(/\\s+/)\n .map((rangeVersion) => rangeVersion\n .trim()\n .replace(parseRegex(xRange), (ret, gtlt, major, minor, patch, preRelease) => {\n const isXMajor = isXVersion(major);\n const isXMinor = isXMajor || isXVersion(minor);\n const isXPatch = isXMinor || isXVersion(patch);\n if (gtlt === '=' && isXPatch) {\n gtlt = '';\n }\n preRelease = '';\n if (isXMajor) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n return '<0.0.0-0';\n }\n else {\n // nothing is forbidden\n return '*';\n }\n }\n else if (gtlt && isXPatch) {\n // replace X with 0\n if (isXMinor) {\n minor = 0;\n }\n patch = 0;\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>=';\n if (isXMinor) {\n major = Number(major) + 1;\n minor = 0;\n patch = 0;\n }\n else {\n minor = Number(minor) + 1;\n patch = 0;\n }\n }\n else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should pass\n // Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<';\n if (isXMinor) {\n major = Number(major) + 1;\n }\n else {\n minor = Number(minor) + 1;\n }\n }\n if (gtlt === '<') {\n preRelease = '-0';\n }\n return `${gtlt + major}.${minor}.${patch}${preRelease}`;\n }\n else if (isXMinor) {\n return `>=${major}.0.0${preRelease} <${Number(major) + 1}.0.0-0`;\n }\n else if (isXPatch) {\n return `>=${major}.${minor}.0${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n }\n return ret;\n }))\n .join(' ');\n}\nfunction parseStar(range) {\n return range.trim().replace(parseRegex(star), '');\n}\nfunction parseGTE0(comparatorString) {\n return comparatorString.trim().replace(parseRegex(gte0), '');\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nfunction compareAtom(rangeAtom, versionAtom) {\n rangeAtom = Number(rangeAtom) || rangeAtom;\n versionAtom = Number(versionAtom) || versionAtom;\n if (rangeAtom > versionAtom) {\n return 1;\n }\n if (rangeAtom === versionAtom) {\n return 0;\n }\n return -1;\n}\nfunction comparePreRelease(rangeAtom, versionAtom) {\n const { preRelease: rangePreRelease } = rangeAtom;\n const { preRelease: versionPreRelease } = versionAtom;\n if (rangePreRelease === undefined && Boolean(versionPreRelease)) {\n return 1;\n }\n if (Boolean(rangePreRelease) && versionPreRelease === undefined) {\n return -1;\n }\n if (rangePreRelease === undefined && versionPreRelease === undefined) {\n return 0;\n }\n for (let i = 0, n = rangePreRelease.length; i <= n; i++) {\n const rangeElement = rangePreRelease[i];\n const versionElement = versionPreRelease[i];\n if (rangeElement === versionElement) {\n continue;\n }\n if (rangeElement === undefined && versionElement === undefined) {\n return 0;\n }\n if (!rangeElement) {\n return 1;\n }\n if (!versionElement) {\n return -1;\n }\n return compareAtom(rangeElement, versionElement);\n }\n return 0;\n}\nfunction compareVersion(rangeAtom, versionAtom) {\n return (compareAtom(rangeAtom.major, versionAtom.major) ||\n compareAtom(rangeAtom.minor, versionAtom.minor) ||\n compareAtom(rangeAtom.patch, versionAtom.patch) ||\n comparePreRelease(rangeAtom, versionAtom));\n}\nfunction eq(rangeAtom, versionAtom) {\n return rangeAtom.version === versionAtom.version;\n}\nfunction compare(rangeAtom, versionAtom) {\n switch (rangeAtom.operator) {\n case '':\n case '=':\n return eq(rangeAtom, versionAtom);\n case '>':\n return compareVersion(rangeAtom, versionAtom) < 0;\n case '>=':\n return (eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0);\n case '<':\n return compareVersion(rangeAtom, versionAtom) > 0;\n case '<=':\n return (eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0);\n case undefined: {\n // mean * or x -> all versions\n return true;\n }\n default:\n return false;\n }\n}\n\n// fork from https://github.com/originjs/vite-plugin-federation/blob/v1.1.12/packages/lib/src/utils/semver/index.ts\n// Copyright (c)\n// vite-plugin-federation is licensed under Mulan PSL v2.\n// You can use this software according to the terms and conditions of the Mulan PSL v2.\n// You may obtain a copy of Mulan PSL v2 at:\n// http://license.coscl.org.cn/MulanPSL2\n// THIS SOFTWARE IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.\n// See the Mulan PSL v2 for more details.\nfunction parseComparatorString(range) {\n return pipe(\n // handle caret\n // ^ --> * (any, kinda silly)\n // ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n // ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n // ^1.2.3 --> >=1.2.3 <2.0.0-0\n // ^1.2.0 --> >=1.2.0 <2.0.0-0\n parseCarets, \n // handle tilde\n // ~, ~> --> * (any, kinda silly)\n // ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n // ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n parseTildes, parseXRanges, parseStar)(range);\n}\nfunction parseRange(range) {\n return pipe(\n // handle hyphenRange\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n parseHyphen, \n // handle trim comparator\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n parseComparatorTrim, \n // handle trim tilde\n // `~ 1.2.3` => `~1.2.3`\n parseTildeTrim, \n // handle trim caret\n // `^ 1.2.3` => `^1.2.3`\n parseCaretTrim)(range.trim())\n .split(/\\s+/)\n .join(' ');\n}\nfunction satisfy(version, range) {\n if (!version) {\n return false;\n }\n // Extract version details once\n const extractedVersion = extractComparator(version);\n if (!extractedVersion) {\n // If the version string is invalid, it can't satisfy any range\n return false;\n }\n const [, versionOperator, , versionMajor, versionMinor, versionPatch, versionPreRelease,] = extractedVersion;\n const versionAtom = {\n operator: versionOperator,\n version: combineVersion(versionMajor, versionMinor, versionPatch, versionPreRelease), // exclude build atom\n major: versionMajor,\n minor: versionMinor,\n patch: versionPatch,\n preRelease: versionPreRelease?.split('.'),\n };\n // Split the range by || to handle OR conditions\n const orRanges = range.split('||');\n for (const orRange of orRanges) {\n const trimmedOrRange = orRange.trim();\n if (!trimmedOrRange) {\n // An empty range string signifies wildcard *, satisfy any valid version\n // (We already checked if the version itself is valid)\n return true;\n }\n // Handle simple wildcards explicitly before complex parsing\n if (trimmedOrRange === '*' || trimmedOrRange === 'x') {\n return true;\n }\n try {\n // Apply existing parsing logic to the current OR sub-range\n const parsedSubRange = parseRange(trimmedOrRange); // Handles hyphens, trims etc.\n // Check if the result of initial parsing is empty, which can happen\n // for some wildcard cases handled by parseRange/parseComparatorString.\n // E.g. `parseStar` used in `parseComparatorString` returns ''.\n if (!parsedSubRange.trim()) {\n // If parsing results in empty string, treat as wildcard match\n return true;\n }\n const parsedComparatorString = parsedSubRange\n .split(' ')\n .map((rangeVersion) => parseComparatorString(rangeVersion)) // Expands ^, ~\n .join(' ');\n // Check again if the comparator string became empty after specific parsing like ^ or ~\n if (!parsedComparatorString.trim()) {\n return true;\n }\n // Split the sub-range by space for implicit AND conditions\n const comparators = parsedComparatorString\n .split(/\\s+/)\n .map((comparator) => parseGTE0(comparator))\n // Filter out empty strings that might result from multiple spaces\n .filter(Boolean);\n // If a sub-range becomes empty after parsing (e.g., invalid characters),\n // it cannot be satisfied. This check might be redundant now but kept for safety.\n if (comparators.length === 0) {\n continue;\n }\n let subRangeSatisfied = true;\n for (const comparator of comparators) {\n const extractedComparator = extractComparator(comparator);\n // If any part of the AND sub-range is invalid, the sub-range is not satisfied\n if (!extractedComparator) {\n subRangeSatisfied = false;\n break;\n }\n const [, rangeOperator, , rangeMajor, rangeMinor, rangePatch, rangePreRelease,] = extractedComparator;\n const rangeAtom = {\n operator: rangeOperator,\n version: combineVersion(rangeMajor, rangeMinor, rangePatch, rangePreRelease),\n major: rangeMajor,\n minor: rangeMinor,\n patch: rangePatch,\n preRelease: rangePreRelease?.split('.'),\n };\n // Check if the version satisfies this specific comparator in the AND chain\n if (!compare(rangeAtom, versionAtom)) {\n subRangeSatisfied = false; // This part of the AND condition failed\n break; // No need to check further comparators in this sub-range\n }\n }\n // If all AND conditions within this OR sub-range were met, the overall range is satisfied\n if (subRangeSatisfied) {\n return true;\n }\n }\n catch (e) {\n // Log error and treat this sub-range as unsatisfied\n console.error(`[semver] Error processing range part \"${trimmedOrRange}\":`, e);\n continue;\n }\n }\n // If none of the OR sub-ranges were satisfied\n return false;\n}\n\nfunction formatShare(shareArgs, from, name, shareStrategy) {\n let get;\n if ('get' in shareArgs) {\n // eslint-disable-next-line prefer-destructuring\n get = shareArgs.get;\n }\n else if ('lib' in shareArgs) {\n get = () => Promise.resolve(shareArgs.lib);\n }\n else {\n get = () => Promise.resolve(() => {\n throw new Error(`Can not get shared '${name}'!`);\n });\n }\n return {\n deps: [],\n useIn: [],\n from,\n loading: null,\n ...shareArgs,\n shareConfig: {\n requiredVersion: `^${shareArgs.version}`,\n singleton: false,\n eager: false,\n strictVersion: false,\n ...shareArgs.shareConfig,\n },\n get,\n loaded: shareArgs?.loaded || 'lib' in shareArgs ? true : undefined,\n version: shareArgs.version ?? '0',\n scope: Array.isArray(shareArgs.scope)\n ? shareArgs.scope\n : [shareArgs.scope ?? 'default'],\n strategy: (shareArgs.strategy ?? shareStrategy) || 'version-first',\n };\n}\nfunction formatShareConfigs(globalOptions, userOptions) {\n const shareArgs = userOptions.shared || {};\n const from = userOptions.name;\n const shareInfos = Object.keys(shareArgs).reduce((res, pkgName) => {\n const arrayShareArgs = arrayOptions(shareArgs[pkgName]);\n res[pkgName] = res[pkgName] || [];\n arrayShareArgs.forEach((shareConfig) => {\n res[pkgName].push(formatShare(shareConfig, from, pkgName, userOptions.shareStrategy));\n });\n return res;\n }, {});\n const shared = {\n ...globalOptions.shared,\n };\n Object.keys(shareInfos).forEach((shareKey) => {\n if (!shared[shareKey]) {\n shared[shareKey] = shareInfos[shareKey];\n }\n else {\n shareInfos[shareKey].forEach((newUserSharedOptions) => {\n const isSameVersion = shared[shareKey].find((sharedVal) => sharedVal.version === newUserSharedOptions.version);\n if (!isSameVersion) {\n shared[shareKey].push(newUserSharedOptions);\n }\n });\n }\n });\n return { shared, shareInfos };\n}\nfunction versionLt(a, b) {\n const transformInvalidVersion = (version) => {\n const isNumberVersion = !Number.isNaN(Number(version));\n if (isNumberVersion) {\n const splitArr = version.split('.');\n let validVersion = version;\n for (let i = 0; i < 3 - splitArr.length; i++) {\n validVersion += '.0';\n }\n return validVersion;\n }\n return version;\n };\n if (satisfy(transformInvalidVersion(a), `<=${transformInvalidVersion(b)}`)) {\n return true;\n }\n else {\n return false;\n }\n}\nconst findVersion = (shareVersionMap, cb) => {\n const callback = cb ||\n function (prev, cur) {\n return versionLt(prev, cur);\n };\n return Object.keys(shareVersionMap).reduce((prev, cur) => {\n if (!prev) {\n return cur;\n }\n if (callback(prev, cur)) {\n return cur;\n }\n // default version is '0' https://github.com/webpack/webpack/blob/main/lib/sharing/ProvideSharedModule.js#L136\n if (prev === '0') {\n return cur;\n }\n return prev;\n }, 0);\n};\nconst isLoaded = (shared) => {\n return Boolean(shared.loaded) || typeof shared.lib === 'function';\n};\nconst isLoading = (shared) => {\n return Boolean(shared.loading);\n};\nfunction findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName) {\n const versions = shareScopeMap[scope][pkgName];\n const callback = function (prev, cur) {\n return !isLoaded(versions[prev]) && versionLt(prev, cur);\n };\n return findVersion(shareScopeMap[scope][pkgName], callback);\n}\nfunction findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName) {\n const versions = shareScopeMap[scope][pkgName];\n const callback = function (prev, cur) {\n const isLoadingOrLoaded = (shared) => {\n return isLoaded(shared) || isLoading(shared);\n };\n if (isLoadingOrLoaded(versions[cur])) {\n if (isLoadingOrLoaded(versions[prev])) {\n return Boolean(versionLt(prev, cur));\n }\n else {\n return true;\n }\n }\n if (isLoadingOrLoaded(versions[prev])) {\n return false;\n }\n return versionLt(prev, cur);\n };\n return findVersion(shareScopeMap[scope][pkgName], callback);\n}\nfunction getFindShareFunction(strategy) {\n if (strategy === 'loaded-first') {\n return findSingletonVersionOrderByLoaded;\n }\n return findSingletonVersionOrderByVersion;\n}\nfunction getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare) {\n if (!localShareScopeMap) {\n return;\n }\n const { shareConfig, scope = DEFAULT_SCOPE, strategy } = shareInfo;\n const scopes = Array.isArray(scope) ? scope : [scope];\n for (const sc of scopes) {\n if (shareConfig &&\n localShareScopeMap[sc] &&\n localShareScopeMap[sc][pkgName]) {\n const { requiredVersion } = shareConfig;\n const findShareFunction = getFindShareFunction(strategy);\n const maxOrSingletonVersion = findShareFunction(localShareScopeMap, sc, pkgName);\n //@ts-ignore\n const defaultResolver = () => {\n if (shareConfig.singleton) {\n if (typeof requiredVersion === 'string' &&\n !satisfy(maxOrSingletonVersion, requiredVersion)) {\n const msg = `Version ${maxOrSingletonVersion} from ${maxOrSingletonVersion &&\n localShareScopeMap[sc][pkgName][maxOrSingletonVersion].from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`;\n if (shareConfig.strictVersion) {\n error(msg);\n }\n else {\n warn(msg);\n }\n }\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n else {\n if (requiredVersion === false || requiredVersion === '*') {\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n if (satisfy(maxOrSingletonVersion, requiredVersion)) {\n return localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n }\n for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])) {\n if (satisfy(versionKey, requiredVersion)) {\n return versionValue;\n }\n }\n }\n };\n const params = {\n shareScopeMap: localShareScopeMap,\n scope: sc,\n pkgName,\n version: maxOrSingletonVersion,\n GlobalFederation: Global.__FEDERATION__,\n resolver: defaultResolver,\n };\n const resolveShared = resolveShare.emit(params) || params;\n return resolveShared.resolver();\n }\n }\n}\nfunction getGlobalShareScope() {\n return Global.__FEDERATION__.__SHARE__;\n}\nfunction getTargetSharedOptions(options) {\n const { pkgName, extraOptions, shareInfos } = options;\n const defaultResolver = (sharedOptions) => {\n if (!sharedOptions) {\n return undefined;\n }\n const shareVersionMap = {};\n sharedOptions.forEach((shared) => {\n shareVersionMap[shared.version] = shared;\n });\n const callback = function (prev, cur) {\n return !isLoaded(shareVersionMap[prev]) && versionLt(prev, cur);\n };\n const maxVersion = findVersion(shareVersionMap, callback);\n return shareVersionMap[maxVersion];\n };\n const resolver = extraOptions?.resolver ?? defaultResolver;\n return Object.assign({}, resolver(shareInfos[pkgName]), extraOptions?.customShareInfo);\n}\n\nfunction getBuilderId() {\n //@ts-ignore\n return typeof FEDERATION_BUILD_IDENTIFIER !== 'undefined'\n ? //@ts-ignore\n FEDERATION_BUILD_IDENTIFIER\n : '';\n}\n\n// Function to match a remote with its name and expose\n// id: pkgName(@federation/app1) + expose(button) = @federation/app1/button\n// id: alias(app1) + expose(button) = app1/button\n// id: alias(app1/utils) + expose(loadash/sort) = app1/utils/loadash/sort\nfunction matchRemoteWithNameAndExpose(remotes, id) {\n for (const remote of remotes) {\n // match pkgName\n const isNameMatched = id.startsWith(remote.name);\n let expose = id.replace(remote.name, '');\n if (isNameMatched) {\n if (expose.startsWith('/')) {\n const pkgNameOrAlias = remote.name;\n expose = `.${expose}`;\n return {\n pkgNameOrAlias,\n expose,\n remote,\n };\n }\n else if (expose === '') {\n return {\n pkgNameOrAlias: remote.name,\n expose: '.',\n remote,\n };\n }\n }\n // match alias\n const isAliasMatched = remote.alias && id.startsWith(remote.alias);\n let exposeWithAlias = remote.alias && id.replace(remote.alias, '');\n if (remote.alias && isAliasMatched) {\n if (exposeWithAlias && exposeWithAlias.startsWith('/')) {\n const pkgNameOrAlias = remote.alias;\n exposeWithAlias = `.${exposeWithAlias}`;\n return {\n pkgNameOrAlias,\n expose: exposeWithAlias,\n remote,\n };\n }\n else if (exposeWithAlias === '') {\n return {\n pkgNameOrAlias: remote.alias,\n expose: '.',\n remote,\n };\n }\n }\n }\n return;\n}\n// Function to match a remote with its name or alias\nfunction matchRemote(remotes, nameOrAlias) {\n for (const remote of remotes) {\n const isNameMatched = nameOrAlias === remote.name;\n if (isNameMatched) {\n return remote;\n }\n const isAliasMatched = remote.alias && nameOrAlias === remote.alias;\n if (isAliasMatched) {\n return remote;\n }\n }\n return;\n}\n\nfunction registerPlugins(plugins, instance) {\n const globalPlugins = getGlobalHostPlugins();\n const hookInstances = [\n instance.hooks,\n instance.remoteHandler.hooks,\n instance.sharedHandler.hooks,\n instance.snapshotHandler.hooks,\n instance.loaderHook,\n instance.bridgeHook,\n ];\n // Incorporate global plugins\n if (globalPlugins.length > 0) {\n globalPlugins.forEach((plugin) => {\n if (plugins?.find((item) => item.name !== plugin.name)) {\n plugins.push(plugin);\n }\n });\n }\n if (plugins && plugins.length > 0) {\n plugins.forEach((plugin) => {\n hookInstances.forEach((hookInstance) => {\n hookInstance.applyPlugin(plugin, instance);\n });\n });\n }\n return plugins;\n}\n\nconst importCallback = '.then(callbacks[0]).catch(callbacks[1])';\nasync function loadEsmEntry({ entry, remoteEntryExports, }) {\n return new Promise((resolve, reject) => {\n try {\n if (!remoteEntryExports) {\n if (typeof FEDERATION_ALLOW_NEW_FUNCTION !== 'undefined') {\n new Function('callbacks', `import(\"${entry}\")${importCallback}`)([\n resolve,\n reject,\n ]);\n }\n else {\n import(/* webpackIgnore: true */ /* @vite-ignore */ entry)\n .then(resolve)\n .catch(reject);\n }\n }\n else {\n resolve(remoteEntryExports);\n }\n }\n catch (e) {\n reject(e);\n }\n });\n}\nasync function loadSystemJsEntry({ entry, remoteEntryExports, }) {\n return new Promise((resolve, reject) => {\n try {\n if (!remoteEntryExports) {\n //@ts-ignore\n if (false) {}\n else {\n new Function('callbacks', `System.import(\"${entry}\")${importCallback}`)([resolve, reject]);\n }\n }\n else {\n resolve(remoteEntryExports);\n }\n }\n catch (e) {\n reject(e);\n }\n });\n}\nfunction handleRemoteEntryLoaded(name, globalName, entry) {\n const { remoteEntryKey, entryExports } = getRemoteEntryExports(name, globalName);\n assert(entryExports, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_001, errorCodes.runtimeDescMap, {\n remoteName: name,\n remoteEntryUrl: entry,\n remoteEntryKey,\n }));\n return entryExports;\n}\nasync function loadEntryScript({ name, globalName, entry, loaderHook, getEntryUrl, }) {\n const { entryExports: remoteEntryExports } = getRemoteEntryExports(name, globalName);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n // if getEntryUrl is passed, use the getEntryUrl to get the entry url\n const url = getEntryUrl ? getEntryUrl(entry) : entry;\n return sdk.loadScript(url, {\n attrs: {},\n createScriptHook: (url, attrs) => {\n const res = loaderHook.lifecycle.createScript.emit({ url, attrs });\n if (!res)\n return;\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n if ('script' in res || 'timeout' in res) {\n return res;\n }\n return;\n },\n })\n .then(() => {\n return handleRemoteEntryLoaded(name, globalName, entry);\n })\n .catch((e) => {\n assert(undefined, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_008, errorCodes.runtimeDescMap, {\n remoteName: name,\n resourceUrl: entry,\n }));\n throw e;\n });\n}\nasync function loadEntryDom({ remoteInfo, remoteEntryExports, loaderHook, getEntryUrl, }) {\n const { entry, entryGlobalName: globalName, name, type } = remoteInfo;\n switch (type) {\n case 'esm':\n case 'module':\n return loadEsmEntry({ entry, remoteEntryExports });\n case 'system':\n return loadSystemJsEntry({ entry, remoteEntryExports });\n default:\n return loadEntryScript({\n entry,\n globalName,\n name,\n loaderHook,\n getEntryUrl,\n });\n }\n}\nasync function loadEntryNode({ remoteInfo, loaderHook, }) {\n const { entry, entryGlobalName: globalName, name, type } = remoteInfo;\n const { entryExports: remoteEntryExports } = getRemoteEntryExports(name, globalName);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n return sdk.loadScriptNode(entry, {\n attrs: { name, globalName, type },\n loaderHook: {\n createScriptHook: (url, attrs = {}) => {\n const res = loaderHook.lifecycle.createScript.emit({ url, attrs });\n if (!res)\n return;\n if ('url' in res) {\n return res;\n }\n return;\n },\n },\n })\n .then(() => {\n return handleRemoteEntryLoaded(name, globalName, entry);\n })\n .catch((e) => {\n throw e;\n });\n}\nfunction getRemoteEntryUniqueKey(remoteInfo) {\n const { entry, name } = remoteInfo;\n return sdk.composeKeyWithSeparator(name, entry);\n}\nasync function getRemoteEntry(params) {\n const { origin, remoteEntryExports, remoteInfo, getEntryUrl, _inErrorHandling = false, } = params;\n const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);\n if (remoteEntryExports) {\n return remoteEntryExports;\n }\n if (!globalLoading[uniqueKey]) {\n const loadEntryHook = origin.remoteHandler.hooks.lifecycle.loadEntry;\n const loaderHook = origin.loaderHook;\n globalLoading[uniqueKey] = loadEntryHook\n .emit({\n loaderHook,\n remoteInfo,\n remoteEntryExports,\n })\n .then((res) => {\n if (res) {\n return res;\n }\n // Use ENV_TARGET if defined, otherwise fallback to isBrowserEnv, must keep this\n const isWebEnvironment = typeof ENV_TARGET !== 'undefined'\n ? ENV_TARGET === 'web'\n : sdk.isBrowserEnv();\n return isWebEnvironment\n ? loadEntryDom({\n remoteInfo,\n remoteEntryExports,\n loaderHook,\n getEntryUrl,\n })\n : loadEntryNode({ remoteInfo, loaderHook });\n })\n .catch(async (err) => {\n const uniqueKey = getRemoteEntryUniqueKey(remoteInfo);\n const isScriptLoadError = err instanceof Error && err.message.includes(errorCodes.RUNTIME_008);\n if (isScriptLoadError && !_inErrorHandling) {\n const wrappedGetRemoteEntry = (params) => {\n return getRemoteEntry({ ...params, _inErrorHandling: true });\n };\n const RemoteEntryExports = await origin.loaderHook.lifecycle.loadEntryError.emit({\n getRemoteEntry: wrappedGetRemoteEntry,\n origin,\n remoteInfo: remoteInfo,\n remoteEntryExports,\n globalLoading,\n uniqueKey,\n });\n if (RemoteEntryExports) {\n return RemoteEntryExports;\n }\n }\n throw err;\n });\n }\n return globalLoading[uniqueKey];\n}\nfunction getRemoteInfo(remote) {\n return {\n ...remote,\n entry: 'entry' in remote ? remote.entry : '',\n type: remote.type || DEFAULT_REMOTE_TYPE,\n entryGlobalName: remote.entryGlobalName || remote.name,\n shareScope: remote.shareScope || DEFAULT_SCOPE,\n };\n}\n\nfunction defaultPreloadArgs(preloadConfig) {\n return {\n resourceCategory: 'sync',\n share: true,\n depsRemote: true,\n prefetchInterface: false,\n ...preloadConfig,\n };\n}\nfunction formatPreloadArgs(remotes, preloadArgs) {\n return preloadArgs.map((args) => {\n const remoteInfo = matchRemote(remotes, args.nameOrAlias);\n assert(remoteInfo, `Unable to preload ${args.nameOrAlias} as it is not included in ${!remoteInfo &&\n sdk.safeToString({\n remoteInfo,\n remotes,\n })}`);\n return {\n remote: remoteInfo,\n preloadConfig: defaultPreloadArgs(args),\n };\n });\n}\nfunction normalizePreloadExposes(exposes) {\n if (!exposes) {\n return [];\n }\n return exposes.map((expose) => {\n if (expose === '.') {\n return expose;\n }\n if (expose.startsWith('./')) {\n return expose.replace('./', '');\n }\n return expose;\n });\n}\nfunction preloadAssets(remoteInfo, host, assets, \n// It is used to distinguish preload from load remote parallel loading\nuseLinkPreload = true) {\n const { cssAssets, jsAssetsWithoutEntry, entryAssets } = assets;\n if (host.options.inBrowser) {\n entryAssets.forEach((asset) => {\n const { moduleInfo } = asset;\n const module = host.moduleCache.get(remoteInfo.name);\n if (module) {\n getRemoteEntry({\n origin: host,\n remoteInfo: moduleInfo,\n remoteEntryExports: module.remoteEntryExports,\n });\n }\n else {\n getRemoteEntry({\n origin: host,\n remoteInfo: moduleInfo,\n remoteEntryExports: undefined,\n });\n }\n });\n if (useLinkPreload) {\n const defaultAttrs = {\n rel: 'preload',\n as: 'style',\n };\n cssAssets.forEach((cssUrl) => {\n const { link: cssEl, needAttach } = sdk.createLink({\n url: cssUrl,\n cb: () => {\n // noop\n },\n attrs: defaultAttrs,\n createLinkHook: (url, attrs) => {\n const res = host.loaderHook.lifecycle.createLink.emit({\n url,\n attrs,\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n },\n });\n needAttach && document.head.appendChild(cssEl);\n });\n }\n else {\n const defaultAttrs = {\n rel: 'stylesheet',\n type: 'text/css',\n };\n cssAssets.forEach((cssUrl) => {\n const { link: cssEl, needAttach } = sdk.createLink({\n url: cssUrl,\n cb: () => {\n // noop\n },\n attrs: defaultAttrs,\n createLinkHook: (url, attrs) => {\n const res = host.loaderHook.lifecycle.createLink.emit({\n url,\n attrs,\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n },\n needDeleteLink: false,\n });\n needAttach && document.head.appendChild(cssEl);\n });\n }\n if (useLinkPreload) {\n const defaultAttrs = {\n rel: 'preload',\n as: 'script',\n };\n jsAssetsWithoutEntry.forEach((jsUrl) => {\n const { link: linkEl, needAttach } = sdk.createLink({\n url: jsUrl,\n cb: () => {\n // noop\n },\n attrs: defaultAttrs,\n createLinkHook: (url, attrs) => {\n const res = host.loaderHook.lifecycle.createLink.emit({\n url,\n attrs,\n });\n if (res instanceof HTMLLinkElement) {\n return res;\n }\n return;\n },\n });\n needAttach && document.head.appendChild(linkEl);\n });\n }\n else {\n const defaultAttrs = {\n fetchpriority: 'high',\n type: remoteInfo?.type === 'module' ? 'module' : 'text/javascript',\n };\n jsAssetsWithoutEntry.forEach((jsUrl) => {\n const { script: scriptEl, needAttach } = sdk.createScript({\n url: jsUrl,\n cb: () => {\n // noop\n },\n attrs: defaultAttrs,\n createScriptHook: (url, attrs) => {\n const res = host.loaderHook.lifecycle.createScript.emit({\n url,\n attrs,\n });\n if (res instanceof HTMLScriptElement) {\n return res;\n }\n return;\n },\n needDeleteScript: true,\n });\n needAttach && document.head.appendChild(scriptEl);\n });\n }\n }\n}\n\nconst ShareUtils = {\n getRegisteredShare,\n getGlobalShareScope,\n};\nconst GlobalUtils = {\n Global,\n nativeGlobal,\n resetFederationGlobalInfo,\n setGlobalFederationInstance,\n getGlobalFederationConstructor,\n setGlobalFederationConstructor,\n getInfoWithoutType,\n getGlobalSnapshot,\n getTargetSnapshotInfoByModuleInfo,\n getGlobalSnapshotInfoByModuleInfo,\n setGlobalSnapshotInfoByModuleInfo,\n addGlobalSnapshot,\n getRemoteEntryExports,\n registerGlobalPlugins,\n getGlobalHostPlugins,\n getPreloaded,\n setPreloaded,\n};\nvar helpers = {\n global: GlobalUtils,\n share: ShareUtils,\n utils: {\n matchRemoteWithNameAndExpose,\n preloadAssets,\n getRemoteInfo,\n },\n};\n\nclass Module {\n constructor({ remoteInfo, host, }) {\n this.inited = false;\n this.lib = undefined;\n this.remoteInfo = remoteInfo;\n this.host = host;\n }\n async getEntry() {\n if (this.remoteEntryExports) {\n return this.remoteEntryExports;\n }\n let remoteEntryExports;\n remoteEntryExports = await getRemoteEntry({\n origin: this.host,\n remoteInfo: this.remoteInfo,\n remoteEntryExports: this.remoteEntryExports,\n });\n assert(remoteEntryExports, `remoteEntryExports is undefined \\n ${sdk.safeToString(this.remoteInfo)}`);\n this.remoteEntryExports = remoteEntryExports;\n return this.remoteEntryExports;\n }\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n async get(id, expose, options, remoteSnapshot) {\n const { loadFactory = true } = options || { loadFactory: true };\n // Get remoteEntry.js\n const remoteEntryExports = await this.getEntry();\n if (!this.inited) {\n const localShareScopeMap = this.host.shareScopeMap;\n const shareScopeKeys = Array.isArray(this.remoteInfo.shareScope)\n ? this.remoteInfo.shareScope\n : [this.remoteInfo.shareScope];\n if (!shareScopeKeys.length) {\n shareScopeKeys.push('default');\n }\n shareScopeKeys.forEach((shareScopeKey) => {\n if (!localShareScopeMap[shareScopeKey]) {\n localShareScopeMap[shareScopeKey] = {};\n }\n });\n // TODO: compate legacy init params, should use shareScopeMap if exist\n const shareScope = localShareScopeMap[shareScopeKeys[0]];\n const initScope = [];\n const remoteEntryInitOptions = {\n version: this.remoteInfo.version || '',\n shareScopeKeys: Array.isArray(this.remoteInfo.shareScope)\n ? shareScopeKeys\n : this.remoteInfo.shareScope || 'default',\n };\n // Help to find host instance\n Object.defineProperty(remoteEntryInitOptions, 'shareScopeMap', {\n value: localShareScopeMap,\n // remoteEntryInitOptions will be traversed and assigned during container init, ,so this attribute is not allowed to be traversed\n enumerable: false,\n });\n const initContainerOptions = await this.host.hooks.lifecycle.beforeInitContainer.emit({\n shareScope,\n // @ts-ignore shareScopeMap will be set by Object.defineProperty\n remoteEntryInitOptions,\n initScope,\n remoteInfo: this.remoteInfo,\n origin: this.host,\n });\n if (typeof remoteEntryExports?.init === 'undefined') {\n error(errorCodes.getShortErrorMsg(errorCodes.RUNTIME_002, errorCodes.runtimeDescMap, {\n hostName: this.host.name,\n remoteName: this.remoteInfo.name,\n remoteEntryUrl: this.remoteInfo.entry,\n remoteEntryKey: this.remoteInfo.entryGlobalName,\n }));\n }\n await remoteEntryExports.init(initContainerOptions.shareScope, initContainerOptions.initScope, initContainerOptions.remoteEntryInitOptions);\n await this.host.hooks.lifecycle.initContainer.emit({\n ...initContainerOptions,\n id,\n remoteSnapshot,\n remoteEntryExports,\n });\n }\n this.lib = remoteEntryExports;\n this.inited = true;\n let moduleFactory;\n moduleFactory = await this.host.loaderHook.lifecycle.getModuleFactory.emit({\n remoteEntryExports,\n expose,\n moduleInfo: this.remoteInfo,\n });\n // get exposeGetter\n if (!moduleFactory) {\n moduleFactory = await remoteEntryExports.get(expose);\n }\n assert(moduleFactory, `${getFMId(this.remoteInfo)} remote don't export ${expose}.`);\n // keep symbol for module name always one format\n const symbolName = processModuleAlias(this.remoteInfo.name, expose);\n const wrapModuleFactory = this.wraperFactory(moduleFactory, symbolName);\n if (!loadFactory) {\n return wrapModuleFactory;\n }\n const exposeContent = await wrapModuleFactory();\n return exposeContent;\n }\n wraperFactory(moduleFactory, id) {\n function defineModuleId(res, id) {\n if (res &&\n typeof res === 'object' &&\n Object.isExtensible(res) &&\n !Object.getOwnPropertyDescriptor(res, Symbol.for('mf_module_id'))) {\n Object.defineProperty(res, Symbol.for('mf_module_id'), {\n value: id,\n enumerable: false,\n });\n }\n }\n if (moduleFactory instanceof Promise) {\n return async () => {\n const res = await moduleFactory();\n // This parameter is used for bridge debugging\n defineModuleId(res, id);\n return res;\n };\n }\n else {\n return () => {\n const res = moduleFactory();\n // This parameter is used for bridge debugging\n defineModuleId(res, id);\n return res;\n };\n }\n }\n}\n\nclass SyncHook {\n constructor(type) {\n this.type = '';\n this.listeners = new Set();\n if (type) {\n this.type = type;\n }\n }\n on(fn) {\n if (typeof fn === 'function') {\n this.listeners.add(fn);\n }\n }\n once(fn) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const self = this;\n this.on(function wrapper(...args) {\n self.remove(wrapper);\n // eslint-disable-next-line prefer-spread\n return fn.apply(null, args);\n });\n }\n emit(...data) {\n let result;\n if (this.listeners.size > 0) {\n // eslint-disable-next-line prefer-spread\n this.listeners.forEach((fn) => {\n result = fn(...data);\n });\n }\n return result;\n }\n remove(fn) {\n this.listeners.delete(fn);\n }\n removeAll() {\n this.listeners.clear();\n }\n}\n\nclass AsyncHook extends SyncHook {\n emit(...data) {\n let result;\n const ls = Array.from(this.listeners);\n if (ls.length > 0) {\n let i = 0;\n const call = (prev) => {\n if (prev === false) {\n return false; // Abort process\n }\n else if (i < ls.length) {\n return Promise.resolve(ls[i++].apply(null, data)).then(call);\n }\n else {\n return prev;\n }\n };\n result = call();\n }\n return Promise.resolve(result);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction checkReturnData(originalData, returnedData) {\n if (!isObject(returnedData)) {\n return false;\n }\n if (originalData !== returnedData) {\n // eslint-disable-next-line no-restricted-syntax\n for (const key in originalData) {\n if (!(key in returnedData)) {\n return false;\n }\n }\n }\n return true;\n}\nclass SyncWaterfallHook extends SyncHook {\n constructor(type) {\n super();\n this.onerror = error;\n this.type = type;\n }\n emit(data) {\n if (!isObject(data)) {\n error(`The data for the \"${this.type}\" hook should be an object.`);\n }\n for (const fn of this.listeners) {\n try {\n const tempData = fn(data);\n if (checkReturnData(data, tempData)) {\n data = tempData;\n }\n else {\n this.onerror(`A plugin returned an unacceptable value for the \"${this.type}\" type.`);\n break;\n }\n }\n catch (e) {\n warn(e);\n this.onerror(e);\n }\n }\n return data;\n }\n}\n\nclass AsyncWaterfallHook extends SyncHook {\n constructor(type) {\n super();\n this.onerror = error;\n this.type = type;\n }\n emit(data) {\n if (!isObject(data)) {\n error(`The response data for the \"${this.type}\" hook must be an object.`);\n }\n const ls = Array.from(this.listeners);\n if (ls.length > 0) {\n let i = 0;\n const processError = (e) => {\n warn(e);\n this.onerror(e);\n return data;\n };\n const call = (prevData) => {\n if (checkReturnData(data, prevData)) {\n data = prevData;\n if (i < ls.length) {\n try {\n return Promise.resolve(ls[i++](data)).then(call, processError);\n }\n catch (e) {\n return processError(e);\n }\n }\n }\n else {\n this.onerror(`A plugin returned an incorrect value for the \"${this.type}\" type.`);\n }\n return data;\n };\n return Promise.resolve(call(data));\n }\n return Promise.resolve(data);\n }\n}\n\nclass PluginSystem {\n constructor(lifecycle) {\n this.registerPlugins = {};\n this.lifecycle = lifecycle;\n this.lifecycleKeys = Object.keys(lifecycle);\n }\n applyPlugin(plugin, instance) {\n assert(isPlainObject(plugin), 'Plugin configuration is invalid.');\n // The plugin's name is mandatory and must be unique\n const pluginName = plugin.name;\n assert(pluginName, 'A name must be provided by the plugin.');\n if (!this.registerPlugins[pluginName]) {\n this.registerPlugins[pluginName] = plugin;\n plugin.apply?.(instance);\n Object.keys(this.lifecycle).forEach((key) => {\n const pluginLife = plugin[key];\n if (pluginLife) {\n this.lifecycle[key].on(pluginLife);\n }\n });\n }\n }\n removePlugin(pluginName) {\n assert(pluginName, 'A name is required.');\n const plugin = this.registerPlugins[pluginName];\n assert(plugin, `The plugin \"${pluginName}\" is not registered.`);\n Object.keys(plugin).forEach((key) => {\n if (key !== 'name') {\n this.lifecycle[key].remove(plugin[key]);\n }\n });\n }\n}\n\nfunction assignRemoteInfo(remoteInfo, remoteSnapshot) {\n const remoteEntryInfo = getRemoteEntryInfoFromSnapshot(remoteSnapshot);\n if (!remoteEntryInfo.url) {\n error(`The attribute remoteEntry of ${remoteInfo.name} must not be undefined.`);\n }\n let entryUrl = sdk.getResourceUrl(remoteSnapshot, remoteEntryInfo.url);\n if (!sdk.isBrowserEnv() && !entryUrl.startsWith('http')) {\n entryUrl = `https:${entryUrl}`;\n }\n remoteInfo.type = remoteEntryInfo.type;\n remoteInfo.entryGlobalName = remoteEntryInfo.globalName;\n remoteInfo.entry = entryUrl;\n remoteInfo.version = remoteSnapshot.version;\n remoteInfo.buildVersion = remoteSnapshot.buildVersion;\n}\nfunction snapshotPlugin() {\n return {\n name: 'snapshot-plugin',\n async afterResolve(args) {\n const { remote, pkgNameOrAlias, expose, origin, remoteInfo, id } = args;\n if (!isRemoteInfoWithEntry(remote) || !isPureRemoteEntry(remote)) {\n const { remoteSnapshot, globalSnapshot } = await origin.snapshotHandler.loadRemoteSnapshotInfo({\n moduleInfo: remote,\n id,\n });\n assignRemoteInfo(remoteInfo, remoteSnapshot);\n // preloading assets\n const preloadOptions = {\n remote,\n preloadConfig: {\n nameOrAlias: pkgNameOrAlias,\n exposes: [expose],\n resourceCategory: 'sync',\n share: false,\n depsRemote: false,\n },\n };\n const assets = await origin.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({\n origin,\n preloadOptions,\n remoteInfo,\n remote,\n remoteSnapshot,\n globalSnapshot,\n });\n if (assets) {\n preloadAssets(remoteInfo, origin, assets, false);\n }\n return {\n ...args,\n remoteSnapshot,\n };\n }\n return args;\n },\n };\n}\n\n// name\n// name:version\nfunction splitId(id) {\n const splitInfo = id.split(':');\n if (splitInfo.length === 1) {\n return {\n name: splitInfo[0],\n version: undefined,\n };\n }\n else if (splitInfo.length === 2) {\n return {\n name: splitInfo[0],\n version: splitInfo[1],\n };\n }\n else {\n return {\n name: splitInfo[1],\n version: splitInfo[2],\n };\n }\n}\n// Traverse all nodes in moduleInfo and traverse the entire snapshot\nfunction traverseModuleInfo(globalSnapshot, remoteInfo, traverse, isRoot, memo = {}, remoteSnapshot) {\n const id = getFMId(remoteInfo);\n const { value: snapshotValue } = getInfoWithoutType(globalSnapshot, id);\n const effectiveRemoteSnapshot = remoteSnapshot || snapshotValue;\n if (effectiveRemoteSnapshot && !sdk.isManifestProvider(effectiveRemoteSnapshot)) {\n traverse(effectiveRemoteSnapshot, remoteInfo, isRoot);\n if (effectiveRemoteSnapshot.remotesInfo) {\n const remoteKeys = Object.keys(effectiveRemoteSnapshot.remotesInfo);\n for (const key of remoteKeys) {\n if (memo[key]) {\n continue;\n }\n memo[key] = true;\n const subRemoteInfo = splitId(key);\n const remoteValue = effectiveRemoteSnapshot.remotesInfo[key];\n traverseModuleInfo(globalSnapshot, {\n name: subRemoteInfo.name,\n version: remoteValue.matchedVersion,\n }, traverse, false, memo, undefined);\n }\n }\n }\n}\nconst isExisted = (type, url) => {\n return document.querySelector(`${type}[${type === 'link' ? 'href' : 'src'}=\"${url}\"]`);\n};\n// eslint-disable-next-line max-lines-per-function\nfunction generatePreloadAssets(origin, preloadOptions, remote, globalSnapshot, remoteSnapshot) {\n const cssAssets = [];\n const jsAssets = [];\n const entryAssets = [];\n const loadedSharedJsAssets = new Set();\n const loadedSharedCssAssets = new Set();\n const { options } = origin;\n const { preloadConfig: rootPreloadConfig } = preloadOptions;\n const { depsRemote } = rootPreloadConfig;\n const memo = {};\n traverseModuleInfo(globalSnapshot, remote, (moduleInfoSnapshot, remoteInfo, isRoot) => {\n let preloadConfig;\n if (isRoot) {\n preloadConfig = rootPreloadConfig;\n }\n else {\n if (Array.isArray(depsRemote)) {\n // eslint-disable-next-line array-callback-return\n const findPreloadConfig = depsRemote.find((remoteConfig) => {\n if (remoteConfig.nameOrAlias === remoteInfo.name ||\n remoteConfig.nameOrAlias === remoteInfo.alias) {\n return true;\n }\n return false;\n });\n if (!findPreloadConfig) {\n return;\n }\n preloadConfig = defaultPreloadArgs(findPreloadConfig);\n }\n else if (depsRemote === true) {\n preloadConfig = rootPreloadConfig;\n }\n else {\n return;\n }\n }\n const remoteEntryUrl = sdk.getResourceUrl(moduleInfoSnapshot, getRemoteEntryInfoFromSnapshot(moduleInfoSnapshot).url);\n if (remoteEntryUrl) {\n entryAssets.push({\n name: remoteInfo.name,\n moduleInfo: {\n name: remoteInfo.name,\n entry: remoteEntryUrl,\n type: 'remoteEntryType' in moduleInfoSnapshot\n ? moduleInfoSnapshot.remoteEntryType\n : 'global',\n entryGlobalName: 'globalName' in moduleInfoSnapshot\n ? moduleInfoSnapshot.globalName\n : remoteInfo.name,\n shareScope: '',\n version: 'version' in moduleInfoSnapshot\n ? moduleInfoSnapshot.version\n : undefined,\n },\n url: remoteEntryUrl,\n });\n }\n let moduleAssetsInfo = 'modules' in moduleInfoSnapshot ? moduleInfoSnapshot.modules : [];\n const normalizedPreloadExposes = normalizePreloadExposes(preloadConfig.exposes);\n if (normalizedPreloadExposes.length && 'modules' in moduleInfoSnapshot) {\n moduleAssetsInfo = moduleInfoSnapshot?.modules?.reduce((assets, moduleAssetInfo) => {\n if (normalizedPreloadExposes?.indexOf(moduleAssetInfo.moduleName) !==\n -1) {\n assets.push(moduleAssetInfo);\n }\n return assets;\n }, []);\n }\n function handleAssets(assets) {\n const assetsRes = assets.map((asset) => sdk.getResourceUrl(moduleInfoSnapshot, asset));\n if (preloadConfig.filter) {\n return assetsRes.filter(preloadConfig.filter);\n }\n return assetsRes;\n }\n if (moduleAssetsInfo) {\n const assetsLength = moduleAssetsInfo.length;\n for (let index = 0; index < assetsLength; index++) {\n const assetsInfo = moduleAssetsInfo[index];\n const exposeFullPath = `${remoteInfo.name}/${assetsInfo.moduleName}`;\n origin.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({\n id: assetsInfo.moduleName === '.' ? remoteInfo.name : exposeFullPath,\n name: remoteInfo.name,\n remoteSnapshot: moduleInfoSnapshot,\n preloadConfig,\n remote: remoteInfo,\n origin,\n });\n const preloaded = getPreloaded(exposeFullPath);\n if (preloaded) {\n continue;\n }\n if (preloadConfig.resourceCategory === 'all') {\n cssAssets.push(...handleAssets(assetsInfo.assets.css.async));\n cssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.async));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n // eslint-disable-next-line no-constant-condition\n }\n else if ((preloadConfig.resourceCategory = 'sync')) {\n cssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n jsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n }\n setPreloaded(exposeFullPath);\n }\n }\n }, true, memo, remoteSnapshot);\n if (remoteSnapshot.shared && remoteSnapshot.shared.length > 0) {\n const collectSharedAssets = (shareInfo, snapshotShared) => {\n const registeredShared = getRegisteredShare(origin.shareScopeMap, snapshotShared.sharedName, shareInfo, origin.sharedHandler.hooks.lifecycle.resolveShare);\n // If the global share does not exist, or the lib function does not exist, it means that the shared has not been loaded yet and can be preloaded.\n if (registeredShared && typeof registeredShared.lib === 'function') {\n snapshotShared.assets.js.sync.forEach((asset) => {\n loadedSharedJsAssets.add(asset);\n });\n snapshotShared.assets.css.sync.forEach((asset) => {\n loadedSharedCssAssets.add(asset);\n });\n }\n };\n remoteSnapshot.shared.forEach((shared) => {\n const shareInfos = options.shared?.[shared.sharedName];\n if (!shareInfos) {\n return;\n }\n // if no version, preload all shared\n const sharedOptions = shared.version\n ? shareInfos.find((s) => s.version === shared.version)\n : shareInfos;\n if (!sharedOptions) {\n return;\n }\n const arrayShareInfo = arrayOptions(sharedOptions);\n arrayShareInfo.forEach((s) => {\n collectSharedAssets(s, shared);\n });\n });\n }\n const needPreloadJsAssets = jsAssets.filter((asset) => !loadedSharedJsAssets.has(asset) && !isExisted('script', asset));\n const needPreloadCssAssets = cssAssets.filter((asset) => !loadedSharedCssAssets.has(asset) && !isExisted('link', asset));\n return {\n cssAssets: needPreloadCssAssets,\n jsAssetsWithoutEntry: needPreloadJsAssets,\n entryAssets: entryAssets.filter((entry) => !isExisted('script', entry.url)),\n };\n}\nconst generatePreloadAssetsPlugin = function () {\n return {\n name: 'generate-preload-assets-plugin',\n async generatePreloadAssets(args) {\n const { origin, preloadOptions, remoteInfo, remote, globalSnapshot, remoteSnapshot, } = args;\n if (!sdk.isBrowserEnv()) {\n return {\n cssAssets: [],\n jsAssetsWithoutEntry: [],\n entryAssets: [],\n };\n }\n if (isRemoteInfoWithEntry(remote) && isPureRemoteEntry(remote)) {\n return {\n cssAssets: [],\n jsAssetsWithoutEntry: [],\n entryAssets: [\n {\n name: remote.name,\n url: remote.entry,\n moduleInfo: {\n name: remoteInfo.name,\n entry: remote.entry,\n type: remoteInfo.type || 'global',\n entryGlobalName: '',\n shareScope: '',\n },\n },\n ],\n };\n }\n assignRemoteInfo(remoteInfo, remoteSnapshot);\n const assets = generatePreloadAssets(origin, preloadOptions, remoteInfo, globalSnapshot, remoteSnapshot);\n return assets;\n },\n };\n};\n\nfunction getGlobalRemoteInfo(moduleInfo, origin) {\n const hostGlobalSnapshot = getGlobalSnapshotInfoByModuleInfo({\n name: origin.name,\n version: origin.options.version,\n });\n // get remote detail info from global\n const globalRemoteInfo = hostGlobalSnapshot &&\n 'remotesInfo' in hostGlobalSnapshot &&\n hostGlobalSnapshot.remotesInfo &&\n getInfoWithoutType(hostGlobalSnapshot.remotesInfo, moduleInfo.name).value;\n if (globalRemoteInfo && globalRemoteInfo.matchedVersion) {\n return {\n hostGlobalSnapshot,\n globalSnapshot: getGlobalSnapshot(),\n remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({\n name: moduleInfo.name,\n version: globalRemoteInfo.matchedVersion,\n }),\n };\n }\n return {\n hostGlobalSnapshot: undefined,\n globalSnapshot: getGlobalSnapshot(),\n remoteSnapshot: getGlobalSnapshotInfoByModuleInfo({\n name: moduleInfo.name,\n version: 'version' in moduleInfo ? moduleInfo.version : undefined,\n }),\n };\n}\nclass SnapshotHandler {\n constructor(HostInstance) {\n this.loadingHostSnapshot = null;\n this.manifestCache = new Map();\n this.hooks = new PluginSystem({\n beforeLoadRemoteSnapshot: new AsyncHook('beforeLoadRemoteSnapshot'),\n loadSnapshot: new AsyncWaterfallHook('loadGlobalSnapshot'),\n loadRemoteSnapshot: new AsyncWaterfallHook('loadRemoteSnapshot'),\n afterLoadSnapshot: new AsyncWaterfallHook('afterLoadSnapshot'),\n });\n this.manifestLoading = Global.__FEDERATION__.__MANIFEST_LOADING__;\n this.HostInstance = HostInstance;\n this.loaderHook = HostInstance.loaderHook;\n }\n // eslint-disable-next-line max-lines-per-function\n async loadRemoteSnapshotInfo({ moduleInfo, id, expose, }) {\n const { options } = this.HostInstance;\n await this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({\n options,\n moduleInfo,\n });\n let hostSnapshot = getGlobalSnapshotInfoByModuleInfo({\n name: this.HostInstance.options.name,\n version: this.HostInstance.options.version,\n });\n if (!hostSnapshot) {\n hostSnapshot = {\n version: this.HostInstance.options.version || '',\n remoteEntry: '',\n remotesInfo: {},\n };\n addGlobalSnapshot({\n [this.HostInstance.options.name]: hostSnapshot,\n });\n }\n // In dynamic loadRemote scenarios, incomplete remotesInfo delivery may occur. In such cases, the remotesInfo in the host needs to be completed in the snapshot at runtime.\n // This ensures the snapshot's integrity and helps the chrome plugin correctly identify all producer modules, ensuring that proxyable producer modules will not be missing.\n if (hostSnapshot &&\n 'remotesInfo' in hostSnapshot &&\n !getInfoWithoutType(hostSnapshot.remotesInfo, moduleInfo.name).value) {\n if ('version' in moduleInfo || 'entry' in moduleInfo) {\n hostSnapshot.remotesInfo = {\n ...hostSnapshot?.remotesInfo,\n [moduleInfo.name]: {\n matchedVersion: 'version' in moduleInfo ? moduleInfo.version : moduleInfo.entry,\n },\n };\n }\n }\n const { hostGlobalSnapshot, remoteSnapshot, globalSnapshot } = this.getGlobalRemoteInfo(moduleInfo);\n const { remoteSnapshot: globalRemoteSnapshot, globalSnapshot: globalSnapshotRes, } = await this.hooks.lifecycle.loadSnapshot.emit({\n options,\n moduleInfo,\n hostGlobalSnapshot,\n remoteSnapshot,\n globalSnapshot,\n });\n let mSnapshot;\n let gSnapshot;\n // global snapshot includes manifest or module info includes manifest\n if (globalRemoteSnapshot) {\n if (sdk.isManifestProvider(globalRemoteSnapshot)) {\n const remoteEntry = sdk.isBrowserEnv()\n ? globalRemoteSnapshot.remoteEntry\n : globalRemoteSnapshot.ssrRemoteEntry ||\n globalRemoteSnapshot.remoteEntry ||\n '';\n const moduleSnapshot = await this.getManifestJson(remoteEntry, moduleInfo, {});\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const globalSnapshotRes = setGlobalSnapshotInfoByModuleInfo({\n ...moduleInfo,\n // The global remote may be overridden\n // Therefore, set the snapshot key to the global address of the actual request\n entry: remoteEntry,\n }, moduleSnapshot);\n mSnapshot = moduleSnapshot;\n gSnapshot = globalSnapshotRes;\n }\n else {\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n remoteSnapshot: globalRemoteSnapshot,\n from: 'global',\n });\n mSnapshot = remoteSnapshotRes;\n gSnapshot = globalSnapshotRes;\n }\n }\n else {\n if (isRemoteInfoWithEntry(moduleInfo)) {\n // get from manifest.json and merge remote info from remote server\n const moduleSnapshot = await this.getManifestJson(moduleInfo.entry, moduleInfo, {});\n // eslint-disable-next-line @typescript-eslint/no-shadow\n const globalSnapshotRes = setGlobalSnapshotInfoByModuleInfo(moduleInfo, moduleSnapshot);\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n remoteSnapshot: moduleSnapshot,\n from: 'global',\n });\n mSnapshot = remoteSnapshotRes;\n gSnapshot = globalSnapshotRes;\n }\n else {\n error(errorCodes.getShortErrorMsg(errorCodes.RUNTIME_007, errorCodes.runtimeDescMap, {\n hostName: moduleInfo.name,\n hostVersion: moduleInfo.version,\n globalSnapshot: JSON.stringify(globalSnapshotRes),\n }));\n }\n }\n await this.hooks.lifecycle.afterLoadSnapshot.emit({\n id,\n host: this.HostInstance,\n options,\n moduleInfo,\n remoteSnapshot: mSnapshot,\n });\n return {\n remoteSnapshot: mSnapshot,\n globalSnapshot: gSnapshot,\n };\n }\n getGlobalRemoteInfo(moduleInfo) {\n return getGlobalRemoteInfo(moduleInfo, this.HostInstance);\n }\n async getManifestJson(manifestUrl, moduleInfo, extraOptions) {\n const getManifest = async () => {\n let manifestJson = this.manifestCache.get(manifestUrl);\n if (manifestJson) {\n return manifestJson;\n }\n try {\n let res = await this.loaderHook.lifecycle.fetch.emit(manifestUrl, {});\n if (!res || !(res instanceof Response)) {\n res = await fetch(manifestUrl, {});\n }\n manifestJson = (await res.json());\n }\n catch (err) {\n manifestJson =\n (await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({\n id: manifestUrl,\n error: err,\n from: 'runtime',\n lifecycle: 'afterResolve',\n origin: this.HostInstance,\n }));\n if (!manifestJson) {\n delete this.manifestLoading[manifestUrl];\n error(errorCodes.getShortErrorMsg(errorCodes.RUNTIME_003, errorCodes.runtimeDescMap, {\n manifestUrl,\n moduleName: moduleInfo.name,\n hostName: this.HostInstance.options.name,\n }, `${err}`));\n }\n }\n assert(manifestJson.metaData && manifestJson.exposes && manifestJson.shared, `${manifestUrl} is not a federation manifest`);\n this.manifestCache.set(manifestUrl, manifestJson);\n return manifestJson;\n };\n const asyncLoadProcess = async () => {\n const manifestJson = await getManifest();\n const remoteSnapshot = sdk.generateSnapshotFromManifest(manifestJson, {\n version: manifestUrl,\n });\n const { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n options: this.HostInstance.options,\n moduleInfo,\n manifestJson,\n remoteSnapshot,\n manifestUrl,\n from: 'manifest',\n });\n return remoteSnapshotRes;\n };\n if (!this.manifestLoading[manifestUrl]) {\n this.manifestLoading[manifestUrl] = asyncLoadProcess().then((res) => res);\n }\n return this.manifestLoading[manifestUrl];\n }\n}\n\nclass SharedHandler {\n constructor(host) {\n this.hooks = new PluginSystem({\n afterResolve: new AsyncWaterfallHook('afterResolve'),\n beforeLoadShare: new AsyncWaterfallHook('beforeLoadShare'),\n // not used yet\n loadShare: new AsyncHook(),\n resolveShare: new SyncWaterfallHook('resolveShare'),\n // maybe will change, temporarily for internal use only\n initContainerShareScopeMap: new SyncWaterfallHook('initContainerShareScopeMap'),\n });\n this.host = host;\n this.shareScopeMap = {};\n this.initTokens = {};\n this._setGlobalShareScopeMap(host.options);\n }\n // register shared in shareScopeMap\n registerShared(globalOptions, userOptions) {\n const { shareInfos, shared } = formatShareConfigs(globalOptions, userOptions);\n const sharedKeys = Object.keys(shareInfos);\n sharedKeys.forEach((sharedKey) => {\n const sharedVals = shareInfos[sharedKey];\n sharedVals.forEach((sharedVal) => {\n sharedVal.scope.forEach((sc) => {\n const registeredShared = this.shareScopeMap[sc]?.[sharedKey];\n if (!registeredShared) {\n this.setShared({\n pkgName: sharedKey,\n lib: sharedVal.lib,\n get: sharedVal.get,\n loaded: sharedVal.loaded || Boolean(sharedVal.lib),\n shared: sharedVal,\n from: userOptions.name,\n });\n }\n });\n });\n });\n return {\n shareInfos,\n shared,\n };\n }\n async loadShare(pkgName, extraOptions) {\n const { host } = this;\n // This function performs the following steps:\n // 1. Checks if the currently loaded share already exists, if not, it throws an error\n // 2. Searches globally for a matching share, if found, it uses it directly\n // 3. If not found, it retrieves it from the current share and stores the obtained share globally.\n const shareOptions = getTargetSharedOptions({\n pkgName,\n extraOptions,\n shareInfos: host.options.shared,\n });\n if (shareOptions?.scope) {\n await Promise.all(shareOptions.scope.map(async (shareScope) => {\n await Promise.all(this.initializeSharing(shareScope, {\n strategy: shareOptions.strategy,\n }));\n return;\n }));\n }\n const loadShareRes = await this.hooks.lifecycle.beforeLoadShare.emit({\n pkgName,\n shareInfo: shareOptions,\n shared: host.options.shared,\n origin: host,\n });\n const { shareInfo: shareOptionsRes } = loadShareRes;\n // Assert that shareInfoRes exists, if not, throw an error\n assert(shareOptionsRes, `Cannot find ${pkgName} Share in the ${host.options.name}. Please ensure that the ${pkgName} Share parameters have been injected`);\n // Retrieve from cache\n const registeredShared = getRegisteredShare(this.shareScopeMap, pkgName, shareOptionsRes, this.hooks.lifecycle.resolveShare);\n const addUseIn = (shared) => {\n if (!shared.useIn) {\n shared.useIn = [];\n }\n addUniqueItem(shared.useIn, host.options.name);\n };\n if (registeredShared && registeredShared.lib) {\n addUseIn(registeredShared);\n return registeredShared.lib;\n }\n else if (registeredShared &&\n registeredShared.loading &&\n !registeredShared.loaded) {\n const factory = await registeredShared.loading;\n registeredShared.loaded = true;\n if (!registeredShared.lib) {\n registeredShared.lib = factory;\n }\n addUseIn(registeredShared);\n return factory;\n }\n else if (registeredShared) {\n const asyncLoadProcess = async () => {\n const factory = await registeredShared.get();\n addUseIn(registeredShared);\n registeredShared.loaded = true;\n registeredShared.lib = factory;\n return factory;\n };\n const loading = asyncLoadProcess();\n this.setShared({\n pkgName,\n loaded: false,\n shared: registeredShared,\n from: host.options.name,\n lib: null,\n loading,\n });\n return loading;\n }\n else {\n if (extraOptions?.customShareInfo) {\n return false;\n }\n const asyncLoadProcess = async () => {\n const factory = await shareOptionsRes.get();\n shareOptionsRes.lib = factory;\n shareOptionsRes.loaded = true;\n addUseIn(shareOptionsRes);\n const gShared = getRegisteredShare(this.shareScopeMap, pkgName, shareOptionsRes, this.hooks.lifecycle.resolveShare);\n if (gShared) {\n gShared.lib = factory;\n gShared.loaded = true;\n gShared.from = shareOptionsRes.from;\n }\n return factory;\n };\n const loading = asyncLoadProcess();\n this.setShared({\n pkgName,\n loaded: false,\n shared: shareOptionsRes,\n from: host.options.name,\n lib: null,\n loading,\n });\n return loading;\n }\n }\n /**\n * This function initializes the sharing sequence (executed only once per share scope).\n * It accepts one argument, the name of the share scope.\n * If the share scope does not exist, it creates one.\n */\n // eslint-disable-next-line @typescript-eslint/member-ordering\n initializeSharing(shareScopeName = DEFAULT_SCOPE, extraOptions) {\n const { host } = this;\n const from = extraOptions?.from;\n const strategy = extraOptions?.strategy;\n let initScope = extraOptions?.initScope;\n const promises = [];\n if (from !== 'build') {\n const { initTokens } = this;\n if (!initScope)\n initScope = [];\n let initToken = initTokens[shareScopeName];\n if (!initToken)\n initToken = initTokens[shareScopeName] = { from: this.host.name };\n if (initScope.indexOf(initToken) >= 0)\n return promises;\n initScope.push(initToken);\n }\n const shareScope = this.shareScopeMap;\n const hostName = host.options.name;\n // Creates a new share scope if necessary\n if (!shareScope[shareScopeName]) {\n shareScope[shareScopeName] = {};\n }\n // Executes all initialization snippets from all accessible modules\n const scope = shareScope[shareScopeName];\n const register = (name, shared) => {\n const { version, eager } = shared;\n scope[name] = scope[name] || {};\n const versions = scope[name];\n const activeVersion = versions[version];\n const activeVersionEager = Boolean(activeVersion &&\n (activeVersion.eager || activeVersion.shareConfig?.eager));\n if (!activeVersion ||\n (activeVersion.strategy !== 'loaded-first' &&\n !activeVersion.loaded &&\n (Boolean(!eager) !== !activeVersionEager\n ? eager\n : hostName > activeVersion.from))) {\n versions[version] = shared;\n }\n };\n const initFn = (mod) => mod && mod.init && mod.init(shareScope[shareScopeName], initScope);\n const initRemoteModule = async (key) => {\n const { module } = await host.remoteHandler.getRemoteModuleAndOptions({\n id: key,\n });\n if (module.getEntry) {\n let remoteEntryExports;\n try {\n remoteEntryExports = await module.getEntry();\n }\n catch (error) {\n remoteEntryExports =\n (await host.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({\n id: key,\n error,\n from: 'runtime',\n lifecycle: 'beforeLoadShare',\n origin: host,\n }));\n }\n if (!module.inited) {\n await initFn(remoteEntryExports);\n module.inited = true;\n }\n }\n };\n Object.keys(host.options.shared).forEach((shareName) => {\n const sharedArr = host.options.shared[shareName];\n sharedArr.forEach((shared) => {\n if (shared.scope.includes(shareScopeName)) {\n register(shareName, shared);\n }\n });\n });\n // TODO: strategy==='version-first' need to be removed in the future\n if (host.options.shareStrategy === 'version-first' ||\n strategy === 'version-first') {\n host.options.remotes.forEach((remote) => {\n if (remote.shareScope === shareScopeName) {\n promises.push(initRemoteModule(remote.name));\n }\n });\n }\n return promises;\n }\n // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.\n // 1. If the loaded shared already exists globally, then it will be reused\n // 2. If lib exists in local shared, it will be used directly\n // 3. If the local get returns something other than Promise, then it will be used directly\n loadShareSync(pkgName, extraOptions) {\n const { host } = this;\n const shareOptions = getTargetSharedOptions({\n pkgName,\n extraOptions,\n shareInfos: host.options.shared,\n });\n if (shareOptions?.scope) {\n shareOptions.scope.forEach((shareScope) => {\n this.initializeSharing(shareScope, { strategy: shareOptions.strategy });\n });\n }\n const registeredShared = getRegisteredShare(this.shareScopeMap, pkgName, shareOptions, this.hooks.lifecycle.resolveShare);\n const addUseIn = (shared) => {\n if (!shared.useIn) {\n shared.useIn = [];\n }\n addUniqueItem(shared.useIn, host.options.name);\n };\n if (registeredShared) {\n if (typeof registeredShared.lib === 'function') {\n addUseIn(registeredShared);\n if (!registeredShared.loaded) {\n registeredShared.loaded = true;\n if (registeredShared.from === host.options.name) {\n shareOptions.loaded = true;\n }\n }\n return registeredShared.lib;\n }\n if (typeof registeredShared.get === 'function') {\n const module = registeredShared.get();\n if (!(module instanceof Promise)) {\n addUseIn(registeredShared);\n this.setShared({\n pkgName,\n loaded: true,\n from: host.options.name,\n lib: module,\n shared: registeredShared,\n });\n return module;\n }\n }\n }\n if (shareOptions.lib) {\n if (!shareOptions.loaded) {\n shareOptions.loaded = true;\n }\n return shareOptions.lib;\n }\n if (shareOptions.get) {\n const module = shareOptions.get();\n if (module instanceof Promise) {\n const errorCode = extraOptions?.from === 'build' ? errorCodes.RUNTIME_005 : errorCodes.RUNTIME_006;\n throw new Error(errorCodes.getShortErrorMsg(errorCode, errorCodes.runtimeDescMap, {\n hostName: host.options.name,\n sharedPkgName: pkgName,\n }));\n }\n shareOptions.lib = module;\n this.setShared({\n pkgName,\n loaded: true,\n from: host.options.name,\n lib: shareOptions.lib,\n shared: shareOptions,\n });\n return shareOptions.lib;\n }\n throw new Error(errorCodes.getShortErrorMsg(errorCodes.RUNTIME_006, errorCodes.runtimeDescMap, {\n hostName: host.options.name,\n sharedPkgName: pkgName,\n }));\n }\n initShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n const { host } = this;\n this.shareScopeMap[scopeName] = shareScope;\n this.hooks.lifecycle.initContainerShareScopeMap.emit({\n shareScope,\n options: host.options,\n origin: host,\n scopeName,\n hostShareScopeMap: extraOptions.hostShareScopeMap,\n });\n }\n setShared({ pkgName, shared, from, lib, loading, loaded, get, }) {\n const { version, scope = 'default', ...shareInfo } = shared;\n const scopes = Array.isArray(scope) ? scope : [scope];\n scopes.forEach((sc) => {\n if (!this.shareScopeMap[sc]) {\n this.shareScopeMap[sc] = {};\n }\n if (!this.shareScopeMap[sc][pkgName]) {\n this.shareScopeMap[sc][pkgName] = {};\n }\n if (!this.shareScopeMap[sc][pkgName][version]) {\n this.shareScopeMap[sc][pkgName][version] = {\n version,\n scope: [sc],\n ...shareInfo,\n lib,\n loaded,\n loading,\n };\n if (get) {\n this.shareScopeMap[sc][pkgName][version].get = get;\n }\n return;\n }\n const registeredShared = this.shareScopeMap[sc][pkgName][version];\n if (loading && !registeredShared.loading) {\n registeredShared.loading = loading;\n }\n if (loaded && !registeredShared.loaded) {\n registeredShared.loaded = loaded;\n }\n if (from && registeredShared.from !== from) {\n registeredShared.from = from;\n }\n });\n }\n _setGlobalShareScopeMap(hostOptions) {\n const globalShareScopeMap = getGlobalShareScope();\n const identifier = hostOptions.id || hostOptions.name;\n if (identifier && !globalShareScopeMap[identifier]) {\n globalShareScopeMap[identifier] = this.shareScopeMap;\n }\n }\n}\n\nclass RemoteHandler {\n constructor(host) {\n this.hooks = new PluginSystem({\n beforeRegisterRemote: new SyncWaterfallHook('beforeRegisterRemote'),\n registerRemote: new SyncWaterfallHook('registerRemote'),\n beforeRequest: new AsyncWaterfallHook('beforeRequest'),\n onLoad: new AsyncHook('onLoad'),\n handlePreloadModule: new SyncHook('handlePreloadModule'),\n errorLoadRemote: new AsyncHook('errorLoadRemote'),\n beforePreloadRemote: new AsyncHook('beforePreloadRemote'),\n generatePreloadAssets: new AsyncHook('generatePreloadAssets'),\n // not used yet\n afterPreloadRemote: new AsyncHook(),\n loadEntry: new AsyncHook(),\n });\n this.host = host;\n this.idToRemoteMap = {};\n }\n formatAndRegisterRemote(globalOptions, userOptions) {\n const userRemotes = userOptions.remotes || [];\n return userRemotes.reduce((res, remote) => {\n this.registerRemote(remote, res, { force: false });\n return res;\n }, globalOptions.remotes);\n }\n setIdToRemoteMap(id, remoteMatchInfo) {\n const { remote, expose } = remoteMatchInfo;\n const { name, alias } = remote;\n this.idToRemoteMap[id] = { name: remote.name, expose };\n if (alias && id.startsWith(name)) {\n const idWithAlias = id.replace(name, alias);\n this.idToRemoteMap[idWithAlias] = { name: remote.name, expose };\n return;\n }\n if (alias && id.startsWith(alias)) {\n const idWithName = id.replace(alias, name);\n this.idToRemoteMap[idWithName] = { name: remote.name, expose };\n }\n }\n // eslint-disable-next-line max-lines-per-function\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async loadRemote(id, options) {\n const { host } = this;\n try {\n const { loadFactory = true } = options || {\n loadFactory: true,\n };\n // 1. Validate the parameters of the retrieved module. There are two module request methods: pkgName + expose and alias + expose.\n // 2. Request the snapshot information of the current host and globally store the obtained snapshot information. The retrieved module information is partially offline and partially online. The online module information will retrieve the modules used online.\n // 3. Retrieve the detailed information of the current module from global (remoteEntry address, expose resource address)\n // 4. After retrieving remoteEntry, call the init of the module, and then retrieve the exported content of the module through get\n // id: pkgName(@federation/app1) + expose(button) = @federation/app1/button\n // id: alias(app1) + expose(button) = app1/button\n // id: alias(app1/utils) + expose(loadash/sort) = app1/utils/loadash/sort\n const { module, moduleOptions, remoteMatchInfo } = await this.getRemoteModuleAndOptions({\n id,\n });\n const { pkgNameOrAlias, remote, expose, id: idRes, remoteSnapshot, } = remoteMatchInfo;\n const moduleOrFactory = (await module.get(idRes, expose, options, remoteSnapshot));\n const moduleWrapper = await this.hooks.lifecycle.onLoad.emit({\n id: idRes,\n pkgNameOrAlias,\n expose,\n exposeModule: loadFactory ? moduleOrFactory : undefined,\n exposeModuleFactory: loadFactory ? undefined : moduleOrFactory,\n remote,\n options: moduleOptions,\n moduleInstance: module,\n origin: host,\n });\n this.setIdToRemoteMap(id, remoteMatchInfo);\n if (typeof moduleWrapper === 'function') {\n return moduleWrapper;\n }\n return moduleOrFactory;\n }\n catch (error) {\n const { from = 'runtime' } = options || { from: 'runtime' };\n const failOver = await this.hooks.lifecycle.errorLoadRemote.emit({\n id,\n error,\n from,\n lifecycle: 'onLoad',\n origin: host,\n });\n if (!failOver) {\n throw error;\n }\n return failOver;\n }\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async preloadRemote(preloadOptions) {\n const { host } = this;\n await this.hooks.lifecycle.beforePreloadRemote.emit({\n preloadOps: preloadOptions,\n options: host.options,\n origin: host,\n });\n const preloadOps = formatPreloadArgs(host.options.remotes, preloadOptions);\n await Promise.all(preloadOps.map(async (ops) => {\n const { remote } = ops;\n const remoteInfo = getRemoteInfo(remote);\n const { globalSnapshot, remoteSnapshot } = await host.snapshotHandler.loadRemoteSnapshotInfo({\n moduleInfo: remote,\n });\n const assets = await this.hooks.lifecycle.generatePreloadAssets.emit({\n origin: host,\n preloadOptions: ops,\n remote,\n remoteInfo,\n globalSnapshot,\n remoteSnapshot,\n });\n if (!assets) {\n return;\n }\n preloadAssets(remoteInfo, host, assets);\n }));\n }\n registerRemotes(remotes, options) {\n const { host } = this;\n remotes.forEach((remote) => {\n this.registerRemote(remote, host.options.remotes, {\n force: options?.force,\n });\n });\n }\n async getRemoteModuleAndOptions(options) {\n const { host } = this;\n const { id } = options;\n let loadRemoteArgs;\n try {\n loadRemoteArgs = await this.hooks.lifecycle.beforeRequest.emit({\n id,\n options: host.options,\n origin: host,\n });\n }\n catch (error) {\n loadRemoteArgs = (await this.hooks.lifecycle.errorLoadRemote.emit({\n id,\n options: host.options,\n origin: host,\n from: 'runtime',\n error,\n lifecycle: 'beforeRequest',\n }));\n if (!loadRemoteArgs) {\n throw error;\n }\n }\n const { id: idRes } = loadRemoteArgs;\n const remoteSplitInfo = matchRemoteWithNameAndExpose(host.options.remotes, idRes);\n assert(remoteSplitInfo, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_004, errorCodes.runtimeDescMap, {\n hostName: host.options.name,\n requestId: idRes,\n }));\n const { remote: rawRemote } = remoteSplitInfo;\n const remoteInfo = getRemoteInfo(rawRemote);\n const matchInfo = await host.sharedHandler.hooks.lifecycle.afterResolve.emit({\n id: idRes,\n ...remoteSplitInfo,\n options: host.options,\n origin: host,\n remoteInfo,\n });\n const { remote, expose } = matchInfo;\n assert(remote && expose, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${idRes}.`);\n let module = host.moduleCache.get(remote.name);\n const moduleOptions = {\n host: host,\n remoteInfo,\n };\n if (!module) {\n module = new Module(moduleOptions);\n host.moduleCache.set(remote.name, module);\n }\n return {\n module,\n moduleOptions,\n remoteMatchInfo: matchInfo,\n };\n }\n registerRemote(remote, targetRemotes, options) {\n const { host } = this;\n const normalizeRemote = () => {\n if (remote.alias) {\n // Validate if alias equals the prefix of remote.name and remote.alias, if so, throw an error\n // As multi-level path references cannot guarantee unique names, alias being a prefix of remote.name is not supported\n const findEqual = targetRemotes.find((item) => remote.alias &&\n (item.name.startsWith(remote.alias) ||\n item.alias?.startsWith(remote.alias)));\n assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);\n }\n // Set the remote entry to a complete path\n if ('entry' in remote) {\n if (sdk.isBrowserEnv() && !remote.entry.startsWith('http')) {\n remote.entry = new URL(remote.entry, window.location.origin).href;\n }\n }\n if (!remote.shareScope) {\n remote.shareScope = DEFAULT_SCOPE;\n }\n if (!remote.type) {\n remote.type = DEFAULT_REMOTE_TYPE;\n }\n };\n this.hooks.lifecycle.beforeRegisterRemote.emit({ remote, origin: host });\n const registeredRemote = targetRemotes.find((item) => item.name === remote.name);\n if (!registeredRemote) {\n normalizeRemote();\n targetRemotes.push(remote);\n this.hooks.lifecycle.registerRemote.emit({ remote, origin: host });\n }\n else {\n const messages = [\n `The remote \"${remote.name}\" is already registered.`,\n 'Please note that overriding it may cause unexpected errors.',\n ];\n if (options?.force) {\n // remove registered remote\n this.removeRemote(registeredRemote);\n normalizeRemote();\n targetRemotes.push(remote);\n this.hooks.lifecycle.registerRemote.emit({ remote, origin: host });\n sdk.warn(messages.join(' '));\n }\n }\n }\n removeRemote(remote) {\n try {\n const { host } = this;\n const { name } = remote;\n const remoteIndex = host.options.remotes.findIndex((item) => item.name === name);\n if (remoteIndex !== -1) {\n host.options.remotes.splice(remoteIndex, 1);\n }\n const loadedModule = host.moduleCache.get(remote.name);\n if (loadedModule) {\n const remoteInfo = loadedModule.remoteInfo;\n const key = remoteInfo.entryGlobalName;\n if (CurrentGlobal[key]) {\n if (Object.getOwnPropertyDescriptor(CurrentGlobal, key)?.configurable) {\n delete CurrentGlobal[key];\n }\n else {\n // @ts-ignore\n CurrentGlobal[key] = undefined;\n }\n }\n const remoteEntryUniqueKey = getRemoteEntryUniqueKey(loadedModule.remoteInfo);\n if (globalLoading[remoteEntryUniqueKey]) {\n delete globalLoading[remoteEntryUniqueKey];\n }\n host.snapshotHandler.manifestCache.delete(remoteInfo.entry);\n // delete unloaded shared and instance\n let remoteInsId = remoteInfo.buildVersion\n ? sdk.composeKeyWithSeparator(remoteInfo.name, remoteInfo.buildVersion)\n : remoteInfo.name;\n const remoteInsIndex = CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex((ins) => {\n if (remoteInfo.buildVersion) {\n return ins.options.id === remoteInsId;\n }\n else {\n return ins.name === remoteInsId;\n }\n });\n if (remoteInsIndex !== -1) {\n const remoteIns = CurrentGlobal.__FEDERATION__.__INSTANCES__[remoteInsIndex];\n remoteInsId = remoteIns.options.id || remoteInsId;\n const globalShareScopeMap = getGlobalShareScope();\n let isAllSharedNotUsed = true;\n const needDeleteKeys = [];\n Object.keys(globalShareScopeMap).forEach((instId) => {\n const shareScopeMap = globalShareScopeMap[instId];\n shareScopeMap &&\n Object.keys(shareScopeMap).forEach((shareScope) => {\n const shareScopeVal = shareScopeMap[shareScope];\n shareScopeVal &&\n Object.keys(shareScopeVal).forEach((shareName) => {\n const sharedPkgs = shareScopeVal[shareName];\n sharedPkgs &&\n Object.keys(sharedPkgs).forEach((shareVersion) => {\n const shared = sharedPkgs[shareVersion];\n if (shared &&\n typeof shared === 'object' &&\n shared.from === remoteInfo.name) {\n if (shared.loaded || shared.loading) {\n shared.useIn = shared.useIn.filter((usedHostName) => usedHostName !== remoteInfo.name);\n if (shared.useIn.length) {\n isAllSharedNotUsed = false;\n }\n else {\n needDeleteKeys.push([\n instId,\n shareScope,\n shareName,\n shareVersion,\n ]);\n }\n }\n else {\n needDeleteKeys.push([\n instId,\n shareScope,\n shareName,\n shareVersion,\n ]);\n }\n }\n });\n });\n });\n });\n if (isAllSharedNotUsed) {\n remoteIns.shareScopeMap = {};\n delete globalShareScopeMap[remoteInsId];\n }\n needDeleteKeys.forEach(([insId, shareScope, shareName, shareVersion]) => {\n delete globalShareScopeMap[insId]?.[shareScope]?.[shareName]?.[shareVersion];\n });\n CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(remoteInsIndex, 1);\n }\n const { hostGlobalSnapshot } = getGlobalRemoteInfo(remote, host);\n if (hostGlobalSnapshot) {\n const remoteKey = hostGlobalSnapshot &&\n 'remotesInfo' in hostGlobalSnapshot &&\n hostGlobalSnapshot.remotesInfo &&\n getInfoWithoutType(hostGlobalSnapshot.remotesInfo, remote.name).key;\n if (remoteKey) {\n delete hostGlobalSnapshot.remotesInfo[remoteKey];\n if (\n //eslint-disable-next-line no-extra-boolean-cast\n Boolean(Global.__FEDERATION__.__MANIFEST_LOADING__[remoteKey])) {\n delete Global.__FEDERATION__.__MANIFEST_LOADING__[remoteKey];\n }\n }\n }\n host.moduleCache.delete(remote.name);\n }\n }\n catch (err) {\n logger.log('removeRemote fail: ', err);\n }\n }\n}\n\nconst USE_SNAPSHOT = typeof FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN === 'boolean'\n ? !FEDERATION_OPTIMIZE_NO_SNAPSHOT_PLUGIN\n : true; // Default to true (use snapshot) when not explicitly defined\nclass ModuleFederation {\n constructor(userOptions) {\n this.hooks = new PluginSystem({\n beforeInit: new SyncWaterfallHook('beforeInit'),\n init: new SyncHook(),\n // maybe will change, temporarily for internal use only\n beforeInitContainer: new AsyncWaterfallHook('beforeInitContainer'),\n // maybe will change, temporarily for internal use only\n initContainer: new AsyncWaterfallHook('initContainer'),\n });\n this.version = \"0.22.0\";\n this.moduleCache = new Map();\n this.loaderHook = new PluginSystem({\n // FIXME: may not be suitable , not open to the public yet\n getModuleInfo: new SyncHook(),\n createScript: new SyncHook(),\n createLink: new SyncHook(),\n fetch: new AsyncHook(),\n loadEntryError: new AsyncHook(),\n getModuleFactory: new AsyncHook(),\n });\n this.bridgeHook = new PluginSystem({\n beforeBridgeRender: new SyncHook(),\n afterBridgeRender: new SyncHook(),\n beforeBridgeDestroy: new SyncHook(),\n afterBridgeDestroy: new SyncHook(),\n });\n const plugins = USE_SNAPSHOT\n ? [snapshotPlugin(), generatePreloadAssetsPlugin()]\n : [];\n // TODO: Validate the details of the options\n // Initialize options with default values\n const defaultOptions = {\n id: getBuilderId(),\n name: userOptions.name,\n plugins,\n remotes: [],\n shared: {},\n inBrowser: sdk.isBrowserEnv(),\n };\n this.name = userOptions.name;\n this.options = defaultOptions;\n this.snapshotHandler = new SnapshotHandler(this);\n this.sharedHandler = new SharedHandler(this);\n this.remoteHandler = new RemoteHandler(this);\n this.shareScopeMap = this.sharedHandler.shareScopeMap;\n this.registerPlugins([\n ...defaultOptions.plugins,\n ...(userOptions.plugins || []),\n ]);\n this.options = this.formatOptions(defaultOptions, userOptions);\n }\n initOptions(userOptions) {\n this.registerPlugins(userOptions.plugins);\n const options = this.formatOptions(this.options, userOptions);\n this.options = options;\n return options;\n }\n async loadShare(pkgName, extraOptions) {\n return this.sharedHandler.loadShare(pkgName, extraOptions);\n }\n // The lib function will only be available if the shared set by eager or runtime init is set or the shared is successfully loaded.\n // 1. If the loaded shared already exists globally, then it will be reused\n // 2. If lib exists in local shared, it will be used directly\n // 3. If the local get returns something other than Promise, then it will be used directly\n loadShareSync(pkgName, extraOptions) {\n return this.sharedHandler.loadShareSync(pkgName, extraOptions);\n }\n initializeSharing(shareScopeName = DEFAULT_SCOPE, extraOptions) {\n return this.sharedHandler.initializeSharing(shareScopeName, extraOptions);\n }\n initRawContainer(name, url, container) {\n const remoteInfo = getRemoteInfo({ name, entry: url });\n const module = new Module({ host: this, remoteInfo });\n module.remoteEntryExports = container;\n this.moduleCache.set(name, module);\n return module;\n }\n // eslint-disable-next-line max-lines-per-function\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async loadRemote(id, options) {\n return this.remoteHandler.loadRemote(id, options);\n }\n // eslint-disable-next-line @typescript-eslint/member-ordering\n async preloadRemote(preloadOptions) {\n return this.remoteHandler.preloadRemote(preloadOptions);\n }\n initShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n this.sharedHandler.initShareScopeMap(scopeName, shareScope, extraOptions);\n }\n formatOptions(globalOptions, userOptions) {\n const { shared } = formatShareConfigs(globalOptions, userOptions);\n const { userOptions: userOptionsRes, options: globalOptionsRes } = this.hooks.lifecycle.beforeInit.emit({\n origin: this,\n userOptions,\n options: globalOptions,\n shareInfo: shared,\n });\n const remotes = this.remoteHandler.formatAndRegisterRemote(globalOptionsRes, userOptionsRes);\n const { shared: handledShared } = this.sharedHandler.registerShared(globalOptionsRes, userOptionsRes);\n const plugins = [...globalOptionsRes.plugins];\n if (userOptionsRes.plugins) {\n userOptionsRes.plugins.forEach((plugin) => {\n if (!plugins.includes(plugin)) {\n plugins.push(plugin);\n }\n });\n }\n const optionsRes = {\n ...globalOptions,\n ...userOptions,\n plugins,\n remotes,\n shared: handledShared,\n };\n this.hooks.lifecycle.init.emit({\n origin: this,\n options: optionsRes,\n });\n return optionsRes;\n }\n registerPlugins(plugins) {\n const pluginRes = registerPlugins(plugins, this);\n // Merge plugin\n this.options.plugins = this.options.plugins.reduce((res, plugin) => {\n if (!plugin)\n return res;\n if (res && !res.find((item) => item.name === plugin.name)) {\n res.push(plugin);\n }\n return res;\n }, pluginRes || []);\n }\n registerRemotes(remotes, options) {\n return this.remoteHandler.registerRemotes(remotes, options);\n }\n registerShared(shared) {\n this.sharedHandler.registerShared(this.options, {\n ...this.options,\n shared,\n });\n }\n}\n\nvar index = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nexports.loadScript = sdk.loadScript;\nexports.loadScriptNode = sdk.loadScriptNode;\nexports.CurrentGlobal = CurrentGlobal;\nexports.Global = Global;\nexports.Module = Module;\nexports.ModuleFederation = ModuleFederation;\nexports.addGlobalSnapshot = addGlobalSnapshot;\nexports.assert = assert;\nexports.getGlobalFederationConstructor = getGlobalFederationConstructor;\nexports.getGlobalSnapshot = getGlobalSnapshot;\nexports.getInfoWithoutType = getInfoWithoutType;\nexports.getRegisteredShare = getRegisteredShare;\nexports.getRemoteEntry = getRemoteEntry;\nexports.getRemoteInfo = getRemoteInfo;\nexports.helpers = helpers;\nexports.isStaticResourcesEqual = isStaticResourcesEqual;\nexports.matchRemoteWithNameAndExpose = matchRemoteWithNameAndExpose;\nexports.registerGlobalPlugins = registerGlobalPlugins;\nexports.resetFederationGlobalInfo = resetFederationGlobalInfo;\nexports.safeWrapper = safeWrapper;\nexports.satisfy = satisfy;\nexports.setGlobalFederationConstructor = setGlobalFederationConstructor;\nexports.setGlobalFederationInstance = setGlobalFederationInstance;\nexports.types = index;\n//# sourceMappingURL=index.cjs.cjs.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2luZGV4LmNqcy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvaW5kZXguY2pzLmNqcz82Yjk4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxudmFyIHNkayA9IHJlcXVpcmUoJ0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsnKTtcbnZhciBlcnJvckNvZGVzID0gcmVxdWlyZSgnQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzJyk7XG5cbmNvbnN0IExPR19DQVRFR09SWSA9ICdbIEZlZGVyYXRpb24gUnVudGltZSBdJztcbi8vIEZJWE1FOiBwcmUtYnVuZGxlID9cbmNvbnN0IGxvZ2dlciA9IHNkay5jcmVhdGVMb2dnZXIoTE9HX0NBVEVHT1JZKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG5mdW5jdGlvbiBhc3NlcnQoY29uZGl0aW9uLCBtc2cpIHtcbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgICBlcnJvcihtc2cpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGVycm9yKG1zZykge1xuICAgIGlmIChtc2cgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAvLyBDaGVjayBpZiB0aGUgbWVzc2FnZSBhbHJlYWR5IHN0YXJ0cyB3aXRoIHRoZSBsb2cgY2F0ZWdvcnkgdG8gYXZvaWQgZHVwbGljYXRpb25cbiAgICAgICAgaWYgKCFtc2cubWVzc2FnZS5zdGFydHNXaXRoKExPR19DQVRFR09SWSkpIHtcbiAgICAgICAgICAgIG1zZy5tZXNzYWdlID0gYCR7TE9HX0NBVEVHT1JZfTogJHttc2cubWVzc2FnZX1gO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG1zZztcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0xPR19DQVRFR09SWX06ICR7bXNnfWApO1xufVxuZnVuY3Rpb24gd2Fybihtc2cpIHtcbiAgICBpZiAobXNnIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG1lc3NhZ2UgYWxyZWFkeSBzdGFydHMgd2l0aCB0aGUgbG9nIGNhdGVnb3J5IHRvIGF2b2lkIGR1cGxpY2F0aW9uXG4gICAgICAgIGlmICghbXNnLm1lc3NhZ2Uuc3RhcnRzV2l0aChMT0dfQ0FURUdPUlkpKSB7XG4gICAgICAgICAgICBtc2cubWVzc2FnZSA9IGAke0xPR19DQVRFR09SWX06ICR7bXNnLm1lc3NhZ2V9YDtcbiAgICAgICAgfVxuICAgICAgICBsb2dnZXIud2Fybihtc2cpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLndhcm4obXNnKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGFkZFVuaXF1ZUl0ZW0oYXJyLCBpdGVtKSB7XG4gICAgaWYgKGFyci5maW5kSW5kZXgoKG5hbWUpID0+IG5hbWUgPT09IGl0ZW0pID09PSAtMSkge1xuICAgICAgICBhcnIucHVzaChpdGVtKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbn1cbmZ1bmN0aW9uIGdldEZNSWQocmVtb3RlSW5mbykge1xuICAgIGlmICgndmVyc2lvbicgaW4gcmVtb3RlSW5mbyAmJiByZW1vdGVJbmZvLnZlcnNpb24pIHtcbiAgICAgICAgcmV0dXJuIGAke3JlbW90ZUluZm8ubmFtZX06JHtyZW1vdGVJbmZvLnZlcnNpb259YDtcbiAgICB9XG4gICAgZWxzZSBpZiAoJ2VudHJ5JyBpbiByZW1vdGVJbmZvICYmIHJlbW90ZUluZm8uZW50cnkpIHtcbiAgICAgICAgcmV0dXJuIGAke3JlbW90ZUluZm8ubmFtZX06JHtyZW1vdGVJbmZvLmVudHJ5fWA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZXR1cm4gYCR7cmVtb3RlSW5mby5uYW1lfWA7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNSZW1vdGVJbmZvV2l0aEVudHJ5KHJlbW90ZSkge1xuICAgIHJldHVybiB0eXBlb2YgcmVtb3RlLmVudHJ5ICE9PSAndW5kZWZpbmVkJztcbn1cbmZ1bmN0aW9uIGlzUHVyZVJlbW90ZUVudHJ5KHJlbW90ZSkge1xuICAgIHJldHVybiAhcmVtb3RlLmVudHJ5LmluY2x1ZGVzKCcuanNvbicpO1xufVxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbmFzeW5jIGZ1bmN0aW9uIHNhZmVXcmFwcGVyKGNhbGxiYWNrLCBkaXNhYmxlV2Fybikge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGNhbGxiYWNrKCk7XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgICFkaXNhYmxlV2FybiAmJiB3YXJuKGUpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxufVxuZnVuY3Rpb24gaXNPYmplY3QodmFsKSB7XG4gICAgcmV0dXJuIHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jztcbn1cbmNvbnN0IG9iamVjdFRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbCkge1xuICAgIHJldHVybiBvYmplY3RUb1N0cmluZy5jYWxsKHZhbCkgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xufVxuZnVuY3Rpb24gaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCh1cmwxLCB1cmwyKSB7XG4gICAgY29uc3QgUkVHX0VYUCA9IC9eKGh0dHBzPzopP1xcL1xcLy9pO1xuICAgIC8vIFRyYW5zZm9ybSB1cmwxIGFuZCB1cmwyIGludG8gcmVsYXRpdmUgcGF0aHNcbiAgICBjb25zdCByZWxhdGl2ZVVybDEgPSB1cmwxLnJlcGxhY2UoUkVHX0VYUCwgJycpLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gICAgY29uc3QgcmVsYXRpdmVVcmwyID0gdXJsMi5yZXBsYWNlKFJFR19FWFAsICcnKS5yZXBsYWNlKC9cXC8kLywgJycpO1xuICAgIC8vIENoZWNrIGlmIHRoZSByZWxhdGl2ZSBwYXRocyBhcmUgaWRlbnRpY2FsXG4gICAgcmV0dXJuIHJlbGF0aXZlVXJsMSA9PT0gcmVsYXRpdmVVcmwyO1xufVxuZnVuY3Rpb24gYXJyYXlPcHRpb25zKG9wdGlvbnMpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShvcHRpb25zKSA/IG9wdGlvbnMgOiBbb3B0aW9uc107XG59XG5mdW5jdGlvbiBnZXRSZW1vdGVFbnRyeUluZm9Gcm9tU25hcHNob3Qoc25hcHNob3QpIHtcbiAgICBjb25zdCBkZWZhdWx0UmVtb3RlRW50cnlJbmZvID0ge1xuICAgICAgICB1cmw6ICcnLFxuICAgICAgICB0eXBlOiAnZ2xvYmFsJyxcbiAgICAgICAgZ2xvYmFsTmFtZTogJycsXG4gICAgfTtcbiAgICBpZiAoc2RrLmlzQnJvd3NlckVudigpIHx8IHNkay5pc1JlYWN0TmF0aXZlRW52KCkpIHtcbiAgICAgICAgcmV0dXJuICdyZW1vdGVFbnRyeScgaW4gc25hcHNob3RcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgIHVybDogc25hcHNob3QucmVtb3RlRW50cnksXG4gICAgICAgICAgICAgICAgdHlwZTogc25hcHNob3QucmVtb3RlRW50cnlUeXBlLFxuICAgICAgICAgICAgICAgIGdsb2JhbE5hbWU6IHNuYXBzaG90Lmdsb2JhbE5hbWUsXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICA6IGRlZmF1bHRSZW1vdGVFbnRyeUluZm87XG4gICAgfVxuICAgIGlmICgnc3NyUmVtb3RlRW50cnknIGluIHNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB1cmw6IHNuYXBzaG90LnNzclJlbW90ZUVudHJ5IHx8IGRlZmF1bHRSZW1vdGVFbnRyeUluZm8udXJsLFxuICAgICAgICAgICAgdHlwZTogc25hcHNob3Quc3NyUmVtb3RlRW50cnlUeXBlIHx8IGRlZmF1bHRSZW1vdGVFbnRyeUluZm8udHlwZSxcbiAgICAgICAgICAgIGdsb2JhbE5hbWU6IHNuYXBzaG90Lmdsb2JhbE5hbWUsXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiBkZWZhdWx0UmVtb3RlRW50cnlJbmZvO1xufVxuY29uc3QgcHJvY2Vzc01vZHVsZUFsaWFzID0gKG5hbWUsIHN1YlBhdGgpID0+IHtcbiAgICAvLyBAaG9zdC8gLi9idXR0b24gLT4gQGhvc3QvYnV0dG9uXG4gICAgbGV0IG1vZHVsZU5hbWU7XG4gICAgaWYgKG5hbWUuZW5kc1dpdGgoJy8nKSkge1xuICAgICAgICBtb2R1bGVOYW1lID0gbmFtZS5zbGljZSgwLCAtMSk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBtb2R1bGVOYW1lID0gbmFtZTtcbiAgICB9XG4gICAgaWYgKHN1YlBhdGguc3RhcnRzV2l0aCgnLicpKSB7XG4gICAgICAgIHN1YlBhdGggPSBzdWJQYXRoLnNsaWNlKDEpO1xuICAgIH1cbiAgICBtb2R1bGVOYW1lID0gbW9kdWxlTmFtZSArIHN1YlBhdGg7XG4gICAgcmV0dXJuIG1vZHVsZU5hbWU7XG59O1xuXG5jb25zdCBDdXJyZW50R2xvYmFsID0gdHlwZW9mIGdsb2JhbFRoaXMgPT09ICdvYmplY3QnID8gZ2xvYmFsVGhpcyA6IHdpbmRvdztcbmNvbnN0IG5hdGl2ZUdsb2JhbCA9ICgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gZ2V0IHJlYWwgd2luZG93IChpbmNhc2Ugb2Ygc2FuZGJveClcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmRlZmF1bHRWaWV3O1xuICAgIH1cbiAgICBjYXRjaCB7XG4gICAgICAgIC8vIG5vZGUgZW52XG4gICAgICAgIHJldHVybiBDdXJyZW50R2xvYmFsO1xuICAgIH1cbn0pKCk7XG5jb25zdCBHbG9iYWwgPSBuYXRpdmVHbG9iYWw7XG5mdW5jdGlvbiBkZWZpbmVQcm9wZXJ0eUdsb2JhbFZhbCh0YXJnZXQsIGtleSwgdmFsKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgICAgIHZhbHVlOiB2YWwsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIH0pO1xufVxuZnVuY3Rpb24gaW5jbHVkZU93blByb3BlcnR5KHRhcmdldCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRhcmdldCwga2V5KTtcbn1cbi8vIFRoaXMgc2VjdGlvbiBpcyB0byBwcmV2ZW50IGVuY2Fwc3VsYXRpb24gYnkgY2VydGFpbiBtaWNyb2Zyb250ZW5kIGZyYW1ld29ya3MuIER1ZSB0byByZXVzZSBwb2xpY2llcywgc2FuZGJveCBlc2NhcGVzLlxuLy8gVGhlIHNhbmRib3ggaW4gdGhlIG1pY3JvZnJvbnRlbmQgZG9lcyBub3QgcmVwbGljYXRlIHRoZSB2YWx1ZSBvZiAnY29uZmlndXJhYmxlJy5cbi8vIElmIHRoZXJlIGlzIG5vIGxvYWRpbmcgY29udGVudCBvbiB0aGUgZ2xvYmFsIG9iamVjdCwgdGhpcyBzZWN0aW9uIGRlZmluZXMgdGhlIGxvYWRpbmcgb2JqZWN0LlxuaWYgKCFpbmNsdWRlT3duUHJvcGVydHkoQ3VycmVudEdsb2JhbCwgJ19fR0xPQkFMX0xPQURJTkdfUkVNT1RFX0VOVFJZX18nKSkge1xuICAgIGRlZmluZVByb3BlcnR5R2xvYmFsVmFsKEN1cnJlbnRHbG9iYWwsICdfX0dMT0JBTF9MT0FESU5HX1JFTU9URV9FTlRSWV9fJywge30pO1xufVxuY29uc3QgZ2xvYmFsTG9hZGluZyA9IEN1cnJlbnRHbG9iYWwuX19HTE9CQUxfTE9BRElOR19SRU1PVEVfRU5UUllfXztcbmZ1bmN0aW9uIHNldEdsb2JhbERlZmF1bHRWYWwodGFyZ2V0KSB7XG4gICAgaWYgKGluY2x1ZGVPd25Qcm9wZXJ0eSh0YXJnZXQsICdfX1ZNT0tfXycpICYmXG4gICAgICAgICFpbmNsdWRlT3duUHJvcGVydHkodGFyZ2V0LCAnX19GRURFUkFUSU9OX18nKSkge1xuICAgICAgICBkZWZpbmVQcm9wZXJ0eUdsb2JhbFZhbCh0YXJnZXQsICdfX0ZFREVSQVRJT05fXycsIHRhcmdldC5fX1ZNT0tfXyk7XG4gICAgfVxuICAgIGlmICghaW5jbHVkZU93blByb3BlcnR5KHRhcmdldCwgJ19fRkVERVJBVElPTl9fJykpIHtcbiAgICAgICAgZGVmaW5lUHJvcGVydHlHbG9iYWxWYWwodGFyZ2V0LCAnX19GRURFUkFUSU9OX18nLCB7XG4gICAgICAgICAgICBfX0dMT0JBTF9QTFVHSU5fXzogW10sXG4gICAgICAgICAgICBfX0lOU1RBTkNFU19fOiBbXSxcbiAgICAgICAgICAgIG1vZHVsZUluZm86IHt9LFxuICAgICAgICAgICAgX19TSEFSRV9fOiB7fSxcbiAgICAgICAgICAgIF9fTUFOSUZFU1RfTE9BRElOR19fOiB7fSxcbiAgICAgICAgICAgIF9fUFJFTE9BREVEX01BUF9fOiBuZXcgTWFwKCksXG4gICAgICAgIH0pO1xuICAgICAgICBkZWZpbmVQcm9wZXJ0eUdsb2JhbFZhbCh0YXJnZXQsICdfX1ZNT0tfXycsIHRhcmdldC5fX0ZFREVSQVRJT05fXyk7XG4gICAgfVxuICAgIHRhcmdldC5fX0ZFREVSQVRJT05fXy5fX0dMT0JBTF9QTFVHSU5fXyA/Pz0gW107XG4gICAgdGFyZ2V0Ll9fRkVERVJBVElPTl9fLl9fSU5TVEFOQ0VTX18gPz89IFtdO1xuICAgIHRhcmdldC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvID8/PSB7fTtcbiAgICB0YXJnZXQuX19GRURFUkFUSU9OX18uX19TSEFSRV9fID8/PSB7fTtcbiAgICB0YXJnZXQuX19GRURFUkFUSU9OX18uX19NQU5JRkVTVF9MT0FESU5HX18gPz89IHt9O1xuICAgIHRhcmdldC5fX0ZFREVSQVRJT05fXy5fX1BSRUxPQURFRF9NQVBfXyA/Pz0gbmV3IE1hcCgpO1xufVxuc2V0R2xvYmFsRGVmYXVsdFZhbChDdXJyZW50R2xvYmFsKTtcbnNldEdsb2JhbERlZmF1bHRWYWwobmF0aXZlR2xvYmFsKTtcbmZ1bmN0aW9uIHJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm8oKSB7XG4gICAgQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0dMT0JBTF9QTFVHSU5fXyA9IFtdO1xuICAgIEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19JTlNUQU5DRVNfXyA9IFtdO1xuICAgIEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mbyA9IHt9O1xuICAgIEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19TSEFSRV9fID0ge307XG4gICAgQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX01BTklGRVNUX0xPQURJTkdfXyA9IHt9O1xuICAgIE9iamVjdC5rZXlzKGdsb2JhbExvYWRpbmcpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBkZWxldGUgZ2xvYmFsTG9hZGluZ1trZXldO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gc2V0R2xvYmFsRmVkZXJhdGlvbkluc3RhbmNlKEZlZGVyYXRpb25JbnN0YW5jZSkge1xuICAgIEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19JTlNUQU5DRVNfXy5wdXNoKEZlZGVyYXRpb25JbnN0YW5jZSk7XG59XG5mdW5jdGlvbiBnZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuIEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19ERUJVR19DT05TVFJVQ1RPUl9fO1xufVxuZnVuY3Rpb24gc2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yKEZlZGVyYXRpb25Db25zdHJ1Y3RvciwgaXNEZWJ1ZyA9IHNkay5pc0RlYnVnTW9kZSgpKSB7XG4gICAgaWYgKGlzRGVidWcpIHtcbiAgICAgICAgQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0RFQlVHX0NPTlNUUlVDVE9SX18gPSBGZWRlcmF0aW9uQ29uc3RydWN0b3I7XG4gICAgICAgIEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19ERUJVR19DT05TVFJVQ1RPUl9WRVJTSU9OX18gPSBcIjAuMjIuMFwiO1xuICAgIH1cbn1cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG5mdW5jdGlvbiBnZXRJbmZvV2l0aG91dFR5cGUodGFyZ2V0LCBrZXkpIHtcbiAgICBpZiAodHlwZW9mIGtleSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3Qga2V5UmVzID0gdGFyZ2V0W2tleV07XG4gICAgICAgIGlmIChrZXlSZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHRhcmdldFtrZXldLFxuICAgICAgICAgICAgICAgIGtleToga2V5LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldEtleXMgPSBPYmplY3Qua2V5cyh0YXJnZXQpO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0YXJnZXRLZXkgb2YgdGFyZ2V0S2V5cykge1xuICAgICAgICAgICAgICAgIGNvbnN0IFt0YXJnZXRUeXBlT3JOYW1lLCBfXSA9IHRhcmdldEtleS5zcGxpdCgnOicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IG5LZXkgPSBgJHt0YXJnZXRUeXBlT3JOYW1lfToke2tleX1gO1xuICAgICAgICAgICAgICAgIGNvbnN0IHR5cGVXaXRoS2V5UmVzID0gdGFyZ2V0W25LZXldO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlV2l0aEtleVJlcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHR5cGVXaXRoS2V5UmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiBuS2V5LFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBrZXk6IGtleSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcigna2V5IG11c3QgYmUgc3RyaW5nJyk7XG4gICAgfVxufVxuY29uc3QgZ2V0R2xvYmFsU25hcHNob3QgPSAoKSA9PiBuYXRpdmVHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mbztcbmNvbnN0IGdldFRhcmdldFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyA9IChtb2R1bGVJbmZvLCBzbmFwc2hvdCkgPT4ge1xuICAgIC8vIENoZWNrIGlmIHRoZSByZW1vdGUgaXMgaW5jbHVkZWQgaW4gdGhlIGhvc3RTbmFwc2hvdFxuICAgIGNvbnN0IG1vZHVsZUtleSA9IGdldEZNSWQobW9kdWxlSW5mbyk7XG4gICAgY29uc3QgZ2V0TW9kdWxlSW5mbyA9IGdldEluZm9XaXRob3V0VHlwZShzbmFwc2hvdCwgbW9kdWxlS2V5KS52YWx1ZTtcbiAgICAvLyBUaGUgcmVtb3RlU25hcHNob3QgbWlnaHQgbm90IGluY2x1ZGUgYSB2ZXJzaW9uXG4gICAgaWYgKGdldE1vZHVsZUluZm8gJiZcbiAgICAgICAgIWdldE1vZHVsZUluZm8udmVyc2lvbiAmJlxuICAgICAgICAndmVyc2lvbicgaW4gbW9kdWxlSW5mbyAmJlxuICAgICAgICBtb2R1bGVJbmZvWyd2ZXJzaW9uJ10pIHtcbiAgICAgICAgZ2V0TW9kdWxlSW5mby52ZXJzaW9uID0gbW9kdWxlSW5mb1sndmVyc2lvbiddO1xuICAgIH1cbiAgICBpZiAoZ2V0TW9kdWxlSW5mbykge1xuICAgICAgICByZXR1cm4gZ2V0TW9kdWxlSW5mbztcbiAgICB9XG4gICAgLy8gSWYgdGhlIHJlbW90ZSBpcyBub3QgaW5jbHVkZWQgaW4gdGhlIGhvc3RTbmFwc2hvdCwgZGVwbG95IGEgbWljcm8gYXBwIHNuYXBzaG90XG4gICAgaWYgKCd2ZXJzaW9uJyBpbiBtb2R1bGVJbmZvICYmIG1vZHVsZUluZm9bJ3ZlcnNpb24nXSkge1xuICAgICAgICBjb25zdCB7IHZlcnNpb24sIC4uLnJlc01vZHVsZUluZm8gfSA9IG1vZHVsZUluZm87XG4gICAgICAgIGNvbnN0IG1vZHVsZUtleVdpdGhvdXRWZXJzaW9uID0gZ2V0Rk1JZChyZXNNb2R1bGVJbmZvKTtcbiAgICAgICAgY29uc3QgZ2V0TW9kdWxlSW5mb1dpdGhvdXRWZXJzaW9uID0gZ2V0SW5mb1dpdGhvdXRUeXBlKG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvLCBtb2R1bGVLZXlXaXRob3V0VmVyc2lvbikudmFsdWU7XG4gICAgICAgIGlmIChnZXRNb2R1bGVJbmZvV2l0aG91dFZlcnNpb24/LnZlcnNpb24gPT09IHZlcnNpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBnZXRNb2R1bGVJbmZvV2l0aG91dFZlcnNpb247XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuO1xufTtcbmNvbnN0IGdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyA9IChtb2R1bGVJbmZvKSA9PiBnZXRUYXJnZXRTbmFwc2hvdEluZm9CeU1vZHVsZUluZm8obW9kdWxlSW5mbywgbmF0aXZlR2xvYmFsLl9fRkVERVJBVElPTl9fLm1vZHVsZUluZm8pO1xuY29uc3Qgc2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvID0gKHJlbW90ZUluZm8sIG1vZHVsZURldGFpbEluZm8pID0+IHtcbiAgICBjb25zdCBtb2R1bGVLZXkgPSBnZXRGTUlkKHJlbW90ZUluZm8pO1xuICAgIG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvW21vZHVsZUtleV0gPSBtb2R1bGVEZXRhaWxJbmZvO1xuICAgIHJldHVybiBuYXRpdmVHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mbztcbn07XG5jb25zdCBhZGRHbG9iYWxTbmFwc2hvdCA9IChtb2R1bGVJbmZvcykgPT4ge1xuICAgIG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvID0ge1xuICAgICAgICAuLi5uYXRpdmVHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mbyxcbiAgICAgICAgLi4ubW9kdWxlSW5mb3MsXG4gICAgfTtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMobW9kdWxlSW5mb3MpO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XG4gICAgICAgICAgICBkZWxldGUgbmF0aXZlR2xvYmFsLl9fRkVERVJBVElPTl9fLm1vZHVsZUluZm9ba2V5XTtcbiAgICAgICAgfVxuICAgIH07XG59O1xuY29uc3QgZ2V0UmVtb3RlRW50cnlFeHBvcnRzID0gKG5hbWUsIGdsb2JhbE5hbWUpID0+IHtcbiAgICBjb25zdCByZW1vdGVFbnRyeUtleSA9IGdsb2JhbE5hbWUgfHwgYF9fRkVERVJBVElPTl8ke25hbWV9OmN1c3RvbV9fYDtcbiAgICBjb25zdCBlbnRyeUV4cG9ydHMgPSBDdXJyZW50R2xvYmFsW3JlbW90ZUVudHJ5S2V5XTtcbiAgICByZXR1cm4ge1xuICAgICAgICByZW1vdGVFbnRyeUtleSxcbiAgICAgICAgZW50cnlFeHBvcnRzLFxuICAgIH07XG59O1xuLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHJlZ2lzdGVyIGdsb2JhbCBwbHVnaW5zLlxuLy8gSXQgaXRlcmF0ZXMgb3ZlciB0aGUgcHJvdmlkZWQgcGx1Z2lucyBhbmQgY2hlY2tzIGlmIHRoZXkgYXJlIGFscmVhZHkgcmVnaXN0ZXJlZC5cbi8vIElmIGEgcGx1Z2luIGlzIG5vdCByZWdpc3RlcmVkLCBpdCBpcyBhZGRlZCB0byB0aGUgZ2xvYmFsIHBsdWdpbnMuXG4vLyBJZiBhIHBsdWdpbiBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQsIGEgd2FybmluZyBtZXNzYWdlIGlzIGxvZ2dlZC5cbmNvbnN0IHJlZ2lzdGVyR2xvYmFsUGx1Z2lucyA9IChwbHVnaW5zKSA9PiB7XG4gICAgY29uc3QgeyBfX0dMT0JBTF9QTFVHSU5fXyB9ID0gbmF0aXZlR2xvYmFsLl9fRkVERVJBVElPTl9fO1xuICAgIHBsdWdpbnMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgIGlmIChfX0dMT0JBTF9QTFVHSU5fXy5maW5kSW5kZXgoKHApID0+IHAubmFtZSA9PT0gcGx1Z2luLm5hbWUpID09PSAtMSkge1xuICAgICAgICAgICAgX19HTE9CQUxfUExVR0lOX18ucHVzaChwbHVnaW4pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd2FybihgVGhlIHBsdWdpbiAke3BsdWdpbi5uYW1lfSBoYXMgYmVlbiByZWdpc3RlcmVkLmApO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuY29uc3QgZ2V0R2xvYmFsSG9zdFBsdWdpbnMgPSAoKSA9PiBuYXRpdmVHbG9iYWwuX19GRURFUkFUSU9OX18uX19HTE9CQUxfUExVR0lOX187XG5jb25zdCBnZXRQcmVsb2FkZWQgPSAoaWQpID0+IEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19QUkVMT0FERURfTUFQX18uZ2V0KGlkKTtcbmNvbnN0IHNldFByZWxvYWRlZCA9IChpZCkgPT4gQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX1BSRUxPQURFRF9NQVBfXy5zZXQoaWQsIHRydWUpO1xuXG5jb25zdCBERUZBVUxUX1NDT1BFID0gJ2RlZmF1bHQnO1xuY29uc3QgREVGQVVMVF9SRU1PVEVfVFlQRSA9ICdnbG9iYWwnO1xuXG4vLyBmb3JrIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL29yaWdpbmpzL3ZpdGUtcGx1Z2luLWZlZGVyYXRpb24vYmxvYi92MS4xLjEyL3BhY2thZ2VzL2xpYi9zcmMvdXRpbHMvc2VtdmVyL2luZGV4LnRzXG4vLyB0aG9zZSBjb25zdGFudHMgYXJlIGJhc2VkIG9uIGh0dHBzOi8vd3d3LnJ1Ynlkb2MuaW5mby9nZW1zL3NlbWFudGljX3JhbmdlLzMuMC4wL1NlbWFudGljUmFuZ2UjQlVJTERJREVOVElGSUVSLWNvbnN0YW50XG4vLyBDb3B5cmlnaHQgKGMpXG4vLyB2aXRlLXBsdWdpbi1mZWRlcmF0aW9uIGlzIGxpY2Vuc2VkIHVuZGVyIE11bGFuIFBTTCB2Mi5cbi8vIFlvdSBjYW4gdXNlIHRoaXMgc29mdHdhcmUgYWNjb3JkaW5nIHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgTXVsYW4gUFNMIHYyLlxuLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIE11bGFuIFBTTCB2MiBhdDpcbi8vICAgICAgaHR0cDovL2xpY2Vuc2UuY29zY2wub3JnLmNuL011bGFuUFNMMlxuLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBPTiBBTiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkgT1IgRklUIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbi8vIFNlZSB0aGUgTXVsYW4gUFNMIHYyIGZvciBtb3JlIGRldGFpbHMuXG5jb25zdCBidWlsZElkZW50aWZpZXIgPSAnWzAtOUEtWmEtei1dKyc7XG5jb25zdCBidWlsZCA9IGAoPzpcXFxcKygke2J1aWxkSWRlbnRpZmllcn0oPzpcXFxcLiR7YnVpbGRJZGVudGlmaWVyfSkqKSlgO1xuY29uc3QgbnVtZXJpY0lkZW50aWZpZXIgPSAnMHxbMS05XVxcXFxkKic7XG5jb25zdCBudW1lcmljSWRlbnRpZmllckxvb3NlID0gJ1swLTldKyc7XG5jb25zdCBub25OdW1lcmljSWRlbnRpZmllciA9ICdcXFxcZCpbYS16QS1aLV1bYS16QS1aMC05LV0qJztcbmNvbnN0IHByZVJlbGVhc2VJZGVudGlmaWVyTG9vc2UgPSBgKD86JHtudW1lcmljSWRlbnRpZmllckxvb3NlfXwke25vbk51bWVyaWNJZGVudGlmaWVyfSlgO1xuY29uc3QgcHJlUmVsZWFzZUxvb3NlID0gYCg/Oi0/KCR7cHJlUmVsZWFzZUlkZW50aWZpZXJMb29zZX0oPzpcXFxcLiR7cHJlUmVsZWFzZUlkZW50aWZpZXJMb29zZX0pKikpYDtcbmNvbnN0IHByZVJlbGVhc2VJZGVudGlmaWVyID0gYCg/OiR7bnVtZXJpY0lkZW50aWZpZXJ9fCR7bm9uTnVtZXJpY0lkZW50aWZpZXJ9KWA7XG5jb25zdCBwcmVSZWxlYXNlID0gYCg/Oi0oJHtwcmVSZWxlYXNlSWRlbnRpZmllcn0oPzpcXFxcLiR7cHJlUmVsZWFzZUlkZW50aWZpZXJ9KSopKWA7XG5jb25zdCB4UmFuZ2VJZGVudGlmaWVyID0gYCR7bnVtZXJpY0lkZW50aWZpZXJ9fHh8WHxcXFxcKmA7XG5jb25zdCB4UmFuZ2VQbGFpbiA9IGBbdj1cXFxcc10qKCR7eFJhbmdlSWRlbnRpZmllcn0pKD86XFxcXC4oJHt4UmFuZ2VJZGVudGlmaWVyfSkoPzpcXFxcLigke3hSYW5nZUlkZW50aWZpZXJ9KSg/OiR7cHJlUmVsZWFzZX0pPyR7YnVpbGR9Pyk/KT9gO1xuY29uc3QgaHlwaGVuUmFuZ2UgPSBgXlxcXFxzKigke3hSYW5nZVBsYWlufSlcXFxccystXFxcXHMrKCR7eFJhbmdlUGxhaW59KVxcXFxzKiRgO1xuY29uc3QgbWFpblZlcnNpb25Mb29zZSA9IGAoJHtudW1lcmljSWRlbnRpZmllckxvb3NlfSlcXFxcLigke251bWVyaWNJZGVudGlmaWVyTG9vc2V9KVxcXFwuKCR7bnVtZXJpY0lkZW50aWZpZXJMb29zZX0pYDtcbmNvbnN0IGxvb3NlUGxhaW4gPSBgW3Y9XFxcXHNdKiR7bWFpblZlcnNpb25Mb29zZX0ke3ByZVJlbGVhc2VMb29zZX0/JHtidWlsZH0/YDtcbmNvbnN0IGd0bHQgPSAnKCg/Ojx8Pik/PT8pJztcbmNvbnN0IGNvbXBhcmF0b3JUcmltID0gYChcXFxccyopJHtndGx0fVxcXFxzKigke2xvb3NlUGxhaW59fCR7eFJhbmdlUGxhaW59KWA7XG5jb25zdCBsb25lVGlsZGUgPSAnKD86fj4/KSc7XG5jb25zdCB0aWxkZVRyaW0gPSBgKFxcXFxzKikke2xvbmVUaWxkZX1cXFxccytgO1xuY29uc3QgbG9uZUNhcmV0ID0gJyg/OlxcXFxeKSc7XG5jb25zdCBjYXJldFRyaW0gPSBgKFxcXFxzKikke2xvbmVDYXJldH1cXFxccytgO1xuY29uc3Qgc3RhciA9ICcoPHw+KT89P1xcXFxzKlxcXFwqJztcbmNvbnN0IGNhcmV0ID0gYF4ke2xvbmVDYXJldH0ke3hSYW5nZVBsYWlufSRgO1xuY29uc3QgbWFpblZlcnNpb24gPSBgKCR7bnVtZXJpY0lkZW50aWZpZXJ9KVxcXFwuKCR7bnVtZXJpY0lkZW50aWZpZXJ9KVxcXFwuKCR7bnVtZXJpY0lkZW50aWZpZXJ9KWA7XG5jb25zdCBmdWxsUGxhaW4gPSBgdj8ke21haW5WZXJzaW9ufSR7cHJlUmVsZWFzZX0/JHtidWlsZH0/YDtcbmNvbnN0IHRpbGRlID0gYF4ke2xvbmVUaWxkZX0ke3hSYW5nZVBsYWlufSRgO1xuY29uc3QgeFJhbmdlID0gYF4ke2d0bHR9XFxcXHMqJHt4UmFuZ2VQbGFpbn0kYDtcbmNvbnN0IGNvbXBhcmF0b3IgPSBgXiR7Z3RsdH1cXFxccyooJHtmdWxsUGxhaW59KSR8XiRgO1xuLy8gY29weSBmcm9tIHNlbXZlciBwYWNrYWdlXG5jb25zdCBndGUwID0gJ15cXFxccyo+PVxcXFxzKjAuMC4wXFxcXHMqJCc7XG5cbi8vIGZvcmsgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vb3JpZ2luanMvdml0ZS1wbHVnaW4tZmVkZXJhdGlvbi9ibG9iL3YxLjEuMTIvcGFja2FnZXMvbGliL3NyYy91dGlscy9zZW12ZXIvaW5kZXgudHNcbi8vIENvcHlyaWdodCAoYylcbi8vIHZpdGUtcGx1Z2luLWZlZGVyYXRpb24gaXMgbGljZW5zZWQgdW5kZXIgTXVsYW4gUFNMIHYyLlxuLy8gWW91IGNhbiB1c2UgdGhpcyBzb2Z0d2FyZSBhY2NvcmRpbmcgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIHRoZSBNdWxhbiBQU0wgdjIuXG4vLyBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgTXVsYW4gUFNMIHYyIGF0OlxuLy8gICAgICBodHRwOi8vbGljZW5zZS5jb3NjbC5vcmcuY24vTXVsYW5QU0wyXG4vLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIE9OIEFOIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIE5PTi1JTkZSSU5HRU1FTlQsIE1FUkNIQU5UQUJJTElUWSBPUiBGSVQgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLlxuLy8gU2VlIHRoZSBNdWxhbiBQU0wgdjIgZm9yIG1vcmUgZGV0YWlscy5cbmZ1bmN0aW9uIHBhcnNlUmVnZXgoc291cmNlKSB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoc291cmNlKTtcbn1cbmZ1bmN0aW9uIGlzWFZlcnNpb24odmVyc2lvbikge1xuICAgIHJldHVybiAhdmVyc2lvbiB8fCB2ZXJzaW9uLnRvTG93ZXJDYXNlKCkgPT09ICd4JyB8fCB2ZXJzaW9uID09PSAnKic7XG59XG5mdW5jdGlvbiBwaXBlKC4uLmZucykge1xuICAgIHJldHVybiAoeCkgPT4gZm5zLnJlZHVjZSgodiwgZikgPT4gZih2KSwgeCk7XG59XG5mdW5jdGlvbiBleHRyYWN0Q29tcGFyYXRvcihjb21wYXJhdG9yU3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvbXBhcmF0b3JTdHJpbmcubWF0Y2gocGFyc2VSZWdleChjb21wYXJhdG9yKSk7XG59XG5mdW5jdGlvbiBjb21iaW5lVmVyc2lvbihtYWpvciwgbWlub3IsIHBhdGNoLCBwcmVSZWxlYXNlKSB7XG4gICAgY29uc3QgbWFpblZlcnNpb24gPSBgJHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH1gO1xuICAgIGlmIChwcmVSZWxlYXNlKSB7XG4gICAgICAgIHJldHVybiBgJHttYWluVmVyc2lvbn0tJHtwcmVSZWxlYXNlfWA7XG4gICAgfVxuICAgIHJldHVybiBtYWluVmVyc2lvbjtcbn1cblxuLy8gZm9yayBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcmlnaW5qcy92aXRlLXBsdWdpbi1mZWRlcmF0aW9uL2Jsb2IvdjEuMS4xMi9wYWNrYWdlcy9saWIvc3JjL3V0aWxzL3NlbXZlci9pbmRleC50c1xuLy8gQ29weXJpZ2h0IChjKVxuLy8gdml0ZS1wbHVnaW4tZmVkZXJhdGlvbiBpcyBsaWNlbnNlZCB1bmRlciBNdWxhbiBQU0wgdjIuXG4vLyBZb3UgY2FuIHVzZSB0aGlzIHNvZnR3YXJlIGFjY29yZGluZyB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIE11bGFuIFBTTCB2Mi5cbi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiBNdWxhbiBQU0wgdjIgYXQ6XG4vLyAgICAgIGh0dHA6Ly9saWNlbnNlLmNvc2NsLm9yZy5jbi9NdWxhblBTTDJcbi8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgT04gQU4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVCBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4vLyBTZWUgdGhlIE11bGFuIFBTTCB2MiBmb3IgbW9yZSBkZXRhaWxzLlxuZnVuY3Rpb24gcGFyc2VIeXBoZW4ocmFuZ2UpIHtcbiAgICByZXR1cm4gcmFuZ2UucmVwbGFjZShwYXJzZVJlZ2V4KGh5cGhlblJhbmdlKSwgKF9yYW5nZSwgZnJvbSwgZnJvbU1ham9yLCBmcm9tTWlub3IsIGZyb21QYXRjaCwgX2Zyb21QcmVSZWxlYXNlLCBfZnJvbUJ1aWxkLCB0bywgdG9NYWpvciwgdG9NaW5vciwgdG9QYXRjaCwgdG9QcmVSZWxlYXNlKSA9PiB7XG4gICAgICAgIGlmIChpc1hWZXJzaW9uKGZyb21NYWpvcikpIHtcbiAgICAgICAgICAgIGZyb20gPSAnJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1hWZXJzaW9uKGZyb21NaW5vcikpIHtcbiAgICAgICAgICAgIGZyb20gPSBgPj0ke2Zyb21NYWpvcn0uMC4wYDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1hWZXJzaW9uKGZyb21QYXRjaCkpIHtcbiAgICAgICAgICAgIGZyb20gPSBgPj0ke2Zyb21NYWpvcn0uJHtmcm9tTWlub3J9LjBgO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZnJvbSA9IGA+PSR7ZnJvbX1gO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1hWZXJzaW9uKHRvTWFqb3IpKSB7XG4gICAgICAgICAgICB0byA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzWFZlcnNpb24odG9NaW5vcikpIHtcbiAgICAgICAgICAgIHRvID0gYDwke051bWJlcih0b01ham9yKSArIDF9LjAuMC0wYDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1hWZXJzaW9uKHRvUGF0Y2gpKSB7XG4gICAgICAgICAgICB0byA9IGA8JHt0b01ham9yfS4ke051bWJlcih0b01pbm9yKSArIDF9LjAtMGA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodG9QcmVSZWxlYXNlKSB7XG4gICAgICAgICAgICB0byA9IGA8PSR7dG9NYWpvcn0uJHt0b01pbm9yfS4ke3RvUGF0Y2h9LSR7dG9QcmVSZWxlYXNlfWA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0byA9IGA8PSR7dG99YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7ZnJvbX0gJHt0b31gLnRyaW0oKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHBhcnNlQ29tcGFyYXRvclRyaW0ocmFuZ2UpIHtcbiAgICByZXR1cm4gcmFuZ2UucmVwbGFjZShwYXJzZVJlZ2V4KGNvbXBhcmF0b3JUcmltKSwgJyQxJDIkMycpO1xufVxuZnVuY3Rpb24gcGFyc2VUaWxkZVRyaW0ocmFuZ2UpIHtcbiAgICByZXR1cm4gcmFuZ2UucmVwbGFjZShwYXJzZVJlZ2V4KHRpbGRlVHJpbSksICckMX4nKTtcbn1cbmZ1bmN0aW9uIHBhcnNlQ2FyZXRUcmltKHJhbmdlKSB7XG4gICAgcmV0dXJuIHJhbmdlLnJlcGxhY2UocGFyc2VSZWdleChjYXJldFRyaW0pLCAnJDFeJyk7XG59XG5mdW5jdGlvbiBwYXJzZUNhcmV0cyhyYW5nZSkge1xuICAgIHJldHVybiByYW5nZVxuICAgICAgICAudHJpbSgpXG4gICAgICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgICAgIC5tYXAoKHJhbmdlVmVyc2lvbikgPT4gcmFuZ2VWZXJzaW9uLnJlcGxhY2UocGFyc2VSZWdleChjYXJldCksIChfLCBtYWpvciwgbWlub3IsIHBhdGNoLCBwcmVSZWxlYXNlKSA9PiB7XG4gICAgICAgIGlmIChpc1hWZXJzaW9uKG1ham9yKSkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzWFZlcnNpb24obWlub3IpKSB7XG4gICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uMC4wIDwke051bWJlcihtYWpvcikgKyAxfS4wLjAtMGA7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaXNYVmVyc2lvbihwYXRjaCkpIHtcbiAgICAgICAgICAgIGlmIChtYWpvciA9PT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LjAgPCR7bWFqb3J9LiR7TnVtYmVyKG1pbm9yKSArIDF9LjAtMGA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uMCA8JHtOdW1iZXIobWFqb3IpICsgMX0uMC4wLTBgO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHByZVJlbGVhc2UpIHtcbiAgICAgICAgICAgIGlmIChtYWpvciA9PT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1pbm9yID09PSAnMCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9LSR7cHJlUmVsZWFzZX0gPCR7bWFqb3J9LiR7bWlub3J9LiR7TnVtYmVyKHBhdGNoKSArIDF9LTBgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9LSR7cHJlUmVsZWFzZX0gPCR7bWFqb3J9LiR7TnVtYmVyKG1pbm9yKSArIDF9LjAtMGA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9LSR7cHJlUmVsZWFzZX0gPCR7TnVtYmVyKG1ham9yKSArIDF9LjAuMC0wYDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChtYWpvciA9PT0gJzAnKSB7XG4gICAgICAgICAgICAgICAgaWYgKG1pbm9yID09PSAnMCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9IDwke21ham9yfS4ke21pbm9yfS4ke051bWJlcihwYXRjaCkgKyAxfS0wYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBgPj0ke21ham9yfS4ke21pbm9yfS4ke3BhdGNofSA8JHttYWpvcn0uJHtOdW1iZXIobWlub3IpICsgMX0uMC0wYDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0gPCR7TnVtYmVyKG1ham9yKSArIDF9LjAuMC0wYDtcbiAgICAgICAgfVxuICAgIH0pKVxuICAgICAgICAuam9pbignICcpO1xufVxuZnVuY3Rpb24gcGFyc2VUaWxkZXMocmFuZ2UpIHtcbiAgICByZXR1cm4gcmFuZ2VcbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAuc3BsaXQoL1xccysvKVxuICAgICAgICAubWFwKChyYW5nZVZlcnNpb24pID0+IHJhbmdlVmVyc2lvbi5yZXBsYWNlKHBhcnNlUmVnZXgodGlsZGUpLCAoXywgbWFqb3IsIG1pbm9yLCBwYXRjaCwgcHJlUmVsZWFzZSkgPT4ge1xuICAgICAgICBpZiAoaXNYVmVyc2lvbihtYWpvcikpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc1hWZXJzaW9uKG1pbm9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIGA+PSR7bWFqb3J9LjAuMCA8JHtOdW1iZXIobWFqb3IpICsgMX0uMC4wLTBgO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzWFZlcnNpb24ocGF0Y2gpKSB7XG4gICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uMCA8JHttYWpvcn0uJHtOdW1iZXIobWlub3IpICsgMX0uMC0wYDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChwcmVSZWxlYXNlKSB7XG4gICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0tJHtwcmVSZWxlYXNlfSA8JHttYWpvcn0uJHtOdW1iZXIobWlub3IpICsgMX0uMC0wYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0gPCR7bWFqb3J9LiR7TnVtYmVyKG1pbm9yKSArIDF9LjAtMGA7XG4gICAgfSkpXG4gICAgICAgIC5qb2luKCcgJyk7XG59XG5mdW5jdGlvbiBwYXJzZVhSYW5nZXMocmFuZ2UpIHtcbiAgICByZXR1cm4gcmFuZ2VcbiAgICAgICAgLnNwbGl0KC9cXHMrLylcbiAgICAgICAgLm1hcCgocmFuZ2VWZXJzaW9uKSA9PiByYW5nZVZlcnNpb25cbiAgICAgICAgLnRyaW0oKVxuICAgICAgICAucmVwbGFjZShwYXJzZVJlZ2V4KHhSYW5nZSksIChyZXQsIGd0bHQsIG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZVJlbGVhc2UpID0+IHtcbiAgICAgICAgY29uc3QgaXNYTWFqb3IgPSBpc1hWZXJzaW9uKG1ham9yKTtcbiAgICAgICAgY29uc3QgaXNYTWlub3IgPSBpc1hNYWpvciB8fCBpc1hWZXJzaW9uKG1pbm9yKTtcbiAgICAgICAgY29uc3QgaXNYUGF0Y2ggPSBpc1hNaW5vciB8fCBpc1hWZXJzaW9uKHBhdGNoKTtcbiAgICAgICAgaWYgKGd0bHQgPT09ICc9JyAmJiBpc1hQYXRjaCkge1xuICAgICAgICAgICAgZ3RsdCA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIHByZVJlbGVhc2UgPSAnJztcbiAgICAgICAgaWYgKGlzWE1ham9yKSB7XG4gICAgICAgICAgICBpZiAoZ3RsdCA9PT0gJz4nIHx8IGd0bHQgPT09ICc8Jykge1xuICAgICAgICAgICAgICAgIC8vIG5vdGhpbmcgaXMgYWxsb3dlZFxuICAgICAgICAgICAgICAgIHJldHVybiAnPDAuMC4wLTAnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gbm90aGluZyBpcyBmb3JiaWRkZW5cbiAgICAgICAgICAgICAgICByZXR1cm4gJyonO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGd0bHQgJiYgaXNYUGF0Y2gpIHtcbiAgICAgICAgICAgIC8vIHJlcGxhY2UgWCB3aXRoIDBcbiAgICAgICAgICAgIGlmIChpc1hNaW5vcikge1xuICAgICAgICAgICAgICAgIG1pbm9yID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGNoID0gMDtcbiAgICAgICAgICAgIGlmIChndGx0ID09PSAnPicpIHtcbiAgICAgICAgICAgICAgICAvLyA+MSA9PiA+PTIuMC4wXG4gICAgICAgICAgICAgICAgLy8gPjEuMiA9PiA+PTEuMy4wXG4gICAgICAgICAgICAgICAgZ3RsdCA9ICc+PSc7XG4gICAgICAgICAgICAgICAgaWYgKGlzWE1pbm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIG1ham9yID0gTnVtYmVyKG1ham9yKSArIDE7XG4gICAgICAgICAgICAgICAgICAgIG1pbm9yID0gMDtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2ggPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWlub3IgPSBOdW1iZXIobWlub3IpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgcGF0Y2ggPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGd0bHQgPT09ICc8PScpIHtcbiAgICAgICAgICAgICAgICAvLyA8PTAuNy54IGlzIGFjdHVhbGx5IDwwLjguMCwgc2luY2UgYW55IDAuNy54IHNob3VsZCBwYXNzXG4gICAgICAgICAgICAgICAgLy8gU2ltaWxhcmx5LCA8PTcueCBpcyBhY3R1YWxseSA8OC4wLjAsIGV0Yy5cbiAgICAgICAgICAgICAgICBndGx0ID0gJzwnO1xuICAgICAgICAgICAgICAgIGlmIChpc1hNaW5vcikge1xuICAgICAgICAgICAgICAgICAgICBtYWpvciA9IE51bWJlcihtYWpvcikgKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWlub3IgPSBOdW1iZXIobWlub3IpICsgMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZ3RsdCA9PT0gJzwnKSB7XG4gICAgICAgICAgICAgICAgcHJlUmVsZWFzZSA9ICctMCc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYCR7Z3RsdCArIG1ham9yfS4ke21pbm9yfS4ke3BhdGNofSR7cHJlUmVsZWFzZX1gO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzWE1pbm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uMC4wJHtwcmVSZWxlYXNlfSA8JHtOdW1iZXIobWFqb3IpICsgMX0uMC4wLTBgO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzWFBhdGNoKSB7XG4gICAgICAgICAgICByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uMCR7cHJlUmVsZWFzZX0gPCR7bWFqb3J9LiR7TnVtYmVyKG1pbm9yKSArIDF9LjAtMGA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICB9KSlcbiAgICAgICAgLmpvaW4oJyAnKTtcbn1cbmZ1bmN0aW9uIHBhcnNlU3RhcihyYW5nZSkge1xuICAgIHJldHVybiByYW5nZS50cmltKCkucmVwbGFjZShwYXJzZVJlZ2V4KHN0YXIpLCAnJyk7XG59XG5mdW5jdGlvbiBwYXJzZUdURTAoY29tcGFyYXRvclN0cmluZykge1xuICAgIHJldHVybiBjb21wYXJhdG9yU3RyaW5nLnRyaW0oKS5yZXBsYWNlKHBhcnNlUmVnZXgoZ3RlMCksICcnKTtcbn1cblxuLy8gZm9yayBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9vcmlnaW5qcy92aXRlLXBsdWdpbi1mZWRlcmF0aW9uL2Jsb2IvdjEuMS4xMi9wYWNrYWdlcy9saWIvc3JjL3V0aWxzL3NlbXZlci9pbmRleC50c1xuLy8gQ29weXJpZ2h0IChjKVxuLy8gdml0ZS1wbHVnaW4tZmVkZXJhdGlvbiBpcyBsaWNlbnNlZCB1bmRlciBNdWxhbiBQU0wgdjIuXG4vLyBZb3UgY2FuIHVzZSB0aGlzIHNvZnR3YXJlIGFjY29yZGluZyB0byB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIE11bGFuIFBTTCB2Mi5cbi8vIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiBNdWxhbiBQU0wgdjIgYXQ6XG4vLyAgICAgIGh0dHA6Ly9saWNlbnNlLmNvc2NsLm9yZy5jbi9NdWxhblBTTDJcbi8vIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgT04gQU4gXCJBUyBJU1wiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTk9OLUlORlJJTkdFTUVOVCwgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVCBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4vLyBTZWUgdGhlIE11bGFuIFBTTCB2MiBmb3IgbW9yZSBkZXRhaWxzLlxuZnVuY3Rpb24gY29tcGFyZUF0b20ocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkge1xuICAgIHJhbmdlQXRvbSA9IE51bWJlcihyYW5nZUF0b20pIHx8IHJhbmdlQXRvbTtcbiAgICB2ZXJzaW9uQXRvbSA9IE51bWJlcih2ZXJzaW9uQXRvbSkgfHwgdmVyc2lvbkF0b207XG4gICAgaWYgKHJhbmdlQXRvbSA+IHZlcnNpb25BdG9tKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBpZiAocmFuZ2VBdG9tID09PSB2ZXJzaW9uQXRvbSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIC0xO1xufVxuZnVuY3Rpb24gY29tcGFyZVByZVJlbGVhc2UocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkge1xuICAgIGNvbnN0IHsgcHJlUmVsZWFzZTogcmFuZ2VQcmVSZWxlYXNlIH0gPSByYW5nZUF0b207XG4gICAgY29uc3QgeyBwcmVSZWxlYXNlOiB2ZXJzaW9uUHJlUmVsZWFzZSB9ID0gdmVyc2lvbkF0b207XG4gICAgaWYgKHJhbmdlUHJlUmVsZWFzZSA9PT0gdW5kZWZpbmVkICYmIEJvb2xlYW4odmVyc2lvblByZVJlbGVhc2UpKSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICBpZiAoQm9vbGVhbihyYW5nZVByZVJlbGVhc2UpICYmIHZlcnNpb25QcmVSZWxlYXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAocmFuZ2VQcmVSZWxlYXNlID09PSB1bmRlZmluZWQgJiYgdmVyc2lvblByZVJlbGVhc2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgZm9yIChsZXQgaSA9IDAsIG4gPSByYW5nZVByZVJlbGVhc2UubGVuZ3RoOyBpIDw9IG47IGkrKykge1xuICAgICAgICBjb25zdCByYW5nZUVsZW1lbnQgPSByYW5nZVByZVJlbGVhc2VbaV07XG4gICAgICAgIGNvbnN0IHZlcnNpb25FbGVtZW50ID0gdmVyc2lvblByZVJlbGVhc2VbaV07XG4gICAgICAgIGlmIChyYW5nZUVsZW1lbnQgPT09IHZlcnNpb25FbGVtZW50KSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmFuZ2VFbGVtZW50ID09PSB1bmRlZmluZWQgJiYgdmVyc2lvbkVsZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyYW5nZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmVyc2lvbkVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29tcGFyZUF0b20ocmFuZ2VFbGVtZW50LCB2ZXJzaW9uRWxlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiAwO1xufVxuZnVuY3Rpb24gY29tcGFyZVZlcnNpb24ocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkge1xuICAgIHJldHVybiAoY29tcGFyZUF0b20ocmFuZ2VBdG9tLm1ham9yLCB2ZXJzaW9uQXRvbS5tYWpvcikgfHxcbiAgICAgICAgY29tcGFyZUF0b20ocmFuZ2VBdG9tLm1pbm9yLCB2ZXJzaW9uQXRvbS5taW5vcikgfHxcbiAgICAgICAgY29tcGFyZUF0b20ocmFuZ2VBdG9tLnBhdGNoLCB2ZXJzaW9uQXRvbS5wYXRjaCkgfHxcbiAgICAgICAgY29tcGFyZVByZVJlbGVhc2UocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkpO1xufVxuZnVuY3Rpb24gZXEocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkge1xuICAgIHJldHVybiByYW5nZUF0b20udmVyc2lvbiA9PT0gdmVyc2lvbkF0b20udmVyc2lvbjtcbn1cbmZ1bmN0aW9uIGNvbXBhcmUocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkge1xuICAgIHN3aXRjaCAocmFuZ2VBdG9tLm9wZXJhdG9yKSB7XG4gICAgICAgIGNhc2UgJyc6XG4gICAgICAgIGNhc2UgJz0nOlxuICAgICAgICAgICAgcmV0dXJuIGVxKHJhbmdlQXRvbSwgdmVyc2lvbkF0b20pO1xuICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgIHJldHVybiBjb21wYXJlVmVyc2lvbihyYW5nZUF0b20sIHZlcnNpb25BdG9tKSA8IDA7XG4gICAgICAgIGNhc2UgJz49JzpcbiAgICAgICAgICAgIHJldHVybiAoZXEocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkgfHwgY29tcGFyZVZlcnNpb24ocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkgPCAwKTtcbiAgICAgICAgY2FzZSAnPCc6XG4gICAgICAgICAgICByZXR1cm4gY29tcGFyZVZlcnNpb24ocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkgPiAwO1xuICAgICAgICBjYXNlICc8PSc6XG4gICAgICAgICAgICByZXR1cm4gKGVxKHJhbmdlQXRvbSwgdmVyc2lvbkF0b20pIHx8IGNvbXBhcmVWZXJzaW9uKHJhbmdlQXRvbSwgdmVyc2lvbkF0b20pID4gMCk7XG4gICAgICAgIGNhc2UgdW5kZWZpbmVkOiB7XG4gICAgICAgICAgICAvLyBtZWFuICogb3IgeCAtPiBhbGwgdmVyc2lvbnNcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG4vLyBmb3JrIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL29yaWdpbmpzL3ZpdGUtcGx1Z2luLWZlZGVyYXRpb24vYmxvYi92MS4xLjEyL3BhY2thZ2VzL2xpYi9zcmMvdXRpbHMvc2VtdmVyL2luZGV4LnRzXG4vLyBDb3B5cmlnaHQgKGMpXG4vLyB2aXRlLXBsdWdpbi1mZWRlcmF0aW9uIGlzIGxpY2Vuc2VkIHVuZGVyIE11bGFuIFBTTCB2Mi5cbi8vIFlvdSBjYW4gdXNlIHRoaXMgc29mdHdhcmUgYWNjb3JkaW5nIHRvIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgTXVsYW4gUFNMIHYyLlxuLy8gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIE11bGFuIFBTTCB2MiBhdDpcbi8vICAgICAgaHR0cDovL2xpY2Vuc2UuY29zY2wub3JnLmNuL011bGFuUFNMMlxuLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBPTiBBTiBcIkFTIElTXCIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBOT04tSU5GUklOR0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkgT1IgRklUIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbi8vIFNlZSB0aGUgTXVsYW4gUFNMIHYyIGZvciBtb3JlIGRldGFpbHMuXG5mdW5jdGlvbiBwYXJzZUNvbXBhcmF0b3JTdHJpbmcocmFuZ2UpIHtcbiAgICByZXR1cm4gcGlwZShcbiAgICAvLyBoYW5kbGUgY2FyZXRcbiAgICAvLyBeIC0tPiAqIChhbnksIGtpbmRhIHNpbGx5KVxuICAgIC8vIF4yLCBeMi54LCBeMi54LnggLS0+ID49Mi4wLjAgPDMuMC4wLTBcbiAgICAvLyBeMi4wLCBeMi4wLnggLS0+ID49Mi4wLjAgPDMuMC4wLTBcbiAgICAvLyBeMS4yLCBeMS4yLnggLS0+ID49MS4yLjAgPDIuMC4wLTBcbiAgICAvLyBeMS4yLjMgLS0+ID49MS4yLjMgPDIuMC4wLTBcbiAgICAvLyBeMS4yLjAgLS0+ID49MS4yLjAgPDIuMC4wLTBcbiAgICBwYXJzZUNhcmV0cywgXG4gICAgLy8gaGFuZGxlIHRpbGRlXG4gICAgLy8gfiwgfj4gLS0+ICogKGFueSwga2luZGEgc2lsbHkpXG4gICAgLy8gfjIsIH4yLngsIH4yLngueCwgfj4yLCB+PjIueCB+PjIueC54IC0tPiA+PTIuMC4wIDwzLjAuMC0wXG4gICAgLy8gfjIuMCwgfjIuMC54LCB+PjIuMCwgfj4yLjAueCAtLT4gPj0yLjAuMCA8Mi4xLjAtMFxuICAgIC8vIH4xLjIsIH4xLjIueCwgfj4xLjIsIH4+MS4yLnggLS0+ID49MS4yLjAgPDEuMy4wLTBcbiAgICAvLyB+MS4yLjMsIH4+MS4yLjMgLS0+ID49MS4yLjMgPDEuMy4wLTBcbiAgICAvLyB+MS4yLjAsIH4+MS4yLjAgLS0+ID49MS4yLjAgPDEuMy4wLTBcbiAgICBwYXJzZVRpbGRlcywgcGFyc2VYUmFuZ2VzLCBwYXJzZVN0YXIpKHJhbmdlKTtcbn1cbmZ1bmN0aW9uIHBhcnNlUmFuZ2UocmFuZ2UpIHtcbiAgICByZXR1cm4gcGlwZShcbiAgICAvLyBoYW5kbGUgaHlwaGVuUmFuZ2VcbiAgICAvLyBgMS4yLjMgLSAxLjIuNGAgPT4gYD49MS4yLjMgPD0xLjIuNGBcbiAgICBwYXJzZUh5cGhlbiwgXG4gICAgLy8gaGFuZGxlIHRyaW0gY29tcGFyYXRvclxuICAgIC8vIGA+IDEuMi4zIDwgMS4yLjVgID0+IGA+MS4yLjMgPDEuMi41YFxuICAgIHBhcnNlQ29tcGFyYXRvclRyaW0sIFxuICAgIC8vIGhhbmRsZSB0cmltIHRpbGRlXG4gICAgLy8gYH4gMS4yLjNgID0+IGB+MS4yLjNgXG4gICAgcGFyc2VUaWxkZVRyaW0sIFxuICAgIC8vIGhhbmRsZSB0cmltIGNhcmV0XG4gICAgLy8gYF4gMS4yLjNgID0+IGBeMS4yLjNgXG4gICAgcGFyc2VDYXJldFRyaW0pKHJhbmdlLnRyaW0oKSlcbiAgICAgICAgLnNwbGl0KC9cXHMrLylcbiAgICAgICAgLmpvaW4oJyAnKTtcbn1cbmZ1bmN0aW9uIHNhdGlzZnkodmVyc2lvbiwgcmFuZ2UpIHtcbiAgICBpZiAoIXZlcnNpb24pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBFeHRyYWN0IHZlcnNpb24gZGV0YWlscyBvbmNlXG4gICAgY29uc3QgZXh0cmFjdGVkVmVyc2lvbiA9IGV4dHJhY3RDb21wYXJhdG9yKHZlcnNpb24pO1xuICAgIGlmICghZXh0cmFjdGVkVmVyc2lvbikge1xuICAgICAgICAvLyBJZiB0aGUgdmVyc2lvbiBzdHJpbmcgaXMgaW52YWxpZCwgaXQgY2FuJ3Qgc2F0aXNmeSBhbnkgcmFuZ2VcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBbLCB2ZXJzaW9uT3BlcmF0b3IsICwgdmVyc2lvbk1ham9yLCB2ZXJzaW9uTWlub3IsIHZlcnNpb25QYXRjaCwgdmVyc2lvblByZVJlbGVhc2UsXSA9IGV4dHJhY3RlZFZlcnNpb247XG4gICAgY29uc3QgdmVyc2lvbkF0b20gPSB7XG4gICAgICAgIG9wZXJhdG9yOiB2ZXJzaW9uT3BlcmF0b3IsXG4gICAgICAgIHZlcnNpb246IGNvbWJpbmVWZXJzaW9uKHZlcnNpb25NYWpvciwgdmVyc2lvbk1pbm9yLCB2ZXJzaW9uUGF0Y2gsIHZlcnNpb25QcmVSZWxlYXNlKSwgLy8gZXhjbHVkZSBidWlsZCBhdG9tXG4gICAgICAgIG1ham9yOiB2ZXJzaW9uTWFqb3IsXG4gICAgICAgIG1pbm9yOiB2ZXJzaW9uTWlub3IsXG4gICAgICAgIHBhdGNoOiB2ZXJzaW9uUGF0Y2gsXG4gICAgICAgIHByZVJlbGVhc2U6IHZlcnNpb25QcmVSZWxlYXNlPy5zcGxpdCgnLicpLFxuICAgIH07XG4gICAgLy8gU3BsaXQgdGhlIHJhbmdlIGJ5IHx8IHRvIGhhbmRsZSBPUiBjb25kaXRpb25zXG4gICAgY29uc3Qgb3JSYW5nZXMgPSByYW5nZS5zcGxpdCgnfHwnKTtcbiAgICBmb3IgKGNvbnN0IG9yUmFuZ2Ugb2Ygb3JSYW5nZXMpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZE9yUmFuZ2UgPSBvclJhbmdlLnRyaW0oKTtcbiAgICAgICAgaWYgKCF0cmltbWVkT3JSYW5nZSkge1xuICAgICAgICAgICAgLy8gQW4gZW1wdHkgcmFuZ2Ugc3RyaW5nIHNpZ25pZmllcyB3aWxkY2FyZCAqLCBzYXRpc2Z5IGFueSB2YWxpZCB2ZXJzaW9uXG4gICAgICAgICAgICAvLyAoV2UgYWxyZWFkeSBjaGVja2VkIGlmIHRoZSB2ZXJzaW9uIGl0c2VsZiBpcyB2YWxpZClcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSBzaW1wbGUgd2lsZGNhcmRzIGV4cGxpY2l0bHkgYmVmb3JlIGNvbXBsZXggcGFyc2luZ1xuICAgICAgICBpZiAodHJpbW1lZE9yUmFuZ2UgPT09ICcqJyB8fCB0cmltbWVkT3JSYW5nZSA9PT0gJ3gnKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gQXBwbHkgZXhpc3RpbmcgcGFyc2luZyBsb2dpYyB0byB0aGUgY3VycmVudCBPUiBzdWItcmFuZ2VcbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZFN1YlJhbmdlID0gcGFyc2VSYW5nZSh0cmltbWVkT3JSYW5nZSk7IC8vIEhhbmRsZXMgaHlwaGVucywgdHJpbXMgZXRjLlxuICAgICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHJlc3VsdCBvZiBpbml0aWFsIHBhcnNpbmcgaXMgZW1wdHksIHdoaWNoIGNhbiBoYXBwZW5cbiAgICAgICAgICAgIC8vIGZvciBzb21lIHdpbGRjYXJkIGNhc2VzIGhhbmRsZWQgYnkgcGFyc2VSYW5nZS9wYXJzZUNvbXBhcmF0b3JTdHJpbmcuXG4gICAgICAgICAgICAvLyBFLmcuIGBwYXJzZVN0YXJgIHVzZWQgaW4gYHBhcnNlQ29tcGFyYXRvclN0cmluZ2AgcmV0dXJucyAnJy5cbiAgICAgICAgICAgIGlmICghcGFyc2VkU3ViUmFuZ2UudHJpbSgpKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgcGFyc2luZyByZXN1bHRzIGluIGVtcHR5IHN0cmluZywgdHJlYXQgYXMgd2lsZGNhcmQgbWF0Y2hcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBhcnNlZENvbXBhcmF0b3JTdHJpbmcgPSBwYXJzZWRTdWJSYW5nZVxuICAgICAgICAgICAgICAgIC5zcGxpdCgnICcpXG4gICAgICAgICAgICAgICAgLm1hcCgocmFuZ2VWZXJzaW9uKSA9PiBwYXJzZUNvbXBhcmF0b3JTdHJpbmcocmFuZ2VWZXJzaW9uKSkgLy8gRXhwYW5kcyBeLCB+XG4gICAgICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAgICAgICAgIC8vIENoZWNrIGFnYWluIGlmIHRoZSBjb21wYXJhdG9yIHN0cmluZyBiZWNhbWUgZW1wdHkgYWZ0ZXIgc3BlY2lmaWMgcGFyc2luZyBsaWtlIF4gb3IgflxuICAgICAgICAgICAgaWYgKCFwYXJzZWRDb21wYXJhdG9yU3RyaW5nLnRyaW0oKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU3BsaXQgdGhlIHN1Yi1yYW5nZSBieSBzcGFjZSBmb3IgaW1wbGljaXQgQU5EIGNvbmRpdGlvbnNcbiAgICAgICAgICAgIGNvbnN0IGNvbXBhcmF0b3JzID0gcGFyc2VkQ29tcGFyYXRvclN0cmluZ1xuICAgICAgICAgICAgICAgIC5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgICAgLm1hcCgoY29tcGFyYXRvcikgPT4gcGFyc2VHVEUwKGNvbXBhcmF0b3IpKVxuICAgICAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgZW1wdHkgc3RyaW5ncyB0aGF0IG1pZ2h0IHJlc3VsdCBmcm9tIG11bHRpcGxlIHNwYWNlc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgICAgICAvLyBJZiBhIHN1Yi1yYW5nZSBiZWNvbWVzIGVtcHR5IGFmdGVyIHBhcnNpbmcgKGUuZy4sIGludmFsaWQgY2hhcmFjdGVycyksXG4gICAgICAgICAgICAvLyBpdCBjYW5ub3QgYmUgc2F0aXNmaWVkLiBUaGlzIGNoZWNrIG1pZ2h0IGJlIHJlZHVuZGFudCBub3cgYnV0IGtlcHQgZm9yIHNhZmV0eS5cbiAgICAgICAgICAgIGlmIChjb21wYXJhdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBzdWJSYW5nZVNhdGlzZmllZCA9IHRydWU7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNvbXBhcmF0b3Igb2YgY29tcGFyYXRvcnMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBleHRyYWN0ZWRDb21wYXJhdG9yID0gZXh0cmFjdENvbXBhcmF0b3IoY29tcGFyYXRvcik7XG4gICAgICAgICAgICAgICAgLy8gSWYgYW55IHBhcnQgb2YgdGhlIEFORCBzdWItcmFuZ2UgaXMgaW52YWxpZCwgdGhlIHN1Yi1yYW5nZSBpcyBub3Qgc2F0aXNmaWVkXG4gICAgICAgICAgICAgICAgaWYgKCFleHRyYWN0ZWRDb21wYXJhdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1YlJhbmdlU2F0aXNmaWVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBbLCByYW5nZU9wZXJhdG9yLCAsIHJhbmdlTWFqb3IsIHJhbmdlTWlub3IsIHJhbmdlUGF0Y2gsIHJhbmdlUHJlUmVsZWFzZSxdID0gZXh0cmFjdGVkQ29tcGFyYXRvcjtcbiAgICAgICAgICAgICAgICBjb25zdCByYW5nZUF0b20gPSB7XG4gICAgICAgICAgICAgICAgICAgIG9wZXJhdG9yOiByYW5nZU9wZXJhdG9yLFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiBjb21iaW5lVmVyc2lvbihyYW5nZU1ham9yLCByYW5nZU1pbm9yLCByYW5nZVBhdGNoLCByYW5nZVByZVJlbGVhc2UpLFxuICAgICAgICAgICAgICAgICAgICBtYWpvcjogcmFuZ2VNYWpvcixcbiAgICAgICAgICAgICAgICAgICAgbWlub3I6IHJhbmdlTWlub3IsXG4gICAgICAgICAgICAgICAgICAgIHBhdGNoOiByYW5nZVBhdGNoLFxuICAgICAgICAgICAgICAgICAgICBwcmVSZWxlYXNlOiByYW5nZVByZVJlbGVhc2U/LnNwbGl0KCcuJyksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgdmVyc2lvbiBzYXRpc2ZpZXMgdGhpcyBzcGVjaWZpYyBjb21wYXJhdG9yIGluIHRoZSBBTkQgY2hhaW5cbiAgICAgICAgICAgICAgICBpZiAoIWNvbXBhcmUocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc3ViUmFuZ2VTYXRpc2ZpZWQgPSBmYWxzZTsgLy8gVGhpcyBwYXJ0IG9mIHRoZSBBTkQgY29uZGl0aW9uIGZhaWxlZFxuICAgICAgICAgICAgICAgICAgICBicmVhazsgLy8gTm8gbmVlZCB0byBjaGVjayBmdXJ0aGVyIGNvbXBhcmF0b3JzIGluIHRoaXMgc3ViLXJhbmdlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSWYgYWxsIEFORCBjb25kaXRpb25zIHdpdGhpbiB0aGlzIE9SIHN1Yi1yYW5nZSB3ZXJlIG1ldCwgdGhlIG92ZXJhbGwgcmFuZ2UgaXMgc2F0aXNmaWVkXG4gICAgICAgICAgICBpZiAoc3ViUmFuZ2VTYXRpc2ZpZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgLy8gTG9nIGVycm9yIGFuZCB0cmVhdCB0aGlzIHN1Yi1yYW5nZSBhcyB1bnNhdGlzZmllZFxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgW3NlbXZlcl0gRXJyb3IgcHJvY2Vzc2luZyByYW5nZSBwYXJ0IFwiJHt0cmltbWVkT3JSYW5nZX1cIjpgLCBlKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIG5vbmUgb2YgdGhlIE9SIHN1Yi1yYW5nZXMgd2VyZSBzYXRpc2ZpZWRcbiAgICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdFNoYXJlKHNoYXJlQXJncywgZnJvbSwgbmFtZSwgc2hhcmVTdHJhdGVneSkge1xuICAgIGxldCBnZXQ7XG4gICAgaWYgKCdnZXQnIGluIHNoYXJlQXJncykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLWRlc3RydWN0dXJpbmdcbiAgICAgICAgZ2V0ID0gc2hhcmVBcmdzLmdldDtcbiAgICB9XG4gICAgZWxzZSBpZiAoJ2xpYicgaW4gc2hhcmVBcmdzKSB7XG4gICAgICAgIGdldCA9ICgpID0+IFByb21pc2UucmVzb2x2ZShzaGFyZUFyZ3MubGliKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGdldCA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgoKSA9PiB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbiBub3QgZ2V0IHNoYXJlZCAnJHtuYW1lfSchYCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBkZXBzOiBbXSxcbiAgICAgICAgdXNlSW46IFtdLFxuICAgICAgICBmcm9tLFxuICAgICAgICBsb2FkaW5nOiBudWxsLFxuICAgICAgICAuLi5zaGFyZUFyZ3MsXG4gICAgICAgIHNoYXJlQ29uZmlnOiB7XG4gICAgICAgICAgICByZXF1aXJlZFZlcnNpb246IGBeJHtzaGFyZUFyZ3MudmVyc2lvbn1gLFxuICAgICAgICAgICAgc2luZ2xldG9uOiBmYWxzZSxcbiAgICAgICAgICAgIGVhZ2VyOiBmYWxzZSxcbiAgICAgICAgICAgIHN0cmljdFZlcnNpb246IGZhbHNlLFxuICAgICAgICAgICAgLi4uc2hhcmVBcmdzLnNoYXJlQ29uZmlnLFxuICAgICAgICB9LFxuICAgICAgICBnZXQsXG4gICAgICAgIGxvYWRlZDogc2hhcmVBcmdzPy5sb2FkZWQgfHwgJ2xpYicgaW4gc2hhcmVBcmdzID8gdHJ1ZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgdmVyc2lvbjogc2hhcmVBcmdzLnZlcnNpb24gPz8gJzAnLFxuICAgICAgICBzY29wZTogQXJyYXkuaXNBcnJheShzaGFyZUFyZ3Muc2NvcGUpXG4gICAgICAgICAgICA/IHNoYXJlQXJncy5zY29wZVxuICAgICAgICAgICAgOiBbc2hhcmVBcmdzLnNjb3BlID8/ICdkZWZhdWx0J10sXG4gICAgICAgIHN0cmF0ZWd5OiAoc2hhcmVBcmdzLnN0cmF0ZWd5ID8/IHNoYXJlU3RyYXRlZ3kpIHx8ICd2ZXJzaW9uLWZpcnN0JyxcbiAgICB9O1xufVxuZnVuY3Rpb24gZm9ybWF0U2hhcmVDb25maWdzKGdsb2JhbE9wdGlvbnMsIHVzZXJPcHRpb25zKSB7XG4gICAgY29uc3Qgc2hhcmVBcmdzID0gdXNlck9wdGlvbnMuc2hhcmVkIHx8IHt9O1xuICAgIGNvbnN0IGZyb20gPSB1c2VyT3B0aW9ucy5uYW1lO1xuICAgIGNvbnN0IHNoYXJlSW5mb3MgPSBPYmplY3Qua2V5cyhzaGFyZUFyZ3MpLnJlZHVjZSgocmVzLCBwa2dOYW1lKSA9PiB7XG4gICAgICAgIGNvbnN0IGFycmF5U2hhcmVBcmdzID0gYXJyYXlPcHRpb25zKHNoYXJlQXJnc1twa2dOYW1lXSk7XG4gICAgICAgIHJlc1twa2dOYW1lXSA9IHJlc1twa2dOYW1lXSB8fCBbXTtcbiAgICAgICAgYXJyYXlTaGFyZUFyZ3MuZm9yRWFjaCgoc2hhcmVDb25maWcpID0+IHtcbiAgICAgICAgICAgIHJlc1twa2dOYW1lXS5wdXNoKGZvcm1hdFNoYXJlKHNoYXJlQ29uZmlnLCBmcm9tLCBwa2dOYW1lLCB1c2VyT3B0aW9ucy5zaGFyZVN0cmF0ZWd5KSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH0sIHt9KTtcbiAgICBjb25zdCBzaGFyZWQgPSB7XG4gICAgICAgIC4uLmdsb2JhbE9wdGlvbnMuc2hhcmVkLFxuICAgIH07XG4gICAgT2JqZWN0LmtleXMoc2hhcmVJbmZvcykuZm9yRWFjaCgoc2hhcmVLZXkpID0+IHtcbiAgICAgICAgaWYgKCFzaGFyZWRbc2hhcmVLZXldKSB7XG4gICAgICAgICAgICBzaGFyZWRbc2hhcmVLZXldID0gc2hhcmVJbmZvc1tzaGFyZUtleV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBzaGFyZUluZm9zW3NoYXJlS2V5XS5mb3JFYWNoKChuZXdVc2VyU2hhcmVkT3B0aW9ucykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2FtZVZlcnNpb24gPSBzaGFyZWRbc2hhcmVLZXldLmZpbmQoKHNoYXJlZFZhbCkgPT4gc2hhcmVkVmFsLnZlcnNpb24gPT09IG5ld1VzZXJTaGFyZWRPcHRpb25zLnZlcnNpb24pO1xuICAgICAgICAgICAgICAgIGlmICghaXNTYW1lVmVyc2lvbikge1xuICAgICAgICAgICAgICAgICAgICBzaGFyZWRbc2hhcmVLZXldLnB1c2gobmV3VXNlclNoYXJlZE9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgc2hhcmVkLCBzaGFyZUluZm9zIH07XG59XG5mdW5jdGlvbiB2ZXJzaW9uTHQoYSwgYikge1xuICAgIGNvbnN0IHRyYW5zZm9ybUludmFsaWRWZXJzaW9uID0gKHZlcnNpb24pID0+IHtcbiAgICAgICAgY29uc3QgaXNOdW1iZXJWZXJzaW9uID0gIU51bWJlci5pc05hTihOdW1iZXIodmVyc2lvbikpO1xuICAgICAgICBpZiAoaXNOdW1iZXJWZXJzaW9uKSB7XG4gICAgICAgICAgICBjb25zdCBzcGxpdEFyciA9IHZlcnNpb24uc3BsaXQoJy4nKTtcbiAgICAgICAgICAgIGxldCB2YWxpZFZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzIC0gc3BsaXRBcnIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICB2YWxpZFZlcnNpb24gKz0gJy4wJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB2YWxpZFZlcnNpb247XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZlcnNpb247XG4gICAgfTtcbiAgICBpZiAoc2F0aXNmeSh0cmFuc2Zvcm1JbnZhbGlkVmVyc2lvbihhKSwgYDw9JHt0cmFuc2Zvcm1JbnZhbGlkVmVyc2lvbihiKX1gKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5jb25zdCBmaW5kVmVyc2lvbiA9IChzaGFyZVZlcnNpb25NYXAsIGNiKSA9PiB7XG4gICAgY29uc3QgY2FsbGJhY2sgPSBjYiB8fFxuICAgICAgICBmdW5jdGlvbiAocHJldiwgY3VyKSB7XG4gICAgICAgICAgICByZXR1cm4gdmVyc2lvbkx0KHByZXYsIGN1cik7XG4gICAgICAgIH07XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHNoYXJlVmVyc2lvbk1hcCkucmVkdWNlKChwcmV2LCBjdXIpID0+IHtcbiAgICAgICAgaWYgKCFwcmV2KSB7XG4gICAgICAgICAgICByZXR1cm4gY3VyO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYWxsYmFjayhwcmV2LCBjdXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VyO1xuICAgICAgICB9XG4gICAgICAgIC8vIGRlZmF1bHQgdmVyc2lvbiBpcyAnMCcgaHR0cHM6Ly9naXRodWIuY29tL3dlYnBhY2svd2VicGFjay9ibG9iL21haW4vbGliL3NoYXJpbmcvUHJvdmlkZVNoYXJlZE1vZHVsZS5qcyNMMTM2XG4gICAgICAgIGlmIChwcmV2ID09PSAnMCcpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwgMCk7XG59O1xuY29uc3QgaXNMb2FkZWQgPSAoc2hhcmVkKSA9PiB7XG4gICAgcmV0dXJuIEJvb2xlYW4oc2hhcmVkLmxvYWRlZCkgfHwgdHlwZW9mIHNoYXJlZC5saWIgPT09ICdmdW5jdGlvbic7XG59O1xuY29uc3QgaXNMb2FkaW5nID0gKHNoYXJlZCkgPT4ge1xuICAgIHJldHVybiBCb29sZWFuKHNoYXJlZC5sb2FkaW5nKTtcbn07XG5mdW5jdGlvbiBmaW5kU2luZ2xldG9uVmVyc2lvbk9yZGVyQnlWZXJzaW9uKHNoYXJlU2NvcGVNYXAsIHNjb3BlLCBwa2dOYW1lKSB7XG4gICAgY29uc3QgdmVyc2lvbnMgPSBzaGFyZVNjb3BlTWFwW3Njb3BlXVtwa2dOYW1lXTtcbiAgICBjb25zdCBjYWxsYmFjayA9IGZ1bmN0aW9uIChwcmV2LCBjdXIpIHtcbiAgICAgICAgcmV0dXJuICFpc0xvYWRlZCh2ZXJzaW9uc1twcmV2XSkgJiYgdmVyc2lvbkx0KHByZXYsIGN1cik7XG4gICAgfTtcbiAgICByZXR1cm4gZmluZFZlcnNpb24oc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV0sIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGZpbmRTaW5nbGV0b25WZXJzaW9uT3JkZXJCeUxvYWRlZChzaGFyZVNjb3BlTWFwLCBzY29wZSwgcGtnTmFtZSkge1xuICAgIGNvbnN0IHZlcnNpb25zID0gc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV07XG4gICAgY29uc3QgY2FsbGJhY2sgPSBmdW5jdGlvbiAocHJldiwgY3VyKSB7XG4gICAgICAgIGNvbnN0IGlzTG9hZGluZ09yTG9hZGVkID0gKHNoYXJlZCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGlzTG9hZGVkKHNoYXJlZCkgfHwgaXNMb2FkaW5nKHNoYXJlZCk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChpc0xvYWRpbmdPckxvYWRlZCh2ZXJzaW9uc1tjdXJdKSkge1xuICAgICAgICAgICAgaWYgKGlzTG9hZGluZ09yTG9hZGVkKHZlcnNpb25zW3ByZXZdKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBCb29sZWFuKHZlcnNpb25MdChwcmV2LCBjdXIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChpc0xvYWRpbmdPckxvYWRlZCh2ZXJzaW9uc1twcmV2XSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmVyc2lvbkx0KHByZXYsIGN1cik7XG4gICAgfTtcbiAgICByZXR1cm4gZmluZFZlcnNpb24oc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV0sIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGdldEZpbmRTaGFyZUZ1bmN0aW9uKHN0cmF0ZWd5KSB7XG4gICAgaWYgKHN0cmF0ZWd5ID09PSAnbG9hZGVkLWZpcnN0Jykge1xuICAgICAgICByZXR1cm4gZmluZFNpbmdsZXRvblZlcnNpb25PcmRlckJ5TG9hZGVkO1xuICAgIH1cbiAgICByZXR1cm4gZmluZFNpbmdsZXRvblZlcnNpb25PcmRlckJ5VmVyc2lvbjtcbn1cbmZ1bmN0aW9uIGdldFJlZ2lzdGVyZWRTaGFyZShsb2NhbFNoYXJlU2NvcGVNYXAsIHBrZ05hbWUsIHNoYXJlSW5mbywgcmVzb2x2ZVNoYXJlKSB7XG4gICAgaWYgKCFsb2NhbFNoYXJlU2NvcGVNYXApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IHNoYXJlQ29uZmlnLCBzY29wZSA9IERFRkFVTFRfU0NPUEUsIHN0cmF0ZWd5IH0gPSBzaGFyZUluZm87XG4gICAgY29uc3Qgc2NvcGVzID0gQXJyYXkuaXNBcnJheShzY29wZSkgPyBzY29wZSA6IFtzY29wZV07XG4gICAgZm9yIChjb25zdCBzYyBvZiBzY29wZXMpIHtcbiAgICAgICAgaWYgKHNoYXJlQ29uZmlnICYmXG4gICAgICAgICAgICBsb2NhbFNoYXJlU2NvcGVNYXBbc2NdICYmXG4gICAgICAgICAgICBsb2NhbFNoYXJlU2NvcGVNYXBbc2NdW3BrZ05hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCB7IHJlcXVpcmVkVmVyc2lvbiB9ID0gc2hhcmVDb25maWc7XG4gICAgICAgICAgICBjb25zdCBmaW5kU2hhcmVGdW5jdGlvbiA9IGdldEZpbmRTaGFyZUZ1bmN0aW9uKHN0cmF0ZWd5KTtcbiAgICAgICAgICAgIGNvbnN0IG1heE9yU2luZ2xldG9uVmVyc2lvbiA9IGZpbmRTaGFyZUZ1bmN0aW9uKGxvY2FsU2hhcmVTY29wZU1hcCwgc2MsIHBrZ05hbWUpO1xuICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0UmVzb2x2ZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNoYXJlQ29uZmlnLnNpbmdsZXRvbikge1xuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlcXVpcmVkVmVyc2lvbiA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICFzYXRpc2Z5KG1heE9yU2luZ2xldG9uVmVyc2lvbiwgcmVxdWlyZWRWZXJzaW9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbXNnID0gYFZlcnNpb24gJHttYXhPclNpbmdsZXRvblZlcnNpb259IGZyb20gJHttYXhPclNpbmdsZXRvblZlcnNpb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbFNoYXJlU2NvcGVNYXBbc2NdW3BrZ05hbWVdW21heE9yU2luZ2xldG9uVmVyc2lvbl0uZnJvbX0gb2Ygc2hhcmVkIHNpbmdsZXRvbiBtb2R1bGUgJHtwa2dOYW1lfSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudCBvZiAke3NoYXJlSW5mby5mcm9tfSB3aGljaCBuZWVkcyAke3JlcXVpcmVkVmVyc2lvbn0pYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzaGFyZUNvbmZpZy5zdHJpY3RWZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IobXNnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdhcm4obXNnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxTaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXVttYXhPclNpbmdsZXRvblZlcnNpb25dO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlcXVpcmVkVmVyc2lvbiA9PT0gZmFsc2UgfHwgcmVxdWlyZWRWZXJzaW9uID09PSAnKicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2NhbFNoYXJlU2NvcGVNYXBbc2NdW3BrZ05hbWVdW21heE9yU2luZ2xldG9uVmVyc2lvbl07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHNhdGlzZnkobWF4T3JTaW5nbGV0b25WZXJzaW9uLCByZXF1aXJlZFZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbG9jYWxTaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXVttYXhPclNpbmdsZXRvblZlcnNpb25dO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgW3ZlcnNpb25LZXksIHZlcnNpb25WYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobG9jYWxTaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzYXRpc2Z5KHZlcnNpb25LZXksIHJlcXVpcmVkVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmVyc2lvblZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgICAgICAgICBzaGFyZVNjb3BlTWFwOiBsb2NhbFNoYXJlU2NvcGVNYXAsXG4gICAgICAgICAgICAgICAgc2NvcGU6IHNjLFxuICAgICAgICAgICAgICAgIHBrZ05hbWUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogbWF4T3JTaW5nbGV0b25WZXJzaW9uLFxuICAgICAgICAgICAgICAgIEdsb2JhbEZlZGVyYXRpb246IEdsb2JhbC5fX0ZFREVSQVRJT05fXyxcbiAgICAgICAgICAgICAgICByZXNvbHZlcjogZGVmYXVsdFJlc29sdmVyLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVTaGFyZWQgPSByZXNvbHZlU2hhcmUuZW1pdChwYXJhbXMpIHx8IHBhcmFtcztcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlU2hhcmVkLnJlc29sdmVyKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBnZXRHbG9iYWxTaGFyZVNjb3BlKCkge1xuICAgIHJldHVybiBHbG9iYWwuX19GRURFUkFUSU9OX18uX19TSEFSRV9fO1xufVxuZnVuY3Rpb24gZ2V0VGFyZ2V0U2hhcmVkT3B0aW9ucyhvcHRpb25zKSB7XG4gICAgY29uc3QgeyBwa2dOYW1lLCBleHRyYU9wdGlvbnMsIHNoYXJlSW5mb3MgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZGVmYXVsdFJlc29sdmVyID0gKHNoYXJlZE9wdGlvbnMpID0+IHtcbiAgICAgICAgaWYgKCFzaGFyZWRPcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNoYXJlVmVyc2lvbk1hcCA9IHt9O1xuICAgICAgICBzaGFyZWRPcHRpb25zLmZvckVhY2goKHNoYXJlZCkgPT4ge1xuICAgICAgICAgICAgc2hhcmVWZXJzaW9uTWFwW3NoYXJlZC52ZXJzaW9uXSA9IHNoYXJlZDtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrID0gZnVuY3Rpb24gKHByZXYsIGN1cikge1xuICAgICAgICAgICAgcmV0dXJuICFpc0xvYWRlZChzaGFyZVZlcnNpb25NYXBbcHJldl0pICYmIHZlcnNpb25MdChwcmV2LCBjdXIpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBtYXhWZXJzaW9uID0gZmluZFZlcnNpb24oc2hhcmVWZXJzaW9uTWFwLCBjYWxsYmFjayk7XG4gICAgICAgIHJldHVybiBzaGFyZVZlcnNpb25NYXBbbWF4VmVyc2lvbl07XG4gICAgfTtcbiAgICBjb25zdCByZXNvbHZlciA9IGV4dHJhT3B0aW9ucz8ucmVzb2x2ZXIgPz8gZGVmYXVsdFJlc29sdmVyO1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKHt9LCByZXNvbHZlcihzaGFyZUluZm9zW3BrZ05hbWVdKSwgZXh0cmFPcHRpb25zPy5jdXN0b21TaGFyZUluZm8pO1xufVxuXG5mdW5jdGlvbiBnZXRCdWlsZGVySWQoKSB7XG4gICAgLy9AdHMtaWdub3JlXG4gICAgcmV0dXJuIHR5cGVvZiBGRURFUkFUSU9OX0JVSUxEX0lERU5USUZJRVIgIT09ICd1bmRlZmluZWQnXG4gICAgICAgID8gLy9AdHMtaWdub3JlXG4gICAgICAgICAgICBGRURFUkFUSU9OX0JVSUxEX0lERU5USUZJRVJcbiAgICAgICAgOiAnJztcbn1cblxuLy8gRnVuY3Rpb24gdG8gbWF0Y2ggYSByZW1vdGUgd2l0aCBpdHMgbmFtZSBhbmQgZXhwb3NlXG4vLyBpZDogcGtnTmFtZShAZmVkZXJhdGlvbi9hcHAxKSArIGV4cG9zZShidXR0b24pID0gQGZlZGVyYXRpb24vYXBwMS9idXR0b25cbi8vIGlkOiBhbGlhcyhhcHAxKSArIGV4cG9zZShidXR0b24pID0gYXBwMS9idXR0b25cbi8vIGlkOiBhbGlhcyhhcHAxL3V0aWxzKSArIGV4cG9zZShsb2FkYXNoL3NvcnQpID0gYXBwMS91dGlscy9sb2FkYXNoL3NvcnRcbmZ1bmN0aW9uIG1hdGNoUmVtb3RlV2l0aE5hbWVBbmRFeHBvc2UocmVtb3RlcywgaWQpIHtcbiAgICBmb3IgKGNvbnN0IHJlbW90ZSBvZiByZW1vdGVzKSB7XG4gICAgICAgIC8vIG1hdGNoIHBrZ05hbWVcbiAgICAgICAgY29uc3QgaXNOYW1lTWF0Y2hlZCA9IGlkLnN0YXJ0c1dpdGgocmVtb3RlLm5hbWUpO1xuICAgICAgICBsZXQgZXhwb3NlID0gaWQucmVwbGFjZShyZW1vdGUubmFtZSwgJycpO1xuICAgICAgICBpZiAoaXNOYW1lTWF0Y2hlZCkge1xuICAgICAgICAgICAgaWYgKGV4cG9zZS5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwa2dOYW1lT3JBbGlhcyA9IHJlbW90ZS5uYW1lO1xuICAgICAgICAgICAgICAgIGV4cG9zZSA9IGAuJHtleHBvc2V9YDtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBwa2dOYW1lT3JBbGlhcyxcbiAgICAgICAgICAgICAgICAgICAgZXhwb3NlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGV4cG9zZSA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBwa2dOYW1lT3JBbGlhczogcmVtb3RlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGV4cG9zZTogJy4nLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGUsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBtYXRjaCBhbGlhc1xuICAgICAgICBjb25zdCBpc0FsaWFzTWF0Y2hlZCA9IHJlbW90ZS5hbGlhcyAmJiBpZC5zdGFydHNXaXRoKHJlbW90ZS5hbGlhcyk7XG4gICAgICAgIGxldCBleHBvc2VXaXRoQWxpYXMgPSByZW1vdGUuYWxpYXMgJiYgaWQucmVwbGFjZShyZW1vdGUuYWxpYXMsICcnKTtcbiAgICAgICAgaWYgKHJlbW90ZS5hbGlhcyAmJiBpc0FsaWFzTWF0Y2hlZCkge1xuICAgICAgICAgICAgaWYgKGV4cG9zZVdpdGhBbGlhcyAmJiBleHBvc2VXaXRoQWxpYXMuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGtnTmFtZU9yQWxpYXMgPSByZW1vdGUuYWxpYXM7XG4gICAgICAgICAgICAgICAgZXhwb3NlV2l0aEFsaWFzID0gYC4ke2V4cG9zZVdpdGhBbGlhc31gO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHBrZ05hbWVPckFsaWFzLFxuICAgICAgICAgICAgICAgICAgICBleHBvc2U6IGV4cG9zZVdpdGhBbGlhcyxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChleHBvc2VXaXRoQWxpYXMgPT09ICcnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgcGtnTmFtZU9yQWxpYXM6IHJlbW90ZS5hbGlhcyxcbiAgICAgICAgICAgICAgICAgICAgZXhwb3NlOiAnLicsXG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybjtcbn1cbi8vIEZ1bmN0aW9uIHRvIG1hdGNoIGEgcmVtb3RlIHdpdGggaXRzIG5hbWUgb3IgYWxpYXNcbmZ1bmN0aW9uIG1hdGNoUmVtb3RlKHJlbW90ZXMsIG5hbWVPckFsaWFzKSB7XG4gICAgZm9yIChjb25zdCByZW1vdGUgb2YgcmVtb3Rlcykge1xuICAgICAgICBjb25zdCBpc05hbWVNYXRjaGVkID0gbmFtZU9yQWxpYXMgPT09IHJlbW90ZS5uYW1lO1xuICAgICAgICBpZiAoaXNOYW1lTWF0Y2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlbW90ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc0FsaWFzTWF0Y2hlZCA9IHJlbW90ZS5hbGlhcyAmJiBuYW1lT3JBbGlhcyA9PT0gcmVtb3RlLmFsaWFzO1xuICAgICAgICBpZiAoaXNBbGlhc01hdGNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybiByZW1vdGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuO1xufVxuXG5mdW5jdGlvbiByZWdpc3RlclBsdWdpbnMocGx1Z2lucywgaW5zdGFuY2UpIHtcbiAgICBjb25zdCBnbG9iYWxQbHVnaW5zID0gZ2V0R2xvYmFsSG9zdFBsdWdpbnMoKTtcbiAgICBjb25zdCBob29rSW5zdGFuY2VzID0gW1xuICAgICAgICBpbnN0YW5jZS5ob29rcyxcbiAgICAgICAgaW5zdGFuY2UucmVtb3RlSGFuZGxlci5ob29rcyxcbiAgICAgICAgaW5zdGFuY2Uuc2hhcmVkSGFuZGxlci5ob29rcyxcbiAgICAgICAgaW5zdGFuY2Uuc25hcHNob3RIYW5kbGVyLmhvb2tzLFxuICAgICAgICBpbnN0YW5jZS5sb2FkZXJIb29rLFxuICAgICAgICBpbnN0YW5jZS5icmlkZ2VIb29rLFxuICAgIF07XG4gICAgLy8gSW5jb3Jwb3JhdGUgZ2xvYmFsIHBsdWdpbnNcbiAgICBpZiAoZ2xvYmFsUGx1Z2lucy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGdsb2JhbFBsdWdpbnMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG4gICAgICAgICAgICBpZiAocGx1Z2lucz8uZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lICE9PSBwbHVnaW4ubmFtZSkpIHtcbiAgICAgICAgICAgICAgICBwbHVnaW5zLnB1c2gocGx1Z2luKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGlmIChwbHVnaW5zICYmIHBsdWdpbnMubGVuZ3RoID4gMCkge1xuICAgICAgICBwbHVnaW5zLmZvckVhY2goKHBsdWdpbikgPT4ge1xuICAgICAgICAgICAgaG9va0luc3RhbmNlcy5mb3JFYWNoKChob29rSW5zdGFuY2UpID0+IHtcbiAgICAgICAgICAgICAgICBob29rSW5zdGFuY2UuYXBwbHlQbHVnaW4ocGx1Z2luLCBpbnN0YW5jZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBwbHVnaW5zO1xufVxuXG5jb25zdCBpbXBvcnRDYWxsYmFjayA9ICcudGhlbihjYWxsYmFja3NbMF0pLmNhdGNoKGNhbGxiYWNrc1sxXSknO1xuYXN5bmMgZnVuY3Rpb24gbG9hZEVzbUVudHJ5KHsgZW50cnksIHJlbW90ZUVudHJ5RXhwb3J0cywgfSkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIXJlbW90ZUVudHJ5RXhwb3J0cykge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgRkVERVJBVElPTl9BTExPV19ORVdfRlVOQ1RJT04gIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ldyBGdW5jdGlvbignY2FsbGJhY2tzJywgYGltcG9ydChcIiR7ZW50cnl9XCIpJHtpbXBvcnRDYWxsYmFja31gKShbXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0LFxuICAgICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGltcG9ydCgvKiB3ZWJwYWNrSWdub3JlOiB0cnVlICovIC8qIEB2aXRlLWlnbm9yZSAqLyBlbnRyeSlcbiAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKHJlc29sdmUpXG4gICAgICAgICAgICAgICAgICAgICAgICAuY2F0Y2gocmVqZWN0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlbW90ZUVudHJ5RXhwb3J0cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZFN5c3RlbUpzRW50cnkoeyBlbnRyeSwgcmVtb3RlRW50cnlFeHBvcnRzLCB9KSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICghcmVtb3RlRW50cnlFeHBvcnRzKSB7XG4gICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBfX3N5c3RlbV9jb250ZXh0X18gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICBTeXN0ZW0uaW1wb3J0KGVudHJ5KS50aGVuKHJlc29sdmUpLmNhdGNoKHJlamVjdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBuZXcgRnVuY3Rpb24oJ2NhbGxiYWNrcycsIGBTeXN0ZW0uaW1wb3J0KFwiJHtlbnRyeX1cIikke2ltcG9ydENhbGxiYWNrfWApKFtyZXNvbHZlLCByZWplY3RdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXNvbHZlKHJlbW90ZUVudHJ5RXhwb3J0cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gaGFuZGxlUmVtb3RlRW50cnlMb2FkZWQobmFtZSwgZ2xvYmFsTmFtZSwgZW50cnkpIHtcbiAgICBjb25zdCB7IHJlbW90ZUVudHJ5S2V5LCBlbnRyeUV4cG9ydHMgfSA9IGdldFJlbW90ZUVudHJ5RXhwb3J0cyhuYW1lLCBnbG9iYWxOYW1lKTtcbiAgICBhc3NlcnQoZW50cnlFeHBvcnRzLCBlcnJvckNvZGVzLmdldFNob3J0RXJyb3JNc2coZXJyb3JDb2Rlcy5SVU5USU1FXzAwMSwgZXJyb3JDb2Rlcy5ydW50aW1lRGVzY01hcCwge1xuICAgICAgICByZW1vdGVOYW1lOiBuYW1lLFxuICAgICAgICByZW1vdGVFbnRyeVVybDogZW50cnksXG4gICAgICAgIHJlbW90ZUVudHJ5S2V5LFxuICAgIH0pKTtcbiAgICByZXR1cm4gZW50cnlFeHBvcnRzO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZEVudHJ5U2NyaXB0KHsgbmFtZSwgZ2xvYmFsTmFtZSwgZW50cnksIGxvYWRlckhvb2ssIGdldEVudHJ5VXJsLCB9KSB7XG4gICAgY29uc3QgeyBlbnRyeUV4cG9ydHM6IHJlbW90ZUVudHJ5RXhwb3J0cyB9ID0gZ2V0UmVtb3RlRW50cnlFeHBvcnRzKG5hbWUsIGdsb2JhbE5hbWUpO1xuICAgIGlmIChyZW1vdGVFbnRyeUV4cG9ydHMpIHtcbiAgICAgICAgcmV0dXJuIHJlbW90ZUVudHJ5RXhwb3J0cztcbiAgICB9XG4gICAgLy8gaWYgZ2V0RW50cnlVcmwgaXMgcGFzc2VkLCB1c2UgdGhlIGdldEVudHJ5VXJsIHRvIGdldCB0aGUgZW50cnkgdXJsXG4gICAgY29uc3QgdXJsID0gZ2V0RW50cnlVcmwgPyBnZXRFbnRyeVVybChlbnRyeSkgOiBlbnRyeTtcbiAgICByZXR1cm4gc2RrLmxvYWRTY3JpcHQodXJsLCB7XG4gICAgICAgIGF0dHJzOiB7fSxcbiAgICAgICAgY3JlYXRlU2NyaXB0SG9vazogKHVybCwgYXR0cnMpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlcyA9IGxvYWRlckhvb2subGlmZWN5Y2xlLmNyZWF0ZVNjcmlwdC5lbWl0KHsgdXJsLCBhdHRycyB9KTtcbiAgICAgICAgICAgIGlmICghcmVzKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBIVE1MU2NyaXB0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoJ3NjcmlwdCcgaW4gcmVzIHx8ICd0aW1lb3V0JyBpbiByZXMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9LFxuICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZVJlbW90ZUVudHJ5TG9hZGVkKG5hbWUsIGdsb2JhbE5hbWUsIGVudHJ5KTtcbiAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgYXNzZXJ0KHVuZGVmaW5lZCwgZXJyb3JDb2Rlcy5nZXRTaG9ydEVycm9yTXNnKGVycm9yQ29kZXMuUlVOVElNRV8wMDgsIGVycm9yQ29kZXMucnVudGltZURlc2NNYXAsIHtcbiAgICAgICAgICAgIHJlbW90ZU5hbWU6IG5hbWUsXG4gICAgICAgICAgICByZXNvdXJjZVVybDogZW50cnksXG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeURvbSh7IHJlbW90ZUluZm8sIHJlbW90ZUVudHJ5RXhwb3J0cywgbG9hZGVySG9vaywgZ2V0RW50cnlVcmwsIH0pIHtcbiAgICBjb25zdCB7IGVudHJ5LCBlbnRyeUdsb2JhbE5hbWU6IGdsb2JhbE5hbWUsIG5hbWUsIHR5cGUgfSA9IHJlbW90ZUluZm87XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgJ2VzbSc6XG4gICAgICAgIGNhc2UgJ21vZHVsZSc6XG4gICAgICAgICAgICByZXR1cm4gbG9hZEVzbUVudHJ5KHsgZW50cnksIHJlbW90ZUVudHJ5RXhwb3J0cyB9KTtcbiAgICAgICAgY2FzZSAnc3lzdGVtJzpcbiAgICAgICAgICAgIHJldHVybiBsb2FkU3lzdGVtSnNFbnRyeSh7IGVudHJ5LCByZW1vdGVFbnRyeUV4cG9ydHMgfSk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gbG9hZEVudHJ5U2NyaXB0KHtcbiAgICAgICAgICAgICAgICBlbnRyeSxcbiAgICAgICAgICAgICAgICBnbG9iYWxOYW1lLFxuICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgbG9hZGVySG9vayxcbiAgICAgICAgICAgICAgICBnZXRFbnRyeVVybCxcbiAgICAgICAgICAgIH0pO1xuICAgIH1cbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeU5vZGUoeyByZW1vdGVJbmZvLCBsb2FkZXJIb29rLCB9KSB7XG4gICAgY29uc3QgeyBlbnRyeSwgZW50cnlHbG9iYWxOYW1lOiBnbG9iYWxOYW1lLCBuYW1lLCB0eXBlIH0gPSByZW1vdGVJbmZvO1xuICAgIGNvbnN0IHsgZW50cnlFeHBvcnRzOiByZW1vdGVFbnRyeUV4cG9ydHMgfSA9IGdldFJlbW90ZUVudHJ5RXhwb3J0cyhuYW1lLCBnbG9iYWxOYW1lKTtcbiAgICBpZiAocmVtb3RlRW50cnlFeHBvcnRzKSB7XG4gICAgICAgIHJldHVybiByZW1vdGVFbnRyeUV4cG9ydHM7XG4gICAgfVxuICAgIHJldHVybiBzZGsubG9hZFNjcmlwdE5vZGUoZW50cnksIHtcbiAgICAgICAgYXR0cnM6IHsgbmFtZSwgZ2xvYmFsTmFtZSwgdHlwZSB9LFxuICAgICAgICBsb2FkZXJIb29rOiB7XG4gICAgICAgICAgICBjcmVhdGVTY3JpcHRIb29rOiAodXJsLCBhdHRycyA9IHt9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gbG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlU2NyaXB0LmVtaXQoeyB1cmwsIGF0dHJzIH0pO1xuICAgICAgICAgICAgICAgIGlmICghcmVzKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgaWYgKCd1cmwnIGluIHJlcykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgIH0pXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZVJlbW90ZUVudHJ5TG9hZGVkKG5hbWUsIGdsb2JhbE5hbWUsIGVudHJ5KTtcbiAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFJlbW90ZUVudHJ5VW5pcXVlS2V5KHJlbW90ZUluZm8pIHtcbiAgICBjb25zdCB7IGVudHJ5LCBuYW1lIH0gPSByZW1vdGVJbmZvO1xuICAgIHJldHVybiBzZGsuY29tcG9zZUtleVdpdGhTZXBhcmF0b3IobmFtZSwgZW50cnkpO1xufVxuYXN5bmMgZnVuY3Rpb24gZ2V0UmVtb3RlRW50cnkocGFyYW1zKSB7XG4gICAgY29uc3QgeyBvcmlnaW4sIHJlbW90ZUVudHJ5RXhwb3J0cywgcmVtb3RlSW5mbywgZ2V0RW50cnlVcmwsIF9pbkVycm9ySGFuZGxpbmcgPSBmYWxzZSwgfSA9IHBhcmFtcztcbiAgICBjb25zdCB1bmlxdWVLZXkgPSBnZXRSZW1vdGVFbnRyeVVuaXF1ZUtleShyZW1vdGVJbmZvKTtcbiAgICBpZiAocmVtb3RlRW50cnlFeHBvcnRzKSB7XG4gICAgICAgIHJldHVybiByZW1vdGVFbnRyeUV4cG9ydHM7XG4gICAgfVxuICAgIGlmICghZ2xvYmFsTG9hZGluZ1t1bmlxdWVLZXldKSB7XG4gICAgICAgIGNvbnN0IGxvYWRFbnRyeUhvb2sgPSBvcmlnaW4ucmVtb3RlSGFuZGxlci5ob29rcy5saWZlY3ljbGUubG9hZEVudHJ5O1xuICAgICAgICBjb25zdCBsb2FkZXJIb29rID0gb3JpZ2luLmxvYWRlckhvb2s7XG4gICAgICAgIGdsb2JhbExvYWRpbmdbdW5pcXVlS2V5XSA9IGxvYWRFbnRyeUhvb2tcbiAgICAgICAgICAgIC5lbWl0KHtcbiAgICAgICAgICAgIGxvYWRlckhvb2ssXG4gICAgICAgICAgICByZW1vdGVJbmZvLFxuICAgICAgICAgICAgcmVtb3RlRW50cnlFeHBvcnRzLFxuICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICAgICAgaWYgKHJlcykge1xuICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBVc2UgRU5WX1RBUkdFVCBpZiBkZWZpbmVkLCBvdGhlcndpc2UgZmFsbGJhY2sgdG8gaXNCcm93c2VyRW52LCBtdXN0IGtlZXAgdGhpc1xuICAgICAgICAgICAgY29uc3QgaXNXZWJFbnZpcm9ubWVudCA9IHR5cGVvZiBFTlZfVEFSR0VUICE9PSAndW5kZWZpbmVkJ1xuICAgICAgICAgICAgICAgID8gRU5WX1RBUkdFVCA9PT0gJ3dlYidcbiAgICAgICAgICAgICAgICA6IHNkay5pc0Jyb3dzZXJFbnYoKTtcbiAgICAgICAgICAgIHJldHVybiBpc1dlYkVudmlyb25tZW50XG4gICAgICAgICAgICAgICAgPyBsb2FkRW50cnlEb20oe1xuICAgICAgICAgICAgICAgICAgICByZW1vdGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVFbnRyeUV4cG9ydHMsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRlckhvb2ssXG4gICAgICAgICAgICAgICAgICAgIGdldEVudHJ5VXJsLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgOiBsb2FkRW50cnlOb2RlKHsgcmVtb3RlSW5mbywgbG9hZGVySG9vayB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaChhc3luYyAoZXJyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB1bmlxdWVLZXkgPSBnZXRSZW1vdGVFbnRyeVVuaXF1ZUtleShyZW1vdGVJbmZvKTtcbiAgICAgICAgICAgIGNvbnN0IGlzU2NyaXB0TG9hZEVycm9yID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoZXJyb3JDb2Rlcy5SVU5USU1FXzAwOCk7XG4gICAgICAgICAgICBpZiAoaXNTY3JpcHRMb2FkRXJyb3IgJiYgIV9pbkVycm9ySGFuZGxpbmcpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB3cmFwcGVkR2V0UmVtb3RlRW50cnkgPSAocGFyYW1zKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRSZW1vdGVFbnRyeSh7IC4uLnBhcmFtcywgX2luRXJyb3JIYW5kbGluZzogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IFJlbW90ZUVudHJ5RXhwb3J0cyA9IGF3YWl0IG9yaWdpbi5sb2FkZXJIb29rLmxpZmVjeWNsZS5sb2FkRW50cnlFcnJvci5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0UmVtb3RlRW50cnk6IHdyYXBwZWRHZXRSZW1vdGVFbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVJbmZvOiByZW1vdGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVFbnRyeUV4cG9ydHMsXG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbExvYWRpbmcsXG4gICAgICAgICAgICAgICAgICAgIHVuaXF1ZUtleSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoUmVtb3RlRW50cnlFeHBvcnRzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBSZW1vdGVFbnRyeUV4cG9ydHM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdsb2JhbExvYWRpbmdbdW5pcXVlS2V5XTtcbn1cbmZ1bmN0aW9uIGdldFJlbW90ZUluZm8ocmVtb3RlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucmVtb3RlLFxuICAgICAgICBlbnRyeTogJ2VudHJ5JyBpbiByZW1vdGUgPyByZW1vdGUuZW50cnkgOiAnJyxcbiAgICAgICAgdHlwZTogcmVtb3RlLnR5cGUgfHwgREVGQVVMVF9SRU1PVEVfVFlQRSxcbiAgICAgICAgZW50cnlHbG9iYWxOYW1lOiByZW1vdGUuZW50cnlHbG9iYWxOYW1lIHx8IHJlbW90ZS5uYW1lLFxuICAgICAgICBzaGFyZVNjb3BlOiByZW1vdGUuc2hhcmVTY29wZSB8fCBERUZBVUxUX1NDT1BFLFxuICAgIH07XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQcmVsb2FkQXJncyhwcmVsb2FkQ29uZmlnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcmVzb3VyY2VDYXRlZ29yeTogJ3N5bmMnLFxuICAgICAgICBzaGFyZTogdHJ1ZSxcbiAgICAgICAgZGVwc1JlbW90ZTogdHJ1ZSxcbiAgICAgICAgcHJlZmV0Y2hJbnRlcmZhY2U6IGZhbHNlLFxuICAgICAgICAuLi5wcmVsb2FkQ29uZmlnLFxuICAgIH07XG59XG5mdW5jdGlvbiBmb3JtYXRQcmVsb2FkQXJncyhyZW1vdGVzLCBwcmVsb2FkQXJncykge1xuICAgIHJldHVybiBwcmVsb2FkQXJncy5tYXAoKGFyZ3MpID0+IHtcbiAgICAgICAgY29uc3QgcmVtb3RlSW5mbyA9IG1hdGNoUmVtb3RlKHJlbW90ZXMsIGFyZ3MubmFtZU9yQWxpYXMpO1xuICAgICAgICBhc3NlcnQocmVtb3RlSW5mbywgYFVuYWJsZSB0byBwcmVsb2FkICR7YXJncy5uYW1lT3JBbGlhc30gYXMgaXQgaXMgbm90IGluY2x1ZGVkIGluICR7IXJlbW90ZUluZm8gJiZcbiAgICAgICAgICAgIHNkay5zYWZlVG9TdHJpbmcoe1xuICAgICAgICAgICAgICAgIHJlbW90ZUluZm8sXG4gICAgICAgICAgICAgICAgcmVtb3RlcyxcbiAgICAgICAgICAgIH0pfWApO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcmVtb3RlOiByZW1vdGVJbmZvLFxuICAgICAgICAgICAgcHJlbG9hZENvbmZpZzogZGVmYXVsdFByZWxvYWRBcmdzKGFyZ3MpLFxuICAgICAgICB9O1xuICAgIH0pO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplUHJlbG9hZEV4cG9zZXMoZXhwb3Nlcykge1xuICAgIGlmICghZXhwb3Nlcykge1xuICAgICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBleHBvc2VzLm1hcCgoZXhwb3NlKSA9PiB7XG4gICAgICAgIGlmIChleHBvc2UgPT09ICcuJykge1xuICAgICAgICAgICAgcmV0dXJuIGV4cG9zZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXhwb3NlLnN0YXJ0c1dpdGgoJy4vJykpIHtcbiAgICAgICAgICAgIHJldHVybiBleHBvc2UucmVwbGFjZSgnLi8nLCAnJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGV4cG9zZTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHByZWxvYWRBc3NldHMocmVtb3RlSW5mbywgaG9zdCwgYXNzZXRzLCBcbi8vIEl0IGlzIHVzZWQgdG8gZGlzdGluZ3Vpc2ggcHJlbG9hZCBmcm9tIGxvYWQgcmVtb3RlIHBhcmFsbGVsIGxvYWRpbmdcbnVzZUxpbmtQcmVsb2FkID0gdHJ1ZSkge1xuICAgIGNvbnN0IHsgY3NzQXNzZXRzLCBqc0Fzc2V0c1dpdGhvdXRFbnRyeSwgZW50cnlBc3NldHMgfSA9IGFzc2V0cztcbiAgICBpZiAoaG9zdC5vcHRpb25zLmluQnJvd3Nlcikge1xuICAgICAgICBlbnRyeUFzc2V0cy5mb3JFYWNoKChhc3NldCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBtb2R1bGVJbmZvIH0gPSBhc3NldDtcbiAgICAgICAgICAgIGNvbnN0IG1vZHVsZSA9IGhvc3QubW9kdWxlQ2FjaGUuZ2V0KHJlbW90ZUluZm8ubmFtZSk7XG4gICAgICAgICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgICAgICAgICAgZ2V0UmVtb3RlRW50cnkoe1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW46IGhvc3QsXG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZUluZm86IG1vZHVsZUluZm8sXG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZUVudHJ5RXhwb3J0czogbW9kdWxlLnJlbW90ZUVudHJ5RXhwb3J0cyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGdldFJlbW90ZUVudHJ5KHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiBob3N0LFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVJbmZvOiBtb2R1bGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVFbnRyeUV4cG9ydHM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICh1c2VMaW5rUHJlbG9hZCkge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdEF0dHJzID0ge1xuICAgICAgICAgICAgICAgIHJlbDogJ3ByZWxvYWQnLFxuICAgICAgICAgICAgICAgIGFzOiAnc3R5bGUnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNzc0Fzc2V0cy5mb3JFYWNoKChjc3NVcmwpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxpbms6IGNzc0VsLCBuZWVkQXR0YWNoIH0gPSBzZGsuY3JlYXRlTGluayh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogY3NzVXJsLFxuICAgICAgICAgICAgICAgICAgICBjYjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm9vcFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhdHRyczogZGVmYXVsdEF0dHJzLFxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVMaW5rSG9vazogKHVybCwgYXR0cnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlTGluay5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBIVE1MTGlua0VsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG5lZWRBdHRhY2ggJiYgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChjc3NFbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRBdHRycyA9IHtcbiAgICAgICAgICAgICAgICByZWw6ICdzdHlsZXNoZWV0JyxcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dC9jc3MnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNzc0Fzc2V0cy5mb3JFYWNoKChjc3NVcmwpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGxpbms6IGNzc0VsLCBuZWVkQXR0YWNoIH0gPSBzZGsuY3JlYXRlTGluayh7XG4gICAgICAgICAgICAgICAgICAgIHVybDogY3NzVXJsLFxuICAgICAgICAgICAgICAgICAgICBjYjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm9vcFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBhdHRyczogZGVmYXVsdEF0dHJzLFxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVMaW5rSG9vazogKHVybCwgYXR0cnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlTGluay5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnMsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBIVE1MTGlua0VsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBuZWVkRGVsZXRlTGluazogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbmVlZEF0dGFjaCAmJiBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGNzc0VsKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1c2VMaW5rUHJlbG9hZCkge1xuICAgICAgICAgICAgY29uc3QgZGVmYXVsdEF0dHJzID0ge1xuICAgICAgICAgICAgICAgIHJlbDogJ3ByZWxvYWQnLFxuICAgICAgICAgICAgICAgIGFzOiAnc2NyaXB0JyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBqc0Fzc2V0c1dpdGhvdXRFbnRyeS5mb3JFYWNoKChqc1VybCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgbGluazogbGlua0VsLCBuZWVkQXR0YWNoIH0gPSBzZGsuY3JlYXRlTGluayh7XG4gICAgICAgICAgICAgICAgICAgIHVybDoganNVcmwsXG4gICAgICAgICAgICAgICAgICAgIGNiOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBub29wXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGF0dHJzOiBkZWZhdWx0QXR0cnMsXG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZUxpbmtIb29rOiAodXJsLCBhdHRycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5jcmVhdGVMaW5rLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIEhUTUxMaW5rRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgbmVlZEF0dGFjaCAmJiBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxpbmtFbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRBdHRycyA9IHtcbiAgICAgICAgICAgICAgICBmZXRjaHByaW9yaXR5OiAnaGlnaCcsXG4gICAgICAgICAgICAgICAgdHlwZTogcmVtb3RlSW5mbz8udHlwZSA9PT0gJ21vZHVsZScgPyAnbW9kdWxlJyA6ICd0ZXh0L2phdmFzY3JpcHQnLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGpzQXNzZXRzV2l0aG91dEVudHJ5LmZvckVhY2goKGpzVXJsKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBzY3JpcHQ6IHNjcmlwdEVsLCBuZWVkQXR0YWNoIH0gPSBzZGsuY3JlYXRlU2NyaXB0KHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiBqc1VybCxcbiAgICAgICAgICAgICAgICAgICAgY2I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG5vb3BcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgYXR0cnM6IGRlZmF1bHRBdHRycyxcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlU2NyaXB0SG9vazogKHVybCwgYXR0cnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlU2NyaXB0LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgbmVlZERlbGV0ZVNjcmlwdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBuZWVkQXR0YWNoICYmIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0RWwpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmNvbnN0IFNoYXJlVXRpbHMgPSB7XG4gICAgZ2V0UmVnaXN0ZXJlZFNoYXJlLFxuICAgIGdldEdsb2JhbFNoYXJlU2NvcGUsXG59O1xuY29uc3QgR2xvYmFsVXRpbHMgPSB7XG4gICAgR2xvYmFsLFxuICAgIG5hdGl2ZUdsb2JhbCxcbiAgICByZXNldEZlZGVyYXRpb25HbG9iYWxJbmZvLFxuICAgIHNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZSxcbiAgICBnZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IsXG4gICAgc2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yLFxuICAgIGdldEluZm9XaXRob3V0VHlwZSxcbiAgICBnZXRHbG9iYWxTbmFwc2hvdCxcbiAgICBnZXRUYXJnZXRTbmFwc2hvdEluZm9CeU1vZHVsZUluZm8sXG4gICAgZ2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvLFxuICAgIHNldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyxcbiAgICBhZGRHbG9iYWxTbmFwc2hvdCxcbiAgICBnZXRSZW1vdGVFbnRyeUV4cG9ydHMsXG4gICAgcmVnaXN0ZXJHbG9iYWxQbHVnaW5zLFxuICAgIGdldEdsb2JhbEhvc3RQbHVnaW5zLFxuICAgIGdldFByZWxvYWRlZCxcbiAgICBzZXRQcmVsb2FkZWQsXG59O1xudmFyIGhlbHBlcnMgPSB7XG4gICAgZ2xvYmFsOiBHbG9iYWxVdGlscyxcbiAgICBzaGFyZTogU2hhcmVVdGlscyxcbiAgICB1dGlsczoge1xuICAgICAgICBtYXRjaFJlbW90ZVdpdGhOYW1lQW5kRXhwb3NlLFxuICAgICAgICBwcmVsb2FkQXNzZXRzLFxuICAgICAgICBnZXRSZW1vdGVJbmZvLFxuICAgIH0sXG59O1xuXG5jbGFzcyBNb2R1bGUge1xuICAgIGNvbnN0cnVjdG9yKHsgcmVtb3RlSW5mbywgaG9zdCwgfSkge1xuICAgICAgICB0aGlzLmluaXRlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxpYiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5yZW1vdGVJbmZvID0gcmVtb3RlSW5mbztcbiAgICAgICAgdGhpcy5ob3N0ID0gaG9zdDtcbiAgICB9XG4gICAgYXN5bmMgZ2V0RW50cnkoKSB7XG4gICAgICAgIGlmICh0aGlzLnJlbW90ZUVudHJ5RXhwb3J0cykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmVtb3RlRW50cnlFeHBvcnRzO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZW1vdGVFbnRyeUV4cG9ydHM7XG4gICAgICAgIHJlbW90ZUVudHJ5RXhwb3J0cyA9IGF3YWl0IGdldFJlbW90ZUVudHJ5KHtcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcy5ob3N0LFxuICAgICAgICAgICAgcmVtb3RlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuICAgICAgICAgICAgcmVtb3RlRW50cnlFeHBvcnRzOiB0aGlzLnJlbW90ZUVudHJ5RXhwb3J0cyxcbiAgICAgICAgfSk7XG4gICAgICAgIGFzc2VydChyZW1vdGVFbnRyeUV4cG9ydHMsIGByZW1vdGVFbnRyeUV4cG9ydHMgaXMgdW5kZWZpbmVkIFxcbiAke3Nkay5zYWZlVG9TdHJpbmcodGhpcy5yZW1vdGVJbmZvKX1gKTtcbiAgICAgICAgdGhpcy5yZW1vdGVFbnRyeUV4cG9ydHMgPSByZW1vdGVFbnRyeUV4cG9ydHM7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW90ZUVudHJ5RXhwb3J0cztcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tb2R1bGUtYm91bmRhcnktdHlwZXNcbiAgICBhc3luYyBnZXQoaWQsIGV4cG9zZSwgb3B0aW9ucywgcmVtb3RlU25hcHNob3QpIHtcbiAgICAgICAgY29uc3QgeyBsb2FkRmFjdG9yeSA9IHRydWUgfSA9IG9wdGlvbnMgfHwgeyBsb2FkRmFjdG9yeTogdHJ1ZSB9O1xuICAgICAgICAvLyBHZXQgcmVtb3RlRW50cnkuanNcbiAgICAgICAgY29uc3QgcmVtb3RlRW50cnlFeHBvcnRzID0gYXdhaXQgdGhpcy5nZXRFbnRyeSgpO1xuICAgICAgICBpZiAoIXRoaXMuaW5pdGVkKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhbFNoYXJlU2NvcGVNYXAgPSB0aGlzLmhvc3Quc2hhcmVTY29wZU1hcDtcbiAgICAgICAgICAgIGNvbnN0IHNoYXJlU2NvcGVLZXlzID0gQXJyYXkuaXNBcnJheSh0aGlzLnJlbW90ZUluZm8uc2hhcmVTY29wZSlcbiAgICAgICAgICAgICAgICA/IHRoaXMucmVtb3RlSW5mby5zaGFyZVNjb3BlXG4gICAgICAgICAgICAgICAgOiBbdGhpcy5yZW1vdGVJbmZvLnNoYXJlU2NvcGVdO1xuICAgICAgICAgICAgaWYgKCFzaGFyZVNjb3BlS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBzaGFyZVNjb3BlS2V5cy5wdXNoKCdkZWZhdWx0Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzaGFyZVNjb3BlS2V5cy5mb3JFYWNoKChzaGFyZVNjb3BlS2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFsb2NhbFNoYXJlU2NvcGVNYXBbc2hhcmVTY29wZUtleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWxTaGFyZVNjb3BlTWFwW3NoYXJlU2NvcGVLZXldID0ge307XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAvLyBUT0RPOiBjb21wYXRlIGxlZ2FjeSBpbml0IHBhcmFtcywgc2hvdWxkIHVzZSBzaGFyZVNjb3BlTWFwIGlmIGV4aXN0XG4gICAgICAgICAgICBjb25zdCBzaGFyZVNjb3BlID0gbG9jYWxTaGFyZVNjb3BlTWFwW3NoYXJlU2NvcGVLZXlzWzBdXTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRTY29wZSA9IFtdO1xuICAgICAgICAgICAgY29uc3QgcmVtb3RlRW50cnlJbml0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiB0aGlzLnJlbW90ZUluZm8udmVyc2lvbiB8fCAnJyxcbiAgICAgICAgICAgICAgICBzaGFyZVNjb3BlS2V5czogQXJyYXkuaXNBcnJheSh0aGlzLnJlbW90ZUluZm8uc2hhcmVTY29wZSlcbiAgICAgICAgICAgICAgICAgICAgPyBzaGFyZVNjb3BlS2V5c1xuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucmVtb3RlSW5mby5zaGFyZVNjb3BlIHx8ICdkZWZhdWx0JyxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICAvLyBIZWxwIHRvIGZpbmQgaG9zdCBpbnN0YW5jZVxuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMsICdzaGFyZVNjb3BlTWFwJywge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBsb2NhbFNoYXJlU2NvcGVNYXAsXG4gICAgICAgICAgICAgICAgLy8gcmVtb3RlRW50cnlJbml0T3B0aW9ucyB3aWxsIGJlIHRyYXZlcnNlZCBhbmQgYXNzaWduZWQgZHVyaW5nIGNvbnRhaW5lciBpbml0LCAsc28gdGhpcyBhdHRyaWJ1dGUgaXMgbm90IGFsbG93ZWQgdG8gYmUgdHJhdmVyc2VkXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRDb250YWluZXJPcHRpb25zID0gYXdhaXQgdGhpcy5ob3N0Lmhvb2tzLmxpZmVjeWNsZS5iZWZvcmVJbml0Q29udGFpbmVyLmVtaXQoe1xuICAgICAgICAgICAgICAgIHNoYXJlU2NvcGUsXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBzaGFyZVNjb3BlTWFwIHdpbGwgYmUgc2V0IGJ5IE9iamVjdC5kZWZpbmVQcm9wZXJ0eVxuICAgICAgICAgICAgICAgIHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgaW5pdFNjb3BlLFxuICAgICAgICAgICAgICAgIHJlbW90ZUluZm86IHRoaXMucmVtb3RlSW5mbyxcbiAgICAgICAgICAgICAgICBvcmlnaW46IHRoaXMuaG9zdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByZW1vdGVFbnRyeUV4cG9ydHM/LmluaXQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IoZXJyb3JDb2Rlcy5nZXRTaG9ydEVycm9yTXNnKGVycm9yQ29kZXMuUlVOVElNRV8wMDIsIGVycm9yQ29kZXMucnVudGltZURlc2NNYXAsIHtcbiAgICAgICAgICAgICAgICAgICAgaG9zdE5hbWU6IHRoaXMuaG9zdC5uYW1lLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVOYW1lOiB0aGlzLnJlbW90ZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlRW50cnlVcmw6IHRoaXMucmVtb3RlSW5mby5lbnRyeSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlRW50cnlLZXk6IHRoaXMucmVtb3RlSW5mby5lbnRyeUdsb2JhbE5hbWUsXG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgcmVtb3RlRW50cnlFeHBvcnRzLmluaXQoaW5pdENvbnRhaW5lck9wdGlvbnMuc2hhcmVTY29wZSwgaW5pdENvbnRhaW5lck9wdGlvbnMuaW5pdFNjb3BlLCBpbml0Q29udGFpbmVyT3B0aW9ucy5yZW1vdGVFbnRyeUluaXRPcHRpb25zKTtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuaG9zdC5ob29rcy5saWZlY3ljbGUuaW5pdENvbnRhaW5lci5lbWl0KHtcbiAgICAgICAgICAgICAgICAuLi5pbml0Q29udGFpbmVyT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICByZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICByZW1vdGVFbnRyeUV4cG9ydHMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmxpYiA9IHJlbW90ZUVudHJ5RXhwb3J0cztcbiAgICAgICAgdGhpcy5pbml0ZWQgPSB0cnVlO1xuICAgICAgICBsZXQgbW9kdWxlRmFjdG9yeTtcbiAgICAgICAgbW9kdWxlRmFjdG9yeSA9IGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5nZXRNb2R1bGVGYWN0b3J5LmVtaXQoe1xuICAgICAgICAgICAgcmVtb3RlRW50cnlFeHBvcnRzLFxuICAgICAgICAgICAgZXhwb3NlLFxuICAgICAgICAgICAgbW9kdWxlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuICAgICAgICB9KTtcbiAgICAgICAgLy8gZ2V0IGV4cG9zZUdldHRlclxuICAgICAgICBpZiAoIW1vZHVsZUZhY3RvcnkpIHtcbiAgICAgICAgICAgIG1vZHVsZUZhY3RvcnkgPSBhd2FpdCByZW1vdGVFbnRyeUV4cG9ydHMuZ2V0KGV4cG9zZSk7XG4gICAgICAgIH1cbiAgICAgICAgYXNzZXJ0KG1vZHVsZUZhY3RvcnksIGAke2dldEZNSWQodGhpcy5yZW1vdGVJbmZvKX0gcmVtb3RlIGRvbid0IGV4cG9ydCAke2V4cG9zZX0uYCk7XG4gICAgICAgIC8vIGtlZXAgc3ltYm9sIGZvciBtb2R1bGUgbmFtZSBhbHdheXMgb25lIGZvcm1hdFxuICAgICAgICBjb25zdCBzeW1ib2xOYW1lID0gcHJvY2Vzc01vZHVsZUFsaWFzKHRoaXMucmVtb3RlSW5mby5uYW1lLCBleHBvc2UpO1xuICAgICAgICBjb25zdCB3cmFwTW9kdWxlRmFjdG9yeSA9IHRoaXMud3JhcGVyRmFjdG9yeShtb2R1bGVGYWN0b3J5LCBzeW1ib2xOYW1lKTtcbiAgICAgICAgaWYgKCFsb2FkRmFjdG9yeSkge1xuICAgICAgICAgICAgcmV0dXJuIHdyYXBNb2R1bGVGYWN0b3J5O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGV4cG9zZUNvbnRlbnQgPSBhd2FpdCB3cmFwTW9kdWxlRmFjdG9yeSgpO1xuICAgICAgICByZXR1cm4gZXhwb3NlQ29udGVudDtcbiAgICB9XG4gICAgd3JhcGVyRmFjdG9yeShtb2R1bGVGYWN0b3J5LCBpZCkge1xuICAgICAgICBmdW5jdGlvbiBkZWZpbmVNb2R1bGVJZChyZXMsIGlkKSB7XG4gICAgICAgICAgICBpZiAocmVzICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIHJlcyA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICBPYmplY3QuaXNFeHRlbnNpYmxlKHJlcykgJiZcbiAgICAgICAgICAgICAgICAhT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihyZXMsIFN5bWJvbC5mb3IoJ21mX21vZHVsZV9pZCcpKSkge1xuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZXMsIFN5bWJvbC5mb3IoJ21mX21vZHVsZV9pZCcpLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBpZCxcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vZHVsZUZhY3RvcnkgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgICByZXR1cm4gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IG1vZHVsZUZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIGZvciBicmlkZ2UgZGVidWdnaW5nXG4gICAgICAgICAgICAgICAgZGVmaW5lTW9kdWxlSWQocmVzLCBpZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IG1vZHVsZUZhY3RvcnkoKTtcbiAgICAgICAgICAgICAgICAvLyBUaGlzIHBhcmFtZXRlciBpcyB1c2VkIGZvciBicmlkZ2UgZGVidWdnaW5nXG4gICAgICAgICAgICAgICAgZGVmaW5lTW9kdWxlSWQocmVzLCBpZCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmNsYXNzIFN5bmNIb29rIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlKSB7XG4gICAgICAgIHRoaXMudHlwZSA9ICcnO1xuICAgICAgICB0aGlzLmxpc3RlbmVycyA9IG5ldyBTZXQoKTtcbiAgICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgb24oZm4pIHtcbiAgICAgICAgaWYgKHR5cGVvZiBmbiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5saXN0ZW5lcnMuYWRkKGZuKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBvbmNlKGZuKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgdGhpcy5vbihmdW5jdGlvbiB3cmFwcGVyKC4uLmFyZ3MpIHtcbiAgICAgICAgICAgIHNlbGYucmVtb3ZlKHdyYXBwZXIpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICAgICAgICAgIHJldHVybiBmbi5hcHBseShudWxsLCBhcmdzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVtaXQoLi4uZGF0YSkge1xuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBpZiAodGhpcy5saXN0ZW5lcnMuc2l6ZSA+IDApIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItc3ByZWFkXG4gICAgICAgICAgICB0aGlzLmxpc3RlbmVycy5mb3JFYWNoKChmbikgPT4ge1xuICAgICAgICAgICAgICAgIHJlc3VsdCA9IGZuKC4uLmRhdGEpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgcmVtb3ZlKGZuKSB7XG4gICAgICAgIHRoaXMubGlzdGVuZXJzLmRlbGV0ZShmbik7XG4gICAgfVxuICAgIHJlbW92ZUFsbCgpIHtcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcbiAgICB9XG59XG5cbmNsYXNzIEFzeW5jSG9vayBleHRlbmRzIFN5bmNIb29rIHtcbiAgICBlbWl0KC4uLmRhdGEpIHtcbiAgICAgICAgbGV0IHJlc3VsdDtcbiAgICAgICAgY29uc3QgbHMgPSBBcnJheS5mcm9tKHRoaXMubGlzdGVuZXJzKTtcbiAgICAgICAgaWYgKGxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgIGNvbnN0IGNhbGwgPSAocHJldikgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChwcmV2ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIEFib3J0IHByb2Nlc3NcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaSA8IGxzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxzW2krK10uYXBwbHkobnVsbCwgZGF0YSkpLnRoZW4oY2FsbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJldjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVzdWx0ID0gY2FsbCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUocmVzdWx0KTtcbiAgICB9XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbW9kdWxlLWJvdW5kYXJ5LXR5cGVzXG5mdW5jdGlvbiBjaGVja1JldHVybkRhdGEob3JpZ2luYWxEYXRhLCByZXR1cm5lZERhdGEpIHtcbiAgICBpZiAoIWlzT2JqZWN0KHJldHVybmVkRGF0YSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAob3JpZ2luYWxEYXRhICE9PSByZXR1cm5lZERhdGEpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIG9yaWdpbmFsRGF0YSkge1xuICAgICAgICAgICAgaWYgKCEoa2V5IGluIHJldHVybmVkRGF0YSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5jbGFzcyBTeW5jV2F0ZXJmYWxsSG9vayBleHRlbmRzIFN5bmNIb29rIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMub25lcnJvciA9IGVycm9yO1xuICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIH1cbiAgICBlbWl0KGRhdGEpIHtcbiAgICAgICAgaWYgKCFpc09iamVjdChkYXRhKSkge1xuICAgICAgICAgICAgZXJyb3IoYFRoZSBkYXRhIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiBob29rIHNob3VsZCBiZSBhbiBvYmplY3QuYCk7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBmbiBvZiB0aGlzLmxpc3RlbmVycykge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZW1wRGF0YSA9IGZuKGRhdGEpO1xuICAgICAgICAgICAgICAgIGlmIChjaGVja1JldHVybkRhdGEoZGF0YSwgdGVtcERhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEgPSB0ZW1wRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25lcnJvcihgQSBwbHVnaW4gcmV0dXJuZWQgYW4gdW5hY2NlcHRhYmxlIHZhbHVlIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiB0eXBlLmApO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgIHdhcm4oZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5vbmVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cbn1cblxuY2xhc3MgQXN5bmNXYXRlcmZhbGxIb29rIGV4dGVuZHMgU3luY0hvb2sge1xuICAgIGNvbnN0cnVjdG9yKHR5cGUpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5vbmVycm9yID0gZXJyb3I7XG4gICAgICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgfVxuICAgIGVtaXQoZGF0YSkge1xuICAgICAgICBpZiAoIWlzT2JqZWN0KGRhdGEpKSB7XG4gICAgICAgICAgICBlcnJvcihgVGhlIHJlc3BvbnNlIGRhdGEgZm9yIHRoZSBcIiR7dGhpcy50eXBlfVwiIGhvb2sgbXVzdCBiZSBhbiBvYmplY3QuYCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbHMgPSBBcnJheS5mcm9tKHRoaXMubGlzdGVuZXJzKTtcbiAgICAgICAgaWYgKGxzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NFcnJvciA9IChlKSA9PiB7XG4gICAgICAgICAgICAgICAgd2FybihlKTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uZXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgY2FsbCA9IChwcmV2RGF0YSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjaGVja1JldHVybkRhdGEoZGF0YSwgcHJldkRhdGEpKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBwcmV2RGF0YTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPCBscy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShsc1tpKytdKGRhdGEpKS50aGVuKGNhbGwsIHByb2Nlc3NFcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9jZXNzRXJyb3IoZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25lcnJvcihgQSBwbHVnaW4gcmV0dXJuZWQgYW4gaW5jb3JyZWN0IHZhbHVlIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiB0eXBlLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNhbGwoZGF0YSkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZGF0YSk7XG4gICAgfVxufVxuXG5jbGFzcyBQbHVnaW5TeXN0ZW0ge1xuICAgIGNvbnN0cnVjdG9yKGxpZmVjeWNsZSkge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyUGx1Z2lucyA9IHt9O1xuICAgICAgICB0aGlzLmxpZmVjeWNsZSA9IGxpZmVjeWNsZTtcbiAgICAgICAgdGhpcy5saWZlY3ljbGVLZXlzID0gT2JqZWN0LmtleXMobGlmZWN5Y2xlKTtcbiAgICB9XG4gICAgYXBwbHlQbHVnaW4ocGx1Z2luLCBpbnN0YW5jZSkge1xuICAgICAgICBhc3NlcnQoaXNQbGFpbk9iamVjdChwbHVnaW4pLCAnUGx1Z2luIGNvbmZpZ3VyYXRpb24gaXMgaW52YWxpZC4nKTtcbiAgICAgICAgLy8gVGhlIHBsdWdpbidzIG5hbWUgaXMgbWFuZGF0b3J5IGFuZCBtdXN0IGJlIHVuaXF1ZVxuICAgICAgICBjb25zdCBwbHVnaW5OYW1lID0gcGx1Z2luLm5hbWU7XG4gICAgICAgIGFzc2VydChwbHVnaW5OYW1lLCAnQSBuYW1lIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIHBsdWdpbi4nKTtcbiAgICAgICAgaWYgKCF0aGlzLnJlZ2lzdGVyUGx1Z2luc1twbHVnaW5OYW1lXSkge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlclBsdWdpbnNbcGx1Z2luTmFtZV0gPSBwbHVnaW47XG4gICAgICAgICAgICBwbHVnaW4uYXBwbHk/LihpbnN0YW5jZSk7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmxpZmVjeWNsZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGx1Z2luTGlmZSA9IHBsdWdpbltrZXldO1xuICAgICAgICAgICAgICAgIGlmIChwbHVnaW5MaWZlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlmZWN5Y2xlW2tleV0ub24ocGx1Z2luTGlmZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVtb3ZlUGx1Z2luKHBsdWdpbk5hbWUpIHtcbiAgICAgICAgYXNzZXJ0KHBsdWdpbk5hbWUsICdBIG5hbWUgaXMgcmVxdWlyZWQuJyk7XG4gICAgICAgIGNvbnN0IHBsdWdpbiA9IHRoaXMucmVnaXN0ZXJQbHVnaW5zW3BsdWdpbk5hbWVdO1xuICAgICAgICBhc3NlcnQocGx1Z2luLCBgVGhlIHBsdWdpbiBcIiR7cGx1Z2luTmFtZX1cIiBpcyBub3QgcmVnaXN0ZXJlZC5gKTtcbiAgICAgICAgT2JqZWN0LmtleXMocGx1Z2luKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkgIT09ICduYW1lJykge1xuICAgICAgICAgICAgICAgIHRoaXMubGlmZWN5Y2xlW2tleV0ucmVtb3ZlKHBsdWdpbltrZXldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBhc3NpZ25SZW1vdGVJbmZvKHJlbW90ZUluZm8sIHJlbW90ZVNuYXBzaG90KSB7XG4gICAgY29uc3QgcmVtb3RlRW50cnlJbmZvID0gZ2V0UmVtb3RlRW50cnlJbmZvRnJvbVNuYXBzaG90KHJlbW90ZVNuYXBzaG90KTtcbiAgICBpZiAoIXJlbW90ZUVudHJ5SW5mby51cmwpIHtcbiAgICAgICAgZXJyb3IoYFRoZSBhdHRyaWJ1dGUgcmVtb3RlRW50cnkgb2YgJHtyZW1vdGVJbmZvLm5hbWV9IG11c3Qgbm90IGJlIHVuZGVmaW5lZC5gKTtcbiAgICB9XG4gICAgbGV0IGVudHJ5VXJsID0gc2RrLmdldFJlc291cmNlVXJsKHJlbW90ZVNuYXBzaG90LCByZW1vdGVFbnRyeUluZm8udXJsKTtcbiAgICBpZiAoIXNkay5pc0Jyb3dzZXJFbnYoKSAmJiAhZW50cnlVcmwuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgIGVudHJ5VXJsID0gYGh0dHBzOiR7ZW50cnlVcmx9YDtcbiAgICB9XG4gICAgcmVtb3RlSW5mby50eXBlID0gcmVtb3RlRW50cnlJbmZvLnR5cGU7XG4gICAgcmVtb3RlSW5mby5lbnRyeUdsb2JhbE5hbWUgPSByZW1vdGVFbnRyeUluZm8uZ2xvYmFsTmFtZTtcbiAgICByZW1vdGVJbmZvLmVudHJ5ID0gZW50cnlVcmw7XG4gICAgcmVtb3RlSW5mby52ZXJzaW9uID0gcmVtb3RlU25hcHNob3QudmVyc2lvbjtcbiAgICByZW1vdGVJbmZvLmJ1aWxkVmVyc2lvbiA9IHJlbW90ZVNuYXBzaG90LmJ1aWxkVmVyc2lvbjtcbn1cbmZ1bmN0aW9uIHNuYXBzaG90UGx1Z2luKCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6ICdzbmFwc2hvdC1wbHVnaW4nLFxuICAgICAgICBhc3luYyBhZnRlclJlc29sdmUoYXJncykge1xuICAgICAgICAgICAgY29uc3QgeyByZW1vdGUsIHBrZ05hbWVPckFsaWFzLCBleHBvc2UsIG9yaWdpbiwgcmVtb3RlSW5mbywgaWQgfSA9IGFyZ3M7XG4gICAgICAgICAgICBpZiAoIWlzUmVtb3RlSW5mb1dpdGhFbnRyeShyZW1vdGUpIHx8ICFpc1B1cmVSZW1vdGVFbnRyeShyZW1vdGUpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByZW1vdGVTbmFwc2hvdCwgZ2xvYmFsU25hcHNob3QgfSA9IGF3YWl0IG9yaWdpbi5zbmFwc2hvdEhhbmRsZXIubG9hZFJlbW90ZVNuYXBzaG90SW5mbyh7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZUluZm86IHJlbW90ZSxcbiAgICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXNzaWduUmVtb3RlSW5mbyhyZW1vdGVJbmZvLCByZW1vdGVTbmFwc2hvdCk7XG4gICAgICAgICAgICAgICAgLy8gcHJlbG9hZGluZyBhc3NldHNcbiAgICAgICAgICAgICAgICBjb25zdCBwcmVsb2FkT3B0aW9ucyA9IHtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlLFxuICAgICAgICAgICAgICAgICAgICBwcmVsb2FkQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lT3JBbGlhczogcGtnTmFtZU9yQWxpYXMsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBvc2VzOiBbZXhwb3NlXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlQ2F0ZWdvcnk6ICdzeW5jJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlcHNSZW1vdGU6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgY29uc3QgYXNzZXRzID0gYXdhaXQgb3JpZ2luLnJlbW90ZUhhbmRsZXIuaG9va3MubGlmZWN5Y2xlLmdlbmVyYXRlUHJlbG9hZEFzc2V0cy5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgb3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICBwcmVsb2FkT3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsU25hcHNob3QsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGFzc2V0cykge1xuICAgICAgICAgICAgICAgICAgICBwcmVsb2FkQXNzZXRzKHJlbW90ZUluZm8sIG9yaWdpbiwgYXNzZXRzLCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmFyZ3MsXG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZVNuYXBzaG90LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYXJncztcbiAgICAgICAgfSxcbiAgICB9O1xufVxuXG4vLyBuYW1lXG4vLyBuYW1lOnZlcnNpb25cbmZ1bmN0aW9uIHNwbGl0SWQoaWQpIHtcbiAgICBjb25zdCBzcGxpdEluZm8gPSBpZC5zcGxpdCgnOicpO1xuICAgIGlmIChzcGxpdEluZm8ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBzcGxpdEluZm9bMF0sXG4gICAgICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2UgaWYgKHNwbGl0SW5mby5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWU6IHNwbGl0SW5mb1swXSxcbiAgICAgICAgICAgIHZlcnNpb246IHNwbGl0SW5mb1sxXSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lOiBzcGxpdEluZm9bMV0sXG4gICAgICAgICAgICB2ZXJzaW9uOiBzcGxpdEluZm9bMl0sXG4gICAgICAgIH07XG4gICAgfVxufVxuLy8gVHJhdmVyc2UgYWxsIG5vZGVzIGluIG1vZHVsZUluZm8gYW5kIHRyYXZlcnNlIHRoZSBlbnRpcmUgc25hcHNob3RcbmZ1bmN0aW9uIHRyYXZlcnNlTW9kdWxlSW5mbyhnbG9iYWxTbmFwc2hvdCwgcmVtb3RlSW5mbywgdHJhdmVyc2UsIGlzUm9vdCwgbWVtbyA9IHt9LCByZW1vdGVTbmFwc2hvdCkge1xuICAgIGNvbnN0IGlkID0gZ2V0Rk1JZChyZW1vdGVJbmZvKTtcbiAgICBjb25zdCB7IHZhbHVlOiBzbmFwc2hvdFZhbHVlIH0gPSBnZXRJbmZvV2l0aG91dFR5cGUoZ2xvYmFsU25hcHNob3QsIGlkKTtcbiAgICBjb25zdCBlZmZlY3RpdmVSZW1vdGVTbmFwc2hvdCA9IHJlbW90ZVNuYXBzaG90IHx8IHNuYXBzaG90VmFsdWU7XG4gICAgaWYgKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90ICYmICFzZGsuaXNNYW5pZmVzdFByb3ZpZGVyKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90KSkge1xuICAgICAgICB0cmF2ZXJzZShlZmZlY3RpdmVSZW1vdGVTbmFwc2hvdCwgcmVtb3RlSW5mbywgaXNSb290KTtcbiAgICAgICAgaWYgKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90LnJlbW90ZXNJbmZvKSB7XG4gICAgICAgICAgICBjb25zdCByZW1vdGVLZXlzID0gT2JqZWN0LmtleXMoZWZmZWN0aXZlUmVtb3RlU25hcHNob3QucmVtb3Rlc0luZm8pO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgcmVtb3RlS2V5cykge1xuICAgICAgICAgICAgICAgIGlmIChtZW1vW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG1lbW9ba2V5XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3ViUmVtb3RlSW5mbyA9IHNwbGl0SWQoa2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdGVWYWx1ZSA9IGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90LnJlbW90ZXNJbmZvW2tleV07XG4gICAgICAgICAgICAgICAgdHJhdmVyc2VNb2R1bGVJbmZvKGdsb2JhbFNuYXBzaG90LCB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHN1YlJlbW90ZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjogcmVtb3RlVmFsdWUubWF0Y2hlZFZlcnNpb24sXG4gICAgICAgICAgICAgICAgfSwgdHJhdmVyc2UsIGZhbHNlLCBtZW1vLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuY29uc3QgaXNFeGlzdGVkID0gKHR5cGUsIHVybCkgPT4ge1xuICAgIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAke3R5cGV9WyR7dHlwZSA9PT0gJ2xpbmsnID8gJ2hyZWYnIDogJ3NyYyd9PVwiJHt1cmx9XCJdYCk7XG59O1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lcy1wZXItZnVuY3Rpb25cbmZ1bmN0aW9uIGdlbmVyYXRlUHJlbG9hZEFzc2V0cyhvcmlnaW4sIHByZWxvYWRPcHRpb25zLCByZW1vdGUsIGdsb2JhbFNuYXBzaG90LCByZW1vdGVTbmFwc2hvdCkge1xuICAgIGNvbnN0IGNzc0Fzc2V0cyA9IFtdO1xuICAgIGNvbnN0IGpzQXNzZXRzID0gW107XG4gICAgY29uc3QgZW50cnlBc3NldHMgPSBbXTtcbiAgICBjb25zdCBsb2FkZWRTaGFyZWRKc0Fzc2V0cyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBsb2FkZWRTaGFyZWRDc3NBc3NldHMgPSBuZXcgU2V0KCk7XG4gICAgY29uc3QgeyBvcHRpb25zIH0gPSBvcmlnaW47XG4gICAgY29uc3QgeyBwcmVsb2FkQ29uZmlnOiByb290UHJlbG9hZENvbmZpZyB9ID0gcHJlbG9hZE9wdGlvbnM7XG4gICAgY29uc3QgeyBkZXBzUmVtb3RlIH0gPSByb290UHJlbG9hZENvbmZpZztcbiAgICBjb25zdCBtZW1vID0ge307XG4gICAgdHJhdmVyc2VNb2R1bGVJbmZvKGdsb2JhbFNuYXBzaG90LCByZW1vdGUsIChtb2R1bGVJbmZvU25hcHNob3QsIHJlbW90ZUluZm8sIGlzUm9vdCkgPT4ge1xuICAgICAgICBsZXQgcHJlbG9hZENvbmZpZztcbiAgICAgICAgaWYgKGlzUm9vdCkge1xuICAgICAgICAgICAgcHJlbG9hZENvbmZpZyA9IHJvb3RQcmVsb2FkQ29uZmlnO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGVwc1JlbW90ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgYXJyYXktY2FsbGJhY2stcmV0dXJuXG4gICAgICAgICAgICAgICAgY29uc3QgZmluZFByZWxvYWRDb25maWcgPSBkZXBzUmVtb3RlLmZpbmQoKHJlbW90ZUNvbmZpZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVtb3RlQ29uZmlnLm5hbWVPckFsaWFzID09PSByZW1vdGVJbmZvLm5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbW90ZUNvbmZpZy5uYW1lT3JBbGlhcyA9PT0gcmVtb3RlSW5mby5hbGlhcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmICghZmluZFByZWxvYWRDb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwcmVsb2FkQ29uZmlnID0gZGVmYXVsdFByZWxvYWRBcmdzKGZpbmRQcmVsb2FkQ29uZmlnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGRlcHNSZW1vdGUgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBwcmVsb2FkQ29uZmlnID0gcm9vdFByZWxvYWRDb25maWc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVtb3RlRW50cnlVcmwgPSBzZGsuZ2V0UmVzb3VyY2VVcmwobW9kdWxlSW5mb1NuYXBzaG90LCBnZXRSZW1vdGVFbnRyeUluZm9Gcm9tU25hcHNob3QobW9kdWxlSW5mb1NuYXBzaG90KS51cmwpO1xuICAgICAgICBpZiAocmVtb3RlRW50cnlVcmwpIHtcbiAgICAgICAgICAgIGVudHJ5QXNzZXRzLnB1c2goe1xuICAgICAgICAgICAgICAgIG5hbWU6IHJlbW90ZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICBtb2R1bGVJbmZvOiB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlbW90ZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZW50cnk6IHJlbW90ZUVudHJ5VXJsLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiAncmVtb3RlRW50cnlUeXBlJyBpbiBtb2R1bGVJbmZvU25hcHNob3RcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbW9kdWxlSW5mb1NuYXBzaG90LnJlbW90ZUVudHJ5VHlwZVxuICAgICAgICAgICAgICAgICAgICAgICAgOiAnZ2xvYmFsJyxcbiAgICAgICAgICAgICAgICAgICAgZW50cnlHbG9iYWxOYW1lOiAnZ2xvYmFsTmFtZScgaW4gbW9kdWxlSW5mb1NuYXBzaG90XG4gICAgICAgICAgICAgICAgICAgICAgICA/IG1vZHVsZUluZm9TbmFwc2hvdC5nbG9iYWxOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICA6IHJlbW90ZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVTY29wZTogJycsXG4gICAgICAgICAgICAgICAgICAgIHZlcnNpb246ICd2ZXJzaW9uJyBpbiBtb2R1bGVJbmZvU25hcHNob3RcbiAgICAgICAgICAgICAgICAgICAgICAgID8gbW9kdWxlSW5mb1NuYXBzaG90LnZlcnNpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXJsOiByZW1vdGVFbnRyeVVybCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBtb2R1bGVBc3NldHNJbmZvID0gJ21vZHVsZXMnIGluIG1vZHVsZUluZm9TbmFwc2hvdCA/IG1vZHVsZUluZm9TbmFwc2hvdC5tb2R1bGVzIDogW107XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRQcmVsb2FkRXhwb3NlcyA9IG5vcm1hbGl6ZVByZWxvYWRFeHBvc2VzKHByZWxvYWRDb25maWcuZXhwb3Nlcyk7XG4gICAgICAgIGlmIChub3JtYWxpemVkUHJlbG9hZEV4cG9zZXMubGVuZ3RoICYmICdtb2R1bGVzJyBpbiBtb2R1bGVJbmZvU25hcHNob3QpIHtcbiAgICAgICAgICAgIG1vZHVsZUFzc2V0c0luZm8gPSBtb2R1bGVJbmZvU25hcHNob3Q/Lm1vZHVsZXM/LnJlZHVjZSgoYXNzZXRzLCBtb2R1bGVBc3NldEluZm8pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobm9ybWFsaXplZFByZWxvYWRFeHBvc2VzPy5pbmRleE9mKG1vZHVsZUFzc2V0SW5mby5tb2R1bGVOYW1lKSAhPT1cbiAgICAgICAgICAgICAgICAgICAgLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgYXNzZXRzLnB1c2gobW9kdWxlQXNzZXRJbmZvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFzc2V0cztcbiAgICAgICAgICAgIH0sIFtdKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYW5kbGVBc3NldHMoYXNzZXRzKSB7XG4gICAgICAgICAgICBjb25zdCBhc3NldHNSZXMgPSBhc3NldHMubWFwKChhc3NldCkgPT4gc2RrLmdldFJlc291cmNlVXJsKG1vZHVsZUluZm9TbmFwc2hvdCwgYXNzZXQpKTtcbiAgICAgICAgICAgIGlmIChwcmVsb2FkQ29uZmlnLmZpbHRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybiBhc3NldHNSZXMuZmlsdGVyKHByZWxvYWRDb25maWcuZmlsdGVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBhc3NldHNSZXM7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1vZHVsZUFzc2V0c0luZm8pIHtcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0c0xlbmd0aCA9IG1vZHVsZUFzc2V0c0luZm8ubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFzc2V0c0xlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFzc2V0c0luZm8gPSBtb2R1bGVBc3NldHNJbmZvW2luZGV4XTtcbiAgICAgICAgICAgICAgICBjb25zdCBleHBvc2VGdWxsUGF0aCA9IGAke3JlbW90ZUluZm8ubmFtZX0vJHthc3NldHNJbmZvLm1vZHVsZU5hbWV9YDtcbiAgICAgICAgICAgICAgICBvcmlnaW4ucmVtb3RlSGFuZGxlci5ob29rcy5saWZlY3ljbGUuaGFuZGxlUHJlbG9hZE1vZHVsZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgaWQ6IGFzc2V0c0luZm8ubW9kdWxlTmFtZSA9PT0gJy4nID8gcmVtb3RlSW5mby5uYW1lIDogZXhwb3NlRnVsbFBhdGgsXG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IHJlbW90ZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlU25hcHNob3Q6IG1vZHVsZUluZm9TbmFwc2hvdCxcbiAgICAgICAgICAgICAgICAgICAgcHJlbG9hZENvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlOiByZW1vdGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJlbG9hZGVkID0gZ2V0UHJlbG9hZGVkKGV4cG9zZUZ1bGxQYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAocHJlbG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocHJlbG9hZENvbmZpZy5yZXNvdXJjZUNhdGVnb3J5ID09PSAnYWxsJykge1xuICAgICAgICAgICAgICAgICAgICBjc3NBc3NldHMucHVzaCguLi5oYW5kbGVBc3NldHMoYXNzZXRzSW5mby5hc3NldHMuY3NzLmFzeW5jKSk7XG4gICAgICAgICAgICAgICAgICAgIGNzc0Fzc2V0cy5wdXNoKC4uLmhhbmRsZUFzc2V0cyhhc3NldHNJbmZvLmFzc2V0cy5jc3Muc3luYykpO1xuICAgICAgICAgICAgICAgICAgICBqc0Fzc2V0cy5wdXNoKC4uLmhhbmRsZUFzc2V0cyhhc3NldHNJbmZvLmFzc2V0cy5qcy5hc3luYykpO1xuICAgICAgICAgICAgICAgICAgICBqc0Fzc2V0cy5wdXNoKC4uLmhhbmRsZUFzc2V0cyhhc3NldHNJbmZvLmFzc2V0cy5qcy5zeW5jKSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdGFudC1jb25kaXRpb25cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoKHByZWxvYWRDb25maWcucmVzb3VyY2VDYXRlZ29yeSA9ICdzeW5jJykpIHtcbiAgICAgICAgICAgICAgICAgICAgY3NzQXNzZXRzLnB1c2goLi4uaGFuZGxlQXNzZXRzKGFzc2V0c0luZm8uYXNzZXRzLmNzcy5zeW5jKSk7XG4gICAgICAgICAgICAgICAgICAgIGpzQXNzZXRzLnB1c2goLi4uaGFuZGxlQXNzZXRzKGFzc2V0c0luZm8uYXNzZXRzLmpzLnN5bmMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2V0UHJlbG9hZGVkKGV4cG9zZUZ1bGxQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIHRydWUsIG1lbW8sIHJlbW90ZVNuYXBzaG90KTtcbiAgICBpZiAocmVtb3RlU25hcHNob3Quc2hhcmVkICYmIHJlbW90ZVNuYXBzaG90LnNoYXJlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IGNvbGxlY3RTaGFyZWRBc3NldHMgPSAoc2hhcmVJbmZvLCBzbmFwc2hvdFNoYXJlZCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVnaXN0ZXJlZFNoYXJlZCA9IGdldFJlZ2lzdGVyZWRTaGFyZShvcmlnaW4uc2hhcmVTY29wZU1hcCwgc25hcHNob3RTaGFyZWQuc2hhcmVkTmFtZSwgc2hhcmVJbmZvLCBvcmlnaW4uc2hhcmVkSGFuZGxlci5ob29rcy5saWZlY3ljbGUucmVzb2x2ZVNoYXJlKTtcbiAgICAgICAgICAgIC8vIElmIHRoZSBnbG9iYWwgc2hhcmUgZG9lcyBub3QgZXhpc3QsIG9yIHRoZSBsaWIgZnVuY3Rpb24gZG9lcyBub3QgZXhpc3QsIGl0IG1lYW5zIHRoYXQgdGhlIHNoYXJlZCBoYXMgbm90IGJlZW4gbG9hZGVkIHlldCBhbmQgY2FuIGJlIHByZWxvYWRlZC5cbiAgICAgICAgICAgIGlmIChyZWdpc3RlcmVkU2hhcmVkICYmIHR5cGVvZiByZWdpc3RlcmVkU2hhcmVkLmxpYiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHNuYXBzaG90U2hhcmVkLmFzc2V0cy5qcy5zeW5jLmZvckVhY2goKGFzc2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZFNoYXJlZEpzQXNzZXRzLmFkZChhc3NldCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgc25hcHNob3RTaGFyZWQuYXNzZXRzLmNzcy5zeW5jLmZvckVhY2goKGFzc2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxvYWRlZFNoYXJlZENzc0Fzc2V0cy5hZGQoYXNzZXQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZW1vdGVTbmFwc2hvdC5zaGFyZWQuZm9yRWFjaCgoc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzaGFyZUluZm9zID0gb3B0aW9ucy5zaGFyZWQ/LltzaGFyZWQuc2hhcmVkTmFtZV07XG4gICAgICAgICAgICBpZiAoIXNoYXJlSW5mb3MpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpZiBubyB2ZXJzaW9uLCBwcmVsb2FkIGFsbCBzaGFyZWRcbiAgICAgICAgICAgIGNvbnN0IHNoYXJlZE9wdGlvbnMgPSBzaGFyZWQudmVyc2lvblxuICAgICAgICAgICAgICAgID8gc2hhcmVJbmZvcy5maW5kKChzKSA9PiBzLnZlcnNpb24gPT09IHNoYXJlZC52ZXJzaW9uKVxuICAgICAgICAgICAgICAgIDogc2hhcmVJbmZvcztcbiAgICAgICAgICAgIGlmICghc2hhcmVkT3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFycmF5U2hhcmVJbmZvID0gYXJyYXlPcHRpb25zKHNoYXJlZE9wdGlvbnMpO1xuICAgICAgICAgICAgYXJyYXlTaGFyZUluZm8uZm9yRWFjaCgocykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbGxlY3RTaGFyZWRBc3NldHMocywgc2hhcmVkKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgbmVlZFByZWxvYWRKc0Fzc2V0cyA9IGpzQXNzZXRzLmZpbHRlcigoYXNzZXQpID0+ICFsb2FkZWRTaGFyZWRKc0Fzc2V0cy5oYXMoYXNzZXQpICYmICFpc0V4aXN0ZWQoJ3NjcmlwdCcsIGFzc2V0KSk7XG4gICAgY29uc3QgbmVlZFByZWxvYWRDc3NBc3NldHMgPSBjc3NBc3NldHMuZmlsdGVyKChhc3NldCkgPT4gIWxvYWRlZFNoYXJlZENzc0Fzc2V0cy5oYXMoYXNzZXQpICYmICFpc0V4aXN0ZWQoJ2xpbmsnLCBhc3NldCkpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGNzc0Fzc2V0czogbmVlZFByZWxvYWRDc3NBc3NldHMsXG4gICAgICAgIGpzQXNzZXRzV2l0aG91dEVudHJ5OiBuZWVkUHJlbG9hZEpzQXNzZXRzLFxuICAgICAgICBlbnRyeUFzc2V0czogZW50cnlBc3NldHMuZmlsdGVyKChlbnRyeSkgPT4gIWlzRXhpc3RlZCgnc2NyaXB0JywgZW50cnkudXJsKSksXG4gICAgfTtcbn1cbmNvbnN0IGdlbmVyYXRlUHJlbG9hZEFzc2V0c1BsdWdpbiA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAnZ2VuZXJhdGUtcHJlbG9hZC1hc3NldHMtcGx1Z2luJyxcbiAgICAgICAgYXN5bmMgZ2VuZXJhdGVQcmVsb2FkQXNzZXRzKGFyZ3MpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgb3JpZ2luLCBwcmVsb2FkT3B0aW9ucywgcmVtb3RlSW5mbywgcmVtb3RlLCBnbG9iYWxTbmFwc2hvdCwgcmVtb3RlU25hcHNob3QsIH0gPSBhcmdzO1xuICAgICAgICAgICAgaWYgKCFzZGsuaXNCcm93c2VyRW52KCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBjc3NBc3NldHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBqc0Fzc2V0c1dpdGhvdXRFbnRyeTogW10sXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5QXNzZXRzOiBbXSxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzUmVtb3RlSW5mb1dpdGhFbnRyeShyZW1vdGUpICYmIGlzUHVyZVJlbW90ZUVudHJ5KHJlbW90ZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICBjc3NBc3NldHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBqc0Fzc2V0c1dpdGhvdXRFbnRyeTogW10sXG4gICAgICAgICAgICAgICAgICAgIGVudHJ5QXNzZXRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogcmVtb3RlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZW1vdGUuZW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlSW5mbzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiByZW1vdGVJbmZvLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5OiByZW1vdGUuZW50cnksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHJlbW90ZUluZm8udHlwZSB8fCAnZ2xvYmFsJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlHbG9iYWxOYW1lOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVTY29wZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFzc2lnblJlbW90ZUluZm8ocmVtb3RlSW5mbywgcmVtb3RlU25hcHNob3QpO1xuICAgICAgICAgICAgY29uc3QgYXNzZXRzID0gZ2VuZXJhdGVQcmVsb2FkQXNzZXRzKG9yaWdpbiwgcHJlbG9hZE9wdGlvbnMsIHJlbW90ZUluZm8sIGdsb2JhbFNuYXBzaG90LCByZW1vdGVTbmFwc2hvdCk7XG4gICAgICAgICAgICByZXR1cm4gYXNzZXRzO1xuICAgICAgICB9LFxuICAgIH07XG59O1xuXG5mdW5jdGlvbiBnZXRHbG9iYWxSZW1vdGVJbmZvKG1vZHVsZUluZm8sIG9yaWdpbikge1xuICAgIGNvbnN0IGhvc3RHbG9iYWxTbmFwc2hvdCA9IGdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyh7XG4gICAgICAgIG5hbWU6IG9yaWdpbi5uYW1lLFxuICAgICAgICB2ZXJzaW9uOiBvcmlnaW4ub3B0aW9ucy52ZXJzaW9uLFxuICAgIH0pO1xuICAgIC8vIGdldCByZW1vdGUgZGV0YWlsIGluZm8gZnJvbSBnbG9iYWxcbiAgICBjb25zdCBnbG9iYWxSZW1vdGVJbmZvID0gaG9zdEdsb2JhbFNuYXBzaG90ICYmXG4gICAgICAgICdyZW1vdGVzSW5mbycgaW4gaG9zdEdsb2JhbFNuYXBzaG90ICYmXG4gICAgICAgIGhvc3RHbG9iYWxTbmFwc2hvdC5yZW1vdGVzSW5mbyAmJlxuICAgICAgICBnZXRJbmZvV2l0aG91dFR5cGUoaG9zdEdsb2JhbFNuYXBzaG90LnJlbW90ZXNJbmZvLCBtb2R1bGVJbmZvLm5hbWUpLnZhbHVlO1xuICAgIGlmIChnbG9iYWxSZW1vdGVJbmZvICYmIGdsb2JhbFJlbW90ZUluZm8ubWF0Y2hlZFZlcnNpb24pIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhvc3RHbG9iYWxTbmFwc2hvdCxcbiAgICAgICAgICAgIGdsb2JhbFNuYXBzaG90OiBnZXRHbG9iYWxTbmFwc2hvdCgpLFxuICAgICAgICAgICAgcmVtb3RlU25hcHNob3Q6IGdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyh7XG4gICAgICAgICAgICAgICAgbmFtZTogbW9kdWxlSW5mby5uYW1lLFxuICAgICAgICAgICAgICAgIHZlcnNpb246IGdsb2JhbFJlbW90ZUluZm8ubWF0Y2hlZFZlcnNpb24sXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaG9zdEdsb2JhbFNuYXBzaG90OiB1bmRlZmluZWQsXG4gICAgICAgIGdsb2JhbFNuYXBzaG90OiBnZXRHbG9iYWxTbmFwc2hvdCgpLFxuICAgICAgICByZW1vdGVTbmFwc2hvdDogZ2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKHtcbiAgICAgICAgICAgIG5hbWU6IG1vZHVsZUluZm8ubmFtZSxcbiAgICAgICAgICAgIHZlcnNpb246ICd2ZXJzaW9uJyBpbiBtb2R1bGVJbmZvID8gbW9kdWxlSW5mby52ZXJzaW9uIDogdW5kZWZpbmVkLFxuICAgICAgICB9KSxcbiAgICB9O1xufVxuY2xhc3MgU25hcHNob3RIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3RvcihIb3N0SW5zdGFuY2UpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nSG9zdFNuYXBzaG90ID0gbnVsbDtcbiAgICAgICAgdGhpcy5tYW5pZmVzdENhY2hlID0gbmV3IE1hcCgpO1xuICAgICAgICB0aGlzLmhvb2tzID0gbmV3IFBsdWdpblN5c3RlbSh7XG4gICAgICAgICAgICBiZWZvcmVMb2FkUmVtb3RlU25hcHNob3Q6IG5ldyBBc3luY0hvb2soJ2JlZm9yZUxvYWRSZW1vdGVTbmFwc2hvdCcpLFxuICAgICAgICAgICAgbG9hZFNuYXBzaG90OiBuZXcgQXN5bmNXYXRlcmZhbGxIb29rKCdsb2FkR2xvYmFsU25hcHNob3QnKSxcbiAgICAgICAgICAgIGxvYWRSZW1vdGVTbmFwc2hvdDogbmV3IEFzeW5jV2F0ZXJmYWxsSG9vaygnbG9hZFJlbW90ZVNuYXBzaG90JyksXG4gICAgICAgICAgICBhZnRlckxvYWRTbmFwc2hvdDogbmV3IEFzeW5jV2F0ZXJmYWxsSG9vaygnYWZ0ZXJMb2FkU25hcHNob3QnKSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubWFuaWZlc3RMb2FkaW5nID0gR2xvYmFsLl9fRkVERVJBVElPTl9fLl9fTUFOSUZFU1RfTE9BRElOR19fO1xuICAgICAgICB0aGlzLkhvc3RJbnN0YW5jZSA9IEhvc3RJbnN0YW5jZTtcbiAgICAgICAgdGhpcy5sb2FkZXJIb29rID0gSG9zdEluc3RhbmNlLmxvYWRlckhvb2s7XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZXMtcGVyLWZ1bmN0aW9uXG4gICAgYXN5bmMgbG9hZFJlbW90ZVNuYXBzaG90SW5mbyh7IG1vZHVsZUluZm8sIGlkLCBleHBvc2UsIH0pIHtcbiAgICAgICAgY29uc3QgeyBvcHRpb25zIH0gPSB0aGlzLkhvc3RJbnN0YW5jZTtcbiAgICAgICAgYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUuYmVmb3JlTG9hZFJlbW90ZVNuYXBzaG90LmVtaXQoe1xuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIG1vZHVsZUluZm8sXG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgaG9zdFNuYXBzaG90ID0gZ2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKHtcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuSG9zdEluc3RhbmNlLm9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgIHZlcnNpb246IHRoaXMuSG9zdEluc3RhbmNlLm9wdGlvbnMudmVyc2lvbixcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghaG9zdFNuYXBzaG90KSB7XG4gICAgICAgICAgICBob3N0U25hcHNob3QgPSB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucy52ZXJzaW9uIHx8ICcnLFxuICAgICAgICAgICAgICAgIHJlbW90ZUVudHJ5OiAnJyxcbiAgICAgICAgICAgICAgICByZW1vdGVzSW5mbzoge30sXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgYWRkR2xvYmFsU25hcHNob3Qoe1xuICAgICAgICAgICAgICAgIFt0aGlzLkhvc3RJbnN0YW5jZS5vcHRpb25zLm5hbWVdOiBob3N0U25hcHNob3QsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJbiBkeW5hbWljIGxvYWRSZW1vdGUgc2NlbmFyaW9zLCBpbmNvbXBsZXRlIHJlbW90ZXNJbmZvIGRlbGl2ZXJ5IG1heSBvY2N1ci4gSW4gc3VjaCBjYXNlcywgdGhlIHJlbW90ZXNJbmZvIGluIHRoZSBob3N0IG5lZWRzIHRvIGJlIGNvbXBsZXRlZCBpbiB0aGUgc25hcHNob3QgYXQgcnVudGltZS5cbiAgICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoZSBzbmFwc2hvdCdzIGludGVncml0eSBhbmQgaGVscHMgdGhlIGNocm9tZSBwbHVnaW4gY29ycmVjdGx5IGlkZW50aWZ5IGFsbCBwcm9kdWNlciBtb2R1bGVzLCBlbnN1cmluZyB0aGF0IHByb3h5YWJsZSBwcm9kdWNlciBtb2R1bGVzIHdpbGwgbm90IGJlIG1pc3NpbmcuXG4gICAgICAgIGlmIChob3N0U25hcHNob3QgJiZcbiAgICAgICAgICAgICdyZW1vdGVzSW5mbycgaW4gaG9zdFNuYXBzaG90ICYmXG4gICAgICAgICAgICAhZ2V0SW5mb1dpdGhvdXRUeXBlKGhvc3RTbmFwc2hvdC5yZW1vdGVzSW5mbywgbW9kdWxlSW5mby5uYW1lKS52YWx1ZSkge1xuICAgICAgICAgICAgaWYgKCd2ZXJzaW9uJyBpbiBtb2R1bGVJbmZvIHx8ICdlbnRyeScgaW4gbW9kdWxlSW5mbykge1xuICAgICAgICAgICAgICAgIGhvc3RTbmFwc2hvdC5yZW1vdGVzSW5mbyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uaG9zdFNuYXBzaG90Py5yZW1vdGVzSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgW21vZHVsZUluZm8ubmFtZV06IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZWRWZXJzaW9uOiAndmVyc2lvbicgaW4gbW9kdWxlSW5mbyA/IG1vZHVsZUluZm8udmVyc2lvbiA6IG1vZHVsZUluZm8uZW50cnksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IGhvc3RHbG9iYWxTbmFwc2hvdCwgcmVtb3RlU25hcHNob3QsIGdsb2JhbFNuYXBzaG90IH0gPSB0aGlzLmdldEdsb2JhbFJlbW90ZUluZm8obW9kdWxlSW5mbyk7XG4gICAgICAgIGNvbnN0IHsgcmVtb3RlU25hcHNob3Q6IGdsb2JhbFJlbW90ZVNuYXBzaG90LCBnbG9iYWxTbmFwc2hvdDogZ2xvYmFsU25hcHNob3RSZXMsIH0gPSBhd2FpdCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5sb2FkU25hcHNob3QuZW1pdCh7XG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgbW9kdWxlSW5mbyxcbiAgICAgICAgICAgIGhvc3RHbG9iYWxTbmFwc2hvdCxcbiAgICAgICAgICAgIHJlbW90ZVNuYXBzaG90LFxuICAgICAgICAgICAgZ2xvYmFsU25hcHNob3QsXG4gICAgICAgIH0pO1xuICAgICAgICBsZXQgbVNuYXBzaG90O1xuICAgICAgICBsZXQgZ1NuYXBzaG90O1xuICAgICAgICAvLyBnbG9iYWwgc25hcHNob3QgaW5jbHVkZXMgbWFuaWZlc3Qgb3IgbW9kdWxlIGluZm8gaW5jbHVkZXMgbWFuaWZlc3RcbiAgICAgICAgaWYgKGdsb2JhbFJlbW90ZVNuYXBzaG90KSB7XG4gICAgICAgICAgICBpZiAoc2RrLmlzTWFuaWZlc3RQcm92aWRlcihnbG9iYWxSZW1vdGVTbmFwc2hvdCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZW1vdGVFbnRyeSA9IHNkay5pc0Jyb3dzZXJFbnYoKVxuICAgICAgICAgICAgICAgICAgICA/IGdsb2JhbFJlbW90ZVNuYXBzaG90LnJlbW90ZUVudHJ5XG4gICAgICAgICAgICAgICAgICAgIDogZ2xvYmFsUmVtb3RlU25hcHNob3Quc3NyUmVtb3RlRW50cnkgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbFJlbW90ZVNuYXBzaG90LnJlbW90ZUVudHJ5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAnJztcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVTbmFwc2hvdCA9IGF3YWl0IHRoaXMuZ2V0TWFuaWZlc3RKc29uKHJlbW90ZUVudHJ5LCBtb2R1bGVJbmZvLCB7fSk7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3dcbiAgICAgICAgICAgICAgICBjb25zdCBnbG9iYWxTbmFwc2hvdFJlcyA9IHNldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyh7XG4gICAgICAgICAgICAgICAgICAgIC4uLm1vZHVsZUluZm8sXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBnbG9iYWwgcmVtb3RlIG1heSBiZSBvdmVycmlkZGVuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZXJlZm9yZSwgc2V0IHRoZSBzbmFwc2hvdCBrZXkgdG8gdGhlIGdsb2JhbCBhZGRyZXNzIG9mIHRoZSBhY3R1YWwgcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICBlbnRyeTogcmVtb3RlRW50cnksXG4gICAgICAgICAgICAgICAgfSwgbW9kdWxlU25hcHNob3QpO1xuICAgICAgICAgICAgICAgIG1TbmFwc2hvdCA9IG1vZHVsZVNuYXBzaG90O1xuICAgICAgICAgICAgICAgIGdTbmFwc2hvdCA9IGdsb2JhbFNuYXBzaG90UmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyByZW1vdGVTbmFwc2hvdDogcmVtb3RlU25hcHNob3RSZXMgfSA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmxvYWRSZW1vdGVTbmFwc2hvdC5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlSW5mbyxcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlU25hcHNob3Q6IGdsb2JhbFJlbW90ZVNuYXBzaG90LFxuICAgICAgICAgICAgICAgICAgICBmcm9tOiAnZ2xvYmFsJyxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBtU25hcHNob3QgPSByZW1vdGVTbmFwc2hvdFJlcztcbiAgICAgICAgICAgICAgICBnU25hcHNob3QgPSBnbG9iYWxTbmFwc2hvdFJlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpc1JlbW90ZUluZm9XaXRoRW50cnkobW9kdWxlSW5mbykpIHtcbiAgICAgICAgICAgICAgICAvLyBnZXQgZnJvbSBtYW5pZmVzdC5qc29uIGFuZCBtZXJnZSByZW1vdGUgaW5mbyBmcm9tIHJlbW90ZSBzZXJ2ZXJcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGVTbmFwc2hvdCA9IGF3YWl0IHRoaXMuZ2V0TWFuaWZlc3RKc29uKG1vZHVsZUluZm8uZW50cnksIG1vZHVsZUluZm8sIHt9KTtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvd1xuICAgICAgICAgICAgICAgIGNvbnN0IGdsb2JhbFNuYXBzaG90UmVzID0gc2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKG1vZHVsZUluZm8sIG1vZHVsZVNuYXBzaG90KTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHJlbW90ZVNuYXBzaG90OiByZW1vdGVTbmFwc2hvdFJlcyB9ID0gYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUubG9hZFJlbW90ZVNuYXBzaG90LmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiB0aGlzLkhvc3RJbnN0YW5jZS5vcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICBtb2R1bGVJbmZvLFxuICAgICAgICAgICAgICAgICAgICByZW1vdGVTbmFwc2hvdDogbW9kdWxlU25hcHNob3QsXG4gICAgICAgICAgICAgICAgICAgIGZyb206ICdnbG9iYWwnLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIG1TbmFwc2hvdCA9IHJlbW90ZVNuYXBzaG90UmVzO1xuICAgICAgICAgICAgICAgIGdTbmFwc2hvdCA9IGdsb2JhbFNuYXBzaG90UmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgZXJyb3IoZXJyb3JDb2Rlcy5nZXRTaG9ydEVycm9yTXNnKGVycm9yQ29kZXMuUlVOVElNRV8wMDcsIGVycm9yQ29kZXMucnVudGltZURlc2NNYXAsIHtcbiAgICAgICAgICAgICAgICAgICAgaG9zdE5hbWU6IG1vZHVsZUluZm8ubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgaG9zdFZlcnNpb246IG1vZHVsZUluZm8udmVyc2lvbixcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsU25hcHNob3Q6IEpTT04uc3RyaW5naWZ5KGdsb2JhbFNuYXBzaG90UmVzKSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUuYWZ0ZXJMb2FkU25hcHNob3QuZW1pdCh7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGhvc3Q6IHRoaXMuSG9zdEluc3RhbmNlLFxuICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgIG1vZHVsZUluZm8sXG4gICAgICAgICAgICByZW1vdGVTbmFwc2hvdDogbVNuYXBzaG90LFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlbW90ZVNuYXBzaG90OiBtU25hcHNob3QsXG4gICAgICAgICAgICBnbG9iYWxTbmFwc2hvdDogZ1NuYXBzaG90LFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXRHbG9iYWxSZW1vdGVJbmZvKG1vZHVsZUluZm8pIHtcbiAgICAgICAgcmV0dXJuIGdldEdsb2JhbFJlbW90ZUluZm8obW9kdWxlSW5mbywgdGhpcy5Ib3N0SW5zdGFuY2UpO1xuICAgIH1cbiAgICBhc3luYyBnZXRNYW5pZmVzdEpzb24obWFuaWZlc3RVcmwsIG1vZHVsZUluZm8sIGV4dHJhT3B0aW9ucykge1xuICAgICAgICBjb25zdCBnZXRNYW5pZmVzdCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGxldCBtYW5pZmVzdEpzb24gPSB0aGlzLm1hbmlmZXN0Q2FjaGUuZ2V0KG1hbmlmZXN0VXJsKTtcbiAgICAgICAgICAgIGlmIChtYW5pZmVzdEpzb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWFuaWZlc3RKc29uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBsZXQgcmVzID0gYXdhaXQgdGhpcy5sb2FkZXJIb29rLmxpZmVjeWNsZS5mZXRjaC5lbWl0KG1hbmlmZXN0VXJsLCB7fSk7XG4gICAgICAgICAgICAgICAgaWYgKCFyZXMgfHwgIShyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzID0gYXdhaXQgZmV0Y2gobWFuaWZlc3RVcmwsIHt9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbWFuaWZlc3RKc29uID0gKGF3YWl0IHJlcy5qc29uKCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIG1hbmlmZXN0SnNvbiA9XG4gICAgICAgICAgICAgICAgICAgIChhd2FpdCB0aGlzLkhvc3RJbnN0YW5jZS5yZW1vdGVIYW5kbGVyLmhvb2tzLmxpZmVjeWNsZS5lcnJvckxvYWRSZW1vdGUuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZDogbWFuaWZlc3RVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogJ3J1bnRpbWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGlmZWN5Y2xlOiAnYWZ0ZXJSZXNvbHZlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogdGhpcy5Ib3N0SW5zdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICBpZiAoIW1hbmlmZXN0SnNvbikge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5tYW5pZmVzdExvYWRpbmdbbWFuaWZlc3RVcmxdO1xuICAgICAgICAgICAgICAgICAgICBlcnJvcihlcnJvckNvZGVzLmdldFNob3J0RXJyb3JNc2coZXJyb3JDb2Rlcy5SVU5USU1FXzAwMywgZXJyb3JDb2Rlcy5ydW50aW1lRGVzY01hcCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFuaWZlc3RVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGVOYW1lOiBtb2R1bGVJbmZvLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0TmFtZTogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgICAgICAgICB9LCBgJHtlcnJ9YCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFzc2VydChtYW5pZmVzdEpzb24ubWV0YURhdGEgJiYgbWFuaWZlc3RKc29uLmV4cG9zZXMgJiYgbWFuaWZlc3RKc29uLnNoYXJlZCwgYCR7bWFuaWZlc3RVcmx9IGlzIG5vdCBhIGZlZGVyYXRpb24gbWFuaWZlc3RgKTtcbiAgICAgICAgICAgIHRoaXMubWFuaWZlc3RDYWNoZS5zZXQobWFuaWZlc3RVcmwsIG1hbmlmZXN0SnNvbik7XG4gICAgICAgICAgICByZXR1cm4gbWFuaWZlc3RKc29uO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBhc3luY0xvYWRQcm9jZXNzID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWFuaWZlc3RKc29uID0gYXdhaXQgZ2V0TWFuaWZlc3QoKTtcbiAgICAgICAgICAgIGNvbnN0IHJlbW90ZVNuYXBzaG90ID0gc2RrLmdlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QobWFuaWZlc3RKc29uLCB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjogbWFuaWZlc3RVcmwsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IHsgcmVtb3RlU25hcHNob3Q6IHJlbW90ZVNuYXBzaG90UmVzIH0gPSBhd2FpdCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5sb2FkUmVtb3RlU25hcHNob3QuZW1pdCh7XG4gICAgICAgICAgICAgICAgb3B0aW9uczogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBtb2R1bGVJbmZvLFxuICAgICAgICAgICAgICAgIG1hbmlmZXN0SnNvbixcbiAgICAgICAgICAgICAgICByZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICBtYW5pZmVzdFVybCxcbiAgICAgICAgICAgICAgICBmcm9tOiAnbWFuaWZlc3QnLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVtb3RlU25hcHNob3RSZXM7XG4gICAgICAgIH07XG4gICAgICAgIGlmICghdGhpcy5tYW5pZmVzdExvYWRpbmdbbWFuaWZlc3RVcmxdKSB7XG4gICAgICAgICAgICB0aGlzLm1hbmlmZXN0TG9hZGluZ1ttYW5pZmVzdFVybF0gPSBhc3luY0xvYWRQcm9jZXNzKCkudGhlbigocmVzKSA9PiByZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm1hbmlmZXN0TG9hZGluZ1ttYW5pZmVzdFVybF07XG4gICAgfVxufVxuXG5jbGFzcyBTaGFyZWRIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3Rvcihob3N0KSB7XG4gICAgICAgIHRoaXMuaG9va3MgPSBuZXcgUGx1Z2luU3lzdGVtKHtcbiAgICAgICAgICAgIGFmdGVyUmVzb2x2ZTogbmV3IEFzeW5jV2F0ZXJmYWxsSG9vaygnYWZ0ZXJSZXNvbHZlJyksXG4gICAgICAgICAgICBiZWZvcmVMb2FkU2hhcmU6IG5ldyBBc3luY1dhdGVyZmFsbEhvb2soJ2JlZm9yZUxvYWRTaGFyZScpLFxuICAgICAgICAgICAgLy8gbm90IHVzZWQgeWV0XG4gICAgICAgICAgICBsb2FkU2hhcmU6IG5ldyBBc3luY0hvb2soKSxcbiAgICAgICAgICAgIHJlc29sdmVTaGFyZTogbmV3IFN5bmNXYXRlcmZhbGxIb29rKCdyZXNvbHZlU2hhcmUnKSxcbiAgICAgICAgICAgIC8vIG1heWJlIHdpbGwgY2hhbmdlLCB0ZW1wb3JhcmlseSBmb3IgaW50ZXJuYWwgdXNlIG9ubHlcbiAgICAgICAgICAgIGluaXRDb250YWluZXJTaGFyZVNjb3BlTWFwOiBuZXcgU3luY1dhdGVyZmFsbEhvb2soJ2luaXRDb250YWluZXJTaGFyZVNjb3BlTWFwJyksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgICAgICB0aGlzLnNoYXJlU2NvcGVNYXAgPSB7fTtcbiAgICAgICAgdGhpcy5pbml0VG9rZW5zID0ge307XG4gICAgICAgIHRoaXMuX3NldEdsb2JhbFNoYXJlU2NvcGVNYXAoaG9zdC5vcHRpb25zKTtcbiAgICB9XG4gICAgLy8gcmVnaXN0ZXIgc2hhcmVkIGluIHNoYXJlU2NvcGVNYXBcbiAgICByZWdpc3RlclNoYXJlZChnbG9iYWxPcHRpb25zLCB1c2VyT3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IHNoYXJlSW5mb3MsIHNoYXJlZCB9ID0gZm9ybWF0U2hhcmVDb25maWdzKGdsb2JhbE9wdGlvbnMsIHVzZXJPcHRpb25zKTtcbiAgICAgICAgY29uc3Qgc2hhcmVkS2V5cyA9IE9iamVjdC5rZXlzKHNoYXJlSW5mb3MpO1xuICAgICAgICBzaGFyZWRLZXlzLmZvckVhY2goKHNoYXJlZEtleSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2hhcmVkVmFscyA9IHNoYXJlSW5mb3Nbc2hhcmVkS2V5XTtcbiAgICAgICAgICAgIHNoYXJlZFZhbHMuZm9yRWFjaCgoc2hhcmVkVmFsKSA9PiB7XG4gICAgICAgICAgICAgICAgc2hhcmVkVmFsLnNjb3BlLmZvckVhY2goKHNjKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZ2lzdGVyZWRTaGFyZWQgPSB0aGlzLnNoYXJlU2NvcGVNYXBbc2NdPy5bc2hhcmVkS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWdpc3RlcmVkU2hhcmVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNoYXJlZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnTmFtZTogc2hhcmVkS2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYjogc2hhcmVkVmFsLmxpYixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IHNoYXJlZFZhbC5nZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiBzaGFyZWRWYWwubG9hZGVkIHx8IEJvb2xlYW4oc2hhcmVkVmFsLmxpYiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOiBzaGFyZWRWYWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogdXNlck9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzaGFyZUluZm9zLFxuICAgICAgICAgICAgc2hhcmVkLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBhc3luYyBsb2FkU2hhcmUocGtnTmFtZSwgZXh0cmFPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgaG9zdCB9ID0gdGhpcztcbiAgICAgICAgLy8gVGhpcyBmdW5jdGlvbiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzOlxuICAgICAgICAvLyAxLiBDaGVja3MgaWYgdGhlIGN1cnJlbnRseSBsb2FkZWQgc2hhcmUgYWxyZWFkeSBleGlzdHMsIGlmIG5vdCwgaXQgdGhyb3dzIGFuIGVycm9yXG4gICAgICAgIC8vIDIuIFNlYXJjaGVzIGdsb2JhbGx5IGZvciBhIG1hdGNoaW5nIHNoYXJlLCBpZiBmb3VuZCwgaXQgdXNlcyBpdCBkaXJlY3RseVxuICAgICAgICAvLyAzLiBJZiBub3QgZm91bmQsIGl0IHJldHJpZXZlcyBpdCBmcm9tIHRoZSBjdXJyZW50IHNoYXJlIGFuZCBzdG9yZXMgdGhlIG9idGFpbmVkIHNoYXJlIGdsb2JhbGx5LlxuICAgICAgICBjb25zdCBzaGFyZU9wdGlvbnMgPSBnZXRUYXJnZXRTaGFyZWRPcHRpb25zKHtcbiAgICAgICAgICAgIHBrZ05hbWUsXG4gICAgICAgICAgICBleHRyYU9wdGlvbnMsXG4gICAgICAgICAgICBzaGFyZUluZm9zOiBob3N0Lm9wdGlvbnMuc2hhcmVkLFxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHNoYXJlT3B0aW9ucz8uc2NvcGUpIHtcbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKHNoYXJlT3B0aW9ucy5zY29wZS5tYXAoYXN5bmMgKHNoYXJlU2NvcGUpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0aGlzLmluaXRpYWxpemVTaGFyaW5nKHNoYXJlU2NvcGUsIHtcbiAgICAgICAgICAgICAgICAgICAgc3RyYXRlZ3k6IHNoYXJlT3B0aW9ucy5zdHJhdGVneSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxvYWRTaGFyZVJlcyA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZUxvYWRTaGFyZS5lbWl0KHtcbiAgICAgICAgICAgIHBrZ05hbWUsXG4gICAgICAgICAgICBzaGFyZUluZm86IHNoYXJlT3B0aW9ucyxcbiAgICAgICAgICAgIHNoYXJlZDogaG9zdC5vcHRpb25zLnNoYXJlZCxcbiAgICAgICAgICAgIG9yaWdpbjogaG9zdCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgc2hhcmVJbmZvOiBzaGFyZU9wdGlvbnNSZXMgfSA9IGxvYWRTaGFyZVJlcztcbiAgICAgICAgLy8gQXNzZXJ0IHRoYXQgc2hhcmVJbmZvUmVzIGV4aXN0cywgaWYgbm90LCB0aHJvdyBhbiBlcnJvclxuICAgICAgICBhc3NlcnQoc2hhcmVPcHRpb25zUmVzLCBgQ2Fubm90IGZpbmQgJHtwa2dOYW1lfSBTaGFyZSBpbiB0aGUgJHtob3N0Lm9wdGlvbnMubmFtZX0uIFBsZWFzZSBlbnN1cmUgdGhhdCB0aGUgJHtwa2dOYW1lfSBTaGFyZSBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbmplY3RlZGApO1xuICAgICAgICAvLyBSZXRyaWV2ZSBmcm9tIGNhY2hlXG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyZWRTaGFyZWQgPSBnZXRSZWdpc3RlcmVkU2hhcmUodGhpcy5zaGFyZVNjb3BlTWFwLCBwa2dOYW1lLCBzaGFyZU9wdGlvbnNSZXMsIHRoaXMuaG9va3MubGlmZWN5Y2xlLnJlc29sdmVTaGFyZSk7XG4gICAgICAgIGNvbnN0IGFkZFVzZUluID0gKHNoYXJlZCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFzaGFyZWQudXNlSW4pIHtcbiAgICAgICAgICAgICAgICBzaGFyZWQudXNlSW4gPSBbXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFkZFVuaXF1ZUl0ZW0oc2hhcmVkLnVzZUluLCBob3N0Lm9wdGlvbnMubmFtZSk7XG4gICAgICAgIH07XG4gICAgICAgIGlmIChyZWdpc3RlcmVkU2hhcmVkICYmIHJlZ2lzdGVyZWRTaGFyZWQubGliKSB7XG4gICAgICAgICAgICBhZGRVc2VJbihyZWdpc3RlcmVkU2hhcmVkKTtcbiAgICAgICAgICAgIHJldHVybiByZWdpc3RlcmVkU2hhcmVkLmxpYjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChyZWdpc3RlcmVkU2hhcmVkICYmXG4gICAgICAgICAgICByZWdpc3RlcmVkU2hhcmVkLmxvYWRpbmcgJiZcbiAgICAgICAgICAgICFyZWdpc3RlcmVkU2hhcmVkLmxvYWRlZCkge1xuICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IHJlZ2lzdGVyZWRTaGFyZWQubG9hZGluZztcbiAgICAgICAgICAgIHJlZ2lzdGVyZWRTaGFyZWQubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmICghcmVnaXN0ZXJlZFNoYXJlZC5saWIpIHtcbiAgICAgICAgICAgICAgICByZWdpc3RlcmVkU2hhcmVkLmxpYiA9IGZhY3Rvcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhZGRVc2VJbihyZWdpc3RlcmVkU2hhcmVkKTtcbiAgICAgICAgICAgIHJldHVybiBmYWN0b3J5O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHJlZ2lzdGVyZWRTaGFyZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGFzeW5jTG9hZFByb2Nlc3MgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmFjdG9yeSA9IGF3YWl0IHJlZ2lzdGVyZWRTaGFyZWQuZ2V0KCk7XG4gICAgICAgICAgICAgICAgYWRkVXNlSW4ocmVnaXN0ZXJlZFNoYXJlZCk7XG4gICAgICAgICAgICAgICAgcmVnaXN0ZXJlZFNoYXJlZC5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWRTaGFyZWQubGliID0gZmFjdG9yeTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFjdG9yeTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICBjb25zdCBsb2FkaW5nID0gYXN5bmNMb2FkUHJvY2VzcygpO1xuICAgICAgICAgICAgdGhpcy5zZXRTaGFyZWQoe1xuICAgICAgICAgICAgICAgIHBrZ05hbWUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBzaGFyZWQ6IHJlZ2lzdGVyZWRTaGFyZWQsXG4gICAgICAgICAgICAgICAgZnJvbTogaG9zdC5vcHRpb25zLm5hbWUsXG4gICAgICAgICAgICAgICAgbGliOiBudWxsLFxuICAgICAgICAgICAgICAgIGxvYWRpbmcsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBsb2FkaW5nO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKGV4dHJhT3B0aW9ucz8uY3VzdG9tU2hhcmVJbmZvKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYXN5bmNMb2FkUHJvY2VzcyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmYWN0b3J5ID0gYXdhaXQgc2hhcmVPcHRpb25zUmVzLmdldCgpO1xuICAgICAgICAgICAgICAgIHNoYXJlT3B0aW9uc1Jlcy5saWIgPSBmYWN0b3J5O1xuICAgICAgICAgICAgICAgIHNoYXJlT3B0aW9uc1Jlcy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGFkZFVzZUluKHNoYXJlT3B0aW9uc1Jlcyk7XG4gICAgICAgICAgICAgICAgY29uc3QgZ1NoYXJlZCA9IGdldFJlZ2lzdGVyZWRTaGFyZSh0aGlzLnNoYXJlU2NvcGVNYXAsIHBrZ05hbWUsIHNoYXJlT3B0aW9uc1JlcywgdGhpcy5ob29rcy5saWZlY3ljbGUucmVzb2x2ZVNoYXJlKTtcbiAgICAgICAgICAgICAgICBpZiAoZ1NoYXJlZCkge1xuICAgICAgICAgICAgICAgICAgICBnU2hhcmVkLmxpYiA9IGZhY3Rvcnk7XG4gICAgICAgICAgICAgICAgICAgIGdTaGFyZWQubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgZ1NoYXJlZC5mcm9tID0gc2hhcmVPcHRpb25zUmVzLmZyb207XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWN0b3J5O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGxvYWRpbmcgPSBhc3luY0xvYWRQcm9jZXNzKCk7XG4gICAgICAgICAgICB0aGlzLnNldFNoYXJlZCh7XG4gICAgICAgICAgICAgICAgcGtnTmFtZSxcbiAgICAgICAgICAgICAgICBsb2FkZWQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHNoYXJlZDogc2hhcmVPcHRpb25zUmVzLFxuICAgICAgICAgICAgICAgIGZyb206IGhvc3Qub3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgICAgIGxpYjogbnVsbCxcbiAgICAgICAgICAgICAgICBsb2FkaW5nLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gbG9hZGluZztcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGlzIGZ1bmN0aW9uIGluaXRpYWxpemVzIHRoZSBzaGFyaW5nIHNlcXVlbmNlIChleGVjdXRlZCBvbmx5IG9uY2UgcGVyIHNoYXJlIHNjb3BlKS5cbiAgICAgKiBJdCBhY2NlcHRzIG9uZSBhcmd1bWVudCwgdGhlIG5hbWUgb2YgdGhlIHNoYXJlIHNjb3BlLlxuICAgICAqIElmIHRoZSBzaGFyZSBzY29wZSBkb2VzIG5vdCBleGlzdCwgaXQgY3JlYXRlcyBvbmUuXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9tZW1iZXItb3JkZXJpbmdcbiAgICBpbml0aWFsaXplU2hhcmluZyhzaGFyZVNjb3BlTmFtZSA9IERFRkFVTFRfU0NPUEUsIGV4dHJhT3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGhvc3QgfSA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGZyb20gPSBleHRyYU9wdGlvbnM/LmZyb207XG4gICAgICAgIGNvbnN0IHN0cmF0ZWd5ID0gZXh0cmFPcHRpb25zPy5zdHJhdGVneTtcbiAgICAgICAgbGV0IGluaXRTY29wZSA9IGV4dHJhT3B0aW9ucz8uaW5pdFNjb3BlO1xuICAgICAgICBjb25zdCBwcm9taXNlcyA9IFtdO1xuICAgICAgICBpZiAoZnJvbSAhPT0gJ2J1aWxkJykge1xuICAgICAgICAgICAgY29uc3QgeyBpbml0VG9rZW5zIH0gPSB0aGlzO1xuICAgICAgICAgICAgaWYgKCFpbml0U2NvcGUpXG4gICAgICAgICAgICAgICAgaW5pdFNjb3BlID0gW107XG4gICAgICAgICAgICBsZXQgaW5pdFRva2VuID0gaW5pdFRva2Vuc1tzaGFyZVNjb3BlTmFtZV07XG4gICAgICAgICAgICBpZiAoIWluaXRUb2tlbilcbiAgICAgICAgICAgICAgICBpbml0VG9rZW4gPSBpbml0VG9rZW5zW3NoYXJlU2NvcGVOYW1lXSA9IHsgZnJvbTogdGhpcy5ob3N0Lm5hbWUgfTtcbiAgICAgICAgICAgIGlmIChpbml0U2NvcGUuaW5kZXhPZihpbml0VG9rZW4pID49IDApXG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VzO1xuICAgICAgICAgICAgaW5pdFNjb3BlLnB1c2goaW5pdFRva2VuKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzaGFyZVNjb3BlID0gdGhpcy5zaGFyZVNjb3BlTWFwO1xuICAgICAgICBjb25zdCBob3N0TmFtZSA9IGhvc3Qub3B0aW9ucy5uYW1lO1xuICAgICAgICAvLyBDcmVhdGVzIGEgbmV3IHNoYXJlIHNjb3BlIGlmIG5lY2Vzc2FyeVxuICAgICAgICBpZiAoIXNoYXJlU2NvcGVbc2hhcmVTY29wZU5hbWVdKSB7XG4gICAgICAgICAgICBzaGFyZVNjb3BlW3NoYXJlU2NvcGVOYW1lXSA9IHt9O1xuICAgICAgICB9XG4gICAgICAgIC8vIEV4ZWN1dGVzIGFsbCBpbml0aWFsaXphdGlvbiBzbmlwcGV0cyBmcm9tIGFsbCBhY2Nlc3NpYmxlIG1vZHVsZXNcbiAgICAgICAgY29uc3Qgc2NvcGUgPSBzaGFyZVNjb3BlW3NoYXJlU2NvcGVOYW1lXTtcbiAgICAgICAgY29uc3QgcmVnaXN0ZXIgPSAobmFtZSwgc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHZlcnNpb24sIGVhZ2VyIH0gPSBzaGFyZWQ7XG4gICAgICAgICAgICBzY29wZVtuYW1lXSA9IHNjb3BlW25hbWVdIHx8IHt9O1xuICAgICAgICAgICAgY29uc3QgdmVyc2lvbnMgPSBzY29wZVtuYW1lXTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVZlcnNpb24gPSB2ZXJzaW9uc1t2ZXJzaW9uXTtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZVZlcnNpb25FYWdlciA9IEJvb2xlYW4oYWN0aXZlVmVyc2lvbiAmJlxuICAgICAgICAgICAgICAgIChhY3RpdmVWZXJzaW9uLmVhZ2VyIHx8IGFjdGl2ZVZlcnNpb24uc2hhcmVDb25maWc/LmVhZ2VyKSk7XG4gICAgICAgICAgICBpZiAoIWFjdGl2ZVZlcnNpb24gfHxcbiAgICAgICAgICAgICAgICAoYWN0aXZlVmVyc2lvbi5zdHJhdGVneSAhPT0gJ2xvYWRlZC1maXJzdCcgJiZcbiAgICAgICAgICAgICAgICAgICAgIWFjdGl2ZVZlcnNpb24ubG9hZGVkICYmXG4gICAgICAgICAgICAgICAgICAgIChCb29sZWFuKCFlYWdlcikgIT09ICFhY3RpdmVWZXJzaW9uRWFnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZWFnZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaG9zdE5hbWUgPiBhY3RpdmVWZXJzaW9uLmZyb20pKSkge1xuICAgICAgICAgICAgICAgIHZlcnNpb25zW3ZlcnNpb25dID0gc2hhcmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBpbml0Rm4gPSAobW9kKSA9PiBtb2QgJiYgbW9kLmluaXQgJiYgbW9kLmluaXQoc2hhcmVTY29wZVtzaGFyZVNjb3BlTmFtZV0sIGluaXRTY29wZSk7XG4gICAgICAgIGNvbnN0IGluaXRSZW1vdGVNb2R1bGUgPSBhc3luYyAoa2V5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IG1vZHVsZSB9ID0gYXdhaXQgaG9zdC5yZW1vdGVIYW5kbGVyLmdldFJlbW90ZU1vZHVsZUFuZE9wdGlvbnMoe1xuICAgICAgICAgICAgICAgIGlkOiBrZXksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChtb2R1bGUuZ2V0RW50cnkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVtb3RlRW50cnlFeHBvcnRzO1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZUVudHJ5RXhwb3J0cyA9IGF3YWl0IG1vZHVsZS5nZXRFbnRyeSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlRW50cnlFeHBvcnRzID1cbiAgICAgICAgICAgICAgICAgICAgICAgIChhd2FpdCBob3N0LnJlbW90ZUhhbmRsZXIuaG9va3MubGlmZWN5Y2xlLmVycm9yTG9hZFJlbW90ZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDoga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb206ICdydW50aW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWZlY3ljbGU6ICdiZWZvcmVMb2FkU2hhcmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogaG9zdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFtb2R1bGUuaW5pdGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IGluaXRGbihyZW1vdGVFbnRyeUV4cG9ydHMpO1xuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuaW5pdGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIE9iamVjdC5rZXlzKGhvc3Qub3B0aW9ucy5zaGFyZWQpLmZvckVhY2goKHNoYXJlTmFtZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2hhcmVkQXJyID0gaG9zdC5vcHRpb25zLnNoYXJlZFtzaGFyZU5hbWVdO1xuICAgICAgICAgICAgc2hhcmVkQXJyLmZvckVhY2goKHNoYXJlZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaGFyZWQuc2NvcGUuaW5jbHVkZXMoc2hhcmVTY29wZU5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyKHNoYXJlTmFtZSwgc2hhcmVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFRPRE86IHN0cmF0ZWd5PT09J3ZlcnNpb24tZmlyc3QnIG5lZWQgdG8gYmUgcmVtb3ZlZCBpbiB0aGUgZnV0dXJlXG4gICAgICAgIGlmIChob3N0Lm9wdGlvbnMuc2hhcmVTdHJhdGVneSA9PT0gJ3ZlcnNpb24tZmlyc3QnIHx8XG4gICAgICAgICAgICBzdHJhdGVneSA9PT0gJ3ZlcnNpb24tZmlyc3QnKSB7XG4gICAgICAgICAgICBob3N0Lm9wdGlvbnMucmVtb3Rlcy5mb3JFYWNoKChyZW1vdGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVtb3RlLnNoYXJlU2NvcGUgPT09IHNoYXJlU2NvcGVOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb21pc2VzLnB1c2goaW5pdFJlbW90ZU1vZHVsZShyZW1vdGUubmFtZSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcm9taXNlcztcbiAgICB9XG4gICAgLy8gVGhlIGxpYiBmdW5jdGlvbiB3aWxsIG9ubHkgYmUgYXZhaWxhYmxlIGlmIHRoZSBzaGFyZWQgc2V0IGJ5IGVhZ2VyIG9yIHJ1bnRpbWUgaW5pdCBpcyBzZXQgb3IgdGhlIHNoYXJlZCBpcyBzdWNjZXNzZnVsbHkgbG9hZGVkLlxuICAgIC8vIDEuIElmIHRoZSBsb2FkZWQgc2hhcmVkIGFscmVhZHkgZXhpc3RzIGdsb2JhbGx5LCB0aGVuIGl0IHdpbGwgYmUgcmV1c2VkXG4gICAgLy8gMi4gSWYgbGliIGV4aXN0cyBpbiBsb2NhbCBzaGFyZWQsIGl0IHdpbGwgYmUgdXNlZCBkaXJlY3RseVxuICAgIC8vIDMuIElmIHRoZSBsb2NhbCBnZXQgcmV0dXJucyBzb21ldGhpbmcgb3RoZXIgdGhhbiBQcm9taXNlLCB0aGVuIGl0IHdpbGwgYmUgdXNlZCBkaXJlY3RseVxuICAgIGxvYWRTaGFyZVN5bmMocGtnTmFtZSwgZXh0cmFPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgaG9zdCB9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgc2hhcmVPcHRpb25zID0gZ2V0VGFyZ2V0U2hhcmVkT3B0aW9ucyh7XG4gICAgICAgICAgICBwa2dOYW1lLFxuICAgICAgICAgICAgZXh0cmFPcHRpb25zLFxuICAgICAgICAgICAgc2hhcmVJbmZvczogaG9zdC5vcHRpb25zLnNoYXJlZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChzaGFyZU9wdGlvbnM/LnNjb3BlKSB7XG4gICAgICAgICAgICBzaGFyZU9wdGlvbnMuc2NvcGUuZm9yRWFjaCgoc2hhcmVTY29wZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZVNoYXJpbmcoc2hhcmVTY29wZSwgeyBzdHJhdGVneTogc2hhcmVPcHRpb25zLnN0cmF0ZWd5IH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVnaXN0ZXJlZFNoYXJlZCA9IGdldFJlZ2lzdGVyZWRTaGFyZSh0aGlzLnNoYXJlU2NvcGVNYXAsIHBrZ05hbWUsIHNoYXJlT3B0aW9ucywgdGhpcy5ob29rcy5saWZlY3ljbGUucmVzb2x2ZVNoYXJlKTtcbiAgICAgICAgY29uc3QgYWRkVXNlSW4gPSAoc2hhcmVkKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXNoYXJlZC51c2VJbikge1xuICAgICAgICAgICAgICAgIHNoYXJlZC51c2VJbiA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYWRkVW5pcXVlSXRlbShzaGFyZWQudXNlSW4sIGhvc3Qub3B0aW9ucy5uYW1lKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHJlZ2lzdGVyZWRTaGFyZWQpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVnaXN0ZXJlZFNoYXJlZC5saWIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBhZGRVc2VJbihyZWdpc3RlcmVkU2hhcmVkKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlZ2lzdGVyZWRTaGFyZWQubG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWRTaGFyZWQubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlZ2lzdGVyZWRTaGFyZWQuZnJvbSA9PT0gaG9zdC5vcHRpb25zLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlT3B0aW9ucy5sb2FkZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZWdpc3RlcmVkU2hhcmVkLmxpYjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVnaXN0ZXJlZFNoYXJlZC5nZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtb2R1bGUgPSByZWdpc3RlcmVkU2hhcmVkLmdldCgpO1xuICAgICAgICAgICAgICAgIGlmICghKG1vZHVsZSBpbnN0YW5jZW9mIFByb21pc2UpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFkZFVzZUluKHJlZ2lzdGVyZWRTaGFyZWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldFNoYXJlZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwa2dOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbTogaG9zdC5vcHRpb25zLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaWI6IG1vZHVsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDogcmVnaXN0ZXJlZFNoYXJlZCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzaGFyZU9wdGlvbnMubGliKSB7XG4gICAgICAgICAgICBpZiAoIXNoYXJlT3B0aW9ucy5sb2FkZWQpIHtcbiAgICAgICAgICAgICAgICBzaGFyZU9wdGlvbnMubG9hZGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzaGFyZU9wdGlvbnMubGliO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzaGFyZU9wdGlvbnMuZ2V0KSB7XG4gICAgICAgICAgICBjb25zdCBtb2R1bGUgPSBzaGFyZU9wdGlvbnMuZ2V0KCk7XG4gICAgICAgICAgICBpZiAobW9kdWxlIGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yQ29kZSA9IGV4dHJhT3B0aW9ucz8uZnJvbSA9PT0gJ2J1aWxkJyA/IGVycm9yQ29kZXMuUlVOVElNRV8wMDUgOiBlcnJvckNvZGVzLlJVTlRJTUVfMDA2O1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvckNvZGVzLmdldFNob3J0RXJyb3JNc2coZXJyb3JDb2RlLCBlcnJvckNvZGVzLnJ1bnRpbWVEZXNjTWFwLCB7XG4gICAgICAgICAgICAgICAgICAgIGhvc3ROYW1lOiBob3N0Lm9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVkUGtnTmFtZTogcGtnTmFtZSxcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzaGFyZU9wdGlvbnMubGliID0gbW9kdWxlO1xuICAgICAgICAgICAgdGhpcy5zZXRTaGFyZWQoe1xuICAgICAgICAgICAgICAgIHBrZ05hbWUsXG4gICAgICAgICAgICAgICAgbG9hZGVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIGZyb206IGhvc3Qub3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgICAgIGxpYjogc2hhcmVPcHRpb25zLmxpYixcbiAgICAgICAgICAgICAgICBzaGFyZWQ6IHNoYXJlT3B0aW9ucyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHNoYXJlT3B0aW9ucy5saWI7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yQ29kZXMuZ2V0U2hvcnRFcnJvck1zZyhlcnJvckNvZGVzLlJVTlRJTUVfMDA2LCBlcnJvckNvZGVzLnJ1bnRpbWVEZXNjTWFwLCB7XG4gICAgICAgICAgICBob3N0TmFtZTogaG9zdC5vcHRpb25zLm5hbWUsXG4gICAgICAgICAgICBzaGFyZWRQa2dOYW1lOiBwa2dOYW1lLFxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGluaXRTaGFyZVNjb3BlTWFwKHNjb3BlTmFtZSwgc2hhcmVTY29wZSwgZXh0cmFPcHRpb25zID0ge30pIHtcbiAgICAgICAgY29uc3QgeyBob3N0IH0gPSB0aGlzO1xuICAgICAgICB0aGlzLnNoYXJlU2NvcGVNYXBbc2NvcGVOYW1lXSA9IHNoYXJlU2NvcGU7XG4gICAgICAgIHRoaXMuaG9va3MubGlmZWN5Y2xlLmluaXRDb250YWluZXJTaGFyZVNjb3BlTWFwLmVtaXQoe1xuICAgICAgICAgICAgc2hhcmVTY29wZSxcbiAgICAgICAgICAgIG9wdGlvbnM6IGhvc3Qub3B0aW9ucyxcbiAgICAgICAgICAgIG9yaWdpbjogaG9zdCxcbiAgICAgICAgICAgIHNjb3BlTmFtZSxcbiAgICAgICAgICAgIGhvc3RTaGFyZVNjb3BlTWFwOiBleHRyYU9wdGlvbnMuaG9zdFNoYXJlU2NvcGVNYXAsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzZXRTaGFyZWQoeyBwa2dOYW1lLCBzaGFyZWQsIGZyb20sIGxpYiwgbG9hZGluZywgbG9hZGVkLCBnZXQsIH0pIHtcbiAgICAgICAgY29uc3QgeyB2ZXJzaW9uLCBzY29wZSA9ICdkZWZhdWx0JywgLi4uc2hhcmVJbmZvIH0gPSBzaGFyZWQ7XG4gICAgICAgIGNvbnN0IHNjb3BlcyA9IEFycmF5LmlzQXJyYXkoc2NvcGUpID8gc2NvcGUgOiBbc2NvcGVdO1xuICAgICAgICBzY29wZXMuZm9yRWFjaCgoc2MpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5zaGFyZVNjb3BlTWFwW3NjXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVTY29wZU1hcFtzY10gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5zaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVTY29wZU1hcFtzY11bcGtnTmFtZV0gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghdGhpcy5zaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXVt2ZXJzaW9uXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVTY29wZU1hcFtzY11bcGtnTmFtZV1bdmVyc2lvbl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgIHNjb3BlOiBbc2NdLFxuICAgICAgICAgICAgICAgICAgICAuLi5zaGFyZUluZm8sXG4gICAgICAgICAgICAgICAgICAgIGxpYixcbiAgICAgICAgICAgICAgICAgICAgbG9hZGVkLFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGdldCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlU2NvcGVNYXBbc2NdW3BrZ05hbWVdW3ZlcnNpb25dLmdldCA9IGdldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcmVnaXN0ZXJlZFNoYXJlZCA9IHRoaXMuc2hhcmVTY29wZU1hcFtzY11bcGtnTmFtZV1bdmVyc2lvbl07XG4gICAgICAgICAgICBpZiAobG9hZGluZyAmJiAhcmVnaXN0ZXJlZFNoYXJlZC5sb2FkaW5nKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0ZXJlZFNoYXJlZC5sb2FkaW5nID0gbG9hZGluZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsb2FkZWQgJiYgIXJlZ2lzdGVyZWRTaGFyZWQubG9hZGVkKSB7XG4gICAgICAgICAgICAgICAgcmVnaXN0ZXJlZFNoYXJlZC5sb2FkZWQgPSBsb2FkZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZnJvbSAmJiByZWdpc3RlcmVkU2hhcmVkLmZyb20gIT09IGZyb20pIHtcbiAgICAgICAgICAgICAgICByZWdpc3RlcmVkU2hhcmVkLmZyb20gPSBmcm9tO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgX3NldEdsb2JhbFNoYXJlU2NvcGVNYXAoaG9zdE9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgZ2xvYmFsU2hhcmVTY29wZU1hcCA9IGdldEdsb2JhbFNoYXJlU2NvcGUoKTtcbiAgICAgICAgY29uc3QgaWRlbnRpZmllciA9IGhvc3RPcHRpb25zLmlkIHx8IGhvc3RPcHRpb25zLm5hbWU7XG4gICAgICAgIGlmIChpZGVudGlmaWVyICYmICFnbG9iYWxTaGFyZVNjb3BlTWFwW2lkZW50aWZpZXJdKSB7XG4gICAgICAgICAgICBnbG9iYWxTaGFyZVNjb3BlTWFwW2lkZW50aWZpZXJdID0gdGhpcy5zaGFyZVNjb3BlTWFwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5jbGFzcyBSZW1vdGVIYW5kbGVyIHtcbiAgICBjb25zdHJ1Y3Rvcihob3N0KSB7XG4gICAgICAgIHRoaXMuaG9va3MgPSBuZXcgUGx1Z2luU3lzdGVtKHtcbiAgICAgICAgICAgIGJlZm9yZVJlZ2lzdGVyUmVtb3RlOiBuZXcgU3luY1dhdGVyZmFsbEhvb2soJ2JlZm9yZVJlZ2lzdGVyUmVtb3RlJyksXG4gICAgICAgICAgICByZWdpc3RlclJlbW90ZTogbmV3IFN5bmNXYXRlcmZhbGxIb29rKCdyZWdpc3RlclJlbW90ZScpLFxuICAgICAgICAgICAgYmVmb3JlUmVxdWVzdDogbmV3IEFzeW5jV2F0ZXJmYWxsSG9vaygnYmVmb3JlUmVxdWVzdCcpLFxuICAgICAgICAgICAgb25Mb2FkOiBuZXcgQXN5bmNIb29rKCdvbkxvYWQnKSxcbiAgICAgICAgICAgIGhhbmRsZVByZWxvYWRNb2R1bGU6IG5ldyBTeW5jSG9vaygnaGFuZGxlUHJlbG9hZE1vZHVsZScpLFxuICAgICAgICAgICAgZXJyb3JMb2FkUmVtb3RlOiBuZXcgQXN5bmNIb29rKCdlcnJvckxvYWRSZW1vdGUnKSxcbiAgICAgICAgICAgIGJlZm9yZVByZWxvYWRSZW1vdGU6IG5ldyBBc3luY0hvb2soJ2JlZm9yZVByZWxvYWRSZW1vdGUnKSxcbiAgICAgICAgICAgIGdlbmVyYXRlUHJlbG9hZEFzc2V0czogbmV3IEFzeW5jSG9vaygnZ2VuZXJhdGVQcmVsb2FkQXNzZXRzJyksXG4gICAgICAgICAgICAvLyBub3QgdXNlZCB5ZXRcbiAgICAgICAgICAgIGFmdGVyUHJlbG9hZFJlbW90ZTogbmV3IEFzeW5jSG9vaygpLFxuICAgICAgICAgICAgbG9hZEVudHJ5OiBuZXcgQXN5bmNIb29rKCksXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmhvc3QgPSBob3N0O1xuICAgICAgICB0aGlzLmlkVG9SZW1vdGVNYXAgPSB7fTtcbiAgICB9XG4gICAgZm9ybWF0QW5kUmVnaXN0ZXJSZW1vdGUoZ2xvYmFsT3B0aW9ucywgdXNlck9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgdXNlclJlbW90ZXMgPSB1c2VyT3B0aW9ucy5yZW1vdGVzIHx8IFtdO1xuICAgICAgICByZXR1cm4gdXNlclJlbW90ZXMucmVkdWNlKChyZXMsIHJlbW90ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlclJlbW90ZShyZW1vdGUsIHJlcywgeyBmb3JjZTogZmFsc2UgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9LCBnbG9iYWxPcHRpb25zLnJlbW90ZXMpO1xuICAgIH1cbiAgICBzZXRJZFRvUmVtb3RlTWFwKGlkLCByZW1vdGVNYXRjaEluZm8pIHtcbiAgICAgICAgY29uc3QgeyByZW1vdGUsIGV4cG9zZSB9ID0gcmVtb3RlTWF0Y2hJbmZvO1xuICAgICAgICBjb25zdCB7IG5hbWUsIGFsaWFzIH0gPSByZW1vdGU7XG4gICAgICAgIHRoaXMuaWRUb1JlbW90ZU1hcFtpZF0gPSB7IG5hbWU6IHJlbW90ZS5uYW1lLCBleHBvc2UgfTtcbiAgICAgICAgaWYgKGFsaWFzICYmIGlkLnN0YXJ0c1dpdGgobmFtZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlkV2l0aEFsaWFzID0gaWQucmVwbGFjZShuYW1lLCBhbGlhcyk7XG4gICAgICAgICAgICB0aGlzLmlkVG9SZW1vdGVNYXBbaWRXaXRoQWxpYXNdID0geyBuYW1lOiByZW1vdGUubmFtZSwgZXhwb3NlIH07XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGFsaWFzICYmIGlkLnN0YXJ0c1dpdGgoYWxpYXMpKSB7XG4gICAgICAgICAgICBjb25zdCBpZFdpdGhOYW1lID0gaWQucmVwbGFjZShhbGlhcywgbmFtZSk7XG4gICAgICAgICAgICB0aGlzLmlkVG9SZW1vdGVNYXBbaWRXaXRoTmFtZV0gPSB7IG5hbWU6IHJlbW90ZS5uYW1lLCBleHBvc2UgfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmVzLXBlci1mdW5jdGlvblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgYXN5bmMgbG9hZFJlbW90ZShpZCwgb3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGhvc3QgfSA9IHRoaXM7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGxvYWRGYWN0b3J5ID0gdHJ1ZSB9ID0gb3B0aW9ucyB8fCB7XG4gICAgICAgICAgICAgICAgbG9hZEZhY3Rvcnk6IHRydWUsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgLy8gMS4gVmFsaWRhdGUgdGhlIHBhcmFtZXRlcnMgb2YgdGhlIHJldHJpZXZlZCBtb2R1bGUuIFRoZXJlIGFyZSB0d28gbW9kdWxlIHJlcXVlc3QgbWV0aG9kczogcGtnTmFtZSArIGV4cG9zZSBhbmQgYWxpYXMgKyBleHBvc2UuXG4gICAgICAgICAgICAvLyAyLiBSZXF1ZXN0IHRoZSBzbmFwc2hvdCBpbmZvcm1hdGlvbiBvZiB0aGUgY3VycmVudCBob3N0IGFuZCBnbG9iYWxseSBzdG9yZSB0aGUgb2J0YWluZWQgc25hcHNob3QgaW5mb3JtYXRpb24uIFRoZSByZXRyaWV2ZWQgbW9kdWxlIGluZm9ybWF0aW9uIGlzIHBhcnRpYWxseSBvZmZsaW5lIGFuZCBwYXJ0aWFsbHkgb25saW5lLiBUaGUgb25saW5lIG1vZHVsZSBpbmZvcm1hdGlvbiB3aWxsIHJldHJpZXZlIHRoZSBtb2R1bGVzIHVzZWQgb25saW5lLlxuICAgICAgICAgICAgLy8gMy4gUmV0cmlldmUgdGhlIGRldGFpbGVkIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50IG1vZHVsZSBmcm9tIGdsb2JhbCAocmVtb3RlRW50cnkgYWRkcmVzcywgZXhwb3NlIHJlc291cmNlIGFkZHJlc3MpXG4gICAgICAgICAgICAvLyA0LiBBZnRlciByZXRyaWV2aW5nIHJlbW90ZUVudHJ5LCBjYWxsIHRoZSBpbml0IG9mIHRoZSBtb2R1bGUsIGFuZCB0aGVuIHJldHJpZXZlIHRoZSBleHBvcnRlZCBjb250ZW50IG9mIHRoZSBtb2R1bGUgdGhyb3VnaCBnZXRcbiAgICAgICAgICAgIC8vIGlkOiBwa2dOYW1lKEBmZWRlcmF0aW9uL2FwcDEpICsgZXhwb3NlKGJ1dHRvbikgPSBAZmVkZXJhdGlvbi9hcHAxL2J1dHRvblxuICAgICAgICAgICAgLy8gaWQ6IGFsaWFzKGFwcDEpICsgZXhwb3NlKGJ1dHRvbikgPSBhcHAxL2J1dHRvblxuICAgICAgICAgICAgLy8gaWQ6IGFsaWFzKGFwcDEvdXRpbHMpICsgZXhwb3NlKGxvYWRhc2gvc29ydCkgPSBhcHAxL3V0aWxzL2xvYWRhc2gvc29ydFxuICAgICAgICAgICAgY29uc3QgeyBtb2R1bGUsIG1vZHVsZU9wdGlvbnMsIHJlbW90ZU1hdGNoSW5mbyB9ID0gYXdhaXQgdGhpcy5nZXRSZW1vdGVNb2R1bGVBbmRPcHRpb25zKHtcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgeyBwa2dOYW1lT3JBbGlhcywgcmVtb3RlLCBleHBvc2UsIGlkOiBpZFJlcywgcmVtb3RlU25hcHNob3QsIH0gPSByZW1vdGVNYXRjaEluZm87XG4gICAgICAgICAgICBjb25zdCBtb2R1bGVPckZhY3RvcnkgPSAoYXdhaXQgbW9kdWxlLmdldChpZFJlcywgZXhwb3NlLCBvcHRpb25zLCByZW1vdGVTbmFwc2hvdCkpO1xuICAgICAgICAgICAgY29uc3QgbW9kdWxlV3JhcHBlciA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLm9uTG9hZC5lbWl0KHtcbiAgICAgICAgICAgICAgICBpZDogaWRSZXMsXG4gICAgICAgICAgICAgICAgcGtnTmFtZU9yQWxpYXMsXG4gICAgICAgICAgICAgICAgZXhwb3NlLFxuICAgICAgICAgICAgICAgIGV4cG9zZU1vZHVsZTogbG9hZEZhY3RvcnkgPyBtb2R1bGVPckZhY3RvcnkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgZXhwb3NlTW9kdWxlRmFjdG9yeTogbG9hZEZhY3RvcnkgPyB1bmRlZmluZWQgOiBtb2R1bGVPckZhY3RvcnksXG4gICAgICAgICAgICAgICAgcmVtb3RlLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IG1vZHVsZU9wdGlvbnMsXG4gICAgICAgICAgICAgICAgbW9kdWxlSW5zdGFuY2U6IG1vZHVsZSxcbiAgICAgICAgICAgICAgICBvcmlnaW46IGhvc3QsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2V0SWRUb1JlbW90ZU1hcChpZCwgcmVtb3RlTWF0Y2hJbmZvKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgbW9kdWxlV3JhcHBlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBtb2R1bGVXcmFwcGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG1vZHVsZU9yRmFjdG9yeTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZnJvbSA9ICdydW50aW1lJyB9ID0gb3B0aW9ucyB8fCB7IGZyb206ICdydW50aW1lJyB9O1xuICAgICAgICAgICAgY29uc3QgZmFpbE92ZXIgPSBhd2FpdCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5lcnJvckxvYWRSZW1vdGUuZW1pdCh7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICAgICAgZnJvbSxcbiAgICAgICAgICAgICAgICBsaWZlY3ljbGU6ICdvbkxvYWQnLFxuICAgICAgICAgICAgICAgIG9yaWdpbjogaG9zdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFmYWlsT3Zlcikge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhaWxPdmVyO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgYXN5bmMgcHJlbG9hZFJlbW90ZShwcmVsb2FkT3B0aW9ucykge1xuICAgICAgICBjb25zdCB7IGhvc3QgfSA9IHRoaXM7XG4gICAgICAgIGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZVByZWxvYWRSZW1vdGUuZW1pdCh7XG4gICAgICAgICAgICBwcmVsb2FkT3BzOiBwcmVsb2FkT3B0aW9ucyxcbiAgICAgICAgICAgIG9wdGlvbnM6IGhvc3Qub3B0aW9ucyxcbiAgICAgICAgICAgIG9yaWdpbjogaG9zdCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHByZWxvYWRPcHMgPSBmb3JtYXRQcmVsb2FkQXJncyhob3N0Lm9wdGlvbnMucmVtb3RlcywgcHJlbG9hZE9wdGlvbnMpO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChwcmVsb2FkT3BzLm1hcChhc3luYyAob3BzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IHJlbW90ZSB9ID0gb3BzO1xuICAgICAgICAgICAgY29uc3QgcmVtb3RlSW5mbyA9IGdldFJlbW90ZUluZm8ocmVtb3RlKTtcbiAgICAgICAgICAgIGNvbnN0IHsgZ2xvYmFsU25hcHNob3QsIHJlbW90ZVNuYXBzaG90IH0gPSBhd2FpdCBob3N0LnNuYXBzaG90SGFuZGxlci5sb2FkUmVtb3RlU25hcHNob3RJbmZvKHtcbiAgICAgICAgICAgICAgICBtb2R1bGVJbmZvOiByZW1vdGUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnN0IGFzc2V0cyA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmdlbmVyYXRlUHJlbG9hZEFzc2V0cy5lbWl0KHtcbiAgICAgICAgICAgICAgICBvcmlnaW46IGhvc3QsXG4gICAgICAgICAgICAgICAgcHJlbG9hZE9wdGlvbnM6IG9wcyxcbiAgICAgICAgICAgICAgICByZW1vdGUsXG4gICAgICAgICAgICAgICAgcmVtb3RlSW5mbyxcbiAgICAgICAgICAgICAgICBnbG9iYWxTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICByZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKCFhc3NldHMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmVsb2FkQXNzZXRzKHJlbW90ZUluZm8sIGhvc3QsIGFzc2V0cyk7XG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgcmVnaXN0ZXJSZW1vdGVzKHJlbW90ZXMsIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBob3N0IH0gPSB0aGlzO1xuICAgICAgICByZW1vdGVzLmZvckVhY2goKHJlbW90ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZWdpc3RlclJlbW90ZShyZW1vdGUsIGhvc3Qub3B0aW9ucy5yZW1vdGVzLCB7XG4gICAgICAgICAgICAgICAgZm9yY2U6IG9wdGlvbnM/LmZvcmNlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBhc3luYyBnZXRSZW1vdGVNb2R1bGVBbmRPcHRpb25zKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBob3N0IH0gPSB0aGlzO1xuICAgICAgICBjb25zdCB7IGlkIH0gPSBvcHRpb25zO1xuICAgICAgICBsZXQgbG9hZFJlbW90ZUFyZ3M7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsb2FkUmVtb3RlQXJncyA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZVJlcXVlc3QuZW1pdCh7XG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgb3B0aW9uczogaG9zdC5vcHRpb25zLFxuICAgICAgICAgICAgICAgIG9yaWdpbjogaG9zdCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgbG9hZFJlbW90ZUFyZ3MgPSAoYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUuZXJyb3JMb2FkUmVtb3RlLmVtaXQoe1xuICAgICAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IGhvc3Qub3B0aW9ucyxcbiAgICAgICAgICAgICAgICBvcmlnaW46IGhvc3QsXG4gICAgICAgICAgICAgICAgZnJvbTogJ3J1bnRpbWUnLFxuICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgIGxpZmVjeWNsZTogJ2JlZm9yZVJlcXVlc3QnLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgaWYgKCFsb2FkUmVtb3RlQXJncykge1xuICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgaWQ6IGlkUmVzIH0gPSBsb2FkUmVtb3RlQXJncztcbiAgICAgICAgY29uc3QgcmVtb3RlU3BsaXRJbmZvID0gbWF0Y2hSZW1vdGVXaXRoTmFtZUFuZEV4cG9zZShob3N0Lm9wdGlvbnMucmVtb3RlcywgaWRSZXMpO1xuICAgICAgICBhc3NlcnQocmVtb3RlU3BsaXRJbmZvLCBlcnJvckNvZGVzLmdldFNob3J0RXJyb3JNc2coZXJyb3JDb2Rlcy5SVU5USU1FXzAwNCwgZXJyb3JDb2Rlcy5ydW50aW1lRGVzY01hcCwge1xuICAgICAgICAgICAgaG9zdE5hbWU6IGhvc3Qub3B0aW9ucy5uYW1lLFxuICAgICAgICAgICAgcmVxdWVzdElkOiBpZFJlcyxcbiAgICAgICAgfSkpO1xuICAgICAgICBjb25zdCB7IHJlbW90ZTogcmF3UmVtb3RlIH0gPSByZW1vdGVTcGxpdEluZm87XG4gICAgICAgIGNvbnN0IHJlbW90ZUluZm8gPSBnZXRSZW1vdGVJbmZvKHJhd1JlbW90ZSk7XG4gICAgICAgIGNvbnN0IG1hdGNoSW5mbyA9IGF3YWl0IGhvc3Quc2hhcmVkSGFuZGxlci5ob29rcy5saWZlY3ljbGUuYWZ0ZXJSZXNvbHZlLmVtaXQoe1xuICAgICAgICAgICAgaWQ6IGlkUmVzLFxuICAgICAgICAgICAgLi4ucmVtb3RlU3BsaXRJbmZvLFxuICAgICAgICAgICAgb3B0aW9uczogaG9zdC5vcHRpb25zLFxuICAgICAgICAgICAgb3JpZ2luOiBob3N0LFxuICAgICAgICAgICAgcmVtb3RlSW5mbyxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgcmVtb3RlLCBleHBvc2UgfSA9IG1hdGNoSW5mbztcbiAgICAgICAgYXNzZXJ0KHJlbW90ZSAmJiBleHBvc2UsIGBUaGUgJ2JlZm9yZVJlcXVlc3QnIGhvb2sgd2FzIGV4ZWN1dGVkLCBidXQgaXQgZmFpbGVkIHRvIHJldHVybiB0aGUgY29ycmVjdCAncmVtb3RlJyBhbmQgJ2V4cG9zZScgdmFsdWVzIHdoaWxlIGxvYWRpbmcgJHtpZFJlc30uYCk7XG4gICAgICAgIGxldCBtb2R1bGUgPSBob3N0Lm1vZHVsZUNhY2hlLmdldChyZW1vdGUubmFtZSk7XG4gICAgICAgIGNvbnN0IG1vZHVsZU9wdGlvbnMgPSB7XG4gICAgICAgICAgICBob3N0OiBob3N0LFxuICAgICAgICAgICAgcmVtb3RlSW5mbyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFtb2R1bGUpIHtcbiAgICAgICAgICAgIG1vZHVsZSA9IG5ldyBNb2R1bGUobW9kdWxlT3B0aW9ucyk7XG4gICAgICAgICAgICBob3N0Lm1vZHVsZUNhY2hlLnNldChyZW1vdGUubmFtZSwgbW9kdWxlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbW9kdWxlLFxuICAgICAgICAgICAgbW9kdWxlT3B0aW9ucyxcbiAgICAgICAgICAgIHJlbW90ZU1hdGNoSW5mbzogbWF0Y2hJbmZvLFxuICAgICAgICB9O1xuICAgIH1cbiAgICByZWdpc3RlclJlbW90ZShyZW1vdGUsIHRhcmdldFJlbW90ZXMsIG9wdGlvbnMpIHtcbiAgICAgICAgY29uc3QgeyBob3N0IH0gPSB0aGlzO1xuICAgICAgICBjb25zdCBub3JtYWxpemVSZW1vdGUgPSAoKSA9PiB7XG4gICAgICAgICAgICBpZiAocmVtb3RlLmFsaWFzKSB7XG4gICAgICAgICAgICAgICAgLy8gVmFsaWRhdGUgaWYgYWxpYXMgZXF1YWxzIHRoZSBwcmVmaXggb2YgcmVtb3RlLm5hbWUgYW5kIHJlbW90ZS5hbGlhcywgaWYgc28sIHRocm93IGFuIGVycm9yXG4gICAgICAgICAgICAgICAgLy8gQXMgbXVsdGktbGV2ZWwgcGF0aCByZWZlcmVuY2VzIGNhbm5vdCBndWFyYW50ZWUgdW5pcXVlIG5hbWVzLCBhbGlhcyBiZWluZyBhIHByZWZpeCBvZiByZW1vdGUubmFtZSBpcyBub3Qgc3VwcG9ydGVkXG4gICAgICAgICAgICAgICAgY29uc3QgZmluZEVxdWFsID0gdGFyZ2V0UmVtb3Rlcy5maW5kKChpdGVtKSA9PiByZW1vdGUuYWxpYXMgJiZcbiAgICAgICAgICAgICAgICAgICAgKGl0ZW0ubmFtZS5zdGFydHNXaXRoKHJlbW90ZS5hbGlhcykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uYWxpYXM/LnN0YXJ0c1dpdGgocmVtb3RlLmFsaWFzKSkpO1xuICAgICAgICAgICAgICAgIGFzc2VydCghZmluZEVxdWFsLCBgVGhlIGFsaWFzICR7cmVtb3RlLmFsaWFzfSBvZiByZW1vdGUgJHtyZW1vdGUubmFtZX0gaXMgbm90IGFsbG93ZWQgdG8gYmUgdGhlIHByZWZpeCBvZiAke2ZpbmRFcXVhbCAmJiBmaW5kRXF1YWwubmFtZX0gbmFtZSBvciBhbGlhc2ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2V0IHRoZSByZW1vdGUgZW50cnkgdG8gYSBjb21wbGV0ZSBwYXRoXG4gICAgICAgICAgICBpZiAoJ2VudHJ5JyBpbiByZW1vdGUpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2RrLmlzQnJvd3NlckVudigpICYmICFyZW1vdGUuZW50cnkuc3RhcnRzV2l0aCgnaHR0cCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlbW90ZS5lbnRyeSA9IG5ldyBVUkwocmVtb3RlLmVudHJ5LCB3aW5kb3cubG9jYXRpb24ub3JpZ2luKS5ocmVmO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcmVtb3RlLnNoYXJlU2NvcGUpIHtcbiAgICAgICAgICAgICAgICByZW1vdGUuc2hhcmVTY29wZSA9IERFRkFVTFRfU0NPUEU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJlbW90ZS50eXBlKSB7XG4gICAgICAgICAgICAgICAgcmVtb3RlLnR5cGUgPSBERUZBVUxUX1JFTU9URV9UWVBFO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmhvb2tzLmxpZmVjeWNsZS5iZWZvcmVSZWdpc3RlclJlbW90ZS5lbWl0KHsgcmVtb3RlLCBvcmlnaW46IGhvc3QgfSk7XG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyZWRSZW1vdGUgPSB0YXJnZXRSZW1vdGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gcmVtb3RlLm5hbWUpO1xuICAgICAgICBpZiAoIXJlZ2lzdGVyZWRSZW1vdGUpIHtcbiAgICAgICAgICAgIG5vcm1hbGl6ZVJlbW90ZSgpO1xuICAgICAgICAgICAgdGFyZ2V0UmVtb3Rlcy5wdXNoKHJlbW90ZSk7XG4gICAgICAgICAgICB0aGlzLmhvb2tzLmxpZmVjeWNsZS5yZWdpc3RlclJlbW90ZS5lbWl0KHsgcmVtb3RlLCBvcmlnaW46IGhvc3QgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlcyA9IFtcbiAgICAgICAgICAgICAgICBgVGhlIHJlbW90ZSBcIiR7cmVtb3RlLm5hbWV9XCIgaXMgYWxyZWFkeSByZWdpc3RlcmVkLmAsXG4gICAgICAgICAgICAgICAgJ1BsZWFzZSBub3RlIHRoYXQgb3ZlcnJpZGluZyBpdCBtYXkgY2F1c2UgdW5leHBlY3RlZCBlcnJvcnMuJyxcbiAgICAgICAgICAgIF07XG4gICAgICAgICAgICBpZiAob3B0aW9ucz8uZm9yY2UpIHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgcmVnaXN0ZXJlZCByZW1vdGVcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVJlbW90ZShyZWdpc3RlcmVkUmVtb3RlKTtcbiAgICAgICAgICAgICAgICBub3JtYWxpemVSZW1vdGUoKTtcbiAgICAgICAgICAgICAgICB0YXJnZXRSZW1vdGVzLnB1c2gocmVtb3RlKTtcbiAgICAgICAgICAgICAgICB0aGlzLmhvb2tzLmxpZmVjeWNsZS5yZWdpc3RlclJlbW90ZS5lbWl0KHsgcmVtb3RlLCBvcmlnaW46IGhvc3QgfSk7XG4gICAgICAgICAgICAgICAgc2RrLndhcm4obWVzc2FnZXMuam9pbignICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZW1vdmVSZW1vdGUocmVtb3RlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB7IGhvc3QgfSA9IHRoaXM7XG4gICAgICAgICAgICBjb25zdCB7IG5hbWUgfSA9IHJlbW90ZTtcbiAgICAgICAgICAgIGNvbnN0IHJlbW90ZUluZGV4ID0gaG9zdC5vcHRpb25zLnJlbW90ZXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLm5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgICAgaWYgKHJlbW90ZUluZGV4ICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIGhvc3Qub3B0aW9ucy5yZW1vdGVzLnNwbGljZShyZW1vdGVJbmRleCwgMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsb2FkZWRNb2R1bGUgPSBob3N0Lm1vZHVsZUNhY2hlLmdldChyZW1vdGUubmFtZSk7XG4gICAgICAgICAgICBpZiAobG9hZGVkTW9kdWxlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlSW5mbyA9IGxvYWRlZE1vZHVsZS5yZW1vdGVJbmZvO1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleSA9IHJlbW90ZUluZm8uZW50cnlHbG9iYWxOYW1lO1xuICAgICAgICAgICAgICAgIGlmIChDdXJyZW50R2xvYmFsW2tleV0pIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoQ3VycmVudEdsb2JhbCwga2V5KT8uY29uZmlndXJhYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgQ3VycmVudEdsb2JhbFtrZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudEdsb2JhbFtrZXldID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHJlbW90ZUVudHJ5VW5pcXVlS2V5ID0gZ2V0UmVtb3RlRW50cnlVbmlxdWVLZXkobG9hZGVkTW9kdWxlLnJlbW90ZUluZm8pO1xuICAgICAgICAgICAgICAgIGlmIChnbG9iYWxMb2FkaW5nW3JlbW90ZUVudHJ5VW5pcXVlS2V5XSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgZ2xvYmFsTG9hZGluZ1tyZW1vdGVFbnRyeVVuaXF1ZUtleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGhvc3Quc25hcHNob3RIYW5kbGVyLm1hbmlmZXN0Q2FjaGUuZGVsZXRlKHJlbW90ZUluZm8uZW50cnkpO1xuICAgICAgICAgICAgICAgIC8vIGRlbGV0ZSB1bmxvYWRlZCBzaGFyZWQgYW5kIGluc3RhbmNlXG4gICAgICAgICAgICAgICAgbGV0IHJlbW90ZUluc0lkID0gcmVtb3RlSW5mby5idWlsZFZlcnNpb25cbiAgICAgICAgICAgICAgICAgICAgPyBzZGsuY29tcG9zZUtleVdpdGhTZXBhcmF0b3IocmVtb3RlSW5mby5uYW1lLCByZW1vdGVJbmZvLmJ1aWxkVmVyc2lvbilcbiAgICAgICAgICAgICAgICAgICAgOiByZW1vdGVJbmZvLm5hbWU7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlSW5zSW5kZXggPSBDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fSU5TVEFOQ0VTX18uZmluZEluZGV4KChpbnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHJlbW90ZUluZm8uYnVpbGRWZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaW5zLm9wdGlvbnMuaWQgPT09IHJlbW90ZUluc0lkO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlucy5uYW1lID09PSByZW1vdGVJbnNJZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChyZW1vdGVJbnNJbmRleCAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlSW5zID0gQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0lOU1RBTkNFU19fW3JlbW90ZUluc0luZGV4XTtcbiAgICAgICAgICAgICAgICAgICAgcmVtb3RlSW5zSWQgPSByZW1vdGVJbnMub3B0aW9ucy5pZCB8fCByZW1vdGVJbnNJZDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2xvYmFsU2hhcmVTY29wZU1hcCA9IGdldEdsb2JhbFNoYXJlU2NvcGUoKTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGlzQWxsU2hhcmVkTm90VXNlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5lZWREZWxldGVLZXlzID0gW107XG4gICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKGdsb2JhbFNoYXJlU2NvcGVNYXApLmZvckVhY2goKGluc3RJZCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2hhcmVTY29wZU1hcCA9IGdsb2JhbFNoYXJlU2NvcGVNYXBbaW5zdElkXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlU2NvcGVNYXAgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzaGFyZVNjb3BlTWFwKS5mb3JFYWNoKChzaGFyZVNjb3BlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNoYXJlU2NvcGVWYWwgPSBzaGFyZVNjb3BlTWFwW3NoYXJlU2NvcGVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVNjb3BlVmFsICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhzaGFyZVNjb3BlVmFsKS5mb3JFYWNoKChzaGFyZU5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZWRQa2dzID0gc2hhcmVTY29wZVZhbFtzaGFyZU5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZFBrZ3MgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoc2hhcmVkUGtncykuZm9yRWFjaCgoc2hhcmVWZXJzaW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZWQgPSBzaGFyZWRQa2dzW3NoYXJlVmVyc2lvbl07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2hhcmVkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHNoYXJlZCA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQuZnJvbSA9PT0gcmVtb3RlSW5mby5uYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNoYXJlZC5sb2FkZWQgfHwgc2hhcmVkLmxvYWRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkLnVzZUluID0gc2hhcmVkLnVzZUluLmZpbHRlcigodXNlZEhvc3ROYW1lKSA9PiB1c2VkSG9zdE5hbWUgIT09IHJlbW90ZUluZm8ubmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzaGFyZWQudXNlSW4ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc0FsbFNoYXJlZE5vdFVzZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lZWREZWxldGVLZXlzLnB1c2goW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVNjb3BlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVlZERlbGV0ZUtleXMucHVzaChbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnN0SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZVNjb3BlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVWZXJzaW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNBbGxTaGFyZWROb3RVc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZW1vdGVJbnMuc2hhcmVTY29wZU1hcCA9IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIGdsb2JhbFNoYXJlU2NvcGVNYXBbcmVtb3RlSW5zSWRdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG5lZWREZWxldGVLZXlzLmZvckVhY2goKFtpbnNJZCwgc2hhcmVTY29wZSwgc2hhcmVOYW1lLCBzaGFyZVZlcnNpb25dKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgZ2xvYmFsU2hhcmVTY29wZU1hcFtpbnNJZF0/LltzaGFyZVNjb3BlXT8uW3NoYXJlTmFtZV0/LltzaGFyZVZlcnNpb25dO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0lOU1RBTkNFU19fLnNwbGljZShyZW1vdGVJbnNJbmRleCwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHsgaG9zdEdsb2JhbFNuYXBzaG90IH0gPSBnZXRHbG9iYWxSZW1vdGVJbmZvKHJlbW90ZSwgaG9zdCk7XG4gICAgICAgICAgICAgICAgaWYgKGhvc3RHbG9iYWxTbmFwc2hvdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1vdGVLZXkgPSBob3N0R2xvYmFsU25hcHNob3QgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICdyZW1vdGVzSW5mbycgaW4gaG9zdEdsb2JhbFNuYXBzaG90ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBob3N0R2xvYmFsU25hcHNob3QucmVtb3Rlc0luZm8gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGdldEluZm9XaXRob3V0VHlwZShob3N0R2xvYmFsU25hcHNob3QucmVtb3Rlc0luZm8sIHJlbW90ZS5uYW1lKS5rZXk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZW1vdGVLZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBob3N0R2xvYmFsU25hcHNob3QucmVtb3Rlc0luZm9bcmVtb3RlS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWV4dHJhLWJvb2xlYW4tY2FzdFxuICAgICAgICAgICAgICAgICAgICAgICAgQm9vbGVhbihHbG9iYWwuX19GRURFUkFUSU9OX18uX19NQU5JRkVTVF9MT0FESU5HX19bcmVtb3RlS2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgR2xvYmFsLl9fRkVERVJBVElPTl9fLl9fTUFOSUZFU1RfTE9BRElOR19fW3JlbW90ZUtleV07XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaG9zdC5tb2R1bGVDYWNoZS5kZWxldGUocmVtb3RlLm5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2coJ3JlbW92ZVJlbW90ZSBmYWlsOiAnLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5jb25zdCBVU0VfU05BUFNIT1QgPSB0eXBlb2YgRkVERVJBVElPTl9PUFRJTUlaRV9OT19TTkFQU0hPVF9QTFVHSU4gPT09ICdib29sZWFuJ1xuICAgID8gIUZFREVSQVRJT05fT1BUSU1JWkVfTk9fU05BUFNIT1RfUExVR0lOXG4gICAgOiB0cnVlOyAvLyBEZWZhdWx0IHRvIHRydWUgKHVzZSBzbmFwc2hvdCkgd2hlbiBub3QgZXhwbGljaXRseSBkZWZpbmVkXG5jbGFzcyBNb2R1bGVGZWRlcmF0aW9uIHtcbiAgICBjb25zdHJ1Y3Rvcih1c2VyT3B0aW9ucykge1xuICAgICAgICB0aGlzLmhvb2tzID0gbmV3IFBsdWdpblN5c3RlbSh7XG4gICAgICAgICAgICBiZWZvcmVJbml0OiBuZXcgU3luY1dhdGVyZmFsbEhvb2soJ2JlZm9yZUluaXQnKSxcbiAgICAgICAgICAgIGluaXQ6IG5ldyBTeW5jSG9vaygpLFxuICAgICAgICAgICAgLy8gbWF5YmUgd2lsbCBjaGFuZ2UsIHRlbXBvcmFyaWx5IGZvciBpbnRlcm5hbCB1c2Ugb25seVxuICAgICAgICAgICAgYmVmb3JlSW5pdENvbnRhaW5lcjogbmV3IEFzeW5jV2F0ZXJmYWxsSG9vaygnYmVmb3JlSW5pdENvbnRhaW5lcicpLFxuICAgICAgICAgICAgLy8gbWF5YmUgd2lsbCBjaGFuZ2UsIHRlbXBvcmFyaWx5IGZvciBpbnRlcm5hbCB1c2Ugb25seVxuICAgICAgICAgICAgaW5pdENvbnRhaW5lcjogbmV3IEFzeW5jV2F0ZXJmYWxsSG9vaygnaW5pdENvbnRhaW5lcicpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gXCIwLjIyLjBcIjtcbiAgICAgICAgdGhpcy5tb2R1bGVDYWNoZSA9IG5ldyBNYXAoKTtcbiAgICAgICAgdGhpcy5sb2FkZXJIb29rID0gbmV3IFBsdWdpblN5c3RlbSh7XG4gICAgICAgICAgICAvLyBGSVhNRTogbWF5IG5vdCBiZSBzdWl0YWJsZSAsIG5vdCBvcGVuIHRvIHRoZSBwdWJsaWMgeWV0XG4gICAgICAgICAgICBnZXRNb2R1bGVJbmZvOiBuZXcgU3luY0hvb2soKSxcbiAgICAgICAgICAgIGNyZWF0ZVNjcmlwdDogbmV3IFN5bmNIb29rKCksXG4gICAgICAgICAgICBjcmVhdGVMaW5rOiBuZXcgU3luY0hvb2soKSxcbiAgICAgICAgICAgIGZldGNoOiBuZXcgQXN5bmNIb29rKCksXG4gICAgICAgICAgICBsb2FkRW50cnlFcnJvcjogbmV3IEFzeW5jSG9vaygpLFxuICAgICAgICAgICAgZ2V0TW9kdWxlRmFjdG9yeTogbmV3IEFzeW5jSG9vaygpLFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5icmlkZ2VIb29rID0gbmV3IFBsdWdpblN5c3RlbSh7XG4gICAgICAgICAgICBiZWZvcmVCcmlkZ2VSZW5kZXI6IG5ldyBTeW5jSG9vaygpLFxuICAgICAgICAgICAgYWZ0ZXJCcmlkZ2VSZW5kZXI6IG5ldyBTeW5jSG9vaygpLFxuICAgICAgICAgICAgYmVmb3JlQnJpZGdlRGVzdHJveTogbmV3IFN5bmNIb29rKCksXG4gICAgICAgICAgICBhZnRlckJyaWRnZURlc3Ryb3k6IG5ldyBTeW5jSG9vaygpLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcGx1Z2lucyA9IFVTRV9TTkFQU0hPVFxuICAgICAgICAgICAgPyBbc25hcHNob3RQbHVnaW4oKSwgZ2VuZXJhdGVQcmVsb2FkQXNzZXRzUGx1Z2luKCldXG4gICAgICAgICAgICA6IFtdO1xuICAgICAgICAvLyBUT0RPOiBWYWxpZGF0ZSB0aGUgZGV0YWlscyBvZiB0aGUgb3B0aW9uc1xuICAgICAgICAvLyBJbml0aWFsaXplIG9wdGlvbnMgd2l0aCBkZWZhdWx0IHZhbHVlc1xuICAgICAgICBjb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGlkOiBnZXRCdWlsZGVySWQoKSxcbiAgICAgICAgICAgIG5hbWU6IHVzZXJPcHRpb25zLm5hbWUsXG4gICAgICAgICAgICBwbHVnaW5zLFxuICAgICAgICAgICAgcmVtb3RlczogW10sXG4gICAgICAgICAgICBzaGFyZWQ6IHt9LFxuICAgICAgICAgICAgaW5Ccm93c2VyOiBzZGsuaXNCcm93c2VyRW52KCksXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubmFtZSA9IHVzZXJPcHRpb25zLm5hbWU7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IGRlZmF1bHRPcHRpb25zO1xuICAgICAgICB0aGlzLnNuYXBzaG90SGFuZGxlciA9IG5ldyBTbmFwc2hvdEhhbmRsZXIodGhpcyk7XG4gICAgICAgIHRoaXMuc2hhcmVkSGFuZGxlciA9IG5ldyBTaGFyZWRIYW5kbGVyKHRoaXMpO1xuICAgICAgICB0aGlzLnJlbW90ZUhhbmRsZXIgPSBuZXcgUmVtb3RlSGFuZGxlcih0aGlzKTtcbiAgICAgICAgdGhpcy5zaGFyZVNjb3BlTWFwID0gdGhpcy5zaGFyZWRIYW5kbGVyLnNoYXJlU2NvcGVNYXA7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJQbHVnaW5zKFtcbiAgICAgICAgICAgIC4uLmRlZmF1bHRPcHRpb25zLnBsdWdpbnMsXG4gICAgICAgICAgICAuLi4odXNlck9wdGlvbnMucGx1Z2lucyB8fCBbXSksXG4gICAgICAgIF0pO1xuICAgICAgICB0aGlzLm9wdGlvbnMgPSB0aGlzLmZvcm1hdE9wdGlvbnMoZGVmYXVsdE9wdGlvbnMsIHVzZXJPcHRpb25zKTtcbiAgICB9XG4gICAgaW5pdE9wdGlvbnModXNlck9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlclBsdWdpbnModXNlck9wdGlvbnMucGx1Z2lucyk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLmZvcm1hdE9wdGlvbnModGhpcy5vcHRpb25zLCB1c2VyT3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgICAgIHJldHVybiBvcHRpb25zO1xuICAgIH1cbiAgICBhc3luYyBsb2FkU2hhcmUocGtnTmFtZSwgZXh0cmFPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoYXJlZEhhbmRsZXIubG9hZFNoYXJlKHBrZ05hbWUsIGV4dHJhT3B0aW9ucyk7XG4gICAgfVxuICAgIC8vIFRoZSBsaWIgZnVuY3Rpb24gd2lsbCBvbmx5IGJlIGF2YWlsYWJsZSBpZiB0aGUgc2hhcmVkIHNldCBieSBlYWdlciBvciBydW50aW1lIGluaXQgaXMgc2V0IG9yIHRoZSBzaGFyZWQgaXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC5cbiAgICAvLyAxLiBJZiB0aGUgbG9hZGVkIHNoYXJlZCBhbHJlYWR5IGV4aXN0cyBnbG9iYWxseSwgdGhlbiBpdCB3aWxsIGJlIHJldXNlZFxuICAgIC8vIDIuIElmIGxpYiBleGlzdHMgaW4gbG9jYWwgc2hhcmVkLCBpdCB3aWxsIGJlIHVzZWQgZGlyZWN0bHlcbiAgICAvLyAzLiBJZiB0aGUgbG9jYWwgZ2V0IHJldHVybnMgc29tZXRoaW5nIG90aGVyIHRoYW4gUHJvbWlzZSwgdGhlbiBpdCB3aWxsIGJlIHVzZWQgZGlyZWN0bHlcbiAgICBsb2FkU2hhcmVTeW5jKHBrZ05hbWUsIGV4dHJhT3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGFyZWRIYW5kbGVyLmxvYWRTaGFyZVN5bmMocGtnTmFtZSwgZXh0cmFPcHRpb25zKTtcbiAgICB9XG4gICAgaW5pdGlhbGl6ZVNoYXJpbmcoc2hhcmVTY29wZU5hbWUgPSBERUZBVUxUX1NDT1BFLCBleHRyYU9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hhcmVkSGFuZGxlci5pbml0aWFsaXplU2hhcmluZyhzaGFyZVNjb3BlTmFtZSwgZXh0cmFPcHRpb25zKTtcbiAgICB9XG4gICAgaW5pdFJhd0NvbnRhaW5lcihuYW1lLCB1cmwsIGNvbnRhaW5lcikge1xuICAgICAgICBjb25zdCByZW1vdGVJbmZvID0gZ2V0UmVtb3RlSW5mbyh7IG5hbWUsIGVudHJ5OiB1cmwgfSk7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IG5ldyBNb2R1bGUoeyBob3N0OiB0aGlzLCByZW1vdGVJbmZvIH0pO1xuICAgICAgICBtb2R1bGUucmVtb3RlRW50cnlFeHBvcnRzID0gY29udGFpbmVyO1xuICAgICAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChuYW1lLCBtb2R1bGUpO1xuICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxpbmVzLXBlci1mdW5jdGlvblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWVtYmVyLW9yZGVyaW5nXG4gICAgYXN5bmMgbG9hZFJlbW90ZShpZCwgb3B0aW9ucykge1xuICAgICAgICByZXR1cm4gdGhpcy5yZW1vdGVIYW5kbGVyLmxvYWRSZW1vdGUoaWQsIG9wdGlvbnMpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGFzeW5jIHByZWxvYWRSZW1vdGUocHJlbG9hZE9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3RlSGFuZGxlci5wcmVsb2FkUmVtb3RlKHByZWxvYWRPcHRpb25zKTtcbiAgICB9XG4gICAgaW5pdFNoYXJlU2NvcGVNYXAoc2NvcGVOYW1lLCBzaGFyZVNjb3BlLCBleHRyYU9wdGlvbnMgPSB7fSkge1xuICAgICAgICB0aGlzLnNoYXJlZEhhbmRsZXIuaW5pdFNoYXJlU2NvcGVNYXAoc2NvcGVOYW1lLCBzaGFyZVNjb3BlLCBleHRyYU9wdGlvbnMpO1xuICAgIH1cbiAgICBmb3JtYXRPcHRpb25zKGdsb2JhbE9wdGlvbnMsIHVzZXJPcHRpb25zKSB7XG4gICAgICAgIGNvbnN0IHsgc2hhcmVkIH0gPSBmb3JtYXRTaGFyZUNvbmZpZ3MoZ2xvYmFsT3B0aW9ucywgdXNlck9wdGlvbnMpO1xuICAgICAgICBjb25zdCB7IHVzZXJPcHRpb25zOiB1c2VyT3B0aW9uc1Jlcywgb3B0aW9uczogZ2xvYmFsT3B0aW9uc1JlcyB9ID0gdGhpcy5ob29rcy5saWZlY3ljbGUuYmVmb3JlSW5pdC5lbWl0KHtcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcyxcbiAgICAgICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICAgICAgb3B0aW9uczogZ2xvYmFsT3B0aW9ucyxcbiAgICAgICAgICAgIHNoYXJlSW5mbzogc2hhcmVkLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgcmVtb3RlcyA9IHRoaXMucmVtb3RlSGFuZGxlci5mb3JtYXRBbmRSZWdpc3RlclJlbW90ZShnbG9iYWxPcHRpb25zUmVzLCB1c2VyT3B0aW9uc1Jlcyk7XG4gICAgICAgIGNvbnN0IHsgc2hhcmVkOiBoYW5kbGVkU2hhcmVkIH0gPSB0aGlzLnNoYXJlZEhhbmRsZXIucmVnaXN0ZXJTaGFyZWQoZ2xvYmFsT3B0aW9uc1JlcywgdXNlck9wdGlvbnNSZXMpO1xuICAgICAgICBjb25zdCBwbHVnaW5zID0gWy4uLmdsb2JhbE9wdGlvbnNSZXMucGx1Z2luc107XG4gICAgICAgIGlmICh1c2VyT3B0aW9uc1Jlcy5wbHVnaW5zKSB7XG4gICAgICAgICAgICB1c2VyT3B0aW9uc1Jlcy5wbHVnaW5zLmZvckVhY2goKHBsdWdpbikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghcGx1Z2lucy5pbmNsdWRlcyhwbHVnaW4pKSB7XG4gICAgICAgICAgICAgICAgICAgIHBsdWdpbnMucHVzaChwbHVnaW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdGlvbnNSZXMgPSB7XG4gICAgICAgICAgICAuLi5nbG9iYWxPcHRpb25zLFxuICAgICAgICAgICAgLi4udXNlck9wdGlvbnMsXG4gICAgICAgICAgICBwbHVnaW5zLFxuICAgICAgICAgICAgcmVtb3RlcyxcbiAgICAgICAgICAgIHNoYXJlZDogaGFuZGxlZFNoYXJlZCxcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5ob29rcy5saWZlY3ljbGUuaW5pdC5lbWl0KHtcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcyxcbiAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnNSZXMsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gb3B0aW9uc1JlcztcbiAgICB9XG4gICAgcmVnaXN0ZXJQbHVnaW5zKHBsdWdpbnMpIHtcbiAgICAgICAgY29uc3QgcGx1Z2luUmVzID0gcmVnaXN0ZXJQbHVnaW5zKHBsdWdpbnMsIHRoaXMpO1xuICAgICAgICAvLyBNZXJnZSBwbHVnaW5cbiAgICAgICAgdGhpcy5vcHRpb25zLnBsdWdpbnMgPSB0aGlzLm9wdGlvbnMucGx1Z2lucy5yZWR1Y2UoKHJlcywgcGx1Z2luKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXBsdWdpbilcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgaWYgKHJlcyAmJiAhcmVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gcGx1Z2luLm5hbWUpKSB7XG4gICAgICAgICAgICAgICAgcmVzLnB1c2gocGx1Z2luKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH0sIHBsdWdpblJlcyB8fCBbXSk7XG4gICAgfVxuICAgIHJlZ2lzdGVyUmVtb3RlcyhyZW1vdGVzLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW90ZUhhbmRsZXIucmVnaXN0ZXJSZW1vdGVzKHJlbW90ZXMsIG9wdGlvbnMpO1xuICAgIH1cbiAgICByZWdpc3RlclNoYXJlZChzaGFyZWQpIHtcbiAgICAgICAgdGhpcy5zaGFyZWRIYW5kbGVyLnJlZ2lzdGVyU2hhcmVkKHRoaXMub3B0aW9ucywge1xuICAgICAgICAgICAgLi4udGhpcy5vcHRpb25zLFxuICAgICAgICAgICAgc2hhcmVkLFxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbnZhciBpbmRleCA9IC8qI19fUFVSRV9fKi9PYmplY3QuZnJlZXplKHtcbiAgICBfX3Byb3RvX186IG51bGxcbn0pO1xuXG5leHBvcnRzLmxvYWRTY3JpcHQgPSBzZGsubG9hZFNjcmlwdDtcbmV4cG9ydHMubG9hZFNjcmlwdE5vZGUgPSBzZGsubG9hZFNjcmlwdE5vZGU7XG5leHBvcnRzLkN1cnJlbnRHbG9iYWwgPSBDdXJyZW50R2xvYmFsO1xuZXhwb3J0cy5HbG9iYWwgPSBHbG9iYWw7XG5leHBvcnRzLk1vZHVsZSA9IE1vZHVsZTtcbmV4cG9ydHMuTW9kdWxlRmVkZXJhdGlvbiA9IE1vZHVsZUZlZGVyYXRpb247XG5leHBvcnRzLmFkZEdsb2JhbFNuYXBzaG90ID0gYWRkR2xvYmFsU25hcHNob3Q7XG5leHBvcnRzLmFzc2VydCA9IGFzc2VydDtcbmV4cG9ydHMuZ2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yID0gZ2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yO1xuZXhwb3J0cy5nZXRHbG9iYWxTbmFwc2hvdCA9IGdldEdsb2JhbFNuYXBzaG90O1xuZXhwb3J0cy5nZXRJbmZvV2l0aG91dFR5cGUgPSBnZXRJbmZvV2l0aG91dFR5cGU7XG5leHBvcnRzLmdldFJlZ2lzdGVyZWRTaGFyZSA9IGdldFJlZ2lzdGVyZWRTaGFyZTtcbmV4cG9ydHMuZ2V0UmVtb3RlRW50cnkgPSBnZXRSZW1vdGVFbnRyeTtcbmV4cG9ydHMuZ2V0UmVtb3RlSW5mbyA9IGdldFJlbW90ZUluZm87XG5leHBvcnRzLmhlbHBlcnMgPSBoZWxwZXJzO1xuZXhwb3J0cy5pc1N0YXRpY1Jlc291cmNlc0VxdWFsID0gaXNTdGF0aWNSZXNvdXJjZXNFcXVhbDtcbmV4cG9ydHMubWF0Y2hSZW1vdGVXaXRoTmFtZUFuZEV4cG9zZSA9IG1hdGNoUmVtb3RlV2l0aE5hbWVBbmRFeHBvc2U7XG5leHBvcnRzLnJlZ2lzdGVyR2xvYmFsUGx1Z2lucyA9IHJlZ2lzdGVyR2xvYmFsUGx1Z2lucztcbmV4cG9ydHMucmVzZXRGZWRlcmF0aW9uR2xvYmFsSW5mbyA9IHJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm87XG5leHBvcnRzLnNhZmVXcmFwcGVyID0gc2FmZVdyYXBwZXI7XG5leHBvcnRzLnNhdGlzZnkgPSBzYXRpc2Z5O1xuZXhwb3J0cy5zZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IgPSBzZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3I7XG5leHBvcnRzLnNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZSA9IHNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZTtcbmV4cG9ydHMudHlwZXMgPSBpbmRleDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5janMubWFwXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsVUFBVSxtQkFBTyxDQUFDLGlFQUF3QjtBQUMxQyxpQkFBaUIsbUJBQU8sQ0FBQyx3RUFBZ0M7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGFBQWEsSUFBSSxZQUFZO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixhQUFhLElBQUksSUFBSTtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLGFBQWEsSUFBSSxZQUFZO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCLEdBQUcsbUJBQW1CO0FBQ3hEO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCLEdBQUcsaUJBQWlCO0FBQ3REO0FBQ0E7QUFDQSxrQkFBa0IsZ0JBQWdCO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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O0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0RBQStEO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtDQUErQztBQUMvQywyQkFBMkI7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FLGVBQWU7QUFDbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsS0FBSztBQUN4RCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxrQkFBa0I7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLEtBQUssSUFBSTtBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0EsS0FBSztBQUNMLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0Qix5QkFBeUI7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELDJCQUEyQjtBQUM1RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksK0NBQStDO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxvQkFBb0Isa0JBQWtCO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLHVCQUF1QixPQUFPO0FBQzdFLHlGQUF5Riw2QkFBNkIsU0FBUyxzQ0FBc0MsZ0JBQWdCLGNBQWMsZ0JBQWdCO0FBQ25OO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxvQ0FBb0M7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQkFBMkI7QUFDM0I7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkJBQTZCLE9BQU87QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNDQUFzQyxnQkFBZ0I7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYixTQUFTO0FBQ1Q7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEJBQThCLDRCQUE0QjtBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlEQUF5RCxNQUFNLElBQUksZUFBZTtBQUNsRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0EsbUNBQW1DLDRCQUE0QjtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixLQUF5QyxFQUFFLEVBRzlDO0FBQ2pCO0FBQ0EsZ0VBQWdFLE1BQU0sSUFBSSxlQUFlO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsWUFBWSwrQkFBK0I7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLGlDQUFpQyxtREFBbUQ7QUFDcEYsWUFBWSxtQ0FBbUM7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsaUVBQWlFLFlBQVk7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0EsS0FBSztBQUNMO0FBQ0EsOEJBQThCLDBEQUEwRDtBQUN4RixZQUFZLGlEQUFpRDtBQUM3RDtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0MsMkJBQTJCO0FBQzdEO0FBQ0EsdUNBQXVDLDJCQUEyQjtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0EsK0JBQStCLHlCQUF5QjtBQUN4RCxZQUFZLGlEQUFpRDtBQUM3RCxZQUFZLG1DQUFtQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix3QkFBd0I7QUFDekM7QUFDQSw4Q0FBOEM7QUFDOUMscUVBQXFFLFlBQVk7QUFDakY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiLFNBQVM7QUFDVCxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxZQUFZLGNBQWM7QUFDMUI7QUFDQTtBQUNBO0FBQ0EsWUFBWSxpRkFBaUY7QUFDN0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakIsa0NBQWtDLHdCQUF3QjtBQUMxRCxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRDQUE0QyxtQ0FBbUM7QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0Qsa0JBQWtCLDJCQUEyQjtBQUM3RjtBQUNBO0FBQ0E7QUFDQSxhQUFhLEVBQUU7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksK0NBQStDO0FBQzNEO0FBQ0E7QUFDQSxvQkFBb0IsYUFBYTtBQUNqQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwwQkFBMEI7QUFDbEQ7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDBCQUEwQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QiwyQkFBMkI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckIsaUJBQWlCO0FBQ2pCO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLCtCQUErQjtBQUN2RDtBQUNBO0FBQ0E7QUFDQSxxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFCQUFxQjtBQUNyQjtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMOztBQUVBO0FBQ0Esa0JBQWtCLG1CQUFtQjtBQUNyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNULHlFQUF5RSxrQ0FBa0M7QUFDM0c7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQixxQkFBcUIsZUFBZTtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCO0FBQ2pCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsMEJBQTBCLHNCQUFzQixPQUFPO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGtDQUFrQztBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUNBQXVDLFVBQVU7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFGQUFxRixVQUFVO0FBQy9GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxVQUFVO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0ZBQWtGLFVBQVU7QUFDNUY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7QUFDYjtBQUNB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QTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkM7QUFDN0MscUNBQXFDO0FBQ3JDLDZCQUE2QjtBQUM3QixxQkFBcUI7QUFDckI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQSx3QkFBd0IscUJBQXFCO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyQ0FBMkMsa0JBQWtCO0FBQzdELG9DQUFvQyx3QkFBd0I7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4REFBOEQ7QUFDOUQ7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCLFNBQVM7QUFDekIsZ0JBQWdCLHlEQUF5RDtBQUN6RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLGdCQUFnQix3QkFBd0I7QUFDeEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCxrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLHFCQUFxQjtBQUNyQixjQUFjO0FBQ2QsY0FBYztBQUNkLHdCQUF3QjtBQUN4Qix5QkFBeUI7QUFDekIsY0FBYztBQUNkLHNDQUFzQztBQUN0Qyx5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZiw4QkFBOEI7QUFDOUIsb0NBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixpQ0FBaUM7QUFDakMsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZixzQ0FBc0M7QUFDdEMsbUNBQW1DO0FBQ25DLGFBQWE7QUFDYiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/index.cjs.cjs\n\n}");
|
|
42
|
+
"../../../node_modules/@module-federation/inject-external-runtime-core-plugin/dist/index.cjs"(module, __unused_rspack_exports, __webpack_require__) {
|
|
43
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/inject-external-runtime-core-plugin/dist/_virtual/_rolldown/runtime.cjs\");\nlet _module_federation_runtime_tools_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/dist/runtime-core.cjs\");\n_module_federation_runtime_tools_runtime_core = require_runtime.__toESM(_module_federation_runtime_tools_runtime_core);\n\n//#region src/index.ts\nfunction injectExternalRuntimeCorePlugin() {\n\treturn {\n\t\tname: \"inject-external-runtime-core-plugin\",\n\t\tversion: \"2.8.1\",\n\t\tbeforeInit(args) {\n\t\t\tconst globalRef = _module_federation_runtime_tools_runtime_core.Global;\n\t\t\tif (!globalRef || typeof globalRef !== \"object\") return args;\n\t\t\tconst name = args.options.name;\n\t\t\tconst version = \"2.8.1\";\n\t\t\tif (globalRef._FEDERATION_RUNTIME_CORE && globalRef._FEDERATION_RUNTIME_CORE_FROM && (globalRef._FEDERATION_RUNTIME_CORE_FROM.name !== name || globalRef._FEDERATION_RUNTIME_CORE_FROM.version !== version)) {\n\t\t\t\tconsole.warn(`Detect multiple module federation runtime! Injected runtime from ${globalRef._FEDERATION_RUNTIME_CORE_FROM.name}@${globalRef._FEDERATION_RUNTIME_CORE_FROM.version} and current is ${name}@${version}, pleasure ensure there is only one consumer to provider runtime!`);\n\t\t\t\treturn args;\n\t\t\t}\n\t\t\tglobalRef._FEDERATION_RUNTIME_CORE = _module_federation_runtime_tools_runtime_core;\n\t\t\tglobalRef._FEDERATION_RUNTIME_CORE_FROM = {\n\t\t\t\tversion,\n\t\t\t\tname\n\t\t\t};\n\t\t\treturn args;\n\t\t}\n\t};\n}\n\n//#endregion\nmodule.exports = injectExternalRuntimeCorePlugin;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2luamVjdC1leHRlcm5hbC1ydW50aW1lLWNvcmUtcGx1Z2luL2Rpc3QvaW5kZXguY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL2luamVjdC1leHRlcm5hbC1ydW50aW1lLWNvcmUtcGx1Z2luL2Rpc3QvaW5kZXguY2pzPzNlZDYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9ydW50aW1lID0gcmVxdWlyZSgnLi9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV90b29sc19ydW50aW1lX2NvcmUgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvcnVudGltZS1jb3JlXCIpO1xuX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfdG9vbHNfcnVudGltZV9jb3JlID0gcmVxdWlyZV9ydW50aW1lLl9fdG9FU00oX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfdG9vbHNfcnVudGltZV9jb3JlKTtcblxuLy8jcmVnaW9uIHNyYy9pbmRleC50c1xuZnVuY3Rpb24gaW5qZWN0RXh0ZXJuYWxSdW50aW1lQ29yZVBsdWdpbigpIHtcblx0cmV0dXJuIHtcblx0XHRuYW1lOiBcImluamVjdC1leHRlcm5hbC1ydW50aW1lLWNvcmUtcGx1Z2luXCIsXG5cdFx0dmVyc2lvbjogXCIyLjguMVwiLFxuXHRcdGJlZm9yZUluaXQoYXJncykge1xuXHRcdFx0Y29uc3QgZ2xvYmFsUmVmID0gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfdG9vbHNfcnVudGltZV9jb3JlLkdsb2JhbDtcblx0XHRcdGlmICghZ2xvYmFsUmVmIHx8IHR5cGVvZiBnbG9iYWxSZWYgIT09IFwib2JqZWN0XCIpIHJldHVybiBhcmdzO1xuXHRcdFx0Y29uc3QgbmFtZSA9IGFyZ3Mub3B0aW9ucy5uYW1lO1xuXHRcdFx0Y29uc3QgdmVyc2lvbiA9IFwiMi44LjFcIjtcblx0XHRcdGlmIChnbG9iYWxSZWYuX0ZFREVSQVRJT05fUlVOVElNRV9DT1JFICYmIGdsb2JhbFJlZi5fRkVERVJBVElPTl9SVU5USU1FX0NPUkVfRlJPTSAmJiAoZ2xvYmFsUmVmLl9GRURFUkFUSU9OX1JVTlRJTUVfQ09SRV9GUk9NLm5hbWUgIT09IG5hbWUgfHwgZ2xvYmFsUmVmLl9GRURFUkFUSU9OX1JVTlRJTUVfQ09SRV9GUk9NLnZlcnNpb24gIT09IHZlcnNpb24pKSB7XG5cdFx0XHRcdGNvbnNvbGUud2FybihgRGV0ZWN0IG11bHRpcGxlIG1vZHVsZSBmZWRlcmF0aW9uIHJ1bnRpbWUhIEluamVjdGVkIHJ1bnRpbWUgZnJvbSAke2dsb2JhbFJlZi5fRkVERVJBVElPTl9SVU5USU1FX0NPUkVfRlJPTS5uYW1lfUAke2dsb2JhbFJlZi5fRkVERVJBVElPTl9SVU5USU1FX0NPUkVfRlJPTS52ZXJzaW9ufSBhbmQgY3VycmVudCBpcyAke25hbWV9QCR7dmVyc2lvbn0sIHBsZWFzdXJlIGVuc3VyZSB0aGVyZSBpcyBvbmx5IG9uZSBjb25zdW1lciB0byBwcm92aWRlciBydW50aW1lIWApO1xuXHRcdFx0XHRyZXR1cm4gYXJncztcblx0XHRcdH1cblx0XHRcdGdsb2JhbFJlZi5fRkVERVJBVElPTl9SVU5USU1FX0NPUkUgPSBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV90b29sc19ydW50aW1lX2NvcmU7XG5cdFx0XHRnbG9iYWxSZWYuX0ZFREVSQVRJT05fUlVOVElNRV9DT1JFX0ZST00gPSB7XG5cdFx0XHRcdHZlcnNpb24sXG5cdFx0XHRcdG5hbWVcblx0XHRcdH07XG5cdFx0XHRyZXR1cm4gYXJncztcblx0XHR9XG5cdH07XG59XG5cbi8vI2VuZHJlZ2lvblxubW9kdWxlLmV4cG9ydHMgPSBpbmplY3RFeHRlcm5hbFJ1bnRpbWVDb3JlUGx1Z2luO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0IsbUJBQU8sQ0FBQyxrSEFBa0M7QUFDbEUsb0RBQW9ELG1CQUFPLENBQUMsOEVBQStDO0FBQzNHOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxRkFBcUYsNkNBQTZDLEdBQUcsaURBQWlELGlCQUFpQixLQUFLLEdBQUcsUUFBUTtBQUN2TjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYztBQUNkIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/inject-external-runtime-core-plugin/dist/index.cjs\n\n}");
|
|
18
44
|
|
|
19
45
|
},
|
|
20
|
-
"../../../node_modules/@module-federation/runtime/dist/
|
|
21
|
-
eval("{\n\nvar runtimeCore = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/index.cjs.cjs\");\nvar errorCodes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs.js\");\nvar utils = __webpack_require__(\"../../../node_modules/@module-federation/runtime/dist/utils.cjs.cjs\");\n\nfunction createInstance(options) {\n // Retrieve debug constructor\n const ModuleFederationConstructor = runtimeCore.getGlobalFederationConstructor() || runtimeCore.ModuleFederation;\n const instance = new ModuleFederationConstructor(options);\n runtimeCore.setGlobalFederationInstance(instance);\n return instance;\n}\nlet FederationInstance = null;\n/**\n * @deprecated Use createInstance or getInstance instead\n */\nfunction init(options) {\n // Retrieve the same instance with the same name\n const instance = utils.getGlobalFederationInstance(options.name, options.version);\n if (!instance) {\n FederationInstance = createInstance(options);\n return FederationInstance;\n }\n else {\n // Merge options\n instance.initOptions(options);\n if (!FederationInstance) {\n FederationInstance = instance;\n }\n return instance;\n }\n}\nfunction loadRemote(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n const loadRemote = FederationInstance.loadRemote;\n // eslint-disable-next-line prefer-spread\n return loadRemote.apply(FederationInstance, args);\n}\nfunction loadShare(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n // eslint-disable-next-line prefer-spread\n const loadShare = FederationInstance.loadShare;\n return loadShare.apply(FederationInstance, args);\n}\nfunction loadShareSync(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n const loadShareSync = FederationInstance.loadShareSync;\n // eslint-disable-next-line prefer-spread\n return loadShareSync.apply(FederationInstance, args);\n}\nfunction preloadRemote(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n // eslint-disable-next-line prefer-spread\n return FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\nfunction registerRemotes(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\nfunction registerPlugins(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\nfunction getInstance() {\n return FederationInstance;\n}\nfunction registerShared(...args) {\n runtimeCore.assert(FederationInstance, errorCodes.getShortErrorMsg(errorCodes.RUNTIME_009, errorCodes.runtimeDescMap));\n // eslint-disable-next-line prefer-spread\n return FederationInstance.registerShared.apply(FederationInstance, args);\n}\n// Inject for debug\nruntimeCore.setGlobalFederationConstructor(runtimeCore.ModuleFederation);\n\nexports.Module = runtimeCore.Module;\nexports.ModuleFederation = runtimeCore.ModuleFederation;\nexports.getRemoteEntry = runtimeCore.getRemoteEntry;\nexports.getRemoteInfo = runtimeCore.getRemoteInfo;\nexports.loadScript = runtimeCore.loadScript;\nexports.loadScriptNode = runtimeCore.loadScriptNode;\nexports.registerGlobalPlugins = runtimeCore.registerGlobalPlugins;\nexports.createInstance = createInstance;\nexports.getInstance = getInstance;\nexports.init = init;\nexports.loadRemote = loadRemote;\nexports.loadShare = loadShare;\nexports.loadShareSync = loadShareSync;\nexports.preloadRemote = preloadRemote;\nexports.registerPlugins = registerPlugins;\nexports.registerRemotes = registerRemotes;\nexports.registerShared = registerShared;\n//# sourceMappingURL=index.cjs.cjs.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUvZGlzdC9pbmRleC5janMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUvZGlzdC9pbmRleC5janMuY2pzP2UzOTIiXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcnVudGltZUNvcmUgPSByZXF1aXJlKCdAbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlJyk7XG52YXIgZXJyb3JDb2RlcyA9IHJlcXVpcmUoJ0Btb2R1bGUtZmVkZXJhdGlvbi9lcnJvci1jb2RlcycpO1xudmFyIHV0aWxzID0gcmVxdWlyZSgnLi91dGlscy5janMuY2pzJyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKG9wdGlvbnMpIHtcbiAgICAvLyBSZXRyaWV2ZSBkZWJ1ZyBjb25zdHJ1Y3RvclxuICAgIGNvbnN0IE1vZHVsZUZlZGVyYXRpb25Db25zdHJ1Y3RvciA9IHJ1bnRpbWVDb3JlLmdldEdsb2JhbEZlZGVyYXRpb25Db25zdHJ1Y3RvcigpIHx8IHJ1bnRpbWVDb3JlLk1vZHVsZUZlZGVyYXRpb247XG4gICAgY29uc3QgaW5zdGFuY2UgPSBuZXcgTW9kdWxlRmVkZXJhdGlvbkNvbnN0cnVjdG9yKG9wdGlvbnMpO1xuICAgIHJ1bnRpbWVDb3JlLnNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZShpbnN0YW5jZSk7XG4gICAgcmV0dXJuIGluc3RhbmNlO1xufVxubGV0IEZlZGVyYXRpb25JbnN0YW5jZSA9IG51bGw7XG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBjcmVhdGVJbnN0YW5jZSBvciBnZXRJbnN0YW5jZSBpbnN0ZWFkXG4gKi9cbmZ1bmN0aW9uIGluaXQob3B0aW9ucykge1xuICAgIC8vIFJldHJpZXZlIHRoZSBzYW1lIGluc3RhbmNlIHdpdGggdGhlIHNhbWUgbmFtZVxuICAgIGNvbnN0IGluc3RhbmNlID0gdXRpbHMuZ2V0R2xvYmFsRmVkZXJhdGlvbkluc3RhbmNlKG9wdGlvbnMubmFtZSwgb3B0aW9ucy52ZXJzaW9uKTtcbiAgICBpZiAoIWluc3RhbmNlKSB7XG4gICAgICAgIEZlZGVyYXRpb25JbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlKG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gRmVkZXJhdGlvbkluc3RhbmNlO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgLy8gTWVyZ2Ugb3B0aW9uc1xuICAgICAgICBpbnN0YW5jZS5pbml0T3B0aW9ucyhvcHRpb25zKTtcbiAgICAgICAgaWYgKCFGZWRlcmF0aW9uSW5zdGFuY2UpIHtcbiAgICAgICAgICAgIEZlZGVyYXRpb25JbnN0YW5jZSA9IGluc3RhbmNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9XG59XG5mdW5jdGlvbiBsb2FkUmVtb3RlKC4uLmFyZ3MpIHtcbiAgICBydW50aW1lQ29yZS5hc3NlcnQoRmVkZXJhdGlvbkluc3RhbmNlLCBlcnJvckNvZGVzLmdldFNob3J0RXJyb3JNc2coZXJyb3JDb2Rlcy5SVU5USU1FXzAwOSwgZXJyb3JDb2Rlcy5ydW50aW1lRGVzY01hcCkpO1xuICAgIGNvbnN0IGxvYWRSZW1vdGUgPSBGZWRlcmF0aW9uSW5zdGFuY2UubG9hZFJlbW90ZTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXNwcmVhZFxuICAgIHJldHVybiBsb2FkUmVtb3RlLmFwcGx5KEZlZGVyYXRpb25JbnN0YW5jZSwgYXJncyk7XG59XG5mdW5jdGlvbiBsb2FkU2hhcmUoLi4uYXJncykge1xuICAgIHJ1bnRpbWVDb3JlLmFzc2VydChGZWRlcmF0aW9uSW5zdGFuY2UsIGVycm9yQ29kZXMuZ2V0U2hvcnRFcnJvck1zZyhlcnJvckNvZGVzLlJVTlRJTUVfMDA5LCBlcnJvckNvZGVzLnJ1bnRpbWVEZXNjTWFwKSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICBjb25zdCBsb2FkU2hhcmUgPSBGZWRlcmF0aW9uSW5zdGFuY2UubG9hZFNoYXJlO1xuICAgIHJldHVybiBsb2FkU2hhcmUuYXBwbHkoRmVkZXJhdGlvbkluc3RhbmNlLCBhcmdzKTtcbn1cbmZ1bmN0aW9uIGxvYWRTaGFyZVN5bmMoLi4uYXJncykge1xuICAgIHJ1bnRpbWVDb3JlLmFzc2VydChGZWRlcmF0aW9uSW5zdGFuY2UsIGVycm9yQ29kZXMuZ2V0U2hvcnRFcnJvck1zZyhlcnJvckNvZGVzLlJVTlRJTUVfMDA5LCBlcnJvckNvZGVzLnJ1bnRpbWVEZXNjTWFwKSk7XG4gICAgY29uc3QgbG9hZFNoYXJlU3luYyA9IEZlZGVyYXRpb25JbnN0YW5jZS5sb2FkU2hhcmVTeW5jO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItc3ByZWFkXG4gICAgcmV0dXJuIGxvYWRTaGFyZVN5bmMuYXBwbHkoRmVkZXJhdGlvbkluc3RhbmNlLCBhcmdzKTtcbn1cbmZ1bmN0aW9uIHByZWxvYWRSZW1vdGUoLi4uYXJncykge1xuICAgIHJ1bnRpbWVDb3JlLmFzc2VydChGZWRlcmF0aW9uSW5zdGFuY2UsIGVycm9yQ29kZXMuZ2V0U2hvcnRFcnJvck1zZyhlcnJvckNvZGVzLlJVTlRJTUVfMDA5LCBlcnJvckNvZGVzLnJ1bnRpbWVEZXNjTWFwKSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICByZXR1cm4gRmVkZXJhdGlvbkluc3RhbmNlLnByZWxvYWRSZW1vdGUuYXBwbHkoRmVkZXJhdGlvbkluc3RhbmNlLCBhcmdzKTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVyUmVtb3RlcyguLi5hcmdzKSB7XG4gICAgcnVudGltZUNvcmUuYXNzZXJ0KEZlZGVyYXRpb25JbnN0YW5jZSwgZXJyb3JDb2Rlcy5nZXRTaG9ydEVycm9yTXNnKGVycm9yQ29kZXMuUlVOVElNRV8wMDksIGVycm9yQ29kZXMucnVudGltZURlc2NNYXApKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXNwcmVhZFxuICAgIHJldHVybiBGZWRlcmF0aW9uSW5zdGFuY2UucmVnaXN0ZXJSZW1vdGVzLmFwcGx5KEZlZGVyYXRpb25JbnN0YW5jZSwgYXJncyk7XG59XG5mdW5jdGlvbiByZWdpc3RlclBsdWdpbnMoLi4uYXJncykge1xuICAgIHJ1bnRpbWVDb3JlLmFzc2VydChGZWRlcmF0aW9uSW5zdGFuY2UsIGVycm9yQ29kZXMuZ2V0U2hvcnRFcnJvck1zZyhlcnJvckNvZGVzLlJVTlRJTUVfMDA5LCBlcnJvckNvZGVzLnJ1bnRpbWVEZXNjTWFwKSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1zcHJlYWRcbiAgICByZXR1cm4gRmVkZXJhdGlvbkluc3RhbmNlLnJlZ2lzdGVyUGx1Z2lucy5hcHBseShGZWRlcmF0aW9uSW5zdGFuY2UsIGFyZ3MpO1xufVxuZnVuY3Rpb24gZ2V0SW5zdGFuY2UoKSB7XG4gICAgcmV0dXJuIEZlZGVyYXRpb25JbnN0YW5jZTtcbn1cbmZ1bmN0aW9uIHJlZ2lzdGVyU2hhcmVkKC4uLmFyZ3MpIHtcbiAgICBydW50aW1lQ29yZS5hc3NlcnQoRmVkZXJhdGlvbkluc3RhbmNlLCBlcnJvckNvZGVzLmdldFNob3J0RXJyb3JNc2coZXJyb3JDb2Rlcy5SVU5USU1FXzAwOSwgZXJyb3JDb2Rlcy5ydW50aW1lRGVzY01hcCkpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBwcmVmZXItc3ByZWFkXG4gICAgcmV0dXJuIEZlZGVyYXRpb25JbnN0YW5jZS5yZWdpc3RlclNoYXJlZC5hcHBseShGZWRlcmF0aW9uSW5zdGFuY2UsIGFyZ3MpO1xufVxuLy8gSW5qZWN0IGZvciBkZWJ1Z1xucnVudGltZUNvcmUuc2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yKHJ1bnRpbWVDb3JlLk1vZHVsZUZlZGVyYXRpb24pO1xuXG5leHBvcnRzLk1vZHVsZSA9IHJ1bnRpbWVDb3JlLk1vZHVsZTtcbmV4cG9ydHMuTW9kdWxlRmVkZXJhdGlvbiA9IHJ1bnRpbWVDb3JlLk1vZHVsZUZlZGVyYXRpb247XG5leHBvcnRzLmdldFJlbW90ZUVudHJ5ID0gcnVudGltZUNvcmUuZ2V0UmVtb3RlRW50cnk7XG5leHBvcnRzLmdldFJlbW90ZUluZm8gPSBydW50aW1lQ29yZS5nZXRSZW1vdGVJbmZvO1xuZXhwb3J0cy5sb2FkU2NyaXB0ID0gcnVudGltZUNvcmUubG9hZFNjcmlwdDtcbmV4cG9ydHMubG9hZFNjcmlwdE5vZGUgPSBydW50aW1lQ29yZS5sb2FkU2NyaXB0Tm9kZTtcbmV4cG9ydHMucmVnaXN0ZXJHbG9iYWxQbHVnaW5zID0gcnVudGltZUNvcmUucmVnaXN0ZXJHbG9iYWxQbHVnaW5zO1xuZXhwb3J0cy5jcmVhdGVJbnN0YW5jZSA9IGNyZWF0ZUluc3RhbmNlO1xuZXhwb3J0cy5nZXRJbnN0YW5jZSA9IGdldEluc3RhbmNlO1xuZXhwb3J0cy5pbml0ID0gaW5pdDtcbmV4cG9ydHMubG9hZFJlbW90ZSA9IGxvYWRSZW1vdGU7XG5leHBvcnRzLmxvYWRTaGFyZSA9IGxvYWRTaGFyZTtcbmV4cG9ydHMubG9hZFNoYXJlU3luYyA9IGxvYWRTaGFyZVN5bmM7XG5leHBvcnRzLnByZWxvYWRSZW1vdGUgPSBwcmVsb2FkUmVtb3RlO1xuZXhwb3J0cy5yZWdpc3RlclBsdWdpbnMgPSByZWdpc3RlclBsdWdpbnM7XG5leHBvcnRzLnJlZ2lzdGVyUmVtb3RlcyA9IHJlZ2lzdGVyUmVtb3RlcztcbmV4cG9ydHMucmVnaXN0ZXJTaGFyZWQgPSByZWdpc3RlclNoYXJlZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5janMubWFwXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsa0JBQWtCLG1CQUFPLENBQUMsMEVBQWlDO0FBQzNELGlCQUFpQixtQkFBTyxDQUFDLHdFQUFnQztBQUN6RCxZQUFZLG1CQUFPLENBQUMscUVBQWlCOztBQUVyQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxjQUFjO0FBQ2Qsd0JBQXdCO0FBQ3hCLHNCQUFzQjtBQUN0QixxQkFBcUI7QUFDckIsa0JBQWtCO0FBQ2xCLHNCQUFzQjtBQUN0Qiw2QkFBNkI7QUFDN0Isc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixZQUFZO0FBQ1osa0JBQWtCO0FBQ2xCLGlCQUFpQjtBQUNqQixxQkFBcUI7QUFDckIscUJBQXFCO0FBQ3JCLHVCQUF1QjtBQUN2Qix1QkFBdUI7QUFDdkIsc0JBQXNCO0FBQ3RCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime/dist/index.cjs.cjs\n\n}");
|
|
46
|
+
"../../../node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs"(__unused_rspack_module, exports) {
|
|
47
|
+
eval("{//#region \\0rolldown/runtime.js\nvar __defProp = Object.defineProperty;\nvar __exportAll = (all, no_symbols) => {\n\tlet target = {};\n\tfor (var name in all) {\n\t\t__defProp(target, name, {\n\t\t\tget: all[name],\n\t\t\tenumerable: true\n\t\t});\n\t}\n\tif (!no_symbols) {\n\t\t__defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\t}\n\treturn target;\n};\n\n//#endregion\n\nexports.__exportAll = __exportAll;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janM/MmJjOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gXFwwcm9sbGRvd24vcnVudGltZS5qc1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2V4cG9ydEFsbCA9IChhbGwsIG5vX3N5bWJvbHMpID0+IHtcblx0bGV0IHRhcmdldCA9IHt9O1xuXHRmb3IgKHZhciBuYW1lIGluIGFsbCkge1xuXHRcdF9fZGVmUHJvcCh0YXJnZXQsIG5hbWUsIHtcblx0XHRcdGdldDogYWxsW25hbWVdLFxuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZVxuXHRcdH0pO1xuXHR9XG5cdGlmICghbm9fc3ltYm9scykge1xuXHRcdF9fZGVmUHJvcCh0YXJnZXQsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogXCJNb2R1bGVcIiB9KTtcblx0fVxuXHRyZXR1cm4gdGFyZ2V0O1xufTtcblxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydHMuX19leHBvcnRBbGwgPSBfX2V4cG9ydEFsbDsiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsMENBQTBDLGlCQUFpQjtBQUMzRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsbUJBQW1CIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs\n\n}");
|
|
22
48
|
|
|
23
49
|
},
|
|
24
|
-
"../../../node_modules/@module-federation/runtime/dist/
|
|
25
|
-
eval("{\n
|
|
50
|
+
"../../../node_modules/@module-federation/runtime-core/dist/constant.cjs"(__unused_rspack_module, exports) {
|
|
51
|
+
eval("{\n//#region src/constant.ts\nconst DEFAULT_SCOPE = \"default\";\nconst DEFAULT_REMOTE_TYPE = \"global\";\n\n//#endregion\nexports.DEFAULT_REMOTE_TYPE = DEFAULT_REMOTE_TYPE;\nexports.DEFAULT_SCOPE = DEFAULT_SCOPE;\n//# sourceMappingURL=constant.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2NvbnN0YW50LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC9jb25zdGFudC5janM/ZmVkZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiBzcmMvY29uc3RhbnQudHNcbmNvbnN0IERFRkFVTFRfU0NPUEUgPSBcImRlZmF1bHRcIjtcbmNvbnN0IERFRkFVTFRfUkVNT1RFX1RZUEUgPSBcImdsb2JhbFwiO1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuREVGQVVMVF9SRU1PVEVfVFlQRSA9IERFRkFVTFRfUkVNT1RFX1RZUEU7XG5leHBvcnRzLkRFRkFVTFRfU0NPUEUgPSBERUZBVUxUX1NDT1BFO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnQuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMkJBQTJCO0FBQzNCLHFCQUFxQjtBQUNyQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/constant.cjs\n\n}");
|
|
26
52
|
|
|
27
53
|
},
|
|
28
|
-
"../../../node_modules/@module-federation/
|
|
29
|
-
eval("{\n\nconst FederationModuleManifest = 'federation-manifest.json';\nconst MANIFEST_EXT = '.json';\nconst BROWSER_LOG_KEY = 'FEDERATION_DEBUG';\nconst NameTransformSymbol = {\n AT: '@',\n HYPHEN: '-',\n SLASH: '/',\n};\nconst NameTransformMap = {\n [NameTransformSymbol.AT]: 'scope_',\n [NameTransformSymbol.HYPHEN]: '_',\n [NameTransformSymbol.SLASH]: '__',\n};\nconst EncodedNameTransformMap = {\n [NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n [NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n [NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH,\n};\nconst SEPARATOR = ':';\nconst ManifestFileName = 'mf-manifest.json';\nconst StatsFileName = 'mf-stats.json';\nconst MFModuleType = {\n NPM: 'npm',\n APP: 'app',\n};\nconst MODULE_DEVTOOL_IDENTIFIER = '__MF_DEVTOOLS_MODULE_INFO__';\nconst ENCODE_NAME_PREFIX = 'ENCODE_NAME_PREFIX';\nconst TEMP_DIR = '.federation';\nconst MFPrefetchCommon = {\n identifier: 'MFDataPrefetch',\n globalKey: '__PREFETCH__',\n library: 'mf-data-prefetch',\n exportsKey: '__PREFETCH_EXPORTS__',\n fileName: 'bootstrap.js',\n};\n\n/*\n * This file was automatically generated.\n * DO NOT MODIFY BY HAND.\n * Run `yarn special-lint-fix` to update\n */\n\nvar ContainerPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\n/*\n * This file was automatically generated.\n * DO NOT MODIFY BY HAND.\n * Run `yarn special-lint-fix` to update\n */\n\nvar ContainerReferencePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nvar ModuleFederationPlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\n/*\n * This file was automatically generated.\n * DO NOT MODIFY BY HAND.\n * Run `yarn special-lint-fix` to update\n */\n\nvar SharePlugin = /*#__PURE__*/Object.freeze({\n __proto__: null\n});\n\nfunction isBrowserEnv() {\n return (typeof window !== 'undefined' && typeof window.document !== 'undefined');\n}\nfunction isReactNativeEnv() {\n return (typeof navigator !== 'undefined' && navigator?.product === 'ReactNative');\n}\nfunction isBrowserDebug() {\n try {\n if (isBrowserEnv() && window.localStorage) {\n return Boolean(localStorage.getItem(BROWSER_LOG_KEY));\n }\n }\n catch (error) {\n return false;\n }\n return false;\n}\nfunction isDebugMode() {\n if (typeof process !== 'undefined' &&\n process.env &&\n process.env['FEDERATION_DEBUG']) {\n return Boolean(process.env['FEDERATION_DEBUG']);\n }\n if (typeof FEDERATION_DEBUG !== 'undefined' && Boolean(FEDERATION_DEBUG)) {\n return true;\n }\n return isBrowserDebug();\n}\nconst getProcessEnv = function () {\n return typeof process !== 'undefined' && process.env ? process.env : {};\n};\n\nconst LOG_CATEGORY = '[ Federation Runtime ]';\n// entry: name:version version : 1.0.0 | ^1.2.3\n// entry: name:entry entry: https://localhost:9000/federation-manifest.json\nconst parseEntry = (str, devVerOrUrl, separator = SEPARATOR) => {\n const strSplit = str.split(separator);\n const devVersionOrUrl = getProcessEnv()['NODE_ENV'] === 'development' && devVerOrUrl;\n const defaultVersion = '*';\n const isEntry = (s) => s.startsWith('http') || s.includes(MANIFEST_EXT);\n // Check if the string starts with a type\n if (strSplit.length >= 2) {\n let [name, ...versionOrEntryArr] = strSplit;\n // @name@manifest-url.json\n if (str.startsWith(separator)) {\n name = strSplit.slice(0, 2).join(separator);\n versionOrEntryArr = [\n devVersionOrUrl || strSplit.slice(2).join(separator),\n ];\n }\n let versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n if (isEntry(versionOrEntry)) {\n return {\n name,\n entry: versionOrEntry,\n };\n }\n else {\n // Apply version rule\n // devVersionOrUrl => inputVersion => defaultVersion\n return {\n name,\n version: versionOrEntry || defaultVersion,\n };\n }\n }\n else if (strSplit.length === 1) {\n const [name] = strSplit;\n if (devVersionOrUrl && isEntry(devVersionOrUrl)) {\n return {\n name,\n entry: devVersionOrUrl,\n };\n }\n return {\n name,\n version: devVersionOrUrl || defaultVersion,\n };\n }\n else {\n throw `Invalid entry value: ${str}`;\n }\n};\nconst composeKeyWithSeparator = function (...args) {\n if (!args.length) {\n return '';\n }\n return args.reduce((sum, cur) => {\n if (!cur) {\n return sum;\n }\n if (!sum) {\n return cur;\n }\n return `${sum}${SEPARATOR}${cur}`;\n }, '');\n};\nconst encodeName = function (name, prefix = '', withExt = false) {\n try {\n const ext = withExt ? '.js' : '';\n return `${prefix}${name\n .replace(new RegExp(`${NameTransformSymbol.AT}`, 'g'), NameTransformMap[NameTransformSymbol.AT])\n .replace(new RegExp(`${NameTransformSymbol.HYPHEN}`, 'g'), NameTransformMap[NameTransformSymbol.HYPHEN])\n .replace(new RegExp(`${NameTransformSymbol.SLASH}`, 'g'), NameTransformMap[NameTransformSymbol.SLASH])}${ext}`;\n }\n catch (err) {\n throw err;\n }\n};\nconst decodeName = function (name, prefix, withExt) {\n try {\n let decodedName = name;\n if (prefix) {\n if (!decodedName.startsWith(prefix)) {\n return decodedName;\n }\n decodedName = decodedName.replace(new RegExp(prefix, 'g'), '');\n }\n decodedName = decodedName\n .replace(new RegExp(`${NameTransformMap[NameTransformSymbol.AT]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.AT]])\n .replace(new RegExp(`${NameTransformMap[NameTransformSymbol.SLASH]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.SLASH]])\n .replace(new RegExp(`${NameTransformMap[NameTransformSymbol.HYPHEN]}`, 'g'), EncodedNameTransformMap[NameTransformMap[NameTransformSymbol.HYPHEN]]);\n if (withExt) {\n decodedName = decodedName.replace('.js', '');\n }\n return decodedName;\n }\n catch (err) {\n throw err;\n }\n};\nconst generateExposeFilename = (exposeName, withExt) => {\n if (!exposeName) {\n return '';\n }\n let expose = exposeName;\n if (expose === '.') {\n expose = 'default_export';\n }\n if (expose.startsWith('./')) {\n expose = expose.replace('./', '');\n }\n return encodeName(expose, '__federation_expose_', withExt);\n};\nconst generateShareFilename = (pkgName, withExt) => {\n if (!pkgName) {\n return '';\n }\n return encodeName(pkgName, '__federation_shared_', withExt);\n};\nconst getResourceUrl = (module, sourceUrl) => {\n if ('getPublicPath' in module) {\n let publicPath;\n if (!module.getPublicPath.startsWith('function')) {\n publicPath = new Function(module.getPublicPath)();\n }\n else {\n publicPath = new Function('return ' + module.getPublicPath)()();\n }\n return `${publicPath}${sourceUrl}`;\n }\n else if ('publicPath' in module) {\n if (!isBrowserEnv() && !isReactNativeEnv() && 'ssrPublicPath' in module) {\n return `${module.ssrPublicPath}${sourceUrl}`;\n }\n return `${module.publicPath}${sourceUrl}`;\n }\n else {\n console.warn('Cannot get resource URL. If in debug mode, please ignore.', module, sourceUrl);\n return '';\n }\n};\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst assert = (condition, msg) => {\n if (!condition) {\n error(msg);\n }\n};\nconst error = (msg) => {\n throw new Error(`${LOG_CATEGORY}: ${msg}`);\n};\nconst warn = (msg) => {\n console.warn(`${LOG_CATEGORY}: ${msg}`);\n};\nfunction safeToString(info) {\n try {\n return JSON.stringify(info, null, 2);\n }\n catch (e) {\n return '';\n }\n}\n// RegExp for version string\nconst VERSION_PATTERN_REGEXP = /^([\\d^=v<>~]|[*xX]$)/;\nfunction isRequiredVersion(str) {\n return VERSION_PATTERN_REGEXP.test(str);\n}\n\nconst simpleJoinRemoteEntry = (rPath, rName) => {\n if (!rPath) {\n return rName;\n }\n const transformPath = (str) => {\n if (str === '.') {\n return '';\n }\n if (str.startsWith('./')) {\n return str.replace('./', '');\n }\n if (str.startsWith('/')) {\n const strWithoutSlash = str.slice(1);\n if (strWithoutSlash.endsWith('/')) {\n return strWithoutSlash.slice(0, -1);\n }\n return strWithoutSlash;\n }\n return str;\n };\n const transformedPath = transformPath(rPath);\n if (!transformedPath) {\n return rName;\n }\n if (transformedPath.endsWith('/')) {\n return `${transformedPath}${rName}`;\n }\n return `${transformedPath}/${rName}`;\n};\nfunction inferAutoPublicPath(url) {\n return url\n .replace(/#.*$/, '')\n .replace(/\\?.*$/, '')\n .replace(/\\/[^\\/]+$/, '/');\n}\n// Priority: overrides > remotes\n// eslint-disable-next-line max-lines-per-function\nfunction generateSnapshotFromManifest(manifest, options = {}) {\n const { remotes = {}, overrides = {}, version } = options;\n let remoteSnapshot;\n const getPublicPath = () => {\n if ('publicPath' in manifest.metaData) {\n if (manifest.metaData.publicPath === 'auto' && version) {\n // use same implementation as publicPath auto runtime module implements\n return inferAutoPublicPath(version);\n }\n return manifest.metaData.publicPath;\n }\n else {\n return manifest.metaData.getPublicPath;\n }\n };\n const overridesKeys = Object.keys(overrides);\n let remotesInfo = {};\n // If remotes are not provided, only the remotes in the manifest will be read\n if (!Object.keys(remotes).length) {\n remotesInfo =\n manifest.remotes?.reduce((res, next) => {\n let matchedVersion;\n const name = next.federationContainerName;\n // overrides have higher priority\n if (overridesKeys.includes(name)) {\n matchedVersion = overrides[name];\n }\n else {\n if ('version' in next) {\n matchedVersion = next.version;\n }\n else {\n matchedVersion = next.entry;\n }\n }\n res[name] = {\n matchedVersion,\n };\n return res;\n }, {}) || {};\n }\n // If remotes (deploy scenario) are specified, they need to be traversed again\n Object.keys(remotes).forEach((key) => (remotesInfo[key] = {\n // overrides will override dependencies\n matchedVersion: overridesKeys.includes(key)\n ? overrides[key]\n : remotes[key],\n }));\n const { remoteEntry: { path: remoteEntryPath, name: remoteEntryName, type: remoteEntryType, }, types: remoteTypes = { path: '', name: '', zip: '', api: '' }, buildInfo: { buildVersion }, globalName, ssrRemoteEntry, } = manifest.metaData;\n const { exposes } = manifest;\n let basicRemoteSnapshot = {\n version: version ? version : '',\n buildVersion,\n globalName,\n remoteEntry: simpleJoinRemoteEntry(remoteEntryPath, remoteEntryName),\n remoteEntryType,\n remoteTypes: simpleJoinRemoteEntry(remoteTypes.path, remoteTypes.name),\n remoteTypesZip: remoteTypes.zip || '',\n remoteTypesAPI: remoteTypes.api || '',\n remotesInfo,\n shared: manifest?.shared.map((item) => ({\n assets: item.assets,\n sharedName: item.name,\n version: item.version,\n })),\n modules: exposes?.map((expose) => ({\n moduleName: expose.name,\n modulePath: expose.path,\n assets: expose.assets,\n })),\n };\n if (manifest.metaData?.prefetchInterface) {\n const prefetchInterface = manifest.metaData.prefetchInterface;\n basicRemoteSnapshot = {\n ...basicRemoteSnapshot,\n prefetchInterface,\n };\n }\n if (manifest.metaData?.prefetchEntry) {\n const { path, name, type } = manifest.metaData.prefetchEntry;\n basicRemoteSnapshot = {\n ...basicRemoteSnapshot,\n prefetchEntry: simpleJoinRemoteEntry(path, name),\n prefetchEntryType: type,\n };\n }\n if ('publicPath' in manifest.metaData) {\n remoteSnapshot = {\n ...basicRemoteSnapshot,\n publicPath: getPublicPath(),\n ssrPublicPath: manifest.metaData.ssrPublicPath,\n };\n }\n else {\n remoteSnapshot = {\n ...basicRemoteSnapshot,\n getPublicPath: getPublicPath(),\n };\n }\n if (ssrRemoteEntry) {\n const fullSSRRemoteEntry = simpleJoinRemoteEntry(ssrRemoteEntry.path, ssrRemoteEntry.name);\n remoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry;\n remoteSnapshot.ssrRemoteEntryType =\n ssrRemoteEntry.type || 'commonjs-module';\n }\n return remoteSnapshot;\n}\nfunction isManifestProvider(moduleInfo) {\n if ('remoteEntry' in moduleInfo &&\n moduleInfo.remoteEntry.includes(MANIFEST_EXT)) {\n return true;\n }\n else {\n return false;\n }\n}\nfunction getManifestFileName(manifestOptions) {\n if (!manifestOptions) {\n return {\n statsFileName: StatsFileName,\n manifestFileName: ManifestFileName,\n };\n }\n let filePath = typeof manifestOptions === 'boolean' ? '' : manifestOptions.filePath || '';\n let fileName = typeof manifestOptions === 'boolean' ? '' : manifestOptions.fileName || '';\n const JSON_EXT = '.json';\n const addExt = (name) => {\n if (name.endsWith(JSON_EXT)) {\n return name;\n }\n return `${name}${JSON_EXT}`;\n };\n const insertSuffix = (name, suffix) => {\n return name.replace(JSON_EXT, `${suffix}${JSON_EXT}`);\n };\n const manifestFileName = fileName ? addExt(fileName) : ManifestFileName;\n const statsFileName = fileName\n ? insertSuffix(manifestFileName, '-stats')\n : StatsFileName;\n return {\n statsFileName: simpleJoinRemoteEntry(filePath, statsFileName),\n manifestFileName: simpleJoinRemoteEntry(filePath, manifestFileName),\n };\n}\n\nconst PREFIX = '[ Module Federation ]';\nconst DEFAULT_DELEGATE = console;\nconst LOGGER_STACK_SKIP_TOKENS = [\n 'logger.ts',\n 'logger.js',\n 'captureStackTrace',\n 'Logger.emit',\n 'Logger.log',\n 'Logger.info',\n 'Logger.warn',\n 'Logger.error',\n 'Logger.debug',\n];\nfunction captureStackTrace() {\n try {\n const stack = new Error().stack;\n if (!stack) {\n return undefined;\n }\n const [, ...rawLines] = stack.split('\\n');\n const filtered = rawLines.filter((line) => !LOGGER_STACK_SKIP_TOKENS.some((token) => line.includes(token)));\n if (!filtered.length) {\n return undefined;\n }\n const stackPreview = filtered.slice(0, 5).join('\\n');\n return `Stack trace:\\n${stackPreview}`;\n }\n catch {\n return undefined;\n }\n}\nclass Logger {\n constructor(prefix, delegate = DEFAULT_DELEGATE) {\n this.prefix = prefix;\n this.delegate = delegate ?? DEFAULT_DELEGATE;\n }\n setPrefix(prefix) {\n this.prefix = prefix;\n }\n setDelegate(delegate) {\n this.delegate = delegate ?? DEFAULT_DELEGATE;\n }\n emit(method, args) {\n const delegate = this.delegate;\n const debugMode = isDebugMode();\n const stackTrace = debugMode ? captureStackTrace() : undefined;\n const enrichedArgs = stackTrace ? [...args, stackTrace] : args;\n const order = (() => {\n switch (method) {\n case 'log':\n return ['log', 'info'];\n case 'info':\n return ['info', 'log'];\n case 'warn':\n return ['warn', 'info', 'log'];\n case 'error':\n return ['error', 'warn', 'log'];\n case 'debug':\n default:\n return ['debug', 'log'];\n }\n })();\n for (const candidate of order) {\n const handler = delegate[candidate];\n if (typeof handler === 'function') {\n handler.call(delegate, this.prefix, ...enrichedArgs);\n return;\n }\n }\n for (const candidate of order) {\n const handler = DEFAULT_DELEGATE[candidate];\n if (typeof handler === 'function') {\n handler.call(DEFAULT_DELEGATE, this.prefix, ...enrichedArgs);\n return;\n }\n }\n }\n log(...args) {\n this.emit('log', args);\n }\n warn(...args) {\n this.emit('warn', args);\n }\n error(...args) {\n this.emit('error', args);\n }\n success(...args) {\n this.emit('info', args);\n }\n info(...args) {\n this.emit('info', args);\n }\n ready(...args) {\n this.emit('info', args);\n }\n debug(...args) {\n if (isDebugMode()) {\n this.emit('debug', args);\n }\n }\n}\nfunction createLogger(prefix) {\n return new Logger(prefix);\n}\nfunction createInfrastructureLogger(prefix) {\n const infrastructureLogger = new Logger(prefix);\n Object.defineProperty(infrastructureLogger, '__mf_infrastructure_logger__', {\n value: true,\n enumerable: false,\n configurable: false,\n });\n return infrastructureLogger;\n}\nfunction bindLoggerToCompiler(loggerInstance, compiler, name) {\n if (!loggerInstance\n .__mf_infrastructure_logger__) {\n return;\n }\n if (!compiler?.getInfrastructureLogger) {\n return;\n }\n try {\n const infrastructureLogger = compiler.getInfrastructureLogger(name);\n if (infrastructureLogger &&\n typeof infrastructureLogger === 'object' &&\n (typeof infrastructureLogger.log === 'function' ||\n typeof infrastructureLogger.info === 'function' ||\n typeof infrastructureLogger.warn === 'function' ||\n typeof infrastructureLogger.error === 'function')) {\n loggerInstance.setDelegate(infrastructureLogger);\n }\n }\n catch {\n // If the bundler throws (older versions), fall back to default console logger.\n loggerInstance.setDelegate(undefined);\n }\n}\nconst logger = createLogger(PREFIX);\nconst infrastructureLogger = createInfrastructureLogger(PREFIX);\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nasync function safeWrapper(callback, disableWarn) {\n try {\n const res = await callback();\n return res;\n }\n catch (e) {\n !disableWarn && warn(e);\n return;\n }\n}\nfunction isStaticResourcesEqual(url1, url2) {\n const REG_EXP = /^(https?:)?\\/\\//i;\n // Transform url1 and url2 into relative paths\n const relativeUrl1 = url1.replace(REG_EXP, '').replace(/\\/$/, '');\n const relativeUrl2 = url2.replace(REG_EXP, '').replace(/\\/$/, '');\n // Check if the relative paths are identical\n return relativeUrl1 === relativeUrl2;\n}\nfunction createScript(info) {\n // Retrieve the existing script element by its src attribute\n let script = null;\n let needAttach = true;\n let timeout = 20000;\n let timeoutId;\n const scripts = document.getElementsByTagName('script');\n for (let i = 0; i < scripts.length; i++) {\n const s = scripts[i];\n const scriptSrc = s.getAttribute('src');\n if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n script = s;\n needAttach = false;\n break;\n }\n }\n if (!script) {\n const attrs = info.attrs;\n script = document.createElement('script');\n script.type = attrs?.['type'] === 'module' ? 'module' : 'text/javascript';\n let createScriptRes = undefined;\n if (info.createScriptHook) {\n createScriptRes = info.createScriptHook(info.url, info.attrs);\n if (createScriptRes instanceof HTMLScriptElement) {\n script = createScriptRes;\n }\n else if (typeof createScriptRes === 'object') {\n if ('script' in createScriptRes && createScriptRes.script) {\n script = createScriptRes.script;\n }\n if ('timeout' in createScriptRes && createScriptRes.timeout) {\n timeout = createScriptRes.timeout;\n }\n }\n }\n if (!script.src) {\n script.src = info.url;\n }\n if (attrs && !createScriptRes) {\n Object.keys(attrs).forEach((name) => {\n if (script) {\n if (name === 'async' || name === 'defer') {\n script[name] = attrs[name];\n // Attributes that do not exist are considered overridden\n }\n else if (!script.getAttribute(name)) {\n script.setAttribute(name, attrs[name]);\n }\n }\n });\n }\n }\n const onScriptComplete = async (prev, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event) => {\n clearTimeout(timeoutId);\n const onScriptCompleteCallback = () => {\n if (event?.type === 'error') {\n info?.onErrorCallback && info?.onErrorCallback(event);\n }\n else {\n info?.cb && info?.cb();\n }\n };\n // Prevent memory leaks in IE.\n if (script) {\n script.onerror = null;\n script.onload = null;\n safeWrapper(() => {\n const { needDeleteScript = true } = info;\n if (needDeleteScript) {\n script?.parentNode && script.parentNode.removeChild(script);\n }\n });\n if (prev && typeof prev === 'function') {\n const result = prev(event);\n if (result instanceof Promise) {\n const res = await result;\n onScriptCompleteCallback();\n return res;\n }\n onScriptCompleteCallback();\n return result;\n }\n }\n onScriptCompleteCallback();\n };\n script.onerror = onScriptComplete.bind(null, script.onerror);\n script.onload = onScriptComplete.bind(null, script.onload);\n timeoutId = setTimeout(() => {\n onScriptComplete(null, new Error(`Remote script \"${info.url}\" time-outed.`));\n }, timeout);\n return { script, needAttach };\n}\nfunction createLink(info) {\n // <link rel=\"preload\" href=\"script.js\" as=\"script\">\n // Retrieve the existing script element by its src attribute\n let link = null;\n let needAttach = true;\n const links = document.getElementsByTagName('link');\n for (let i = 0; i < links.length; i++) {\n const l = links[i];\n const linkHref = l.getAttribute('href');\n const linkRel = l.getAttribute('rel');\n if (linkHref &&\n isStaticResourcesEqual(linkHref, info.url) &&\n linkRel === info.attrs['rel']) {\n link = l;\n needAttach = false;\n break;\n }\n }\n if (!link) {\n link = document.createElement('link');\n link.setAttribute('href', info.url);\n let createLinkRes = undefined;\n const attrs = info.attrs;\n if (info.createLinkHook) {\n createLinkRes = info.createLinkHook(info.url, attrs);\n if (createLinkRes instanceof HTMLLinkElement) {\n link = createLinkRes;\n }\n }\n if (attrs && !createLinkRes) {\n Object.keys(attrs).forEach((name) => {\n if (link && !link.getAttribute(name)) {\n link.setAttribute(name, attrs[name]);\n }\n });\n }\n }\n const onLinkComplete = (prev, \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n event) => {\n const onLinkCompleteCallback = () => {\n if (event?.type === 'error') {\n info?.onErrorCallback && info?.onErrorCallback(event);\n }\n else {\n info?.cb && info?.cb();\n }\n };\n // Prevent memory leaks in IE.\n if (link) {\n link.onerror = null;\n link.onload = null;\n safeWrapper(() => {\n const { needDeleteLink = true } = info;\n if (needDeleteLink) {\n link?.parentNode && link.parentNode.removeChild(link);\n }\n });\n if (prev) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const res = prev(event);\n onLinkCompleteCallback();\n return res;\n }\n }\n onLinkCompleteCallback();\n };\n link.onerror = onLinkComplete.bind(null, link.onerror);\n link.onload = onLinkComplete.bind(null, link.onload);\n return { link, needAttach };\n}\nfunction loadScript(url, info) {\n const { attrs = {}, createScriptHook } = info;\n return new Promise((resolve, reject) => {\n const { script, needAttach } = createScript({\n url,\n cb: resolve,\n onErrorCallback: reject,\n attrs: {\n fetchpriority: 'high',\n ...attrs,\n },\n createScriptHook,\n needDeleteScript: true,\n });\n needAttach && document.head.appendChild(script);\n });\n}\n\nconst sdkImportCache = new Map();\nfunction importNodeModule(name) {\n if (!name) {\n throw new Error('import specifier is required');\n }\n // Check cache to prevent infinite recursion\n if (sdkImportCache.has(name)) {\n return sdkImportCache.get(name);\n }\n const importModule = new Function('name', `return import(name)`);\n const promise = importModule(name)\n .then((res) => res)\n .catch((error) => {\n console.error(`Error importing module ${name}:`, error);\n // Remove from cache on error so it can be retried\n sdkImportCache.delete(name);\n throw error;\n });\n // Cache the promise to prevent recursive calls\n sdkImportCache.set(name, promise);\n return promise;\n}\nconst loadNodeFetch = async () => {\n const fetchModule = await importNodeModule('node-fetch');\n return (fetchModule.default || fetchModule);\n};\nconst lazyLoaderHookFetch = async (input, init, loaderHook) => {\n const hook = (url, init) => {\n return loaderHook.lifecycle.fetch.emit(url, init);\n };\n const res = await hook(input, init || {});\n if (!res || !(res instanceof Response)) {\n const fetchFunction = typeof fetch === 'undefined' ? await loadNodeFetch() : fetch;\n return fetchFunction(input, init || {});\n }\n return res;\n};\nconst createScriptNode = typeof ENV_TARGET === 'undefined' || ENV_TARGET !== 'web'\n ? (url, cb, attrs, loaderHook) => {\n if (loaderHook?.createScriptHook) {\n const hookResult = loaderHook.createScriptHook(url);\n if (hookResult &&\n typeof hookResult === 'object' &&\n 'url' in hookResult) {\n url = hookResult.url;\n }\n }\n let urlObj;\n try {\n urlObj = new URL(url);\n }\n catch (e) {\n console.error('Error constructing URL:', e);\n cb(new Error(`Invalid URL: ${e}`));\n return;\n }\n const getFetch = async () => {\n if (loaderHook?.fetch) {\n return (input, init) => lazyLoaderHookFetch(input, init, loaderHook);\n }\n return typeof fetch === 'undefined' ? loadNodeFetch() : fetch;\n };\n const handleScriptFetch = async (f, urlObj) => {\n try {\n const res = await f(urlObj.href);\n const data = await res.text();\n const [path, vm] = await Promise.all([\n importNodeModule('path'),\n importNodeModule('vm'),\n ]);\n const scriptContext = { exports: {}, module: { exports: {} } };\n const urlDirname = urlObj.pathname\n .split('/')\n .slice(0, -1)\n .join('/');\n const filename = path.basename(urlObj.pathname);\n const script = new vm.Script(`(function(exports, module, require, __dirname, __filename) {${data}\\n})`, {\n filename,\n importModuleDynamically: \n //@ts-ignore\n vm.constants?.USE_MAIN_CONTEXT_DEFAULT_LOADER ??\n importNodeModule,\n });\n script.runInThisContext()(scriptContext.exports, scriptContext.module, eval('require'), urlDirname, filename);\n const exportedInterface = scriptContext.module.exports || scriptContext.exports;\n if (attrs && exportedInterface && attrs['globalName']) {\n const container = exportedInterface[attrs['globalName']] || exportedInterface;\n cb(undefined, container);\n return;\n }\n cb(undefined, exportedInterface);\n }\n catch (e) {\n cb(e instanceof Error\n ? e\n : new Error(`Script execution error: ${e}`));\n }\n };\n getFetch()\n .then(async (f) => {\n if (attrs?.['type'] === 'esm' || attrs?.['type'] === 'module') {\n return loadModule(urlObj.href, {\n fetch: f,\n vm: await importNodeModule('vm'),\n })\n .then(async (module) => {\n await module.evaluate();\n cb(undefined, module.namespace);\n })\n .catch((e) => {\n cb(e instanceof Error\n ? e\n : new Error(`Script execution error: ${e}`));\n });\n }\n handleScriptFetch(f, urlObj);\n })\n .catch((err) => {\n cb(err);\n });\n }\n : (url, cb, attrs, loaderHook) => {\n cb(new Error('createScriptNode is disabled in non-Node.js environment'));\n };\nconst loadScriptNode = typeof ENV_TARGET === 'undefined' || ENV_TARGET !== 'web'\n ? (url, info) => {\n return new Promise((resolve, reject) => {\n createScriptNode(url, (error, scriptContext) => {\n if (error) {\n reject(error);\n }\n else {\n const remoteEntryKey = info?.attrs?.['globalName'] ||\n `__FEDERATION_${info?.attrs?.['name']}:custom__`;\n const entryExports = (globalThis[remoteEntryKey] =\n scriptContext);\n resolve(entryExports);\n }\n }, info.attrs, info.loaderHook);\n });\n }\n : (url, info) => {\n throw new Error('loadScriptNode is disabled in non-Node.js environment');\n };\nconst esmModuleCache = new Map();\nasync function loadModule(url, options) {\n // Check cache to prevent infinite recursion in ESM loading\n if (esmModuleCache.has(url)) {\n return esmModuleCache.get(url);\n }\n const { fetch, vm } = options;\n const response = await fetch(url);\n const code = await response.text();\n const module = new vm.SourceTextModule(code, {\n // @ts-ignore\n importModuleDynamically: async (specifier, script) => {\n const resolvedUrl = new URL(specifier, url).href;\n return loadModule(resolvedUrl, options);\n },\n });\n // Cache the module before linking to prevent cycles\n esmModuleCache.set(url, module);\n await module.link(async (specifier) => {\n const resolvedUrl = new URL(specifier, url).href;\n const module = await loadModule(resolvedUrl, options);\n return module;\n });\n return module;\n}\n\nfunction normalizeOptions(enableDefault, defaultOptions, key) {\n return function (options) {\n if (options === false) {\n return false;\n }\n if (typeof options === 'undefined') {\n if (enableDefault) {\n return defaultOptions;\n }\n else {\n return false;\n }\n }\n if (options === true) {\n return defaultOptions;\n }\n if (options && typeof options === 'object') {\n return {\n ...defaultOptions,\n ...options,\n };\n }\n throw new Error(`Unexpected type for \\`${key}\\`, expect boolean/undefined/object, got: ${typeof options}`);\n };\n}\n\nconst createModuleFederationConfig = (options) => {\n return options;\n};\n\nexports.BROWSER_LOG_KEY = BROWSER_LOG_KEY;\nexports.ENCODE_NAME_PREFIX = ENCODE_NAME_PREFIX;\nexports.EncodedNameTransformMap = EncodedNameTransformMap;\nexports.FederationModuleManifest = FederationModuleManifest;\nexports.MANIFEST_EXT = MANIFEST_EXT;\nexports.MFModuleType = MFModuleType;\nexports.MFPrefetchCommon = MFPrefetchCommon;\nexports.MODULE_DEVTOOL_IDENTIFIER = MODULE_DEVTOOL_IDENTIFIER;\nexports.ManifestFileName = ManifestFileName;\nexports.NameTransformMap = NameTransformMap;\nexports.NameTransformSymbol = NameTransformSymbol;\nexports.SEPARATOR = SEPARATOR;\nexports.StatsFileName = StatsFileName;\nexports.TEMP_DIR = TEMP_DIR;\nexports.assert = assert;\nexports.bindLoggerToCompiler = bindLoggerToCompiler;\nexports.composeKeyWithSeparator = composeKeyWithSeparator;\nexports.containerPlugin = ContainerPlugin;\nexports.containerReferencePlugin = ContainerReferencePlugin;\nexports.createInfrastructureLogger = createInfrastructureLogger;\nexports.createLink = createLink;\nexports.createLogger = createLogger;\nexports.createModuleFederationConfig = createModuleFederationConfig;\nexports.createScript = createScript;\nexports.createScriptNode = createScriptNode;\nexports.decodeName = decodeName;\nexports.encodeName = encodeName;\nexports.error = error;\nexports.generateExposeFilename = generateExposeFilename;\nexports.generateShareFilename = generateShareFilename;\nexports.generateSnapshotFromManifest = generateSnapshotFromManifest;\nexports.getManifestFileName = getManifestFileName;\nexports.getProcessEnv = getProcessEnv;\nexports.getResourceUrl = getResourceUrl;\nexports.inferAutoPublicPath = inferAutoPublicPath;\nexports.infrastructureLogger = infrastructureLogger;\nexports.isBrowserEnv = isBrowserEnv;\nexports.isDebugMode = isDebugMode;\nexports.isManifestProvider = isManifestProvider;\nexports.isReactNativeEnv = isReactNativeEnv;\nexports.isRequiredVersion = isRequiredVersion;\nexports.isStaticResourcesEqual = isStaticResourcesEqual;\nexports.loadScript = loadScript;\nexports.loadScriptNode = loadScriptNode;\nexports.logger = logger;\nexports.moduleFederationPlugin = ModuleFederationPlugin;\nexports.normalizeOptions = normalizeOptions;\nexports.parseEntry = parseEntry;\nexports.safeToString = safeToString;\nexports.safeWrapper = safeWrapper;\nexports.sharePlugin = SharePlugin;\nexports.simpleJoinRemoteEntry = simpleJoinRemoteEntry;\nexports.warn = warn;\n//# sourceMappingURL=index.cjs.cjs.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2luZGV4LmNqcy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvaW5kZXguY2pzLmNqcz83OWU3Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuY29uc3QgRmVkZXJhdGlvbk1vZHVsZU1hbmlmZXN0ID0gJ2ZlZGVyYXRpb24tbWFuaWZlc3QuanNvbic7XG5jb25zdCBNQU5JRkVTVF9FWFQgPSAnLmpzb24nO1xuY29uc3QgQlJPV1NFUl9MT0dfS0VZID0gJ0ZFREVSQVRJT05fREVCVUcnO1xuY29uc3QgTmFtZVRyYW5zZm9ybVN5bWJvbCA9IHtcbiAgICBBVDogJ0AnLFxuICAgIEhZUEhFTjogJy0nLFxuICAgIFNMQVNIOiAnLycsXG59O1xuY29uc3QgTmFtZVRyYW5zZm9ybU1hcCA9IHtcbiAgICBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF06ICdzY29wZV8nLFxuICAgIFtOYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTl06ICdfJyxcbiAgICBbTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSF06ICdfXycsXG59O1xuY29uc3QgRW5jb2RlZE5hbWVUcmFuc2Zvcm1NYXAgPSB7XG4gICAgW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLkFULFxuICAgIFtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuSFlQSEVOXV06IE5hbWVUcmFuc2Zvcm1TeW1ib2wuSFlQSEVOLFxuICAgIFtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuU0xBU0hdXTogTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSCxcbn07XG5jb25zdCBTRVBBUkFUT1IgPSAnOic7XG5jb25zdCBNYW5pZmVzdEZpbGVOYW1lID0gJ21mLW1hbmlmZXN0Lmpzb24nO1xuY29uc3QgU3RhdHNGaWxlTmFtZSA9ICdtZi1zdGF0cy5qc29uJztcbmNvbnN0IE1GTW9kdWxlVHlwZSA9IHtcbiAgICBOUE06ICducG0nLFxuICAgIEFQUDogJ2FwcCcsXG59O1xuY29uc3QgTU9EVUxFX0RFVlRPT0xfSURFTlRJRklFUiA9ICdfX01GX0RFVlRPT0xTX01PRFVMRV9JTkZPX18nO1xuY29uc3QgRU5DT0RFX05BTUVfUFJFRklYID0gJ0VOQ09ERV9OQU1FX1BSRUZJWCc7XG5jb25zdCBURU1QX0RJUiA9ICcuZmVkZXJhdGlvbic7XG5jb25zdCBNRlByZWZldGNoQ29tbW9uID0ge1xuICAgIGlkZW50aWZpZXI6ICdNRkRhdGFQcmVmZXRjaCcsXG4gICAgZ2xvYmFsS2V5OiAnX19QUkVGRVRDSF9fJyxcbiAgICBsaWJyYXJ5OiAnbWYtZGF0YS1wcmVmZXRjaCcsXG4gICAgZXhwb3J0c0tleTogJ19fUFJFRkVUQ0hfRVhQT1JUU19fJyxcbiAgICBmaWxlTmFtZTogJ2Jvb3RzdHJhcC5qcycsXG59O1xuXG4vKlxuICogVGhpcyBmaWxlIHdhcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZC5cbiAqIERPIE5PVCBNT0RJRlkgQlkgSEFORC5cbiAqIFJ1biBgeWFybiBzcGVjaWFsLWxpbnQtZml4YCB0byB1cGRhdGVcbiAqL1xuXG52YXIgQ29udGFpbmVyUGx1Z2luID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoe1xuICAgIF9fcHJvdG9fXzogbnVsbFxufSk7XG5cbi8qXG4gKiBUaGlzIGZpbGUgd2FzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkLlxuICogRE8gTk9UIE1PRElGWSBCWSBIQU5ELlxuICogUnVuIGB5YXJuIHNwZWNpYWwtbGludC1maXhgIHRvIHVwZGF0ZVxuICovXG5cbnZhciBDb250YWluZXJSZWZlcmVuY2VQbHVnaW4gPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG4gICAgX19wcm90b19fOiBudWxsXG59KTtcblxudmFyIE1vZHVsZUZlZGVyYXRpb25QbHVnaW4gPSAvKiNfX1BVUkVfXyovT2JqZWN0LmZyZWV6ZSh7XG4gICAgX19wcm90b19fOiBudWxsXG59KTtcblxuLypcbiAqIFRoaXMgZmlsZSB3YXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuXG4gKiBETyBOT1QgTU9ESUZZIEJZIEhBTkQuXG4gKiBSdW4gYHlhcm4gc3BlY2lhbC1saW50LWZpeGAgdG8gdXBkYXRlXG4gKi9cblxudmFyIFNoYXJlUGx1Z2luID0gLyojX19QVVJFX18qL09iamVjdC5mcmVlemUoe1xuICAgIF9fcHJvdG9fXzogbnVsbFxufSk7XG5cbmZ1bmN0aW9uIGlzQnJvd3NlckVudigpIHtcbiAgICByZXR1cm4gKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnKTtcbn1cbmZ1bmN0aW9uIGlzUmVhY3ROYXRpdmVFbnYoKSB7XG4gICAgcmV0dXJuICh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3I/LnByb2R1Y3QgPT09ICdSZWFjdE5hdGl2ZScpO1xufVxuZnVuY3Rpb24gaXNCcm93c2VyRGVidWcoKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKGlzQnJvd3NlckVudigpICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBCb29sZWFuKGxvY2FsU3RvcmFnZS5nZXRJdGVtKEJST1dTRVJfTE9HX0tFWSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzRGVidWdNb2RlKCkge1xuICAgIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnYgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnZbJ0ZFREVSQVRJT05fREVCVUcnXSkge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihwcm9jZXNzLmVudlsnRkVERVJBVElPTl9ERUJVRyddKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBGRURFUkFUSU9OX0RFQlVHICE9PSAndW5kZWZpbmVkJyAmJiBCb29sZWFuKEZFREVSQVRJT05fREVCVUcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gaXNCcm93c2VyRGVidWcoKTtcbn1cbmNvbnN0IGdldFByb2Nlc3NFbnYgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBwcm9jZXNzLmVudiA/IHByb2Nlc3MuZW52IDoge307XG59O1xuXG5jb25zdCBMT0dfQ0FURUdPUlkgPSAnWyBGZWRlcmF0aW9uIFJ1bnRpbWUgXSc7XG4vLyBlbnRyeTogbmFtZTp2ZXJzaW9uICAgdmVyc2lvbiA6IDEuMC4wIHwgXjEuMi4zXG4vLyBlbnRyeTogbmFtZTplbnRyeSAgZW50cnk6ICBodHRwczovL2xvY2FsaG9zdDo5MDAwL2ZlZGVyYXRpb24tbWFuaWZlc3QuanNvblxuY29uc3QgcGFyc2VFbnRyeSA9IChzdHIsIGRldlZlck9yVXJsLCBzZXBhcmF0b3IgPSBTRVBBUkFUT1IpID0+IHtcbiAgICBjb25zdCBzdHJTcGxpdCA9IHN0ci5zcGxpdChzZXBhcmF0b3IpO1xuICAgIGNvbnN0IGRldlZlcnNpb25PclVybCA9IGdldFByb2Nlc3NFbnYoKVsnTk9ERV9FTlYnXSA9PT0gJ2RldmVsb3BtZW50JyAmJiBkZXZWZXJPclVybDtcbiAgICBjb25zdCBkZWZhdWx0VmVyc2lvbiA9ICcqJztcbiAgICBjb25zdCBpc0VudHJ5ID0gKHMpID0+IHMuc3RhcnRzV2l0aCgnaHR0cCcpIHx8IHMuaW5jbHVkZXMoTUFOSUZFU1RfRVhUKTtcbiAgICAvLyBDaGVjayBpZiB0aGUgc3RyaW5nIHN0YXJ0cyB3aXRoIGEgdHlwZVxuICAgIGlmIChzdHJTcGxpdC5sZW5ndGggPj0gMikge1xuICAgICAgICBsZXQgW25hbWUsIC4uLnZlcnNpb25PckVudHJ5QXJyXSA9IHN0clNwbGl0O1xuICAgICAgICAvLyBAbmFtZUBtYW5pZmVzdC11cmwuanNvblxuICAgICAgICBpZiAoc3RyLnN0YXJ0c1dpdGgoc2VwYXJhdG9yKSkge1xuICAgICAgICAgICAgbmFtZSA9IHN0clNwbGl0LnNsaWNlKDAsIDIpLmpvaW4oc2VwYXJhdG9yKTtcbiAgICAgICAgICAgIHZlcnNpb25PckVudHJ5QXJyID0gW1xuICAgICAgICAgICAgICAgIGRldlZlcnNpb25PclVybCB8fCBzdHJTcGxpdC5zbGljZSgyKS5qb2luKHNlcGFyYXRvciksXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIGxldCB2ZXJzaW9uT3JFbnRyeSA9IGRldlZlcnNpb25PclVybCB8fCB2ZXJzaW9uT3JFbnRyeUFyci5qb2luKHNlcGFyYXRvcik7XG4gICAgICAgIGlmIChpc0VudHJ5KHZlcnNpb25PckVudHJ5KSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGVudHJ5OiB2ZXJzaW9uT3JFbnRyeSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBBcHBseSB2ZXJzaW9uIHJ1bGVcbiAgICAgICAgICAgIC8vIGRldlZlcnNpb25PclVybCA9PiBpbnB1dFZlcnNpb24gPT4gZGVmYXVsdFZlcnNpb25cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiB2ZXJzaW9uT3JFbnRyeSB8fCBkZWZhdWx0VmVyc2lvbixcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoc3RyU3BsaXQubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGNvbnN0IFtuYW1lXSA9IHN0clNwbGl0O1xuICAgICAgICBpZiAoZGV2VmVyc2lvbk9yVXJsICYmIGlzRW50cnkoZGV2VmVyc2lvbk9yVXJsKSkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGVudHJ5OiBkZXZWZXJzaW9uT3JVcmwsXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdmVyc2lvbjogZGV2VmVyc2lvbk9yVXJsIHx8IGRlZmF1bHRWZXJzaW9uLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdGhyb3cgYEludmFsaWQgZW50cnkgdmFsdWU6ICR7c3RyfWA7XG4gICAgfVxufTtcbmNvbnN0IGNvbXBvc2VLZXlXaXRoU2VwYXJhdG9yID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcbiAgICBpZiAoIWFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgcmV0dXJuIGFyZ3MucmVkdWNlKChzdW0sIGN1cikgPT4ge1xuICAgICAgICBpZiAoIWN1cikge1xuICAgICAgICAgICAgcmV0dXJuIHN1bTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN1bSkge1xuICAgICAgICAgICAgcmV0dXJuIGN1cjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7c3VtfSR7U0VQQVJBVE9SfSR7Y3VyfWA7XG4gICAgfSwgJycpO1xufTtcbmNvbnN0IGVuY29kZU5hbWUgPSBmdW5jdGlvbiAobmFtZSwgcHJlZml4ID0gJycsIHdpdGhFeHQgPSBmYWxzZSkge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGV4dCA9IHdpdGhFeHQgPyAnLmpzJyA6ICcnO1xuICAgICAgICByZXR1cm4gYCR7cHJlZml4fSR7bmFtZVxuICAgICAgICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtU3ltYm9sLkFUfWAsICdnJyksIE5hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF0pXG4gICAgICAgICAgICAucmVwbGFjZShuZXcgUmVnRXhwKGAke05hbWVUcmFuc2Zvcm1TeW1ib2wuSFlQSEVOfWAsICdnJyksIE5hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU5dKVxuICAgICAgICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIfWAsICdnJyksIE5hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSF0pfSR7ZXh0fWA7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhyb3cgZXJyO1xuICAgIH1cbn07XG5jb25zdCBkZWNvZGVOYW1lID0gZnVuY3Rpb24gKG5hbWUsIHByZWZpeCwgd2l0aEV4dCkge1xuICAgIHRyeSB7XG4gICAgICAgIGxldCBkZWNvZGVkTmFtZSA9IG5hbWU7XG4gICAgICAgIGlmIChwcmVmaXgpIHtcbiAgICAgICAgICAgIGlmICghZGVjb2RlZE5hbWUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlY29kZWROYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVjb2RlZE5hbWUgPSBkZWNvZGVkTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAocHJlZml4LCAnZycpLCAnJyk7XG4gICAgICAgIH1cbiAgICAgICAgZGVjb2RlZE5hbWUgPSBkZWNvZGVkTmFtZVxuICAgICAgICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuQVRdfWAsICdnJyksIEVuY29kZWROYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF1dKVxuICAgICAgICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuU0xBU0hdfWAsICdnJyksIEVuY29kZWROYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSF1dKVxuICAgICAgICAgICAgLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuSFlQSEVOXX1gLCAnZycpLCBFbmNvZGVkTmFtZVRyYW5zZm9ybU1hcFtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuSFlQSEVOXV0pO1xuICAgICAgICBpZiAod2l0aEV4dCkge1xuICAgICAgICAgICAgZGVjb2RlZE5hbWUgPSBkZWNvZGVkTmFtZS5yZXBsYWNlKCcuanMnLCAnJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlY29kZWROYW1lO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG59O1xuY29uc3QgZ2VuZXJhdGVFeHBvc2VGaWxlbmFtZSA9IChleHBvc2VOYW1lLCB3aXRoRXh0KSA9PiB7XG4gICAgaWYgKCFleHBvc2VOYW1lKSB7XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gICAgbGV0IGV4cG9zZSA9IGV4cG9zZU5hbWU7XG4gICAgaWYgKGV4cG9zZSA9PT0gJy4nKSB7XG4gICAgICAgIGV4cG9zZSA9ICdkZWZhdWx0X2V4cG9ydCc7XG4gICAgfVxuICAgIGlmIChleHBvc2Uuc3RhcnRzV2l0aCgnLi8nKSkge1xuICAgICAgICBleHBvc2UgPSBleHBvc2UucmVwbGFjZSgnLi8nLCAnJyk7XG4gICAgfVxuICAgIHJldHVybiBlbmNvZGVOYW1lKGV4cG9zZSwgJ19fZmVkZXJhdGlvbl9leHBvc2VfJywgd2l0aEV4dCk7XG59O1xuY29uc3QgZ2VuZXJhdGVTaGFyZUZpbGVuYW1lID0gKHBrZ05hbWUsIHdpdGhFeHQpID0+IHtcbiAgICBpZiAoIXBrZ05hbWUpIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gZW5jb2RlTmFtZShwa2dOYW1lLCAnX19mZWRlcmF0aW9uX3NoYXJlZF8nLCB3aXRoRXh0KTtcbn07XG5jb25zdCBnZXRSZXNvdXJjZVVybCA9IChtb2R1bGUsIHNvdXJjZVVybCkgPT4ge1xuICAgIGlmICgnZ2V0UHVibGljUGF0aCcgaW4gbW9kdWxlKSB7XG4gICAgICAgIGxldCBwdWJsaWNQYXRoO1xuICAgICAgICBpZiAoIW1vZHVsZS5nZXRQdWJsaWNQYXRoLnN0YXJ0c1dpdGgoJ2Z1bmN0aW9uJykpIHtcbiAgICAgICAgICAgIHB1YmxpY1BhdGggPSBuZXcgRnVuY3Rpb24obW9kdWxlLmdldFB1YmxpY1BhdGgpKCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBwdWJsaWNQYXRoID0gbmV3IEZ1bmN0aW9uKCdyZXR1cm4gJyArIG1vZHVsZS5nZXRQdWJsaWNQYXRoKSgpKCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke3B1YmxpY1BhdGh9JHtzb3VyY2VVcmx9YDtcbiAgICB9XG4gICAgZWxzZSBpZiAoJ3B1YmxpY1BhdGgnIGluIG1vZHVsZSkge1xuICAgICAgICBpZiAoIWlzQnJvd3NlckVudigpICYmICFpc1JlYWN0TmF0aXZlRW52KCkgJiYgJ3NzclB1YmxpY1BhdGgnIGluIG1vZHVsZSkge1xuICAgICAgICAgICAgcmV0dXJuIGAke21vZHVsZS5zc3JQdWJsaWNQYXRofSR7c291cmNlVXJsfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke21vZHVsZS5wdWJsaWNQYXRofSR7c291cmNlVXJsfWA7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zb2xlLndhcm4oJ0Nhbm5vdCBnZXQgcmVzb3VyY2UgVVJMLiBJZiBpbiBkZWJ1ZyBtb2RlLCBwbGVhc2UgaWdub3JlLicsIG1vZHVsZSwgc291cmNlVXJsKTtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn07XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuY29uc3QgYXNzZXJ0ID0gKGNvbmRpdGlvbiwgbXNnKSA9PiB7XG4gICAgaWYgKCFjb25kaXRpb24pIHtcbiAgICAgICAgZXJyb3IobXNnKTtcbiAgICB9XG59O1xuY29uc3QgZXJyb3IgPSAobXNnKSA9PiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGAke0xPR19DQVRFR09SWX06ICR7bXNnfWApO1xufTtcbmNvbnN0IHdhcm4gPSAobXNnKSA9PiB7XG4gICAgY29uc29sZS53YXJuKGAke0xPR19DQVRFR09SWX06ICR7bXNnfWApO1xufTtcbmZ1bmN0aW9uIHNhZmVUb1N0cmluZyhpbmZvKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGluZm8sIG51bGwsIDIpO1xuICAgIH1cbiAgICBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxufVxuLy8gUmVnRXhwIGZvciB2ZXJzaW9uIHN0cmluZ1xuY29uc3QgVkVSU0lPTl9QQVRURVJOX1JFR0VYUCA9IC9eKFtcXGRePXY8Pn5dfFsqeFhdJCkvO1xuZnVuY3Rpb24gaXNSZXF1aXJlZFZlcnNpb24oc3RyKSB7XG4gICAgcmV0dXJuIFZFUlNJT05fUEFUVEVSTl9SRUdFWFAudGVzdChzdHIpO1xufVxuXG5jb25zdCBzaW1wbGVKb2luUmVtb3RlRW50cnkgPSAoclBhdGgsIHJOYW1lKSA9PiB7XG4gICAgaWYgKCFyUGF0aCkge1xuICAgICAgICByZXR1cm4gck5hbWU7XG4gICAgfVxuICAgIGNvbnN0IHRyYW5zZm9ybVBhdGggPSAoc3RyKSA9PiB7XG4gICAgICAgIGlmIChzdHIgPT09ICcuJykge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdHIuc3RhcnRzV2l0aCgnLi8nKSkge1xuICAgICAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKCcuLycsICcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgY29uc3Qgc3RyV2l0aG91dFNsYXNoID0gc3RyLnNsaWNlKDEpO1xuICAgICAgICAgICAgaWYgKHN0cldpdGhvdXRTbGFzaC5lbmRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0cldpdGhvdXRTbGFzaC5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyV2l0aG91dFNsYXNoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfTtcbiAgICBjb25zdCB0cmFuc2Zvcm1lZFBhdGggPSB0cmFuc2Zvcm1QYXRoKHJQYXRoKTtcbiAgICBpZiAoIXRyYW5zZm9ybWVkUGF0aCkge1xuICAgICAgICByZXR1cm4gck5hbWU7XG4gICAgfVxuICAgIGlmICh0cmFuc2Zvcm1lZFBhdGguZW5kc1dpdGgoJy8nKSkge1xuICAgICAgICByZXR1cm4gYCR7dHJhbnNmb3JtZWRQYXRofSR7ck5hbWV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke3RyYW5zZm9ybWVkUGF0aH0vJHtyTmFtZX1gO1xufTtcbmZ1bmN0aW9uIGluZmVyQXV0b1B1YmxpY1BhdGgodXJsKSB7XG4gICAgcmV0dXJuIHVybFxuICAgICAgICAucmVwbGFjZSgvIy4qJC8sICcnKVxuICAgICAgICAucmVwbGFjZSgvXFw/LiokLywgJycpXG4gICAgICAgIC5yZXBsYWNlKC9cXC9bXlxcL10rJC8sICcvJyk7XG59XG4vLyBQcmlvcml0eTogb3ZlcnJpZGVzID4gcmVtb3Rlc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lcy1wZXItZnVuY3Rpb25cbmZ1bmN0aW9uIGdlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QobWFuaWZlc3QsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgcmVtb3RlcyA9IHt9LCBvdmVycmlkZXMgPSB7fSwgdmVyc2lvbiB9ID0gb3B0aW9ucztcbiAgICBsZXQgcmVtb3RlU25hcHNob3Q7XG4gICAgY29uc3QgZ2V0UHVibGljUGF0aCA9ICgpID0+IHtcbiAgICAgICAgaWYgKCdwdWJsaWNQYXRoJyBpbiBtYW5pZmVzdC5tZXRhRGF0YSkge1xuICAgICAgICAgICAgaWYgKG1hbmlmZXN0Lm1ldGFEYXRhLnB1YmxpY1BhdGggPT09ICdhdXRvJyAmJiB2ZXJzaW9uKSB7XG4gICAgICAgICAgICAgICAgLy8gdXNlIHNhbWUgaW1wbGVtZW50YXRpb24gYXMgcHVibGljUGF0aCBhdXRvIHJ1bnRpbWUgbW9kdWxlIGltcGxlbWVudHNcbiAgICAgICAgICAgICAgICByZXR1cm4gaW5mZXJBdXRvUHVibGljUGF0aCh2ZXJzaW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBtYW5pZmVzdC5tZXRhRGF0YS5wdWJsaWNQYXRoO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG1hbmlmZXN0Lm1ldGFEYXRhLmdldFB1YmxpY1BhdGg7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IG92ZXJyaWRlc0tleXMgPSBPYmplY3Qua2V5cyhvdmVycmlkZXMpO1xuICAgIGxldCByZW1vdGVzSW5mbyA9IHt9O1xuICAgIC8vIElmIHJlbW90ZXMgYXJlIG5vdCBwcm92aWRlZCwgb25seSB0aGUgcmVtb3RlcyBpbiB0aGUgbWFuaWZlc3Qgd2lsbCBiZSByZWFkXG4gICAgaWYgKCFPYmplY3Qua2V5cyhyZW1vdGVzKS5sZW5ndGgpIHtcbiAgICAgICAgcmVtb3Rlc0luZm8gPVxuICAgICAgICAgICAgbWFuaWZlc3QucmVtb3Rlcz8ucmVkdWNlKChyZXMsIG5leHQpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgbWF0Y2hlZFZlcnNpb247XG4gICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IG5leHQuZmVkZXJhdGlvbkNvbnRhaW5lck5hbWU7XG4gICAgICAgICAgICAgICAgLy8gb3ZlcnJpZGVzIGhhdmUgaGlnaGVyIHByaW9yaXR5XG4gICAgICAgICAgICAgICAgaWYgKG92ZXJyaWRlc0tleXMuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZFZlcnNpb24gPSBvdmVycmlkZXNbbmFtZV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoJ3ZlcnNpb24nIGluIG5leHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoZWRWZXJzaW9uID0gbmV4dC52ZXJzaW9uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZFZlcnNpb24gPSBuZXh0LmVudHJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc1tuYW1lXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbWF0Y2hlZFZlcnNpb24sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICAgICAgfSwge30pIHx8IHt9O1xuICAgIH1cbiAgICAvLyBJZiByZW1vdGVzIChkZXBsb3kgc2NlbmFyaW8pIGFyZSBzcGVjaWZpZWQsIHRoZXkgbmVlZCB0byBiZSB0cmF2ZXJzZWQgYWdhaW5cbiAgICBPYmplY3Qua2V5cyhyZW1vdGVzKS5mb3JFYWNoKChrZXkpID0+IChyZW1vdGVzSW5mb1trZXldID0ge1xuICAgICAgICAvLyBvdmVycmlkZXMgd2lsbCBvdmVycmlkZSBkZXBlbmRlbmNpZXNcbiAgICAgICAgbWF0Y2hlZFZlcnNpb246IG92ZXJyaWRlc0tleXMuaW5jbHVkZXMoa2V5KVxuICAgICAgICAgICAgPyBvdmVycmlkZXNba2V5XVxuICAgICAgICAgICAgOiByZW1vdGVzW2tleV0sXG4gICAgfSkpO1xuICAgIGNvbnN0IHsgcmVtb3RlRW50cnk6IHsgcGF0aDogcmVtb3RlRW50cnlQYXRoLCBuYW1lOiByZW1vdGVFbnRyeU5hbWUsIHR5cGU6IHJlbW90ZUVudHJ5VHlwZSwgfSwgdHlwZXM6IHJlbW90ZVR5cGVzID0geyBwYXRoOiAnJywgbmFtZTogJycsIHppcDogJycsIGFwaTogJycgfSwgYnVpbGRJbmZvOiB7IGJ1aWxkVmVyc2lvbiB9LCBnbG9iYWxOYW1lLCBzc3JSZW1vdGVFbnRyeSwgfSA9IG1hbmlmZXN0Lm1ldGFEYXRhO1xuICAgIGNvbnN0IHsgZXhwb3NlcyB9ID0gbWFuaWZlc3Q7XG4gICAgbGV0IGJhc2ljUmVtb3RlU25hcHNob3QgPSB7XG4gICAgICAgIHZlcnNpb246IHZlcnNpb24gPyB2ZXJzaW9uIDogJycsXG4gICAgICAgIGJ1aWxkVmVyc2lvbixcbiAgICAgICAgZ2xvYmFsTmFtZSxcbiAgICAgICAgcmVtb3RlRW50cnk6IHNpbXBsZUpvaW5SZW1vdGVFbnRyeShyZW1vdGVFbnRyeVBhdGgsIHJlbW90ZUVudHJ5TmFtZSksXG4gICAgICAgIHJlbW90ZUVudHJ5VHlwZSxcbiAgICAgICAgcmVtb3RlVHlwZXM6IHNpbXBsZUpvaW5SZW1vdGVFbnRyeShyZW1vdGVUeXBlcy5wYXRoLCByZW1vdGVUeXBlcy5uYW1lKSxcbiAgICAgICAgcmVtb3RlVHlwZXNaaXA6IHJlbW90ZVR5cGVzLnppcCB8fCAnJyxcbiAgICAgICAgcmVtb3RlVHlwZXNBUEk6IHJlbW90ZVR5cGVzLmFwaSB8fCAnJyxcbiAgICAgICAgcmVtb3Rlc0luZm8sXG4gICAgICAgIHNoYXJlZDogbWFuaWZlc3Q/LnNoYXJlZC5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgICBhc3NldHM6IGl0ZW0uYXNzZXRzLFxuICAgICAgICAgICAgc2hhcmVkTmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgICAgdmVyc2lvbjogaXRlbS52ZXJzaW9uLFxuICAgICAgICB9KSksXG4gICAgICAgIG1vZHVsZXM6IGV4cG9zZXM/Lm1hcCgoZXhwb3NlKSA9PiAoe1xuICAgICAgICAgICAgbW9kdWxlTmFtZTogZXhwb3NlLm5hbWUsXG4gICAgICAgICAgICBtb2R1bGVQYXRoOiBleHBvc2UucGF0aCxcbiAgICAgICAgICAgIGFzc2V0czogZXhwb3NlLmFzc2V0cyxcbiAgICAgICAgfSkpLFxuICAgIH07XG4gICAgaWYgKG1hbmlmZXN0Lm1ldGFEYXRhPy5wcmVmZXRjaEludGVyZmFjZSkge1xuICAgICAgICBjb25zdCBwcmVmZXRjaEludGVyZmFjZSA9IG1hbmlmZXN0Lm1ldGFEYXRhLnByZWZldGNoSW50ZXJmYWNlO1xuICAgICAgICBiYXNpY1JlbW90ZVNuYXBzaG90ID0ge1xuICAgICAgICAgICAgLi4uYmFzaWNSZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgIHByZWZldGNoSW50ZXJmYWNlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAobWFuaWZlc3QubWV0YURhdGE/LnByZWZldGNoRW50cnkpIHtcbiAgICAgICAgY29uc3QgeyBwYXRoLCBuYW1lLCB0eXBlIH0gPSBtYW5pZmVzdC5tZXRhRGF0YS5wcmVmZXRjaEVudHJ5O1xuICAgICAgICBiYXNpY1JlbW90ZVNuYXBzaG90ID0ge1xuICAgICAgICAgICAgLi4uYmFzaWNSZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgIHByZWZldGNoRW50cnk6IHNpbXBsZUpvaW5SZW1vdGVFbnRyeShwYXRoLCBuYW1lKSxcbiAgICAgICAgICAgIHByZWZldGNoRW50cnlUeXBlOiB0eXBlLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoJ3B1YmxpY1BhdGgnIGluIG1hbmlmZXN0Lm1ldGFEYXRhKSB7XG4gICAgICAgIHJlbW90ZVNuYXBzaG90ID0ge1xuICAgICAgICAgICAgLi4uYmFzaWNSZW1vdGVTbmFwc2hvdCxcbiAgICAgICAgICAgIHB1YmxpY1BhdGg6IGdldFB1YmxpY1BhdGgoKSxcbiAgICAgICAgICAgIHNzclB1YmxpY1BhdGg6IG1hbmlmZXN0Lm1ldGFEYXRhLnNzclB1YmxpY1BhdGgsXG4gICAgICAgIH07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICByZW1vdGVTbmFwc2hvdCA9IHtcbiAgICAgICAgICAgIC4uLmJhc2ljUmVtb3RlU25hcHNob3QsXG4gICAgICAgICAgICBnZXRQdWJsaWNQYXRoOiBnZXRQdWJsaWNQYXRoKCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChzc3JSZW1vdGVFbnRyeSkge1xuICAgICAgICBjb25zdCBmdWxsU1NSUmVtb3RlRW50cnkgPSBzaW1wbGVKb2luUmVtb3RlRW50cnkoc3NyUmVtb3RlRW50cnkucGF0aCwgc3NyUmVtb3RlRW50cnkubmFtZSk7XG4gICAgICAgIHJlbW90ZVNuYXBzaG90LnNzclJlbW90ZUVudHJ5ID0gZnVsbFNTUlJlbW90ZUVudHJ5O1xuICAgICAgICByZW1vdGVTbmFwc2hvdC5zc3JSZW1vdGVFbnRyeVR5cGUgPVxuICAgICAgICAgICAgc3NyUmVtb3RlRW50cnkudHlwZSB8fCAnY29tbW9uanMtbW9kdWxlJztcbiAgICB9XG4gICAgcmV0dXJuIHJlbW90ZVNuYXBzaG90O1xufVxuZnVuY3Rpb24gaXNNYW5pZmVzdFByb3ZpZGVyKG1vZHVsZUluZm8pIHtcbiAgICBpZiAoJ3JlbW90ZUVudHJ5JyBpbiBtb2R1bGVJbmZvICYmXG4gICAgICAgIG1vZHVsZUluZm8ucmVtb3RlRW50cnkuaW5jbHVkZXMoTUFOSUZFU1RfRVhUKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5mdW5jdGlvbiBnZXRNYW5pZmVzdEZpbGVOYW1lKG1hbmlmZXN0T3B0aW9ucykge1xuICAgIGlmICghbWFuaWZlc3RPcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBzdGF0c0ZpbGVOYW1lOiBTdGF0c0ZpbGVOYW1lLFxuICAgICAgICAgICAgbWFuaWZlc3RGaWxlTmFtZTogTWFuaWZlc3RGaWxlTmFtZSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgbGV0IGZpbGVQYXRoID0gdHlwZW9mIG1hbmlmZXN0T3B0aW9ucyA9PT0gJ2Jvb2xlYW4nID8gJycgOiBtYW5pZmVzdE9wdGlvbnMuZmlsZVBhdGggfHwgJyc7XG4gICAgbGV0IGZpbGVOYW1lID0gdHlwZW9mIG1hbmlmZXN0T3B0aW9ucyA9PT0gJ2Jvb2xlYW4nID8gJycgOiBtYW5pZmVzdE9wdGlvbnMuZmlsZU5hbWUgfHwgJyc7XG4gICAgY29uc3QgSlNPTl9FWFQgPSAnLmpzb24nO1xuICAgIGNvbnN0IGFkZEV4dCA9IChuYW1lKSA9PiB7XG4gICAgICAgIGlmIChuYW1lLmVuZHNXaXRoKEpTT05fRVhUKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke25hbWV9JHtKU09OX0VYVH1gO1xuICAgIH07XG4gICAgY29uc3QgaW5zZXJ0U3VmZml4ID0gKG5hbWUsIHN1ZmZpeCkgPT4ge1xuICAgICAgICByZXR1cm4gbmFtZS5yZXBsYWNlKEpTT05fRVhULCBgJHtzdWZmaXh9JHtKU09OX0VYVH1gKTtcbiAgICB9O1xuICAgIGNvbnN0IG1hbmlmZXN0RmlsZU5hbWUgPSBmaWxlTmFtZSA/IGFkZEV4dChmaWxlTmFtZSkgOiBNYW5pZmVzdEZpbGVOYW1lO1xuICAgIGNvbnN0IHN0YXRzRmlsZU5hbWUgPSBmaWxlTmFtZVxuICAgICAgICA/IGluc2VydFN1ZmZpeChtYW5pZmVzdEZpbGVOYW1lLCAnLXN0YXRzJylcbiAgICAgICAgOiBTdGF0c0ZpbGVOYW1lO1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXRzRmlsZU5hbWU6IHNpbXBsZUpvaW5SZW1vdGVFbnRyeShmaWxlUGF0aCwgc3RhdHNGaWxlTmFtZSksXG4gICAgICAgIG1hbmlmZXN0RmlsZU5hbWU6IHNpbXBsZUpvaW5SZW1vdGVFbnRyeShmaWxlUGF0aCwgbWFuaWZlc3RGaWxlTmFtZSksXG4gICAgfTtcbn1cblxuY29uc3QgUFJFRklYID0gJ1sgTW9kdWxlIEZlZGVyYXRpb24gXSc7XG5jb25zdCBERUZBVUxUX0RFTEVHQVRFID0gY29uc29sZTtcbmNvbnN0IExPR0dFUl9TVEFDS19TS0lQX1RPS0VOUyA9IFtcbiAgICAnbG9nZ2VyLnRzJyxcbiAgICAnbG9nZ2VyLmpzJyxcbiAgICAnY2FwdHVyZVN0YWNrVHJhY2UnLFxuICAgICdMb2dnZXIuZW1pdCcsXG4gICAgJ0xvZ2dlci5sb2cnLFxuICAgICdMb2dnZXIuaW5mbycsXG4gICAgJ0xvZ2dlci53YXJuJyxcbiAgICAnTG9nZ2VyLmVycm9yJyxcbiAgICAnTG9nZ2VyLmRlYnVnJyxcbl07XG5mdW5jdGlvbiBjYXB0dXJlU3RhY2tUcmFjZSgpIHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCBzdGFjayA9IG5ldyBFcnJvcigpLnN0YWNrO1xuICAgICAgICBpZiAoIXN0YWNrKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFssIC4uLnJhd0xpbmVzXSA9IHN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSByYXdMaW5lcy5maWx0ZXIoKGxpbmUpID0+ICFMT0dHRVJfU1RBQ0tfU0tJUF9UT0tFTlMuc29tZSgodG9rZW4pID0+IGxpbmUuaW5jbHVkZXModG9rZW4pKSk7XG4gICAgICAgIGlmICghZmlsdGVyZWQubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YWNrUHJldmlldyA9IGZpbHRlcmVkLnNsaWNlKDAsIDUpLmpvaW4oJ1xcbicpO1xuICAgICAgICByZXR1cm4gYFN0YWNrIHRyYWNlOlxcbiR7c3RhY2tQcmV2aWV3fWA7XG4gICAgfVxuICAgIGNhdGNoIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5jbGFzcyBMb2dnZXIge1xuICAgIGNvbnN0cnVjdG9yKHByZWZpeCwgZGVsZWdhdGUgPSBERUZBVUxUX0RFTEVHQVRFKSB7XG4gICAgICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICAgICAgICB0aGlzLmRlbGVnYXRlID0gZGVsZWdhdGUgPz8gREVGQVVMVF9ERUxFR0FURTtcbiAgICB9XG4gICAgc2V0UHJlZml4KHByZWZpeCkge1xuICAgICAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICB9XG4gICAgc2V0RGVsZWdhdGUoZGVsZWdhdGUpIHtcbiAgICAgICAgdGhpcy5kZWxlZ2F0ZSA9IGRlbGVnYXRlID8/IERFRkFVTFRfREVMRUdBVEU7XG4gICAgfVxuICAgIGVtaXQobWV0aG9kLCBhcmdzKSB7XG4gICAgICAgIGNvbnN0IGRlbGVnYXRlID0gdGhpcy5kZWxlZ2F0ZTtcbiAgICAgICAgY29uc3QgZGVidWdNb2RlID0gaXNEZWJ1Z01vZGUoKTtcbiAgICAgICAgY29uc3Qgc3RhY2tUcmFjZSA9IGRlYnVnTW9kZSA/IGNhcHR1cmVTdGFja1RyYWNlKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGVucmljaGVkQXJncyA9IHN0YWNrVHJhY2UgPyBbLi4uYXJncywgc3RhY2tUcmFjZV0gOiBhcmdzO1xuICAgICAgICBjb25zdCBvcmRlciA9ICgoKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKG1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xvZyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbJ2xvZycsICdpbmZvJ107XG4gICAgICAgICAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbJ2luZm8nLCAnbG9nJ107XG4gICAgICAgICAgICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbJ3dhcm4nLCAnaW5mbycsICdsb2cnXTtcbiAgICAgICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbJ2Vycm9yJywgJ3dhcm4nLCAnbG9nJ107XG4gICAgICAgICAgICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBbJ2RlYnVnJywgJ2xvZyddO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KSgpO1xuICAgICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBvcmRlcikge1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IGRlbGVnYXRlW2NhbmRpZGF0ZV07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyLmNhbGwoZGVsZWdhdGUsIHRoaXMucHJlZml4LCAuLi5lbnJpY2hlZEFyZ3MpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBvcmRlcikge1xuICAgICAgICAgICAgY29uc3QgaGFuZGxlciA9IERFRkFVTFRfREVMRUdBVEVbY2FuZGlkYXRlXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgaGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGhhbmRsZXIuY2FsbChERUZBVUxUX0RFTEVHQVRFLCB0aGlzLnByZWZpeCwgLi4uZW5yaWNoZWRBcmdzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbG9nKC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5lbWl0KCdsb2cnLCBhcmdzKTtcbiAgICB9XG4gICAgd2FybiguLi5hcmdzKSB7XG4gICAgICAgIHRoaXMuZW1pdCgnd2FybicsIGFyZ3MpO1xuICAgIH1cbiAgICBlcnJvciguLi5hcmdzKSB7XG4gICAgICAgIHRoaXMuZW1pdCgnZXJyb3InLCBhcmdzKTtcbiAgICB9XG4gICAgc3VjY2VzcyguLi5hcmdzKSB7XG4gICAgICAgIHRoaXMuZW1pdCgnaW5mbycsIGFyZ3MpO1xuICAgIH1cbiAgICBpbmZvKC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5lbWl0KCdpbmZvJywgYXJncyk7XG4gICAgfVxuICAgIHJlYWR5KC4uLmFyZ3MpIHtcbiAgICAgICAgdGhpcy5lbWl0KCdpbmZvJywgYXJncyk7XG4gICAgfVxuICAgIGRlYnVnKC4uLmFyZ3MpIHtcbiAgICAgICAgaWYgKGlzRGVidWdNb2RlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZW1pdCgnZGVidWcnLCBhcmdzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbmZ1bmN0aW9uIGNyZWF0ZUxvZ2dlcihwcmVmaXgpIHtcbiAgICByZXR1cm4gbmV3IExvZ2dlcihwcmVmaXgpO1xufVxuZnVuY3Rpb24gY3JlYXRlSW5mcmFzdHJ1Y3R1cmVMb2dnZXIocHJlZml4KSB7XG4gICAgY29uc3QgaW5mcmFzdHJ1Y3R1cmVMb2dnZXIgPSBuZXcgTG9nZ2VyKHByZWZpeCk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGluZnJhc3RydWN0dXJlTG9nZ2VyLCAnX19tZl9pbmZyYXN0cnVjdHVyZV9sb2dnZXJfXycsIHtcbiAgICAgICAgdmFsdWU6IHRydWUsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgIH0pO1xuICAgIHJldHVybiBpbmZyYXN0cnVjdHVyZUxvZ2dlcjtcbn1cbmZ1bmN0aW9uIGJpbmRMb2dnZXJUb0NvbXBpbGVyKGxvZ2dlckluc3RhbmNlLCBjb21waWxlciwgbmFtZSkge1xuICAgIGlmICghbG9nZ2VySW5zdGFuY2VcbiAgICAgICAgLl9fbWZfaW5mcmFzdHJ1Y3R1cmVfbG9nZ2VyX18pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWNvbXBpbGVyPy5nZXRJbmZyYXN0cnVjdHVyZUxvZ2dlcikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGluZnJhc3RydWN0dXJlTG9nZ2VyID0gY29tcGlsZXIuZ2V0SW5mcmFzdHJ1Y3R1cmVMb2dnZXIobmFtZSk7XG4gICAgICAgIGlmIChpbmZyYXN0cnVjdHVyZUxvZ2dlciAmJlxuICAgICAgICAgICAgdHlwZW9mIGluZnJhc3RydWN0dXJlTG9nZ2VyID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgKHR5cGVvZiBpbmZyYXN0cnVjdHVyZUxvZ2dlci5sb2cgPT09ICdmdW5jdGlvbicgfHxcbiAgICAgICAgICAgICAgICB0eXBlb2YgaW5mcmFzdHJ1Y3R1cmVMb2dnZXIuaW5mbyA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICAgICAgICAgIHR5cGVvZiBpbmZyYXN0cnVjdHVyZUxvZ2dlci53YXJuID09PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgICAgICAgICAgdHlwZW9mIGluZnJhc3RydWN0dXJlTG9nZ2VyLmVycm9yID09PSAnZnVuY3Rpb24nKSkge1xuICAgICAgICAgICAgbG9nZ2VySW5zdGFuY2Uuc2V0RGVsZWdhdGUoaW5mcmFzdHJ1Y3R1cmVMb2dnZXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNhdGNoIHtcbiAgICAgICAgLy8gSWYgdGhlIGJ1bmRsZXIgdGhyb3dzIChvbGRlciB2ZXJzaW9ucyksIGZhbGwgYmFjayB0byBkZWZhdWx0IGNvbnNvbGUgbG9nZ2VyLlxuICAgICAgICBsb2dnZXJJbnN0YW5jZS5zZXREZWxlZ2F0ZSh1bmRlZmluZWQpO1xuICAgIH1cbn1cbmNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcihQUkVGSVgpO1xuY29uc3QgaW5mcmFzdHJ1Y3R1cmVMb2dnZXIgPSBjcmVhdGVJbmZyYXN0cnVjdHVyZUxvZ2dlcihQUkVGSVgpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuYXN5bmMgZnVuY3Rpb24gc2FmZVdyYXBwZXIoY2FsbGJhY2ssIGRpc2FibGVXYXJuKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgY2FsbGJhY2soKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgIWRpc2FibGVXYXJuICYmIHdhcm4oZSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG59XG5mdW5jdGlvbiBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKHVybDEsIHVybDIpIHtcbiAgICBjb25zdCBSRUdfRVhQID0gL14oaHR0cHM/Oik/XFwvXFwvL2k7XG4gICAgLy8gVHJhbnNmb3JtIHVybDEgYW5kIHVybDIgaW50byByZWxhdGl2ZSBwYXRoc1xuICAgIGNvbnN0IHJlbGF0aXZlVXJsMSA9IHVybDEucmVwbGFjZShSRUdfRVhQLCAnJykucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgICBjb25zdCByZWxhdGl2ZVVybDIgPSB1cmwyLnJlcGxhY2UoUkVHX0VYUCwgJycpLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gICAgLy8gQ2hlY2sgaWYgdGhlIHJlbGF0aXZlIHBhdGhzIGFyZSBpZGVudGljYWxcbiAgICByZXR1cm4gcmVsYXRpdmVVcmwxID09PSByZWxhdGl2ZVVybDI7XG59XG5mdW5jdGlvbiBjcmVhdGVTY3JpcHQoaW5mbykge1xuICAgIC8vIFJldHJpZXZlIHRoZSBleGlzdGluZyBzY3JpcHQgZWxlbWVudCBieSBpdHMgc3JjIGF0dHJpYnV0ZVxuICAgIGxldCBzY3JpcHQgPSBudWxsO1xuICAgIGxldCBuZWVkQXR0YWNoID0gdHJ1ZTtcbiAgICBsZXQgdGltZW91dCA9IDIwMDAwO1xuICAgIGxldCB0aW1lb3V0SWQ7XG4gICAgY29uc3Qgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNjcmlwdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgcyA9IHNjcmlwdHNbaV07XG4gICAgICAgIGNvbnN0IHNjcmlwdFNyYyA9IHMuZ2V0QXR0cmlidXRlKCdzcmMnKTtcbiAgICAgICAgaWYgKHNjcmlwdFNyYyAmJiBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKHNjcmlwdFNyYywgaW5mby51cmwpKSB7XG4gICAgICAgICAgICBzY3JpcHQgPSBzO1xuICAgICAgICAgICAgbmVlZEF0dGFjaCA9IGZhbHNlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFzY3JpcHQpIHtcbiAgICAgICAgY29uc3QgYXR0cnMgPSBpbmZvLmF0dHJzO1xuICAgICAgICBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcbiAgICAgICAgc2NyaXB0LnR5cGUgPSBhdHRycz8uWyd0eXBlJ10gPT09ICdtb2R1bGUnID8gJ21vZHVsZScgOiAndGV4dC9qYXZhc2NyaXB0JztcbiAgICAgICAgbGV0IGNyZWF0ZVNjcmlwdFJlcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGluZm8uY3JlYXRlU2NyaXB0SG9vaykge1xuICAgICAgICAgICAgY3JlYXRlU2NyaXB0UmVzID0gaW5mby5jcmVhdGVTY3JpcHRIb29rKGluZm8udXJsLCBpbmZvLmF0dHJzKTtcbiAgICAgICAgICAgIGlmIChjcmVhdGVTY3JpcHRSZXMgaW5zdGFuY2VvZiBIVE1MU2NyaXB0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgIHNjcmlwdCA9IGNyZWF0ZVNjcmlwdFJlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBjcmVhdGVTY3JpcHRSZXMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCdzY3JpcHQnIGluIGNyZWF0ZVNjcmlwdFJlcyAmJiBjcmVhdGVTY3JpcHRSZXMuc2NyaXB0KSB7XG4gICAgICAgICAgICAgICAgICAgIHNjcmlwdCA9IGNyZWF0ZVNjcmlwdFJlcy5zY3JpcHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgndGltZW91dCcgaW4gY3JlYXRlU2NyaXB0UmVzICYmIGNyZWF0ZVNjcmlwdFJlcy50aW1lb3V0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBjcmVhdGVTY3JpcHRSZXMudGltZW91dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzY3JpcHQuc3JjKSB7XG4gICAgICAgICAgICBzY3JpcHQuc3JjID0gaW5mby51cmw7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGF0dHJzICYmICFjcmVhdGVTY3JpcHRSZXMpIHtcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGF0dHJzKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNjcmlwdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmFtZSA9PT0gJ2FzeW5jJyB8fCBuYW1lID09PSAnZGVmZXInKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHRbbmFtZV0gPSBhdHRyc1tuYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEF0dHJpYnV0ZXMgdGhhdCBkbyBub3QgZXhpc3QgYXJlIGNvbnNpZGVyZWQgb3ZlcnJpZGRlblxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzY3JpcHQuZ2V0QXR0cmlidXRlKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JpcHQuc2V0QXR0cmlidXRlKG5hbWUsIGF0dHJzW25hbWVdKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG9uU2NyaXB0Q29tcGxldGUgPSBhc3luYyAocHJldiwgXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBldmVudCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKTtcbiAgICAgICAgY29uc3Qgb25TY3JpcHRDb21wbGV0ZUNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgaW5mbz8ub25FcnJvckNhbGxiYWNrICYmIGluZm8/Lm9uRXJyb3JDYWxsYmFjayhldmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbmZvPy5jYiAmJiBpbmZvPy5jYigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICAvLyBQcmV2ZW50IG1lbW9yeSBsZWFrcyBpbiBJRS5cbiAgICAgICAgaWYgKHNjcmlwdCkge1xuICAgICAgICAgICAgc2NyaXB0Lm9uZXJyb3IgPSBudWxsO1xuICAgICAgICAgICAgc2NyaXB0Lm9ubG9hZCA9IG51bGw7XG4gICAgICAgICAgICBzYWZlV3JhcHBlcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuZWVkRGVsZXRlU2NyaXB0ID0gdHJ1ZSB9ID0gaW5mbztcbiAgICAgICAgICAgICAgICBpZiAobmVlZERlbGV0ZVNjcmlwdCkge1xuICAgICAgICAgICAgICAgICAgICBzY3JpcHQ/LnBhcmVudE5vZGUgJiYgc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChwcmV2ICYmIHR5cGVvZiBwcmV2ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcHJldihldmVudCk7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICBvblNjcmlwdENvbXBsZXRlQ2FsbGJhY2soKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgb25TY3JpcHRDb21wbGV0ZUNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvblNjcmlwdENvbXBsZXRlQ2FsbGJhY2soKTtcbiAgICB9O1xuICAgIHNjcmlwdC5vbmVycm9yID0gb25TY3JpcHRDb21wbGV0ZS5iaW5kKG51bGwsIHNjcmlwdC5vbmVycm9yKTtcbiAgICBzY3JpcHQub25sb2FkID0gb25TY3JpcHRDb21wbGV0ZS5iaW5kKG51bGwsIHNjcmlwdC5vbmxvYWQpO1xuICAgIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBvblNjcmlwdENvbXBsZXRlKG51bGwsIG5ldyBFcnJvcihgUmVtb3RlIHNjcmlwdCBcIiR7aW5mby51cmx9XCIgdGltZS1vdXRlZC5gKSk7XG4gICAgfSwgdGltZW91dCk7XG4gICAgcmV0dXJuIHsgc2NyaXB0LCBuZWVkQXR0YWNoIH07XG59XG5mdW5jdGlvbiBjcmVhdGVMaW5rKGluZm8pIHtcbiAgICAvLyA8bGluayByZWw9XCJwcmVsb2FkXCIgaHJlZj1cInNjcmlwdC5qc1wiIGFzPVwic2NyaXB0XCI+XG4gICAgLy8gUmV0cmlldmUgdGhlIGV4aXN0aW5nIHNjcmlwdCBlbGVtZW50IGJ5IGl0cyBzcmMgYXR0cmlidXRlXG4gICAgbGV0IGxpbmsgPSBudWxsO1xuICAgIGxldCBuZWVkQXR0YWNoID0gdHJ1ZTtcbiAgICBjb25zdCBsaW5rcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdsaW5rJyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5rcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBsID0gbGlua3NbaV07XG4gICAgICAgIGNvbnN0IGxpbmtIcmVmID0gbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICAgICAgY29uc3QgbGlua1JlbCA9IGwuZ2V0QXR0cmlidXRlKCdyZWwnKTtcbiAgICAgICAgaWYgKGxpbmtIcmVmICYmXG4gICAgICAgICAgICBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKGxpbmtIcmVmLCBpbmZvLnVybCkgJiZcbiAgICAgICAgICAgIGxpbmtSZWwgPT09IGluZm8uYXR0cnNbJ3JlbCddKSB7XG4gICAgICAgICAgICBsaW5rID0gbDtcbiAgICAgICAgICAgIG5lZWRBdHRhY2ggPSBmYWxzZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghbGluaykge1xuICAgICAgICBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xuICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnaHJlZicsIGluZm8udXJsKTtcbiAgICAgICAgbGV0IGNyZWF0ZUxpbmtSZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGF0dHJzID0gaW5mby5hdHRycztcbiAgICAgICAgaWYgKGluZm8uY3JlYXRlTGlua0hvb2spIHtcbiAgICAgICAgICAgIGNyZWF0ZUxpbmtSZXMgPSBpbmZvLmNyZWF0ZUxpbmtIb29rKGluZm8udXJsLCBhdHRycyk7XG4gICAgICAgICAgICBpZiAoY3JlYXRlTGlua1JlcyBpbnN0YW5jZW9mIEhUTUxMaW5rRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGxpbmsgPSBjcmVhdGVMaW5rUmVzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChhdHRycyAmJiAhY3JlYXRlTGlua1Jlcykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobGluayAmJiAhbGluay5nZXRBdHRyaWJ1dGUobmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgbGluay5zZXRBdHRyaWJ1dGUobmFtZSwgYXR0cnNbbmFtZV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IG9uTGlua0NvbXBsZXRlID0gKHByZXYsIFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZXZlbnQpID0+IHtcbiAgICAgICAgY29uc3Qgb25MaW5rQ29tcGxldGVDYWxsYmFjayA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChldmVudD8udHlwZSA9PT0gJ2Vycm9yJykge1xuICAgICAgICAgICAgICAgIGluZm8/Lm9uRXJyb3JDYWxsYmFjayAmJiBpbmZvPy5vbkVycm9yQ2FsbGJhY2soZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaW5mbz8uY2IgJiYgaW5mbz8uY2IoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgLy8gUHJldmVudCBtZW1vcnkgbGVha3MgaW4gSUUuXG4gICAgICAgIGlmIChsaW5rKSB7XG4gICAgICAgICAgICBsaW5rLm9uZXJyb3IgPSBudWxsO1xuICAgICAgICAgICAgbGluay5vbmxvYWQgPSBudWxsO1xuICAgICAgICAgICAgc2FmZVdyYXBwZXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgbmVlZERlbGV0ZUxpbmsgPSB0cnVlIH0gPSBpbmZvO1xuICAgICAgICAgICAgICAgIGlmIChuZWVkRGVsZXRlTGluaykge1xuICAgICAgICAgICAgICAgICAgICBsaW5rPy5wYXJlbnROb2RlICYmIGxpbmsucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChsaW5rKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICAgICBjb25zdCByZXMgPSBwcmV2KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBvbkxpbmtDb21wbGV0ZUNhbGxiYWNrKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBvbkxpbmtDb21wbGV0ZUNhbGxiYWNrKCk7XG4gICAgfTtcbiAgICBsaW5rLm9uZXJyb3IgPSBvbkxpbmtDb21wbGV0ZS5iaW5kKG51bGwsIGxpbmsub25lcnJvcik7XG4gICAgbGluay5vbmxvYWQgPSBvbkxpbmtDb21wbGV0ZS5iaW5kKG51bGwsIGxpbmsub25sb2FkKTtcbiAgICByZXR1cm4geyBsaW5rLCBuZWVkQXR0YWNoIH07XG59XG5mdW5jdGlvbiBsb2FkU2NyaXB0KHVybCwgaW5mbykge1xuICAgIGNvbnN0IHsgYXR0cnMgPSB7fSwgY3JlYXRlU2NyaXB0SG9vayB9ID0gaW5mbztcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBjb25zdCB7IHNjcmlwdCwgbmVlZEF0dGFjaCB9ID0gY3JlYXRlU2NyaXB0KHtcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGNiOiByZXNvbHZlLFxuICAgICAgICAgICAgb25FcnJvckNhbGxiYWNrOiByZWplY3QsXG4gICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgIGZldGNocHJpb3JpdHk6ICdoaWdoJyxcbiAgICAgICAgICAgICAgICAuLi5hdHRycyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjcmVhdGVTY3JpcHRIb29rLFxuICAgICAgICAgICAgbmVlZERlbGV0ZVNjcmlwdDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICAgIG5lZWRBdHRhY2ggJiYgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH0pO1xufVxuXG5jb25zdCBzZGtJbXBvcnRDYWNoZSA9IG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGltcG9ydE5vZGVNb2R1bGUobmFtZSkge1xuICAgIGlmICghbmFtZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ltcG9ydCBzcGVjaWZpZXIgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgLy8gQ2hlY2sgY2FjaGUgdG8gcHJldmVudCBpbmZpbml0ZSByZWN1cnNpb25cbiAgICBpZiAoc2RrSW1wb3J0Q2FjaGUuaGFzKG5hbWUpKSB7XG4gICAgICAgIHJldHVybiBzZGtJbXBvcnRDYWNoZS5nZXQobmFtZSk7XG4gICAgfVxuICAgIGNvbnN0IGltcG9ydE1vZHVsZSA9IG5ldyBGdW5jdGlvbignbmFtZScsIGByZXR1cm4gaW1wb3J0KG5hbWUpYCk7XG4gICAgY29uc3QgcHJvbWlzZSA9IGltcG9ydE1vZHVsZShuYW1lKVxuICAgICAgICAudGhlbigocmVzKSA9PiByZXMpXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgaW1wb3J0aW5nIG1vZHVsZSAke25hbWV9OmAsIGVycm9yKTtcbiAgICAgICAgLy8gUmVtb3ZlIGZyb20gY2FjaGUgb24gZXJyb3Igc28gaXQgY2FuIGJlIHJldHJpZWRcbiAgICAgICAgc2RrSW1wb3J0Q2FjaGUuZGVsZXRlKG5hbWUpO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgICAvLyBDYWNoZSB0aGUgcHJvbWlzZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBjYWxsc1xuICAgIHNka0ltcG9ydENhY2hlLnNldChuYW1lLCBwcm9taXNlKTtcbiAgICByZXR1cm4gcHJvbWlzZTtcbn1cbmNvbnN0IGxvYWROb2RlRmV0Y2ggPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmV0Y2hNb2R1bGUgPSBhd2FpdCBpbXBvcnROb2RlTW9kdWxlKCdub2RlLWZldGNoJyk7XG4gICAgcmV0dXJuIChmZXRjaE1vZHVsZS5kZWZhdWx0IHx8IGZldGNoTW9kdWxlKTtcbn07XG5jb25zdCBsYXp5TG9hZGVySG9va0ZldGNoID0gYXN5bmMgKGlucHV0LCBpbml0LCBsb2FkZXJIb29rKSA9PiB7XG4gICAgY29uc3QgaG9vayA9ICh1cmwsIGluaXQpID0+IHtcbiAgICAgICAgcmV0dXJuIGxvYWRlckhvb2subGlmZWN5Y2xlLmZldGNoLmVtaXQodXJsLCBpbml0KTtcbiAgICB9O1xuICAgIGNvbnN0IHJlcyA9IGF3YWl0IGhvb2soaW5wdXQsIGluaXQgfHwge30pO1xuICAgIGlmICghcmVzIHx8ICEocmVzIGluc3RhbmNlb2YgUmVzcG9uc2UpKSB7XG4gICAgICAgIGNvbnN0IGZldGNoRnVuY3Rpb24gPSB0eXBlb2YgZmV0Y2ggPT09ICd1bmRlZmluZWQnID8gYXdhaXQgbG9hZE5vZGVGZXRjaCgpIDogZmV0Y2g7XG4gICAgICAgIHJldHVybiBmZXRjaEZ1bmN0aW9uKGlucHV0LCBpbml0IHx8IHt9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn07XG5jb25zdCBjcmVhdGVTY3JpcHROb2RlID0gdHlwZW9mIEVOVl9UQVJHRVQgPT09ICd1bmRlZmluZWQnIHx8IEVOVl9UQVJHRVQgIT09ICd3ZWInXG4gICAgPyAodXJsLCBjYiwgYXR0cnMsIGxvYWRlckhvb2spID0+IHtcbiAgICAgICAgaWYgKGxvYWRlckhvb2s/LmNyZWF0ZVNjcmlwdEhvb2spIHtcbiAgICAgICAgICAgIGNvbnN0IGhvb2tSZXN1bHQgPSBsb2FkZXJIb29rLmNyZWF0ZVNjcmlwdEhvb2sodXJsKTtcbiAgICAgICAgICAgIGlmIChob29rUmVzdWx0ICYmXG4gICAgICAgICAgICAgICAgdHlwZW9mIGhvb2tSZXN1bHQgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAgICAgJ3VybCcgaW4gaG9va1Jlc3VsdCkge1xuICAgICAgICAgICAgICAgIHVybCA9IGhvb2tSZXN1bHQudXJsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxldCB1cmxPYmo7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB1cmxPYmogPSBuZXcgVVJMKHVybCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNvbnN0cnVjdGluZyBVUkw6JywgZSk7XG4gICAgICAgICAgICBjYihuZXcgRXJyb3IoYEludmFsaWQgVVJMOiAke2V9YCkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdldEZldGNoID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGxvYWRlckhvb2s/LmZldGNoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChpbnB1dCwgaW5pdCkgPT4gbGF6eUxvYWRlckhvb2tGZXRjaChpbnB1dCwgaW5pdCwgbG9hZGVySG9vayk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHlwZW9mIGZldGNoID09PSAndW5kZWZpbmVkJyA/IGxvYWROb2RlRmV0Y2goKSA6IGZldGNoO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCBoYW5kbGVTY3JpcHRGZXRjaCA9IGFzeW5jIChmLCB1cmxPYmopID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZih1cmxPYmouaHJlZik7XG4gICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgW3BhdGgsIHZtXSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgICAgICAgICAgICAgaW1wb3J0Tm9kZU1vZHVsZSgncGF0aCcpLFxuICAgICAgICAgICAgICAgICAgICBpbXBvcnROb2RlTW9kdWxlKCd2bScpLFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdENvbnRleHQgPSB7IGV4cG9ydHM6IHt9LCBtb2R1bGU6IHsgZXhwb3J0czoge30gfSB9O1xuICAgICAgICAgICAgICAgIGNvbnN0IHVybERpcm5hbWUgPSB1cmxPYmoucGF0aG5hbWVcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KCcvJylcbiAgICAgICAgICAgICAgICAgICAgLnNsaWNlKDAsIC0xKVxuICAgICAgICAgICAgICAgICAgICAuam9pbignLycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVuYW1lID0gcGF0aC5iYXNlbmFtZSh1cmxPYmoucGF0aG5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHNjcmlwdCA9IG5ldyB2bS5TY3JpcHQoYChmdW5jdGlvbihleHBvcnRzLCBtb2R1bGUsIHJlcXVpcmUsIF9fZGlybmFtZSwgX19maWxlbmFtZSkgeyR7ZGF0YX1cXG59KWAsIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGltcG9ydE1vZHVsZUR5bmFtaWNhbGx5OiBcbiAgICAgICAgICAgICAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgICAgIHZtLmNvbnN0YW50cz8uVVNFX01BSU5fQ09OVEVYVF9ERUZBVUxUX0xPQURFUiA/P1xuICAgICAgICAgICAgICAgICAgICAgICAgaW1wb3J0Tm9kZU1vZHVsZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzY3JpcHQucnVuSW5UaGlzQ29udGV4dCgpKHNjcmlwdENvbnRleHQuZXhwb3J0cywgc2NyaXB0Q29udGV4dC5tb2R1bGUsIGV2YWwoJ3JlcXVpcmUnKSwgdXJsRGlybmFtZSwgZmlsZW5hbWUpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4cG9ydGVkSW50ZXJmYWNlID0gc2NyaXB0Q29udGV4dC5tb2R1bGUuZXhwb3J0cyB8fCBzY3JpcHRDb250ZXh0LmV4cG9ydHM7XG4gICAgICAgICAgICAgICAgaWYgKGF0dHJzICYmIGV4cG9ydGVkSW50ZXJmYWNlICYmIGF0dHJzWydnbG9iYWxOYW1lJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID0gZXhwb3J0ZWRJbnRlcmZhY2VbYXR0cnNbJ2dsb2JhbE5hbWUnXV0gfHwgZXhwb3J0ZWRJbnRlcmZhY2U7XG4gICAgICAgICAgICAgICAgICAgIGNiKHVuZGVmaW5lZCwgY29udGFpbmVyKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYih1bmRlZmluZWQsIGV4cG9ydGVkSW50ZXJmYWNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY2IoZSBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICAgICAgICAgID8gZVxuICAgICAgICAgICAgICAgICAgICA6IG5ldyBFcnJvcihgU2NyaXB0IGV4ZWN1dGlvbiBlcnJvcjogJHtlfWApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgZ2V0RmV0Y2goKVxuICAgICAgICAgICAgLnRoZW4oYXN5bmMgKGYpID0+IHtcbiAgICAgICAgICAgIGlmIChhdHRycz8uWyd0eXBlJ10gPT09ICdlc20nIHx8IGF0dHJzPy5bJ3R5cGUnXSA9PT0gJ21vZHVsZScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbG9hZE1vZHVsZSh1cmxPYmouaHJlZiwge1xuICAgICAgICAgICAgICAgICAgICBmZXRjaDogZixcbiAgICAgICAgICAgICAgICAgICAgdm06IGF3YWl0IGltcG9ydE5vZGVNb2R1bGUoJ3ZtJyksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oYXN5bmMgKG1vZHVsZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBtb2R1bGUuZXZhbHVhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgY2IodW5kZWZpbmVkLCBtb2R1bGUubmFtZXNwYWNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY2IoZSBpbnN0YW5jZW9mIEVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGVcbiAgICAgICAgICAgICAgICAgICAgICAgIDogbmV3IEVycm9yKGBTY3JpcHQgZXhlY3V0aW9uIGVycm9yOiAke2V9YCkpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaGFuZGxlU2NyaXB0RmV0Y2goZiwgdXJsT2JqKTtcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7XG4gICAgICAgICAgICBjYihlcnIpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgOiAodXJsLCBjYiwgYXR0cnMsIGxvYWRlckhvb2spID0+IHtcbiAgICAgICAgY2IobmV3IEVycm9yKCdjcmVhdGVTY3JpcHROb2RlIGlzIGRpc2FibGVkIGluIG5vbi1Ob2RlLmpzIGVudmlyb25tZW50JykpO1xuICAgIH07XG5jb25zdCBsb2FkU2NyaXB0Tm9kZSA9IHR5cGVvZiBFTlZfVEFSR0VUID09PSAndW5kZWZpbmVkJyB8fCBFTlZfVEFSR0VUICE9PSAnd2ViJ1xuICAgID8gKHVybCwgaW5mbykgPT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgY3JlYXRlU2NyaXB0Tm9kZSh1cmwsIChlcnJvciwgc2NyaXB0Q29udGV4dCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlRW50cnlLZXkgPSBpbmZvPy5hdHRycz8uWydnbG9iYWxOYW1lJ10gfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIGBfX0ZFREVSQVRJT05fJHtpbmZvPy5hdHRycz8uWyduYW1lJ119OmN1c3RvbV9fYDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW50cnlFeHBvcnRzID0gKGdsb2JhbFRoaXNbcmVtb3RlRW50cnlLZXldID1cbiAgICAgICAgICAgICAgICAgICAgICAgIHNjcmlwdENvbnRleHQpO1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKGVudHJ5RXhwb3J0cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgaW5mby5hdHRycywgaW5mby5sb2FkZXJIb29rKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIDogKHVybCwgaW5mbykgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2xvYWRTY3JpcHROb2RlIGlzIGRpc2FibGVkIGluIG5vbi1Ob2RlLmpzIGVudmlyb25tZW50Jyk7XG4gICAgfTtcbmNvbnN0IGVzbU1vZHVsZUNhY2hlID0gbmV3IE1hcCgpO1xuYXN5bmMgZnVuY3Rpb24gbG9hZE1vZHVsZSh1cmwsIG9wdGlvbnMpIHtcbiAgICAvLyBDaGVjayBjYWNoZSB0byBwcmV2ZW50IGluZmluaXRlIHJlY3Vyc2lvbiBpbiBFU00gbG9hZGluZ1xuICAgIGlmIChlc21Nb2R1bGVDYWNoZS5oYXModXJsKSkge1xuICAgICAgICByZXR1cm4gZXNtTW9kdWxlQ2FjaGUuZ2V0KHVybCk7XG4gICAgfVxuICAgIGNvbnN0IHsgZmV0Y2gsIHZtIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgICBjb25zdCBjb2RlID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpO1xuICAgIGNvbnN0IG1vZHVsZSA9IG5ldyB2bS5Tb3VyY2VUZXh0TW9kdWxlKGNvZGUsIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBpbXBvcnRNb2R1bGVEeW5hbWljYWxseTogYXN5bmMgKHNwZWNpZmllciwgc2NyaXB0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXNvbHZlZFVybCA9IG5ldyBVUkwoc3BlY2lmaWVyLCB1cmwpLmhyZWY7XG4gICAgICAgICAgICByZXR1cm4gbG9hZE1vZHVsZShyZXNvbHZlZFVybCwgb3B0aW9ucyk7XG4gICAgICAgIH0sXG4gICAgfSk7XG4gICAgLy8gQ2FjaGUgdGhlIG1vZHVsZSBiZWZvcmUgbGlua2luZyB0byBwcmV2ZW50IGN5Y2xlc1xuICAgIGVzbU1vZHVsZUNhY2hlLnNldCh1cmwsIG1vZHVsZSk7XG4gICAgYXdhaXQgbW9kdWxlLmxpbmsoYXN5bmMgKHNwZWNpZmllcikgPT4ge1xuICAgICAgICBjb25zdCByZXNvbHZlZFVybCA9IG5ldyBVUkwoc3BlY2lmaWVyLCB1cmwpLmhyZWY7XG4gICAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGxvYWRNb2R1bGUocmVzb2x2ZWRVcmwsIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gbW9kdWxlO1xuICAgIH0pO1xuICAgIHJldHVybiBtb2R1bGU7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbnMoZW5hYmxlRGVmYXVsdCwgZGVmYXVsdE9wdGlvbnMsIGtleSkge1xuICAgIHJldHVybiBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgICBpZiAob3B0aW9ucyA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBpZiAoZW5hYmxlRGVmYXVsdCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBkZWZhdWx0T3B0aW9ucztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAuLi5kZWZhdWx0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSBmb3IgXFxgJHtrZXl9XFxgLCBleHBlY3QgYm9vbGVhbi91bmRlZmluZWQvb2JqZWN0LCBnb3Q6ICR7dHlwZW9mIG9wdGlvbnN9YCk7XG4gICAgfTtcbn1cblxuY29uc3QgY3JlYXRlTW9kdWxlRmVkZXJhdGlvbkNvbmZpZyA9IChvcHRpb25zKSA9PiB7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG59O1xuXG5leHBvcnRzLkJST1dTRVJfTE9HX0tFWSA9IEJST1dTRVJfTE9HX0tFWTtcbmV4cG9ydHMuRU5DT0RFX05BTUVfUFJFRklYID0gRU5DT0RFX05BTUVfUFJFRklYO1xuZXhwb3J0cy5FbmNvZGVkTmFtZVRyYW5zZm9ybU1hcCA9IEVuY29kZWROYW1lVHJhbnNmb3JtTWFwO1xuZXhwb3J0cy5GZWRlcmF0aW9uTW9kdWxlTWFuaWZlc3QgPSBGZWRlcmF0aW9uTW9kdWxlTWFuaWZlc3Q7XG5leHBvcnRzLk1BTklGRVNUX0VYVCA9IE1BTklGRVNUX0VYVDtcbmV4cG9ydHMuTUZNb2R1bGVUeXBlID0gTUZNb2R1bGVUeXBlO1xuZXhwb3J0cy5NRlByZWZldGNoQ29tbW9uID0gTUZQcmVmZXRjaENvbW1vbjtcbmV4cG9ydHMuTU9EVUxFX0RFVlRPT0xfSURFTlRJRklFUiA9IE1PRFVMRV9ERVZUT09MX0lERU5USUZJRVI7XG5leHBvcnRzLk1hbmlmZXN0RmlsZU5hbWUgPSBNYW5pZmVzdEZpbGVOYW1lO1xuZXhwb3J0cy5OYW1lVHJhbnNmb3JtTWFwID0gTmFtZVRyYW5zZm9ybU1hcDtcbmV4cG9ydHMuTmFtZVRyYW5zZm9ybVN5bWJvbCA9IE5hbWVUcmFuc2Zvcm1TeW1ib2w7XG5leHBvcnRzLlNFUEFSQVRPUiA9IFNFUEFSQVRPUjtcbmV4cG9ydHMuU3RhdHNGaWxlTmFtZSA9IFN0YXRzRmlsZU5hbWU7XG5leHBvcnRzLlRFTVBfRElSID0gVEVNUF9ESVI7XG5leHBvcnRzLmFzc2VydCA9IGFzc2VydDtcbmV4cG9ydHMuYmluZExvZ2dlclRvQ29tcGlsZXIgPSBiaW5kTG9nZ2VyVG9Db21waWxlcjtcbmV4cG9ydHMuY29tcG9zZUtleVdpdGhTZXBhcmF0b3IgPSBjb21wb3NlS2V5V2l0aFNlcGFyYXRvcjtcbmV4cG9ydHMuY29udGFpbmVyUGx1Z2luID0gQ29udGFpbmVyUGx1Z2luO1xuZXhwb3J0cy5jb250YWluZXJSZWZlcmVuY2VQbHVnaW4gPSBDb250YWluZXJSZWZlcmVuY2VQbHVnaW47XG5leHBvcnRzLmNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyID0gY3JlYXRlSW5mcmFzdHJ1Y3R1cmVMb2dnZXI7XG5leHBvcnRzLmNyZWF0ZUxpbmsgPSBjcmVhdGVMaW5rO1xuZXhwb3J0cy5jcmVhdGVMb2dnZXIgPSBjcmVhdGVMb2dnZXI7XG5leHBvcnRzLmNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcgPSBjcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnO1xuZXhwb3J0cy5jcmVhdGVTY3JpcHQgPSBjcmVhdGVTY3JpcHQ7XG5leHBvcnRzLmNyZWF0ZVNjcmlwdE5vZGUgPSBjcmVhdGVTY3JpcHROb2RlO1xuZXhwb3J0cy5kZWNvZGVOYW1lID0gZGVjb2RlTmFtZTtcbmV4cG9ydHMuZW5jb2RlTmFtZSA9IGVuY29kZU5hbWU7XG5leHBvcnRzLmVycm9yID0gZXJyb3I7XG5leHBvcnRzLmdlbmVyYXRlRXhwb3NlRmlsZW5hbWUgPSBnZW5lcmF0ZUV4cG9zZUZpbGVuYW1lO1xuZXhwb3J0cy5nZW5lcmF0ZVNoYXJlRmlsZW5hbWUgPSBnZW5lcmF0ZVNoYXJlRmlsZW5hbWU7XG5leHBvcnRzLmdlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QgPSBnZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0O1xuZXhwb3J0cy5nZXRNYW5pZmVzdEZpbGVOYW1lID0gZ2V0TWFuaWZlc3RGaWxlTmFtZTtcbmV4cG9ydHMuZ2V0UHJvY2Vzc0VudiA9IGdldFByb2Nlc3NFbnY7XG5leHBvcnRzLmdldFJlc291cmNlVXJsID0gZ2V0UmVzb3VyY2VVcmw7XG5leHBvcnRzLmluZmVyQXV0b1B1YmxpY1BhdGggPSBpbmZlckF1dG9QdWJsaWNQYXRoO1xuZXhwb3J0cy5pbmZyYXN0cnVjdHVyZUxvZ2dlciA9IGluZnJhc3RydWN0dXJlTG9nZ2VyO1xuZXhwb3J0cy5pc0Jyb3dzZXJFbnYgPSBpc0Jyb3dzZXJFbnY7XG5leHBvcnRzLmlzRGVidWdNb2RlID0gaXNEZWJ1Z01vZGU7XG5leHBvcnRzLmlzTWFuaWZlc3RQcm92aWRlciA9IGlzTWFuaWZlc3RQcm92aWRlcjtcbmV4cG9ydHMuaXNSZWFjdE5hdGl2ZUVudiA9IGlzUmVhY3ROYXRpdmVFbnY7XG5leHBvcnRzLmlzUmVxdWlyZWRWZXJzaW9uID0gaXNSZXF1aXJlZFZlcnNpb247XG5leHBvcnRzLmlzU3RhdGljUmVzb3VyY2VzRXF1YWwgPSBpc1N0YXRpY1Jlc291cmNlc0VxdWFsO1xuZXhwb3J0cy5sb2FkU2NyaXB0ID0gbG9hZFNjcmlwdDtcbmV4cG9ydHMubG9hZFNjcmlwdE5vZGUgPSBsb2FkU2NyaXB0Tm9kZTtcbmV4cG9ydHMubG9nZ2VyID0gbG9nZ2VyO1xuZXhwb3J0cy5tb2R1bGVGZWRlcmF0aW9uUGx1Z2luID0gTW9kdWxlRmVkZXJhdGlvblBsdWdpbjtcbmV4cG9ydHMubm9ybWFsaXplT3B0aW9ucyA9IG5vcm1hbGl6ZU9wdGlvbnM7XG5leHBvcnRzLnBhcnNlRW50cnkgPSBwYXJzZUVudHJ5O1xuZXhwb3J0cy5zYWZlVG9TdHJpbmcgPSBzYWZlVG9TdHJpbmc7XG5leHBvcnRzLnNhZmVXcmFwcGVyID0gc2FmZVdyYXBwZXI7XG5leHBvcnRzLnNoYXJlUGx1Z2luID0gU2hhcmVQbHVnaW47XG5leHBvcnRzLnNpbXBsZUpvaW5SZW1vdGVFbnRyeSA9IHNpbXBsZUpvaW5SZW1vdGVFbnRyeTtcbmV4cG9ydHMud2FybiA9IHdhcm47XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5janMuY2pzLm1hcFxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFhOztBQUViO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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LG1CQUFtQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLEtBQUssRUFBRSxTQUFTO0FBQ2xDO0FBQ0E7QUFDQSx5Q0FBeUMsT0FBTyxFQUFFLFNBQVM7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsYUFBYTtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLG9CQUFvQjtBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLDBCQUEwQjtBQUNsRDtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwyREFBMkQsU0FBUztBQUNwRSxLQUFLO0FBQ0wsYUFBYTtBQUNiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLGtCQUFrQjtBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FB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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/index.cjs.cjs\n\n}");
|
|
54
|
+
"../../../node_modules/@module-federation/runtime-core/dist/core.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
55
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/constant.cjs\");\nconst require_share = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\");\nconst require_env = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/env.cjs\");\nconst require_plugin = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\nconst require_asyncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs\");\nconst require_syncWaterfallHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs\");\nconst require_asyncWaterfallHooks = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\");\nconst require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\nconst require_disabled = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs\");\nconst require_index$2 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs\");\nconst require_generate_preload_assets = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs\");\nconst require_SnapshotHandler = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs\");\nconst require_disabled$1 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs\");\nconst require_index$3 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/shared/index.cjs\");\nconst require_disabled$2 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs\");\nconst require_index$4 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/remote/index.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/core.ts\nconst USE_SNAPSHOT = true ? !false : 0;\nconst USE_REMOTE = true ? !false : 0;\nconst USE_SHARED = true ? !false : 0;\nvar ModuleFederation = class {\n\tconstructor(userOptions) {\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({\n\t\t\tbeforeInit: new require_syncWaterfallHook.SyncWaterfallHook(\"beforeInit\"),\n\t\t\tinit: new require_syncHook.SyncHook(),\n\t\t\tbeforeInitContainer: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"beforeInitContainer\"),\n\t\t\tinitContainer: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"initContainer\")\n\t\t});\n\t\tthis.version = \"2.8.1\";\n\t\tthis.moduleCache = /* @__PURE__ */ new Map();\n\t\tthis.loaderHook = new require_pluginSystem.PluginSystem({\n\t\t\tgetModuleInfo: new require_syncHook.SyncHook(),\n\t\t\tcreateScript: new require_syncHook.SyncHook(),\n\t\t\tcreateLink: new require_syncHook.SyncHook(),\n\t\t\tfetch: new require_asyncHook.AsyncHook(),\n\t\t\tloadEntryError: new require_asyncHook.AsyncHook(),\n\t\t\tafterLoadEntry: new require_asyncHook.AsyncHook(\"afterLoadEntry\"),\n\t\t\tbeforeInitRemote: new require_asyncHook.AsyncHook(\"beforeInitRemote\"),\n\t\t\tafterInitRemote: new require_asyncHook.AsyncHook(\"afterInitRemote\"),\n\t\t\tbeforeGetExpose: new require_asyncHook.AsyncHook(\"beforeGetExpose\"),\n\t\t\tafterGetExpose: new require_asyncHook.AsyncHook(\"afterGetExpose\"),\n\t\t\tbeforeExecuteFactory: new require_asyncHook.AsyncHook(\"beforeExecuteFactory\"),\n\t\t\tafterExecuteFactory: new require_asyncHook.AsyncHook(\"afterExecuteFactory\"),\n\t\t\tgetModuleFactory: new require_asyncHook.AsyncHook()\n\t\t});\n\t\tthis.bridgeHook = new require_pluginSystem.PluginSystem({\n\t\t\tbeforeBridgeRender: new require_syncHook.SyncHook(),\n\t\t\tafterBridgeRender: new require_syncHook.SyncHook(),\n\t\t\tbeforeBridgeDestroy: new require_syncHook.SyncHook(),\n\t\t\tafterBridgeDestroy: new require_syncHook.SyncHook()\n\t\t});\n\t\tconst plugins = USE_REMOTE && USE_SNAPSHOT ? [require_index$2.snapshotPlugin(), require_generate_preload_assets.generatePreloadAssetsPlugin()] : [];\n\t\tconst defaultOptions = {\n\t\t\tid: require_env.getBuilderId(),\n\t\t\tname: userOptions.name,\n\t\t\tplugins,\n\t\t\tremotes: [],\n\t\t\tshared: {},\n\t\t\tinBrowser: _module_federation_sdk.isBrowserEnvValue\n\t\t};\n\t\tthis.name = userOptions.name;\n\t\tthis.options = defaultOptions;\n\t\tthis.snapshotHandler = USE_REMOTE ? new require_SnapshotHandler.SnapshotHandler(this) : new require_disabled$1.DisabledSnapshotHandler();\n\t\tthis.sharedHandler = USE_SHARED ? new require_index$3.SharedHandler(this) : new require_disabled$2.DisabledSharedHandler();\n\t\tthis.remoteHandler = USE_REMOTE ? new require_index$4.RemoteHandler(this) : new require_disabled.DisabledRemoteHandler();\n\t\tthis.shareScopeMap = this.sharedHandler.shareScopeMap;\n\t\tthis.registerPlugins([...defaultOptions.plugins, ...userOptions.plugins || []]);\n\t\tthis.options = this.formatOptions(defaultOptions, userOptions);\n\t}\n\tinitOptions(userOptions) {\n\t\tif (userOptions.name && userOptions.name !== this.options.name) require_logger.error((0, _module_federation_error_codes.getShortErrorMsg)(_module_federation_error_codes.RUNTIME_010, _module_federation_error_codes.runtimeDescMap));\n\t\tthis.registerPlugins(userOptions.plugins);\n\t\tconst options = this.formatOptions(this.options, userOptions);\n\t\tthis.options = options;\n\t\treturn options;\n\t}\n\tasync loadShare(pkgName, extraOptions) {\n\t\treturn this.sharedHandler.loadShare(pkgName, extraOptions);\n\t}\n\tloadShareSync(pkgName, extraOptions) {\n\t\treturn this.sharedHandler.loadShareSync(pkgName, extraOptions);\n\t}\n\tinitializeSharing(shareScopeName = require_constant.DEFAULT_SCOPE, extraOptions) {\n\t\treturn this.sharedHandler.initializeSharing(shareScopeName, extraOptions);\n\t}\n\tinitRawContainer(name, url, container) {\n\t\treturn this.remoteHandler.initRawContainer(name, url, container);\n\t}\n\tasync loadRemote(id, options) {\n\t\treturn this.remoteHandler.loadRemote(id, options);\n\t}\n\tasync preloadRemote(preloadOptions) {\n\t\treturn this.remoteHandler.preloadRemote(preloadOptions);\n\t}\n\tinitShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n\t\tthis.sharedHandler.initShareScopeMap(scopeName, shareScope, extraOptions);\n\t}\n\tformatOptions(globalOptions, userOptions) {\n\t\tconst shared = USE_SHARED ? require_share.formatShareConfigs(globalOptions, userOptions).allShareInfos : {};\n\t\tconst { userOptions: userOptionsRes, options: globalOptionsRes } = this.hooks.lifecycle.beforeInit.emit({\n\t\t\torigin: this,\n\t\t\tuserOptions,\n\t\t\toptions: globalOptions,\n\t\t\tshareInfo: shared\n\t\t});\n\t\tconst remotes = this.remoteHandler.formatAndRegisterRemote(globalOptionsRes, userOptionsRes);\n\t\tconst { allShareInfos } = this.sharedHandler.registerShared(globalOptionsRes, userOptionsRes);\n\t\tconst plugins = [...globalOptionsRes.plugins];\n\t\tif (userOptionsRes.plugins) userOptionsRes.plugins.forEach((plugin) => {\n\t\t\tif (!plugins.includes(plugin)) plugins.push(plugin);\n\t\t});\n\t\tconst optionsRes = {\n\t\t\t...globalOptions,\n\t\t\t...userOptions,\n\t\t\tplugins,\n\t\t\tremotes,\n\t\t\tshared: allShareInfos,\n\t\t\tid: userOptionsRes.id || globalOptions.id\n\t\t};\n\t\tthis.hooks.lifecycle.init.emit({\n\t\t\torigin: this,\n\t\t\toptions: optionsRes\n\t\t});\n\t\treturn optionsRes;\n\t}\n\tregisterPlugins(plugins) {\n\t\tconst pluginRes = require_plugin.registerPlugins(plugins, this);\n\t\tthis.options.plugins = this.options.plugins.reduce((res, plugin) => {\n\t\t\tif (!plugin) return res;\n\t\t\tif (res && !res.find((item) => item.name === plugin.name)) res.push(plugin);\n\t\t\treturn res;\n\t\t}, pluginRes || []);\n\t}\n\tregisterRemotes(remotes, options) {\n\t\treturn this.remoteHandler.registerRemotes(remotes, options);\n\t}\n\tregisterShared(shared) {\n\t\tthis.sharedHandler.registerShared(this.options, {\n\t\t\t...this.options,\n\t\t\tshared\n\t\t});\n\t}\n};\n\n//#endregion\nexports.ModuleFederation = ModuleFederation;\n//# sourceMappingURL=core.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2NvcmUuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2NvcmUuY2pzPzQxOGEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9sb2dnZXIgPSByZXF1aXJlKCcuL3V0aWxzL2xvZ2dlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfY29uc3RhbnQgPSByZXF1aXJlKCcuL2NvbnN0YW50LmNqcycpO1xuY29uc3QgcmVxdWlyZV9zaGFyZSA9IHJlcXVpcmUoJy4vdXRpbHMvc2hhcmUuY2pzJyk7XG5jb25zdCByZXF1aXJlX2VudiA9IHJlcXVpcmUoJy4vdXRpbHMvZW52LmNqcycpO1xuY29uc3QgcmVxdWlyZV9wbHVnaW4gPSByZXF1aXJlKCcuL3V0aWxzL3BsdWdpbi5janMnKTtcbnJlcXVpcmUoJy4vdXRpbHMvaW5kZXguY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNIb29rID0gcmVxdWlyZSgnLi91dGlscy9ob29rcy9zeW5jSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXN5bmNIb29rID0gcmVxdWlyZSgnLi91dGlscy9ob29rcy9hc3luY0hvb2suY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rID0gcmVxdWlyZSgnLi91dGlscy9ob29rcy9zeW5jV2F0ZXJmYWxsSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXN5bmNXYXRlcmZhbGxIb29rcyA9IHJlcXVpcmUoJy4vdXRpbHMvaG9va3MvYXN5bmNXYXRlcmZhbGxIb29rcy5janMnKTtcbmNvbnN0IHJlcXVpcmVfcGx1Z2luU3lzdGVtID0gcmVxdWlyZSgnLi91dGlscy9ob29rcy9wbHVnaW5TeXN0ZW0uY2pzJyk7XG5yZXF1aXJlKCcuL3V0aWxzL2hvb2tzL2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9kaXNhYmxlZCA9IHJlcXVpcmUoJy4vcmVtb3RlL2Rpc2FibGVkLmNqcycpO1xuY29uc3QgcmVxdWlyZV9pbmRleCQyID0gcmVxdWlyZSgnLi9wbHVnaW5zL3NuYXBzaG90L2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9nZW5lcmF0ZV9wcmVsb2FkX2Fzc2V0cyA9IHJlcXVpcmUoJy4vcGx1Z2lucy9nZW5lcmF0ZS1wcmVsb2FkLWFzc2V0cy5janMnKTtcbmNvbnN0IHJlcXVpcmVfU25hcHNob3RIYW5kbGVyID0gcmVxdWlyZSgnLi9wbHVnaW5zL3NuYXBzaG90L1NuYXBzaG90SGFuZGxlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfZGlzYWJsZWQkMSA9IHJlcXVpcmUoJy4vcGx1Z2lucy9zbmFwc2hvdC9kaXNhYmxlZC5janMnKTtcbmNvbnN0IHJlcXVpcmVfaW5kZXgkMyA9IHJlcXVpcmUoJy4vc2hhcmVkL2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9kaXNhYmxlZCQyID0gcmVxdWlyZSgnLi9zaGFyZWQvZGlzYWJsZWQuY2pzJyk7XG5jb25zdCByZXF1aXJlX2luZGV4JDQgPSByZXF1aXJlKCcuL3JlbW90ZS9pbmRleC5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9lcnJvci1jb2Rlc1wiKTtcblxuLy8jcmVnaW9uIHNyYy9jb3JlLnRzXG5jb25zdCBVU0VfU05BUFNIT1QgPSB0eXBlb2YgRkVERVJBVElPTl9PUFRJTUlaRV9OT19TTkFQU0hPVF9QTFVHSU4gPT09IFwiYm9vbGVhblwiID8gIUZFREVSQVRJT05fT1BUSU1JWkVfTk9fU05BUFNIT1RfUExVR0lOIDogdHJ1ZTtcbmNvbnN0IFVTRV9SRU1PVEUgPSB0eXBlb2YgRkVERVJBVElPTl9PUFRJTUlaRV9OT19SRU1PVEUgPT09IFwiYm9vbGVhblwiID8gIUZFREVSQVRJT05fT1BUSU1JWkVfTk9fUkVNT1RFIDogdHJ1ZTtcbmNvbnN0IFVTRV9TSEFSRUQgPSB0eXBlb2YgRkVERVJBVElPTl9PUFRJTUlaRV9OT19TSEFSRUQgPT09IFwiYm9vbGVhblwiID8gIUZFREVSQVRJT05fT1BUSU1JWkVfTk9fU0hBUkVEIDogdHJ1ZTtcbnZhciBNb2R1bGVGZWRlcmF0aW9uID0gY2xhc3Mge1xuXHRjb25zdHJ1Y3Rvcih1c2VyT3B0aW9ucykge1xuXHRcdHRoaXMuaG9va3MgPSBuZXcgcmVxdWlyZV9wbHVnaW5TeXN0ZW0uUGx1Z2luU3lzdGVtKHtcblx0XHRcdGJlZm9yZUluaXQ6IG5ldyByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rLlN5bmNXYXRlcmZhbGxIb29rKFwiYmVmb3JlSW5pdFwiKSxcblx0XHRcdGluaXQ6IG5ldyByZXF1aXJlX3N5bmNIb29rLlN5bmNIb29rKCksXG5cdFx0XHRiZWZvcmVJbml0Q29udGFpbmVyOiBuZXcgcmVxdWlyZV9hc3luY1dhdGVyZmFsbEhvb2tzLkFzeW5jV2F0ZXJmYWxsSG9vayhcImJlZm9yZUluaXRDb250YWluZXJcIiksXG5cdFx0XHRpbml0Q29udGFpbmVyOiBuZXcgcmVxdWlyZV9hc3luY1dhdGVyZmFsbEhvb2tzLkFzeW5jV2F0ZXJmYWxsSG9vayhcImluaXRDb250YWluZXJcIilcblx0XHR9KTtcblx0XHR0aGlzLnZlcnNpb24gPSBcIjIuOC4xXCI7XG5cdFx0dGhpcy5tb2R1bGVDYWNoZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG5cdFx0dGhpcy5sb2FkZXJIb29rID0gbmV3IHJlcXVpcmVfcGx1Z2luU3lzdGVtLlBsdWdpblN5c3RlbSh7XG5cdFx0XHRnZXRNb2R1bGVJbmZvOiBuZXcgcmVxdWlyZV9zeW5jSG9vay5TeW5jSG9vaygpLFxuXHRcdFx0Y3JlYXRlU2NyaXB0OiBuZXcgcmVxdWlyZV9zeW5jSG9vay5TeW5jSG9vaygpLFxuXHRcdFx0Y3JlYXRlTGluazogbmV3IHJlcXVpcmVfc3luY0hvb2suU3luY0hvb2soKSxcblx0XHRcdGZldGNoOiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKCksXG5cdFx0XHRsb2FkRW50cnlFcnJvcjogbmV3IHJlcXVpcmVfYXN5bmNIb29rLkFzeW5jSG9vaygpLFxuXHRcdFx0YWZ0ZXJMb2FkRW50cnk6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soXCJhZnRlckxvYWRFbnRyeVwiKSxcblx0XHRcdGJlZm9yZUluaXRSZW1vdGU6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soXCJiZWZvcmVJbml0UmVtb3RlXCIpLFxuXHRcdFx0YWZ0ZXJJbml0UmVtb3RlOiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwiYWZ0ZXJJbml0UmVtb3RlXCIpLFxuXHRcdFx0YmVmb3JlR2V0RXhwb3NlOiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwiYmVmb3JlR2V0RXhwb3NlXCIpLFxuXHRcdFx0YWZ0ZXJHZXRFeHBvc2U6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soXCJhZnRlckdldEV4cG9zZVwiKSxcblx0XHRcdGJlZm9yZUV4ZWN1dGVGYWN0b3J5OiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwiYmVmb3JlRXhlY3V0ZUZhY3RvcnlcIiksXG5cdFx0XHRhZnRlckV4ZWN1dGVGYWN0b3J5OiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwiYWZ0ZXJFeGVjdXRlRmFjdG9yeVwiKSxcblx0XHRcdGdldE1vZHVsZUZhY3Rvcnk6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soKVxuXHRcdH0pO1xuXHRcdHRoaXMuYnJpZGdlSG9vayA9IG5ldyByZXF1aXJlX3BsdWdpblN5c3RlbS5QbHVnaW5TeXN0ZW0oe1xuXHRcdFx0YmVmb3JlQnJpZGdlUmVuZGVyOiBuZXcgcmVxdWlyZV9zeW5jSG9vay5TeW5jSG9vaygpLFxuXHRcdFx0YWZ0ZXJCcmlkZ2VSZW5kZXI6IG5ldyByZXF1aXJlX3N5bmNIb29rLlN5bmNIb29rKCksXG5cdFx0XHRiZWZvcmVCcmlkZ2VEZXN0cm95OiBuZXcgcmVxdWlyZV9zeW5jSG9vay5TeW5jSG9vaygpLFxuXHRcdFx0YWZ0ZXJCcmlkZ2VEZXN0cm95OiBuZXcgcmVxdWlyZV9zeW5jSG9vay5TeW5jSG9vaygpXG5cdFx0fSk7XG5cdFx0Y29uc3QgcGx1Z2lucyA9IFVTRV9SRU1PVEUgJiYgVVNFX1NOQVBTSE9UID8gW3JlcXVpcmVfaW5kZXgkMi5zbmFwc2hvdFBsdWdpbigpLCByZXF1aXJlX2dlbmVyYXRlX3ByZWxvYWRfYXNzZXRzLmdlbmVyYXRlUHJlbG9hZEFzc2V0c1BsdWdpbigpXSA6IFtdO1xuXHRcdGNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuXHRcdFx0aWQ6IHJlcXVpcmVfZW52LmdldEJ1aWxkZXJJZCgpLFxuXHRcdFx0bmFtZTogdXNlck9wdGlvbnMubmFtZSxcblx0XHRcdHBsdWdpbnMsXG5cdFx0XHRyZW1vdGVzOiBbXSxcblx0XHRcdHNoYXJlZDoge30sXG5cdFx0XHRpbkJyb3dzZXI6IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNCcm93c2VyRW52VmFsdWVcblx0XHR9O1xuXHRcdHRoaXMubmFtZSA9IHVzZXJPcHRpb25zLm5hbWU7XG5cdFx0dGhpcy5vcHRpb25zID0gZGVmYXVsdE9wdGlvbnM7XG5cdFx0dGhpcy5zbmFwc2hvdEhhbmRsZXIgPSBVU0VfUkVNT1RFID8gbmV3IHJlcXVpcmVfU25hcHNob3RIYW5kbGVyLlNuYXBzaG90SGFuZGxlcih0aGlzKSA6IG5ldyByZXF1aXJlX2Rpc2FibGVkJDEuRGlzYWJsZWRTbmFwc2hvdEhhbmRsZXIoKTtcblx0XHR0aGlzLnNoYXJlZEhhbmRsZXIgPSBVU0VfU0hBUkVEID8gbmV3IHJlcXVpcmVfaW5kZXgkMy5TaGFyZWRIYW5kbGVyKHRoaXMpIDogbmV3IHJlcXVpcmVfZGlzYWJsZWQkMi5EaXNhYmxlZFNoYXJlZEhhbmRsZXIoKTtcblx0XHR0aGlzLnJlbW90ZUhhbmRsZXIgPSBVU0VfUkVNT1RFID8gbmV3IHJlcXVpcmVfaW5kZXgkNC5SZW1vdGVIYW5kbGVyKHRoaXMpIDogbmV3IHJlcXVpcmVfZGlzYWJsZWQuRGlzYWJsZWRSZW1vdGVIYW5kbGVyKCk7XG5cdFx0dGhpcy5zaGFyZVNjb3BlTWFwID0gdGhpcy5zaGFyZWRIYW5kbGVyLnNoYXJlU2NvcGVNYXA7XG5cdFx0dGhpcy5yZWdpc3RlclBsdWdpbnMoWy4uLmRlZmF1bHRPcHRpb25zLnBsdWdpbnMsIC4uLnVzZXJPcHRpb25zLnBsdWdpbnMgfHwgW11dKTtcblx0XHR0aGlzLm9wdGlvbnMgPSB0aGlzLmZvcm1hdE9wdGlvbnMoZGVmYXVsdE9wdGlvbnMsIHVzZXJPcHRpb25zKTtcblx0fVxuXHRpbml0T3B0aW9ucyh1c2VyT3B0aW9ucykge1xuXHRcdGlmICh1c2VyT3B0aW9ucy5uYW1lICYmIHVzZXJPcHRpb25zLm5hbWUgIT09IHRoaXMub3B0aW9ucy5uYW1lKSByZXF1aXJlX2xvZ2dlci5lcnJvcigoMCwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLmdldFNob3J0RXJyb3JNc2cpKF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMCwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwKSk7XG5cdFx0dGhpcy5yZWdpc3RlclBsdWdpbnModXNlck9wdGlvbnMucGx1Z2lucyk7XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMuZm9ybWF0T3B0aW9ucyh0aGlzLm9wdGlvbnMsIHVzZXJPcHRpb25zKTtcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXHRcdHJldHVybiBvcHRpb25zO1xuXHR9XG5cdGFzeW5jIGxvYWRTaGFyZShwa2dOYW1lLCBleHRyYU9wdGlvbnMpIHtcblx0XHRyZXR1cm4gdGhpcy5zaGFyZWRIYW5kbGVyLmxvYWRTaGFyZShwa2dOYW1lLCBleHRyYU9wdGlvbnMpO1xuXHR9XG5cdGxvYWRTaGFyZVN5bmMocGtnTmFtZSwgZXh0cmFPcHRpb25zKSB7XG5cdFx0cmV0dXJuIHRoaXMuc2hhcmVkSGFuZGxlci5sb2FkU2hhcmVTeW5jKHBrZ05hbWUsIGV4dHJhT3B0aW9ucyk7XG5cdH1cblx0aW5pdGlhbGl6ZVNoYXJpbmcoc2hhcmVTY29wZU5hbWUgPSByZXF1aXJlX2NvbnN0YW50LkRFRkFVTFRfU0NPUEUsIGV4dHJhT3B0aW9ucykge1xuXHRcdHJldHVybiB0aGlzLnNoYXJlZEhhbmRsZXIuaW5pdGlhbGl6ZVNoYXJpbmcoc2hhcmVTY29wZU5hbWUsIGV4dHJhT3B0aW9ucyk7XG5cdH1cblx0aW5pdFJhd0NvbnRhaW5lcihuYW1lLCB1cmwsIGNvbnRhaW5lcikge1xuXHRcdHJldHVybiB0aGlzLnJlbW90ZUhhbmRsZXIuaW5pdFJhd0NvbnRhaW5lcihuYW1lLCB1cmwsIGNvbnRhaW5lcik7XG5cdH1cblx0YXN5bmMgbG9hZFJlbW90ZShpZCwgb3B0aW9ucykge1xuXHRcdHJldHVybiB0aGlzLnJlbW90ZUhhbmRsZXIubG9hZFJlbW90ZShpZCwgb3B0aW9ucyk7XG5cdH1cblx0YXN5bmMgcHJlbG9hZFJlbW90ZShwcmVsb2FkT3B0aW9ucykge1xuXHRcdHJldHVybiB0aGlzLnJlbW90ZUhhbmRsZXIucHJlbG9hZFJlbW90ZShwcmVsb2FkT3B0aW9ucyk7XG5cdH1cblx0aW5pdFNoYXJlU2NvcGVNYXAoc2NvcGVOYW1lLCBzaGFyZVNjb3BlLCBleHRyYU9wdGlvbnMgPSB7fSkge1xuXHRcdHRoaXMuc2hhcmVkSGFuZGxlci5pbml0U2hhcmVTY29wZU1hcChzY29wZU5hbWUsIHNoYXJlU2NvcGUsIGV4dHJhT3B0aW9ucyk7XG5cdH1cblx0Zm9ybWF0T3B0aW9ucyhnbG9iYWxPcHRpb25zLCB1c2VyT3B0aW9ucykge1xuXHRcdGNvbnN0IHNoYXJlZCA9IFVTRV9TSEFSRUQgPyByZXF1aXJlX3NoYXJlLmZvcm1hdFNoYXJlQ29uZmlncyhnbG9iYWxPcHRpb25zLCB1c2VyT3B0aW9ucykuYWxsU2hhcmVJbmZvcyA6IHt9O1xuXHRcdGNvbnN0IHsgdXNlck9wdGlvbnM6IHVzZXJPcHRpb25zUmVzLCBvcHRpb25zOiBnbG9iYWxPcHRpb25zUmVzIH0gPSB0aGlzLmhvb2tzLmxpZmVjeWNsZS5iZWZvcmVJbml0LmVtaXQoe1xuXHRcdFx0b3JpZ2luOiB0aGlzLFxuXHRcdFx0dXNlck9wdGlvbnMsXG5cdFx0XHRvcHRpb25zOiBnbG9iYWxPcHRpb25zLFxuXHRcdFx0c2hhcmVJbmZvOiBzaGFyZWRcblx0XHR9KTtcblx0XHRjb25zdCByZW1vdGVzID0gdGhpcy5yZW1vdGVIYW5kbGVyLmZvcm1hdEFuZFJlZ2lzdGVyUmVtb3RlKGdsb2JhbE9wdGlvbnNSZXMsIHVzZXJPcHRpb25zUmVzKTtcblx0XHRjb25zdCB7IGFsbFNoYXJlSW5mb3MgfSA9IHRoaXMuc2hhcmVkSGFuZGxlci5yZWdpc3RlclNoYXJlZChnbG9iYWxPcHRpb25zUmVzLCB1c2VyT3B0aW9uc1Jlcyk7XG5cdFx0Y29uc3QgcGx1Z2lucyA9IFsuLi5nbG9iYWxPcHRpb25zUmVzLnBsdWdpbnNdO1xuXHRcdGlmICh1c2VyT3B0aW9uc1Jlcy5wbHVnaW5zKSB1c2VyT3B0aW9uc1Jlcy5wbHVnaW5zLmZvckVhY2goKHBsdWdpbikgPT4ge1xuXHRcdFx0aWYgKCFwbHVnaW5zLmluY2x1ZGVzKHBsdWdpbikpIHBsdWdpbnMucHVzaChwbHVnaW4pO1xuXHRcdH0pO1xuXHRcdGNvbnN0IG9wdGlvbnNSZXMgPSB7XG5cdFx0XHQuLi5nbG9iYWxPcHRpb25zLFxuXHRcdFx0Li4udXNlck9wdGlvbnMsXG5cdFx0XHRwbHVnaW5zLFxuXHRcdFx0cmVtb3Rlcyxcblx0XHRcdHNoYXJlZDogYWxsU2hhcmVJbmZvcyxcblx0XHRcdGlkOiB1c2VyT3B0aW9uc1Jlcy5pZCB8fCBnbG9iYWxPcHRpb25zLmlkXG5cdFx0fTtcblx0XHR0aGlzLmhvb2tzLmxpZmVjeWNsZS5pbml0LmVtaXQoe1xuXHRcdFx0b3JpZ2luOiB0aGlzLFxuXHRcdFx0b3B0aW9uczogb3B0aW9uc1Jlc1xuXHRcdH0pO1xuXHRcdHJldHVybiBvcHRpb25zUmVzO1xuXHR9XG5cdHJlZ2lzdGVyUGx1Z2lucyhwbHVnaW5zKSB7XG5cdFx0Y29uc3QgcGx1Z2luUmVzID0gcmVxdWlyZV9wbHVnaW4ucmVnaXN0ZXJQbHVnaW5zKHBsdWdpbnMsIHRoaXMpO1xuXHRcdHRoaXMub3B0aW9ucy5wbHVnaW5zID0gdGhpcy5vcHRpb25zLnBsdWdpbnMucmVkdWNlKChyZXMsIHBsdWdpbikgPT4ge1xuXHRcdFx0aWYgKCFwbHVnaW4pIHJldHVybiByZXM7XG5cdFx0XHRpZiAocmVzICYmICFyZXMuZmluZCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBwbHVnaW4ubmFtZSkpIHJlcy5wdXNoKHBsdWdpbik7XG5cdFx0XHRyZXR1cm4gcmVzO1xuXHRcdH0sIHBsdWdpblJlcyB8fCBbXSk7XG5cdH1cblx0cmVnaXN0ZXJSZW1vdGVzKHJlbW90ZXMsIG9wdGlvbnMpIHtcblx0XHRyZXR1cm4gdGhpcy5yZW1vdGVIYW5kbGVyLnJlZ2lzdGVyUmVtb3RlcyhyZW1vdGVzLCBvcHRpb25zKTtcblx0fVxuXHRyZWdpc3RlclNoYXJlZChzaGFyZWQpIHtcblx0XHR0aGlzLnNoYXJlZEhhbmRsZXIucmVnaXN0ZXJTaGFyZWQodGhpcy5vcHRpb25zLCB7XG5cdFx0XHQuLi50aGlzLm9wdGlvbnMsXG5cdFx0XHRzaGFyZWRcblx0XHR9KTtcblx0fVxufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLk1vZHVsZUZlZGVyYXRpb24gPSBNb2R1bGVGZWRlcmF0aW9uO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29yZS5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QixtQkFBTyxDQUFDLDZFQUFvQjtBQUNuRCx5QkFBeUIsbUJBQU8sQ0FBQyx5RUFBZ0I7QUFDakQsc0JBQXNCLG1CQUFPLENBQUMsNEVBQW1CO0FBQ2pELG9CQUFvQixtQkFBTyxDQUFDLDBFQUFpQjtBQUM3Qyx1QkFBdUIsbUJBQU8sQ0FBQyw2RUFBb0I7QUFDbkQsbUJBQU8sQ0FBQyw0RUFBbUI7QUFDM0IseUJBQXlCLG1CQUFPLENBQUMscUZBQTRCO0FBQzdELDBCQUEwQixtQkFBTyxDQUFDLHNGQUE2QjtBQUMvRCxrQ0FBa0MsbUJBQU8sQ0FBQyw4RkFBcUM7QUFDL0Usb0NBQW9DLG1CQUFPLENBQUMsZ0dBQXVDO0FBQ25GLDZCQUE2QixtQkFBTyxDQUFDLHlGQUFnQztBQUNyRSxtQkFBTyxDQUFDLGtGQUF5QjtBQUNqQyx5QkFBeUIsbUJBQU8sQ0FBQyxnRkFBdUI7QUFDeEQsd0JBQXdCLG1CQUFPLENBQUMsdUZBQThCO0FBQzlELHdDQUF3QyxtQkFBTyxDQUFDLGdHQUF1QztBQUN2RixnQ0FBZ0MsbUJBQU8sQ0FBQyxpR0FBd0M7QUFDaEYsMkJBQTJCLG1CQUFPLENBQUMsMEZBQWlDO0FBQ3BFLHdCQUF3QixtQkFBTyxDQUFDLDZFQUFvQjtBQUNwRCwyQkFBMkIsbUJBQU8sQ0FBQyxnRkFBdUI7QUFDMUQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQW9CO0FBQ3BELDZCQUE2QixtQkFBTyxDQUFDLDZEQUF3QjtBQUM3RCxxQ0FBcUMsbUJBQU8sQ0FBQyxxRUFBZ0M7O0FBRTdFO0FBQ0EscUJBQXFCLEtBQTJELElBQUksS0FBc0MsR0FBRyxDQUFJO0FBQ2pJLG1CQUFtQixLQUFrRCxJQUFJLEtBQTZCLEdBQUcsQ0FBSTtBQUM3RyxtQkFBbUIsS0FBa0QsSUFBSSxLQUE2QixHQUFHLENBQUk7QUFDN0c7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSx5REFBeUQ7QUFDbkU7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxVQUFVLGdCQUFnQjtBQUMxQjtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/core.cjs\n\n}");
|
|
30
56
|
|
|
31
57
|
},
|
|
32
|
-
"../../../node_modules/@module-federation/
|
|
33
|
-
eval("{\n\nconst FEDERATION_SUPPORTED_TYPES = ['script'];\n\nexports.FEDERATION_SUPPORTED_TYPES = FEDERATION_SUPPORTED_TYPES;\n//# sourceMappingURL=constant.cjs.cjs.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvY29uc3RhbnQuY2pzLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9kaXN0L2NvbnN0YW50LmNqcy5janM/ODlkYiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IEZFREVSQVRJT05fU1VQUE9SVEVEX1RZUEVTID0gWydzY3JpcHQnXTtcblxuZXhwb3J0cy5GRURFUkFUSU9OX1NVUFBPUlRFRF9UWVBFUyA9IEZFREVSQVRJT05fU1VQUE9SVEVEX1RZUEVTO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnQuY2pzLmNqcy5tYXBcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBYTs7QUFFYjs7QUFFQSxrQ0FBa0M7QUFDbEMifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs.cjs\n\n}");
|
|
58
|
+
"../../../node_modules/@module-federation/runtime-core/dist/global.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
59
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/global.ts\nconst CurrentGlobal = typeof globalThis === \"object\" ? globalThis : window;\nconst nativeGlobal = (() => {\n\ttry {\n\t\treturn document.defaultView;\n\t} catch {\n\t\treturn CurrentGlobal;\n\t}\n})();\nconst Global = nativeGlobal;\nfunction definePropertyGlobalVal(target, key, val) {\n\tObject.defineProperty(target, key, {\n\t\tvalue: val,\n\t\tconfigurable: false,\n\t\twritable: true\n\t});\n}\nfunction includeOwnProperty(target, key) {\n\treturn Object.hasOwnProperty.call(target, key);\n}\nif (!includeOwnProperty(CurrentGlobal, \"__GLOBAL_LOADING_REMOTE_ENTRY__\")) definePropertyGlobalVal(CurrentGlobal, \"__GLOBAL_LOADING_REMOTE_ENTRY__\", {});\nconst globalLoading = CurrentGlobal.__GLOBAL_LOADING_REMOTE_ENTRY__;\nfunction setGlobalDefaultVal(target) {\n\tif (includeOwnProperty(target, \"__VMOK__\") && !includeOwnProperty(target, \"__FEDERATION__\")) definePropertyGlobalVal(target, \"__FEDERATION__\", target.__VMOK__);\n\tif (!includeOwnProperty(target, \"__FEDERATION__\")) {\n\t\tdefinePropertyGlobalVal(target, \"__FEDERATION__\", {\n\t\t\t__GLOBAL_PLUGIN__: [],\n\t\t\t__INSTANCES__: [],\n\t\t\tmoduleInfo: {},\n\t\t\t__SHARE__: {},\n\t\t\t__MANIFEST_LOADING__: {},\n\t\t\t__PRELOADED_MAP__: /* @__PURE__ */ new Map()\n\t\t});\n\t\tdefinePropertyGlobalVal(target, \"__VMOK__\", target.__FEDERATION__);\n\t}\n\ttarget.__FEDERATION__.__GLOBAL_PLUGIN__ ??= [];\n\ttarget.__FEDERATION__.__INSTANCES__ ??= [];\n\ttarget.__FEDERATION__.moduleInfo ??= {};\n\ttarget.__FEDERATION__.__SHARE__ ??= {};\n\ttarget.__FEDERATION__.__MANIFEST_LOADING__ ??= {};\n\ttarget.__FEDERATION__.__PRELOADED_MAP__ ??= /* @__PURE__ */ new Map();\n}\nsetGlobalDefaultVal(CurrentGlobal);\nsetGlobalDefaultVal(nativeGlobal);\nfunction resetFederationGlobalInfo() {\n\tCurrentGlobal.__FEDERATION__.__GLOBAL_PLUGIN__ = [];\n\tCurrentGlobal.__FEDERATION__.__INSTANCES__ = [];\n\tCurrentGlobal.__FEDERATION__.moduleInfo = {};\n\tCurrentGlobal.__FEDERATION__.__SHARE__ = {};\n\tCurrentGlobal.__FEDERATION__.__MANIFEST_LOADING__ = {};\n\tObject.keys(globalLoading).forEach((key) => {\n\t\tdelete globalLoading[key];\n\t});\n}\nfunction setGlobalFederationInstance(FederationInstance) {\n\tCurrentGlobal.__FEDERATION__.__INSTANCES__.push(FederationInstance);\n}\nfunction getGlobalFederationConstructor() {\n\treturn CurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__;\n}\nfunction setGlobalFederationConstructor(FederationConstructor, isDebug = (0, _module_federation_sdk.isDebugMode)()) {\n\tif (isDebug) {\n\t\tCurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR__ = FederationConstructor;\n\t\tCurrentGlobal.__FEDERATION__.__DEBUG_CONSTRUCTOR_VERSION__ = \"2.8.1\";\n\t}\n}\nfunction getInfoWithoutType(target, key) {\n\tif (typeof key === \"string\") if (target[key]) return {\n\t\tvalue: target[key],\n\t\tkey\n\t};\n\telse {\n\t\tconst targetKeys = Object.keys(target);\n\t\tfor (const targetKey of targetKeys) {\n\t\t\tconst [targetTypeOrName, _] = targetKey.split(\":\");\n\t\t\tconst nKey = `${targetTypeOrName}:${key}`;\n\t\t\tconst typeWithKeyRes = target[nKey];\n\t\t\tif (typeWithKeyRes) return {\n\t\t\t\tvalue: typeWithKeyRes,\n\t\t\t\tkey: nKey\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tvalue: void 0,\n\t\t\tkey\n\t\t};\n\t}\n\telse require_logger.error(`getInfoWithoutType: \"key\" must be a string, got ${typeof key} (${JSON.stringify(key)}).`);\n}\nconst getGlobalSnapshot = () => nativeGlobal.__FEDERATION__.moduleInfo;\nconst getTargetSnapshotInfoByModuleInfo = (moduleInfo, snapshot) => {\n\tconst getModuleInfo = getInfoWithoutType(snapshot, require_tool.getFMId(moduleInfo)).value;\n\tif (getModuleInfo && !getModuleInfo.version && \"version\" in moduleInfo && moduleInfo[\"version\"]) getModuleInfo.version = moduleInfo[\"version\"];\n\tif (getModuleInfo) return getModuleInfo;\n\tif (\"version\" in moduleInfo && moduleInfo[\"version\"]) {\n\t\tconst { version, ...resModuleInfo } = moduleInfo;\n\t\tconst moduleKeyWithoutVersion = require_tool.getFMId(resModuleInfo);\n\t\tconst getModuleInfoWithoutVersion = getInfoWithoutType(nativeGlobal.__FEDERATION__.moduleInfo, moduleKeyWithoutVersion).value;\n\t\tif (getModuleInfoWithoutVersion?.version === version) return getModuleInfoWithoutVersion;\n\t}\n};\nconst getGlobalSnapshotInfoByModuleInfo = (moduleInfo) => getTargetSnapshotInfoByModuleInfo(moduleInfo, nativeGlobal.__FEDERATION__.moduleInfo);\nconst setGlobalSnapshotInfoByModuleInfo = (remoteInfo, moduleDetailInfo) => {\n\tconst moduleKey = require_tool.getFMId(remoteInfo);\n\tnativeGlobal.__FEDERATION__.moduleInfo[moduleKey] = moduleDetailInfo;\n\treturn nativeGlobal.__FEDERATION__.moduleInfo;\n};\nconst addGlobalSnapshot = (moduleInfos) => {\n\tnativeGlobal.__FEDERATION__.moduleInfo = {\n\t\t...nativeGlobal.__FEDERATION__.moduleInfo,\n\t\t...moduleInfos\n\t};\n\treturn () => {\n\t\tconst keys = Object.keys(moduleInfos);\n\t\tfor (const key of keys) delete nativeGlobal.__FEDERATION__.moduleInfo[key];\n\t};\n};\nconst getRemoteEntryExports = (name, globalName) => {\n\tconst remoteEntryKey = globalName || `__FEDERATION_${name}:custom__`;\n\treturn {\n\t\tremoteEntryKey,\n\t\tentryExports: CurrentGlobal[remoteEntryKey]\n\t};\n};\nconst registerGlobalPlugins = (plugins) => {\n\tconst { __GLOBAL_PLUGIN__ } = nativeGlobal.__FEDERATION__;\n\tplugins.forEach((plugin) => {\n\t\tif (__GLOBAL_PLUGIN__.findIndex((p) => p.name === plugin.name) === -1) __GLOBAL_PLUGIN__.push(plugin);\n\t\telse require_logger.warn(`The plugin ${plugin.name} has been registered.`);\n\t});\n};\nconst getGlobalHostPlugins = () => nativeGlobal.__FEDERATION__.__GLOBAL_PLUGIN__;\nconst getPreloaded = (id) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.get(id);\nconst setPreloaded = (id) => CurrentGlobal.__FEDERATION__.__PRELOADED_MAP__.set(id, true);\n\n//#endregion\nexports.CurrentGlobal = CurrentGlobal;\nexports.Global = Global;\nexports.addGlobalSnapshot = addGlobalSnapshot;\nexports.getGlobalFederationConstructor = getGlobalFederationConstructor;\nexports.getGlobalHostPlugins = getGlobalHostPlugins;\nexports.getGlobalSnapshot = getGlobalSnapshot;\nexports.getGlobalSnapshotInfoByModuleInfo = getGlobalSnapshotInfoByModuleInfo;\nexports.getInfoWithoutType = getInfoWithoutType;\nexports.getPreloaded = getPreloaded;\nexports.getRemoteEntryExports = getRemoteEntryExports;\nexports.getTargetSnapshotInfoByModuleInfo = getTargetSnapshotInfoByModuleInfo;\nexports.globalLoading = globalLoading;\nexports.nativeGlobal = nativeGlobal;\nexports.registerGlobalPlugins = registerGlobalPlugins;\nexports.resetFederationGlobalInfo = resetFederationGlobalInfo;\nexports.setGlobalFederationConstructor = setGlobalFederationConstructor;\nexports.setGlobalFederationInstance = setGlobalFederationInstance;\nexports.setGlobalSnapshotInfoByModuleInfo = setGlobalSnapshotInfoByModuleInfo;\nexports.setPreloaded = setPreloaded;\n//# sourceMappingURL=global.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2dsb2JhbC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvZ2xvYmFsLmNqcz9jODA4Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi91dGlscy9sb2dnZXIuY2pzJyk7XG5jb25zdCByZXF1aXJlX3Rvb2wgPSByZXF1aXJlKCcuL3V0aWxzL3Rvb2wuY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3NkayA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vc2RrXCIpO1xuXG4vLyNyZWdpb24gc3JjL2dsb2JhbC50c1xuY29uc3QgQ3VycmVudEdsb2JhbCA9IHR5cGVvZiBnbG9iYWxUaGlzID09PSBcIm9iamVjdFwiID8gZ2xvYmFsVGhpcyA6IHdpbmRvdztcbmNvbnN0IG5hdGl2ZUdsb2JhbCA9ICgoKSA9PiB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIGRvY3VtZW50LmRlZmF1bHRWaWV3O1xuXHR9IGNhdGNoIHtcblx0XHRyZXR1cm4gQ3VycmVudEdsb2JhbDtcblx0fVxufSkoKTtcbmNvbnN0IEdsb2JhbCA9IG5hdGl2ZUdsb2JhbDtcbmZ1bmN0aW9uIGRlZmluZVByb3BlcnR5R2xvYmFsVmFsKHRhcmdldCwga2V5LCB2YWwpIHtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG5cdFx0dmFsdWU6IHZhbCxcblx0XHRjb25maWd1cmFibGU6IGZhbHNlLFxuXHRcdHdyaXRhYmxlOiB0cnVlXG5cdH0pO1xufVxuZnVuY3Rpb24gaW5jbHVkZU93blByb3BlcnR5KHRhcmdldCwga2V5KSB7XG5cdHJldHVybiBPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbCh0YXJnZXQsIGtleSk7XG59XG5pZiAoIWluY2x1ZGVPd25Qcm9wZXJ0eShDdXJyZW50R2xvYmFsLCBcIl9fR0xPQkFMX0xPQURJTkdfUkVNT1RFX0VOVFJZX19cIikpIGRlZmluZVByb3BlcnR5R2xvYmFsVmFsKEN1cnJlbnRHbG9iYWwsIFwiX19HTE9CQUxfTE9BRElOR19SRU1PVEVfRU5UUllfX1wiLCB7fSk7XG5jb25zdCBnbG9iYWxMb2FkaW5nID0gQ3VycmVudEdsb2JhbC5fX0dMT0JBTF9MT0FESU5HX1JFTU9URV9FTlRSWV9fO1xuZnVuY3Rpb24gc2V0R2xvYmFsRGVmYXVsdFZhbCh0YXJnZXQpIHtcblx0aWYgKGluY2x1ZGVPd25Qcm9wZXJ0eSh0YXJnZXQsIFwiX19WTU9LX19cIikgJiYgIWluY2x1ZGVPd25Qcm9wZXJ0eSh0YXJnZXQsIFwiX19GRURFUkFUSU9OX19cIikpIGRlZmluZVByb3BlcnR5R2xvYmFsVmFsKHRhcmdldCwgXCJfX0ZFREVSQVRJT05fX1wiLCB0YXJnZXQuX19WTU9LX18pO1xuXHRpZiAoIWluY2x1ZGVPd25Qcm9wZXJ0eSh0YXJnZXQsIFwiX19GRURFUkFUSU9OX19cIikpIHtcblx0XHRkZWZpbmVQcm9wZXJ0eUdsb2JhbFZhbCh0YXJnZXQsIFwiX19GRURFUkFUSU9OX19cIiwge1xuXHRcdFx0X19HTE9CQUxfUExVR0lOX186IFtdLFxuXHRcdFx0X19JTlNUQU5DRVNfXzogW10sXG5cdFx0XHRtb2R1bGVJbmZvOiB7fSxcblx0XHRcdF9fU0hBUkVfXzoge30sXG5cdFx0XHRfX01BTklGRVNUX0xPQURJTkdfXzoge30sXG5cdFx0XHRfX1BSRUxPQURFRF9NQVBfXzogLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKVxuXHRcdH0pO1xuXHRcdGRlZmluZVByb3BlcnR5R2xvYmFsVmFsKHRhcmdldCwgXCJfX1ZNT0tfX1wiLCB0YXJnZXQuX19GRURFUkFUSU9OX18pO1xuXHR9XG5cdHRhcmdldC5fX0ZFREVSQVRJT05fXy5fX0dMT0JBTF9QTFVHSU5fXyA/Pz0gW107XG5cdHRhcmdldC5fX0ZFREVSQVRJT05fXy5fX0lOU1RBTkNFU19fID8/PSBbXTtcblx0dGFyZ2V0Ll9fRkVERVJBVElPTl9fLm1vZHVsZUluZm8gPz89IHt9O1xuXHR0YXJnZXQuX19GRURFUkFUSU9OX18uX19TSEFSRV9fID8/PSB7fTtcblx0dGFyZ2V0Ll9fRkVERVJBVElPTl9fLl9fTUFOSUZFU1RfTE9BRElOR19fID8/PSB7fTtcblx0dGFyZ2V0Ll9fRkVERVJBVElPTl9fLl9fUFJFTE9BREVEX01BUF9fID8/PSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xufVxuc2V0R2xvYmFsRGVmYXVsdFZhbChDdXJyZW50R2xvYmFsKTtcbnNldEdsb2JhbERlZmF1bHRWYWwobmF0aXZlR2xvYmFsKTtcbmZ1bmN0aW9uIHJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm8oKSB7XG5cdEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19HTE9CQUxfUExVR0lOX18gPSBbXTtcblx0Q3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0lOU1RBTkNFU19fID0gW107XG5cdEN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mbyA9IHt9O1xuXHRDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fU0hBUkVfXyA9IHt9O1xuXHRDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fTUFOSUZFU1RfTE9BRElOR19fID0ge307XG5cdE9iamVjdC5rZXlzKGdsb2JhbExvYWRpbmcpLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdGRlbGV0ZSBnbG9iYWxMb2FkaW5nW2tleV07XG5cdH0pO1xufVxuZnVuY3Rpb24gc2V0R2xvYmFsRmVkZXJhdGlvbkluc3RhbmNlKEZlZGVyYXRpb25JbnN0YW5jZSkge1xuXHRDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fSU5TVEFOQ0VTX18ucHVzaChGZWRlcmF0aW9uSW5zdGFuY2UpO1xufVxuZnVuY3Rpb24gZ2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yKCkge1xuXHRyZXR1cm4gQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0RFQlVHX0NPTlNUUlVDVE9SX187XG59XG5mdW5jdGlvbiBzZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IoRmVkZXJhdGlvbkNvbnN0cnVjdG9yLCBpc0RlYnVnID0gKDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNEZWJ1Z01vZGUpKCkpIHtcblx0aWYgKGlzRGVidWcpIHtcblx0XHRDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fREVCVUdfQ09OU1RSVUNUT1JfXyA9IEZlZGVyYXRpb25Db25zdHJ1Y3Rvcjtcblx0XHRDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fREVCVUdfQ09OU1RSVUNUT1JfVkVSU0lPTl9fID0gXCIyLjguMVwiO1xuXHR9XG59XG5mdW5jdGlvbiBnZXRJbmZvV2l0aG91dFR5cGUodGFyZ2V0LCBrZXkpIHtcblx0aWYgKHR5cGVvZiBrZXkgPT09IFwic3RyaW5nXCIpIGlmICh0YXJnZXRba2V5XSkgcmV0dXJuIHtcblx0XHR2YWx1ZTogdGFyZ2V0W2tleV0sXG5cdFx0a2V5XG5cdH07XG5cdGVsc2Uge1xuXHRcdGNvbnN0IHRhcmdldEtleXMgPSBPYmplY3Qua2V5cyh0YXJnZXQpO1xuXHRcdGZvciAoY29uc3QgdGFyZ2V0S2V5IG9mIHRhcmdldEtleXMpIHtcblx0XHRcdGNvbnN0IFt0YXJnZXRUeXBlT3JOYW1lLCBfXSA9IHRhcmdldEtleS5zcGxpdChcIjpcIik7XG5cdFx0XHRjb25zdCBuS2V5ID0gYCR7dGFyZ2V0VHlwZU9yTmFtZX06JHtrZXl9YDtcblx0XHRcdGNvbnN0IHR5cGVXaXRoS2V5UmVzID0gdGFyZ2V0W25LZXldO1xuXHRcdFx0aWYgKHR5cGVXaXRoS2V5UmVzKSByZXR1cm4ge1xuXHRcdFx0XHR2YWx1ZTogdHlwZVdpdGhLZXlSZXMsXG5cdFx0XHRcdGtleTogbktleVxuXHRcdFx0fTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbHVlOiB2b2lkIDAsXG5cdFx0XHRrZXlcblx0XHR9O1xuXHR9XG5cdGVsc2UgcmVxdWlyZV9sb2dnZXIuZXJyb3IoYGdldEluZm9XaXRob3V0VHlwZTogXCJrZXlcIiBtdXN0IGJlIGEgc3RyaW5nLCBnb3QgJHt0eXBlb2Yga2V5fSAoJHtKU09OLnN0cmluZ2lmeShrZXkpfSkuYCk7XG59XG5jb25zdCBnZXRHbG9iYWxTbmFwc2hvdCA9ICgpID0+IG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvO1xuY29uc3QgZ2V0VGFyZ2V0U25hcHNob3RJbmZvQnlNb2R1bGVJbmZvID0gKG1vZHVsZUluZm8sIHNuYXBzaG90KSA9PiB7XG5cdGNvbnN0IGdldE1vZHVsZUluZm8gPSBnZXRJbmZvV2l0aG91dFR5cGUoc25hcHNob3QsIHJlcXVpcmVfdG9vbC5nZXRGTUlkKG1vZHVsZUluZm8pKS52YWx1ZTtcblx0aWYgKGdldE1vZHVsZUluZm8gJiYgIWdldE1vZHVsZUluZm8udmVyc2lvbiAmJiBcInZlcnNpb25cIiBpbiBtb2R1bGVJbmZvICYmIG1vZHVsZUluZm9bXCJ2ZXJzaW9uXCJdKSBnZXRNb2R1bGVJbmZvLnZlcnNpb24gPSBtb2R1bGVJbmZvW1widmVyc2lvblwiXTtcblx0aWYgKGdldE1vZHVsZUluZm8pIHJldHVybiBnZXRNb2R1bGVJbmZvO1xuXHRpZiAoXCJ2ZXJzaW9uXCIgaW4gbW9kdWxlSW5mbyAmJiBtb2R1bGVJbmZvW1widmVyc2lvblwiXSkge1xuXHRcdGNvbnN0IHsgdmVyc2lvbiwgLi4ucmVzTW9kdWxlSW5mbyB9ID0gbW9kdWxlSW5mbztcblx0XHRjb25zdCBtb2R1bGVLZXlXaXRob3V0VmVyc2lvbiA9IHJlcXVpcmVfdG9vbC5nZXRGTUlkKHJlc01vZHVsZUluZm8pO1xuXHRcdGNvbnN0IGdldE1vZHVsZUluZm9XaXRob3V0VmVyc2lvbiA9IGdldEluZm9XaXRob3V0VHlwZShuYXRpdmVHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mbywgbW9kdWxlS2V5V2l0aG91dFZlcnNpb24pLnZhbHVlO1xuXHRcdGlmIChnZXRNb2R1bGVJbmZvV2l0aG91dFZlcnNpb24/LnZlcnNpb24gPT09IHZlcnNpb24pIHJldHVybiBnZXRNb2R1bGVJbmZvV2l0aG91dFZlcnNpb247XG5cdH1cbn07XG5jb25zdCBnZXRHbG9iYWxTbmFwc2hvdEluZm9CeU1vZHVsZUluZm8gPSAobW9kdWxlSW5mbykgPT4gZ2V0VGFyZ2V0U25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKG1vZHVsZUluZm8sIG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvKTtcbmNvbnN0IHNldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyA9IChyZW1vdGVJbmZvLCBtb2R1bGVEZXRhaWxJbmZvKSA9PiB7XG5cdGNvbnN0IG1vZHVsZUtleSA9IHJlcXVpcmVfdG9vbC5nZXRGTUlkKHJlbW90ZUluZm8pO1xuXHRuYXRpdmVHbG9iYWwuX19GRURFUkFUSU9OX18ubW9kdWxlSW5mb1ttb2R1bGVLZXldID0gbW9kdWxlRGV0YWlsSW5mbztcblx0cmV0dXJuIG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvO1xufTtcbmNvbnN0IGFkZEdsb2JhbFNuYXBzaG90ID0gKG1vZHVsZUluZm9zKSA9PiB7XG5cdG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvID0ge1xuXHRcdC4uLm5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5tb2R1bGVJbmZvLFxuXHRcdC4uLm1vZHVsZUluZm9zXG5cdH07XG5cdHJldHVybiAoKSA9PiB7XG5cdFx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKG1vZHVsZUluZm9zKTtcblx0XHRmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSBkZWxldGUgbmF0aXZlR2xvYmFsLl9fRkVERVJBVElPTl9fLm1vZHVsZUluZm9ba2V5XTtcblx0fTtcbn07XG5jb25zdCBnZXRSZW1vdGVFbnRyeUV4cG9ydHMgPSAobmFtZSwgZ2xvYmFsTmFtZSkgPT4ge1xuXHRjb25zdCByZW1vdGVFbnRyeUtleSA9IGdsb2JhbE5hbWUgfHwgYF9fRkVERVJBVElPTl8ke25hbWV9OmN1c3RvbV9fYDtcblx0cmV0dXJuIHtcblx0XHRyZW1vdGVFbnRyeUtleSxcblx0XHRlbnRyeUV4cG9ydHM6IEN1cnJlbnRHbG9iYWxbcmVtb3RlRW50cnlLZXldXG5cdH07XG59O1xuY29uc3QgcmVnaXN0ZXJHbG9iYWxQbHVnaW5zID0gKHBsdWdpbnMpID0+IHtcblx0Y29uc3QgeyBfX0dMT0JBTF9QTFVHSU5fXyB9ID0gbmF0aXZlR2xvYmFsLl9fRkVERVJBVElPTl9fO1xuXHRwbHVnaW5zLmZvckVhY2goKHBsdWdpbikgPT4ge1xuXHRcdGlmIChfX0dMT0JBTF9QTFVHSU5fXy5maW5kSW5kZXgoKHApID0+IHAubmFtZSA9PT0gcGx1Z2luLm5hbWUpID09PSAtMSkgX19HTE9CQUxfUExVR0lOX18ucHVzaChwbHVnaW4pO1xuXHRcdGVsc2UgcmVxdWlyZV9sb2dnZXIud2FybihgVGhlIHBsdWdpbiAke3BsdWdpbi5uYW1lfSBoYXMgYmVlbiByZWdpc3RlcmVkLmApO1xuXHR9KTtcbn07XG5jb25zdCBnZXRHbG9iYWxIb3N0UGx1Z2lucyA9ICgpID0+IG5hdGl2ZUdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0dMT0JBTF9QTFVHSU5fXztcbmNvbnN0IGdldFByZWxvYWRlZCA9IChpZCkgPT4gQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX1BSRUxPQURFRF9NQVBfXy5nZXQoaWQpO1xuY29uc3Qgc2V0UHJlbG9hZGVkID0gKGlkKSA9PiBDdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fUFJFTE9BREVEX01BUF9fLnNldChpZCwgdHJ1ZSk7XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5DdXJyZW50R2xvYmFsID0gQ3VycmVudEdsb2JhbDtcbmV4cG9ydHMuR2xvYmFsID0gR2xvYmFsO1xuZXhwb3J0cy5hZGRHbG9iYWxTbmFwc2hvdCA9IGFkZEdsb2JhbFNuYXBzaG90O1xuZXhwb3J0cy5nZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IgPSBnZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3I7XG5leHBvcnRzLmdldEdsb2JhbEhvc3RQbHVnaW5zID0gZ2V0R2xvYmFsSG9zdFBsdWdpbnM7XG5leHBvcnRzLmdldEdsb2JhbFNuYXBzaG90ID0gZ2V0R2xvYmFsU25hcHNob3Q7XG5leHBvcnRzLmdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyA9IGdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbztcbmV4cG9ydHMuZ2V0SW5mb1dpdGhvdXRUeXBlID0gZ2V0SW5mb1dpdGhvdXRUeXBlO1xuZXhwb3J0cy5nZXRQcmVsb2FkZWQgPSBnZXRQcmVsb2FkZWQ7XG5leHBvcnRzLmdldFJlbW90ZUVudHJ5RXhwb3J0cyA9IGdldFJlbW90ZUVudHJ5RXhwb3J0cztcbmV4cG9ydHMuZ2V0VGFyZ2V0U25hcHNob3RJbmZvQnlNb2R1bGVJbmZvID0gZ2V0VGFyZ2V0U25hcHNob3RJbmZvQnlNb2R1bGVJbmZvO1xuZXhwb3J0cy5nbG9iYWxMb2FkaW5nID0gZ2xvYmFsTG9hZGluZztcbmV4cG9ydHMubmF0aXZlR2xvYmFsID0gbmF0aXZlR2xvYmFsO1xuZXhwb3J0cy5yZWdpc3Rlckdsb2JhbFBsdWdpbnMgPSByZWdpc3Rlckdsb2JhbFBsdWdpbnM7XG5leHBvcnRzLnJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm8gPSByZXNldEZlZGVyYXRpb25HbG9iYWxJbmZvO1xuZXhwb3J0cy5zZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IgPSBzZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3I7XG5leHBvcnRzLnNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZSA9IHNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZTtcbmV4cG9ydHMuc2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvID0gc2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvO1xuZXhwb3J0cy5zZXRQcmVsb2FkZWQgPSBzZXRQcmVsb2FkZWQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nbG9iYWwuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUIsbUJBQU8sQ0FBQyw2RUFBb0I7QUFDbkQscUJBQXFCLG1CQUFPLENBQUMsMkVBQWtCO0FBQy9DLDZCQUE2QixtQkFBTyxDQUFDLDZEQUF3Qjs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVKQUF1SjtBQUN2SjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQixnQkFBZ0I7QUFDaEIsMkJBQTJCO0FBQzNCO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLGlCQUFpQixHQUFHLElBQUk7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhFQUE4RSxZQUFZLEdBQUcsb0JBQW9CO0FBQ2pIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSw0QkFBNEI7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsS0FBSztBQUMzRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9CQUFvQjtBQUM3QjtBQUNBO0FBQ0EseUNBQXlDLGFBQWE7QUFDdEQsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCLGNBQWM7QUFDZCx5QkFBeUI7QUFDekIsc0NBQXNDO0FBQ3RDLDRCQUE0QjtBQUM1Qix5QkFBeUI7QUFDekIseUNBQXlDO0FBQ3pDLDBCQUEwQjtBQUMxQixvQkFBb0I7QUFDcEIsNkJBQTZCO0FBQzdCLHlDQUF5QztBQUN6QyxxQkFBcUI7QUFDckIsb0JBQW9CO0FBQ3BCLDZCQUE2QjtBQUM3QixpQ0FBaUM7QUFDakMsc0NBQXNDO0FBQ3RDLG1DQUFtQztBQUNuQyx5Q0FBeUM7QUFDekMsb0JBQW9CO0FBQ3BCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/global.cjs\n\n}");
|
|
34
60
|
|
|
35
61
|
},
|
|
36
|
-
"../../../node_modules/@module-federation/
|
|
37
|
-
eval("{\n\nvar runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime/dist/index.cjs.cjs\");\nvar constant = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs.cjs\");\nvar sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs.cjs\");\n\nfunction _interopNamespaceDefault(e) {\n var n = Object.create(null);\n if (e) {\n for (var k in e) {\n n[k] = e[k];\n }\n }\n n.default = e;\n return Object.freeze(n);\n}\n\nvar runtime__namespace = /*#__PURE__*/_interopNamespaceDefault(runtime);\n\nfunction attachShareScopeMap(webpackRequire) {\n if (!webpackRequire.S ||\n webpackRequire.federation.hasAttachShareScopeMap ||\n !webpackRequire.federation.instance ||\n !webpackRequire.federation.instance.shareScopeMap) {\n return;\n }\n webpackRequire.S = webpackRequire.federation.instance.shareScopeMap;\n webpackRequire.federation.hasAttachShareScopeMap = true;\n}\n\nfunction updateConsumeOptions(options) {\n const { webpackRequire, moduleToHandlerMapping } = options;\n const { consumesLoadingData, initializeSharingData } = webpackRequire;\n if (consumesLoadingData && !consumesLoadingData._updated) {\n const { moduleIdToConsumeDataMapping: updatedModuleIdToConsumeDataMapping = {}, initialConsumes: updatedInitialConsumes = [], chunkMapping: updatedChunkMapping = {}, } = consumesLoadingData;\n Object.entries(updatedModuleIdToConsumeDataMapping).forEach(([id, data]) => {\n if (!moduleToHandlerMapping[id]) {\n moduleToHandlerMapping[id] = {\n getter: data.fallback,\n shareInfo: {\n shareConfig: {\n requiredVersion: data.requiredVersion,\n strictVersion: data.strictVersion,\n singleton: data.singleton,\n eager: data.eager,\n layer: data.layer,\n },\n scope: Array.isArray(data.shareScope)\n ? data.shareScope\n : [data.shareScope || 'default'],\n },\n shareKey: data.shareKey,\n };\n }\n });\n if ('initialConsumes' in options) {\n const { initialConsumes = [] } = options;\n updatedInitialConsumes.forEach((id) => {\n if (!initialConsumes.includes(id)) {\n initialConsumes.push(id);\n }\n });\n }\n if ('chunkMapping' in options) {\n const { chunkMapping = {} } = options;\n Object.entries(updatedChunkMapping).forEach(([id, chunkModules]) => {\n if (!chunkMapping[id]) {\n chunkMapping[id] = [];\n }\n chunkModules.forEach((moduleId) => {\n if (!chunkMapping[id].includes(moduleId)) {\n chunkMapping[id].push(moduleId);\n }\n });\n });\n }\n consumesLoadingData._updated = 1;\n }\n if (initializeSharingData && !initializeSharingData._updated) {\n const { federation } = webpackRequire;\n if (!federation.instance ||\n !initializeSharingData.scopeToSharingDataMapping) {\n return;\n }\n const shared = {};\n for (let [scope, stages] of Object.entries(initializeSharingData.scopeToSharingDataMapping)) {\n for (let stage of stages) {\n if (typeof stage === 'object' && stage !== null) {\n const { name, version, factory, eager, singleton, requiredVersion, strictVersion, } = stage;\n const shareConfig = {\n requiredVersion: `^${version}`,\n };\n const isValidValue = function (val) {\n return typeof val !== 'undefined';\n };\n if (isValidValue(singleton)) {\n shareConfig.singleton = singleton;\n }\n if (isValidValue(requiredVersion)) {\n shareConfig.requiredVersion = requiredVersion;\n }\n if (isValidValue(eager)) {\n shareConfig.eager = eager;\n }\n if (isValidValue(strictVersion)) {\n shareConfig.strictVersion = strictVersion;\n }\n const options = {\n version,\n scope: [scope],\n shareConfig,\n get: factory,\n };\n if (shared[name]) {\n shared[name].push(options);\n }\n else {\n shared[name] = [options];\n }\n }\n }\n }\n federation.instance.registerShared(shared);\n initializeSharingData._updated = 1;\n }\n}\nfunction updateRemoteOptions(options) {\n const { webpackRequire, idToExternalAndNameMapping = {}, idToRemoteMap = {}, chunkMapping = {}, } = options;\n const { remotesLoadingData } = webpackRequire;\n const remoteInfos = webpackRequire.federation?.bundlerRuntimeOptions?.remotes?.remoteInfos;\n if (!remotesLoadingData || remotesLoadingData._updated || !remoteInfos) {\n return;\n }\n const { chunkMapping: updatedChunkMapping, moduleIdToRemoteDataMapping } = remotesLoadingData;\n if (!updatedChunkMapping || !moduleIdToRemoteDataMapping) {\n return;\n }\n for (let [moduleId, data] of Object.entries(moduleIdToRemoteDataMapping)) {\n if (!idToExternalAndNameMapping[moduleId]) {\n idToExternalAndNameMapping[moduleId] = [\n data.shareScope,\n data.name,\n data.externalModuleId,\n ];\n }\n if (!idToRemoteMap[moduleId] && remoteInfos[data.remoteName]) {\n const items = remoteInfos[data.remoteName];\n idToRemoteMap[moduleId] ||= [];\n items.forEach((item) => {\n if (!idToRemoteMap[moduleId].includes(item)) {\n idToRemoteMap[moduleId].push(item);\n }\n });\n }\n }\n if (chunkMapping) {\n Object.entries(updatedChunkMapping).forEach(([id, chunkModules]) => {\n if (!chunkMapping[id]) {\n chunkMapping[id] = [];\n }\n chunkModules.forEach((moduleId) => {\n if (!chunkMapping[id].includes(moduleId)) {\n chunkMapping[id].push(moduleId);\n }\n });\n });\n }\n remotesLoadingData._updated = 1;\n}\n\nfunction remotes(options) {\n updateRemoteOptions(options);\n const { chunkId, promises, webpackRequire, chunkMapping, idToExternalAndNameMapping, idToRemoteMap, } = options;\n attachShareScopeMap(webpackRequire);\n if (webpackRequire.o(chunkMapping, chunkId)) {\n chunkMapping[chunkId].forEach((id) => {\n let getScope = webpackRequire.R;\n if (!getScope) {\n getScope = [];\n }\n const data = idToExternalAndNameMapping[id];\n const remoteInfos = idToRemoteMap[id] || [];\n // @ts-ignore seems not work\n if (getScope.indexOf(data) >= 0) {\n return;\n }\n // @ts-ignore seems not work\n getScope.push(data);\n if (data.p) {\n return promises.push(data.p);\n }\n const onError = (error) => {\n if (!error) {\n error = new Error('Container missing');\n }\n if (typeof error.message === 'string') {\n error.message += `\\nwhile loading \"${data[1]}\" from ${data[2]}`;\n }\n webpackRequire.m[id] = () => {\n throw error;\n };\n data.p = 0;\n };\n const handleFunction = (fn, arg1, arg2, d, next, first) => {\n try {\n const promise = fn(arg1, arg2);\n if (promise && promise.then) {\n const p = promise.then((result) => next(result, d), onError);\n if (first) {\n promises.push((data.p = p));\n }\n else {\n return p;\n }\n }\n else {\n return next(promise, d, first);\n }\n }\n catch (error) {\n onError(error);\n }\n };\n const onExternal = (external, _, first) => external\n ? handleFunction(webpackRequire.I, data[0], 0, external, onInitialized, first)\n : onError();\n // eslint-disable-next-line no-var\n var onInitialized = (_, external, first) => handleFunction(external.get, data[1], getScope, 0, onFactory, first);\n // eslint-disable-next-line no-var\n var onFactory = (factory) => {\n data.p = 1;\n webpackRequire.m[id] = (module) => {\n module.exports = factory();\n };\n };\n const onRemoteLoaded = () => {\n try {\n const remoteName = sdk.decodeName(remoteInfos[0].name, sdk.ENCODE_NAME_PREFIX);\n const remoteModuleName = remoteName + data[1].slice(1);\n const instance = webpackRequire.federation.instance;\n const loadRemote = () => webpackRequire.federation.instance.loadRemote(remoteModuleName, {\n loadFactory: false,\n from: 'build',\n });\n if (instance.options.shareStrategy === 'version-first') {\n return Promise.all(instance.sharedHandler.initializeSharing(data[0])).then(() => {\n return loadRemote();\n });\n }\n return loadRemote();\n }\n catch (error) {\n onError(error);\n }\n };\n const useRuntimeLoad = remoteInfos.length === 1 &&\n constant.FEDERATION_SUPPORTED_TYPES.includes(remoteInfos[0].externalType) &&\n remoteInfos[0].name;\n if (useRuntimeLoad) {\n handleFunction(onRemoteLoaded, data[2], 0, 0, onFactory, 1);\n }\n else {\n handleFunction(webpackRequire, data[2], 0, 0, onExternal, 1);\n }\n });\n }\n}\n\nfunction consumes(options) {\n updateConsumeOptions(options);\n const { chunkId, promises, installedModules, webpackRequire, chunkMapping, moduleToHandlerMapping, } = options;\n attachShareScopeMap(webpackRequire);\n if (webpackRequire.o(chunkMapping, chunkId)) {\n chunkMapping[chunkId].forEach((id) => {\n if (webpackRequire.o(installedModules, id)) {\n return promises.push(installedModules[id]);\n }\n const onFactory = (factory) => {\n installedModules[id] = 0;\n webpackRequire.m[id] = (module) => {\n delete webpackRequire.c[id];\n const result = factory();\n // Add layer property from shareConfig if available\n const { shareInfo } = moduleToHandlerMapping[id];\n if (shareInfo?.shareConfig?.layer &&\n result &&\n typeof result === 'object') {\n try {\n // Only set layer if it's not already defined or if it's undefined\n if (!result.hasOwnProperty('layer') ||\n result.layer === undefined) {\n result.layer = shareInfo.shareConfig.layer;\n }\n }\n catch (e) {\n // Ignore if layer property is read-only\n }\n }\n module.exports = result;\n };\n };\n const onError = (error) => {\n delete installedModules[id];\n webpackRequire.m[id] = (module) => {\n delete webpackRequire.c[id];\n throw error;\n };\n };\n try {\n const federationInstance = webpackRequire.federation.instance;\n if (!federationInstance) {\n throw new Error('Federation instance not found!');\n }\n const { shareKey, getter, shareInfo } = moduleToHandlerMapping[id];\n const promise = federationInstance\n .loadShare(shareKey, { customShareInfo: shareInfo })\n .then((factory) => {\n if (factory === false) {\n return getter();\n }\n return factory;\n });\n if (promise.then) {\n promises.push((installedModules[id] = promise.then(onFactory).catch(onError)));\n }\n else {\n // @ts-ignore maintain previous logic\n onFactory(promise);\n }\n }\n catch (e) {\n onError(e);\n }\n });\n }\n}\n\nfunction initializeSharing({ shareScopeName, webpackRequire, initPromises, initTokens, initScope, }) {\n const shareScopeKeys = Array.isArray(shareScopeName)\n ? shareScopeName\n : [shareScopeName];\n var initializeSharingPromises = [];\n var _initializeSharing = function (shareScopeKey) {\n if (!initScope)\n initScope = [];\n const mfInstance = webpackRequire.federation.instance;\n // handling circular init calls\n var initToken = initTokens[shareScopeKey];\n if (!initToken)\n initToken = initTokens[shareScopeKey] = { from: mfInstance.name };\n if (initScope.indexOf(initToken) >= 0)\n return;\n initScope.push(initToken);\n const promise = initPromises[shareScopeKey];\n if (promise)\n return promise;\n var warn = (msg) => typeof console !== 'undefined' && console.warn && console.warn(msg);\n var initExternal = (id) => {\n var handleError = (err) => warn('Initialization of sharing external failed: ' + err);\n try {\n var module = webpackRequire(id);\n if (!module)\n return;\n var initFn = (module) => module &&\n module.init &&\n // @ts-ignore compat legacy mf shared behavior\n module.init(webpackRequire.S[shareScopeKey], initScope, {\n shareScopeMap: webpackRequire.S || {},\n shareScopeKeys: shareScopeName,\n });\n if (module.then)\n return promises.push(module.then(initFn, handleError));\n var initResult = initFn(module);\n // @ts-ignore\n if (initResult && typeof initResult !== 'boolean' && initResult.then)\n // @ts-ignore\n return promises.push(initResult['catch'](handleError));\n }\n catch (err) {\n handleError(err);\n }\n };\n const promises = mfInstance.initializeSharing(shareScopeKey, {\n strategy: mfInstance.options.shareStrategy,\n initScope,\n from: 'build',\n });\n attachShareScopeMap(webpackRequire);\n const bundlerRuntimeRemotesOptions = webpackRequire.federation.bundlerRuntimeOptions.remotes;\n if (bundlerRuntimeRemotesOptions) {\n Object.keys(bundlerRuntimeRemotesOptions.idToRemoteMap).forEach((moduleId) => {\n const info = bundlerRuntimeRemotesOptions.idToRemoteMap[moduleId];\n const externalModuleId = bundlerRuntimeRemotesOptions.idToExternalAndNameMapping[moduleId][2];\n if (info.length > 1) {\n initExternal(externalModuleId);\n }\n else if (info.length === 1) {\n const remoteInfo = info[0];\n if (!constant.FEDERATION_SUPPORTED_TYPES.includes(remoteInfo.externalType)) {\n initExternal(externalModuleId);\n }\n }\n });\n }\n if (!promises.length) {\n return (initPromises[shareScopeKey] = true);\n }\n return (initPromises[shareScopeKey] = Promise.all(promises).then(() => (initPromises[shareScopeKey] = true)));\n };\n shareScopeKeys.forEach((key) => {\n initializeSharingPromises.push(_initializeSharing(key));\n });\n return Promise.all(initializeSharingPromises).then(() => true);\n}\n\nfunction handleInitialConsumes(options) {\n const { moduleId, moduleToHandlerMapping, webpackRequire } = options;\n const federationInstance = webpackRequire.federation.instance;\n if (!federationInstance) {\n throw new Error('Federation instance not found!');\n }\n const { shareKey, shareInfo } = moduleToHandlerMapping[moduleId];\n try {\n return federationInstance.loadShareSync(shareKey, {\n customShareInfo: shareInfo,\n });\n }\n catch (err) {\n console.error('loadShareSync failed! The function should not be called unless you set \"eager:true\". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.');\n console.error('The original error message is as follows: ');\n throw err;\n }\n}\nfunction installInitialConsumes(options) {\n const { webpackRequire } = options;\n updateConsumeOptions(options);\n const { initialConsumes, moduleToHandlerMapping, installedModules } = options;\n initialConsumes.forEach((id) => {\n webpackRequire.m[id] = (module) => {\n // Handle scenario when module is used synchronously\n installedModules[id] = 0;\n delete webpackRequire.c[id];\n const factory = handleInitialConsumes({\n moduleId: id,\n moduleToHandlerMapping,\n webpackRequire,\n });\n if (typeof factory !== 'function') {\n throw new Error(`Shared module is not available for eager consumption: ${id}`);\n }\n const result = factory();\n // Add layer property from shareConfig if available\n const { shareInfo } = moduleToHandlerMapping[id];\n if (shareInfo?.shareConfig?.layer &&\n result &&\n typeof result === 'object') {\n try {\n // Only set layer if it's not already defined or if it's undefined\n if (!result.hasOwnProperty('layer') ||\n result.layer === undefined) {\n result.layer = shareInfo.shareConfig.layer;\n }\n }\n catch (e) {\n // Ignore if layer property is read-only\n }\n }\n module.exports = result;\n };\n });\n}\n\nfunction initContainerEntry(options) {\n const { webpackRequire, shareScope, initScope, shareScopeKey, remoteEntryInitOptions, } = options;\n if (!webpackRequire.S)\n return;\n if (!webpackRequire.federation ||\n !webpackRequire.federation.instance ||\n !webpackRequire.federation.initOptions)\n return;\n const federationInstance = webpackRequire.federation.instance;\n federationInstance.initOptions({\n name: webpackRequire.federation.initOptions.name,\n remotes: [],\n ...remoteEntryInitOptions,\n });\n const hostShareScopeKeys = remoteEntryInitOptions?.shareScopeKeys;\n const hostShareScopeMap = remoteEntryInitOptions?.shareScopeMap;\n // host: 'default' remote: 'default' remote['default'] = hostShareScopeMap['default']\n // host: ['default', 'scope1'] remote: 'default' remote['default'] = hostShareScopeMap['default']; remote['scope1'] = hostShareScopeMap['scop1']\n // host: 'default' remote: ['default','scope1'] remote['default'] = hostShareScopeMap['default']; remote['scope1'] = hostShareScopeMap['scope1'] = {}\n // host: ['scope1','default'] remote: ['scope1','scope2'] => remote['scope1'] = hostShareScopeMap['scope1']; remote['scope2'] = hostShareScopeMap['scope2'] = {};\n if (!shareScopeKey || typeof shareScopeKey === 'string') {\n const key = shareScopeKey || 'default';\n if (Array.isArray(hostShareScopeKeys)) {\n // const sc = hostShareScopeMap![key];\n // if (!sc) {\n // throw new Error('shareScopeKey is not exist in hostShareScopeMap');\n // }\n // federationInstance.initShareScopeMap(key, sc, {\n // hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {},\n // });\n hostShareScopeKeys.forEach((hostKey) => {\n if (!hostShareScopeMap[hostKey]) {\n hostShareScopeMap[hostKey] = {};\n }\n const sc = hostShareScopeMap[hostKey];\n federationInstance.initShareScopeMap(hostKey, sc, {\n hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {},\n });\n });\n }\n else {\n federationInstance.initShareScopeMap(key, shareScope, {\n hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {},\n });\n }\n }\n else {\n shareScopeKey.forEach((key) => {\n if (!hostShareScopeKeys || !hostShareScopeMap) {\n federationInstance.initShareScopeMap(key, shareScope, {\n hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {},\n });\n return;\n }\n if (!hostShareScopeMap[key]) {\n hostShareScopeMap[key] = {};\n }\n const sc = hostShareScopeMap[key];\n federationInstance.initShareScopeMap(key, sc, {\n hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {},\n });\n });\n }\n if (webpackRequire.federation.attachShareScopeMap) {\n webpackRequire.federation.attachShareScopeMap(webpackRequire);\n }\n if (typeof webpackRequire.federation.prefetch === 'function') {\n webpackRequire.federation.prefetch();\n }\n if (!Array.isArray(shareScopeKey)) {\n // @ts-ignore\n return webpackRequire.I(shareScopeKey || 'default', initScope);\n }\n var proxyInitializeSharing = Boolean(webpackRequire.federation.initOptions.shared);\n if (proxyInitializeSharing) {\n // @ts-ignore\n return webpackRequire.I(shareScopeKey, initScope);\n }\n // @ts-ignore\n return Promise.all(shareScopeKey.map((key) => {\n // @ts-ignore\n return webpackRequire.I(key, initScope);\n })).then(() => true);\n}\n\nconst federation = {\n runtime: runtime__namespace,\n instance: undefined,\n initOptions: undefined,\n bundlerRuntime: {\n remotes,\n consumes,\n I: initializeSharing,\n S: {},\n installInitialConsumes,\n initContainerEntry,\n },\n attachShareScopeMap,\n bundlerRuntimeOptions: {},\n};\n\nmodule.exports = federation;\n//# sourceMappingURL=index.cjs.cjs.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5kZXguY2pzLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9kaXN0L2luZGV4LmNqcy5janM/YTY1ZiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbnZhciBydW50aW1lID0gcmVxdWlyZSgnQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUnKTtcbnZhciBjb25zdGFudCA9IHJlcXVpcmUoJy4vY29uc3RhbnQuY2pzLmNqcycpO1xudmFyIHNkayA9IHJlcXVpcmUoJ0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsnKTtcblxuZnVuY3Rpb24gX2ludGVyb3BOYW1lc3BhY2VEZWZhdWx0KGUpIHtcbiAgICB2YXIgbiA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgaWYgKGUpIHtcbiAgICAgICAgZm9yICh2YXIgayBpbiBlKSB7XG4gICAgICAgICAgICBuW2tdID0gZVtrXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuLmRlZmF1bHQgPSBlO1xuICAgIHJldHVybiBPYmplY3QuZnJlZXplKG4pO1xufVxuXG52YXIgcnVudGltZV9fbmFtZXNwYWNlID0gLyojX19QVVJFX18qL19pbnRlcm9wTmFtZXNwYWNlRGVmYXVsdChydW50aW1lKTtcblxuZnVuY3Rpb24gYXR0YWNoU2hhcmVTY29wZU1hcCh3ZWJwYWNrUmVxdWlyZSkge1xuICAgIGlmICghd2VicGFja1JlcXVpcmUuUyB8fFxuICAgICAgICB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmhhc0F0dGFjaFNoYXJlU2NvcGVNYXAgfHxcbiAgICAgICAgIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2UgfHxcbiAgICAgICAgIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2Uuc2hhcmVTY29wZU1hcCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHdlYnBhY2tSZXF1aXJlLlMgPSB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmluc3RhbmNlLnNoYXJlU2NvcGVNYXA7XG4gICAgd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5oYXNBdHRhY2hTaGFyZVNjb3BlTWFwID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gdXBkYXRlQ29uc3VtZU9wdGlvbnMob3B0aW9ucykge1xuICAgIGNvbnN0IHsgd2VicGFja1JlcXVpcmUsIG1vZHVsZVRvSGFuZGxlck1hcHBpbmcgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgeyBjb25zdW1lc0xvYWRpbmdEYXRhLCBpbml0aWFsaXplU2hhcmluZ0RhdGEgfSA9IHdlYnBhY2tSZXF1aXJlO1xuICAgIGlmIChjb25zdW1lc0xvYWRpbmdEYXRhICYmICFjb25zdW1lc0xvYWRpbmdEYXRhLl91cGRhdGVkKSB7XG4gICAgICAgIGNvbnN0IHsgbW9kdWxlSWRUb0NvbnN1bWVEYXRhTWFwcGluZzogdXBkYXRlZE1vZHVsZUlkVG9Db25zdW1lRGF0YU1hcHBpbmcgPSB7fSwgaW5pdGlhbENvbnN1bWVzOiB1cGRhdGVkSW5pdGlhbENvbnN1bWVzID0gW10sIGNodW5rTWFwcGluZzogdXBkYXRlZENodW5rTWFwcGluZyA9IHt9LCB9ID0gY29uc3VtZXNMb2FkaW5nRGF0YTtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModXBkYXRlZE1vZHVsZUlkVG9Db25zdW1lRGF0YU1hcHBpbmcpLmZvckVhY2goKFtpZCwgZGF0YV0pID0+IHtcbiAgICAgICAgICAgIGlmICghbW9kdWxlVG9IYW5kbGVyTWFwcGluZ1tpZF0pIHtcbiAgICAgICAgICAgICAgICBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nW2lkXSA9IHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0dGVyOiBkYXRhLmZhbGxiYWNrLFxuICAgICAgICAgICAgICAgICAgICBzaGFyZUluZm86IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlQ29uZmlnOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRWZXJzaW9uOiBkYXRhLnJlcXVpcmVkVmVyc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpY3RWZXJzaW9uOiBkYXRhLnN0cmljdFZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xldG9uOiBkYXRhLnNpbmdsZXRvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYWdlcjogZGF0YS5lYWdlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXllcjogZGF0YS5sYXllcixcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzY29wZTogQXJyYXkuaXNBcnJheShkYXRhLnNoYXJlU2NvcGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBkYXRhLnNoYXJlU2NvcGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFtkYXRhLnNoYXJlU2NvcGUgfHwgJ2RlZmF1bHQnXSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgc2hhcmVLZXk6IGRhdGEuc2hhcmVLZXksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmICgnaW5pdGlhbENvbnN1bWVzJyBpbiBvcHRpb25zKSB7XG4gICAgICAgICAgICBjb25zdCB7IGluaXRpYWxDb25zdW1lcyA9IFtdIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgdXBkYXRlZEluaXRpYWxDb25zdW1lcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghaW5pdGlhbENvbnN1bWVzLmluY2x1ZGVzKGlkKSkge1xuICAgICAgICAgICAgICAgICAgICBpbml0aWFsQ29uc3VtZXMucHVzaChpZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCdjaHVua01hcHBpbmcnIGluIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY2h1bmtNYXBwaW5nID0ge30gfSA9IG9wdGlvbnM7XG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyh1cGRhdGVkQ2h1bmtNYXBwaW5nKS5mb3JFYWNoKChbaWQsIGNodW5rTW9kdWxlc10pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNodW5rTWFwcGluZ1tpZF0pIHtcbiAgICAgICAgICAgICAgICAgICAgY2h1bmtNYXBwaW5nW2lkXSA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjaHVua01vZHVsZXMuZm9yRWFjaCgobW9kdWxlSWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjaHVua01hcHBpbmdbaWRdLmluY2x1ZGVzKG1vZHVsZUlkKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2h1bmtNYXBwaW5nW2lkXS5wdXNoKG1vZHVsZUlkKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3VtZXNMb2FkaW5nRGF0YS5fdXBkYXRlZCA9IDE7XG4gICAgfVxuICAgIGlmIChpbml0aWFsaXplU2hhcmluZ0RhdGEgJiYgIWluaXRpYWxpemVTaGFyaW5nRGF0YS5fdXBkYXRlZCkge1xuICAgICAgICBjb25zdCB7IGZlZGVyYXRpb24gfSA9IHdlYnBhY2tSZXF1aXJlO1xuICAgICAgICBpZiAoIWZlZGVyYXRpb24uaW5zdGFuY2UgfHxcbiAgICAgICAgICAgICFpbml0aWFsaXplU2hhcmluZ0RhdGEuc2NvcGVUb1NoYXJpbmdEYXRhTWFwcGluZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNoYXJlZCA9IHt9O1xuICAgICAgICBmb3IgKGxldCBbc2NvcGUsIHN0YWdlc10gb2YgT2JqZWN0LmVudHJpZXMoaW5pdGlhbGl6ZVNoYXJpbmdEYXRhLnNjb3BlVG9TaGFyaW5nRGF0YU1hcHBpbmcpKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBzdGFnZSBvZiBzdGFnZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHN0YWdlID09PSAnb2JqZWN0JyAmJiBzdGFnZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IG5hbWUsIHZlcnNpb24sIGZhY3RvcnksIGVhZ2VyLCBzaW5nbGV0b24sIHJlcXVpcmVkVmVyc2lvbiwgc3RyaWN0VmVyc2lvbiwgfSA9IHN0YWdlO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaGFyZUNvbmZpZyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkVmVyc2lvbjogYF4ke3ZlcnNpb259YCxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZFZhbHVlID0gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVvZiB2YWwgIT09ICd1bmRlZmluZWQnO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZFZhbHVlKHNpbmdsZXRvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlQ29uZmlnLnNpbmdsZXRvbiA9IHNpbmdsZXRvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZFZhbHVlKHJlcXVpcmVkVmVyc2lvbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlQ29uZmlnLnJlcXVpcmVkVmVyc2lvbiA9IHJlcXVpcmVkVmVyc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZFZhbHVlKGVhZ2VyKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVDb25maWcuZWFnZXIgPSBlYWdlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoaXNWYWxpZFZhbHVlKHN0cmljdFZlcnNpb24pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzaGFyZUNvbmZpZy5zdHJpY3RWZXJzaW9uID0gc3RyaWN0VmVyc2lvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHNjb3BlOiBbc2NvcGVdLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVDb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICBnZXQ6IGZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGlmIChzaGFyZWRbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZFtuYW1lXS5wdXNoKG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkW25hbWVdID0gW29wdGlvbnNdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZlZGVyYXRpb24uaW5zdGFuY2UucmVnaXN0ZXJTaGFyZWQoc2hhcmVkKTtcbiAgICAgICAgaW5pdGlhbGl6ZVNoYXJpbmdEYXRhLl91cGRhdGVkID0gMTtcbiAgICB9XG59XG5mdW5jdGlvbiB1cGRhdGVSZW1vdGVPcHRpb25zKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHdlYnBhY2tSZXF1aXJlLCBpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZyA9IHt9LCBpZFRvUmVtb3RlTWFwID0ge30sIGNodW5rTWFwcGluZyA9IHt9LCB9ID0gb3B0aW9ucztcbiAgICBjb25zdCB7IHJlbW90ZXNMb2FkaW5nRGF0YSB9ID0gd2VicGFja1JlcXVpcmU7XG4gICAgY29uc3QgcmVtb3RlSW5mb3MgPSB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uPy5idW5kbGVyUnVudGltZU9wdGlvbnM/LnJlbW90ZXM/LnJlbW90ZUluZm9zO1xuICAgIGlmICghcmVtb3Rlc0xvYWRpbmdEYXRhIHx8IHJlbW90ZXNMb2FkaW5nRGF0YS5fdXBkYXRlZCB8fCAhcmVtb3RlSW5mb3MpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IGNodW5rTWFwcGluZzogdXBkYXRlZENodW5rTWFwcGluZywgbW9kdWxlSWRUb1JlbW90ZURhdGFNYXBwaW5nIH0gPSByZW1vdGVzTG9hZGluZ0RhdGE7XG4gICAgaWYgKCF1cGRhdGVkQ2h1bmtNYXBwaW5nIHx8ICFtb2R1bGVJZFRvUmVtb3RlRGF0YU1hcHBpbmcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGxldCBbbW9kdWxlSWQsIGRhdGFdIG9mIE9iamVjdC5lbnRyaWVzKG1vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykpIHtcbiAgICAgICAgaWYgKCFpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ1ttb2R1bGVJZF0pIHtcbiAgICAgICAgICAgIGlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nW21vZHVsZUlkXSA9IFtcbiAgICAgICAgICAgICAgICBkYXRhLnNoYXJlU2NvcGUsXG4gICAgICAgICAgICAgICAgZGF0YS5uYW1lLFxuICAgICAgICAgICAgICAgIGRhdGEuZXh0ZXJuYWxNb2R1bGVJZCxcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpZFRvUmVtb3RlTWFwW21vZHVsZUlkXSAmJiByZW1vdGVJbmZvc1tkYXRhLnJlbW90ZU5hbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IHJlbW90ZUluZm9zW2RhdGEucmVtb3RlTmFtZV07XG4gICAgICAgICAgICBpZFRvUmVtb3RlTWFwW21vZHVsZUlkXSB8fD0gW107XG4gICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFpZFRvUmVtb3RlTWFwW21vZHVsZUlkXS5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgICAgICAgICAgICBpZFRvUmVtb3RlTWFwW21vZHVsZUlkXS5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjaHVua01hcHBpbmcpIHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXModXBkYXRlZENodW5rTWFwcGluZykuZm9yRWFjaCgoW2lkLCBjaHVua01vZHVsZXNdKSA9PiB7XG4gICAgICAgICAgICBpZiAoIWNodW5rTWFwcGluZ1tpZF0pIHtcbiAgICAgICAgICAgICAgICBjaHVua01hcHBpbmdbaWRdID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjaHVua01vZHVsZXMuZm9yRWFjaCgobW9kdWxlSWQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWNodW5rTWFwcGluZ1tpZF0uaW5jbHVkZXMobW9kdWxlSWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNodW5rTWFwcGluZ1tpZF0ucHVzaChtb2R1bGVJZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZW1vdGVzTG9hZGluZ0RhdGEuX3VwZGF0ZWQgPSAxO1xufVxuXG5mdW5jdGlvbiByZW1vdGVzKG9wdGlvbnMpIHtcbiAgICB1cGRhdGVSZW1vdGVPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHsgY2h1bmtJZCwgcHJvbWlzZXMsIHdlYnBhY2tSZXF1aXJlLCBjaHVua01hcHBpbmcsIGlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nLCBpZFRvUmVtb3RlTWFwLCB9ID0gb3B0aW9ucztcbiAgICBhdHRhY2hTaGFyZVNjb3BlTWFwKHdlYnBhY2tSZXF1aXJlKTtcbiAgICBpZiAod2VicGFja1JlcXVpcmUubyhjaHVua01hcHBpbmcsIGNodW5rSWQpKSB7XG4gICAgICAgIGNodW5rTWFwcGluZ1tjaHVua0lkXS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgICAgbGV0IGdldFNjb3BlID0gd2VicGFja1JlcXVpcmUuUjtcbiAgICAgICAgICAgIGlmICghZ2V0U2NvcGUpIHtcbiAgICAgICAgICAgICAgICBnZXRTY29wZSA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nW2lkXTtcbiAgICAgICAgICAgIGNvbnN0IHJlbW90ZUluZm9zID0gaWRUb1JlbW90ZU1hcFtpZF0gfHwgW107XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlIHNlZW1zIG5vdCB3b3JrXG4gICAgICAgICAgICBpZiAoZ2V0U2NvcGUuaW5kZXhPZihkYXRhKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBzZWVtcyBub3Qgd29ya1xuICAgICAgICAgICAgZ2V0U2NvcGUucHVzaChkYXRhKTtcbiAgICAgICAgICAgIGlmIChkYXRhLnApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZXMucHVzaChkYXRhLnApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgb25FcnJvciA9IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBuZXcgRXJyb3IoJ0NvbnRhaW5lciBtaXNzaW5nJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSArPSBgXFxud2hpbGUgbG9hZGluZyBcIiR7ZGF0YVsxXX1cIiBmcm9tICR7ZGF0YVsyXX1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB3ZWJwYWNrUmVxdWlyZS5tW2lkXSA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBkYXRhLnAgPSAwO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IGhhbmRsZUZ1bmN0aW9uID0gKGZuLCBhcmcxLCBhcmcyLCBkLCBuZXh0LCBmaXJzdCkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb21pc2UgPSBmbihhcmcxLCBhcmcyKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb21pc2UgJiYgcHJvbWlzZS50aGVuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwID0gcHJvbWlzZS50aGVuKChyZXN1bHQpID0+IG5leHQocmVzdWx0LCBkKSwgb25FcnJvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9taXNlcy5wdXNoKChkYXRhLnAgPSBwKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXh0KHByb21pc2UsIGQsIGZpcnN0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNvbnN0IG9uRXh0ZXJuYWwgPSAoZXh0ZXJuYWwsIF8sIGZpcnN0KSA9PiBleHRlcm5hbFxuICAgICAgICAgICAgICAgID8gaGFuZGxlRnVuY3Rpb24od2VicGFja1JlcXVpcmUuSSwgZGF0YVswXSwgMCwgZXh0ZXJuYWwsIG9uSW5pdGlhbGl6ZWQsIGZpcnN0KVxuICAgICAgICAgICAgICAgIDogb25FcnJvcigpO1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZhclxuICAgICAgICAgICAgdmFyIG9uSW5pdGlhbGl6ZWQgPSAoXywgZXh0ZXJuYWwsIGZpcnN0KSA9PiBoYW5kbGVGdW5jdGlvbihleHRlcm5hbC5nZXQsIGRhdGFbMV0sIGdldFNjb3BlLCAwLCBvbkZhY3RvcnksIGZpcnN0KTtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcbiAgICAgICAgICAgIHZhciBvbkZhY3RvcnkgPSAoZmFjdG9yeSkgPT4ge1xuICAgICAgICAgICAgICAgIGRhdGEucCA9IDE7XG4gICAgICAgICAgICAgICAgd2VicGFja1JlcXVpcmUubVtpZF0gPSAobW9kdWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgb25SZW1vdGVMb2FkZWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlTmFtZSA9IHNkay5kZWNvZGVOYW1lKHJlbW90ZUluZm9zWzBdLm5hbWUsIHNkay5FTkNPREVfTkFNRV9QUkVGSVgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZW1vdGVNb2R1bGVOYW1lID0gcmVtb3RlTmFtZSArIGRhdGFbMV0uc2xpY2UoMSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbG9hZFJlbW90ZSA9ICgpID0+IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2UubG9hZFJlbW90ZShyZW1vdGVNb2R1bGVOYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsb2FkRmFjdG9yeTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tOiAnYnVpbGQnLFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGluc3RhbmNlLm9wdGlvbnMuc2hhcmVTdHJhdGVneSA9PT0gJ3ZlcnNpb24tZmlyc3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoaW5zdGFuY2Uuc2hhcmVkSGFuZGxlci5pbml0aWFsaXplU2hhcmluZyhkYXRhWzBdKSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxvYWRSZW1vdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBsb2FkUmVtb3RlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGVycm9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgdXNlUnVudGltZUxvYWQgPSByZW1vdGVJbmZvcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgICAgICBjb25zdGFudC5GRURFUkFUSU9OX1NVUFBPUlRFRF9UWVBFUy5pbmNsdWRlcyhyZW1vdGVJbmZvc1swXS5leHRlcm5hbFR5cGUpICYmXG4gICAgICAgICAgICAgICAgcmVtb3RlSW5mb3NbMF0ubmFtZTtcbiAgICAgICAgICAgIGlmICh1c2VSdW50aW1lTG9hZCkge1xuICAgICAgICAgICAgICAgIGhhbmRsZUZ1bmN0aW9uKG9uUmVtb3RlTG9hZGVkLCBkYXRhWzJdLCAwLCAwLCBvbkZhY3RvcnksIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlRnVuY3Rpb24od2VicGFja1JlcXVpcmUsIGRhdGFbMl0sIDAsIDAsIG9uRXh0ZXJuYWwsIDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGNvbnN1bWVzKG9wdGlvbnMpIHtcbiAgICB1cGRhdGVDb25zdW1lT3B0aW9ucyhvcHRpb25zKTtcbiAgICBjb25zdCB7IGNodW5rSWQsIHByb21pc2VzLCBpbnN0YWxsZWRNb2R1bGVzLCB3ZWJwYWNrUmVxdWlyZSwgY2h1bmtNYXBwaW5nLCBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nLCB9ID0gb3B0aW9ucztcbiAgICBhdHRhY2hTaGFyZVNjb3BlTWFwKHdlYnBhY2tSZXF1aXJlKTtcbiAgICBpZiAod2VicGFja1JlcXVpcmUubyhjaHVua01hcHBpbmcsIGNodW5rSWQpKSB7XG4gICAgICAgIGNodW5rTWFwcGluZ1tjaHVua0lkXS5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICAgICAgaWYgKHdlYnBhY2tSZXF1aXJlLm8oaW5zdGFsbGVkTW9kdWxlcywgaWQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VzLnB1c2goaW5zdGFsbGVkTW9kdWxlc1tpZF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgb25GYWN0b3J5ID0gKGZhY3RvcnkpID0+IHtcbiAgICAgICAgICAgICAgICBpbnN0YWxsZWRNb2R1bGVzW2lkXSA9IDA7XG4gICAgICAgICAgICAgICAgd2VicGFja1JlcXVpcmUubVtpZF0gPSAobW9kdWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB3ZWJwYWNrUmVxdWlyZS5jW2lkXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gZmFjdG9yeSgpO1xuICAgICAgICAgICAgICAgICAgICAvLyBBZGQgbGF5ZXIgcHJvcGVydHkgZnJvbSBzaGFyZUNvbmZpZyBpZiBhdmFpbGFibGVcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBzaGFyZUluZm8gfSA9IG1vZHVsZVRvSGFuZGxlck1hcHBpbmdbaWRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2hhcmVJbmZvPy5zaGFyZUNvbmZpZz8ubGF5ZXIgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT25seSBzZXQgbGF5ZXIgaWYgaXQncyBub3QgYWxyZWFkeSBkZWZpbmVkIG9yIGlmIGl0J3MgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyZXN1bHQuaGFzT3duUHJvcGVydHkoJ2xheWVyJykgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmxheWVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmxheWVyID0gc2hhcmVJbmZvLnNoYXJlQ29uZmlnLmxheWVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWdub3JlIGlmIGxheWVyIHByb3BlcnR5IGlzIHJlYWQtb25seVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3Qgb25FcnJvciA9IChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBpbnN0YWxsZWRNb2R1bGVzW2lkXTtcbiAgICAgICAgICAgICAgICB3ZWJwYWNrUmVxdWlyZS5tW2lkXSA9IChtb2R1bGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHdlYnBhY2tSZXF1aXJlLmNbaWRdO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmVkZXJhdGlvbkluc3RhbmNlID0gd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZTtcbiAgICAgICAgICAgICAgICBpZiAoIWZlZGVyYXRpb25JbnN0YW5jZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZGVyYXRpb24gaW5zdGFuY2Ugbm90IGZvdW5kIScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB7IHNoYXJlS2V5LCBnZXR0ZXIsIHNoYXJlSW5mbyB9ID0gbW9kdWxlVG9IYW5kbGVyTWFwcGluZ1tpZF07XG4gICAgICAgICAgICAgICAgY29uc3QgcHJvbWlzZSA9IGZlZGVyYXRpb25JbnN0YW5jZVxuICAgICAgICAgICAgICAgICAgICAubG9hZFNoYXJlKHNoYXJlS2V5LCB7IGN1c3RvbVNoYXJlSW5mbzogc2hhcmVJbmZvIH0pXG4gICAgICAgICAgICAgICAgICAgIC50aGVuKChmYWN0b3J5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmYWN0b3J5ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdldHRlcigpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWN0b3J5O1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChwcm9taXNlLnRoZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaCgoaW5zdGFsbGVkTW9kdWxlc1tpZF0gPSBwcm9taXNlLnRoZW4ob25GYWN0b3J5KS5jYXRjaChvbkVycm9yKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBtYWludGFpbiBwcmV2aW91cyBsb2dpY1xuICAgICAgICAgICAgICAgICAgICBvbkZhY3RvcnkocHJvbWlzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGluaXRpYWxpemVTaGFyaW5nKHsgc2hhcmVTY29wZU5hbWUsIHdlYnBhY2tSZXF1aXJlLCBpbml0UHJvbWlzZXMsIGluaXRUb2tlbnMsIGluaXRTY29wZSwgfSkge1xuICAgIGNvbnN0IHNoYXJlU2NvcGVLZXlzID0gQXJyYXkuaXNBcnJheShzaGFyZVNjb3BlTmFtZSlcbiAgICAgICAgPyBzaGFyZVNjb3BlTmFtZVxuICAgICAgICA6IFtzaGFyZVNjb3BlTmFtZV07XG4gICAgdmFyIGluaXRpYWxpemVTaGFyaW5nUHJvbWlzZXMgPSBbXTtcbiAgICB2YXIgX2luaXRpYWxpemVTaGFyaW5nID0gZnVuY3Rpb24gKHNoYXJlU2NvcGVLZXkpIHtcbiAgICAgICAgaWYgKCFpbml0U2NvcGUpXG4gICAgICAgICAgICBpbml0U2NvcGUgPSBbXTtcbiAgICAgICAgY29uc3QgbWZJbnN0YW5jZSA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2U7XG4gICAgICAgIC8vIGhhbmRsaW5nIGNpcmN1bGFyIGluaXQgY2FsbHNcbiAgICAgICAgdmFyIGluaXRUb2tlbiA9IGluaXRUb2tlbnNbc2hhcmVTY29wZUtleV07XG4gICAgICAgIGlmICghaW5pdFRva2VuKVxuICAgICAgICAgICAgaW5pdFRva2VuID0gaW5pdFRva2Vuc1tzaGFyZVNjb3BlS2V5XSA9IHsgZnJvbTogbWZJbnN0YW5jZS5uYW1lIH07XG4gICAgICAgIGlmIChpbml0U2NvcGUuaW5kZXhPZihpbml0VG9rZW4pID49IDApXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIGluaXRTY29wZS5wdXNoKGluaXRUb2tlbik7XG4gICAgICAgIGNvbnN0IHByb21pc2UgPSBpbml0UHJvbWlzZXNbc2hhcmVTY29wZUtleV07XG4gICAgICAgIGlmIChwcm9taXNlKVxuICAgICAgICAgICAgcmV0dXJuIHByb21pc2U7XG4gICAgICAgIHZhciB3YXJuID0gKG1zZykgPT4gdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnICYmIGNvbnNvbGUud2FybiAmJiBjb25zb2xlLndhcm4obXNnKTtcbiAgICAgICAgdmFyIGluaXRFeHRlcm5hbCA9IChpZCkgPT4ge1xuICAgICAgICAgICAgdmFyIGhhbmRsZUVycm9yID0gKGVycikgPT4gd2FybignSW5pdGlhbGl6YXRpb24gb2Ygc2hhcmluZyBleHRlcm5hbCBmYWlsZWQ6ICcgKyBlcnIpO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB2YXIgbW9kdWxlID0gd2VicGFja1JlcXVpcmUoaWQpO1xuICAgICAgICAgICAgICAgIGlmICghbW9kdWxlKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgdmFyIGluaXRGbiA9IChtb2R1bGUpID0+IG1vZHVsZSAmJlxuICAgICAgICAgICAgICAgICAgICBtb2R1bGUuaW5pdCAmJlxuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlIGNvbXBhdCBsZWdhY3kgbWYgc2hhcmVkIGJlaGF2aW9yXG4gICAgICAgICAgICAgICAgICAgIG1vZHVsZS5pbml0KHdlYnBhY2tSZXF1aXJlLlNbc2hhcmVTY29wZUtleV0sIGluaXRTY29wZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVTY29wZU1hcDogd2VicGFja1JlcXVpcmUuUyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlU2NvcGVLZXlzOiBzaGFyZVNjb3BlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKG1vZHVsZS50aGVuKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZXMucHVzaChtb2R1bGUudGhlbihpbml0Rm4sIGhhbmRsZUVycm9yKSk7XG4gICAgICAgICAgICAgICAgdmFyIGluaXRSZXN1bHQgPSBpbml0Rm4obW9kdWxlKTtcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICAgICAgaWYgKGluaXRSZXN1bHQgJiYgdHlwZW9mIGluaXRSZXN1bHQgIT09ICdib29sZWFuJyAmJiBpbml0UmVzdWx0LnRoZW4pXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByb21pc2VzLnB1c2goaW5pdFJlc3VsdFsnY2F0Y2gnXShoYW5kbGVFcnJvcikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgIGhhbmRsZUVycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHByb21pc2VzID0gbWZJbnN0YW5jZS5pbml0aWFsaXplU2hhcmluZyhzaGFyZVNjb3BlS2V5LCB7XG4gICAgICAgICAgICBzdHJhdGVneTogbWZJbnN0YW5jZS5vcHRpb25zLnNoYXJlU3RyYXRlZ3ksXG4gICAgICAgICAgICBpbml0U2NvcGUsXG4gICAgICAgICAgICBmcm9tOiAnYnVpbGQnLFxuICAgICAgICB9KTtcbiAgICAgICAgYXR0YWNoU2hhcmVTY29wZU1hcCh3ZWJwYWNrUmVxdWlyZSk7XG4gICAgICAgIGNvbnN0IGJ1bmRsZXJSdW50aW1lUmVtb3Rlc09wdGlvbnMgPSB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmJ1bmRsZXJSdW50aW1lT3B0aW9ucy5yZW1vdGVzO1xuICAgICAgICBpZiAoYnVuZGxlclJ1bnRpbWVSZW1vdGVzT3B0aW9ucykge1xuICAgICAgICAgICAgT2JqZWN0LmtleXMoYnVuZGxlclJ1bnRpbWVSZW1vdGVzT3B0aW9ucy5pZFRvUmVtb3RlTWFwKS5mb3JFYWNoKChtb2R1bGVJZCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGluZm8gPSBidW5kbGVyUnVudGltZVJlbW90ZXNPcHRpb25zLmlkVG9SZW1vdGVNYXBbbW9kdWxlSWRdO1xuICAgICAgICAgICAgICAgIGNvbnN0IGV4dGVybmFsTW9kdWxlSWQgPSBidW5kbGVyUnVudGltZVJlbW90ZXNPcHRpb25zLmlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nW21vZHVsZUlkXVsyXTtcbiAgICAgICAgICAgICAgICBpZiAoaW5mby5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGluaXRFeHRlcm5hbChleHRlcm5hbE1vZHVsZUlkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoaW5mby5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlSW5mbyA9IGluZm9bMF07XG4gICAgICAgICAgICAgICAgICAgIGlmICghY29uc3RhbnQuRkVERVJBVElPTl9TVVBQT1JURURfVFlQRVMuaW5jbHVkZXMocmVtb3RlSW5mby5leHRlcm5hbFR5cGUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0RXh0ZXJuYWwoZXh0ZXJuYWxNb2R1bGVJZCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXByb21pc2VzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIChpbml0UHJvbWlzZXNbc2hhcmVTY29wZUtleV0gPSB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGluaXRQcm9taXNlc1tzaGFyZVNjb3BlS2V5XSA9IFByb21pc2UuYWxsKHByb21pc2VzKS50aGVuKCgpID0+IChpbml0UHJvbWlzZXNbc2hhcmVTY29wZUtleV0gPSB0cnVlKSkpO1xuICAgIH07XG4gICAgc2hhcmVTY29wZUtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGluaXRpYWxpemVTaGFyaW5nUHJvbWlzZXMucHVzaChfaW5pdGlhbGl6ZVNoYXJpbmcoa2V5KSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKGluaXRpYWxpemVTaGFyaW5nUHJvbWlzZXMpLnRoZW4oKCkgPT4gdHJ1ZSk7XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUluaXRpYWxDb25zdW1lcyhvcHRpb25zKSB7XG4gICAgY29uc3QgeyBtb2R1bGVJZCwgbW9kdWxlVG9IYW5kbGVyTWFwcGluZywgd2VicGFja1JlcXVpcmUgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZmVkZXJhdGlvbkluc3RhbmNlID0gd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZTtcbiAgICBpZiAoIWZlZGVyYXRpb25JbnN0YW5jZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZlZGVyYXRpb24gaW5zdGFuY2Ugbm90IGZvdW5kIScpO1xuICAgIH1cbiAgICBjb25zdCB7IHNoYXJlS2V5LCBzaGFyZUluZm8gfSA9IG1vZHVsZVRvSGFuZGxlck1hcHBpbmdbbW9kdWxlSWRdO1xuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBmZWRlcmF0aW9uSW5zdGFuY2UubG9hZFNoYXJlU3luYyhzaGFyZUtleSwge1xuICAgICAgICAgICAgY3VzdG9tU2hhcmVJbmZvOiBzaGFyZUluZm8sXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xvYWRTaGFyZVN5bmMgZmFpbGVkISBUaGUgZnVuY3Rpb24gc2hvdWxkIG5vdCBiZSBjYWxsZWQgdW5sZXNzIHlvdSBzZXQgXCJlYWdlcjp0cnVlXCIuIElmIHlvdSBkbyBub3Qgc2V0IGl0LCBhbmQgZW5jb3VudGVyIHRoaXMgaXNzdWUsIHlvdSBjYW4gY2hlY2sgd2hldGhlciBhbiBhc3luYyBib3VuZGFyeSBpcyBpbXBsZW1lbnRlZC4nKTtcbiAgICAgICAgY29uc29sZS5lcnJvcignVGhlIG9yaWdpbmFsIGVycm9yIG1lc3NhZ2UgaXMgYXMgZm9sbG93czogJyk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG59XG5mdW5jdGlvbiBpbnN0YWxsSW5pdGlhbENvbnN1bWVzKG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHdlYnBhY2tSZXF1aXJlIH0gPSBvcHRpb25zO1xuICAgIHVwZGF0ZUNvbnN1bWVPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHsgaW5pdGlhbENvbnN1bWVzLCBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nLCBpbnN0YWxsZWRNb2R1bGVzIH0gPSBvcHRpb25zO1xuICAgIGluaXRpYWxDb25zdW1lcy5mb3JFYWNoKChpZCkgPT4ge1xuICAgICAgICB3ZWJwYWNrUmVxdWlyZS5tW2lkXSA9IChtb2R1bGUpID0+IHtcbiAgICAgICAgICAgIC8vIEhhbmRsZSBzY2VuYXJpbyB3aGVuIG1vZHVsZSBpcyB1c2VkIHN5bmNocm9ub3VzbHlcbiAgICAgICAgICAgIGluc3RhbGxlZE1vZHVsZXNbaWRdID0gMDtcbiAgICAgICAgICAgIGRlbGV0ZSB3ZWJwYWNrUmVxdWlyZS5jW2lkXTtcbiAgICAgICAgICAgIGNvbnN0IGZhY3RvcnkgPSBoYW5kbGVJbml0aWFsQ29uc3VtZXMoe1xuICAgICAgICAgICAgICAgIG1vZHVsZUlkOiBpZCxcbiAgICAgICAgICAgICAgICBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nLFxuICAgICAgICAgICAgICAgIHdlYnBhY2tSZXF1aXJlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGZhY3RvcnkgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNoYXJlZCBtb2R1bGUgaXMgbm90IGF2YWlsYWJsZSBmb3IgZWFnZXIgY29uc3VtcHRpb246ICR7aWR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBmYWN0b3J5KCk7XG4gICAgICAgICAgICAvLyBBZGQgbGF5ZXIgcHJvcGVydHkgZnJvbSBzaGFyZUNvbmZpZyBpZiBhdmFpbGFibGVcbiAgICAgICAgICAgIGNvbnN0IHsgc2hhcmVJbmZvIH0gPSBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nW2lkXTtcbiAgICAgICAgICAgIGlmIChzaGFyZUluZm8/LnNoYXJlQ29uZmlnPy5sYXllciAmJlxuICAgICAgICAgICAgICAgIHJlc3VsdCAmJlxuICAgICAgICAgICAgICAgIHR5cGVvZiByZXN1bHQgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gT25seSBzZXQgbGF5ZXIgaWYgaXQncyBub3QgYWxyZWFkeSBkZWZpbmVkIG9yIGlmIGl0J3MgdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0Lmhhc093blByb3BlcnR5KCdsYXllcicpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQubGF5ZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmxheWVyID0gc2hhcmVJbmZvLnNoYXJlQ29uZmlnLmxheWVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElnbm9yZSBpZiBsYXllciBwcm9wZXJ0eSBpcyByZWFkLW9ubHlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlc3VsdDtcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuZnVuY3Rpb24gaW5pdENvbnRhaW5lckVudHJ5KG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHdlYnBhY2tSZXF1aXJlLCBzaGFyZVNjb3BlLCBpbml0U2NvcGUsIHNoYXJlU2NvcGVLZXksIHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMsIH0gPSBvcHRpb25zO1xuICAgIGlmICghd2VicGFja1JlcXVpcmUuUylcbiAgICAgICAgcmV0dXJuO1xuICAgIGlmICghd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbiB8fFxuICAgICAgICAhd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZSB8fFxuICAgICAgICAhd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbml0T3B0aW9ucylcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGZlZGVyYXRpb25JbnN0YW5jZSA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2U7XG4gICAgZmVkZXJhdGlvbkluc3RhbmNlLmluaXRPcHRpb25zKHtcbiAgICAgICAgbmFtZTogd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbml0T3B0aW9ucy5uYW1lLFxuICAgICAgICByZW1vdGVzOiBbXSxcbiAgICAgICAgLi4ucmVtb3RlRW50cnlJbml0T3B0aW9ucyxcbiAgICB9KTtcbiAgICBjb25zdCBob3N0U2hhcmVTY29wZUtleXMgPSByZW1vdGVFbnRyeUluaXRPcHRpb25zPy5zaGFyZVNjb3BlS2V5cztcbiAgICBjb25zdCBob3N0U2hhcmVTY29wZU1hcCA9IHJlbW90ZUVudHJ5SW5pdE9wdGlvbnM/LnNoYXJlU2NvcGVNYXA7XG4gICAgLy8gaG9zdDogJ2RlZmF1bHQnIHJlbW90ZTogJ2RlZmF1bHQnICByZW1vdGVbJ2RlZmF1bHQnXSA9IGhvc3RTaGFyZVNjb3BlTWFwWydkZWZhdWx0J11cbiAgICAvLyBob3N0OiBbJ2RlZmF1bHQnLCAnc2NvcGUxJ10gcmVtb3RlOiAnZGVmYXVsdCcgIHJlbW90ZVsnZGVmYXVsdCddID0gaG9zdFNoYXJlU2NvcGVNYXBbJ2RlZmF1bHQnXTsgcmVtb3RlWydzY29wZTEnXSA9IGhvc3RTaGFyZVNjb3BlTWFwWydzY29wMSddXG4gICAgLy8gaG9zdDogJ2RlZmF1bHQnIHJlbW90ZTogWydkZWZhdWx0Jywnc2NvcGUxJ10gIHJlbW90ZVsnZGVmYXVsdCddID0gaG9zdFNoYXJlU2NvcGVNYXBbJ2RlZmF1bHQnXTsgcmVtb3RlWydzY29wZTEnXSA9IGhvc3RTaGFyZVNjb3BlTWFwWydzY29wZTEnXSA9IHt9XG4gICAgLy8gaG9zdDogWydzY29wZTEnLCdkZWZhdWx0J10gcmVtb3RlOiBbJ3Njb3BlMScsJ3Njb3BlMiddID0+IHJlbW90ZVsnc2NvcGUxJ10gPSBob3N0U2hhcmVTY29wZU1hcFsnc2NvcGUxJ107IHJlbW90ZVsnc2NvcGUyJ10gPSBob3N0U2hhcmVTY29wZU1hcFsnc2NvcGUyJ10gPSB7fTtcbiAgICBpZiAoIXNoYXJlU2NvcGVLZXkgfHwgdHlwZW9mIHNoYXJlU2NvcGVLZXkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbnN0IGtleSA9IHNoYXJlU2NvcGVLZXkgfHwgJ2RlZmF1bHQnO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShob3N0U2hhcmVTY29wZUtleXMpKSB7XG4gICAgICAgICAgICAvLyBjb25zdCBzYyA9IGhvc3RTaGFyZVNjb3BlTWFwIVtrZXldO1xuICAgICAgICAgICAgLy8gaWYgKCFzYykge1xuICAgICAgICAgICAgLy8gICB0aHJvdyBuZXcgRXJyb3IoJ3NoYXJlU2NvcGVLZXkgaXMgbm90IGV4aXN0IGluIGhvc3RTaGFyZVNjb3BlTWFwJyk7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAvLyBmZWRlcmF0aW9uSW5zdGFuY2UuaW5pdFNoYXJlU2NvcGVNYXAoa2V5LCBzYywge1xuICAgICAgICAgICAgLy8gICBob3N0U2hhcmVTY29wZU1hcDogcmVtb3RlRW50cnlJbml0T3B0aW9ucz8uc2hhcmVTY29wZU1hcCB8fCB7fSxcbiAgICAgICAgICAgIC8vIH0pO1xuICAgICAgICAgICAgaG9zdFNoYXJlU2NvcGVLZXlzLmZvckVhY2goKGhvc3RLZXkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIWhvc3RTaGFyZVNjb3BlTWFwW2hvc3RLZXldKSB7XG4gICAgICAgICAgICAgICAgICAgIGhvc3RTaGFyZVNjb3BlTWFwW2hvc3RLZXldID0ge307XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHNjID0gaG9zdFNoYXJlU2NvcGVNYXBbaG9zdEtleV07XG4gICAgICAgICAgICAgICAgZmVkZXJhdGlvbkluc3RhbmNlLmluaXRTaGFyZVNjb3BlTWFwKGhvc3RLZXksIHNjLCB7XG4gICAgICAgICAgICAgICAgICAgIGhvc3RTaGFyZVNjb3BlTWFwOiByZW1vdGVFbnRyeUluaXRPcHRpb25zPy5zaGFyZVNjb3BlTWFwIHx8IHt9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBmZWRlcmF0aW9uSW5zdGFuY2UuaW5pdFNoYXJlU2NvcGVNYXAoa2V5LCBzaGFyZVNjb3BlLCB7XG4gICAgICAgICAgICAgICAgaG9zdFNoYXJlU2NvcGVNYXA6IHJlbW90ZUVudHJ5SW5pdE9wdGlvbnM/LnNoYXJlU2NvcGVNYXAgfHwge30sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc2hhcmVTY29wZUtleS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmICghaG9zdFNoYXJlU2NvcGVLZXlzIHx8ICFob3N0U2hhcmVTY29wZU1hcCkge1xuICAgICAgICAgICAgICAgIGZlZGVyYXRpb25JbnN0YW5jZS5pbml0U2hhcmVTY29wZU1hcChrZXksIHNoYXJlU2NvcGUsIHtcbiAgICAgICAgICAgICAgICAgICAgaG9zdFNoYXJlU2NvcGVNYXA6IHJlbW90ZUVudHJ5SW5pdE9wdGlvbnM/LnNoYXJlU2NvcGVNYXAgfHwge30sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFob3N0U2hhcmVTY29wZU1hcFtrZXldKSB7XG4gICAgICAgICAgICAgICAgaG9zdFNoYXJlU2NvcGVNYXBba2V5XSA9IHt9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3Qgc2MgPSBob3N0U2hhcmVTY29wZU1hcFtrZXldO1xuICAgICAgICAgICAgZmVkZXJhdGlvbkluc3RhbmNlLmluaXRTaGFyZVNjb3BlTWFwKGtleSwgc2MsIHtcbiAgICAgICAgICAgICAgICBob3N0U2hhcmVTY29wZU1hcDogcmVtb3RlRW50cnlJbml0T3B0aW9ucz8uc2hhcmVTY29wZU1hcCB8fCB7fSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uYXR0YWNoU2hhcmVTY29wZU1hcCkge1xuICAgICAgICB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmF0dGFjaFNoYXJlU2NvcGVNYXAod2VicGFja1JlcXVpcmUpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24ucHJlZmV0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5wcmVmZXRjaCgpO1xuICAgIH1cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoc2hhcmVTY29wZUtleSkpIHtcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZXR1cm4gd2VicGFja1JlcXVpcmUuSShzaGFyZVNjb3BlS2V5IHx8ICdkZWZhdWx0JywgaW5pdFNjb3BlKTtcbiAgICB9XG4gICAgdmFyIHByb3h5SW5pdGlhbGl6ZVNoYXJpbmcgPSBCb29sZWFuKHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMuc2hhcmVkKTtcbiAgICBpZiAocHJveHlJbml0aWFsaXplU2hhcmluZykge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB3ZWJwYWNrUmVxdWlyZS5JKHNoYXJlU2NvcGVLZXksIGluaXRTY29wZSk7XG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwoc2hhcmVTY29wZUtleS5tYXAoKGtleSkgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJldHVybiB3ZWJwYWNrUmVxdWlyZS5JKGtleSwgaW5pdFNjb3BlKTtcbiAgICB9KSkudGhlbigoKSA9PiB0cnVlKTtcbn1cblxuY29uc3QgZmVkZXJhdGlvbiA9IHtcbiAgICBydW50aW1lOiBydW50aW1lX19uYW1lc3BhY2UsXG4gICAgaW5zdGFuY2U6IHVuZGVmaW5lZCxcbiAgICBpbml0T3B0aW9uczogdW5kZWZpbmVkLFxuICAgIGJ1bmRsZXJSdW50aW1lOiB7XG4gICAgICAgIHJlbW90ZXMsXG4gICAgICAgIGNvbnN1bWVzLFxuICAgICAgICBJOiBpbml0aWFsaXplU2hhcmluZyxcbiAgICAgICAgUzoge30sXG4gICAgICAgIGluc3RhbGxJbml0aWFsQ29uc3VtZXMsXG4gICAgICAgIGluaXRDb250YWluZXJFbnRyeSxcbiAgICB9LFxuICAgIGF0dGFjaFNoYXJlU2NvcGVNYXAsXG4gICAgYnVuZGxlclJ1bnRpbWVPcHRpb25zOiB7fSxcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gZmVkZXJhdGlvbjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5janMubWFwXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQWE7O0FBRWIsY0FBYyxtQkFBTyxDQUFDLHFFQUE0QjtBQUNsRCxlQUFlLG1CQUFPLENBQUMsd0ZBQW9CO0FBQzNDLFVBQVUsbUJBQU8sQ0FBQyxpRUFBd0I7O0FBRTFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBWSx5Q0FBeUM7QUFDckQsWUFBWSw2Q0FBNkM7QUFDekQ7QUFDQSxnQkFBZ0Isc0VBQXNFLHNGQUFzRixJQUFJO0FBQ2hMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLG9CQUFvQix1QkFBdUI7QUFDM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBLG9CQUFvQixvQkFBb0I7QUFDeEM7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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\n\n}");
|
|
62
|
+
"../../../node_modules/@module-federation/runtime-core/dist/helpers.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
63
|
+
eval("{const require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_share = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_preload = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/preload.cjs\");\n\n//#region src/helpers.ts\nconst ShareUtils = {\n\tgetRegisteredShare: require_share.getRegisteredShare,\n\tgetGlobalShareScope: require_share.getGlobalShareScope\n};\nconst GlobalUtils = {\n\tGlobal: require_global.Global,\n\tnativeGlobal: require_global.nativeGlobal,\n\tresetFederationGlobalInfo: require_global.resetFederationGlobalInfo,\n\tsetGlobalFederationInstance: require_global.setGlobalFederationInstance,\n\tgetGlobalFederationConstructor: require_global.getGlobalFederationConstructor,\n\tsetGlobalFederationConstructor: require_global.setGlobalFederationConstructor,\n\tgetInfoWithoutType: require_global.getInfoWithoutType,\n\tgetGlobalSnapshot: require_global.getGlobalSnapshot,\n\tgetTargetSnapshotInfoByModuleInfo: require_global.getTargetSnapshotInfoByModuleInfo,\n\tgetGlobalSnapshotInfoByModuleInfo: require_global.getGlobalSnapshotInfoByModuleInfo,\n\tsetGlobalSnapshotInfoByModuleInfo: require_global.setGlobalSnapshotInfoByModuleInfo,\n\taddGlobalSnapshot: require_global.addGlobalSnapshot,\n\tgetRemoteEntryExports: require_global.getRemoteEntryExports,\n\tregisterGlobalPlugins: require_global.registerGlobalPlugins,\n\tgetGlobalHostPlugins: require_global.getGlobalHostPlugins,\n\tgetPreloaded: require_global.getPreloaded,\n\tsetPreloaded: require_global.setPreloaded\n};\nvar helpers_default = {\n\tglobal: GlobalUtils,\n\tshare: ShareUtils,\n\tutils: {\n\t\tmatchRemoteWithNameAndExpose: require_manifest.matchRemoteWithNameAndExpose,\n\t\tpreloadAssets: require_preload.preloadAssets,\n\t\tgetRemoteInfo: require_load.getRemoteInfo\n\t}\n};\n\n//#endregion\nexports[\"default\"] = helpers_default;\n//# sourceMappingURL=helpers.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2hlbHBlcnMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2hlbHBlcnMuY2pzPzU1MjciXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9nbG9iYWwgPSByZXF1aXJlKCcuL2dsb2JhbC5janMnKTtcbmNvbnN0IHJlcXVpcmVfc2hhcmUgPSByZXF1aXJlKCcuL3V0aWxzL3NoYXJlLmNqcycpO1xuY29uc3QgcmVxdWlyZV9tYW5pZmVzdCA9IHJlcXVpcmUoJy4vdXRpbHMvbWFuaWZlc3QuY2pzJyk7XG5jb25zdCByZXF1aXJlX2xvYWQgPSByZXF1aXJlKCcuL3V0aWxzL2xvYWQuY2pzJyk7XG5yZXF1aXJlKCcuL3V0aWxzL2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9wcmVsb2FkID0gcmVxdWlyZSgnLi91dGlscy9wcmVsb2FkLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL2hlbHBlcnMudHNcbmNvbnN0IFNoYXJlVXRpbHMgPSB7XG5cdGdldFJlZ2lzdGVyZWRTaGFyZTogcmVxdWlyZV9zaGFyZS5nZXRSZWdpc3RlcmVkU2hhcmUsXG5cdGdldEdsb2JhbFNoYXJlU2NvcGU6IHJlcXVpcmVfc2hhcmUuZ2V0R2xvYmFsU2hhcmVTY29wZVxufTtcbmNvbnN0IEdsb2JhbFV0aWxzID0ge1xuXHRHbG9iYWw6IHJlcXVpcmVfZ2xvYmFsLkdsb2JhbCxcblx0bmF0aXZlR2xvYmFsOiByZXF1aXJlX2dsb2JhbC5uYXRpdmVHbG9iYWwsXG5cdHJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm86IHJlcXVpcmVfZ2xvYmFsLnJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm8sXG5cdHNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZTogcmVxdWlyZV9nbG9iYWwuc2V0R2xvYmFsRmVkZXJhdGlvbkluc3RhbmNlLFxuXHRnZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3I6IHJlcXVpcmVfZ2xvYmFsLmdldEdsb2JhbEZlZGVyYXRpb25Db25zdHJ1Y3Rvcixcblx0c2V0R2xvYmFsRmVkZXJhdGlvbkNvbnN0cnVjdG9yOiByZXF1aXJlX2dsb2JhbC5zZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IsXG5cdGdldEluZm9XaXRob3V0VHlwZTogcmVxdWlyZV9nbG9iYWwuZ2V0SW5mb1dpdGhvdXRUeXBlLFxuXHRnZXRHbG9iYWxTbmFwc2hvdDogcmVxdWlyZV9nbG9iYWwuZ2V0R2xvYmFsU25hcHNob3QsXG5cdGdldFRhcmdldFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbzogcmVxdWlyZV9nbG9iYWwuZ2V0VGFyZ2V0U25hcHNob3RJbmZvQnlNb2R1bGVJbmZvLFxuXHRnZXRHbG9iYWxTbmFwc2hvdEluZm9CeU1vZHVsZUluZm86IHJlcXVpcmVfZ2xvYmFsLmdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyxcblx0c2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvOiByZXF1aXJlX2dsb2JhbC5zZXRHbG9iYWxTbmFwc2hvdEluZm9CeU1vZHVsZUluZm8sXG5cdGFkZEdsb2JhbFNuYXBzaG90OiByZXF1aXJlX2dsb2JhbC5hZGRHbG9iYWxTbmFwc2hvdCxcblx0Z2V0UmVtb3RlRW50cnlFeHBvcnRzOiByZXF1aXJlX2dsb2JhbC5nZXRSZW1vdGVFbnRyeUV4cG9ydHMsXG5cdHJlZ2lzdGVyR2xvYmFsUGx1Z2luczogcmVxdWlyZV9nbG9iYWwucmVnaXN0ZXJHbG9iYWxQbHVnaW5zLFxuXHRnZXRHbG9iYWxIb3N0UGx1Z2luczogcmVxdWlyZV9nbG9iYWwuZ2V0R2xvYmFsSG9zdFBsdWdpbnMsXG5cdGdldFByZWxvYWRlZDogcmVxdWlyZV9nbG9iYWwuZ2V0UHJlbG9hZGVkLFxuXHRzZXRQcmVsb2FkZWQ6IHJlcXVpcmVfZ2xvYmFsLnNldFByZWxvYWRlZFxufTtcbnZhciBoZWxwZXJzX2RlZmF1bHQgPSB7XG5cdGdsb2JhbDogR2xvYmFsVXRpbHMsXG5cdHNoYXJlOiBTaGFyZVV0aWxzLFxuXHR1dGlsczoge1xuXHRcdG1hdGNoUmVtb3RlV2l0aE5hbWVBbmRFeHBvc2U6IHJlcXVpcmVfbWFuaWZlc3QubWF0Y2hSZW1vdGVXaXRoTmFtZUFuZEV4cG9zZSxcblx0XHRwcmVsb2FkQXNzZXRzOiByZXF1aXJlX3ByZWxvYWQucHJlbG9hZEFzc2V0cyxcblx0XHRnZXRSZW1vdGVJbmZvOiByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlSW5mb1xuXHR9XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZGVmYXVsdCA9IGhlbHBlcnNfZGVmYXVsdDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlbHBlcnMuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBYztBQUM3QyxzQkFBc0IsbUJBQU8sQ0FBQyw0RUFBbUI7QUFDakQseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCO0FBQ3ZELHFCQUFxQixtQkFBTyxDQUFDLDJFQUFrQjtBQUMvQyxtQkFBTyxDQUFDLDRFQUFtQjtBQUMzQix3QkFBd0IsbUJBQU8sQ0FBQyw4RUFBcUI7O0FBRXJEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2YifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/helpers.cjs\n\n}");
|
|
64
|
+
|
|
65
|
+
},
|
|
66
|
+
"../../../node_modules/@module-federation/runtime-core/dist/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
67
|
+
eval("{Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\nconst require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_index = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs\");\nconst require_share = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_helpers = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/helpers.cjs\");\nconst require_index$2 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/module/index.cjs\");\nconst require_disabled = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs\");\nconst require_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/core.cjs\");\nconst require_index$3 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/type/index.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/index.ts\nconst helpers = require_helpers.default;\nconst Module = false ? 0 : require_index$2.Module;\n\n//#endregion\nexports.CurrentGlobal = require_global.CurrentGlobal;\nexports.Global = require_global.Global;\nexports.Module = Module;\nexports.ModuleFederation = require_core.ModuleFederation;\nexports.addGlobalSnapshot = require_global.addGlobalSnapshot;\nexports.assert = require_logger.assert;\nexports.error = require_logger.error;\nexports.getGlobalFederationConstructor = require_global.getGlobalFederationConstructor;\nexports.getGlobalSnapshot = require_global.getGlobalSnapshot;\nexports.getInfoWithoutType = require_global.getInfoWithoutType;\nexports.getRegisteredShare = require_share.getRegisteredShare;\nexports.getRemoteEntry = require_load.getRemoteEntry;\nexports.getRemoteInfo = require_load.getRemoteInfo;\nexports.helpers = helpers;\nexports.isStaticResourcesEqual = require_tool.isStaticResourcesEqual;\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _module_federation_sdk.loadScript;\n }\n}));\nObject.defineProperty(exports, \"loadScriptNode\", ({\n enumerable: true,\n get: function () {\n return _module_federation_sdk.loadScriptNode;\n }\n}));\nexports.matchRemoteWithNameAndExpose = require_manifest.matchRemoteWithNameAndExpose;\nexports.registerGlobalPlugins = require_global.registerGlobalPlugins;\nexports.resetFederationGlobalInfo = require_global.resetFederationGlobalInfo;\nexports.safeWrapper = require_tool.safeWrapper;\nexports.satisfy = require_index.satisfy;\nexports.setGlobalFederationConstructor = require_global.setGlobalFederationConstructor;\nexports.setGlobalFederationInstance = require_global.setGlobalFederationInstance;\nObject.defineProperty(exports, \"types\", ({\n enumerable: true,\n get: function () {\n return require_index$3.type_exports;\n }\n}));\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L2luZGV4LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC9pbmRleC5janM/ZTA5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbmNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi91dGlscy9sb2dnZXIuY2pzJyk7XG5jb25zdCByZXF1aXJlX3Rvb2wgPSByZXF1aXJlKCcuL3V0aWxzL3Rvb2wuY2pzJyk7XG5jb25zdCByZXF1aXJlX2dsb2JhbCA9IHJlcXVpcmUoJy4vZ2xvYmFsLmNqcycpO1xuY29uc3QgcmVxdWlyZV9pbmRleCA9IHJlcXVpcmUoJy4vdXRpbHMvc2VtdmVyL2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9zaGFyZSA9IHJlcXVpcmUoJy4vdXRpbHMvc2hhcmUuY2pzJyk7XG5jb25zdCByZXF1aXJlX21hbmlmZXN0ID0gcmVxdWlyZSgnLi91dGlscy9tYW5pZmVzdC5janMnKTtcbmNvbnN0IHJlcXVpcmVfbG9hZCA9IHJlcXVpcmUoJy4vdXRpbHMvbG9hZC5janMnKTtcbnJlcXVpcmUoJy4vdXRpbHMvaW5kZXguY2pzJyk7XG5jb25zdCByZXF1aXJlX2hlbHBlcnMgPSByZXF1aXJlKCcuL2hlbHBlcnMuY2pzJyk7XG5jb25zdCByZXF1aXJlX2luZGV4JDIgPSByZXF1aXJlKCcuL21vZHVsZS9pbmRleC5janMnKTtcbmNvbnN0IHJlcXVpcmVfZGlzYWJsZWQgPSByZXF1aXJlKCcuL3JlbW90ZS9kaXNhYmxlZC5janMnKTtcbmNvbnN0IHJlcXVpcmVfY29yZSA9IHJlcXVpcmUoJy4vY29yZS5janMnKTtcbmNvbnN0IHJlcXVpcmVfaW5kZXgkMyA9IHJlcXVpcmUoJy4vdHlwZS9pbmRleC5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5cbi8vI3JlZ2lvbiBzcmMvaW5kZXgudHNcbmNvbnN0IGhlbHBlcnMgPSByZXF1aXJlX2hlbHBlcnMuZGVmYXVsdDtcbmNvbnN0IE1vZHVsZSA9IHR5cGVvZiBGRURFUkFUSU9OX09QVElNSVpFX05PX1JFTU9URSA9PT0gXCJib29sZWFuXCIgJiYgRkVERVJBVElPTl9PUFRJTUlaRV9OT19SRU1PVEUgPyByZXF1aXJlX2Rpc2FibGVkLlVuYXZhaWxhYmxlUmVtb3RlTW9kdWxlIDogcmVxdWlyZV9pbmRleCQyLk1vZHVsZTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLkN1cnJlbnRHbG9iYWwgPSByZXF1aXJlX2dsb2JhbC5DdXJyZW50R2xvYmFsO1xuZXhwb3J0cy5HbG9iYWwgPSByZXF1aXJlX2dsb2JhbC5HbG9iYWw7XG5leHBvcnRzLk1vZHVsZSA9IE1vZHVsZTtcbmV4cG9ydHMuTW9kdWxlRmVkZXJhdGlvbiA9IHJlcXVpcmVfY29yZS5Nb2R1bGVGZWRlcmF0aW9uO1xuZXhwb3J0cy5hZGRHbG9iYWxTbmFwc2hvdCA9IHJlcXVpcmVfZ2xvYmFsLmFkZEdsb2JhbFNuYXBzaG90O1xuZXhwb3J0cy5hc3NlcnQgPSByZXF1aXJlX2xvZ2dlci5hc3NlcnQ7XG5leHBvcnRzLmVycm9yID0gcmVxdWlyZV9sb2dnZXIuZXJyb3I7XG5leHBvcnRzLmdldEdsb2JhbEZlZGVyYXRpb25Db25zdHJ1Y3RvciA9IHJlcXVpcmVfZ2xvYmFsLmdldEdsb2JhbEZlZGVyYXRpb25Db25zdHJ1Y3RvcjtcbmV4cG9ydHMuZ2V0R2xvYmFsU25hcHNob3QgPSByZXF1aXJlX2dsb2JhbC5nZXRHbG9iYWxTbmFwc2hvdDtcbmV4cG9ydHMuZ2V0SW5mb1dpdGhvdXRUeXBlID0gcmVxdWlyZV9nbG9iYWwuZ2V0SW5mb1dpdGhvdXRUeXBlO1xuZXhwb3J0cy5nZXRSZWdpc3RlcmVkU2hhcmUgPSByZXF1aXJlX3NoYXJlLmdldFJlZ2lzdGVyZWRTaGFyZTtcbmV4cG9ydHMuZ2V0UmVtb3RlRW50cnkgPSByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlRW50cnk7XG5leHBvcnRzLmdldFJlbW90ZUluZm8gPSByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlSW5mbztcbmV4cG9ydHMuaGVscGVycyA9IGhlbHBlcnM7XG5leHBvcnRzLmlzU3RhdGljUmVzb3VyY2VzRXF1YWwgPSByZXF1aXJlX3Rvb2wuaXNTdGF0aWNSZXNvdXJjZXNFcXVhbDtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnbG9hZFNjcmlwdCcsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsubG9hZFNjcmlwdDtcbiAgfVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2xvYWRTY3JpcHROb2RlJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5sb2FkU2NyaXB0Tm9kZTtcbiAgfVxufSk7XG5leHBvcnRzLm1hdGNoUmVtb3RlV2l0aE5hbWVBbmRFeHBvc2UgPSByZXF1aXJlX21hbmlmZXN0Lm1hdGNoUmVtb3RlV2l0aE5hbWVBbmRFeHBvc2U7XG5leHBvcnRzLnJlZ2lzdGVyR2xvYmFsUGx1Z2lucyA9IHJlcXVpcmVfZ2xvYmFsLnJlZ2lzdGVyR2xvYmFsUGx1Z2lucztcbmV4cG9ydHMucmVzZXRGZWRlcmF0aW9uR2xvYmFsSW5mbyA9IHJlcXVpcmVfZ2xvYmFsLnJlc2V0RmVkZXJhdGlvbkdsb2JhbEluZm87XG5leHBvcnRzLnNhZmVXcmFwcGVyID0gcmVxdWlyZV90b29sLnNhZmVXcmFwcGVyO1xuZXhwb3J0cy5zYXRpc2Z5ID0gcmVxdWlyZV9pbmRleC5zYXRpc2Z5O1xuZXhwb3J0cy5zZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IgPSByZXF1aXJlX2dsb2JhbC5zZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3I7XG5leHBvcnRzLnNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZSA9IHJlcXVpcmVfZ2xvYmFsLnNldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAndHlwZXMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiByZXF1aXJlX2luZGV4JDMudHlwZV9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCLE9BQU8sd0JBQXdCLGlCQUFpQjtBQUN0RSx1QkFBdUIsbUJBQU8sQ0FBQyw2RUFBb0I7QUFDbkQscUJBQXFCLG1CQUFPLENBQUMsMkVBQWtCO0FBQy9DLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFjO0FBQzdDLHNCQUFzQixtQkFBTyxDQUFDLG1GQUEwQjtBQUN4RCxzQkFBc0IsbUJBQU8sQ0FBQyw0RUFBbUI7QUFDakQseUJBQXlCLG1CQUFPLENBQUMsK0VBQXNCO0FBQ3ZELHFCQUFxQixtQkFBTyxDQUFDLDJFQUFrQjtBQUMvQyxtQkFBTyxDQUFDLDRFQUFtQjtBQUMzQix3QkFBd0IsbUJBQU8sQ0FBQyx3RUFBZTtBQUMvQyx3QkFBd0IsbUJBQU8sQ0FBQyw2RUFBb0I7QUFDcEQseUJBQXlCLG1CQUFPLENBQUMsZ0ZBQXVCO0FBQ3hELHFCQUFxQixtQkFBTyxDQUFDLHFFQUFZO0FBQ3pDLHdCQUF3QixtQkFBTyxDQUFDLDJFQUFrQjtBQUNsRCw2QkFBNkIsbUJBQU8sQ0FBQyw2REFBd0I7O0FBRTdEO0FBQ0E7QUFDQSxlQUFlLE1BQW1GLEdBQUcsQ0FBd0M7O0FBRTdJO0FBQ0EscUJBQXFCO0FBQ3JCLGNBQWM7QUFDZCxjQUFjO0FBQ2Qsd0JBQXdCO0FBQ3hCLHlCQUF5QjtBQUN6QixjQUFjO0FBQ2QsYUFBYTtBQUNiLHNDQUFzQztBQUN0Qyx5QkFBeUI7QUFDekIsMEJBQTBCO0FBQzFCLDBCQUEwQjtBQUMxQixzQkFBc0I7QUFDdEIscUJBQXFCO0FBQ3JCLGVBQWU7QUFDZiw4QkFBOEI7QUFDOUIsOENBQTZDO0FBQzdDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Ysa0RBQWlEO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0Ysb0NBQW9DO0FBQ3BDLDZCQUE2QjtBQUM3QixpQ0FBaUM7QUFDakMsbUJBQW1CO0FBQ25CLGVBQWU7QUFDZixzQ0FBc0M7QUFDdEMsbUNBQW1DO0FBQ25DLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/index.cjs\n\n}");
|
|
68
|
+
|
|
69
|
+
},
|
|
70
|
+
"../../../node_modules/@module-federation/runtime-core/dist/module/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
71
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\nconst require_context = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/module/index.ts\nfunction getAvailableExposeNames(remoteSnapshot) {\n\tif (!remoteSnapshot || !(\"modules\" in remoteSnapshot) || !Array.isArray(remoteSnapshot.modules)) return;\n\tconst exposes = remoteSnapshot.modules.map((module) => module.moduleName).filter(Boolean);\n\treturn exposes.length ? exposes.join(\",\") : void 0;\n}\nfunction createRemoteEntryInitOptions(remoteInfo, hostShareScopeMap, rawInitScope) {\n\tconst localShareScopeMap = hostShareScopeMap;\n\tconst shareScopeKeys = Array.isArray(remoteInfo.shareScope) ? remoteInfo.shareScope : [remoteInfo.shareScope];\n\tif (!shareScopeKeys.length) shareScopeKeys.push(\"default\");\n\tshareScopeKeys.forEach((shareScopeKey) => {\n\t\tif (!localShareScopeMap[shareScopeKey]) localShareScopeMap[shareScopeKey] = {};\n\t});\n\tconst remoteEntryInitOptions = {\n\t\tversion: remoteInfo.version || \"\",\n\t\tshareScopeKeys: Array.isArray(remoteInfo.shareScope) ? shareScopeKeys : remoteInfo.shareScope || \"default\"\n\t};\n\tObject.defineProperty(remoteEntryInitOptions, \"shareScopeMap\", {\n\t\tvalue: localShareScopeMap,\n\t\tenumerable: false\n\t});\n\treturn {\n\t\tremoteEntryInitOptions,\n\t\tshareScope: localShareScopeMap[shareScopeKeys[0]],\n\t\tinitScope: rawInitScope ?? []\n\t};\n}\nvar Module = class {\n\tconstructor({ remoteInfo, host }) {\n\t\tthis.inited = false;\n\t\tthis.initing = false;\n\t\tthis.lib = void 0;\n\t\tthis.remoteInfo = remoteInfo;\n\t\tthis.host = host;\n\t}\n\tasync getEntry(expose) {\n\t\tif (this.remoteEntryExports) return this.remoteEntryExports;\n\t\tconst remoteEntryExports = await require_load.getRemoteEntry({\n\t\t\torigin: this.host,\n\t\t\tremoteInfo: this.remoteInfo,\n\t\t\tremoteEntryExports: this.remoteEntryExports,\n\t\t\tresourceContext: {\n\t\t\t\tinitiator: \"loadRemote\",\n\t\t\t\tid: require_manifest.composeRemoteRequestId(this.remoteInfo.name, expose),\n\t\t\t\tresourceType: \"remoteEntry\"\n\t\t\t}\n\t\t});\n\t\trequire_logger.assert(remoteEntryExports, `remoteEntryExports is undefined \\n ${(0, _module_federation_sdk.safeToString)(this.remoteInfo)}`);\n\t\tthis.remoteEntryExports = remoteEntryExports;\n\t\treturn this.remoteEntryExports;\n\t}\n\tasync init(id, remoteSnapshot, rawInitScope, expose) {\n\t\tconst remoteEntryExports = await this.getEntry(expose);\n\t\tif (this.inited) {\n\t\t\tawait this.host.loaderHook.lifecycle.afterInitRemote.emit({\n\t\t\t\tid,\n\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\tremoteSnapshot,\n\t\t\t\tremoteEntryExports,\n\t\t\t\tcached: true,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\treturn remoteEntryExports;\n\t\t}\n\t\tif (this.initPromise) {\n\t\t\ttry {\n\t\t\t\tawait this.initPromise;\n\t\t\t\tawait this.host.loaderHook.lifecycle.afterInitRemote.emit({\n\t\t\t\t\tid,\n\t\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\t\tremoteSnapshot,\n\t\t\t\t\tremoteEntryExports,\n\t\t\t\t\tcached: true,\n\t\t\t\t\torigin: this.host\n\t\t\t\t});\n\t\t\t} catch (initError) {\n\t\t\t\tawait this.host.loaderHook.lifecycle.afterInitRemote.emit({\n\t\t\t\t\tid,\n\t\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\t\tremoteSnapshot,\n\t\t\t\t\tremoteEntryExports,\n\t\t\t\t\terror: initError,\n\t\t\t\t\tcached: true,\n\t\t\t\t\torigin: this.host\n\t\t\t\t});\n\t\t\t\tthrow initError;\n\t\t\t}\n\t\t\treturn remoteEntryExports;\n\t\t}\n\t\tthis.initing = true;\n\t\tthis.initPromise = (async () => {\n\t\t\tawait this.host.loaderHook.lifecycle.beforeInitRemote.emit({\n\t\t\t\tid,\n\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\tremoteSnapshot,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\tconst { remoteEntryInitOptions, shareScope, initScope } = createRemoteEntryInitOptions(this.remoteInfo, this.host.shareScopeMap, rawInitScope);\n\t\t\tconst initContainerOptions = await this.host.hooks.lifecycle.beforeInitContainer.emit({\n\t\t\t\tshareScope,\n\t\t\t\tremoteEntryInitOptions,\n\t\t\t\tinitScope,\n\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\tif (typeof remoteEntryExports?.init === \"undefined\") require_logger.error(_module_federation_error_codes.RUNTIME_002, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\thostName: this.host.name,\n\t\t\t\tremoteName: this.remoteInfo.name,\n\t\t\t\tremoteEntryUrl: this.remoteInfo.entry,\n\t\t\t\tremoteEntryKey: this.remoteInfo.entryGlobalName\n\t\t\t}, void 0, require_context.optionsToMFContext(this.host.options));\n\t\t\ttry {\n\t\t\t\tawait remoteEntryExports.init(initContainerOptions.shareScope, initContainerOptions.initScope, initContainerOptions.remoteEntryInitOptions);\n\t\t\t} catch (initError) {\n\t\t\t\trequire_logger.error(_module_federation_error_codes.RUNTIME_015, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\t\thostName: this.host.name,\n\t\t\t\t\tremoteName: this.remoteInfo.name,\n\t\t\t\t\tremoteEntryUrl: this.remoteInfo.entry,\n\t\t\t\t\tremoteEntryKey: this.remoteInfo.entryGlobalName,\n\t\t\t\t\tshareScope: this.remoteInfo.shareScope\n\t\t\t\t}, `${initError}`, require_context.optionsToMFContext(this.host.options));\n\t\t\t}\n\t\t\tawait this.host.hooks.lifecycle.initContainer.emit({\n\t\t\t\t...initContainerOptions,\n\t\t\t\tid,\n\t\t\t\tremoteSnapshot,\n\t\t\t\tremoteEntryExports\n\t\t\t});\n\t\t\tthis.inited = true;\n\t\t})();\n\t\ttry {\n\t\t\tawait this.initPromise;\n\t\t\tawait this.host.loaderHook.lifecycle.afterInitRemote.emit({\n\t\t\t\tid,\n\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\tremoteSnapshot,\n\t\t\t\tremoteEntryExports,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t} catch (initError) {\n\t\t\tawait this.host.loaderHook.lifecycle.afterInitRemote.emit({\n\t\t\t\tid,\n\t\t\t\tremoteInfo: this.remoteInfo,\n\t\t\t\tremoteSnapshot,\n\t\t\t\tremoteEntryExports,\n\t\t\t\terror: initError,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\tthrow initError;\n\t\t} finally {\n\t\t\tthis.initing = false;\n\t\t\tthis.initPromise = void 0;\n\t\t}\n\t\treturn remoteEntryExports;\n\t}\n\tasync get(id, expose, options, remoteSnapshot) {\n\t\tconst { loadFactory = true } = options || { loadFactory: true };\n\t\tconst remoteEntryExports = await this.init(id, remoteSnapshot, void 0, expose);\n\t\tthis.lib = remoteEntryExports;\n\t\tawait this.host.loaderHook.lifecycle.beforeGetExpose.emit({\n\t\t\tid,\n\t\t\texpose,\n\t\t\tmoduleInfo: this.remoteInfo,\n\t\t\tremoteEntryExports,\n\t\t\torigin: this.host\n\t\t});\n\t\tlet moduleFactory;\n\t\ttry {\n\t\t\tconst hookModuleFactory = await this.host.loaderHook.lifecycle.getModuleFactory.emit({\n\t\t\t\tremoteEntryExports,\n\t\t\t\texpose,\n\t\t\t\tmoduleInfo: this.remoteInfo\n\t\t\t});\n\t\t\tmoduleFactory = typeof hookModuleFactory === \"function\" ? hookModuleFactory : void 0;\n\t\t\tif (!moduleFactory) moduleFactory = await remoteEntryExports.get(expose);\n\t\t\tif (!moduleFactory) require_logger.error(_module_federation_error_codes.RUNTIME_014, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\thostName: this.host.name,\n\t\t\t\tremoteName: this.remoteInfo.name,\n\t\t\t\tremoteEntryUrl: this.remoteInfo.entry,\n\t\t\t\texpose,\n\t\t\t\trequestId: id,\n\t\t\t\tavailableExposes: getAvailableExposeNames(remoteSnapshot)\n\t\t\t}, void 0, require_context.optionsToMFContext(this.host.options));\n\t\t\tawait this.host.loaderHook.lifecycle.afterGetExpose.emit({\n\t\t\t\tid,\n\t\t\t\texpose,\n\t\t\t\tmoduleInfo: this.remoteInfo,\n\t\t\t\tremoteEntryExports,\n\t\t\t\tmoduleFactory,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t} catch (getExposeError) {\n\t\t\tawait this.host.loaderHook.lifecycle.afterGetExpose.emit({\n\t\t\t\tid,\n\t\t\t\texpose,\n\t\t\t\tmoduleInfo: this.remoteInfo,\n\t\t\t\tremoteEntryExports,\n\t\t\t\terror: getExposeError,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\tthrow getExposeError;\n\t\t}\n\t\tconst symbolName = require_tool.processModuleAlias(this.remoteInfo.name, expose);\n\t\tconst wrapModuleFactory = this.wraperFactory(moduleFactory, symbolName);\n\t\tif (!loadFactory) return wrapModuleFactory;\n\t\tawait this.host.loaderHook.lifecycle.beforeExecuteFactory.emit({\n\t\t\tid,\n\t\t\texpose,\n\t\t\tmoduleInfo: this.remoteInfo,\n\t\t\tloadFactory,\n\t\t\torigin: this.host\n\t\t});\n\t\ttry {\n\t\t\tconst exposeContent = await wrapModuleFactory();\n\t\t\tawait this.host.loaderHook.lifecycle.afterExecuteFactory.emit({\n\t\t\t\tid,\n\t\t\t\texpose,\n\t\t\t\tmoduleInfo: this.remoteInfo,\n\t\t\t\tloadFactory,\n\t\t\t\texposeModule: exposeContent,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\treturn exposeContent;\n\t\t} catch (executeFactoryError) {\n\t\t\tawait this.host.loaderHook.lifecycle.afterExecuteFactory.emit({\n\t\t\t\tid,\n\t\t\t\texpose,\n\t\t\t\tmoduleInfo: this.remoteInfo,\n\t\t\t\tloadFactory,\n\t\t\t\terror: executeFactoryError,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t\tthrow executeFactoryError;\n\t\t}\n\t}\n\twraperFactory(moduleFactory, id) {\n\t\tfunction defineModuleId(res, id) {\n\t\t\tif (res && typeof res === \"object\" && Object.isExtensible(res) && !Object.getOwnPropertyDescriptor(res, Symbol.for(\"mf_module_id\"))) Object.defineProperty(res, Symbol.for(\"mf_module_id\"), {\n\t\t\t\tvalue: id,\n\t\t\t\tenumerable: false\n\t\t\t});\n\t\t}\n\t\treturn () => {\n\t\t\tconst res = moduleFactory();\n\t\t\tif (res instanceof Promise) return res.then((asyncRes) => {\n\t\t\t\tdefineModuleId(asyncRes, id);\n\t\t\t\treturn asyncRes;\n\t\t\t});\n\t\t\tdefineModuleId(res, id);\n\t\t\treturn res;\n\t\t};\n\t}\n};\n\n//#endregion\nexports.Module = Module;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L21vZHVsZS9pbmRleC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvbW9kdWxlL2luZGV4LmNqcz8zZjNiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi4vdXRpbHMvbG9nZ2VyLmNqcycpO1xuY29uc3QgcmVxdWlyZV90b29sID0gcmVxdWlyZSgnLi4vdXRpbHMvdG9vbC5janMnKTtcbmNvbnN0IHJlcXVpcmVfbWFuaWZlc3QgPSByZXF1aXJlKCcuLi91dGlscy9tYW5pZmVzdC5janMnKTtcbmNvbnN0IHJlcXVpcmVfbG9hZCA9IHJlcXVpcmUoJy4uL3V0aWxzL2xvYWQuY2pzJyk7XG5jb25zdCByZXF1aXJlX2NvbnRleHQgPSByZXF1aXJlKCcuLi91dGlscy9jb250ZXh0LmNqcycpO1xucmVxdWlyZSgnLi4vdXRpbHMvaW5kZXguY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3NkayA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vc2RrXCIpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2RlcyA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXNcIik7XG5cbi8vI3JlZ2lvbiBzcmMvbW9kdWxlL2luZGV4LnRzXG5mdW5jdGlvbiBnZXRBdmFpbGFibGVFeHBvc2VOYW1lcyhyZW1vdGVTbmFwc2hvdCkge1xuXHRpZiAoIXJlbW90ZVNuYXBzaG90IHx8ICEoXCJtb2R1bGVzXCIgaW4gcmVtb3RlU25hcHNob3QpIHx8ICFBcnJheS5pc0FycmF5KHJlbW90ZVNuYXBzaG90Lm1vZHVsZXMpKSByZXR1cm47XG5cdGNvbnN0IGV4cG9zZXMgPSByZW1vdGVTbmFwc2hvdC5tb2R1bGVzLm1hcCgobW9kdWxlKSA9PiBtb2R1bGUubW9kdWxlTmFtZSkuZmlsdGVyKEJvb2xlYW4pO1xuXHRyZXR1cm4gZXhwb3Nlcy5sZW5ndGggPyBleHBvc2VzLmpvaW4oXCIsXCIpIDogdm9pZCAwO1xufVxuZnVuY3Rpb24gY3JlYXRlUmVtb3RlRW50cnlJbml0T3B0aW9ucyhyZW1vdGVJbmZvLCBob3N0U2hhcmVTY29wZU1hcCwgcmF3SW5pdFNjb3BlKSB7XG5cdGNvbnN0IGxvY2FsU2hhcmVTY29wZU1hcCA9IGhvc3RTaGFyZVNjb3BlTWFwO1xuXHRjb25zdCBzaGFyZVNjb3BlS2V5cyA9IEFycmF5LmlzQXJyYXkocmVtb3RlSW5mby5zaGFyZVNjb3BlKSA/IHJlbW90ZUluZm8uc2hhcmVTY29wZSA6IFtyZW1vdGVJbmZvLnNoYXJlU2NvcGVdO1xuXHRpZiAoIXNoYXJlU2NvcGVLZXlzLmxlbmd0aCkgc2hhcmVTY29wZUtleXMucHVzaChcImRlZmF1bHRcIik7XG5cdHNoYXJlU2NvcGVLZXlzLmZvckVhY2goKHNoYXJlU2NvcGVLZXkpID0+IHtcblx0XHRpZiAoIWxvY2FsU2hhcmVTY29wZU1hcFtzaGFyZVNjb3BlS2V5XSkgbG9jYWxTaGFyZVNjb3BlTWFwW3NoYXJlU2NvcGVLZXldID0ge307XG5cdH0pO1xuXHRjb25zdCByZW1vdGVFbnRyeUluaXRPcHRpb25zID0ge1xuXHRcdHZlcnNpb246IHJlbW90ZUluZm8udmVyc2lvbiB8fCBcIlwiLFxuXHRcdHNoYXJlU2NvcGVLZXlzOiBBcnJheS5pc0FycmF5KHJlbW90ZUluZm8uc2hhcmVTY29wZSkgPyBzaGFyZVNjb3BlS2V5cyA6IHJlbW90ZUluZm8uc2hhcmVTY29wZSB8fCBcImRlZmF1bHRcIlxuXHR9O1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkocmVtb3RlRW50cnlJbml0T3B0aW9ucywgXCJzaGFyZVNjb3BlTWFwXCIsIHtcblx0XHR2YWx1ZTogbG9jYWxTaGFyZVNjb3BlTWFwLFxuXHRcdGVudW1lcmFibGU6IGZhbHNlXG5cdH0pO1xuXHRyZXR1cm4ge1xuXHRcdHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMsXG5cdFx0c2hhcmVTY29wZTogbG9jYWxTaGFyZVNjb3BlTWFwW3NoYXJlU2NvcGVLZXlzWzBdXSxcblx0XHRpbml0U2NvcGU6IHJhd0luaXRTY29wZSA/PyBbXVxuXHR9O1xufVxudmFyIE1vZHVsZSA9IGNsYXNzIHtcblx0Y29uc3RydWN0b3IoeyByZW1vdGVJbmZvLCBob3N0IH0pIHtcblx0XHR0aGlzLmluaXRlZCA9IGZhbHNlO1xuXHRcdHRoaXMuaW5pdGluZyA9IGZhbHNlO1xuXHRcdHRoaXMubGliID0gdm9pZCAwO1xuXHRcdHRoaXMucmVtb3RlSW5mbyA9IHJlbW90ZUluZm87XG5cdFx0dGhpcy5ob3N0ID0gaG9zdDtcblx0fVxuXHRhc3luYyBnZXRFbnRyeShleHBvc2UpIHtcblx0XHRpZiAodGhpcy5yZW1vdGVFbnRyeUV4cG9ydHMpIHJldHVybiB0aGlzLnJlbW90ZUVudHJ5RXhwb3J0cztcblx0XHRjb25zdCByZW1vdGVFbnRyeUV4cG9ydHMgPSBhd2FpdCByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlRW50cnkoe1xuXHRcdFx0b3JpZ2luOiB0aGlzLmhvc3QsXG5cdFx0XHRyZW1vdGVJbmZvOiB0aGlzLnJlbW90ZUluZm8sXG5cdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHM6IHRoaXMucmVtb3RlRW50cnlFeHBvcnRzLFxuXHRcdFx0cmVzb3VyY2VDb250ZXh0OiB7XG5cdFx0XHRcdGluaXRpYXRvcjogXCJsb2FkUmVtb3RlXCIsXG5cdFx0XHRcdGlkOiByZXF1aXJlX21hbmlmZXN0LmNvbXBvc2VSZW1vdGVSZXF1ZXN0SWQodGhpcy5yZW1vdGVJbmZvLm5hbWUsIGV4cG9zZSksXG5cdFx0XHRcdHJlc291cmNlVHlwZTogXCJyZW1vdGVFbnRyeVwiXG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0cmVxdWlyZV9sb2dnZXIuYXNzZXJ0KHJlbW90ZUVudHJ5RXhwb3J0cywgYHJlbW90ZUVudHJ5RXhwb3J0cyBpcyB1bmRlZmluZWQgXFxuICR7KDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuc2FmZVRvU3RyaW5nKSh0aGlzLnJlbW90ZUluZm8pfWApO1xuXHRcdHRoaXMucmVtb3RlRW50cnlFeHBvcnRzID0gcmVtb3RlRW50cnlFeHBvcnRzO1xuXHRcdHJldHVybiB0aGlzLnJlbW90ZUVudHJ5RXhwb3J0cztcblx0fVxuXHRhc3luYyBpbml0KGlkLCByZW1vdGVTbmFwc2hvdCwgcmF3SW5pdFNjb3BlLCBleHBvc2UpIHtcblx0XHRjb25zdCByZW1vdGVFbnRyeUV4cG9ydHMgPSBhd2FpdCB0aGlzLmdldEVudHJ5KGV4cG9zZSk7XG5cdFx0aWYgKHRoaXMuaW5pdGVkKSB7XG5cdFx0XHRhd2FpdCB0aGlzLmhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuYWZ0ZXJJbml0UmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0cmVtb3RlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0XHRyZW1vdGVTbmFwc2hvdCxcblx0XHRcdFx0cmVtb3RlRW50cnlFeHBvcnRzLFxuXHRcdFx0XHRjYWNoZWQ6IHRydWUsXG5cdFx0XHRcdG9yaWdpbjogdGhpcy5ob3N0XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiByZW1vdGVFbnRyeUV4cG9ydHM7XG5cdFx0fVxuXHRcdGlmICh0aGlzLmluaXRQcm9taXNlKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRhd2FpdCB0aGlzLmluaXRQcm9taXNlO1xuXHRcdFx0XHRhd2FpdCB0aGlzLmhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuYWZ0ZXJJbml0UmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRcdGlkLFxuXHRcdFx0XHRcdHJlbW90ZUluZm86IHRoaXMucmVtb3RlSW5mbyxcblx0XHRcdFx0XHRyZW1vdGVTbmFwc2hvdCxcblx0XHRcdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHMsXG5cdFx0XHRcdFx0Y2FjaGVkOiB0cnVlLFxuXHRcdFx0XHRcdG9yaWdpbjogdGhpcy5ob3N0XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBjYXRjaCAoaW5pdEVycm9yKSB7XG5cdFx0XHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5hZnRlckluaXRSZW1vdGUuZW1pdCh7XG5cdFx0XHRcdFx0aWQsXG5cdFx0XHRcdFx0cmVtb3RlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0XHRcdHJlbW90ZVNuYXBzaG90LFxuXHRcdFx0XHRcdHJlbW90ZUVudHJ5RXhwb3J0cyxcblx0XHRcdFx0XHRlcnJvcjogaW5pdEVycm9yLFxuXHRcdFx0XHRcdGNhY2hlZDogdHJ1ZSxcblx0XHRcdFx0XHRvcmlnaW46IHRoaXMuaG9zdFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhyb3cgaW5pdEVycm9yO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJlbW90ZUVudHJ5RXhwb3J0cztcblx0XHR9XG5cdFx0dGhpcy5pbml0aW5nID0gdHJ1ZTtcblx0XHR0aGlzLmluaXRQcm9taXNlID0gKGFzeW5jICgpID0+IHtcblx0XHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5iZWZvcmVJbml0UmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0cmVtb3RlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0XHRyZW1vdGVTbmFwc2hvdCxcblx0XHRcdFx0b3JpZ2luOiB0aGlzLmhvc3Rcblx0XHRcdH0pO1xuXHRcdFx0Y29uc3QgeyByZW1vdGVFbnRyeUluaXRPcHRpb25zLCBzaGFyZVNjb3BlLCBpbml0U2NvcGUgfSA9IGNyZWF0ZVJlbW90ZUVudHJ5SW5pdE9wdGlvbnModGhpcy5yZW1vdGVJbmZvLCB0aGlzLmhvc3Quc2hhcmVTY29wZU1hcCwgcmF3SW5pdFNjb3BlKTtcblx0XHRcdGNvbnN0IGluaXRDb250YWluZXJPcHRpb25zID0gYXdhaXQgdGhpcy5ob3N0Lmhvb2tzLmxpZmVjeWNsZS5iZWZvcmVJbml0Q29udGFpbmVyLmVtaXQoe1xuXHRcdFx0XHRzaGFyZVNjb3BlLFxuXHRcdFx0XHRyZW1vdGVFbnRyeUluaXRPcHRpb25zLFxuXHRcdFx0XHRpbml0U2NvcGUsXG5cdFx0XHRcdHJlbW90ZUluZm86IHRoaXMucmVtb3RlSW5mbyxcblx0XHRcdFx0b3JpZ2luOiB0aGlzLmhvc3Rcblx0XHRcdH0pO1xuXHRcdFx0aWYgKHR5cGVvZiByZW1vdGVFbnRyeUV4cG9ydHM/LmluaXQgPT09IFwidW5kZWZpbmVkXCIpIHJlcXVpcmVfbG9nZ2VyLmVycm9yKF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwMiwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwLCB7XG5cdFx0XHRcdGhvc3ROYW1lOiB0aGlzLmhvc3QubmFtZSxcblx0XHRcdFx0cmVtb3RlTmFtZTogdGhpcy5yZW1vdGVJbmZvLm5hbWUsXG5cdFx0XHRcdHJlbW90ZUVudHJ5VXJsOiB0aGlzLnJlbW90ZUluZm8uZW50cnksXG5cdFx0XHRcdHJlbW90ZUVudHJ5S2V5OiB0aGlzLnJlbW90ZUluZm8uZW50cnlHbG9iYWxOYW1lXG5cdFx0XHR9LCB2b2lkIDAsIHJlcXVpcmVfY29udGV4dC5vcHRpb25zVG9NRkNvbnRleHQodGhpcy5ob3N0Lm9wdGlvbnMpKTtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGF3YWl0IHJlbW90ZUVudHJ5RXhwb3J0cy5pbml0KGluaXRDb250YWluZXJPcHRpb25zLnNoYXJlU2NvcGUsIGluaXRDb250YWluZXJPcHRpb25zLmluaXRTY29wZSwgaW5pdENvbnRhaW5lck9wdGlvbnMucmVtb3RlRW50cnlJbml0T3B0aW9ucyk7XG5cdFx0XHR9IGNhdGNoIChpbml0RXJyb3IpIHtcblx0XHRcdFx0cmVxdWlyZV9sb2dnZXIuZXJyb3IoX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDE1LCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXAsIHtcblx0XHRcdFx0XHRob3N0TmFtZTogdGhpcy5ob3N0Lm5hbWUsXG5cdFx0XHRcdFx0cmVtb3RlTmFtZTogdGhpcy5yZW1vdGVJbmZvLm5hbWUsXG5cdFx0XHRcdFx0cmVtb3RlRW50cnlVcmw6IHRoaXMucmVtb3RlSW5mby5lbnRyeSxcblx0XHRcdFx0XHRyZW1vdGVFbnRyeUtleTogdGhpcy5yZW1vdGVJbmZvLmVudHJ5R2xvYmFsTmFtZSxcblx0XHRcdFx0XHRzaGFyZVNjb3BlOiB0aGlzLnJlbW90ZUluZm8uc2hhcmVTY29wZVxuXHRcdFx0XHR9LCBgJHtpbml0RXJyb3J9YCwgcmVxdWlyZV9jb250ZXh0Lm9wdGlvbnNUb01GQ29udGV4dCh0aGlzLmhvc3Qub3B0aW9ucykpO1xuXHRcdFx0fVxuXHRcdFx0YXdhaXQgdGhpcy5ob3N0Lmhvb2tzLmxpZmVjeWNsZS5pbml0Q29udGFpbmVyLmVtaXQoe1xuXHRcdFx0XHQuLi5pbml0Q29udGFpbmVyT3B0aW9ucyxcblx0XHRcdFx0aWQsXG5cdFx0XHRcdHJlbW90ZVNuYXBzaG90LFxuXHRcdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHNcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5pbml0ZWQgPSB0cnVlO1xuXHRcdH0pKCk7XG5cdFx0dHJ5IHtcblx0XHRcdGF3YWl0IHRoaXMuaW5pdFByb21pc2U7XG5cdFx0XHRhd2FpdCB0aGlzLmhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuYWZ0ZXJJbml0UmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0cmVtb3RlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0XHRyZW1vdGVTbmFwc2hvdCxcblx0XHRcdFx0cmVtb3RlRW50cnlFeHBvcnRzLFxuXHRcdFx0XHRvcmlnaW46IHRoaXMuaG9zdFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoaW5pdEVycm9yKSB7XG5cdFx0XHRhd2FpdCB0aGlzLmhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuYWZ0ZXJJbml0UmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0cmVtb3RlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0XHRyZW1vdGVTbmFwc2hvdCxcblx0XHRcdFx0cmVtb3RlRW50cnlFeHBvcnRzLFxuXHRcdFx0XHRlcnJvcjogaW5pdEVycm9yLFxuXHRcdFx0XHRvcmlnaW46IHRoaXMuaG9zdFxuXHRcdFx0fSk7XG5cdFx0XHR0aHJvdyBpbml0RXJyb3I7XG5cdFx0fSBmaW5hbGx5IHtcblx0XHRcdHRoaXMuaW5pdGluZyA9IGZhbHNlO1xuXHRcdFx0dGhpcy5pbml0UHJvbWlzZSA9IHZvaWQgMDtcblx0XHR9XG5cdFx0cmV0dXJuIHJlbW90ZUVudHJ5RXhwb3J0cztcblx0fVxuXHRhc3luYyBnZXQoaWQsIGV4cG9zZSwgb3B0aW9ucywgcmVtb3RlU25hcHNob3QpIHtcblx0XHRjb25zdCB7IGxvYWRGYWN0b3J5ID0gdHJ1ZSB9ID0gb3B0aW9ucyB8fCB7IGxvYWRGYWN0b3J5OiB0cnVlIH07XG5cdFx0Y29uc3QgcmVtb3RlRW50cnlFeHBvcnRzID0gYXdhaXQgdGhpcy5pbml0KGlkLCByZW1vdGVTbmFwc2hvdCwgdm9pZCAwLCBleHBvc2UpO1xuXHRcdHRoaXMubGliID0gcmVtb3RlRW50cnlFeHBvcnRzO1xuXHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5iZWZvcmVHZXRFeHBvc2UuZW1pdCh7XG5cdFx0XHRpZCxcblx0XHRcdGV4cG9zZSxcblx0XHRcdG1vZHVsZUluZm86IHRoaXMucmVtb3RlSW5mbyxcblx0XHRcdHJlbW90ZUVudHJ5RXhwb3J0cyxcblx0XHRcdG9yaWdpbjogdGhpcy5ob3N0XG5cdFx0fSk7XG5cdFx0bGV0IG1vZHVsZUZhY3Rvcnk7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGhvb2tNb2R1bGVGYWN0b3J5ID0gYXdhaXQgdGhpcy5ob3N0LmxvYWRlckhvb2subGlmZWN5Y2xlLmdldE1vZHVsZUZhY3RvcnkuZW1pdCh7XG5cdFx0XHRcdHJlbW90ZUVudHJ5RXhwb3J0cyxcblx0XHRcdFx0ZXhwb3NlLFxuXHRcdFx0XHRtb2R1bGVJbmZvOiB0aGlzLnJlbW90ZUluZm9cblx0XHRcdH0pO1xuXHRcdFx0bW9kdWxlRmFjdG9yeSA9IHR5cGVvZiBob29rTW9kdWxlRmFjdG9yeSA9PT0gXCJmdW5jdGlvblwiID8gaG9va01vZHVsZUZhY3RvcnkgOiB2b2lkIDA7XG5cdFx0XHRpZiAoIW1vZHVsZUZhY3RvcnkpIG1vZHVsZUZhY3RvcnkgPSBhd2FpdCByZW1vdGVFbnRyeUV4cG9ydHMuZ2V0KGV4cG9zZSk7XG5cdFx0XHRpZiAoIW1vZHVsZUZhY3RvcnkpIHJlcXVpcmVfbG9nZ2VyLmVycm9yKF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxNCwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwLCB7XG5cdFx0XHRcdGhvc3ROYW1lOiB0aGlzLmhvc3QubmFtZSxcblx0XHRcdFx0cmVtb3RlTmFtZTogdGhpcy5yZW1vdGVJbmZvLm5hbWUsXG5cdFx0XHRcdHJlbW90ZUVudHJ5VXJsOiB0aGlzLnJlbW90ZUluZm8uZW50cnksXG5cdFx0XHRcdGV4cG9zZSxcblx0XHRcdFx0cmVxdWVzdElkOiBpZCxcblx0XHRcdFx0YXZhaWxhYmxlRXhwb3NlczogZ2V0QXZhaWxhYmxlRXhwb3NlTmFtZXMocmVtb3RlU25hcHNob3QpXG5cdFx0XHR9LCB2b2lkIDAsIHJlcXVpcmVfY29udGV4dC5vcHRpb25zVG9NRkNvbnRleHQodGhpcy5ob3N0Lm9wdGlvbnMpKTtcblx0XHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5hZnRlckdldEV4cG9zZS5lbWl0KHtcblx0XHRcdFx0aWQsXG5cdFx0XHRcdGV4cG9zZSxcblx0XHRcdFx0bW9kdWxlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHMsXG5cdFx0XHRcdG1vZHVsZUZhY3RvcnksXG5cdFx0XHRcdG9yaWdpbjogdGhpcy5ob3N0XG5cdFx0XHR9KTtcblx0XHR9IGNhdGNoIChnZXRFeHBvc2VFcnJvcikge1xuXHRcdFx0YXdhaXQgdGhpcy5ob3N0LmxvYWRlckhvb2subGlmZWN5Y2xlLmFmdGVyR2V0RXhwb3NlLmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0ZXhwb3NlLFxuXHRcdFx0XHRtb2R1bGVJbmZvOiB0aGlzLnJlbW90ZUluZm8sXG5cdFx0XHRcdHJlbW90ZUVudHJ5RXhwb3J0cyxcblx0XHRcdFx0ZXJyb3I6IGdldEV4cG9zZUVycm9yLFxuXHRcdFx0XHRvcmlnaW46IHRoaXMuaG9zdFxuXHRcdFx0fSk7XG5cdFx0XHR0aHJvdyBnZXRFeHBvc2VFcnJvcjtcblx0XHR9XG5cdFx0Y29uc3Qgc3ltYm9sTmFtZSA9IHJlcXVpcmVfdG9vbC5wcm9jZXNzTW9kdWxlQWxpYXModGhpcy5yZW1vdGVJbmZvLm5hbWUsIGV4cG9zZSk7XG5cdFx0Y29uc3Qgd3JhcE1vZHVsZUZhY3RvcnkgPSB0aGlzLndyYXBlckZhY3RvcnkobW9kdWxlRmFjdG9yeSwgc3ltYm9sTmFtZSk7XG5cdFx0aWYgKCFsb2FkRmFjdG9yeSkgcmV0dXJuIHdyYXBNb2R1bGVGYWN0b3J5O1xuXHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5iZWZvcmVFeGVjdXRlRmFjdG9yeS5lbWl0KHtcblx0XHRcdGlkLFxuXHRcdFx0ZXhwb3NlLFxuXHRcdFx0bW9kdWxlSW5mbzogdGhpcy5yZW1vdGVJbmZvLFxuXHRcdFx0bG9hZEZhY3RvcnksXG5cdFx0XHRvcmlnaW46IHRoaXMuaG9zdFxuXHRcdH0pO1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCBleHBvc2VDb250ZW50ID0gYXdhaXQgd3JhcE1vZHVsZUZhY3RvcnkoKTtcblx0XHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5hZnRlckV4ZWN1dGVGYWN0b3J5LmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0ZXhwb3NlLFxuXHRcdFx0XHRtb2R1bGVJbmZvOiB0aGlzLnJlbW90ZUluZm8sXG5cdFx0XHRcdGxvYWRGYWN0b3J5LFxuXHRcdFx0XHRleHBvc2VNb2R1bGU6IGV4cG9zZUNvbnRlbnQsXG5cdFx0XHRcdG9yaWdpbjogdGhpcy5ob3N0XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiBleHBvc2VDb250ZW50O1xuXHRcdH0gY2F0Y2ggKGV4ZWN1dGVGYWN0b3J5RXJyb3IpIHtcblx0XHRcdGF3YWl0IHRoaXMuaG9zdC5sb2FkZXJIb29rLmxpZmVjeWNsZS5hZnRlckV4ZWN1dGVGYWN0b3J5LmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0ZXhwb3NlLFxuXHRcdFx0XHRtb2R1bGVJbmZvOiB0aGlzLnJlbW90ZUluZm8sXG5cdFx0XHRcdGxvYWRGYWN0b3J5LFxuXHRcdFx0XHRlcnJvcjogZXhlY3V0ZUZhY3RvcnlFcnJvcixcblx0XHRcdFx0b3JpZ2luOiB0aGlzLmhvc3Rcblx0XHRcdH0pO1xuXHRcdFx0dGhyb3cgZXhlY3V0ZUZhY3RvcnlFcnJvcjtcblx0XHR9XG5cdH1cblx0d3JhcGVyRmFjdG9yeShtb2R1bGVGYWN0b3J5LCBpZCkge1xuXHRcdGZ1bmN0aW9uIGRlZmluZU1vZHVsZUlkKHJlcywgaWQpIHtcblx0XHRcdGlmIChyZXMgJiYgdHlwZW9mIHJlcyA9PT0gXCJvYmplY3RcIiAmJiBPYmplY3QuaXNFeHRlbnNpYmxlKHJlcykgJiYgIU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVzLCBTeW1ib2wuZm9yKFwibWZfbW9kdWxlX2lkXCIpKSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlcywgU3ltYm9sLmZvcihcIm1mX21vZHVsZV9pZFwiKSwge1xuXHRcdFx0XHR2YWx1ZTogaWQsXG5cdFx0XHRcdGVudW1lcmFibGU6IGZhbHNlXG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGNvbnN0IHJlcyA9IG1vZHVsZUZhY3RvcnkoKTtcblx0XHRcdGlmIChyZXMgaW5zdGFuY2VvZiBQcm9taXNlKSByZXR1cm4gcmVzLnRoZW4oKGFzeW5jUmVzKSA9PiB7XG5cdFx0XHRcdGRlZmluZU1vZHVsZUlkKGFzeW5jUmVzLCBpZCk7XG5cdFx0XHRcdHJldHVybiBhc3luY1Jlcztcblx0XHRcdH0pO1xuXHRcdFx0ZGVmaW5lTW9kdWxlSWQocmVzLCBpZCk7XG5cdFx0XHRyZXR1cm4gcmVzO1xuXHRcdH07XG5cdH1cbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5Nb2R1bGUgPSBNb2R1bGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNwRCxxQkFBcUIsbUJBQU8sQ0FBQywyRUFBbUI7QUFDaEQseUJBQXlCLG1CQUFPLENBQUMsK0VBQXVCO0FBQ3hELHFCQUFxQixtQkFBTyxDQUFDLDJFQUFtQjtBQUNoRCx3QkFBd0IsbUJBQU8sQ0FBQyw4RUFBc0I7QUFDdEQsbUJBQU8sQ0FBQyw0RUFBb0I7QUFDNUIsNkJBQTZCLG1CQUFPLENBQUMsNkRBQXdCO0FBQzdELHFDQUFxQyxtQkFBTyxDQUFDLHFFQUFnQzs7QUFFN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZUFBZSxrQkFBa0I7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxrRkFBa0YsMERBQTBEO0FBQzVJO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLFdBQVcsZ0RBQWdEO0FBQzNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSyxLQUFLLFVBQVU7QUFDcEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUscUJBQXFCLGVBQWU7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYztBQUNkIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/module/index.cjs\n\n}");
|
|
72
|
+
|
|
73
|
+
},
|
|
74
|
+
"../../../node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
75
|
+
eval("{const require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_share = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_preload = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/preload.cjs\");\nconst require_index$1 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/plugins/generate-preload-assets.ts\nfunction splitId(id) {\n\tconst splitInfo = id.split(\":\");\n\tif (splitInfo.length === 1) return {\n\t\tname: splitInfo[0],\n\t\tversion: void 0\n\t};\n\telse if (splitInfo.length === 2) return {\n\t\tname: splitInfo[0],\n\t\tversion: splitInfo[1]\n\t};\n\telse return {\n\t\tname: splitInfo[1],\n\t\tversion: splitInfo[2]\n\t};\n}\nfunction traverseModuleInfo(globalSnapshot, remoteInfo, traverse, isRoot, memo = {}, remoteSnapshot) {\n\tconst { value: snapshotValue } = require_global.getInfoWithoutType(globalSnapshot, require_tool.getFMId(remoteInfo));\n\tconst effectiveRemoteSnapshot = remoteSnapshot || snapshotValue;\n\tif (effectiveRemoteSnapshot && !(0, _module_federation_sdk.isManifestProvider)(effectiveRemoteSnapshot)) {\n\t\ttraverse(effectiveRemoteSnapshot, remoteInfo, isRoot);\n\t\tif (effectiveRemoteSnapshot.remotesInfo) {\n\t\t\tconst remoteKeys = Object.keys(effectiveRemoteSnapshot.remotesInfo);\n\t\t\tfor (const key of remoteKeys) {\n\t\t\t\tif (memo[key]) continue;\n\t\t\t\tmemo[key] = true;\n\t\t\t\tconst subRemoteInfo = splitId(key);\n\t\t\t\tconst remoteValue = effectiveRemoteSnapshot.remotesInfo[key];\n\t\t\t\ttraverseModuleInfo(globalSnapshot, {\n\t\t\t\t\tname: subRemoteInfo.name,\n\t\t\t\t\tversion: remoteValue.matchedVersion\n\t\t\t\t}, traverse, false, memo, void 0);\n\t\t\t}\n\t\t}\n\t}\n}\nconst isExisted = (type, url) => {\n\treturn document.querySelector(`${type}[${type === \"link\" ? \"href\" : \"src\"}=\"${url}\"]`);\n};\nfunction generatePreloadAssets(origin, preloadOptions, remote, globalSnapshot, remoteSnapshot) {\n\tconst cssAssets = [];\n\tconst jsAssets = [];\n\tconst entryAssets = [];\n\tconst loadedSharedJsAssets = /* @__PURE__ */ new Set();\n\tconst loadedSharedCssAssets = /* @__PURE__ */ new Set();\n\tconst { options } = origin;\n\tconst { preloadConfig: rootPreloadConfig } = preloadOptions;\n\tconst { depsRemote } = rootPreloadConfig;\n\ttraverseModuleInfo(globalSnapshot, remote, (moduleInfoSnapshot, remoteInfo, isRoot) => {\n\t\tlet preloadConfig;\n\t\tif (isRoot) preloadConfig = rootPreloadConfig;\n\t\telse if (Array.isArray(depsRemote)) {\n\t\t\tconst findPreloadConfig = depsRemote.find((remoteConfig) => {\n\t\t\t\tif (remoteConfig.nameOrAlias === remoteInfo.name || remoteConfig.nameOrAlias === remoteInfo.alias) return true;\n\t\t\t\treturn false;\n\t\t\t});\n\t\t\tif (!findPreloadConfig) return;\n\t\t\tpreloadConfig = require_preload.defaultPreloadArgs(findPreloadConfig);\n\t\t} else if (depsRemote === true) preloadConfig = rootPreloadConfig;\n\t\telse return;\n\t\tconst remoteEntryUrl = (0, _module_federation_sdk.getResourceUrl)(moduleInfoSnapshot, require_tool.getRemoteEntryInfoFromSnapshot(moduleInfoSnapshot).url);\n\t\tif (remoteEntryUrl) entryAssets.push({\n\t\t\tname: remoteInfo.name,\n\t\t\tmoduleInfo: {\n\t\t\t\tname: remoteInfo.name,\n\t\t\t\tentry: remoteEntryUrl,\n\t\t\t\ttype: \"remoteEntryType\" in moduleInfoSnapshot ? moduleInfoSnapshot.remoteEntryType : \"global\",\n\t\t\t\tentryGlobalName: \"globalName\" in moduleInfoSnapshot ? moduleInfoSnapshot.globalName : remoteInfo.name,\n\t\t\t\tshareScope: \"\",\n\t\t\t\tversion: \"version\" in moduleInfoSnapshot ? moduleInfoSnapshot.version : void 0\n\t\t\t},\n\t\t\turl: remoteEntryUrl\n\t\t});\n\t\tlet moduleAssetsInfo = \"modules\" in moduleInfoSnapshot ? moduleInfoSnapshot.modules : [];\n\t\tconst normalizedPreloadExposes = require_preload.normalizePreloadExposes(preloadConfig.exposes);\n\t\tif (normalizedPreloadExposes.length && \"modules\" in moduleInfoSnapshot) moduleAssetsInfo = moduleInfoSnapshot?.modules?.reduce((assets, moduleAssetInfo) => {\n\t\t\tif (normalizedPreloadExposes?.indexOf(moduleAssetInfo.moduleName) !== -1) assets.push(moduleAssetInfo);\n\t\t\treturn assets;\n\t\t}, []);\n\t\tfunction handleAssets(assets) {\n\t\t\tconst assetsRes = assets.map((asset) => (0, _module_federation_sdk.getResourceUrl)(moduleInfoSnapshot, asset));\n\t\t\tif (preloadConfig.filter) return assetsRes.filter(preloadConfig.filter);\n\t\t\treturn assetsRes;\n\t\t}\n\t\tif (moduleAssetsInfo) {\n\t\t\tconst assetsLength = moduleAssetsInfo.length;\n\t\t\tfor (let index = 0; index < assetsLength; index++) {\n\t\t\t\tconst assetsInfo = moduleAssetsInfo[index];\n\t\t\t\tconst exposeFullPath = `${remoteInfo.name}/${assetsInfo.moduleName}`;\n\t\t\t\torigin.remoteHandler.hooks.lifecycle.handlePreloadModule.emit({\n\t\t\t\t\tid: assetsInfo.moduleName === \".\" ? remoteInfo.name : exposeFullPath,\n\t\t\t\t\tname: remoteInfo.name,\n\t\t\t\t\tremoteSnapshot: moduleInfoSnapshot,\n\t\t\t\t\tpreloadConfig,\n\t\t\t\t\tremote: remoteInfo,\n\t\t\t\t\torigin\n\t\t\t\t});\n\t\t\t\tif (require_global.getPreloaded(exposeFullPath)) continue;\n\t\t\t\tif (preloadConfig.resourceCategory === \"all\") {\n\t\t\t\t\tcssAssets.push(...handleAssets(assetsInfo.assets.css.async));\n\t\t\t\t\tcssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n\t\t\t\t\tjsAssets.push(...handleAssets(assetsInfo.assets.js.async));\n\t\t\t\t\tjsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n\t\t\t\t} else if (preloadConfig.resourceCategory === \"sync\") {\n\t\t\t\t\tcssAssets.push(...handleAssets(assetsInfo.assets.css.sync));\n\t\t\t\t\tjsAssets.push(...handleAssets(assetsInfo.assets.js.sync));\n\t\t\t\t}\n\t\t\t\trequire_global.setPreloaded(exposeFullPath);\n\t\t\t}\n\t\t}\n\t}, true, {}, remoteSnapshot);\n\tif (remoteSnapshot.shared && remoteSnapshot.shared.length > 0) {\n\t\tconst collectSharedAssets = (shareInfo, snapshotShared) => {\n\t\t\tconst { shared: registeredShared } = require_share.getRegisteredShare(origin.shareScopeMap, snapshotShared.sharedName, shareInfo, origin.sharedHandler.hooks.lifecycle.resolveShare) || {};\n\t\t\tif (registeredShared && typeof registeredShared.lib === \"function\") {\n\t\t\t\tsnapshotShared.assets.js.sync.forEach((asset) => {\n\t\t\t\t\tloadedSharedJsAssets.add(asset);\n\t\t\t\t});\n\t\t\t\tsnapshotShared.assets.css.sync.forEach((asset) => {\n\t\t\t\t\tloadedSharedCssAssets.add(asset);\n\t\t\t\t});\n\t\t\t}\n\t\t};\n\t\tremoteSnapshot.shared.forEach((shared) => {\n\t\t\tconst shareInfos = options.shared?.[shared.sharedName];\n\t\t\tif (!shareInfos) return;\n\t\t\tconst sharedOptions = shared.version ? shareInfos.find((s) => s.version === shared.version) : shareInfos;\n\t\t\tif (!sharedOptions) return;\n\t\t\trequire_tool.arrayOptions(sharedOptions).forEach((s) => {\n\t\t\t\tcollectSharedAssets(s, shared);\n\t\t\t});\n\t\t});\n\t}\n\tconst needPreloadJsAssets = jsAssets.filter((asset) => !loadedSharedJsAssets.has(asset) && !isExisted(\"script\", asset));\n\treturn {\n\t\tcssAssets: cssAssets.filter((asset) => !loadedSharedCssAssets.has(asset) && !isExisted(\"link\", asset)),\n\t\tjsAssetsWithoutEntry: needPreloadJsAssets,\n\t\tentryAssets: entryAssets.filter((entry) => !isExisted(\"script\", entry.url))\n\t};\n}\nconst generatePreloadAssetsPlugin = function() {\n\treturn {\n\t\tname: \"generate-preload-assets-plugin\",\n\t\tasync generatePreloadAssets(args) {\n\t\t\tconst { origin, preloadOptions, remoteInfo, remote, globalSnapshot, remoteSnapshot } = args;\n\t\t\tif (!_module_federation_sdk.isBrowserEnvValue) return {\n\t\t\t\tcssAssets: [],\n\t\t\t\tjsAssetsWithoutEntry: [],\n\t\t\t\tentryAssets: []\n\t\t\t};\n\t\t\tif (require_tool.isRemoteInfoWithEntry(remote) && require_tool.isPureRemoteEntry(remote)) return {\n\t\t\t\tcssAssets: [],\n\t\t\t\tjsAssetsWithoutEntry: [],\n\t\t\t\tentryAssets: [{\n\t\t\t\t\tname: remote.name,\n\t\t\t\t\turl: remote.entry,\n\t\t\t\t\tmoduleInfo: {\n\t\t\t\t\t\tname: remoteInfo.name,\n\t\t\t\t\t\tentry: remote.entry,\n\t\t\t\t\t\ttype: remoteInfo.type || \"global\",\n\t\t\t\t\t\tentryGlobalName: \"\",\n\t\t\t\t\t\tshareScope: \"\"\n\t\t\t\t\t}\n\t\t\t\t}]\n\t\t\t};\n\t\t\trequire_index$1.assignRemoteInfo(remoteInfo, remoteSnapshot);\n\t\t\treturn generatePreloadAssets(origin, preloadOptions, remoteInfo, globalSnapshot, remoteSnapshot);\n\t\t}\n\t};\n};\n\n//#endregion\nexports.generatePreloadAssetsPlugin = generatePreloadAssetsPlugin;\n//# sourceMappingURL=generate-preload-assets.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvZ2VuZXJhdGUtcHJlbG9hZC1hc3NldHMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvZ2VuZXJhdGUtcHJlbG9hZC1hc3NldHMuY2pzP2U2OTIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV90b29sID0gcmVxdWlyZSgnLi4vdXRpbHMvdG9vbC5janMnKTtcbmNvbnN0IHJlcXVpcmVfZ2xvYmFsID0gcmVxdWlyZSgnLi4vZ2xvYmFsLmNqcycpO1xuY29uc3QgcmVxdWlyZV9zaGFyZSA9IHJlcXVpcmUoJy4uL3V0aWxzL3NoYXJlLmNqcycpO1xucmVxdWlyZSgnLi4vdXRpbHMvaW5kZXguY2pzJyk7XG5jb25zdCByZXF1aXJlX3ByZWxvYWQgPSByZXF1aXJlKCcuLi91dGlscy9wcmVsb2FkLmNqcycpO1xuY29uc3QgcmVxdWlyZV9pbmRleCQxID0gcmVxdWlyZSgnLi9zbmFwc2hvdC9pbmRleC5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5cbi8vI3JlZ2lvbiBzcmMvcGx1Z2lucy9nZW5lcmF0ZS1wcmVsb2FkLWFzc2V0cy50c1xuZnVuY3Rpb24gc3BsaXRJZChpZCkge1xuXHRjb25zdCBzcGxpdEluZm8gPSBpZC5zcGxpdChcIjpcIik7XG5cdGlmIChzcGxpdEluZm8ubGVuZ3RoID09PSAxKSByZXR1cm4ge1xuXHRcdG5hbWU6IHNwbGl0SW5mb1swXSxcblx0XHR2ZXJzaW9uOiB2b2lkIDBcblx0fTtcblx0ZWxzZSBpZiAoc3BsaXRJbmZvLmxlbmd0aCA9PT0gMikgcmV0dXJuIHtcblx0XHRuYW1lOiBzcGxpdEluZm9bMF0sXG5cdFx0dmVyc2lvbjogc3BsaXRJbmZvWzFdXG5cdH07XG5cdGVsc2UgcmV0dXJuIHtcblx0XHRuYW1lOiBzcGxpdEluZm9bMV0sXG5cdFx0dmVyc2lvbjogc3BsaXRJbmZvWzJdXG5cdH07XG59XG5mdW5jdGlvbiB0cmF2ZXJzZU1vZHVsZUluZm8oZ2xvYmFsU25hcHNob3QsIHJlbW90ZUluZm8sIHRyYXZlcnNlLCBpc1Jvb3QsIG1lbW8gPSB7fSwgcmVtb3RlU25hcHNob3QpIHtcblx0Y29uc3QgeyB2YWx1ZTogc25hcHNob3RWYWx1ZSB9ID0gcmVxdWlyZV9nbG9iYWwuZ2V0SW5mb1dpdGhvdXRUeXBlKGdsb2JhbFNuYXBzaG90LCByZXF1aXJlX3Rvb2wuZ2V0Rk1JZChyZW1vdGVJbmZvKSk7XG5cdGNvbnN0IGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90ID0gcmVtb3RlU25hcHNob3QgfHwgc25hcHNob3RWYWx1ZTtcblx0aWYgKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90ICYmICEoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5pc01hbmlmZXN0UHJvdmlkZXIpKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90KSkge1xuXHRcdHRyYXZlcnNlKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90LCByZW1vdGVJbmZvLCBpc1Jvb3QpO1xuXHRcdGlmIChlZmZlY3RpdmVSZW1vdGVTbmFwc2hvdC5yZW1vdGVzSW5mbykge1xuXHRcdFx0Y29uc3QgcmVtb3RlS2V5cyA9IE9iamVjdC5rZXlzKGVmZmVjdGl2ZVJlbW90ZVNuYXBzaG90LnJlbW90ZXNJbmZvKTtcblx0XHRcdGZvciAoY29uc3Qga2V5IG9mIHJlbW90ZUtleXMpIHtcblx0XHRcdFx0aWYgKG1lbW9ba2V5XSkgY29udGludWU7XG5cdFx0XHRcdG1lbW9ba2V5XSA9IHRydWU7XG5cdFx0XHRcdGNvbnN0IHN1YlJlbW90ZUluZm8gPSBzcGxpdElkKGtleSk7XG5cdFx0XHRcdGNvbnN0IHJlbW90ZVZhbHVlID0gZWZmZWN0aXZlUmVtb3RlU25hcHNob3QucmVtb3Rlc0luZm9ba2V5XTtcblx0XHRcdFx0dHJhdmVyc2VNb2R1bGVJbmZvKGdsb2JhbFNuYXBzaG90LCB7XG5cdFx0XHRcdFx0bmFtZTogc3ViUmVtb3RlSW5mby5uYW1lLFxuXHRcdFx0XHRcdHZlcnNpb246IHJlbW90ZVZhbHVlLm1hdGNoZWRWZXJzaW9uXG5cdFx0XHRcdH0sIHRyYXZlcnNlLCBmYWxzZSwgbWVtbywgdm9pZCAwKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbmNvbnN0IGlzRXhpc3RlZCA9ICh0eXBlLCB1cmwpID0+IHtcblx0cmV0dXJuIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCR7dHlwZX1bJHt0eXBlID09PSBcImxpbmtcIiA/IFwiaHJlZlwiIDogXCJzcmNcIn09XCIke3VybH1cIl1gKTtcbn07XG5mdW5jdGlvbiBnZW5lcmF0ZVByZWxvYWRBc3NldHMob3JpZ2luLCBwcmVsb2FkT3B0aW9ucywgcmVtb3RlLCBnbG9iYWxTbmFwc2hvdCwgcmVtb3RlU25hcHNob3QpIHtcblx0Y29uc3QgY3NzQXNzZXRzID0gW107XG5cdGNvbnN0IGpzQXNzZXRzID0gW107XG5cdGNvbnN0IGVudHJ5QXNzZXRzID0gW107XG5cdGNvbnN0IGxvYWRlZFNoYXJlZEpzQXNzZXRzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcblx0Y29uc3QgbG9hZGVkU2hhcmVkQ3NzQXNzZXRzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcblx0Y29uc3QgeyBvcHRpb25zIH0gPSBvcmlnaW47XG5cdGNvbnN0IHsgcHJlbG9hZENvbmZpZzogcm9vdFByZWxvYWRDb25maWcgfSA9IHByZWxvYWRPcHRpb25zO1xuXHRjb25zdCB7IGRlcHNSZW1vdGUgfSA9IHJvb3RQcmVsb2FkQ29uZmlnO1xuXHR0cmF2ZXJzZU1vZHVsZUluZm8oZ2xvYmFsU25hcHNob3QsIHJlbW90ZSwgKG1vZHVsZUluZm9TbmFwc2hvdCwgcmVtb3RlSW5mbywgaXNSb290KSA9PiB7XG5cdFx0bGV0IHByZWxvYWRDb25maWc7XG5cdFx0aWYgKGlzUm9vdCkgcHJlbG9hZENvbmZpZyA9IHJvb3RQcmVsb2FkQ29uZmlnO1xuXHRcdGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGVwc1JlbW90ZSkpIHtcblx0XHRcdGNvbnN0IGZpbmRQcmVsb2FkQ29uZmlnID0gZGVwc1JlbW90ZS5maW5kKChyZW1vdGVDb25maWcpID0+IHtcblx0XHRcdFx0aWYgKHJlbW90ZUNvbmZpZy5uYW1lT3JBbGlhcyA9PT0gcmVtb3RlSW5mby5uYW1lIHx8IHJlbW90ZUNvbmZpZy5uYW1lT3JBbGlhcyA9PT0gcmVtb3RlSW5mby5hbGlhcykgcmV0dXJuIHRydWU7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH0pO1xuXHRcdFx0aWYgKCFmaW5kUHJlbG9hZENvbmZpZykgcmV0dXJuO1xuXHRcdFx0cHJlbG9hZENvbmZpZyA9IHJlcXVpcmVfcHJlbG9hZC5kZWZhdWx0UHJlbG9hZEFyZ3MoZmluZFByZWxvYWRDb25maWcpO1xuXHRcdH0gZWxzZSBpZiAoZGVwc1JlbW90ZSA9PT0gdHJ1ZSkgcHJlbG9hZENvbmZpZyA9IHJvb3RQcmVsb2FkQ29uZmlnO1xuXHRcdGVsc2UgcmV0dXJuO1xuXHRcdGNvbnN0IHJlbW90ZUVudHJ5VXJsID0gKDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuZ2V0UmVzb3VyY2VVcmwpKG1vZHVsZUluZm9TbmFwc2hvdCwgcmVxdWlyZV90b29sLmdldFJlbW90ZUVudHJ5SW5mb0Zyb21TbmFwc2hvdChtb2R1bGVJbmZvU25hcHNob3QpLnVybCk7XG5cdFx0aWYgKHJlbW90ZUVudHJ5VXJsKSBlbnRyeUFzc2V0cy5wdXNoKHtcblx0XHRcdG5hbWU6IHJlbW90ZUluZm8ubmFtZSxcblx0XHRcdG1vZHVsZUluZm86IHtcblx0XHRcdFx0bmFtZTogcmVtb3RlSW5mby5uYW1lLFxuXHRcdFx0XHRlbnRyeTogcmVtb3RlRW50cnlVcmwsXG5cdFx0XHRcdHR5cGU6IFwicmVtb3RlRW50cnlUeXBlXCIgaW4gbW9kdWxlSW5mb1NuYXBzaG90ID8gbW9kdWxlSW5mb1NuYXBzaG90LnJlbW90ZUVudHJ5VHlwZSA6IFwiZ2xvYmFsXCIsXG5cdFx0XHRcdGVudHJ5R2xvYmFsTmFtZTogXCJnbG9iYWxOYW1lXCIgaW4gbW9kdWxlSW5mb1NuYXBzaG90ID8gbW9kdWxlSW5mb1NuYXBzaG90Lmdsb2JhbE5hbWUgOiByZW1vdGVJbmZvLm5hbWUsXG5cdFx0XHRcdHNoYXJlU2NvcGU6IFwiXCIsXG5cdFx0XHRcdHZlcnNpb246IFwidmVyc2lvblwiIGluIG1vZHVsZUluZm9TbmFwc2hvdCA/IG1vZHVsZUluZm9TbmFwc2hvdC52ZXJzaW9uIDogdm9pZCAwXG5cdFx0XHR9LFxuXHRcdFx0dXJsOiByZW1vdGVFbnRyeVVybFxuXHRcdH0pO1xuXHRcdGxldCBtb2R1bGVBc3NldHNJbmZvID0gXCJtb2R1bGVzXCIgaW4gbW9kdWxlSW5mb1NuYXBzaG90ID8gbW9kdWxlSW5mb1NuYXBzaG90Lm1vZHVsZXMgOiBbXTtcblx0XHRjb25zdCBub3JtYWxpemVkUHJlbG9hZEV4cG9zZXMgPSByZXF1aXJlX3ByZWxvYWQubm9ybWFsaXplUHJlbG9hZEV4cG9zZXMocHJlbG9hZENvbmZpZy5leHBvc2VzKTtcblx0XHRpZiAobm9ybWFsaXplZFByZWxvYWRFeHBvc2VzLmxlbmd0aCAmJiBcIm1vZHVsZXNcIiBpbiBtb2R1bGVJbmZvU25hcHNob3QpIG1vZHVsZUFzc2V0c0luZm8gPSBtb2R1bGVJbmZvU25hcHNob3Q/Lm1vZHVsZXM/LnJlZHVjZSgoYXNzZXRzLCBtb2R1bGVBc3NldEluZm8pID0+IHtcblx0XHRcdGlmIChub3JtYWxpemVkUHJlbG9hZEV4cG9zZXM/LmluZGV4T2YobW9kdWxlQXNzZXRJbmZvLm1vZHVsZU5hbWUpICE9PSAtMSkgYXNzZXRzLnB1c2gobW9kdWxlQXNzZXRJbmZvKTtcblx0XHRcdHJldHVybiBhc3NldHM7XG5cdFx0fSwgW10pO1xuXHRcdGZ1bmN0aW9uIGhhbmRsZUFzc2V0cyhhc3NldHMpIHtcblx0XHRcdGNvbnN0IGFzc2V0c1JlcyA9IGFzc2V0cy5tYXAoKGFzc2V0KSA9PiAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5nZXRSZXNvdXJjZVVybCkobW9kdWxlSW5mb1NuYXBzaG90LCBhc3NldCkpO1xuXHRcdFx0aWYgKHByZWxvYWRDb25maWcuZmlsdGVyKSByZXR1cm4gYXNzZXRzUmVzLmZpbHRlcihwcmVsb2FkQ29uZmlnLmZpbHRlcik7XG5cdFx0XHRyZXR1cm4gYXNzZXRzUmVzO1xuXHRcdH1cblx0XHRpZiAobW9kdWxlQXNzZXRzSW5mbykge1xuXHRcdFx0Y29uc3QgYXNzZXRzTGVuZ3RoID0gbW9kdWxlQXNzZXRzSW5mby5sZW5ndGg7XG5cdFx0XHRmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXNzZXRzTGVuZ3RoOyBpbmRleCsrKSB7XG5cdFx0XHRcdGNvbnN0IGFzc2V0c0luZm8gPSBtb2R1bGVBc3NldHNJbmZvW2luZGV4XTtcblx0XHRcdFx0Y29uc3QgZXhwb3NlRnVsbFBhdGggPSBgJHtyZW1vdGVJbmZvLm5hbWV9LyR7YXNzZXRzSW5mby5tb2R1bGVOYW1lfWA7XG5cdFx0XHRcdG9yaWdpbi5yZW1vdGVIYW5kbGVyLmhvb2tzLmxpZmVjeWNsZS5oYW5kbGVQcmVsb2FkTW9kdWxlLmVtaXQoe1xuXHRcdFx0XHRcdGlkOiBhc3NldHNJbmZvLm1vZHVsZU5hbWUgPT09IFwiLlwiID8gcmVtb3RlSW5mby5uYW1lIDogZXhwb3NlRnVsbFBhdGgsXG5cdFx0XHRcdFx0bmFtZTogcmVtb3RlSW5mby5uYW1lLFxuXHRcdFx0XHRcdHJlbW90ZVNuYXBzaG90OiBtb2R1bGVJbmZvU25hcHNob3QsXG5cdFx0XHRcdFx0cHJlbG9hZENvbmZpZyxcblx0XHRcdFx0XHRyZW1vdGU6IHJlbW90ZUluZm8sXG5cdFx0XHRcdFx0b3JpZ2luXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZiAocmVxdWlyZV9nbG9iYWwuZ2V0UHJlbG9hZGVkKGV4cG9zZUZ1bGxQYXRoKSkgY29udGludWU7XG5cdFx0XHRcdGlmIChwcmVsb2FkQ29uZmlnLnJlc291cmNlQ2F0ZWdvcnkgPT09IFwiYWxsXCIpIHtcblx0XHRcdFx0XHRjc3NBc3NldHMucHVzaCguLi5oYW5kbGVBc3NldHMoYXNzZXRzSW5mby5hc3NldHMuY3NzLmFzeW5jKSk7XG5cdFx0XHRcdFx0Y3NzQXNzZXRzLnB1c2goLi4uaGFuZGxlQXNzZXRzKGFzc2V0c0luZm8uYXNzZXRzLmNzcy5zeW5jKSk7XG5cdFx0XHRcdFx0anNBc3NldHMucHVzaCguLi5oYW5kbGVBc3NldHMoYXNzZXRzSW5mby5hc3NldHMuanMuYXN5bmMpKTtcblx0XHRcdFx0XHRqc0Fzc2V0cy5wdXNoKC4uLmhhbmRsZUFzc2V0cyhhc3NldHNJbmZvLmFzc2V0cy5qcy5zeW5jKSk7XG5cdFx0XHRcdH0gZWxzZSBpZiAocHJlbG9hZENvbmZpZy5yZXNvdXJjZUNhdGVnb3J5ID09PSBcInN5bmNcIikge1xuXHRcdFx0XHRcdGNzc0Fzc2V0cy5wdXNoKC4uLmhhbmRsZUFzc2V0cyhhc3NldHNJbmZvLmFzc2V0cy5jc3Muc3luYykpO1xuXHRcdFx0XHRcdGpzQXNzZXRzLnB1c2goLi4uaGFuZGxlQXNzZXRzKGFzc2V0c0luZm8uYXNzZXRzLmpzLnN5bmMpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXF1aXJlX2dsb2JhbC5zZXRQcmVsb2FkZWQoZXhwb3NlRnVsbFBhdGgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fSwgdHJ1ZSwge30sIHJlbW90ZVNuYXBzaG90KTtcblx0aWYgKHJlbW90ZVNuYXBzaG90LnNoYXJlZCAmJiByZW1vdGVTbmFwc2hvdC5zaGFyZWQubGVuZ3RoID4gMCkge1xuXHRcdGNvbnN0IGNvbGxlY3RTaGFyZWRBc3NldHMgPSAoc2hhcmVJbmZvLCBzbmFwc2hvdFNoYXJlZCkgPT4ge1xuXHRcdFx0Y29uc3QgeyBzaGFyZWQ6IHJlZ2lzdGVyZWRTaGFyZWQgfSA9IHJlcXVpcmVfc2hhcmUuZ2V0UmVnaXN0ZXJlZFNoYXJlKG9yaWdpbi5zaGFyZVNjb3BlTWFwLCBzbmFwc2hvdFNoYXJlZC5zaGFyZWROYW1lLCBzaGFyZUluZm8sIG9yaWdpbi5zaGFyZWRIYW5kbGVyLmhvb2tzLmxpZmVjeWNsZS5yZXNvbHZlU2hhcmUpIHx8IHt9O1xuXHRcdFx0aWYgKHJlZ2lzdGVyZWRTaGFyZWQgJiYgdHlwZW9mIHJlZ2lzdGVyZWRTaGFyZWQubGliID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0c25hcHNob3RTaGFyZWQuYXNzZXRzLmpzLnN5bmMuZm9yRWFjaCgoYXNzZXQpID0+IHtcblx0XHRcdFx0XHRsb2FkZWRTaGFyZWRKc0Fzc2V0cy5hZGQoYXNzZXQpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0c25hcHNob3RTaGFyZWQuYXNzZXRzLmNzcy5zeW5jLmZvckVhY2goKGFzc2V0KSA9PiB7XG5cdFx0XHRcdFx0bG9hZGVkU2hhcmVkQ3NzQXNzZXRzLmFkZChhc3NldCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0cmVtb3RlU25hcHNob3Quc2hhcmVkLmZvckVhY2goKHNoYXJlZCkgPT4ge1xuXHRcdFx0Y29uc3Qgc2hhcmVJbmZvcyA9IG9wdGlvbnMuc2hhcmVkPy5bc2hhcmVkLnNoYXJlZE5hbWVdO1xuXHRcdFx0aWYgKCFzaGFyZUluZm9zKSByZXR1cm47XG5cdFx0XHRjb25zdCBzaGFyZWRPcHRpb25zID0gc2hhcmVkLnZlcnNpb24gPyBzaGFyZUluZm9zLmZpbmQoKHMpID0+IHMudmVyc2lvbiA9PT0gc2hhcmVkLnZlcnNpb24pIDogc2hhcmVJbmZvcztcblx0XHRcdGlmICghc2hhcmVkT3B0aW9ucykgcmV0dXJuO1xuXHRcdFx0cmVxdWlyZV90b29sLmFycmF5T3B0aW9ucyhzaGFyZWRPcHRpb25zKS5mb3JFYWNoKChzKSA9PiB7XG5cdFx0XHRcdGNvbGxlY3RTaGFyZWRBc3NldHMocywgc2hhcmVkKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG5cdGNvbnN0IG5lZWRQcmVsb2FkSnNBc3NldHMgPSBqc0Fzc2V0cy5maWx0ZXIoKGFzc2V0KSA9PiAhbG9hZGVkU2hhcmVkSnNBc3NldHMuaGFzKGFzc2V0KSAmJiAhaXNFeGlzdGVkKFwic2NyaXB0XCIsIGFzc2V0KSk7XG5cdHJldHVybiB7XG5cdFx0Y3NzQXNzZXRzOiBjc3NBc3NldHMuZmlsdGVyKChhc3NldCkgPT4gIWxvYWRlZFNoYXJlZENzc0Fzc2V0cy5oYXMoYXNzZXQpICYmICFpc0V4aXN0ZWQoXCJsaW5rXCIsIGFzc2V0KSksXG5cdFx0anNBc3NldHNXaXRob3V0RW50cnk6IG5lZWRQcmVsb2FkSnNBc3NldHMsXG5cdFx0ZW50cnlBc3NldHM6IGVudHJ5QXNzZXRzLmZpbHRlcigoZW50cnkpID0+ICFpc0V4aXN0ZWQoXCJzY3JpcHRcIiwgZW50cnkudXJsKSlcblx0fTtcbn1cbmNvbnN0IGdlbmVyYXRlUHJlbG9hZEFzc2V0c1BsdWdpbiA9IGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4ge1xuXHRcdG5hbWU6IFwiZ2VuZXJhdGUtcHJlbG9hZC1hc3NldHMtcGx1Z2luXCIsXG5cdFx0YXN5bmMgZ2VuZXJhdGVQcmVsb2FkQXNzZXRzKGFyZ3MpIHtcblx0XHRcdGNvbnN0IHsgb3JpZ2luLCBwcmVsb2FkT3B0aW9ucywgcmVtb3RlSW5mbywgcmVtb3RlLCBnbG9iYWxTbmFwc2hvdCwgcmVtb3RlU25hcHNob3QgfSA9IGFyZ3M7XG5cdFx0XHRpZiAoIV9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNCcm93c2VyRW52VmFsdWUpIHJldHVybiB7XG5cdFx0XHRcdGNzc0Fzc2V0czogW10sXG5cdFx0XHRcdGpzQXNzZXRzV2l0aG91dEVudHJ5OiBbXSxcblx0XHRcdFx0ZW50cnlBc3NldHM6IFtdXG5cdFx0XHR9O1xuXHRcdFx0aWYgKHJlcXVpcmVfdG9vbC5pc1JlbW90ZUluZm9XaXRoRW50cnkocmVtb3RlKSAmJiByZXF1aXJlX3Rvb2wuaXNQdXJlUmVtb3RlRW50cnkocmVtb3RlKSkgcmV0dXJuIHtcblx0XHRcdFx0Y3NzQXNzZXRzOiBbXSxcblx0XHRcdFx0anNBc3NldHNXaXRob3V0RW50cnk6IFtdLFxuXHRcdFx0XHRlbnRyeUFzc2V0czogW3tcblx0XHRcdFx0XHRuYW1lOiByZW1vdGUubmFtZSxcblx0XHRcdFx0XHR1cmw6IHJlbW90ZS5lbnRyeSxcblx0XHRcdFx0XHRtb2R1bGVJbmZvOiB7XG5cdFx0XHRcdFx0XHRuYW1lOiByZW1vdGVJbmZvLm5hbWUsXG5cdFx0XHRcdFx0XHRlbnRyeTogcmVtb3RlLmVudHJ5LFxuXHRcdFx0XHRcdFx0dHlwZTogcmVtb3RlSW5mby50eXBlIHx8IFwiZ2xvYmFsXCIsXG5cdFx0XHRcdFx0XHRlbnRyeUdsb2JhbE5hbWU6IFwiXCIsXG5cdFx0XHRcdFx0XHRzaGFyZVNjb3BlOiBcIlwiXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XVxuXHRcdFx0fTtcblx0XHRcdHJlcXVpcmVfaW5kZXgkMS5hc3NpZ25SZW1vdGVJbmZvKHJlbW90ZUluZm8sIHJlbW90ZVNuYXBzaG90KTtcblx0XHRcdHJldHVybiBnZW5lcmF0ZVByZWxvYWRBc3NldHMob3JpZ2luLCBwcmVsb2FkT3B0aW9ucywgcmVtb3RlSW5mbywgZ2xvYmFsU25hcHNob3QsIHJlbW90ZVNuYXBzaG90KTtcblx0XHR9XG5cdH07XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZ2VuZXJhdGVQcmVsb2FkQXNzZXRzUGx1Z2luID0gZ2VuZXJhdGVQcmVsb2FkQXNzZXRzUGx1Z2luO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2VuZXJhdGUtcHJlbG9hZC1hc3NldHMuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQkFBcUIsbUJBQU8sQ0FBQywyRUFBbUI7QUFDaEQsdUJBQXVCLG1CQUFPLENBQUMsdUVBQWU7QUFDOUMsc0JBQXNCLG1CQUFPLENBQUMsNEVBQW9CO0FBQ2xELG1CQUFPLENBQUMsNEVBQW9CO0FBQzVCLHdCQUF3QixtQkFBTyxDQUFDLDhFQUFzQjtBQUN0RCx3QkFBd0IsbUJBQU8sQ0FBQyx1RkFBc0I7QUFDdEQsNkJBQTZCLG1CQUFPLENBQUMsNkRBQXdCOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1GQUFtRjtBQUNuRixTQUFTLHVCQUF1QjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLEtBQUssR0FBRyxpQ0FBaUMsSUFBSSxJQUFJO0FBQ25GO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxVQUFVO0FBQ25CLFNBQVMsbUNBQW1DO0FBQzVDLFNBQVMsYUFBYTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixzQkFBc0I7QUFDN0M7QUFDQSw4QkFBOEIsZ0JBQWdCLEdBQUcsc0JBQXNCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLFVBQVU7QUFDWjtBQUNBO0FBQ0EsV0FBVywyQkFBMkI7QUFDdEM7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLDZFQUE2RTtBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/plugins/generate-preload-assets.cjs\n\n}");
|
|
76
|
+
|
|
77
|
+
},
|
|
78
|
+
"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
79
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\nconst require_context = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_asyncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs\");\nconst require_asyncWaterfallHooks = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\");\nconst require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/plugins/snapshot/SnapshotHandler.ts\nfunction getGlobalRemoteInfo(moduleInfo, origin) {\n\tconst hostGlobalSnapshot = require_global.getGlobalSnapshotInfoByModuleInfo({\n\t\tname: origin.name,\n\t\tversion: origin.options.version\n\t});\n\tconst globalRemoteInfo = hostGlobalSnapshot && \"remotesInfo\" in hostGlobalSnapshot && hostGlobalSnapshot.remotesInfo && require_global.getInfoWithoutType(hostGlobalSnapshot.remotesInfo, moduleInfo.name).value;\n\tif (globalRemoteInfo && globalRemoteInfo.matchedVersion) return {\n\t\thostGlobalSnapshot,\n\t\tglobalSnapshot: require_global.getGlobalSnapshot(),\n\t\tremoteSnapshot: require_global.getGlobalSnapshotInfoByModuleInfo({\n\t\t\tname: moduleInfo.name,\n\t\t\tversion: globalRemoteInfo.matchedVersion\n\t\t})\n\t};\n\treturn {\n\t\thostGlobalSnapshot: void 0,\n\t\tglobalSnapshot: require_global.getGlobalSnapshot(),\n\t\tremoteSnapshot: require_global.getGlobalSnapshotInfoByModuleInfo({\n\t\t\tname: moduleInfo.name,\n\t\t\tversion: \"version\" in moduleInfo ? moduleInfo.version : void 0\n\t\t})\n\t};\n}\nvar SnapshotHandler = class {\n\tconstructor(HostInstance) {\n\t\tthis.loadingHostSnapshot = null;\n\t\tthis.manifestCache = /* @__PURE__ */ new Map();\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({\n\t\t\tbeforeLoadRemoteSnapshot: new require_asyncHook.AsyncHook(\"beforeLoadRemoteSnapshot\"),\n\t\t\tloadSnapshot: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"loadGlobalSnapshot\"),\n\t\t\tloadRemoteSnapshot: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"loadRemoteSnapshot\"),\n\t\t\tafterLoadSnapshot: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"afterLoadSnapshot\")\n\t\t});\n\t\tthis.manifestLoading = require_global.Global.__FEDERATION__.__MANIFEST_LOADING__;\n\t\tthis.HostInstance = HostInstance;\n\t\tthis.loaderHook = HostInstance.loaderHook;\n\t}\n\tasync loadRemoteSnapshotInfo({ moduleInfo, id, initiator = \"loadRemote\" }) {\n\t\tconst { options } = this.HostInstance;\n\t\tawait this.hooks.lifecycle.beforeLoadRemoteSnapshot.emit({\n\t\t\toptions,\n\t\t\tmoduleInfo,\n\t\t\torigin: this.HostInstance\n\t\t});\n\t\tlet hostSnapshot = require_global.getGlobalSnapshotInfoByModuleInfo({\n\t\t\tname: this.HostInstance.options.name,\n\t\t\tversion: this.HostInstance.options.version\n\t\t});\n\t\tif (!hostSnapshot) {\n\t\t\thostSnapshot = {\n\t\t\t\tversion: this.HostInstance.options.version || \"\",\n\t\t\t\tremoteEntry: \"\",\n\t\t\t\tremotesInfo: {}\n\t\t\t};\n\t\t\trequire_global.addGlobalSnapshot({ [this.HostInstance.options.name]: hostSnapshot });\n\t\t}\n\t\tif (hostSnapshot && \"remotesInfo\" in hostSnapshot && !require_global.getInfoWithoutType(hostSnapshot.remotesInfo, moduleInfo.name).value) {\n\t\t\tif (\"version\" in moduleInfo || \"entry\" in moduleInfo) hostSnapshot.remotesInfo = {\n\t\t\t\t...hostSnapshot?.remotesInfo,\n\t\t\t\t[moduleInfo.name]: { matchedVersion: \"version\" in moduleInfo ? moduleInfo.version : moduleInfo.entry }\n\t\t\t};\n\t\t}\n\t\tconst { hostGlobalSnapshot, remoteSnapshot, globalSnapshot } = this.getGlobalRemoteInfo(moduleInfo);\n\t\tconst { remoteSnapshot: globalRemoteSnapshot, globalSnapshot: globalSnapshotRes } = await this.hooks.lifecycle.loadSnapshot.emit({\n\t\t\toptions,\n\t\t\tmoduleInfo,\n\t\t\thostGlobalSnapshot,\n\t\t\tremoteSnapshot,\n\t\t\tglobalSnapshot\n\t\t});\n\t\tlet mSnapshot;\n\t\tlet gSnapshot;\n\t\tif (globalRemoteSnapshot) if ((0, _module_federation_sdk.isManifestProvider)(globalRemoteSnapshot)) {\n\t\t\tconst remoteEntry = _module_federation_sdk.isBrowserEnvValue ? globalRemoteSnapshot.remoteEntry : globalRemoteSnapshot.ssrRemoteEntry || globalRemoteSnapshot.remoteEntry || \"\";\n\t\t\tconst moduleSnapshot = await this.loadManifestSnapshot(remoteEntry, moduleInfo, {}, {\n\t\t\t\tinitiator,\n\t\t\t\tid: id || moduleInfo.name\n\t\t\t});\n\t\t\tconst globalSnapshotRes = require_global.setGlobalSnapshotInfoByModuleInfo({\n\t\t\t\t...moduleInfo,\n\t\t\t\tentry: remoteEntry\n\t\t\t}, moduleSnapshot);\n\t\t\tmSnapshot = moduleSnapshot;\n\t\t\tgSnapshot = globalSnapshotRes;\n\t\t} else {\n\t\t\tconst { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n\t\t\t\toptions: this.HostInstance.options,\n\t\t\t\tmoduleInfo,\n\t\t\t\tremoteSnapshot: globalRemoteSnapshot,\n\t\t\t\tfrom: \"global\"\n\t\t\t});\n\t\t\tmSnapshot = remoteSnapshotRes;\n\t\t\tgSnapshot = globalSnapshotRes;\n\t\t}\n\t\telse if (require_tool.isRemoteInfoWithEntry(moduleInfo)) {\n\t\t\tconst moduleSnapshot = await this.loadManifestSnapshot(moduleInfo.entry, moduleInfo, {}, {\n\t\t\t\tinitiator,\n\t\t\t\tid: id || moduleInfo.name\n\t\t\t});\n\t\t\tconst globalSnapshotRes = require_global.setGlobalSnapshotInfoByModuleInfo(moduleInfo, moduleSnapshot);\n\t\t\tmSnapshot = moduleSnapshot;\n\t\t\tgSnapshot = globalSnapshotRes;\n\t\t} else require_logger.error(_module_federation_error_codes.RUNTIME_007, _module_federation_error_codes.runtimeDescMap, {\n\t\t\tremoteName: moduleInfo.name,\n\t\t\tremoteVersion: moduleInfo.version,\n\t\t\thostName: this.HostInstance.options.name,\n\t\t\tglobalSnapshot: JSON.stringify(globalSnapshotRes)\n\t\t}, void 0, require_context.optionsToMFContext(this.HostInstance.options));\n\t\tawait this.hooks.lifecycle.afterLoadSnapshot.emit({\n\t\t\tid,\n\t\t\thost: this.HostInstance,\n\t\t\toptions,\n\t\t\tmoduleInfo,\n\t\t\tremoteSnapshot: mSnapshot\n\t\t});\n\t\treturn {\n\t\t\tremoteSnapshot: mSnapshot,\n\t\t\tglobalSnapshot: gSnapshot\n\t\t};\n\t}\n\tgetGlobalRemoteInfo(moduleInfo) {\n\t\treturn getGlobalRemoteInfo(moduleInfo, this.HostInstance);\n\t}\n\tasync getManifestJson(manifestUrl, moduleInfo, extraOptions, resourceOptions) {\n\t\tconst getManifest = async () => {\n\t\t\tconst remoteInfo = require_load.getRemoteInfo(moduleInfo);\n\t\t\tlet manifestJson = this.manifestCache.get(manifestUrl);\n\t\t\tif (manifestJson) return manifestJson;\n\t\t\ttry {\n\t\t\t\tlet res = await this.loaderHook.lifecycle.fetch.emit(manifestUrl, {}, remoteInfo, resourceOptions ? {\n\t\t\t\t\t...resourceOptions,\n\t\t\t\t\turl: manifestUrl,\n\t\t\t\t\tresourceType: \"manifest\"\n\t\t\t\t} : void 0);\n\t\t\t\tif (!res || !(res instanceof Response)) res = await fetch(manifestUrl, {});\n\t\t\t\tmanifestJson = await res.json();\n\t\t\t} catch (err) {\n\t\t\t\tmanifestJson = await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({\n\t\t\t\t\tid: manifestUrl,\n\t\t\t\t\terror: err,\n\t\t\t\t\tfrom: \"runtime\",\n\t\t\t\t\tlifecycle: \"afterResolve\",\n\t\t\t\t\tremote: remoteInfo,\n\t\t\t\t\torigin: this.HostInstance\n\t\t\t\t});\n\t\t\t\tif (!manifestJson) {\n\t\t\t\t\tdelete this.manifestLoading[manifestUrl];\n\t\t\t\t\trequire_logger.error(_module_federation_error_codes.RUNTIME_003, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\t\t\tmanifestUrl,\n\t\t\t\t\t\tmoduleName: moduleInfo.name,\n\t\t\t\t\t\thostName: this.HostInstance.options.name\n\t\t\t\t\t}, `${err}`, require_context.optionsToMFContext(this.HostInstance.options));\n\t\t\t\t}\n\t\t\t}\n\t\t\tconst missingRequiredFields = [\n\t\t\t\t!manifestJson.metaData && \"metaData\",\n\t\t\t\t!manifestJson.exposes && \"exposes\",\n\t\t\t\t!manifestJson.shared && \"shared\"\n\t\t\t].filter(Boolean);\n\t\t\tif (missingRequiredFields.length > 0) await this.HostInstance.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({\n\t\t\t\tid: manifestUrl,\n\t\t\t\terror: /* @__PURE__ */ new Error(`\"${manifestUrl}\" is not a valid federation manifest for remote \"${moduleInfo.name}\". Missing required fields: ${missingRequiredFields.join(\", \")}.`),\n\t\t\t\tfrom: \"runtime\",\n\t\t\t\tlifecycle: \"afterResolve\",\n\t\t\t\tremote: remoteInfo,\n\t\t\t\torigin: this.HostInstance\n\t\t\t});\n\t\t\tif (missingRequiredFields.length > 0) require_logger.error(_module_federation_error_codes.RUNTIME_013, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\tmanifestUrl,\n\t\t\t\tmoduleName: moduleInfo.name,\n\t\t\t\thostName: this.HostInstance.options.name,\n\t\t\t\tmissingFields: missingRequiredFields.join(\",\")\n\t\t\t}, void 0, require_context.optionsToMFContext(this.HostInstance.options));\n\t\t\tthis.manifestCache.set(manifestUrl, manifestJson);\n\t\t\treturn manifestJson;\n\t\t};\n\t\treturn getManifest();\n\t}\n\tasync loadManifestSnapshot(manifestUrl, moduleInfo, extraOptions, resourceOptions) {\n\t\tconst asyncLoadProcess = async () => {\n\t\t\tconst manifestJson = await this.getManifestJson(manifestUrl, moduleInfo, extraOptions, resourceOptions);\n\t\t\tconst remoteSnapshot = (0, _module_federation_sdk.generateSnapshotFromManifest)(manifestJson, { version: manifestUrl });\n\t\t\tconst { remoteSnapshot: remoteSnapshotRes } = await this.hooks.lifecycle.loadRemoteSnapshot.emit({\n\t\t\t\toptions: this.HostInstance.options,\n\t\t\t\tmoduleInfo,\n\t\t\t\tmanifestJson,\n\t\t\t\tremoteSnapshot,\n\t\t\t\tmanifestUrl,\n\t\t\t\tfrom: \"manifest\"\n\t\t\t});\n\t\t\treturn remoteSnapshotRes;\n\t\t};\n\t\tif (!this.manifestLoading[manifestUrl]) this.manifestLoading[manifestUrl] = asyncLoadProcess().then((res) => res);\n\t\treturn this.manifestLoading[manifestUrl];\n\t}\n};\n\n//#endregion\nexports.SnapshotHandler = SnapshotHandler;\nexports.getGlobalRemoteInfo = getGlobalRemoteInfo;\n//# sourceMappingURL=SnapshotHandler.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvc25hcHNob3QvU25hcHNob3RIYW5kbGVyLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC9wbHVnaW5zL3NuYXBzaG90L1NuYXBzaG90SGFuZGxlci5janM/MzNjOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX2xvZ2dlciA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2xvZ2dlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfdG9vbCA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL3Rvb2wuY2pzJyk7XG5jb25zdCByZXF1aXJlX2dsb2JhbCA9IHJlcXVpcmUoJy4uLy4uL2dsb2JhbC5janMnKTtcbmNvbnN0IHJlcXVpcmVfbG9hZCA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2xvYWQuY2pzJyk7XG5jb25zdCByZXF1aXJlX2NvbnRleHQgPSByZXF1aXJlKCcuLi8uLi91dGlscy9jb250ZXh0LmNqcycpO1xucmVxdWlyZSgnLi4vLi4vdXRpbHMvaW5kZXguY2pzJyk7XG5jb25zdCByZXF1aXJlX2FzeW5jSG9vayA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2hvb2tzL2FzeW5jSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXN5bmNXYXRlcmZhbGxIb29rcyA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2hvb2tzL2FzeW5jV2F0ZXJmYWxsSG9va3MuY2pzJyk7XG5jb25zdCByZXF1aXJlX3BsdWdpblN5c3RlbSA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL2hvb2tzL3BsdWdpblN5c3RlbS5janMnKTtcbnJlcXVpcmUoJy4uLy4uL3V0aWxzL2hvb2tzL2luZGV4LmNqcycpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3Nka1wiKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzXCIpO1xuXG4vLyNyZWdpb24gc3JjL3BsdWdpbnMvc25hcHNob3QvU25hcHNob3RIYW5kbGVyLnRzXG5mdW5jdGlvbiBnZXRHbG9iYWxSZW1vdGVJbmZvKG1vZHVsZUluZm8sIG9yaWdpbikge1xuXHRjb25zdCBob3N0R2xvYmFsU25hcHNob3QgPSByZXF1aXJlX2dsb2JhbC5nZXRHbG9iYWxTbmFwc2hvdEluZm9CeU1vZHVsZUluZm8oe1xuXHRcdG5hbWU6IG9yaWdpbi5uYW1lLFxuXHRcdHZlcnNpb246IG9yaWdpbi5vcHRpb25zLnZlcnNpb25cblx0fSk7XG5cdGNvbnN0IGdsb2JhbFJlbW90ZUluZm8gPSBob3N0R2xvYmFsU25hcHNob3QgJiYgXCJyZW1vdGVzSW5mb1wiIGluIGhvc3RHbG9iYWxTbmFwc2hvdCAmJiBob3N0R2xvYmFsU25hcHNob3QucmVtb3Rlc0luZm8gJiYgcmVxdWlyZV9nbG9iYWwuZ2V0SW5mb1dpdGhvdXRUeXBlKGhvc3RHbG9iYWxTbmFwc2hvdC5yZW1vdGVzSW5mbywgbW9kdWxlSW5mby5uYW1lKS52YWx1ZTtcblx0aWYgKGdsb2JhbFJlbW90ZUluZm8gJiYgZ2xvYmFsUmVtb3RlSW5mby5tYXRjaGVkVmVyc2lvbikgcmV0dXJuIHtcblx0XHRob3N0R2xvYmFsU25hcHNob3QsXG5cdFx0Z2xvYmFsU25hcHNob3Q6IHJlcXVpcmVfZ2xvYmFsLmdldEdsb2JhbFNuYXBzaG90KCksXG5cdFx0cmVtb3RlU25hcHNob3Q6IHJlcXVpcmVfZ2xvYmFsLmdldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyh7XG5cdFx0XHRuYW1lOiBtb2R1bGVJbmZvLm5hbWUsXG5cdFx0XHR2ZXJzaW9uOiBnbG9iYWxSZW1vdGVJbmZvLm1hdGNoZWRWZXJzaW9uXG5cdFx0fSlcblx0fTtcblx0cmV0dXJuIHtcblx0XHRob3N0R2xvYmFsU25hcHNob3Q6IHZvaWQgMCxcblx0XHRnbG9iYWxTbmFwc2hvdDogcmVxdWlyZV9nbG9iYWwuZ2V0R2xvYmFsU25hcHNob3QoKSxcblx0XHRyZW1vdGVTbmFwc2hvdDogcmVxdWlyZV9nbG9iYWwuZ2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKHtcblx0XHRcdG5hbWU6IG1vZHVsZUluZm8ubmFtZSxcblx0XHRcdHZlcnNpb246IFwidmVyc2lvblwiIGluIG1vZHVsZUluZm8gPyBtb2R1bGVJbmZvLnZlcnNpb24gOiB2b2lkIDBcblx0XHR9KVxuXHR9O1xufVxudmFyIFNuYXBzaG90SGFuZGxlciA9IGNsYXNzIHtcblx0Y29uc3RydWN0b3IoSG9zdEluc3RhbmNlKSB7XG5cdFx0dGhpcy5sb2FkaW5nSG9zdFNuYXBzaG90ID0gbnVsbDtcblx0XHR0aGlzLm1hbmlmZXN0Q2FjaGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuXHRcdHRoaXMuaG9va3MgPSBuZXcgcmVxdWlyZV9wbHVnaW5TeXN0ZW0uUGx1Z2luU3lzdGVtKHtcblx0XHRcdGJlZm9yZUxvYWRSZW1vdGVTbmFwc2hvdDogbmV3IHJlcXVpcmVfYXN5bmNIb29rLkFzeW5jSG9vayhcImJlZm9yZUxvYWRSZW1vdGVTbmFwc2hvdFwiKSxcblx0XHRcdGxvYWRTbmFwc2hvdDogbmV3IHJlcXVpcmVfYXN5bmNXYXRlcmZhbGxIb29rcy5Bc3luY1dhdGVyZmFsbEhvb2soXCJsb2FkR2xvYmFsU25hcHNob3RcIiksXG5cdFx0XHRsb2FkUmVtb3RlU25hcHNob3Q6IG5ldyByZXF1aXJlX2FzeW5jV2F0ZXJmYWxsSG9va3MuQXN5bmNXYXRlcmZhbGxIb29rKFwibG9hZFJlbW90ZVNuYXBzaG90XCIpLFxuXHRcdFx0YWZ0ZXJMb2FkU25hcHNob3Q6IG5ldyByZXF1aXJlX2FzeW5jV2F0ZXJmYWxsSG9va3MuQXN5bmNXYXRlcmZhbGxIb29rKFwiYWZ0ZXJMb2FkU25hcHNob3RcIilcblx0XHR9KTtcblx0XHR0aGlzLm1hbmlmZXN0TG9hZGluZyA9IHJlcXVpcmVfZ2xvYmFsLkdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX01BTklGRVNUX0xPQURJTkdfXztcblx0XHR0aGlzLkhvc3RJbnN0YW5jZSA9IEhvc3RJbnN0YW5jZTtcblx0XHR0aGlzLmxvYWRlckhvb2sgPSBIb3N0SW5zdGFuY2UubG9hZGVySG9vaztcblx0fVxuXHRhc3luYyBsb2FkUmVtb3RlU25hcHNob3RJbmZvKHsgbW9kdWxlSW5mbywgaWQsIGluaXRpYXRvciA9IFwibG9hZFJlbW90ZVwiIH0pIHtcblx0XHRjb25zdCB7IG9wdGlvbnMgfSA9IHRoaXMuSG9zdEluc3RhbmNlO1xuXHRcdGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZUxvYWRSZW1vdGVTbmFwc2hvdC5lbWl0KHtcblx0XHRcdG9wdGlvbnMsXG5cdFx0XHRtb2R1bGVJbmZvLFxuXHRcdFx0b3JpZ2luOiB0aGlzLkhvc3RJbnN0YW5jZVxuXHRcdH0pO1xuXHRcdGxldCBob3N0U25hcHNob3QgPSByZXF1aXJlX2dsb2JhbC5nZXRHbG9iYWxTbmFwc2hvdEluZm9CeU1vZHVsZUluZm8oe1xuXHRcdFx0bmFtZTogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucy5uYW1lLFxuXHRcdFx0dmVyc2lvbjogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucy52ZXJzaW9uXG5cdFx0fSk7XG5cdFx0aWYgKCFob3N0U25hcHNob3QpIHtcblx0XHRcdGhvc3RTbmFwc2hvdCA9IHtcblx0XHRcdFx0dmVyc2lvbjogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucy52ZXJzaW9uIHx8IFwiXCIsXG5cdFx0XHRcdHJlbW90ZUVudHJ5OiBcIlwiLFxuXHRcdFx0XHRyZW1vdGVzSW5mbzoge31cblx0XHRcdH07XG5cdFx0XHRyZXF1aXJlX2dsb2JhbC5hZGRHbG9iYWxTbmFwc2hvdCh7IFt0aGlzLkhvc3RJbnN0YW5jZS5vcHRpb25zLm5hbWVdOiBob3N0U25hcHNob3QgfSk7XG5cdFx0fVxuXHRcdGlmIChob3N0U25hcHNob3QgJiYgXCJyZW1vdGVzSW5mb1wiIGluIGhvc3RTbmFwc2hvdCAmJiAhcmVxdWlyZV9nbG9iYWwuZ2V0SW5mb1dpdGhvdXRUeXBlKGhvc3RTbmFwc2hvdC5yZW1vdGVzSW5mbywgbW9kdWxlSW5mby5uYW1lKS52YWx1ZSkge1xuXHRcdFx0aWYgKFwidmVyc2lvblwiIGluIG1vZHVsZUluZm8gfHwgXCJlbnRyeVwiIGluIG1vZHVsZUluZm8pIGhvc3RTbmFwc2hvdC5yZW1vdGVzSW5mbyA9IHtcblx0XHRcdFx0Li4uaG9zdFNuYXBzaG90Py5yZW1vdGVzSW5mbyxcblx0XHRcdFx0W21vZHVsZUluZm8ubmFtZV06IHsgbWF0Y2hlZFZlcnNpb246IFwidmVyc2lvblwiIGluIG1vZHVsZUluZm8gPyBtb2R1bGVJbmZvLnZlcnNpb24gOiBtb2R1bGVJbmZvLmVudHJ5IH1cblx0XHRcdH07XG5cdFx0fVxuXHRcdGNvbnN0IHsgaG9zdEdsb2JhbFNuYXBzaG90LCByZW1vdGVTbmFwc2hvdCwgZ2xvYmFsU25hcHNob3QgfSA9IHRoaXMuZ2V0R2xvYmFsUmVtb3RlSW5mbyhtb2R1bGVJbmZvKTtcblx0XHRjb25zdCB7IHJlbW90ZVNuYXBzaG90OiBnbG9iYWxSZW1vdGVTbmFwc2hvdCwgZ2xvYmFsU25hcHNob3Q6IGdsb2JhbFNuYXBzaG90UmVzIH0gPSBhd2FpdCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5sb2FkU25hcHNob3QuZW1pdCh7XG5cdFx0XHRvcHRpb25zLFxuXHRcdFx0bW9kdWxlSW5mbyxcblx0XHRcdGhvc3RHbG9iYWxTbmFwc2hvdCxcblx0XHRcdHJlbW90ZVNuYXBzaG90LFxuXHRcdFx0Z2xvYmFsU25hcHNob3Rcblx0XHR9KTtcblx0XHRsZXQgbVNuYXBzaG90O1xuXHRcdGxldCBnU25hcHNob3Q7XG5cdFx0aWYgKGdsb2JhbFJlbW90ZVNuYXBzaG90KSBpZiAoKDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNNYW5pZmVzdFByb3ZpZGVyKShnbG9iYWxSZW1vdGVTbmFwc2hvdCkpIHtcblx0XHRcdGNvbnN0IHJlbW90ZUVudHJ5ID0gX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5pc0Jyb3dzZXJFbnZWYWx1ZSA/IGdsb2JhbFJlbW90ZVNuYXBzaG90LnJlbW90ZUVudHJ5IDogZ2xvYmFsUmVtb3RlU25hcHNob3Quc3NyUmVtb3RlRW50cnkgfHwgZ2xvYmFsUmVtb3RlU25hcHNob3QucmVtb3RlRW50cnkgfHwgXCJcIjtcblx0XHRcdGNvbnN0IG1vZHVsZVNuYXBzaG90ID0gYXdhaXQgdGhpcy5sb2FkTWFuaWZlc3RTbmFwc2hvdChyZW1vdGVFbnRyeSwgbW9kdWxlSW5mbywge30sIHtcblx0XHRcdFx0aW5pdGlhdG9yLFxuXHRcdFx0XHRpZDogaWQgfHwgbW9kdWxlSW5mby5uYW1lXG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IGdsb2JhbFNuYXBzaG90UmVzID0gcmVxdWlyZV9nbG9iYWwuc2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKHtcblx0XHRcdFx0Li4ubW9kdWxlSW5mbyxcblx0XHRcdFx0ZW50cnk6IHJlbW90ZUVudHJ5XG5cdFx0XHR9LCBtb2R1bGVTbmFwc2hvdCk7XG5cdFx0XHRtU25hcHNob3QgPSBtb2R1bGVTbmFwc2hvdDtcblx0XHRcdGdTbmFwc2hvdCA9IGdsb2JhbFNuYXBzaG90UmVzO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRjb25zdCB7IHJlbW90ZVNuYXBzaG90OiByZW1vdGVTbmFwc2hvdFJlcyB9ID0gYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUubG9hZFJlbW90ZVNuYXBzaG90LmVtaXQoe1xuXHRcdFx0XHRvcHRpb25zOiB0aGlzLkhvc3RJbnN0YW5jZS5vcHRpb25zLFxuXHRcdFx0XHRtb2R1bGVJbmZvLFxuXHRcdFx0XHRyZW1vdGVTbmFwc2hvdDogZ2xvYmFsUmVtb3RlU25hcHNob3QsXG5cdFx0XHRcdGZyb206IFwiZ2xvYmFsXCJcblx0XHRcdH0pO1xuXHRcdFx0bVNuYXBzaG90ID0gcmVtb3RlU25hcHNob3RSZXM7XG5cdFx0XHRnU25hcHNob3QgPSBnbG9iYWxTbmFwc2hvdFJlcztcblx0XHR9XG5cdFx0ZWxzZSBpZiAocmVxdWlyZV90b29sLmlzUmVtb3RlSW5mb1dpdGhFbnRyeShtb2R1bGVJbmZvKSkge1xuXHRcdFx0Y29uc3QgbW9kdWxlU25hcHNob3QgPSBhd2FpdCB0aGlzLmxvYWRNYW5pZmVzdFNuYXBzaG90KG1vZHVsZUluZm8uZW50cnksIG1vZHVsZUluZm8sIHt9LCB7XG5cdFx0XHRcdGluaXRpYXRvcixcblx0XHRcdFx0aWQ6IGlkIHx8IG1vZHVsZUluZm8ubmFtZVxuXHRcdFx0fSk7XG5cdFx0XHRjb25zdCBnbG9iYWxTbmFwc2hvdFJlcyA9IHJlcXVpcmVfZ2xvYmFsLnNldEdsb2JhbFNuYXBzaG90SW5mb0J5TW9kdWxlSW5mbyhtb2R1bGVJbmZvLCBtb2R1bGVTbmFwc2hvdCk7XG5cdFx0XHRtU25hcHNob3QgPSBtb2R1bGVTbmFwc2hvdDtcblx0XHRcdGdTbmFwc2hvdCA9IGdsb2JhbFNuYXBzaG90UmVzO1xuXHRcdH0gZWxzZSByZXF1aXJlX2xvZ2dlci5lcnJvcihfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMuUlVOVElNRV8wMDcsIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5ydW50aW1lRGVzY01hcCwge1xuXHRcdFx0cmVtb3RlTmFtZTogbW9kdWxlSW5mby5uYW1lLFxuXHRcdFx0cmVtb3RlVmVyc2lvbjogbW9kdWxlSW5mby52ZXJzaW9uLFxuXHRcdFx0aG9zdE5hbWU6IHRoaXMuSG9zdEluc3RhbmNlLm9wdGlvbnMubmFtZSxcblx0XHRcdGdsb2JhbFNuYXBzaG90OiBKU09OLnN0cmluZ2lmeShnbG9iYWxTbmFwc2hvdFJlcylcblx0XHR9LCB2b2lkIDAsIHJlcXVpcmVfY29udGV4dC5vcHRpb25zVG9NRkNvbnRleHQodGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucykpO1xuXHRcdGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmFmdGVyTG9hZFNuYXBzaG90LmVtaXQoe1xuXHRcdFx0aWQsXG5cdFx0XHRob3N0OiB0aGlzLkhvc3RJbnN0YW5jZSxcblx0XHRcdG9wdGlvbnMsXG5cdFx0XHRtb2R1bGVJbmZvLFxuXHRcdFx0cmVtb3RlU25hcHNob3Q6IG1TbmFwc2hvdFxuXHRcdH0pO1xuXHRcdHJldHVybiB7XG5cdFx0XHRyZW1vdGVTbmFwc2hvdDogbVNuYXBzaG90LFxuXHRcdFx0Z2xvYmFsU25hcHNob3Q6IGdTbmFwc2hvdFxuXHRcdH07XG5cdH1cblx0Z2V0R2xvYmFsUmVtb3RlSW5mbyhtb2R1bGVJbmZvKSB7XG5cdFx0cmV0dXJuIGdldEdsb2JhbFJlbW90ZUluZm8obW9kdWxlSW5mbywgdGhpcy5Ib3N0SW5zdGFuY2UpO1xuXHR9XG5cdGFzeW5jIGdldE1hbmlmZXN0SnNvbihtYW5pZmVzdFVybCwgbW9kdWxlSW5mbywgZXh0cmFPcHRpb25zLCByZXNvdXJjZU9wdGlvbnMpIHtcblx0XHRjb25zdCBnZXRNYW5pZmVzdCA9IGFzeW5jICgpID0+IHtcblx0XHRcdGNvbnN0IHJlbW90ZUluZm8gPSByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlSW5mbyhtb2R1bGVJbmZvKTtcblx0XHRcdGxldCBtYW5pZmVzdEpzb24gPSB0aGlzLm1hbmlmZXN0Q2FjaGUuZ2V0KG1hbmlmZXN0VXJsKTtcblx0XHRcdGlmIChtYW5pZmVzdEpzb24pIHJldHVybiBtYW5pZmVzdEpzb247XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRsZXQgcmVzID0gYXdhaXQgdGhpcy5sb2FkZXJIb29rLmxpZmVjeWNsZS5mZXRjaC5lbWl0KG1hbmlmZXN0VXJsLCB7fSwgcmVtb3RlSW5mbywgcmVzb3VyY2VPcHRpb25zID8ge1xuXHRcdFx0XHRcdC4uLnJlc291cmNlT3B0aW9ucyxcblx0XHRcdFx0XHR1cmw6IG1hbmlmZXN0VXJsLFxuXHRcdFx0XHRcdHJlc291cmNlVHlwZTogXCJtYW5pZmVzdFwiXG5cdFx0XHRcdH0gOiB2b2lkIDApO1xuXHRcdFx0XHRpZiAoIXJlcyB8fCAhKHJlcyBpbnN0YW5jZW9mIFJlc3BvbnNlKSkgcmVzID0gYXdhaXQgZmV0Y2gobWFuaWZlc3RVcmwsIHt9KTtcblx0XHRcdFx0bWFuaWZlc3RKc29uID0gYXdhaXQgcmVzLmpzb24oKTtcblx0XHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0XHRtYW5pZmVzdEpzb24gPSBhd2FpdCB0aGlzLkhvc3RJbnN0YW5jZS5yZW1vdGVIYW5kbGVyLmhvb2tzLmxpZmVjeWNsZS5lcnJvckxvYWRSZW1vdGUuZW1pdCh7XG5cdFx0XHRcdFx0aWQ6IG1hbmlmZXN0VXJsLFxuXHRcdFx0XHRcdGVycm9yOiBlcnIsXG5cdFx0XHRcdFx0ZnJvbTogXCJydW50aW1lXCIsXG5cdFx0XHRcdFx0bGlmZWN5Y2xlOiBcImFmdGVyUmVzb2x2ZVwiLFxuXHRcdFx0XHRcdHJlbW90ZTogcmVtb3RlSW5mbyxcblx0XHRcdFx0XHRvcmlnaW46IHRoaXMuSG9zdEluc3RhbmNlXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZiAoIW1hbmlmZXN0SnNvbikge1xuXHRcdFx0XHRcdGRlbGV0ZSB0aGlzLm1hbmlmZXN0TG9hZGluZ1ttYW5pZmVzdFVybF07XG5cdFx0XHRcdFx0cmVxdWlyZV9sb2dnZXIuZXJyb3IoX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDAzLCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXAsIHtcblx0XHRcdFx0XHRcdG1hbmlmZXN0VXJsLFxuXHRcdFx0XHRcdFx0bW9kdWxlTmFtZTogbW9kdWxlSW5mby5uYW1lLFxuXHRcdFx0XHRcdFx0aG9zdE5hbWU6IHRoaXMuSG9zdEluc3RhbmNlLm9wdGlvbnMubmFtZVxuXHRcdFx0XHRcdH0sIGAke2Vycn1gLCByZXF1aXJlX2NvbnRleHQub3B0aW9uc1RvTUZDb250ZXh0KHRoaXMuSG9zdEluc3RhbmNlLm9wdGlvbnMpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Y29uc3QgbWlzc2luZ1JlcXVpcmVkRmllbGRzID0gW1xuXHRcdFx0XHQhbWFuaWZlc3RKc29uLm1ldGFEYXRhICYmIFwibWV0YURhdGFcIixcblx0XHRcdFx0IW1hbmlmZXN0SnNvbi5leHBvc2VzICYmIFwiZXhwb3Nlc1wiLFxuXHRcdFx0XHQhbWFuaWZlc3RKc29uLnNoYXJlZCAmJiBcInNoYXJlZFwiXG5cdFx0XHRdLmZpbHRlcihCb29sZWFuKTtcblx0XHRcdGlmIChtaXNzaW5nUmVxdWlyZWRGaWVsZHMubGVuZ3RoID4gMCkgYXdhaXQgdGhpcy5Ib3N0SW5zdGFuY2UucmVtb3RlSGFuZGxlci5ob29rcy5saWZlY3ljbGUuZXJyb3JMb2FkUmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRpZDogbWFuaWZlc3RVcmwsXG5cdFx0XHRcdGVycm9yOiAvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKGBcIiR7bWFuaWZlc3RVcmx9XCIgaXMgbm90IGEgdmFsaWQgZmVkZXJhdGlvbiBtYW5pZmVzdCBmb3IgcmVtb3RlIFwiJHttb2R1bGVJbmZvLm5hbWV9XCIuIE1pc3NpbmcgcmVxdWlyZWQgZmllbGRzOiAke21pc3NpbmdSZXF1aXJlZEZpZWxkcy5qb2luKFwiLCBcIil9LmApLFxuXHRcdFx0XHRmcm9tOiBcInJ1bnRpbWVcIixcblx0XHRcdFx0bGlmZWN5Y2xlOiBcImFmdGVyUmVzb2x2ZVwiLFxuXHRcdFx0XHRyZW1vdGU6IHJlbW90ZUluZm8sXG5cdFx0XHRcdG9yaWdpbjogdGhpcy5Ib3N0SW5zdGFuY2Vcblx0XHRcdH0pO1xuXHRcdFx0aWYgKG1pc3NpbmdSZXF1aXJlZEZpZWxkcy5sZW5ndGggPiAwKSByZXF1aXJlX2xvZ2dlci5lcnJvcihfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMuUlVOVElNRV8wMTMsIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5ydW50aW1lRGVzY01hcCwge1xuXHRcdFx0XHRtYW5pZmVzdFVybCxcblx0XHRcdFx0bW9kdWxlTmFtZTogbW9kdWxlSW5mby5uYW1lLFxuXHRcdFx0XHRob3N0TmFtZTogdGhpcy5Ib3N0SW5zdGFuY2Uub3B0aW9ucy5uYW1lLFxuXHRcdFx0XHRtaXNzaW5nRmllbGRzOiBtaXNzaW5nUmVxdWlyZWRGaWVsZHMuam9pbihcIixcIilcblx0XHRcdH0sIHZvaWQgMCwgcmVxdWlyZV9jb250ZXh0Lm9wdGlvbnNUb01GQ29udGV4dCh0aGlzLkhvc3RJbnN0YW5jZS5vcHRpb25zKSk7XG5cdFx0XHR0aGlzLm1hbmlmZXN0Q2FjaGUuc2V0KG1hbmlmZXN0VXJsLCBtYW5pZmVzdEpzb24pO1xuXHRcdFx0cmV0dXJuIG1hbmlmZXN0SnNvbjtcblx0XHR9O1xuXHRcdHJldHVybiBnZXRNYW5pZmVzdCgpO1xuXHR9XG5cdGFzeW5jIGxvYWRNYW5pZmVzdFNuYXBzaG90KG1hbmlmZXN0VXJsLCBtb2R1bGVJbmZvLCBleHRyYU9wdGlvbnMsIHJlc291cmNlT3B0aW9ucykge1xuXHRcdGNvbnN0IGFzeW5jTG9hZFByb2Nlc3MgPSBhc3luYyAoKSA9PiB7XG5cdFx0XHRjb25zdCBtYW5pZmVzdEpzb24gPSBhd2FpdCB0aGlzLmdldE1hbmlmZXN0SnNvbihtYW5pZmVzdFVybCwgbW9kdWxlSW5mbywgZXh0cmFPcHRpb25zLCByZXNvdXJjZU9wdGlvbnMpO1xuXHRcdFx0Y29uc3QgcmVtb3RlU25hcHNob3QgPSAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5nZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0KShtYW5pZmVzdEpzb24sIHsgdmVyc2lvbjogbWFuaWZlc3RVcmwgfSk7XG5cdFx0XHRjb25zdCB7IHJlbW90ZVNuYXBzaG90OiByZW1vdGVTbmFwc2hvdFJlcyB9ID0gYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUubG9hZFJlbW90ZVNuYXBzaG90LmVtaXQoe1xuXHRcdFx0XHRvcHRpb25zOiB0aGlzLkhvc3RJbnN0YW5jZS5vcHRpb25zLFxuXHRcdFx0XHRtb2R1bGVJbmZvLFxuXHRcdFx0XHRtYW5pZmVzdEpzb24sXG5cdFx0XHRcdHJlbW90ZVNuYXBzaG90LFxuXHRcdFx0XHRtYW5pZmVzdFVybCxcblx0XHRcdFx0ZnJvbTogXCJtYW5pZmVzdFwiXG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiByZW1vdGVTbmFwc2hvdFJlcztcblx0XHR9O1xuXHRcdGlmICghdGhpcy5tYW5pZmVzdExvYWRpbmdbbWFuaWZlc3RVcmxdKSB0aGlzLm1hbmlmZXN0TG9hZGluZ1ttYW5pZmVzdFVybF0gPSBhc3luY0xvYWRQcm9jZXNzKCkudGhlbigocmVzKSA9PiByZXMpO1xuXHRcdHJldHVybiB0aGlzLm1hbmlmZXN0TG9hZGluZ1ttYW5pZmVzdFVybF07XG5cdH1cbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5TbmFwc2hvdEhhbmRsZXIgPSBTbmFwc2hvdEhhbmRsZXI7XG5leHBvcnRzLmdldEdsb2JhbFJlbW90ZUluZm8gPSBnZXRHbG9iYWxSZW1vdGVJbmZvO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9U25hcHNob3RIYW5kbGVyLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQXdCO0FBQ3ZELHFCQUFxQixtQkFBTyxDQUFDLDJFQUFzQjtBQUNuRCx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBa0I7QUFDakQscUJBQXFCLG1CQUFPLENBQUMsMkVBQXNCO0FBQ25ELHdCQUF3QixtQkFBTyxDQUFDLDhFQUF5QjtBQUN6RCxtQkFBTyxDQUFDLDRFQUF1QjtBQUMvQiwwQkFBMEIsbUJBQU8sQ0FBQyxzRkFBaUM7QUFDbkUsb0NBQW9DLG1CQUFPLENBQUMsZ0dBQTJDO0FBQ3ZGLDZCQUE2QixtQkFBTyxDQUFDLHlGQUFvQztBQUN6RSxtQkFBTyxDQUFDLGtGQUE2QjtBQUNyQyw2QkFBNkIsbUJBQU8sQ0FBQyw2REFBd0I7QUFDN0QscUNBQXFDLG1CQUFPLENBQUMscUVBQWdDOztBQUU3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsMENBQTBDO0FBQzFFLFVBQVUsVUFBVTtBQUNwQjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLGdEQUFnRDtBQUN0RjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QjtBQUN6QjtBQUNBO0FBQ0EsVUFBVSxxREFBcUQ7QUFDL0QsVUFBVSwwRUFBMEU7QUFDcEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFGQUFxRjtBQUNyRjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKLFdBQVcsb0NBQW9DO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEZBQTBGO0FBQzFGO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0VBQXdFO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTiw2RUFBNkU7QUFDN0U7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxLQUFLLElBQUk7QUFDZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUMsWUFBWSxtREFBbUQsZ0JBQWdCLDhCQUE4QixpQ0FBaUM7QUFDdkw7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUdBQW1HLHNCQUFzQjtBQUN6SCxXQUFXLG9DQUFvQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCLDJCQUEyQjtBQUMzQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs\n\n}");
|
|
80
|
+
|
|
81
|
+
},
|
|
82
|
+
"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
83
|
+
eval("{const require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\n\n//#region src/plugins/snapshot/disabled.ts\nvar DisabledSnapshotHandler = class {\n\tconstructor() {\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({});\n\t}\n};\n\n//#endregion\nexports.DisabledSnapshotHandler = DisabledSnapshotHandler;\n//# sourceMappingURL=disabled.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvc25hcHNob3QvZGlzYWJsZWQuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvc25hcHNob3QvZGlzYWJsZWQuY2pzPzk3MmIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9wbHVnaW5TeXN0ZW0gPSByZXF1aXJlKCcuLi8uLi91dGlscy9ob29rcy9wbHVnaW5TeXN0ZW0uY2pzJyk7XG5yZXF1aXJlKCcuLi8uLi91dGlscy9ob29rcy9pbmRleC5janMnKTtcblxuLy8jcmVnaW9uIHNyYy9wbHVnaW5zL3NuYXBzaG90L2Rpc2FibGVkLnRzXG52YXIgRGlzYWJsZWRTbmFwc2hvdEhhbmRsZXIgPSBjbGFzcyB7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuaG9va3MgPSBuZXcgcmVxdWlyZV9wbHVnaW5TeXN0ZW0uUGx1Z2luU3lzdGVtKHt9KTtcblx0fVxufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLkRpc2FibGVkU25hcHNob3RIYW5kbGVyID0gRGlzYWJsZWRTbmFwc2hvdEhhbmRsZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kaXNhYmxlZC5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QixtQkFBTyxDQUFDLHlGQUFvQztBQUN6RSxtQkFBTyxDQUFDLGtGQUE2Qjs7QUFFckM7QUFDQTtBQUNBO0FBQ0EsdURBQXVEO0FBQ3ZEO0FBQ0E7O0FBRUE7QUFDQSwrQkFBK0I7QUFDL0IifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/disabled.cjs\n\n}");
|
|
84
|
+
|
|
85
|
+
},
|
|
86
|
+
"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
87
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_preload = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/preload.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/plugins/snapshot/index.ts\nfunction assignRemoteInfo(remoteInfo, remoteSnapshot) {\n\tconst remoteEntryInfo = require_tool.getRemoteEntryInfoFromSnapshot(remoteSnapshot);\n\tif (!remoteEntryInfo.url) require_logger.error(_module_federation_error_codes.RUNTIME_011, _module_federation_error_codes.runtimeDescMap, { remoteName: remoteInfo.name });\n\tlet entryUrl = (0, _module_federation_sdk.getResourceUrl)(remoteSnapshot, remoteEntryInfo.url);\n\tif (!_module_federation_sdk.isBrowserEnvValue && !entryUrl.startsWith(\"http\")) entryUrl = `https:${entryUrl}`;\n\tremoteInfo.type = remoteEntryInfo.type;\n\tremoteInfo.entryGlobalName = remoteEntryInfo.globalName;\n\tremoteInfo.entry = entryUrl;\n\tremoteInfo.version = remoteSnapshot.version;\n\tremoteInfo.buildVersion = remoteSnapshot.buildVersion;\n}\nfunction snapshotPlugin() {\n\treturn {\n\t\tname: \"snapshot-plugin\",\n\t\tasync afterResolve(args) {\n\t\t\tconst { remote, pkgNameOrAlias, expose, origin, remoteInfo, id } = args;\n\t\t\tif (!require_tool.isRemoteInfoWithEntry(remote) || !require_tool.isPureRemoteEntry(remote)) {\n\t\t\t\tconst { remoteSnapshot, globalSnapshot } = await origin.snapshotHandler.loadRemoteSnapshotInfo({\n\t\t\t\t\tmoduleInfo: remote,\n\t\t\t\t\tid: require_manifest.composeRemoteRequestId(remote.name, expose)\n\t\t\t\t});\n\t\t\t\tassignRemoteInfo(remoteInfo, remoteSnapshot);\n\t\t\t\tconst preloadOptions = {\n\t\t\t\t\tremote,\n\t\t\t\t\tpreloadConfig: {\n\t\t\t\t\t\tnameOrAlias: pkgNameOrAlias,\n\t\t\t\t\t\texposes: [expose],\n\t\t\t\t\t\tresourceCategory: \"sync\",\n\t\t\t\t\t\tshare: false,\n\t\t\t\t\t\tdepsRemote: false\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tconst assets = await origin.remoteHandler.hooks.lifecycle.generatePreloadAssets.emit({\n\t\t\t\t\torigin,\n\t\t\t\t\tpreloadOptions,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tremote,\n\t\t\t\t\tremoteSnapshot,\n\t\t\t\t\tglobalSnapshot\n\t\t\t\t});\n\t\t\t\tif (assets) require_preload.preloadAssets(remoteInfo, origin, assets, false, {\n\t\t\t\t\tinitiator: \"loadRemote\",\n\t\t\t\t\tid\n\t\t\t\t}).catch(() => void 0);\n\t\t\t\treturn {\n\t\t\t\t\t...args,\n\t\t\t\t\tremoteSnapshot\n\t\t\t\t};\n\t\t\t}\n\t\t\treturn args;\n\t\t}\n\t};\n}\n\n//#endregion\nexports.assignRemoteInfo = assignRemoteInfo;\nexports.snapshotPlugin = snapshotPlugin;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvc25hcHNob3QvaW5kZXguY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3BsdWdpbnMvc25hcHNob3QvaW5kZXguY2pzP2I4NjIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9sb2dnZXIgPSByZXF1aXJlKCcuLi8uLi91dGlscy9sb2dnZXIuY2pzJyk7XG5jb25zdCByZXF1aXJlX3Rvb2wgPSByZXF1aXJlKCcuLi8uLi91dGlscy90b29sLmNqcycpO1xuY29uc3QgcmVxdWlyZV9tYW5pZmVzdCA9IHJlcXVpcmUoJy4uLy4uL3V0aWxzL21hbmlmZXN0LmNqcycpO1xucmVxdWlyZSgnLi4vLi4vdXRpbHMvaW5kZXguY2pzJyk7XG5jb25zdCByZXF1aXJlX3ByZWxvYWQgPSByZXF1aXJlKCcuLi8uLi91dGlscy9wcmVsb2FkLmNqcycpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3Nka1wiKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzXCIpO1xuXG4vLyNyZWdpb24gc3JjL3BsdWdpbnMvc25hcHNob3QvaW5kZXgudHNcbmZ1bmN0aW9uIGFzc2lnblJlbW90ZUluZm8ocmVtb3RlSW5mbywgcmVtb3RlU25hcHNob3QpIHtcblx0Y29uc3QgcmVtb3RlRW50cnlJbmZvID0gcmVxdWlyZV90b29sLmdldFJlbW90ZUVudHJ5SW5mb0Zyb21TbmFwc2hvdChyZW1vdGVTbmFwc2hvdCk7XG5cdGlmICghcmVtb3RlRW50cnlJbmZvLnVybCkgcmVxdWlyZV9sb2dnZXIuZXJyb3IoX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDExLCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXAsIHsgcmVtb3RlTmFtZTogcmVtb3RlSW5mby5uYW1lIH0pO1xuXHRsZXQgZW50cnlVcmwgPSAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5nZXRSZXNvdXJjZVVybCkocmVtb3RlU25hcHNob3QsIHJlbW90ZUVudHJ5SW5mby51cmwpO1xuXHRpZiAoIV9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNCcm93c2VyRW52VmFsdWUgJiYgIWVudHJ5VXJsLnN0YXJ0c1dpdGgoXCJodHRwXCIpKSBlbnRyeVVybCA9IGBodHRwczoke2VudHJ5VXJsfWA7XG5cdHJlbW90ZUluZm8udHlwZSA9IHJlbW90ZUVudHJ5SW5mby50eXBlO1xuXHRyZW1vdGVJbmZvLmVudHJ5R2xvYmFsTmFtZSA9IHJlbW90ZUVudHJ5SW5mby5nbG9iYWxOYW1lO1xuXHRyZW1vdGVJbmZvLmVudHJ5ID0gZW50cnlVcmw7XG5cdHJlbW90ZUluZm8udmVyc2lvbiA9IHJlbW90ZVNuYXBzaG90LnZlcnNpb247XG5cdHJlbW90ZUluZm8uYnVpbGRWZXJzaW9uID0gcmVtb3RlU25hcHNob3QuYnVpbGRWZXJzaW9uO1xufVxuZnVuY3Rpb24gc25hcHNob3RQbHVnaW4oKSB7XG5cdHJldHVybiB7XG5cdFx0bmFtZTogXCJzbmFwc2hvdC1wbHVnaW5cIixcblx0XHRhc3luYyBhZnRlclJlc29sdmUoYXJncykge1xuXHRcdFx0Y29uc3QgeyByZW1vdGUsIHBrZ05hbWVPckFsaWFzLCBleHBvc2UsIG9yaWdpbiwgcmVtb3RlSW5mbywgaWQgfSA9IGFyZ3M7XG5cdFx0XHRpZiAoIXJlcXVpcmVfdG9vbC5pc1JlbW90ZUluZm9XaXRoRW50cnkocmVtb3RlKSB8fCAhcmVxdWlyZV90b29sLmlzUHVyZVJlbW90ZUVudHJ5KHJlbW90ZSkpIHtcblx0XHRcdFx0Y29uc3QgeyByZW1vdGVTbmFwc2hvdCwgZ2xvYmFsU25hcHNob3QgfSA9IGF3YWl0IG9yaWdpbi5zbmFwc2hvdEhhbmRsZXIubG9hZFJlbW90ZVNuYXBzaG90SW5mbyh7XG5cdFx0XHRcdFx0bW9kdWxlSW5mbzogcmVtb3RlLFxuXHRcdFx0XHRcdGlkOiByZXF1aXJlX21hbmlmZXN0LmNvbXBvc2VSZW1vdGVSZXF1ZXN0SWQocmVtb3RlLm5hbWUsIGV4cG9zZSlcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGFzc2lnblJlbW90ZUluZm8ocmVtb3RlSW5mbywgcmVtb3RlU25hcHNob3QpO1xuXHRcdFx0XHRjb25zdCBwcmVsb2FkT3B0aW9ucyA9IHtcblx0XHRcdFx0XHRyZW1vdGUsXG5cdFx0XHRcdFx0cHJlbG9hZENvbmZpZzoge1xuXHRcdFx0XHRcdFx0bmFtZU9yQWxpYXM6IHBrZ05hbWVPckFsaWFzLFxuXHRcdFx0XHRcdFx0ZXhwb3NlczogW2V4cG9zZV0sXG5cdFx0XHRcdFx0XHRyZXNvdXJjZUNhdGVnb3J5OiBcInN5bmNcIixcblx0XHRcdFx0XHRcdHNoYXJlOiBmYWxzZSxcblx0XHRcdFx0XHRcdGRlcHNSZW1vdGU6IGZhbHNlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9O1xuXHRcdFx0XHRjb25zdCBhc3NldHMgPSBhd2FpdCBvcmlnaW4ucmVtb3RlSGFuZGxlci5ob29rcy5saWZlY3ljbGUuZ2VuZXJhdGVQcmVsb2FkQXNzZXRzLmVtaXQoe1xuXHRcdFx0XHRcdG9yaWdpbixcblx0XHRcdFx0XHRwcmVsb2FkT3B0aW9ucyxcblx0XHRcdFx0XHRyZW1vdGVJbmZvLFxuXHRcdFx0XHRcdHJlbW90ZSxcblx0XHRcdFx0XHRyZW1vdGVTbmFwc2hvdCxcblx0XHRcdFx0XHRnbG9iYWxTbmFwc2hvdFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYgKGFzc2V0cykgcmVxdWlyZV9wcmVsb2FkLnByZWxvYWRBc3NldHMocmVtb3RlSW5mbywgb3JpZ2luLCBhc3NldHMsIGZhbHNlLCB7XG5cdFx0XHRcdFx0aW5pdGlhdG9yOiBcImxvYWRSZW1vdGVcIixcblx0XHRcdFx0XHRpZFxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB2b2lkIDApO1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdC4uLmFyZ3MsXG5cdFx0XHRcdFx0cmVtb3RlU25hcHNob3Rcblx0XHRcdFx0fTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBhcmdzO1xuXHRcdH1cblx0fTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmFzc2lnblJlbW90ZUluZm8gPSBhc3NpZ25SZW1vdGVJbmZvO1xuZXhwb3J0cy5zbmFwc2hvdFBsdWdpbiA9IHNuYXBzaG90UGx1Z2luO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUIsbUJBQU8sQ0FBQyw2RUFBd0I7QUFDdkQscUJBQXFCLG1CQUFPLENBQUMsMkVBQXNCO0FBQ25ELHlCQUF5QixtQkFBTyxDQUFDLCtFQUEwQjtBQUMzRCxtQkFBTyxDQUFDLDRFQUF1QjtBQUMvQix3QkFBd0IsbUJBQU8sQ0FBQyw4RUFBeUI7QUFDekQsNkJBQTZCLG1CQUFPLENBQUMsNkRBQXdCO0FBQzdELHFDQUFxQyxtQkFBTyxDQUFDLHFFQUFnQzs7QUFFN0U7QUFDQTtBQUNBO0FBQ0EsNklBQTZJLDZCQUE2QjtBQUMxSztBQUNBLG9HQUFvRyxTQUFTO0FBQzdHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyx5REFBeUQ7QUFDcEU7QUFDQSxZQUFZLGlDQUFpQztBQUM3QztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esd0JBQXdCO0FBQ3hCLHNCQUFzQjtBQUN0QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/index.cjs\n\n}");
|
|
88
|
+
|
|
89
|
+
},
|
|
90
|
+
"../../../node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
91
|
+
eval("{const require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\n\n//#region src/remote/disabled.ts\nconst REMOTE_DISABLED_MESSAGE = \"Remote loading is disabled by experiments.optimization.disableRemote.\";\nvar UnavailableRemoteModule = class {\n\tconstructor() {\n\t\tthrow new Error(REMOTE_DISABLED_MESSAGE);\n\t}\n};\nvar DisabledRemoteHandler = class {\n\tconstructor() {\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({});\n\t}\n\tformatAndRegisterRemote() {\n\t\treturn [];\n\t}\n\tloadRemote() {\n\t\tthrow new Error(REMOTE_DISABLED_MESSAGE);\n\t}\n\tpreloadRemote() {\n\t\tthrow new Error(REMOTE_DISABLED_MESSAGE);\n\t}\n\tregisterRemotes() {\n\t\tthrow new Error(REMOTE_DISABLED_MESSAGE);\n\t}\n\tgetRemoteModuleAndOptions() {\n\t\tthrow new Error(REMOTE_DISABLED_MESSAGE);\n\t}\n\tinitRawContainer() {\n\t\tthrow new Error(REMOTE_DISABLED_MESSAGE);\n\t}\n};\n\n//#endregion\nexports.DisabledRemoteHandler = DisabledRemoteHandler;\nexports.UnavailableRemoteModule = UnavailableRemoteModule;\n//# sourceMappingURL=disabled.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3JlbW90ZS9kaXNhYmxlZC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvcmVtb3RlL2Rpc2FibGVkLmNqcz85ZTgwIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfcGx1Z2luU3lzdGVtID0gcmVxdWlyZSgnLi4vdXRpbHMvaG9va3MvcGx1Z2luU3lzdGVtLmNqcycpO1xucmVxdWlyZSgnLi4vdXRpbHMvaG9va3MvaW5kZXguY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvcmVtb3RlL2Rpc2FibGVkLnRzXG5jb25zdCBSRU1PVEVfRElTQUJMRURfTUVTU0FHRSA9IFwiUmVtb3RlIGxvYWRpbmcgaXMgZGlzYWJsZWQgYnkgZXhwZXJpbWVudHMub3B0aW1pemF0aW9uLmRpc2FibGVSZW1vdGUuXCI7XG52YXIgVW5hdmFpbGFibGVSZW1vdGVNb2R1bGUgPSBjbGFzcyB7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihSRU1PVEVfRElTQUJMRURfTUVTU0FHRSk7XG5cdH1cbn07XG52YXIgRGlzYWJsZWRSZW1vdGVIYW5kbGVyID0gY2xhc3Mge1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmhvb2tzID0gbmV3IHJlcXVpcmVfcGx1Z2luU3lzdGVtLlBsdWdpblN5c3RlbSh7fSk7XG5cdH1cblx0Zm9ybWF0QW5kUmVnaXN0ZXJSZW1vdGUoKSB7XG5cdFx0cmV0dXJuIFtdO1xuXHR9XG5cdGxvYWRSZW1vdGUoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFJFTU9URV9ESVNBQkxFRF9NRVNTQUdFKTtcblx0fVxuXHRwcmVsb2FkUmVtb3RlKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihSRU1PVEVfRElTQUJMRURfTUVTU0FHRSk7XG5cdH1cblx0cmVnaXN0ZXJSZW1vdGVzKCkge1xuXHRcdHRocm93IG5ldyBFcnJvcihSRU1PVEVfRElTQUJMRURfTUVTU0FHRSk7XG5cdH1cblx0Z2V0UmVtb3RlTW9kdWxlQW5kT3B0aW9ucygpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoUkVNT1RFX0RJU0FCTEVEX01FU1NBR0UpO1xuXHR9XG5cdGluaXRSYXdDb250YWluZXIoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFJFTU9URV9ESVNBQkxFRF9NRVNTQUdFKTtcblx0fVxufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLkRpc2FibGVkUmVtb3RlSGFuZGxlciA9IERpc2FibGVkUmVtb3RlSGFuZGxlcjtcbmV4cG9ydHMuVW5hdmFpbGFibGVSZW1vdGVNb2R1bGUgPSBVbmF2YWlsYWJsZVJlbW90ZU1vZHVsZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRpc2FibGVkLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkJBQTZCLG1CQUFPLENBQUMseUZBQWlDO0FBQ3RFLG1CQUFPLENBQUMsa0ZBQTBCOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQ7QUFDdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDZCQUE2QjtBQUM3QiwrQkFBK0I7QUFDL0IifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/remote/disabled.cjs\n\n}");
|
|
92
|
+
|
|
93
|
+
},
|
|
94
|
+
"../../../node_modules/@module-federation/runtime-core/dist/remote/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
95
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/constant.cjs\");\nconst require_share = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\nconst require_context = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_preload = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/preload.cjs\");\nconst require_index$1 = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/module/index.cjs\");\nconst require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\nconst require_asyncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs\");\nconst require_syncWaterfallHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs\");\nconst require_asyncWaterfallHooks = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\");\nconst require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\nconst require_SnapshotHandler = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/plugins/snapshot/SnapshotHandler.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/remote/index.ts\nvar RemoteHandler = class {\n\tconstructor(host) {\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({\n\t\t\tbeforeRegisterRemote: new require_syncWaterfallHook.SyncWaterfallHook(\"beforeRegisterRemote\"),\n\t\t\tregisterRemote: new require_syncWaterfallHook.SyncWaterfallHook(\"registerRemote\"),\n\t\t\tbeforeRequest: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"beforeRequest\"),\n\t\t\tafterMatchRemote: new require_asyncHook.AsyncHook(\"afterMatchRemote\"),\n\t\t\tonLoad: new require_asyncHook.AsyncHook(\"onLoad\"),\n\t\t\tafterLoadRemote: new require_asyncHook.AsyncHook(\"afterLoadRemote\"),\n\t\t\thandlePreloadModule: new require_syncHook.SyncHook(\"handlePreloadModule\"),\n\t\t\terrorLoadRemote: new require_asyncHook.AsyncHook(\"errorLoadRemote\"),\n\t\t\tbeforePreloadRemote: new require_asyncHook.AsyncHook(\"beforePreloadRemote\"),\n\t\t\tgeneratePreloadAssets: new require_asyncHook.AsyncHook(\"generatePreloadAssets\"),\n\t\t\tafterPreloadRemote: new require_asyncHook.AsyncHook(\"afterPreloadRemote\"),\n\t\t\tloadEntry: new require_asyncHook.AsyncHook()\n\t\t});\n\t\tthis.host = host;\n\t\tthis.idToRemoteMap = {};\n\t}\n\tformatAndRegisterRemote(globalOptions, userOptions) {\n\t\treturn (userOptions.remotes || []).reduce((res, remote) => {\n\t\t\tthis.registerRemote(remote, res, { force: false });\n\t\t\treturn res;\n\t\t}, globalOptions.remotes);\n\t}\n\tsetIdToRemoteMap(id, remoteMatchInfo) {\n\t\tconst { remote, expose } = remoteMatchInfo;\n\t\tconst { name, alias } = remote;\n\t\tthis.idToRemoteMap[id] = {\n\t\t\tname: remote.name,\n\t\t\texpose\n\t\t};\n\t\tif (alias && id.startsWith(name)) {\n\t\t\tconst idWithAlias = id.replace(name, alias);\n\t\t\tthis.idToRemoteMap[idWithAlias] = {\n\t\t\t\tname: remote.name,\n\t\t\t\texpose\n\t\t\t};\n\t\t\treturn;\n\t\t}\n\t\tif (alias && id.startsWith(alias)) {\n\t\t\tconst idWithName = id.replace(alias, name);\n\t\t\tthis.idToRemoteMap[idWithName] = {\n\t\t\t\tname: remote.name,\n\t\t\t\texpose\n\t\t\t};\n\t\t}\n\t}\n\tasync loadRemote(id, options) {\n\t\tconst { host } = this;\n\t\tconst startMatchInfo = require_manifest.matchRemoteWithNameAndExpose(host.options.remotes, id);\n\t\tlet completeRequestId = id;\n\t\tlet completeExpose = startMatchInfo?.expose;\n\t\tlet completeRemote = startMatchInfo ? require_load.getRemoteInfo(startMatchInfo.remote) : void 0;\n\t\tlet afterLoadRemoteArgs;\n\t\ttry {\n\t\t\tconst { loadFactory = true } = options || { loadFactory: true };\n\t\t\tconst { module, moduleOptions, remoteMatchInfo } = await this.getRemoteModuleAndOptions({ id });\n\t\t\tconst { pkgNameOrAlias, remote, expose, id: idRes, remoteSnapshot } = remoteMatchInfo;\n\t\t\tcompleteRequestId = idRes;\n\t\t\tcompleteExpose = expose;\n\t\t\tcompleteRemote = require_load.getRemoteInfo(remote);\n\t\t\tconst moduleOrFactory = await module.get(idRes, expose, options, remoteSnapshot);\n\t\t\tconst moduleWrapper = await this.hooks.lifecycle.onLoad.emit({\n\t\t\t\tid: idRes,\n\t\t\t\tpkgNameOrAlias,\n\t\t\t\texpose,\n\t\t\t\texposeModule: loadFactory ? moduleOrFactory : void 0,\n\t\t\t\texposeModuleFactory: loadFactory ? void 0 : moduleOrFactory,\n\t\t\t\tremote,\n\t\t\t\toptions: moduleOptions,\n\t\t\t\tmoduleInstance: module,\n\t\t\t\torigin: host\n\t\t\t});\n\t\t\tthis.setIdToRemoteMap(id, remoteMatchInfo);\n\t\t\tafterLoadRemoteArgs = {\n\t\t\t\tid: completeRequestId,\n\t\t\t\texpose: completeExpose,\n\t\t\t\tremote: completeRemote,\n\t\t\t\toptions,\n\t\t\t\torigin: host\n\t\t\t};\n\t\t\tif (typeof moduleWrapper === \"function\") return moduleWrapper;\n\t\t\treturn moduleOrFactory;\n\t\t} catch (error) {\n\t\t\tconst { from = \"runtime\" } = options || { from: \"runtime\" };\n\t\t\tlet failOver;\n\t\t\ttry {\n\t\t\t\tfailOver = await this.hooks.lifecycle.errorLoadRemote.emit({\n\t\t\t\t\tid,\n\t\t\t\t\terror,\n\t\t\t\t\tfrom,\n\t\t\t\t\tlifecycle: \"onLoad\",\n\t\t\t\t\texpose: completeExpose,\n\t\t\t\t\tremote: completeRemote,\n\t\t\t\t\torigin: host\n\t\t\t\t});\n\t\t\t} catch (hookError) {\n\t\t\t\tafterLoadRemoteArgs = {\n\t\t\t\t\tid: completeRequestId,\n\t\t\t\t\texpose: completeExpose,\n\t\t\t\t\tremote: completeRemote,\n\t\t\t\t\toptions,\n\t\t\t\t\terror: hookError,\n\t\t\t\t\torigin: host\n\t\t\t\t};\n\t\t\t\tthrow hookError;\n\t\t\t}\n\t\t\tif (!failOver) {\n\t\t\t\tafterLoadRemoteArgs = {\n\t\t\t\t\tid: completeRequestId,\n\t\t\t\t\texpose: completeExpose,\n\t\t\t\t\tremote: completeRemote,\n\t\t\t\t\toptions,\n\t\t\t\t\terror,\n\t\t\t\t\torigin: host\n\t\t\t\t};\n\t\t\t\tthrow error;\n\t\t\t}\n\t\t\tafterLoadRemoteArgs = {\n\t\t\t\tid: completeRequestId,\n\t\t\t\texpose: completeExpose,\n\t\t\t\tremote: completeRemote,\n\t\t\t\toptions,\n\t\t\t\terror,\n\t\t\t\torigin: host,\n\t\t\t\trecovered: true\n\t\t\t};\n\t\t\treturn failOver;\n\t\t} finally {\n\t\t\tif (afterLoadRemoteArgs) await this.hooks.lifecycle.afterLoadRemote.emit(afterLoadRemoteArgs);\n\t\t}\n\t}\n\tasync preloadRemote(preloadOptions) {\n\t\tconst { host } = this;\n\t\tconst preloadResults = [];\n\t\tawait this.hooks.lifecycle.beforePreloadRemote.emit({\n\t\t\tpreloadOps: preloadOptions,\n\t\t\toptions: host.options,\n\t\t\torigin: host\n\t\t});\n\t\tconst preloadOps = require_preload.formatPreloadArgs(host.options.remotes, preloadOptions);\n\t\tconst createPreloadAssetOps = (ops) => {\n\t\t\tconst { preloadConfig, remote } = ops;\n\t\t\tconst exposes = preloadConfig.exposes || [];\n\t\t\tif (!exposes.length) return [{\n\t\t\t\tops,\n\t\t\t\tid: `${remote.name}/*`\n\t\t\t}];\n\t\t\treturn exposes.map((expose) => ({\n\t\t\t\tops: {\n\t\t\t\t\t...ops,\n\t\t\t\t\tpreloadConfig: {\n\t\t\t\t\t\t...preloadConfig,\n\t\t\t\t\t\texposes: [expose]\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tid: require_manifest.composeRemoteRequestId(remote.name, expose)\n\t\t\t}));\n\t\t};\n\t\tlet preloadError;\n\t\tawait Promise.all(preloadOps.flatMap(createPreloadAssetOps).map(async (assetOps) => {\n\t\t\tconst { ops, id: preloadId } = assetOps;\n\t\t\tconst { remote, preloadConfig } = ops;\n\t\t\tconst remoteInfo = require_load.getRemoteInfo(remote);\n\t\t\ttry {\n\t\t\t\tconst { globalSnapshot, remoteSnapshot } = await host.snapshotHandler.loadRemoteSnapshotInfo({\n\t\t\t\t\tmoduleInfo: remote,\n\t\t\t\t\tid: preloadId,\n\t\t\t\t\tinitiator: \"preloadRemote\"\n\t\t\t\t});\n\t\t\t\tconst assets = await this.hooks.lifecycle.generatePreloadAssets.emit({\n\t\t\t\t\torigin: host,\n\t\t\t\t\tpreloadOptions: ops,\n\t\t\t\t\tremote,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tglobalSnapshot,\n\t\t\t\t\tremoteSnapshot\n\t\t\t\t});\n\t\t\t\tif (!assets) return;\n\t\t\t\tconst results = await require_preload.preloadAssets(remoteInfo, host, assets, true, {\n\t\t\t\t\tinitiator: \"preloadRemote\",\n\t\t\t\t\tid: preloadId\n\t\t\t\t});\n\t\t\t\tpreloadResults.push({\n\t\t\t\t\tremote,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tpreloadConfig,\n\t\t\t\t\tid: preloadId,\n\t\t\t\t\tresults\n\t\t\t\t});\n\t\t\t} catch (error) {\n\t\t\t\tpreloadResults.push({\n\t\t\t\t\tremote,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tpreloadConfig,\n\t\t\t\t\tid: preloadId,\n\t\t\t\t\tresults: [{\n\t\t\t\t\t\turl: remoteInfo.entry,\n\t\t\t\t\t\tstatus: \"error\",\n\t\t\t\t\t\tresourceType: /\\.json(?:$|[?#])/i.test(remoteInfo.entry) ? \"manifest\" : \"remoteEntry\",\n\t\t\t\t\t\tinitiator: \"preloadRemote\",\n\t\t\t\t\t\tid: preloadId,\n\t\t\t\t\t\terror\n\t\t\t\t\t}]\n\t\t\t\t});\n\t\t\t}\n\t\t}));\n\t\tconst failedResults = preloadResults.flatMap((preloadResult) => preloadResult.results.filter((result) => result.status === \"error\" || result.status === \"timeout\"));\n\t\tif (failedResults.length > 0) {\n\t\t\tpreloadError = /* @__PURE__ */ new Error(`preloadRemote failed to load ${failedResults.length} resource(s).`);\n\t\t\tObject.assign(preloadError, {\n\t\t\t\tresults: preloadResults,\n\t\t\t\tfailedResults\n\t\t\t});\n\t\t}\n\t\tawait this.hooks.lifecycle.afterPreloadRemote.emit({\n\t\t\tpreloadOps: preloadOptions,\n\t\t\toptions: host.options,\n\t\t\torigin: host,\n\t\t\tresults: preloadResults,\n\t\t\terror: preloadError\n\t\t});\n\t\tif (preloadError) throw preloadError;\n\t}\n\tregisterRemotes(remotes, options) {\n\t\tconst { host } = this;\n\t\tremotes.forEach((remote) => {\n\t\t\tthis.registerRemote(remote, host.options.remotes, { force: options?.force });\n\t\t});\n\t}\n\tinitRawContainer(name, url, container) {\n\t\tconst { host } = this;\n\t\tconst module = new require_index$1.Module({\n\t\t\thost,\n\t\t\tremoteInfo: require_load.getRemoteInfo({\n\t\t\t\tname,\n\t\t\t\tentry: url\n\t\t\t})\n\t\t});\n\t\tmodule.remoteEntryExports = container;\n\t\thost.moduleCache.set(name, module);\n\t\treturn module;\n\t}\n\tasync getRemoteModuleAndOptions(options) {\n\t\tconst { host } = this;\n\t\tconst { id } = options;\n\t\tlet loadRemoteArgs;\n\t\ttry {\n\t\t\tloadRemoteArgs = await this.hooks.lifecycle.beforeRequest.emit({\n\t\t\t\tid,\n\t\t\t\toptions: host.options,\n\t\t\t\torigin: host\n\t\t\t});\n\t\t} catch (error) {\n\t\t\tloadRemoteArgs = await this.hooks.lifecycle.errorLoadRemote.emit({\n\t\t\t\tid,\n\t\t\t\toptions: host.options,\n\t\t\t\torigin: host,\n\t\t\t\tfrom: \"runtime\",\n\t\t\t\terror,\n\t\t\t\tlifecycle: \"beforeRequest\"\n\t\t\t});\n\t\t\tif (!loadRemoteArgs) throw error;\n\t\t}\n\t\tconst { id: idRes } = loadRemoteArgs;\n\t\tconst remoteSplitInfo = require_manifest.matchRemoteWithNameAndExpose(host.options.remotes, idRes);\n\t\tif (!remoteSplitInfo) try {\n\t\t\trequire_logger.error(_module_federation_error_codes.RUNTIME_004, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\thostName: host.options.name,\n\t\t\t\trequestId: idRes\n\t\t\t}, void 0, require_context.optionsToMFContext(host.options));\n\t\t} catch (matchError) {\n\t\t\tawait this.hooks.lifecycle.afterMatchRemote.emit({\n\t\t\t\tid: idRes,\n\t\t\t\toptions: host.options,\n\t\t\t\terror: matchError,\n\t\t\t\torigin: host\n\t\t\t});\n\t\t\tthrow matchError;\n\t\t}\n\t\tconst { remote: rawRemote } = remoteSplitInfo;\n\t\tconst remoteInfo = require_load.getRemoteInfo(rawRemote);\n\t\tawait this.hooks.lifecycle.afterMatchRemote.emit({\n\t\t\tid: idRes,\n\t\t\t...remoteSplitInfo,\n\t\t\toptions: host.options,\n\t\t\tremoteInfo,\n\t\t\torigin: host\n\t\t});\n\t\tconst matchInfo = await host.sharedHandler.hooks.lifecycle.afterResolve.emit({\n\t\t\tid: idRes,\n\t\t\t...remoteSplitInfo,\n\t\t\toptions: host.options,\n\t\t\torigin: host,\n\t\t\tremoteInfo\n\t\t});\n\t\tconst { remote, expose } = matchInfo;\n\t\trequire_logger.assert(remote && expose, `The 'beforeRequest' hook was executed, but it failed to return the correct 'remote' and 'expose' values while loading ${idRes}.`);\n\t\tlet module = host.moduleCache.get(remote.name);\n\t\tconst moduleOptions = {\n\t\t\thost,\n\t\t\tremoteInfo\n\t\t};\n\t\tif (!module) {\n\t\t\tmodule = new require_index$1.Module(moduleOptions);\n\t\t\thost.moduleCache.set(remote.name, module);\n\t\t}\n\t\treturn {\n\t\t\tmodule,\n\t\t\tmoduleOptions,\n\t\t\tremoteMatchInfo: matchInfo\n\t\t};\n\t}\n\tregisterRemote(remote, targetRemotes, options) {\n\t\tconst { host } = this;\n\t\tconst normalizeRemote = () => {\n\t\t\tif (remote.alias) {\n\t\t\t\tconst findEqual = targetRemotes.find((item) => remote.alias && (item.name.startsWith(remote.alias) || item.alias?.startsWith(remote.alias)));\n\t\t\t\trequire_logger.assert(!findEqual, `The alias ${remote.alias} of remote ${remote.name} is not allowed to be the prefix of ${findEqual && findEqual.name} name or alias`);\n\t\t\t}\n\t\t\tif (\"entry\" in remote) {\n\t\t\t\tif (_module_federation_sdk.isBrowserEnvValue && typeof window !== \"undefined\" && !remote.entry.startsWith(\"http\")) remote.entry = new URL(remote.entry, window.location.origin).href;\n\t\t\t}\n\t\t\tif (!remote.shareScope) remote.shareScope = require_constant.DEFAULT_SCOPE;\n\t\t\tif (!remote.type) remote.type = require_constant.DEFAULT_REMOTE_TYPE;\n\t\t};\n\t\tthis.hooks.lifecycle.beforeRegisterRemote.emit({\n\t\t\tremote,\n\t\t\torigin: host\n\t\t});\n\t\tconst registeredRemote = targetRemotes.find((item) => item.name === remote.name);\n\t\tif (!registeredRemote) {\n\t\t\tnormalizeRemote();\n\t\t\ttargetRemotes.push(remote);\n\t\t\tthis.hooks.lifecycle.registerRemote.emit({\n\t\t\t\tremote,\n\t\t\t\torigin: host\n\t\t\t});\n\t\t} else {\n\t\t\tconst messages = [`The remote \"${remote.name}\" is already registered.`, \"Please note that overriding it may cause unexpected errors.\"];\n\t\t\tif (options?.force) {\n\t\t\t\tthis.removeRemote(registeredRemote);\n\t\t\t\tnormalizeRemote();\n\t\t\t\ttargetRemotes.push(remote);\n\t\t\t\tthis.hooks.lifecycle.registerRemote.emit({\n\t\t\t\t\tremote,\n\t\t\t\t\torigin: host\n\t\t\t\t});\n\t\t\t\t(0, _module_federation_sdk.warn)(messages.join(\" \"));\n\t\t\t}\n\t\t}\n\t}\n\tremoveRemote(remote) {\n\t\ttry {\n\t\t\tconst { host } = this;\n\t\t\tconst { name } = remote;\n\t\t\tconst remoteIndex = host.options.remotes.findIndex((item) => item.name === name);\n\t\t\tif (remoteIndex !== -1) host.options.remotes.splice(remoteIndex, 1);\n\t\t\tconst globalSnapshotKey = require_global.getInfoWithoutType(require_global.CurrentGlobal.__FEDERATION__.moduleInfo, require_tool.getFMId(remote)).key;\n\t\t\tdelete require_global.CurrentGlobal.__FEDERATION__.moduleInfo[globalSnapshotKey];\n\t\t\tif (\"entry\" in remote) {\n\t\t\t\thost.snapshotHandler.manifestCache.delete(remote.entry);\n\t\t\t\tdelete require_global.Global.__FEDERATION__.__MANIFEST_LOADING__[remote.entry];\n\t\t\t}\n\t\t\tconst { hostGlobalSnapshot } = require_SnapshotHandler.getGlobalRemoteInfo(remote, host);\n\t\t\tif (hostGlobalSnapshot) {\n\t\t\t\tconst remoteKey = hostGlobalSnapshot && \"remotesInfo\" in hostGlobalSnapshot && hostGlobalSnapshot.remotesInfo && require_global.getInfoWithoutType(hostGlobalSnapshot.remotesInfo, remote.name).key;\n\t\t\t\tif (remoteKey) delete hostGlobalSnapshot.remotesInfo[remoteKey];\n\t\t\t}\n\t\t\tconst loadedModule = host.moduleCache.get(remote.name);\n\t\t\tif (loadedModule) {\n\t\t\t\tconst remoteInfo = loadedModule.remoteInfo;\n\t\t\t\tconst key = remoteInfo.entryGlobalName;\n\t\t\t\tif (require_global.CurrentGlobal[key]) if (Object.getOwnPropertyDescriptor(require_global.CurrentGlobal, key)?.configurable) delete require_global.CurrentGlobal[key];\n\t\t\t\telse require_global.CurrentGlobal[key] = void 0;\n\t\t\t\tconst remoteEntryUniqueKey = require_load.getRemoteEntryUniqueKey(loadedModule.remoteInfo);\n\t\t\t\tif (require_global.globalLoading[remoteEntryUniqueKey]) delete require_global.globalLoading[remoteEntryUniqueKey];\n\t\t\t\tlet remoteInsId = remoteInfo.buildVersion ? (0, _module_federation_sdk.composeKeyWithSeparator)(remoteInfo.name, remoteInfo.buildVersion) : remoteInfo.name;\n\t\t\t\tconst remoteInsIndex = require_global.CurrentGlobal.__FEDERATION__.__INSTANCES__.findIndex((ins) => {\n\t\t\t\t\tif (remoteInfo.buildVersion) return ins.options.id === remoteInsId;\n\t\t\t\t\telse return ins.name === remoteInsId;\n\t\t\t\t});\n\t\t\t\tif (remoteInsIndex !== -1) {\n\t\t\t\t\tconst remoteIns = require_global.CurrentGlobal.__FEDERATION__.__INSTANCES__[remoteInsIndex];\n\t\t\t\t\tremoteInsId = remoteIns.options.id || remoteInsId;\n\t\t\t\t\tconst globalShareScopeMap = require_share.getGlobalShareScope();\n\t\t\t\t\tlet isAllSharedNotUsed = true;\n\t\t\t\t\tconst needDeleteKeys = [];\n\t\t\t\t\tObject.keys(globalShareScopeMap).forEach((instId) => {\n\t\t\t\t\t\tconst shareScopeMap = globalShareScopeMap[instId];\n\t\t\t\t\t\tshareScopeMap && Object.keys(shareScopeMap).forEach((shareScope) => {\n\t\t\t\t\t\t\tconst shareScopeVal = shareScopeMap[shareScope];\n\t\t\t\t\t\t\tshareScopeVal && Object.keys(shareScopeVal).forEach((shareName) => {\n\t\t\t\t\t\t\t\tconst sharedPkgs = shareScopeVal[shareName];\n\t\t\t\t\t\t\t\tsharedPkgs && Object.keys(sharedPkgs).forEach((shareVersion) => {\n\t\t\t\t\t\t\t\t\tconst shared = sharedPkgs[shareVersion];\n\t\t\t\t\t\t\t\t\tif (shared && typeof shared === \"object\" && shared.from === remoteInfo.name) if (shared.loaded || shared.loading) {\n\t\t\t\t\t\t\t\t\t\tshared.useIn = shared.useIn.filter((usedHostName) => usedHostName !== remoteInfo.name);\n\t\t\t\t\t\t\t\t\t\tif (shared.useIn.length) isAllSharedNotUsed = false;\n\t\t\t\t\t\t\t\t\t\telse needDeleteKeys.push([\n\t\t\t\t\t\t\t\t\t\t\tinstId,\n\t\t\t\t\t\t\t\t\t\t\tshareScope,\n\t\t\t\t\t\t\t\t\t\t\tshareName,\n\t\t\t\t\t\t\t\t\t\t\tshareVersion\n\t\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t\t} else needDeleteKeys.push([\n\t\t\t\t\t\t\t\t\t\tinstId,\n\t\t\t\t\t\t\t\t\t\tshareScope,\n\t\t\t\t\t\t\t\t\t\tshareName,\n\t\t\t\t\t\t\t\t\t\tshareVersion\n\t\t\t\t\t\t\t\t\t]);\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tif (isAllSharedNotUsed) {\n\t\t\t\t\t\tremoteIns.shareScopeMap = {};\n\t\t\t\t\t\tdelete globalShareScopeMap[remoteInsId];\n\t\t\t\t\t}\n\t\t\t\t\tneedDeleteKeys.forEach(([insId, shareScope, shareName, shareVersion]) => {\n\t\t\t\t\t\tdelete globalShareScopeMap[insId]?.[shareScope]?.[shareName]?.[shareVersion];\n\t\t\t\t\t});\n\t\t\t\t\trequire_global.CurrentGlobal.__FEDERATION__.__INSTANCES__.splice(remoteInsIndex, 1);\n\t\t\t\t}\n\t\t\t\thost.moduleCache.delete(remote.name);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\trequire_logger.logger.error(`removeRemote failed: ${err instanceof Error ? err.message : String(err)}`);\n\t\t}\n\t}\n};\n\n//#endregion\nexports.RemoteHandler = RemoteHandler;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3JlbW90ZS9pbmRleC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvcmVtb3RlL2luZGV4LmNqcz81NzRiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi4vdXRpbHMvbG9nZ2VyLmNqcycpO1xuY29uc3QgcmVxdWlyZV90b29sID0gcmVxdWlyZSgnLi4vdXRpbHMvdG9vbC5janMnKTtcbmNvbnN0IHJlcXVpcmVfZ2xvYmFsID0gcmVxdWlyZSgnLi4vZ2xvYmFsLmNqcycpO1xuY29uc3QgcmVxdWlyZV9jb25zdGFudCA9IHJlcXVpcmUoJy4uL2NvbnN0YW50LmNqcycpO1xuY29uc3QgcmVxdWlyZV9zaGFyZSA9IHJlcXVpcmUoJy4uL3V0aWxzL3NoYXJlLmNqcycpO1xuY29uc3QgcmVxdWlyZV9tYW5pZmVzdCA9IHJlcXVpcmUoJy4uL3V0aWxzL21hbmlmZXN0LmNqcycpO1xuY29uc3QgcmVxdWlyZV9sb2FkID0gcmVxdWlyZSgnLi4vdXRpbHMvbG9hZC5janMnKTtcbmNvbnN0IHJlcXVpcmVfY29udGV4dCA9IHJlcXVpcmUoJy4uL3V0aWxzL2NvbnRleHQuY2pzJyk7XG5yZXF1aXJlKCcuLi91dGlscy9pbmRleC5janMnKTtcbmNvbnN0IHJlcXVpcmVfcHJlbG9hZCA9IHJlcXVpcmUoJy4uL3V0aWxzL3ByZWxvYWQuY2pzJyk7XG5jb25zdCByZXF1aXJlX2luZGV4JDEgPSByZXF1aXJlKCcuLi9tb2R1bGUvaW5kZXguY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNIb29rID0gcmVxdWlyZSgnLi4vdXRpbHMvaG9va3Mvc3luY0hvb2suY2pzJyk7XG5jb25zdCByZXF1aXJlX2FzeW5jSG9vayA9IHJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL2FzeW5jSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfc3luY1dhdGVyZmFsbEhvb2sgPSByZXF1aXJlKCcuLi91dGlscy9ob29rcy9zeW5jV2F0ZXJmYWxsSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXN5bmNXYXRlcmZhbGxIb29rcyA9IHJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL2FzeW5jV2F0ZXJmYWxsSG9va3MuY2pzJyk7XG5jb25zdCByZXF1aXJlX3BsdWdpblN5c3RlbSA9IHJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL3BsdWdpblN5c3RlbS5janMnKTtcbnJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9TbmFwc2hvdEhhbmRsZXIgPSByZXF1aXJlKCcuLi9wbHVnaW5zL3NuYXBzaG90L1NuYXBzaG90SGFuZGxlci5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9lcnJvci1jb2Rlc1wiKTtcblxuLy8jcmVnaW9uIHNyYy9yZW1vdGUvaW5kZXgudHNcbnZhciBSZW1vdGVIYW5kbGVyID0gY2xhc3Mge1xuXHRjb25zdHJ1Y3Rvcihob3N0KSB7XG5cdFx0dGhpcy5ob29rcyA9IG5ldyByZXF1aXJlX3BsdWdpblN5c3RlbS5QbHVnaW5TeXN0ZW0oe1xuXHRcdFx0YmVmb3JlUmVnaXN0ZXJSZW1vdGU6IG5ldyByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rLlN5bmNXYXRlcmZhbGxIb29rKFwiYmVmb3JlUmVnaXN0ZXJSZW1vdGVcIiksXG5cdFx0XHRyZWdpc3RlclJlbW90ZTogbmV3IHJlcXVpcmVfc3luY1dhdGVyZmFsbEhvb2suU3luY1dhdGVyZmFsbEhvb2soXCJyZWdpc3RlclJlbW90ZVwiKSxcblx0XHRcdGJlZm9yZVJlcXVlc3Q6IG5ldyByZXF1aXJlX2FzeW5jV2F0ZXJmYWxsSG9va3MuQXN5bmNXYXRlcmZhbGxIb29rKFwiYmVmb3JlUmVxdWVzdFwiKSxcblx0XHRcdGFmdGVyTWF0Y2hSZW1vdGU6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soXCJhZnRlck1hdGNoUmVtb3RlXCIpLFxuXHRcdFx0b25Mb2FkOiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwib25Mb2FkXCIpLFxuXHRcdFx0YWZ0ZXJMb2FkUmVtb3RlOiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwiYWZ0ZXJMb2FkUmVtb3RlXCIpLFxuXHRcdFx0aGFuZGxlUHJlbG9hZE1vZHVsZTogbmV3IHJlcXVpcmVfc3luY0hvb2suU3luY0hvb2soXCJoYW5kbGVQcmVsb2FkTW9kdWxlXCIpLFxuXHRcdFx0ZXJyb3JMb2FkUmVtb3RlOiBuZXcgcmVxdWlyZV9hc3luY0hvb2suQXN5bmNIb29rKFwiZXJyb3JMb2FkUmVtb3RlXCIpLFxuXHRcdFx0YmVmb3JlUHJlbG9hZFJlbW90ZTogbmV3IHJlcXVpcmVfYXN5bmNIb29rLkFzeW5jSG9vayhcImJlZm9yZVByZWxvYWRSZW1vdGVcIiksXG5cdFx0XHRnZW5lcmF0ZVByZWxvYWRBc3NldHM6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soXCJnZW5lcmF0ZVByZWxvYWRBc3NldHNcIiksXG5cdFx0XHRhZnRlclByZWxvYWRSZW1vdGU6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soXCJhZnRlclByZWxvYWRSZW1vdGVcIiksXG5cdFx0XHRsb2FkRW50cnk6IG5ldyByZXF1aXJlX2FzeW5jSG9vay5Bc3luY0hvb2soKVxuXHRcdH0pO1xuXHRcdHRoaXMuaG9zdCA9IGhvc3Q7XG5cdFx0dGhpcy5pZFRvUmVtb3RlTWFwID0ge307XG5cdH1cblx0Zm9ybWF0QW5kUmVnaXN0ZXJSZW1vdGUoZ2xvYmFsT3B0aW9ucywgdXNlck9wdGlvbnMpIHtcblx0XHRyZXR1cm4gKHVzZXJPcHRpb25zLnJlbW90ZXMgfHwgW10pLnJlZHVjZSgocmVzLCByZW1vdGUpID0+IHtcblx0XHRcdHRoaXMucmVnaXN0ZXJSZW1vdGUocmVtb3RlLCByZXMsIHsgZm9yY2U6IGZhbHNlIH0pO1xuXHRcdFx0cmV0dXJuIHJlcztcblx0XHR9LCBnbG9iYWxPcHRpb25zLnJlbW90ZXMpO1xuXHR9XG5cdHNldElkVG9SZW1vdGVNYXAoaWQsIHJlbW90ZU1hdGNoSW5mbykge1xuXHRcdGNvbnN0IHsgcmVtb3RlLCBleHBvc2UgfSA9IHJlbW90ZU1hdGNoSW5mbztcblx0XHRjb25zdCB7IG5hbWUsIGFsaWFzIH0gPSByZW1vdGU7XG5cdFx0dGhpcy5pZFRvUmVtb3RlTWFwW2lkXSA9IHtcblx0XHRcdG5hbWU6IHJlbW90ZS5uYW1lLFxuXHRcdFx0ZXhwb3NlXG5cdFx0fTtcblx0XHRpZiAoYWxpYXMgJiYgaWQuc3RhcnRzV2l0aChuYW1lKSkge1xuXHRcdFx0Y29uc3QgaWRXaXRoQWxpYXMgPSBpZC5yZXBsYWNlKG5hbWUsIGFsaWFzKTtcblx0XHRcdHRoaXMuaWRUb1JlbW90ZU1hcFtpZFdpdGhBbGlhc10gPSB7XG5cdFx0XHRcdG5hbWU6IHJlbW90ZS5uYW1lLFxuXHRcdFx0XHRleHBvc2Vcblx0XHRcdH07XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmIChhbGlhcyAmJiBpZC5zdGFydHNXaXRoKGFsaWFzKSkge1xuXHRcdFx0Y29uc3QgaWRXaXRoTmFtZSA9IGlkLnJlcGxhY2UoYWxpYXMsIG5hbWUpO1xuXHRcdFx0dGhpcy5pZFRvUmVtb3RlTWFwW2lkV2l0aE5hbWVdID0ge1xuXHRcdFx0XHRuYW1lOiByZW1vdGUubmFtZSxcblx0XHRcdFx0ZXhwb3NlXG5cdFx0XHR9O1xuXHRcdH1cblx0fVxuXHRhc3luYyBsb2FkUmVtb3RlKGlkLCBvcHRpb25zKSB7XG5cdFx0Y29uc3QgeyBob3N0IH0gPSB0aGlzO1xuXHRcdGNvbnN0IHN0YXJ0TWF0Y2hJbmZvID0gcmVxdWlyZV9tYW5pZmVzdC5tYXRjaFJlbW90ZVdpdGhOYW1lQW5kRXhwb3NlKGhvc3Qub3B0aW9ucy5yZW1vdGVzLCBpZCk7XG5cdFx0bGV0IGNvbXBsZXRlUmVxdWVzdElkID0gaWQ7XG5cdFx0bGV0IGNvbXBsZXRlRXhwb3NlID0gc3RhcnRNYXRjaEluZm8/LmV4cG9zZTtcblx0XHRsZXQgY29tcGxldGVSZW1vdGUgPSBzdGFydE1hdGNoSW5mbyA/IHJlcXVpcmVfbG9hZC5nZXRSZW1vdGVJbmZvKHN0YXJ0TWF0Y2hJbmZvLnJlbW90ZSkgOiB2b2lkIDA7XG5cdFx0bGV0IGFmdGVyTG9hZFJlbW90ZUFyZ3M7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHsgbG9hZEZhY3RvcnkgPSB0cnVlIH0gPSBvcHRpb25zIHx8IHsgbG9hZEZhY3Rvcnk6IHRydWUgfTtcblx0XHRcdGNvbnN0IHsgbW9kdWxlLCBtb2R1bGVPcHRpb25zLCByZW1vdGVNYXRjaEluZm8gfSA9IGF3YWl0IHRoaXMuZ2V0UmVtb3RlTW9kdWxlQW5kT3B0aW9ucyh7IGlkIH0pO1xuXHRcdFx0Y29uc3QgeyBwa2dOYW1lT3JBbGlhcywgcmVtb3RlLCBleHBvc2UsIGlkOiBpZFJlcywgcmVtb3RlU25hcHNob3QgfSA9IHJlbW90ZU1hdGNoSW5mbztcblx0XHRcdGNvbXBsZXRlUmVxdWVzdElkID0gaWRSZXM7XG5cdFx0XHRjb21wbGV0ZUV4cG9zZSA9IGV4cG9zZTtcblx0XHRcdGNvbXBsZXRlUmVtb3RlID0gcmVxdWlyZV9sb2FkLmdldFJlbW90ZUluZm8ocmVtb3RlKTtcblx0XHRcdGNvbnN0IG1vZHVsZU9yRmFjdG9yeSA9IGF3YWl0IG1vZHVsZS5nZXQoaWRSZXMsIGV4cG9zZSwgb3B0aW9ucywgcmVtb3RlU25hcHNob3QpO1xuXHRcdFx0Y29uc3QgbW9kdWxlV3JhcHBlciA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLm9uTG9hZC5lbWl0KHtcblx0XHRcdFx0aWQ6IGlkUmVzLFxuXHRcdFx0XHRwa2dOYW1lT3JBbGlhcyxcblx0XHRcdFx0ZXhwb3NlLFxuXHRcdFx0XHRleHBvc2VNb2R1bGU6IGxvYWRGYWN0b3J5ID8gbW9kdWxlT3JGYWN0b3J5IDogdm9pZCAwLFxuXHRcdFx0XHRleHBvc2VNb2R1bGVGYWN0b3J5OiBsb2FkRmFjdG9yeSA/IHZvaWQgMCA6IG1vZHVsZU9yRmFjdG9yeSxcblx0XHRcdFx0cmVtb3RlLFxuXHRcdFx0XHRvcHRpb25zOiBtb2R1bGVPcHRpb25zLFxuXHRcdFx0XHRtb2R1bGVJbnN0YW5jZTogbW9kdWxlLFxuXHRcdFx0XHRvcmlnaW46IGhvc3Rcblx0XHRcdH0pO1xuXHRcdFx0dGhpcy5zZXRJZFRvUmVtb3RlTWFwKGlkLCByZW1vdGVNYXRjaEluZm8pO1xuXHRcdFx0YWZ0ZXJMb2FkUmVtb3RlQXJncyA9IHtcblx0XHRcdFx0aWQ6IGNvbXBsZXRlUmVxdWVzdElkLFxuXHRcdFx0XHRleHBvc2U6IGNvbXBsZXRlRXhwb3NlLFxuXHRcdFx0XHRyZW1vdGU6IGNvbXBsZXRlUmVtb3RlLFxuXHRcdFx0XHRvcHRpb25zLFxuXHRcdFx0XHRvcmlnaW46IGhvc3Rcblx0XHRcdH07XG5cdFx0XHRpZiAodHlwZW9mIG1vZHVsZVdyYXBwZXIgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIG1vZHVsZVdyYXBwZXI7XG5cdFx0XHRyZXR1cm4gbW9kdWxlT3JGYWN0b3J5O1xuXHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRjb25zdCB7IGZyb20gPSBcInJ1bnRpbWVcIiB9ID0gb3B0aW9ucyB8fCB7IGZyb206IFwicnVudGltZVwiIH07XG5cdFx0XHRsZXQgZmFpbE92ZXI7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRmYWlsT3ZlciA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmVycm9yTG9hZFJlbW90ZS5lbWl0KHtcblx0XHRcdFx0XHRpZCxcblx0XHRcdFx0XHRlcnJvcixcblx0XHRcdFx0XHRmcm9tLFxuXHRcdFx0XHRcdGxpZmVjeWNsZTogXCJvbkxvYWRcIixcblx0XHRcdFx0XHRleHBvc2U6IGNvbXBsZXRlRXhwb3NlLFxuXHRcdFx0XHRcdHJlbW90ZTogY29tcGxldGVSZW1vdGUsXG5cdFx0XHRcdFx0b3JpZ2luOiBob3N0XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSBjYXRjaCAoaG9va0Vycm9yKSB7XG5cdFx0XHRcdGFmdGVyTG9hZFJlbW90ZUFyZ3MgPSB7XG5cdFx0XHRcdFx0aWQ6IGNvbXBsZXRlUmVxdWVzdElkLFxuXHRcdFx0XHRcdGV4cG9zZTogY29tcGxldGVFeHBvc2UsXG5cdFx0XHRcdFx0cmVtb3RlOiBjb21wbGV0ZVJlbW90ZSxcblx0XHRcdFx0XHRvcHRpb25zLFxuXHRcdFx0XHRcdGVycm9yOiBob29rRXJyb3IsXG5cdFx0XHRcdFx0b3JpZ2luOiBob3N0XG5cdFx0XHRcdH07XG5cdFx0XHRcdHRocm93IGhvb2tFcnJvcjtcblx0XHRcdH1cblx0XHRcdGlmICghZmFpbE92ZXIpIHtcblx0XHRcdFx0YWZ0ZXJMb2FkUmVtb3RlQXJncyA9IHtcblx0XHRcdFx0XHRpZDogY29tcGxldGVSZXF1ZXN0SWQsXG5cdFx0XHRcdFx0ZXhwb3NlOiBjb21wbGV0ZUV4cG9zZSxcblx0XHRcdFx0XHRyZW1vdGU6IGNvbXBsZXRlUmVtb3RlLFxuXHRcdFx0XHRcdG9wdGlvbnMsXG5cdFx0XHRcdFx0ZXJyb3IsXG5cdFx0XHRcdFx0b3JpZ2luOiBob3N0XG5cdFx0XHRcdH07XG5cdFx0XHRcdHRocm93IGVycm9yO1xuXHRcdFx0fVxuXHRcdFx0YWZ0ZXJMb2FkUmVtb3RlQXJncyA9IHtcblx0XHRcdFx0aWQ6IGNvbXBsZXRlUmVxdWVzdElkLFxuXHRcdFx0XHRleHBvc2U6IGNvbXBsZXRlRXhwb3NlLFxuXHRcdFx0XHRyZW1vdGU6IGNvbXBsZXRlUmVtb3RlLFxuXHRcdFx0XHRvcHRpb25zLFxuXHRcdFx0XHRlcnJvcixcblx0XHRcdFx0b3JpZ2luOiBob3N0LFxuXHRcdFx0XHRyZWNvdmVyZWQ6IHRydWVcblx0XHRcdH07XG5cdFx0XHRyZXR1cm4gZmFpbE92ZXI7XG5cdFx0fSBmaW5hbGx5IHtcblx0XHRcdGlmIChhZnRlckxvYWRSZW1vdGVBcmdzKSBhd2FpdCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5hZnRlckxvYWRSZW1vdGUuZW1pdChhZnRlckxvYWRSZW1vdGVBcmdzKTtcblx0XHR9XG5cdH1cblx0YXN5bmMgcHJlbG9hZFJlbW90ZShwcmVsb2FkT3B0aW9ucykge1xuXHRcdGNvbnN0IHsgaG9zdCB9ID0gdGhpcztcblx0XHRjb25zdCBwcmVsb2FkUmVzdWx0cyA9IFtdO1xuXHRcdGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZVByZWxvYWRSZW1vdGUuZW1pdCh7XG5cdFx0XHRwcmVsb2FkT3BzOiBwcmVsb2FkT3B0aW9ucyxcblx0XHRcdG9wdGlvbnM6IGhvc3Qub3B0aW9ucyxcblx0XHRcdG9yaWdpbjogaG9zdFxuXHRcdH0pO1xuXHRcdGNvbnN0IHByZWxvYWRPcHMgPSByZXF1aXJlX3ByZWxvYWQuZm9ybWF0UHJlbG9hZEFyZ3MoaG9zdC5vcHRpb25zLnJlbW90ZXMsIHByZWxvYWRPcHRpb25zKTtcblx0XHRjb25zdCBjcmVhdGVQcmVsb2FkQXNzZXRPcHMgPSAob3BzKSA9PiB7XG5cdFx0XHRjb25zdCB7IHByZWxvYWRDb25maWcsIHJlbW90ZSB9ID0gb3BzO1xuXHRcdFx0Y29uc3QgZXhwb3NlcyA9IHByZWxvYWRDb25maWcuZXhwb3NlcyB8fCBbXTtcblx0XHRcdGlmICghZXhwb3Nlcy5sZW5ndGgpIHJldHVybiBbe1xuXHRcdFx0XHRvcHMsXG5cdFx0XHRcdGlkOiBgJHtyZW1vdGUubmFtZX0vKmBcblx0XHRcdH1dO1xuXHRcdFx0cmV0dXJuIGV4cG9zZXMubWFwKChleHBvc2UpID0+ICh7XG5cdFx0XHRcdG9wczoge1xuXHRcdFx0XHRcdC4uLm9wcyxcblx0XHRcdFx0XHRwcmVsb2FkQ29uZmlnOiB7XG5cdFx0XHRcdFx0XHQuLi5wcmVsb2FkQ29uZmlnLFxuXHRcdFx0XHRcdFx0ZXhwb3NlczogW2V4cG9zZV1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0sXG5cdFx0XHRcdGlkOiByZXF1aXJlX21hbmlmZXN0LmNvbXBvc2VSZW1vdGVSZXF1ZXN0SWQocmVtb3RlLm5hbWUsIGV4cG9zZSlcblx0XHRcdH0pKTtcblx0XHR9O1xuXHRcdGxldCBwcmVsb2FkRXJyb3I7XG5cdFx0YXdhaXQgUHJvbWlzZS5hbGwocHJlbG9hZE9wcy5mbGF0TWFwKGNyZWF0ZVByZWxvYWRBc3NldE9wcykubWFwKGFzeW5jIChhc3NldE9wcykgPT4ge1xuXHRcdFx0Y29uc3QgeyBvcHMsIGlkOiBwcmVsb2FkSWQgfSA9IGFzc2V0T3BzO1xuXHRcdFx0Y29uc3QgeyByZW1vdGUsIHByZWxvYWRDb25maWcgfSA9IG9wcztcblx0XHRcdGNvbnN0IHJlbW90ZUluZm8gPSByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlSW5mbyhyZW1vdGUpO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0Y29uc3QgeyBnbG9iYWxTbmFwc2hvdCwgcmVtb3RlU25hcHNob3QgfSA9IGF3YWl0IGhvc3Quc25hcHNob3RIYW5kbGVyLmxvYWRSZW1vdGVTbmFwc2hvdEluZm8oe1xuXHRcdFx0XHRcdG1vZHVsZUluZm86IHJlbW90ZSxcblx0XHRcdFx0XHRpZDogcHJlbG9hZElkLFxuXHRcdFx0XHRcdGluaXRpYXRvcjogXCJwcmVsb2FkUmVtb3RlXCJcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGNvbnN0IGFzc2V0cyA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmdlbmVyYXRlUHJlbG9hZEFzc2V0cy5lbWl0KHtcblx0XHRcdFx0XHRvcmlnaW46IGhvc3QsXG5cdFx0XHRcdFx0cHJlbG9hZE9wdGlvbnM6IG9wcyxcblx0XHRcdFx0XHRyZW1vdGUsXG5cdFx0XHRcdFx0cmVtb3RlSW5mbyxcblx0XHRcdFx0XHRnbG9iYWxTbmFwc2hvdCxcblx0XHRcdFx0XHRyZW1vdGVTbmFwc2hvdFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYgKCFhc3NldHMpIHJldHVybjtcblx0XHRcdFx0Y29uc3QgcmVzdWx0cyA9IGF3YWl0IHJlcXVpcmVfcHJlbG9hZC5wcmVsb2FkQXNzZXRzKHJlbW90ZUluZm8sIGhvc3QsIGFzc2V0cywgdHJ1ZSwge1xuXHRcdFx0XHRcdGluaXRpYXRvcjogXCJwcmVsb2FkUmVtb3RlXCIsXG5cdFx0XHRcdFx0aWQ6IHByZWxvYWRJZFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0cHJlbG9hZFJlc3VsdHMucHVzaCh7XG5cdFx0XHRcdFx0cmVtb3RlLFxuXHRcdFx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRcdFx0cHJlbG9hZENvbmZpZyxcblx0XHRcdFx0XHRpZDogcHJlbG9hZElkLFxuXHRcdFx0XHRcdHJlc3VsdHNcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRwcmVsb2FkUmVzdWx0cy5wdXNoKHtcblx0XHRcdFx0XHRyZW1vdGUsXG5cdFx0XHRcdFx0cmVtb3RlSW5mbyxcblx0XHRcdFx0XHRwcmVsb2FkQ29uZmlnLFxuXHRcdFx0XHRcdGlkOiBwcmVsb2FkSWQsXG5cdFx0XHRcdFx0cmVzdWx0czogW3tcblx0XHRcdFx0XHRcdHVybDogcmVtb3RlSW5mby5lbnRyeSxcblx0XHRcdFx0XHRcdHN0YXR1czogXCJlcnJvclwiLFxuXHRcdFx0XHRcdFx0cmVzb3VyY2VUeXBlOiAvXFwuanNvbig/OiR8Wz8jXSkvaS50ZXN0KHJlbW90ZUluZm8uZW50cnkpID8gXCJtYW5pZmVzdFwiIDogXCJyZW1vdGVFbnRyeVwiLFxuXHRcdFx0XHRcdFx0aW5pdGlhdG9yOiBcInByZWxvYWRSZW1vdGVcIixcblx0XHRcdFx0XHRcdGlkOiBwcmVsb2FkSWQsXG5cdFx0XHRcdFx0XHRlcnJvclxuXHRcdFx0XHRcdH1dXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pKTtcblx0XHRjb25zdCBmYWlsZWRSZXN1bHRzID0gcHJlbG9hZFJlc3VsdHMuZmxhdE1hcCgocHJlbG9hZFJlc3VsdCkgPT4gcHJlbG9hZFJlc3VsdC5yZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PiByZXN1bHQuc3RhdHVzID09PSBcImVycm9yXCIgfHwgcmVzdWx0LnN0YXR1cyA9PT0gXCJ0aW1lb3V0XCIpKTtcblx0XHRpZiAoZmFpbGVkUmVzdWx0cy5sZW5ndGggPiAwKSB7XG5cdFx0XHRwcmVsb2FkRXJyb3IgPSAvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKGBwcmVsb2FkUmVtb3RlIGZhaWxlZCB0byBsb2FkICR7ZmFpbGVkUmVzdWx0cy5sZW5ndGh9IHJlc291cmNlKHMpLmApO1xuXHRcdFx0T2JqZWN0LmFzc2lnbihwcmVsb2FkRXJyb3IsIHtcblx0XHRcdFx0cmVzdWx0czogcHJlbG9hZFJlc3VsdHMsXG5cdFx0XHRcdGZhaWxlZFJlc3VsdHNcblx0XHRcdH0pO1xuXHRcdH1cblx0XHRhd2FpdCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5hZnRlclByZWxvYWRSZW1vdGUuZW1pdCh7XG5cdFx0XHRwcmVsb2FkT3BzOiBwcmVsb2FkT3B0aW9ucyxcblx0XHRcdG9wdGlvbnM6IGhvc3Qub3B0aW9ucyxcblx0XHRcdG9yaWdpbjogaG9zdCxcblx0XHRcdHJlc3VsdHM6IHByZWxvYWRSZXN1bHRzLFxuXHRcdFx0ZXJyb3I6IHByZWxvYWRFcnJvclxuXHRcdH0pO1xuXHRcdGlmIChwcmVsb2FkRXJyb3IpIHRocm93IHByZWxvYWRFcnJvcjtcblx0fVxuXHRyZWdpc3RlclJlbW90ZXMocmVtb3Rlcywgb3B0aW9ucykge1xuXHRcdGNvbnN0IHsgaG9zdCB9ID0gdGhpcztcblx0XHRyZW1vdGVzLmZvckVhY2goKHJlbW90ZSkgPT4ge1xuXHRcdFx0dGhpcy5yZWdpc3RlclJlbW90ZShyZW1vdGUsIGhvc3Qub3B0aW9ucy5yZW1vdGVzLCB7IGZvcmNlOiBvcHRpb25zPy5mb3JjZSB9KTtcblx0XHR9KTtcblx0fVxuXHRpbml0UmF3Q29udGFpbmVyKG5hbWUsIHVybCwgY29udGFpbmVyKSB7XG5cdFx0Y29uc3QgeyBob3N0IH0gPSB0aGlzO1xuXHRcdGNvbnN0IG1vZHVsZSA9IG5ldyByZXF1aXJlX2luZGV4JDEuTW9kdWxlKHtcblx0XHRcdGhvc3QsXG5cdFx0XHRyZW1vdGVJbmZvOiByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlSW5mbyh7XG5cdFx0XHRcdG5hbWUsXG5cdFx0XHRcdGVudHJ5OiB1cmxcblx0XHRcdH0pXG5cdFx0fSk7XG5cdFx0bW9kdWxlLnJlbW90ZUVudHJ5RXhwb3J0cyA9IGNvbnRhaW5lcjtcblx0XHRob3N0Lm1vZHVsZUNhY2hlLnNldChuYW1lLCBtb2R1bGUpO1xuXHRcdHJldHVybiBtb2R1bGU7XG5cdH1cblx0YXN5bmMgZ2V0UmVtb3RlTW9kdWxlQW5kT3B0aW9ucyhvcHRpb25zKSB7XG5cdFx0Y29uc3QgeyBob3N0IH0gPSB0aGlzO1xuXHRcdGNvbnN0IHsgaWQgfSA9IG9wdGlvbnM7XG5cdFx0bGV0IGxvYWRSZW1vdGVBcmdzO1xuXHRcdHRyeSB7XG5cdFx0XHRsb2FkUmVtb3RlQXJncyA9IGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZVJlcXVlc3QuZW1pdCh7XG5cdFx0XHRcdGlkLFxuXHRcdFx0XHRvcHRpb25zOiBob3N0Lm9wdGlvbnMsXG5cdFx0XHRcdG9yaWdpbjogaG9zdFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdGxvYWRSZW1vdGVBcmdzID0gYXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUuZXJyb3JMb2FkUmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRpZCxcblx0XHRcdFx0b3B0aW9uczogaG9zdC5vcHRpb25zLFxuXHRcdFx0XHRvcmlnaW46IGhvc3QsXG5cdFx0XHRcdGZyb206IFwicnVudGltZVwiLFxuXHRcdFx0XHRlcnJvcixcblx0XHRcdFx0bGlmZWN5Y2xlOiBcImJlZm9yZVJlcXVlc3RcIlxuXHRcdFx0fSk7XG5cdFx0XHRpZiAoIWxvYWRSZW1vdGVBcmdzKSB0aHJvdyBlcnJvcjtcblx0XHR9XG5cdFx0Y29uc3QgeyBpZDogaWRSZXMgfSA9IGxvYWRSZW1vdGVBcmdzO1xuXHRcdGNvbnN0IHJlbW90ZVNwbGl0SW5mbyA9IHJlcXVpcmVfbWFuaWZlc3QubWF0Y2hSZW1vdGVXaXRoTmFtZUFuZEV4cG9zZShob3N0Lm9wdGlvbnMucmVtb3RlcywgaWRSZXMpO1xuXHRcdGlmICghcmVtb3RlU3BsaXRJbmZvKSB0cnkge1xuXHRcdFx0cmVxdWlyZV9sb2dnZXIuZXJyb3IoX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA0LCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXAsIHtcblx0XHRcdFx0aG9zdE5hbWU6IGhvc3Qub3B0aW9ucy5uYW1lLFxuXHRcdFx0XHRyZXF1ZXN0SWQ6IGlkUmVzXG5cdFx0XHR9LCB2b2lkIDAsIHJlcXVpcmVfY29udGV4dC5vcHRpb25zVG9NRkNvbnRleHQoaG9zdC5vcHRpb25zKSk7XG5cdFx0fSBjYXRjaCAobWF0Y2hFcnJvcikge1xuXHRcdFx0YXdhaXQgdGhpcy5ob29rcy5saWZlY3ljbGUuYWZ0ZXJNYXRjaFJlbW90ZS5lbWl0KHtcblx0XHRcdFx0aWQ6IGlkUmVzLFxuXHRcdFx0XHRvcHRpb25zOiBob3N0Lm9wdGlvbnMsXG5cdFx0XHRcdGVycm9yOiBtYXRjaEVycm9yLFxuXHRcdFx0XHRvcmlnaW46IGhvc3Rcblx0XHRcdH0pO1xuXHRcdFx0dGhyb3cgbWF0Y2hFcnJvcjtcblx0XHR9XG5cdFx0Y29uc3QgeyByZW1vdGU6IHJhd1JlbW90ZSB9ID0gcmVtb3RlU3BsaXRJbmZvO1xuXHRcdGNvbnN0IHJlbW90ZUluZm8gPSByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlSW5mbyhyYXdSZW1vdGUpO1xuXHRcdGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmFmdGVyTWF0Y2hSZW1vdGUuZW1pdCh7XG5cdFx0XHRpZDogaWRSZXMsXG5cdFx0XHQuLi5yZW1vdGVTcGxpdEluZm8sXG5cdFx0XHRvcHRpb25zOiBob3N0Lm9wdGlvbnMsXG5cdFx0XHRyZW1vdGVJbmZvLFxuXHRcdFx0b3JpZ2luOiBob3N0XG5cdFx0fSk7XG5cdFx0Y29uc3QgbWF0Y2hJbmZvID0gYXdhaXQgaG9zdC5zaGFyZWRIYW5kbGVyLmhvb2tzLmxpZmVjeWNsZS5hZnRlclJlc29sdmUuZW1pdCh7XG5cdFx0XHRpZDogaWRSZXMsXG5cdFx0XHQuLi5yZW1vdGVTcGxpdEluZm8sXG5cdFx0XHRvcHRpb25zOiBob3N0Lm9wdGlvbnMsXG5cdFx0XHRvcmlnaW46IGhvc3QsXG5cdFx0XHRyZW1vdGVJbmZvXG5cdFx0fSk7XG5cdFx0Y29uc3QgeyByZW1vdGUsIGV4cG9zZSB9ID0gbWF0Y2hJbmZvO1xuXHRcdHJlcXVpcmVfbG9nZ2VyLmFzc2VydChyZW1vdGUgJiYgZXhwb3NlLCBgVGhlICdiZWZvcmVSZXF1ZXN0JyBob29rIHdhcyBleGVjdXRlZCwgYnV0IGl0IGZhaWxlZCB0byByZXR1cm4gdGhlIGNvcnJlY3QgJ3JlbW90ZScgYW5kICdleHBvc2UnIHZhbHVlcyB3aGlsZSBsb2FkaW5nICR7aWRSZXN9LmApO1xuXHRcdGxldCBtb2R1bGUgPSBob3N0Lm1vZHVsZUNhY2hlLmdldChyZW1vdGUubmFtZSk7XG5cdFx0Y29uc3QgbW9kdWxlT3B0aW9ucyA9IHtcblx0XHRcdGhvc3QsXG5cdFx0XHRyZW1vdGVJbmZvXG5cdFx0fTtcblx0XHRpZiAoIW1vZHVsZSkge1xuXHRcdFx0bW9kdWxlID0gbmV3IHJlcXVpcmVfaW5kZXgkMS5Nb2R1bGUobW9kdWxlT3B0aW9ucyk7XG5cdFx0XHRob3N0Lm1vZHVsZUNhY2hlLnNldChyZW1vdGUubmFtZSwgbW9kdWxlKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdG1vZHVsZSxcblx0XHRcdG1vZHVsZU9wdGlvbnMsXG5cdFx0XHRyZW1vdGVNYXRjaEluZm86IG1hdGNoSW5mb1xuXHRcdH07XG5cdH1cblx0cmVnaXN0ZXJSZW1vdGUocmVtb3RlLCB0YXJnZXRSZW1vdGVzLCBvcHRpb25zKSB7XG5cdFx0Y29uc3QgeyBob3N0IH0gPSB0aGlzO1xuXHRcdGNvbnN0IG5vcm1hbGl6ZVJlbW90ZSA9ICgpID0+IHtcblx0XHRcdGlmIChyZW1vdGUuYWxpYXMpIHtcblx0XHRcdFx0Y29uc3QgZmluZEVxdWFsID0gdGFyZ2V0UmVtb3Rlcy5maW5kKChpdGVtKSA9PiByZW1vdGUuYWxpYXMgJiYgKGl0ZW0ubmFtZS5zdGFydHNXaXRoKHJlbW90ZS5hbGlhcykgfHwgaXRlbS5hbGlhcz8uc3RhcnRzV2l0aChyZW1vdGUuYWxpYXMpKSk7XG5cdFx0XHRcdHJlcXVpcmVfbG9nZ2VyLmFzc2VydCghZmluZEVxdWFsLCBgVGhlIGFsaWFzICR7cmVtb3RlLmFsaWFzfSBvZiByZW1vdGUgJHtyZW1vdGUubmFtZX0gaXMgbm90IGFsbG93ZWQgdG8gYmUgdGhlIHByZWZpeCBvZiAke2ZpbmRFcXVhbCAmJiBmaW5kRXF1YWwubmFtZX0gbmFtZSBvciBhbGlhc2ApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKFwiZW50cnlcIiBpbiByZW1vdGUpIHtcblx0XHRcdFx0aWYgKF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNCcm93c2VyRW52VmFsdWUgJiYgdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiAhcmVtb3RlLmVudHJ5LnN0YXJ0c1dpdGgoXCJodHRwXCIpKSByZW1vdGUuZW50cnkgPSBuZXcgVVJMKHJlbW90ZS5lbnRyeSwgd2luZG93LmxvY2F0aW9uLm9yaWdpbikuaHJlZjtcblx0XHRcdH1cblx0XHRcdGlmICghcmVtb3RlLnNoYXJlU2NvcGUpIHJlbW90ZS5zaGFyZVNjb3BlID0gcmVxdWlyZV9jb25zdGFudC5ERUZBVUxUX1NDT1BFO1xuXHRcdFx0aWYgKCFyZW1vdGUudHlwZSkgcmVtb3RlLnR5cGUgPSByZXF1aXJlX2NvbnN0YW50LkRFRkFVTFRfUkVNT1RFX1RZUEU7XG5cdFx0fTtcblx0XHR0aGlzLmhvb2tzLmxpZmVjeWNsZS5iZWZvcmVSZWdpc3RlclJlbW90ZS5lbWl0KHtcblx0XHRcdHJlbW90ZSxcblx0XHRcdG9yaWdpbjogaG9zdFxuXHRcdH0pO1xuXHRcdGNvbnN0IHJlZ2lzdGVyZWRSZW1vdGUgPSB0YXJnZXRSZW1vdGVzLmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSA9PT0gcmVtb3RlLm5hbWUpO1xuXHRcdGlmICghcmVnaXN0ZXJlZFJlbW90ZSkge1xuXHRcdFx0bm9ybWFsaXplUmVtb3RlKCk7XG5cdFx0XHR0YXJnZXRSZW1vdGVzLnB1c2gocmVtb3RlKTtcblx0XHRcdHRoaXMuaG9va3MubGlmZWN5Y2xlLnJlZ2lzdGVyUmVtb3RlLmVtaXQoe1xuXHRcdFx0XHRyZW1vdGUsXG5cdFx0XHRcdG9yaWdpbjogaG9zdFxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IG1lc3NhZ2VzID0gW2BUaGUgcmVtb3RlIFwiJHtyZW1vdGUubmFtZX1cIiBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQuYCwgXCJQbGVhc2Ugbm90ZSB0aGF0IG92ZXJyaWRpbmcgaXQgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgZXJyb3JzLlwiXTtcblx0XHRcdGlmIChvcHRpb25zPy5mb3JjZSkge1xuXHRcdFx0XHR0aGlzLnJlbW92ZVJlbW90ZShyZWdpc3RlcmVkUmVtb3RlKTtcblx0XHRcdFx0bm9ybWFsaXplUmVtb3RlKCk7XG5cdFx0XHRcdHRhcmdldFJlbW90ZXMucHVzaChyZW1vdGUpO1xuXHRcdFx0XHR0aGlzLmhvb2tzLmxpZmVjeWNsZS5yZWdpc3RlclJlbW90ZS5lbWl0KHtcblx0XHRcdFx0XHRyZW1vdGUsXG5cdFx0XHRcdFx0b3JpZ2luOiBob3N0XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHQoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay53YXJuKShtZXNzYWdlcy5qb2luKFwiIFwiKSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdHJlbW92ZVJlbW90ZShyZW1vdGUpIHtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgeyBob3N0IH0gPSB0aGlzO1xuXHRcdFx0Y29uc3QgeyBuYW1lIH0gPSByZW1vdGU7XG5cdFx0XHRjb25zdCByZW1vdGVJbmRleCA9IGhvc3Qub3B0aW9ucy5yZW1vdGVzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS5uYW1lID09PSBuYW1lKTtcblx0XHRcdGlmIChyZW1vdGVJbmRleCAhPT0gLTEpIGhvc3Qub3B0aW9ucy5yZW1vdGVzLnNwbGljZShyZW1vdGVJbmRleCwgMSk7XG5cdFx0XHRjb25zdCBnbG9iYWxTbmFwc2hvdEtleSA9IHJlcXVpcmVfZ2xvYmFsLmdldEluZm9XaXRob3V0VHlwZShyZXF1aXJlX2dsb2JhbC5DdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLm1vZHVsZUluZm8sIHJlcXVpcmVfdG9vbC5nZXRGTUlkKHJlbW90ZSkpLmtleTtcblx0XHRcdGRlbGV0ZSByZXF1aXJlX2dsb2JhbC5DdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLm1vZHVsZUluZm9bZ2xvYmFsU25hcHNob3RLZXldO1xuXHRcdFx0aWYgKFwiZW50cnlcIiBpbiByZW1vdGUpIHtcblx0XHRcdFx0aG9zdC5zbmFwc2hvdEhhbmRsZXIubWFuaWZlc3RDYWNoZS5kZWxldGUocmVtb3RlLmVudHJ5KTtcblx0XHRcdFx0ZGVsZXRlIHJlcXVpcmVfZ2xvYmFsLkdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX01BTklGRVNUX0xPQURJTkdfX1tyZW1vdGUuZW50cnldO1xuXHRcdFx0fVxuXHRcdFx0Y29uc3QgeyBob3N0R2xvYmFsU25hcHNob3QgfSA9IHJlcXVpcmVfU25hcHNob3RIYW5kbGVyLmdldEdsb2JhbFJlbW90ZUluZm8ocmVtb3RlLCBob3N0KTtcblx0XHRcdGlmIChob3N0R2xvYmFsU25hcHNob3QpIHtcblx0XHRcdFx0Y29uc3QgcmVtb3RlS2V5ID0gaG9zdEdsb2JhbFNuYXBzaG90ICYmIFwicmVtb3Rlc0luZm9cIiBpbiBob3N0R2xvYmFsU25hcHNob3QgJiYgaG9zdEdsb2JhbFNuYXBzaG90LnJlbW90ZXNJbmZvICYmIHJlcXVpcmVfZ2xvYmFsLmdldEluZm9XaXRob3V0VHlwZShob3N0R2xvYmFsU25hcHNob3QucmVtb3Rlc0luZm8sIHJlbW90ZS5uYW1lKS5rZXk7XG5cdFx0XHRcdGlmIChyZW1vdGVLZXkpIGRlbGV0ZSBob3N0R2xvYmFsU25hcHNob3QucmVtb3Rlc0luZm9bcmVtb3RlS2V5XTtcblx0XHRcdH1cblx0XHRcdGNvbnN0IGxvYWRlZE1vZHVsZSA9IGhvc3QubW9kdWxlQ2FjaGUuZ2V0KHJlbW90ZS5uYW1lKTtcblx0XHRcdGlmIChsb2FkZWRNb2R1bGUpIHtcblx0XHRcdFx0Y29uc3QgcmVtb3RlSW5mbyA9IGxvYWRlZE1vZHVsZS5yZW1vdGVJbmZvO1xuXHRcdFx0XHRjb25zdCBrZXkgPSByZW1vdGVJbmZvLmVudHJ5R2xvYmFsTmFtZTtcblx0XHRcdFx0aWYgKHJlcXVpcmVfZ2xvYmFsLkN1cnJlbnRHbG9iYWxba2V5XSkgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocmVxdWlyZV9nbG9iYWwuQ3VycmVudEdsb2JhbCwga2V5KT8uY29uZmlndXJhYmxlKSBkZWxldGUgcmVxdWlyZV9nbG9iYWwuQ3VycmVudEdsb2JhbFtrZXldO1xuXHRcdFx0XHRlbHNlIHJlcXVpcmVfZ2xvYmFsLkN1cnJlbnRHbG9iYWxba2V5XSA9IHZvaWQgMDtcblx0XHRcdFx0Y29uc3QgcmVtb3RlRW50cnlVbmlxdWVLZXkgPSByZXF1aXJlX2xvYWQuZ2V0UmVtb3RlRW50cnlVbmlxdWVLZXkobG9hZGVkTW9kdWxlLnJlbW90ZUluZm8pO1xuXHRcdFx0XHRpZiAocmVxdWlyZV9nbG9iYWwuZ2xvYmFsTG9hZGluZ1tyZW1vdGVFbnRyeVVuaXF1ZUtleV0pIGRlbGV0ZSByZXF1aXJlX2dsb2JhbC5nbG9iYWxMb2FkaW5nW3JlbW90ZUVudHJ5VW5pcXVlS2V5XTtcblx0XHRcdFx0bGV0IHJlbW90ZUluc0lkID0gcmVtb3RlSW5mby5idWlsZFZlcnNpb24gPyAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5jb21wb3NlS2V5V2l0aFNlcGFyYXRvcikocmVtb3RlSW5mby5uYW1lLCByZW1vdGVJbmZvLmJ1aWxkVmVyc2lvbikgOiByZW1vdGVJbmZvLm5hbWU7XG5cdFx0XHRcdGNvbnN0IHJlbW90ZUluc0luZGV4ID0gcmVxdWlyZV9nbG9iYWwuQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0lOU1RBTkNFU19fLmZpbmRJbmRleCgoaW5zKSA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlbW90ZUluZm8uYnVpbGRWZXJzaW9uKSByZXR1cm4gaW5zLm9wdGlvbnMuaWQgPT09IHJlbW90ZUluc0lkO1xuXHRcdFx0XHRcdGVsc2UgcmV0dXJuIGlucy5uYW1lID09PSByZW1vdGVJbnNJZDtcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChyZW1vdGVJbnNJbmRleCAhPT0gLTEpIHtcblx0XHRcdFx0XHRjb25zdCByZW1vdGVJbnMgPSByZXF1aXJlX2dsb2JhbC5DdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fSU5TVEFOQ0VTX19bcmVtb3RlSW5zSW5kZXhdO1xuXHRcdFx0XHRcdHJlbW90ZUluc0lkID0gcmVtb3RlSW5zLm9wdGlvbnMuaWQgfHwgcmVtb3RlSW5zSWQ7XG5cdFx0XHRcdFx0Y29uc3QgZ2xvYmFsU2hhcmVTY29wZU1hcCA9IHJlcXVpcmVfc2hhcmUuZ2V0R2xvYmFsU2hhcmVTY29wZSgpO1xuXHRcdFx0XHRcdGxldCBpc0FsbFNoYXJlZE5vdFVzZWQgPSB0cnVlO1xuXHRcdFx0XHRcdGNvbnN0IG5lZWREZWxldGVLZXlzID0gW107XG5cdFx0XHRcdFx0T2JqZWN0LmtleXMoZ2xvYmFsU2hhcmVTY29wZU1hcCkuZm9yRWFjaCgoaW5zdElkKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBzaGFyZVNjb3BlTWFwID0gZ2xvYmFsU2hhcmVTY29wZU1hcFtpbnN0SWRdO1xuXHRcdFx0XHRcdFx0c2hhcmVTY29wZU1hcCAmJiBPYmplY3Qua2V5cyhzaGFyZVNjb3BlTWFwKS5mb3JFYWNoKChzaGFyZVNjb3BlKSA9PiB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNoYXJlU2NvcGVWYWwgPSBzaGFyZVNjb3BlTWFwW3NoYXJlU2NvcGVdO1xuXHRcdFx0XHRcdFx0XHRzaGFyZVNjb3BlVmFsICYmIE9iamVjdC5rZXlzKHNoYXJlU2NvcGVWYWwpLmZvckVhY2goKHNoYXJlTmFtZSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHNoYXJlZFBrZ3MgPSBzaGFyZVNjb3BlVmFsW3NoYXJlTmFtZV07XG5cdFx0XHRcdFx0XHRcdFx0c2hhcmVkUGtncyAmJiBPYmplY3Qua2V5cyhzaGFyZWRQa2dzKS5mb3JFYWNoKChzaGFyZVZlcnNpb24pID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnN0IHNoYXJlZCA9IHNoYXJlZFBrZ3Nbc2hhcmVWZXJzaW9uXTtcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChzaGFyZWQgJiYgdHlwZW9mIHNoYXJlZCA9PT0gXCJvYmplY3RcIiAmJiBzaGFyZWQuZnJvbSA9PT0gcmVtb3RlSW5mby5uYW1lKSBpZiAoc2hhcmVkLmxvYWRlZCB8fCBzaGFyZWQubG9hZGluZykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRzaGFyZWQudXNlSW4gPSBzaGFyZWQudXNlSW4uZmlsdGVyKCh1c2VkSG9zdE5hbWUpID0+IHVzZWRIb3N0TmFtZSAhPT0gcmVtb3RlSW5mby5uYW1lKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYgKHNoYXJlZC51c2VJbi5sZW5ndGgpIGlzQWxsU2hhcmVkTm90VXNlZCA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRlbHNlIG5lZWREZWxldGVLZXlzLnB1c2goW1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGluc3RJZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaGFyZVNjb3BlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNoYXJlTmFtZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzaGFyZVZlcnNpb25cblx0XHRcdFx0XHRcdFx0XHRcdFx0XSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9IGVsc2UgbmVlZERlbGV0ZUtleXMucHVzaChbXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGluc3RJZCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2hhcmVTY29wZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0c2hhcmVOYW1lLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzaGFyZVZlcnNpb25cblx0XHRcdFx0XHRcdFx0XHRcdF0pO1xuXHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdGlmIChpc0FsbFNoYXJlZE5vdFVzZWQpIHtcblx0XHRcdFx0XHRcdHJlbW90ZUlucy5zaGFyZVNjb3BlTWFwID0ge307XG5cdFx0XHRcdFx0XHRkZWxldGUgZ2xvYmFsU2hhcmVTY29wZU1hcFtyZW1vdGVJbnNJZF07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdG5lZWREZWxldGVLZXlzLmZvckVhY2goKFtpbnNJZCwgc2hhcmVTY29wZSwgc2hhcmVOYW1lLCBzaGFyZVZlcnNpb25dKSA9PiB7XG5cdFx0XHRcdFx0XHRkZWxldGUgZ2xvYmFsU2hhcmVTY29wZU1hcFtpbnNJZF0/LltzaGFyZVNjb3BlXT8uW3NoYXJlTmFtZV0/LltzaGFyZVZlcnNpb25dO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHJlcXVpcmVfZ2xvYmFsLkN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19JTlNUQU5DRVNfXy5zcGxpY2UocmVtb3RlSW5zSW5kZXgsIDEpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGhvc3QubW9kdWxlQ2FjaGUuZGVsZXRlKHJlbW90ZS5uYW1lKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHJlcXVpcmVfbG9nZ2VyLmxvZ2dlci5lcnJvcihgcmVtb3ZlUmVtb3RlIGZhaWxlZDogJHtlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVycil9YCk7XG5cdFx0fVxuXHR9XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuUmVtb3RlSGFuZGxlciA9IFJlbW90ZUhhbmRsZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QixtQkFBTyxDQUFDLDZFQUFxQjtBQUNwRCxxQkFBcUIsbUJBQU8sQ0FBQywyRUFBbUI7QUFDaEQsdUJBQXVCLG1CQUFPLENBQUMsdUVBQWU7QUFDOUMseUJBQXlCLG1CQUFPLENBQUMseUVBQWlCO0FBQ2xELHNCQUFzQixtQkFBTyxDQUFDLDRFQUFvQjtBQUNsRCx5QkFBeUIsbUJBQU8sQ0FBQywrRUFBdUI7QUFDeEQscUJBQXFCLG1CQUFPLENBQUMsMkVBQW1CO0FBQ2hELHdCQUF3QixtQkFBTyxDQUFDLDhFQUFzQjtBQUN0RCxtQkFBTyxDQUFDLDRFQUFvQjtBQUM1Qix3QkFBd0IsbUJBQU8sQ0FBQyw4RUFBc0I7QUFDdEQsd0JBQXdCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3JELHlCQUF5QixtQkFBTyxDQUFDLHFGQUE2QjtBQUM5RCwwQkFBMEIsbUJBQU8sQ0FBQyxzRkFBOEI7QUFDaEUsa0NBQWtDLG1CQUFPLENBQUMsOEZBQXNDO0FBQ2hGLG9DQUFvQyxtQkFBTyxDQUFDLGdHQUF3QztBQUNwRiw2QkFBNkIsbUJBQU8sQ0FBQyx5RkFBaUM7QUFDdEUsbUJBQU8sQ0FBQyxrRkFBMEI7QUFDbEMsZ0NBQWdDLG1CQUFPLENBQUMsaUdBQXlDO0FBQ2pGLDZCQUE2QixtQkFBTyxDQUFDLDZEQUF3QjtBQUM3RCxxQ0FBcUMsbUJBQU8sQ0FBQyxxRUFBZ0M7O0FBRTdFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQ0FBc0MsY0FBYztBQUNwRDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsVUFBVSxpQkFBaUI7QUFDM0IsVUFBVSxjQUFjO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVUsT0FBTztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLHFCQUFxQixlQUFlO0FBQy9DLFdBQVcseUNBQXlDLHlDQUF5QyxJQUFJO0FBQ2pHLFdBQVcsNERBQTREO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osV0FBVyxtQkFBbUIsZUFBZTtBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLE9BQU87QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsV0FBVyx3QkFBd0I7QUFDbkM7QUFDQTtBQUNBO0FBQ0EsV0FBVyxZQUFZO0FBQ3ZCLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQSxXQUFXLHFCQUFxQjtBQUNoQyxXQUFXLHdCQUF3QjtBQUNuQztBQUNBO0FBQ0EsWUFBWSxpQ0FBaUM7QUFDN0M7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsNEVBQTRFLHNCQUFzQjtBQUNsRztBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0EsVUFBVSxPQUFPO0FBQ2pCO0FBQ0EsdURBQXVELHVCQUF1QjtBQUM5RSxHQUFHO0FBQ0g7QUFDQTtBQUNBLFVBQVUsT0FBTztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxPQUFPO0FBQ2pCLFVBQVUsS0FBSztBQUNmO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSixJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLFVBQVUsWUFBWTtBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxVQUFVLG9CQUFvQjtBQUM5QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsVUFBVSxpQkFBaUI7QUFDM0IsbUtBQW1LLE1BQU07QUFDeks7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLE9BQU87QUFDakI7QUFDQTtBQUNBO0FBQ0EsbURBQW1ELGNBQWMsWUFBWSxhQUFhLHFDQUFxQyw2QkFBNkI7QUFDNUo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKLG9DQUFvQyxZQUFZO0FBQ2hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcsT0FBTztBQUNsQixXQUFXLE9BQU87QUFDbEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVcscUJBQXFCO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRO0FBQ1IsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osdURBQXVELGlEQUFpRDtBQUN4RztBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUI7QUFDckIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/remote/index.cjs\n\n}");
|
|
96
|
+
|
|
97
|
+
},
|
|
98
|
+
"../../../node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
99
|
+
eval("{const require_asyncWaterfallHooks = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\");\nconst require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\n\n//#region src/shared/disabled.ts\nvar DisabledSharedHandler = class {\n\tconstructor() {\n\t\tthis.shareScopeMap = {};\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({ afterResolve: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"afterResolve\") });\n\t}\n\tregisterShared() {\n\t\treturn {\n\t\t\tnewShareInfos: {},\n\t\t\tallShareInfos: {}\n\t\t};\n\t}\n\tloadShare() {\n\t\tthrow new Error(\"Shared dependency loading is disabled by experiments.optimization.disableShared.\");\n\t}\n\tloadShareSync() {\n\t\tthrow new Error(\"Shared dependency loading is disabled by experiments.optimization.disableShared.\");\n\t}\n\tinitializeSharing() {\n\t\treturn [];\n\t}\n\tinitShareScopeMap(scopeName, shareScope) {\n\t\tthis.shareScopeMap[scopeName] = shareScope;\n\t}\n};\n\n//#endregion\nexports.DisabledSharedHandler = DisabledSharedHandler;\n//# sourceMappingURL=disabled.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3NoYXJlZC9kaXNhYmxlZC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3Qvc2hhcmVkL2Rpc2FibGVkLmNqcz85NmI3Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfYXN5bmNXYXRlcmZhbGxIb29rcyA9IHJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL2FzeW5jV2F0ZXJmYWxsSG9va3MuY2pzJyk7XG5jb25zdCByZXF1aXJlX3BsdWdpblN5c3RlbSA9IHJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL3BsdWdpblN5c3RlbS5janMnKTtcbnJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL2luZGV4LmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3NoYXJlZC9kaXNhYmxlZC50c1xudmFyIERpc2FibGVkU2hhcmVkSGFuZGxlciA9IGNsYXNzIHtcblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5zaGFyZVNjb3BlTWFwID0ge307XG5cdFx0dGhpcy5ob29rcyA9IG5ldyByZXF1aXJlX3BsdWdpblN5c3RlbS5QbHVnaW5TeXN0ZW0oeyBhZnRlclJlc29sdmU6IG5ldyByZXF1aXJlX2FzeW5jV2F0ZXJmYWxsSG9va3MuQXN5bmNXYXRlcmZhbGxIb29rKFwiYWZ0ZXJSZXNvbHZlXCIpIH0pO1xuXHR9XG5cdHJlZ2lzdGVyU2hhcmVkKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHRuZXdTaGFyZUluZm9zOiB7fSxcblx0XHRcdGFsbFNoYXJlSW5mb3M6IHt9XG5cdFx0fTtcblx0fVxuXHRsb2FkU2hhcmUoKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKFwiU2hhcmVkIGRlcGVuZGVuY3kgbG9hZGluZyBpcyBkaXNhYmxlZCBieSBleHBlcmltZW50cy5vcHRpbWl6YXRpb24uZGlzYWJsZVNoYXJlZC5cIik7XG5cdH1cblx0bG9hZFNoYXJlU3luYygpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXCJTaGFyZWQgZGVwZW5kZW5jeSBsb2FkaW5nIGlzIGRpc2FibGVkIGJ5IGV4cGVyaW1lbnRzLm9wdGltaXphdGlvbi5kaXNhYmxlU2hhcmVkLlwiKTtcblx0fVxuXHRpbml0aWFsaXplU2hhcmluZygpIHtcblx0XHRyZXR1cm4gW107XG5cdH1cblx0aW5pdFNoYXJlU2NvcGVNYXAoc2NvcGVOYW1lLCBzaGFyZVNjb3BlKSB7XG5cdFx0dGhpcy5zaGFyZVNjb3BlTWFwW3Njb3BlTmFtZV0gPSBzaGFyZVNjb3BlO1xuXHR9XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuRGlzYWJsZWRTaGFyZWRIYW5kbGVyID0gRGlzYWJsZWRTaGFyZWRIYW5kbGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGlzYWJsZWQuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0MsbUJBQU8sQ0FBQyxnR0FBd0M7QUFDcEYsNkJBQTZCLG1CQUFPLENBQUMseUZBQWlDO0FBQ3RFLG1CQUFPLENBQUMsa0ZBQTBCOztBQUVsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHVEQUF1RCxrRkFBa0Y7QUFDekk7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsNkJBQTZCO0FBQzdCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/shared/disabled.cjs\n\n}");
|
|
100
|
+
|
|
101
|
+
},
|
|
102
|
+
"../../../node_modules/@module-federation/runtime-core/dist/shared/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
103
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/constant.cjs\");\nconst require_share = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\");\nconst require_context = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\nconst require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\nconst require_asyncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs\");\nconst require_syncWaterfallHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs\");\nconst require_asyncWaterfallHooks = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\");\nconst require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/shared/index.ts\nvar SharedHandler = class {\n\tconstructor(host) {\n\t\tthis.hooks = new require_pluginSystem.PluginSystem({\n\t\t\tbeforeRegisterShare: new require_syncWaterfallHook.SyncWaterfallHook(\"beforeRegisterShare\"),\n\t\t\tafterResolve: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"afterResolve\"),\n\t\t\tbeforeLoadShare: new require_asyncWaterfallHooks.AsyncWaterfallHook(\"beforeLoadShare\"),\n\t\t\tloadShare: new require_asyncHook.AsyncHook(),\n\t\t\tafterLoadShare: new require_syncHook.SyncHook(\"afterLoadShare\"),\n\t\t\terrorLoadShare: new require_syncHook.SyncHook(\"errorLoadShare\"),\n\t\t\tresolveShare: new require_syncWaterfallHook.SyncWaterfallHook(\"resolveShare\"),\n\t\t\tinitContainerShareScopeMap: new require_syncWaterfallHook.SyncWaterfallHook(\"initContainerShareScopeMap\")\n\t\t});\n\t\tthis.host = host;\n\t\tthis.shareScopeMap = {};\n\t\tthis.initTokens = {};\n\t\tthis._setGlobalShareScopeMap(host.options);\n\t}\n\temitAfterLoadShare({ lifecycle, pkgName, shareInfo, selectedShared }) {\n\t\ttry {\n\t\t\tthis.hooks.lifecycle.afterLoadShare.emit({\n\t\t\t\tpkgName,\n\t\t\t\tshareInfo,\n\t\t\t\tselectedShared,\n\t\t\t\tshared: this.host.options.shared,\n\t\t\t\tshareScopeMap: this.shareScopeMap,\n\t\t\t\tlifecycle,\n\t\t\t\torigin: this.host\n\t\t\t});\n\t\t} catch (error) {\n\t\t\trequire_logger.warn(error);\n\t\t}\n\t}\n\temitErrorLoadShare({ lifecycle, pkgName, shareInfo, error, recovered }) {\n\t\ttry {\n\t\t\tthis.hooks.lifecycle.errorLoadShare.emit({\n\t\t\t\tpkgName,\n\t\t\t\tshareInfo,\n\t\t\t\tshared: this.host.options.shared,\n\t\t\t\tshareScopeMap: this.shareScopeMap,\n\t\t\t\tlifecycle,\n\t\t\t\torigin: this.host,\n\t\t\t\terror,\n\t\t\t\trecovered\n\t\t\t});\n\t\t} catch (hookError) {\n\t\t\trequire_logger.warn(hookError);\n\t\t}\n\t}\n\tregisterShared(globalOptions, userOptions) {\n\t\tconst { newShareInfos, allShareInfos } = require_share.formatShareConfigs(globalOptions, userOptions);\n\t\tObject.keys(newShareInfos).forEach((sharedKey) => {\n\t\t\tnewShareInfos[sharedKey].forEach((sharedVal) => {\n\t\t\t\tsharedVal.scope.forEach((sc) => {\n\t\t\t\t\tthis.hooks.lifecycle.beforeRegisterShare.emit({\n\t\t\t\t\t\torigin: this.host,\n\t\t\t\t\t\tpkgName: sharedKey,\n\t\t\t\t\t\tshared: sharedVal\n\t\t\t\t\t});\n\t\t\t\t\tif (!this.shareScopeMap[sc]?.[sharedKey]) this.setShared({\n\t\t\t\t\t\tpkgName: sharedKey,\n\t\t\t\t\t\tlib: sharedVal.lib,\n\t\t\t\t\t\tget: sharedVal.get,\n\t\t\t\t\t\tloaded: sharedVal.loaded || Boolean(sharedVal.lib),\n\t\t\t\t\t\tshared: sharedVal,\n\t\t\t\t\t\tfrom: userOptions.name\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t\treturn {\n\t\t\tnewShareInfos,\n\t\t\tallShareInfos\n\t\t};\n\t}\n\tasync loadShare(pkgName, extraOptions) {\n\t\tconst { host } = this;\n\t\tconst shareOptions = require_share.getTargetSharedOptions({\n\t\t\tpkgName,\n\t\t\textraOptions,\n\t\t\tshareInfos: host.options.shared\n\t\t});\n\t\tlet shareOptionsRes = shareOptions;\n\t\ttry {\n\t\t\tif (shareOptions?.scope) await Promise.all(shareOptions.scope.map(async (shareScope) => {\n\t\t\t\tawait Promise.all(this.initializeSharing(shareScope, { strategy: shareOptions.strategy }));\n\t\t\t}));\n\t\t\tshareOptionsRes = (await this.hooks.lifecycle.beforeLoadShare.emit({\n\t\t\t\tpkgName,\n\t\t\t\tshareInfo: shareOptions,\n\t\t\t\tshared: host.options.shared,\n\t\t\t\torigin: host\n\t\t\t})).shareInfo;\n\t\t\trequire_logger.assert(shareOptionsRes, `Cannot find shared \"${pkgName}\" in host \"${host.options.name}\". Ensure the shared config for \"${pkgName}\" is declared in the federation plugin options and the host has been initialized before loading shares.`);\n\t\t\tconst resolvedShareOptions = shareOptionsRes;\n\t\t\tconst { shared: registeredShared, useTreesShaking } = require_share.getRegisteredShare(this.shareScopeMap, pkgName, shareOptionsRes, this.hooks.lifecycle.resolveShare) || {};\n\t\t\tif (registeredShared) {\n\t\t\t\tconst targetShared = require_share.directShare(registeredShared, useTreesShaking);\n\t\t\t\tif (targetShared.lib) {\n\t\t\t\t\trequire_share.addUseIn(targetShared, host.options.name);\n\t\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\t\tlifecycle: \"loadShare\",\n\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\tshareInfo: resolvedShareOptions,\n\t\t\t\t\t\tselectedShared: registeredShared\n\t\t\t\t\t});\n\t\t\t\t\treturn targetShared.lib;\n\t\t\t\t} else if (targetShared.loading && !targetShared.loaded) {\n\t\t\t\t\tconst factory = await targetShared.loading;\n\t\t\t\t\ttargetShared.loaded = true;\n\t\t\t\t\tif (!targetShared.lib) targetShared.lib = factory;\n\t\t\t\t\trequire_share.addUseIn(targetShared, host.options.name);\n\t\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\t\tlifecycle: \"loadShare\",\n\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\tshareInfo: resolvedShareOptions,\n\t\t\t\t\t\tselectedShared: registeredShared\n\t\t\t\t\t});\n\t\t\t\t\treturn factory;\n\t\t\t\t} else {\n\t\t\t\t\tconst asyncLoadProcess = async () => {\n\t\t\t\t\t\tconst factory = await targetShared.get();\n\t\t\t\t\t\trequire_share.addUseIn(targetShared, host.options.name);\n\t\t\t\t\t\ttargetShared.loaded = true;\n\t\t\t\t\t\ttargetShared.lib = factory;\n\t\t\t\t\t\treturn factory;\n\t\t\t\t\t};\n\t\t\t\t\tconst loading = asyncLoadProcess();\n\t\t\t\t\tthis.setShared({\n\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\tloaded: false,\n\t\t\t\t\t\tshared: registeredShared,\n\t\t\t\t\t\tfrom: host.options.name,\n\t\t\t\t\t\tlib: null,\n\t\t\t\t\t\tloading,\n\t\t\t\t\t\ttreeShaking: useTreesShaking ? targetShared : void 0\n\t\t\t\t\t});\n\t\t\t\t\tconst factory = await loading;\n\t\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\t\tlifecycle: \"loadShare\",\n\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\tshareInfo: resolvedShareOptions,\n\t\t\t\t\t\tselectedShared: registeredShared\n\t\t\t\t\t});\n\t\t\t\t\treturn factory;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (extraOptions?.customShareInfo) {\n\t\t\t\t\tthis.emitErrorLoadShare({\n\t\t\t\t\t\tlifecycle: \"loadShare\",\n\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\tshareInfo: resolvedShareOptions,\n\t\t\t\t\t\trecovered: true\n\t\t\t\t\t});\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tconst _useTreeShaking = require_share.shouldUseTreeShaking(resolvedShareOptions.treeShaking);\n\t\t\t\tconst targetShared = require_share.directShare(resolvedShareOptions, _useTreeShaking);\n\t\t\t\tconst asyncLoadProcess = async () => {\n\t\t\t\t\tconst factory = await targetShared.get();\n\t\t\t\t\ttargetShared.lib = factory;\n\t\t\t\t\ttargetShared.loaded = true;\n\t\t\t\t\trequire_share.addUseIn(targetShared, host.options.name);\n\t\t\t\t\tconst { shared: gShared, useTreesShaking: gUseTreeShaking } = require_share.getRegisteredShare(this.shareScopeMap, pkgName, resolvedShareOptions, this.hooks.lifecycle.resolveShare) || {};\n\t\t\t\t\tif (gShared) {\n\t\t\t\t\t\tconst targetGShared = require_share.directShare(gShared, gUseTreeShaking);\n\t\t\t\t\t\ttargetGShared.lib = factory;\n\t\t\t\t\t\ttargetGShared.loaded = true;\n\t\t\t\t\t\tgShared.from = resolvedShareOptions.from;\n\t\t\t\t\t}\n\t\t\t\t\treturn factory;\n\t\t\t\t};\n\t\t\t\tconst loading = asyncLoadProcess();\n\t\t\t\tthis.setShared({\n\t\t\t\t\tpkgName,\n\t\t\t\t\tloaded: false,\n\t\t\t\t\tshared: resolvedShareOptions,\n\t\t\t\t\tfrom: host.options.name,\n\t\t\t\t\tlib: null,\n\t\t\t\t\tloading,\n\t\t\t\t\ttreeShaking: _useTreeShaking ? targetShared : void 0\n\t\t\t\t});\n\t\t\t\tconst factory = await loading;\n\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\tlifecycle: \"loadShare\",\n\t\t\t\t\tpkgName,\n\t\t\t\t\tshareInfo: resolvedShareOptions,\n\t\t\t\t\tselectedShared: resolvedShareOptions\n\t\t\t\t});\n\t\t\t\treturn factory;\n\t\t\t}\n\t\t} catch (shareError) {\n\t\t\tthis.emitErrorLoadShare({\n\t\t\t\tlifecycle: \"loadShare\",\n\t\t\t\tpkgName,\n\t\t\t\tshareInfo: shareOptionsRes,\n\t\t\t\terror: shareError\n\t\t\t});\n\t\t\tthrow shareError;\n\t\t}\n\t}\n\t/**\n\t* This function initializes the sharing sequence (executed only once per share scope).\n\t* It accepts one argument, the name of the share scope.\n\t* If the share scope does not exist, it creates one.\n\t*/\n\tinitializeSharing(shareScopeName = require_constant.DEFAULT_SCOPE, extraOptions) {\n\t\tconst { host } = this;\n\t\tconst from = extraOptions?.from;\n\t\tconst strategy = extraOptions?.strategy;\n\t\tlet initScope = extraOptions?.initScope;\n\t\tconst promises = [];\n\t\tif (from !== \"build\") {\n\t\t\tconst { initTokens } = this;\n\t\t\tif (!initScope) initScope = [];\n\t\t\tlet initToken = initTokens[shareScopeName];\n\t\t\tif (!initToken) initToken = initTokens[shareScopeName] = { from: this.host.name };\n\t\t\tif (initScope.indexOf(initToken) >= 0) return promises;\n\t\t\tinitScope.push(initToken);\n\t\t}\n\t\tconst shareScope = this.shareScopeMap;\n\t\tconst hostName = host.options.name;\n\t\tif (!shareScope[shareScopeName]) shareScope[shareScopeName] = {};\n\t\tconst scope = shareScope[shareScopeName];\n\t\tconst register = (name, shared) => {\n\t\t\tconst { version, eager } = shared;\n\t\t\tscope[name] = scope[name] || {};\n\t\t\tconst versions = scope[name];\n\t\t\tconst activeVersion = versions[version] && require_share.directShare(versions[version]);\n\t\t\tconst activeVersionEager = Boolean(activeVersion && (\"eager\" in activeVersion && activeVersion.eager || \"shareConfig\" in activeVersion && activeVersion.shareConfig?.eager));\n\t\t\tif (!activeVersion || activeVersion.strategy !== \"loaded-first\" && !activeVersion.loaded && (Boolean(!eager) !== !activeVersionEager ? eager : hostName > versions[version].from)) versions[version] = shared;\n\t\t};\n\t\tconst initRemoteModule = async (key) => {\n\t\t\tconst { module } = await host.remoteHandler.getRemoteModuleAndOptions({ id: key });\n\t\t\tlet remoteEntryExports = void 0;\n\t\t\ttry {\n\t\t\t\tremoteEntryExports = await module.getEntry();\n\t\t\t} catch (error) {\n\t\t\t\tremoteEntryExports = await host.remoteHandler.hooks.lifecycle.errorLoadRemote.emit({\n\t\t\t\t\tid: key,\n\t\t\t\t\terror,\n\t\t\t\t\tfrom: \"runtime\",\n\t\t\t\t\tlifecycle: \"beforeLoadShare\",\n\t\t\t\t\tremote: module.remoteInfo,\n\t\t\t\t\torigin: host\n\t\t\t\t});\n\t\t\t\tif (!remoteEntryExports) return;\n\t\t\t} finally {\n\t\t\t\tif (remoteEntryExports?.init && !module.initing) {\n\t\t\t\t\tmodule.remoteEntryExports = remoteEntryExports;\n\t\t\t\t\tawait module.init(void 0, void 0, initScope);\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tObject.keys(host.options.shared).forEach((shareName) => {\n\t\t\thost.options.shared[shareName].forEach((shared) => {\n\t\t\t\tif (shared.scope.includes(shareScopeName)) register(shareName, shared);\n\t\t\t});\n\t\t});\n\t\tif (host.options.shareStrategy === \"version-first\" || strategy === \"version-first\") host.options.remotes.forEach((remote) => {\n\t\t\tif (remote.shareScope === shareScopeName) promises.push(initRemoteModule(remote.name));\n\t\t});\n\t\treturn promises;\n\t}\n\tloadShareSync(pkgName, extraOptions) {\n\t\tconst { host } = this;\n\t\tconst shareOptions = require_share.getTargetSharedOptions({\n\t\t\tpkgName,\n\t\t\textraOptions,\n\t\t\tshareInfos: host.options.shared\n\t\t});\n\t\ttry {\n\t\t\tif (shareOptions?.scope) shareOptions.scope.forEach((shareScope) => {\n\t\t\t\tthis.initializeSharing(shareScope, { strategy: shareOptions.strategy });\n\t\t\t});\n\t\t\tconst { shared: registeredShared } = require_share.getRegisteredShare(this.shareScopeMap, pkgName, shareOptions, this.hooks.lifecycle.resolveShare) || {};\n\t\t\tif (registeredShared) {\n\t\t\t\tif (typeof registeredShared.lib === \"function\") {\n\t\t\t\t\trequire_share.addUseIn(registeredShared, host.options.name);\n\t\t\t\t\tif (!registeredShared.loaded) {\n\t\t\t\t\t\tregisteredShared.loaded = true;\n\t\t\t\t\t\tif (registeredShared.from === host.options.name) shareOptions.loaded = true;\n\t\t\t\t\t}\n\t\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\t\tlifecycle: \"loadShareSync\",\n\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\tshareInfo: shareOptions,\n\t\t\t\t\t\tselectedShared: registeredShared\n\t\t\t\t\t});\n\t\t\t\t\treturn registeredShared.lib;\n\t\t\t\t}\n\t\t\t\tif (typeof registeredShared.get === \"function\") {\n\t\t\t\t\tconst module = registeredShared.get();\n\t\t\t\t\tif (!(module instanceof Promise)) {\n\t\t\t\t\t\trequire_share.addUseIn(registeredShared, host.options.name);\n\t\t\t\t\t\tthis.setShared({\n\t\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\t\tloaded: true,\n\t\t\t\t\t\t\tfrom: host.options.name,\n\t\t\t\t\t\t\tlib: module,\n\t\t\t\t\t\t\tshared: registeredShared\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\t\t\tlifecycle: \"loadShareSync\",\n\t\t\t\t\t\t\tpkgName,\n\t\t\t\t\t\t\tshareInfo: shareOptions,\n\t\t\t\t\t\t\tselectedShared: registeredShared\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn module;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (shareOptions.lib) {\n\t\t\t\tif (!shareOptions.loaded) shareOptions.loaded = true;\n\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\tlifecycle: \"loadShareSync\",\n\t\t\t\t\tpkgName,\n\t\t\t\t\tshareInfo: shareOptions,\n\t\t\t\t\tselectedShared: shareOptions\n\t\t\t\t});\n\t\t\t\treturn shareOptions.lib;\n\t\t\t}\n\t\t\tif (shareOptions.get) {\n\t\t\t\tconst module = shareOptions.get();\n\t\t\t\tif (module instanceof Promise) require_logger.error(extraOptions?.from === \"build\" ? _module_federation_error_codes.RUNTIME_005 : _module_federation_error_codes.RUNTIME_006, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\t\thostName: host.options.name,\n\t\t\t\t\tsharedPkgName: pkgName\n\t\t\t\t}, void 0, require_context.optionsToMFContext(host.options));\n\t\t\t\tshareOptions.lib = module;\n\t\t\t\tthis.setShared({\n\t\t\t\t\tpkgName,\n\t\t\t\t\tloaded: true,\n\t\t\t\t\tfrom: host.options.name,\n\t\t\t\t\tlib: shareOptions.lib,\n\t\t\t\t\tshared: shareOptions\n\t\t\t\t});\n\t\t\t\tthis.emitAfterLoadShare({\n\t\t\t\t\tlifecycle: \"loadShareSync\",\n\t\t\t\t\tpkgName,\n\t\t\t\t\tshareInfo: shareOptions,\n\t\t\t\t\tselectedShared: shareOptions\n\t\t\t\t});\n\t\t\t\treturn shareOptions.lib;\n\t\t\t}\n\t\t\trequire_logger.error(_module_federation_error_codes.RUNTIME_006, _module_federation_error_codes.runtimeDescMap, {\n\t\t\t\thostName: host.options.name,\n\t\t\t\tsharedPkgName: pkgName\n\t\t\t}, void 0, require_context.optionsToMFContext(host.options));\n\t\t} catch (shareError) {\n\t\t\tthis.emitErrorLoadShare({\n\t\t\t\tlifecycle: \"loadShareSync\",\n\t\t\t\tpkgName,\n\t\t\t\tshareInfo: shareOptions,\n\t\t\t\terror: shareError\n\t\t\t});\n\t\t\tthrow shareError;\n\t\t}\n\t}\n\tinitShareScopeMap(scopeName, shareScope, extraOptions = {}) {\n\t\tconst { host } = this;\n\t\tthis.shareScopeMap[scopeName] = shareScope;\n\t\tthis.hooks.lifecycle.initContainerShareScopeMap.emit({\n\t\t\tshareScope,\n\t\t\toptions: host.options,\n\t\t\torigin: host,\n\t\t\tscopeName,\n\t\t\thostShareScopeMap: extraOptions.hostShareScopeMap\n\t\t});\n\t}\n\tsetShared({ pkgName, shared, from, lib, loading, loaded, get, treeShaking }) {\n\t\tconst { version, scope = \"default\", ...shareInfo } = shared;\n\t\tconst scopes = Array.isArray(scope) ? scope : [scope];\n\t\tconst mergeAttrs = (shared) => {\n\t\t\tconst merge = (s, key, val) => {\n\t\t\t\tif (val && !s[key]) s[key] = val;\n\t\t\t};\n\t\t\tconst targetShared = treeShaking ? shared.treeShaking : shared;\n\t\t\tmerge(targetShared, \"loaded\", loaded);\n\t\t\tmerge(targetShared, \"loading\", loading);\n\t\t\tmerge(targetShared, \"get\", get);\n\t\t};\n\t\tscopes.forEach((sc) => {\n\t\t\tif (!this.shareScopeMap[sc]) this.shareScopeMap[sc] = {};\n\t\t\tif (!this.shareScopeMap[sc][pkgName]) this.shareScopeMap[sc][pkgName] = {};\n\t\t\tif (!this.shareScopeMap[sc][pkgName][version]) this.shareScopeMap[sc][pkgName][version] = {\n\t\t\t\tversion,\n\t\t\t\tscope: [sc],\n\t\t\t\t...shareInfo,\n\t\t\t\tlib\n\t\t\t};\n\t\t\tconst registeredShared = this.shareScopeMap[sc][pkgName][version];\n\t\t\tmergeAttrs(registeredShared);\n\t\t\tif (from && registeredShared.from !== from) registeredShared.from = from;\n\t\t});\n\t}\n\t_setGlobalShareScopeMap(hostOptions) {\n\t\tconst globalShareScopeMap = require_share.getGlobalShareScope();\n\t\tconst identifier = hostOptions.id || hostOptions.name;\n\t\tif (identifier && !globalShareScopeMap[identifier]) globalShareScopeMap[identifier] = this.shareScopeMap;\n\t}\n};\n\n//#endregion\nexports.SharedHandler = SharedHandler;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3NoYXJlZC9pbmRleC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3Qvc2hhcmVkL2luZGV4LmNqcz9iMDY2Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi4vdXRpbHMvbG9nZ2VyLmNqcycpO1xuY29uc3QgcmVxdWlyZV9jb25zdGFudCA9IHJlcXVpcmUoJy4uL2NvbnN0YW50LmNqcycpO1xuY29uc3QgcmVxdWlyZV9zaGFyZSA9IHJlcXVpcmUoJy4uL3V0aWxzL3NoYXJlLmNqcycpO1xuY29uc3QgcmVxdWlyZV9jb250ZXh0ID0gcmVxdWlyZSgnLi4vdXRpbHMvY29udGV4dC5janMnKTtcbnJlcXVpcmUoJy4uL3V0aWxzL2luZGV4LmNqcycpO1xuY29uc3QgcmVxdWlyZV9zeW5jSG9vayA9IHJlcXVpcmUoJy4uL3V0aWxzL2hvb2tzL3N5bmNIb29rLmNqcycpO1xuY29uc3QgcmVxdWlyZV9hc3luY0hvb2sgPSByZXF1aXJlKCcuLi91dGlscy9ob29rcy9hc3luY0hvb2suY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rID0gcmVxdWlyZSgnLi4vdXRpbHMvaG9va3Mvc3luY1dhdGVyZmFsbEhvb2suY2pzJyk7XG5jb25zdCByZXF1aXJlX2FzeW5jV2F0ZXJmYWxsSG9va3MgPSByZXF1aXJlKCcuLi91dGlscy9ob29rcy9hc3luY1dhdGVyZmFsbEhvb2tzLmNqcycpO1xuY29uc3QgcmVxdWlyZV9wbHVnaW5TeXN0ZW0gPSByZXF1aXJlKCcuLi91dGlscy9ob29rcy9wbHVnaW5TeXN0ZW0uY2pzJyk7XG5yZXF1aXJlKCcuLi91dGlscy9ob29rcy9pbmRleC5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzXCIpO1xuXG4vLyNyZWdpb24gc3JjL3NoYXJlZC9pbmRleC50c1xudmFyIFNoYXJlZEhhbmRsZXIgPSBjbGFzcyB7XG5cdGNvbnN0cnVjdG9yKGhvc3QpIHtcblx0XHR0aGlzLmhvb2tzID0gbmV3IHJlcXVpcmVfcGx1Z2luU3lzdGVtLlBsdWdpblN5c3RlbSh7XG5cdFx0XHRiZWZvcmVSZWdpc3RlclNoYXJlOiBuZXcgcmVxdWlyZV9zeW5jV2F0ZXJmYWxsSG9vay5TeW5jV2F0ZXJmYWxsSG9vayhcImJlZm9yZVJlZ2lzdGVyU2hhcmVcIiksXG5cdFx0XHRhZnRlclJlc29sdmU6IG5ldyByZXF1aXJlX2FzeW5jV2F0ZXJmYWxsSG9va3MuQXN5bmNXYXRlcmZhbGxIb29rKFwiYWZ0ZXJSZXNvbHZlXCIpLFxuXHRcdFx0YmVmb3JlTG9hZFNoYXJlOiBuZXcgcmVxdWlyZV9hc3luY1dhdGVyZmFsbEhvb2tzLkFzeW5jV2F0ZXJmYWxsSG9vayhcImJlZm9yZUxvYWRTaGFyZVwiKSxcblx0XHRcdGxvYWRTaGFyZTogbmV3IHJlcXVpcmVfYXN5bmNIb29rLkFzeW5jSG9vaygpLFxuXHRcdFx0YWZ0ZXJMb2FkU2hhcmU6IG5ldyByZXF1aXJlX3N5bmNIb29rLlN5bmNIb29rKFwiYWZ0ZXJMb2FkU2hhcmVcIiksXG5cdFx0XHRlcnJvckxvYWRTaGFyZTogbmV3IHJlcXVpcmVfc3luY0hvb2suU3luY0hvb2soXCJlcnJvckxvYWRTaGFyZVwiKSxcblx0XHRcdHJlc29sdmVTaGFyZTogbmV3IHJlcXVpcmVfc3luY1dhdGVyZmFsbEhvb2suU3luY1dhdGVyZmFsbEhvb2soXCJyZXNvbHZlU2hhcmVcIiksXG5cdFx0XHRpbml0Q29udGFpbmVyU2hhcmVTY29wZU1hcDogbmV3IHJlcXVpcmVfc3luY1dhdGVyZmFsbEhvb2suU3luY1dhdGVyZmFsbEhvb2soXCJpbml0Q29udGFpbmVyU2hhcmVTY29wZU1hcFwiKVxuXHRcdH0pO1xuXHRcdHRoaXMuaG9zdCA9IGhvc3Q7XG5cdFx0dGhpcy5zaGFyZVNjb3BlTWFwID0ge307XG5cdFx0dGhpcy5pbml0VG9rZW5zID0ge307XG5cdFx0dGhpcy5fc2V0R2xvYmFsU2hhcmVTY29wZU1hcChob3N0Lm9wdGlvbnMpO1xuXHR9XG5cdGVtaXRBZnRlckxvYWRTaGFyZSh7IGxpZmVjeWNsZSwgcGtnTmFtZSwgc2hhcmVJbmZvLCBzZWxlY3RlZFNoYXJlZCB9KSB7XG5cdFx0dHJ5IHtcblx0XHRcdHRoaXMuaG9va3MubGlmZWN5Y2xlLmFmdGVyTG9hZFNoYXJlLmVtaXQoe1xuXHRcdFx0XHRwa2dOYW1lLFxuXHRcdFx0XHRzaGFyZUluZm8sXG5cdFx0XHRcdHNlbGVjdGVkU2hhcmVkLFxuXHRcdFx0XHRzaGFyZWQ6IHRoaXMuaG9zdC5vcHRpb25zLnNoYXJlZCxcblx0XHRcdFx0c2hhcmVTY29wZU1hcDogdGhpcy5zaGFyZVNjb3BlTWFwLFxuXHRcdFx0XHRsaWZlY3ljbGUsXG5cdFx0XHRcdG9yaWdpbjogdGhpcy5ob3N0XG5cdFx0XHR9KTtcblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0cmVxdWlyZV9sb2dnZXIud2FybihlcnJvcik7XG5cdFx0fVxuXHR9XG5cdGVtaXRFcnJvckxvYWRTaGFyZSh7IGxpZmVjeWNsZSwgcGtnTmFtZSwgc2hhcmVJbmZvLCBlcnJvciwgcmVjb3ZlcmVkIH0pIHtcblx0XHR0cnkge1xuXHRcdFx0dGhpcy5ob29rcy5saWZlY3ljbGUuZXJyb3JMb2FkU2hhcmUuZW1pdCh7XG5cdFx0XHRcdHBrZ05hbWUsXG5cdFx0XHRcdHNoYXJlSW5mbyxcblx0XHRcdFx0c2hhcmVkOiB0aGlzLmhvc3Qub3B0aW9ucy5zaGFyZWQsXG5cdFx0XHRcdHNoYXJlU2NvcGVNYXA6IHRoaXMuc2hhcmVTY29wZU1hcCxcblx0XHRcdFx0bGlmZWN5Y2xlLFxuXHRcdFx0XHRvcmlnaW46IHRoaXMuaG9zdCxcblx0XHRcdFx0ZXJyb3IsXG5cdFx0XHRcdHJlY292ZXJlZFxuXHRcdFx0fSk7XG5cdFx0fSBjYXRjaCAoaG9va0Vycm9yKSB7XG5cdFx0XHRyZXF1aXJlX2xvZ2dlci53YXJuKGhvb2tFcnJvcik7XG5cdFx0fVxuXHR9XG5cdHJlZ2lzdGVyU2hhcmVkKGdsb2JhbE9wdGlvbnMsIHVzZXJPcHRpb25zKSB7XG5cdFx0Y29uc3QgeyBuZXdTaGFyZUluZm9zLCBhbGxTaGFyZUluZm9zIH0gPSByZXF1aXJlX3NoYXJlLmZvcm1hdFNoYXJlQ29uZmlncyhnbG9iYWxPcHRpb25zLCB1c2VyT3B0aW9ucyk7XG5cdFx0T2JqZWN0LmtleXMobmV3U2hhcmVJbmZvcykuZm9yRWFjaCgoc2hhcmVkS2V5KSA9PiB7XG5cdFx0XHRuZXdTaGFyZUluZm9zW3NoYXJlZEtleV0uZm9yRWFjaCgoc2hhcmVkVmFsKSA9PiB7XG5cdFx0XHRcdHNoYXJlZFZhbC5zY29wZS5mb3JFYWNoKChzYykgPT4ge1xuXHRcdFx0XHRcdHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZVJlZ2lzdGVyU2hhcmUuZW1pdCh7XG5cdFx0XHRcdFx0XHRvcmlnaW46IHRoaXMuaG9zdCxcblx0XHRcdFx0XHRcdHBrZ05hbWU6IHNoYXJlZEtleSxcblx0XHRcdFx0XHRcdHNoYXJlZDogc2hhcmVkVmFsXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLnNoYXJlU2NvcGVNYXBbc2NdPy5bc2hhcmVkS2V5XSkgdGhpcy5zZXRTaGFyZWQoe1xuXHRcdFx0XHRcdFx0cGtnTmFtZTogc2hhcmVkS2V5LFxuXHRcdFx0XHRcdFx0bGliOiBzaGFyZWRWYWwubGliLFxuXHRcdFx0XHRcdFx0Z2V0OiBzaGFyZWRWYWwuZ2V0LFxuXHRcdFx0XHRcdFx0bG9hZGVkOiBzaGFyZWRWYWwubG9hZGVkIHx8IEJvb2xlYW4oc2hhcmVkVmFsLmxpYiksXG5cdFx0XHRcdFx0XHRzaGFyZWQ6IHNoYXJlZFZhbCxcblx0XHRcdFx0XHRcdGZyb206IHVzZXJPcHRpb25zLm5hbWVcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0XHRyZXR1cm4ge1xuXHRcdFx0bmV3U2hhcmVJbmZvcyxcblx0XHRcdGFsbFNoYXJlSW5mb3Ncblx0XHR9O1xuXHR9XG5cdGFzeW5jIGxvYWRTaGFyZShwa2dOYW1lLCBleHRyYU9wdGlvbnMpIHtcblx0XHRjb25zdCB7IGhvc3QgfSA9IHRoaXM7XG5cdFx0Y29uc3Qgc2hhcmVPcHRpb25zID0gcmVxdWlyZV9zaGFyZS5nZXRUYXJnZXRTaGFyZWRPcHRpb25zKHtcblx0XHRcdHBrZ05hbWUsXG5cdFx0XHRleHRyYU9wdGlvbnMsXG5cdFx0XHRzaGFyZUluZm9zOiBob3N0Lm9wdGlvbnMuc2hhcmVkXG5cdFx0fSk7XG5cdFx0bGV0IHNoYXJlT3B0aW9uc1JlcyA9IHNoYXJlT3B0aW9ucztcblx0XHR0cnkge1xuXHRcdFx0aWYgKHNoYXJlT3B0aW9ucz8uc2NvcGUpIGF3YWl0IFByb21pc2UuYWxsKHNoYXJlT3B0aW9ucy5zY29wZS5tYXAoYXN5bmMgKHNoYXJlU2NvcGUpID0+IHtcblx0XHRcdFx0YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5pbml0aWFsaXplU2hhcmluZyhzaGFyZVNjb3BlLCB7IHN0cmF0ZWd5OiBzaGFyZU9wdGlvbnMuc3RyYXRlZ3kgfSkpO1xuXHRcdFx0fSkpO1xuXHRcdFx0c2hhcmVPcHRpb25zUmVzID0gKGF3YWl0IHRoaXMuaG9va3MubGlmZWN5Y2xlLmJlZm9yZUxvYWRTaGFyZS5lbWl0KHtcblx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0c2hhcmVJbmZvOiBzaGFyZU9wdGlvbnMsXG5cdFx0XHRcdHNoYXJlZDogaG9zdC5vcHRpb25zLnNoYXJlZCxcblx0XHRcdFx0b3JpZ2luOiBob3N0XG5cdFx0XHR9KSkuc2hhcmVJbmZvO1xuXHRcdFx0cmVxdWlyZV9sb2dnZXIuYXNzZXJ0KHNoYXJlT3B0aW9uc1JlcywgYENhbm5vdCBmaW5kIHNoYXJlZCBcIiR7cGtnTmFtZX1cIiBpbiBob3N0IFwiJHtob3N0Lm9wdGlvbnMubmFtZX1cIi4gRW5zdXJlIHRoZSBzaGFyZWQgY29uZmlnIGZvciBcIiR7cGtnTmFtZX1cIiBpcyBkZWNsYXJlZCBpbiB0aGUgZmVkZXJhdGlvbiBwbHVnaW4gb3B0aW9ucyBhbmQgdGhlIGhvc3QgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYmVmb3JlIGxvYWRpbmcgc2hhcmVzLmApO1xuXHRcdFx0Y29uc3QgcmVzb2x2ZWRTaGFyZU9wdGlvbnMgPSBzaGFyZU9wdGlvbnNSZXM7XG5cdFx0XHRjb25zdCB7IHNoYXJlZDogcmVnaXN0ZXJlZFNoYXJlZCwgdXNlVHJlZXNTaGFraW5nIH0gPSByZXF1aXJlX3NoYXJlLmdldFJlZ2lzdGVyZWRTaGFyZSh0aGlzLnNoYXJlU2NvcGVNYXAsIHBrZ05hbWUsIHNoYXJlT3B0aW9uc1JlcywgdGhpcy5ob29rcy5saWZlY3ljbGUucmVzb2x2ZVNoYXJlKSB8fCB7fTtcblx0XHRcdGlmIChyZWdpc3RlcmVkU2hhcmVkKSB7XG5cdFx0XHRcdGNvbnN0IHRhcmdldFNoYXJlZCA9IHJlcXVpcmVfc2hhcmUuZGlyZWN0U2hhcmUocmVnaXN0ZXJlZFNoYXJlZCwgdXNlVHJlZXNTaGFraW5nKTtcblx0XHRcdFx0aWYgKHRhcmdldFNoYXJlZC5saWIpIHtcblx0XHRcdFx0XHRyZXF1aXJlX3NoYXJlLmFkZFVzZUluKHRhcmdldFNoYXJlZCwgaG9zdC5vcHRpb25zLm5hbWUpO1xuXHRcdFx0XHRcdHRoaXMuZW1pdEFmdGVyTG9hZFNoYXJlKHtcblx0XHRcdFx0XHRcdGxpZmVjeWNsZTogXCJsb2FkU2hhcmVcIixcblx0XHRcdFx0XHRcdHBrZ05hbWUsXG5cdFx0XHRcdFx0XHRzaGFyZUluZm86IHJlc29sdmVkU2hhcmVPcHRpb25zLFxuXHRcdFx0XHRcdFx0c2VsZWN0ZWRTaGFyZWQ6IHJlZ2lzdGVyZWRTaGFyZWRcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRyZXR1cm4gdGFyZ2V0U2hhcmVkLmxpYjtcblx0XHRcdFx0fSBlbHNlIGlmICh0YXJnZXRTaGFyZWQubG9hZGluZyAmJiAhdGFyZ2V0U2hhcmVkLmxvYWRlZCkge1xuXHRcdFx0XHRcdGNvbnN0IGZhY3RvcnkgPSBhd2FpdCB0YXJnZXRTaGFyZWQubG9hZGluZztcblx0XHRcdFx0XHR0YXJnZXRTaGFyZWQubG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0XHRpZiAoIXRhcmdldFNoYXJlZC5saWIpIHRhcmdldFNoYXJlZC5saWIgPSBmYWN0b3J5O1xuXHRcdFx0XHRcdHJlcXVpcmVfc2hhcmUuYWRkVXNlSW4odGFyZ2V0U2hhcmVkLCBob3N0Lm9wdGlvbnMubmFtZSk7XG5cdFx0XHRcdFx0dGhpcy5lbWl0QWZ0ZXJMb2FkU2hhcmUoe1xuXHRcdFx0XHRcdFx0bGlmZWN5Y2xlOiBcImxvYWRTaGFyZVwiLFxuXHRcdFx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0XHRcdHNoYXJlSW5mbzogcmVzb2x2ZWRTaGFyZU9wdGlvbnMsXG5cdFx0XHRcdFx0XHRzZWxlY3RlZFNoYXJlZDogcmVnaXN0ZXJlZFNoYXJlZFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHJldHVybiBmYWN0b3J5O1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNvbnN0IGFzeW5jTG9hZFByb2Nlc3MgPSBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBmYWN0b3J5ID0gYXdhaXQgdGFyZ2V0U2hhcmVkLmdldCgpO1xuXHRcdFx0XHRcdFx0cmVxdWlyZV9zaGFyZS5hZGRVc2VJbih0YXJnZXRTaGFyZWQsIGhvc3Qub3B0aW9ucy5uYW1lKTtcblx0XHRcdFx0XHRcdHRhcmdldFNoYXJlZC5sb2FkZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0dGFyZ2V0U2hhcmVkLmxpYiA9IGZhY3Rvcnk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZmFjdG9yeTtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGNvbnN0IGxvYWRpbmcgPSBhc3luY0xvYWRQcm9jZXNzKCk7XG5cdFx0XHRcdFx0dGhpcy5zZXRTaGFyZWQoe1xuXHRcdFx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0XHRcdGxvYWRlZDogZmFsc2UsXG5cdFx0XHRcdFx0XHRzaGFyZWQ6IHJlZ2lzdGVyZWRTaGFyZWQsXG5cdFx0XHRcdFx0XHRmcm9tOiBob3N0Lm9wdGlvbnMubmFtZSxcblx0XHRcdFx0XHRcdGxpYjogbnVsbCxcblx0XHRcdFx0XHRcdGxvYWRpbmcsXG5cdFx0XHRcdFx0XHR0cmVlU2hha2luZzogdXNlVHJlZXNTaGFraW5nID8gdGFyZ2V0U2hhcmVkIDogdm9pZCAwXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0Y29uc3QgZmFjdG9yeSA9IGF3YWl0IGxvYWRpbmc7XG5cdFx0XHRcdFx0dGhpcy5lbWl0QWZ0ZXJMb2FkU2hhcmUoe1xuXHRcdFx0XHRcdFx0bGlmZWN5Y2xlOiBcImxvYWRTaGFyZVwiLFxuXHRcdFx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0XHRcdHNoYXJlSW5mbzogcmVzb2x2ZWRTaGFyZU9wdGlvbnMsXG5cdFx0XHRcdFx0XHRzZWxlY3RlZFNoYXJlZDogcmVnaXN0ZXJlZFNoYXJlZFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHJldHVybiBmYWN0b3J5O1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRpZiAoZXh0cmFPcHRpb25zPy5jdXN0b21TaGFyZUluZm8pIHtcblx0XHRcdFx0XHR0aGlzLmVtaXRFcnJvckxvYWRTaGFyZSh7XG5cdFx0XHRcdFx0XHRsaWZlY3ljbGU6IFwibG9hZFNoYXJlXCIsXG5cdFx0XHRcdFx0XHRwa2dOYW1lLFxuXHRcdFx0XHRcdFx0c2hhcmVJbmZvOiByZXNvbHZlZFNoYXJlT3B0aW9ucyxcblx0XHRcdFx0XHRcdHJlY292ZXJlZDogdHJ1ZVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBfdXNlVHJlZVNoYWtpbmcgPSByZXF1aXJlX3NoYXJlLnNob3VsZFVzZVRyZWVTaGFraW5nKHJlc29sdmVkU2hhcmVPcHRpb25zLnRyZWVTaGFraW5nKTtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0U2hhcmVkID0gcmVxdWlyZV9zaGFyZS5kaXJlY3RTaGFyZShyZXNvbHZlZFNoYXJlT3B0aW9ucywgX3VzZVRyZWVTaGFraW5nKTtcblx0XHRcdFx0Y29uc3QgYXN5bmNMb2FkUHJvY2VzcyA9IGFzeW5jICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBmYWN0b3J5ID0gYXdhaXQgdGFyZ2V0U2hhcmVkLmdldCgpO1xuXHRcdFx0XHRcdHRhcmdldFNoYXJlZC5saWIgPSBmYWN0b3J5O1xuXHRcdFx0XHRcdHRhcmdldFNoYXJlZC5sb2FkZWQgPSB0cnVlO1xuXHRcdFx0XHRcdHJlcXVpcmVfc2hhcmUuYWRkVXNlSW4odGFyZ2V0U2hhcmVkLCBob3N0Lm9wdGlvbnMubmFtZSk7XG5cdFx0XHRcdFx0Y29uc3QgeyBzaGFyZWQ6IGdTaGFyZWQsIHVzZVRyZWVzU2hha2luZzogZ1VzZVRyZWVTaGFraW5nIH0gPSByZXF1aXJlX3NoYXJlLmdldFJlZ2lzdGVyZWRTaGFyZSh0aGlzLnNoYXJlU2NvcGVNYXAsIHBrZ05hbWUsIHJlc29sdmVkU2hhcmVPcHRpb25zLCB0aGlzLmhvb2tzLmxpZmVjeWNsZS5yZXNvbHZlU2hhcmUpIHx8IHt9O1xuXHRcdFx0XHRcdGlmIChnU2hhcmVkKSB7XG5cdFx0XHRcdFx0XHRjb25zdCB0YXJnZXRHU2hhcmVkID0gcmVxdWlyZV9zaGFyZS5kaXJlY3RTaGFyZShnU2hhcmVkLCBnVXNlVHJlZVNoYWtpbmcpO1xuXHRcdFx0XHRcdFx0dGFyZ2V0R1NoYXJlZC5saWIgPSBmYWN0b3J5O1xuXHRcdFx0XHRcdFx0dGFyZ2V0R1NoYXJlZC5sb2FkZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0Z1NoYXJlZC5mcm9tID0gcmVzb2x2ZWRTaGFyZU9wdGlvbnMuZnJvbTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIGZhY3Rvcnk7XG5cdFx0XHRcdH07XG5cdFx0XHRcdGNvbnN0IGxvYWRpbmcgPSBhc3luY0xvYWRQcm9jZXNzKCk7XG5cdFx0XHRcdHRoaXMuc2V0U2hhcmVkKHtcblx0XHRcdFx0XHRwa2dOYW1lLFxuXHRcdFx0XHRcdGxvYWRlZDogZmFsc2UsXG5cdFx0XHRcdFx0c2hhcmVkOiByZXNvbHZlZFNoYXJlT3B0aW9ucyxcblx0XHRcdFx0XHRmcm9tOiBob3N0Lm9wdGlvbnMubmFtZSxcblx0XHRcdFx0XHRsaWI6IG51bGwsXG5cdFx0XHRcdFx0bG9hZGluZyxcblx0XHRcdFx0XHR0cmVlU2hha2luZzogX3VzZVRyZWVTaGFraW5nID8gdGFyZ2V0U2hhcmVkIDogdm9pZCAwXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRjb25zdCBmYWN0b3J5ID0gYXdhaXQgbG9hZGluZztcblx0XHRcdFx0dGhpcy5lbWl0QWZ0ZXJMb2FkU2hhcmUoe1xuXHRcdFx0XHRcdGxpZmVjeWNsZTogXCJsb2FkU2hhcmVcIixcblx0XHRcdFx0XHRwa2dOYW1lLFxuXHRcdFx0XHRcdHNoYXJlSW5mbzogcmVzb2x2ZWRTaGFyZU9wdGlvbnMsXG5cdFx0XHRcdFx0c2VsZWN0ZWRTaGFyZWQ6IHJlc29sdmVkU2hhcmVPcHRpb25zXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZXR1cm4gZmFjdG9yeTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChzaGFyZUVycm9yKSB7XG5cdFx0XHR0aGlzLmVtaXRFcnJvckxvYWRTaGFyZSh7XG5cdFx0XHRcdGxpZmVjeWNsZTogXCJsb2FkU2hhcmVcIixcblx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0c2hhcmVJbmZvOiBzaGFyZU9wdGlvbnNSZXMsXG5cdFx0XHRcdGVycm9yOiBzaGFyZUVycm9yXG5cdFx0XHR9KTtcblx0XHRcdHRocm93IHNoYXJlRXJyb3I7XG5cdFx0fVxuXHR9XG5cdC8qKlxuXHQqIFRoaXMgZnVuY3Rpb24gaW5pdGlhbGl6ZXMgdGhlIHNoYXJpbmcgc2VxdWVuY2UgKGV4ZWN1dGVkIG9ubHkgb25jZSBwZXIgc2hhcmUgc2NvcGUpLlxuXHQqIEl0IGFjY2VwdHMgb25lIGFyZ3VtZW50LCB0aGUgbmFtZSBvZiB0aGUgc2hhcmUgc2NvcGUuXG5cdCogSWYgdGhlIHNoYXJlIHNjb3BlIGRvZXMgbm90IGV4aXN0LCBpdCBjcmVhdGVzIG9uZS5cblx0Ki9cblx0aW5pdGlhbGl6ZVNoYXJpbmcoc2hhcmVTY29wZU5hbWUgPSByZXF1aXJlX2NvbnN0YW50LkRFRkFVTFRfU0NPUEUsIGV4dHJhT3B0aW9ucykge1xuXHRcdGNvbnN0IHsgaG9zdCB9ID0gdGhpcztcblx0XHRjb25zdCBmcm9tID0gZXh0cmFPcHRpb25zPy5mcm9tO1xuXHRcdGNvbnN0IHN0cmF0ZWd5ID0gZXh0cmFPcHRpb25zPy5zdHJhdGVneTtcblx0XHRsZXQgaW5pdFNjb3BlID0gZXh0cmFPcHRpb25zPy5pbml0U2NvcGU7XG5cdFx0Y29uc3QgcHJvbWlzZXMgPSBbXTtcblx0XHRpZiAoZnJvbSAhPT0gXCJidWlsZFwiKSB7XG5cdFx0XHRjb25zdCB7IGluaXRUb2tlbnMgfSA9IHRoaXM7XG5cdFx0XHRpZiAoIWluaXRTY29wZSkgaW5pdFNjb3BlID0gW107XG5cdFx0XHRsZXQgaW5pdFRva2VuID0gaW5pdFRva2Vuc1tzaGFyZVNjb3BlTmFtZV07XG5cdFx0XHRpZiAoIWluaXRUb2tlbikgaW5pdFRva2VuID0gaW5pdFRva2Vuc1tzaGFyZVNjb3BlTmFtZV0gPSB7IGZyb206IHRoaXMuaG9zdC5uYW1lIH07XG5cdFx0XHRpZiAoaW5pdFNjb3BlLmluZGV4T2YoaW5pdFRva2VuKSA+PSAwKSByZXR1cm4gcHJvbWlzZXM7XG5cdFx0XHRpbml0U2NvcGUucHVzaChpbml0VG9rZW4pO1xuXHRcdH1cblx0XHRjb25zdCBzaGFyZVNjb3BlID0gdGhpcy5zaGFyZVNjb3BlTWFwO1xuXHRcdGNvbnN0IGhvc3ROYW1lID0gaG9zdC5vcHRpb25zLm5hbWU7XG5cdFx0aWYgKCFzaGFyZVNjb3BlW3NoYXJlU2NvcGVOYW1lXSkgc2hhcmVTY29wZVtzaGFyZVNjb3BlTmFtZV0gPSB7fTtcblx0XHRjb25zdCBzY29wZSA9IHNoYXJlU2NvcGVbc2hhcmVTY29wZU5hbWVdO1xuXHRcdGNvbnN0IHJlZ2lzdGVyID0gKG5hbWUsIHNoYXJlZCkgPT4ge1xuXHRcdFx0Y29uc3QgeyB2ZXJzaW9uLCBlYWdlciB9ID0gc2hhcmVkO1xuXHRcdFx0c2NvcGVbbmFtZV0gPSBzY29wZVtuYW1lXSB8fCB7fTtcblx0XHRcdGNvbnN0IHZlcnNpb25zID0gc2NvcGVbbmFtZV07XG5cdFx0XHRjb25zdCBhY3RpdmVWZXJzaW9uID0gdmVyc2lvbnNbdmVyc2lvbl0gJiYgcmVxdWlyZV9zaGFyZS5kaXJlY3RTaGFyZSh2ZXJzaW9uc1t2ZXJzaW9uXSk7XG5cdFx0XHRjb25zdCBhY3RpdmVWZXJzaW9uRWFnZXIgPSBCb29sZWFuKGFjdGl2ZVZlcnNpb24gJiYgKFwiZWFnZXJcIiBpbiBhY3RpdmVWZXJzaW9uICYmIGFjdGl2ZVZlcnNpb24uZWFnZXIgfHwgXCJzaGFyZUNvbmZpZ1wiIGluIGFjdGl2ZVZlcnNpb24gJiYgYWN0aXZlVmVyc2lvbi5zaGFyZUNvbmZpZz8uZWFnZXIpKTtcblx0XHRcdGlmICghYWN0aXZlVmVyc2lvbiB8fCBhY3RpdmVWZXJzaW9uLnN0cmF0ZWd5ICE9PSBcImxvYWRlZC1maXJzdFwiICYmICFhY3RpdmVWZXJzaW9uLmxvYWRlZCAmJiAoQm9vbGVhbighZWFnZXIpICE9PSAhYWN0aXZlVmVyc2lvbkVhZ2VyID8gZWFnZXIgOiBob3N0TmFtZSA+IHZlcnNpb25zW3ZlcnNpb25dLmZyb20pKSB2ZXJzaW9uc1t2ZXJzaW9uXSA9IHNoYXJlZDtcblx0XHR9O1xuXHRcdGNvbnN0IGluaXRSZW1vdGVNb2R1bGUgPSBhc3luYyAoa2V5KSA9PiB7XG5cdFx0XHRjb25zdCB7IG1vZHVsZSB9ID0gYXdhaXQgaG9zdC5yZW1vdGVIYW5kbGVyLmdldFJlbW90ZU1vZHVsZUFuZE9wdGlvbnMoeyBpZDoga2V5IH0pO1xuXHRcdFx0bGV0IHJlbW90ZUVudHJ5RXhwb3J0cyA9IHZvaWQgMDtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHJlbW90ZUVudHJ5RXhwb3J0cyA9IGF3YWl0IG1vZHVsZS5nZXRFbnRyeSgpO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0cmVtb3RlRW50cnlFeHBvcnRzID0gYXdhaXQgaG9zdC5yZW1vdGVIYW5kbGVyLmhvb2tzLmxpZmVjeWNsZS5lcnJvckxvYWRSZW1vdGUuZW1pdCh7XG5cdFx0XHRcdFx0aWQ6IGtleSxcblx0XHRcdFx0XHRlcnJvcixcblx0XHRcdFx0XHRmcm9tOiBcInJ1bnRpbWVcIixcblx0XHRcdFx0XHRsaWZlY3ljbGU6IFwiYmVmb3JlTG9hZFNoYXJlXCIsXG5cdFx0XHRcdFx0cmVtb3RlOiBtb2R1bGUucmVtb3RlSW5mbyxcblx0XHRcdFx0XHRvcmlnaW46IGhvc3Rcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmICghcmVtb3RlRW50cnlFeHBvcnRzKSByZXR1cm47XG5cdFx0XHR9IGZpbmFsbHkge1xuXHRcdFx0XHRpZiAocmVtb3RlRW50cnlFeHBvcnRzPy5pbml0ICYmICFtb2R1bGUuaW5pdGluZykge1xuXHRcdFx0XHRcdG1vZHVsZS5yZW1vdGVFbnRyeUV4cG9ydHMgPSByZW1vdGVFbnRyeUV4cG9ydHM7XG5cdFx0XHRcdFx0YXdhaXQgbW9kdWxlLmluaXQodm9pZCAwLCB2b2lkIDAsIGluaXRTY29wZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9O1xuXHRcdE9iamVjdC5rZXlzKGhvc3Qub3B0aW9ucy5zaGFyZWQpLmZvckVhY2goKHNoYXJlTmFtZSkgPT4ge1xuXHRcdFx0aG9zdC5vcHRpb25zLnNoYXJlZFtzaGFyZU5hbWVdLmZvckVhY2goKHNoYXJlZCkgPT4ge1xuXHRcdFx0XHRpZiAoc2hhcmVkLnNjb3BlLmluY2x1ZGVzKHNoYXJlU2NvcGVOYW1lKSkgcmVnaXN0ZXIoc2hhcmVOYW1lLCBzaGFyZWQpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdFx0aWYgKGhvc3Qub3B0aW9ucy5zaGFyZVN0cmF0ZWd5ID09PSBcInZlcnNpb24tZmlyc3RcIiB8fCBzdHJhdGVneSA9PT0gXCJ2ZXJzaW9uLWZpcnN0XCIpIGhvc3Qub3B0aW9ucy5yZW1vdGVzLmZvckVhY2goKHJlbW90ZSkgPT4ge1xuXHRcdFx0aWYgKHJlbW90ZS5zaGFyZVNjb3BlID09PSBzaGFyZVNjb3BlTmFtZSkgcHJvbWlzZXMucHVzaChpbml0UmVtb3RlTW9kdWxlKHJlbW90ZS5uYW1lKSk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHByb21pc2VzO1xuXHR9XG5cdGxvYWRTaGFyZVN5bmMocGtnTmFtZSwgZXh0cmFPcHRpb25zKSB7XG5cdFx0Y29uc3QgeyBob3N0IH0gPSB0aGlzO1xuXHRcdGNvbnN0IHNoYXJlT3B0aW9ucyA9IHJlcXVpcmVfc2hhcmUuZ2V0VGFyZ2V0U2hhcmVkT3B0aW9ucyh7XG5cdFx0XHRwa2dOYW1lLFxuXHRcdFx0ZXh0cmFPcHRpb25zLFxuXHRcdFx0c2hhcmVJbmZvczogaG9zdC5vcHRpb25zLnNoYXJlZFxuXHRcdH0pO1xuXHRcdHRyeSB7XG5cdFx0XHRpZiAoc2hhcmVPcHRpb25zPy5zY29wZSkgc2hhcmVPcHRpb25zLnNjb3BlLmZvckVhY2goKHNoYXJlU2NvcGUpID0+IHtcblx0XHRcdFx0dGhpcy5pbml0aWFsaXplU2hhcmluZyhzaGFyZVNjb3BlLCB7IHN0cmF0ZWd5OiBzaGFyZU9wdGlvbnMuc3RyYXRlZ3kgfSk7XG5cdFx0XHR9KTtcblx0XHRcdGNvbnN0IHsgc2hhcmVkOiByZWdpc3RlcmVkU2hhcmVkIH0gPSByZXF1aXJlX3NoYXJlLmdldFJlZ2lzdGVyZWRTaGFyZSh0aGlzLnNoYXJlU2NvcGVNYXAsIHBrZ05hbWUsIHNoYXJlT3B0aW9ucywgdGhpcy5ob29rcy5saWZlY3ljbGUucmVzb2x2ZVNoYXJlKSB8fCB7fTtcblx0XHRcdGlmIChyZWdpc3RlcmVkU2hhcmVkKSB7XG5cdFx0XHRcdGlmICh0eXBlb2YgcmVnaXN0ZXJlZFNoYXJlZC5saWIgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRcdHJlcXVpcmVfc2hhcmUuYWRkVXNlSW4ocmVnaXN0ZXJlZFNoYXJlZCwgaG9zdC5vcHRpb25zLm5hbWUpO1xuXHRcdFx0XHRcdGlmICghcmVnaXN0ZXJlZFNoYXJlZC5sb2FkZWQpIHtcblx0XHRcdFx0XHRcdHJlZ2lzdGVyZWRTaGFyZWQubG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdGlmIChyZWdpc3RlcmVkU2hhcmVkLmZyb20gPT09IGhvc3Qub3B0aW9ucy5uYW1lKSBzaGFyZU9wdGlvbnMubG9hZGVkID0gdHJ1ZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5lbWl0QWZ0ZXJMb2FkU2hhcmUoe1xuXHRcdFx0XHRcdFx0bGlmZWN5Y2xlOiBcImxvYWRTaGFyZVN5bmNcIixcblx0XHRcdFx0XHRcdHBrZ05hbWUsXG5cdFx0XHRcdFx0XHRzaGFyZUluZm86IHNoYXJlT3B0aW9ucyxcblx0XHRcdFx0XHRcdHNlbGVjdGVkU2hhcmVkOiByZWdpc3RlcmVkU2hhcmVkXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0cmV0dXJuIHJlZ2lzdGVyZWRTaGFyZWQubGliO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0eXBlb2YgcmVnaXN0ZXJlZFNoYXJlZC5nZXQgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRcdGNvbnN0IG1vZHVsZSA9IHJlZ2lzdGVyZWRTaGFyZWQuZ2V0KCk7XG5cdFx0XHRcdFx0aWYgKCEobW9kdWxlIGluc3RhbmNlb2YgUHJvbWlzZSkpIHtcblx0XHRcdFx0XHRcdHJlcXVpcmVfc2hhcmUuYWRkVXNlSW4ocmVnaXN0ZXJlZFNoYXJlZCwgaG9zdC5vcHRpb25zLm5hbWUpO1xuXHRcdFx0XHRcdFx0dGhpcy5zZXRTaGFyZWQoe1xuXHRcdFx0XHRcdFx0XHRwa2dOYW1lLFxuXHRcdFx0XHRcdFx0XHRsb2FkZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdGZyb206IGhvc3Qub3B0aW9ucy5uYW1lLFxuXHRcdFx0XHRcdFx0XHRsaWI6IG1vZHVsZSxcblx0XHRcdFx0XHRcdFx0c2hhcmVkOiByZWdpc3RlcmVkU2hhcmVkXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdHRoaXMuZW1pdEFmdGVyTG9hZFNoYXJlKHtcblx0XHRcdFx0XHRcdFx0bGlmZWN5Y2xlOiBcImxvYWRTaGFyZVN5bmNcIixcblx0XHRcdFx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0XHRcdFx0c2hhcmVJbmZvOiBzaGFyZU9wdGlvbnMsXG5cdFx0XHRcdFx0XHRcdHNlbGVjdGVkU2hhcmVkOiByZWdpc3RlcmVkU2hhcmVkXG5cdFx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcdHJldHVybiBtb2R1bGU7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRpZiAoc2hhcmVPcHRpb25zLmxpYikge1xuXHRcdFx0XHRpZiAoIXNoYXJlT3B0aW9ucy5sb2FkZWQpIHNoYXJlT3B0aW9ucy5sb2FkZWQgPSB0cnVlO1xuXHRcdFx0XHR0aGlzLmVtaXRBZnRlckxvYWRTaGFyZSh7XG5cdFx0XHRcdFx0bGlmZWN5Y2xlOiBcImxvYWRTaGFyZVN5bmNcIixcblx0XHRcdFx0XHRwa2dOYW1lLFxuXHRcdFx0XHRcdHNoYXJlSW5mbzogc2hhcmVPcHRpb25zLFxuXHRcdFx0XHRcdHNlbGVjdGVkU2hhcmVkOiBzaGFyZU9wdGlvbnNcblx0XHRcdFx0fSk7XG5cdFx0XHRcdHJldHVybiBzaGFyZU9wdGlvbnMubGliO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHNoYXJlT3B0aW9ucy5nZXQpIHtcblx0XHRcdFx0Y29uc3QgbW9kdWxlID0gc2hhcmVPcHRpb25zLmdldCgpO1xuXHRcdFx0XHRpZiAobW9kdWxlIGluc3RhbmNlb2YgUHJvbWlzZSkgcmVxdWlyZV9sb2dnZXIuZXJyb3IoZXh0cmFPcHRpb25zPy5mcm9tID09PSBcImJ1aWxkXCIgPyBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMuUlVOVElNRV8wMDUgOiBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMuUlVOVElNRV8wMDYsIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5ydW50aW1lRGVzY01hcCwge1xuXHRcdFx0XHRcdGhvc3ROYW1lOiBob3N0Lm9wdGlvbnMubmFtZSxcblx0XHRcdFx0XHRzaGFyZWRQa2dOYW1lOiBwa2dOYW1lXG5cdFx0XHRcdH0sIHZvaWQgMCwgcmVxdWlyZV9jb250ZXh0Lm9wdGlvbnNUb01GQ29udGV4dChob3N0Lm9wdGlvbnMpKTtcblx0XHRcdFx0c2hhcmVPcHRpb25zLmxpYiA9IG1vZHVsZTtcblx0XHRcdFx0dGhpcy5zZXRTaGFyZWQoe1xuXHRcdFx0XHRcdHBrZ05hbWUsXG5cdFx0XHRcdFx0bG9hZGVkOiB0cnVlLFxuXHRcdFx0XHRcdGZyb206IGhvc3Qub3B0aW9ucy5uYW1lLFxuXHRcdFx0XHRcdGxpYjogc2hhcmVPcHRpb25zLmxpYixcblx0XHRcdFx0XHRzaGFyZWQ6IHNoYXJlT3B0aW9uc1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy5lbWl0QWZ0ZXJMb2FkU2hhcmUoe1xuXHRcdFx0XHRcdGxpZmVjeWNsZTogXCJsb2FkU2hhcmVTeW5jXCIsXG5cdFx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0XHRzaGFyZUluZm86IHNoYXJlT3B0aW9ucyxcblx0XHRcdFx0XHRzZWxlY3RlZFNoYXJlZDogc2hhcmVPcHRpb25zXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZXR1cm4gc2hhcmVPcHRpb25zLmxpYjtcblx0XHRcdH1cblx0XHRcdHJlcXVpcmVfbG9nZ2VyLmVycm9yKF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwNiwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwLCB7XG5cdFx0XHRcdGhvc3ROYW1lOiBob3N0Lm9wdGlvbnMubmFtZSxcblx0XHRcdFx0c2hhcmVkUGtnTmFtZTogcGtnTmFtZVxuXHRcdFx0fSwgdm9pZCAwLCByZXF1aXJlX2NvbnRleHQub3B0aW9uc1RvTUZDb250ZXh0KGhvc3Qub3B0aW9ucykpO1xuXHRcdH0gY2F0Y2ggKHNoYXJlRXJyb3IpIHtcblx0XHRcdHRoaXMuZW1pdEVycm9yTG9hZFNoYXJlKHtcblx0XHRcdFx0bGlmZWN5Y2xlOiBcImxvYWRTaGFyZVN5bmNcIixcblx0XHRcdFx0cGtnTmFtZSxcblx0XHRcdFx0c2hhcmVJbmZvOiBzaGFyZU9wdGlvbnMsXG5cdFx0XHRcdGVycm9yOiBzaGFyZUVycm9yXG5cdFx0XHR9KTtcblx0XHRcdHRocm93IHNoYXJlRXJyb3I7XG5cdFx0fVxuXHR9XG5cdGluaXRTaGFyZVNjb3BlTWFwKHNjb3BlTmFtZSwgc2hhcmVTY29wZSwgZXh0cmFPcHRpb25zID0ge30pIHtcblx0XHRjb25zdCB7IGhvc3QgfSA9IHRoaXM7XG5cdFx0dGhpcy5zaGFyZVNjb3BlTWFwW3Njb3BlTmFtZV0gPSBzaGFyZVNjb3BlO1xuXHRcdHRoaXMuaG9va3MubGlmZWN5Y2xlLmluaXRDb250YWluZXJTaGFyZVNjb3BlTWFwLmVtaXQoe1xuXHRcdFx0c2hhcmVTY29wZSxcblx0XHRcdG9wdGlvbnM6IGhvc3Qub3B0aW9ucyxcblx0XHRcdG9yaWdpbjogaG9zdCxcblx0XHRcdHNjb3BlTmFtZSxcblx0XHRcdGhvc3RTaGFyZVNjb3BlTWFwOiBleHRyYU9wdGlvbnMuaG9zdFNoYXJlU2NvcGVNYXBcblx0XHR9KTtcblx0fVxuXHRzZXRTaGFyZWQoeyBwa2dOYW1lLCBzaGFyZWQsIGZyb20sIGxpYiwgbG9hZGluZywgbG9hZGVkLCBnZXQsIHRyZWVTaGFraW5nIH0pIHtcblx0XHRjb25zdCB7IHZlcnNpb24sIHNjb3BlID0gXCJkZWZhdWx0XCIsIC4uLnNoYXJlSW5mbyB9ID0gc2hhcmVkO1xuXHRcdGNvbnN0IHNjb3BlcyA9IEFycmF5LmlzQXJyYXkoc2NvcGUpID8gc2NvcGUgOiBbc2NvcGVdO1xuXHRcdGNvbnN0IG1lcmdlQXR0cnMgPSAoc2hhcmVkKSA9PiB7XG5cdFx0XHRjb25zdCBtZXJnZSA9IChzLCBrZXksIHZhbCkgPT4ge1xuXHRcdFx0XHRpZiAodmFsICYmICFzW2tleV0pIHNba2V5XSA9IHZhbDtcblx0XHRcdH07XG5cdFx0XHRjb25zdCB0YXJnZXRTaGFyZWQgPSB0cmVlU2hha2luZyA/IHNoYXJlZC50cmVlU2hha2luZyA6IHNoYXJlZDtcblx0XHRcdG1lcmdlKHRhcmdldFNoYXJlZCwgXCJsb2FkZWRcIiwgbG9hZGVkKTtcblx0XHRcdG1lcmdlKHRhcmdldFNoYXJlZCwgXCJsb2FkaW5nXCIsIGxvYWRpbmcpO1xuXHRcdFx0bWVyZ2UodGFyZ2V0U2hhcmVkLCBcImdldFwiLCBnZXQpO1xuXHRcdH07XG5cdFx0c2NvcGVzLmZvckVhY2goKHNjKSA9PiB7XG5cdFx0XHRpZiAoIXRoaXMuc2hhcmVTY29wZU1hcFtzY10pIHRoaXMuc2hhcmVTY29wZU1hcFtzY10gPSB7fTtcblx0XHRcdGlmICghdGhpcy5zaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXSkgdGhpcy5zaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXSA9IHt9O1xuXHRcdFx0aWYgKCF0aGlzLnNoYXJlU2NvcGVNYXBbc2NdW3BrZ05hbWVdW3ZlcnNpb25dKSB0aGlzLnNoYXJlU2NvcGVNYXBbc2NdW3BrZ05hbWVdW3ZlcnNpb25dID0ge1xuXHRcdFx0XHR2ZXJzaW9uLFxuXHRcdFx0XHRzY29wZTogW3NjXSxcblx0XHRcdFx0Li4uc2hhcmVJbmZvLFxuXHRcdFx0XHRsaWJcblx0XHRcdH07XG5cdFx0XHRjb25zdCByZWdpc3RlcmVkU2hhcmVkID0gdGhpcy5zaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXVt2ZXJzaW9uXTtcblx0XHRcdG1lcmdlQXR0cnMocmVnaXN0ZXJlZFNoYXJlZCk7XG5cdFx0XHRpZiAoZnJvbSAmJiByZWdpc3RlcmVkU2hhcmVkLmZyb20gIT09IGZyb20pIHJlZ2lzdGVyZWRTaGFyZWQuZnJvbSA9IGZyb207XG5cdFx0fSk7XG5cdH1cblx0X3NldEdsb2JhbFNoYXJlU2NvcGVNYXAoaG9zdE9wdGlvbnMpIHtcblx0XHRjb25zdCBnbG9iYWxTaGFyZVNjb3BlTWFwID0gcmVxdWlyZV9zaGFyZS5nZXRHbG9iYWxTaGFyZVNjb3BlKCk7XG5cdFx0Y29uc3QgaWRlbnRpZmllciA9IGhvc3RPcHRpb25zLmlkIHx8IGhvc3RPcHRpb25zLm5hbWU7XG5cdFx0aWYgKGlkZW50aWZpZXIgJiYgIWdsb2JhbFNoYXJlU2NvcGVNYXBbaWRlbnRpZmllcl0pIGdsb2JhbFNoYXJlU2NvcGVNYXBbaWRlbnRpZmllcl0gPSB0aGlzLnNoYXJlU2NvcGVNYXA7XG5cdH1cbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5TaGFyZWRIYW5kbGVyID0gU2hhcmVkSGFuZGxlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQXFCO0FBQ3BELHlCQUF5QixtQkFBTyxDQUFDLHlFQUFpQjtBQUNsRCxzQkFBc0IsbUJBQU8sQ0FBQyw0RUFBb0I7QUFDbEQsd0JBQXdCLG1CQUFPLENBQUMsOEVBQXNCO0FBQ3RELG1CQUFPLENBQUMsNEVBQW9CO0FBQzVCLHlCQUF5QixtQkFBTyxDQUFDLHFGQUE2QjtBQUM5RCwwQkFBMEIsbUJBQU8sQ0FBQyxzRkFBOEI7QUFDaEUsa0NBQWtDLG1CQUFPLENBQUMsOEZBQXNDO0FBQ2hGLG9DQUFvQyxtQkFBTyxDQUFDLGdHQUF3QztBQUNwRiw2QkFBNkIsbUJBQU8sQ0FBQyx5RkFBaUM7QUFDdEUsbUJBQU8sQ0FBQyxrRkFBMEI7QUFDbEMscUNBQXFDLG1CQUFPLENBQUMscUVBQWdDOztBQUU3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQiwrQ0FBK0M7QUFDckU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLElB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QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0EsMkRBQTJEO0FBQzNELFVBQVUsT0FBTztBQUNqQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLGFBQWEsK0RBQStEO0FBQzVFLFVBQVUsMkNBQTJDO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/shared/index.cjs\n\n}");
|
|
104
|
+
|
|
105
|
+
},
|
|
106
|
+
"../../../node_modules/@module-federation/runtime-core/dist/type/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
107
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/type/index.ts\nvar type_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"type_exports\", ({\n enumerable: true,\n get: function () {\n return type_exports;\n }\n}));\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3R5cGUvaW5kZXguY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3R5cGUvaW5kZXguY2pzP2FjNTkiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9ydW50aW1lID0gcmVxdWlyZSgnLi4vX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvdHlwZS9pbmRleC50c1xudmFyIHR5cGVfZXhwb3J0cyA9IC8qIEBfX1BVUkVfXyAqLyByZXF1aXJlX3J1bnRpbWUuX19leHBvcnRBbGwoe30pO1xuXG4vLyNlbmRyZWdpb25cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAndHlwZV9leHBvcnRzJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gdHlwZV9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLG1CQUFPLENBQUMsMkZBQW1DOztBQUVuRTtBQUNBLGlFQUFpRTs7QUFFakU7QUFDQSxnREFBK0M7QUFDL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/type/index.cjs\n\n}");
|
|
108
|
+
|
|
109
|
+
},
|
|
110
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs"(__unused_rspack_module, exports) {
|
|
111
|
+
eval("{\n//#region src/utils/context.ts\nfunction remoteToEntry(r) {\n\treturn {\n\t\tname: r.name,\n\t\talias: r.alias,\n\t\tentry: \"entry\" in r ? r.entry : void 0,\n\t\tversion: \"version\" in r ? r.version : void 0,\n\t\ttype: r.type,\n\t\tentryGlobalName: r.entryGlobalName,\n\t\tshareScope: r.shareScope\n\t};\n}\n/**\n* Build a partial MFContext from runtime Options.\n* Used to enrich diagnostic entries with host context at error sites.\n*/\nfunction optionsToMFContext(options) {\n\tconst shared = {};\n\tfor (const [pkgName, versions] of Object.entries(options.shared)) {\n\t\tconst first = versions[0];\n\t\tif (first) shared[pkgName] = {\n\t\t\tversion: first.version,\n\t\t\tsingleton: first.shareConfig?.singleton,\n\t\t\trequiredVersion: first.shareConfig?.requiredVersion === false ? false : first.shareConfig?.requiredVersion,\n\t\t\teager: first.eager,\n\t\t\tstrictVersion: first.shareConfig?.strictVersion\n\t\t};\n\t}\n\treturn {\n\t\tproject: {\n\t\t\tname: options.name,\n\t\t\tmfRole: options.remotes?.length > 0 ? \"host\" : \"unknown\"\n\t\t},\n\t\tmfConfig: {\n\t\t\tname: options.name,\n\t\t\tremotes: options.remotes?.map(remoteToEntry) ?? [],\n\t\t\tshared\n\t\t}\n\t};\n}\n\n//#endregion\nexports.optionsToMFContext = optionsToMFContext;\n//# sourceMappingURL=context.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2NvbnRleHQuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2NvbnRleHQuY2pzPzlhNTkiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL3V0aWxzL2NvbnRleHQudHNcbmZ1bmN0aW9uIHJlbW90ZVRvRW50cnkocikge1xuXHRyZXR1cm4ge1xuXHRcdG5hbWU6IHIubmFtZSxcblx0XHRhbGlhczogci5hbGlhcyxcblx0XHRlbnRyeTogXCJlbnRyeVwiIGluIHIgPyByLmVudHJ5IDogdm9pZCAwLFxuXHRcdHZlcnNpb246IFwidmVyc2lvblwiIGluIHIgPyByLnZlcnNpb24gOiB2b2lkIDAsXG5cdFx0dHlwZTogci50eXBlLFxuXHRcdGVudHJ5R2xvYmFsTmFtZTogci5lbnRyeUdsb2JhbE5hbWUsXG5cdFx0c2hhcmVTY29wZTogci5zaGFyZVNjb3BlXG5cdH07XG59XG4vKipcbiogQnVpbGQgYSBwYXJ0aWFsIE1GQ29udGV4dCBmcm9tIHJ1bnRpbWUgT3B0aW9ucy5cbiogVXNlZCB0byBlbnJpY2ggZGlhZ25vc3RpYyBlbnRyaWVzIHdpdGggaG9zdCBjb250ZXh0IGF0IGVycm9yIHNpdGVzLlxuKi9cbmZ1bmN0aW9uIG9wdGlvbnNUb01GQ29udGV4dChvcHRpb25zKSB7XG5cdGNvbnN0IHNoYXJlZCA9IHt9O1xuXHRmb3IgKGNvbnN0IFtwa2dOYW1lLCB2ZXJzaW9uc10gb2YgT2JqZWN0LmVudHJpZXMob3B0aW9ucy5zaGFyZWQpKSB7XG5cdFx0Y29uc3QgZmlyc3QgPSB2ZXJzaW9uc1swXTtcblx0XHRpZiAoZmlyc3QpIHNoYXJlZFtwa2dOYW1lXSA9IHtcblx0XHRcdHZlcnNpb246IGZpcnN0LnZlcnNpb24sXG5cdFx0XHRzaW5nbGV0b246IGZpcnN0LnNoYXJlQ29uZmlnPy5zaW5nbGV0b24sXG5cdFx0XHRyZXF1aXJlZFZlcnNpb246IGZpcnN0LnNoYXJlQ29uZmlnPy5yZXF1aXJlZFZlcnNpb24gPT09IGZhbHNlID8gZmFsc2UgOiBmaXJzdC5zaGFyZUNvbmZpZz8ucmVxdWlyZWRWZXJzaW9uLFxuXHRcdFx0ZWFnZXI6IGZpcnN0LmVhZ2VyLFxuXHRcdFx0c3RyaWN0VmVyc2lvbjogZmlyc3Quc2hhcmVDb25maWc/LnN0cmljdFZlcnNpb25cblx0XHR9O1xuXHR9XG5cdHJldHVybiB7XG5cdFx0cHJvamVjdDoge1xuXHRcdFx0bmFtZTogb3B0aW9ucy5uYW1lLFxuXHRcdFx0bWZSb2xlOiBvcHRpb25zLnJlbW90ZXM/Lmxlbmd0aCA+IDAgPyBcImhvc3RcIiA6IFwidW5rbm93blwiXG5cdFx0fSxcblx0XHRtZkNvbmZpZzoge1xuXHRcdFx0bmFtZTogb3B0aW9ucy5uYW1lLFxuXHRcdFx0cmVtb3Rlczogb3B0aW9ucy5yZW1vdGVzPy5tYXAocmVtb3RlVG9FbnRyeSkgPz8gW10sXG5cdFx0XHRzaGFyZWRcblx0XHR9XG5cdH07XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5vcHRpb25zVG9NRkNvbnRleHQgPSBvcHRpb25zVG9NRkNvbnRleHQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb250ZXh0LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7QUFDMUIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs\n\n}");
|
|
112
|
+
|
|
113
|
+
},
|
|
114
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/env.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
115
|
+
eval("{let _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/utils/env.ts\nfunction getBuilderId() {\n\treturn true ? \"@openmrs/esm-app-shell:10.0.1-pre.5227\" : 0;\n}\n\n//#endregion\nexports.getBuilderId = getBuilderId;\n//# sourceMappingURL=env.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2Vudi5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvZW52LmNqcz83ZWJhIl0sInNvdXJjZXNDb250ZW50IjpbImxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5cbi8vI3JlZ2lvbiBzcmMvdXRpbHMvZW52LnRzXG5mdW5jdGlvbiBnZXRCdWlsZGVySWQoKSB7XG5cdHJldHVybiB0eXBlb2YgRkVERVJBVElPTl9CVUlMRF9JREVOVElGSUVSICE9PSBcInVuZGVmaW5lZFwiID8gRkVERVJBVElPTl9CVUlMRF9JREVOVElGSUVSIDogXCJcIjtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmdldEJ1aWxkZXJJZCA9IGdldEJ1aWxkZXJJZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVudi5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDZCQUE2QixtQkFBTyxDQUFDLDZEQUF3Qjs7QUFFN0Q7QUFDQTtBQUNBLFFBQVEsS0FBa0QsR0FBRyx3Q0FBMkIsR0FBRyxDQUFFO0FBQzdGOztBQUVBO0FBQ0Esb0JBQW9CO0FBQ3BCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/env.cjs\n\n}");
|
|
116
|
+
|
|
117
|
+
},
|
|
118
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
119
|
+
eval("{const require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\n\n//#region src/utils/hooks/asyncHook.ts\nvar AsyncHook = class extends require_syncHook.SyncHook {\n\temit(...data) {\n\t\tlet result;\n\t\tconst ls = Array.from(this.listeners);\n\t\tif (ls.length > 0) {\n\t\t\tlet i = 0;\n\t\t\tconst call = (prev) => {\n\t\t\t\tif (prev === false) return false;\n\t\t\t\telse if (i < ls.length) return Promise.resolve(ls[i++].apply(null, data)).then((result) => {\n\t\t\t\t\tif (result === void 0 || data.length === 1 && result === data[0]) return call(prev);\n\t\t\t\t\treturn call(result);\n\t\t\t\t});\n\t\t\t\telse return prev;\n\t\t\t};\n\t\t\tresult = call();\n\t\t}\n\t\treturn Promise.resolve(result);\n\t}\n};\n\n//#endregion\nexports.AsyncHook = AsyncHook;\n//# sourceMappingURL=asyncHook.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL2FzeW5jSG9vay5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvaG9va3MvYXN5bmNIb29rLmNqcz81ZTRiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfc3luY0hvb2sgPSByZXF1aXJlKCcuL3N5bmNIb29rLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3V0aWxzL2hvb2tzL2FzeW5jSG9vay50c1xudmFyIEFzeW5jSG9vayA9IGNsYXNzIGV4dGVuZHMgcmVxdWlyZV9zeW5jSG9vay5TeW5jSG9vayB7XG5cdGVtaXQoLi4uZGF0YSkge1xuXHRcdGxldCByZXN1bHQ7XG5cdFx0Y29uc3QgbHMgPSBBcnJheS5mcm9tKHRoaXMubGlzdGVuZXJzKTtcblx0XHRpZiAobHMubGVuZ3RoID4gMCkge1xuXHRcdFx0bGV0IGkgPSAwO1xuXHRcdFx0Y29uc3QgY2FsbCA9IChwcmV2KSA9PiB7XG5cdFx0XHRcdGlmIChwcmV2ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlO1xuXHRcdFx0XHRlbHNlIGlmIChpIDwgbHMubGVuZ3RoKSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGxzW2krK10uYXBwbHkobnVsbCwgZGF0YSkpLnRoZW4oKHJlc3VsdCkgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXN1bHQgPT09IHZvaWQgMCB8fCBkYXRhLmxlbmd0aCA9PT0gMSAmJiByZXN1bHQgPT09IGRhdGFbMF0pIHJldHVybiBjYWxsKHByZXYpO1xuXHRcdFx0XHRcdHJldHVybiBjYWxsKHJlc3VsdCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRlbHNlIHJldHVybiBwcmV2O1xuXHRcdFx0fTtcblx0XHRcdHJlc3VsdCA9IGNhbGwoKTtcblx0XHR9XG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZShyZXN1bHQpO1xuXHR9XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuQXN5bmNIb29rID0gQXN5bmNIb29rO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXN5bmNIb29rLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCLG1CQUFPLENBQUMscUZBQWdCOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxpQkFBaUI7QUFDakIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs\n\n}");
|
|
120
|
+
|
|
121
|
+
},
|
|
122
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
123
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\nconst require_syncWaterfallHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs\");\n\n//#region src/utils/hooks/asyncWaterfallHooks.ts\nvar AsyncWaterfallHook = class extends require_syncHook.SyncHook {\n\tconstructor(type) {\n\t\tsuper();\n\t\tthis.onerror = require_logger.error;\n\t\tthis.type = type;\n\t}\n\temit(data) {\n\t\tif (!require_tool.isObject(data)) require_logger.error(`The response data for the \"${this.type}\" hook must be an object.`);\n\t\tconst ls = Array.from(this.listeners);\n\t\tif (ls.length > 0) {\n\t\t\tlet i = 0;\n\t\t\tconst processError = (e) => {\n\t\t\t\trequire_logger.warn(e);\n\t\t\t\tthis.onerror(e);\n\t\t\t\treturn data;\n\t\t\t};\n\t\t\tconst call = (prevData) => {\n\t\t\t\tif (prevData !== void 0 && require_syncWaterfallHook.checkReturnData(data, prevData)) data = prevData;\n\t\t\t\telse if (prevData !== void 0) {\n\t\t\t\t\tthis.onerror(`A plugin returned an incorrect value for the \"${this.type}\" type.`);\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\t\t\t\tif (i < ls.length) try {\n\t\t\t\t\treturn Promise.resolve(ls[i++](data)).then(call, processError);\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn processError(e);\n\t\t\t\t}\n\t\t\t\treturn data;\n\t\t\t};\n\t\t\treturn Promise.resolve(call(data));\n\t\t}\n\t\treturn Promise.resolve(data);\n\t}\n};\n\n//#endregion\nexports.AsyncWaterfallHook = AsyncWaterfallHook;\n//# sourceMappingURL=asyncWaterfallHooks.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL2FzeW5jV2F0ZXJmYWxsSG9va3MuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL2FzeW5jV2F0ZXJmYWxsSG9va3MuY2pzP2NmMzIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9sb2dnZXIgPSByZXF1aXJlKCcuLi9sb2dnZXIuY2pzJyk7XG5jb25zdCByZXF1aXJlX3Rvb2wgPSByZXF1aXJlKCcuLi90b29sLmNqcycpO1xuY29uc3QgcmVxdWlyZV9zeW5jSG9vayA9IHJlcXVpcmUoJy4vc3luY0hvb2suY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rID0gcmVxdWlyZSgnLi9zeW5jV2F0ZXJmYWxsSG9vay5janMnKTtcblxuLy8jcmVnaW9uIHNyYy91dGlscy9ob29rcy9hc3luY1dhdGVyZmFsbEhvb2tzLnRzXG52YXIgQXN5bmNXYXRlcmZhbGxIb29rID0gY2xhc3MgZXh0ZW5kcyByZXF1aXJlX3N5bmNIb29rLlN5bmNIb29rIHtcblx0Y29uc3RydWN0b3IodHlwZSkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vbmVycm9yID0gcmVxdWlyZV9sb2dnZXIuZXJyb3I7XG5cdFx0dGhpcy50eXBlID0gdHlwZTtcblx0fVxuXHRlbWl0KGRhdGEpIHtcblx0XHRpZiAoIXJlcXVpcmVfdG9vbC5pc09iamVjdChkYXRhKSkgcmVxdWlyZV9sb2dnZXIuZXJyb3IoYFRoZSByZXNwb25zZSBkYXRhIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiBob29rIG11c3QgYmUgYW4gb2JqZWN0LmApO1xuXHRcdGNvbnN0IGxzID0gQXJyYXkuZnJvbSh0aGlzLmxpc3RlbmVycyk7XG5cdFx0aWYgKGxzLmxlbmd0aCA+IDApIHtcblx0XHRcdGxldCBpID0gMDtcblx0XHRcdGNvbnN0IHByb2Nlc3NFcnJvciA9IChlKSA9PiB7XG5cdFx0XHRcdHJlcXVpcmVfbG9nZ2VyLndhcm4oZSk7XG5cdFx0XHRcdHRoaXMub25lcnJvcihlKTtcblx0XHRcdFx0cmV0dXJuIGRhdGE7XG5cdFx0XHR9O1xuXHRcdFx0Y29uc3QgY2FsbCA9IChwcmV2RGF0YSkgPT4ge1xuXHRcdFx0XHRpZiAocHJldkRhdGEgIT09IHZvaWQgMCAmJiByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rLmNoZWNrUmV0dXJuRGF0YShkYXRhLCBwcmV2RGF0YSkpIGRhdGEgPSBwcmV2RGF0YTtcblx0XHRcdFx0ZWxzZSBpZiAocHJldkRhdGEgIT09IHZvaWQgMCkge1xuXHRcdFx0XHRcdHRoaXMub25lcnJvcihgQSBwbHVnaW4gcmV0dXJuZWQgYW4gaW5jb3JyZWN0IHZhbHVlIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiB0eXBlLmApO1xuXHRcdFx0XHRcdHJldHVybiBkYXRhO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChpIDwgbHMubGVuZ3RoKSB0cnkge1xuXHRcdFx0XHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUobHNbaSsrXShkYXRhKSkudGhlbihjYWxsLCBwcm9jZXNzRXJyb3IpO1xuXHRcdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHByb2Nlc3NFcnJvcihlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gZGF0YTtcblx0XHRcdH07XG5cdFx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNhbGwoZGF0YSkpO1xuXHRcdH1cblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuXHR9XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuQXN5bmNXYXRlcmZhbGxIb29rID0gQXN5bmNXYXRlcmZhbGxIb29rO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXN5bmNXYXRlcmZhbGxIb29rcy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QixtQkFBTyxDQUFDLDZFQUFlO0FBQzlDLHFCQUFxQixtQkFBTyxDQUFDLDJFQUFhO0FBQzFDLHlCQUF5QixtQkFBTyxDQUFDLHFGQUFnQjtBQUNqRCxrQ0FBa0MsbUJBQU8sQ0FBQyw4RkFBeUI7O0FBRW5FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1RkFBdUYsVUFBVTtBQUNqRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUVBQW1FLFVBQVU7QUFDN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsMEJBQTBCO0FBQzFCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\n\n}");
|
|
124
|
+
|
|
125
|
+
},
|
|
126
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs"(__unused_rspack_module, __unused_rspack_exports, __webpack_require__) {
|
|
127
|
+
eval("{const require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\nconst require_asyncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncHook.cjs\");\nconst require_syncWaterfallHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs\");\nconst require_asyncWaterfallHooks = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/asyncWaterfallHooks.cjs\");\nconst require_pluginSystem = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\");\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL2luZGV4LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9ob29rcy9pbmRleC5janM/ZDI1MyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX3N5bmNIb29rID0gcmVxdWlyZSgnLi9zeW5jSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXN5bmNIb29rID0gcmVxdWlyZSgnLi9hc3luY0hvb2suY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNXYXRlcmZhbGxIb29rID0gcmVxdWlyZSgnLi9zeW5jV2F0ZXJmYWxsSG9vay5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXN5bmNXYXRlcmZhbGxIb29rcyA9IHJlcXVpcmUoJy4vYXN5bmNXYXRlcmZhbGxIb29rcy5janMnKTtcbmNvbnN0IHJlcXVpcmVfcGx1Z2luU3lzdGVtID0gcmVxdWlyZSgnLi9wbHVnaW5TeXN0ZW0uY2pzJyk7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCLG1CQUFPLENBQUMscUZBQWdCO0FBQ2pELDBCQUEwQixtQkFBTyxDQUFDLHNGQUFpQjtBQUNuRCxrQ0FBa0MsbUJBQU8sQ0FBQyw4RkFBeUI7QUFDbkUsb0NBQW9DLG1CQUFPLENBQUMsZ0dBQTJCO0FBQ3ZFLDZCQUE2QixtQkFBTyxDQUFDLHlGQUFvQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/index.cjs\n\n}");
|
|
128
|
+
|
|
129
|
+
},
|
|
130
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
131
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\n__webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\");\n\n//#region src/utils/hooks/pluginSystem.ts\nvar PluginSystem = class {\n\tconstructor(lifecycle) {\n\t\tthis.registerPlugins = {};\n\t\tthis.lifecycle = lifecycle;\n\t\tthis.lifecycleKeys = Object.keys(lifecycle);\n\t}\n\tapplyPlugin(plugin, instance) {\n\t\trequire_logger.assert(require_tool.isPlainObject(plugin), \"Plugin configuration is invalid.\");\n\t\tconst pluginName = plugin.name;\n\t\trequire_logger.assert(pluginName, \"A name must be provided by the plugin.\");\n\t\tif (!this.registerPlugins[pluginName]) {\n\t\t\tthis.registerPlugins[pluginName] = plugin;\n\t\t\tplugin.apply?.(instance);\n\t\t\tObject.keys(this.lifecycle).forEach((key) => {\n\t\t\t\tconst pluginLife = plugin[key];\n\t\t\t\tif (pluginLife) this.lifecycle[key].on(pluginLife);\n\t\t\t});\n\t\t}\n\t}\n\tremovePlugin(pluginName) {\n\t\trequire_logger.assert(pluginName, \"A name is required.\");\n\t\tconst plugin = this.registerPlugins[pluginName];\n\t\trequire_logger.assert(plugin, `The plugin \"${pluginName}\" is not registered.`);\n\t\tObject.keys(plugin).forEach((key) => {\n\t\t\tif (key !== \"name\") this.lifecycle[key].remove(plugin[key]);\n\t\t});\n\t}\n};\n\n//#endregion\nexports.PluginSystem = PluginSystem;\n//# sourceMappingURL=pluginSystem.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL3BsdWdpblN5c3RlbS5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvaG9va3MvcGx1Z2luU3lzdGVtLmNqcz81Y2Y5Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi4vbG9nZ2VyLmNqcycpO1xuY29uc3QgcmVxdWlyZV90b29sID0gcmVxdWlyZSgnLi4vdG9vbC5janMnKTtcbnJlcXVpcmUoJy4uL2luZGV4LmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3V0aWxzL2hvb2tzL3BsdWdpblN5c3RlbS50c1xudmFyIFBsdWdpblN5c3RlbSA9IGNsYXNzIHtcblx0Y29uc3RydWN0b3IobGlmZWN5Y2xlKSB7XG5cdFx0dGhpcy5yZWdpc3RlclBsdWdpbnMgPSB7fTtcblx0XHR0aGlzLmxpZmVjeWNsZSA9IGxpZmVjeWNsZTtcblx0XHR0aGlzLmxpZmVjeWNsZUtleXMgPSBPYmplY3Qua2V5cyhsaWZlY3ljbGUpO1xuXHR9XG5cdGFwcGx5UGx1Z2luKHBsdWdpbiwgaW5zdGFuY2UpIHtcblx0XHRyZXF1aXJlX2xvZ2dlci5hc3NlcnQocmVxdWlyZV90b29sLmlzUGxhaW5PYmplY3QocGx1Z2luKSwgXCJQbHVnaW4gY29uZmlndXJhdGlvbiBpcyBpbnZhbGlkLlwiKTtcblx0XHRjb25zdCBwbHVnaW5OYW1lID0gcGx1Z2luLm5hbWU7XG5cdFx0cmVxdWlyZV9sb2dnZXIuYXNzZXJ0KHBsdWdpbk5hbWUsIFwiQSBuYW1lIG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIHBsdWdpbi5cIik7XG5cdFx0aWYgKCF0aGlzLnJlZ2lzdGVyUGx1Z2luc1twbHVnaW5OYW1lXSkge1xuXHRcdFx0dGhpcy5yZWdpc3RlclBsdWdpbnNbcGx1Z2luTmFtZV0gPSBwbHVnaW47XG5cdFx0XHRwbHVnaW4uYXBwbHk/LihpbnN0YW5jZSk7XG5cdFx0XHRPYmplY3Qua2V5cyh0aGlzLmxpZmVjeWNsZSkuZm9yRWFjaCgoa2V5KSA9PiB7XG5cdFx0XHRcdGNvbnN0IHBsdWdpbkxpZmUgPSBwbHVnaW5ba2V5XTtcblx0XHRcdFx0aWYgKHBsdWdpbkxpZmUpIHRoaXMubGlmZWN5Y2xlW2tleV0ub24ocGx1Z2luTGlmZSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblx0cmVtb3ZlUGx1Z2luKHBsdWdpbk5hbWUpIHtcblx0XHRyZXF1aXJlX2xvZ2dlci5hc3NlcnQocGx1Z2luTmFtZSwgXCJBIG5hbWUgaXMgcmVxdWlyZWQuXCIpO1xuXHRcdGNvbnN0IHBsdWdpbiA9IHRoaXMucmVnaXN0ZXJQbHVnaW5zW3BsdWdpbk5hbWVdO1xuXHRcdHJlcXVpcmVfbG9nZ2VyLmFzc2VydChwbHVnaW4sIGBUaGUgcGx1Z2luIFwiJHtwbHVnaW5OYW1lfVwiIGlzIG5vdCByZWdpc3RlcmVkLmApO1xuXHRcdE9iamVjdC5rZXlzKHBsdWdpbikuZm9yRWFjaCgoa2V5KSA9PiB7XG5cdFx0XHRpZiAoa2V5ICE9PSBcIm5hbWVcIikgdGhpcy5saWZlY3ljbGVba2V5XS5yZW1vdmUocGx1Z2luW2tleV0pO1xuXHRcdH0pO1xuXHR9XG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuUGx1Z2luU3lzdGVtID0gUGx1Z2luU3lzdGVtO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGx1Z2luU3lzdGVtLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQWU7QUFDOUMscUJBQXFCLG1CQUFPLENBQUMsMkVBQWE7QUFDMUMsbUJBQU8sQ0FBQyw0RUFBYzs7QUFFdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0NBQStDLFdBQVc7QUFDMUQ7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBOztBQUVBO0FBQ0Esb0JBQW9CO0FBQ3BCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/pluginSystem.cjs\n\n}");
|
|
132
|
+
|
|
133
|
+
},
|
|
134
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs"(__unused_rspack_module, exports) {
|
|
135
|
+
eval("{\n//#region src/utils/hooks/syncHook.ts\nvar SyncHook = class {\n\tconstructor(type) {\n\t\tthis.type = \"\";\n\t\tthis.listeners = /* @__PURE__ */ new Set();\n\t\tif (type) this.type = type;\n\t}\n\ton(fn) {\n\t\tif (typeof fn === \"function\") this.listeners.add(fn);\n\t}\n\tonce(fn) {\n\t\tconst self = this;\n\t\tthis.on(function wrapper(...args) {\n\t\t\tself.remove(wrapper);\n\t\t\treturn fn.apply(null, args);\n\t\t});\n\t}\n\temit(...data) {\n\t\tlet result;\n\t\tif (this.listeners.size > 0) this.listeners.forEach((fn) => {\n\t\t\tconst nextResult = fn(...data);\n\t\t\tif (nextResult !== void 0) result = nextResult;\n\t\t});\n\t\treturn result;\n\t}\n\tremove(fn) {\n\t\tthis.listeners.delete(fn);\n\t}\n\tremoveAll() {\n\t\tthis.listeners.clear();\n\t}\n};\n\n//#endregion\nexports.SyncHook = SyncHook;\n//# sourceMappingURL=syncHook.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL3N5bmNIb29rLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9ob29rcy9zeW5jSG9vay5janM/MzM0MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiBzcmMvdXRpbHMvaG9va3Mvc3luY0hvb2sudHNcbnZhciBTeW5jSG9vayA9IGNsYXNzIHtcblx0Y29uc3RydWN0b3IodHlwZSkge1xuXHRcdHRoaXMudHlwZSA9IFwiXCI7XG5cdFx0dGhpcy5saXN0ZW5lcnMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuXHRcdGlmICh0eXBlKSB0aGlzLnR5cGUgPSB0eXBlO1xuXHR9XG5cdG9uKGZuKSB7XG5cdFx0aWYgKHR5cGVvZiBmbiA9PT0gXCJmdW5jdGlvblwiKSB0aGlzLmxpc3RlbmVycy5hZGQoZm4pO1xuXHR9XG5cdG9uY2UoZm4pIHtcblx0XHRjb25zdCBzZWxmID0gdGhpcztcblx0XHR0aGlzLm9uKGZ1bmN0aW9uIHdyYXBwZXIoLi4uYXJncykge1xuXHRcdFx0c2VsZi5yZW1vdmUod3JhcHBlcik7XG5cdFx0XHRyZXR1cm4gZm4uYXBwbHkobnVsbCwgYXJncyk7XG5cdFx0fSk7XG5cdH1cblx0ZW1pdCguLi5kYXRhKSB7XG5cdFx0bGV0IHJlc3VsdDtcblx0XHRpZiAodGhpcy5saXN0ZW5lcnMuc2l6ZSA+IDApIHRoaXMubGlzdGVuZXJzLmZvckVhY2goKGZuKSA9PiB7XG5cdFx0XHRjb25zdCBuZXh0UmVzdWx0ID0gZm4oLi4uZGF0YSk7XG5cdFx0XHRpZiAobmV4dFJlc3VsdCAhPT0gdm9pZCAwKSByZXN1bHQgPSBuZXh0UmVzdWx0O1xuXHRcdH0pO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblx0cmVtb3ZlKGZuKSB7XG5cdFx0dGhpcy5saXN0ZW5lcnMuZGVsZXRlKGZuKTtcblx0fVxuXHRyZW1vdmVBbGwoKSB7XG5cdFx0dGhpcy5saXN0ZW5lcnMuY2xlYXIoKTtcblx0fVxufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLlN5bmNIb29rID0gU3luY0hvb2s7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zeW5jSG9vay5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLGdCQUFnQjtBQUNoQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\n\n}");
|
|
136
|
+
|
|
137
|
+
},
|
|
138
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
139
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_syncHook = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncHook.cjs\");\n\n//#region src/utils/hooks/syncWaterfallHook.ts\nfunction checkReturnData(originalData, returnedData) {\n\tif (!require_tool.isObject(returnedData)) return false;\n\tif (originalData !== returnedData) {\n\t\tfor (const key in originalData) if (!(key in returnedData)) return false;\n\t}\n\treturn true;\n}\nvar SyncWaterfallHook = class extends require_syncHook.SyncHook {\n\tconstructor(type) {\n\t\tsuper();\n\t\tthis.onerror = require_logger.error;\n\t\tthis.type = type;\n\t}\n\temit(data) {\n\t\tif (!require_tool.isObject(data)) require_logger.error(`The data for the \"${this.type}\" hook should be an object.`);\n\t\tfor (const fn of this.listeners) try {\n\t\t\tconst tempData = fn(data);\n\t\t\tif (tempData === void 0) continue;\n\t\t\tif (checkReturnData(data, tempData)) data = tempData;\n\t\t\telse {\n\t\t\t\tthis.onerror(`A plugin returned an unacceptable value for the \"${this.type}\" type.`);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} catch (e) {\n\t\t\trequire_logger.warn(e);\n\t\t\tthis.onerror(e);\n\t\t}\n\t\treturn data;\n\t}\n};\n\n//#endregion\nexports.SyncWaterfallHook = SyncWaterfallHook;\nexports.checkReturnData = checkReturnData;\n//# sourceMappingURL=syncWaterfallHook.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2hvb2tzL3N5bmNXYXRlcmZhbGxIb29rLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9ob29rcy9zeW5jV2F0ZXJmYWxsSG9vay5janM/OTExOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX2xvZ2dlciA9IHJlcXVpcmUoJy4uL2xvZ2dlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfdG9vbCA9IHJlcXVpcmUoJy4uL3Rvb2wuY2pzJyk7XG5jb25zdCByZXF1aXJlX3N5bmNIb29rID0gcmVxdWlyZSgnLi9zeW5jSG9vay5janMnKTtcblxuLy8jcmVnaW9uIHNyYy91dGlscy9ob29rcy9zeW5jV2F0ZXJmYWxsSG9vay50c1xuZnVuY3Rpb24gY2hlY2tSZXR1cm5EYXRhKG9yaWdpbmFsRGF0YSwgcmV0dXJuZWREYXRhKSB7XG5cdGlmICghcmVxdWlyZV90b29sLmlzT2JqZWN0KHJldHVybmVkRGF0YSkpIHJldHVybiBmYWxzZTtcblx0aWYgKG9yaWdpbmFsRGF0YSAhPT0gcmV0dXJuZWREYXRhKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4gb3JpZ2luYWxEYXRhKSBpZiAoIShrZXkgaW4gcmV0dXJuZWREYXRhKSkgcmV0dXJuIGZhbHNlO1xuXHR9XG5cdHJldHVybiB0cnVlO1xufVxudmFyIFN5bmNXYXRlcmZhbGxIb29rID0gY2xhc3MgZXh0ZW5kcyByZXF1aXJlX3N5bmNIb29rLlN5bmNIb29rIHtcblx0Y29uc3RydWN0b3IodHlwZSkge1xuXHRcdHN1cGVyKCk7XG5cdFx0dGhpcy5vbmVycm9yID0gcmVxdWlyZV9sb2dnZXIuZXJyb3I7XG5cdFx0dGhpcy50eXBlID0gdHlwZTtcblx0fVxuXHRlbWl0KGRhdGEpIHtcblx0XHRpZiAoIXJlcXVpcmVfdG9vbC5pc09iamVjdChkYXRhKSkgcmVxdWlyZV9sb2dnZXIuZXJyb3IoYFRoZSBkYXRhIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiBob29rIHNob3VsZCBiZSBhbiBvYmplY3QuYCk7XG5cdFx0Zm9yIChjb25zdCBmbiBvZiB0aGlzLmxpc3RlbmVycykgdHJ5IHtcblx0XHRcdGNvbnN0IHRlbXBEYXRhID0gZm4oZGF0YSk7XG5cdFx0XHRpZiAodGVtcERhdGEgPT09IHZvaWQgMCkgY29udGludWU7XG5cdFx0XHRpZiAoY2hlY2tSZXR1cm5EYXRhKGRhdGEsIHRlbXBEYXRhKSkgZGF0YSA9IHRlbXBEYXRhO1xuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdHRoaXMub25lcnJvcihgQSBwbHVnaW4gcmV0dXJuZWQgYW4gdW5hY2NlcHRhYmxlIHZhbHVlIGZvciB0aGUgXCIke3RoaXMudHlwZX1cIiB0eXBlLmApO1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRyZXF1aXJlX2xvZ2dlci53YXJuKGUpO1xuXHRcdFx0dGhpcy5vbmVycm9yKGUpO1xuXHRcdH1cblx0XHRyZXR1cm4gZGF0YTtcblx0fVxufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLlN5bmNXYXRlcmZhbGxIb29rID0gU3luY1dhdGVyZmFsbEhvb2s7XG5leHBvcnRzLmNoZWNrUmV0dXJuRGF0YSA9IGNoZWNrUmV0dXJuRGF0YTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN5bmNXYXRlcmZhbGxIb29rLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQWU7QUFDOUMscUJBQXFCLG1CQUFPLENBQUMsMkVBQWE7QUFDMUMseUJBQXlCLG1CQUFPLENBQUMscUZBQWdCOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4RUFBOEUsVUFBVTtBQUN4RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUVBQXFFLFVBQVU7QUFDL0U7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSx5QkFBeUI7QUFDekIsdUJBQXVCO0FBQ3ZCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/hooks/syncWaterfallHook.cjs\n\n}");
|
|
140
|
+
|
|
141
|
+
},
|
|
142
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs"(__unused_rspack_module, __unused_rspack_exports, __webpack_require__) {
|
|
143
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_env = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/env.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\nconst require_plugin = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\nconst require_context = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/context.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2luZGV4LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9pbmRleC5janM/NGU4YyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX2xvZ2dlciA9IHJlcXVpcmUoJy4vbG9nZ2VyLmNqcycpO1xuY29uc3QgcmVxdWlyZV90b29sID0gcmVxdWlyZSgnLi90b29sLmNqcycpO1xuY29uc3QgcmVxdWlyZV9lbnYgPSByZXF1aXJlKCcuL2Vudi5janMnKTtcbmNvbnN0IHJlcXVpcmVfbWFuaWZlc3QgPSByZXF1aXJlKCcuL21hbmlmZXN0LmNqcycpO1xuY29uc3QgcmVxdWlyZV9wbHVnaW4gPSByZXF1aXJlKCcuL3BsdWdpbi5janMnKTtcbmNvbnN0IHJlcXVpcmVfbG9hZCA9IHJlcXVpcmUoJy4vbG9hZC5janMnKTtcbmNvbnN0IHJlcXVpcmVfY29udGV4dCA9IHJlcXVpcmUoJy4vY29udGV4dC5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQWM7QUFDN0MscUJBQXFCLG1CQUFPLENBQUMsMkVBQVk7QUFDekMsb0JBQW9CLG1CQUFPLENBQUMsMEVBQVc7QUFDdkMseUJBQXlCLG1CQUFPLENBQUMsK0VBQWdCO0FBQ2pELHVCQUF1QixtQkFBTyxDQUFDLDZFQUFjO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLDJFQUFZO0FBQ3pDLHdCQUF3QixtQkFBTyxDQUFDLDhFQUFlO0FBQy9DLDZCQUE2QixtQkFBTyxDQUFDLDZEQUF3QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/index.cjs\n\n}");
|
|
144
|
+
|
|
145
|
+
},
|
|
146
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
147
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/constant.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/utils/load.ts\nconst importCallback = \".then(callbacks[0]).catch(callbacks[1])\";\nfunction isEsmRemoteType(type) {\n\treturn type === \"esm\" || type === \"module\";\n}\nasync function loadEsmEntry({ entry, remoteEntryExports }) {\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\tif (!remoteEntryExports) if (typeof FEDERATION_ALLOW_NEW_FUNCTION !== \"undefined\") new Function(\"callbacks\", `import(\"${entry}\")${importCallback}`)([resolve, reject]);\n\t\t\telse import(\n\t\t\t\t/* webpackIgnore: true */\n\t\t\t\t/* @vite-ignore */\n\t\t\t\tentry\n).then(resolve).catch(reject);\n\t\t\telse resolve(remoteEntryExports);\n\t\t} catch (e) {\n\t\t\trequire_logger.error(`Failed to load ESM entry from \"${entry}\". ${e instanceof Error ? e.message : String(e)}`);\n\t\t}\n\t});\n}\nasync function loadSystemJsEntry({ entry, remoteEntryExports }) {\n\treturn new Promise((resolve, reject) => {\n\t\ttry {\n\t\t\tif (!remoteEntryExports) if (false) {}\n\t\t\telse new Function(\"callbacks\", `System.import(\"${entry}\")${importCallback}`)([resolve, reject]);\n\t\t\telse resolve(remoteEntryExports);\n\t\t} catch (e) {\n\t\t\trequire_logger.error(`Failed to load SystemJS entry from \"${entry}\". ${e instanceof Error ? e.message : String(e)}`);\n\t\t}\n\t});\n}\nfunction handleRemoteEntryLoaded(name, globalName, entry) {\n\tconst { remoteEntryKey, entryExports } = require_global.getRemoteEntryExports(name, globalName);\n\tif (!entryExports) require_logger.error(_module_federation_error_codes.RUNTIME_001, _module_federation_error_codes.runtimeDescMap, {\n\t\tremoteName: name,\n\t\tremoteEntryUrl: entry,\n\t\tremoteEntryKey\n\t});\n\treturn entryExports;\n}\nasync function loadEntryScript({ name, globalName, entry, remoteInfo, loaderHook, getEntryUrl, resourceContext }) {\n\tconst { entryExports: remoteEntryExports } = require_global.getRemoteEntryExports(name, globalName);\n\tif (remoteEntryExports) return remoteEntryExports;\n\tconst url = getEntryUrl ? getEntryUrl(entry) : entry;\n\treturn (0, _module_federation_sdk.loadScript)(url, {\n\t\tattrs: {},\n\t\tcreateScriptHook: (url, attrs) => {\n\t\t\tconst res = loaderHook.lifecycle.createScript.emit({\n\t\t\t\turl,\n\t\t\t\tattrs,\n\t\t\t\tremoteInfo,\n\t\t\t\tresourceContext: resourceContext ? {\n\t\t\t\t\t...resourceContext,\n\t\t\t\t\turl\n\t\t\t\t} : void 0\n\t\t\t});\n\t\t\tif (!res) return;\n\t\t\tif (res instanceof HTMLScriptElement) return res;\n\t\t\tif (\"script\" in res || \"timeout\" in res) return res;\n\t\t}\n\t}).then(() => {\n\t\treturn handleRemoteEntryLoaded(name, globalName, entry);\n\t}, (loadError) => {\n\t\tconst originalMsg = loadError instanceof Error ? loadError.message : String(loadError);\n\t\trequire_logger.error(_module_federation_error_codes.RUNTIME_008, _module_federation_error_codes.runtimeDescMap, {\n\t\t\tremoteName: name,\n\t\t\tresourceUrl: url\n\t\t}, originalMsg);\n\t});\n}\nasync function loadEntryDom({ remoteInfo, remoteEntryExports, loaderHook, getEntryUrl, resourceContext }) {\n\tconst { entry, entryGlobalName: globalName, name, type } = remoteInfo;\n\tif (isEsmRemoteType(type)) return loadEsmEntry({\n\t\tentry,\n\t\tremoteEntryExports\n\t});\n\tif (type === \"system\") return loadSystemJsEntry({\n\t\tentry,\n\t\tremoteEntryExports\n\t});\n\treturn loadEntryScript({\n\t\tentry,\n\t\tglobalName,\n\t\tname,\n\t\tremoteInfo,\n\t\tloaderHook,\n\t\tgetEntryUrl,\n\t\tresourceContext\n\t});\n}\nasync function loadEntryNode({ remoteInfo, loaderHook, resourceContext }) {\n\tconst { entry, entryGlobalName: globalName, name, type } = remoteInfo;\n\tconst { entryExports: remoteEntryExports } = require_global.getRemoteEntryExports(name, globalName);\n\tif (remoteEntryExports) return remoteEntryExports;\n\treturn (0, _module_federation_sdk.loadScriptNode)(entry, {\n\t\tattrs: {\n\t\t\tname,\n\t\t\tglobalName,\n\t\t\ttype\n\t\t},\n\t\tloaderHook: { createScriptHook: (url, attrs = {}) => {\n\t\t\tconst res = loaderHook.lifecycle.createScript.emit({\n\t\t\t\turl,\n\t\t\t\tattrs,\n\t\t\t\tremoteInfo,\n\t\t\t\tresourceContext: resourceContext ? {\n\t\t\t\t\t...resourceContext,\n\t\t\t\t\turl\n\t\t\t\t} : void 0\n\t\t\t});\n\t\t\tif (!res) return;\n\t\t\tif (\"url\" in res) return res;\n\t\t} }\n\t}).then(() => {\n\t\treturn handleRemoteEntryLoaded(name, globalName, entry);\n\t}).catch((e) => {\n\t\trequire_logger.error(`Failed to load Node.js entry for remote \"${name}\" from \"${entry}\". ${e instanceof Error ? e.message : String(e)}`);\n\t});\n}\nfunction getRemoteEntryUniqueKey(remoteInfo) {\n\tconst { entry, name } = remoteInfo;\n\treturn (0, _module_federation_sdk.composeKeyWithSeparator)(name, entry);\n}\nasync function getRemoteEntry(params) {\n\tconst { origin, remoteEntryExports, remoteInfo, getEntryUrl, resourceContext, _inErrorHandling = false } = params;\n\tconst uniqueKey = getRemoteEntryUniqueKey(remoteInfo);\n\tif (remoteEntryExports) return remoteEntryExports;\n\tif (!require_global.globalLoading[uniqueKey]) {\n\t\tconst loadEntryHook = origin.remoteHandler.hooks.lifecycle.loadEntry;\n\t\tconst loaderHook = origin.loaderHook;\n\t\trequire_global.globalLoading[uniqueKey] = loadEntryHook.emit({\n\t\t\torigin,\n\t\t\tloaderHook,\n\t\t\tremoteInfo,\n\t\t\tremoteEntryExports\n\t\t}).then((res) => {\n\t\t\tif (res) return res;\n\t\t\treturn ( true) ? loadEntryDom({\n\t\t\t\tremoteInfo,\n\t\t\t\tremoteEntryExports,\n\t\t\t\tloaderHook,\n\t\t\t\tgetEntryUrl,\n\t\t\t\tresourceContext\n\t\t\t}) : 0;\n\t\t}).then(async (res) => {\n\t\t\tawait origin.loaderHook.lifecycle.afterLoadEntry.emit({\n\t\t\t\torigin,\n\t\t\t\tremoteInfo,\n\t\t\t\tremoteEntryExports: res\n\t\t\t});\n\t\t\treturn res;\n\t\t}).catch(async (err) => {\n\t\t\tconst uniqueKey = getRemoteEntryUniqueKey(remoteInfo);\n\t\t\tconst isScriptExecutionError = err instanceof Error && err.message.includes(\"ScriptExecutionError\");\n\t\t\tif (err instanceof Error && err.message.includes(_module_federation_error_codes.RUNTIME_008) && !isScriptExecutionError && !_inErrorHandling) {\n\t\t\t\tconst wrappedGetRemoteEntry = (params) => {\n\t\t\t\t\treturn getRemoteEntry({\n\t\t\t\t\t\t...params,\n\t\t\t\t\t\t_inErrorHandling: true\n\t\t\t\t\t});\n\t\t\t\t};\n\t\t\t\tconst RemoteEntryExports = await origin.loaderHook.lifecycle.loadEntryError.emit({\n\t\t\t\t\tgetRemoteEntry: wrappedGetRemoteEntry,\n\t\t\t\t\torigin,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tremoteEntryExports,\n\t\t\t\t\tglobalLoading: require_global.globalLoading,\n\t\t\t\t\tuniqueKey\n\t\t\t\t});\n\t\t\t\tif (RemoteEntryExports) {\n\t\t\t\t\tawait origin.loaderHook.lifecycle.afterLoadEntry.emit({\n\t\t\t\t\t\torigin,\n\t\t\t\t\t\tremoteInfo,\n\t\t\t\t\t\tremoteEntryExports: RemoteEntryExports,\n\t\t\t\t\t\trecovered: true\n\t\t\t\t\t});\n\t\t\t\t\treturn RemoteEntryExports;\n\t\t\t\t}\n\t\t\t}\n\t\t\tawait origin.loaderHook.lifecycle.afterLoadEntry.emit({\n\t\t\t\torigin,\n\t\t\t\tremoteInfo,\n\t\t\t\terror: err\n\t\t\t});\n\t\t\tthrow err;\n\t\t});\n\t}\n\treturn require_global.globalLoading[uniqueKey];\n}\nfunction getRemoteInfo(remote) {\n\treturn {\n\t\t...remote,\n\t\tentry: \"entry\" in remote ? remote.entry : \"\",\n\t\ttype: remote.type || require_constant.DEFAULT_REMOTE_TYPE,\n\t\tentryGlobalName: remote.entryGlobalName || remote.name,\n\t\tshareScope: remote.shareScope || require_constant.DEFAULT_SCOPE\n\t};\n}\n\n//#endregion\nexports.getRemoteEntry = getRemoteEntry;\nexports.getRemoteEntryUniqueKey = getRemoteEntryUniqueKey;\nexports.getRemoteInfo = getRemoteInfo;\nexports.isEsmRemoteType = isEsmRemoteType;\n//# sourceMappingURL=load.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2xvYWQuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2xvYWQuY2pzPzUzODEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9sb2dnZXIgPSByZXF1aXJlKCcuL2xvZ2dlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfZ2xvYmFsID0gcmVxdWlyZSgnLi4vZ2xvYmFsLmNqcycpO1xuY29uc3QgcmVxdWlyZV9jb25zdGFudCA9IHJlcXVpcmUoJy4uL2NvbnN0YW50LmNqcycpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3Nka1wiKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzXCIpO1xuXG4vLyNyZWdpb24gc3JjL3V0aWxzL2xvYWQudHNcbmNvbnN0IGltcG9ydENhbGxiYWNrID0gXCIudGhlbihjYWxsYmFja3NbMF0pLmNhdGNoKGNhbGxiYWNrc1sxXSlcIjtcbmZ1bmN0aW9uIGlzRXNtUmVtb3RlVHlwZSh0eXBlKSB7XG5cdHJldHVybiB0eXBlID09PSBcImVzbVwiIHx8IHR5cGUgPT09IFwibW9kdWxlXCI7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkRXNtRW50cnkoeyBlbnRyeSwgcmVtb3RlRW50cnlFeHBvcnRzIH0pIHtcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKCFyZW1vdGVFbnRyeUV4cG9ydHMpIGlmICh0eXBlb2YgRkVERVJBVElPTl9BTExPV19ORVdfRlVOQ1RJT04gIT09IFwidW5kZWZpbmVkXCIpIG5ldyBGdW5jdGlvbihcImNhbGxiYWNrc1wiLCBgaW1wb3J0KFwiJHtlbnRyeX1cIikke2ltcG9ydENhbGxiYWNrfWApKFtyZXNvbHZlLCByZWplY3RdKTtcblx0XHRcdGVsc2UgaW1wb3J0KFxuXHRcdFx0XHQvKiB3ZWJwYWNrSWdub3JlOiB0cnVlICovXG5cdFx0XHRcdC8qIEB2aXRlLWlnbm9yZSAqL1xuXHRcdFx0XHRlbnRyeVxuKS50aGVuKHJlc29sdmUpLmNhdGNoKHJlamVjdCk7XG5cdFx0XHRlbHNlIHJlc29sdmUocmVtb3RlRW50cnlFeHBvcnRzKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRyZXF1aXJlX2xvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGxvYWQgRVNNIGVudHJ5IGZyb20gXCIke2VudHJ5fVwiLiAke2UgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKX1gKTtcblx0XHR9XG5cdH0pO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZFN5c3RlbUpzRW50cnkoeyBlbnRyeSwgcmVtb3RlRW50cnlFeHBvcnRzIH0pIHtcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHR0cnkge1xuXHRcdFx0aWYgKCFyZW1vdGVFbnRyeUV4cG9ydHMpIGlmICh0eXBlb2YgX19zeXN0ZW1fY29udGV4dF9fID09PSBcInVuZGVmaW5lZFwiKSBTeXN0ZW0uaW1wb3J0KGVudHJ5KS50aGVuKHJlc29sdmUpLmNhdGNoKHJlamVjdCk7XG5cdFx0XHRlbHNlIG5ldyBGdW5jdGlvbihcImNhbGxiYWNrc1wiLCBgU3lzdGVtLmltcG9ydChcIiR7ZW50cnl9XCIpJHtpbXBvcnRDYWxsYmFja31gKShbcmVzb2x2ZSwgcmVqZWN0XSk7XG5cdFx0XHRlbHNlIHJlc29sdmUocmVtb3RlRW50cnlFeHBvcnRzKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRyZXF1aXJlX2xvZ2dlci5lcnJvcihgRmFpbGVkIHRvIGxvYWQgU3lzdGVtSlMgZW50cnkgZnJvbSBcIiR7ZW50cnl9XCIuICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpfWApO1xuXHRcdH1cblx0fSk7XG59XG5mdW5jdGlvbiBoYW5kbGVSZW1vdGVFbnRyeUxvYWRlZChuYW1lLCBnbG9iYWxOYW1lLCBlbnRyeSkge1xuXHRjb25zdCB7IHJlbW90ZUVudHJ5S2V5LCBlbnRyeUV4cG9ydHMgfSA9IHJlcXVpcmVfZ2xvYmFsLmdldFJlbW90ZUVudHJ5RXhwb3J0cyhuYW1lLCBnbG9iYWxOYW1lKTtcblx0aWYgKCFlbnRyeUV4cG9ydHMpIHJlcXVpcmVfbG9nZ2VyLmVycm9yKF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwMSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwLCB7XG5cdFx0cmVtb3RlTmFtZTogbmFtZSxcblx0XHRyZW1vdGVFbnRyeVVybDogZW50cnksXG5cdFx0cmVtb3RlRW50cnlLZXlcblx0fSk7XG5cdHJldHVybiBlbnRyeUV4cG9ydHM7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkRW50cnlTY3JpcHQoeyBuYW1lLCBnbG9iYWxOYW1lLCBlbnRyeSwgcmVtb3RlSW5mbywgbG9hZGVySG9vaywgZ2V0RW50cnlVcmwsIHJlc291cmNlQ29udGV4dCB9KSB7XG5cdGNvbnN0IHsgZW50cnlFeHBvcnRzOiByZW1vdGVFbnRyeUV4cG9ydHMgfSA9IHJlcXVpcmVfZ2xvYmFsLmdldFJlbW90ZUVudHJ5RXhwb3J0cyhuYW1lLCBnbG9iYWxOYW1lKTtcblx0aWYgKHJlbW90ZUVudHJ5RXhwb3J0cykgcmV0dXJuIHJlbW90ZUVudHJ5RXhwb3J0cztcblx0Y29uc3QgdXJsID0gZ2V0RW50cnlVcmwgPyBnZXRFbnRyeVVybChlbnRyeSkgOiBlbnRyeTtcblx0cmV0dXJuICgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLmxvYWRTY3JpcHQpKHVybCwge1xuXHRcdGF0dHJzOiB7fSxcblx0XHRjcmVhdGVTY3JpcHRIb29rOiAodXJsLCBhdHRycykgPT4ge1xuXHRcdFx0Y29uc3QgcmVzID0gbG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlU2NyaXB0LmVtaXQoe1xuXHRcdFx0XHR1cmwsXG5cdFx0XHRcdGF0dHJzLFxuXHRcdFx0XHRyZW1vdGVJbmZvLFxuXHRcdFx0XHRyZXNvdXJjZUNvbnRleHQ6IHJlc291cmNlQ29udGV4dCA/IHtcblx0XHRcdFx0XHQuLi5yZXNvdXJjZUNvbnRleHQsXG5cdFx0XHRcdFx0dXJsXG5cdFx0XHRcdH0gOiB2b2lkIDBcblx0XHRcdH0pO1xuXHRcdFx0aWYgKCFyZXMpIHJldHVybjtcblx0XHRcdGlmIChyZXMgaW5zdGFuY2VvZiBIVE1MU2NyaXB0RWxlbWVudCkgcmV0dXJuIHJlcztcblx0XHRcdGlmIChcInNjcmlwdFwiIGluIHJlcyB8fCBcInRpbWVvdXRcIiBpbiByZXMpIHJldHVybiByZXM7XG5cdFx0fVxuXHR9KS50aGVuKCgpID0+IHtcblx0XHRyZXR1cm4gaGFuZGxlUmVtb3RlRW50cnlMb2FkZWQobmFtZSwgZ2xvYmFsTmFtZSwgZW50cnkpO1xuXHR9LCAobG9hZEVycm9yKSA9PiB7XG5cdFx0Y29uc3Qgb3JpZ2luYWxNc2cgPSBsb2FkRXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGxvYWRFcnJvci5tZXNzYWdlIDogU3RyaW5nKGxvYWRFcnJvcik7XG5cdFx0cmVxdWlyZV9sb2dnZXIuZXJyb3IoX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA4LCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXAsIHtcblx0XHRcdHJlbW90ZU5hbWU6IG5hbWUsXG5cdFx0XHRyZXNvdXJjZVVybDogdXJsXG5cdFx0fSwgb3JpZ2luYWxNc2cpO1xuXHR9KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeURvbSh7IHJlbW90ZUluZm8sIHJlbW90ZUVudHJ5RXhwb3J0cywgbG9hZGVySG9vaywgZ2V0RW50cnlVcmwsIHJlc291cmNlQ29udGV4dCB9KSB7XG5cdGNvbnN0IHsgZW50cnksIGVudHJ5R2xvYmFsTmFtZTogZ2xvYmFsTmFtZSwgbmFtZSwgdHlwZSB9ID0gcmVtb3RlSW5mbztcblx0aWYgKGlzRXNtUmVtb3RlVHlwZSh0eXBlKSkgcmV0dXJuIGxvYWRFc21FbnRyeSh7XG5cdFx0ZW50cnksXG5cdFx0cmVtb3RlRW50cnlFeHBvcnRzXG5cdH0pO1xuXHRpZiAodHlwZSA9PT0gXCJzeXN0ZW1cIikgcmV0dXJuIGxvYWRTeXN0ZW1Kc0VudHJ5KHtcblx0XHRlbnRyeSxcblx0XHRyZW1vdGVFbnRyeUV4cG9ydHNcblx0fSk7XG5cdHJldHVybiBsb2FkRW50cnlTY3JpcHQoe1xuXHRcdGVudHJ5LFxuXHRcdGdsb2JhbE5hbWUsXG5cdFx0bmFtZSxcblx0XHRyZW1vdGVJbmZvLFxuXHRcdGxvYWRlckhvb2ssXG5cdFx0Z2V0RW50cnlVcmwsXG5cdFx0cmVzb3VyY2VDb250ZXh0XG5cdH0pO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZEVudHJ5Tm9kZSh7IHJlbW90ZUluZm8sIGxvYWRlckhvb2ssIHJlc291cmNlQ29udGV4dCB9KSB7XG5cdGNvbnN0IHsgZW50cnksIGVudHJ5R2xvYmFsTmFtZTogZ2xvYmFsTmFtZSwgbmFtZSwgdHlwZSB9ID0gcmVtb3RlSW5mbztcblx0Y29uc3QgeyBlbnRyeUV4cG9ydHM6IHJlbW90ZUVudHJ5RXhwb3J0cyB9ID0gcmVxdWlyZV9nbG9iYWwuZ2V0UmVtb3RlRW50cnlFeHBvcnRzKG5hbWUsIGdsb2JhbE5hbWUpO1xuXHRpZiAocmVtb3RlRW50cnlFeHBvcnRzKSByZXR1cm4gcmVtb3RlRW50cnlFeHBvcnRzO1xuXHRyZXR1cm4gKDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsubG9hZFNjcmlwdE5vZGUpKGVudHJ5LCB7XG5cdFx0YXR0cnM6IHtcblx0XHRcdG5hbWUsXG5cdFx0XHRnbG9iYWxOYW1lLFxuXHRcdFx0dHlwZVxuXHRcdH0sXG5cdFx0bG9hZGVySG9vazogeyBjcmVhdGVTY3JpcHRIb29rOiAodXJsLCBhdHRycyA9IHt9KSA9PiB7XG5cdFx0XHRjb25zdCByZXMgPSBsb2FkZXJIb29rLmxpZmVjeWNsZS5jcmVhdGVTY3JpcHQuZW1pdCh7XG5cdFx0XHRcdHVybCxcblx0XHRcdFx0YXR0cnMsXG5cdFx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRcdHJlc291cmNlQ29udGV4dDogcmVzb3VyY2VDb250ZXh0ID8ge1xuXHRcdFx0XHRcdC4uLnJlc291cmNlQ29udGV4dCxcblx0XHRcdFx0XHR1cmxcblx0XHRcdFx0fSA6IHZvaWQgMFxuXHRcdFx0fSk7XG5cdFx0XHRpZiAoIXJlcykgcmV0dXJuO1xuXHRcdFx0aWYgKFwidXJsXCIgaW4gcmVzKSByZXR1cm4gcmVzO1xuXHRcdH0gfVxuXHR9KS50aGVuKCgpID0+IHtcblx0XHRyZXR1cm4gaGFuZGxlUmVtb3RlRW50cnlMb2FkZWQobmFtZSwgZ2xvYmFsTmFtZSwgZW50cnkpO1xuXHR9KS5jYXRjaCgoZSkgPT4ge1xuXHRcdHJlcXVpcmVfbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBOb2RlLmpzIGVudHJ5IGZvciByZW1vdGUgXCIke25hbWV9XCIgZnJvbSBcIiR7ZW50cnl9XCIuICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpfWApO1xuXHR9KTtcbn1cbmZ1bmN0aW9uIGdldFJlbW90ZUVudHJ5VW5pcXVlS2V5KHJlbW90ZUluZm8pIHtcblx0Y29uc3QgeyBlbnRyeSwgbmFtZSB9ID0gcmVtb3RlSW5mbztcblx0cmV0dXJuICgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLmNvbXBvc2VLZXlXaXRoU2VwYXJhdG9yKShuYW1lLCBlbnRyeSk7XG59XG5hc3luYyBmdW5jdGlvbiBnZXRSZW1vdGVFbnRyeShwYXJhbXMpIHtcblx0Y29uc3QgeyBvcmlnaW4sIHJlbW90ZUVudHJ5RXhwb3J0cywgcmVtb3RlSW5mbywgZ2V0RW50cnlVcmwsIHJlc291cmNlQ29udGV4dCwgX2luRXJyb3JIYW5kbGluZyA9IGZhbHNlIH0gPSBwYXJhbXM7XG5cdGNvbnN0IHVuaXF1ZUtleSA9IGdldFJlbW90ZUVudHJ5VW5pcXVlS2V5KHJlbW90ZUluZm8pO1xuXHRpZiAocmVtb3RlRW50cnlFeHBvcnRzKSByZXR1cm4gcmVtb3RlRW50cnlFeHBvcnRzO1xuXHRpZiAoIXJlcXVpcmVfZ2xvYmFsLmdsb2JhbExvYWRpbmdbdW5pcXVlS2V5XSkge1xuXHRcdGNvbnN0IGxvYWRFbnRyeUhvb2sgPSBvcmlnaW4ucmVtb3RlSGFuZGxlci5ob29rcy5saWZlY3ljbGUubG9hZEVudHJ5O1xuXHRcdGNvbnN0IGxvYWRlckhvb2sgPSBvcmlnaW4ubG9hZGVySG9vaztcblx0XHRyZXF1aXJlX2dsb2JhbC5nbG9iYWxMb2FkaW5nW3VuaXF1ZUtleV0gPSBsb2FkRW50cnlIb29rLmVtaXQoe1xuXHRcdFx0b3JpZ2luLFxuXHRcdFx0bG9hZGVySG9vayxcblx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHNcblx0XHR9KS50aGVuKChyZXMpID0+IHtcblx0XHRcdGlmIChyZXMpIHJldHVybiByZXM7XG5cdFx0XHRyZXR1cm4gKHR5cGVvZiBFTlZfVEFSR0VUICE9PSBcInVuZGVmaW5lZFwiID8gRU5WX1RBUkdFVCA9PT0gXCJ3ZWJcIiA6IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNCcm93c2VyRW52VmFsdWUpID8gbG9hZEVudHJ5RG9tKHtcblx0XHRcdFx0cmVtb3RlSW5mbyxcblx0XHRcdFx0cmVtb3RlRW50cnlFeHBvcnRzLFxuXHRcdFx0XHRsb2FkZXJIb29rLFxuXHRcdFx0XHRnZXRFbnRyeVVybCxcblx0XHRcdFx0cmVzb3VyY2VDb250ZXh0XG5cdFx0XHR9KSA6IGxvYWRFbnRyeU5vZGUoe1xuXHRcdFx0XHRyZW1vdGVJbmZvLFxuXHRcdFx0XHRsb2FkZXJIb29rLFxuXHRcdFx0XHRyZXNvdXJjZUNvbnRleHRcblx0XHRcdH0pO1xuXHRcdH0pLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xuXHRcdFx0YXdhaXQgb3JpZ2luLmxvYWRlckhvb2subGlmZWN5Y2xlLmFmdGVyTG9hZEVudHJ5LmVtaXQoe1xuXHRcdFx0XHRvcmlnaW4sXG5cdFx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRcdHJlbW90ZUVudHJ5RXhwb3J0czogcmVzXG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiByZXM7XG5cdFx0fSkuY2F0Y2goYXN5bmMgKGVycikgPT4ge1xuXHRcdFx0Y29uc3QgdW5pcXVlS2V5ID0gZ2V0UmVtb3RlRW50cnlVbmlxdWVLZXkocmVtb3RlSW5mbyk7XG5cdFx0XHRjb25zdCBpc1NjcmlwdEV4ZWN1dGlvbkVycm9yID0gZXJyIGluc3RhbmNlb2YgRXJyb3IgJiYgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCJTY3JpcHRFeGVjdXRpb25FcnJvclwiKTtcblx0XHRcdGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvciAmJiBlcnIubWVzc2FnZS5pbmNsdWRlcyhfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMuUlVOVElNRV8wMDgpICYmICFpc1NjcmlwdEV4ZWN1dGlvbkVycm9yICYmICFfaW5FcnJvckhhbmRsaW5nKSB7XG5cdFx0XHRcdGNvbnN0IHdyYXBwZWRHZXRSZW1vdGVFbnRyeSA9IChwYXJhbXMpID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gZ2V0UmVtb3RlRW50cnkoe1xuXHRcdFx0XHRcdFx0Li4ucGFyYW1zLFxuXHRcdFx0XHRcdFx0X2luRXJyb3JIYW5kbGluZzogdHJ1ZVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9O1xuXHRcdFx0XHRjb25zdCBSZW1vdGVFbnRyeUV4cG9ydHMgPSBhd2FpdCBvcmlnaW4ubG9hZGVySG9vay5saWZlY3ljbGUubG9hZEVudHJ5RXJyb3IuZW1pdCh7XG5cdFx0XHRcdFx0Z2V0UmVtb3RlRW50cnk6IHdyYXBwZWRHZXRSZW1vdGVFbnRyeSxcblx0XHRcdFx0XHRvcmlnaW4sXG5cdFx0XHRcdFx0cmVtb3RlSW5mbyxcblx0XHRcdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHMsXG5cdFx0XHRcdFx0Z2xvYmFsTG9hZGluZzogcmVxdWlyZV9nbG9iYWwuZ2xvYmFsTG9hZGluZyxcblx0XHRcdFx0XHR1bmlxdWVLZXlcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChSZW1vdGVFbnRyeUV4cG9ydHMpIHtcblx0XHRcdFx0XHRhd2FpdCBvcmlnaW4ubG9hZGVySG9vay5saWZlY3ljbGUuYWZ0ZXJMb2FkRW50cnkuZW1pdCh7XG5cdFx0XHRcdFx0XHRvcmlnaW4sXG5cdFx0XHRcdFx0XHRyZW1vdGVJbmZvLFxuXHRcdFx0XHRcdFx0cmVtb3RlRW50cnlFeHBvcnRzOiBSZW1vdGVFbnRyeUV4cG9ydHMsXG5cdFx0XHRcdFx0XHRyZWNvdmVyZWQ6IHRydWVcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRyZXR1cm4gUmVtb3RlRW50cnlFeHBvcnRzO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRhd2FpdCBvcmlnaW4ubG9hZGVySG9vay5saWZlY3ljbGUuYWZ0ZXJMb2FkRW50cnkuZW1pdCh7XG5cdFx0XHRcdG9yaWdpbixcblx0XHRcdFx0cmVtb3RlSW5mbyxcblx0XHRcdFx0ZXJyb3I6IGVyclxuXHRcdFx0fSk7XG5cdFx0XHR0aHJvdyBlcnI7XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIHJlcXVpcmVfZ2xvYmFsLmdsb2JhbExvYWRpbmdbdW5pcXVlS2V5XTtcbn1cbmZ1bmN0aW9uIGdldFJlbW90ZUluZm8ocmVtb3RlKSB7XG5cdHJldHVybiB7XG5cdFx0Li4ucmVtb3RlLFxuXHRcdGVudHJ5OiBcImVudHJ5XCIgaW4gcmVtb3RlID8gcmVtb3RlLmVudHJ5IDogXCJcIixcblx0XHR0eXBlOiByZW1vdGUudHlwZSB8fCByZXF1aXJlX2NvbnN0YW50LkRFRkFVTFRfUkVNT1RFX1RZUEUsXG5cdFx0ZW50cnlHbG9iYWxOYW1lOiByZW1vdGUuZW50cnlHbG9iYWxOYW1lIHx8IHJlbW90ZS5uYW1lLFxuXHRcdHNoYXJlU2NvcGU6IHJlbW90ZS5zaGFyZVNjb3BlIHx8IHJlcXVpcmVfY29uc3RhbnQuREVGQVVMVF9TQ09QRVxuXHR9O1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZ2V0UmVtb3RlRW50cnkgPSBnZXRSZW1vdGVFbnRyeTtcbmV4cG9ydHMuZ2V0UmVtb3RlRW50cnlVbmlxdWVLZXkgPSBnZXRSZW1vdGVFbnRyeVVuaXF1ZUtleTtcbmV4cG9ydHMuZ2V0UmVtb3RlSW5mbyA9IGdldFJlbW90ZUluZm87XG5leHBvcnRzLmlzRXNtUmVtb3RlVHlwZSA9IGlzRXNtUmVtb3RlVHlwZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvYWQuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUIsbUJBQU8sQ0FBQyw2RUFBYztBQUM3Qyx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBZTtBQUM5Qyx5QkFBeUIsbUJBQU8sQ0FBQyx5RUFBaUI7QUFDbEQsNkJBQTZCLG1CQUFPLENBQUMsNkRBQXdCO0FBQzdELHFDQUFxQyxtQkFBTyxDQUFDLHFFQUFnQzs7QUFFN0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhCQUE4QiwyQkFBMkI7QUFDekQ7QUFDQTtBQUNBLDJIQUEySCxNQUFNLElBQUksZUFBZTtBQUNwSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0osMERBQTBELE1BQU0sS0FBSywyQ0FBMkM7QUFDaEg7QUFDQSxFQUFFO0FBQ0Y7QUFDQSxtQ0FBbUMsMkJBQTJCO0FBQzlEO0FBQ0E7QUFDQSxnQ0FBZ0MsS0FBeUMsRUFBRSxFQUFpRDtBQUM1SCxvREFBb0QsTUFBTSxJQUFJLGVBQWU7QUFDN0U7QUFDQSxJQUFJO0FBQ0osK0RBQStELE1BQU0sS0FBSywyQ0FBMkM7QUFDckg7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLFNBQVMsK0JBQStCO0FBQ3hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQSxpQ0FBaUMsK0VBQStFO0FBQ2hILFNBQVMsbUNBQW1DO0FBQzVDO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSCxFQUFFO0FBQ0Y7QUFDQSw4QkFBOEIsMEVBQTBFO0FBQ3hHLFNBQVMsaURBQWlEO0FBQzFEO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLCtCQUErQix5Q0FBeUM7QUFDeEUsU0FBUyxpREFBaUQ7QUFDMUQsU0FBUyxtQ0FBbUM7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILGdCQUFnQixrQ0FBa0M7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ04sSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBLEVBQUU7QUFDRixtRUFBbUUsS0FBSyxVQUFVLE1BQU0sS0FBSywyQ0FBMkM7QUFDeEksRUFBRTtBQUNGO0FBQ0E7QUFDQSxTQUFTLGNBQWM7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsU0FBUyxpR0FBaUc7QUFDMUc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxXQUFXLEtBQW1HO0FBQzlHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLElBQUksQ0FJSDtBQUNMLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0I7QUFDdEIsK0JBQStCO0FBQy9CLHFCQUFxQjtBQUNyQix1QkFBdUI7QUFDdkIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\n\n}");
|
|
148
|
+
|
|
149
|
+
},
|
|
150
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
151
|
+
eval("{let _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\nlet _module_federation_error_codes_browser = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/browser.cjs\");\n\n//#region src/utils/logger.ts\nconst LOG_CATEGORY = \"[ Federation Runtime ]\";\nconst logger = (0, _module_federation_sdk.createLogger)(LOG_CATEGORY);\nfunction assert(condition, msgOrCode, descMap, args, context) {\n\tif (!condition) if (descMap !== void 0) error(msgOrCode, descMap, args, void 0, context);\n\telse error(msgOrCode);\n}\nfunction error(msgOrCode, descMap, args, originalErrorMsg, context) {\n\tif (descMap !== void 0) return (0, _module_federation_error_codes_browser.logAndReport)(msgOrCode, descMap, args ?? {}, (msg) => {\n\t\tthrow new Error(`${LOG_CATEGORY}: ${msg}`);\n\t}, originalErrorMsg, context);\n\tconst msg = msgOrCode;\n\tif (msg instanceof Error) {\n\t\tif (!msg.message.startsWith(LOG_CATEGORY)) msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n\t\tthrow msg;\n\t}\n\tthrow new Error(`${LOG_CATEGORY}: ${msg}`);\n}\nfunction warn(msg) {\n\tif (msg instanceof Error) {\n\t\tif (!msg.message.startsWith(LOG_CATEGORY)) msg.message = `${LOG_CATEGORY}: ${msg.message}`;\n\t\tlogger.warn(msg);\n\t} else logger.warn(msg);\n}\n\n//#endregion\nexports.assert = assert;\nexports.error = error;\nexports.logger = logger;\nexports.warn = warn;\n//# sourceMappingURL=logger.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL2xvZ2dlci5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvbG9nZ2VyLmNqcz8zYmRmIl0sInNvdXJjZXNDb250ZW50IjpbImxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzX2Jyb3dzZXIgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL2Vycm9yLWNvZGVzL2Jyb3dzZXJcIik7XG5cbi8vI3JlZ2lvbiBzcmMvdXRpbHMvbG9nZ2VyLnRzXG5jb25zdCBMT0dfQ0FURUdPUlkgPSBcIlsgRmVkZXJhdGlvbiBSdW50aW1lIF1cIjtcbmNvbnN0IGxvZ2dlciA9ICgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLmNyZWF0ZUxvZ2dlcikoTE9HX0NBVEVHT1JZKTtcbmZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24sIG1zZ09yQ29kZSwgZGVzY01hcCwgYXJncywgY29udGV4dCkge1xuXHRpZiAoIWNvbmRpdGlvbikgaWYgKGRlc2NNYXAgIT09IHZvaWQgMCkgZXJyb3IobXNnT3JDb2RlLCBkZXNjTWFwLCBhcmdzLCB2b2lkIDAsIGNvbnRleHQpO1xuXHRlbHNlIGVycm9yKG1zZ09yQ29kZSk7XG59XG5mdW5jdGlvbiBlcnJvcihtc2dPckNvZGUsIGRlc2NNYXAsIGFyZ3MsIG9yaWdpbmFsRXJyb3JNc2csIGNvbnRleHQpIHtcblx0aWYgKGRlc2NNYXAgIT09IHZvaWQgMCkgcmV0dXJuICgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXNfYnJvd3Nlci5sb2dBbmRSZXBvcnQpKG1zZ09yQ29kZSwgZGVzY01hcCwgYXJncyA/PyB7fSwgKG1zZykgPT4ge1xuXHRcdHRocm93IG5ldyBFcnJvcihgJHtMT0dfQ0FURUdPUll9OiAke21zZ31gKTtcblx0fSwgb3JpZ2luYWxFcnJvck1zZywgY29udGV4dCk7XG5cdGNvbnN0IG1zZyA9IG1zZ09yQ29kZTtcblx0aWYgKG1zZyBpbnN0YW5jZW9mIEVycm9yKSB7XG5cdFx0aWYgKCFtc2cubWVzc2FnZS5zdGFydHNXaXRoKExPR19DQVRFR09SWSkpIG1zZy5tZXNzYWdlID0gYCR7TE9HX0NBVEVHT1JZfTogJHttc2cubWVzc2FnZX1gO1xuXHRcdHRocm93IG1zZztcblx0fVxuXHR0aHJvdyBuZXcgRXJyb3IoYCR7TE9HX0NBVEVHT1JZfTogJHttc2d9YCk7XG59XG5mdW5jdGlvbiB3YXJuKG1zZykge1xuXHRpZiAobXNnIGluc3RhbmNlb2YgRXJyb3IpIHtcblx0XHRpZiAoIW1zZy5tZXNzYWdlLnN0YXJ0c1dpdGgoTE9HX0NBVEVHT1JZKSkgbXNnLm1lc3NhZ2UgPSBgJHtMT0dfQ0FURUdPUll9OiAke21zZy5tZXNzYWdlfWA7XG5cdFx0bG9nZ2VyLndhcm4obXNnKTtcblx0fSBlbHNlIGxvZ2dlci53YXJuKG1zZyk7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5hc3NlcnQgPSBhc3NlcnQ7XG5leHBvcnRzLmVycm9yID0gZXJyb3I7XG5leHBvcnRzLmxvZ2dlciA9IGxvZ2dlcjtcbmV4cG9ydHMud2FybiA9IHdhcm47XG4vLyMgc291cmNlTWFwcGluZ1VSTD1sb2dnZXIuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw2QkFBNkIsbUJBQU8sQ0FBQyw2REFBd0I7QUFDN0QsNkNBQTZDLG1CQUFPLENBQUMsdUVBQXdDOztBQUU3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUhBQXVIO0FBQ3ZILHFCQUFxQixhQUFhLElBQUksSUFBSTtBQUMxQyxFQUFFO0FBQ0Y7QUFDQTtBQUNBLDhEQUE4RCxhQUFhLElBQUksWUFBWTtBQUMzRjtBQUNBO0FBQ0Esb0JBQW9CLGFBQWEsSUFBSSxJQUFJO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RCxhQUFhLElBQUksWUFBWTtBQUMzRjtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLGNBQWM7QUFDZCxhQUFhO0FBQ2IsY0FBYztBQUNkLFlBQVk7QUFDWiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\n\n}");
|
|
152
|
+
|
|
153
|
+
},
|
|
154
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs"(__unused_rspack_module, exports) {
|
|
155
|
+
eval("{\n//#region src/utils/manifest.ts\nfunction composeRemoteRequestId(remoteName, expose) {\n\tif (!expose || expose === \".\") return remoteName;\n\treturn `${remoteName}/${expose.replace(/^\\.\\//, \"\")}`;\n}\nfunction matchRemoteWithNameAndExpose(remotes, id) {\n\tfor (const remote of remotes) {\n\t\tconst isNameMatched = id.startsWith(remote.name);\n\t\tlet expose = id.replace(remote.name, \"\");\n\t\tif (isNameMatched) {\n\t\t\tif (expose.startsWith(\"/\")) {\n\t\t\t\tconst pkgNameOrAlias = remote.name;\n\t\t\t\texpose = `.${expose}`;\n\t\t\t\treturn {\n\t\t\t\t\tpkgNameOrAlias,\n\t\t\t\t\texpose,\n\t\t\t\t\tremote\n\t\t\t\t};\n\t\t\t} else if (expose === \"\") return {\n\t\t\t\tpkgNameOrAlias: remote.name,\n\t\t\t\texpose: \".\",\n\t\t\t\tremote\n\t\t\t};\n\t\t}\n\t\tconst isAliasMatched = remote.alias && id.startsWith(remote.alias);\n\t\tlet exposeWithAlias = remote.alias && id.replace(remote.alias, \"\");\n\t\tif (remote.alias && isAliasMatched) {\n\t\t\tif (exposeWithAlias && exposeWithAlias.startsWith(\"/\")) {\n\t\t\t\tconst pkgNameOrAlias = remote.alias;\n\t\t\t\texposeWithAlias = `.${exposeWithAlias}`;\n\t\t\t\treturn {\n\t\t\t\t\tpkgNameOrAlias,\n\t\t\t\t\texpose: exposeWithAlias,\n\t\t\t\t\tremote\n\t\t\t\t};\n\t\t\t} else if (exposeWithAlias === \"\") return {\n\t\t\t\tpkgNameOrAlias: remote.alias,\n\t\t\t\texpose: \".\",\n\t\t\t\tremote\n\t\t\t};\n\t\t}\n\t}\n}\nfunction matchRemote(remotes, nameOrAlias) {\n\tfor (const remote of remotes) {\n\t\tif (nameOrAlias === remote.name) return remote;\n\t\tif (remote.alias && nameOrAlias === remote.alias) return remote;\n\t}\n}\n\n//#endregion\nexports.composeRemoteRequestId = composeRemoteRequestId;\nexports.matchRemote = matchRemote;\nexports.matchRemoteWithNameAndExpose = matchRemoteWithNameAndExpose;\n//# sourceMappingURL=manifest.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL21hbmlmZXN0LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9tYW5pZmVzdC5janM/YWE2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiBzcmMvdXRpbHMvbWFuaWZlc3QudHNcbmZ1bmN0aW9uIGNvbXBvc2VSZW1vdGVSZXF1ZXN0SWQocmVtb3RlTmFtZSwgZXhwb3NlKSB7XG5cdGlmICghZXhwb3NlIHx8IGV4cG9zZSA9PT0gXCIuXCIpIHJldHVybiByZW1vdGVOYW1lO1xuXHRyZXR1cm4gYCR7cmVtb3RlTmFtZX0vJHtleHBvc2UucmVwbGFjZSgvXlxcLlxcLy8sIFwiXCIpfWA7XG59XG5mdW5jdGlvbiBtYXRjaFJlbW90ZVdpdGhOYW1lQW5kRXhwb3NlKHJlbW90ZXMsIGlkKSB7XG5cdGZvciAoY29uc3QgcmVtb3RlIG9mIHJlbW90ZXMpIHtcblx0XHRjb25zdCBpc05hbWVNYXRjaGVkID0gaWQuc3RhcnRzV2l0aChyZW1vdGUubmFtZSk7XG5cdFx0bGV0IGV4cG9zZSA9IGlkLnJlcGxhY2UocmVtb3RlLm5hbWUsIFwiXCIpO1xuXHRcdGlmIChpc05hbWVNYXRjaGVkKSB7XG5cdFx0XHRpZiAoZXhwb3NlLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRcdGNvbnN0IHBrZ05hbWVPckFsaWFzID0gcmVtb3RlLm5hbWU7XG5cdFx0XHRcdGV4cG9zZSA9IGAuJHtleHBvc2V9YDtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRwa2dOYW1lT3JBbGlhcyxcblx0XHRcdFx0XHRleHBvc2UsXG5cdFx0XHRcdFx0cmVtb3RlXG5cdFx0XHRcdH07XG5cdFx0XHR9IGVsc2UgaWYgKGV4cG9zZSA9PT0gXCJcIikgcmV0dXJuIHtcblx0XHRcdFx0cGtnTmFtZU9yQWxpYXM6IHJlbW90ZS5uYW1lLFxuXHRcdFx0XHRleHBvc2U6IFwiLlwiLFxuXHRcdFx0XHRyZW1vdGVcblx0XHRcdH07XG5cdFx0fVxuXHRcdGNvbnN0IGlzQWxpYXNNYXRjaGVkID0gcmVtb3RlLmFsaWFzICYmIGlkLnN0YXJ0c1dpdGgocmVtb3RlLmFsaWFzKTtcblx0XHRsZXQgZXhwb3NlV2l0aEFsaWFzID0gcmVtb3RlLmFsaWFzICYmIGlkLnJlcGxhY2UocmVtb3RlLmFsaWFzLCBcIlwiKTtcblx0XHRpZiAocmVtb3RlLmFsaWFzICYmIGlzQWxpYXNNYXRjaGVkKSB7XG5cdFx0XHRpZiAoZXhwb3NlV2l0aEFsaWFzICYmIGV4cG9zZVdpdGhBbGlhcy5zdGFydHNXaXRoKFwiL1wiKSkge1xuXHRcdFx0XHRjb25zdCBwa2dOYW1lT3JBbGlhcyA9IHJlbW90ZS5hbGlhcztcblx0XHRcdFx0ZXhwb3NlV2l0aEFsaWFzID0gYC4ke2V4cG9zZVdpdGhBbGlhc31gO1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdHBrZ05hbWVPckFsaWFzLFxuXHRcdFx0XHRcdGV4cG9zZTogZXhwb3NlV2l0aEFsaWFzLFxuXHRcdFx0XHRcdHJlbW90ZVxuXHRcdFx0XHR9O1xuXHRcdFx0fSBlbHNlIGlmIChleHBvc2VXaXRoQWxpYXMgPT09IFwiXCIpIHJldHVybiB7XG5cdFx0XHRcdHBrZ05hbWVPckFsaWFzOiByZW1vdGUuYWxpYXMsXG5cdFx0XHRcdGV4cG9zZTogXCIuXCIsXG5cdFx0XHRcdHJlbW90ZVxuXHRcdFx0fTtcblx0XHR9XG5cdH1cbn1cbmZ1bmN0aW9uIG1hdGNoUmVtb3RlKHJlbW90ZXMsIG5hbWVPckFsaWFzKSB7XG5cdGZvciAoY29uc3QgcmVtb3RlIG9mIHJlbW90ZXMpIHtcblx0XHRpZiAobmFtZU9yQWxpYXMgPT09IHJlbW90ZS5uYW1lKSByZXR1cm4gcmVtb3RlO1xuXHRcdGlmIChyZW1vdGUuYWxpYXMgJiYgbmFtZU9yQWxpYXMgPT09IHJlbW90ZS5hbGlhcykgcmV0dXJuIHJlbW90ZTtcblx0fVxufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuY29tcG9zZVJlbW90ZVJlcXVlc3RJZCA9IGNvbXBvc2VSZW1vdGVSZXF1ZXN0SWQ7XG5leHBvcnRzLm1hdGNoUmVtb3RlID0gbWF0Y2hSZW1vdGU7XG5leHBvcnRzLm1hdGNoUmVtb3RlV2l0aE5hbWVBbmRFeHBvc2UgPSBtYXRjaFJlbW90ZVdpdGhOYW1lQW5kRXhwb3NlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bWFuaWZlc3QuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVyxXQUFXLEdBQUcsNEJBQTRCO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsT0FBTztBQUN4QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGdCQUFnQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsOEJBQThCO0FBQzlCLG1CQUFtQjtBQUNuQixvQ0FBb0M7QUFDcEMifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\n\n}");
|
|
156
|
+
|
|
157
|
+
},
|
|
158
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
159
|
+
eval("{const require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\n\n//#region src/utils/plugin.ts\nfunction registerPlugins(plugins, instance) {\n\tconst globalPlugins = require_global.getGlobalHostPlugins();\n\tconst hookInstances = [\n\t\tinstance.hooks,\n\t\tinstance.remoteHandler.hooks,\n\t\tinstance.sharedHandler.hooks,\n\t\tinstance.snapshotHandler.hooks,\n\t\tinstance.loaderHook,\n\t\tinstance.bridgeHook\n\t];\n\tif (globalPlugins.length > 0) globalPlugins.forEach((plugin) => {\n\t\tif (plugins?.find((item) => item.name !== plugin.name)) plugins.push(plugin);\n\t});\n\tif (plugins && plugins.length > 0) plugins.forEach((plugin) => {\n\t\thookInstances.forEach((hookInstance) => {\n\t\t\thookInstance.applyPlugin(plugin, instance);\n\t\t});\n\t});\n\treturn plugins;\n}\n\n//#endregion\nexports.registerPlugins = registerPlugins;\n//# sourceMappingURL=plugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3BsdWdpbi5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvcGx1Z2luLmNqcz9mZTliIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfZ2xvYmFsID0gcmVxdWlyZSgnLi4vZ2xvYmFsLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3V0aWxzL3BsdWdpbi50c1xuZnVuY3Rpb24gcmVnaXN0ZXJQbHVnaW5zKHBsdWdpbnMsIGluc3RhbmNlKSB7XG5cdGNvbnN0IGdsb2JhbFBsdWdpbnMgPSByZXF1aXJlX2dsb2JhbC5nZXRHbG9iYWxIb3N0UGx1Z2lucygpO1xuXHRjb25zdCBob29rSW5zdGFuY2VzID0gW1xuXHRcdGluc3RhbmNlLmhvb2tzLFxuXHRcdGluc3RhbmNlLnJlbW90ZUhhbmRsZXIuaG9va3MsXG5cdFx0aW5zdGFuY2Uuc2hhcmVkSGFuZGxlci5ob29rcyxcblx0XHRpbnN0YW5jZS5zbmFwc2hvdEhhbmRsZXIuaG9va3MsXG5cdFx0aW5zdGFuY2UubG9hZGVySG9vayxcblx0XHRpbnN0YW5jZS5icmlkZ2VIb29rXG5cdF07XG5cdGlmIChnbG9iYWxQbHVnaW5zLmxlbmd0aCA+IDApIGdsb2JhbFBsdWdpbnMuZm9yRWFjaCgocGx1Z2luKSA9PiB7XG5cdFx0aWYgKHBsdWdpbnM/LmZpbmQoKGl0ZW0pID0+IGl0ZW0ubmFtZSAhPT0gcGx1Z2luLm5hbWUpKSBwbHVnaW5zLnB1c2gocGx1Z2luKTtcblx0fSk7XG5cdGlmIChwbHVnaW5zICYmIHBsdWdpbnMubGVuZ3RoID4gMCkgcGx1Z2lucy5mb3JFYWNoKChwbHVnaW4pID0+IHtcblx0XHRob29rSW5zdGFuY2VzLmZvckVhY2goKGhvb2tJbnN0YW5jZSkgPT4ge1xuXHRcdFx0aG9va0luc3RhbmNlLmFwcGx5UGx1Z2luKHBsdWdpbiwgaW5zdGFuY2UpO1xuXHRcdH0pO1xuXHR9KTtcblx0cmV0dXJuIHBsdWdpbnM7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5yZWdpc3RlclBsdWdpbnMgPSByZWdpc3RlclBsdWdpbnM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wbHVnaW4uY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1QkFBdUIsbUJBQU8sQ0FBQyx1RUFBZTs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0EsdUJBQXVCO0FBQ3ZCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/plugin.cjs\n\n}");
|
|
160
|
+
|
|
161
|
+
},
|
|
162
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/preload.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
163
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_manifest = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/manifest.cjs\");\nconst require_load = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/load.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/utils/preload.ts\nfunction defaultPreloadArgs(preloadConfig) {\n\treturn {\n\t\tresourceCategory: \"sync\",\n\t\tshare: true,\n\t\tdepsRemote: true,\n\t\t...preloadConfig\n\t};\n}\nfunction formatPreloadArgs(remotes, preloadArgs) {\n\treturn preloadArgs.map((args) => {\n\t\tconst remoteInfo = require_manifest.matchRemote(remotes, args.nameOrAlias);\n\t\trequire_logger.assert(remoteInfo, `Unable to preload ${args.nameOrAlias} as it is not included in ${!remoteInfo && (0, _module_federation_sdk.safeToString)({\n\t\t\tremoteInfo,\n\t\t\tremotes\n\t\t})}`);\n\t\treturn {\n\t\t\tremote: remoteInfo,\n\t\t\tpreloadConfig: defaultPreloadArgs(args)\n\t\t};\n\t});\n}\nfunction normalizePreloadExposes(exposes) {\n\tif (!exposes) return [];\n\treturn exposes.map((expose) => {\n\t\tif (expose === \".\") return expose;\n\t\tif (expose.startsWith(\"./\")) return expose.replace(\"./\", \"\");\n\t\treturn expose;\n\t});\n}\nfunction isTimeoutError(error) {\n\tif (!(error instanceof Error)) return false;\n\treturn error.message.includes(\"timed out\") || error.name.includes(\"Timeout\");\n}\nfunction createAssetResult(context, url, status, error) {\n\treturn {\n\t\turl,\n\t\tstatus,\n\t\tresourceType: context.resourceType,\n\t\tinitiator: context.initiator,\n\t\tid: context.id,\n\t\terror\n\t};\n}\nasync function waitForRemoteEntryPreload(host, remoteInfo, entryRemoteInfo, context) {\n\tconst cachedRemote = host.moduleCache.get(entryRemoteInfo.name);\n\tconst url = entryRemoteInfo.entry;\n\tif (cachedRemote?.remoteEntryExports) return createAssetResult(context, url, \"cached\");\n\ttry {\n\t\tif (!await require_load.getRemoteEntry({\n\t\t\torigin: host,\n\t\t\tremoteInfo: entryRemoteInfo,\n\t\t\tremoteEntryExports: cachedRemote?.remoteEntryExports,\n\t\t\tresourceContext: {\n\t\t\t\t...context,\n\t\t\t\turl\n\t\t\t}\n\t\t})) throw new Error(`Failed to load remoteEntry \"${url}\".`);\n\t\treturn createAssetResult(context, url, \"success\");\n\t} catch (error) {\n\t\treturn createAssetResult(context, url, isTimeoutError(error) ? \"timeout\" : \"error\", error);\n\t}\n}\nfunction waitForLinkPreload({ host, remoteInfo, url, attrs, context, needDeleteLink }) {\n\treturn new Promise((resolve) => {\n\t\tconst { link, needAttach } = (0, _module_federation_sdk.createLink)({\n\t\t\turl,\n\t\t\tcb: () => {\n\t\t\t\tresolve(createAssetResult(context, url, needAttach ? \"success\" : \"cached\"));\n\t\t\t},\n\t\t\tonErrorCallback: (error) => {\n\t\t\t\tresolve(createAssetResult(context, url, isTimeoutError(error) ? \"timeout\" : \"error\", error));\n\t\t\t},\n\t\t\tattrs,\n\t\t\tcreateLinkHook: (hookUrl, hookAttrs) => {\n\t\t\t\tconst res = host.loaderHook.lifecycle.createLink.emit({\n\t\t\t\t\turl: hookUrl,\n\t\t\t\t\tattrs: hookAttrs,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tresourceContext: {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\turl: hookUrl\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (res instanceof HTMLLinkElement) return res;\n\t\t\t\treturn res;\n\t\t\t},\n\t\t\tneedDeleteLink\n\t\t});\n\t\tneedAttach && document.head.appendChild(link);\n\t});\n}\nfunction waitForScriptPreload({ host, remoteInfo, url, attrs, context }) {\n\treturn new Promise((resolve) => {\n\t\tconst { script, needAttach } = (0, _module_federation_sdk.createScript)({\n\t\t\turl,\n\t\t\tcb: () => {\n\t\t\t\tresolve(createAssetResult(context, url, needAttach ? \"success\" : \"cached\"));\n\t\t\t},\n\t\t\tonErrorCallback: (error) => {\n\t\t\t\tresolve(createAssetResult(context, url, isTimeoutError(error) ? \"timeout\" : \"error\", error));\n\t\t\t},\n\t\t\tattrs,\n\t\t\tcreateScriptHook: (hookUrl, hookAttrs) => {\n\t\t\t\tconst res = host.loaderHook.lifecycle.createScript.emit({\n\t\t\t\t\turl: hookUrl,\n\t\t\t\t\tattrs: hookAttrs,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\tresourceContext: {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\turl: hookUrl\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (res instanceof HTMLScriptElement) return res;\n\t\t\t\treturn res;\n\t\t\t},\n\t\t\tneedDeleteScript: true\n\t\t});\n\t\tneedAttach && document.head.appendChild(script);\n\t});\n}\nfunction createResourceContext(baseContext, resourceType) {\n\treturn {\n\t\t...baseContext,\n\t\tresourceType\n\t};\n}\nfunction preloadAssets(remoteInfo, host, assets, useLinkPreload = true, baseContext = {\n\tinitiator: \"preloadRemote\",\n\tid: remoteInfo.name\n}) {\n\tconst { cssAssets, jsAssetsWithoutEntry, entryAssets } = assets;\n\tconst results = [];\n\tif (host.options.inBrowser) {\n\t\tentryAssets.forEach((asset) => {\n\t\t\tconst { moduleInfo: entryRemoteInfo } = asset;\n\t\t\tresults.push(waitForRemoteEntryPreload(host, remoteInfo, entryRemoteInfo, createResourceContext(baseContext, \"remoteEntry\")));\n\t\t});\n\t\tif (useLinkPreload) {\n\t\t\tconst defaultAttrs = {\n\t\t\t\trel: \"preload\",\n\t\t\t\tas: \"style\"\n\t\t\t};\n\t\t\tcssAssets.forEach((cssUrl) => {\n\t\t\t\tresults.push(waitForLinkPreload({\n\t\t\t\t\thost,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\turl: cssUrl,\n\t\t\t\t\tattrs: defaultAttrs,\n\t\t\t\t\tcontext: createResourceContext(baseContext, \"css\")\n\t\t\t\t}));\n\t\t\t});\n\t\t} else {\n\t\t\tconst defaultAttrs = {\n\t\t\t\trel: \"stylesheet\",\n\t\t\t\ttype: \"text/css\"\n\t\t\t};\n\t\t\tcssAssets.forEach((cssUrl) => {\n\t\t\t\tresults.push(waitForLinkPreload({\n\t\t\t\t\thost,\n\t\t\t\t\tremoteInfo,\n\t\t\t\t\turl: cssUrl,\n\t\t\t\t\tattrs: defaultAttrs,\n\t\t\t\t\tneedDeleteLink: false,\n\t\t\t\t\tcontext: createResourceContext(baseContext, \"css\")\n\t\t\t\t}));\n\t\t\t});\n\t\t}\n\t\tlet preloadJsAsset = waitForScriptPreload;\n\t\tlet defaultAttrs = {\n\t\t\tfetchpriority: \"high\",\n\t\t\ttype: \"text/javascript\"\n\t\t};\n\t\tif (useLinkPreload) {\n\t\t\tpreloadJsAsset = waitForLinkPreload;\n\t\t\tdefaultAttrs = {\n\t\t\t\trel: \"preload\",\n\t\t\t\tas: \"script\"\n\t\t\t};\n\t\t} else if (require_load.isEsmRemoteType(remoteInfo.type)) {\n\t\t\tpreloadJsAsset = waitForLinkPreload;\n\t\t\tdefaultAttrs = {\n\t\t\t\trel: \"modulepreload\",\n\t\t\t\tfetchpriority: \"high\"\n\t\t\t};\n\t\t}\n\t\tjsAssetsWithoutEntry.forEach((jsUrl) => {\n\t\t\tresults.push(preloadJsAsset({\n\t\t\t\thost,\n\t\t\t\tremoteInfo,\n\t\t\t\turl: jsUrl,\n\t\t\t\tattrs: defaultAttrs,\n\t\t\t\tcontext: createResourceContext(baseContext, \"js\")\n\t\t\t}));\n\t\t});\n\t}\n\treturn Promise.all(results);\n}\n\n//#endregion\nexports.defaultPreloadArgs = defaultPreloadArgs;\nexports.formatPreloadArgs = formatPreloadArgs;\nexports.normalizePreloadExposes = normalizePreloadExposes;\nexports.preloadAssets = preloadAssets;\n//# sourceMappingURL=preload.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3ByZWxvYWQuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3ByZWxvYWQuY2pzPzJkNGIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9sb2dnZXIgPSByZXF1aXJlKCcuL2xvZ2dlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfbWFuaWZlc3QgPSByZXF1aXJlKCcuL21hbmlmZXN0LmNqcycpO1xuY29uc3QgcmVxdWlyZV9sb2FkID0gcmVxdWlyZSgnLi9sb2FkLmNqcycpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3Nka1wiKTtcblxuLy8jcmVnaW9uIHNyYy91dGlscy9wcmVsb2FkLnRzXG5mdW5jdGlvbiBkZWZhdWx0UHJlbG9hZEFyZ3MocHJlbG9hZENvbmZpZykge1xuXHRyZXR1cm4ge1xuXHRcdHJlc291cmNlQ2F0ZWdvcnk6IFwic3luY1wiLFxuXHRcdHNoYXJlOiB0cnVlLFxuXHRcdGRlcHNSZW1vdGU6IHRydWUsXG5cdFx0Li4ucHJlbG9hZENvbmZpZ1xuXHR9O1xufVxuZnVuY3Rpb24gZm9ybWF0UHJlbG9hZEFyZ3MocmVtb3RlcywgcHJlbG9hZEFyZ3MpIHtcblx0cmV0dXJuIHByZWxvYWRBcmdzLm1hcCgoYXJncykgPT4ge1xuXHRcdGNvbnN0IHJlbW90ZUluZm8gPSByZXF1aXJlX21hbmlmZXN0Lm1hdGNoUmVtb3RlKHJlbW90ZXMsIGFyZ3MubmFtZU9yQWxpYXMpO1xuXHRcdHJlcXVpcmVfbG9nZ2VyLmFzc2VydChyZW1vdGVJbmZvLCBgVW5hYmxlIHRvIHByZWxvYWQgJHthcmdzLm5hbWVPckFsaWFzfSBhcyBpdCBpcyBub3QgaW5jbHVkZWQgaW4gJHshcmVtb3RlSW5mbyAmJiAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5zYWZlVG9TdHJpbmcpKHtcblx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRyZW1vdGVzXG5cdFx0fSl9YCk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHJlbW90ZTogcmVtb3RlSW5mbyxcblx0XHRcdHByZWxvYWRDb25maWc6IGRlZmF1bHRQcmVsb2FkQXJncyhhcmdzKVxuXHRcdH07XG5cdH0pO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplUHJlbG9hZEV4cG9zZXMoZXhwb3Nlcykge1xuXHRpZiAoIWV4cG9zZXMpIHJldHVybiBbXTtcblx0cmV0dXJuIGV4cG9zZXMubWFwKChleHBvc2UpID0+IHtcblx0XHRpZiAoZXhwb3NlID09PSBcIi5cIikgcmV0dXJuIGV4cG9zZTtcblx0XHRpZiAoZXhwb3NlLnN0YXJ0c1dpdGgoXCIuL1wiKSkgcmV0dXJuIGV4cG9zZS5yZXBsYWNlKFwiLi9cIiwgXCJcIik7XG5cdFx0cmV0dXJuIGV4cG9zZTtcblx0fSk7XG59XG5mdW5jdGlvbiBpc1RpbWVvdXRFcnJvcihlcnJvcikge1xuXHRpZiAoIShlcnJvciBpbnN0YW5jZW9mIEVycm9yKSkgcmV0dXJuIGZhbHNlO1xuXHRyZXR1cm4gZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhcInRpbWVkIG91dFwiKSB8fCBlcnJvci5uYW1lLmluY2x1ZGVzKFwiVGltZW91dFwiKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUFzc2V0UmVzdWx0KGNvbnRleHQsIHVybCwgc3RhdHVzLCBlcnJvcikge1xuXHRyZXR1cm4ge1xuXHRcdHVybCxcblx0XHRzdGF0dXMsXG5cdFx0cmVzb3VyY2VUeXBlOiBjb250ZXh0LnJlc291cmNlVHlwZSxcblx0XHRpbml0aWF0b3I6IGNvbnRleHQuaW5pdGlhdG9yLFxuXHRcdGlkOiBjb250ZXh0LmlkLFxuXHRcdGVycm9yXG5cdH07XG59XG5hc3luYyBmdW5jdGlvbiB3YWl0Rm9yUmVtb3RlRW50cnlQcmVsb2FkKGhvc3QsIHJlbW90ZUluZm8sIGVudHJ5UmVtb3RlSW5mbywgY29udGV4dCkge1xuXHRjb25zdCBjYWNoZWRSZW1vdGUgPSBob3N0Lm1vZHVsZUNhY2hlLmdldChlbnRyeVJlbW90ZUluZm8ubmFtZSk7XG5cdGNvbnN0IHVybCA9IGVudHJ5UmVtb3RlSW5mby5lbnRyeTtcblx0aWYgKGNhY2hlZFJlbW90ZT8ucmVtb3RlRW50cnlFeHBvcnRzKSByZXR1cm4gY3JlYXRlQXNzZXRSZXN1bHQoY29udGV4dCwgdXJsLCBcImNhY2hlZFwiKTtcblx0dHJ5IHtcblx0XHRpZiAoIWF3YWl0IHJlcXVpcmVfbG9hZC5nZXRSZW1vdGVFbnRyeSh7XG5cdFx0XHRvcmlnaW46IGhvc3QsXG5cdFx0XHRyZW1vdGVJbmZvOiBlbnRyeVJlbW90ZUluZm8sXG5cdFx0XHRyZW1vdGVFbnRyeUV4cG9ydHM6IGNhY2hlZFJlbW90ZT8ucmVtb3RlRW50cnlFeHBvcnRzLFxuXHRcdFx0cmVzb3VyY2VDb250ZXh0OiB7XG5cdFx0XHRcdC4uLmNvbnRleHQsXG5cdFx0XHRcdHVybFxuXHRcdFx0fVxuXHRcdH0pKSB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIHJlbW90ZUVudHJ5IFwiJHt1cmx9XCIuYCk7XG5cdFx0cmV0dXJuIGNyZWF0ZUFzc2V0UmVzdWx0KGNvbnRleHQsIHVybCwgXCJzdWNjZXNzXCIpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdHJldHVybiBjcmVhdGVBc3NldFJlc3VsdChjb250ZXh0LCB1cmwsIGlzVGltZW91dEVycm9yKGVycm9yKSA/IFwidGltZW91dFwiIDogXCJlcnJvclwiLCBlcnJvcik7XG5cdH1cbn1cbmZ1bmN0aW9uIHdhaXRGb3JMaW5rUHJlbG9hZCh7IGhvc3QsIHJlbW90ZUluZm8sIHVybCwgYXR0cnMsIGNvbnRleHQsIG5lZWREZWxldGVMaW5rIH0pIHtcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0Y29uc3QgeyBsaW5rLCBuZWVkQXR0YWNoIH0gPSAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5jcmVhdGVMaW5rKSh7XG5cdFx0XHR1cmwsXG5cdFx0XHRjYjogKCkgPT4ge1xuXHRcdFx0XHRyZXNvbHZlKGNyZWF0ZUFzc2V0UmVzdWx0KGNvbnRleHQsIHVybCwgbmVlZEF0dGFjaCA/IFwic3VjY2Vzc1wiIDogXCJjYWNoZWRcIikpO1xuXHRcdFx0fSxcblx0XHRcdG9uRXJyb3JDYWxsYmFjazogKGVycm9yKSA9PiB7XG5cdFx0XHRcdHJlc29sdmUoY3JlYXRlQXNzZXRSZXN1bHQoY29udGV4dCwgdXJsLCBpc1RpbWVvdXRFcnJvcihlcnJvcikgPyBcInRpbWVvdXRcIiA6IFwiZXJyb3JcIiwgZXJyb3IpKTtcblx0XHRcdH0sXG5cdFx0XHRhdHRycyxcblx0XHRcdGNyZWF0ZUxpbmtIb29rOiAoaG9va1VybCwgaG9va0F0dHJzKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHJlcyA9IGhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlTGluay5lbWl0KHtcblx0XHRcdFx0XHR1cmw6IGhvb2tVcmwsXG5cdFx0XHRcdFx0YXR0cnM6IGhvb2tBdHRycyxcblx0XHRcdFx0XHRyZW1vdGVJbmZvLFxuXHRcdFx0XHRcdHJlc291cmNlQ29udGV4dDoge1xuXHRcdFx0XHRcdFx0Li4uY29udGV4dCxcblx0XHRcdFx0XHRcdHVybDogaG9va1VybFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChyZXMgaW5zdGFuY2VvZiBIVE1MTGlua0VsZW1lbnQpIHJldHVybiByZXM7XG5cdFx0XHRcdHJldHVybiByZXM7XG5cdFx0XHR9LFxuXHRcdFx0bmVlZERlbGV0ZUxpbmtcblx0XHR9KTtcblx0XHRuZWVkQXR0YWNoICYmIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobGluayk7XG5cdH0pO1xufVxuZnVuY3Rpb24gd2FpdEZvclNjcmlwdFByZWxvYWQoeyBob3N0LCByZW1vdGVJbmZvLCB1cmwsIGF0dHJzLCBjb250ZXh0IH0pIHtcblx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0Y29uc3QgeyBzY3JpcHQsIG5lZWRBdHRhY2ggfSA9ICgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLmNyZWF0ZVNjcmlwdCkoe1xuXHRcdFx0dXJsLFxuXHRcdFx0Y2I6ICgpID0+IHtcblx0XHRcdFx0cmVzb2x2ZShjcmVhdGVBc3NldFJlc3VsdChjb250ZXh0LCB1cmwsIG5lZWRBdHRhY2ggPyBcInN1Y2Nlc3NcIiA6IFwiY2FjaGVkXCIpKTtcblx0XHRcdH0sXG5cdFx0XHRvbkVycm9yQ2FsbGJhY2s6IChlcnJvcikgPT4ge1xuXHRcdFx0XHRyZXNvbHZlKGNyZWF0ZUFzc2V0UmVzdWx0KGNvbnRleHQsIHVybCwgaXNUaW1lb3V0RXJyb3IoZXJyb3IpID8gXCJ0aW1lb3V0XCIgOiBcImVycm9yXCIsIGVycm9yKSk7XG5cdFx0XHR9LFxuXHRcdFx0YXR0cnMsXG5cdFx0XHRjcmVhdGVTY3JpcHRIb29rOiAoaG9va1VybCwgaG9va0F0dHJzKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHJlcyA9IGhvc3QubG9hZGVySG9vay5saWZlY3ljbGUuY3JlYXRlU2NyaXB0LmVtaXQoe1xuXHRcdFx0XHRcdHVybDogaG9va1VybCxcblx0XHRcdFx0XHRhdHRyczogaG9va0F0dHJzLFxuXHRcdFx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRcdFx0cmVzb3VyY2VDb250ZXh0OiB7XG5cdFx0XHRcdFx0XHQuLi5jb250ZXh0LFxuXHRcdFx0XHRcdFx0dXJsOiBob29rVXJsXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYgKHJlcyBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSByZXR1cm4gcmVzO1xuXHRcdFx0XHRyZXR1cm4gcmVzO1xuXHRcdFx0fSxcblx0XHRcdG5lZWREZWxldGVTY3JpcHQ6IHRydWVcblx0XHR9KTtcblx0XHRuZWVkQXR0YWNoICYmIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcblx0fSk7XG59XG5mdW5jdGlvbiBjcmVhdGVSZXNvdXJjZUNvbnRleHQoYmFzZUNvbnRleHQsIHJlc291cmNlVHlwZSkge1xuXHRyZXR1cm4ge1xuXHRcdC4uLmJhc2VDb250ZXh0LFxuXHRcdHJlc291cmNlVHlwZVxuXHR9O1xufVxuZnVuY3Rpb24gcHJlbG9hZEFzc2V0cyhyZW1vdGVJbmZvLCBob3N0LCBhc3NldHMsIHVzZUxpbmtQcmVsb2FkID0gdHJ1ZSwgYmFzZUNvbnRleHQgPSB7XG5cdGluaXRpYXRvcjogXCJwcmVsb2FkUmVtb3RlXCIsXG5cdGlkOiByZW1vdGVJbmZvLm5hbWVcbn0pIHtcblx0Y29uc3QgeyBjc3NBc3NldHMsIGpzQXNzZXRzV2l0aG91dEVudHJ5LCBlbnRyeUFzc2V0cyB9ID0gYXNzZXRzO1xuXHRjb25zdCByZXN1bHRzID0gW107XG5cdGlmIChob3N0Lm9wdGlvbnMuaW5Ccm93c2VyKSB7XG5cdFx0ZW50cnlBc3NldHMuZm9yRWFjaCgoYXNzZXQpID0+IHtcblx0XHRcdGNvbnN0IHsgbW9kdWxlSW5mbzogZW50cnlSZW1vdGVJbmZvIH0gPSBhc3NldDtcblx0XHRcdHJlc3VsdHMucHVzaCh3YWl0Rm9yUmVtb3RlRW50cnlQcmVsb2FkKGhvc3QsIHJlbW90ZUluZm8sIGVudHJ5UmVtb3RlSW5mbywgY3JlYXRlUmVzb3VyY2VDb250ZXh0KGJhc2VDb250ZXh0LCBcInJlbW90ZUVudHJ5XCIpKSk7XG5cdFx0fSk7XG5cdFx0aWYgKHVzZUxpbmtQcmVsb2FkKSB7XG5cdFx0XHRjb25zdCBkZWZhdWx0QXR0cnMgPSB7XG5cdFx0XHRcdHJlbDogXCJwcmVsb2FkXCIsXG5cdFx0XHRcdGFzOiBcInN0eWxlXCJcblx0XHRcdH07XG5cdFx0XHRjc3NBc3NldHMuZm9yRWFjaCgoY3NzVXJsKSA9PiB7XG5cdFx0XHRcdHJlc3VsdHMucHVzaCh3YWl0Rm9yTGlua1ByZWxvYWQoe1xuXHRcdFx0XHRcdGhvc3QsXG5cdFx0XHRcdFx0cmVtb3RlSW5mbyxcblx0XHRcdFx0XHR1cmw6IGNzc1VybCxcblx0XHRcdFx0XHRhdHRyczogZGVmYXVsdEF0dHJzLFxuXHRcdFx0XHRcdGNvbnRleHQ6IGNyZWF0ZVJlc291cmNlQ29udGV4dChiYXNlQ29udGV4dCwgXCJjc3NcIilcblx0XHRcdFx0fSkpO1xuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGRlZmF1bHRBdHRycyA9IHtcblx0XHRcdFx0cmVsOiBcInN0eWxlc2hlZXRcIixcblx0XHRcdFx0dHlwZTogXCJ0ZXh0L2Nzc1wiXG5cdFx0XHR9O1xuXHRcdFx0Y3NzQXNzZXRzLmZvckVhY2goKGNzc1VybCkgPT4ge1xuXHRcdFx0XHRyZXN1bHRzLnB1c2god2FpdEZvckxpbmtQcmVsb2FkKHtcblx0XHRcdFx0XHRob3N0LFxuXHRcdFx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRcdFx0dXJsOiBjc3NVcmwsXG5cdFx0XHRcdFx0YXR0cnM6IGRlZmF1bHRBdHRycyxcblx0XHRcdFx0XHRuZWVkRGVsZXRlTGluazogZmFsc2UsXG5cdFx0XHRcdFx0Y29udGV4dDogY3JlYXRlUmVzb3VyY2VDb250ZXh0KGJhc2VDb250ZXh0LCBcImNzc1wiKVxuXHRcdFx0XHR9KSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0bGV0IHByZWxvYWRKc0Fzc2V0ID0gd2FpdEZvclNjcmlwdFByZWxvYWQ7XG5cdFx0bGV0IGRlZmF1bHRBdHRycyA9IHtcblx0XHRcdGZldGNocHJpb3JpdHk6IFwiaGlnaFwiLFxuXHRcdFx0dHlwZTogXCJ0ZXh0L2phdmFzY3JpcHRcIlxuXHRcdH07XG5cdFx0aWYgKHVzZUxpbmtQcmVsb2FkKSB7XG5cdFx0XHRwcmVsb2FkSnNBc3NldCA9IHdhaXRGb3JMaW5rUHJlbG9hZDtcblx0XHRcdGRlZmF1bHRBdHRycyA9IHtcblx0XHRcdFx0cmVsOiBcInByZWxvYWRcIixcblx0XHRcdFx0YXM6IFwic2NyaXB0XCJcblx0XHRcdH07XG5cdFx0fSBlbHNlIGlmIChyZXF1aXJlX2xvYWQuaXNFc21SZW1vdGVUeXBlKHJlbW90ZUluZm8udHlwZSkpIHtcblx0XHRcdHByZWxvYWRKc0Fzc2V0ID0gd2FpdEZvckxpbmtQcmVsb2FkO1xuXHRcdFx0ZGVmYXVsdEF0dHJzID0ge1xuXHRcdFx0XHRyZWw6IFwibW9kdWxlcHJlbG9hZFwiLFxuXHRcdFx0XHRmZXRjaHByaW9yaXR5OiBcImhpZ2hcIlxuXHRcdFx0fTtcblx0XHR9XG5cdFx0anNBc3NldHNXaXRob3V0RW50cnkuZm9yRWFjaCgoanNVcmwpID0+IHtcblx0XHRcdHJlc3VsdHMucHVzaChwcmVsb2FkSnNBc3NldCh7XG5cdFx0XHRcdGhvc3QsXG5cdFx0XHRcdHJlbW90ZUluZm8sXG5cdFx0XHRcdHVybDoganNVcmwsXG5cdFx0XHRcdGF0dHJzOiBkZWZhdWx0QXR0cnMsXG5cdFx0XHRcdGNvbnRleHQ6IGNyZWF0ZVJlc291cmNlQ29udGV4dChiYXNlQ29udGV4dCwgXCJqc1wiKVxuXHRcdFx0fSkpO1xuXHRcdH0pO1xuXHR9XG5cdHJldHVybiBQcm9taXNlLmFsbChyZXN1bHRzKTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmRlZmF1bHRQcmVsb2FkQXJncyA9IGRlZmF1bHRQcmVsb2FkQXJncztcbmV4cG9ydHMuZm9ybWF0UHJlbG9hZEFyZ3MgPSBmb3JtYXRQcmVsb2FkQXJncztcbmV4cG9ydHMubm9ybWFsaXplUHJlbG9hZEV4cG9zZXMgPSBub3JtYWxpemVQcmVsb2FkRXhwb3NlcztcbmV4cG9ydHMucHJlbG9hZEFzc2V0cyA9IHByZWxvYWRBc3NldHM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcmVsb2FkLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQWM7QUFDN0MseUJBQXlCLG1CQUFPLENBQUMsK0VBQWdCO0FBQ2pELHFCQUFxQixtQkFBTyxDQUFDLDJFQUFZO0FBQ3pDLDZCQUE2QixtQkFBTyxDQUFDLDZEQUF3Qjs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseURBQXlELGtCQUFrQiwyQkFBMkI7QUFDdEc7QUFDQTtBQUNBLEdBQUcsRUFBRTtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRyxrREFBa0QsSUFBSTtBQUN6RDtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSw4QkFBOEIsdURBQXVEO0FBQ3JGO0FBQ0EsVUFBVSxtQkFBbUI7QUFDN0I7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBLEdBQUc7QUFDSDtBQUNBLEVBQUU7QUFDRjtBQUNBLGdDQUFnQyx1Q0FBdUM7QUFDdkU7QUFDQSxVQUFVLHFCQUFxQjtBQUMvQjtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0EsR0FBRztBQUNIO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELFNBQVMsK0NBQStDO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBLFdBQVcsOEJBQThCO0FBQ3pDO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0osSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTCxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQkFBMEI7QUFDMUIseUJBQXlCO0FBQ3pCLCtCQUErQjtBQUMvQixxQkFBcUI7QUFDckIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/preload.cjs\n\n}");
|
|
164
|
+
|
|
165
|
+
},
|
|
166
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs"(__unused_rspack_module, exports) {
|
|
167
|
+
eval("{\n//#region src/utils/semver/compare.ts\nfunction compareAtom(rangeAtom, versionAtom) {\n\trangeAtom = Number(rangeAtom) || rangeAtom;\n\tversionAtom = Number(versionAtom) || versionAtom;\n\tif (rangeAtom > versionAtom) return 1;\n\tif (rangeAtom === versionAtom) return 0;\n\treturn -1;\n}\nfunction comparePreRelease(rangeAtom, versionAtom) {\n\tconst { preRelease: rangePreRelease } = rangeAtom;\n\tconst { preRelease: versionPreRelease } = versionAtom;\n\tif (rangePreRelease === void 0 && Boolean(versionPreRelease)) return 1;\n\tif (Boolean(rangePreRelease) && versionPreRelease === void 0) return -1;\n\tif (rangePreRelease === void 0 && versionPreRelease === void 0) return 0;\n\tfor (let i = 0, n = rangePreRelease.length; i <= n; i++) {\n\t\tconst rangeElement = rangePreRelease[i];\n\t\tconst versionElement = versionPreRelease[i];\n\t\tif (rangeElement === versionElement) continue;\n\t\tif (rangeElement === void 0 && versionElement === void 0) return 0;\n\t\tif (!rangeElement) return 1;\n\t\tif (!versionElement) return -1;\n\t\treturn compareAtom(rangeElement, versionElement);\n\t}\n\treturn 0;\n}\nfunction compareVersion(rangeAtom, versionAtom) {\n\treturn compareAtom(rangeAtom.major, versionAtom.major) || compareAtom(rangeAtom.minor, versionAtom.minor) || compareAtom(rangeAtom.patch, versionAtom.patch) || comparePreRelease(rangeAtom, versionAtom);\n}\nfunction eq(rangeAtom, versionAtom) {\n\treturn rangeAtom.version === versionAtom.version;\n}\nfunction compare(rangeAtom, versionAtom) {\n\tswitch (rangeAtom.operator) {\n\t\tcase \"\":\n\t\tcase \"=\": return eq(rangeAtom, versionAtom);\n\t\tcase \">\": return compareVersion(rangeAtom, versionAtom) < 0;\n\t\tcase \">=\": return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) < 0;\n\t\tcase \"<\": return compareVersion(rangeAtom, versionAtom) > 0;\n\t\tcase \"<=\": return eq(rangeAtom, versionAtom) || compareVersion(rangeAtom, versionAtom) > 0;\n\t\tcase void 0: return true;\n\t\tdefault: return false;\n\t}\n}\n\n//#endregion\nexports.compare = compare;\n//# sourceMappingURL=compare.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci9jb21wYXJlLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9zZW12ZXIvY29tcGFyZS5janM/NzBiYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiBzcmMvdXRpbHMvc2VtdmVyL2NvbXBhcmUudHNcbmZ1bmN0aW9uIGNvbXBhcmVBdG9tKHJhbmdlQXRvbSwgdmVyc2lvbkF0b20pIHtcblx0cmFuZ2VBdG9tID0gTnVtYmVyKHJhbmdlQXRvbSkgfHwgcmFuZ2VBdG9tO1xuXHR2ZXJzaW9uQXRvbSA9IE51bWJlcih2ZXJzaW9uQXRvbSkgfHwgdmVyc2lvbkF0b207XG5cdGlmIChyYW5nZUF0b20gPiB2ZXJzaW9uQXRvbSkgcmV0dXJuIDE7XG5cdGlmIChyYW5nZUF0b20gPT09IHZlcnNpb25BdG9tKSByZXR1cm4gMDtcblx0cmV0dXJuIC0xO1xufVxuZnVuY3Rpb24gY29tcGFyZVByZVJlbGVhc2UocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkge1xuXHRjb25zdCB7IHByZVJlbGVhc2U6IHJhbmdlUHJlUmVsZWFzZSB9ID0gcmFuZ2VBdG9tO1xuXHRjb25zdCB7IHByZVJlbGVhc2U6IHZlcnNpb25QcmVSZWxlYXNlIH0gPSB2ZXJzaW9uQXRvbTtcblx0aWYgKHJhbmdlUHJlUmVsZWFzZSA9PT0gdm9pZCAwICYmIEJvb2xlYW4odmVyc2lvblByZVJlbGVhc2UpKSByZXR1cm4gMTtcblx0aWYgKEJvb2xlYW4ocmFuZ2VQcmVSZWxlYXNlKSAmJiB2ZXJzaW9uUHJlUmVsZWFzZSA9PT0gdm9pZCAwKSByZXR1cm4gLTE7XG5cdGlmIChyYW5nZVByZVJlbGVhc2UgPT09IHZvaWQgMCAmJiB2ZXJzaW9uUHJlUmVsZWFzZSA9PT0gdm9pZCAwKSByZXR1cm4gMDtcblx0Zm9yIChsZXQgaSA9IDAsIG4gPSByYW5nZVByZVJlbGVhc2UubGVuZ3RoOyBpIDw9IG47IGkrKykge1xuXHRcdGNvbnN0IHJhbmdlRWxlbWVudCA9IHJhbmdlUHJlUmVsZWFzZVtpXTtcblx0XHRjb25zdCB2ZXJzaW9uRWxlbWVudCA9IHZlcnNpb25QcmVSZWxlYXNlW2ldO1xuXHRcdGlmIChyYW5nZUVsZW1lbnQgPT09IHZlcnNpb25FbGVtZW50KSBjb250aW51ZTtcblx0XHRpZiAocmFuZ2VFbGVtZW50ID09PSB2b2lkIDAgJiYgdmVyc2lvbkVsZW1lbnQgPT09IHZvaWQgMCkgcmV0dXJuIDA7XG5cdFx0aWYgKCFyYW5nZUVsZW1lbnQpIHJldHVybiAxO1xuXHRcdGlmICghdmVyc2lvbkVsZW1lbnQpIHJldHVybiAtMTtcblx0XHRyZXR1cm4gY29tcGFyZUF0b20ocmFuZ2VFbGVtZW50LCB2ZXJzaW9uRWxlbWVudCk7XG5cdH1cblx0cmV0dXJuIDA7XG59XG5mdW5jdGlvbiBjb21wYXJlVmVyc2lvbihyYW5nZUF0b20sIHZlcnNpb25BdG9tKSB7XG5cdHJldHVybiBjb21wYXJlQXRvbShyYW5nZUF0b20ubWFqb3IsIHZlcnNpb25BdG9tLm1ham9yKSB8fCBjb21wYXJlQXRvbShyYW5nZUF0b20ubWlub3IsIHZlcnNpb25BdG9tLm1pbm9yKSB8fCBjb21wYXJlQXRvbShyYW5nZUF0b20ucGF0Y2gsIHZlcnNpb25BdG9tLnBhdGNoKSB8fCBjb21wYXJlUHJlUmVsZWFzZShyYW5nZUF0b20sIHZlcnNpb25BdG9tKTtcbn1cbmZ1bmN0aW9uIGVxKHJhbmdlQXRvbSwgdmVyc2lvbkF0b20pIHtcblx0cmV0dXJuIHJhbmdlQXRvbS52ZXJzaW9uID09PSB2ZXJzaW9uQXRvbS52ZXJzaW9uO1xufVxuZnVuY3Rpb24gY29tcGFyZShyYW5nZUF0b20sIHZlcnNpb25BdG9tKSB7XG5cdHN3aXRjaCAocmFuZ2VBdG9tLm9wZXJhdG9yKSB7XG5cdFx0Y2FzZSBcIlwiOlxuXHRcdGNhc2UgXCI9XCI6IHJldHVybiBlcShyYW5nZUF0b20sIHZlcnNpb25BdG9tKTtcblx0XHRjYXNlIFwiPlwiOiByZXR1cm4gY29tcGFyZVZlcnNpb24ocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkgPCAwO1xuXHRcdGNhc2UgXCI+PVwiOiByZXR1cm4gZXEocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkgfHwgY29tcGFyZVZlcnNpb24ocmFuZ2VBdG9tLCB2ZXJzaW9uQXRvbSkgPCAwO1xuXHRcdGNhc2UgXCI8XCI6IHJldHVybiBjb21wYXJlVmVyc2lvbihyYW5nZUF0b20sIHZlcnNpb25BdG9tKSA+IDA7XG5cdFx0Y2FzZSBcIjw9XCI6IHJldHVybiBlcShyYW5nZUF0b20sIHZlcnNpb25BdG9tKSB8fCBjb21wYXJlVmVyc2lvbihyYW5nZUF0b20sIHZlcnNpb25BdG9tKSA+IDA7XG5cdFx0Y2FzZSB2b2lkIDA6IHJldHVybiB0cnVlO1xuXHRcdGRlZmF1bHQ6IHJldHVybiBmYWxzZTtcblx0fVxufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuY29tcGFyZSA9IGNvbXBhcmU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb21wYXJlLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsOEJBQThCO0FBQ3ZDLFNBQVMsZ0NBQWdDO0FBQ3pDO0FBQ0E7QUFDQTtBQUNBLDZDQUE2QyxRQUFRO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZUFBZTtBQUNmIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs\n\n}");
|
|
168
|
+
|
|
169
|
+
},
|
|
170
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs"(__unused_rspack_module, exports) {
|
|
171
|
+
eval("{\n//#region src/utils/semver/constants.ts\nconst buildIdentifier = \"[0-9A-Za-z-]+\";\nconst build = `(?:\\\\+(${buildIdentifier}(?:\\\\.${buildIdentifier})*))`;\nconst numericIdentifier = \"0|[1-9]\\\\d*\";\nconst numericIdentifierLoose = \"[0-9]+\";\nconst nonNumericIdentifier = \"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\";\nconst preReleaseIdentifierLoose = `(?:${numericIdentifierLoose}|${nonNumericIdentifier})`;\nconst preReleaseLoose = `(?:-?(${preReleaseIdentifierLoose}(?:\\\\.${preReleaseIdentifierLoose})*))`;\nconst preReleaseIdentifier = `(?:${numericIdentifier}|${nonNumericIdentifier})`;\nconst preRelease = `(?:-(${preReleaseIdentifier}(?:\\\\.${preReleaseIdentifier})*))`;\nconst xRangeIdentifier = `${numericIdentifier}|x|X|\\\\*`;\nconst xRangePlain = `[v=\\\\s]*(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:\\\\.(${xRangeIdentifier})(?:${preRelease})?${build}?)?)?`;\nconst hyphenRange = `^\\\\s*(${xRangePlain})\\\\s+-\\\\s+(${xRangePlain})\\\\s*$`;\nconst loosePlain = `[v=\\\\s]*${`(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})\\\\.(${numericIdentifierLoose})`}${preReleaseLoose}?${build}?`;\nconst gtlt = \"((?:<|>)?=?)\";\nconst comparatorTrim = `(\\\\s*)${gtlt}\\\\s*(${loosePlain}|${xRangePlain})`;\nconst loneTilde = \"(?:~>?)\";\nconst tildeTrim = `(\\\\s*)${loneTilde}\\\\s+`;\nconst loneCaret = \"(?:\\\\^)\";\nconst caretTrim = `(\\\\s*)${loneCaret}\\\\s+`;\nconst star = \"(<|>)?=?\\\\s*\\\\*\";\nconst caret = `^${loneCaret}${xRangePlain}$`;\nconst fullPlain = `v?${`(${numericIdentifier})\\\\.(${numericIdentifier})\\\\.(${numericIdentifier})`}${preRelease}?${build}?`;\nconst tilde = `^${loneTilde}${xRangePlain}$`;\nconst xRange = `^${gtlt}\\\\s*${xRangePlain}$`;\nconst comparator = `^${gtlt}\\\\s*(${fullPlain})$|^$`;\nconst gte0 = \"^\\\\s*>=\\\\s*0.0.0\\\\s*$\";\n\n//#endregion\nexports.caret = caret;\nexports.caretTrim = caretTrim;\nexports.comparator = comparator;\nexports.comparatorTrim = comparatorTrim;\nexports.gte0 = gte0;\nexports.hyphenRange = hyphenRange;\nexports.star = star;\nexports.tilde = tilde;\nexports.tildeTrim = tildeTrim;\nexports.xRange = xRange;\n//# sourceMappingURL=constants.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci9jb25zdGFudHMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci9jb25zdGFudHMuY2pzPzU5OTIiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL3V0aWxzL3NlbXZlci9jb25zdGFudHMudHNcbmNvbnN0IGJ1aWxkSWRlbnRpZmllciA9IFwiWzAtOUEtWmEtei1dK1wiO1xuY29uc3QgYnVpbGQgPSBgKD86XFxcXCsoJHtidWlsZElkZW50aWZpZXJ9KD86XFxcXC4ke2J1aWxkSWRlbnRpZmllcn0pKikpYDtcbmNvbnN0IG51bWVyaWNJZGVudGlmaWVyID0gXCIwfFsxLTldXFxcXGQqXCI7XG5jb25zdCBudW1lcmljSWRlbnRpZmllckxvb3NlID0gXCJbMC05XStcIjtcbmNvbnN0IG5vbk51bWVyaWNJZGVudGlmaWVyID0gXCJcXFxcZCpbYS16QS1aLV1bYS16QS1aMC05LV0qXCI7XG5jb25zdCBwcmVSZWxlYXNlSWRlbnRpZmllckxvb3NlID0gYCg/OiR7bnVtZXJpY0lkZW50aWZpZXJMb29zZX18JHtub25OdW1lcmljSWRlbnRpZmllcn0pYDtcbmNvbnN0IHByZVJlbGVhc2VMb29zZSA9IGAoPzotPygke3ByZVJlbGVhc2VJZGVudGlmaWVyTG9vc2V9KD86XFxcXC4ke3ByZVJlbGVhc2VJZGVudGlmaWVyTG9vc2V9KSopKWA7XG5jb25zdCBwcmVSZWxlYXNlSWRlbnRpZmllciA9IGAoPzoke251bWVyaWNJZGVudGlmaWVyfXwke25vbk51bWVyaWNJZGVudGlmaWVyfSlgO1xuY29uc3QgcHJlUmVsZWFzZSA9IGAoPzotKCR7cHJlUmVsZWFzZUlkZW50aWZpZXJ9KD86XFxcXC4ke3ByZVJlbGVhc2VJZGVudGlmaWVyfSkqKSlgO1xuY29uc3QgeFJhbmdlSWRlbnRpZmllciA9IGAke251bWVyaWNJZGVudGlmaWVyfXx4fFh8XFxcXCpgO1xuY29uc3QgeFJhbmdlUGxhaW4gPSBgW3Y9XFxcXHNdKigke3hSYW5nZUlkZW50aWZpZXJ9KSg/OlxcXFwuKCR7eFJhbmdlSWRlbnRpZmllcn0pKD86XFxcXC4oJHt4UmFuZ2VJZGVudGlmaWVyfSkoPzoke3ByZVJlbGVhc2V9KT8ke2J1aWxkfT8pPyk/YDtcbmNvbnN0IGh5cGhlblJhbmdlID0gYF5cXFxccyooJHt4UmFuZ2VQbGFpbn0pXFxcXHMrLVxcXFxzKygke3hSYW5nZVBsYWlufSlcXFxccyokYDtcbmNvbnN0IGxvb3NlUGxhaW4gPSBgW3Y9XFxcXHNdKiR7YCgke251bWVyaWNJZGVudGlmaWVyTG9vc2V9KVxcXFwuKCR7bnVtZXJpY0lkZW50aWZpZXJMb29zZX0pXFxcXC4oJHtudW1lcmljSWRlbnRpZmllckxvb3NlfSlgfSR7cHJlUmVsZWFzZUxvb3NlfT8ke2J1aWxkfT9gO1xuY29uc3QgZ3RsdCA9IFwiKCg/Ojx8Pik/PT8pXCI7XG5jb25zdCBjb21wYXJhdG9yVHJpbSA9IGAoXFxcXHMqKSR7Z3RsdH1cXFxccyooJHtsb29zZVBsYWlufXwke3hSYW5nZVBsYWlufSlgO1xuY29uc3QgbG9uZVRpbGRlID0gXCIoPzp+Pj8pXCI7XG5jb25zdCB0aWxkZVRyaW0gPSBgKFxcXFxzKikke2xvbmVUaWxkZX1cXFxccytgO1xuY29uc3QgbG9uZUNhcmV0ID0gXCIoPzpcXFxcXilcIjtcbmNvbnN0IGNhcmV0VHJpbSA9IGAoXFxcXHMqKSR7bG9uZUNhcmV0fVxcXFxzK2A7XG5jb25zdCBzdGFyID0gXCIoPHw+KT89P1xcXFxzKlxcXFwqXCI7XG5jb25zdCBjYXJldCA9IGBeJHtsb25lQ2FyZXR9JHt4UmFuZ2VQbGFpbn0kYDtcbmNvbnN0IGZ1bGxQbGFpbiA9IGB2PyR7YCgke251bWVyaWNJZGVudGlmaWVyfSlcXFxcLigke251bWVyaWNJZGVudGlmaWVyfSlcXFxcLigke251bWVyaWNJZGVudGlmaWVyfSlgfSR7cHJlUmVsZWFzZX0/JHtidWlsZH0/YDtcbmNvbnN0IHRpbGRlID0gYF4ke2xvbmVUaWxkZX0ke3hSYW5nZVBsYWlufSRgO1xuY29uc3QgeFJhbmdlID0gYF4ke2d0bHR9XFxcXHMqJHt4UmFuZ2VQbGFpbn0kYDtcbmNvbnN0IGNvbXBhcmF0b3IgPSBgXiR7Z3RsdH1cXFxccyooJHtmdWxsUGxhaW59KSR8XiRgO1xuY29uc3QgZ3RlMCA9IFwiXlxcXFxzKj49XFxcXHMqMC4wLjBcXFxccyokXCI7XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5jYXJldCA9IGNhcmV0O1xuZXhwb3J0cy5jYXJldFRyaW0gPSBjYXJldFRyaW07XG5leHBvcnRzLmNvbXBhcmF0b3IgPSBjb21wYXJhdG9yO1xuZXhwb3J0cy5jb21wYXJhdG9yVHJpbSA9IGNvbXBhcmF0b3JUcmltO1xuZXhwb3J0cy5ndGUwID0gZ3RlMDtcbmV4cG9ydHMuaHlwaGVuUmFuZ2UgPSBoeXBoZW5SYW5nZTtcbmV4cG9ydHMuc3RhciA9IHN0YXI7XG5leHBvcnRzLnRpbGRlID0gdGlsZGU7XG5leHBvcnRzLnRpbGRlVHJpbSA9IHRpbGRlVHJpbTtcbmV4cG9ydHMueFJhbmdlID0geFJhbmdlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3RhbnRzLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0JBQWdCLFFBQVEsZ0JBQWdCO0FBQ2hFO0FBQ0E7QUFDQTtBQUNBLHdDQUF3Qyx1QkFBdUIsR0FBRyxxQkFBcUI7QUFDdkYsaUNBQWlDLDBCQUEwQixRQUFRLDBCQUEwQjtBQUM3RixtQ0FBbUMsa0JBQWtCLEdBQUcscUJBQXFCO0FBQzdFLDJCQUEyQixxQkFBcUIsUUFBUSxxQkFBcUI7QUFDN0UsNEJBQTRCLGtCQUFrQjtBQUM5QyxnQ0FBZ0MsaUJBQWlCLFVBQVUsaUJBQWlCLFVBQVUsaUJBQWlCLE1BQU0sV0FBVyxJQUFJLE1BQU07QUFDbEksNkJBQTZCLFlBQVksYUFBYSxZQUFZO0FBQ2xFLDhCQUE4QixJQUFJLHVCQUF1QixPQUFPLHVCQUF1QixPQUFPLHVCQUF1QixHQUFHLEVBQUUsZ0JBQWdCLEdBQUcsTUFBTTtBQUNuSjtBQUNBLGdDQUFnQyxLQUFLLE9BQU8sV0FBVyxHQUFHLFlBQVk7QUFDdEU7QUFDQSwyQkFBMkIsVUFBVTtBQUNyQztBQUNBLDJCQUEyQixVQUFVO0FBQ3JDO0FBQ0Esa0JBQWtCLFVBQVUsRUFBRSxZQUFZO0FBQzFDLHVCQUF1QixJQUFJLGtCQUFrQixPQUFPLGtCQUFrQixPQUFPLGtCQUFrQixHQUFHLEVBQUUsV0FBVyxHQUFHLE1BQU07QUFDeEgsa0JBQWtCLFVBQVUsRUFBRSxZQUFZO0FBQzFDLG1CQUFtQixLQUFLLE1BQU0sWUFBWTtBQUMxQyx1QkFBdUIsS0FBSyxPQUFPLFVBQVU7QUFDN0M7O0FBRUE7QUFDQSxhQUFhO0FBQ2IsaUJBQWlCO0FBQ2pCLGtCQUFrQjtBQUNsQixzQkFBc0I7QUFDdEIsWUFBWTtBQUNaLG1CQUFtQjtBQUNuQixZQUFZO0FBQ1osYUFBYTtBQUNiLGlCQUFpQjtBQUNqQixjQUFjO0FBQ2QifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs\n\n}");
|
|
172
|
+
|
|
173
|
+
},
|
|
174
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
175
|
+
eval("{const require_utils = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs\");\nconst require_parser = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs\");\nconst require_compare = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/compare.cjs\");\n\n//#region src/utils/semver/index.ts\nfunction parseComparatorString(range) {\n\treturn require_utils.pipe(require_parser.parseCarets, require_parser.parseTildes, require_parser.parseXRanges, require_parser.parseStar)(range);\n}\nfunction parseRange(range) {\n\treturn require_utils.pipe(require_parser.parseHyphen, require_parser.parseComparatorTrim, require_parser.parseTildeTrim, require_parser.parseCaretTrim)(range.trim()).split(/\\s+/).join(\" \");\n}\nfunction satisfy(version, range) {\n\tif (!version) return false;\n\tconst extractedVersion = require_utils.extractComparator(version);\n\tif (!extractedVersion) return false;\n\tconst [, versionOperator, , versionMajor, versionMinor, versionPatch, versionPreRelease] = extractedVersion;\n\tconst versionAtom = {\n\t\toperator: versionOperator,\n\t\tversion: require_utils.combineVersion(versionMajor, versionMinor, versionPatch, versionPreRelease),\n\t\tmajor: versionMajor,\n\t\tminor: versionMinor,\n\t\tpatch: versionPatch,\n\t\tpreRelease: versionPreRelease?.split(\".\")\n\t};\n\tconst orRanges = range.split(\"||\");\n\tfor (const orRange of orRanges) {\n\t\tconst trimmedOrRange = orRange.trim();\n\t\tif (!trimmedOrRange) return true;\n\t\tif (trimmedOrRange === \"*\" || trimmedOrRange === \"x\") return true;\n\t\ttry {\n\t\t\tconst parsedSubRange = parseRange(trimmedOrRange);\n\t\t\tif (!parsedSubRange.trim()) return true;\n\t\t\tconst parsedComparatorString = parsedSubRange.split(\" \").map((rangeVersion) => parseComparatorString(rangeVersion)).join(\" \");\n\t\t\tif (!parsedComparatorString.trim()) return true;\n\t\t\tconst comparators = parsedComparatorString.split(/\\s+/).map((comparator) => require_parser.parseGTE0(comparator)).filter(Boolean);\n\t\t\tif (comparators.length === 0) continue;\n\t\t\tlet subRangeSatisfied = true;\n\t\t\tfor (const comparator of comparators) {\n\t\t\t\tconst extractedComparator = require_utils.extractComparator(comparator);\n\t\t\t\tif (!extractedComparator) {\n\t\t\t\t\tsubRangeSatisfied = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst [, rangeOperator, , rangeMajor, rangeMinor, rangePatch, rangePreRelease] = extractedComparator;\n\t\t\t\tif (!require_compare.compare({\n\t\t\t\t\toperator: rangeOperator,\n\t\t\t\t\tversion: require_utils.combineVersion(rangeMajor, rangeMinor, rangePatch, rangePreRelease),\n\t\t\t\t\tmajor: rangeMajor,\n\t\t\t\t\tminor: rangeMinor,\n\t\t\t\t\tpatch: rangePatch,\n\t\t\t\t\tpreRelease: rangePreRelease?.split(\".\")\n\t\t\t\t}, versionAtom)) {\n\t\t\t\t\tsubRangeSatisfied = false;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (subRangeSatisfied) return true;\n\t\t} catch (e) {\n\t\t\tconsole.error(`[semver] Error processing range part \"${trimmedOrRange}\":`, e);\n\t\t\tcontinue;\n\t\t}\n\t}\n\treturn false;\n}\n\n//#endregion\nexports.satisfy = satisfy;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci9pbmRleC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvc2VtdmVyL2luZGV4LmNqcz9iNWMxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzLmNqcycpO1xuY29uc3QgcmVxdWlyZV9wYXJzZXIgPSByZXF1aXJlKCcuL3BhcnNlci5janMnKTtcbmNvbnN0IHJlcXVpcmVfY29tcGFyZSA9IHJlcXVpcmUoJy4vY29tcGFyZS5janMnKTtcblxuLy8jcmVnaW9uIHNyYy91dGlscy9zZW12ZXIvaW5kZXgudHNcbmZ1bmN0aW9uIHBhcnNlQ29tcGFyYXRvclN0cmluZyhyYW5nZSkge1xuXHRyZXR1cm4gcmVxdWlyZV91dGlscy5waXBlKHJlcXVpcmVfcGFyc2VyLnBhcnNlQ2FyZXRzLCByZXF1aXJlX3BhcnNlci5wYXJzZVRpbGRlcywgcmVxdWlyZV9wYXJzZXIucGFyc2VYUmFuZ2VzLCByZXF1aXJlX3BhcnNlci5wYXJzZVN0YXIpKHJhbmdlKTtcbn1cbmZ1bmN0aW9uIHBhcnNlUmFuZ2UocmFuZ2UpIHtcblx0cmV0dXJuIHJlcXVpcmVfdXRpbHMucGlwZShyZXF1aXJlX3BhcnNlci5wYXJzZUh5cGhlbiwgcmVxdWlyZV9wYXJzZXIucGFyc2VDb21wYXJhdG9yVHJpbSwgcmVxdWlyZV9wYXJzZXIucGFyc2VUaWxkZVRyaW0sIHJlcXVpcmVfcGFyc2VyLnBhcnNlQ2FyZXRUcmltKShyYW5nZS50cmltKCkpLnNwbGl0KC9cXHMrLykuam9pbihcIiBcIik7XG59XG5mdW5jdGlvbiBzYXRpc2Z5KHZlcnNpb24sIHJhbmdlKSB7XG5cdGlmICghdmVyc2lvbikgcmV0dXJuIGZhbHNlO1xuXHRjb25zdCBleHRyYWN0ZWRWZXJzaW9uID0gcmVxdWlyZV91dGlscy5leHRyYWN0Q29tcGFyYXRvcih2ZXJzaW9uKTtcblx0aWYgKCFleHRyYWN0ZWRWZXJzaW9uKSByZXR1cm4gZmFsc2U7XG5cdGNvbnN0IFssIHZlcnNpb25PcGVyYXRvciwgLCB2ZXJzaW9uTWFqb3IsIHZlcnNpb25NaW5vciwgdmVyc2lvblBhdGNoLCB2ZXJzaW9uUHJlUmVsZWFzZV0gPSBleHRyYWN0ZWRWZXJzaW9uO1xuXHRjb25zdCB2ZXJzaW9uQXRvbSA9IHtcblx0XHRvcGVyYXRvcjogdmVyc2lvbk9wZXJhdG9yLFxuXHRcdHZlcnNpb246IHJlcXVpcmVfdXRpbHMuY29tYmluZVZlcnNpb24odmVyc2lvbk1ham9yLCB2ZXJzaW9uTWlub3IsIHZlcnNpb25QYXRjaCwgdmVyc2lvblByZVJlbGVhc2UpLFxuXHRcdG1ham9yOiB2ZXJzaW9uTWFqb3IsXG5cdFx0bWlub3I6IHZlcnNpb25NaW5vcixcblx0XHRwYXRjaDogdmVyc2lvblBhdGNoLFxuXHRcdHByZVJlbGVhc2U6IHZlcnNpb25QcmVSZWxlYXNlPy5zcGxpdChcIi5cIilcblx0fTtcblx0Y29uc3Qgb3JSYW5nZXMgPSByYW5nZS5zcGxpdChcInx8XCIpO1xuXHRmb3IgKGNvbnN0IG9yUmFuZ2Ugb2Ygb3JSYW5nZXMpIHtcblx0XHRjb25zdCB0cmltbWVkT3JSYW5nZSA9IG9yUmFuZ2UudHJpbSgpO1xuXHRcdGlmICghdHJpbW1lZE9yUmFuZ2UpIHJldHVybiB0cnVlO1xuXHRcdGlmICh0cmltbWVkT3JSYW5nZSA9PT0gXCIqXCIgfHwgdHJpbW1lZE9yUmFuZ2UgPT09IFwieFwiKSByZXR1cm4gdHJ1ZTtcblx0XHR0cnkge1xuXHRcdFx0Y29uc3QgcGFyc2VkU3ViUmFuZ2UgPSBwYXJzZVJhbmdlKHRyaW1tZWRPclJhbmdlKTtcblx0XHRcdGlmICghcGFyc2VkU3ViUmFuZ2UudHJpbSgpKSByZXR1cm4gdHJ1ZTtcblx0XHRcdGNvbnN0IHBhcnNlZENvbXBhcmF0b3JTdHJpbmcgPSBwYXJzZWRTdWJSYW5nZS5zcGxpdChcIiBcIikubWFwKChyYW5nZVZlcnNpb24pID0+IHBhcnNlQ29tcGFyYXRvclN0cmluZyhyYW5nZVZlcnNpb24pKS5qb2luKFwiIFwiKTtcblx0XHRcdGlmICghcGFyc2VkQ29tcGFyYXRvclN0cmluZy50cmltKCkpIHJldHVybiB0cnVlO1xuXHRcdFx0Y29uc3QgY29tcGFyYXRvcnMgPSBwYXJzZWRDb21wYXJhdG9yU3RyaW5nLnNwbGl0KC9cXHMrLykubWFwKChjb21wYXJhdG9yKSA9PiByZXF1aXJlX3BhcnNlci5wYXJzZUdURTAoY29tcGFyYXRvcikpLmZpbHRlcihCb29sZWFuKTtcblx0XHRcdGlmIChjb21wYXJhdG9ycy5sZW5ndGggPT09IDApIGNvbnRpbnVlO1xuXHRcdFx0bGV0IHN1YlJhbmdlU2F0aXNmaWVkID0gdHJ1ZTtcblx0XHRcdGZvciAoY29uc3QgY29tcGFyYXRvciBvZiBjb21wYXJhdG9ycykge1xuXHRcdFx0XHRjb25zdCBleHRyYWN0ZWRDb21wYXJhdG9yID0gcmVxdWlyZV91dGlscy5leHRyYWN0Q29tcGFyYXRvcihjb21wYXJhdG9yKTtcblx0XHRcdFx0aWYgKCFleHRyYWN0ZWRDb21wYXJhdG9yKSB7XG5cdFx0XHRcdFx0c3ViUmFuZ2VTYXRpc2ZpZWQgPSBmYWxzZTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBbLCByYW5nZU9wZXJhdG9yLCAsIHJhbmdlTWFqb3IsIHJhbmdlTWlub3IsIHJhbmdlUGF0Y2gsIHJhbmdlUHJlUmVsZWFzZV0gPSBleHRyYWN0ZWRDb21wYXJhdG9yO1xuXHRcdFx0XHRpZiAoIXJlcXVpcmVfY29tcGFyZS5jb21wYXJlKHtcblx0XHRcdFx0XHRvcGVyYXRvcjogcmFuZ2VPcGVyYXRvcixcblx0XHRcdFx0XHR2ZXJzaW9uOiByZXF1aXJlX3V0aWxzLmNvbWJpbmVWZXJzaW9uKHJhbmdlTWFqb3IsIHJhbmdlTWlub3IsIHJhbmdlUGF0Y2gsIHJhbmdlUHJlUmVsZWFzZSksXG5cdFx0XHRcdFx0bWFqb3I6IHJhbmdlTWFqb3IsXG5cdFx0XHRcdFx0bWlub3I6IHJhbmdlTWlub3IsXG5cdFx0XHRcdFx0cGF0Y2g6IHJhbmdlUGF0Y2gsXG5cdFx0XHRcdFx0cHJlUmVsZWFzZTogcmFuZ2VQcmVSZWxlYXNlPy5zcGxpdChcIi5cIilcblx0XHRcdFx0fSwgdmVyc2lvbkF0b20pKSB7XG5cdFx0XHRcdFx0c3ViUmFuZ2VTYXRpc2ZpZWQgPSBmYWxzZTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aWYgKHN1YlJhbmdlU2F0aXNmaWVkKSByZXR1cm4gdHJ1ZTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRjb25zb2xlLmVycm9yKGBbc2VtdmVyXSBFcnJvciBwcm9jZXNzaW5nIHJhbmdlIHBhcnQgXCIke3RyaW1tZWRPclJhbmdlfVwiOmAsIGUpO1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXHR9XG5cdHJldHVybiBmYWxzZTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLnNhdGlzZnkgPSBzYXRpc2Z5O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQkFBc0IsbUJBQU8sQ0FBQyxtRkFBYTtBQUMzQyx1QkFBdUIsbUJBQU8sQ0FBQyxvRkFBYztBQUM3Qyx3QkFBd0IsbUJBQU8sQ0FBQyxxRkFBZTs7QUFFL0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLDBEQUEwRCxlQUFlO0FBQ3pFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxlQUFlO0FBQ2YifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs\n\n}");
|
|
176
|
+
|
|
177
|
+
},
|
|
178
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
179
|
+
eval("{const require_constants = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs\");\nconst require_utils = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs\");\n\n//#region src/utils/semver/parser.ts\nfunction parseHyphen(range) {\n\treturn range.replace(require_utils.parseRegex(require_constants.hyphenRange), (_range, from, fromMajor, fromMinor, fromPatch, _fromPreRelease, _fromBuild, to, toMajor, toMinor, toPatch, toPreRelease) => {\n\t\tif (require_utils.isXVersion(fromMajor)) from = \"\";\n\t\telse if (require_utils.isXVersion(fromMinor)) from = `>=${fromMajor}.0.0`;\n\t\telse if (require_utils.isXVersion(fromPatch)) from = `>=${fromMajor}.${fromMinor}.0`;\n\t\telse from = `>=${from}`;\n\t\tif (require_utils.isXVersion(toMajor)) to = \"\";\n\t\telse if (require_utils.isXVersion(toMinor)) to = `<${Number(toMajor) + 1}.0.0-0`;\n\t\telse if (require_utils.isXVersion(toPatch)) to = `<${toMajor}.${Number(toMinor) + 1}.0-0`;\n\t\telse if (toPreRelease) to = `<=${toMajor}.${toMinor}.${toPatch}-${toPreRelease}`;\n\t\telse to = `<=${to}`;\n\t\treturn `${from} ${to}`.trim();\n\t});\n}\nfunction parseComparatorTrim(range) {\n\treturn range.replace(require_utils.parseRegex(require_constants.comparatorTrim), \"$1$2$3\");\n}\nfunction parseTildeTrim(range) {\n\treturn range.replace(require_utils.parseRegex(require_constants.tildeTrim), \"$1~\");\n}\nfunction parseCaretTrim(range) {\n\treturn range.replace(require_utils.parseRegex(require_constants.caretTrim), \"$1^\");\n}\nfunction parseCarets(range) {\n\treturn range.trim().split(/\\s+/).map((rangeVersion) => rangeVersion.replace(require_utils.parseRegex(require_constants.caret), (_, major, minor, patch, preRelease) => {\n\t\tif (require_utils.isXVersion(major)) return \"\";\n\t\telse if (require_utils.isXVersion(minor)) return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n\t\telse if (require_utils.isXVersion(patch)) if (major === \"0\") return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n\t\telse return `>=${major}.${minor}.0 <${Number(major) + 1}.0.0-0`;\n\t\telse if (preRelease) if (major === \"0\") if (minor === \"0\") return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${minor}.${Number(patch) + 1}-0`;\n\t\telse return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n\t\telse return `>=${major}.${minor}.${patch}-${preRelease} <${Number(major) + 1}.0.0-0`;\n\t\telse {\n\t\t\tif (major === \"0\") if (minor === \"0\") return `>=${major}.${minor}.${patch} <${major}.${minor}.${Number(patch) + 1}-0`;\n\t\t\telse return `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n\t\t\treturn `>=${major}.${minor}.${patch} <${Number(major) + 1}.0.0-0`;\n\t\t}\n\t})).join(\" \");\n}\nfunction parseTildes(range) {\n\treturn range.trim().split(/\\s+/).map((rangeVersion) => rangeVersion.replace(require_utils.parseRegex(require_constants.tilde), (_, major, minor, patch, preRelease) => {\n\t\tif (require_utils.isXVersion(major)) return \"\";\n\t\telse if (require_utils.isXVersion(minor)) return `>=${major}.0.0 <${Number(major) + 1}.0.0-0`;\n\t\telse if (require_utils.isXVersion(patch)) return `>=${major}.${minor}.0 <${major}.${Number(minor) + 1}.0-0`;\n\t\telse if (preRelease) return `>=${major}.${minor}.${patch}-${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n\t\treturn `>=${major}.${minor}.${patch} <${major}.${Number(minor) + 1}.0-0`;\n\t})).join(\" \");\n}\nfunction parseXRanges(range) {\n\treturn range.split(/\\s+/).map((rangeVersion) => rangeVersion.trim().replace(require_utils.parseRegex(require_constants.xRange), (ret, gtlt, major, minor, patch, preRelease) => {\n\t\tconst isXMajor = require_utils.isXVersion(major);\n\t\tconst isXMinor = isXMajor || require_utils.isXVersion(minor);\n\t\tconst isXPatch = isXMinor || require_utils.isXVersion(patch);\n\t\tif (gtlt === \"=\" && isXPatch) gtlt = \"\";\n\t\tpreRelease = \"\";\n\t\tif (isXMajor) if (gtlt === \">\" || gtlt === \"<\") return \"<0.0.0-0\";\n\t\telse return \"*\";\n\t\telse if (gtlt && isXPatch) {\n\t\t\tif (isXMinor) minor = 0;\n\t\t\tpatch = 0;\n\t\t\tif (gtlt === \">\") {\n\t\t\t\tgtlt = \">=\";\n\t\t\t\tif (isXMinor) {\n\t\t\t\t\tmajor = Number(major) + 1;\n\t\t\t\t\tminor = 0;\n\t\t\t\t\tpatch = 0;\n\t\t\t\t} else {\n\t\t\t\t\tminor = Number(minor) + 1;\n\t\t\t\t\tpatch = 0;\n\t\t\t\t}\n\t\t\t} else if (gtlt === \"<=\") {\n\t\t\t\tgtlt = \"<\";\n\t\t\t\tif (isXMinor) major = Number(major) + 1;\n\t\t\t\telse minor = Number(minor) + 1;\n\t\t\t}\n\t\t\tif (gtlt === \"<\") preRelease = \"-0\";\n\t\t\treturn `${gtlt + major}.${minor}.${patch}${preRelease}`;\n\t\t} else if (isXMinor) return `>=${major}.0.0${preRelease} <${Number(major) + 1}.0.0-0`;\n\t\telse if (isXPatch) return `>=${major}.${minor}.0${preRelease} <${major}.${Number(minor) + 1}.0-0`;\n\t\treturn ret;\n\t})).join(\" \");\n}\nfunction parseStar(range) {\n\treturn range.trim().replace(require_utils.parseRegex(require_constants.star), \"\");\n}\nfunction parseGTE0(comparatorString) {\n\treturn comparatorString.trim().replace(require_utils.parseRegex(require_constants.gte0), \"\");\n}\n\n//#endregion\nexports.parseCaretTrim = parseCaretTrim;\nexports.parseCarets = parseCarets;\nexports.parseComparatorTrim = parseComparatorTrim;\nexports.parseGTE0 = parseGTE0;\nexports.parseHyphen = parseHyphen;\nexports.parseStar = parseStar;\nexports.parseTildeTrim = parseTildeTrim;\nexports.parseTildes = parseTildes;\nexports.parseXRanges = parseXRanges;\n//# sourceMappingURL=parser.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci9wYXJzZXIuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci9wYXJzZXIuY2pzPzg1NGYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9jb25zdGFudHMgPSByZXF1aXJlKCcuL2NvbnN0YW50cy5janMnKTtcbmNvbnN0IHJlcXVpcmVfdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3V0aWxzL3NlbXZlci9wYXJzZXIudHNcbmZ1bmN0aW9uIHBhcnNlSHlwaGVuKHJhbmdlKSB7XG5cdHJldHVybiByYW5nZS5yZXBsYWNlKHJlcXVpcmVfdXRpbHMucGFyc2VSZWdleChyZXF1aXJlX2NvbnN0YW50cy5oeXBoZW5SYW5nZSksIChfcmFuZ2UsIGZyb20sIGZyb21NYWpvciwgZnJvbU1pbm9yLCBmcm9tUGF0Y2gsIF9mcm9tUHJlUmVsZWFzZSwgX2Zyb21CdWlsZCwgdG8sIHRvTWFqb3IsIHRvTWlub3IsIHRvUGF0Y2gsIHRvUHJlUmVsZWFzZSkgPT4ge1xuXHRcdGlmIChyZXF1aXJlX3V0aWxzLmlzWFZlcnNpb24oZnJvbU1ham9yKSkgZnJvbSA9IFwiXCI7XG5cdFx0ZWxzZSBpZiAocmVxdWlyZV91dGlscy5pc1hWZXJzaW9uKGZyb21NaW5vcikpIGZyb20gPSBgPj0ke2Zyb21NYWpvcn0uMC4wYDtcblx0XHRlbHNlIGlmIChyZXF1aXJlX3V0aWxzLmlzWFZlcnNpb24oZnJvbVBhdGNoKSkgZnJvbSA9IGA+PSR7ZnJvbU1ham9yfS4ke2Zyb21NaW5vcn0uMGA7XG5cdFx0ZWxzZSBmcm9tID0gYD49JHtmcm9tfWA7XG5cdFx0aWYgKHJlcXVpcmVfdXRpbHMuaXNYVmVyc2lvbih0b01ham9yKSkgdG8gPSBcIlwiO1xuXHRcdGVsc2UgaWYgKHJlcXVpcmVfdXRpbHMuaXNYVmVyc2lvbih0b01pbm9yKSkgdG8gPSBgPCR7TnVtYmVyKHRvTWFqb3IpICsgMX0uMC4wLTBgO1xuXHRcdGVsc2UgaWYgKHJlcXVpcmVfdXRpbHMuaXNYVmVyc2lvbih0b1BhdGNoKSkgdG8gPSBgPCR7dG9NYWpvcn0uJHtOdW1iZXIodG9NaW5vcikgKyAxfS4wLTBgO1xuXHRcdGVsc2UgaWYgKHRvUHJlUmVsZWFzZSkgdG8gPSBgPD0ke3RvTWFqb3J9LiR7dG9NaW5vcn0uJHt0b1BhdGNofS0ke3RvUHJlUmVsZWFzZX1gO1xuXHRcdGVsc2UgdG8gPSBgPD0ke3RvfWA7XG5cdFx0cmV0dXJuIGAke2Zyb219ICR7dG99YC50cmltKCk7XG5cdH0pO1xufVxuZnVuY3Rpb24gcGFyc2VDb21wYXJhdG9yVHJpbShyYW5nZSkge1xuXHRyZXR1cm4gcmFuZ2UucmVwbGFjZShyZXF1aXJlX3V0aWxzLnBhcnNlUmVnZXgocmVxdWlyZV9jb25zdGFudHMuY29tcGFyYXRvclRyaW0pLCBcIiQxJDIkM1wiKTtcbn1cbmZ1bmN0aW9uIHBhcnNlVGlsZGVUcmltKHJhbmdlKSB7XG5cdHJldHVybiByYW5nZS5yZXBsYWNlKHJlcXVpcmVfdXRpbHMucGFyc2VSZWdleChyZXF1aXJlX2NvbnN0YW50cy50aWxkZVRyaW0pLCBcIiQxflwiKTtcbn1cbmZ1bmN0aW9uIHBhcnNlQ2FyZXRUcmltKHJhbmdlKSB7XG5cdHJldHVybiByYW5nZS5yZXBsYWNlKHJlcXVpcmVfdXRpbHMucGFyc2VSZWdleChyZXF1aXJlX2NvbnN0YW50cy5jYXJldFRyaW0pLCBcIiQxXlwiKTtcbn1cbmZ1bmN0aW9uIHBhcnNlQ2FyZXRzKHJhbmdlKSB7XG5cdHJldHVybiByYW5nZS50cmltKCkuc3BsaXQoL1xccysvKS5tYXAoKHJhbmdlVmVyc2lvbikgPT4gcmFuZ2VWZXJzaW9uLnJlcGxhY2UocmVxdWlyZV91dGlscy5wYXJzZVJlZ2V4KHJlcXVpcmVfY29uc3RhbnRzLmNhcmV0KSwgKF8sIG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZVJlbGVhc2UpID0+IHtcblx0XHRpZiAocmVxdWlyZV91dGlscy5pc1hWZXJzaW9uKG1ham9yKSkgcmV0dXJuIFwiXCI7XG5cdFx0ZWxzZSBpZiAocmVxdWlyZV91dGlscy5pc1hWZXJzaW9uKG1pbm9yKSkgcmV0dXJuIGA+PSR7bWFqb3J9LjAuMCA8JHtOdW1iZXIobWFqb3IpICsgMX0uMC4wLTBgO1xuXHRcdGVsc2UgaWYgKHJlcXVpcmVfdXRpbHMuaXNYVmVyc2lvbihwYXRjaCkpIGlmIChtYWpvciA9PT0gXCIwXCIpIHJldHVybiBgPj0ke21ham9yfS4ke21pbm9yfS4wIDwke21ham9yfS4ke051bWJlcihtaW5vcikgKyAxfS4wLTBgO1xuXHRcdGVsc2UgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LjAgPCR7TnVtYmVyKG1ham9yKSArIDF9LjAuMC0wYDtcblx0XHRlbHNlIGlmIChwcmVSZWxlYXNlKSBpZiAobWFqb3IgPT09IFwiMFwiKSBpZiAobWlub3IgPT09IFwiMFwiKSByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0tJHtwcmVSZWxlYXNlfSA8JHttYWpvcn0uJHttaW5vcn0uJHtOdW1iZXIocGF0Y2gpICsgMX0tMGA7XG5cdFx0ZWxzZSByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0tJHtwcmVSZWxlYXNlfSA8JHttYWpvcn0uJHtOdW1iZXIobWlub3IpICsgMX0uMC0wYDtcblx0XHRlbHNlIHJldHVybiBgPj0ke21ham9yfS4ke21pbm9yfS4ke3BhdGNofS0ke3ByZVJlbGVhc2V9IDwke051bWJlcihtYWpvcikgKyAxfS4wLjAtMGA7XG5cdFx0ZWxzZSB7XG5cdFx0XHRpZiAobWFqb3IgPT09IFwiMFwiKSBpZiAobWlub3IgPT09IFwiMFwiKSByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0gPCR7bWFqb3J9LiR7bWlub3J9LiR7TnVtYmVyKHBhdGNoKSArIDF9LTBgO1xuXHRcdFx0ZWxzZSByZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0gPCR7bWFqb3J9LiR7TnVtYmVyKG1pbm9yKSArIDF9LjAtMGA7XG5cdFx0XHRyZXR1cm4gYD49JHttYWpvcn0uJHttaW5vcn0uJHtwYXRjaH0gPCR7TnVtYmVyKG1ham9yKSArIDF9LjAuMC0wYDtcblx0XHR9XG5cdH0pKS5qb2luKFwiIFwiKTtcbn1cbmZ1bmN0aW9uIHBhcnNlVGlsZGVzKHJhbmdlKSB7XG5cdHJldHVybiByYW5nZS50cmltKCkuc3BsaXQoL1xccysvKS5tYXAoKHJhbmdlVmVyc2lvbikgPT4gcmFuZ2VWZXJzaW9uLnJlcGxhY2UocmVxdWlyZV91dGlscy5wYXJzZVJlZ2V4KHJlcXVpcmVfY29uc3RhbnRzLnRpbGRlKSwgKF8sIG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZVJlbGVhc2UpID0+IHtcblx0XHRpZiAocmVxdWlyZV91dGlscy5pc1hWZXJzaW9uKG1ham9yKSkgcmV0dXJuIFwiXCI7XG5cdFx0ZWxzZSBpZiAocmVxdWlyZV91dGlscy5pc1hWZXJzaW9uKG1pbm9yKSkgcmV0dXJuIGA+PSR7bWFqb3J9LjAuMCA8JHtOdW1iZXIobWFqb3IpICsgMX0uMC4wLTBgO1xuXHRcdGVsc2UgaWYgKHJlcXVpcmVfdXRpbHMuaXNYVmVyc2lvbihwYXRjaCkpIHJldHVybiBgPj0ke21ham9yfS4ke21pbm9yfS4wIDwke21ham9yfS4ke051bWJlcihtaW5vcikgKyAxfS4wLTBgO1xuXHRcdGVsc2UgaWYgKHByZVJlbGVhc2UpIHJldHVybiBgPj0ke21ham9yfS4ke21pbm9yfS4ke3BhdGNofS0ke3ByZVJlbGVhc2V9IDwke21ham9yfS4ke051bWJlcihtaW5vcikgKyAxfS4wLTBgO1xuXHRcdHJldHVybiBgPj0ke21ham9yfS4ke21pbm9yfS4ke3BhdGNofSA8JHttYWpvcn0uJHtOdW1iZXIobWlub3IpICsgMX0uMC0wYDtcblx0fSkpLmpvaW4oXCIgXCIpO1xufVxuZnVuY3Rpb24gcGFyc2VYUmFuZ2VzKHJhbmdlKSB7XG5cdHJldHVybiByYW5nZS5zcGxpdCgvXFxzKy8pLm1hcCgocmFuZ2VWZXJzaW9uKSA9PiByYW5nZVZlcnNpb24udHJpbSgpLnJlcGxhY2UocmVxdWlyZV91dGlscy5wYXJzZVJlZ2V4KHJlcXVpcmVfY29uc3RhbnRzLnhSYW5nZSksIChyZXQsIGd0bHQsIG1ham9yLCBtaW5vciwgcGF0Y2gsIHByZVJlbGVhc2UpID0+IHtcblx0XHRjb25zdCBpc1hNYWpvciA9IHJlcXVpcmVfdXRpbHMuaXNYVmVyc2lvbihtYWpvcik7XG5cdFx0Y29uc3QgaXNYTWlub3IgPSBpc1hNYWpvciB8fCByZXF1aXJlX3V0aWxzLmlzWFZlcnNpb24obWlub3IpO1xuXHRcdGNvbnN0IGlzWFBhdGNoID0gaXNYTWlub3IgfHwgcmVxdWlyZV91dGlscy5pc1hWZXJzaW9uKHBhdGNoKTtcblx0XHRpZiAoZ3RsdCA9PT0gXCI9XCIgJiYgaXNYUGF0Y2gpIGd0bHQgPSBcIlwiO1xuXHRcdHByZVJlbGVhc2UgPSBcIlwiO1xuXHRcdGlmIChpc1hNYWpvcikgaWYgKGd0bHQgPT09IFwiPlwiIHx8IGd0bHQgPT09IFwiPFwiKSByZXR1cm4gXCI8MC4wLjAtMFwiO1xuXHRcdGVsc2UgcmV0dXJuIFwiKlwiO1xuXHRcdGVsc2UgaWYgKGd0bHQgJiYgaXNYUGF0Y2gpIHtcblx0XHRcdGlmIChpc1hNaW5vcikgbWlub3IgPSAwO1xuXHRcdFx0cGF0Y2ggPSAwO1xuXHRcdFx0aWYgKGd0bHQgPT09IFwiPlwiKSB7XG5cdFx0XHRcdGd0bHQgPSBcIj49XCI7XG5cdFx0XHRcdGlmIChpc1hNaW5vcikge1xuXHRcdFx0XHRcdG1ham9yID0gTnVtYmVyKG1ham9yKSArIDE7XG5cdFx0XHRcdFx0bWlub3IgPSAwO1xuXHRcdFx0XHRcdHBhdGNoID0gMDtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRtaW5vciA9IE51bWJlcihtaW5vcikgKyAxO1xuXHRcdFx0XHRcdHBhdGNoID0gMDtcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChndGx0ID09PSBcIjw9XCIpIHtcblx0XHRcdFx0Z3RsdCA9IFwiPFwiO1xuXHRcdFx0XHRpZiAoaXNYTWlub3IpIG1ham9yID0gTnVtYmVyKG1ham9yKSArIDE7XG5cdFx0XHRcdGVsc2UgbWlub3IgPSBOdW1iZXIobWlub3IpICsgMTtcblx0XHRcdH1cblx0XHRcdGlmIChndGx0ID09PSBcIjxcIikgcHJlUmVsZWFzZSA9IFwiLTBcIjtcblx0XHRcdHJldHVybiBgJHtndGx0ICsgbWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9JHtwcmVSZWxlYXNlfWA7XG5cdFx0fSBlbHNlIGlmIChpc1hNaW5vcikgcmV0dXJuIGA+PSR7bWFqb3J9LjAuMCR7cHJlUmVsZWFzZX0gPCR7TnVtYmVyKG1ham9yKSArIDF9LjAuMC0wYDtcblx0XHRlbHNlIGlmIChpc1hQYXRjaCkgcmV0dXJuIGA+PSR7bWFqb3J9LiR7bWlub3J9LjAke3ByZVJlbGVhc2V9IDwke21ham9yfS4ke051bWJlcihtaW5vcikgKyAxfS4wLTBgO1xuXHRcdHJldHVybiByZXQ7XG5cdH0pKS5qb2luKFwiIFwiKTtcbn1cbmZ1bmN0aW9uIHBhcnNlU3RhcihyYW5nZSkge1xuXHRyZXR1cm4gcmFuZ2UudHJpbSgpLnJlcGxhY2UocmVxdWlyZV91dGlscy5wYXJzZVJlZ2V4KHJlcXVpcmVfY29uc3RhbnRzLnN0YXIpLCBcIlwiKTtcbn1cbmZ1bmN0aW9uIHBhcnNlR1RFMChjb21wYXJhdG9yU3RyaW5nKSB7XG5cdHJldHVybiBjb21wYXJhdG9yU3RyaW5nLnRyaW0oKS5yZXBsYWNlKHJlcXVpcmVfdXRpbHMucGFyc2VSZWdleChyZXF1aXJlX2NvbnN0YW50cy5ndGUwKSwgXCJcIik7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5wYXJzZUNhcmV0VHJpbSA9IHBhcnNlQ2FyZXRUcmltO1xuZXhwb3J0cy5wYXJzZUNhcmV0cyA9IHBhcnNlQ2FyZXRzO1xuZXhwb3J0cy5wYXJzZUNvbXBhcmF0b3JUcmltID0gcGFyc2VDb21wYXJhdG9yVHJpbTtcbmV4cG9ydHMucGFyc2VHVEUwID0gcGFyc2VHVEUwO1xuZXhwb3J0cy5wYXJzZUh5cGhlbiA9IHBhcnNlSHlwaGVuO1xuZXhwb3J0cy5wYXJzZVN0YXIgPSBwYXJzZVN0YXI7XG5leHBvcnRzLnBhcnNlVGlsZGVUcmltID0gcGFyc2VUaWxkZVRyaW07XG5leHBvcnRzLnBhcnNlVGlsZGVzID0gcGFyc2VUaWxkZXM7XG5leHBvcnRzLnBhcnNlWFJhbmdlcyA9IHBhcnNlWFJhbmdlcztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlci5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQixtQkFBTyxDQUFDLHVGQUFpQjtBQUNuRCxzQkFBc0IsbUJBQU8sQ0FBQyxtRkFBYTs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQsVUFBVTtBQUN0RSw0REFBNEQsVUFBVSxHQUFHLFVBQVU7QUFDbkYsbUJBQW1CLEtBQUs7QUFDeEI7QUFDQSx1REFBdUQsb0JBQW9CO0FBQzNFLHVEQUF1RCxRQUFRLEdBQUcsb0JBQW9CO0FBQ3RGLG1DQUFtQyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxhQUFhO0FBQ2pGLGlCQUFpQixHQUFHO0FBQ3BCLFlBQVksTUFBTSxFQUFFLEdBQUc7QUFDdkIsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0RBQXdELE1BQU0sUUFBUSxrQkFBa0I7QUFDeEYsMkVBQTJFLE1BQU0sR0FBRyxNQUFNLE1BQU0sTUFBTSxHQUFHLGtCQUFrQjtBQUMzSCxtQkFBbUIsTUFBTSxHQUFHLE1BQU0sTUFBTSxrQkFBa0I7QUFDMUQseUVBQXlFLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLFlBQVksR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLGtCQUFrQjtBQUN2SixtQkFBbUIsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsWUFBWSxHQUFHLE1BQU0sR0FBRyxrQkFBa0I7QUFDeEYsbUJBQW1CLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLFlBQVksR0FBRyxrQkFBa0I7QUFDL0U7QUFDQSxxREFBcUQsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxrQkFBa0I7QUFDckgsb0JBQW9CLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLE1BQU0sR0FBRyxrQkFBa0I7QUFDM0UsZUFBZSxNQUFNLEdBQUcsTUFBTSxHQUFHLE9BQU8sR0FBRyxrQkFBa0I7QUFDN0Q7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQSx3REFBd0QsTUFBTSxRQUFRLGtCQUFrQjtBQUN4Rix3REFBd0QsTUFBTSxHQUFHLE1BQU0sTUFBTSxNQUFNLEdBQUcsa0JBQWtCO0FBQ3hHLG1DQUFtQyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxZQUFZLEdBQUcsTUFBTSxHQUFHLGtCQUFrQjtBQUN4RyxjQUFjLE1BQU0sR0FBRyxNQUFNLEdBQUcsT0FBTyxHQUFHLE1BQU0sR0FBRyxrQkFBa0I7QUFDckUsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxhQUFhLEdBQUcsTUFBTSxHQUFHLE1BQU0sRUFBRSxXQUFXO0FBQ3pELElBQUksK0JBQStCLE1BQU0sTUFBTSxZQUFZLEdBQUcsa0JBQWtCO0FBQ2hGLGlDQUFpQyxNQUFNLEdBQUcsTUFBTSxJQUFJLFlBQVksR0FBRyxNQUFNLEdBQUcsa0JBQWtCO0FBQzlGO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQiwyQkFBMkI7QUFDM0IsaUJBQWlCO0FBQ2pCLG1CQUFtQjtBQUNuQixpQkFBaUI7QUFDakIsc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixvQkFBb0I7QUFDcEIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/semver/parser.cjs\n\n}");
|
|
180
|
+
|
|
181
|
+
},
|
|
182
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
183
|
+
eval("{const require_constants = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/constants.cjs\");\n\n//#region src/utils/semver/utils.ts\nfunction parseRegex(source) {\n\treturn new RegExp(source);\n}\nfunction isXVersion(version) {\n\treturn !version || version.toLowerCase() === \"x\" || version === \"*\";\n}\nfunction pipe(...fns) {\n\treturn (x) => fns.reduce((v, f) => f(v), x);\n}\nfunction extractComparator(comparatorString) {\n\treturn comparatorString.match(parseRegex(require_constants.comparator));\n}\nfunction combineVersion(major, minor, patch, preRelease) {\n\tconst mainVersion = `${major}.${minor}.${patch}`;\n\tif (preRelease) return `${mainVersion}-${preRelease}`;\n\treturn mainVersion;\n}\n\n//#endregion\nexports.combineVersion = combineVersion;\nexports.extractComparator = extractComparator;\nexports.isXVersion = isXVersion;\nexports.parseRegex = parseRegex;\nexports.pipe = pipe;\n//# sourceMappingURL=utils.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NlbXZlci91dGlscy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlL2Rpc3QvdXRpbHMvc2VtdmVyL3V0aWxzLmNqcz83ZTc2Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfY29uc3RhbnRzID0gcmVxdWlyZSgnLi9jb25zdGFudHMuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvdXRpbHMvc2VtdmVyL3V0aWxzLnRzXG5mdW5jdGlvbiBwYXJzZVJlZ2V4KHNvdXJjZSkge1xuXHRyZXR1cm4gbmV3IFJlZ0V4cChzb3VyY2UpO1xufVxuZnVuY3Rpb24gaXNYVmVyc2lvbih2ZXJzaW9uKSB7XG5cdHJldHVybiAhdmVyc2lvbiB8fCB2ZXJzaW9uLnRvTG93ZXJDYXNlKCkgPT09IFwieFwiIHx8IHZlcnNpb24gPT09IFwiKlwiO1xufVxuZnVuY3Rpb24gcGlwZSguLi5mbnMpIHtcblx0cmV0dXJuICh4KSA9PiBmbnMucmVkdWNlKCh2LCBmKSA9PiBmKHYpLCB4KTtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RDb21wYXJhdG9yKGNvbXBhcmF0b3JTdHJpbmcpIHtcblx0cmV0dXJuIGNvbXBhcmF0b3JTdHJpbmcubWF0Y2gocGFyc2VSZWdleChyZXF1aXJlX2NvbnN0YW50cy5jb21wYXJhdG9yKSk7XG59XG5mdW5jdGlvbiBjb21iaW5lVmVyc2lvbihtYWpvciwgbWlub3IsIHBhdGNoLCBwcmVSZWxlYXNlKSB7XG5cdGNvbnN0IG1haW5WZXJzaW9uID0gYCR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9YDtcblx0aWYgKHByZVJlbGVhc2UpIHJldHVybiBgJHttYWluVmVyc2lvbn0tJHtwcmVSZWxlYXNlfWA7XG5cdHJldHVybiBtYWluVmVyc2lvbjtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmNvbWJpbmVWZXJzaW9uID0gY29tYmluZVZlcnNpb247XG5leHBvcnRzLmV4dHJhY3RDb21wYXJhdG9yID0gZXh0cmFjdENvbXBhcmF0b3I7XG5leHBvcnRzLmlzWFZlcnNpb24gPSBpc1hWZXJzaW9uO1xuZXhwb3J0cy5wYXJzZVJlZ2V4ID0gcGFyc2VSZWdleDtcbmV4cG9ydHMucGlwZSA9IHBpcGU7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDBCQUEwQixtQkFBTyxDQUFDLHVGQUFpQjs7QUFFbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU07QUFDaEQsMkJBQTJCLFlBQVksR0FBRyxXQUFXO0FBQ3JEO0FBQ0E7O0FBRUE7QUFDQSxzQkFBc0I7QUFDdEIseUJBQXlCO0FBQ3pCLGtCQUFrQjtBQUNsQixrQkFBa0I7QUFDbEIsWUFBWTtBQUNaIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/semver/utils.cjs\n\n}");
|
|
184
|
+
|
|
185
|
+
},
|
|
186
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
187
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nconst require_tool = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\");\nconst require_global = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/global.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/constant.cjs\");\nconst require_index = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/semver/index.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/utils/share.ts\nfunction formatShare(shareArgs, from, name, shareStrategy) {\n\tlet get;\n\tif (\"get\" in shareArgs) get = shareArgs.get;\n\telse if (\"lib\" in shareArgs) get = () => Promise.resolve(shareArgs.lib);\n\telse get = () => Promise.resolve(() => {\n\t\trequire_logger.error(`Cannot get shared \"${name}\" from \"${from}\": neither \"get\" nor \"lib\" is provided in the share config.`);\n\t});\n\tif (shareArgs.shareConfig?.eager && shareArgs.treeShaking?.mode) require_logger.error(`Invalid shared config for \"${name}\" from \"${from}\": cannot use both \"eager: true\" and \"treeShaking.mode\" simultaneously. Choose one strategy.`);\n\treturn {\n\t\tdeps: [],\n\t\tuseIn: [],\n\t\tfrom,\n\t\tloading: null,\n\t\t...shareArgs,\n\t\tshareConfig: {\n\t\t\trequiredVersion: `^${shareArgs.version}`,\n\t\t\tsingleton: false,\n\t\t\teager: false,\n\t\t\tstrictVersion: false,\n\t\t\t...shareArgs.shareConfig\n\t\t},\n\t\tget,\n\t\tloaded: shareArgs?.loaded || \"lib\" in shareArgs ? true : void 0,\n\t\tversion: shareArgs.version ?? \"0\",\n\t\tscope: Array.isArray(shareArgs.scope) ? shareArgs.scope : [shareArgs.scope ?? \"default\"],\n\t\tstrategy: (shareArgs.strategy ?? shareStrategy) || \"version-first\",\n\t\ttreeShaking: shareArgs.treeShaking ? {\n\t\t\t...shareArgs.treeShaking,\n\t\t\tmode: shareArgs.treeShaking.mode ?? \"server-calc\",\n\t\t\tstatus: shareArgs.treeShaking.status ?? _module_federation_sdk.TreeShakingStatus.UNKNOWN,\n\t\t\tuseIn: []\n\t\t} : void 0\n\t};\n}\nfunction formatShareConfigs(prevOptions, newOptions) {\n\tconst shareArgs = newOptions.shared || {};\n\tconst from = newOptions.name;\n\tconst newShareInfos = Object.keys(shareArgs).reduce((res, pkgName) => {\n\t\tconst arrayShareArgs = require_tool.arrayOptions(shareArgs[pkgName]);\n\t\tres[pkgName] = res[pkgName] || [];\n\t\tarrayShareArgs.forEach((shareConfig) => {\n\t\t\tres[pkgName].push(formatShare(shareConfig, from, pkgName, newOptions.shareStrategy));\n\t\t});\n\t\treturn res;\n\t}, {});\n\tconst allShareInfos = { ...prevOptions.shared };\n\tObject.keys(newShareInfos).forEach((shareKey) => {\n\t\tif (!allShareInfos[shareKey]) allShareInfos[shareKey] = newShareInfos[shareKey];\n\t\telse newShareInfos[shareKey].forEach((newUserSharedOptions) => {\n\t\t\tif (!allShareInfos[shareKey].find((sharedVal) => sharedVal.version === newUserSharedOptions.version)) allShareInfos[shareKey].push(newUserSharedOptions);\n\t\t});\n\t});\n\treturn {\n\t\tallShareInfos,\n\t\tnewShareInfos\n\t};\n}\nfunction shouldUseTreeShaking(treeShaking, usedExports) {\n\tif (!treeShaking) return false;\n\tconst { status, mode } = treeShaking;\n\tif (status === _module_federation_sdk.TreeShakingStatus.NO_USE) return false;\n\tif (status === _module_federation_sdk.TreeShakingStatus.CALCULATED) return true;\n\tif (mode === \"runtime-infer\") {\n\t\tif (!usedExports) return true;\n\t\treturn isMatchUsedExports(treeShaking, usedExports);\n\t}\n\treturn false;\n}\n/**\n* compare version a and b, return true if a is less than b\n*/\nfunction versionLt(a, b) {\n\tconst transformInvalidVersion = (version) => {\n\t\tif (!Number.isNaN(Number(version))) {\n\t\t\tconst splitArr = version.split(\".\");\n\t\t\tlet validVersion = version;\n\t\t\tfor (let i = 0; i < 3 - splitArr.length; i++) validVersion += \".0\";\n\t\t\treturn validVersion;\n\t\t}\n\t\treturn version;\n\t};\n\tif (require_index.satisfy(transformInvalidVersion(a), `<=${transformInvalidVersion(b)}`)) return true;\n\telse return false;\n}\nconst findVersion = (shareVersionMap, cb) => {\n\tconst callback = cb || function(prev, cur) {\n\t\treturn versionLt(prev, cur);\n\t};\n\treturn Object.keys(shareVersionMap).reduce((prev, cur) => {\n\t\tif (!prev) return cur;\n\t\tif (callback(prev, cur)) return cur;\n\t\tif (prev === \"0\") return cur;\n\t\treturn prev;\n\t}, 0);\n};\nconst isLoaded = (shared) => {\n\treturn Boolean(shared.loaded) || typeof shared.lib === \"function\";\n};\nconst isLoading = (shared) => {\n\treturn Boolean(shared.loading);\n};\nconst isMatchUsedExports = (treeShaking, usedExports) => {\n\tif (!treeShaking || !usedExports) return false;\n\tconst { usedExports: treeShakingUsedExports } = treeShaking;\n\tif (!treeShakingUsedExports) return false;\n\tif (usedExports.every((e) => treeShakingUsedExports.includes(e))) return true;\n\treturn false;\n};\nfunction findSingletonVersionOrderByVersion(shareScopeMap, scope, pkgName, treeShaking) {\n\tconst versions = shareScopeMap[scope][pkgName];\n\tlet version = \"\";\n\tlet useTreesShaking = shouldUseTreeShaking(treeShaking);\n\tconst callback = function(prev, cur) {\n\t\tif (useTreesShaking) {\n\t\t\tif (!versions[prev].treeShaking) return true;\n\t\t\tif (!versions[cur].treeShaking) return false;\n\t\t\treturn !isLoaded(versions[prev].treeShaking) && versionLt(prev, cur);\n\t\t}\n\t\treturn !isLoaded(versions[prev]) && versionLt(prev, cur);\n\t};\n\tif (useTreesShaking) {\n\t\tversion = findVersion(shareScopeMap[scope][pkgName], callback);\n\t\tif (version) return {\n\t\t\tversion,\n\t\t\tuseTreesShaking\n\t\t};\n\t\tuseTreesShaking = false;\n\t}\n\treturn {\n\t\tversion: findVersion(shareScopeMap[scope][pkgName], callback),\n\t\tuseTreesShaking\n\t};\n}\nconst isLoadingOrLoaded = (shared) => {\n\treturn isLoaded(shared) || isLoading(shared);\n};\nfunction findSingletonVersionOrderByLoaded(shareScopeMap, scope, pkgName, treeShaking) {\n\tconst versions = shareScopeMap[scope][pkgName];\n\tlet version = \"\";\n\tlet useTreesShaking = shouldUseTreeShaking(treeShaking);\n\tconst callback = function(prev, cur) {\n\t\tif (useTreesShaking) {\n\t\t\tif (!versions[prev].treeShaking) return true;\n\t\t\tif (!versions[cur].treeShaking) return false;\n\t\t\tif (isLoadingOrLoaded(versions[cur].treeShaking)) if (isLoadingOrLoaded(versions[prev].treeShaking)) return Boolean(versionLt(prev, cur));\n\t\t\telse return true;\n\t\t\tif (isLoadingOrLoaded(versions[prev].treeShaking)) return false;\n\t\t}\n\t\tif (isLoadingOrLoaded(versions[cur])) if (isLoadingOrLoaded(versions[prev])) return Boolean(versionLt(prev, cur));\n\t\telse return true;\n\t\tif (isLoadingOrLoaded(versions[prev])) return false;\n\t\treturn versionLt(prev, cur);\n\t};\n\tif (useTreesShaking) {\n\t\tversion = findVersion(shareScopeMap[scope][pkgName], callback);\n\t\tif (version) return {\n\t\t\tversion,\n\t\t\tuseTreesShaking\n\t\t};\n\t\tuseTreesShaking = false;\n\t}\n\treturn {\n\t\tversion: findVersion(shareScopeMap[scope][pkgName], callback),\n\t\tuseTreesShaking\n\t};\n}\nfunction getFindShareFunction(strategy) {\n\tif (strategy === \"loaded-first\") return findSingletonVersionOrderByLoaded;\n\treturn findSingletonVersionOrderByVersion;\n}\nfunction getRegisteredShare(localShareScopeMap, pkgName, shareInfo, resolveShare) {\n\tif (!localShareScopeMap) return;\n\tconst { shareConfig, scope = require_constant.DEFAULT_SCOPE, strategy, treeShaking } = shareInfo;\n\tconst scopes = Array.isArray(scope) ? scope : [scope];\n\tfor (const sc of scopes) if (shareConfig && localShareScopeMap[sc] && localShareScopeMap[sc][pkgName]) {\n\t\tconst { requiredVersion } = shareConfig;\n\t\tconst { version: maxOrSingletonVersion, useTreesShaking } = getFindShareFunction(strategy)(localShareScopeMap, sc, pkgName, treeShaking);\n\t\tconst defaultResolver = () => {\n\t\t\tconst shared = localShareScopeMap[sc][pkgName][maxOrSingletonVersion];\n\t\t\tif (shareConfig.singleton) {\n\t\t\t\tif (typeof requiredVersion === \"string\" && !require_index.satisfy(maxOrSingletonVersion, requiredVersion)) {\n\t\t\t\t\tconst msg = `Version ${maxOrSingletonVersion} from ${maxOrSingletonVersion && shared.from} of shared singleton module ${pkgName} does not satisfy the requirement of ${shareInfo.from} which needs ${requiredVersion})`;\n\t\t\t\t\tif (shareConfig.strictVersion) require_logger.error(msg);\n\t\t\t\t\telse require_logger.warn(msg);\n\t\t\t\t}\n\t\t\t\treturn {\n\t\t\t\t\tshared,\n\t\t\t\t\tuseTreesShaking\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tif (requiredVersion === false || requiredVersion === \"*\") return {\n\t\t\t\t\tshared,\n\t\t\t\t\tuseTreesShaking\n\t\t\t\t};\n\t\t\t\tif (require_index.satisfy(maxOrSingletonVersion, requiredVersion)) return {\n\t\t\t\t\tshared,\n\t\t\t\t\tuseTreesShaking\n\t\t\t\t};\n\t\t\t\tconst _usedTreeShaking = shouldUseTreeShaking(treeShaking);\n\t\t\t\tif (_usedTreeShaking) for (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])) {\n\t\t\t\t\tif (!shouldUseTreeShaking(versionValue.treeShaking, treeShaking?.usedExports)) continue;\n\t\t\t\t\tif (require_index.satisfy(versionKey, requiredVersion)) return {\n\t\t\t\t\t\tshared: versionValue,\n\t\t\t\t\t\tuseTreesShaking: _usedTreeShaking\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tfor (const [versionKey, versionValue] of Object.entries(localShareScopeMap[sc][pkgName])) if (require_index.satisfy(versionKey, requiredVersion)) return {\n\t\t\t\t\tshared: versionValue,\n\t\t\t\t\tuseTreesShaking: false\n\t\t\t\t};\n\t\t\t}\n\t\t};\n\t\tconst params = {\n\t\t\tshareScopeMap: localShareScopeMap,\n\t\t\tscope: sc,\n\t\t\tpkgName,\n\t\t\tversion: maxOrSingletonVersion,\n\t\t\tGlobalFederation: require_global.Global.__FEDERATION__,\n\t\t\tshareInfo,\n\t\t\tresolver: defaultResolver\n\t\t};\n\t\treturn (resolveShare.emit(params) || params).resolver();\n\t}\n}\nfunction getGlobalShareScope() {\n\treturn require_global.Global.__FEDERATION__.__SHARE__;\n}\nfunction getTargetSharedOptions(options) {\n\tconst { pkgName, extraOptions, shareInfos } = options;\n\tconst defaultResolver = (sharedOptions) => {\n\t\tif (!sharedOptions) return;\n\t\tconst shareVersionMap = {};\n\t\tsharedOptions.forEach((shared) => {\n\t\t\tshareVersionMap[shared.version] = shared;\n\t\t});\n\t\tconst callback = function(prev, cur) {\n\t\t\treturn !isLoaded(shareVersionMap[prev]) && versionLt(prev, cur);\n\t\t};\n\t\treturn shareVersionMap[findVersion(shareVersionMap, callback)];\n\t};\n\tconst resolver = extraOptions?.resolver ?? defaultResolver;\n\tconst isPlainObject = (val) => {\n\t\treturn val !== null && typeof val === \"object\" && !Array.isArray(val);\n\t};\n\tconst merge = (...sources) => {\n\t\tconst out = {};\n\t\tfor (const src of sources) {\n\t\t\tif (!src) continue;\n\t\t\tfor (const [key, value] of Object.entries(src)) {\n\t\t\t\tconst prev = out[key];\n\t\t\t\tif (isPlainObject(prev) && isPlainObject(value)) out[key] = merge(prev, value);\n\t\t\t\telse if (value !== void 0) out[key] = value;\n\t\t\t}\n\t\t}\n\t\treturn out;\n\t};\n\treturn merge(resolver(shareInfos[pkgName]), extraOptions?.customShareInfo);\n}\nconst addUseIn = (shared, from) => {\n\tif (!shared.useIn) shared.useIn = [];\n\trequire_tool.addUniqueItem(shared.useIn, from);\n};\nfunction directShare(shared, useTreesShaking) {\n\tif (useTreesShaking && shared.treeShaking) return shared.treeShaking;\n\treturn shared;\n}\n\n//#endregion\nexports.addUseIn = addUseIn;\nexports.directShare = directShare;\nexports.formatShareConfigs = formatShareConfigs;\nexports.getGlobalShareScope = getGlobalShareScope;\nexports.getRegisteredShare = getRegisteredShare;\nexports.getTargetSharedOptions = getTargetSharedOptions;\nexports.shouldUseTreeShaking = shouldUseTreeShaking;\n//# sourceMappingURL=share.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3NoYXJlLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmUvZGlzdC91dGlscy9zaGFyZS5janM/ODAxOCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX2xvZ2dlciA9IHJlcXVpcmUoJy4vbG9nZ2VyLmNqcycpO1xuY29uc3QgcmVxdWlyZV90b29sID0gcmVxdWlyZSgnLi90b29sLmNqcycpO1xuY29uc3QgcmVxdWlyZV9nbG9iYWwgPSByZXF1aXJlKCcuLi9nbG9iYWwuY2pzJyk7XG5jb25zdCByZXF1aXJlX2NvbnN0YW50ID0gcmVxdWlyZSgnLi4vY29uc3RhbnQuY2pzJyk7XG5jb25zdCByZXF1aXJlX2luZGV4ID0gcmVxdWlyZSgnLi9zZW12ZXIvaW5kZXguY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3NkayA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vc2RrXCIpO1xuXG4vLyNyZWdpb24gc3JjL3V0aWxzL3NoYXJlLnRzXG5mdW5jdGlvbiBmb3JtYXRTaGFyZShzaGFyZUFyZ3MsIGZyb20sIG5hbWUsIHNoYXJlU3RyYXRlZ3kpIHtcblx0bGV0IGdldDtcblx0aWYgKFwiZ2V0XCIgaW4gc2hhcmVBcmdzKSBnZXQgPSBzaGFyZUFyZ3MuZ2V0O1xuXHRlbHNlIGlmIChcImxpYlwiIGluIHNoYXJlQXJncykgZ2V0ID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHNoYXJlQXJncy5saWIpO1xuXHRlbHNlIGdldCA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgoKSA9PiB7XG5cdFx0cmVxdWlyZV9sb2dnZXIuZXJyb3IoYENhbm5vdCBnZXQgc2hhcmVkIFwiJHtuYW1lfVwiIGZyb20gXCIke2Zyb219XCI6IG5laXRoZXIgXCJnZXRcIiBub3IgXCJsaWJcIiBpcyBwcm92aWRlZCBpbiB0aGUgc2hhcmUgY29uZmlnLmApO1xuXHR9KTtcblx0aWYgKHNoYXJlQXJncy5zaGFyZUNvbmZpZz8uZWFnZXIgJiYgc2hhcmVBcmdzLnRyZWVTaGFraW5nPy5tb2RlKSByZXF1aXJlX2xvZ2dlci5lcnJvcihgSW52YWxpZCBzaGFyZWQgY29uZmlnIGZvciBcIiR7bmFtZX1cIiBmcm9tIFwiJHtmcm9tfVwiOiBjYW5ub3QgdXNlIGJvdGggXCJlYWdlcjogdHJ1ZVwiIGFuZCBcInRyZWVTaGFraW5nLm1vZGVcIiBzaW11bHRhbmVvdXNseS4gQ2hvb3NlIG9uZSBzdHJhdGVneS5gKTtcblx0cmV0dXJuIHtcblx0XHRkZXBzOiBbXSxcblx0XHR1c2VJbjogW10sXG5cdFx0ZnJvbSxcblx0XHRsb2FkaW5nOiBudWxsLFxuXHRcdC4uLnNoYXJlQXJncyxcblx0XHRzaGFyZUNvbmZpZzoge1xuXHRcdFx0cmVxdWlyZWRWZXJzaW9uOiBgXiR7c2hhcmVBcmdzLnZlcnNpb259YCxcblx0XHRcdHNpbmdsZXRvbjogZmFsc2UsXG5cdFx0XHRlYWdlcjogZmFsc2UsXG5cdFx0XHRzdHJpY3RWZXJzaW9uOiBmYWxzZSxcblx0XHRcdC4uLnNoYXJlQXJncy5zaGFyZUNvbmZpZ1xuXHRcdH0sXG5cdFx0Z2V0LFxuXHRcdGxvYWRlZDogc2hhcmVBcmdzPy5sb2FkZWQgfHwgXCJsaWJcIiBpbiBzaGFyZUFyZ3MgPyB0cnVlIDogdm9pZCAwLFxuXHRcdHZlcnNpb246IHNoYXJlQXJncy52ZXJzaW9uID8/IFwiMFwiLFxuXHRcdHNjb3BlOiBBcnJheS5pc0FycmF5KHNoYXJlQXJncy5zY29wZSkgPyBzaGFyZUFyZ3Muc2NvcGUgOiBbc2hhcmVBcmdzLnNjb3BlID8/IFwiZGVmYXVsdFwiXSxcblx0XHRzdHJhdGVneTogKHNoYXJlQXJncy5zdHJhdGVneSA/PyBzaGFyZVN0cmF0ZWd5KSB8fCBcInZlcnNpb24tZmlyc3RcIixcblx0XHR0cmVlU2hha2luZzogc2hhcmVBcmdzLnRyZWVTaGFraW5nID8ge1xuXHRcdFx0Li4uc2hhcmVBcmdzLnRyZWVTaGFraW5nLFxuXHRcdFx0bW9kZTogc2hhcmVBcmdzLnRyZWVTaGFraW5nLm1vZGUgPz8gXCJzZXJ2ZXItY2FsY1wiLFxuXHRcdFx0c3RhdHVzOiBzaGFyZUFyZ3MudHJlZVNoYWtpbmcuc3RhdHVzID8/IF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuVHJlZVNoYWtpbmdTdGF0dXMuVU5LTk9XTixcblx0XHRcdHVzZUluOiBbXVxuXHRcdH0gOiB2b2lkIDBcblx0fTtcbn1cbmZ1bmN0aW9uIGZvcm1hdFNoYXJlQ29uZmlncyhwcmV2T3B0aW9ucywgbmV3T3B0aW9ucykge1xuXHRjb25zdCBzaGFyZUFyZ3MgPSBuZXdPcHRpb25zLnNoYXJlZCB8fCB7fTtcblx0Y29uc3QgZnJvbSA9IG5ld09wdGlvbnMubmFtZTtcblx0Y29uc3QgbmV3U2hhcmVJbmZvcyA9IE9iamVjdC5rZXlzKHNoYXJlQXJncykucmVkdWNlKChyZXMsIHBrZ05hbWUpID0+IHtcblx0XHRjb25zdCBhcnJheVNoYXJlQXJncyA9IHJlcXVpcmVfdG9vbC5hcnJheU9wdGlvbnMoc2hhcmVBcmdzW3BrZ05hbWVdKTtcblx0XHRyZXNbcGtnTmFtZV0gPSByZXNbcGtnTmFtZV0gfHwgW107XG5cdFx0YXJyYXlTaGFyZUFyZ3MuZm9yRWFjaCgoc2hhcmVDb25maWcpID0+IHtcblx0XHRcdHJlc1twa2dOYW1lXS5wdXNoKGZvcm1hdFNoYXJlKHNoYXJlQ29uZmlnLCBmcm9tLCBwa2dOYW1lLCBuZXdPcHRpb25zLnNoYXJlU3RyYXRlZ3kpKTtcblx0XHR9KTtcblx0XHRyZXR1cm4gcmVzO1xuXHR9LCB7fSk7XG5cdGNvbnN0IGFsbFNoYXJlSW5mb3MgPSB7IC4uLnByZXZPcHRpb25zLnNoYXJlZCB9O1xuXHRPYmplY3Qua2V5cyhuZXdTaGFyZUluZm9zKS5mb3JFYWNoKChzaGFyZUtleSkgPT4ge1xuXHRcdGlmICghYWxsU2hhcmVJbmZvc1tzaGFyZUtleV0pIGFsbFNoYXJlSW5mb3Nbc2hhcmVLZXldID0gbmV3U2hhcmVJbmZvc1tzaGFyZUtleV07XG5cdFx0ZWxzZSBuZXdTaGFyZUluZm9zW3NoYXJlS2V5XS5mb3JFYWNoKChuZXdVc2VyU2hhcmVkT3B0aW9ucykgPT4ge1xuXHRcdFx0aWYgKCFhbGxTaGFyZUluZm9zW3NoYXJlS2V5XS5maW5kKChzaGFyZWRWYWwpID0+IHNoYXJlZFZhbC52ZXJzaW9uID09PSBuZXdVc2VyU2hhcmVkT3B0aW9ucy52ZXJzaW9uKSkgYWxsU2hhcmVJbmZvc1tzaGFyZUtleV0ucHVzaChuZXdVc2VyU2hhcmVkT3B0aW9ucyk7XG5cdFx0fSk7XG5cdH0pO1xuXHRyZXR1cm4ge1xuXHRcdGFsbFNoYXJlSW5mb3MsXG5cdFx0bmV3U2hhcmVJbmZvc1xuXHR9O1xufVxuZnVuY3Rpb24gc2hvdWxkVXNlVHJlZVNoYWtpbmcodHJlZVNoYWtpbmcsIHVzZWRFeHBvcnRzKSB7XG5cdGlmICghdHJlZVNoYWtpbmcpIHJldHVybiBmYWxzZTtcblx0Y29uc3QgeyBzdGF0dXMsIG1vZGUgfSA9IHRyZWVTaGFraW5nO1xuXHRpZiAoc3RhdHVzID09PSBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLlRyZWVTaGFraW5nU3RhdHVzLk5PX1VTRSkgcmV0dXJuIGZhbHNlO1xuXHRpZiAoc3RhdHVzID09PSBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLlRyZWVTaGFraW5nU3RhdHVzLkNBTENVTEFURUQpIHJldHVybiB0cnVlO1xuXHRpZiAobW9kZSA9PT0gXCJydW50aW1lLWluZmVyXCIpIHtcblx0XHRpZiAoIXVzZWRFeHBvcnRzKSByZXR1cm4gdHJ1ZTtcblx0XHRyZXR1cm4gaXNNYXRjaFVzZWRFeHBvcnRzKHRyZWVTaGFraW5nLCB1c2VkRXhwb3J0cyk7XG5cdH1cblx0cmV0dXJuIGZhbHNlO1xufVxuLyoqXG4qIGNvbXBhcmUgdmVyc2lvbiBhIGFuZCBiLCByZXR1cm4gdHJ1ZSBpZiBhIGlzIGxlc3MgdGhhbiBiXG4qL1xuZnVuY3Rpb24gdmVyc2lvbkx0KGEsIGIpIHtcblx0Y29uc3QgdHJhbnNmb3JtSW52YWxpZFZlcnNpb24gPSAodmVyc2lvbikgPT4ge1xuXHRcdGlmICghTnVtYmVyLmlzTmFOKE51bWJlcih2ZXJzaW9uKSkpIHtcblx0XHRcdGNvbnN0IHNwbGl0QXJyID0gdmVyc2lvbi5zcGxpdChcIi5cIik7XG5cdFx0XHRsZXQgdmFsaWRWZXJzaW9uID0gdmVyc2lvbjtcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgMyAtIHNwbGl0QXJyLmxlbmd0aDsgaSsrKSB2YWxpZFZlcnNpb24gKz0gXCIuMFwiO1xuXHRcdFx0cmV0dXJuIHZhbGlkVmVyc2lvbjtcblx0XHR9XG5cdFx0cmV0dXJuIHZlcnNpb247XG5cdH07XG5cdGlmIChyZXF1aXJlX2luZGV4LnNhdGlzZnkodHJhbnNmb3JtSW52YWxpZFZlcnNpb24oYSksIGA8PSR7dHJhbnNmb3JtSW52YWxpZFZlcnNpb24oYil9YCkpIHJldHVybiB0cnVlO1xuXHRlbHNlIHJldHVybiBmYWxzZTtcbn1cbmNvbnN0IGZpbmRWZXJzaW9uID0gKHNoYXJlVmVyc2lvbk1hcCwgY2IpID0+IHtcblx0Y29uc3QgY2FsbGJhY2sgPSBjYiB8fCBmdW5jdGlvbihwcmV2LCBjdXIpIHtcblx0XHRyZXR1cm4gdmVyc2lvbkx0KHByZXYsIGN1cik7XG5cdH07XG5cdHJldHVybiBPYmplY3Qua2V5cyhzaGFyZVZlcnNpb25NYXApLnJlZHVjZSgocHJldiwgY3VyKSA9PiB7XG5cdFx0aWYgKCFwcmV2KSByZXR1cm4gY3VyO1xuXHRcdGlmIChjYWxsYmFjayhwcmV2LCBjdXIpKSByZXR1cm4gY3VyO1xuXHRcdGlmIChwcmV2ID09PSBcIjBcIikgcmV0dXJuIGN1cjtcblx0XHRyZXR1cm4gcHJldjtcblx0fSwgMCk7XG59O1xuY29uc3QgaXNMb2FkZWQgPSAoc2hhcmVkKSA9PiB7XG5cdHJldHVybiBCb29sZWFuKHNoYXJlZC5sb2FkZWQpIHx8IHR5cGVvZiBzaGFyZWQubGliID09PSBcImZ1bmN0aW9uXCI7XG59O1xuY29uc3QgaXNMb2FkaW5nID0gKHNoYXJlZCkgPT4ge1xuXHRyZXR1cm4gQm9vbGVhbihzaGFyZWQubG9hZGluZyk7XG59O1xuY29uc3QgaXNNYXRjaFVzZWRFeHBvcnRzID0gKHRyZWVTaGFraW5nLCB1c2VkRXhwb3J0cykgPT4ge1xuXHRpZiAoIXRyZWVTaGFraW5nIHx8ICF1c2VkRXhwb3J0cykgcmV0dXJuIGZhbHNlO1xuXHRjb25zdCB7IHVzZWRFeHBvcnRzOiB0cmVlU2hha2luZ1VzZWRFeHBvcnRzIH0gPSB0cmVlU2hha2luZztcblx0aWYgKCF0cmVlU2hha2luZ1VzZWRFeHBvcnRzKSByZXR1cm4gZmFsc2U7XG5cdGlmICh1c2VkRXhwb3J0cy5ldmVyeSgoZSkgPT4gdHJlZVNoYWtpbmdVc2VkRXhwb3J0cy5pbmNsdWRlcyhlKSkpIHJldHVybiB0cnVlO1xuXHRyZXR1cm4gZmFsc2U7XG59O1xuZnVuY3Rpb24gZmluZFNpbmdsZXRvblZlcnNpb25PcmRlckJ5VmVyc2lvbihzaGFyZVNjb3BlTWFwLCBzY29wZSwgcGtnTmFtZSwgdHJlZVNoYWtpbmcpIHtcblx0Y29uc3QgdmVyc2lvbnMgPSBzaGFyZVNjb3BlTWFwW3Njb3BlXVtwa2dOYW1lXTtcblx0bGV0IHZlcnNpb24gPSBcIlwiO1xuXHRsZXQgdXNlVHJlZXNTaGFraW5nID0gc2hvdWxkVXNlVHJlZVNoYWtpbmcodHJlZVNoYWtpbmcpO1xuXHRjb25zdCBjYWxsYmFjayA9IGZ1bmN0aW9uKHByZXYsIGN1cikge1xuXHRcdGlmICh1c2VUcmVlc1NoYWtpbmcpIHtcblx0XHRcdGlmICghdmVyc2lvbnNbcHJldl0udHJlZVNoYWtpbmcpIHJldHVybiB0cnVlO1xuXHRcdFx0aWYgKCF2ZXJzaW9uc1tjdXJdLnRyZWVTaGFraW5nKSByZXR1cm4gZmFsc2U7XG5cdFx0XHRyZXR1cm4gIWlzTG9hZGVkKHZlcnNpb25zW3ByZXZdLnRyZWVTaGFraW5nKSAmJiB2ZXJzaW9uTHQocHJldiwgY3VyKTtcblx0XHR9XG5cdFx0cmV0dXJuICFpc0xvYWRlZCh2ZXJzaW9uc1twcmV2XSkgJiYgdmVyc2lvbkx0KHByZXYsIGN1cik7XG5cdH07XG5cdGlmICh1c2VUcmVlc1NoYWtpbmcpIHtcblx0XHR2ZXJzaW9uID0gZmluZFZlcnNpb24oc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV0sIGNhbGxiYWNrKTtcblx0XHRpZiAodmVyc2lvbikgcmV0dXJuIHtcblx0XHRcdHZlcnNpb24sXG5cdFx0XHR1c2VUcmVlc1NoYWtpbmdcblx0XHR9O1xuXHRcdHVzZVRyZWVzU2hha2luZyA9IGZhbHNlO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0dmVyc2lvbjogZmluZFZlcnNpb24oc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV0sIGNhbGxiYWNrKSxcblx0XHR1c2VUcmVlc1NoYWtpbmdcblx0fTtcbn1cbmNvbnN0IGlzTG9hZGluZ09yTG9hZGVkID0gKHNoYXJlZCkgPT4ge1xuXHRyZXR1cm4gaXNMb2FkZWQoc2hhcmVkKSB8fCBpc0xvYWRpbmcoc2hhcmVkKTtcbn07XG5mdW5jdGlvbiBmaW5kU2luZ2xldG9uVmVyc2lvbk9yZGVyQnlMb2FkZWQoc2hhcmVTY29wZU1hcCwgc2NvcGUsIHBrZ05hbWUsIHRyZWVTaGFraW5nKSB7XG5cdGNvbnN0IHZlcnNpb25zID0gc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV07XG5cdGxldCB2ZXJzaW9uID0gXCJcIjtcblx0bGV0IHVzZVRyZWVzU2hha2luZyA9IHNob3VsZFVzZVRyZWVTaGFraW5nKHRyZWVTaGFraW5nKTtcblx0Y29uc3QgY2FsbGJhY2sgPSBmdW5jdGlvbihwcmV2LCBjdXIpIHtcblx0XHRpZiAodXNlVHJlZXNTaGFraW5nKSB7XG5cdFx0XHRpZiAoIXZlcnNpb25zW3ByZXZdLnRyZWVTaGFraW5nKSByZXR1cm4gdHJ1ZTtcblx0XHRcdGlmICghdmVyc2lvbnNbY3VyXS50cmVlU2hha2luZykgcmV0dXJuIGZhbHNlO1xuXHRcdFx0aWYgKGlzTG9hZGluZ09yTG9hZGVkKHZlcnNpb25zW2N1cl0udHJlZVNoYWtpbmcpKSBpZiAoaXNMb2FkaW5nT3JMb2FkZWQodmVyc2lvbnNbcHJldl0udHJlZVNoYWtpbmcpKSByZXR1cm4gQm9vbGVhbih2ZXJzaW9uTHQocHJldiwgY3VyKSk7XG5cdFx0XHRlbHNlIHJldHVybiB0cnVlO1xuXHRcdFx0aWYgKGlzTG9hZGluZ09yTG9hZGVkKHZlcnNpb25zW3ByZXZdLnRyZWVTaGFraW5nKSkgcmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0XHRpZiAoaXNMb2FkaW5nT3JMb2FkZWQodmVyc2lvbnNbY3VyXSkpIGlmIChpc0xvYWRpbmdPckxvYWRlZCh2ZXJzaW9uc1twcmV2XSkpIHJldHVybiBCb29sZWFuKHZlcnNpb25MdChwcmV2LCBjdXIpKTtcblx0XHRlbHNlIHJldHVybiB0cnVlO1xuXHRcdGlmIChpc0xvYWRpbmdPckxvYWRlZCh2ZXJzaW9uc1twcmV2XSkpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gdmVyc2lvbkx0KHByZXYsIGN1cik7XG5cdH07XG5cdGlmICh1c2VUcmVlc1NoYWtpbmcpIHtcblx0XHR2ZXJzaW9uID0gZmluZFZlcnNpb24oc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV0sIGNhbGxiYWNrKTtcblx0XHRpZiAodmVyc2lvbikgcmV0dXJuIHtcblx0XHRcdHZlcnNpb24sXG5cdFx0XHR1c2VUcmVlc1NoYWtpbmdcblx0XHR9O1xuXHRcdHVzZVRyZWVzU2hha2luZyA9IGZhbHNlO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0dmVyc2lvbjogZmluZFZlcnNpb24oc2hhcmVTY29wZU1hcFtzY29wZV1bcGtnTmFtZV0sIGNhbGxiYWNrKSxcblx0XHR1c2VUcmVlc1NoYWtpbmdcblx0fTtcbn1cbmZ1bmN0aW9uIGdldEZpbmRTaGFyZUZ1bmN0aW9uKHN0cmF0ZWd5KSB7XG5cdGlmIChzdHJhdGVneSA9PT0gXCJsb2FkZWQtZmlyc3RcIikgcmV0dXJuIGZpbmRTaW5nbGV0b25WZXJzaW9uT3JkZXJCeUxvYWRlZDtcblx0cmV0dXJuIGZpbmRTaW5nbGV0b25WZXJzaW9uT3JkZXJCeVZlcnNpb247XG59XG5mdW5jdGlvbiBnZXRSZWdpc3RlcmVkU2hhcmUobG9jYWxTaGFyZVNjb3BlTWFwLCBwa2dOYW1lLCBzaGFyZUluZm8sIHJlc29sdmVTaGFyZSkge1xuXHRpZiAoIWxvY2FsU2hhcmVTY29wZU1hcCkgcmV0dXJuO1xuXHRjb25zdCB7IHNoYXJlQ29uZmlnLCBzY29wZSA9IHJlcXVpcmVfY29uc3RhbnQuREVGQVVMVF9TQ09QRSwgc3RyYXRlZ3ksIHRyZWVTaGFraW5nIH0gPSBzaGFyZUluZm87XG5cdGNvbnN0IHNjb3BlcyA9IEFycmF5LmlzQXJyYXkoc2NvcGUpID8gc2NvcGUgOiBbc2NvcGVdO1xuXHRmb3IgKGNvbnN0IHNjIG9mIHNjb3BlcykgaWYgKHNoYXJlQ29uZmlnICYmIGxvY2FsU2hhcmVTY29wZU1hcFtzY10gJiYgbG9jYWxTaGFyZVNjb3BlTWFwW3NjXVtwa2dOYW1lXSkge1xuXHRcdGNvbnN0IHsgcmVxdWlyZWRWZXJzaW9uIH0gPSBzaGFyZUNvbmZpZztcblx0XHRjb25zdCB7IHZlcnNpb246IG1heE9yU2luZ2xldG9uVmVyc2lvbiwgdXNlVHJlZXNTaGFraW5nIH0gPSBnZXRGaW5kU2hhcmVGdW5jdGlvbihzdHJhdGVneSkobG9jYWxTaGFyZVNjb3BlTWFwLCBzYywgcGtnTmFtZSwgdHJlZVNoYWtpbmcpO1xuXHRcdGNvbnN0IGRlZmF1bHRSZXNvbHZlciA9ICgpID0+IHtcblx0XHRcdGNvbnN0IHNoYXJlZCA9IGxvY2FsU2hhcmVTY29wZU1hcFtzY11bcGtnTmFtZV1bbWF4T3JTaW5nbGV0b25WZXJzaW9uXTtcblx0XHRcdGlmIChzaGFyZUNvbmZpZy5zaW5nbGV0b24pIHtcblx0XHRcdFx0aWYgKHR5cGVvZiByZXF1aXJlZFZlcnNpb24gPT09IFwic3RyaW5nXCIgJiYgIXJlcXVpcmVfaW5kZXguc2F0aXNmeShtYXhPclNpbmdsZXRvblZlcnNpb24sIHJlcXVpcmVkVmVyc2lvbikpIHtcblx0XHRcdFx0XHRjb25zdCBtc2cgPSBgVmVyc2lvbiAke21heE9yU2luZ2xldG9uVmVyc2lvbn0gZnJvbSAke21heE9yU2luZ2xldG9uVmVyc2lvbiAmJiBzaGFyZWQuZnJvbX0gb2Ygc2hhcmVkIHNpbmdsZXRvbiBtb2R1bGUgJHtwa2dOYW1lfSBkb2VzIG5vdCBzYXRpc2Z5IHRoZSByZXF1aXJlbWVudCBvZiAke3NoYXJlSW5mby5mcm9tfSB3aGljaCBuZWVkcyAke3JlcXVpcmVkVmVyc2lvbn0pYDtcblx0XHRcdFx0XHRpZiAoc2hhcmVDb25maWcuc3RyaWN0VmVyc2lvbikgcmVxdWlyZV9sb2dnZXIuZXJyb3IobXNnKTtcblx0XHRcdFx0XHRlbHNlIHJlcXVpcmVfbG9nZ2VyLndhcm4obXNnKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdHNoYXJlZCxcblx0XHRcdFx0XHR1c2VUcmVlc1NoYWtpbmdcblx0XHRcdFx0fTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmIChyZXF1aXJlZFZlcnNpb24gPT09IGZhbHNlIHx8IHJlcXVpcmVkVmVyc2lvbiA9PT0gXCIqXCIpIHJldHVybiB7XG5cdFx0XHRcdFx0c2hhcmVkLFxuXHRcdFx0XHRcdHVzZVRyZWVzU2hha2luZ1xuXHRcdFx0XHR9O1xuXHRcdFx0XHRpZiAocmVxdWlyZV9pbmRleC5zYXRpc2Z5KG1heE9yU2luZ2xldG9uVmVyc2lvbiwgcmVxdWlyZWRWZXJzaW9uKSkgcmV0dXJuIHtcblx0XHRcdFx0XHRzaGFyZWQsXG5cdFx0XHRcdFx0dXNlVHJlZXNTaGFraW5nXG5cdFx0XHRcdH07XG5cdFx0XHRcdGNvbnN0IF91c2VkVHJlZVNoYWtpbmcgPSBzaG91bGRVc2VUcmVlU2hha2luZyh0cmVlU2hha2luZyk7XG5cdFx0XHRcdGlmIChfdXNlZFRyZWVTaGFraW5nKSBmb3IgKGNvbnN0IFt2ZXJzaW9uS2V5LCB2ZXJzaW9uVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGxvY2FsU2hhcmVTY29wZU1hcFtzY11bcGtnTmFtZV0pKSB7XG5cdFx0XHRcdFx0aWYgKCFzaG91bGRVc2VUcmVlU2hha2luZyh2ZXJzaW9uVmFsdWUudHJlZVNoYWtpbmcsIHRyZWVTaGFraW5nPy51c2VkRXhwb3J0cykpIGNvbnRpbnVlO1xuXHRcdFx0XHRcdGlmIChyZXF1aXJlX2luZGV4LnNhdGlzZnkodmVyc2lvbktleSwgcmVxdWlyZWRWZXJzaW9uKSkgcmV0dXJuIHtcblx0XHRcdFx0XHRcdHNoYXJlZDogdmVyc2lvblZhbHVlLFxuXHRcdFx0XHRcdFx0dXNlVHJlZXNTaGFraW5nOiBfdXNlZFRyZWVTaGFraW5nXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fVxuXHRcdFx0XHRmb3IgKGNvbnN0IFt2ZXJzaW9uS2V5LCB2ZXJzaW9uVmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGxvY2FsU2hhcmVTY29wZU1hcFtzY11bcGtnTmFtZV0pKSBpZiAocmVxdWlyZV9pbmRleC5zYXRpc2Z5KHZlcnNpb25LZXksIHJlcXVpcmVkVmVyc2lvbikpIHJldHVybiB7XG5cdFx0XHRcdFx0c2hhcmVkOiB2ZXJzaW9uVmFsdWUsXG5cdFx0XHRcdFx0dXNlVHJlZXNTaGFraW5nOiBmYWxzZVxuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgcGFyYW1zID0ge1xuXHRcdFx0c2hhcmVTY29wZU1hcDogbG9jYWxTaGFyZVNjb3BlTWFwLFxuXHRcdFx0c2NvcGU6IHNjLFxuXHRcdFx0cGtnTmFtZSxcblx0XHRcdHZlcnNpb246IG1heE9yU2luZ2xldG9uVmVyc2lvbixcblx0XHRcdEdsb2JhbEZlZGVyYXRpb246IHJlcXVpcmVfZ2xvYmFsLkdsb2JhbC5fX0ZFREVSQVRJT05fXyxcblx0XHRcdHNoYXJlSW5mbyxcblx0XHRcdHJlc29sdmVyOiBkZWZhdWx0UmVzb2x2ZXJcblx0XHR9O1xuXHRcdHJldHVybiAocmVzb2x2ZVNoYXJlLmVtaXQocGFyYW1zKSB8fCBwYXJhbXMpLnJlc29sdmVyKCk7XG5cdH1cbn1cbmZ1bmN0aW9uIGdldEdsb2JhbFNoYXJlU2NvcGUoKSB7XG5cdHJldHVybiByZXF1aXJlX2dsb2JhbC5HbG9iYWwuX19GRURFUkFUSU9OX18uX19TSEFSRV9fO1xufVxuZnVuY3Rpb24gZ2V0VGFyZ2V0U2hhcmVkT3B0aW9ucyhvcHRpb25zKSB7XG5cdGNvbnN0IHsgcGtnTmFtZSwgZXh0cmFPcHRpb25zLCBzaGFyZUluZm9zIH0gPSBvcHRpb25zO1xuXHRjb25zdCBkZWZhdWx0UmVzb2x2ZXIgPSAoc2hhcmVkT3B0aW9ucykgPT4ge1xuXHRcdGlmICghc2hhcmVkT3B0aW9ucykgcmV0dXJuO1xuXHRcdGNvbnN0IHNoYXJlVmVyc2lvbk1hcCA9IHt9O1xuXHRcdHNoYXJlZE9wdGlvbnMuZm9yRWFjaCgoc2hhcmVkKSA9PiB7XG5cdFx0XHRzaGFyZVZlcnNpb25NYXBbc2hhcmVkLnZlcnNpb25dID0gc2hhcmVkO1xuXHRcdH0pO1xuXHRcdGNvbnN0IGNhbGxiYWNrID0gZnVuY3Rpb24ocHJldiwgY3VyKSB7XG5cdFx0XHRyZXR1cm4gIWlzTG9hZGVkKHNoYXJlVmVyc2lvbk1hcFtwcmV2XSkgJiYgdmVyc2lvbkx0KHByZXYsIGN1cik7XG5cdFx0fTtcblx0XHRyZXR1cm4gc2hhcmVWZXJzaW9uTWFwW2ZpbmRWZXJzaW9uKHNoYXJlVmVyc2lvbk1hcCwgY2FsbGJhY2spXTtcblx0fTtcblx0Y29uc3QgcmVzb2x2ZXIgPSBleHRyYU9wdGlvbnM/LnJlc29sdmVyID8/IGRlZmF1bHRSZXNvbHZlcjtcblx0Y29uc3QgaXNQbGFpbk9iamVjdCA9ICh2YWwpID0+IHtcblx0XHRyZXR1cm4gdmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkodmFsKTtcblx0fTtcblx0Y29uc3QgbWVyZ2UgPSAoLi4uc291cmNlcykgPT4ge1xuXHRcdGNvbnN0IG91dCA9IHt9O1xuXHRcdGZvciAoY29uc3Qgc3JjIG9mIHNvdXJjZXMpIHtcblx0XHRcdGlmICghc3JjKSBjb250aW51ZTtcblx0XHRcdGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHNyYykpIHtcblx0XHRcdFx0Y29uc3QgcHJldiA9IG91dFtrZXldO1xuXHRcdFx0XHRpZiAoaXNQbGFpbk9iamVjdChwcmV2KSAmJiBpc1BsYWluT2JqZWN0KHZhbHVlKSkgb3V0W2tleV0gPSBtZXJnZShwcmV2LCB2YWx1ZSk7XG5cdFx0XHRcdGVsc2UgaWYgKHZhbHVlICE9PSB2b2lkIDApIG91dFtrZXldID0gdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiBvdXQ7XG5cdH07XG5cdHJldHVybiBtZXJnZShyZXNvbHZlcihzaGFyZUluZm9zW3BrZ05hbWVdKSwgZXh0cmFPcHRpb25zPy5jdXN0b21TaGFyZUluZm8pO1xufVxuY29uc3QgYWRkVXNlSW4gPSAoc2hhcmVkLCBmcm9tKSA9PiB7XG5cdGlmICghc2hhcmVkLnVzZUluKSBzaGFyZWQudXNlSW4gPSBbXTtcblx0cmVxdWlyZV90b29sLmFkZFVuaXF1ZUl0ZW0oc2hhcmVkLnVzZUluLCBmcm9tKTtcbn07XG5mdW5jdGlvbiBkaXJlY3RTaGFyZShzaGFyZWQsIHVzZVRyZWVzU2hha2luZykge1xuXHRpZiAodXNlVHJlZXNTaGFraW5nICYmIHNoYXJlZC50cmVlU2hha2luZykgcmV0dXJuIHNoYXJlZC50cmVlU2hha2luZztcblx0cmV0dXJuIHNoYXJlZDtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmFkZFVzZUluID0gYWRkVXNlSW47XG5leHBvcnRzLmRpcmVjdFNoYXJlID0gZGlyZWN0U2hhcmU7XG5leHBvcnRzLmZvcm1hdFNoYXJlQ29uZmlncyA9IGZvcm1hdFNoYXJlQ29uZmlncztcbmV4cG9ydHMuZ2V0R2xvYmFsU2hhcmVTY29wZSA9IGdldEdsb2JhbFNoYXJlU2NvcGU7XG5leHBvcnRzLmdldFJlZ2lzdGVyZWRTaGFyZSA9IGdldFJlZ2lzdGVyZWRTaGFyZTtcbmV4cG9ydHMuZ2V0VGFyZ2V0U2hhcmVkT3B0aW9ucyA9IGdldFRhcmdldFNoYXJlZE9wdGlvbnM7XG5leHBvcnRzLnNob3VsZFVzZVRyZWVTaGFraW5nID0gc2hvdWxkVXNlVHJlZVNoYWtpbmc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZS5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVCQUF1QixtQkFBTyxDQUFDLDZFQUFjO0FBQzdDLHFCQUFxQixtQkFBTyxDQUFDLDJFQUFZO0FBQ3pDLHVCQUF1QixtQkFBTyxDQUFDLHVFQUFlO0FBQzlDLHlCQUF5QixtQkFBTyxDQUFDLHlFQUFpQjtBQUNsRCxzQkFBc0IsbUJBQU8sQ0FBQyxtRkFBb0I7QUFDbEQsNkJBQTZCLG1CQUFPLENBQUMsNkRBQXdCOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw2Q0FBNkMsS0FBSyxVQUFVLEtBQUs7QUFDakUsRUFBRTtBQUNGLHFIQUFxSCxLQUFLLFVBQVUsS0FBSztBQUN6STtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3QixrQkFBa0I7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxFQUFFLElBQUk7QUFDTix5QkFBeUI7QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0gsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxlQUFlO0FBQ3hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHlCQUF5QjtBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RCwyQkFBMkI7QUFDdkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHNDQUFzQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyw2RUFBNkU7QUFDdEY7QUFDQTtBQUNBLFVBQVUsa0JBQWtCO0FBQzVCLFVBQVUsa0RBQWtEO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHVCQUF1QixPQUFPLHNDQUFzQyw2QkFBNkIsU0FBUyxzQ0FBc0MsZ0JBQWdCLGNBQWMsZ0JBQWdCO0FBQzFOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLG9DQUFvQztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZ0JBQWdCO0FBQ2hCLG1CQUFtQjtBQUNuQiwwQkFBMEI7QUFDMUIsMkJBQTJCO0FBQzNCLDBCQUEwQjtBQUMxQiw4QkFBOEI7QUFDOUIsNEJBQTRCO0FBQzVCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/share.cjs\n\n}");
|
|
188
|
+
|
|
189
|
+
},
|
|
190
|
+
"../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
191
|
+
eval("{const require_logger = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/utils/logger.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/utils/tool.ts\nfunction addUniqueItem(arr, item) {\n\tif (arr.findIndex((name) => name === item) === -1) arr.push(item);\n\treturn arr;\n}\nfunction getFMId(remoteInfo) {\n\tif (\"version\" in remoteInfo && remoteInfo.version) return `${remoteInfo.name}:${remoteInfo.version}`;\n\telse if (\"entry\" in remoteInfo && remoteInfo.entry) return `${remoteInfo.name}:${remoteInfo.entry}`;\n\telse return `${remoteInfo.name}`;\n}\nfunction isRemoteInfoWithEntry(remote) {\n\treturn typeof remote.entry !== \"undefined\";\n}\nfunction isPureRemoteEntry(remote) {\n\treturn !remote.entry.includes(\".json\");\n}\nasync function safeWrapper(callback, disableWarn) {\n\ttry {\n\t\treturn await callback();\n\t} catch (e) {\n\t\t!disableWarn && require_logger.warn(e);\n\t\treturn;\n\t}\n}\nfunction isObject(val) {\n\treturn val && typeof val === \"object\";\n}\nconst objectToString = Object.prototype.toString;\nfunction isPlainObject(val) {\n\treturn objectToString.call(val) === \"[object Object]\";\n}\nfunction isStaticResourcesEqual(url1, url2) {\n\tconst REG_EXP = /^(https?:)?\\/\\//i;\n\treturn url1.replace(REG_EXP, \"\").replace(/\\/$/, \"\") === url2.replace(REG_EXP, \"\").replace(/\\/$/, \"\");\n}\nfunction arrayOptions(options) {\n\treturn Array.isArray(options) ? options : [options];\n}\nfunction getRemoteEntryInfoFromSnapshot(snapshot) {\n\tconst defaultRemoteEntryInfo = {\n\t\turl: \"\",\n\t\ttype: \"global\",\n\t\tglobalName: \"\"\n\t};\n\tif (_module_federation_sdk.isBrowserEnvValue || (0, _module_federation_sdk.isReactNativeEnv)() || !(\"ssrRemoteEntry\" in snapshot)) return \"remoteEntry\" in snapshot ? {\n\t\turl: snapshot.remoteEntry,\n\t\ttype: snapshot.remoteEntryType,\n\t\tglobalName: snapshot.globalName\n\t} : defaultRemoteEntryInfo;\n\tif (\"ssrRemoteEntry\" in snapshot) return {\n\t\turl: snapshot.ssrRemoteEntry || defaultRemoteEntryInfo.url,\n\t\ttype: snapshot.ssrRemoteEntryType || defaultRemoteEntryInfo.type,\n\t\tglobalName: snapshot.globalName\n\t};\n\treturn defaultRemoteEntryInfo;\n}\nconst processModuleAlias = (name, subPath) => {\n\tlet moduleName;\n\tif (name.endsWith(\"/\")) moduleName = name.slice(0, -1);\n\telse moduleName = name;\n\tif (subPath.startsWith(\".\")) subPath = subPath.slice(1);\n\tmoduleName = moduleName + subPath;\n\treturn moduleName;\n};\n\n//#endregion\nexports.addUniqueItem = addUniqueItem;\nexports.arrayOptions = arrayOptions;\nexports.getFMId = getFMId;\nexports.getRemoteEntryInfoFromSnapshot = getRemoteEntryInfoFromSnapshot;\nexports.isObject = isObject;\nexports.isPlainObject = isPlainObject;\nexports.isPureRemoteEntry = isPureRemoteEntry;\nexports.isRemoteInfoWithEntry = isRemoteInfoWithEntry;\nexports.isStaticResourcesEqual = isStaticResourcesEqual;\nexports.objectToString = objectToString;\nexports.processModuleAlias = processModuleAlias;\nexports.safeWrapper = safeWrapper;\n//# sourceMappingURL=tool.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3Rvb2wuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZS9kaXN0L3V0aWxzL3Rvb2wuY2pzPzhkYTQiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9sb2dnZXIgPSByZXF1aXJlKCcuL2xvZ2dlci5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5cbi8vI3JlZ2lvbiBzcmMvdXRpbHMvdG9vbC50c1xuZnVuY3Rpb24gYWRkVW5pcXVlSXRlbShhcnIsIGl0ZW0pIHtcblx0aWYgKGFyci5maW5kSW5kZXgoKG5hbWUpID0+IG5hbWUgPT09IGl0ZW0pID09PSAtMSkgYXJyLnB1c2goaXRlbSk7XG5cdHJldHVybiBhcnI7XG59XG5mdW5jdGlvbiBnZXRGTUlkKHJlbW90ZUluZm8pIHtcblx0aWYgKFwidmVyc2lvblwiIGluIHJlbW90ZUluZm8gJiYgcmVtb3RlSW5mby52ZXJzaW9uKSByZXR1cm4gYCR7cmVtb3RlSW5mby5uYW1lfToke3JlbW90ZUluZm8udmVyc2lvbn1gO1xuXHRlbHNlIGlmIChcImVudHJ5XCIgaW4gcmVtb3RlSW5mbyAmJiByZW1vdGVJbmZvLmVudHJ5KSByZXR1cm4gYCR7cmVtb3RlSW5mby5uYW1lfToke3JlbW90ZUluZm8uZW50cnl9YDtcblx0ZWxzZSByZXR1cm4gYCR7cmVtb3RlSW5mby5uYW1lfWA7XG59XG5mdW5jdGlvbiBpc1JlbW90ZUluZm9XaXRoRW50cnkocmVtb3RlKSB7XG5cdHJldHVybiB0eXBlb2YgcmVtb3RlLmVudHJ5ICE9PSBcInVuZGVmaW5lZFwiO1xufVxuZnVuY3Rpb24gaXNQdXJlUmVtb3RlRW50cnkocmVtb3RlKSB7XG5cdHJldHVybiAhcmVtb3RlLmVudHJ5LmluY2x1ZGVzKFwiLmpzb25cIik7XG59XG5hc3luYyBmdW5jdGlvbiBzYWZlV3JhcHBlcihjYWxsYmFjaywgZGlzYWJsZVdhcm4pIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gYXdhaXQgY2FsbGJhY2soKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdCFkaXNhYmxlV2FybiAmJiByZXF1aXJlX2xvZ2dlci53YXJuKGUpO1xuXHRcdHJldHVybjtcblx0fVxufVxuZnVuY3Rpb24gaXNPYmplY3QodmFsKSB7XG5cdHJldHVybiB2YWwgJiYgdHlwZW9mIHZhbCA9PT0gXCJvYmplY3RcIjtcbn1cbmNvbnN0IG9iamVjdFRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsKSB7XG5cdHJldHVybiBvYmplY3RUb1N0cmluZy5jYWxsKHZhbCkgPT09IFwiW29iamVjdCBPYmplY3RdXCI7XG59XG5mdW5jdGlvbiBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKHVybDEsIHVybDIpIHtcblx0Y29uc3QgUkVHX0VYUCA9IC9eKGh0dHBzPzopP1xcL1xcLy9pO1xuXHRyZXR1cm4gdXJsMS5yZXBsYWNlKFJFR19FWFAsIFwiXCIpLnJlcGxhY2UoL1xcLyQvLCBcIlwiKSA9PT0gdXJsMi5yZXBsYWNlKFJFR19FWFAsIFwiXCIpLnJlcGxhY2UoL1xcLyQvLCBcIlwiKTtcbn1cbmZ1bmN0aW9uIGFycmF5T3B0aW9ucyhvcHRpb25zKSB7XG5cdHJldHVybiBBcnJheS5pc0FycmF5KG9wdGlvbnMpID8gb3B0aW9ucyA6IFtvcHRpb25zXTtcbn1cbmZ1bmN0aW9uIGdldFJlbW90ZUVudHJ5SW5mb0Zyb21TbmFwc2hvdChzbmFwc2hvdCkge1xuXHRjb25zdCBkZWZhdWx0UmVtb3RlRW50cnlJbmZvID0ge1xuXHRcdHVybDogXCJcIixcblx0XHR0eXBlOiBcImdsb2JhbFwiLFxuXHRcdGdsb2JhbE5hbWU6IFwiXCJcblx0fTtcblx0aWYgKF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNCcm93c2VyRW52VmFsdWUgfHwgKDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9zZGsuaXNSZWFjdE5hdGl2ZUVudikoKSB8fCAhKFwic3NyUmVtb3RlRW50cnlcIiBpbiBzbmFwc2hvdCkpIHJldHVybiBcInJlbW90ZUVudHJ5XCIgaW4gc25hcHNob3QgPyB7XG5cdFx0dXJsOiBzbmFwc2hvdC5yZW1vdGVFbnRyeSxcblx0XHR0eXBlOiBzbmFwc2hvdC5yZW1vdGVFbnRyeVR5cGUsXG5cdFx0Z2xvYmFsTmFtZTogc25hcHNob3QuZ2xvYmFsTmFtZVxuXHR9IDogZGVmYXVsdFJlbW90ZUVudHJ5SW5mbztcblx0aWYgKFwic3NyUmVtb3RlRW50cnlcIiBpbiBzbmFwc2hvdCkgcmV0dXJuIHtcblx0XHR1cmw6IHNuYXBzaG90LnNzclJlbW90ZUVudHJ5IHx8IGRlZmF1bHRSZW1vdGVFbnRyeUluZm8udXJsLFxuXHRcdHR5cGU6IHNuYXBzaG90LnNzclJlbW90ZUVudHJ5VHlwZSB8fCBkZWZhdWx0UmVtb3RlRW50cnlJbmZvLnR5cGUsXG5cdFx0Z2xvYmFsTmFtZTogc25hcHNob3QuZ2xvYmFsTmFtZVxuXHR9O1xuXHRyZXR1cm4gZGVmYXVsdFJlbW90ZUVudHJ5SW5mbztcbn1cbmNvbnN0IHByb2Nlc3NNb2R1bGVBbGlhcyA9IChuYW1lLCBzdWJQYXRoKSA9PiB7XG5cdGxldCBtb2R1bGVOYW1lO1xuXHRpZiAobmFtZS5lbmRzV2l0aChcIi9cIikpIG1vZHVsZU5hbWUgPSBuYW1lLnNsaWNlKDAsIC0xKTtcblx0ZWxzZSBtb2R1bGVOYW1lID0gbmFtZTtcblx0aWYgKHN1YlBhdGguc3RhcnRzV2l0aChcIi5cIikpIHN1YlBhdGggPSBzdWJQYXRoLnNsaWNlKDEpO1xuXHRtb2R1bGVOYW1lID0gbW9kdWxlTmFtZSArIHN1YlBhdGg7XG5cdHJldHVybiBtb2R1bGVOYW1lO1xufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmFkZFVuaXF1ZUl0ZW0gPSBhZGRVbmlxdWVJdGVtO1xuZXhwb3J0cy5hcnJheU9wdGlvbnMgPSBhcnJheU9wdGlvbnM7XG5leHBvcnRzLmdldEZNSWQgPSBnZXRGTUlkO1xuZXhwb3J0cy5nZXRSZW1vdGVFbnRyeUluZm9Gcm9tU25hcHNob3QgPSBnZXRSZW1vdGVFbnRyeUluZm9Gcm9tU25hcHNob3Q7XG5leHBvcnRzLmlzT2JqZWN0ID0gaXNPYmplY3Q7XG5leHBvcnRzLmlzUGxhaW5PYmplY3QgPSBpc1BsYWluT2JqZWN0O1xuZXhwb3J0cy5pc1B1cmVSZW1vdGVFbnRyeSA9IGlzUHVyZVJlbW90ZUVudHJ5O1xuZXhwb3J0cy5pc1JlbW90ZUluZm9XaXRoRW50cnkgPSBpc1JlbW90ZUluZm9XaXRoRW50cnk7XG5leHBvcnRzLmlzU3RhdGljUmVzb3VyY2VzRXF1YWwgPSBpc1N0YXRpY1Jlc291cmNlc0VxdWFsO1xuZXhwb3J0cy5vYmplY3RUb1N0cmluZyA9IG9iamVjdFRvU3RyaW5nO1xuZXhwb3J0cy5wcm9jZXNzTW9kdWxlQWxpYXMgPSBwcm9jZXNzTW9kdWxlQWxpYXM7XG5leHBvcnRzLnNhZmVXcmFwcGVyID0gc2FmZVdyYXBwZXI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD10b29sLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUJBQXVCLG1CQUFPLENBQUMsNkVBQWM7QUFDN0MsNkJBQTZCLG1CQUFPLENBQUMsNkRBQXdCOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4REFBOEQsZ0JBQWdCLEdBQUcsbUJBQW1CO0FBQ3BHLCtEQUErRCxnQkFBZ0IsR0FBRyxpQkFBaUI7QUFDbkcsZ0JBQWdCLGdCQUFnQjtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxxQkFBcUI7QUFDckIsb0JBQW9CO0FBQ3BCLGVBQWU7QUFDZixzQ0FBc0M7QUFDdEMsZ0JBQWdCO0FBQ2hCLHFCQUFxQjtBQUNyQix5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLDhCQUE4QjtBQUM5QixzQkFBc0I7QUFDdEIsMEJBQTBCO0FBQzFCLG1CQUFtQjtBQUNuQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-core/dist/utils/tool.cjs\n\n}");
|
|
192
|
+
|
|
193
|
+
},
|
|
194
|
+
"../../../node_modules/@module-federation/runtime-tools/dist/runtime-core.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
195
|
+
eval("{\n\nvar _module_federation_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/core.cjs\");\nObject.keys(_module_federation_runtime_core).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return _module_federation_runtime_core[k]; }\n });\n});\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvZGlzdC9ydW50aW1lLWNvcmUuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvZGlzdC9ydW50aW1lLWNvcmUuY2pzPzNhNDciXSwic291cmNlc0NvbnRlbnQiOlsiXG5cbnZhciBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2NvcmVcIik7XG5PYmplY3Qua2V5cyhfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlKS5mb3JFYWNoKGZ1bmN0aW9uIChrKSB7XG4gIGlmIChrICE9PSAnZGVmYXVsdCcgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChleHBvcnRzLCBrKSkgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGssIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZVtrXTsgfVxuICB9KTtcbn0pO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsc0NBQXNDLG1CQUFPLENBQUMsOEdBQWlDO0FBQy9FO0FBQ0EsK0RBQStELE9BQU8sNEJBQTRCLE9BQU87QUFDekc7QUFDQSx1QkFBdUI7QUFDdkIsR0FBRztBQUNILENBQUMifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-tools/dist/runtime-core.cjs\n\n}");
|
|
196
|
+
|
|
197
|
+
},
|
|
198
|
+
"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs"(__unused_rspack_module, exports) {
|
|
199
|
+
eval("{//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n\nexports.__toESM = __toESM;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzP2Q5MmQiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIFxcMHJvbGxkb3duL3J1bnRpbWUuanNcbnZhciBfX2NyZWF0ZSA9IE9iamVjdC5jcmVhdGU7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19nZXRQcm90b09mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuXHRpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0Zm9yICh2YXIga2V5cyA9IF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pLCBpID0gMCwgbiA9IGtleXMubGVuZ3RoLCBrZXk7IGkgPCBuOyBpKyspIHtcblx0XHRcdGtleSA9IGtleXNbaV07XG5cdFx0XHRpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KSB7XG5cdFx0XHRcdF9fZGVmUHJvcCh0bywga2V5LCB7XG5cdFx0XHRcdFx0Z2V0OiAoKGspID0+IGZyb21ba10pLmJpbmQobnVsbCwga2V5KSxcblx0XHRcdFx0XHRlbnVtZXJhYmxlOiAhKGRlc2MgPSBfX2dldE93blByb3BEZXNjKGZyb20sIGtleSkpIHx8IGRlc2MuZW51bWVyYWJsZVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIHRvO1xufTtcbnZhciBfX3RvRVNNID0gKG1vZCwgaXNOb2RlTW9kZSwgdGFyZ2V0KSA9PiAodGFyZ2V0ID0gbW9kICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kKSkgOiB7fSwgX19jb3B5UHJvcHMoaXNOb2RlTW9kZSB8fCAhbW9kIHx8ICFtb2QuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7XG5cdHZhbHVlOiBtb2QsXG5cdGVudW1lcmFibGU6IHRydWVcbn0pIDogdGFyZ2V0LCBtb2QpKTtcblxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydHMuX190b0VTTSA9IF9fdG9FU007Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RSxPQUFPO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1HQUFtRztBQUNuRztBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQSxlQUFlIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\n\n}");
|
|
200
|
+
|
|
201
|
+
},
|
|
202
|
+
"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/core.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
203
|
+
eval("{Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });\nconst require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\");\nlet _module_federation_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/index.cjs\");\n_module_federation_runtime_core = require_runtime.__toESM(_module_federation_runtime_core);\n\n//#region src/core.ts\nvar core_default = _module_federation_runtime_core;\n\n//#endregion\nexports[\"default\"] = core_default;\nObject.keys(_module_federation_runtime_core).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n enumerable: true,\n get: function () { return _module_federation_runtime_core[k]; }\n });\n});\n\n//# sourceMappingURL=core.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvY29yZS5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS10b29scy9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUvZGlzdC9jb3JlLmNqcz9mOGExIl0sInNvdXJjZXNDb250ZW50IjpbIk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGV4cG9ydHMsIHsgX19lc01vZHVsZTogeyB2YWx1ZTogdHJ1ZSB9LCBbU3ltYm9sLnRvU3RyaW5nVGFnXTogeyB2YWx1ZTogJ01vZHVsZScgfSB9KTtcbmNvbnN0IHJlcXVpcmVfcnVudGltZSA9IHJlcXVpcmUoJy4vX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZSA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlXCIpO1xuX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZSA9IHJlcXVpcmVfcnVudGltZS5fX3RvRVNNKF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUpO1xuXG4vLyNyZWdpb24gc3JjL2NvcmUudHNcbnZhciBjb3JlX2RlZmF1bHQgPSBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlO1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZGVmYXVsdCA9IGNvcmVfZGVmYXVsdDtcbk9iamVjdC5rZXlzKF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUpLmZvckVhY2goZnVuY3Rpb24gKGspIHtcbiAgaWYgKGsgIT09ICdkZWZhdWx0JyAmJiAhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGV4cG9ydHMsIGspKSBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgaywge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlW2tdOyB9XG4gIH0pO1xufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvcmUuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0IsT0FBTyxJQUFJLGNBQWMsYUFBYSwwQkFBMEIsbUJBQW1CO0FBQzNHLHdCQUF3QixtQkFBTyxDQUFDLG9JQUFrQztBQUNsRSxzQ0FBc0MsbUJBQU8sQ0FBQyxzRUFBaUM7QUFDL0U7O0FBRUE7QUFDQTs7QUFFQTtBQUNBLGtCQUFlO0FBQ2Y7QUFDQSwrREFBK0QsT0FBTyw0QkFBNEIsT0FBTztBQUN6RztBQUNBLHVCQUF1QjtBQUN2QixHQUFHO0FBQ0gsQ0FBQzs7QUFFRCJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/core.cjs\n\n}");
|
|
204
|
+
|
|
205
|
+
},
|
|
206
|
+
"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
207
|
+
eval("{Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\nconst require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\");\nconst require_utils = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/utils.cjs\");\nlet _module_federation_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/index.cjs\");\nlet _module_federation_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/index.cjs\");\n\n//#region src/index.ts\nfunction createInstance(options) {\n\tconst instance = new (((0, _module_federation_runtime_core.getGlobalFederationConstructor)()) || _module_federation_runtime_core.ModuleFederation)({\n\t\tid: `${options.name}@${options.version || Date.now()}`,\n\t\t...options\n\t});\n\t(0, _module_federation_runtime_core.setGlobalFederationInstance)(instance);\n\treturn instance;\n}\nlet FederationInstance = null;\nfunction init(options) {\n\tconst instance = require_utils.getGlobalFederationInstance(options.name, options.version);\n\tconst normalizedOptions = {\n\t\t...options,\n\t\tid: options.id || \"\"\n\t};\n\tif (!instance) {\n\t\tFederationInstance = createInstance(normalizedOptions);\n\t\treturn FederationInstance;\n\t} else {\n\t\tinstance.initOptions(normalizedOptions);\n\t\tif (!FederationInstance) FederationInstance = instance;\n\t\treturn instance;\n\t}\n}\nfunction loadRemote(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.loadRemote.apply(FederationInstance, args);\n}\nfunction loadShare(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.loadShare.apply(FederationInstance, args);\n}\nfunction loadShareSync(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.loadShareSync.apply(FederationInstance, args);\n}\nfunction preloadRemote(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.preloadRemote.apply(FederationInstance, args);\n}\nfunction registerRemotes(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.registerRemotes.apply(FederationInstance, args);\n}\nfunction registerPlugins(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.registerPlugins.apply(FederationInstance, args);\n}\nfunction getInstance(finder) {\n\tif (!finder) return FederationInstance;\n\treturn _module_federation_runtime_core.CurrentGlobal.__FEDERATION__.__INSTANCES__.find(finder) || null;\n}\nfunction registerShared(...args) {\n\t(0, _module_federation_runtime_core.assert)(FederationInstance, _module_federation_error_codes.RUNTIME_009, _module_federation_error_codes.runtimeDescMap);\n\treturn FederationInstance.registerShared.apply(FederationInstance, args);\n}\n(0, _module_federation_runtime_core.setGlobalFederationConstructor)(_module_federation_runtime_core.ModuleFederation);\n\n//#endregion\nObject.defineProperty(exports, \"Module\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime_core.Module;\n }\n}));\nexports.ModuleFederation = _module_federation_runtime_core.ModuleFederation;\nexports.createInstance = createInstance;\nexports.getInstance = getInstance;\nObject.defineProperty(exports, \"getRemoteEntry\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime_core.getRemoteEntry;\n }\n}));\nObject.defineProperty(exports, \"getRemoteInfo\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime_core.getRemoteInfo;\n }\n}));\nexports.init = init;\nexports.loadRemote = loadRemote;\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime_core.loadScript;\n }\n}));\nObject.defineProperty(exports, \"loadScriptNode\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime_core.loadScriptNode;\n }\n}));\nexports.loadShare = loadShare;\nexports.loadShareSync = loadShareSync;\nexports.preloadRemote = preloadRemote;\nObject.defineProperty(exports, \"registerGlobalPlugins\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime_core.registerGlobalPlugins;\n }\n}));\nexports.registerPlugins = registerPlugins;\nexports.registerRemotes = registerRemotes;\nexports.registerShared = registerShared;\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvaW5kZXguY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvaW5kZXguY2pzP2FkNzkiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5jb25zdCByZXF1aXJlX3J1bnRpbWUgPSByZXF1aXJlKCcuL192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcycpO1xuY29uc3QgcmVxdWlyZV91dGlscyA9IHJlcXVpcmUoJy4vdXRpbHMuY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZSA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS1jb3JlXCIpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2RlcyA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXNcIik7XG5cbi8vI3JlZ2lvbiBzcmMvaW5kZXgudHNcbmZ1bmN0aW9uIGNyZWF0ZUluc3RhbmNlKG9wdGlvbnMpIHtcblx0Y29uc3QgaW5zdGFuY2UgPSBuZXcgKCgoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5nZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IpKCkpIHx8IF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuTW9kdWxlRmVkZXJhdGlvbikoe1xuXHRcdGlkOiBgJHtvcHRpb25zLm5hbWV9QCR7b3B0aW9ucy52ZXJzaW9uIHx8IERhdGUubm93KCl9YCxcblx0XHQuLi5vcHRpb25zXG5cdH0pO1xuXHQoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5zZXRHbG9iYWxGZWRlcmF0aW9uSW5zdGFuY2UpKGluc3RhbmNlKTtcblx0cmV0dXJuIGluc3RhbmNlO1xufVxubGV0IEZlZGVyYXRpb25JbnN0YW5jZSA9IG51bGw7XG5mdW5jdGlvbiBpbml0KG9wdGlvbnMpIHtcblx0Y29uc3QgaW5zdGFuY2UgPSByZXF1aXJlX3V0aWxzLmdldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZShvcHRpb25zLm5hbWUsIG9wdGlvbnMudmVyc2lvbik7XG5cdGNvbnN0IG5vcm1hbGl6ZWRPcHRpb25zID0ge1xuXHRcdC4uLm9wdGlvbnMsXG5cdFx0aWQ6IG9wdGlvbnMuaWQgfHwgXCJcIlxuXHR9O1xuXHRpZiAoIWluc3RhbmNlKSB7XG5cdFx0RmVkZXJhdGlvbkluc3RhbmNlID0gY3JlYXRlSW5zdGFuY2Uobm9ybWFsaXplZE9wdGlvbnMpO1xuXHRcdHJldHVybiBGZWRlcmF0aW9uSW5zdGFuY2U7XG5cdH0gZWxzZSB7XG5cdFx0aW5zdGFuY2UuaW5pdE9wdGlvbnMobm9ybWFsaXplZE9wdGlvbnMpO1xuXHRcdGlmICghRmVkZXJhdGlvbkluc3RhbmNlKSBGZWRlcmF0aW9uSW5zdGFuY2UgPSBpbnN0YW5jZTtcblx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdH1cbn1cbmZ1bmN0aW9uIGxvYWRSZW1vdGUoLi4uYXJncykge1xuXHQoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5hc3NlcnQpKEZlZGVyYXRpb25JbnN0YW5jZSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA5LCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXApO1xuXHRyZXR1cm4gRmVkZXJhdGlvbkluc3RhbmNlLmxvYWRSZW1vdGUuYXBwbHkoRmVkZXJhdGlvbkluc3RhbmNlLCBhcmdzKTtcbn1cbmZ1bmN0aW9uIGxvYWRTaGFyZSguLi5hcmdzKSB7XG5cdCgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlLmFzc2VydCkoRmVkZXJhdGlvbkluc3RhbmNlLCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMuUlVOVElNRV8wMDksIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5ydW50aW1lRGVzY01hcCk7XG5cdHJldHVybiBGZWRlcmF0aW9uSW5zdGFuY2UubG9hZFNoYXJlLmFwcGx5KEZlZGVyYXRpb25JbnN0YW5jZSwgYXJncyk7XG59XG5mdW5jdGlvbiBsb2FkU2hhcmVTeW5jKC4uLmFyZ3MpIHtcblx0KDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuYXNzZXJ0KShGZWRlcmF0aW9uSW5zdGFuY2UsIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwOSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwKTtcblx0cmV0dXJuIEZlZGVyYXRpb25JbnN0YW5jZS5sb2FkU2hhcmVTeW5jLmFwcGx5KEZlZGVyYXRpb25JbnN0YW5jZSwgYXJncyk7XG59XG5mdW5jdGlvbiBwcmVsb2FkUmVtb3RlKC4uLmFyZ3MpIHtcblx0KDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuYXNzZXJ0KShGZWRlcmF0aW9uSW5zdGFuY2UsIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwOSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwKTtcblx0cmV0dXJuIEZlZGVyYXRpb25JbnN0YW5jZS5wcmVsb2FkUmVtb3RlLmFwcGx5KEZlZGVyYXRpb25JbnN0YW5jZSwgYXJncyk7XG59XG5mdW5jdGlvbiByZWdpc3RlclJlbW90ZXMoLi4uYXJncykge1xuXHQoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5hc3NlcnQpKEZlZGVyYXRpb25JbnN0YW5jZSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA5LCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXApO1xuXHRyZXR1cm4gRmVkZXJhdGlvbkluc3RhbmNlLnJlZ2lzdGVyUmVtb3Rlcy5hcHBseShGZWRlcmF0aW9uSW5zdGFuY2UsIGFyZ3MpO1xufVxuZnVuY3Rpb24gcmVnaXN0ZXJQbHVnaW5zKC4uLmFyZ3MpIHtcblx0KDAsIF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuYXNzZXJ0KShGZWRlcmF0aW9uSW5zdGFuY2UsIF9tb2R1bGVfZmVkZXJhdGlvbl9lcnJvcl9jb2Rlcy5SVU5USU1FXzAwOSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLnJ1bnRpbWVEZXNjTWFwKTtcblx0cmV0dXJuIEZlZGVyYXRpb25JbnN0YW5jZS5yZWdpc3RlclBsdWdpbnMuYXBwbHkoRmVkZXJhdGlvbkluc3RhbmNlLCBhcmdzKTtcbn1cbmZ1bmN0aW9uIGdldEluc3RhbmNlKGZpbmRlcikge1xuXHRpZiAoIWZpbmRlcikgcmV0dXJuIEZlZGVyYXRpb25JbnN0YW5jZTtcblx0cmV0dXJuIF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuQ3VycmVudEdsb2JhbC5fX0ZFREVSQVRJT05fXy5fX0lOU1RBTkNFU19fLmZpbmQoZmluZGVyKSB8fCBudWxsO1xufVxuZnVuY3Rpb24gcmVnaXN0ZXJTaGFyZWQoLi4uYXJncykge1xuXHQoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5hc3NlcnQpKEZlZGVyYXRpb25JbnN0YW5jZSwgX21vZHVsZV9mZWRlcmF0aW9uX2Vycm9yX2NvZGVzLlJVTlRJTUVfMDA5LCBfbW9kdWxlX2ZlZGVyYXRpb25fZXJyb3JfY29kZXMucnVudGltZURlc2NNYXApO1xuXHRyZXR1cm4gRmVkZXJhdGlvbkluc3RhbmNlLnJlZ2lzdGVyU2hhcmVkLmFwcGx5KEZlZGVyYXRpb25JbnN0YW5jZSwgYXJncyk7XG59XG4oMCwgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5zZXRHbG9iYWxGZWRlcmF0aW9uQ29uc3RydWN0b3IpKF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuTW9kdWxlRmVkZXJhdGlvbik7XG5cbi8vI2VuZHJlZ2lvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdNb2R1bGUnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlLk1vZHVsZTtcbiAgfVxufSk7XG5leHBvcnRzLk1vZHVsZUZlZGVyYXRpb24gPSBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlLk1vZHVsZUZlZGVyYXRpb247XG5leHBvcnRzLmNyZWF0ZUluc3RhbmNlID0gY3JlYXRlSW5zdGFuY2U7XG5leHBvcnRzLmdldEluc3RhbmNlID0gZ2V0SW5zdGFuY2U7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2dldFJlbW90ZUVudHJ5Jywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5nZXRSZW1vdGVFbnRyeTtcbiAgfVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2dldFJlbW90ZUluZm8nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlLmdldFJlbW90ZUluZm87XG4gIH1cbn0pO1xuZXhwb3J0cy5pbml0ID0gaW5pdDtcbmV4cG9ydHMubG9hZFJlbW90ZSA9IGxvYWRSZW1vdGU7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2xvYWRTY3JpcHQnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlLmxvYWRTY3JpcHQ7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdsb2FkU2NyaXB0Tm9kZScsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUubG9hZFNjcmlwdE5vZGU7XG4gIH1cbn0pO1xuZXhwb3J0cy5sb2FkU2hhcmUgPSBsb2FkU2hhcmU7XG5leHBvcnRzLmxvYWRTaGFyZVN5bmMgPSBsb2FkU2hhcmVTeW5jO1xuZXhwb3J0cy5wcmVsb2FkUmVtb3RlID0gcHJlbG9hZFJlbW90ZTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAncmVnaXN0ZXJHbG9iYWxQbHVnaW5zJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5yZWdpc3Rlckdsb2JhbFBsdWdpbnM7XG4gIH1cbn0pO1xuZXhwb3J0cy5yZWdpc3RlclBsdWdpbnMgPSByZWdpc3RlclBsdWdpbnM7XG5leHBvcnRzLnJlZ2lzdGVyUmVtb3RlcyA9IHJlZ2lzdGVyUmVtb3RlcztcbmV4cG9ydHMucmVnaXN0ZXJTaGFyZWQgPSByZWdpc3RlclNoYXJlZDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCLE9BQU8sd0JBQXdCLGlCQUFpQjtBQUN0RSx3QkFBd0IsbUJBQU8sQ0FBQyxvSUFBa0M7QUFDbEUsc0JBQXNCLG1CQUFPLENBQUMsK0dBQWE7QUFDM0Msc0NBQXNDLG1CQUFPLENBQUMsc0VBQWlDO0FBQy9FLHFDQUFxQyxtQkFBTyxDQUFDLHFFQUFnQzs7QUFFN0U7QUFDQTtBQUNBO0FBQ0EsU0FBUyxhQUFhLEdBQUcsOEJBQThCO0FBQ3ZEO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSwwQ0FBeUM7QUFDekM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRix3QkFBd0I7QUFDeEIsc0JBQXNCO0FBQ3RCLG1CQUFtQjtBQUNuQixrREFBaUQ7QUFDakQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRixpREFBZ0Q7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRixZQUFZO0FBQ1osa0JBQWtCO0FBQ2xCLDhDQUE2QztBQUM3QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLGtEQUFpRDtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLGlCQUFpQjtBQUNqQixxQkFBcUI7QUFDckIscUJBQXFCO0FBQ3JCLHlEQUF3RDtBQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLHVCQUF1QjtBQUN2Qix1QkFBdUI7QUFDdkIsc0JBQXNCO0FBQ3RCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/index.cjs\n\n}");
|
|
208
|
+
|
|
209
|
+
},
|
|
210
|
+
"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/utils.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
211
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\");\nlet _module_federation_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/index.cjs\");\n\n//#region src/utils.ts\nfunction getBuilderId() {\n\treturn true ? \"@openmrs/esm-app-shell:10.0.1-pre.5227\" : 0;\n}\nfunction getGlobalFederationInstance(name, version) {\n\tconst buildId = getBuilderId();\n\treturn _module_federation_runtime_core.CurrentGlobal.__FEDERATION__.__INSTANCES__.find((GMInstance) => {\n\t\tif (buildId && GMInstance.options.id === buildId) return true;\n\t\tif (GMInstance.options.name === name && !GMInstance.options.version && !version) return true;\n\t\tif (GMInstance.options.name === name && version && GMInstance.options.version === version) return true;\n\t\treturn false;\n\t});\n}\n\n//#endregion\nexports.getGlobalFederationInstance = getGlobalFederationInstance;\n//# sourceMappingURL=utils.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvdXRpbHMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtdG9vbHMvbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lL2Rpc3QvdXRpbHMuY2pzP2QxMTgiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9ydW50aW1lID0gcmVxdWlyZSgnLi9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9ydW50aW1lLWNvcmVcIik7XG5cbi8vI3JlZ2lvbiBzcmMvdXRpbHMudHNcbmZ1bmN0aW9uIGdldEJ1aWxkZXJJZCgpIHtcblx0cmV0dXJuIHR5cGVvZiBGRURFUkFUSU9OX0JVSUxEX0lERU5USUZJRVIgIT09IFwidW5kZWZpbmVkXCIgPyBGRURFUkFUSU9OX0JVSUxEX0lERU5USUZJRVIgOiBcIlwiO1xufVxuZnVuY3Rpb24gZ2V0R2xvYmFsRmVkZXJhdGlvbkluc3RhbmNlKG5hbWUsIHZlcnNpb24pIHtcblx0Y29uc3QgYnVpbGRJZCA9IGdldEJ1aWxkZXJJZCgpO1xuXHRyZXR1cm4gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5DdXJyZW50R2xvYmFsLl9fRkVERVJBVElPTl9fLl9fSU5TVEFOQ0VTX18uZmluZCgoR01JbnN0YW5jZSkgPT4ge1xuXHRcdGlmIChidWlsZElkICYmIEdNSW5zdGFuY2Uub3B0aW9ucy5pZCA9PT0gYnVpbGRJZCkgcmV0dXJuIHRydWU7XG5cdFx0aWYgKEdNSW5zdGFuY2Uub3B0aW9ucy5uYW1lID09PSBuYW1lICYmICFHTUluc3RhbmNlLm9wdGlvbnMudmVyc2lvbiAmJiAhdmVyc2lvbikgcmV0dXJuIHRydWU7XG5cdFx0aWYgKEdNSW5zdGFuY2Uub3B0aW9ucy5uYW1lID09PSBuYW1lICYmIHZlcnNpb24gJiYgR01JbnN0YW5jZS5vcHRpb25zLnZlcnNpb24gPT09IHZlcnNpb24pIHJldHVybiB0cnVlO1xuXHRcdHJldHVybiBmYWxzZTtcblx0fSk7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5nZXRHbG9iYWxGZWRlcmF0aW9uSW5zdGFuY2UgPSBnZXRHbG9iYWxGZWRlcmF0aW9uSW5zdGFuY2U7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11dGlscy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixtQkFBTyxDQUFDLG9JQUFrQztBQUNsRSxzQ0FBc0MsbUJBQU8sQ0FBQyxzRUFBaUM7O0FBRS9FO0FBQ0E7QUFDQSxRQUFRLEtBQWtELEdBQUcsd0NBQTJCLEdBQUcsQ0FBRTtBQUM3RjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0EsbUNBQW1DO0FBQ25DIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/utils.cjs\n\n}");
|
|
212
|
+
|
|
213
|
+
},
|
|
214
|
+
"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs"(__unused_rspack_module, exports) {
|
|
215
|
+
eval("{//#region \\0rolldown/runtime.js\nvar __defProp = Object.defineProperty;\nvar __exportAll = (all, no_symbols) => {\n\tlet target = {};\n\tfor (var name in all) {\n\t\t__defProp(target, name, {\n\t\t\tget: all[name],\n\t\t\tenumerable: true\n\t\t});\n\t}\n\tif (!no_symbols) {\n\t\t__defProp(target, Symbol.toStringTag, { value: \"Module\" });\n\t}\n\treturn target;\n};\n\n//#endregion\n\nexports.__exportAll = __exportAll;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvZGlzdC9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janM/OWZlMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gXFwwcm9sbGRvd24vcnVudGltZS5qc1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2V4cG9ydEFsbCA9IChhbGwsIG5vX3N5bWJvbHMpID0+IHtcblx0bGV0IHRhcmdldCA9IHt9O1xuXHRmb3IgKHZhciBuYW1lIGluIGFsbCkge1xuXHRcdF9fZGVmUHJvcCh0YXJnZXQsIG5hbWUsIHtcblx0XHRcdGdldDogYWxsW25hbWVdLFxuXHRcdFx0ZW51bWVyYWJsZTogdHJ1ZVxuXHRcdH0pO1xuXHR9XG5cdGlmICghbm9fc3ltYm9scykge1xuXHRcdF9fZGVmUHJvcCh0YXJnZXQsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogXCJNb2R1bGVcIiB9KTtcblx0fVxuXHRyZXR1cm4gdGFyZ2V0O1xufTtcblxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydHMuX19leHBvcnRBbGwgPSBfX2V4cG9ydEFsbDsiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsMENBQTBDLGlCQUFpQjtBQUMzRDtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEsbUJBQW1CIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\n\n}");
|
|
216
|
+
|
|
217
|
+
},
|
|
218
|
+
"../../../node_modules/@module-federation/sdk/dist/constant.cjs"(__unused_rspack_module, exports) {
|
|
219
|
+
eval("{\n//#region src/constant.ts\nconst FederationModuleManifest = \"federation-manifest.json\";\nconst MANIFEST_EXT = \".json\";\nconst BROWSER_LOG_KEY = \"FEDERATION_DEBUG\";\nconst NameTransformSymbol = {\n\tAT: \"@\",\n\tHYPHEN: \"-\",\n\tSLASH: \"/\"\n};\nconst NameTransformMap = {\n\t[NameTransformSymbol.AT]: \"scope_\",\n\t[NameTransformSymbol.HYPHEN]: \"_\",\n\t[NameTransformSymbol.SLASH]: \"__\"\n};\nconst EncodedNameTransformMap = {\n\t[NameTransformMap[NameTransformSymbol.AT]]: NameTransformSymbol.AT,\n\t[NameTransformMap[NameTransformSymbol.HYPHEN]]: NameTransformSymbol.HYPHEN,\n\t[NameTransformMap[NameTransformSymbol.SLASH]]: NameTransformSymbol.SLASH\n};\nconst SEPARATOR = \":\";\nconst ManifestFileName = \"mf-manifest.json\";\nconst StatsFileName = \"mf-stats.json\";\nconst MFModuleType = {\n\tNPM: \"npm\",\n\tAPP: \"app\"\n};\nconst MODULE_DEVTOOL_IDENTIFIER = \"__MF_DEVTOOLS_MODULE_INFO__\";\nconst ENCODE_NAME_PREFIX = \"ENCODE_NAME_PREFIX\";\nconst TEMP_DIR = \".federation\";\nlet TreeShakingStatus = /* @__PURE__ */ function(TreeShakingStatus) {\n\t/**\n\t* Not handled by deploy server, needs to infer by the real runtime period.\n\t*/\n\tTreeShakingStatus[TreeShakingStatus[\"UNKNOWN\"] = 1] = \"UNKNOWN\";\n\t/**\n\t* It means the shared has been calculated , runtime should take this shared as first choice.\n\t*/\n\tTreeShakingStatus[TreeShakingStatus[\"CALCULATED\"] = 2] = \"CALCULATED\";\n\t/**\n\t* It means the shared has been calculated, and marked as no used\n\t*/\n\tTreeShakingStatus[TreeShakingStatus[\"NO_USE\"] = 0] = \"NO_USE\";\n\treturn TreeShakingStatus;\n}({});\n\n//#endregion\nexports.BROWSER_LOG_KEY = BROWSER_LOG_KEY;\nexports.ENCODE_NAME_PREFIX = ENCODE_NAME_PREFIX;\nexports.EncodedNameTransformMap = EncodedNameTransformMap;\nexports.FederationModuleManifest = FederationModuleManifest;\nexports.MANIFEST_EXT = MANIFEST_EXT;\nexports.MFModuleType = MFModuleType;\nexports.MODULE_DEVTOOL_IDENTIFIER = MODULE_DEVTOOL_IDENTIFIER;\nexports.ManifestFileName = ManifestFileName;\nexports.NameTransformMap = NameTransformMap;\nexports.NameTransformSymbol = NameTransformSymbol;\nexports.SEPARATOR = SEPARATOR;\nexports.StatsFileName = StatsFileName;\nexports.TEMP_DIR = TEMP_DIR;\nexports.TreeShakingStatus = TreeShakingStatus;\n//# sourceMappingURL=constant.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2NvbnN0YW50LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvZGlzdC9jb25zdGFudC5janM/NzUyMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiBzcmMvY29uc3RhbnQudHNcbmNvbnN0IEZlZGVyYXRpb25Nb2R1bGVNYW5pZmVzdCA9IFwiZmVkZXJhdGlvbi1tYW5pZmVzdC5qc29uXCI7XG5jb25zdCBNQU5JRkVTVF9FWFQgPSBcIi5qc29uXCI7XG5jb25zdCBCUk9XU0VSX0xPR19LRVkgPSBcIkZFREVSQVRJT05fREVCVUdcIjtcbmNvbnN0IE5hbWVUcmFuc2Zvcm1TeW1ib2wgPSB7XG5cdEFUOiBcIkBcIixcblx0SFlQSEVOOiBcIi1cIixcblx0U0xBU0g6IFwiL1wiXG59O1xuY29uc3QgTmFtZVRyYW5zZm9ybU1hcCA9IHtcblx0W05hbWVUcmFuc2Zvcm1TeW1ib2wuQVRdOiBcInNjb3BlX1wiLFxuXHRbTmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU5dOiBcIl9cIixcblx0W05hbWVUcmFuc2Zvcm1TeW1ib2wuU0xBU0hdOiBcIl9fXCJcbn07XG5jb25zdCBFbmNvZGVkTmFtZVRyYW5zZm9ybU1hcCA9IHtcblx0W05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLkFULFxuXHRbTmFtZVRyYW5zZm9ybU1hcFtOYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTl1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTixcblx0W05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSF1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIXG59O1xuY29uc3QgU0VQQVJBVE9SID0gXCI6XCI7XG5jb25zdCBNYW5pZmVzdEZpbGVOYW1lID0gXCJtZi1tYW5pZmVzdC5qc29uXCI7XG5jb25zdCBTdGF0c0ZpbGVOYW1lID0gXCJtZi1zdGF0cy5qc29uXCI7XG5jb25zdCBNRk1vZHVsZVR5cGUgPSB7XG5cdE5QTTogXCJucG1cIixcblx0QVBQOiBcImFwcFwiXG59O1xuY29uc3QgTU9EVUxFX0RFVlRPT0xfSURFTlRJRklFUiA9IFwiX19NRl9ERVZUT09MU19NT0RVTEVfSU5GT19fXCI7XG5jb25zdCBFTkNPREVfTkFNRV9QUkVGSVggPSBcIkVOQ09ERV9OQU1FX1BSRUZJWFwiO1xuY29uc3QgVEVNUF9ESVIgPSBcIi5mZWRlcmF0aW9uXCI7XG5sZXQgVHJlZVNoYWtpbmdTdGF0dXMgPSAvKiBAX19QVVJFX18gKi8gZnVuY3Rpb24oVHJlZVNoYWtpbmdTdGF0dXMpIHtcblx0LyoqXG5cdCogTm90IGhhbmRsZWQgYnkgZGVwbG95IHNlcnZlciwgbmVlZHMgdG8gaW5mZXIgYnkgdGhlIHJlYWwgcnVudGltZSBwZXJpb2QuXG5cdCovXG5cdFRyZWVTaGFraW5nU3RhdHVzW1RyZWVTaGFraW5nU3RhdHVzW1wiVU5LTk9XTlwiXSA9IDFdID0gXCJVTktOT1dOXCI7XG5cdC8qKlxuXHQqIEl0IG1lYW5zIHRoZSBzaGFyZWQgaGFzIGJlZW4gY2FsY3VsYXRlZCAsIHJ1bnRpbWUgc2hvdWxkIHRha2UgdGhpcyBzaGFyZWQgYXMgZmlyc3QgY2hvaWNlLlxuXHQqL1xuXHRUcmVlU2hha2luZ1N0YXR1c1tUcmVlU2hha2luZ1N0YXR1c1tcIkNBTENVTEFURURcIl0gPSAyXSA9IFwiQ0FMQ1VMQVRFRFwiO1xuXHQvKipcblx0KiBJdCBtZWFucyB0aGUgc2hhcmVkIGhhcyBiZWVuIGNhbGN1bGF0ZWQsIGFuZCBtYXJrZWQgYXMgbm8gdXNlZFxuXHQqL1xuXHRUcmVlU2hha2luZ1N0YXR1c1tUcmVlU2hha2luZ1N0YXR1c1tcIk5PX1VTRVwiXSA9IDBdID0gXCJOT19VU0VcIjtcblx0cmV0dXJuIFRyZWVTaGFraW5nU3RhdHVzO1xufSh7fSk7XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5CUk9XU0VSX0xPR19LRVkgPSBCUk9XU0VSX0xPR19LRVk7XG5leHBvcnRzLkVOQ09ERV9OQU1FX1BSRUZJWCA9IEVOQ09ERV9OQU1FX1BSRUZJWDtcbmV4cG9ydHMuRW5jb2RlZE5hbWVUcmFuc2Zvcm1NYXAgPSBFbmNvZGVkTmFtZVRyYW5zZm9ybU1hcDtcbmV4cG9ydHMuRmVkZXJhdGlvbk1vZHVsZU1hbmlmZXN0ID0gRmVkZXJhdGlvbk1vZHVsZU1hbmlmZXN0O1xuZXhwb3J0cy5NQU5JRkVTVF9FWFQgPSBNQU5JRkVTVF9FWFQ7XG5leHBvcnRzLk1GTW9kdWxlVHlwZSA9IE1GTW9kdWxlVHlwZTtcbmV4cG9ydHMuTU9EVUxFX0RFVlRPT0xfSURFTlRJRklFUiA9IE1PRFVMRV9ERVZUT09MX0lERU5USUZJRVI7XG5leHBvcnRzLk1hbmlmZXN0RmlsZU5hbWUgPSBNYW5pZmVzdEZpbGVOYW1lO1xuZXhwb3J0cy5OYW1lVHJhbnNmb3JtTWFwID0gTmFtZVRyYW5zZm9ybU1hcDtcbmV4cG9ydHMuTmFtZVRyYW5zZm9ybVN5bWJvbCA9IE5hbWVUcmFuc2Zvcm1TeW1ib2w7XG5leHBvcnRzLlNFUEFSQVRPUiA9IFNFUEFSQVRPUjtcbmV4cG9ydHMuU3RhdHNGaWxlTmFtZSA9IFN0YXRzRmlsZU5hbWU7XG5leHBvcnRzLlRFTVBfRElSID0gVEVNUF9ESVI7XG5leHBvcnRzLlRyZWVTaGFraW5nU3RhdHVzID0gVHJlZVNoYWtpbmdTdGF0dXM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1jb25zdGFudC5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsR0FBRzs7QUFFSjtBQUNBLHVCQUF1QjtBQUN2QiwwQkFBMEI7QUFDMUIsK0JBQStCO0FBQy9CLGdDQUFnQztBQUNoQyxvQkFBb0I7QUFDcEIsb0JBQW9CO0FBQ3BCLGlDQUFpQztBQUNqQyx3QkFBd0I7QUFDeEIsd0JBQXdCO0FBQ3hCLDJCQUEyQjtBQUMzQixpQkFBaUI7QUFDakIscUJBQXFCO0FBQ3JCLGdCQUFnQjtBQUNoQix5QkFBeUI7QUFDekIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/constant.cjs\n\n}");
|
|
220
|
+
|
|
221
|
+
},
|
|
222
|
+
"../../../node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs"(__unused_rspack_module, exports) {
|
|
223
|
+
eval("{\n//#region src/createModuleFederationConfig.ts\nconst createModuleFederationConfig = (options) => {\n\treturn options;\n};\n\n//#endregion\nexports.createModuleFederationConfig = createModuleFederationConfig;\n//# sourceMappingURL=createModuleFederationConfig.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2NyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2NyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcuY2pzP2RlYTAiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL2NyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcudHNcbmNvbnN0IGNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcgPSAob3B0aW9ucykgPT4ge1xuXHRyZXR1cm4gb3B0aW9ucztcbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5jcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnID0gY3JlYXRlTW9kdWxlRmVkZXJhdGlvbkNvbmZpZztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQ0FBb0M7QUFDcEMifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs\n\n}");
|
|
224
|
+
|
|
225
|
+
},
|
|
226
|
+
"../../../node_modules/@module-federation/sdk/dist/dom.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
227
|
+
eval("{const require_utils = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/utils.cjs\");\n\n//#region src/dom.ts\nasync function safeWrapper(callback, disableWarn) {\n\ttry {\n\t\treturn await callback();\n\t} catch (e) {\n\t\t!disableWarn && require_utils.warn(e);\n\t\treturn;\n\t}\n}\nfunction isStaticResourcesEqual(url1, url2) {\n\tconst REG_EXP = /^(https?:)?\\/\\//i;\n\treturn url1.replace(REG_EXP, \"\").replace(/\\/$/, \"\") === url2.replace(REG_EXP, \"\").replace(/\\/$/, \"\");\n}\nfunction createScript(info) {\n\tlet script = null;\n\tlet needAttach = true;\n\tlet timeout = 2e4;\n\tlet timeoutId;\n\tconst scripts = document.getElementsByTagName(\"script\");\n\tfor (let i = 0; i < scripts.length; i++) {\n\t\tconst s = scripts[i];\n\t\tconst scriptSrc = s.getAttribute(\"src\");\n\t\tif (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n\t\t\tscript = s;\n\t\t\tneedAttach = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!script) {\n\t\tconst attrs = info.attrs;\n\t\tscript = document.createElement(\"script\");\n\t\tscript.type = attrs?.[\"type\"] === \"module\" ? \"module\" : \"text/javascript\";\n\t\tlet createScriptRes = void 0;\n\t\tif (info.createScriptHook) {\n\t\t\tcreateScriptRes = info.createScriptHook(info.url, info.attrs);\n\t\t\tif (createScriptRes instanceof HTMLScriptElement) script = createScriptRes;\n\t\t\telse if (typeof createScriptRes === \"object\") {\n\t\t\t\tif (\"script\" in createScriptRes && createScriptRes.script) script = createScriptRes.script;\n\t\t\t\tif (\"timeout\" in createScriptRes && createScriptRes.timeout) timeout = createScriptRes.timeout;\n\t\t\t}\n\t\t}\n\t\tif (!script.src) script.src = info.url;\n\t\tif (attrs && !createScriptRes) Object.keys(attrs).forEach((name) => {\n\t\t\tif (script) {\n\t\t\t\tif (name === \"async\" || name === \"defer\") script[name] = attrs[name];\n\t\t\t\telse if (!script.getAttribute(name)) script.setAttribute(name, attrs[name]);\n\t\t\t}\n\t\t});\n\t}\n\tlet executionError = null;\n\tconst executionErrorHandler = typeof window !== \"undefined\" ? (evt) => {\n\t\tif (evt.filename && isStaticResourcesEqual(evt.filename, info.url)) {\n\t\t\tconst err = /* @__PURE__ */ new Error(`ScriptExecutionError: Script \"${info.url}\" loaded but threw a runtime error during execution: ${evt.message} (${evt.filename}:${evt.lineno}:${evt.colno})`);\n\t\t\terr.name = \"ScriptExecutionError\";\n\t\t\texecutionError = err;\n\t\t}\n\t} : null;\n\tif (executionErrorHandler) window.addEventListener(\"error\", executionErrorHandler);\n\tconst onScriptComplete = async (prev, event) => {\n\t\tclearTimeout(timeoutId);\n\t\tif (executionErrorHandler) window.removeEventListener(\"error\", executionErrorHandler);\n\t\tconst onScriptCompleteCallback = () => {\n\t\t\tif (event?.type === \"error\") {\n\t\t\t\tconst networkError = /* @__PURE__ */ new Error(event?.isTimeout ? `ScriptNetworkError: Script \"${info.url}\" timed out.` : `ScriptNetworkError: Failed to load script \"${info.url}\" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)`);\n\t\t\t\tnetworkError.name = \"ScriptNetworkError\";\n\t\t\t\tinfo?.onErrorCallback && info?.onErrorCallback(networkError);\n\t\t\t} else if (executionError) info?.onErrorCallback && info?.onErrorCallback(executionError);\n\t\t\telse info?.cb && info?.cb();\n\t\t};\n\t\tif (script) {\n\t\t\tscript.onerror = null;\n\t\t\tscript.onload = null;\n\t\t\tsafeWrapper(() => {\n\t\t\t\tconst { needDeleteScript = true } = info;\n\t\t\t\tif (needDeleteScript) script?.parentNode && script.parentNode.removeChild(script);\n\t\t\t});\n\t\t\tif (prev && typeof prev === \"function\") {\n\t\t\t\tconst result = prev(event);\n\t\t\t\tif (result instanceof Promise) {\n\t\t\t\t\tconst res = await result;\n\t\t\t\t\tonScriptCompleteCallback();\n\t\t\t\t\treturn res;\n\t\t\t\t}\n\t\t\t\tonScriptCompleteCallback();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\tonScriptCompleteCallback();\n\t};\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\ttimeoutId = setTimeout(() => {\n\t\tonScriptComplete(null, {\n\t\t\ttype: \"error\",\n\t\t\tisTimeout: true\n\t\t});\n\t}, timeout);\n\treturn {\n\t\tscript,\n\t\tneedAttach\n\t};\n}\nfunction createLink(info) {\n\tlet link = null;\n\tlet needAttach = true;\n\tlet timeout = 2e4;\n\tlet timeoutId;\n\tconst links = document.getElementsByTagName(\"link\");\n\tfor (let i = 0; i < links.length; i++) {\n\t\tconst l = links[i];\n\t\tconst linkHref = l.getAttribute(\"href\");\n\t\tconst linkRel = l.getAttribute(\"rel\");\n\t\tif (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRel === info.attrs[\"rel\"]) {\n\t\t\tlink = l;\n\t\t\tneedAttach = false;\n\t\t\tbreak;\n\t\t}\n\t}\n\tif (!link) {\n\t\tlink = document.createElement(\"link\");\n\t\tlink.setAttribute(\"href\", info.url);\n\t\tlet createLinkRes = void 0;\n\t\tlet shouldApplyAttrs = true;\n\t\tconst attrs = info.attrs;\n\t\tif (info.createLinkHook) {\n\t\t\tcreateLinkRes = info.createLinkHook(info.url, attrs);\n\t\t\tif (createLinkRes instanceof HTMLLinkElement) {\n\t\t\t\tlink = createLinkRes;\n\t\t\t\tshouldApplyAttrs = false;\n\t\t\t} else if (typeof createLinkRes === \"object\") {\n\t\t\t\tif (\"link\" in createLinkRes && createLinkRes.link) {\n\t\t\t\t\tlink = createLinkRes.link;\n\t\t\t\t\tshouldApplyAttrs = false;\n\t\t\t\t}\n\t\t\t\tif (\"timeout\" in createLinkRes && createLinkRes.timeout) timeout = createLinkRes.timeout;\n\t\t\t}\n\t\t}\n\t\tif (attrs && shouldApplyAttrs) Object.keys(attrs).forEach((name) => {\n\t\t\tif (link && !link.getAttribute(name)) link.setAttribute(name, attrs[name]);\n\t\t});\n\t}\n\tif (!needAttach) {\n\t\tPromise.resolve().then(() => {\n\t\t\tinfo?.cb && info?.cb();\n\t\t});\n\t\treturn {\n\t\t\tlink,\n\t\t\tneedAttach\n\t\t};\n\t}\n\tconst onLinkComplete = (prev, event) => {\n\t\tif (timeoutId) clearTimeout(timeoutId);\n\t\tconst onLinkCompleteCallback = () => {\n\t\t\tif (event?.type === \"error\") {\n\t\t\t\tconst linkError = /* @__PURE__ */ new Error(event?.isTimeout ? `LinkNetworkError: Link \"${info.url}\" timed out.` : `LinkNetworkError: Failed to load link \"${info.url}\" - the URL is unreachable or the server returned an error.`);\n\t\t\t\tlinkError.name = \"LinkNetworkError\";\n\t\t\t\tinfo?.onErrorCallback && info?.onErrorCallback(linkError);\n\t\t\t} else info?.cb && info?.cb();\n\t\t};\n\t\tif (link) {\n\t\t\tlink.onerror = null;\n\t\t\tlink.onload = null;\n\t\t\tsafeWrapper(() => {\n\t\t\t\tconst { needDeleteLink = true } = info;\n\t\t\t\tif (needDeleteLink) link?.parentNode && link.parentNode.removeChild(link);\n\t\t\t});\n\t\t\tif (prev) {\n\t\t\t\tconst res = prev(event);\n\t\t\t\tonLinkCompleteCallback();\n\t\t\t\treturn res;\n\t\t\t}\n\t\t}\n\t\tonLinkCompleteCallback();\n\t};\n\tlink.onerror = onLinkComplete.bind(null, link.onerror);\n\tlink.onload = onLinkComplete.bind(null, link.onload);\n\ttimeoutId = setTimeout(() => {\n\t\tonLinkComplete(null, {\n\t\t\ttype: \"error\",\n\t\t\tisTimeout: true\n\t\t});\n\t}, timeout);\n\treturn {\n\t\tlink,\n\t\tneedAttach\n\t};\n}\nfunction loadScript(url, info) {\n\tconst { attrs = {}, createScriptHook } = info;\n\treturn new Promise((resolve, reject) => {\n\t\tconst { script, needAttach } = createScript({\n\t\t\turl,\n\t\t\tcb: resolve,\n\t\t\tonErrorCallback: reject,\n\t\t\tattrs: {\n\t\t\t\tfetchpriority: \"high\",\n\t\t\t\t...attrs\n\t\t\t},\n\t\t\tcreateScriptHook,\n\t\t\tneedDeleteScript: true\n\t\t});\n\t\tneedAttach && document.head.appendChild(script);\n\t});\n}\n\n//#endregion\nexports.createLink = createLink;\nexports.createScript = createScript;\nexports.isStaticResourcesEqual = isStaticResourcesEqual;\nexports.loadScript = loadScript;\nexports.safeWrapper = safeWrapper;\n//# sourceMappingURL=dom.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2RvbS5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvZG9tLmNqcz8yNmQxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL2RvbS50c1xuYXN5bmMgZnVuY3Rpb24gc2FmZVdyYXBwZXIoY2FsbGJhY2ssIGRpc2FibGVXYXJuKSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIGF3YWl0IGNhbGxiYWNrKCk7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHQhZGlzYWJsZVdhcm4gJiYgcmVxdWlyZV91dGlscy53YXJuKGUpO1xuXHRcdHJldHVybjtcblx0fVxufVxuZnVuY3Rpb24gaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCh1cmwxLCB1cmwyKSB7XG5cdGNvbnN0IFJFR19FWFAgPSAvXihodHRwcz86KT9cXC9cXC8vaTtcblx0cmV0dXJuIHVybDEucmVwbGFjZShSRUdfRVhQLCBcIlwiKS5yZXBsYWNlKC9cXC8kLywgXCJcIikgPT09IHVybDIucmVwbGFjZShSRUdfRVhQLCBcIlwiKS5yZXBsYWNlKC9cXC8kLywgXCJcIik7XG59XG5mdW5jdGlvbiBjcmVhdGVTY3JpcHQoaW5mbykge1xuXHRsZXQgc2NyaXB0ID0gbnVsbDtcblx0bGV0IG5lZWRBdHRhY2ggPSB0cnVlO1xuXHRsZXQgdGltZW91dCA9IDJlNDtcblx0bGV0IHRpbWVvdXRJZDtcblx0Y29uc3Qgc2NyaXB0cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwic2NyaXB0XCIpO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHNjcmlwdHMubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBzID0gc2NyaXB0c1tpXTtcblx0XHRjb25zdCBzY3JpcHRTcmMgPSBzLmdldEF0dHJpYnV0ZShcInNyY1wiKTtcblx0XHRpZiAoc2NyaXB0U3JjICYmIGlzU3RhdGljUmVzb3VyY2VzRXF1YWwoc2NyaXB0U3JjLCBpbmZvLnVybCkpIHtcblx0XHRcdHNjcmlwdCA9IHM7XG5cdFx0XHRuZWVkQXR0YWNoID0gZmFsc2U7XG5cdFx0XHRicmVhaztcblx0XHR9XG5cdH1cblx0aWYgKCFzY3JpcHQpIHtcblx0XHRjb25zdCBhdHRycyA9IGluZm8uYXR0cnM7XG5cdFx0c2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcInNjcmlwdFwiKTtcblx0XHRzY3JpcHQudHlwZSA9IGF0dHJzPy5bXCJ0eXBlXCJdID09PSBcIm1vZHVsZVwiID8gXCJtb2R1bGVcIiA6IFwidGV4dC9qYXZhc2NyaXB0XCI7XG5cdFx0bGV0IGNyZWF0ZVNjcmlwdFJlcyA9IHZvaWQgMDtcblx0XHRpZiAoaW5mby5jcmVhdGVTY3JpcHRIb29rKSB7XG5cdFx0XHRjcmVhdGVTY3JpcHRSZXMgPSBpbmZvLmNyZWF0ZVNjcmlwdEhvb2soaW5mby51cmwsIGluZm8uYXR0cnMpO1xuXHRcdFx0aWYgKGNyZWF0ZVNjcmlwdFJlcyBpbnN0YW5jZW9mIEhUTUxTY3JpcHRFbGVtZW50KSBzY3JpcHQgPSBjcmVhdGVTY3JpcHRSZXM7XG5cdFx0XHRlbHNlIGlmICh0eXBlb2YgY3JlYXRlU2NyaXB0UmVzID09PSBcIm9iamVjdFwiKSB7XG5cdFx0XHRcdGlmIChcInNjcmlwdFwiIGluIGNyZWF0ZVNjcmlwdFJlcyAmJiBjcmVhdGVTY3JpcHRSZXMuc2NyaXB0KSBzY3JpcHQgPSBjcmVhdGVTY3JpcHRSZXMuc2NyaXB0O1xuXHRcdFx0XHRpZiAoXCJ0aW1lb3V0XCIgaW4gY3JlYXRlU2NyaXB0UmVzICYmIGNyZWF0ZVNjcmlwdFJlcy50aW1lb3V0KSB0aW1lb3V0ID0gY3JlYXRlU2NyaXB0UmVzLnRpbWVvdXQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGlmICghc2NyaXB0LnNyYykgc2NyaXB0LnNyYyA9IGluZm8udXJsO1xuXHRcdGlmIChhdHRycyAmJiAhY3JlYXRlU2NyaXB0UmVzKSBPYmplY3Qua2V5cyhhdHRycykuZm9yRWFjaCgobmFtZSkgPT4ge1xuXHRcdFx0aWYgKHNjcmlwdCkge1xuXHRcdFx0XHRpZiAobmFtZSA9PT0gXCJhc3luY1wiIHx8IG5hbWUgPT09IFwiZGVmZXJcIikgc2NyaXB0W25hbWVdID0gYXR0cnNbbmFtZV07XG5cdFx0XHRcdGVsc2UgaWYgKCFzY3JpcHQuZ2V0QXR0cmlidXRlKG5hbWUpKSBzY3JpcHQuc2V0QXR0cmlidXRlKG5hbWUsIGF0dHJzW25hbWVdKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXHRsZXQgZXhlY3V0aW9uRXJyb3IgPSBudWxsO1xuXHRjb25zdCBleGVjdXRpb25FcnJvckhhbmRsZXIgPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gKGV2dCkgPT4ge1xuXHRcdGlmIChldnQuZmlsZW5hbWUgJiYgaXNTdGF0aWNSZXNvdXJjZXNFcXVhbChldnQuZmlsZW5hbWUsIGluZm8udXJsKSkge1xuXHRcdFx0Y29uc3QgZXJyID0gLyogQF9fUFVSRV9fICovIG5ldyBFcnJvcihgU2NyaXB0RXhlY3V0aW9uRXJyb3I6IFNjcmlwdCBcIiR7aW5mby51cmx9XCIgbG9hZGVkIGJ1dCB0aHJldyBhIHJ1bnRpbWUgZXJyb3IgZHVyaW5nIGV4ZWN1dGlvbjogJHtldnQubWVzc2FnZX0gKCR7ZXZ0LmZpbGVuYW1lfToke2V2dC5saW5lbm99OiR7ZXZ0LmNvbG5vfSlgKTtcblx0XHRcdGVyci5uYW1lID0gXCJTY3JpcHRFeGVjdXRpb25FcnJvclwiO1xuXHRcdFx0ZXhlY3V0aW9uRXJyb3IgPSBlcnI7XG5cdFx0fVxuXHR9IDogbnVsbDtcblx0aWYgKGV4ZWN1dGlvbkVycm9ySGFuZGxlcikgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCBleGVjdXRpb25FcnJvckhhbmRsZXIpO1xuXHRjb25zdCBvblNjcmlwdENvbXBsZXRlID0gYXN5bmMgKHByZXYsIGV2ZW50KSA9PiB7XG5cdFx0Y2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG5cdFx0aWYgKGV4ZWN1dGlvbkVycm9ySGFuZGxlcikgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLCBleGVjdXRpb25FcnJvckhhbmRsZXIpO1xuXHRcdGNvbnN0IG9uU2NyaXB0Q29tcGxldGVDYWxsYmFjayA9ICgpID0+IHtcblx0XHRcdGlmIChldmVudD8udHlwZSA9PT0gXCJlcnJvclwiKSB7XG5cdFx0XHRcdGNvbnN0IG5ldHdvcmtFcnJvciA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgRXJyb3IoZXZlbnQ/LmlzVGltZW91dCA/IGBTY3JpcHROZXR3b3JrRXJyb3I6IFNjcmlwdCBcIiR7aW5mby51cmx9XCIgdGltZWQgb3V0LmAgOiBgU2NyaXB0TmV0d29ya0Vycm9yOiBGYWlsZWQgdG8gbG9hZCBzY3JpcHQgXCIke2luZm8udXJsfVwiIC0gdGhlIHNjcmlwdCBVUkwgaXMgdW5yZWFjaGFibGUgb3IgdGhlIHNlcnZlciByZXR1cm5lZCBhbiBlcnJvciAobmV0d29yayBmYWlsdXJlLCA0MDQsIENPUlMsIGV0Yy4pYCk7XG5cdFx0XHRcdG5ldHdvcmtFcnJvci5uYW1lID0gXCJTY3JpcHROZXR3b3JrRXJyb3JcIjtcblx0XHRcdFx0aW5mbz8ub25FcnJvckNhbGxiYWNrICYmIGluZm8/Lm9uRXJyb3JDYWxsYmFjayhuZXR3b3JrRXJyb3IpO1xuXHRcdFx0fSBlbHNlIGlmIChleGVjdXRpb25FcnJvcikgaW5mbz8ub25FcnJvckNhbGxiYWNrICYmIGluZm8/Lm9uRXJyb3JDYWxsYmFjayhleGVjdXRpb25FcnJvcik7XG5cdFx0XHRlbHNlIGluZm8/LmNiICYmIGluZm8/LmNiKCk7XG5cdFx0fTtcblx0XHRpZiAoc2NyaXB0KSB7XG5cdFx0XHRzY3JpcHQub25lcnJvciA9IG51bGw7XG5cdFx0XHRzY3JpcHQub25sb2FkID0gbnVsbDtcblx0XHRcdHNhZmVXcmFwcGVyKCgpID0+IHtcblx0XHRcdFx0Y29uc3QgeyBuZWVkRGVsZXRlU2NyaXB0ID0gdHJ1ZSB9ID0gaW5mbztcblx0XHRcdFx0aWYgKG5lZWREZWxldGVTY3JpcHQpIHNjcmlwdD8ucGFyZW50Tm9kZSAmJiBzY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChzY3JpcHQpO1xuXHRcdFx0fSk7XG5cdFx0XHRpZiAocHJldiAmJiB0eXBlb2YgcHJldiA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHRcdGNvbnN0IHJlc3VsdCA9IHByZXYoZXZlbnQpO1xuXHRcdFx0XHRpZiAocmVzdWx0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuXHRcdFx0XHRcdGNvbnN0IHJlcyA9IGF3YWl0IHJlc3VsdDtcblx0XHRcdFx0XHRvblNjcmlwdENvbXBsZXRlQ2FsbGJhY2soKTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzO1xuXHRcdFx0XHR9XG5cdFx0XHRcdG9uU2NyaXB0Q29tcGxldGVDYWxsYmFjaygpO1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXHRcdH1cblx0XHRvblNjcmlwdENvbXBsZXRlQ2FsbGJhY2soKTtcblx0fTtcblx0c2NyaXB0Lm9uZXJyb3IgPSBvblNjcmlwdENvbXBsZXRlLmJpbmQobnVsbCwgc2NyaXB0Lm9uZXJyb3IpO1xuXHRzY3JpcHQub25sb2FkID0gb25TY3JpcHRDb21wbGV0ZS5iaW5kKG51bGwsIHNjcmlwdC5vbmxvYWQpO1xuXHR0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRvblNjcmlwdENvbXBsZXRlKG51bGwsIHtcblx0XHRcdHR5cGU6IFwiZXJyb3JcIixcblx0XHRcdGlzVGltZW91dDogdHJ1ZVxuXHRcdH0pO1xuXHR9LCB0aW1lb3V0KTtcblx0cmV0dXJuIHtcblx0XHRzY3JpcHQsXG5cdFx0bmVlZEF0dGFjaFxuXHR9O1xufVxuZnVuY3Rpb24gY3JlYXRlTGluayhpbmZvKSB7XG5cdGxldCBsaW5rID0gbnVsbDtcblx0bGV0IG5lZWRBdHRhY2ggPSB0cnVlO1xuXHRsZXQgdGltZW91dCA9IDJlNDtcblx0bGV0IHRpbWVvdXRJZDtcblx0Y29uc3QgbGlua3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShcImxpbmtcIik7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgbGlua3MubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBsID0gbGlua3NbaV07XG5cdFx0Y29uc3QgbGlua0hyZWYgPSBsLmdldEF0dHJpYnV0ZShcImhyZWZcIik7XG5cdFx0Y29uc3QgbGlua1JlbCA9IGwuZ2V0QXR0cmlidXRlKFwicmVsXCIpO1xuXHRcdGlmIChsaW5rSHJlZiAmJiBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKGxpbmtIcmVmLCBpbmZvLnVybCkgJiYgbGlua1JlbCA9PT0gaW5mby5hdHRyc1tcInJlbFwiXSkge1xuXHRcdFx0bGluayA9IGw7XG5cdFx0XHRuZWVkQXR0YWNoID0gZmFsc2U7XG5cdFx0XHRicmVhaztcblx0XHR9XG5cdH1cblx0aWYgKCFsaW5rKSB7XG5cdFx0bGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJsaW5rXCIpO1xuXHRcdGxpbmsuc2V0QXR0cmlidXRlKFwiaHJlZlwiLCBpbmZvLnVybCk7XG5cdFx0bGV0IGNyZWF0ZUxpbmtSZXMgPSB2b2lkIDA7XG5cdFx0bGV0IHNob3VsZEFwcGx5QXR0cnMgPSB0cnVlO1xuXHRcdGNvbnN0IGF0dHJzID0gaW5mby5hdHRycztcblx0XHRpZiAoaW5mby5jcmVhdGVMaW5rSG9vaykge1xuXHRcdFx0Y3JlYXRlTGlua1JlcyA9IGluZm8uY3JlYXRlTGlua0hvb2soaW5mby51cmwsIGF0dHJzKTtcblx0XHRcdGlmIChjcmVhdGVMaW5rUmVzIGluc3RhbmNlb2YgSFRNTExpbmtFbGVtZW50KSB7XG5cdFx0XHRcdGxpbmsgPSBjcmVhdGVMaW5rUmVzO1xuXHRcdFx0XHRzaG91bGRBcHBseUF0dHJzID0gZmFsc2U7XG5cdFx0XHR9IGVsc2UgaWYgKHR5cGVvZiBjcmVhdGVMaW5rUmVzID09PSBcIm9iamVjdFwiKSB7XG5cdFx0XHRcdGlmIChcImxpbmtcIiBpbiBjcmVhdGVMaW5rUmVzICYmIGNyZWF0ZUxpbmtSZXMubGluaykge1xuXHRcdFx0XHRcdGxpbmsgPSBjcmVhdGVMaW5rUmVzLmxpbms7XG5cdFx0XHRcdFx0c2hvdWxkQXBwbHlBdHRycyA9IGZhbHNlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChcInRpbWVvdXRcIiBpbiBjcmVhdGVMaW5rUmVzICYmIGNyZWF0ZUxpbmtSZXMudGltZW91dCkgdGltZW91dCA9IGNyZWF0ZUxpbmtSZXMudGltZW91dDtcblx0XHRcdH1cblx0XHR9XG5cdFx0aWYgKGF0dHJzICYmIHNob3VsZEFwcGx5QXR0cnMpIE9iamVjdC5rZXlzKGF0dHJzKS5mb3JFYWNoKChuYW1lKSA9PiB7XG5cdFx0XHRpZiAobGluayAmJiAhbGluay5nZXRBdHRyaWJ1dGUobmFtZSkpIGxpbmsuc2V0QXR0cmlidXRlKG5hbWUsIGF0dHJzW25hbWVdKTtcblx0XHR9KTtcblx0fVxuXHRpZiAoIW5lZWRBdHRhY2gpIHtcblx0XHRQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcblx0XHRcdGluZm8/LmNiICYmIGluZm8/LmNiKCk7XG5cdFx0fSk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGxpbmssXG5cdFx0XHRuZWVkQXR0YWNoXG5cdFx0fTtcblx0fVxuXHRjb25zdCBvbkxpbmtDb21wbGV0ZSA9IChwcmV2LCBldmVudCkgPT4ge1xuXHRcdGlmICh0aW1lb3V0SWQpIGNsZWFyVGltZW91dCh0aW1lb3V0SWQpO1xuXHRcdGNvbnN0IG9uTGlua0NvbXBsZXRlQ2FsbGJhY2sgPSAoKSA9PiB7XG5cdFx0XHRpZiAoZXZlbnQ/LnR5cGUgPT09IFwiZXJyb3JcIikge1xuXHRcdFx0XHRjb25zdCBsaW5rRXJyb3IgPSAvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKGV2ZW50Py5pc1RpbWVvdXQgPyBgTGlua05ldHdvcmtFcnJvcjogTGluayBcIiR7aW5mby51cmx9XCIgdGltZWQgb3V0LmAgOiBgTGlua05ldHdvcmtFcnJvcjogRmFpbGVkIHRvIGxvYWQgbGluayBcIiR7aW5mby51cmx9XCIgLSB0aGUgVVJMIGlzIHVucmVhY2hhYmxlIG9yIHRoZSBzZXJ2ZXIgcmV0dXJuZWQgYW4gZXJyb3IuYCk7XG5cdFx0XHRcdGxpbmtFcnJvci5uYW1lID0gXCJMaW5rTmV0d29ya0Vycm9yXCI7XG5cdFx0XHRcdGluZm8/Lm9uRXJyb3JDYWxsYmFjayAmJiBpbmZvPy5vbkVycm9yQ2FsbGJhY2sobGlua0Vycm9yKTtcblx0XHRcdH0gZWxzZSBpbmZvPy5jYiAmJiBpbmZvPy5jYigpO1xuXHRcdH07XG5cdFx0aWYgKGxpbmspIHtcblx0XHRcdGxpbmsub25lcnJvciA9IG51bGw7XG5cdFx0XHRsaW5rLm9ubG9hZCA9IG51bGw7XG5cdFx0XHRzYWZlV3JhcHBlcigoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHsgbmVlZERlbGV0ZUxpbmsgPSB0cnVlIH0gPSBpbmZvO1xuXHRcdFx0XHRpZiAobmVlZERlbGV0ZUxpbmspIGxpbms/LnBhcmVudE5vZGUgJiYgbGluay5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGxpbmspO1xuXHRcdFx0fSk7XG5cdFx0XHRpZiAocHJldikge1xuXHRcdFx0XHRjb25zdCByZXMgPSBwcmV2KGV2ZW50KTtcblx0XHRcdFx0b25MaW5rQ29tcGxldGVDYWxsYmFjaygpO1xuXHRcdFx0XHRyZXR1cm4gcmVzO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRvbkxpbmtDb21wbGV0ZUNhbGxiYWNrKCk7XG5cdH07XG5cdGxpbmsub25lcnJvciA9IG9uTGlua0NvbXBsZXRlLmJpbmQobnVsbCwgbGluay5vbmVycm9yKTtcblx0bGluay5vbmxvYWQgPSBvbkxpbmtDb21wbGV0ZS5iaW5kKG51bGwsIGxpbmsub25sb2FkKTtcblx0dGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG5cdFx0b25MaW5rQ29tcGxldGUobnVsbCwge1xuXHRcdFx0dHlwZTogXCJlcnJvclwiLFxuXHRcdFx0aXNUaW1lb3V0OiB0cnVlXG5cdFx0fSk7XG5cdH0sIHRpbWVvdXQpO1xuXHRyZXR1cm4ge1xuXHRcdGxpbmssXG5cdFx0bmVlZEF0dGFjaFxuXHR9O1xufVxuZnVuY3Rpb24gbG9hZFNjcmlwdCh1cmwsIGluZm8pIHtcblx0Y29uc3QgeyBhdHRycyA9IHt9LCBjcmVhdGVTY3JpcHRIb29rIH0gPSBpbmZvO1xuXHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdGNvbnN0IHsgc2NyaXB0LCBuZWVkQXR0YWNoIH0gPSBjcmVhdGVTY3JpcHQoe1xuXHRcdFx0dXJsLFxuXHRcdFx0Y2I6IHJlc29sdmUsXG5cdFx0XHRvbkVycm9yQ2FsbGJhY2s6IHJlamVjdCxcblx0XHRcdGF0dHJzOiB7XG5cdFx0XHRcdGZldGNocHJpb3JpdHk6IFwiaGlnaFwiLFxuXHRcdFx0XHQuLi5hdHRyc1xuXHRcdFx0fSxcblx0XHRcdGNyZWF0ZVNjcmlwdEhvb2ssXG5cdFx0XHRuZWVkRGVsZXRlU2NyaXB0OiB0cnVlXG5cdFx0fSk7XG5cdFx0bmVlZEF0dGFjaCAmJiBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7XG5cdH0pO1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuY3JlYXRlTGluayA9IGNyZWF0ZUxpbms7XG5leHBvcnRzLmNyZWF0ZVNjcmlwdCA9IGNyZWF0ZVNjcmlwdDtcbmV4cG9ydHMuaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCA9IGlzU3RhdGljUmVzb3VyY2VzRXF1YWw7XG5leHBvcnRzLmxvYWRTY3JpcHQgPSBsb2FkU2NyaXB0O1xuZXhwb3J0cy5zYWZlV3JhcHBlciA9IHNhZmVXcmFwcGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZG9tLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCLG1CQUFPLENBQUMsNkRBQWE7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUIsb0JBQW9CO0FBQ3JDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBFQUEwRSxTQUFTLHVEQUF1RCxhQUFhLEdBQUcsYUFBYSxHQUFHLFdBQVcsR0FBRyxVQUFVO0FBQ2xNO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxR0FBcUcsU0FBUyw4REFBOEQsU0FBUztBQUNyTDtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksMEJBQTBCO0FBQ3RDO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUJBQWlCLGtCQUFrQjtBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4RkFBOEYsU0FBUywwREFBMEQsU0FBUztBQUMxSztBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLHdCQUF3QjtBQUNwQztBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLFVBQVUscUJBQXFCO0FBQ3hDO0FBQ0EsVUFBVSxxQkFBcUI7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQSxrQkFBa0I7QUFDbEIsb0JBQW9CO0FBQ3BCLDhCQUE4QjtBQUM5QixrQkFBa0I7QUFDbEIsbUJBQW1CO0FBQ25CIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/dom.cjs\n\n}");
|
|
228
|
+
|
|
229
|
+
},
|
|
230
|
+
"../../../node_modules/@module-federation/sdk/dist/env.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
231
|
+
eval("{const require_constant = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.cjs\");\n\n//#region src/env.ts\nconst isBrowserEnvValue = true ? \"web\" === \"web\" : 0;\nfunction isBrowserEnv() {\n\treturn isBrowserEnvValue;\n}\nfunction isReactNativeEnv() {\n\treturn typeof navigator !== \"undefined\" && navigator?.product === \"ReactNative\";\n}\nfunction isBrowserDebug() {\n\ttry {\n\t\tif (isBrowserEnv() && window.localStorage) return Boolean(localStorage.getItem(require_constant.BROWSER_LOG_KEY));\n\t} catch (error) {\n\t\treturn false;\n\t}\n\treturn false;\n}\nfunction isDebugMode() {\n\tif (typeof process !== \"undefined\" && process.env && process.env[\"FEDERATION_DEBUG\"]) return Boolean(process.env[\"FEDERATION_DEBUG\"]);\n\tif (typeof FEDERATION_DEBUG !== \"undefined\" && Boolean(FEDERATION_DEBUG)) return true;\n\treturn isBrowserDebug();\n}\nconst getProcessEnv = function() {\n\treturn typeof process !== \"undefined\" && process.env ? process.env : {};\n};\n\n//#endregion\nexports.getProcessEnv = getProcessEnv;\nexports.isBrowserEnv = isBrowserEnv;\nexports.isBrowserEnvValue = isBrowserEnvValue;\nexports.isDebugMode = isDebugMode;\nexports.isReactNativeEnv = isReactNativeEnv;\n//# sourceMappingURL=env.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2Vudi5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvZW52LmNqcz80NWU1Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfY29uc3RhbnQgPSByZXF1aXJlKCcuL2NvbnN0YW50LmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL2Vudi50c1xuY29uc3QgaXNCcm93c2VyRW52VmFsdWUgPSB0eXBlb2YgRU5WX1RBUkdFVCAhPT0gXCJ1bmRlZmluZWRcIiA/IEVOVl9UQVJHRVQgPT09IFwid2ViXCIgOiB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiB3aW5kb3cuZG9jdW1lbnQgIT09IFwidW5kZWZpbmVkXCI7XG5mdW5jdGlvbiBpc0Jyb3dzZXJFbnYoKSB7XG5cdHJldHVybiBpc0Jyb3dzZXJFbnZWYWx1ZTtcbn1cbmZ1bmN0aW9uIGlzUmVhY3ROYXRpdmVFbnYoKSB7XG5cdHJldHVybiB0eXBlb2YgbmF2aWdhdG9yICE9PSBcInVuZGVmaW5lZFwiICYmIG5hdmlnYXRvcj8ucHJvZHVjdCA9PT0gXCJSZWFjdE5hdGl2ZVwiO1xufVxuZnVuY3Rpb24gaXNCcm93c2VyRGVidWcoKSB7XG5cdHRyeSB7XG5cdFx0aWYgKGlzQnJvd3NlckVudigpICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UpIHJldHVybiBCb29sZWFuKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHJlcXVpcmVfY29uc3RhbnQuQlJPV1NFUl9MT0dfS0VZKSk7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cdHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzRGVidWdNb2RlKCkge1xuXHRpZiAodHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIgJiYgcHJvY2Vzcy5lbnYgJiYgcHJvY2Vzcy5lbnZbXCJGRURFUkFUSU9OX0RFQlVHXCJdKSByZXR1cm4gQm9vbGVhbihwcm9jZXNzLmVudltcIkZFREVSQVRJT05fREVCVUdcIl0pO1xuXHRpZiAodHlwZW9mIEZFREVSQVRJT05fREVCVUcgIT09IFwidW5kZWZpbmVkXCIgJiYgQm9vbGVhbihGRURFUkFUSU9OX0RFQlVHKSkgcmV0dXJuIHRydWU7XG5cdHJldHVybiBpc0Jyb3dzZXJEZWJ1ZygpO1xufVxuY29uc3QgZ2V0UHJvY2Vzc0VudiA9IGZ1bmN0aW9uKCkge1xuXHRyZXR1cm4gdHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIgJiYgcHJvY2Vzcy5lbnYgPyBwcm9jZXNzLmVudiA6IHt9O1xufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmdldFByb2Nlc3NFbnYgPSBnZXRQcm9jZXNzRW52O1xuZXhwb3J0cy5pc0Jyb3dzZXJFbnYgPSBpc0Jyb3dzZXJFbnY7XG5leHBvcnRzLmlzQnJvd3NlckVudlZhbHVlID0gaXNCcm93c2VyRW52VmFsdWU7XG5leHBvcnRzLmlzRGVidWdNb2RlID0gaXNEZWJ1Z01vZGU7XG5leHBvcnRzLmlzUmVhY3ROYXRpdmVFbnYgPSBpc1JlYWN0TmF0aXZlRW52O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZW52LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCLG1CQUFPLENBQUMsZ0VBQWdCOztBQUVqRDtBQUNBLDBCQUEwQixLQUFpQyxHQUFHLEtBQVUsYUFBYSxDQUF1RTtBQUM1SjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EscUJBQXFCO0FBQ3JCLG9CQUFvQjtBQUNwQix5QkFBeUI7QUFDekIsbUJBQW1CO0FBQ25CLHdCQUF3QjtBQUN4QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/env.cjs\n\n}");
|
|
232
|
+
|
|
233
|
+
},
|
|
234
|
+
"../../../node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
235
|
+
eval("{const require_constant = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.cjs\");\n\n//#region src/generateSnapshotFromManifest.ts\nconst simpleJoinRemoteEntry = (rPath, rName) => {\n\tif (!rPath) return rName;\n\tconst transformPath = (str) => {\n\t\tif (str === \".\") return \"\";\n\t\tif (str.startsWith(\"./\")) return str.replace(\"./\", \"\");\n\t\tif (str.startsWith(\"/\")) {\n\t\t\tconst strWithoutSlash = str.slice(1);\n\t\t\tif (strWithoutSlash.endsWith(\"/\")) return strWithoutSlash.slice(0, -1);\n\t\t\treturn strWithoutSlash;\n\t\t}\n\t\treturn str;\n\t};\n\tconst transformedPath = transformPath(rPath);\n\tif (!transformedPath) return rName;\n\tif (transformedPath.endsWith(\"/\")) return `${transformedPath}${rName}`;\n\treturn `${transformedPath}/${rName}`;\n};\nfunction inferAutoPublicPath(url) {\n\treturn url.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n}\nfunction generateSnapshotFromManifest(manifest, options = {}) {\n\tconst { remotes = {}, overrides = {}, version } = options;\n\tlet remoteSnapshot;\n\tconst getPublicPath = () => {\n\t\tif (\"publicPath\" in manifest.metaData) {\n\t\t\tif ((manifest.metaData.publicPath === \"auto\" || manifest.metaData.publicPath === \"\") && version) return inferAutoPublicPath(version);\n\t\t\treturn manifest.metaData.publicPath;\n\t\t} else return manifest.metaData.getPublicPath;\n\t};\n\tconst overridesKeys = Object.keys(overrides);\n\tlet remotesInfo = {};\n\tif (!Object.keys(remotes).length) remotesInfo = manifest.remotes?.reduce((res, next) => {\n\t\tlet matchedVersion;\n\t\tconst name = next.federationContainerName;\n\t\tif (overridesKeys.includes(name)) matchedVersion = overrides[name];\n\t\telse if (\"version\" in next) matchedVersion = next.version;\n\t\telse matchedVersion = next.entry;\n\t\tres[name] = { matchedVersion };\n\t\treturn res;\n\t}, {}) || {};\n\tObject.keys(remotes).forEach((key) => remotesInfo[key] = { matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key] });\n\tconst { remoteEntry: { path: remoteEntryPath, name: remoteEntryName, type: remoteEntryType }, types: remoteTypes = {\n\t\tpath: \"\",\n\t\tname: \"\",\n\t\tzip: \"\",\n\t\tapi: \"\"\n\t}, buildInfo: { buildVersion }, globalName, ssrRemoteEntry } = manifest.metaData;\n\tconst { exposes } = manifest;\n\tlet basicRemoteSnapshot = {\n\t\tversion: version ? version : \"\",\n\t\tbuildVersion,\n\t\tglobalName,\n\t\tremoteEntry: simpleJoinRemoteEntry(remoteEntryPath, remoteEntryName),\n\t\tremoteEntryType,\n\t\tremoteTypes: simpleJoinRemoteEntry(remoteTypes.path, remoteTypes.name),\n\t\tremoteTypesZip: remoteTypes.zip || \"\",\n\t\tremoteTypesAPI: remoteTypes.api || \"\",\n\t\tremotesInfo,\n\t\tshared: manifest?.shared.map((item) => ({\n\t\t\tassets: item.assets,\n\t\t\tsharedName: item.name,\n\t\t\tversion: item.version,\n\t\t\tusedExports: item.referenceExports || []\n\t\t})),\n\t\tmodules: exposes?.map((expose) => ({\n\t\t\tmoduleName: expose.name,\n\t\t\tmodulePath: expose.path,\n\t\t\tassets: expose.assets\n\t\t}))\n\t};\n\tif (\"publicPath\" in manifest.metaData) {\n\t\tremoteSnapshot = {\n\t\t\t...basicRemoteSnapshot,\n\t\t\tpublicPath: getPublicPath()\n\t\t};\n\t\tif (typeof manifest.metaData.ssrPublicPath === \"string\") remoteSnapshot.ssrPublicPath = manifest.metaData.ssrPublicPath;\n\t} else remoteSnapshot = {\n\t\t...basicRemoteSnapshot,\n\t\tgetPublicPath: getPublicPath()\n\t};\n\tif (ssrRemoteEntry) {\n\t\tconst fullSSRRemoteEntry = simpleJoinRemoteEntry(ssrRemoteEntry.path, ssrRemoteEntry.name);\n\t\tremoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry;\n\t\tremoteSnapshot.ssrRemoteEntryType = ssrRemoteEntry.type || \"commonjs-module\";\n\t}\n\treturn remoteSnapshot;\n}\nfunction isManifestProvider(moduleInfo) {\n\tif (\"remoteEntry\" in moduleInfo && moduleInfo.remoteEntry.includes(require_constant.MANIFEST_EXT)) return true;\n\telse return false;\n}\nfunction getManifestFileName(manifestOptions) {\n\tif (!manifestOptions) return {\n\t\tstatsFileName: require_constant.StatsFileName,\n\t\tmanifestFileName: require_constant.ManifestFileName\n\t};\n\tlet filePath = typeof manifestOptions === \"boolean\" ? \"\" : manifestOptions.filePath || \"\";\n\tlet fileName = typeof manifestOptions === \"boolean\" ? \"\" : manifestOptions.fileName || \"\";\n\tconst JSON_EXT = \".json\";\n\tconst addExt = (name) => {\n\t\tif (name.endsWith(JSON_EXT)) return name;\n\t\treturn `${name}${JSON_EXT}`;\n\t};\n\tconst insertSuffix = (name, suffix) => {\n\t\treturn name.replace(JSON_EXT, `${suffix}${JSON_EXT}`);\n\t};\n\tconst manifestFileName = fileName ? addExt(fileName) : require_constant.ManifestFileName;\n\treturn {\n\t\tstatsFileName: simpleJoinRemoteEntry(filePath, fileName ? insertSuffix(manifestFileName, \"-stats\") : require_constant.StatsFileName),\n\t\tmanifestFileName: simpleJoinRemoteEntry(filePath, manifestFileName)\n\t};\n}\n\n//#endregion\nexports.generateSnapshotFromManifest = generateSnapshotFromManifest;\nexports.getManifestFileName = getManifestFileName;\nexports.inferAutoPublicPath = inferAutoPublicPath;\nexports.isManifestProvider = isManifestProvider;\nexports.simpleJoinRemoteEntry = simpleJoinRemoteEntry;\n//# sourceMappingURL=generateSnapshotFromManifest.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2dlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2dlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QuY2pzP2JlMmEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9jb25zdGFudCA9IHJlcXVpcmUoJy4vY29uc3RhbnQuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdC50c1xuY29uc3Qgc2ltcGxlSm9pblJlbW90ZUVudHJ5ID0gKHJQYXRoLCByTmFtZSkgPT4ge1xuXHRpZiAoIXJQYXRoKSByZXR1cm4gck5hbWU7XG5cdGNvbnN0IHRyYW5zZm9ybVBhdGggPSAoc3RyKSA9PiB7XG5cdFx0aWYgKHN0ciA9PT0gXCIuXCIpIHJldHVybiBcIlwiO1xuXHRcdGlmIChzdHIuc3RhcnRzV2l0aChcIi4vXCIpKSByZXR1cm4gc3RyLnJlcGxhY2UoXCIuL1wiLCBcIlwiKTtcblx0XHRpZiAoc3RyLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG5cdFx0XHRjb25zdCBzdHJXaXRob3V0U2xhc2ggPSBzdHIuc2xpY2UoMSk7XG5cdFx0XHRpZiAoc3RyV2l0aG91dFNsYXNoLmVuZHNXaXRoKFwiL1wiKSkgcmV0dXJuIHN0cldpdGhvdXRTbGFzaC5zbGljZSgwLCAtMSk7XG5cdFx0XHRyZXR1cm4gc3RyV2l0aG91dFNsYXNoO1xuXHRcdH1cblx0XHRyZXR1cm4gc3RyO1xuXHR9O1xuXHRjb25zdCB0cmFuc2Zvcm1lZFBhdGggPSB0cmFuc2Zvcm1QYXRoKHJQYXRoKTtcblx0aWYgKCF0cmFuc2Zvcm1lZFBhdGgpIHJldHVybiByTmFtZTtcblx0aWYgKHRyYW5zZm9ybWVkUGF0aC5lbmRzV2l0aChcIi9cIikpIHJldHVybiBgJHt0cmFuc2Zvcm1lZFBhdGh9JHtyTmFtZX1gO1xuXHRyZXR1cm4gYCR7dHJhbnNmb3JtZWRQYXRofS8ke3JOYW1lfWA7XG59O1xuZnVuY3Rpb24gaW5mZXJBdXRvUHVibGljUGF0aCh1cmwpIHtcblx0cmV0dXJuIHVybC5yZXBsYWNlKC8jLiokLywgXCJcIikucmVwbGFjZSgvXFw/LiokLywgXCJcIikucmVwbGFjZSgvXFwvW15cXC9dKyQvLCBcIi9cIik7XG59XG5mdW5jdGlvbiBnZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0KG1hbmlmZXN0LCBvcHRpb25zID0ge30pIHtcblx0Y29uc3QgeyByZW1vdGVzID0ge30sIG92ZXJyaWRlcyA9IHt9LCB2ZXJzaW9uIH0gPSBvcHRpb25zO1xuXHRsZXQgcmVtb3RlU25hcHNob3Q7XG5cdGNvbnN0IGdldFB1YmxpY1BhdGggPSAoKSA9PiB7XG5cdFx0aWYgKFwicHVibGljUGF0aFwiIGluIG1hbmlmZXN0Lm1ldGFEYXRhKSB7XG5cdFx0XHRpZiAoKG1hbmlmZXN0Lm1ldGFEYXRhLnB1YmxpY1BhdGggPT09IFwiYXV0b1wiIHx8IG1hbmlmZXN0Lm1ldGFEYXRhLnB1YmxpY1BhdGggPT09IFwiXCIpICYmIHZlcnNpb24pIHJldHVybiBpbmZlckF1dG9QdWJsaWNQYXRoKHZlcnNpb24pO1xuXHRcdFx0cmV0dXJuIG1hbmlmZXN0Lm1ldGFEYXRhLnB1YmxpY1BhdGg7XG5cdFx0fSBlbHNlIHJldHVybiBtYW5pZmVzdC5tZXRhRGF0YS5nZXRQdWJsaWNQYXRoO1xuXHR9O1xuXHRjb25zdCBvdmVycmlkZXNLZXlzID0gT2JqZWN0LmtleXMob3ZlcnJpZGVzKTtcblx0bGV0IHJlbW90ZXNJbmZvID0ge307XG5cdGlmICghT2JqZWN0LmtleXMocmVtb3RlcykubGVuZ3RoKSByZW1vdGVzSW5mbyA9IG1hbmlmZXN0LnJlbW90ZXM/LnJlZHVjZSgocmVzLCBuZXh0KSA9PiB7XG5cdFx0bGV0IG1hdGNoZWRWZXJzaW9uO1xuXHRcdGNvbnN0IG5hbWUgPSBuZXh0LmZlZGVyYXRpb25Db250YWluZXJOYW1lO1xuXHRcdGlmIChvdmVycmlkZXNLZXlzLmluY2x1ZGVzKG5hbWUpKSBtYXRjaGVkVmVyc2lvbiA9IG92ZXJyaWRlc1tuYW1lXTtcblx0XHRlbHNlIGlmIChcInZlcnNpb25cIiBpbiBuZXh0KSBtYXRjaGVkVmVyc2lvbiA9IG5leHQudmVyc2lvbjtcblx0XHRlbHNlIG1hdGNoZWRWZXJzaW9uID0gbmV4dC5lbnRyeTtcblx0XHRyZXNbbmFtZV0gPSB7IG1hdGNoZWRWZXJzaW9uIH07XG5cdFx0cmV0dXJuIHJlcztcblx0fSwge30pIHx8IHt9O1xuXHRPYmplY3Qua2V5cyhyZW1vdGVzKS5mb3JFYWNoKChrZXkpID0+IHJlbW90ZXNJbmZvW2tleV0gPSB7IG1hdGNoZWRWZXJzaW9uOiBvdmVycmlkZXNLZXlzLmluY2x1ZGVzKGtleSkgPyBvdmVycmlkZXNba2V5XSA6IHJlbW90ZXNba2V5XSB9KTtcblx0Y29uc3QgeyByZW1vdGVFbnRyeTogeyBwYXRoOiByZW1vdGVFbnRyeVBhdGgsIG5hbWU6IHJlbW90ZUVudHJ5TmFtZSwgdHlwZTogcmVtb3RlRW50cnlUeXBlIH0sIHR5cGVzOiByZW1vdGVUeXBlcyA9IHtcblx0XHRwYXRoOiBcIlwiLFxuXHRcdG5hbWU6IFwiXCIsXG5cdFx0emlwOiBcIlwiLFxuXHRcdGFwaTogXCJcIlxuXHR9LCBidWlsZEluZm86IHsgYnVpbGRWZXJzaW9uIH0sIGdsb2JhbE5hbWUsIHNzclJlbW90ZUVudHJ5IH0gPSBtYW5pZmVzdC5tZXRhRGF0YTtcblx0Y29uc3QgeyBleHBvc2VzIH0gPSBtYW5pZmVzdDtcblx0bGV0IGJhc2ljUmVtb3RlU25hcHNob3QgPSB7XG5cdFx0dmVyc2lvbjogdmVyc2lvbiA/IHZlcnNpb24gOiBcIlwiLFxuXHRcdGJ1aWxkVmVyc2lvbixcblx0XHRnbG9iYWxOYW1lLFxuXHRcdHJlbW90ZUVudHJ5OiBzaW1wbGVKb2luUmVtb3RlRW50cnkocmVtb3RlRW50cnlQYXRoLCByZW1vdGVFbnRyeU5hbWUpLFxuXHRcdHJlbW90ZUVudHJ5VHlwZSxcblx0XHRyZW1vdGVUeXBlczogc2ltcGxlSm9pblJlbW90ZUVudHJ5KHJlbW90ZVR5cGVzLnBhdGgsIHJlbW90ZVR5cGVzLm5hbWUpLFxuXHRcdHJlbW90ZVR5cGVzWmlwOiByZW1vdGVUeXBlcy56aXAgfHwgXCJcIixcblx0XHRyZW1vdGVUeXBlc0FQSTogcmVtb3RlVHlwZXMuYXBpIHx8IFwiXCIsXG5cdFx0cmVtb3Rlc0luZm8sXG5cdFx0c2hhcmVkOiBtYW5pZmVzdD8uc2hhcmVkLm1hcCgoaXRlbSkgPT4gKHtcblx0XHRcdGFzc2V0czogaXRlbS5hc3NldHMsXG5cdFx0XHRzaGFyZWROYW1lOiBpdGVtLm5hbWUsXG5cdFx0XHR2ZXJzaW9uOiBpdGVtLnZlcnNpb24sXG5cdFx0XHR1c2VkRXhwb3J0czogaXRlbS5yZWZlcmVuY2VFeHBvcnRzIHx8IFtdXG5cdFx0fSkpLFxuXHRcdG1vZHVsZXM6IGV4cG9zZXM/Lm1hcCgoZXhwb3NlKSA9PiAoe1xuXHRcdFx0bW9kdWxlTmFtZTogZXhwb3NlLm5hbWUsXG5cdFx0XHRtb2R1bGVQYXRoOiBleHBvc2UucGF0aCxcblx0XHRcdGFzc2V0czogZXhwb3NlLmFzc2V0c1xuXHRcdH0pKVxuXHR9O1xuXHRpZiAoXCJwdWJsaWNQYXRoXCIgaW4gbWFuaWZlc3QubWV0YURhdGEpIHtcblx0XHRyZW1vdGVTbmFwc2hvdCA9IHtcblx0XHRcdC4uLmJhc2ljUmVtb3RlU25hcHNob3QsXG5cdFx0XHRwdWJsaWNQYXRoOiBnZXRQdWJsaWNQYXRoKClcblx0XHR9O1xuXHRcdGlmICh0eXBlb2YgbWFuaWZlc3QubWV0YURhdGEuc3NyUHVibGljUGF0aCA9PT0gXCJzdHJpbmdcIikgcmVtb3RlU25hcHNob3Quc3NyUHVibGljUGF0aCA9IG1hbmlmZXN0Lm1ldGFEYXRhLnNzclB1YmxpY1BhdGg7XG5cdH0gZWxzZSByZW1vdGVTbmFwc2hvdCA9IHtcblx0XHQuLi5iYXNpY1JlbW90ZVNuYXBzaG90LFxuXHRcdGdldFB1YmxpY1BhdGg6IGdldFB1YmxpY1BhdGgoKVxuXHR9O1xuXHRpZiAoc3NyUmVtb3RlRW50cnkpIHtcblx0XHRjb25zdCBmdWxsU1NSUmVtb3RlRW50cnkgPSBzaW1wbGVKb2luUmVtb3RlRW50cnkoc3NyUmVtb3RlRW50cnkucGF0aCwgc3NyUmVtb3RlRW50cnkubmFtZSk7XG5cdFx0cmVtb3RlU25hcHNob3Quc3NyUmVtb3RlRW50cnkgPSBmdWxsU1NSUmVtb3RlRW50cnk7XG5cdFx0cmVtb3RlU25hcHNob3Quc3NyUmVtb3RlRW50cnlUeXBlID0gc3NyUmVtb3RlRW50cnkudHlwZSB8fCBcImNvbW1vbmpzLW1vZHVsZVwiO1xuXHR9XG5cdHJldHVybiByZW1vdGVTbmFwc2hvdDtcbn1cbmZ1bmN0aW9uIGlzTWFuaWZlc3RQcm92aWRlcihtb2R1bGVJbmZvKSB7XG5cdGlmIChcInJlbW90ZUVudHJ5XCIgaW4gbW9kdWxlSW5mbyAmJiBtb2R1bGVJbmZvLnJlbW90ZUVudHJ5LmluY2x1ZGVzKHJlcXVpcmVfY29uc3RhbnQuTUFOSUZFU1RfRVhUKSkgcmV0dXJuIHRydWU7XG5cdGVsc2UgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gZ2V0TWFuaWZlc3RGaWxlTmFtZShtYW5pZmVzdE9wdGlvbnMpIHtcblx0aWYgKCFtYW5pZmVzdE9wdGlvbnMpIHJldHVybiB7XG5cdFx0c3RhdHNGaWxlTmFtZTogcmVxdWlyZV9jb25zdGFudC5TdGF0c0ZpbGVOYW1lLFxuXHRcdG1hbmlmZXN0RmlsZU5hbWU6IHJlcXVpcmVfY29uc3RhbnQuTWFuaWZlc3RGaWxlTmFtZVxuXHR9O1xuXHRsZXQgZmlsZVBhdGggPSB0eXBlb2YgbWFuaWZlc3RPcHRpb25zID09PSBcImJvb2xlYW5cIiA/IFwiXCIgOiBtYW5pZmVzdE9wdGlvbnMuZmlsZVBhdGggfHwgXCJcIjtcblx0bGV0IGZpbGVOYW1lID0gdHlwZW9mIG1hbmlmZXN0T3B0aW9ucyA9PT0gXCJib29sZWFuXCIgPyBcIlwiIDogbWFuaWZlc3RPcHRpb25zLmZpbGVOYW1lIHx8IFwiXCI7XG5cdGNvbnN0IEpTT05fRVhUID0gXCIuanNvblwiO1xuXHRjb25zdCBhZGRFeHQgPSAobmFtZSkgPT4ge1xuXHRcdGlmIChuYW1lLmVuZHNXaXRoKEpTT05fRVhUKSkgcmV0dXJuIG5hbWU7XG5cdFx0cmV0dXJuIGAke25hbWV9JHtKU09OX0VYVH1gO1xuXHR9O1xuXHRjb25zdCBpbnNlcnRTdWZmaXggPSAobmFtZSwgc3VmZml4KSA9PiB7XG5cdFx0cmV0dXJuIG5hbWUucmVwbGFjZShKU09OX0VYVCwgYCR7c3VmZml4fSR7SlNPTl9FWFR9YCk7XG5cdH07XG5cdGNvbnN0IG1hbmlmZXN0RmlsZU5hbWUgPSBmaWxlTmFtZSA/IGFkZEV4dChmaWxlTmFtZSkgOiByZXF1aXJlX2NvbnN0YW50Lk1hbmlmZXN0RmlsZU5hbWU7XG5cdHJldHVybiB7XG5cdFx0c3RhdHNGaWxlTmFtZTogc2ltcGxlSm9pblJlbW90ZUVudHJ5KGZpbGVQYXRoLCBmaWxlTmFtZSA/IGluc2VydFN1ZmZpeChtYW5pZmVzdEZpbGVOYW1lLCBcIi1zdGF0c1wiKSA6IHJlcXVpcmVfY29uc3RhbnQuU3RhdHNGaWxlTmFtZSksXG5cdFx0bWFuaWZlc3RGaWxlTmFtZTogc2ltcGxlSm9pblJlbW90ZUVudHJ5KGZpbGVQYXRoLCBtYW5pZmVzdEZpbGVOYW1lKVxuXHR9O1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdCA9IGdlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3Q7XG5leHBvcnRzLmdldE1hbmlmZXN0RmlsZU5hbWUgPSBnZXRNYW5pZmVzdEZpbGVOYW1lO1xuZXhwb3J0cy5pbmZlckF1dG9QdWJsaWNQYXRoID0gaW5mZXJBdXRvUHVibGljUGF0aDtcbmV4cG9ydHMuaXNNYW5pZmVzdFByb3ZpZGVyID0gaXNNYW5pZmVzdFByb3ZpZGVyO1xuZXhwb3J0cy5zaW1wbGVKb2luUmVtb3RlRW50cnkgPSBzaW1wbGVKb2luUmVtb3RlRW50cnk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCLG1CQUFPLENBQUMsZ0VBQWdCOztBQUVqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw4Q0FBOEMsZ0JBQWdCLEVBQUUsTUFBTTtBQUN0RSxXQUFXLGdCQUFnQixHQUFHLE1BQU07QUFDcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQsU0FBUyxZQUFZLGdCQUFnQixZQUFZO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsZ0JBQWdCO0FBQ2hCO0FBQ0EsRUFBRSxJQUFJO0FBQ04sNERBQTRELDZFQUE2RTtBQUN6SSxTQUFTLGVBQWUscUVBQXFFO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxlQUFlLGNBQWMsK0JBQStCO0FBQzlELFNBQVMsVUFBVTtBQUNuQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxLQUFLLEVBQUUsU0FBUztBQUM1QjtBQUNBO0FBQ0EsbUNBQW1DLE9BQU8sRUFBRSxTQUFTO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQiwyQkFBMkI7QUFDM0IsMEJBQTBCO0FBQzFCLDZCQUE2QjtBQUM3QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs\n\n}");
|
|
236
|
+
|
|
237
|
+
},
|
|
238
|
+
"../../../node_modules/@module-federation/sdk/dist/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
239
|
+
eval("{Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.cjs\");\nconst require_ContainerPlugin = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs\");\nconst require_ContainerReferencePlugin = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs\");\nconst require_ModuleFederationPlugin = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs\");\nconst require_SharePlugin = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs\");\nconst require_ConsumeSharedPlugin = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs\");\nconst require_ProvideSharedPlugin = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs\");\nconst require_env = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/env.cjs\");\nconst require_utils = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/utils.cjs\");\nconst require_generateSnapshotFromManifest = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.cjs\");\nconst require_logger = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/logger.cjs\");\nconst require_dom = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/dom.cjs\");\nconst require_node = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/node.cjs\");\nconst require_normalizeOptions = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/normalizeOptions.cjs\");\nconst require_createModuleFederationConfig = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/createModuleFederationConfig.cjs\");\n\nexports.BROWSER_LOG_KEY = require_constant.BROWSER_LOG_KEY;\nexports.ENCODE_NAME_PREFIX = require_constant.ENCODE_NAME_PREFIX;\nexports.EncodedNameTransformMap = require_constant.EncodedNameTransformMap;\nexports.FederationModuleManifest = require_constant.FederationModuleManifest;\nexports.MANIFEST_EXT = require_constant.MANIFEST_EXT;\nexports.MFModuleType = require_constant.MFModuleType;\nexports.MODULE_DEVTOOL_IDENTIFIER = require_constant.MODULE_DEVTOOL_IDENTIFIER;\nexports.ManifestFileName = require_constant.ManifestFileName;\nexports.NameTransformMap = require_constant.NameTransformMap;\nexports.NameTransformSymbol = require_constant.NameTransformSymbol;\nexports.SEPARATOR = require_constant.SEPARATOR;\nexports.StatsFileName = require_constant.StatsFileName;\nexports.TEMP_DIR = require_constant.TEMP_DIR;\nexports.TreeShakingStatus = require_constant.TreeShakingStatus;\nexports.assert = require_utils.assert;\nexports.bindLoggerToCompiler = require_logger.bindLoggerToCompiler;\nexports.composeKeyWithSeparator = require_utils.composeKeyWithSeparator;\nObject.defineProperty(exports, \"consumeSharedPlugin\", ({\n enumerable: true,\n get: function () {\n return require_ConsumeSharedPlugin.ConsumeSharedPlugin_exports;\n }\n}));\nObject.defineProperty(exports, \"containerPlugin\", ({\n enumerable: true,\n get: function () {\n return require_ContainerPlugin.ContainerPlugin_exports;\n }\n}));\nObject.defineProperty(exports, \"containerReferencePlugin\", ({\n enumerable: true,\n get: function () {\n return require_ContainerReferencePlugin.ContainerReferencePlugin_exports;\n }\n}));\nexports.createInfrastructureLogger = require_logger.createInfrastructureLogger;\nexports.createLink = require_dom.createLink;\nexports.createLogger = require_logger.createLogger;\nexports.createModuleFederationConfig = require_createModuleFederationConfig.createModuleFederationConfig;\nexports.createScript = require_dom.createScript;\nexports.createScriptNode = require_node.createScriptNode;\nexports.decodeName = require_utils.decodeName;\nexports.encodeName = require_utils.encodeName;\nexports.error = require_utils.error;\nexports.generateExposeFilename = require_utils.generateExposeFilename;\nexports.generateShareFilename = require_utils.generateShareFilename;\nexports.generateSnapshotFromManifest = require_generateSnapshotFromManifest.generateSnapshotFromManifest;\nexports.getManifestFileName = require_generateSnapshotFromManifest.getManifestFileName;\nexports.getProcessEnv = require_env.getProcessEnv;\nexports.getResourceUrl = require_utils.getResourceUrl;\nexports.inferAutoPublicPath = require_generateSnapshotFromManifest.inferAutoPublicPath;\nexports.infrastructureLogger = require_logger.infrastructureLogger;\nexports.isBrowserEnv = require_env.isBrowserEnv;\nexports.isBrowserEnvValue = require_env.isBrowserEnvValue;\nexports.isDebugMode = require_env.isDebugMode;\nexports.isManifestProvider = require_generateSnapshotFromManifest.isManifestProvider;\nexports.isReactNativeEnv = require_env.isReactNativeEnv;\nexports.isRequiredVersion = require_utils.isRequiredVersion;\nexports.isStaticResourcesEqual = require_dom.isStaticResourcesEqual;\nexports.loadScript = require_dom.loadScript;\nexports.loadScriptNode = require_node.loadScriptNode;\nexports.logger = require_logger.logger;\nObject.defineProperty(exports, \"moduleFederationPlugin\", ({\n enumerable: true,\n get: function () {\n return require_ModuleFederationPlugin.ModuleFederationPlugin_exports;\n }\n}));\nexports.normalizeOptions = require_normalizeOptions.normalizeOptions;\nexports.parseEntry = require_utils.parseEntry;\nObject.defineProperty(exports, \"provideSharedPlugin\", ({\n enumerable: true,\n get: function () {\n return require_ProvideSharedPlugin.ProvideSharedPlugin_exports;\n }\n}));\nexports.safeToString = require_utils.safeToString;\nexports.safeWrapper = require_dom.safeWrapper;\nObject.defineProperty(exports, \"sharePlugin\", ({\n enumerable: true,\n get: function () {\n return require_SharePlugin.SharePlugin_exports;\n }\n}));\nexports.simpleJoinRemoteEntry = require_generateSnapshotFromManifest.simpleJoinRemoteEntry;\nexports.warn = require_utils.warn;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2luZGV4LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvZGlzdC9pbmRleC5janM/NDliOCJdLCJzb3VyY2VzQ29udGVudCI6WyJPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgU3ltYm9sLnRvU3RyaW5nVGFnLCB7IHZhbHVlOiAnTW9kdWxlJyB9KTtcbmNvbnN0IHJlcXVpcmVfY29uc3RhbnQgPSByZXF1aXJlKCcuL2NvbnN0YW50LmNqcycpO1xuY29uc3QgcmVxdWlyZV9Db250YWluZXJQbHVnaW4gPSByZXF1aXJlKCcuL3R5cGVzL3BsdWdpbnMvQ29udGFpbmVyUGx1Z2luLmNqcycpO1xuY29uc3QgcmVxdWlyZV9Db250YWluZXJSZWZlcmVuY2VQbHVnaW4gPSByZXF1aXJlKCcuL3R5cGVzL3BsdWdpbnMvQ29udGFpbmVyUmVmZXJlbmNlUGx1Z2luLmNqcycpO1xuY29uc3QgcmVxdWlyZV9Nb2R1bGVGZWRlcmF0aW9uUGx1Z2luID0gcmVxdWlyZSgnLi90eXBlcy9wbHVnaW5zL01vZHVsZUZlZGVyYXRpb25QbHVnaW4uY2pzJyk7XG5jb25zdCByZXF1aXJlX1NoYXJlUGx1Z2luID0gcmVxdWlyZSgnLi90eXBlcy9wbHVnaW5zL1NoYXJlUGx1Z2luLmNqcycpO1xuY29uc3QgcmVxdWlyZV9Db25zdW1lU2hhcmVkUGx1Z2luID0gcmVxdWlyZSgnLi90eXBlcy9wbHVnaW5zL0NvbnN1bWVTaGFyZWRQbHVnaW4uY2pzJyk7XG5jb25zdCByZXF1aXJlX1Byb3ZpZGVTaGFyZWRQbHVnaW4gPSByZXF1aXJlKCcuL3R5cGVzL3BsdWdpbnMvUHJvdmlkZVNoYXJlZFBsdWdpbi5janMnKTtcbmNvbnN0IHJlcXVpcmVfZW52ID0gcmVxdWlyZSgnLi9lbnYuY2pzJyk7XG5jb25zdCByZXF1aXJlX3V0aWxzID0gcmVxdWlyZSgnLi91dGlscy5janMnKTtcbmNvbnN0IHJlcXVpcmVfZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdCA9IHJlcXVpcmUoJy4vZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdC5janMnKTtcbmNvbnN0IHJlcXVpcmVfbG9nZ2VyID0gcmVxdWlyZSgnLi9sb2dnZXIuY2pzJyk7XG5jb25zdCByZXF1aXJlX2RvbSA9IHJlcXVpcmUoJy4vZG9tLmNqcycpO1xuY29uc3QgcmVxdWlyZV9ub2RlID0gcmVxdWlyZSgnLi9ub2RlLmNqcycpO1xuY29uc3QgcmVxdWlyZV9ub3JtYWxpemVPcHRpb25zID0gcmVxdWlyZSgnLi9ub3JtYWxpemVPcHRpb25zLmNqcycpO1xuY29uc3QgcmVxdWlyZV9jcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnID0gcmVxdWlyZSgnLi9jcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnLmNqcycpO1xuXG5leHBvcnRzLkJST1dTRVJfTE9HX0tFWSA9IHJlcXVpcmVfY29uc3RhbnQuQlJPV1NFUl9MT0dfS0VZO1xuZXhwb3J0cy5FTkNPREVfTkFNRV9QUkVGSVggPSByZXF1aXJlX2NvbnN0YW50LkVOQ09ERV9OQU1FX1BSRUZJWDtcbmV4cG9ydHMuRW5jb2RlZE5hbWVUcmFuc2Zvcm1NYXAgPSByZXF1aXJlX2NvbnN0YW50LkVuY29kZWROYW1lVHJhbnNmb3JtTWFwO1xuZXhwb3J0cy5GZWRlcmF0aW9uTW9kdWxlTWFuaWZlc3QgPSByZXF1aXJlX2NvbnN0YW50LkZlZGVyYXRpb25Nb2R1bGVNYW5pZmVzdDtcbmV4cG9ydHMuTUFOSUZFU1RfRVhUID0gcmVxdWlyZV9jb25zdGFudC5NQU5JRkVTVF9FWFQ7XG5leHBvcnRzLk1GTW9kdWxlVHlwZSA9IHJlcXVpcmVfY29uc3RhbnQuTUZNb2R1bGVUeXBlO1xuZXhwb3J0cy5NT0RVTEVfREVWVE9PTF9JREVOVElGSUVSID0gcmVxdWlyZV9jb25zdGFudC5NT0RVTEVfREVWVE9PTF9JREVOVElGSUVSO1xuZXhwb3J0cy5NYW5pZmVzdEZpbGVOYW1lID0gcmVxdWlyZV9jb25zdGFudC5NYW5pZmVzdEZpbGVOYW1lO1xuZXhwb3J0cy5OYW1lVHJhbnNmb3JtTWFwID0gcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtTWFwO1xuZXhwb3J0cy5OYW1lVHJhbnNmb3JtU3ltYm9sID0gcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtU3ltYm9sO1xuZXhwb3J0cy5TRVBBUkFUT1IgPSByZXF1aXJlX2NvbnN0YW50LlNFUEFSQVRPUjtcbmV4cG9ydHMuU3RhdHNGaWxlTmFtZSA9IHJlcXVpcmVfY29uc3RhbnQuU3RhdHNGaWxlTmFtZTtcbmV4cG9ydHMuVEVNUF9ESVIgPSByZXF1aXJlX2NvbnN0YW50LlRFTVBfRElSO1xuZXhwb3J0cy5UcmVlU2hha2luZ1N0YXR1cyA9IHJlcXVpcmVfY29uc3RhbnQuVHJlZVNoYWtpbmdTdGF0dXM7XG5leHBvcnRzLmFzc2VydCA9IHJlcXVpcmVfdXRpbHMuYXNzZXJ0O1xuZXhwb3J0cy5iaW5kTG9nZ2VyVG9Db21waWxlciA9IHJlcXVpcmVfbG9nZ2VyLmJpbmRMb2dnZXJUb0NvbXBpbGVyO1xuZXhwb3J0cy5jb21wb3NlS2V5V2l0aFNlcGFyYXRvciA9IHJlcXVpcmVfdXRpbHMuY29tcG9zZUtleVdpdGhTZXBhcmF0b3I7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ2NvbnN1bWVTaGFyZWRQbHVnaW4nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiByZXF1aXJlX0NvbnN1bWVTaGFyZWRQbHVnaW4uQ29uc3VtZVNoYXJlZFBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnY29udGFpbmVyUGx1Z2luJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gcmVxdWlyZV9Db250YWluZXJQbHVnaW4uQ29udGFpbmVyUGx1Z2luX2V4cG9ydHM7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdjb250YWluZXJSZWZlcmVuY2VQbHVnaW4nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiByZXF1aXJlX0NvbnRhaW5lclJlZmVyZW5jZVBsdWdpbi5Db250YWluZXJSZWZlcmVuY2VQbHVnaW5fZXhwb3J0cztcbiAgfVxufSk7XG5leHBvcnRzLmNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyID0gcmVxdWlyZV9sb2dnZXIuY3JlYXRlSW5mcmFzdHJ1Y3R1cmVMb2dnZXI7XG5leHBvcnRzLmNyZWF0ZUxpbmsgPSByZXF1aXJlX2RvbS5jcmVhdGVMaW5rO1xuZXhwb3J0cy5jcmVhdGVMb2dnZXIgPSByZXF1aXJlX2xvZ2dlci5jcmVhdGVMb2dnZXI7XG5leHBvcnRzLmNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcgPSByZXF1aXJlX2NyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcuY3JlYXRlTW9kdWxlRmVkZXJhdGlvbkNvbmZpZztcbmV4cG9ydHMuY3JlYXRlU2NyaXB0ID0gcmVxdWlyZV9kb20uY3JlYXRlU2NyaXB0O1xuZXhwb3J0cy5jcmVhdGVTY3JpcHROb2RlID0gcmVxdWlyZV9ub2RlLmNyZWF0ZVNjcmlwdE5vZGU7XG5leHBvcnRzLmRlY29kZU5hbWUgPSByZXF1aXJlX3V0aWxzLmRlY29kZU5hbWU7XG5leHBvcnRzLmVuY29kZU5hbWUgPSByZXF1aXJlX3V0aWxzLmVuY29kZU5hbWU7XG5leHBvcnRzLmVycm9yID0gcmVxdWlyZV91dGlscy5lcnJvcjtcbmV4cG9ydHMuZ2VuZXJhdGVFeHBvc2VGaWxlbmFtZSA9IHJlcXVpcmVfdXRpbHMuZ2VuZXJhdGVFeHBvc2VGaWxlbmFtZTtcbmV4cG9ydHMuZ2VuZXJhdGVTaGFyZUZpbGVuYW1lID0gcmVxdWlyZV91dGlscy5nZW5lcmF0ZVNoYXJlRmlsZW5hbWU7XG5leHBvcnRzLmdlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QgPSByZXF1aXJlX2dlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QuZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdDtcbmV4cG9ydHMuZ2V0TWFuaWZlc3RGaWxlTmFtZSA9IHJlcXVpcmVfZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdC5nZXRNYW5pZmVzdEZpbGVOYW1lO1xuZXhwb3J0cy5nZXRQcm9jZXNzRW52ID0gcmVxdWlyZV9lbnYuZ2V0UHJvY2Vzc0VudjtcbmV4cG9ydHMuZ2V0UmVzb3VyY2VVcmwgPSByZXF1aXJlX3V0aWxzLmdldFJlc291cmNlVXJsO1xuZXhwb3J0cy5pbmZlckF1dG9QdWJsaWNQYXRoID0gcmVxdWlyZV9nZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0LmluZmVyQXV0b1B1YmxpY1BhdGg7XG5leHBvcnRzLmluZnJhc3RydWN0dXJlTG9nZ2VyID0gcmVxdWlyZV9sb2dnZXIuaW5mcmFzdHJ1Y3R1cmVMb2dnZXI7XG5leHBvcnRzLmlzQnJvd3NlckVudiA9IHJlcXVpcmVfZW52LmlzQnJvd3NlckVudjtcbmV4cG9ydHMuaXNCcm93c2VyRW52VmFsdWUgPSByZXF1aXJlX2Vudi5pc0Jyb3dzZXJFbnZWYWx1ZTtcbmV4cG9ydHMuaXNEZWJ1Z01vZGUgPSByZXF1aXJlX2Vudi5pc0RlYnVnTW9kZTtcbmV4cG9ydHMuaXNNYW5pZmVzdFByb3ZpZGVyID0gcmVxdWlyZV9nZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0LmlzTWFuaWZlc3RQcm92aWRlcjtcbmV4cG9ydHMuaXNSZWFjdE5hdGl2ZUVudiA9IHJlcXVpcmVfZW52LmlzUmVhY3ROYXRpdmVFbnY7XG5leHBvcnRzLmlzUmVxdWlyZWRWZXJzaW9uID0gcmVxdWlyZV91dGlscy5pc1JlcXVpcmVkVmVyc2lvbjtcbmV4cG9ydHMuaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCA9IHJlcXVpcmVfZG9tLmlzU3RhdGljUmVzb3VyY2VzRXF1YWw7XG5leHBvcnRzLmxvYWRTY3JpcHQgPSByZXF1aXJlX2RvbS5sb2FkU2NyaXB0O1xuZXhwb3J0cy5sb2FkU2NyaXB0Tm9kZSA9IHJlcXVpcmVfbm9kZS5sb2FkU2NyaXB0Tm9kZTtcbmV4cG9ydHMubG9nZ2VyID0gcmVxdWlyZV9sb2dnZXIubG9nZ2VyO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdtb2R1bGVGZWRlcmF0aW9uUGx1Z2luJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gcmVxdWlyZV9Nb2R1bGVGZWRlcmF0aW9uUGx1Z2luLk1vZHVsZUZlZGVyYXRpb25QbHVnaW5fZXhwb3J0cztcbiAgfVxufSk7XG5leHBvcnRzLm5vcm1hbGl6ZU9wdGlvbnMgPSByZXF1aXJlX25vcm1hbGl6ZU9wdGlvbnMubm9ybWFsaXplT3B0aW9ucztcbmV4cG9ydHMucGFyc2VFbnRyeSA9IHJlcXVpcmVfdXRpbHMucGFyc2VFbnRyeTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAncHJvdmlkZVNoYXJlZFBsdWdpbicsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHJlcXVpcmVfUHJvdmlkZVNoYXJlZFBsdWdpbi5Qcm92aWRlU2hhcmVkUGx1Z2luX2V4cG9ydHM7XG4gIH1cbn0pO1xuZXhwb3J0cy5zYWZlVG9TdHJpbmcgPSByZXF1aXJlX3V0aWxzLnNhZmVUb1N0cmluZztcbmV4cG9ydHMuc2FmZVdyYXBwZXIgPSByZXF1aXJlX2RvbS5zYWZlV3JhcHBlcjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnc2hhcmVQbHVnaW4nLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiByZXF1aXJlX1NoYXJlUGx1Z2luLlNoYXJlUGx1Z2luX2V4cG9ydHM7XG4gIH1cbn0pO1xuZXhwb3J0cy5zaW1wbGVKb2luUmVtb3RlRW50cnkgPSByZXF1aXJlX2dlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3Quc2ltcGxlSm9pblJlbW90ZUVudHJ5O1xuZXhwb3J0cy53YXJuID0gcmVxdWlyZV91dGlscy53YXJuOyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxzQkFBc0IsT0FBTyx3QkFBd0IsaUJBQWlCO0FBQ3RFLHlCQUF5QixtQkFBTyxDQUFDLGdFQUFnQjtBQUNqRCxnQ0FBZ0MsbUJBQU8sQ0FBQyxxRkFBcUM7QUFDN0UseUNBQXlDLG1CQUFPLENBQUMsOEZBQThDO0FBQy9GLHVDQUF1QyxtQkFBTyxDQUFDLDRGQUE0QztBQUMzRiw0QkFBNEIsbUJBQU8sQ0FBQyxpRkFBaUM7QUFDckUsb0NBQW9DLG1CQUFPLENBQUMseUZBQXlDO0FBQ3JGLG9DQUFvQyxtQkFBTyxDQUFDLHlGQUF5QztBQUNyRixvQkFBb0IsbUJBQU8sQ0FBQywyREFBVztBQUN2QyxzQkFBc0IsbUJBQU8sQ0FBQyw2REFBYTtBQUMzQyw2Q0FBNkMsbUJBQU8sQ0FBQyxvRkFBb0M7QUFDekYsdUJBQXVCLG1CQUFPLENBQUMsOERBQWM7QUFDN0Msb0JBQW9CLG1CQUFPLENBQUMsMkRBQVc7QUFDdkMscUJBQXFCLG1CQUFPLENBQUMsNERBQVk7QUFDekMsaUNBQWlDLG1CQUFPLENBQUMsd0VBQXdCO0FBQ2pFLDZDQUE2QyxtQkFBTyxDQUFDLG9GQUFvQzs7QUFFekYsdUJBQXVCO0FBQ3ZCLDBCQUEwQjtBQUMxQiwrQkFBK0I7QUFDL0IsZ0NBQWdDO0FBQ2hDLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIsaUNBQWlDO0FBQ2pDLHdCQUF3QjtBQUN4Qix3QkFBd0I7QUFDeEIsMkJBQTJCO0FBQzNCLGlCQUFpQjtBQUNqQixxQkFBcUI7QUFDckIsZ0JBQWdCO0FBQ2hCLHlCQUF5QjtBQUN6QixjQUFjO0FBQ2QsNEJBQTRCO0FBQzVCLCtCQUErQjtBQUMvQix1REFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRixtREFBa0Q7QUFDbEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiw0REFBMkQ7QUFDM0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRixrQ0FBa0M7QUFDbEMsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixvQ0FBb0M7QUFDcEMsb0JBQW9CO0FBQ3BCLHdCQUF3QjtBQUN4QixrQkFBa0I7QUFDbEIsa0JBQWtCO0FBQ2xCLGFBQWE7QUFDYiw4QkFBOEI7QUFDOUIsNkJBQTZCO0FBQzdCLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IscUJBQXFCO0FBQ3JCLHNCQUFzQjtBQUN0QiwyQkFBMkI7QUFDM0IsNEJBQTRCO0FBQzVCLG9CQUFvQjtBQUNwQix5QkFBeUI7QUFDekIsbUJBQW1CO0FBQ25CLDBCQUEwQjtBQUMxQix3QkFBd0I7QUFDeEIseUJBQXlCO0FBQ3pCLDhCQUE4QjtBQUM5QixrQkFBa0I7QUFDbEIsc0JBQXNCO0FBQ3RCLGNBQWM7QUFDZCwwREFBeUQ7QUFDekQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRix3QkFBd0I7QUFDeEIsa0JBQWtCO0FBQ2xCLHVEQUFzRDtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsK0NBQThDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsNkJBQTZCO0FBQzdCLFlBQVkifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/index.cjs\n\n}");
|
|
240
|
+
|
|
241
|
+
},
|
|
242
|
+
"../../../node_modules/@module-federation/sdk/dist/logger.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
243
|
+
eval("{const require_env = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/env.cjs\");\n\n//#region src/logger.ts\nconst PREFIX = \"[ Module Federation ]\";\nconst DEFAULT_DELEGATE = console;\nconst LOGGER_STACK_SKIP_TOKENS = [\n\t\"logger.ts\",\n\t\"logger.js\",\n\t\"captureStackTrace\",\n\t\"Logger.emit\",\n\t\"Logger.log\",\n\t\"Logger.info\",\n\t\"Logger.warn\",\n\t\"Logger.error\",\n\t\"Logger.debug\"\n];\nfunction captureStackTrace() {\n\ttry {\n\t\tconst stack = (/* @__PURE__ */ new Error()).stack;\n\t\tif (!stack) return;\n\t\tconst [, ...rawLines] = stack.split(\"\\n\");\n\t\tconst filtered = rawLines.filter((line) => !LOGGER_STACK_SKIP_TOKENS.some((token) => line.includes(token)));\n\t\tif (!filtered.length) return;\n\t\treturn `Stack trace:\\n${filtered.slice(0, 5).join(\"\\n\")}`;\n\t} catch {\n\t\treturn;\n\t}\n}\nvar Logger = class {\n\tconstructor(prefix, delegate = DEFAULT_DELEGATE) {\n\t\tthis.prefix = prefix;\n\t\tthis.delegate = delegate ?? DEFAULT_DELEGATE;\n\t}\n\tsetPrefix(prefix) {\n\t\tthis.prefix = prefix;\n\t}\n\tsetDelegate(delegate) {\n\t\tthis.delegate = delegate ?? DEFAULT_DELEGATE;\n\t}\n\temit(method, args) {\n\t\tconst delegate = this.delegate;\n\t\tconst stackTrace = require_env.isDebugMode() ? captureStackTrace() : void 0;\n\t\tconst enrichedArgs = stackTrace ? [...args, stackTrace] : args;\n\t\tconst order = (() => {\n\t\t\tswitch (method) {\n\t\t\t\tcase \"log\": return [\"log\", \"info\"];\n\t\t\t\tcase \"info\": return [\"info\", \"log\"];\n\t\t\t\tcase \"warn\": return [\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t\"info\",\n\t\t\t\t\t\"log\"\n\t\t\t\t];\n\t\t\t\tcase \"error\": return [\n\t\t\t\t\t\"error\",\n\t\t\t\t\t\"warn\",\n\t\t\t\t\t\"log\"\n\t\t\t\t];\n\t\t\t\tdefault: return [\"debug\", \"log\"];\n\t\t\t}\n\t\t})();\n\t\tfor (const candidate of order) {\n\t\t\tconst handler = delegate[candidate];\n\t\t\tif (typeof handler === \"function\") {\n\t\t\t\thandler.call(delegate, this.prefix, ...enrichedArgs);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tfor (const candidate of order) {\n\t\t\tconst handler = DEFAULT_DELEGATE[candidate];\n\t\t\tif (typeof handler === \"function\") {\n\t\t\t\thandler.call(DEFAULT_DELEGATE, this.prefix, ...enrichedArgs);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t}\n\tlog(...args) {\n\t\tthis.emit(\"log\", args);\n\t}\n\twarn(...args) {\n\t\tthis.emit(\"warn\", args);\n\t}\n\terror(...args) {\n\t\tthis.emit(\"error\", args);\n\t}\n\tsuccess(...args) {\n\t\tthis.emit(\"info\", args);\n\t}\n\tinfo(...args) {\n\t\tthis.emit(\"info\", args);\n\t}\n\tready(...args) {\n\t\tthis.emit(\"info\", args);\n\t}\n\tdebug(...args) {\n\t\tif (require_env.isDebugMode()) this.emit(\"debug\", args);\n\t}\n};\nfunction createLogger(prefix) {\n\treturn new Logger(prefix);\n}\nfunction createInfrastructureLogger(prefix) {\n\tconst infrastructureLogger = new Logger(prefix);\n\tObject.defineProperty(infrastructureLogger, \"__mf_infrastructure_logger__\", {\n\t\tvalue: true,\n\t\tenumerable: false,\n\t\tconfigurable: false\n\t});\n\treturn infrastructureLogger;\n}\nfunction bindLoggerToCompiler(loggerInstance, compiler, name) {\n\tif (!loggerInstance.__mf_infrastructure_logger__) return;\n\tif (!compiler?.getInfrastructureLogger) return;\n\ttry {\n\t\tconst infrastructureLogger = compiler.getInfrastructureLogger(name);\n\t\tif (infrastructureLogger && typeof infrastructureLogger === \"object\" && (typeof infrastructureLogger.log === \"function\" || typeof infrastructureLogger.info === \"function\" || typeof infrastructureLogger.warn === \"function\" || typeof infrastructureLogger.error === \"function\")) loggerInstance.setDelegate(infrastructureLogger);\n\t} catch {\n\t\tloggerInstance.setDelegate(void 0);\n\t}\n}\nconst logger = createLogger(PREFIX);\nconst infrastructureLogger = createInfrastructureLogger(PREFIX);\n\n//#endregion\nexports.bindLoggerToCompiler = bindLoggerToCompiler;\nexports.createInfrastructureLogger = createInfrastructureLogger;\nexports.createLogger = createLogger;\nexports.infrastructureLogger = infrastructureLogger;\nexports.logger = logger;\n//# sourceMappingURL=logger.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2xvZ2dlci5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvbG9nZ2VyLmNqcz8yNDVjIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfZW52ID0gcmVxdWlyZSgnLi9lbnYuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvbG9nZ2VyLnRzXG5jb25zdCBQUkVGSVggPSBcIlsgTW9kdWxlIEZlZGVyYXRpb24gXVwiO1xuY29uc3QgREVGQVVMVF9ERUxFR0FURSA9IGNvbnNvbGU7XG5jb25zdCBMT0dHRVJfU1RBQ0tfU0tJUF9UT0tFTlMgPSBbXG5cdFwibG9nZ2VyLnRzXCIsXG5cdFwibG9nZ2VyLmpzXCIsXG5cdFwiY2FwdHVyZVN0YWNrVHJhY2VcIixcblx0XCJMb2dnZXIuZW1pdFwiLFxuXHRcIkxvZ2dlci5sb2dcIixcblx0XCJMb2dnZXIuaW5mb1wiLFxuXHRcIkxvZ2dlci53YXJuXCIsXG5cdFwiTG9nZ2VyLmVycm9yXCIsXG5cdFwiTG9nZ2VyLmRlYnVnXCJcbl07XG5mdW5jdGlvbiBjYXB0dXJlU3RhY2tUcmFjZSgpIHtcblx0dHJ5IHtcblx0XHRjb25zdCBzdGFjayA9ICgvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKCkpLnN0YWNrO1xuXHRcdGlmICghc3RhY2spIHJldHVybjtcblx0XHRjb25zdCBbLCAuLi5yYXdMaW5lc10gPSBzdGFjay5zcGxpdChcIlxcblwiKTtcblx0XHRjb25zdCBmaWx0ZXJlZCA9IHJhd0xpbmVzLmZpbHRlcigobGluZSkgPT4gIUxPR0dFUl9TVEFDS19TS0lQX1RPS0VOUy5zb21lKCh0b2tlbikgPT4gbGluZS5pbmNsdWRlcyh0b2tlbikpKTtcblx0XHRpZiAoIWZpbHRlcmVkLmxlbmd0aCkgcmV0dXJuO1xuXHRcdHJldHVybiBgU3RhY2sgdHJhY2U6XFxuJHtmaWx0ZXJlZC5zbGljZSgwLCA1KS5qb2luKFwiXFxuXCIpfWA7XG5cdH0gY2F0Y2gge1xuXHRcdHJldHVybjtcblx0fVxufVxudmFyIExvZ2dlciA9IGNsYXNzIHtcblx0Y29uc3RydWN0b3IocHJlZml4LCBkZWxlZ2F0ZSA9IERFRkFVTFRfREVMRUdBVEUpIHtcblx0XHR0aGlzLnByZWZpeCA9IHByZWZpeDtcblx0XHR0aGlzLmRlbGVnYXRlID0gZGVsZWdhdGUgPz8gREVGQVVMVF9ERUxFR0FURTtcblx0fVxuXHRzZXRQcmVmaXgocHJlZml4KSB7XG5cdFx0dGhpcy5wcmVmaXggPSBwcmVmaXg7XG5cdH1cblx0c2V0RGVsZWdhdGUoZGVsZWdhdGUpIHtcblx0XHR0aGlzLmRlbGVnYXRlID0gZGVsZWdhdGUgPz8gREVGQVVMVF9ERUxFR0FURTtcblx0fVxuXHRlbWl0KG1ldGhvZCwgYXJncykge1xuXHRcdGNvbnN0IGRlbGVnYXRlID0gdGhpcy5kZWxlZ2F0ZTtcblx0XHRjb25zdCBzdGFja1RyYWNlID0gcmVxdWlyZV9lbnYuaXNEZWJ1Z01vZGUoKSA/IGNhcHR1cmVTdGFja1RyYWNlKCkgOiB2b2lkIDA7XG5cdFx0Y29uc3QgZW5yaWNoZWRBcmdzID0gc3RhY2tUcmFjZSA/IFsuLi5hcmdzLCBzdGFja1RyYWNlXSA6IGFyZ3M7XG5cdFx0Y29uc3Qgb3JkZXIgPSAoKCkgPT4ge1xuXHRcdFx0c3dpdGNoIChtZXRob2QpIHtcblx0XHRcdFx0Y2FzZSBcImxvZ1wiOiByZXR1cm4gW1wibG9nXCIsIFwiaW5mb1wiXTtcblx0XHRcdFx0Y2FzZSBcImluZm9cIjogcmV0dXJuIFtcImluZm9cIiwgXCJsb2dcIl07XG5cdFx0XHRcdGNhc2UgXCJ3YXJuXCI6IHJldHVybiBbXG5cdFx0XHRcdFx0XCJ3YXJuXCIsXG5cdFx0XHRcdFx0XCJpbmZvXCIsXG5cdFx0XHRcdFx0XCJsb2dcIlxuXHRcdFx0XHRdO1xuXHRcdFx0XHRjYXNlIFwiZXJyb3JcIjogcmV0dXJuIFtcblx0XHRcdFx0XHRcImVycm9yXCIsXG5cdFx0XHRcdFx0XCJ3YXJuXCIsXG5cdFx0XHRcdFx0XCJsb2dcIlxuXHRcdFx0XHRdO1xuXHRcdFx0XHRkZWZhdWx0OiByZXR1cm4gW1wiZGVidWdcIiwgXCJsb2dcIl07XG5cdFx0XHR9XG5cdFx0fSkoKTtcblx0XHRmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBvcmRlcikge1xuXHRcdFx0Y29uc3QgaGFuZGxlciA9IGRlbGVnYXRlW2NhbmRpZGF0ZV07XG5cdFx0XHRpZiAodHlwZW9mIGhhbmRsZXIgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0XHRoYW5kbGVyLmNhbGwoZGVsZWdhdGUsIHRoaXMucHJlZml4LCAuLi5lbnJpY2hlZEFyZ3MpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIG9yZGVyKSB7XG5cdFx0XHRjb25zdCBoYW5kbGVyID0gREVGQVVMVF9ERUxFR0FURVtjYW5kaWRhdGVdO1xuXHRcdFx0aWYgKHR5cGVvZiBoYW5kbGVyID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRcdFx0aGFuZGxlci5jYWxsKERFRkFVTFRfREVMRUdBVEUsIHRoaXMucHJlZml4LCAuLi5lbnJpY2hlZEFyZ3MpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdGxvZyguLi5hcmdzKSB7XG5cdFx0dGhpcy5lbWl0KFwibG9nXCIsIGFyZ3MpO1xuXHR9XG5cdHdhcm4oLi4uYXJncykge1xuXHRcdHRoaXMuZW1pdChcIndhcm5cIiwgYXJncyk7XG5cdH1cblx0ZXJyb3IoLi4uYXJncykge1xuXHRcdHRoaXMuZW1pdChcImVycm9yXCIsIGFyZ3MpO1xuXHR9XG5cdHN1Y2Nlc3MoLi4uYXJncykge1xuXHRcdHRoaXMuZW1pdChcImluZm9cIiwgYXJncyk7XG5cdH1cblx0aW5mbyguLi5hcmdzKSB7XG5cdFx0dGhpcy5lbWl0KFwiaW5mb1wiLCBhcmdzKTtcblx0fVxuXHRyZWFkeSguLi5hcmdzKSB7XG5cdFx0dGhpcy5lbWl0KFwiaW5mb1wiLCBhcmdzKTtcblx0fVxuXHRkZWJ1ZyguLi5hcmdzKSB7XG5cdFx0aWYgKHJlcXVpcmVfZW52LmlzRGVidWdNb2RlKCkpIHRoaXMuZW1pdChcImRlYnVnXCIsIGFyZ3MpO1xuXHR9XG59O1xuZnVuY3Rpb24gY3JlYXRlTG9nZ2VyKHByZWZpeCkge1xuXHRyZXR1cm4gbmV3IExvZ2dlcihwcmVmaXgpO1xufVxuZnVuY3Rpb24gY3JlYXRlSW5mcmFzdHJ1Y3R1cmVMb2dnZXIocHJlZml4KSB7XG5cdGNvbnN0IGluZnJhc3RydWN0dXJlTG9nZ2VyID0gbmV3IExvZ2dlcihwcmVmaXgpO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoaW5mcmFzdHJ1Y3R1cmVMb2dnZXIsIFwiX19tZl9pbmZyYXN0cnVjdHVyZV9sb2dnZXJfX1wiLCB7XG5cdFx0dmFsdWU6IHRydWUsXG5cdFx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdFx0Y29uZmlndXJhYmxlOiBmYWxzZVxuXHR9KTtcblx0cmV0dXJuIGluZnJhc3RydWN0dXJlTG9nZ2VyO1xufVxuZnVuY3Rpb24gYmluZExvZ2dlclRvQ29tcGlsZXIobG9nZ2VySW5zdGFuY2UsIGNvbXBpbGVyLCBuYW1lKSB7XG5cdGlmICghbG9nZ2VySW5zdGFuY2UuX19tZl9pbmZyYXN0cnVjdHVyZV9sb2dnZXJfXykgcmV0dXJuO1xuXHRpZiAoIWNvbXBpbGVyPy5nZXRJbmZyYXN0cnVjdHVyZUxvZ2dlcikgcmV0dXJuO1xuXHR0cnkge1xuXHRcdGNvbnN0IGluZnJhc3RydWN0dXJlTG9nZ2VyID0gY29tcGlsZXIuZ2V0SW5mcmFzdHJ1Y3R1cmVMb2dnZXIobmFtZSk7XG5cdFx0aWYgKGluZnJhc3RydWN0dXJlTG9nZ2VyICYmIHR5cGVvZiBpbmZyYXN0cnVjdHVyZUxvZ2dlciA9PT0gXCJvYmplY3RcIiAmJiAodHlwZW9mIGluZnJhc3RydWN0dXJlTG9nZ2VyLmxvZyA9PT0gXCJmdW5jdGlvblwiIHx8IHR5cGVvZiBpbmZyYXN0cnVjdHVyZUxvZ2dlci5pbmZvID09PSBcImZ1bmN0aW9uXCIgfHwgdHlwZW9mIGluZnJhc3RydWN0dXJlTG9nZ2VyLndhcm4gPT09IFwiZnVuY3Rpb25cIiB8fCB0eXBlb2YgaW5mcmFzdHJ1Y3R1cmVMb2dnZXIuZXJyb3IgPT09IFwiZnVuY3Rpb25cIikpIGxvZ2dlckluc3RhbmNlLnNldERlbGVnYXRlKGluZnJhc3RydWN0dXJlTG9nZ2VyKTtcblx0fSBjYXRjaCB7XG5cdFx0bG9nZ2VySW5zdGFuY2Uuc2V0RGVsZWdhdGUodm9pZCAwKTtcblx0fVxufVxuY29uc3QgbG9nZ2VyID0gY3JlYXRlTG9nZ2VyKFBSRUZJWCk7XG5jb25zdCBpbmZyYXN0cnVjdHVyZUxvZ2dlciA9IGNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyKFBSRUZJWCk7XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5iaW5kTG9nZ2VyVG9Db21waWxlciA9IGJpbmRMb2dnZXJUb0NvbXBpbGVyO1xuZXhwb3J0cy5jcmVhdGVJbmZyYXN0cnVjdHVyZUxvZ2dlciA9IGNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyO1xuZXhwb3J0cy5jcmVhdGVMb2dnZXIgPSBjcmVhdGVMb2dnZXI7XG5leHBvcnRzLmluZnJhc3RydWN0dXJlTG9nZ2VyID0gaW5mcmFzdHJ1Y3R1cmVMb2dnZXI7XG5leHBvcnRzLmxvZ2dlciA9IGxvZ2dlcjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvZ2dlci5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQixtQkFBTyxDQUFDLDJEQUFXOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsZ0NBQWdDO0FBQzFELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEI7QUFDNUIsa0NBQWtDO0FBQ2xDLG9CQUFvQjtBQUNwQiw0QkFBNEI7QUFDNUIsY0FBYztBQUNkIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/logger.cjs\n\n}");
|
|
244
|
+
|
|
245
|
+
},
|
|
246
|
+
"../../../node_modules/@module-federation/sdk/dist/node.cjs"(__unused_rspack_module, exports) {
|
|
247
|
+
eval("{\n//#region src/node.ts\nconst sdkImportCache = /* @__PURE__ */ new Map();\nfunction importNodeModule(name) {\n\tif (!name) throw new Error(\"import specifier is required\");\n\tif (sdkImportCache.has(name)) return sdkImportCache.get(name);\n\tconst promise = new Function(\"name\", `return import(name)`)(name).then((res) => res).catch((error) => {\n\t\tconsole.error(`Error importing module ${name}:`, error);\n\t\tsdkImportCache.delete(name);\n\t\tthrow error;\n\t});\n\tsdkImportCache.set(name, promise);\n\treturn promise;\n}\nconst lazyLoaderHookFetch = async (input, init, loaderHook) => {\n\tconst hook = (url, init) => {\n\t\treturn loaderHook.lifecycle.fetch.emit(url, init);\n\t};\n\tconst res = await hook(input, init || {});\n\tif (!res || !(res instanceof Response)) return fetch(input, init || {});\n\treturn res;\n};\nconst createScriptNode = false ? 0 : (url, cb, attrs, loaderHook) => {\n\tcb(/* @__PURE__ */ new Error(\"createScriptNode is disabled in non-Node.js environment\"));\n};\nconst loadScriptNode = false ? 0 : (url, info) => {\n\tthrow new Error(\"loadScriptNode is disabled in non-Node.js environment\");\n};\nconst esmModuleCache = /* @__PURE__ */ new Map();\nconst isFetchableRemoteModuleUrl = (url) => url.startsWith(\"http:\") || url.startsWith(\"https:\");\nconst isBareModuleSpecifier = (specifier) => !specifier.startsWith(\"./\") && !specifier.startsWith(\"../\") && !specifier.startsWith(\"/\") && !specifier.includes(\":\");\nfunction encodeRemoteModulePath(url) {\n\tconst remoteUrl = new URL(url);\n\tconst encodedProtocol = encodeURIComponent(remoteUrl.protocol.slice(0, -1));\n\tconst encodedHost = encodeURIComponent(remoteUrl.host);\n\tconst encodedPathname = remoteUrl.pathname.split(\"/\").map((segment) => encodeURIComponent(segment)).join(\"/\");\n\tconst encodedSearchHash = encodeURIComponent(`${remoteUrl.search}${remoteUrl.hash}`);\n\treturn `/${encodedProtocol}/${encodedHost}${encodedPathname}${encodedSearchHash ? `/${encodedSearchHash}` : \"\"}`;\n}\nfunction createImportMetaUrl(url, baseFileUrl) {\n\tconst baseUrl = baseFileUrl.endsWith(\"/\") ? baseFileUrl : `${baseFileUrl}/`;\n\treturn new URL(`__module_federation_remote__${encodeRemoteModulePath(url)}`, baseUrl).href;\n}\nasync function isNodeBuiltinSpecifier(specifier) {\n\tif (specifier.startsWith(\"node:\")) return true;\n\tif (!isBareModuleSpecifier(specifier)) return false;\n\treturn (await importNodeModule(\"node:module\")).builtinModules.includes(specifier);\n}\nfunction getSyntheticModuleExports(moduleExports) {\n\tconst namespaceObject = moduleExports && (typeof moduleExports === \"object\" || typeof moduleExports === \"function\") ? moduleExports : { default: moduleExports };\n\tconst effectiveExports = { ...namespaceObject };\n\tif (!Object.prototype.hasOwnProperty.call(effectiveExports, \"default\")) effectiveExports.default = namespaceObject;\n\treturn effectiveExports;\n}\nasync function createSyntheticModuleFromExports(identifier, moduleExports, vm) {\n\tif (typeof vm.SyntheticModule !== \"function\") throw new Error(\"vm.SyntheticModule is required to load Node.js built-in modules in ESM remote entries.\");\n\tconst effectiveExports = getSyntheticModuleExports(moduleExports);\n\tconst exportNames = Object.keys(effectiveExports);\n\tconst syntheticModule = new vm.SyntheticModule(exportNames, function setSyntheticModuleExports() {\n\t\tfor (const name of exportNames) this.setExport(name, effectiveExports[name]);\n\t}, { identifier });\n\tesmModuleCache.set(identifier, syntheticModule);\n\tawait syntheticModule.link(async () => {\n\t\tthrow new Error(`Node.js built-in module \"${identifier}\" should not request child modules.`);\n\t});\n\tawait syntheticModule.evaluate();\n\treturn syntheticModule;\n}\nasync function loadNodeBuiltinModule(specifier, vm) {\n\tconst cacheKey = `node-builtin:${specifier}`;\n\tif (esmModuleCache.has(cacheKey)) return esmModuleCache.get(cacheKey);\n\treturn createSyntheticModuleFromExports(cacheKey, await importNodeModule(specifier), vm);\n}\nasync function loadResolvedModule(specifier, parentUrl, options) {\n\tif (await isNodeBuiltinSpecifier(specifier)) return loadNodeBuiltinModule(specifier, options.vm);\n\tif (isBareModuleSpecifier(specifier)) throw new Error(`Unsupported ESM module specifier \"${specifier}\". Only relative or absolute http(s) remote modules and Node.js built-in modules are supported.`);\n\tconst resolvedUrl = new URL(specifier, parentUrl).href;\n\tif (!isFetchableRemoteModuleUrl(resolvedUrl)) throw new Error(`Unsupported ESM module specifier \"${specifier}\" resolved to \"${resolvedUrl}\". Only http(s) remote modules and Node.js built-in modules are supported.`);\n\treturn loadModule(resolvedUrl, options);\n}\nasync function evaluateDynamicModule(module) {\n\tif (module.status === \"linked\") await module.evaluate();\n\tif (module.status === \"errored\") throw module.error;\n\treturn module;\n}\nasync function loadModule(url, options) {\n\tif (esmModuleCache.has(url)) return esmModuleCache.get(url);\n\tconst { fetch, vm } = options;\n\tif (!isFetchableRemoteModuleUrl(url)) throw new Error(`Unsupported ESM module URL \"${url}\". Only http(s) remote modules and Node.js built-in modules are supported.`);\n\tconst code = await (await fetch(url)).text();\n\tconst cwdFileUrl = (await importNodeModule(\"node:url\")).pathToFileURL(process.cwd()).href;\n\tconst sourceTextModule = new vm.SourceTextModule(code, {\n\t\tidentifier: url,\n\t\tinitializeImportMeta: (meta) => {\n\t\t\tmeta.url = createImportMetaUrl(url, cwdFileUrl);\n\t\t},\n\t\timportModuleDynamically: async (specifier) => {\n\t\t\treturn evaluateDynamicModule(await loadResolvedModule(specifier, url, options));\n\t\t}\n\t});\n\tesmModuleCache.set(url, sourceTextModule);\n\tawait sourceTextModule.link(async (specifier) => {\n\t\treturn loadResolvedModule(specifier, url, options);\n\t});\n\treturn sourceTextModule;\n}\n\n//#endregion\nexports.createScriptNode = createScriptNode;\nexports.loadScriptNode = loadScriptNode;\n//# sourceMappingURL=node.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L25vZGUuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L25vZGUuY2pzPzMwNWUiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL25vZGUudHNcbmNvbnN0IHNka0ltcG9ydENhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGltcG9ydE5vZGVNb2R1bGUobmFtZSkge1xuXHRpZiAoIW5hbWUpIHRocm93IG5ldyBFcnJvcihcImltcG9ydCBzcGVjaWZpZXIgaXMgcmVxdWlyZWRcIik7XG5cdGlmIChzZGtJbXBvcnRDYWNoZS5oYXMobmFtZSkpIHJldHVybiBzZGtJbXBvcnRDYWNoZS5nZXQobmFtZSk7XG5cdGNvbnN0IHByb21pc2UgPSBuZXcgRnVuY3Rpb24oXCJuYW1lXCIsIGByZXR1cm4gaW1wb3J0KG5hbWUpYCkobmFtZSkudGhlbigocmVzKSA9PiByZXMpLmNhdGNoKChlcnJvcikgPT4ge1xuXHRcdGNvbnNvbGUuZXJyb3IoYEVycm9yIGltcG9ydGluZyBtb2R1bGUgJHtuYW1lfTpgLCBlcnJvcik7XG5cdFx0c2RrSW1wb3J0Q2FjaGUuZGVsZXRlKG5hbWUpO1xuXHRcdHRocm93IGVycm9yO1xuXHR9KTtcblx0c2RrSW1wb3J0Q2FjaGUuc2V0KG5hbWUsIHByb21pc2UpO1xuXHRyZXR1cm4gcHJvbWlzZTtcbn1cbmNvbnN0IGxhenlMb2FkZXJIb29rRmV0Y2ggPSBhc3luYyAoaW5wdXQsIGluaXQsIGxvYWRlckhvb2spID0+IHtcblx0Y29uc3QgaG9vayA9ICh1cmwsIGluaXQpID0+IHtcblx0XHRyZXR1cm4gbG9hZGVySG9vay5saWZlY3ljbGUuZmV0Y2guZW1pdCh1cmwsIGluaXQpO1xuXHR9O1xuXHRjb25zdCByZXMgPSBhd2FpdCBob29rKGlucHV0LCBpbml0IHx8IHt9KTtcblx0aWYgKCFyZXMgfHwgIShyZXMgaW5zdGFuY2VvZiBSZXNwb25zZSkpIHJldHVybiBmZXRjaChpbnB1dCwgaW5pdCB8fCB7fSk7XG5cdHJldHVybiByZXM7XG59O1xuY29uc3QgY3JlYXRlU2NyaXB0Tm9kZSA9IHR5cGVvZiBFTlZfVEFSR0VUID09PSBcInVuZGVmaW5lZFwiIHx8IEVOVl9UQVJHRVQgIT09IFwid2ViXCIgPyAodXJsLCBjYiwgYXR0cnMsIGxvYWRlckhvb2spID0+IHtcblx0aWYgKGxvYWRlckhvb2s/LmNyZWF0ZVNjcmlwdEhvb2spIHtcblx0XHRjb25zdCBob29rUmVzdWx0ID0gbG9hZGVySG9vay5jcmVhdGVTY3JpcHRIb29rKHVybCk7XG5cdFx0aWYgKGhvb2tSZXN1bHQgJiYgdHlwZW9mIGhvb2tSZXN1bHQgPT09IFwib2JqZWN0XCIgJiYgXCJ1cmxcIiBpbiBob29rUmVzdWx0KSB1cmwgPSBob29rUmVzdWx0LnVybDtcblx0fVxuXHRsZXQgdXJsT2JqO1xuXHR0cnkge1xuXHRcdHVybE9iaiA9IG5ldyBVUkwodXJsKTtcblx0fSBjYXRjaCAoZSkge1xuXHRcdGNvbnNvbGUuZXJyb3IoXCJFcnJvciBjb25zdHJ1Y3RpbmcgVVJMOlwiLCBlKTtcblx0XHRjYigvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKGBJbnZhbGlkIFVSTDogJHtlfWApKTtcblx0XHRyZXR1cm47XG5cdH1cblx0Y29uc3QgZ2V0RmV0Y2ggPSBhc3luYyAoKSA9PiB7XG5cdFx0aWYgKGxvYWRlckhvb2s/LmZldGNoKSByZXR1cm4gKGlucHV0LCBpbml0KSA9PiBsYXp5TG9hZGVySG9va0ZldGNoKGlucHV0LCBpbml0LCBsb2FkZXJIb29rKTtcblx0XHRyZXR1cm4gZmV0Y2g7XG5cdH07XG5cdGNvbnN0IGhhbmRsZVNjcmlwdEZldGNoID0gYXN5bmMgKGYsIHVybE9iaikgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXMgPSBhd2FpdCBmKHVybE9iai5ocmVmKTtcblx0XHRcdGNvbnN0IGRhdGEgPSBhd2FpdCByZXMudGV4dCgpO1xuXHRcdFx0Y29uc3QgW3BhdGgsIHZtXSA9IGF3YWl0IFByb21pc2UuYWxsKFtpbXBvcnROb2RlTW9kdWxlKFwicGF0aFwiKSwgaW1wb3J0Tm9kZU1vZHVsZShcInZtXCIpXSk7XG5cdFx0XHRjb25zdCBzY3JpcHRDb250ZXh0ID0ge1xuXHRcdFx0XHRleHBvcnRzOiB7fSxcblx0XHRcdFx0bW9kdWxlOiB7IGV4cG9ydHM6IHt9IH1cblx0XHRcdH07XG5cdFx0XHRjb25zdCB1cmxEaXJuYW1lID0gdXJsT2JqLnBhdGhuYW1lLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuam9pbihcIi9cIik7XG5cdFx0XHRjb25zdCBmaWxlbmFtZSA9IHBhdGguYmFzZW5hbWUodXJsT2JqLnBhdGhuYW1lKTtcblx0XHRcdGNvbnN0IHNjcmlwdCA9IG5ldyB2bS5TY3JpcHQoYChmdW5jdGlvbihleHBvcnRzLCBtb2R1bGUsIHJlcXVpcmUsIF9fZGlybmFtZSwgX19maWxlbmFtZSkgeyR7ZGF0YX1cXG59KWAsIHtcblx0XHRcdFx0ZmlsZW5hbWUsXG5cdFx0XHRcdGltcG9ydE1vZHVsZUR5bmFtaWNhbGx5OiB2bS5jb25zdGFudHM/LlVTRV9NQUlOX0NPTlRFWFRfREVGQVVMVF9MT0FERVIgPz8gaW1wb3J0Tm9kZU1vZHVsZVxuXHRcdFx0fSk7XG5cdFx0XHRsZXQgcmVxdWlyZUZuO1xuXHRcdFx0cmVxdWlyZUZuID0gZXZhbChcInJlcXVpcmVcIik7XG5cdFx0XHRzY3JpcHQucnVuSW5UaGlzQ29udGV4dCgpKHNjcmlwdENvbnRleHQuZXhwb3J0cywgc2NyaXB0Q29udGV4dC5tb2R1bGUsIHJlcXVpcmVGbiwgdXJsRGlybmFtZSwgZmlsZW5hbWUpO1xuXHRcdFx0Y29uc3QgZXhwb3J0ZWRJbnRlcmZhY2UgPSBzY3JpcHRDb250ZXh0Lm1vZHVsZS5leHBvcnRzIHx8IHNjcmlwdENvbnRleHQuZXhwb3J0cztcblx0XHRcdGlmIChhdHRycyAmJiBleHBvcnRlZEludGVyZmFjZSAmJiBhdHRyc1tcImdsb2JhbE5hbWVcIl0pIHtcblx0XHRcdFx0Y2Iodm9pZCAwLCBleHBvcnRlZEludGVyZmFjZVthdHRyc1tcImdsb2JhbE5hbWVcIl1dIHx8IGV4cG9ydGVkSW50ZXJmYWNlKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y2Iodm9pZCAwLCBleHBvcnRlZEludGVyZmFjZSk7XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0Y2IoZSBpbnN0YW5jZW9mIEVycm9yID8gZSA6IC8qIEBfX1BVUkVfXyAqLyBuZXcgRXJyb3IoYFNjcmlwdCBleGVjdXRpb24gZXJyb3I6ICR7ZX1gKSk7XG5cdFx0fVxuXHR9O1xuXHRnZXRGZXRjaCgpLnRoZW4oYXN5bmMgKGYpID0+IHtcblx0XHRpZiAoYXR0cnM/LltcInR5cGVcIl0gPT09IFwiZXNtXCIgfHwgYXR0cnM/LltcInR5cGVcIl0gPT09IFwibW9kdWxlXCIpIHJldHVybiBsb2FkTW9kdWxlKHVybE9iai5ocmVmLCB7XG5cdFx0XHRmZXRjaDogZixcblx0XHRcdHZtOiBhd2FpdCBpbXBvcnROb2RlTW9kdWxlKFwidm1cIilcblx0XHR9KS50aGVuKGFzeW5jIChtb2R1bGUpID0+IHtcblx0XHRcdGF3YWl0IG1vZHVsZS5ldmFsdWF0ZSgpO1xuXHRcdFx0Y2Iodm9pZCAwLCBtb2R1bGUubmFtZXNwYWNlKTtcblx0XHR9KS5jYXRjaCgoZSkgPT4ge1xuXHRcdFx0Y2IoZSBpbnN0YW5jZW9mIEVycm9yID8gZSA6IC8qIEBfX1BVUkVfXyAqLyBuZXcgRXJyb3IoYFNjcmlwdCBleGVjdXRpb24gZXJyb3I6ICR7ZX1gKSk7XG5cdFx0fSk7XG5cdFx0aGFuZGxlU2NyaXB0RmV0Y2goZiwgdXJsT2JqKTtcblx0fSkuY2F0Y2goKGVycikgPT4ge1xuXHRcdGNiKGVycik7XG5cdH0pO1xufSA6ICh1cmwsIGNiLCBhdHRycywgbG9hZGVySG9vaykgPT4ge1xuXHRjYigvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKFwiY3JlYXRlU2NyaXB0Tm9kZSBpcyBkaXNhYmxlZCBpbiBub24tTm9kZS5qcyBlbnZpcm9ubWVudFwiKSk7XG59O1xuY29uc3QgbG9hZFNjcmlwdE5vZGUgPSB0eXBlb2YgRU5WX1RBUkdFVCA9PT0gXCJ1bmRlZmluZWRcIiB8fCBFTlZfVEFSR0VUICE9PSBcIndlYlwiID8gKHVybCwgaW5mbykgPT4ge1xuXHRyZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuXHRcdGNyZWF0ZVNjcmlwdE5vZGUodXJsLCAoZXJyb3IsIHNjcmlwdENvbnRleHQpID0+IHtcblx0XHRcdGlmIChlcnJvcikgcmVqZWN0KGVycm9yKTtcblx0XHRcdGVsc2Uge1xuXHRcdFx0XHRjb25zdCByZW1vdGVFbnRyeUtleSA9IGluZm8/LmF0dHJzPy5bXCJnbG9iYWxOYW1lXCJdIHx8IGBfX0ZFREVSQVRJT05fJHtpbmZvPy5hdHRycz8uW1wibmFtZVwiXX06Y3VzdG9tX19gO1xuXHRcdFx0XHRyZXNvbHZlKGdsb2JhbFRoaXNbcmVtb3RlRW50cnlLZXldID0gc2NyaXB0Q29udGV4dCk7XG5cdFx0XHR9XG5cdFx0fSwgaW5mby5hdHRycywgaW5mby5sb2FkZXJIb29rKTtcblx0fSk7XG59IDogKHVybCwgaW5mbykgPT4ge1xuXHR0aHJvdyBuZXcgRXJyb3IoXCJsb2FkU2NyaXB0Tm9kZSBpcyBkaXNhYmxlZCBpbiBub24tTm9kZS5qcyBlbnZpcm9ubWVudFwiKTtcbn07XG5jb25zdCBlc21Nb2R1bGVDYWNoZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG5jb25zdCBpc0ZldGNoYWJsZVJlbW90ZU1vZHVsZVVybCA9ICh1cmwpID0+IHVybC5zdGFydHNXaXRoKFwiaHR0cDpcIikgfHwgdXJsLnN0YXJ0c1dpdGgoXCJodHRwczpcIik7XG5jb25zdCBpc0JhcmVNb2R1bGVTcGVjaWZpZXIgPSAoc3BlY2lmaWVyKSA9PiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoXCIuL1wiKSAmJiAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoXCIuLi9cIikgJiYgIXNwZWNpZmllci5zdGFydHNXaXRoKFwiL1wiKSAmJiAhc3BlY2lmaWVyLmluY2x1ZGVzKFwiOlwiKTtcbmZ1bmN0aW9uIGVuY29kZVJlbW90ZU1vZHVsZVBhdGgodXJsKSB7XG5cdGNvbnN0IHJlbW90ZVVybCA9IG5ldyBVUkwodXJsKTtcblx0Y29uc3QgZW5jb2RlZFByb3RvY29sID0gZW5jb2RlVVJJQ29tcG9uZW50KHJlbW90ZVVybC5wcm90b2NvbC5zbGljZSgwLCAtMSkpO1xuXHRjb25zdCBlbmNvZGVkSG9zdCA9IGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVVcmwuaG9zdCk7XG5cdGNvbnN0IGVuY29kZWRQYXRobmFtZSA9IHJlbW90ZVVybC5wYXRobmFtZS5zcGxpdChcIi9cIikubWFwKChzZWdtZW50KSA9PiBlbmNvZGVVUklDb21wb25lbnQoc2VnbWVudCkpLmpvaW4oXCIvXCIpO1xuXHRjb25zdCBlbmNvZGVkU2VhcmNoSGFzaCA9IGVuY29kZVVSSUNvbXBvbmVudChgJHtyZW1vdGVVcmwuc2VhcmNofSR7cmVtb3RlVXJsLmhhc2h9YCk7XG5cdHJldHVybiBgLyR7ZW5jb2RlZFByb3RvY29sfS8ke2VuY29kZWRIb3N0fSR7ZW5jb2RlZFBhdGhuYW1lfSR7ZW5jb2RlZFNlYXJjaEhhc2ggPyBgLyR7ZW5jb2RlZFNlYXJjaEhhc2h9YCA6IFwiXCJ9YDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUltcG9ydE1ldGFVcmwodXJsLCBiYXNlRmlsZVVybCkge1xuXHRjb25zdCBiYXNlVXJsID0gYmFzZUZpbGVVcmwuZW5kc1dpdGgoXCIvXCIpID8gYmFzZUZpbGVVcmwgOiBgJHtiYXNlRmlsZVVybH0vYDtcblx0cmV0dXJuIG5ldyBVUkwoYF9fbW9kdWxlX2ZlZGVyYXRpb25fcmVtb3RlX18ke2VuY29kZVJlbW90ZU1vZHVsZVBhdGgodXJsKX1gLCBiYXNlVXJsKS5ocmVmO1xufVxuYXN5bmMgZnVuY3Rpb24gaXNOb2RlQnVpbHRpblNwZWNpZmllcihzcGVjaWZpZXIpIHtcblx0aWYgKHNwZWNpZmllci5zdGFydHNXaXRoKFwibm9kZTpcIikpIHJldHVybiB0cnVlO1xuXHRpZiAoIWlzQmFyZU1vZHVsZVNwZWNpZmllcihzcGVjaWZpZXIpKSByZXR1cm4gZmFsc2U7XG5cdHJldHVybiAoYXdhaXQgaW1wb3J0Tm9kZU1vZHVsZShcIm5vZGU6bW9kdWxlXCIpKS5idWlsdGluTW9kdWxlcy5pbmNsdWRlcyhzcGVjaWZpZXIpO1xufVxuZnVuY3Rpb24gZ2V0U3ludGhldGljTW9kdWxlRXhwb3J0cyhtb2R1bGVFeHBvcnRzKSB7XG5cdGNvbnN0IG5hbWVzcGFjZU9iamVjdCA9IG1vZHVsZUV4cG9ydHMgJiYgKHR5cGVvZiBtb2R1bGVFeHBvcnRzID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBtb2R1bGVFeHBvcnRzID09PSBcImZ1bmN0aW9uXCIpID8gbW9kdWxlRXhwb3J0cyA6IHsgZGVmYXVsdDogbW9kdWxlRXhwb3J0cyB9O1xuXHRjb25zdCBlZmZlY3RpdmVFeHBvcnRzID0geyAuLi5uYW1lc3BhY2VPYmplY3QgfTtcblx0aWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZWZmZWN0aXZlRXhwb3J0cywgXCJkZWZhdWx0XCIpKSBlZmZlY3RpdmVFeHBvcnRzLmRlZmF1bHQgPSBuYW1lc3BhY2VPYmplY3Q7XG5cdHJldHVybiBlZmZlY3RpdmVFeHBvcnRzO1xufVxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3ludGhldGljTW9kdWxlRnJvbUV4cG9ydHMoaWRlbnRpZmllciwgbW9kdWxlRXhwb3J0cywgdm0pIHtcblx0aWYgKHR5cGVvZiB2bS5TeW50aGV0aWNNb2R1bGUgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IEVycm9yKFwidm0uU3ludGhldGljTW9kdWxlIGlzIHJlcXVpcmVkIHRvIGxvYWQgTm9kZS5qcyBidWlsdC1pbiBtb2R1bGVzIGluIEVTTSByZW1vdGUgZW50cmllcy5cIik7XG5cdGNvbnN0IGVmZmVjdGl2ZUV4cG9ydHMgPSBnZXRTeW50aGV0aWNNb2R1bGVFeHBvcnRzKG1vZHVsZUV4cG9ydHMpO1xuXHRjb25zdCBleHBvcnROYW1lcyA9IE9iamVjdC5rZXlzKGVmZmVjdGl2ZUV4cG9ydHMpO1xuXHRjb25zdCBzeW50aGV0aWNNb2R1bGUgPSBuZXcgdm0uU3ludGhldGljTW9kdWxlKGV4cG9ydE5hbWVzLCBmdW5jdGlvbiBzZXRTeW50aGV0aWNNb2R1bGVFeHBvcnRzKCkge1xuXHRcdGZvciAoY29uc3QgbmFtZSBvZiBleHBvcnROYW1lcykgdGhpcy5zZXRFeHBvcnQobmFtZSwgZWZmZWN0aXZlRXhwb3J0c1tuYW1lXSk7XG5cdH0sIHsgaWRlbnRpZmllciB9KTtcblx0ZXNtTW9kdWxlQ2FjaGUuc2V0KGlkZW50aWZpZXIsIHN5bnRoZXRpY01vZHVsZSk7XG5cdGF3YWl0IHN5bnRoZXRpY01vZHVsZS5saW5rKGFzeW5jICgpID0+IHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYE5vZGUuanMgYnVpbHQtaW4gbW9kdWxlIFwiJHtpZGVudGlmaWVyfVwiIHNob3VsZCBub3QgcmVxdWVzdCBjaGlsZCBtb2R1bGVzLmApO1xuXHR9KTtcblx0YXdhaXQgc3ludGhldGljTW9kdWxlLmV2YWx1YXRlKCk7XG5cdHJldHVybiBzeW50aGV0aWNNb2R1bGU7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkTm9kZUJ1aWx0aW5Nb2R1bGUoc3BlY2lmaWVyLCB2bSkge1xuXHRjb25zdCBjYWNoZUtleSA9IGBub2RlLWJ1aWx0aW46JHtzcGVjaWZpZXJ9YDtcblx0aWYgKGVzbU1vZHVsZUNhY2hlLmhhcyhjYWNoZUtleSkpIHJldHVybiBlc21Nb2R1bGVDYWNoZS5nZXQoY2FjaGVLZXkpO1xuXHRyZXR1cm4gY3JlYXRlU3ludGhldGljTW9kdWxlRnJvbUV4cG9ydHMoY2FjaGVLZXksIGF3YWl0IGltcG9ydE5vZGVNb2R1bGUoc3BlY2lmaWVyKSwgdm0pO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZFJlc29sdmVkTW9kdWxlKHNwZWNpZmllciwgcGFyZW50VXJsLCBvcHRpb25zKSB7XG5cdGlmIChhd2FpdCBpc05vZGVCdWlsdGluU3BlY2lmaWVyKHNwZWNpZmllcikpIHJldHVybiBsb2FkTm9kZUJ1aWx0aW5Nb2R1bGUoc3BlY2lmaWVyLCBvcHRpb25zLnZtKTtcblx0aWYgKGlzQmFyZU1vZHVsZVNwZWNpZmllcihzcGVjaWZpZXIpKSB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIEVTTSBtb2R1bGUgc3BlY2lmaWVyIFwiJHtzcGVjaWZpZXJ9XCIuIE9ubHkgcmVsYXRpdmUgb3IgYWJzb2x1dGUgaHR0cChzKSByZW1vdGUgbW9kdWxlcyBhbmQgTm9kZS5qcyBidWlsdC1pbiBtb2R1bGVzIGFyZSBzdXBwb3J0ZWQuYCk7XG5cdGNvbnN0IHJlc29sdmVkVXJsID0gbmV3IFVSTChzcGVjaWZpZXIsIHBhcmVudFVybCkuaHJlZjtcblx0aWYgKCFpc0ZldGNoYWJsZVJlbW90ZU1vZHVsZVVybChyZXNvbHZlZFVybCkpIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgRVNNIG1vZHVsZSBzcGVjaWZpZXIgXCIke3NwZWNpZmllcn1cIiByZXNvbHZlZCB0byBcIiR7cmVzb2x2ZWRVcmx9XCIuIE9ubHkgaHR0cChzKSByZW1vdGUgbW9kdWxlcyBhbmQgTm9kZS5qcyBidWlsdC1pbiBtb2R1bGVzIGFyZSBzdXBwb3J0ZWQuYCk7XG5cdHJldHVybiBsb2FkTW9kdWxlKHJlc29sdmVkVXJsLCBvcHRpb25zKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGV2YWx1YXRlRHluYW1pY01vZHVsZShtb2R1bGUpIHtcblx0aWYgKG1vZHVsZS5zdGF0dXMgPT09IFwibGlua2VkXCIpIGF3YWl0IG1vZHVsZS5ldmFsdWF0ZSgpO1xuXHRpZiAobW9kdWxlLnN0YXR1cyA9PT0gXCJlcnJvcmVkXCIpIHRocm93IG1vZHVsZS5lcnJvcjtcblx0cmV0dXJuIG1vZHVsZTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRNb2R1bGUodXJsLCBvcHRpb25zKSB7XG5cdGlmIChlc21Nb2R1bGVDYWNoZS5oYXModXJsKSkgcmV0dXJuIGVzbU1vZHVsZUNhY2hlLmdldCh1cmwpO1xuXHRjb25zdCB7IGZldGNoLCB2bSB9ID0gb3B0aW9ucztcblx0aWYgKCFpc0ZldGNoYWJsZVJlbW90ZU1vZHVsZVVybCh1cmwpKSB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIEVTTSBtb2R1bGUgVVJMIFwiJHt1cmx9XCIuIE9ubHkgaHR0cChzKSByZW1vdGUgbW9kdWxlcyBhbmQgTm9kZS5qcyBidWlsdC1pbiBtb2R1bGVzIGFyZSBzdXBwb3J0ZWQuYCk7XG5cdGNvbnN0IGNvZGUgPSBhd2FpdCAoYXdhaXQgZmV0Y2godXJsKSkudGV4dCgpO1xuXHRjb25zdCBjd2RGaWxlVXJsID0gKGF3YWl0IGltcG9ydE5vZGVNb2R1bGUoXCJub2RlOnVybFwiKSkucGF0aFRvRmlsZVVSTChwcm9jZXNzLmN3ZCgpKS5ocmVmO1xuXHRjb25zdCBzb3VyY2VUZXh0TW9kdWxlID0gbmV3IHZtLlNvdXJjZVRleHRNb2R1bGUoY29kZSwge1xuXHRcdGlkZW50aWZpZXI6IHVybCxcblx0XHRpbml0aWFsaXplSW1wb3J0TWV0YTogKG1ldGEpID0+IHtcblx0XHRcdG1ldGEudXJsID0gY3JlYXRlSW1wb3J0TWV0YVVybCh1cmwsIGN3ZEZpbGVVcmwpO1xuXHRcdH0sXG5cdFx0aW1wb3J0TW9kdWxlRHluYW1pY2FsbHk6IGFzeW5jIChzcGVjaWZpZXIpID0+IHtcblx0XHRcdHJldHVybiBldmFsdWF0ZUR5bmFtaWNNb2R1bGUoYXdhaXQgbG9hZFJlc29sdmVkTW9kdWxlKHNwZWNpZmllciwgdXJsLCBvcHRpb25zKSk7XG5cdFx0fVxuXHR9KTtcblx0ZXNtTW9kdWxlQ2FjaGUuc2V0KHVybCwgc291cmNlVGV4dE1vZHVsZSk7XG5cdGF3YWl0IHNvdXJjZVRleHRNb2R1bGUubGluayhhc3luYyAoc3BlY2lmaWVyKSA9PiB7XG5cdFx0cmV0dXJuIGxvYWRSZXNvbHZlZE1vZHVsZShzcGVjaWZpZXIsIHVybCwgb3B0aW9ucyk7XG5cdH0pO1xuXHRyZXR1cm4gc291cmNlVGV4dE1vZHVsZTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmNyZWF0ZVNjcmlwdE5vZGUgPSBjcmVhdGVTY3JpcHROb2RlO1xuZXhwb3J0cy5sb2FkU2NyaXB0Tm9kZSA9IGxvYWRTY3JpcHROb2RlO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9kZS5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsS0FBSztBQUMvQztBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUNBQXlDO0FBQ3pDLHVFQUF1RTtBQUN2RTtBQUNBO0FBQ0EseUJBQXlCLE1BQXlELEdBQUcsQ0EyRHBGLENBQUM7QUFDRjtBQUNBO0FBQ0EsdUJBQXVCLE1BQXlELEdBQUcsQ0FVbEYsQ0FBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaURBQWlELGlCQUFpQixFQUFFLGVBQWU7QUFDbkYsWUFBWSxnQkFBZ0IsR0FBRyxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLGtCQUFrQixPQUFPO0FBQ2hIO0FBQ0E7QUFDQSw4REFBOEQsWUFBWTtBQUMxRSwrQ0FBK0MsNEJBQTRCO0FBQzNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUlBQXlJO0FBQ3pJLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksWUFBWTtBQUNsQjtBQUNBO0FBQ0EsOENBQThDLFdBQVc7QUFDekQsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDLFVBQVU7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRGQUE0RixVQUFVO0FBQ3RHO0FBQ0Esb0dBQW9HLFVBQVUsaUJBQWlCLFlBQVk7QUFDM0k7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyxZQUFZO0FBQ3JCLHNGQUFzRixJQUFJO0FBQzFGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0I7QUFDeEIsc0JBQXNCO0FBQ3RCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/node.cjs\n\n}");
|
|
248
|
+
|
|
249
|
+
},
|
|
250
|
+
"../../../node_modules/@module-federation/sdk/dist/normalizeOptions.cjs"(__unused_rspack_module, exports) {
|
|
251
|
+
eval("{\n//#region src/normalizeOptions.ts\nfunction normalizeOptions(enableDefault, defaultOptions, key) {\n\treturn function(options) {\n\t\tif (options === false) return false;\n\t\tif (typeof options === \"undefined\") if (enableDefault) return defaultOptions;\n\t\telse return false;\n\t\tif (options === true) return defaultOptions;\n\t\tif (options && typeof options === \"object\") return {\n\t\t\t...defaultOptions,\n\t\t\t...options\n\t\t};\n\t\tthrow new Error(`Unexpected type for \\`${key}\\`, expect boolean/undefined/object, got: ${typeof options}`);\n\t};\n}\n\n//#endregion\nexports.normalizeOptions = normalizeOptions;\n//# sourceMappingURL=normalizeOptions.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L25vcm1hbGl6ZU9wdGlvbnMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L25vcm1hbGl6ZU9wdGlvbnMuY2pzPzNjOGIiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL25vcm1hbGl6ZU9wdGlvbnMudHNcbmZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbnMoZW5hYmxlRGVmYXVsdCwgZGVmYXVsdE9wdGlvbnMsIGtleSkge1xuXHRyZXR1cm4gZnVuY3Rpb24ob3B0aW9ucykge1xuXHRcdGlmIChvcHRpb25zID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlO1xuXHRcdGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gXCJ1bmRlZmluZWRcIikgaWYgKGVuYWJsZURlZmF1bHQpIHJldHVybiBkZWZhdWx0T3B0aW9ucztcblx0XHRlbHNlIHJldHVybiBmYWxzZTtcblx0XHRpZiAob3B0aW9ucyA9PT0gdHJ1ZSkgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuXHRcdGlmIChvcHRpb25zICYmIHR5cGVvZiBvcHRpb25zID09PSBcIm9iamVjdFwiKSByZXR1cm4ge1xuXHRcdFx0Li4uZGVmYXVsdE9wdGlvbnMsXG5cdFx0XHQuLi5vcHRpb25zXG5cdFx0fTtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSBmb3IgXFxgJHtrZXl9XFxgLCBleHBlY3QgYm9vbGVhbi91bmRlZmluZWQvb2JqZWN0LCBnb3Q6ICR7dHlwZW9mIG9wdGlvbnN9YCk7XG5cdH07XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5ub3JtYWxpemVPcHRpb25zID0gbm9ybWFsaXplT3B0aW9ucztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vcm1hbGl6ZU9wdGlvbnMuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDJDQUEyQyxJQUFJLDRDQUE0QyxlQUFlO0FBQzFHO0FBQ0E7O0FBRUE7QUFDQSx3QkFBd0I7QUFDeEIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/normalizeOptions.cjs\n\n}");
|
|
252
|
+
|
|
253
|
+
},
|
|
254
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
255
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/types/plugins/ConsumeSharedPlugin.ts\nvar ConsumeSharedPlugin_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"ConsumeSharedPlugin_exports\", ({\n enumerable: true,\n get: function () {\n return ConsumeSharedPlugin_exports;\n }\n}));\n//# sourceMappingURL=ConsumeSharedPlugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvQ29uc3VtZVNoYXJlZFBsdWdpbi5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvdHlwZXMvcGx1Z2lucy9Db25zdW1lU2hhcmVkUGx1Z2luLmNqcz8xNmNjIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfcnVudGltZSA9IHJlcXVpcmUoJy4uLy4uL192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3R5cGVzL3BsdWdpbnMvQ29uc3VtZVNoYXJlZFBsdWdpbi50c1xudmFyIENvbnN1bWVTaGFyZWRQbHVnaW5fZXhwb3J0cyA9IC8qIEBfX1BVUkVfXyAqLyByZXF1aXJlX3J1bnRpbWUuX19leHBvcnRBbGwoe30pO1xuXG4vLyNlbmRyZWdpb25cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnQ29uc3VtZVNoYXJlZFBsdWdpbl9leHBvcnRzJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gQ29uc3VtZVNoYXJlZFBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbnN1bWVTaGFyZWRQbHVnaW4uY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0IsbUJBQU8sQ0FBQyxrRkFBc0M7O0FBRXRFO0FBQ0EsZ0ZBQWdGOztBQUVoRjtBQUNBLCtEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.cjs\n\n}");
|
|
256
|
+
|
|
257
|
+
},
|
|
258
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
259
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/types/plugins/ContainerPlugin.ts\nvar ContainerPlugin_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"ContainerPlugin_exports\", ({\n enumerable: true,\n get: function () {\n return ContainerPlugin_exports;\n }\n}));\n//# sourceMappingURL=ContainerPlugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvQ29udGFpbmVyUGx1Z2luLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvZGlzdC90eXBlcy9wbHVnaW5zL0NvbnRhaW5lclBsdWdpbi5janM/NmE4MCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX3J1bnRpbWUgPSByZXF1aXJlKCcuLi8uLi9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janMnKTtcblxuLy8jcmVnaW9uIHNyYy90eXBlcy9wbHVnaW5zL0NvbnRhaW5lclBsdWdpbi50c1xudmFyIENvbnRhaW5lclBsdWdpbl9leHBvcnRzID0gLyogQF9fUFVSRV9fICovIHJlcXVpcmVfcnVudGltZS5fX2V4cG9ydEFsbCh7fSk7XG5cbi8vI2VuZHJlZ2lvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdDb250YWluZXJQbHVnaW5fZXhwb3J0cycsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIENvbnRhaW5lclBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbnRhaW5lclBsdWdpbi5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixtQkFBTyxDQUFDLGtGQUFzQzs7QUFFdEU7QUFDQSw0RUFBNEU7O0FBRTVFO0FBQ0EsMkRBQTBEO0FBQzFEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.cjs\n\n}");
|
|
260
|
+
|
|
261
|
+
},
|
|
262
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
263
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/types/plugins/ContainerReferencePlugin.ts\nvar ContainerReferencePlugin_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"ContainerReferencePlugin_exports\", ({\n enumerable: true,\n get: function () {\n return ContainerReferencePlugin_exports;\n }\n}));\n//# sourceMappingURL=ContainerReferencePlugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvQ29udGFpbmVyUmVmZXJlbmNlUGx1Z2luLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvZGlzdC90eXBlcy9wbHVnaW5zL0NvbnRhaW5lclJlZmVyZW5jZVBsdWdpbi5janM/N2VhMCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX3J1bnRpbWUgPSByZXF1aXJlKCcuLi8uLi9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janMnKTtcblxuLy8jcmVnaW9uIHNyYy90eXBlcy9wbHVnaW5zL0NvbnRhaW5lclJlZmVyZW5jZVBsdWdpbi50c1xudmFyIENvbnRhaW5lclJlZmVyZW5jZVBsdWdpbl9leHBvcnRzID0gLyogQF9fUFVSRV9fICovIHJlcXVpcmVfcnVudGltZS5fX2V4cG9ydEFsbCh7fSk7XG5cbi8vI2VuZHJlZ2lvblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdDb250YWluZXJSZWZlcmVuY2VQbHVnaW5fZXhwb3J0cycsIHtcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIENvbnRhaW5lclJlZmVyZW5jZVBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNvbnRhaW5lclJlZmVyZW5jZVBsdWdpbi5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixtQkFBTyxDQUFDLGtGQUFzQzs7QUFFdEU7QUFDQSxxRkFBcUY7O0FBRXJGO0FBQ0Esb0VBQW1FO0FBQ25FO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.cjs\n\n}");
|
|
264
|
+
|
|
265
|
+
},
|
|
266
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
267
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/types/plugins/ModuleFederationPlugin.ts\nvar ModuleFederationPlugin_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"ModuleFederationPlugin_exports\", ({\n enumerable: true,\n get: function () {\n return ModuleFederationPlugin_exports;\n }\n}));\n//# sourceMappingURL=ModuleFederationPlugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvTW9kdWxlRmVkZXJhdGlvblBsdWdpbi5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvdHlwZXMvcGx1Z2lucy9Nb2R1bGVGZWRlcmF0aW9uUGx1Z2luLmNqcz80ZjE1Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfcnVudGltZSA9IHJlcXVpcmUoJy4uLy4uL192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3R5cGVzL3BsdWdpbnMvTW9kdWxlRmVkZXJhdGlvblBsdWdpbi50c1xudmFyIE1vZHVsZUZlZGVyYXRpb25QbHVnaW5fZXhwb3J0cyA9IC8qIEBfX1BVUkVfXyAqLyByZXF1aXJlX3J1bnRpbWUuX19leHBvcnRBbGwoe30pO1xuXG4vLyNlbmRyZWdpb25cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnTW9kdWxlRmVkZXJhdGlvblBsdWdpbl9leHBvcnRzJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gTW9kdWxlRmVkZXJhdGlvblBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPU1vZHVsZUZlZGVyYXRpb25QbHVnaW4uY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0IsbUJBQU8sQ0FBQyxrRkFBc0M7O0FBRXRFO0FBQ0EsbUZBQW1GOztBQUVuRjtBQUNBLGtFQUFpRTtBQUNqRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.cjs\n\n}");
|
|
268
|
+
|
|
269
|
+
},
|
|
270
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
271
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/types/plugins/ProvideSharedPlugin.ts\nvar ProvideSharedPlugin_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"ProvideSharedPlugin_exports\", ({\n enumerable: true,\n get: function () {\n return ProvideSharedPlugin_exports;\n }\n}));\n//# sourceMappingURL=ProvideSharedPlugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvUHJvdmlkZVNoYXJlZFBsdWdpbi5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL2Rpc3QvdHlwZXMvcGx1Z2lucy9Qcm92aWRlU2hhcmVkUGx1Z2luLmNqcz82OGJiIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfcnVudGltZSA9IHJlcXVpcmUoJy4uLy4uL192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL3R5cGVzL3BsdWdpbnMvUHJvdmlkZVNoYXJlZFBsdWdpbi50c1xudmFyIFByb3ZpZGVTaGFyZWRQbHVnaW5fZXhwb3J0cyA9IC8qIEBfX1BVUkVfXyAqLyByZXF1aXJlX3J1bnRpbWUuX19leHBvcnRBbGwoe30pO1xuXG4vLyNlbmRyZWdpb25cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnUHJvdmlkZVNoYXJlZFBsdWdpbl9leHBvcnRzJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gUHJvdmlkZVNoYXJlZFBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVByb3ZpZGVTaGFyZWRQbHVnaW4uY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0IsbUJBQU8sQ0FBQyxrRkFBc0M7O0FBRXRFO0FBQ0EsZ0ZBQWdGOztBQUVoRjtBQUNBLCtEQUE4RDtBQUM5RDtBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.cjs\n\n}");
|
|
272
|
+
|
|
273
|
+
},
|
|
274
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
275
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.cjs\");\n\n//#region src/types/plugins/SharePlugin.ts\nvar SharePlugin_exports = /* @__PURE__ */ require_runtime.__exportAll({});\n\n//#endregion\nObject.defineProperty(exports, \"SharePlugin_exports\", ({\n enumerable: true,\n get: function () {\n return SharePlugin_exports;\n }\n}));\n//# sourceMappingURL=SharePlugin.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvU2hhcmVQbHVnaW4uY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3R5cGVzL3BsdWdpbnMvU2hhcmVQbHVnaW4uY2pzPzM4YzYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9ydW50aW1lID0gcmVxdWlyZSgnLi4vLi4vX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvdHlwZXMvcGx1Z2lucy9TaGFyZVBsdWdpbi50c1xudmFyIFNoYXJlUGx1Z2luX2V4cG9ydHMgPSAvKiBAX19QVVJFX18gKi8gcmVxdWlyZV9ydW50aW1lLl9fZXhwb3J0QWxsKHt9KTtcblxuLy8jZW5kcmVnaW9uXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ1NoYXJlUGx1Z2luX2V4cG9ydHMnLCB7XG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBTaGFyZVBsdWdpbl9leHBvcnRzO1xuICB9XG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNoYXJlUGx1Z2luLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLG1CQUFPLENBQUMsa0ZBQXNDOztBQUV0RTtBQUNBLHdFQUF3RTs7QUFFeEU7QUFDQSx1REFBc0Q7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.cjs\n\n}");
|
|
276
|
+
|
|
277
|
+
},
|
|
278
|
+
"../../../node_modules/@module-federation/sdk/dist/utils.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
279
|
+
eval("{const require_constant = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.cjs\");\nconst require_env = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/env.cjs\");\n\n//#region src/utils.ts\nconst LOG_CATEGORY = \"[ Federation Runtime ]\";\nconst parseEntry = (str, devVerOrUrl, separator = require_constant.SEPARATOR) => {\n\tconst strSplit = str.split(separator);\n\tconst devVersionOrUrl = require_env.getProcessEnv()[\"NODE_ENV\"] === \"development\" && devVerOrUrl;\n\tconst defaultVersion = \"*\";\n\tconst isEntry = (s) => s.startsWith(\"http\") || s.includes(require_constant.MANIFEST_EXT);\n\tif (strSplit.length >= 2) {\n\t\tlet [name, ...versionOrEntryArr] = strSplit;\n\t\tif (str.startsWith(separator)) {\n\t\t\tname = strSplit.slice(0, 2).join(separator);\n\t\t\tversionOrEntryArr = [devVersionOrUrl || strSplit.slice(2).join(separator)];\n\t\t}\n\t\tlet versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n\t\tif (isEntry(versionOrEntry)) return {\n\t\t\tname,\n\t\t\tentry: versionOrEntry\n\t\t};\n\t\telse return {\n\t\t\tname,\n\t\t\tversion: versionOrEntry || defaultVersion\n\t\t};\n\t} else if (strSplit.length === 1) {\n\t\tconst [name] = strSplit;\n\t\tif (devVersionOrUrl && isEntry(devVersionOrUrl)) return {\n\t\t\tname,\n\t\t\tentry: devVersionOrUrl\n\t\t};\n\t\treturn {\n\t\t\tname,\n\t\t\tversion: devVersionOrUrl || defaultVersion\n\t\t};\n\t} else throw `Invalid entry value: ${str}`;\n};\nconst composeKeyWithSeparator = function(...args) {\n\tif (!args.length) return \"\";\n\treturn args.reduce((sum, cur) => {\n\t\tif (!cur) return sum;\n\t\tif (!sum) return cur;\n\t\treturn `${sum}${require_constant.SEPARATOR}${cur}`;\n\t}, \"\");\n};\nconst encodeName = function(name, prefix = \"\", withExt = false) {\n\ttry {\n\t\tconst ext = withExt ? \".js\" : \"\";\n\t\treturn `${prefix}${name.replace(new RegExp(`${require_constant.NameTransformSymbol.AT}`, \"g\"), require_constant.NameTransformMap[require_constant.NameTransformSymbol.AT]).replace(new RegExp(`${require_constant.NameTransformSymbol.HYPHEN}`, \"g\"), require_constant.NameTransformMap[require_constant.NameTransformSymbol.HYPHEN]).replace(new RegExp(`${require_constant.NameTransformSymbol.SLASH}`, \"g\"), require_constant.NameTransformMap[require_constant.NameTransformSymbol.SLASH])}${ext}`;\n\t} catch (err) {\n\t\tthrow err;\n\t}\n};\nconst decodeName = function(name, prefix, withExt) {\n\ttry {\n\t\tlet decodedName = name;\n\t\tif (prefix) {\n\t\t\tif (!decodedName.startsWith(prefix)) return decodedName;\n\t\t\tdecodedName = decodedName.replace(new RegExp(prefix, \"g\"), \"\");\n\t\t}\n\t\tdecodedName = decodedName.replace(new RegExp(`${require_constant.NameTransformMap[require_constant.NameTransformSymbol.AT]}`, \"g\"), require_constant.EncodedNameTransformMap[require_constant.NameTransformMap[require_constant.NameTransformSymbol.AT]]).replace(new RegExp(`${require_constant.NameTransformMap[require_constant.NameTransformSymbol.SLASH]}`, \"g\"), require_constant.EncodedNameTransformMap[require_constant.NameTransformMap[require_constant.NameTransformSymbol.SLASH]]).replace(new RegExp(`${require_constant.NameTransformMap[require_constant.NameTransformSymbol.HYPHEN]}`, \"g\"), require_constant.EncodedNameTransformMap[require_constant.NameTransformMap[require_constant.NameTransformSymbol.HYPHEN]]);\n\t\tif (withExt) decodedName = decodedName.replace(\".js\", \"\");\n\t\treturn decodedName;\n\t} catch (err) {\n\t\tthrow err;\n\t}\n};\nconst generateExposeFilename = (exposeName, withExt) => {\n\tif (!exposeName) return \"\";\n\tlet expose = exposeName;\n\tif (expose === \".\") expose = \"default_export\";\n\tif (expose.startsWith(\"./\")) expose = expose.replace(\"./\", \"\");\n\treturn encodeName(expose, \"__federation_expose_\", withExt);\n};\nconst generateShareFilename = (pkgName, withExt) => {\n\tif (!pkgName) return \"\";\n\treturn encodeName(pkgName, \"__federation_shared_\", withExt);\n};\nfunction getResourceUrl(module, sourceUrl) {\n\tif (\"getPublicPath\" in module) {\n\t\tlet publicPath;\n\t\tif (!module.getPublicPath.startsWith(\"function\")) publicPath = new Function(module.getPublicPath)();\n\t\telse publicPath = new Function(\"return \" + module.getPublicPath)()();\n\t\treturn `${publicPath}${sourceUrl}`;\n\t} else if (\"publicPath\" in module) {\n\t\tif (!require_env.isBrowserEnv() && !require_env.isReactNativeEnv() && \"ssrPublicPath\" in module && typeof module.ssrPublicPath === \"string\") return `${module.ssrPublicPath}${sourceUrl}`;\n\t\treturn `${module.publicPath}${sourceUrl}`;\n\t} else {\n\t\tconsole.warn(\"Cannot get resource URL. If in debug mode, please ignore.\", module, sourceUrl);\n\t\treturn \"\";\n\t}\n}\nconst assert = (condition, msg) => {\n\tif (!condition) error(msg);\n};\nconst error = (msg) => {\n\tthrow new Error(`${LOG_CATEGORY}: ${msg}`);\n};\nconst warn = (msg) => {\n\tconsole.warn(`${LOG_CATEGORY}: ${msg}`);\n};\nfunction safeToString(info) {\n\ttry {\n\t\treturn JSON.stringify(info, null, 2);\n\t} catch (e) {\n\t\treturn \"\";\n\t}\n}\nconst VERSION_PATTERN_REGEXP = /^([\\d^=v<>~]|[*xX]$)/;\nfunction isRequiredVersion(str) {\n\treturn VERSION_PATTERN_REGEXP.test(str);\n}\n\n//#endregion\nexports.assert = assert;\nexports.composeKeyWithSeparator = composeKeyWithSeparator;\nexports.decodeName = decodeName;\nexports.encodeName = encodeName;\nexports.error = error;\nexports.generateExposeFilename = generateExposeFilename;\nexports.generateShareFilename = generateShareFilename;\nexports.getResourceUrl = getResourceUrl;\nexports.isRequiredVersion = isRequiredVersion;\nexports.parseEntry = parseEntry;\nexports.safeToString = safeToString;\nexports.warn = warn;\n//# sourceMappingURL=utils.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3V0aWxzLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvZGlzdC91dGlscy5janM/NmM4ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX2NvbnN0YW50ID0gcmVxdWlyZSgnLi9jb25zdGFudC5janMnKTtcbmNvbnN0IHJlcXVpcmVfZW52ID0gcmVxdWlyZSgnLi9lbnYuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvdXRpbHMudHNcbmNvbnN0IExPR19DQVRFR09SWSA9IFwiWyBGZWRlcmF0aW9uIFJ1bnRpbWUgXVwiO1xuY29uc3QgcGFyc2VFbnRyeSA9IChzdHIsIGRldlZlck9yVXJsLCBzZXBhcmF0b3IgPSByZXF1aXJlX2NvbnN0YW50LlNFUEFSQVRPUikgPT4ge1xuXHRjb25zdCBzdHJTcGxpdCA9IHN0ci5zcGxpdChzZXBhcmF0b3IpO1xuXHRjb25zdCBkZXZWZXJzaW9uT3JVcmwgPSByZXF1aXJlX2Vudi5nZXRQcm9jZXNzRW52KClbXCJOT0RFX0VOVlwiXSA9PT0gXCJkZXZlbG9wbWVudFwiICYmIGRldlZlck9yVXJsO1xuXHRjb25zdCBkZWZhdWx0VmVyc2lvbiA9IFwiKlwiO1xuXHRjb25zdCBpc0VudHJ5ID0gKHMpID0+IHMuc3RhcnRzV2l0aChcImh0dHBcIikgfHwgcy5pbmNsdWRlcyhyZXF1aXJlX2NvbnN0YW50Lk1BTklGRVNUX0VYVCk7XG5cdGlmIChzdHJTcGxpdC5sZW5ndGggPj0gMikge1xuXHRcdGxldCBbbmFtZSwgLi4udmVyc2lvbk9yRW50cnlBcnJdID0gc3RyU3BsaXQ7XG5cdFx0aWYgKHN0ci5zdGFydHNXaXRoKHNlcGFyYXRvcikpIHtcblx0XHRcdG5hbWUgPSBzdHJTcGxpdC5zbGljZSgwLCAyKS5qb2luKHNlcGFyYXRvcik7XG5cdFx0XHR2ZXJzaW9uT3JFbnRyeUFyciA9IFtkZXZWZXJzaW9uT3JVcmwgfHwgc3RyU3BsaXQuc2xpY2UoMikuam9pbihzZXBhcmF0b3IpXTtcblx0XHR9XG5cdFx0bGV0IHZlcnNpb25PckVudHJ5ID0gZGV2VmVyc2lvbk9yVXJsIHx8IHZlcnNpb25PckVudHJ5QXJyLmpvaW4oc2VwYXJhdG9yKTtcblx0XHRpZiAoaXNFbnRyeSh2ZXJzaW9uT3JFbnRyeSkpIHJldHVybiB7XG5cdFx0XHRuYW1lLFxuXHRcdFx0ZW50cnk6IHZlcnNpb25PckVudHJ5XG5cdFx0fTtcblx0XHRlbHNlIHJldHVybiB7XG5cdFx0XHRuYW1lLFxuXHRcdFx0dmVyc2lvbjogdmVyc2lvbk9yRW50cnkgfHwgZGVmYXVsdFZlcnNpb25cblx0XHR9O1xuXHR9IGVsc2UgaWYgKHN0clNwbGl0Lmxlbmd0aCA9PT0gMSkge1xuXHRcdGNvbnN0IFtuYW1lXSA9IHN0clNwbGl0O1xuXHRcdGlmIChkZXZWZXJzaW9uT3JVcmwgJiYgaXNFbnRyeShkZXZWZXJzaW9uT3JVcmwpKSByZXR1cm4ge1xuXHRcdFx0bmFtZSxcblx0XHRcdGVudHJ5OiBkZXZWZXJzaW9uT3JVcmxcblx0XHR9O1xuXHRcdHJldHVybiB7XG5cdFx0XHRuYW1lLFxuXHRcdFx0dmVyc2lvbjogZGV2VmVyc2lvbk9yVXJsIHx8IGRlZmF1bHRWZXJzaW9uXG5cdFx0fTtcblx0fSBlbHNlIHRocm93IGBJbnZhbGlkIGVudHJ5IHZhbHVlOiAke3N0cn1gO1xufTtcbmNvbnN0IGNvbXBvc2VLZXlXaXRoU2VwYXJhdG9yID0gZnVuY3Rpb24oLi4uYXJncykge1xuXHRpZiAoIWFyZ3MubGVuZ3RoKSByZXR1cm4gXCJcIjtcblx0cmV0dXJuIGFyZ3MucmVkdWNlKChzdW0sIGN1cikgPT4ge1xuXHRcdGlmICghY3VyKSByZXR1cm4gc3VtO1xuXHRcdGlmICghc3VtKSByZXR1cm4gY3VyO1xuXHRcdHJldHVybiBgJHtzdW19JHtyZXF1aXJlX2NvbnN0YW50LlNFUEFSQVRPUn0ke2N1cn1gO1xuXHR9LCBcIlwiKTtcbn07XG5jb25zdCBlbmNvZGVOYW1lID0gZnVuY3Rpb24obmFtZSwgcHJlZml4ID0gXCJcIiwgd2l0aEV4dCA9IGZhbHNlKSB7XG5cdHRyeSB7XG5cdFx0Y29uc3QgZXh0ID0gd2l0aEV4dCA/IFwiLmpzXCIgOiBcIlwiO1xuXHRcdHJldHVybiBgJHtwcmVmaXh9JHtuYW1lLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1TeW1ib2wuQVR9YCwgXCJnXCIpLCByZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1NYXBbcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtU3ltYm9sLkFUXSkucmVwbGFjZShuZXcgUmVnRXhwKGAke3JlcXVpcmVfY29uc3RhbnQuTmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU59YCwgXCJnXCIpLCByZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1NYXBbcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTl0pLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1TeW1ib2wuU0xBU0h9YCwgXCJnXCIpLCByZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1NYXBbcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIXSl9JHtleHR9YDtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0dGhyb3cgZXJyO1xuXHR9XG59O1xuY29uc3QgZGVjb2RlTmFtZSA9IGZ1bmN0aW9uKG5hbWUsIHByZWZpeCwgd2l0aEV4dCkge1xuXHR0cnkge1xuXHRcdGxldCBkZWNvZGVkTmFtZSA9IG5hbWU7XG5cdFx0aWYgKHByZWZpeCkge1xuXHRcdFx0aWYgKCFkZWNvZGVkTmFtZS5zdGFydHNXaXRoKHByZWZpeCkpIHJldHVybiBkZWNvZGVkTmFtZTtcblx0XHRcdGRlY29kZWROYW1lID0gZGVjb2RlZE5hbWUucmVwbGFjZShuZXcgUmVnRXhwKHByZWZpeCwgXCJnXCIpLCBcIlwiKTtcblx0XHR9XG5cdFx0ZGVjb2RlZE5hbWUgPSBkZWNvZGVkTmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoYCR7cmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtTWFwW3JlcXVpcmVfY29uc3RhbnQuTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF19YCwgXCJnXCIpLCByZXF1aXJlX2NvbnN0YW50LkVuY29kZWROYW1lVHJhbnNmb3JtTWFwW3JlcXVpcmVfY29uc3RhbnQuTmFtZVRyYW5zZm9ybU1hcFtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1TeW1ib2wuQVRdXSkucmVwbGFjZShuZXcgUmVnRXhwKGAke3JlcXVpcmVfY29uc3RhbnQuTmFtZVRyYW5zZm9ybU1hcFtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1TeW1ib2wuU0xBU0hdfWAsIFwiZ1wiKSwgcmVxdWlyZV9jb25zdGFudC5FbmNvZGVkTmFtZVRyYW5zZm9ybU1hcFtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1NYXBbcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIXV0pLnJlcGxhY2UobmV3IFJlZ0V4cChgJHtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1NYXBbcmVxdWlyZV9jb25zdGFudC5OYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTl19YCwgXCJnXCIpLCByZXF1aXJlX2NvbnN0YW50LkVuY29kZWROYW1lVHJhbnNmb3JtTWFwW3JlcXVpcmVfY29uc3RhbnQuTmFtZVRyYW5zZm9ybU1hcFtyZXF1aXJlX2NvbnN0YW50Lk5hbWVUcmFuc2Zvcm1TeW1ib2wuSFlQSEVOXV0pO1xuXHRcdGlmICh3aXRoRXh0KSBkZWNvZGVkTmFtZSA9IGRlY29kZWROYW1lLnJlcGxhY2UoXCIuanNcIiwgXCJcIik7XG5cdFx0cmV0dXJuIGRlY29kZWROYW1lO1xuXHR9IGNhdGNoIChlcnIpIHtcblx0XHR0aHJvdyBlcnI7XG5cdH1cbn07XG5jb25zdCBnZW5lcmF0ZUV4cG9zZUZpbGVuYW1lID0gKGV4cG9zZU5hbWUsIHdpdGhFeHQpID0+IHtcblx0aWYgKCFleHBvc2VOYW1lKSByZXR1cm4gXCJcIjtcblx0bGV0IGV4cG9zZSA9IGV4cG9zZU5hbWU7XG5cdGlmIChleHBvc2UgPT09IFwiLlwiKSBleHBvc2UgPSBcImRlZmF1bHRfZXhwb3J0XCI7XG5cdGlmIChleHBvc2Uuc3RhcnRzV2l0aChcIi4vXCIpKSBleHBvc2UgPSBleHBvc2UucmVwbGFjZShcIi4vXCIsIFwiXCIpO1xuXHRyZXR1cm4gZW5jb2RlTmFtZShleHBvc2UsIFwiX19mZWRlcmF0aW9uX2V4cG9zZV9cIiwgd2l0aEV4dCk7XG59O1xuY29uc3QgZ2VuZXJhdGVTaGFyZUZpbGVuYW1lID0gKHBrZ05hbWUsIHdpdGhFeHQpID0+IHtcblx0aWYgKCFwa2dOYW1lKSByZXR1cm4gXCJcIjtcblx0cmV0dXJuIGVuY29kZU5hbWUocGtnTmFtZSwgXCJfX2ZlZGVyYXRpb25fc2hhcmVkX1wiLCB3aXRoRXh0KTtcbn07XG5mdW5jdGlvbiBnZXRSZXNvdXJjZVVybChtb2R1bGUsIHNvdXJjZVVybCkge1xuXHRpZiAoXCJnZXRQdWJsaWNQYXRoXCIgaW4gbW9kdWxlKSB7XG5cdFx0bGV0IHB1YmxpY1BhdGg7XG5cdFx0aWYgKCFtb2R1bGUuZ2V0UHVibGljUGF0aC5zdGFydHNXaXRoKFwiZnVuY3Rpb25cIikpIHB1YmxpY1BhdGggPSBuZXcgRnVuY3Rpb24obW9kdWxlLmdldFB1YmxpY1BhdGgpKCk7XG5cdFx0ZWxzZSBwdWJsaWNQYXRoID0gbmV3IEZ1bmN0aW9uKFwicmV0dXJuIFwiICsgbW9kdWxlLmdldFB1YmxpY1BhdGgpKCkoKTtcblx0XHRyZXR1cm4gYCR7cHVibGljUGF0aH0ke3NvdXJjZVVybH1gO1xuXHR9IGVsc2UgaWYgKFwicHVibGljUGF0aFwiIGluIG1vZHVsZSkge1xuXHRcdGlmICghcmVxdWlyZV9lbnYuaXNCcm93c2VyRW52KCkgJiYgIXJlcXVpcmVfZW52LmlzUmVhY3ROYXRpdmVFbnYoKSAmJiBcInNzclB1YmxpY1BhdGhcIiBpbiBtb2R1bGUgJiYgdHlwZW9mIG1vZHVsZS5zc3JQdWJsaWNQYXRoID09PSBcInN0cmluZ1wiKSByZXR1cm4gYCR7bW9kdWxlLnNzclB1YmxpY1BhdGh9JHtzb3VyY2VVcmx9YDtcblx0XHRyZXR1cm4gYCR7bW9kdWxlLnB1YmxpY1BhdGh9JHtzb3VyY2VVcmx9YDtcblx0fSBlbHNlIHtcblx0XHRjb25zb2xlLndhcm4oXCJDYW5ub3QgZ2V0IHJlc291cmNlIFVSTC4gSWYgaW4gZGVidWcgbW9kZSwgcGxlYXNlIGlnbm9yZS5cIiwgbW9kdWxlLCBzb3VyY2VVcmwpO1xuXHRcdHJldHVybiBcIlwiO1xuXHR9XG59XG5jb25zdCBhc3NlcnQgPSAoY29uZGl0aW9uLCBtc2cpID0+IHtcblx0aWYgKCFjb25kaXRpb24pIGVycm9yKG1zZyk7XG59O1xuY29uc3QgZXJyb3IgPSAobXNnKSA9PiB7XG5cdHRocm93IG5ldyBFcnJvcihgJHtMT0dfQ0FURUdPUll9OiAke21zZ31gKTtcbn07XG5jb25zdCB3YXJuID0gKG1zZykgPT4ge1xuXHRjb25zb2xlLndhcm4oYCR7TE9HX0NBVEVHT1JZfTogJHttc2d9YCk7XG59O1xuZnVuY3Rpb24gc2FmZVRvU3RyaW5nKGluZm8pIHtcblx0dHJ5IHtcblx0XHRyZXR1cm4gSlNPTi5zdHJpbmdpZnkoaW5mbywgbnVsbCwgMik7XG5cdH0gY2F0Y2ggKGUpIHtcblx0XHRyZXR1cm4gXCJcIjtcblx0fVxufVxuY29uc3QgVkVSU0lPTl9QQVRURVJOX1JFR0VYUCA9IC9eKFtcXGRePXY8Pn5dfFsqeFhdJCkvO1xuZnVuY3Rpb24gaXNSZXF1aXJlZFZlcnNpb24oc3RyKSB7XG5cdHJldHVybiBWRVJTSU9OX1BBVFRFUk5fUkVHRVhQLnRlc3Qoc3RyKTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmFzc2VydCA9IGFzc2VydDtcbmV4cG9ydHMuY29tcG9zZUtleVdpdGhTZXBhcmF0b3IgPSBjb21wb3NlS2V5V2l0aFNlcGFyYXRvcjtcbmV4cG9ydHMuZGVjb2RlTmFtZSA9IGRlY29kZU5hbWU7XG5leHBvcnRzLmVuY29kZU5hbWUgPSBlbmNvZGVOYW1lO1xuZXhwb3J0cy5lcnJvciA9IGVycm9yO1xuZXhwb3J0cy5nZW5lcmF0ZUV4cG9zZUZpbGVuYW1lID0gZ2VuZXJhdGVFeHBvc2VGaWxlbmFtZTtcbmV4cG9ydHMuZ2VuZXJhdGVTaGFyZUZpbGVuYW1lID0gZ2VuZXJhdGVTaGFyZUZpbGVuYW1lO1xuZXhwb3J0cy5nZXRSZXNvdXJjZVVybCA9IGdldFJlc291cmNlVXJsO1xuZXhwb3J0cy5pc1JlcXVpcmVkVmVyc2lvbiA9IGlzUmVxdWlyZWRWZXJzaW9uO1xuZXhwb3J0cy5wYXJzZUVudHJ5ID0gcGFyc2VFbnRyeTtcbmV4cG9ydHMuc2FmZVRvU3RyaW5nID0gc2FmZVRvU3RyaW5nO1xuZXhwb3J0cy53YXJuID0gd2Fybjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseUJBQXlCLG1CQUFPLENBQUMsZ0VBQWdCO0FBQ2pELG9CQUFvQixtQkFBTyxDQUFDLDJEQUFXOztBQUV2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHLG1DQUFtQyxJQUFJO0FBQzFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksSUFBSSxFQUFFLDJCQUEyQixFQUFFLElBQUk7QUFDbkQsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxPQUFPLEVBQUUsMkJBQTJCLHdDQUF3QywyR0FBMkcsNENBQTRDLCtHQUErRywyQ0FBMkMsd0ZBQXdGLEVBQUUsSUFBSTtBQUN2ZSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrREFBa0QsMkVBQTJFLHFKQUFxSiw4RUFBOEUsd0pBQXdKLCtFQUErRTtBQUN2a0I7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVksV0FBVyxFQUFFLFVBQVU7QUFDbkMsR0FBRztBQUNILHlKQUF5SixxQkFBcUIsRUFBRSxVQUFVO0FBQzFMLFlBQVksa0JBQWtCLEVBQUUsVUFBVTtBQUMxQyxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixhQUFhLElBQUksSUFBSTtBQUN6QztBQUNBO0FBQ0EsaUJBQWlCLGFBQWEsSUFBSSxJQUFJO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsY0FBYztBQUNkLCtCQUErQjtBQUMvQixrQkFBa0I7QUFDbEIsa0JBQWtCO0FBQ2xCLGFBQWE7QUFDYiw4QkFBOEI7QUFDOUIsNkJBQTZCO0FBQzdCLHNCQUFzQjtBQUN0Qix5QkFBeUI7QUFDekIsa0JBQWtCO0FBQ2xCLG9CQUFvQjtBQUNwQixZQUFZO0FBQ1oifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/utils.cjs\n\n}");
|
|
280
|
+
|
|
281
|
+
},
|
|
282
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/_virtual/_rolldown/runtime.cjs"(__unused_rspack_module, exports) {
|
|
283
|
+
eval("{//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n\nexports.__toESM = __toESM;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzPzI3ZjAiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIFxcMHJvbGxkb3duL3J1bnRpbWUuanNcbnZhciBfX2NyZWF0ZSA9IE9iamVjdC5jcmVhdGU7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19nZXRQcm90b09mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuXHRpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0Zm9yICh2YXIga2V5cyA9IF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pLCBpID0gMCwgbiA9IGtleXMubGVuZ3RoLCBrZXk7IGkgPCBuOyBpKyspIHtcblx0XHRcdGtleSA9IGtleXNbaV07XG5cdFx0XHRpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KSB7XG5cdFx0XHRcdF9fZGVmUHJvcCh0bywga2V5LCB7XG5cdFx0XHRcdFx0Z2V0OiAoKGspID0+IGZyb21ba10pLmJpbmQobnVsbCwga2V5KSxcblx0XHRcdFx0XHRlbnVtZXJhYmxlOiAhKGRlc2MgPSBfX2dldE93blByb3BEZXNjKGZyb20sIGtleSkpIHx8IGRlc2MuZW51bWVyYWJsZVxuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0cmV0dXJuIHRvO1xufTtcbnZhciBfX3RvRVNNID0gKG1vZCwgaXNOb2RlTW9kZSwgdGFyZ2V0KSA9PiAodGFyZ2V0ID0gbW9kICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kKSkgOiB7fSwgX19jb3B5UHJvcHMoaXNOb2RlTW9kZSB8fCAhbW9kIHx8ICFtb2QuX19lc01vZHVsZSA/IF9fZGVmUHJvcCh0YXJnZXQsIFwiZGVmYXVsdFwiLCB7XG5cdHZhbHVlOiBtb2QsXG5cdGVudW1lcmFibGU6IHRydWVcbn0pIDogdGFyZ2V0LCBtb2QpKTtcblxuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydHMuX190b0VTTSA9IF9fdG9FU007Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHdFQUF3RSxPQUFPO0FBQy9FO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1HQUFtRztBQUNuRztBQUNBO0FBQ0EsQ0FBQzs7QUFFRDs7QUFFQSxlQUFlIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/_virtual/_rolldown/runtime.cjs\n\n}");
|
|
284
|
+
|
|
285
|
+
},
|
|
286
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs"(__unused_rspack_module, exports) {
|
|
287
|
+
eval("{\n//#region src/attachShareScopeMap.ts\nfunction attachShareScopeMap(webpackRequire) {\n\tif (!webpackRequire.S || webpackRequire.federation.hasAttachShareScopeMap || !webpackRequire.federation.instance || !webpackRequire.federation.instance.shareScopeMap) return;\n\twebpackRequire.S = webpackRequire.federation.instance.shareScopeMap;\n\twebpackRequire.federation.hasAttachShareScopeMap = true;\n}\n\n//#endregion\nexports.attachShareScopeMap = attachShareScopeMap;\n//# sourceMappingURL=attachShareScopeMap.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvYXR0YWNoU2hhcmVTY29wZU1hcC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vd2VicGFjay1idW5kbGVyLXJ1bnRpbWUvZGlzdC9hdHRhY2hTaGFyZVNjb3BlTWFwLmNqcz9hMGE1Il0sInNvdXJjZXNDb250ZW50IjpbIlxuLy8jcmVnaW9uIHNyYy9hdHRhY2hTaGFyZVNjb3BlTWFwLnRzXG5mdW5jdGlvbiBhdHRhY2hTaGFyZVNjb3BlTWFwKHdlYnBhY2tSZXF1aXJlKSB7XG5cdGlmICghd2VicGFja1JlcXVpcmUuUyB8fCB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmhhc0F0dGFjaFNoYXJlU2NvcGVNYXAgfHwgIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2UgfHwgIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2Uuc2hhcmVTY29wZU1hcCkgcmV0dXJuO1xuXHR3ZWJwYWNrUmVxdWlyZS5TID0gd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZS5zaGFyZVNjb3BlTWFwO1xuXHR3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmhhc0F0dGFjaFNoYXJlU2NvcGVNYXAgPSB0cnVlO1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuYXR0YWNoU2hhcmVTY29wZU1hcCA9IGF0dGFjaFNoYXJlU2NvcGVNYXA7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1hdHRhY2hTaGFyZVNjb3BlTWFwLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjtBQUMzQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs\n\n}");
|
|
288
|
+
|
|
289
|
+
},
|
|
290
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs"(__unused_rspack_module, exports) {
|
|
291
|
+
eval("{Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\n//#region src/constant.ts\nconst FEDERATION_SUPPORTED_TYPES = [\"script\"];\n\n//#endregion\nexports.FEDERATION_SUPPORTED_TYPES = FEDERATION_SUPPORTED_TYPES;\n//# sourceMappingURL=constant.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvY29uc3RhbnQuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvY29uc3RhbnQuY2pzPzk2MDEiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG5cbi8vI3JlZ2lvbiBzcmMvY29uc3RhbnQudHNcbmNvbnN0IEZFREVSQVRJT05fU1VQUE9SVEVEX1RZUEVTID0gW1wic2NyaXB0XCJdO1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuRkVERVJBVElPTl9TVVBQT1JURURfVFlQRVMgPSBGRURFUkFUSU9OX1NVUFBPUlRFRF9UWVBFUztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0JBQXNCLE9BQU8sd0JBQXdCLGlCQUFpQjs7QUFFdEU7QUFDQTs7QUFFQTtBQUNBLGtDQUFrQztBQUNsQyJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs\n\n}");
|
|
292
|
+
|
|
293
|
+
},
|
|
294
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/consumes.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
295
|
+
eval("{const require_attachShareScopeMap = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs\");\nconst require_updateOptions = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/updateOptions.cjs\");\nconst require_getUsedExports = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getUsedExports.cjs\");\nconst require_error_codes = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/error-codes.cjs\");\nconst require_getShortErrorMsg = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/getShortErrorMsg.cjs\");\n\n//#region src/consumes.ts\nfunction consumes(options) {\n\trequire_updateOptions.updateConsumeOptions(options);\n\tconst { chunkId, promises, installedModules, webpackRequire, chunkMapping, moduleToHandlerMapping } = options;\n\trequire_attachShareScopeMap.attachShareScopeMap(webpackRequire);\n\tif (webpackRequire.o(chunkMapping, chunkId)) chunkMapping[chunkId].forEach((id) => {\n\t\tif (webpackRequire.o(installedModules, id)) return promises.push(installedModules[id]);\n\t\tconst onFactory = (factory) => {\n\t\t\tinstalledModules[id] = 0;\n\t\t\twebpackRequire.m[id] = (module) => {\n\t\t\t\tdelete webpackRequire.c[id];\n\t\t\t\tconst result = factory();\n\t\t\t\tconst { shareInfo } = moduleToHandlerMapping[id];\n\t\t\t\tif (shareInfo?.shareConfig?.layer && result && typeof result === \"object\") try {\n\t\t\t\t\tif (!result.hasOwnProperty(\"layer\") || result.layer === void 0) result.layer = shareInfo.shareConfig.layer;\n\t\t\t\t} catch (e) {}\n\t\t\t\tmodule.exports = result;\n\t\t\t};\n\t\t};\n\t\tconst onError = (error) => {\n\t\t\tdelete installedModules[id];\n\t\t\twebpackRequire.m[id] = (module) => {\n\t\t\t\tdelete webpackRequire.c[id];\n\t\t\t\tthrow error;\n\t\t\t};\n\t\t};\n\t\ttry {\n\t\t\tconst federationInstance = webpackRequire.federation.instance;\n\t\t\tif (!federationInstance) throw new Error(\"Federation instance not found!\");\n\t\t\tconst { shareKey, getter, shareInfo, treeShakingGetter } = moduleToHandlerMapping[id];\n\t\t\tconst usedExports = require_getUsedExports.getUsedExports(webpackRequire, shareKey);\n\t\t\tconst customShareInfo = { ...shareInfo };\n\t\t\tif (Array.isArray(customShareInfo.scope) && Array.isArray(customShareInfo.scope[0])) customShareInfo.scope = customShareInfo.scope[0];\n\t\t\tif (usedExports) customShareInfo.treeShaking = {\n\t\t\t\tusedExports,\n\t\t\t\tuseIn: [federationInstance.options.name]\n\t\t\t};\n\t\t\tconst promise = federationInstance.loadShare(shareKey, { customShareInfo }).then((factory) => {\n\t\t\t\tif (factory === false) {\n\t\t\t\t\tif (typeof getter !== \"function\") throw new Error(require_getShortErrorMsg.getShortErrorMsg(require_error_codes.RUNTIME_012, { [require_error_codes.RUNTIME_012]: \"The getter for the shared module is not a function. This may be caused by setting \\\"shared.import: false\\\" without the host providing the corresponding lib.\" }, { shareKey }));\n\t\t\t\t\treturn treeShakingGetter?.() || getter();\n\t\t\t\t}\n\t\t\t\treturn factory;\n\t\t\t});\n\t\t\tif (promise.then) promises.push(installedModules[id] = promise.then(onFactory).catch(onError));\n\t\t\telse onFactory(promise);\n\t\t} catch (e) {\n\t\t\tonError(e);\n\t\t}\n\t});\n}\n\n//#endregion\nexports.consumes = consumes;\n//# sourceMappingURL=consumes.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvY29uc3VtZXMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvY29uc3VtZXMuY2pzP2ExODYiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9hdHRhY2hTaGFyZVNjb3BlTWFwID0gcmVxdWlyZSgnLi9hdHRhY2hTaGFyZVNjb3BlTWFwLmNqcycpO1xuY29uc3QgcmVxdWlyZV91cGRhdGVPcHRpb25zID0gcmVxdWlyZSgnLi91cGRhdGVPcHRpb25zLmNqcycpO1xuY29uc3QgcmVxdWlyZV9nZXRVc2VkRXhwb3J0cyA9IHJlcXVpcmUoJy4vZ2V0VXNlZEV4cG9ydHMuY2pzJyk7XG5jb25zdCByZXF1aXJlX2Vycm9yX2NvZGVzID0gcmVxdWlyZSgnLi9lcnJvci1jb2Rlcy9kaXN0L2Vycm9yLWNvZGVzLmNqcycpO1xuY29uc3QgcmVxdWlyZV9nZXRTaG9ydEVycm9yTXNnID0gcmVxdWlyZSgnLi9lcnJvci1jb2Rlcy9kaXN0L2dldFNob3J0RXJyb3JNc2cuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvY29uc3VtZXMudHNcbmZ1bmN0aW9uIGNvbnN1bWVzKG9wdGlvbnMpIHtcblx0cmVxdWlyZV91cGRhdGVPcHRpb25zLnVwZGF0ZUNvbnN1bWVPcHRpb25zKG9wdGlvbnMpO1xuXHRjb25zdCB7IGNodW5rSWQsIHByb21pc2VzLCBpbnN0YWxsZWRNb2R1bGVzLCB3ZWJwYWNrUmVxdWlyZSwgY2h1bmtNYXBwaW5nLCBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nIH0gPSBvcHRpb25zO1xuXHRyZXF1aXJlX2F0dGFjaFNoYXJlU2NvcGVNYXAuYXR0YWNoU2hhcmVTY29wZU1hcCh3ZWJwYWNrUmVxdWlyZSk7XG5cdGlmICh3ZWJwYWNrUmVxdWlyZS5vKGNodW5rTWFwcGluZywgY2h1bmtJZCkpIGNodW5rTWFwcGluZ1tjaHVua0lkXS5mb3JFYWNoKChpZCkgPT4ge1xuXHRcdGlmICh3ZWJwYWNrUmVxdWlyZS5vKGluc3RhbGxlZE1vZHVsZXMsIGlkKSkgcmV0dXJuIHByb21pc2VzLnB1c2goaW5zdGFsbGVkTW9kdWxlc1tpZF0pO1xuXHRcdGNvbnN0IG9uRmFjdG9yeSA9IChmYWN0b3J5KSA9PiB7XG5cdFx0XHRpbnN0YWxsZWRNb2R1bGVzW2lkXSA9IDA7XG5cdFx0XHR3ZWJwYWNrUmVxdWlyZS5tW2lkXSA9IChtb2R1bGUpID0+IHtcblx0XHRcdFx0ZGVsZXRlIHdlYnBhY2tSZXF1aXJlLmNbaWRdO1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBmYWN0b3J5KCk7XG5cdFx0XHRcdGNvbnN0IHsgc2hhcmVJbmZvIH0gPSBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nW2lkXTtcblx0XHRcdFx0aWYgKHNoYXJlSW5mbz8uc2hhcmVDb25maWc/LmxheWVyICYmIHJlc3VsdCAmJiB0eXBlb2YgcmVzdWx0ID09PSBcIm9iamVjdFwiKSB0cnkge1xuXHRcdFx0XHRcdGlmICghcmVzdWx0Lmhhc093blByb3BlcnR5KFwibGF5ZXJcIikgfHwgcmVzdWx0LmxheWVyID09PSB2b2lkIDApIHJlc3VsdC5sYXllciA9IHNoYXJlSW5mby5zaGFyZUNvbmZpZy5sYXllcjtcblx0XHRcdFx0fSBjYXRjaCAoZSkge31cblx0XHRcdFx0bW9kdWxlLmV4cG9ydHMgPSByZXN1bHQ7XG5cdFx0XHR9O1xuXHRcdH07XG5cdFx0Y29uc3Qgb25FcnJvciA9IChlcnJvcikgPT4ge1xuXHRcdFx0ZGVsZXRlIGluc3RhbGxlZE1vZHVsZXNbaWRdO1xuXHRcdFx0d2VicGFja1JlcXVpcmUubVtpZF0gPSAobW9kdWxlKSA9PiB7XG5cdFx0XHRcdGRlbGV0ZSB3ZWJwYWNrUmVxdWlyZS5jW2lkXTtcblx0XHRcdFx0dGhyb3cgZXJyb3I7XG5cdFx0XHR9O1xuXHRcdH07XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IGZlZGVyYXRpb25JbnN0YW5jZSA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2U7XG5cdFx0XHRpZiAoIWZlZGVyYXRpb25JbnN0YW5jZSkgdGhyb3cgbmV3IEVycm9yKFwiRmVkZXJhdGlvbiBpbnN0YW5jZSBub3QgZm91bmQhXCIpO1xuXHRcdFx0Y29uc3QgeyBzaGFyZUtleSwgZ2V0dGVyLCBzaGFyZUluZm8sIHRyZWVTaGFraW5nR2V0dGVyIH0gPSBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nW2lkXTtcblx0XHRcdGNvbnN0IHVzZWRFeHBvcnRzID0gcmVxdWlyZV9nZXRVc2VkRXhwb3J0cy5nZXRVc2VkRXhwb3J0cyh3ZWJwYWNrUmVxdWlyZSwgc2hhcmVLZXkpO1xuXHRcdFx0Y29uc3QgY3VzdG9tU2hhcmVJbmZvID0geyAuLi5zaGFyZUluZm8gfTtcblx0XHRcdGlmIChBcnJheS5pc0FycmF5KGN1c3RvbVNoYXJlSW5mby5zY29wZSkgJiYgQXJyYXkuaXNBcnJheShjdXN0b21TaGFyZUluZm8uc2NvcGVbMF0pKSBjdXN0b21TaGFyZUluZm8uc2NvcGUgPSBjdXN0b21TaGFyZUluZm8uc2NvcGVbMF07XG5cdFx0XHRpZiAodXNlZEV4cG9ydHMpIGN1c3RvbVNoYXJlSW5mby50cmVlU2hha2luZyA9IHtcblx0XHRcdFx0dXNlZEV4cG9ydHMsXG5cdFx0XHRcdHVzZUluOiBbZmVkZXJhdGlvbkluc3RhbmNlLm9wdGlvbnMubmFtZV1cblx0XHRcdH07XG5cdFx0XHRjb25zdCBwcm9taXNlID0gZmVkZXJhdGlvbkluc3RhbmNlLmxvYWRTaGFyZShzaGFyZUtleSwgeyBjdXN0b21TaGFyZUluZm8gfSkudGhlbigoZmFjdG9yeSkgPT4ge1xuXHRcdFx0XHRpZiAoZmFjdG9yeSA9PT0gZmFsc2UpIHtcblx0XHRcdFx0XHRpZiAodHlwZW9mIGdldHRlciAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgRXJyb3IocmVxdWlyZV9nZXRTaG9ydEVycm9yTXNnLmdldFNob3J0RXJyb3JNc2cocmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMiwgeyBbcmVxdWlyZV9lcnJvcl9jb2Rlcy5SVU5USU1FXzAxMl06IFwiVGhlIGdldHRlciBmb3IgdGhlIHNoYXJlZCBtb2R1bGUgaXMgbm90IGEgZnVuY3Rpb24uIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBzZXR0aW5nIFxcXCJzaGFyZWQuaW1wb3J0OiBmYWxzZVxcXCIgd2l0aG91dCB0aGUgaG9zdCBwcm92aWRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgbGliLlwiIH0sIHsgc2hhcmVLZXkgfSkpO1xuXHRcdFx0XHRcdHJldHVybiB0cmVlU2hha2luZ0dldHRlcj8uKCkgfHwgZ2V0dGVyKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIGZhY3Rvcnk7XG5cdFx0XHR9KTtcblx0XHRcdGlmIChwcm9taXNlLnRoZW4pIHByb21pc2VzLnB1c2goaW5zdGFsbGVkTW9kdWxlc1tpZF0gPSBwcm9taXNlLnRoZW4ob25GYWN0b3J5KS5jYXRjaChvbkVycm9yKSk7XG5cdFx0XHRlbHNlIG9uRmFjdG9yeShwcm9taXNlKTtcblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRvbkVycm9yKGUpO1xuXHRcdH1cblx0fSk7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5jb25zdW1lcyA9IGNvbnN1bWVzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29uc3VtZXMuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvQ0FBb0MsbUJBQU8sQ0FBQywrRkFBMkI7QUFDdkUsOEJBQThCLG1CQUFPLENBQUMseUZBQXFCO0FBQzNELCtCQUErQixtQkFBTyxDQUFDLDBGQUFzQjtBQUM3RCw0QkFBNEIsbUJBQU8sQ0FBQyx3R0FBb0M7QUFDeEUsaUNBQWlDLG1CQUFPLENBQUMsNkdBQXlDOztBQUVsRjtBQUNBO0FBQ0E7QUFDQSxTQUFTLDRGQUE0RjtBQUNyRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxZQUFZO0FBQ3hCO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXLGlEQUFpRDtBQUM1RDtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNERBQTRELGlCQUFpQjtBQUM3RTtBQUNBLG9JQUFvSSxtTUFBbU0sSUFBSSxVQUFVO0FBQ3JWO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQSxnQkFBZ0I7QUFDaEIifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/consumes.cjs\n\n}");
|
|
296
|
+
|
|
297
|
+
},
|
|
298
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/error-codes.cjs"(__unused_rspack_module, exports) {
|
|
299
|
+
eval("{\n//#region ../error-codes/dist/error-codes.mjs\nconst RUNTIME_012 = \"RUNTIME-012\";\n\n//#endregion\nexports.RUNTIME_012 = RUNTIME_012;\n//# sourceMappingURL=error-codes.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvZXJyb3ItY29kZXMvZGlzdC9lcnJvci1jb2Rlcy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vd2VicGFjay1idW5kbGVyLXJ1bnRpbWUvZGlzdC9lcnJvci1jb2Rlcy9kaXN0L2Vycm9yLWNvZGVzLmNqcz82MTI4Il0sInNvdXJjZXNDb250ZW50IjpbIlxuLy8jcmVnaW9uIC4uL2Vycm9yLWNvZGVzL2Rpc3QvZXJyb3ItY29kZXMubWpzXG5jb25zdCBSVU5USU1FXzAxMiA9IFwiUlVOVElNRS0wMTJcIjtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLlJVTlRJTUVfMDEyID0gUlVOVElNRV8wMTI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1lcnJvci1jb2Rlcy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBOztBQUVBO0FBQ0EsbUJBQW1CO0FBQ25CIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/error-codes.cjs\n\n}");
|
|
300
|
+
|
|
301
|
+
},
|
|
302
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/getShortErrorMsg.cjs"(__unused_rspack_module, exports) {
|
|
303
|
+
eval("{\n//#region ../error-codes/dist/getShortErrorMsg.mjs\nconst getDocsUrl = (errorCode) => {\n\treturn `View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${errorCode.split(\"-\")[0].toLowerCase()}#${errorCode.toLowerCase()}`;\n};\nconst getShortErrorMsg = (errorCode, errorDescMap, args, originalErrorMsg) => {\n\tconst msg = [`${[errorDescMap[errorCode]]} #${errorCode}`];\n\targs && msg.push(`args: ${JSON.stringify(args)}`);\n\tmsg.push(getDocsUrl(errorCode));\n\toriginalErrorMsg && msg.push(`Original Error Message:\\n ${originalErrorMsg}`);\n\treturn msg.join(\"\\n\");\n};\n\n//#endregion\nexports.getShortErrorMsg = getShortErrorMsg;\n//# sourceMappingURL=getShortErrorMsg.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvZXJyb3ItY29kZXMvZGlzdC9nZXRTaG9ydEVycm9yTXNnLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9kaXN0L2Vycm9yLWNvZGVzL2Rpc3QvZ2V0U2hvcnRFcnJvck1zZy5janM/M2U1MSJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiAuLi9lcnJvci1jb2Rlcy9kaXN0L2dldFNob3J0RXJyb3JNc2cubWpzXG5jb25zdCBnZXREb2NzVXJsID0gKGVycm9yQ29kZSkgPT4ge1xuXHRyZXR1cm4gYFZpZXcgdGhlIGRvY3MgdG8gc2VlIGhvdyB0byBzb2x2ZTogaHR0cHM6Ly9tb2R1bGUtZmVkZXJhdGlvbi5pby9ndWlkZS90cm91Ymxlc2hvb3RpbmcvJHtlcnJvckNvZGUuc3BsaXQoXCItXCIpWzBdLnRvTG93ZXJDYXNlKCl9IyR7ZXJyb3JDb2RlLnRvTG93ZXJDYXNlKCl9YDtcbn07XG5jb25zdCBnZXRTaG9ydEVycm9yTXNnID0gKGVycm9yQ29kZSwgZXJyb3JEZXNjTWFwLCBhcmdzLCBvcmlnaW5hbEVycm9yTXNnKSA9PiB7XG5cdGNvbnN0IG1zZyA9IFtgJHtbZXJyb3JEZXNjTWFwW2Vycm9yQ29kZV1dfSAjJHtlcnJvckNvZGV9YF07XG5cdGFyZ3MgJiYgbXNnLnB1c2goYGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG5cdG1zZy5wdXNoKGdldERvY3NVcmwoZXJyb3JDb2RlKSk7XG5cdG9yaWdpbmFsRXJyb3JNc2cgJiYgbXNnLnB1c2goYE9yaWdpbmFsIEVycm9yIE1lc3NhZ2U6XFxuICR7b3JpZ2luYWxFcnJvck1zZ31gKTtcblx0cmV0dXJuIG1zZy5qb2luKFwiXFxuXCIpO1xufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmdldFNob3J0RXJyb3JNc2cgPSBnZXRTaG9ydEVycm9yTXNnO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0U2hvcnRFcnJvck1zZy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtBQUNBO0FBQ0EsaUdBQWlHLHNDQUFzQyxHQUFHLHdCQUF3QjtBQUNsSztBQUNBO0FBQ0EsaUJBQWlCLDJCQUEyQixHQUFHLFVBQVU7QUFDekQsMkJBQTJCLHFCQUFxQjtBQUNoRDtBQUNBLDJEQUEyRCxpQkFBaUI7QUFDNUU7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QjtBQUN4QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/error-codes/dist/getShortErrorMsg.cjs\n\n}");
|
|
304
|
+
|
|
305
|
+
},
|
|
306
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getSharedFallbackGetter.cjs"(__unused_rspack_module, exports) {
|
|
307
|
+
eval("{\n//#region src/getSharedFallbackGetter.ts\nconst getSharedFallbackGetter = ({ shareKey, factory, version, webpackRequire, libraryType = \"global\" }) => {\n\tconst { runtime, instance, bundlerRuntime, sharedFallback } = webpackRequire.federation;\n\tif (!sharedFallback) return factory;\n\tconst fallbackItems = sharedFallback[shareKey];\n\tif (!fallbackItems) return factory;\n\tconst fallbackItem = version ? fallbackItems.find((item) => item[1] === version) : fallbackItems[0];\n\tif (!fallbackItem) throw new Error(`No fallback item found for shareKey: ${shareKey} and version: ${version}`);\n\treturn () => runtime.getRemoteEntry({\n\t\torigin: webpackRequire.federation.instance,\n\t\tremoteInfo: {\n\t\t\tname: fallbackItem[2],\n\t\t\tentry: `${webpackRequire.p}${fallbackItem[0]}`,\n\t\t\ttype: libraryType,\n\t\t\tentryGlobalName: fallbackItem[2],\n\t\t\tshareScope: \"default\"\n\t\t}\n\t}).then((shareEntry) => {\n\t\tif (!shareEntry) throw new Error(`Failed to load fallback entry for shareKey: ${shareKey} and version: ${version}`);\n\t\treturn shareEntry.init(webpackRequire.federation.instance, bundlerRuntime).then(() => shareEntry.get());\n\t});\n};\n\n//#endregion\nexports.getSharedFallbackGetter = getSharedFallbackGetter;\n//# sourceMappingURL=getSharedFallbackGetter.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvZ2V0U2hhcmVkRmFsbGJhY2tHZXR0ZXIuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvZ2V0U2hhcmVkRmFsbGJhY2tHZXR0ZXIuY2pzP2M1YTYiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL2dldFNoYXJlZEZhbGxiYWNrR2V0dGVyLnRzXG5jb25zdCBnZXRTaGFyZWRGYWxsYmFja0dldHRlciA9ICh7IHNoYXJlS2V5LCBmYWN0b3J5LCB2ZXJzaW9uLCB3ZWJwYWNrUmVxdWlyZSwgbGlicmFyeVR5cGUgPSBcImdsb2JhbFwiIH0pID0+IHtcblx0Y29uc3QgeyBydW50aW1lLCBpbnN0YW5jZSwgYnVuZGxlclJ1bnRpbWUsIHNoYXJlZEZhbGxiYWNrIH0gPSB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uO1xuXHRpZiAoIXNoYXJlZEZhbGxiYWNrKSByZXR1cm4gZmFjdG9yeTtcblx0Y29uc3QgZmFsbGJhY2tJdGVtcyA9IHNoYXJlZEZhbGxiYWNrW3NoYXJlS2V5XTtcblx0aWYgKCFmYWxsYmFja0l0ZW1zKSByZXR1cm4gZmFjdG9yeTtcblx0Y29uc3QgZmFsbGJhY2tJdGVtID0gdmVyc2lvbiA/IGZhbGxiYWNrSXRlbXMuZmluZCgoaXRlbSkgPT4gaXRlbVsxXSA9PT0gdmVyc2lvbikgOiBmYWxsYmFja0l0ZW1zWzBdO1xuXHRpZiAoIWZhbGxiYWNrSXRlbSkgdGhyb3cgbmV3IEVycm9yKGBObyBmYWxsYmFjayBpdGVtIGZvdW5kIGZvciBzaGFyZUtleTogJHtzaGFyZUtleX0gYW5kIHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblx0cmV0dXJuICgpID0+IHJ1bnRpbWUuZ2V0UmVtb3RlRW50cnkoe1xuXHRcdG9yaWdpbjogd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZSxcblx0XHRyZW1vdGVJbmZvOiB7XG5cdFx0XHRuYW1lOiBmYWxsYmFja0l0ZW1bMl0sXG5cdFx0XHRlbnRyeTogYCR7d2VicGFja1JlcXVpcmUucH0ke2ZhbGxiYWNrSXRlbVswXX1gLFxuXHRcdFx0dHlwZTogbGlicmFyeVR5cGUsXG5cdFx0XHRlbnRyeUdsb2JhbE5hbWU6IGZhbGxiYWNrSXRlbVsyXSxcblx0XHRcdHNoYXJlU2NvcGU6IFwiZGVmYXVsdFwiXG5cdFx0fVxuXHR9KS50aGVuKChzaGFyZUVudHJ5KSA9PiB7XG5cdFx0aWYgKCFzaGFyZUVudHJ5KSB0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBsb2FkIGZhbGxiYWNrIGVudHJ5IGZvciBzaGFyZUtleTogJHtzaGFyZUtleX0gYW5kIHZlcnNpb246ICR7dmVyc2lvbn1gKTtcblx0XHRyZXR1cm4gc2hhcmVFbnRyeS5pbml0KHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2UsIGJ1bmRsZXJSdW50aW1lKS50aGVuKCgpID0+IHNoYXJlRW50cnkuZ2V0KCkpO1xuXHR9KTtcbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5nZXRTaGFyZWRGYWxsYmFja0dldHRlciA9IGdldFNoYXJlZEZhbGxiYWNrR2V0dGVyO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0U2hhcmVkRmFsbGJhY2tHZXR0ZXIuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQSxtQ0FBbUMsb0VBQW9FO0FBQ3ZHLFNBQVMsb0RBQW9EO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEVBQTRFLFVBQVUsZUFBZSxRQUFRO0FBQzdHO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsYUFBYSxpQkFBaUIsRUFBRSxnQkFBZ0I7QUFDaEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Ysa0ZBQWtGLFVBQVUsZUFBZSxRQUFRO0FBQ25IO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0EsK0JBQStCO0FBQy9CIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getSharedFallbackGetter.cjs\n\n}");
|
|
308
|
+
|
|
309
|
+
},
|
|
310
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getUsedExports.cjs"(__unused_rspack_module, exports) {
|
|
311
|
+
eval("{\n//#region src/getUsedExports.ts\nfunction getUsedExports(webpackRequire, sharedName) {\n\tconst usedExports = webpackRequire.federation.usedExports;\n\tif (!usedExports) return;\n\treturn usedExports[sharedName];\n}\n\n//#endregion\nexports.getUsedExports = getUsedExports;\n//# sourceMappingURL=getUsedExports.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvZ2V0VXNlZEV4cG9ydHMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvZ2V0VXNlZEV4cG9ydHMuY2pzP2UzODUiXSwic291cmNlc0NvbnRlbnQiOlsiXG4vLyNyZWdpb24gc3JjL2dldFVzZWRFeHBvcnRzLnRzXG5mdW5jdGlvbiBnZXRVc2VkRXhwb3J0cyh3ZWJwYWNrUmVxdWlyZSwgc2hhcmVkTmFtZSkge1xuXHRjb25zdCB1c2VkRXhwb3J0cyA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24udXNlZEV4cG9ydHM7XG5cdGlmICghdXNlZEV4cG9ydHMpIHJldHVybjtcblx0cmV0dXJuIHVzZWRFeHBvcnRzW3NoYXJlZE5hbWVdO1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZ2V0VXNlZEV4cG9ydHMgPSBnZXRVc2VkRXhwb3J0cztcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldFVzZWRFeHBvcnRzLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHNCQUFzQjtBQUN0QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getUsedExports.cjs\n\n}");
|
|
312
|
+
|
|
313
|
+
},
|
|
314
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
315
|
+
eval("{Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });\nconst require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/_virtual/_rolldown/runtime.cjs\");\nconst require_attachShareScopeMap = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs\");\nconst require_remotes = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/remotes.cjs\");\nconst require_consumes = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/consumes.cjs\");\nconst require_initializeSharing = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/initializeSharing.cjs\");\nconst require_installInitialConsumes = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/installInitialConsumes.cjs\");\nconst require_initContainerEntry = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/initContainerEntry.cjs\");\nconst require_init = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/init.cjs\");\nconst require_getSharedFallbackGetter = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getSharedFallbackGetter.cjs\");\nlet _module_federation_runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/index.cjs\");\n_module_federation_runtime = require_runtime.__toESM(_module_federation_runtime);\n\n//#region src/index.ts\nconst USE_REMOTE = true ? !false : 0;\nconst USE_SHARED = true ? !false : 0;\nconst bundlerRuntime = {\n\tremotes: USE_REMOTE ? require_remotes.remotes : void 0,\n\tconsumes: USE_SHARED ? require_consumes.consumes : void 0,\n\tI: USE_SHARED ? require_initializeSharing.initializeSharing : void 0,\n\tS: {},\n\tinstallInitialConsumes: USE_SHARED ? require_installInitialConsumes.installInitialConsumes : void 0,\n\tinitContainerEntry: ( false) ? 0 : void 0,\n\tinit: require_init.init,\n\tgetSharedFallbackGetter: USE_SHARED ? require_getSharedFallbackGetter.getSharedFallbackGetter : void 0\n};\nconst federation = {\n\truntime: _module_federation_runtime,\n\tinstance: void 0,\n\tinitOptions: void 0,\n\tbundlerRuntime,\n\tattachShareScopeMap: require_attachShareScopeMap.attachShareScopeMap,\n\tbundlerRuntimeOptions: {}\n};\nconst instance = federation.instance;\nconst initOptions = federation.initOptions;\nconst bundlerRuntimeOptions = federation.bundlerRuntimeOptions;\n\n//#endregion\nexports.attachShareScopeMap = require_attachShareScopeMap.attachShareScopeMap;\nexports.bundlerRuntime = bundlerRuntime;\nexports.bundlerRuntimeOptions = bundlerRuntimeOptions;\nexports[\"default\"] = federation;\nexports.initOptions = initOptions;\nexports.instance = instance;\nObject.defineProperty(exports, \"runtime\", ({\n enumerable: true,\n get: function () {\n return _module_federation_runtime;\n }\n}));\n//# sourceMappingURL=index.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5kZXguY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5kZXguY2pzPzgxMGUiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZXhwb3J0cywgeyBfX2VzTW9kdWxlOiB7IHZhbHVlOiB0cnVlIH0sIFtTeW1ib2wudG9TdHJpbmdUYWddOiB7IHZhbHVlOiAnTW9kdWxlJyB9IH0pO1xuY29uc3QgcmVxdWlyZV9ydW50aW1lID0gcmVxdWlyZSgnLi9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janMnKTtcbmNvbnN0IHJlcXVpcmVfYXR0YWNoU2hhcmVTY29wZU1hcCA9IHJlcXVpcmUoJy4vYXR0YWNoU2hhcmVTY29wZU1hcC5janMnKTtcbmNvbnN0IHJlcXVpcmVfcmVtb3RlcyA9IHJlcXVpcmUoJy4vcmVtb3Rlcy5janMnKTtcbmNvbnN0IHJlcXVpcmVfY29uc3VtZXMgPSByZXF1aXJlKCcuL2NvbnN1bWVzLmNqcycpO1xuY29uc3QgcmVxdWlyZV9pbml0aWFsaXplU2hhcmluZyA9IHJlcXVpcmUoJy4vaW5pdGlhbGl6ZVNoYXJpbmcuY2pzJyk7XG5jb25zdCByZXF1aXJlX2luc3RhbGxJbml0aWFsQ29uc3VtZXMgPSByZXF1aXJlKCcuL2luc3RhbGxJbml0aWFsQ29uc3VtZXMuY2pzJyk7XG5jb25zdCByZXF1aXJlX2luaXRDb250YWluZXJFbnRyeSA9IHJlcXVpcmUoJy4vaW5pdENvbnRhaW5lckVudHJ5LmNqcycpO1xuY29uc3QgcmVxdWlyZV9pbml0ID0gcmVxdWlyZSgnLi9pbml0LmNqcycpO1xuY29uc3QgcmVxdWlyZV9nZXRTaGFyZWRGYWxsYmFja0dldHRlciA9IHJlcXVpcmUoJy4vZ2V0U2hhcmVkRmFsbGJhY2tHZXR0ZXIuY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWUgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWVcIik7XG5fbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZSA9IHJlcXVpcmVfcnVudGltZS5fX3RvRVNNKF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lKTtcblxuLy8jcmVnaW9uIHNyYy9pbmRleC50c1xuY29uc3QgVVNFX1JFTU9URSA9IHR5cGVvZiBGRURFUkFUSU9OX09QVElNSVpFX05PX1JFTU9URSA9PT0gXCJib29sZWFuXCIgPyAhRkVERVJBVElPTl9PUFRJTUlaRV9OT19SRU1PVEUgOiB0cnVlO1xuY29uc3QgVVNFX1NIQVJFRCA9IHR5cGVvZiBGRURFUkFUSU9OX09QVElNSVpFX05PX1NIQVJFRCA9PT0gXCJib29sZWFuXCIgPyAhRkVERVJBVElPTl9PUFRJTUlaRV9OT19TSEFSRUQgOiB0cnVlO1xuY29uc3QgYnVuZGxlclJ1bnRpbWUgPSB7XG5cdHJlbW90ZXM6IFVTRV9SRU1PVEUgPyByZXF1aXJlX3JlbW90ZXMucmVtb3RlcyA6IHZvaWQgMCxcblx0Y29uc3VtZXM6IFVTRV9TSEFSRUQgPyByZXF1aXJlX2NvbnN1bWVzLmNvbnN1bWVzIDogdm9pZCAwLFxuXHRJOiBVU0VfU0hBUkVEID8gcmVxdWlyZV9pbml0aWFsaXplU2hhcmluZy5pbml0aWFsaXplU2hhcmluZyA6IHZvaWQgMCxcblx0Uzoge30sXG5cdGluc3RhbGxJbml0aWFsQ29uc3VtZXM6IFVTRV9TSEFSRUQgPyByZXF1aXJlX2luc3RhbGxJbml0aWFsQ29uc3VtZXMuaW5zdGFsbEluaXRpYWxDb25zdW1lcyA6IHZvaWQgMCxcblx0aW5pdENvbnRhaW5lckVudHJ5OiAodHlwZW9mIEZFREVSQVRJT05fSEFTX0VYUE9TRVMgPT09IFwiYm9vbGVhblwiID8gRkVERVJBVElPTl9IQVNfRVhQT1NFUyA6IHRydWUpID8gcmVxdWlyZV9pbml0Q29udGFpbmVyRW50cnkuaW5pdENvbnRhaW5lckVudHJ5IDogdm9pZCAwLFxuXHRpbml0OiByZXF1aXJlX2luaXQuaW5pdCxcblx0Z2V0U2hhcmVkRmFsbGJhY2tHZXR0ZXI6IFVTRV9TSEFSRUQgPyByZXF1aXJlX2dldFNoYXJlZEZhbGxiYWNrR2V0dGVyLmdldFNoYXJlZEZhbGxiYWNrR2V0dGVyIDogdm9pZCAwXG59O1xuY29uc3QgZmVkZXJhdGlvbiA9IHtcblx0cnVudGltZTogX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWUsXG5cdGluc3RhbmNlOiB2b2lkIDAsXG5cdGluaXRPcHRpb25zOiB2b2lkIDAsXG5cdGJ1bmRsZXJSdW50aW1lLFxuXHRhdHRhY2hTaGFyZVNjb3BlTWFwOiByZXF1aXJlX2F0dGFjaFNoYXJlU2NvcGVNYXAuYXR0YWNoU2hhcmVTY29wZU1hcCxcblx0YnVuZGxlclJ1bnRpbWVPcHRpb25zOiB7fVxufTtcbmNvbnN0IGluc3RhbmNlID0gZmVkZXJhdGlvbi5pbnN0YW5jZTtcbmNvbnN0IGluaXRPcHRpb25zID0gZmVkZXJhdGlvbi5pbml0T3B0aW9ucztcbmNvbnN0IGJ1bmRsZXJSdW50aW1lT3B0aW9ucyA9IGZlZGVyYXRpb24uYnVuZGxlclJ1bnRpbWVPcHRpb25zO1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuYXR0YWNoU2hhcmVTY29wZU1hcCA9IHJlcXVpcmVfYXR0YWNoU2hhcmVTY29wZU1hcC5hdHRhY2hTaGFyZVNjb3BlTWFwO1xuZXhwb3J0cy5idW5kbGVyUnVudGltZSA9IGJ1bmRsZXJSdW50aW1lO1xuZXhwb3J0cy5idW5kbGVyUnVudGltZU9wdGlvbnMgPSBidW5kbGVyUnVudGltZU9wdGlvbnM7XG5leHBvcnRzLmRlZmF1bHQgPSBmZWRlcmF0aW9uO1xuZXhwb3J0cy5pbml0T3B0aW9ucyA9IGluaXRPcHRpb25zO1xuZXhwb3J0cy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdydW50aW1lJywge1xuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWU7XG4gIH1cbn0pO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0IsT0FBTyxJQUFJLGNBQWMsYUFBYSwwQkFBMEIsbUJBQW1CO0FBQzNHLHdCQUF3QixtQkFBTyxDQUFDLHNHQUFrQztBQUNsRSxvQ0FBb0MsbUJBQU8sQ0FBQywrRkFBMkI7QUFDdkUsd0JBQXdCLG1CQUFPLENBQUMsbUZBQWU7QUFDL0MseUJBQXlCLG1CQUFPLENBQUMsb0ZBQWdCO0FBQ2pELGtDQUFrQyxtQkFBTyxDQUFDLDZGQUF5QjtBQUNuRSx1Q0FBdUMsbUJBQU8sQ0FBQyxrR0FBOEI7QUFDN0UsbUNBQW1DLG1CQUFPLENBQUMsOEZBQTBCO0FBQ3JFLHFCQUFxQixtQkFBTyxDQUFDLGdGQUFZO0FBQ3pDLHdDQUF3QyxtQkFBTyxDQUFDLG1HQUErQjtBQUMvRSxpQ0FBaUMsbUJBQU8sQ0FBQywrR0FBNEI7QUFDckU7O0FBRUE7QUFDQSxtQkFBbUIsS0FBa0QsSUFBSSxLQUE2QixHQUFHLENBQUk7QUFDN0csbUJBQW1CLEtBQWtELElBQUksS0FBNkIsR0FBRyxDQUFJO0FBQzdHO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0Esc0JBQXNCLE1BQTJFLElBQUksQ0FBNkM7QUFDbEo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJCQUEyQjtBQUMzQixzQkFBc0I7QUFDdEIsNkJBQTZCO0FBQzdCLGtCQUFlO0FBQ2YsbUJBQW1CO0FBQ25CLGdCQUFnQjtBQUNoQiwyQ0FBMEM7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDLEVBQUM7QUFDRiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs\n\n}");
|
|
316
|
+
|
|
317
|
+
},
|
|
318
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/init.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
319
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/_virtual/_rolldown/runtime.cjs\");\nlet _module_federation_runtime = __webpack_require__(\"../../../node_modules/@module-federation/runtime-tools/node_modules/@module-federation/runtime/dist/index.cjs\");\nlet _module_federation_runtime_helpers = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/helpers.cjs\");\n_module_federation_runtime_helpers = require_runtime.__toESM(_module_federation_runtime_helpers);\n\n//#region src/init.ts\nconst USE_SHARED = true ? !false : 0;\nfunction init({ webpackRequire }) {\n\tconst { initOptions, runtime, sharedFallback, bundlerRuntime, libraryType } = webpackRequire.federation;\n\tif (!initOptions) throw new Error(\"initOptions is required!\");\n\tif (USE_SHARED) {\n\t\tconst treeShakingSharePlugin = function() {\n\t\t\treturn {\n\t\t\t\tname: \"tree-shake-plugin\",\n\t\t\t\tbeforeInit(args) {\n\t\t\t\t\tconst { userOptions, origin, options: registeredOptions } = args;\n\t\t\t\t\tconst version = userOptions.version || registeredOptions.version;\n\t\t\t\t\tif (!sharedFallback) return args;\n\t\t\t\t\tconst currentShared = userOptions.shared || {};\n\t\t\t\t\tconst shared = [];\n\t\t\t\t\tObject.keys(currentShared).forEach((sharedName) => {\n\t\t\t\t\t\t(Array.isArray(currentShared[sharedName]) ? currentShared[sharedName] : [currentShared[sharedName]]).forEach((sharedArg) => {\n\t\t\t\t\t\t\tshared.push([sharedName, sharedArg]);\n\t\t\t\t\t\t\tif (\"get\" in sharedArg) {\n\t\t\t\t\t\t\t\tsharedArg.treeShaking ||= {};\n\t\t\t\t\t\t\t\tsharedArg.treeShaking.get = sharedArg.get;\n\t\t\t\t\t\t\t\tsharedArg.get = bundlerRuntime.getSharedFallbackGetter({\n\t\t\t\t\t\t\t\t\tshareKey: sharedName,\n\t\t\t\t\t\t\t\t\tfactory: sharedArg.get,\n\t\t\t\t\t\t\t\t\twebpackRequire,\n\t\t\t\t\t\t\t\t\tlibraryType,\n\t\t\t\t\t\t\t\t\tversion: sharedArg.version\n\t\t\t\t\t\t\t\t});\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\tconst hostGlobalSnapshot = _module_federation_runtime_helpers.default.global.getGlobalSnapshotInfoByModuleInfo({\n\t\t\t\t\t\tname: origin.name,\n\t\t\t\t\t\tversion\n\t\t\t\t\t});\n\t\t\t\t\tif (!hostGlobalSnapshot || !(\"shared\" in hostGlobalSnapshot)) return args;\n\t\t\t\t\tObject.keys(registeredOptions.shared || {}).forEach((pkgName) => {\n\t\t\t\t\t\tregisteredOptions.shared[pkgName].forEach((sharedArg) => {\n\t\t\t\t\t\t\tshared.push([pkgName, sharedArg]);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t\tconst patchShared = (pkgName, shared) => {\n\t\t\t\t\t\tconst shareSnapshot = hostGlobalSnapshot.shared.find((item) => item.sharedName === pkgName);\n\t\t\t\t\t\tif (!shareSnapshot) return;\n\t\t\t\t\t\tconst { treeShaking } = shared;\n\t\t\t\t\t\tif (!treeShaking) return;\n\t\t\t\t\t\tconst { secondarySharedTreeShakingName, secondarySharedTreeShakingEntry, treeShakingStatus } = shareSnapshot;\n\t\t\t\t\t\tif (treeShaking.status === treeShakingStatus) return;\n\t\t\t\t\t\ttreeShaking.status = treeShakingStatus;\n\t\t\t\t\t\tif (secondarySharedTreeShakingEntry && libraryType && secondarySharedTreeShakingName) treeShaking.get = async () => {\n\t\t\t\t\t\t\tconst shareEntry = await (0, _module_federation_runtime.getRemoteEntry)({\n\t\t\t\t\t\t\t\torigin,\n\t\t\t\t\t\t\t\tremoteInfo: {\n\t\t\t\t\t\t\t\t\tname: secondarySharedTreeShakingName,\n\t\t\t\t\t\t\t\t\tentry: secondarySharedTreeShakingEntry,\n\t\t\t\t\t\t\t\t\ttype: libraryType,\n\t\t\t\t\t\t\t\t\tentryGlobalName: secondarySharedTreeShakingName,\n\t\t\t\t\t\t\t\t\tshareScope: \"default\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tawait shareEntry.init(origin, __webpack_require__.federation.bundlerRuntime);\n\t\t\t\t\t\t\treturn shareEntry.get();\n\t\t\t\t\t\t};\n\t\t\t\t\t};\n\t\t\t\t\tshared.forEach(([pkgName, sharedArg]) => {\n\t\t\t\t\t\tpatchShared(pkgName, sharedArg);\n\t\t\t\t\t});\n\t\t\t\t\treturn args;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t\tinitOptions.plugins ||= [];\n\t\tinitOptions.plugins.push(treeShakingSharePlugin());\n\t}\n\treturn runtime.init(initOptions);\n}\n\n//#endregion\nexports.init = init;\n//# sourceMappingURL=init.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5pdC5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vd2VicGFjay1idW5kbGVyLXJ1bnRpbWUvZGlzdC9pbml0LmNqcz8yMTcxIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfcnVudGltZSA9IHJlcXVpcmUoJy4vX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzJyk7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWUgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWVcIik7XG5sZXQgX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfaGVscGVycyA9IHJlcXVpcmUoXCJAbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS9oZWxwZXJzXCIpO1xuX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfaGVscGVycyA9IHJlcXVpcmVfcnVudGltZS5fX3RvRVNNKF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2hlbHBlcnMpO1xuXG4vLyNyZWdpb24gc3JjL2luaXQudHNcbmNvbnN0IFVTRV9TSEFSRUQgPSB0eXBlb2YgRkVERVJBVElPTl9PUFRJTUlaRV9OT19TSEFSRUQgPT09IFwiYm9vbGVhblwiID8gIUZFREVSQVRJT05fT1BUSU1JWkVfTk9fU0hBUkVEIDogdHJ1ZTtcbmZ1bmN0aW9uIGluaXQoeyB3ZWJwYWNrUmVxdWlyZSB9KSB7XG5cdGNvbnN0IHsgaW5pdE9wdGlvbnMsIHJ1bnRpbWUsIHNoYXJlZEZhbGxiYWNrLCBidW5kbGVyUnVudGltZSwgbGlicmFyeVR5cGUgfSA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb247XG5cdGlmICghaW5pdE9wdGlvbnMpIHRocm93IG5ldyBFcnJvcihcImluaXRPcHRpb25zIGlzIHJlcXVpcmVkIVwiKTtcblx0aWYgKFVTRV9TSEFSRUQpIHtcblx0XHRjb25zdCB0cmVlU2hha2luZ1NoYXJlUGx1Z2luID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRuYW1lOiBcInRyZWUtc2hha2UtcGx1Z2luXCIsXG5cdFx0XHRcdGJlZm9yZUluaXQoYXJncykge1xuXHRcdFx0XHRcdGNvbnN0IHsgdXNlck9wdGlvbnMsIG9yaWdpbiwgb3B0aW9uczogcmVnaXN0ZXJlZE9wdGlvbnMgfSA9IGFyZ3M7XG5cdFx0XHRcdFx0Y29uc3QgdmVyc2lvbiA9IHVzZXJPcHRpb25zLnZlcnNpb24gfHwgcmVnaXN0ZXJlZE9wdGlvbnMudmVyc2lvbjtcblx0XHRcdFx0XHRpZiAoIXNoYXJlZEZhbGxiYWNrKSByZXR1cm4gYXJncztcblx0XHRcdFx0XHRjb25zdCBjdXJyZW50U2hhcmVkID0gdXNlck9wdGlvbnMuc2hhcmVkIHx8IHt9O1xuXHRcdFx0XHRcdGNvbnN0IHNoYXJlZCA9IFtdO1xuXHRcdFx0XHRcdE9iamVjdC5rZXlzKGN1cnJlbnRTaGFyZWQpLmZvckVhY2goKHNoYXJlZE5hbWUpID0+IHtcblx0XHRcdFx0XHRcdChBcnJheS5pc0FycmF5KGN1cnJlbnRTaGFyZWRbc2hhcmVkTmFtZV0pID8gY3VycmVudFNoYXJlZFtzaGFyZWROYW1lXSA6IFtjdXJyZW50U2hhcmVkW3NoYXJlZE5hbWVdXSkuZm9yRWFjaCgoc2hhcmVkQXJnKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHNoYXJlZC5wdXNoKFtzaGFyZWROYW1lLCBzaGFyZWRBcmddKTtcblx0XHRcdFx0XHRcdFx0aWYgKFwiZ2V0XCIgaW4gc2hhcmVkQXJnKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2hhcmVkQXJnLnRyZWVTaGFraW5nIHx8PSB7fTtcblx0XHRcdFx0XHRcdFx0XHRzaGFyZWRBcmcudHJlZVNoYWtpbmcuZ2V0ID0gc2hhcmVkQXJnLmdldDtcblx0XHRcdFx0XHRcdFx0XHRzaGFyZWRBcmcuZ2V0ID0gYnVuZGxlclJ1bnRpbWUuZ2V0U2hhcmVkRmFsbGJhY2tHZXR0ZXIoe1xuXHRcdFx0XHRcdFx0XHRcdFx0c2hhcmVLZXk6IHNoYXJlZE5hbWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRmYWN0b3J5OiBzaGFyZWRBcmcuZ2V0LFxuXHRcdFx0XHRcdFx0XHRcdFx0d2VicGFja1JlcXVpcmUsXG5cdFx0XHRcdFx0XHRcdFx0XHRsaWJyYXJ5VHlwZSxcblx0XHRcdFx0XHRcdFx0XHRcdHZlcnNpb246IHNoYXJlZEFyZy52ZXJzaW9uXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdGNvbnN0IGhvc3RHbG9iYWxTbmFwc2hvdCA9IF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2hlbHBlcnMuZGVmYXVsdC5nbG9iYWwuZ2V0R2xvYmFsU25hcHNob3RJbmZvQnlNb2R1bGVJbmZvKHtcblx0XHRcdFx0XHRcdG5hbWU6IG9yaWdpbi5uYW1lLFxuXHRcdFx0XHRcdFx0dmVyc2lvblxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdGlmICghaG9zdEdsb2JhbFNuYXBzaG90IHx8ICEoXCJzaGFyZWRcIiBpbiBob3N0R2xvYmFsU25hcHNob3QpKSByZXR1cm4gYXJncztcblx0XHRcdFx0XHRPYmplY3Qua2V5cyhyZWdpc3RlcmVkT3B0aW9ucy5zaGFyZWQgfHwge30pLmZvckVhY2goKHBrZ05hbWUpID0+IHtcblx0XHRcdFx0XHRcdHJlZ2lzdGVyZWRPcHRpb25zLnNoYXJlZFtwa2dOYW1lXS5mb3JFYWNoKChzaGFyZWRBcmcpID0+IHtcblx0XHRcdFx0XHRcdFx0c2hhcmVkLnB1c2goW3BrZ05hbWUsIHNoYXJlZEFyZ10pO1xuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0Y29uc3QgcGF0Y2hTaGFyZWQgPSAocGtnTmFtZSwgc2hhcmVkKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBzaGFyZVNuYXBzaG90ID0gaG9zdEdsb2JhbFNuYXBzaG90LnNoYXJlZC5maW5kKChpdGVtKSA9PiBpdGVtLnNoYXJlZE5hbWUgPT09IHBrZ05hbWUpO1xuXHRcdFx0XHRcdFx0aWYgKCFzaGFyZVNuYXBzaG90KSByZXR1cm47XG5cdFx0XHRcdFx0XHRjb25zdCB7IHRyZWVTaGFraW5nIH0gPSBzaGFyZWQ7XG5cdFx0XHRcdFx0XHRpZiAoIXRyZWVTaGFraW5nKSByZXR1cm47XG5cdFx0XHRcdFx0XHRjb25zdCB7IHNlY29uZGFyeVNoYXJlZFRyZWVTaGFraW5nTmFtZSwgc2Vjb25kYXJ5U2hhcmVkVHJlZVNoYWtpbmdFbnRyeSwgdHJlZVNoYWtpbmdTdGF0dXMgfSA9IHNoYXJlU25hcHNob3Q7XG5cdFx0XHRcdFx0XHRpZiAodHJlZVNoYWtpbmcuc3RhdHVzID09PSB0cmVlU2hha2luZ1N0YXR1cykgcmV0dXJuO1xuXHRcdFx0XHRcdFx0dHJlZVNoYWtpbmcuc3RhdHVzID0gdHJlZVNoYWtpbmdTdGF0dXM7XG5cdFx0XHRcdFx0XHRpZiAoc2Vjb25kYXJ5U2hhcmVkVHJlZVNoYWtpbmdFbnRyeSAmJiBsaWJyYXJ5VHlwZSAmJiBzZWNvbmRhcnlTaGFyZWRUcmVlU2hha2luZ05hbWUpIHRyZWVTaGFraW5nLmdldCA9IGFzeW5jICgpID0+IHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc2hhcmVFbnRyeSA9IGF3YWl0ICgwLCBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZS5nZXRSZW1vdGVFbnRyeSkoe1xuXHRcdFx0XHRcdFx0XHRcdG9yaWdpbixcblx0XHRcdFx0XHRcdFx0XHRyZW1vdGVJbmZvOiB7XG5cdFx0XHRcdFx0XHRcdFx0XHRuYW1lOiBzZWNvbmRhcnlTaGFyZWRUcmVlU2hha2luZ05hbWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRlbnRyeTogc2Vjb25kYXJ5U2hhcmVkVHJlZVNoYWtpbmdFbnRyeSxcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IGxpYnJhcnlUeXBlLFxuXHRcdFx0XHRcdFx0XHRcdFx0ZW50cnlHbG9iYWxOYW1lOiBzZWNvbmRhcnlTaGFyZWRUcmVlU2hha2luZ05hbWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRzaGFyZVNjb3BlOiBcImRlZmF1bHRcIlxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IHNoYXJlRW50cnkuaW5pdChvcmlnaW4sIF9fd2VicGFja19yZXF1aXJlX18uZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZSk7XG5cdFx0XHRcdFx0XHRcdHJldHVybiBzaGFyZUVudHJ5LmdldCgpO1xuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdHNoYXJlZC5mb3JFYWNoKChbcGtnTmFtZSwgc2hhcmVkQXJnXSkgPT4ge1xuXHRcdFx0XHRcdFx0cGF0Y2hTaGFyZWQocGtnTmFtZSwgc2hhcmVkQXJnKTtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRyZXR1cm4gYXJncztcblx0XHRcdFx0fVxuXHRcdFx0fTtcblx0XHR9O1xuXHRcdGluaXRPcHRpb25zLnBsdWdpbnMgfHw9IFtdO1xuXHRcdGluaXRPcHRpb25zLnBsdWdpbnMucHVzaCh0cmVlU2hha2luZ1NoYXJlUGx1Z2luKCkpO1xuXHR9XG5cdHJldHVybiBydW50aW1lLmluaXQoaW5pdE9wdGlvbnMpO1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuaW5pdCA9IGluaXQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbml0LmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLG1CQUFPLENBQUMsc0dBQWtDO0FBQ2xFLGlDQUFpQyxtQkFBTyxDQUFDLCtHQUE0QjtBQUNyRSx5Q0FBeUMsbUJBQU8sQ0FBQywySEFBb0M7QUFDckY7O0FBRUE7QUFDQSxtQkFBbUIsS0FBa0QsSUFBSSxLQUE2QixHQUFHLENBQUk7QUFDN0csZ0JBQWdCLGdCQUFnQjtBQUNoQyxTQUFTLG9FQUFvRTtBQUM3RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxhQUFhLGtEQUFrRDtBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBLE9BQU87QUFDUCxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0EsK0NBQStDO0FBQy9DO0FBQ0E7QUFDQSxPQUFPO0FBQ1AsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBLGNBQWMsY0FBYztBQUM1QjtBQUNBLGNBQWMscUZBQXFGO0FBQ25HO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUixxQ0FBcUMsbUJBQW1CO0FBQ3hEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsWUFBWTtBQUNaIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/init.cjs\n\n}");
|
|
320
|
+
|
|
321
|
+
},
|
|
322
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/initContainerEntry.cjs"(__unused_rspack_module, exports) {
|
|
323
|
+
eval("{\n//#region src/initContainerEntry.ts\nfunction initContainerEntry(options) {\n\tconst { webpackRequire, shareScope, initScope, shareScopeKey, remoteEntryInitOptions } = options;\n\tif (!webpackRequire.S) return;\n\tif (!webpackRequire.federation || !webpackRequire.federation.instance || !webpackRequire.federation.initOptions) return;\n\tconst federationInstance = webpackRequire.federation.instance;\n\tfederationInstance.initOptions({\n\t\tname: webpackRequire.federation.initOptions.name,\n\t\tremotes: [],\n\t\t...remoteEntryInitOptions\n\t});\n\tconst hostShareScopeKeys = remoteEntryInitOptions?.shareScopeKeys;\n\tconst hostShareScopeMap = remoteEntryInitOptions?.shareScopeMap;\n\tif (!shareScopeKey || typeof shareScopeKey === \"string\") {\n\t\tconst key = shareScopeKey || \"default\";\n\t\tif (Array.isArray(hostShareScopeKeys)) hostShareScopeKeys.forEach((hostKey) => {\n\t\t\tif (!hostShareScopeMap[hostKey]) hostShareScopeMap[hostKey] = {};\n\t\t\tconst sc = hostShareScopeMap[hostKey];\n\t\t\tfederationInstance.initShareScopeMap(hostKey, sc, { hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {} });\n\t\t});\n\t\telse federationInstance.initShareScopeMap(key, shareScope, { hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {} });\n\t} else shareScopeKey.forEach((key) => {\n\t\tif (!hostShareScopeKeys || !hostShareScopeMap) {\n\t\t\tfederationInstance.initShareScopeMap(key, shareScope, { hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {} });\n\t\t\treturn;\n\t\t}\n\t\tif (!hostShareScopeMap[key]) hostShareScopeMap[key] = {};\n\t\tconst sc = hostShareScopeMap[key];\n\t\tfederationInstance.initShareScopeMap(key, sc, { hostShareScopeMap: remoteEntryInitOptions?.shareScopeMap || {} });\n\t});\n\tif (webpackRequire.federation.attachShareScopeMap) webpackRequire.federation.attachShareScopeMap(webpackRequire);\n\tif (!Array.isArray(shareScopeKey)) return webpackRequire.I(shareScopeKey || \"default\", initScope);\n\tif (Boolean(webpackRequire.federation.initOptions.shared)) return webpackRequire.I(shareScopeKey, initScope);\n\treturn Promise.all(shareScopeKey.map((key) => {\n\t\treturn webpackRequire.I(key, initScope);\n\t})).then(() => true);\n}\n\n//#endregion\nexports.initContainerEntry = initContainerEntry;\n//# sourceMappingURL=initContainerEntry.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5pdENvbnRhaW5lckVudHJ5LmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9kaXN0L2luaXRDb250YWluZXJFbnRyeS5janM/OGI5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcbi8vI3JlZ2lvbiBzcmMvaW5pdENvbnRhaW5lckVudHJ5LnRzXG5mdW5jdGlvbiBpbml0Q29udGFpbmVyRW50cnkob3B0aW9ucykge1xuXHRjb25zdCB7IHdlYnBhY2tSZXF1aXJlLCBzaGFyZVNjb3BlLCBpbml0U2NvcGUsIHNoYXJlU2NvcGVLZXksIHJlbW90ZUVudHJ5SW5pdE9wdGlvbnMgfSA9IG9wdGlvbnM7XG5cdGlmICghd2VicGFja1JlcXVpcmUuUykgcmV0dXJuO1xuXHRpZiAoIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24gfHwgIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2UgfHwgIXdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5pdE9wdGlvbnMpIHJldHVybjtcblx0Y29uc3QgZmVkZXJhdGlvbkluc3RhbmNlID0gd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbnN0YW5jZTtcblx0ZmVkZXJhdGlvbkluc3RhbmNlLmluaXRPcHRpb25zKHtcblx0XHRuYW1lOiB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmluaXRPcHRpb25zLm5hbWUsXG5cdFx0cmVtb3RlczogW10sXG5cdFx0Li4ucmVtb3RlRW50cnlJbml0T3B0aW9uc1xuXHR9KTtcblx0Y29uc3QgaG9zdFNoYXJlU2NvcGVLZXlzID0gcmVtb3RlRW50cnlJbml0T3B0aW9ucz8uc2hhcmVTY29wZUtleXM7XG5cdGNvbnN0IGhvc3RTaGFyZVNjb3BlTWFwID0gcmVtb3RlRW50cnlJbml0T3B0aW9ucz8uc2hhcmVTY29wZU1hcDtcblx0aWYgKCFzaGFyZVNjb3BlS2V5IHx8IHR5cGVvZiBzaGFyZVNjb3BlS2V5ID09PSBcInN0cmluZ1wiKSB7XG5cdFx0Y29uc3Qga2V5ID0gc2hhcmVTY29wZUtleSB8fCBcImRlZmF1bHRcIjtcblx0XHRpZiAoQXJyYXkuaXNBcnJheShob3N0U2hhcmVTY29wZUtleXMpKSBob3N0U2hhcmVTY29wZUtleXMuZm9yRWFjaCgoaG9zdEtleSkgPT4ge1xuXHRcdFx0aWYgKCFob3N0U2hhcmVTY29wZU1hcFtob3N0S2V5XSkgaG9zdFNoYXJlU2NvcGVNYXBbaG9zdEtleV0gPSB7fTtcblx0XHRcdGNvbnN0IHNjID0gaG9zdFNoYXJlU2NvcGVNYXBbaG9zdEtleV07XG5cdFx0XHRmZWRlcmF0aW9uSW5zdGFuY2UuaW5pdFNoYXJlU2NvcGVNYXAoaG9zdEtleSwgc2MsIHsgaG9zdFNoYXJlU2NvcGVNYXA6IHJlbW90ZUVudHJ5SW5pdE9wdGlvbnM/LnNoYXJlU2NvcGVNYXAgfHwge30gfSk7XG5cdFx0fSk7XG5cdFx0ZWxzZSBmZWRlcmF0aW9uSW5zdGFuY2UuaW5pdFNoYXJlU2NvcGVNYXAoa2V5LCBzaGFyZVNjb3BlLCB7IGhvc3RTaGFyZVNjb3BlTWFwOiByZW1vdGVFbnRyeUluaXRPcHRpb25zPy5zaGFyZVNjb3BlTWFwIHx8IHt9IH0pO1xuXHR9IGVsc2Ugc2hhcmVTY29wZUtleS5mb3JFYWNoKChrZXkpID0+IHtcblx0XHRpZiAoIWhvc3RTaGFyZVNjb3BlS2V5cyB8fCAhaG9zdFNoYXJlU2NvcGVNYXApIHtcblx0XHRcdGZlZGVyYXRpb25JbnN0YW5jZS5pbml0U2hhcmVTY29wZU1hcChrZXksIHNoYXJlU2NvcGUsIHsgaG9zdFNoYXJlU2NvcGVNYXA6IHJlbW90ZUVudHJ5SW5pdE9wdGlvbnM/LnNoYXJlU2NvcGVNYXAgfHwge30gfSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdGlmICghaG9zdFNoYXJlU2NvcGVNYXBba2V5XSkgaG9zdFNoYXJlU2NvcGVNYXBba2V5XSA9IHt9O1xuXHRcdGNvbnN0IHNjID0gaG9zdFNoYXJlU2NvcGVNYXBba2V5XTtcblx0XHRmZWRlcmF0aW9uSW5zdGFuY2UuaW5pdFNoYXJlU2NvcGVNYXAoa2V5LCBzYywgeyBob3N0U2hhcmVTY29wZU1hcDogcmVtb3RlRW50cnlJbml0T3B0aW9ucz8uc2hhcmVTY29wZU1hcCB8fCB7fSB9KTtcblx0fSk7XG5cdGlmICh3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmF0dGFjaFNoYXJlU2NvcGVNYXApIHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uYXR0YWNoU2hhcmVTY29wZU1hcCh3ZWJwYWNrUmVxdWlyZSk7XG5cdGlmICghQXJyYXkuaXNBcnJheShzaGFyZVNjb3BlS2V5KSkgcmV0dXJuIHdlYnBhY2tSZXF1aXJlLkkoc2hhcmVTY29wZUtleSB8fCBcImRlZmF1bHRcIiwgaW5pdFNjb3BlKTtcblx0aWYgKEJvb2xlYW4od2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5pbml0T3B0aW9ucy5zaGFyZWQpKSByZXR1cm4gd2VicGFja1JlcXVpcmUuSShzaGFyZVNjb3BlS2V5LCBpbml0U2NvcGUpO1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoc2hhcmVTY29wZUtleS5tYXAoKGtleSkgPT4ge1xuXHRcdHJldHVybiB3ZWJwYWNrUmVxdWlyZS5JKGtleSwgaW5pdFNjb3BlKTtcblx0fSkpLnRoZW4oKCkgPT4gdHJ1ZSk7XG59XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0cy5pbml0Q29udGFpbmVyRW50cnkgPSBpbml0Q29udGFpbmVyRW50cnk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbml0Q29udGFpbmVyRW50cnkuY2pzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7QUFDQTtBQUNBLFNBQVMsK0VBQStFO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdURBQXVELGdFQUFnRTtBQUN2SCxHQUFHO0FBQ0gsK0RBQStELGdFQUFnRTtBQUMvSCxHQUFHO0FBQ0g7QUFDQSwyREFBMkQsZ0VBQWdFO0FBQzNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0RBQWtELGdFQUFnRTtBQUNsSCxFQUFFO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBLDBCQUEwQjtBQUMxQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/initContainerEntry.cjs\n\n}");
|
|
324
|
+
|
|
325
|
+
},
|
|
326
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/initializeSharing.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
327
|
+
eval("{const require_attachShareScopeMap = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs\");\n\n//#region src/initializeSharing.ts\nfunction initializeSharing({ shareScopeName, webpackRequire, initPromises, initTokens, initScope }) {\n\tconst shareScopeKeys = Array.isArray(shareScopeName) ? shareScopeName : [shareScopeName];\n\tvar initializeSharingPromises = [];\n\tvar _initializeSharing = function(shareScopeKey) {\n\t\tif (!initScope) initScope = [];\n\t\tconst mfInstance = webpackRequire.federation.instance;\n\t\tvar initToken = initTokens[shareScopeKey];\n\t\tif (!initToken) initToken = initTokens[shareScopeKey] = { from: mfInstance.name };\n\t\tif (initScope.indexOf(initToken) >= 0) return;\n\t\tinitScope.push(initToken);\n\t\tconst promise = initPromises[shareScopeKey];\n\t\tif (promise) return promise;\n\t\tvar warn = (msg) => typeof console !== \"undefined\" && console.warn && console.warn(msg);\n\t\tvar initExternal = (id) => {\n\t\t\tvar handleError = (err) => warn(\"Initialization of sharing external failed: \" + err);\n\t\t\ttry {\n\t\t\t\tvar module = webpackRequire(id);\n\t\t\t\tif (!module) return;\n\t\t\t\tvar initFn = (module) => module && module.init && module.init(webpackRequire.S[shareScopeKey], initScope, {\n\t\t\t\t\tshareScopeMap: webpackRequire.S || {},\n\t\t\t\t\tshareScopeKeys: shareScopeName\n\t\t\t\t});\n\t\t\t\tif (module.then) return promises.push(module.then(initFn, handleError));\n\t\t\t\tvar initResult = initFn(module);\n\t\t\t\tif (initResult && typeof initResult !== \"boolean\" && initResult.then) return promises.push(initResult[\"catch\"](handleError));\n\t\t\t} catch (err) {\n\t\t\t\thandleError(err);\n\t\t\t}\n\t\t};\n\t\tconst promises = mfInstance.initializeSharing(shareScopeKey, {\n\t\t\tstrategy: mfInstance.options.shareStrategy,\n\t\t\tinitScope,\n\t\t\tfrom: \"build\"\n\t\t});\n\t\trequire_attachShareScopeMap.attachShareScopeMap(webpackRequire);\n\t\tconst bundlerRuntimeRemotesOptions = webpackRequire.federation.bundlerRuntimeOptions.remotes;\n\t\tif (bundlerRuntimeRemotesOptions) Object.keys(bundlerRuntimeRemotesOptions.idToRemoteMap).forEach((moduleId) => {\n\t\t\tconst info = bundlerRuntimeRemotesOptions.idToRemoteMap[moduleId];\n\t\t\tconst externalModuleId = bundlerRuntimeRemotesOptions.idToExternalAndNameMapping[moduleId][2];\n\t\t\tif (info.length > 1) initExternal(externalModuleId);\n\t\t\telse if (info.length === 1) {\n\t\t\t\tconst remoteInfo = info[0];\n\t\t\t\tif (!require_constant.FEDERATION_SUPPORTED_TYPES.includes(remoteInfo.externalType)) initExternal(externalModuleId);\n\t\t\t}\n\t\t});\n\t\tif (!promises.length) return initPromises[shareScopeKey] = true;\n\t\treturn initPromises[shareScopeKey] = Promise.all(promises).then(() => initPromises[shareScopeKey] = true);\n\t};\n\tshareScopeKeys.forEach((key) => {\n\t\tinitializeSharingPromises.push(_initializeSharing(key));\n\t});\n\treturn Promise.all(initializeSharingPromises).then(() => true);\n}\n\n//#endregion\nexports.initializeSharing = initializeSharing;\n//# sourceMappingURL=initializeSharing.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5pdGlhbGl6ZVNoYXJpbmcuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5pdGlhbGl6ZVNoYXJpbmcuY2pzP2ZhZWUiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcmVxdWlyZV9hdHRhY2hTaGFyZVNjb3BlTWFwID0gcmVxdWlyZSgnLi9hdHRhY2hTaGFyZVNjb3BlTWFwLmNqcycpO1xuY29uc3QgcmVxdWlyZV9jb25zdGFudCA9IHJlcXVpcmUoJy4vY29uc3RhbnQuY2pzJyk7XG5cbi8vI3JlZ2lvbiBzcmMvaW5pdGlhbGl6ZVNoYXJpbmcudHNcbmZ1bmN0aW9uIGluaXRpYWxpemVTaGFyaW5nKHsgc2hhcmVTY29wZU5hbWUsIHdlYnBhY2tSZXF1aXJlLCBpbml0UHJvbWlzZXMsIGluaXRUb2tlbnMsIGluaXRTY29wZSB9KSB7XG5cdGNvbnN0IHNoYXJlU2NvcGVLZXlzID0gQXJyYXkuaXNBcnJheShzaGFyZVNjb3BlTmFtZSkgPyBzaGFyZVNjb3BlTmFtZSA6IFtzaGFyZVNjb3BlTmFtZV07XG5cdHZhciBpbml0aWFsaXplU2hhcmluZ1Byb21pc2VzID0gW107XG5cdHZhciBfaW5pdGlhbGl6ZVNoYXJpbmcgPSBmdW5jdGlvbihzaGFyZVNjb3BlS2V5KSB7XG5cdFx0aWYgKCFpbml0U2NvcGUpIGluaXRTY29wZSA9IFtdO1xuXHRcdGNvbnN0IG1mSW5zdGFuY2UgPSB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmluc3RhbmNlO1xuXHRcdHZhciBpbml0VG9rZW4gPSBpbml0VG9rZW5zW3NoYXJlU2NvcGVLZXldO1xuXHRcdGlmICghaW5pdFRva2VuKSBpbml0VG9rZW4gPSBpbml0VG9rZW5zW3NoYXJlU2NvcGVLZXldID0geyBmcm9tOiBtZkluc3RhbmNlLm5hbWUgfTtcblx0XHRpZiAoaW5pdFNjb3BlLmluZGV4T2YoaW5pdFRva2VuKSA+PSAwKSByZXR1cm47XG5cdFx0aW5pdFNjb3BlLnB1c2goaW5pdFRva2VuKTtcblx0XHRjb25zdCBwcm9taXNlID0gaW5pdFByb21pc2VzW3NoYXJlU2NvcGVLZXldO1xuXHRcdGlmIChwcm9taXNlKSByZXR1cm4gcHJvbWlzZTtcblx0XHR2YXIgd2FybiA9IChtc2cpID0+IHR5cGVvZiBjb25zb2xlICE9PSBcInVuZGVmaW5lZFwiICYmIGNvbnNvbGUud2FybiAmJiBjb25zb2xlLndhcm4obXNnKTtcblx0XHR2YXIgaW5pdEV4dGVybmFsID0gKGlkKSA9PiB7XG5cdFx0XHR2YXIgaGFuZGxlRXJyb3IgPSAoZXJyKSA9PiB3YXJuKFwiSW5pdGlhbGl6YXRpb24gb2Ygc2hhcmluZyBleHRlcm5hbCBmYWlsZWQ6IFwiICsgZXJyKTtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdHZhciBtb2R1bGUgPSB3ZWJwYWNrUmVxdWlyZShpZCk7XG5cdFx0XHRcdGlmICghbW9kdWxlKSByZXR1cm47XG5cdFx0XHRcdHZhciBpbml0Rm4gPSAobW9kdWxlKSA9PiBtb2R1bGUgJiYgbW9kdWxlLmluaXQgJiYgbW9kdWxlLmluaXQod2VicGFja1JlcXVpcmUuU1tzaGFyZVNjb3BlS2V5XSwgaW5pdFNjb3BlLCB7XG5cdFx0XHRcdFx0c2hhcmVTY29wZU1hcDogd2VicGFja1JlcXVpcmUuUyB8fCB7fSxcblx0XHRcdFx0XHRzaGFyZVNjb3BlS2V5czogc2hhcmVTY29wZU5hbWVcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChtb2R1bGUudGhlbikgcmV0dXJuIHByb21pc2VzLnB1c2gobW9kdWxlLnRoZW4oaW5pdEZuLCBoYW5kbGVFcnJvcikpO1xuXHRcdFx0XHR2YXIgaW5pdFJlc3VsdCA9IGluaXRGbihtb2R1bGUpO1xuXHRcdFx0XHRpZiAoaW5pdFJlc3VsdCAmJiB0eXBlb2YgaW5pdFJlc3VsdCAhPT0gXCJib29sZWFuXCIgJiYgaW5pdFJlc3VsdC50aGVuKSByZXR1cm4gcHJvbWlzZXMucHVzaChpbml0UmVzdWx0W1wiY2F0Y2hcIl0oaGFuZGxlRXJyb3IpKTtcblx0XHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0XHRoYW5kbGVFcnJvcihlcnIpO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3QgcHJvbWlzZXMgPSBtZkluc3RhbmNlLmluaXRpYWxpemVTaGFyaW5nKHNoYXJlU2NvcGVLZXksIHtcblx0XHRcdHN0cmF0ZWd5OiBtZkluc3RhbmNlLm9wdGlvbnMuc2hhcmVTdHJhdGVneSxcblx0XHRcdGluaXRTY29wZSxcblx0XHRcdGZyb206IFwiYnVpbGRcIlxuXHRcdH0pO1xuXHRcdHJlcXVpcmVfYXR0YWNoU2hhcmVTY29wZU1hcC5hdHRhY2hTaGFyZVNjb3BlTWFwKHdlYnBhY2tSZXF1aXJlKTtcblx0XHRjb25zdCBidW5kbGVyUnVudGltZVJlbW90ZXNPcHRpb25zID0gd2VicGFja1JlcXVpcmUuZmVkZXJhdGlvbi5idW5kbGVyUnVudGltZU9wdGlvbnMucmVtb3Rlcztcblx0XHRpZiAoYnVuZGxlclJ1bnRpbWVSZW1vdGVzT3B0aW9ucykgT2JqZWN0LmtleXMoYnVuZGxlclJ1bnRpbWVSZW1vdGVzT3B0aW9ucy5pZFRvUmVtb3RlTWFwKS5mb3JFYWNoKChtb2R1bGVJZCkgPT4ge1xuXHRcdFx0Y29uc3QgaW5mbyA9IGJ1bmRsZXJSdW50aW1lUmVtb3Rlc09wdGlvbnMuaWRUb1JlbW90ZU1hcFttb2R1bGVJZF07XG5cdFx0XHRjb25zdCBleHRlcm5hbE1vZHVsZUlkID0gYnVuZGxlclJ1bnRpbWVSZW1vdGVzT3B0aW9ucy5pZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZ1ttb2R1bGVJZF1bMl07XG5cdFx0XHRpZiAoaW5mby5sZW5ndGggPiAxKSBpbml0RXh0ZXJuYWwoZXh0ZXJuYWxNb2R1bGVJZCk7XG5cdFx0XHRlbHNlIGlmIChpbmZvLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRjb25zdCByZW1vdGVJbmZvID0gaW5mb1swXTtcblx0XHRcdFx0aWYgKCFyZXF1aXJlX2NvbnN0YW50LkZFREVSQVRJT05fU1VQUE9SVEVEX1RZUEVTLmluY2x1ZGVzKHJlbW90ZUluZm8uZXh0ZXJuYWxUeXBlKSkgaW5pdEV4dGVybmFsKGV4dGVybmFsTW9kdWxlSWQpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGlmICghcHJvbWlzZXMubGVuZ3RoKSByZXR1cm4gaW5pdFByb21pc2VzW3NoYXJlU2NvcGVLZXldID0gdHJ1ZTtcblx0XHRyZXR1cm4gaW5pdFByb21pc2VzW3NoYXJlU2NvcGVLZXldID0gUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKCkgPT4gaW5pdFByb21pc2VzW3NoYXJlU2NvcGVLZXldID0gdHJ1ZSk7XG5cdH07XG5cdHNoYXJlU2NvcGVLZXlzLmZvckVhY2goKGtleSkgPT4ge1xuXHRcdGluaXRpYWxpemVTaGFyaW5nUHJvbWlzZXMucHVzaChfaW5pdGlhbGl6ZVNoYXJpbmcoa2V5KSk7XG5cdH0pO1xuXHRyZXR1cm4gUHJvbWlzZS5hbGwoaW5pdGlhbGl6ZVNoYXJpbmdQcm9taXNlcykudGhlbigoKSA9PiB0cnVlKTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmluaXRpYWxpemVTaGFyaW5nID0gaW5pdGlhbGl6ZVNoYXJpbmc7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbml0aWFsaXplU2hhcmluZy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQyxtQkFBTyxDQUFDLCtGQUEyQjtBQUN2RSx5QkFBeUIsbUJBQU8sQ0FBQyxvRkFBZ0I7O0FBRWpEO0FBQ0EsNkJBQTZCLHFFQUFxRTtBQUNsRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0REFBNEQ7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQztBQUMxQztBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0EseUJBQXlCO0FBQ3pCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/initializeSharing.cjs\n\n}");
|
|
328
|
+
|
|
329
|
+
},
|
|
330
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/installInitialConsumes.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
331
|
+
eval("{const require_updateOptions = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/updateOptions.cjs\");\nconst require_getUsedExports = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/getUsedExports.cjs\");\n\n//#region src/installInitialConsumes.ts\nfunction handleInitialConsumes(options) {\n\tconst { moduleId, moduleToHandlerMapping, webpackRequire, asyncLoad } = options;\n\tconst federationInstance = webpackRequire.federation.instance;\n\tif (!federationInstance) throw new Error(\"Federation instance not found!\");\n\tconst { shareKey, shareInfo } = moduleToHandlerMapping[moduleId];\n\ttry {\n\t\tconst usedExports = require_getUsedExports.getUsedExports(webpackRequire, shareKey);\n\t\tconst customShareInfo = { ...shareInfo };\n\t\tif (usedExports) customShareInfo.treeShaking = {\n\t\t\tusedExports,\n\t\t\tuseIn: [federationInstance.options.name]\n\t\t};\n\t\tif (asyncLoad) return federationInstance.loadShare(shareKey, { customShareInfo });\n\t\treturn federationInstance.loadShareSync(shareKey, { customShareInfo });\n\t} catch (err) {\n\t\tconsole.error(\"loadShareSync failed! The function should not be called unless you set \\\"eager:true\\\". If you do not set it, and encounter this issue, you can check whether an async boundary is implemented.\");\n\t\tconsole.error(\"The original error message is as follows: \");\n\t\tthrow err;\n\t}\n}\nfunction installInitialConsumes(options) {\n\trequire_updateOptions.updateConsumeOptions(options);\n\tconst { moduleToHandlerMapping, webpackRequire, installedModules, initialConsumes, asyncLoad } = options;\n\tconst factoryIdSets = [];\n\tinitialConsumes.forEach((id) => {\n\t\tconst factoryGetter = () => handleInitialConsumes({\n\t\t\tmoduleId: id,\n\t\t\tmoduleToHandlerMapping,\n\t\t\twebpackRequire,\n\t\t\tasyncLoad\n\t\t});\n\t\tfactoryIdSets.push([id, factoryGetter]);\n\t});\n\tconst setModule = (id, factoryGetter) => {\n\t\twebpackRequire.m[id] = (module) => {\n\t\t\tinstalledModules[id] = 0;\n\t\t\tdelete webpackRequire.c[id];\n\t\t\tconst factory = factoryGetter();\n\t\t\tif (typeof factory !== \"function\") throw new Error(`Shared module is not available for eager consumption: ${id}`);\n\t\t\tconst result = factory();\n\t\t\tconst { shareInfo } = moduleToHandlerMapping[id];\n\t\t\tif (shareInfo?.shareConfig?.layer && result && typeof result === \"object\") try {\n\t\t\t\tif (!result.hasOwnProperty(\"layer\") || result.layer === void 0) result.layer = shareInfo.shareConfig.layer;\n\t\t\t} catch (e) {}\n\t\t\tmodule.exports = result;\n\t\t};\n\t};\n\tif (asyncLoad) return Promise.all(factoryIdSets.map(async ([id, factoryGetter]) => {\n\t\tconst result = await factoryGetter();\n\t\tsetModule(id, () => result);\n\t}));\n\tfactoryIdSets.forEach(([id, factoryGetter]) => {\n\t\tsetModule(id, factoryGetter);\n\t});\n}\n\n//#endregion\nexports.installInitialConsumes = installInitialConsumes;\n//# sourceMappingURL=installInitialConsumes.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvaW5zdGFsbEluaXRpYWxDb25zdW1lcy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vd2VicGFjay1idW5kbGVyLXJ1bnRpbWUvZGlzdC9pbnN0YWxsSW5pdGlhbENvbnN1bWVzLmNqcz9jNDQ2Il0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfdXBkYXRlT3B0aW9ucyA9IHJlcXVpcmUoJy4vdXBkYXRlT3B0aW9ucy5janMnKTtcbmNvbnN0IHJlcXVpcmVfZ2V0VXNlZEV4cG9ydHMgPSByZXF1aXJlKCcuL2dldFVzZWRFeHBvcnRzLmNqcycpO1xuXG4vLyNyZWdpb24gc3JjL2luc3RhbGxJbml0aWFsQ29uc3VtZXMudHNcbmZ1bmN0aW9uIGhhbmRsZUluaXRpYWxDb25zdW1lcyhvcHRpb25zKSB7XG5cdGNvbnN0IHsgbW9kdWxlSWQsIG1vZHVsZVRvSGFuZGxlck1hcHBpbmcsIHdlYnBhY2tSZXF1aXJlLCBhc3luY0xvYWQgfSA9IG9wdGlvbnM7XG5cdGNvbnN0IGZlZGVyYXRpb25JbnN0YW5jZSA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2U7XG5cdGlmICghZmVkZXJhdGlvbkluc3RhbmNlKSB0aHJvdyBuZXcgRXJyb3IoXCJGZWRlcmF0aW9uIGluc3RhbmNlIG5vdCBmb3VuZCFcIik7XG5cdGNvbnN0IHsgc2hhcmVLZXksIHNoYXJlSW5mbyB9ID0gbW9kdWxlVG9IYW5kbGVyTWFwcGluZ1ttb2R1bGVJZF07XG5cdHRyeSB7XG5cdFx0Y29uc3QgdXNlZEV4cG9ydHMgPSByZXF1aXJlX2dldFVzZWRFeHBvcnRzLmdldFVzZWRFeHBvcnRzKHdlYnBhY2tSZXF1aXJlLCBzaGFyZUtleSk7XG5cdFx0Y29uc3QgY3VzdG9tU2hhcmVJbmZvID0geyAuLi5zaGFyZUluZm8gfTtcblx0XHRpZiAodXNlZEV4cG9ydHMpIGN1c3RvbVNoYXJlSW5mby50cmVlU2hha2luZyA9IHtcblx0XHRcdHVzZWRFeHBvcnRzLFxuXHRcdFx0dXNlSW46IFtmZWRlcmF0aW9uSW5zdGFuY2Uub3B0aW9ucy5uYW1lXVxuXHRcdH07XG5cdFx0aWYgKGFzeW5jTG9hZCkgcmV0dXJuIGZlZGVyYXRpb25JbnN0YW5jZS5sb2FkU2hhcmUoc2hhcmVLZXksIHsgY3VzdG9tU2hhcmVJbmZvIH0pO1xuXHRcdHJldHVybiBmZWRlcmF0aW9uSW5zdGFuY2UubG9hZFNoYXJlU3luYyhzaGFyZUtleSwgeyBjdXN0b21TaGFyZUluZm8gfSk7XG5cdH0gY2F0Y2ggKGVycikge1xuXHRcdGNvbnNvbGUuZXJyb3IoXCJsb2FkU2hhcmVTeW5jIGZhaWxlZCEgVGhlIGZ1bmN0aW9uIHNob3VsZCBub3QgYmUgY2FsbGVkIHVubGVzcyB5b3Ugc2V0IFxcXCJlYWdlcjp0cnVlXFxcIi4gSWYgeW91IGRvIG5vdCBzZXQgaXQsIGFuZCBlbmNvdW50ZXIgdGhpcyBpc3N1ZSwgeW91IGNhbiBjaGVjayB3aGV0aGVyIGFuIGFzeW5jIGJvdW5kYXJ5IGlzIGltcGxlbWVudGVkLlwiKTtcblx0XHRjb25zb2xlLmVycm9yKFwiVGhlIG9yaWdpbmFsIGVycm9yIG1lc3NhZ2UgaXMgYXMgZm9sbG93czogXCIpO1xuXHRcdHRocm93IGVycjtcblx0fVxufVxuZnVuY3Rpb24gaW5zdGFsbEluaXRpYWxDb25zdW1lcyhvcHRpb25zKSB7XG5cdHJlcXVpcmVfdXBkYXRlT3B0aW9ucy51cGRhdGVDb25zdW1lT3B0aW9ucyhvcHRpb25zKTtcblx0Y29uc3QgeyBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nLCB3ZWJwYWNrUmVxdWlyZSwgaW5zdGFsbGVkTW9kdWxlcywgaW5pdGlhbENvbnN1bWVzLCBhc3luY0xvYWQgfSA9IG9wdGlvbnM7XG5cdGNvbnN0IGZhY3RvcnlJZFNldHMgPSBbXTtcblx0aW5pdGlhbENvbnN1bWVzLmZvckVhY2goKGlkKSA9PiB7XG5cdFx0Y29uc3QgZmFjdG9yeUdldHRlciA9ICgpID0+IGhhbmRsZUluaXRpYWxDb25zdW1lcyh7XG5cdFx0XHRtb2R1bGVJZDogaWQsXG5cdFx0XHRtb2R1bGVUb0hhbmRsZXJNYXBwaW5nLFxuXHRcdFx0d2VicGFja1JlcXVpcmUsXG5cdFx0XHRhc3luY0xvYWRcblx0XHR9KTtcblx0XHRmYWN0b3J5SWRTZXRzLnB1c2goW2lkLCBmYWN0b3J5R2V0dGVyXSk7XG5cdH0pO1xuXHRjb25zdCBzZXRNb2R1bGUgPSAoaWQsIGZhY3RvcnlHZXR0ZXIpID0+IHtcblx0XHR3ZWJwYWNrUmVxdWlyZS5tW2lkXSA9IChtb2R1bGUpID0+IHtcblx0XHRcdGluc3RhbGxlZE1vZHVsZXNbaWRdID0gMDtcblx0XHRcdGRlbGV0ZSB3ZWJwYWNrUmVxdWlyZS5jW2lkXTtcblx0XHRcdGNvbnN0IGZhY3RvcnkgPSBmYWN0b3J5R2V0dGVyKCk7XG5cdFx0XHRpZiAodHlwZW9mIGZhY3RvcnkgIT09IFwiZnVuY3Rpb25cIikgdGhyb3cgbmV3IEVycm9yKGBTaGFyZWQgbW9kdWxlIGlzIG5vdCBhdmFpbGFibGUgZm9yIGVhZ2VyIGNvbnN1bXB0aW9uOiAke2lkfWApO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gZmFjdG9yeSgpO1xuXHRcdFx0Y29uc3QgeyBzaGFyZUluZm8gfSA9IG1vZHVsZVRvSGFuZGxlck1hcHBpbmdbaWRdO1xuXHRcdFx0aWYgKHNoYXJlSW5mbz8uc2hhcmVDb25maWc/LmxheWVyICYmIHJlc3VsdCAmJiB0eXBlb2YgcmVzdWx0ID09PSBcIm9iamVjdFwiKSB0cnkge1xuXHRcdFx0XHRpZiAoIXJlc3VsdC5oYXNPd25Qcm9wZXJ0eShcImxheWVyXCIpIHx8IHJlc3VsdC5sYXllciA9PT0gdm9pZCAwKSByZXN1bHQubGF5ZXIgPSBzaGFyZUluZm8uc2hhcmVDb25maWcubGF5ZXI7XG5cdFx0XHR9IGNhdGNoIChlKSB7fVxuXHRcdFx0bW9kdWxlLmV4cG9ydHMgPSByZXN1bHQ7XG5cdFx0fTtcblx0fTtcblx0aWYgKGFzeW5jTG9hZCkgcmV0dXJuIFByb21pc2UuYWxsKGZhY3RvcnlJZFNldHMubWFwKGFzeW5jIChbaWQsIGZhY3RvcnlHZXR0ZXJdKSA9PiB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgZmFjdG9yeUdldHRlcigpO1xuXHRcdHNldE1vZHVsZShpZCwgKCkgPT4gcmVzdWx0KTtcblx0fSkpO1xuXHRmYWN0b3J5SWRTZXRzLmZvckVhY2goKFtpZCwgZmFjdG9yeUdldHRlcl0pID0+IHtcblx0XHRzZXRNb2R1bGUoaWQsIGZhY3RvcnlHZXR0ZXIpO1xuXHR9KTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmluc3RhbGxJbml0aWFsQ29uc3VtZXMgPSBpbnN0YWxsSW5pdGlhbENvbnN1bWVzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5zdGFsbEluaXRpYWxDb25zdW1lcy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhCQUE4QixtQkFBTyxDQUFDLHlGQUFxQjtBQUMzRCwrQkFBK0IsbUJBQU8sQ0FBQywwRkFBc0I7O0FBRTdEO0FBQ0E7QUFDQSxTQUFTLDhEQUE4RDtBQUN2RTtBQUNBO0FBQ0EsU0FBUyxzQkFBc0I7QUFDL0I7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRSxpQkFBaUI7QUFDbEYsc0RBQXNELGlCQUFpQjtBQUN2RSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLHVGQUF1RjtBQUNoRztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBLEVBQUU7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0dBQStHLEdBQUc7QUFDbEg7QUFDQSxXQUFXLFlBQVk7QUFDdkI7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7QUFDQTtBQUNBLEVBQUU7QUFDRjs7QUFFQTtBQUNBLDhCQUE4QjtBQUM5QiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/installInitialConsumes.cjs\n\n}");
|
|
332
|
+
|
|
333
|
+
},
|
|
334
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/remotes.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
335
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/_virtual/_rolldown/runtime.cjs\");\nconst require_attachShareScopeMap = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/attachShareScopeMap.cjs\");\nconst require_constant = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/constant.cjs\");\nconst require_updateOptions = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/updateOptions.cjs\");\nlet _module_federation_sdk = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/index.cjs\");\n\n//#region src/remotes.ts\nfunction remotes(options) {\n\trequire_updateOptions.updateRemoteOptions(options);\n\tconst { chunkId, promises, webpackRequire, chunkMapping, idToExternalAndNameMapping, idToRemoteMap } = options;\n\trequire_attachShareScopeMap.attachShareScopeMap(webpackRequire);\n\tif (webpackRequire.o(chunkMapping, chunkId)) chunkMapping[chunkId].forEach((id) => {\n\t\tlet getScope = webpackRequire.R;\n\t\tif (!getScope) getScope = [];\n\t\tconst data = idToExternalAndNameMapping[id];\n\t\tconst remoteInfos = idToRemoteMap[id] || [];\n\t\tif (getScope.indexOf(data) >= 0) return;\n\t\tgetScope.push(data);\n\t\tif (data.p) return promises.push(data.p);\n\t\tconst onError = (error) => {\n\t\t\tif (!error) error = /* @__PURE__ */ new Error(\"Container missing\");\n\t\t\tif (typeof error.message === \"string\") error.message += `\\nwhile loading \"${data[1]}\" from ${data[2]}`;\n\t\t\twebpackRequire.m[id] = () => {\n\t\t\t\tthrow error;\n\t\t\t};\n\t\t\tdata.p = 0;\n\t\t};\n\t\tconst handleFunction = (fn, arg1, arg2, d, next, first) => {\n\t\t\ttry {\n\t\t\t\tconst promise = fn(arg1, arg2);\n\t\t\t\tif (promise && promise.then) {\n\t\t\t\t\tconst p = promise.then((result) => next(result, d), onError);\n\t\t\t\t\tif (first) promises.push(data.p = p);\n\t\t\t\t\telse return p;\n\t\t\t\t} else return next(promise, d, first);\n\t\t\t} catch (error) {\n\t\t\t\tonError(error);\n\t\t\t}\n\t\t};\n\t\tconst onExternal = (external, _, first) => external ? handleFunction(webpackRequire.I, data[0], 0, external, onInitialized, first) : onError();\n\t\tvar onInitialized = (_, external, first) => handleFunction(external.get, data[1], getScope, 0, onFactory, first);\n\t\tvar onFactory = (factory) => {\n\t\t\tdata.p = 1;\n\t\t\twebpackRequire.m[id] = (module) => {\n\t\t\t\tmodule.exports = factory();\n\t\t\t};\n\t\t};\n\t\tconst onRemoteLoaded = () => {\n\t\t\ttry {\n\t\t\t\tconst remoteModuleName = (0, _module_federation_sdk.decodeName)(remoteInfos[0].name, _module_federation_sdk.ENCODE_NAME_PREFIX) + data[1].slice(1);\n\t\t\t\tconst instance = webpackRequire.federation.instance;\n\t\t\t\tconst loadRemote = () => webpackRequire.federation.instance.loadRemote(remoteModuleName, {\n\t\t\t\t\tloadFactory: false,\n\t\t\t\t\tfrom: \"build\"\n\t\t\t\t});\n\t\t\t\tif (instance.options.shareStrategy === \"version-first\") {\n\t\t\t\t\tconst shareScopes = Array.isArray(data[0]) ? data[0] : [data[0]];\n\t\t\t\t\treturn Promise.all(shareScopes.map((shareScope) => instance.sharedHandler.initializeSharing(shareScope))).then(() => {\n\t\t\t\t\t\treturn loadRemote();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn loadRemote();\n\t\t\t} catch (error) {\n\t\t\t\tonError(error);\n\t\t\t}\n\t\t};\n\t\tif (remoteInfos.length === 1 && require_constant.FEDERATION_SUPPORTED_TYPES.includes(remoteInfos[0].externalType) && remoteInfos[0].name) handleFunction(onRemoteLoaded, data[2], 0, 0, onFactory, 1);\n\t\telse handleFunction(webpackRequire, data[2], 0, 0, onExternal, 1);\n\t});\n}\n\n//#endregion\nexports.remotes = remotes;\n//# sourceMappingURL=remotes.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvcmVtb3Rlcy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vd2VicGFjay1idW5kbGVyLXJ1bnRpbWUvZGlzdC9yZW1vdGVzLmNqcz9lOGJkIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHJlcXVpcmVfcnVudGltZSA9IHJlcXVpcmUoJy4vX3ZpcnR1YWwvX3JvbGxkb3duL3J1bnRpbWUuY2pzJyk7XG5jb25zdCByZXF1aXJlX2F0dGFjaFNoYXJlU2NvcGVNYXAgPSByZXF1aXJlKCcuL2F0dGFjaFNoYXJlU2NvcGVNYXAuY2pzJyk7XG5jb25zdCByZXF1aXJlX2NvbnN0YW50ID0gcmVxdWlyZSgnLi9jb25zdGFudC5janMnKTtcbmNvbnN0IHJlcXVpcmVfdXBkYXRlT3B0aW9ucyA9IHJlcXVpcmUoJy4vdXBkYXRlT3B0aW9ucy5janMnKTtcbmxldCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrID0gcmVxdWlyZShcIkBtb2R1bGUtZmVkZXJhdGlvbi9zZGtcIik7XG5cbi8vI3JlZ2lvbiBzcmMvcmVtb3Rlcy50c1xuZnVuY3Rpb24gcmVtb3RlcyhvcHRpb25zKSB7XG5cdHJlcXVpcmVfdXBkYXRlT3B0aW9ucy51cGRhdGVSZW1vdGVPcHRpb25zKG9wdGlvbnMpO1xuXHRjb25zdCB7IGNodW5rSWQsIHByb21pc2VzLCB3ZWJwYWNrUmVxdWlyZSwgY2h1bmtNYXBwaW5nLCBpZFRvRXh0ZXJuYWxBbmROYW1lTWFwcGluZywgaWRUb1JlbW90ZU1hcCB9ID0gb3B0aW9ucztcblx0cmVxdWlyZV9hdHRhY2hTaGFyZVNjb3BlTWFwLmF0dGFjaFNoYXJlU2NvcGVNYXAod2VicGFja1JlcXVpcmUpO1xuXHRpZiAod2VicGFja1JlcXVpcmUubyhjaHVua01hcHBpbmcsIGNodW5rSWQpKSBjaHVua01hcHBpbmdbY2h1bmtJZF0uZm9yRWFjaCgoaWQpID0+IHtcblx0XHRsZXQgZ2V0U2NvcGUgPSB3ZWJwYWNrUmVxdWlyZS5SO1xuXHRcdGlmICghZ2V0U2NvcGUpIGdldFNjb3BlID0gW107XG5cdFx0Y29uc3QgZGF0YSA9IGlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nW2lkXTtcblx0XHRjb25zdCByZW1vdGVJbmZvcyA9IGlkVG9SZW1vdGVNYXBbaWRdIHx8IFtdO1xuXHRcdGlmIChnZXRTY29wZS5pbmRleE9mKGRhdGEpID49IDApIHJldHVybjtcblx0XHRnZXRTY29wZS5wdXNoKGRhdGEpO1xuXHRcdGlmIChkYXRhLnApIHJldHVybiBwcm9taXNlcy5wdXNoKGRhdGEucCk7XG5cdFx0Y29uc3Qgb25FcnJvciA9IChlcnJvcikgPT4ge1xuXHRcdFx0aWYgKCFlcnJvcikgZXJyb3IgPSAvKiBAX19QVVJFX18gKi8gbmV3IEVycm9yKFwiQ29udGFpbmVyIG1pc3NpbmdcIik7XG5cdFx0XHRpZiAodHlwZW9mIGVycm9yLm1lc3NhZ2UgPT09IFwic3RyaW5nXCIpIGVycm9yLm1lc3NhZ2UgKz0gYFxcbndoaWxlIGxvYWRpbmcgXCIke2RhdGFbMV19XCIgZnJvbSAke2RhdGFbMl19YDtcblx0XHRcdHdlYnBhY2tSZXF1aXJlLm1baWRdID0gKCkgPT4ge1xuXHRcdFx0XHR0aHJvdyBlcnJvcjtcblx0XHRcdH07XG5cdFx0XHRkYXRhLnAgPSAwO1xuXHRcdH07XG5cdFx0Y29uc3QgaGFuZGxlRnVuY3Rpb24gPSAoZm4sIGFyZzEsIGFyZzIsIGQsIG5leHQsIGZpcnN0KSA9PiB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRjb25zdCBwcm9taXNlID0gZm4oYXJnMSwgYXJnMik7XG5cdFx0XHRcdGlmIChwcm9taXNlICYmIHByb21pc2UudGhlbikge1xuXHRcdFx0XHRcdGNvbnN0IHAgPSBwcm9taXNlLnRoZW4oKHJlc3VsdCkgPT4gbmV4dChyZXN1bHQsIGQpLCBvbkVycm9yKTtcblx0XHRcdFx0XHRpZiAoZmlyc3QpIHByb21pc2VzLnB1c2goZGF0YS5wID0gcCk7XG5cdFx0XHRcdFx0ZWxzZSByZXR1cm4gcDtcblx0XHRcdFx0fSBlbHNlIHJldHVybiBuZXh0KHByb21pc2UsIGQsIGZpcnN0KTtcblx0XHRcdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0XHRcdG9uRXJyb3IoZXJyb3IpO1xuXHRcdFx0fVxuXHRcdH07XG5cdFx0Y29uc3Qgb25FeHRlcm5hbCA9IChleHRlcm5hbCwgXywgZmlyc3QpID0+IGV4dGVybmFsID8gaGFuZGxlRnVuY3Rpb24od2VicGFja1JlcXVpcmUuSSwgZGF0YVswXSwgMCwgZXh0ZXJuYWwsIG9uSW5pdGlhbGl6ZWQsIGZpcnN0KSA6IG9uRXJyb3IoKTtcblx0XHR2YXIgb25Jbml0aWFsaXplZCA9IChfLCBleHRlcm5hbCwgZmlyc3QpID0+IGhhbmRsZUZ1bmN0aW9uKGV4dGVybmFsLmdldCwgZGF0YVsxXSwgZ2V0U2NvcGUsIDAsIG9uRmFjdG9yeSwgZmlyc3QpO1xuXHRcdHZhciBvbkZhY3RvcnkgPSAoZmFjdG9yeSkgPT4ge1xuXHRcdFx0ZGF0YS5wID0gMTtcblx0XHRcdHdlYnBhY2tSZXF1aXJlLm1baWRdID0gKG1vZHVsZSkgPT4ge1xuXHRcdFx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0XHRcdH07XG5cdFx0fTtcblx0XHRjb25zdCBvblJlbW90ZUxvYWRlZCA9ICgpID0+IHtcblx0XHRcdHRyeSB7XG5cdFx0XHRcdGNvbnN0IHJlbW90ZU1vZHVsZU5hbWUgPSAoMCwgX21vZHVsZV9mZWRlcmF0aW9uX3Nkay5kZWNvZGVOYW1lKShyZW1vdGVJbmZvc1swXS5uYW1lLCBfbW9kdWxlX2ZlZGVyYXRpb25fc2RrLkVOQ09ERV9OQU1FX1BSRUZJWCkgKyBkYXRhWzFdLnNsaWNlKDEpO1xuXHRcdFx0XHRjb25zdCBpbnN0YW5jZSA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24uaW5zdGFuY2U7XG5cdFx0XHRcdGNvbnN0IGxvYWRSZW1vdGUgPSAoKSA9PiB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uLmluc3RhbmNlLmxvYWRSZW1vdGUocmVtb3RlTW9kdWxlTmFtZSwge1xuXHRcdFx0XHRcdGxvYWRGYWN0b3J5OiBmYWxzZSxcblx0XHRcdFx0XHRmcm9tOiBcImJ1aWxkXCJcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmIChpbnN0YW5jZS5vcHRpb25zLnNoYXJlU3RyYXRlZ3kgPT09IFwidmVyc2lvbi1maXJzdFwiKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc2hhcmVTY29wZXMgPSBBcnJheS5pc0FycmF5KGRhdGFbMF0pID8gZGF0YVswXSA6IFtkYXRhWzBdXTtcblx0XHRcdFx0XHRyZXR1cm4gUHJvbWlzZS5hbGwoc2hhcmVTY29wZXMubWFwKChzaGFyZVNjb3BlKSA9PiBpbnN0YW5jZS5zaGFyZWRIYW5kbGVyLmluaXRpYWxpemVTaGFyaW5nKHNoYXJlU2NvcGUpKSkudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0XHRyZXR1cm4gbG9hZFJlbW90ZSgpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBsb2FkUmVtb3RlKCk7XG5cdFx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0XHRvbkVycm9yKGVycm9yKTtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGlmIChyZW1vdGVJbmZvcy5sZW5ndGggPT09IDEgJiYgcmVxdWlyZV9jb25zdGFudC5GRURFUkFUSU9OX1NVUFBPUlRFRF9UWVBFUy5pbmNsdWRlcyhyZW1vdGVJbmZvc1swXS5leHRlcm5hbFR5cGUpICYmIHJlbW90ZUluZm9zWzBdLm5hbWUpIGhhbmRsZUZ1bmN0aW9uKG9uUmVtb3RlTG9hZGVkLCBkYXRhWzJdLCAwLCAwLCBvbkZhY3RvcnksIDEpO1xuXHRcdGVsc2UgaGFuZGxlRnVuY3Rpb24od2VicGFja1JlcXVpcmUsIGRhdGFbMl0sIDAsIDAsIG9uRXh0ZXJuYWwsIDEpO1xuXHR9KTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLnJlbW90ZXMgPSByZW1vdGVzO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVtb3Rlcy5janMubWFwIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QixtQkFBTyxDQUFDLHNHQUFrQztBQUNsRSxvQ0FBb0MsbUJBQU8sQ0FBQywrRkFBMkI7QUFDdkUseUJBQXlCLG1CQUFPLENBQUMsb0ZBQWdCO0FBQ2pELDhCQUE4QixtQkFBTyxDQUFDLHlGQUFxQjtBQUMzRCw2QkFBNkIsbUJBQU8sQ0FBQyw2REFBd0I7O0FBRTdEO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNkZBQTZGO0FBQ3RHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrRUFBK0UsUUFBUSxTQUFTLFFBQVE7QUFDeEc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRTtBQUNGOztBQUVBO0FBQ0EsZUFBZTtBQUNmIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/remotes.cjs\n\n}");
|
|
336
|
+
|
|
337
|
+
},
|
|
338
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/dist/updateOptions.cjs"(__unused_rspack_module, exports) {
|
|
339
|
+
eval("{\n//#region src/updateOptions.ts\nfunction updateConsumeOptions(options) {\n\tconst { webpackRequire, moduleToHandlerMapping } = options;\n\tconst { consumesLoadingData, initializeSharingData } = webpackRequire;\n\tconst { sharedFallback, bundlerRuntime, libraryType } = webpackRequire.federation;\n\tif (consumesLoadingData && !consumesLoadingData._updated) {\n\t\tconst { moduleIdToConsumeDataMapping: updatedModuleIdToConsumeDataMapping = {}, initialConsumes: updatedInitialConsumes = [], chunkMapping: updatedChunkMapping = {} } = consumesLoadingData;\n\t\tObject.entries(updatedModuleIdToConsumeDataMapping).forEach(([id, data]) => {\n\t\t\tif (!moduleToHandlerMapping[id]) moduleToHandlerMapping[id] = {\n\t\t\t\tgetter: sharedFallback ? bundlerRuntime?.getSharedFallbackGetter({\n\t\t\t\t\tshareKey: data.shareKey,\n\t\t\t\t\tfactory: data.fallback,\n\t\t\t\t\twebpackRequire,\n\t\t\t\t\tlibraryType\n\t\t\t\t}) : data.fallback,\n\t\t\t\ttreeShakingGetter: sharedFallback ? data.fallback : void 0,\n\t\t\t\tshareInfo: {\n\t\t\t\t\tshareConfig: {\n\t\t\t\t\t\trequiredVersion: data.requiredVersion,\n\t\t\t\t\t\tstrictVersion: data.strictVersion,\n\t\t\t\t\t\tsingleton: data.singleton,\n\t\t\t\t\t\teager: data.eager,\n\t\t\t\t\t\tlayer: data.layer\n\t\t\t\t\t},\n\t\t\t\t\tscope: Array.isArray(data.shareScope) ? data.shareScope : [data.shareScope || \"default\"],\n\t\t\t\t\ttreeShaking: sharedFallback ? {\n\t\t\t\t\t\tget: data.fallback,\n\t\t\t\t\t\tmode: data.treeShakingMode\n\t\t\t\t\t} : void 0\n\t\t\t\t},\n\t\t\t\tshareKey: data.shareKey\n\t\t\t};\n\t\t});\n\t\tif (\"initialConsumes\" in options) {\n\t\t\tconst { initialConsumes = [] } = options;\n\t\t\tupdatedInitialConsumes.forEach((id) => {\n\t\t\t\tif (!initialConsumes.includes(id)) initialConsumes.push(id);\n\t\t\t});\n\t\t}\n\t\tif (\"chunkMapping\" in options) {\n\t\t\tconst { chunkMapping = {} } = options;\n\t\t\tObject.entries(updatedChunkMapping).forEach(([id, chunkModules]) => {\n\t\t\t\tif (!chunkMapping[id]) chunkMapping[id] = [];\n\t\t\t\tchunkModules.forEach((moduleId) => {\n\t\t\t\t\tif (!chunkMapping[id].includes(moduleId)) chunkMapping[id].push(moduleId);\n\t\t\t\t});\n\t\t\t});\n\t\t}\n\t\tconsumesLoadingData._updated = 1;\n\t}\n\tif (initializeSharingData && !initializeSharingData._updated) {\n\t\tconst { federation } = webpackRequire;\n\t\tif (!federation.instance || !initializeSharingData.scopeToSharingDataMapping) return;\n\t\tconst shared = {};\n\t\tfor (let [scope, stages] of Object.entries(initializeSharingData.scopeToSharingDataMapping)) for (let stage of stages) if (typeof stage === \"object\" && stage !== null) {\n\t\t\tconst { name, version, factory, eager, singleton, requiredVersion, strictVersion } = stage;\n\t\t\tconst shareConfig = { requiredVersion: `^${version}` };\n\t\t\tconst isValidValue = function(val) {\n\t\t\t\treturn typeof val !== \"undefined\";\n\t\t\t};\n\t\t\tif (isValidValue(singleton)) shareConfig.singleton = singleton;\n\t\t\tif (isValidValue(requiredVersion)) shareConfig.requiredVersion = requiredVersion;\n\t\t\tif (isValidValue(eager)) shareConfig.eager = eager;\n\t\t\tif (isValidValue(strictVersion)) shareConfig.strictVersion = strictVersion;\n\t\t\tconst options = {\n\t\t\t\tversion,\n\t\t\t\tscope: [scope],\n\t\t\t\tshareConfig,\n\t\t\t\tget: factory\n\t\t\t};\n\t\t\tif (shared[name]) shared[name].push(options);\n\t\t\telse shared[name] = [options];\n\t\t}\n\t\tfederation.instance.registerShared(shared);\n\t\tinitializeSharingData._updated = 1;\n\t}\n}\nfunction updateRemoteOptions(options) {\n\tconst { webpackRequire, idToExternalAndNameMapping = {}, idToRemoteMap = {}, chunkMapping = {} } = options;\n\tconst { remotesLoadingData } = webpackRequire;\n\tconst remoteInfos = webpackRequire.federation?.bundlerRuntimeOptions?.remotes?.remoteInfos;\n\tif (!remotesLoadingData || remotesLoadingData._updated || !remoteInfos) return;\n\tconst { chunkMapping: updatedChunkMapping, moduleIdToRemoteDataMapping } = remotesLoadingData;\n\tif (!updatedChunkMapping || !moduleIdToRemoteDataMapping) return;\n\tfor (let [moduleId, data] of Object.entries(moduleIdToRemoteDataMapping)) {\n\t\tif (!idToExternalAndNameMapping[moduleId]) idToExternalAndNameMapping[moduleId] = [\n\t\t\tdata.shareScope,\n\t\t\tdata.name,\n\t\t\tdata.externalModuleId\n\t\t];\n\t\tif (!idToRemoteMap[moduleId] && remoteInfos[data.remoteName]) {\n\t\t\tconst items = remoteInfos[data.remoteName];\n\t\t\tidToRemoteMap[moduleId] ||= [];\n\t\t\titems.forEach((item) => {\n\t\t\t\tif (!idToRemoteMap[moduleId].includes(item)) idToRemoteMap[moduleId].push(item);\n\t\t\t});\n\t\t}\n\t}\n\tif (chunkMapping) Object.entries(updatedChunkMapping).forEach(([id, chunkModules]) => {\n\t\tif (!chunkMapping[id]) chunkMapping[id] = [];\n\t\tchunkModules.forEach((moduleId) => {\n\t\t\tif (!chunkMapping[id].includes(moduleId)) chunkMapping[id].push(moduleId);\n\t\t});\n\t});\n\tremotesLoadingData._updated = 1;\n}\n\n//#endregion\nexports.updateConsumeOptions = updateConsumeOptions;\nexports.updateRemoteOptions = updateRemoteOptions;\n//# sourceMappingURL=updateOptions.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL2Rpc3QvdXBkYXRlT3B0aW9ucy5janMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vd2VicGFjay1idW5kbGVyLXJ1bnRpbWUvZGlzdC91cGRhdGVPcHRpb25zLmNqcz8xYzlhIl0sInNvdXJjZXNDb250ZW50IjpbIlxuLy8jcmVnaW9uIHNyYy91cGRhdGVPcHRpb25zLnRzXG5mdW5jdGlvbiB1cGRhdGVDb25zdW1lT3B0aW9ucyhvcHRpb25zKSB7XG5cdGNvbnN0IHsgd2VicGFja1JlcXVpcmUsIG1vZHVsZVRvSGFuZGxlck1hcHBpbmcgfSA9IG9wdGlvbnM7XG5cdGNvbnN0IHsgY29uc3VtZXNMb2FkaW5nRGF0YSwgaW5pdGlhbGl6ZVNoYXJpbmdEYXRhIH0gPSB3ZWJwYWNrUmVxdWlyZTtcblx0Y29uc3QgeyBzaGFyZWRGYWxsYmFjaywgYnVuZGxlclJ1bnRpbWUsIGxpYnJhcnlUeXBlIH0gPSB3ZWJwYWNrUmVxdWlyZS5mZWRlcmF0aW9uO1xuXHRpZiAoY29uc3VtZXNMb2FkaW5nRGF0YSAmJiAhY29uc3VtZXNMb2FkaW5nRGF0YS5fdXBkYXRlZCkge1xuXHRcdGNvbnN0IHsgbW9kdWxlSWRUb0NvbnN1bWVEYXRhTWFwcGluZzogdXBkYXRlZE1vZHVsZUlkVG9Db25zdW1lRGF0YU1hcHBpbmcgPSB7fSwgaW5pdGlhbENvbnN1bWVzOiB1cGRhdGVkSW5pdGlhbENvbnN1bWVzID0gW10sIGNodW5rTWFwcGluZzogdXBkYXRlZENodW5rTWFwcGluZyA9IHt9IH0gPSBjb25zdW1lc0xvYWRpbmdEYXRhO1xuXHRcdE9iamVjdC5lbnRyaWVzKHVwZGF0ZWRNb2R1bGVJZFRvQ29uc3VtZURhdGFNYXBwaW5nKS5mb3JFYWNoKChbaWQsIGRhdGFdKSA9PiB7XG5cdFx0XHRpZiAoIW1vZHVsZVRvSGFuZGxlck1hcHBpbmdbaWRdKSBtb2R1bGVUb0hhbmRsZXJNYXBwaW5nW2lkXSA9IHtcblx0XHRcdFx0Z2V0dGVyOiBzaGFyZWRGYWxsYmFjayA/IGJ1bmRsZXJSdW50aW1lPy5nZXRTaGFyZWRGYWxsYmFja0dldHRlcih7XG5cdFx0XHRcdFx0c2hhcmVLZXk6IGRhdGEuc2hhcmVLZXksXG5cdFx0XHRcdFx0ZmFjdG9yeTogZGF0YS5mYWxsYmFjayxcblx0XHRcdFx0XHR3ZWJwYWNrUmVxdWlyZSxcblx0XHRcdFx0XHRsaWJyYXJ5VHlwZVxuXHRcdFx0XHR9KSA6IGRhdGEuZmFsbGJhY2ssXG5cdFx0XHRcdHRyZWVTaGFraW5nR2V0dGVyOiBzaGFyZWRGYWxsYmFjayA/IGRhdGEuZmFsbGJhY2sgOiB2b2lkIDAsXG5cdFx0XHRcdHNoYXJlSW5mbzoge1xuXHRcdFx0XHRcdHNoYXJlQ29uZmlnOiB7XG5cdFx0XHRcdFx0XHRyZXF1aXJlZFZlcnNpb246IGRhdGEucmVxdWlyZWRWZXJzaW9uLFxuXHRcdFx0XHRcdFx0c3RyaWN0VmVyc2lvbjogZGF0YS5zdHJpY3RWZXJzaW9uLFxuXHRcdFx0XHRcdFx0c2luZ2xldG9uOiBkYXRhLnNpbmdsZXRvbixcblx0XHRcdFx0XHRcdGVhZ2VyOiBkYXRhLmVhZ2VyLFxuXHRcdFx0XHRcdFx0bGF5ZXI6IGRhdGEubGF5ZXJcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHNjb3BlOiBBcnJheS5pc0FycmF5KGRhdGEuc2hhcmVTY29wZSkgPyBkYXRhLnNoYXJlU2NvcGUgOiBbZGF0YS5zaGFyZVNjb3BlIHx8IFwiZGVmYXVsdFwiXSxcblx0XHRcdFx0XHR0cmVlU2hha2luZzogc2hhcmVkRmFsbGJhY2sgPyB7XG5cdFx0XHRcdFx0XHRnZXQ6IGRhdGEuZmFsbGJhY2ssXG5cdFx0XHRcdFx0XHRtb2RlOiBkYXRhLnRyZWVTaGFraW5nTW9kZVxuXHRcdFx0XHRcdH0gOiB2b2lkIDBcblx0XHRcdFx0fSxcblx0XHRcdFx0c2hhcmVLZXk6IGRhdGEuc2hhcmVLZXlcblx0XHRcdH07XG5cdFx0fSk7XG5cdFx0aWYgKFwiaW5pdGlhbENvbnN1bWVzXCIgaW4gb3B0aW9ucykge1xuXHRcdFx0Y29uc3QgeyBpbml0aWFsQ29uc3VtZXMgPSBbXSB9ID0gb3B0aW9ucztcblx0XHRcdHVwZGF0ZWRJbml0aWFsQ29uc3VtZXMuZm9yRWFjaCgoaWQpID0+IHtcblx0XHRcdFx0aWYgKCFpbml0aWFsQ29uc3VtZXMuaW5jbHVkZXMoaWQpKSBpbml0aWFsQ29uc3VtZXMucHVzaChpZCk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0aWYgKFwiY2h1bmtNYXBwaW5nXCIgaW4gb3B0aW9ucykge1xuXHRcdFx0Y29uc3QgeyBjaHVua01hcHBpbmcgPSB7fSB9ID0gb3B0aW9ucztcblx0XHRcdE9iamVjdC5lbnRyaWVzKHVwZGF0ZWRDaHVua01hcHBpbmcpLmZvckVhY2goKFtpZCwgY2h1bmtNb2R1bGVzXSkgPT4ge1xuXHRcdFx0XHRpZiAoIWNodW5rTWFwcGluZ1tpZF0pIGNodW5rTWFwcGluZ1tpZF0gPSBbXTtcblx0XHRcdFx0Y2h1bmtNb2R1bGVzLmZvckVhY2goKG1vZHVsZUlkKSA9PiB7XG5cdFx0XHRcdFx0aWYgKCFjaHVua01hcHBpbmdbaWRdLmluY2x1ZGVzKG1vZHVsZUlkKSkgY2h1bmtNYXBwaW5nW2lkXS5wdXNoKG1vZHVsZUlkKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cdFx0Y29uc3VtZXNMb2FkaW5nRGF0YS5fdXBkYXRlZCA9IDE7XG5cdH1cblx0aWYgKGluaXRpYWxpemVTaGFyaW5nRGF0YSAmJiAhaW5pdGlhbGl6ZVNoYXJpbmdEYXRhLl91cGRhdGVkKSB7XG5cdFx0Y29uc3QgeyBmZWRlcmF0aW9uIH0gPSB3ZWJwYWNrUmVxdWlyZTtcblx0XHRpZiAoIWZlZGVyYXRpb24uaW5zdGFuY2UgfHwgIWluaXRpYWxpemVTaGFyaW5nRGF0YS5zY29wZVRvU2hhcmluZ0RhdGFNYXBwaW5nKSByZXR1cm47XG5cdFx0Y29uc3Qgc2hhcmVkID0ge307XG5cdFx0Zm9yIChsZXQgW3Njb3BlLCBzdGFnZXNdIG9mIE9iamVjdC5lbnRyaWVzKGluaXRpYWxpemVTaGFyaW5nRGF0YS5zY29wZVRvU2hhcmluZ0RhdGFNYXBwaW5nKSkgZm9yIChsZXQgc3RhZ2Ugb2Ygc3RhZ2VzKSBpZiAodHlwZW9mIHN0YWdlID09PSBcIm9iamVjdFwiICYmIHN0YWdlICE9PSBudWxsKSB7XG5cdFx0XHRjb25zdCB7IG5hbWUsIHZlcnNpb24sIGZhY3RvcnksIGVhZ2VyLCBzaW5nbGV0b24sIHJlcXVpcmVkVmVyc2lvbiwgc3RyaWN0VmVyc2lvbiB9ID0gc3RhZ2U7XG5cdFx0XHRjb25zdCBzaGFyZUNvbmZpZyA9IHsgcmVxdWlyZWRWZXJzaW9uOiBgXiR7dmVyc2lvbn1gIH07XG5cdFx0XHRjb25zdCBpc1ZhbGlkVmFsdWUgPSBmdW5jdGlvbih2YWwpIHtcblx0XHRcdFx0cmV0dXJuIHR5cGVvZiB2YWwgIT09IFwidW5kZWZpbmVkXCI7XG5cdFx0XHR9O1xuXHRcdFx0aWYgKGlzVmFsaWRWYWx1ZShzaW5nbGV0b24pKSBzaGFyZUNvbmZpZy5zaW5nbGV0b24gPSBzaW5nbGV0b247XG5cdFx0XHRpZiAoaXNWYWxpZFZhbHVlKHJlcXVpcmVkVmVyc2lvbikpIHNoYXJlQ29uZmlnLnJlcXVpcmVkVmVyc2lvbiA9IHJlcXVpcmVkVmVyc2lvbjtcblx0XHRcdGlmIChpc1ZhbGlkVmFsdWUoZWFnZXIpKSBzaGFyZUNvbmZpZy5lYWdlciA9IGVhZ2VyO1xuXHRcdFx0aWYgKGlzVmFsaWRWYWx1ZShzdHJpY3RWZXJzaW9uKSkgc2hhcmVDb25maWcuc3RyaWN0VmVyc2lvbiA9IHN0cmljdFZlcnNpb247XG5cdFx0XHRjb25zdCBvcHRpb25zID0ge1xuXHRcdFx0XHR2ZXJzaW9uLFxuXHRcdFx0XHRzY29wZTogW3Njb3BlXSxcblx0XHRcdFx0c2hhcmVDb25maWcsXG5cdFx0XHRcdGdldDogZmFjdG9yeVxuXHRcdFx0fTtcblx0XHRcdGlmIChzaGFyZWRbbmFtZV0pIHNoYXJlZFtuYW1lXS5wdXNoKG9wdGlvbnMpO1xuXHRcdFx0ZWxzZSBzaGFyZWRbbmFtZV0gPSBbb3B0aW9uc107XG5cdFx0fVxuXHRcdGZlZGVyYXRpb24uaW5zdGFuY2UucmVnaXN0ZXJTaGFyZWQoc2hhcmVkKTtcblx0XHRpbml0aWFsaXplU2hhcmluZ0RhdGEuX3VwZGF0ZWQgPSAxO1xuXHR9XG59XG5mdW5jdGlvbiB1cGRhdGVSZW1vdGVPcHRpb25zKG9wdGlvbnMpIHtcblx0Y29uc3QgeyB3ZWJwYWNrUmVxdWlyZSwgaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmcgPSB7fSwgaWRUb1JlbW90ZU1hcCA9IHt9LCBjaHVua01hcHBpbmcgPSB7fSB9ID0gb3B0aW9ucztcblx0Y29uc3QgeyByZW1vdGVzTG9hZGluZ0RhdGEgfSA9IHdlYnBhY2tSZXF1aXJlO1xuXHRjb25zdCByZW1vdGVJbmZvcyA9IHdlYnBhY2tSZXF1aXJlLmZlZGVyYXRpb24/LmJ1bmRsZXJSdW50aW1lT3B0aW9ucz8ucmVtb3Rlcz8ucmVtb3RlSW5mb3M7XG5cdGlmICghcmVtb3Rlc0xvYWRpbmdEYXRhIHx8IHJlbW90ZXNMb2FkaW5nRGF0YS5fdXBkYXRlZCB8fCAhcmVtb3RlSW5mb3MpIHJldHVybjtcblx0Y29uc3QgeyBjaHVua01hcHBpbmc6IHVwZGF0ZWRDaHVua01hcHBpbmcsIG1vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZyB9ID0gcmVtb3Rlc0xvYWRpbmdEYXRhO1xuXHRpZiAoIXVwZGF0ZWRDaHVua01hcHBpbmcgfHwgIW1vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykgcmV0dXJuO1xuXHRmb3IgKGxldCBbbW9kdWxlSWQsIGRhdGFdIG9mIE9iamVjdC5lbnRyaWVzKG1vZHVsZUlkVG9SZW1vdGVEYXRhTWFwcGluZykpIHtcblx0XHRpZiAoIWlkVG9FeHRlcm5hbEFuZE5hbWVNYXBwaW5nW21vZHVsZUlkXSkgaWRUb0V4dGVybmFsQW5kTmFtZU1hcHBpbmdbbW9kdWxlSWRdID0gW1xuXHRcdFx0ZGF0YS5zaGFyZVNjb3BlLFxuXHRcdFx0ZGF0YS5uYW1lLFxuXHRcdFx0ZGF0YS5leHRlcm5hbE1vZHVsZUlkXG5cdFx0XTtcblx0XHRpZiAoIWlkVG9SZW1vdGVNYXBbbW9kdWxlSWRdICYmIHJlbW90ZUluZm9zW2RhdGEucmVtb3RlTmFtZV0pIHtcblx0XHRcdGNvbnN0IGl0ZW1zID0gcmVtb3RlSW5mb3NbZGF0YS5yZW1vdGVOYW1lXTtcblx0XHRcdGlkVG9SZW1vdGVNYXBbbW9kdWxlSWRdIHx8PSBbXTtcblx0XHRcdGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcblx0XHRcdFx0aWYgKCFpZFRvUmVtb3RlTWFwW21vZHVsZUlkXS5pbmNsdWRlcyhpdGVtKSkgaWRUb1JlbW90ZU1hcFttb2R1bGVJZF0ucHVzaChpdGVtKTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXHRpZiAoY2h1bmtNYXBwaW5nKSBPYmplY3QuZW50cmllcyh1cGRhdGVkQ2h1bmtNYXBwaW5nKS5mb3JFYWNoKChbaWQsIGNodW5rTW9kdWxlc10pID0+IHtcblx0XHRpZiAoIWNodW5rTWFwcGluZ1tpZF0pIGNodW5rTWFwcGluZ1tpZF0gPSBbXTtcblx0XHRjaHVua01vZHVsZXMuZm9yRWFjaCgobW9kdWxlSWQpID0+IHtcblx0XHRcdGlmICghY2h1bmtNYXBwaW5nW2lkXS5pbmNsdWRlcyhtb2R1bGVJZCkpIGNodW5rTWFwcGluZ1tpZF0ucHVzaChtb2R1bGVJZCk7XG5cdFx0fSk7XG5cdH0pO1xuXHRyZW1vdGVzTG9hZGluZ0RhdGEuX3VwZGF0ZWQgPSAxO1xufVxuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMudXBkYXRlQ29uc3VtZU9wdGlvbnMgPSB1cGRhdGVDb25zdW1lT3B0aW9ucztcbmV4cG9ydHMudXBkYXRlUmVtb3RlT3B0aW9ucyA9IHVwZGF0ZVJlbW90ZU9wdGlvbnM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD11cGRhdGVPcHRpb25zLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0FBQ0E7QUFDQSxTQUFTLHlDQUF5QztBQUNsRCxTQUFTLDZDQUE2QztBQUN0RCxTQUFTLDhDQUE4QztBQUN2RDtBQUNBLFVBQVUsc0VBQXNFLHlGQUF5RjtBQUN6SztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EsV0FBVyx1QkFBdUI7QUFDbEM7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0EsV0FBVyxvQkFBb0I7QUFDL0I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsSUFBSTtBQUNKO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxhQUFhO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBLFdBQVcsMkVBQTJFO0FBQ3RGLHlCQUF5QixxQkFBcUIsUUFBUTtBQUN0RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTLCtDQUErQyxvQkFBb0Isc0JBQXNCO0FBQ2xHLFNBQVMscUJBQXFCO0FBQzlCO0FBQ0E7QUFDQSxTQUFTLGlFQUFpRTtBQUMxRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNILEVBQUU7QUFDRjtBQUNBOztBQUVBO0FBQ0EsNEJBQTRCO0FBQzVCLDJCQUEyQjtBQUMzQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/dist/updateOptions.cjs\n\n}");
|
|
340
|
+
|
|
341
|
+
},
|
|
342
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs"(__unused_rspack_module, exports) {
|
|
343
|
+
eval("{//#region \\0rolldown/runtime.js\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n\tif (from && typeof from === \"object\" || typeof from === \"function\") {\n\t\tfor (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {\n\t\t\tkey = keys[i];\n\t\t\tif (!__hasOwnProp.call(to, key) && key !== except) {\n\t\t\t\t__defProp(to, key, {\n\t\t\t\t\tget: ((k) => from[k]).bind(null, key),\n\t\t\t\t\tenumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\treturn to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", {\n\tvalue: mod,\n\tenumerable: true\n}) : target, mod));\n\n//#endregion\n\nexports.__toESM = __toESM;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS9kaXN0L192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUvZGlzdC9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janM/NTYwMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gXFwwcm9sbGRvd24vcnVudGltZS5qc1xudmFyIF9fY3JlYXRlID0gT2JqZWN0LmNyZWF0ZTtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2dldFByb3RvT2YgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2Y7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG5cdGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcblx0XHRmb3IgKHZhciBrZXlzID0gX19nZXRPd25Qcm9wTmFtZXMoZnJvbSksIGkgPSAwLCBuID0ga2V5cy5sZW5ndGgsIGtleTsgaSA8IG47IGkrKykge1xuXHRcdFx0a2V5ID0ga2V5c1tpXTtcblx0XHRcdGlmICghX19oYXNPd25Qcm9wLmNhbGwodG8sIGtleSkgJiYga2V5ICE9PSBleGNlcHQpIHtcblx0XHRcdFx0X19kZWZQcm9wKHRvLCBrZXksIHtcblx0XHRcdFx0XHRnZXQ6ICgoaykgPT4gZnJvbVtrXSkuYmluZChudWxsLCBrZXkpLFxuXHRcdFx0XHRcdGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlXG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRyZXR1cm4gdG87XG59O1xudmFyIF9fdG9FU00gPSAobW9kLCBpc05vZGVNb2RlLCB0YXJnZXQpID0+ICh0YXJnZXQgPSBtb2QgIT0gbnVsbCA/IF9fY3JlYXRlKF9fZ2V0UHJvdG9PZihtb2QpKSA6IHt9LCBfX2NvcHlQcm9wcyhpc05vZGVNb2RlIHx8ICFtb2QgfHwgIW1vZC5fX2VzTW9kdWxlID8gX19kZWZQcm9wKHRhcmdldCwgXCJkZWZhdWx0XCIsIHtcblx0dmFsdWU6IG1vZCxcblx0ZW51bWVyYWJsZTogdHJ1ZVxufSkgOiB0YXJnZXQsIG1vZCkpO1xuXG4vLyNlbmRyZWdpb25cblxuZXhwb3J0cy5fX3RvRVNNID0gX190b0VTTTsiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0VBQXdFLE9BQU87QUFDL0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUdBQW1HO0FBQ25HO0FBQ0E7QUFDQSxDQUFDOztBQUVEOztBQUVBLGVBQWUifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\n\n}");
|
|
344
|
+
|
|
345
|
+
},
|
|
346
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/helpers.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
347
|
+
eval("{Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });\nconst require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\");\nconst require_utils = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/utils.cjs\");\nlet _module_federation_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/index.cjs\");\n\n//#region src/helpers.ts\nconst global = {\n\t..._module_federation_runtime_core.helpers.global,\n\tgetGlobalFederationInstance: require_utils.getGlobalFederationInstance\n};\nconst share = _module_federation_runtime_core.helpers.share;\nconst utils = _module_federation_runtime_core.helpers.utils;\nconst runtimeHelpers = {\n\tglobal,\n\tshare,\n\tutils\n};\n\n//#endregion\nexports[\"default\"] = runtimeHelpers;\nexports.global = global;\nexports.share = share;\nexports.utils = utils;\n//# sourceMappingURL=helpers.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS9kaXN0L2hlbHBlcnMuY2pzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS9kaXN0L2hlbHBlcnMuY2pzPzRiNjkiXSwic291cmNlc0NvbnRlbnQiOlsiT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZXhwb3J0cywgeyBfX2VzTW9kdWxlOiB7IHZhbHVlOiB0cnVlIH0sIFtTeW1ib2wudG9TdHJpbmdUYWddOiB7IHZhbHVlOiAnTW9kdWxlJyB9IH0pO1xuY29uc3QgcmVxdWlyZV9ydW50aW1lID0gcmVxdWlyZSgnLi9fdmlydHVhbC9fcm9sbGRvd24vcnVudGltZS5janMnKTtcbmNvbnN0IHJlcXVpcmVfdXRpbHMgPSByZXF1aXJlKCcuL3V0aWxzLmNqcycpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZVwiKTtcblxuLy8jcmVnaW9uIHNyYy9oZWxwZXJzLnRzXG5jb25zdCBnbG9iYWwgPSB7XG5cdC4uLl9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuaGVscGVycy5nbG9iYWwsXG5cdGdldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZTogcmVxdWlyZV91dGlscy5nZXRHbG9iYWxGZWRlcmF0aW9uSW5zdGFuY2Vcbn07XG5jb25zdCBzaGFyZSA9IF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUuaGVscGVycy5zaGFyZTtcbmNvbnN0IHV0aWxzID0gX21vZHVsZV9mZWRlcmF0aW9uX3J1bnRpbWVfY29yZS5oZWxwZXJzLnV0aWxzO1xuY29uc3QgcnVudGltZUhlbHBlcnMgPSB7XG5cdGdsb2JhbCxcblx0c2hhcmUsXG5cdHV0aWxzXG59O1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydHMuZGVmYXVsdCA9IHJ1bnRpbWVIZWxwZXJzO1xuZXhwb3J0cy5nbG9iYWwgPSBnbG9iYWw7XG5leHBvcnRzLnNoYXJlID0gc2hhcmU7XG5leHBvcnRzLnV0aWxzID0gdXRpbHM7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWxwZXJzLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLE9BQU8sSUFBSSxjQUFjLGFBQWEsMEJBQTBCLG1CQUFtQjtBQUMzRyx3QkFBd0IsbUJBQU8sQ0FBQyw4SUFBa0M7QUFDbEUsc0JBQXNCLG1CQUFPLENBQUMseUhBQWE7QUFDM0Msc0NBQXNDLG1CQUFPLENBQUMsc0VBQWlDOztBQUUvRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxrQkFBZTtBQUNmLGNBQWM7QUFDZCxhQUFhO0FBQ2IsYUFBYTtBQUNiIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/helpers.cjs\n\n}");
|
|
348
|
+
|
|
349
|
+
},
|
|
350
|
+
"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/utils.cjs"(__unused_rspack_module, exports, __webpack_require__) {
|
|
351
|
+
eval("{const require_runtime = __webpack_require__(\"../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/_virtual/_rolldown/runtime.cjs\");\nlet _module_federation_runtime_core = __webpack_require__(\"../../../node_modules/@module-federation/runtime-core/dist/index.cjs\");\n\n//#region src/utils.ts\nfunction getBuilderId() {\n\treturn true ? \"@openmrs/esm-app-shell:10.0.1-pre.5227\" : 0;\n}\nfunction getGlobalFederationInstance(name, version) {\n\tconst buildId = getBuilderId();\n\treturn _module_federation_runtime_core.CurrentGlobal.__FEDERATION__.__INSTANCES__.find((GMInstance) => {\n\t\tif (buildId && GMInstance.options.id === buildId) return true;\n\t\tif (GMInstance.options.name === name && !GMInstance.options.version && !version) return true;\n\t\tif (GMInstance.options.name === name && version && GMInstance.options.version === version) return true;\n\t\treturn false;\n\t});\n}\n\n//#endregion\nexports.getGlobalFederationInstance = getGlobalFederationInstance;\n//# sourceMappingURL=utils.cjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9keW5hbWljfC9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3dlYnBhY2stYnVuZGxlci1ydW50aW1lL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vcnVudGltZS9kaXN0L3V0aWxzLmNqcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi93ZWJwYWNrLWJ1bmRsZXItcnVudGltZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUvZGlzdC91dGlscy5janM/Y2M1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCByZXF1aXJlX3J1bnRpbWUgPSByZXF1aXJlKCcuL192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmNqcycpO1xubGV0IF9tb2R1bGVfZmVkZXJhdGlvbl9ydW50aW1lX2NvcmUgPSByZXF1aXJlKFwiQG1vZHVsZS1mZWRlcmF0aW9uL3J1bnRpbWUtY29yZVwiKTtcblxuLy8jcmVnaW9uIHNyYy91dGlscy50c1xuZnVuY3Rpb24gZ2V0QnVpbGRlcklkKCkge1xuXHRyZXR1cm4gdHlwZW9mIEZFREVSQVRJT05fQlVJTERfSURFTlRJRklFUiAhPT0gXCJ1bmRlZmluZWRcIiA/IEZFREVSQVRJT05fQlVJTERfSURFTlRJRklFUiA6IFwiXCI7XG59XG5mdW5jdGlvbiBnZXRHbG9iYWxGZWRlcmF0aW9uSW5zdGFuY2UobmFtZSwgdmVyc2lvbikge1xuXHRjb25zdCBidWlsZElkID0gZ2V0QnVpbGRlcklkKCk7XG5cdHJldHVybiBfbW9kdWxlX2ZlZGVyYXRpb25fcnVudGltZV9jb3JlLkN1cnJlbnRHbG9iYWwuX19GRURFUkFUSU9OX18uX19JTlNUQU5DRVNfXy5maW5kKChHTUluc3RhbmNlKSA9PiB7XG5cdFx0aWYgKGJ1aWxkSWQgJiYgR01JbnN0YW5jZS5vcHRpb25zLmlkID09PSBidWlsZElkKSByZXR1cm4gdHJ1ZTtcblx0XHRpZiAoR01JbnN0YW5jZS5vcHRpb25zLm5hbWUgPT09IG5hbWUgJiYgIUdNSW5zdGFuY2Uub3B0aW9ucy52ZXJzaW9uICYmICF2ZXJzaW9uKSByZXR1cm4gdHJ1ZTtcblx0XHRpZiAoR01JbnN0YW5jZS5vcHRpb25zLm5hbWUgPT09IG5hbWUgJiYgdmVyc2lvbiAmJiBHTUluc3RhbmNlLm9wdGlvbnMudmVyc2lvbiA9PT0gdmVyc2lvbikgcmV0dXJuIHRydWU7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9KTtcbn1cblxuLy8jZW5kcmVnaW9uXG5leHBvcnRzLmdldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZSA9IGdldEdsb2JhbEZlZGVyYXRpb25JbnN0YW5jZTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmNqcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCLG1CQUFPLENBQUMsOElBQWtDO0FBQ2xFLHNDQUFzQyxtQkFBTyxDQUFDLHNFQUFpQzs7QUFFL0U7QUFDQTtBQUNBLFFBQVEsS0FBa0QsR0FBRyx3Q0FBMkIsR0FBRyxDQUFFO0FBQzdGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFO0FBQ0Y7O0FBRUE7QUFDQSxtQ0FBbUM7QUFDbkMifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/webpack-bundler-runtime/node_modules/@module-federation/runtime/dist/utils.cjs\n\n}");
|
|
352
|
+
|
|
353
|
+
},
|
|
354
|
+
"../../../node_modules/@module-federation/error-codes/dist/desc.mjs"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
355
|
+
"use strict";
|
|
356
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n buildDescMap: () => (buildDescMap),\n errorDescMap: () => (errorDescMap),\n runtimeDescMap: () => (runtimeDescMap),\n typeDescMap: () => (typeDescMap)\n});\n/* import */ var _error_codes_mjs__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/error-codes.mjs\");\n\n\n//#region src/desc.ts\nconst runtimeDescMap = {\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_001]: \"Failed to get remoteEntry exports.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_002]: \"The remote entry interface does not contain \\\"init\\\"\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_003]: \"Failed to get manifest.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_004]: \"Failed to locate remote.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_005]: \"Invalid loadShareSync function call from bundler runtime\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_006]: \"Invalid loadShareSync function call from runtime\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_007]: \"Failed to get remote snapshot.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_008]: \"Failed to load script resources.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_009]: \"Please call createInstance first.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_010]: \"The name option cannot be changed after initialization. If you want to create a new instance with a different name, please use \\\"createInstance\\\" api.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_011]: \"The remoteEntry URL is missing from the remote snapshot.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_012]: \"The getter for the shared module is not a function. This may be caused by setting \\\"shared.import: false\\\" without the host providing the corresponding lib.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_013]: \"The manifest is not a valid Module Federation manifest.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_014]: \"The remote does not expose the requested module.\",\n\t[_error_codes_mjs__rspack_import_0.RUNTIME_015]: \"Remote container initialization failed.\"\n};\nconst typeDescMap = { [_error_codes_mjs__rspack_import_0.TYPE_001]: \"Failed to generate type declaration. Execute the below cmd to reproduce and fix the error.\" };\nconst buildDescMap = {\n\t[_error_codes_mjs__rspack_import_0.BUILD_001]: \"Failed to find expose module.\",\n\t[_error_codes_mjs__rspack_import_0.BUILD_002]: \"PublicPath is required in prod mode.\"\n};\nconst errorDescMap = {\n\t...runtimeDescMap,\n\t...typeDescMap,\n\t...buildDescMap\n};\n\n//#endregion\n\n//# sourceMappingURL=desc.mjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218L2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9kZXNjLm1qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9lcnJvci1jb2Rlcy9kaXN0L2Rlc2MubWpzP2Y5YzEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQlVJTERfMDAxLCBCVUlMRF8wMDIsIFJVTlRJTUVfMDAxLCBSVU5USU1FXzAwMiwgUlVOVElNRV8wMDMsIFJVTlRJTUVfMDA0LCBSVU5USU1FXzAwNSwgUlVOVElNRV8wMDYsIFJVTlRJTUVfMDA3LCBSVU5USU1FXzAwOCwgUlVOVElNRV8wMDksIFJVTlRJTUVfMDEwLCBSVU5USU1FXzAxMSwgUlVOVElNRV8wMTIsIFJVTlRJTUVfMDEzLCBSVU5USU1FXzAxNCwgUlVOVElNRV8wMTUsIFRZUEVfMDAxIH0gZnJvbSBcIi4vZXJyb3ItY29kZXMubWpzXCI7XG5cbi8vI3JlZ2lvbiBzcmMvZGVzYy50c1xuY29uc3QgcnVudGltZURlc2NNYXAgPSB7XG5cdFtSVU5USU1FXzAwMV06IFwiRmFpbGVkIHRvIGdldCByZW1vdGVFbnRyeSBleHBvcnRzLlwiLFxuXHRbUlVOVElNRV8wMDJdOiBcIlRoZSByZW1vdGUgZW50cnkgaW50ZXJmYWNlIGRvZXMgbm90IGNvbnRhaW4gXFxcImluaXRcXFwiXCIsXG5cdFtSVU5USU1FXzAwM106IFwiRmFpbGVkIHRvIGdldCBtYW5pZmVzdC5cIixcblx0W1JVTlRJTUVfMDA0XTogXCJGYWlsZWQgdG8gbG9jYXRlIHJlbW90ZS5cIixcblx0W1JVTlRJTUVfMDA1XTogXCJJbnZhbGlkIGxvYWRTaGFyZVN5bmMgZnVuY3Rpb24gY2FsbCBmcm9tIGJ1bmRsZXIgcnVudGltZVwiLFxuXHRbUlVOVElNRV8wMDZdOiBcIkludmFsaWQgbG9hZFNoYXJlU3luYyBmdW5jdGlvbiBjYWxsIGZyb20gcnVudGltZVwiLFxuXHRbUlVOVElNRV8wMDddOiBcIkZhaWxlZCB0byBnZXQgcmVtb3RlIHNuYXBzaG90LlwiLFxuXHRbUlVOVElNRV8wMDhdOiBcIkZhaWxlZCB0byBsb2FkIHNjcmlwdCByZXNvdXJjZXMuXCIsXG5cdFtSVU5USU1FXzAwOV06IFwiUGxlYXNlIGNhbGwgY3JlYXRlSW5zdGFuY2UgZmlyc3QuXCIsXG5cdFtSVU5USU1FXzAxMF06IFwiVGhlIG5hbWUgb3B0aW9uIGNhbm5vdCBiZSBjaGFuZ2VkIGFmdGVyIGluaXRpYWxpemF0aW9uLiBJZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBuZXcgaW5zdGFuY2Ugd2l0aCBhIGRpZmZlcmVudCBuYW1lLCBwbGVhc2UgdXNlIFxcXCJjcmVhdGVJbnN0YW5jZVxcXCIgYXBpLlwiLFxuXHRbUlVOVElNRV8wMTFdOiBcIlRoZSByZW1vdGVFbnRyeSBVUkwgaXMgbWlzc2luZyBmcm9tIHRoZSByZW1vdGUgc25hcHNob3QuXCIsXG5cdFtSVU5USU1FXzAxMl06IFwiVGhlIGdldHRlciBmb3IgdGhlIHNoYXJlZCBtb2R1bGUgaXMgbm90IGEgZnVuY3Rpb24uIFRoaXMgbWF5IGJlIGNhdXNlZCBieSBzZXR0aW5nIFxcXCJzaGFyZWQuaW1wb3J0OiBmYWxzZVxcXCIgd2l0aG91dCB0aGUgaG9zdCBwcm92aWRpbmcgdGhlIGNvcnJlc3BvbmRpbmcgbGliLlwiLFxuXHRbUlVOVElNRV8wMTNdOiBcIlRoZSBtYW5pZmVzdCBpcyBub3QgYSB2YWxpZCBNb2R1bGUgRmVkZXJhdGlvbiBtYW5pZmVzdC5cIixcblx0W1JVTlRJTUVfMDE0XTogXCJUaGUgcmVtb3RlIGRvZXMgbm90IGV4cG9zZSB0aGUgcmVxdWVzdGVkIG1vZHVsZS5cIixcblx0W1JVTlRJTUVfMDE1XTogXCJSZW1vdGUgY29udGFpbmVyIGluaXRpYWxpemF0aW9uIGZhaWxlZC5cIlxufTtcbmNvbnN0IHR5cGVEZXNjTWFwID0geyBbVFlQRV8wMDFdOiBcIkZhaWxlZCB0byBnZW5lcmF0ZSB0eXBlIGRlY2xhcmF0aW9uLiBFeGVjdXRlIHRoZSBiZWxvdyBjbWQgdG8gcmVwcm9kdWNlIGFuZCBmaXggdGhlIGVycm9yLlwiIH07XG5jb25zdCBidWlsZERlc2NNYXAgPSB7XG5cdFtCVUlMRF8wMDFdOiBcIkZhaWxlZCB0byBmaW5kIGV4cG9zZSBtb2R1bGUuXCIsXG5cdFtCVUlMRF8wMDJdOiBcIlB1YmxpY1BhdGggaXMgcmVxdWlyZWQgaW4gcHJvZCBtb2RlLlwiXG59O1xuY29uc3QgZXJyb3JEZXNjTWFwID0ge1xuXHQuLi5ydW50aW1lRGVzY01hcCxcblx0Li4udHlwZURlc2NNYXAsXG5cdC4uLmJ1aWxkRGVzY01hcFxufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBidWlsZERlc2NNYXAsIGVycm9yRGVzY01hcCwgcnVudGltZURlc2NNYXAsIHR5cGVEZXNjTWFwIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZXNjLm1qcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBc1E7O0FBRXRRO0FBQ0E7QUFDQSxFQUFFLDZDQUFXO0FBQ2IsRUFBRSw2Q0FBVztBQUNiLEVBQUUsNkNBQVc7QUFDYixFQUFFLDZDQUFXO0FBQ2IsRUFBRSw2Q0FBVztBQUNiLEVBQUUsNkNBQVc7QUFDYixFQUFFLDZDQUFXO0FBQ2IsRUFBRSw2Q0FBVztBQUNiLEVBQUUsNkNBQVc7QUFDYixFQUFFLDZDQUFXO0FBQ2IsRUFBRSw2Q0FBVztBQUNiLEVBQUUsNkNBQVc7QUFDYixFQUFFLDZDQUFXO0FBQ2IsRUFBRSw2Q0FBVztBQUNiLEVBQUUsNkNBQVc7QUFDYjtBQUNBLHNCQUFzQixDQUFDLDBDQUFRO0FBQy9CO0FBQ0EsRUFBRSwyQ0FBUztBQUNYLEVBQUUsMkNBQVM7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDbUU7QUFDbkUifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/desc.mjs\n\n}");
|
|
357
|
+
|
|
358
|
+
},
|
|
359
|
+
"../../../node_modules/@module-federation/error-codes/dist/error-codes.mjs"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
360
|
+
"use strict";
|
|
361
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n BUILD_001: () => (BUILD_001),\n BUILD_002: () => (BUILD_002),\n RUNTIME_001: () => (RUNTIME_001),\n RUNTIME_002: () => (RUNTIME_002),\n RUNTIME_003: () => (RUNTIME_003),\n RUNTIME_004: () => (RUNTIME_004),\n RUNTIME_005: () => (RUNTIME_005),\n RUNTIME_006: () => (RUNTIME_006),\n RUNTIME_007: () => (RUNTIME_007),\n RUNTIME_008: () => (RUNTIME_008),\n RUNTIME_009: () => (RUNTIME_009),\n RUNTIME_010: () => (RUNTIME_010),\n RUNTIME_011: () => (RUNTIME_011),\n RUNTIME_012: () => (RUNTIME_012),\n RUNTIME_013: () => (RUNTIME_013),\n RUNTIME_014: () => (RUNTIME_014),\n RUNTIME_015: () => (RUNTIME_015),\n TYPE_001: () => (TYPE_001)\n});\n//#region src/error-codes.ts\nconst RUNTIME_001 = \"RUNTIME-001\";\nconst RUNTIME_002 = \"RUNTIME-002\";\nconst RUNTIME_003 = \"RUNTIME-003\";\nconst RUNTIME_004 = \"RUNTIME-004\";\nconst RUNTIME_005 = \"RUNTIME-005\";\nconst RUNTIME_006 = \"RUNTIME-006\";\nconst RUNTIME_007 = \"RUNTIME-007\";\nconst RUNTIME_008 = \"RUNTIME-008\";\nconst RUNTIME_009 = \"RUNTIME-009\";\nconst RUNTIME_010 = \"RUNTIME-010\";\nconst RUNTIME_011 = \"RUNTIME-011\";\nconst RUNTIME_012 = \"RUNTIME-012\";\nconst RUNTIME_013 = \"RUNTIME-013\";\nconst RUNTIME_014 = \"RUNTIME-014\";\nconst RUNTIME_015 = \"RUNTIME-015\";\nconst TYPE_001 = \"TYPE-001\";\nconst BUILD_001 = \"BUILD-001\";\nconst BUILD_002 = \"BUILD-002\";\n\n//#endregion\n\n//# sourceMappingURL=error-codes.mjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218L2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9lcnJvci1jb2Rlcy5tanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9lcnJvci1jb2Rlcy5tanM/M2M3ZCJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyNyZWdpb24gc3JjL2Vycm9yLWNvZGVzLnRzXG5jb25zdCBSVU5USU1FXzAwMSA9IFwiUlVOVElNRS0wMDFcIjtcbmNvbnN0IFJVTlRJTUVfMDAyID0gXCJSVU5USU1FLTAwMlwiO1xuY29uc3QgUlVOVElNRV8wMDMgPSBcIlJVTlRJTUUtMDAzXCI7XG5jb25zdCBSVU5USU1FXzAwNCA9IFwiUlVOVElNRS0wMDRcIjtcbmNvbnN0IFJVTlRJTUVfMDA1ID0gXCJSVU5USU1FLTAwNVwiO1xuY29uc3QgUlVOVElNRV8wMDYgPSBcIlJVTlRJTUUtMDA2XCI7XG5jb25zdCBSVU5USU1FXzAwNyA9IFwiUlVOVElNRS0wMDdcIjtcbmNvbnN0IFJVTlRJTUVfMDA4ID0gXCJSVU5USU1FLTAwOFwiO1xuY29uc3QgUlVOVElNRV8wMDkgPSBcIlJVTlRJTUUtMDA5XCI7XG5jb25zdCBSVU5USU1FXzAxMCA9IFwiUlVOVElNRS0wMTBcIjtcbmNvbnN0IFJVTlRJTUVfMDExID0gXCJSVU5USU1FLTAxMVwiO1xuY29uc3QgUlVOVElNRV8wMTIgPSBcIlJVTlRJTUUtMDEyXCI7XG5jb25zdCBSVU5USU1FXzAxMyA9IFwiUlVOVElNRS0wMTNcIjtcbmNvbnN0IFJVTlRJTUVfMDE0ID0gXCJSVU5USU1FLTAxNFwiO1xuY29uc3QgUlVOVElNRV8wMTUgPSBcIlJVTlRJTUUtMDE1XCI7XG5jb25zdCBUWVBFXzAwMSA9IFwiVFlQRS0wMDFcIjtcbmNvbnN0IEJVSUxEXzAwMSA9IFwiQlVJTEQtMDAxXCI7XG5jb25zdCBCVUlMRF8wMDIgPSBcIkJVSUxELTAwMlwiO1xuXG4vLyNlbmRyZWdpb25cbmV4cG9ydCB7IEJVSUxEXzAwMSwgQlVJTERfMDAyLCBSVU5USU1FXzAwMSwgUlVOVElNRV8wMDIsIFJVTlRJTUVfMDAzLCBSVU5USU1FXzAwNCwgUlVOVElNRV8wMDUsIFJVTlRJTUVfMDA2LCBSVU5USU1FXzAwNywgUlVOVElNRV8wMDgsIFJVTlRJTUVfMDA5LCBSVU5USU1FXzAxMCwgUlVOVElNRV8wMTEsIFJVTlRJTUVfMDEyLCBSVU5USU1FXzAxMywgUlVOVElNRV8wMTQsIFJVTlRJTUVfMDE1LCBUWVBFXzAwMSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3ItY29kZXMubWpzLm1hcCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUM2TztBQUM3TyJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/error-codes.mjs\n\n}");
|
|
362
|
+
|
|
363
|
+
},
|
|
364
|
+
"../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.mjs"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
365
|
+
"use strict";
|
|
366
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n getShortErrorMsg: () => (getShortErrorMsg)\n});\n//#region src/getShortErrorMsg.ts\nconst getDocsUrl = (errorCode) => {\n\treturn `View the docs to see how to solve: https://module-federation.io/guide/troubleshooting/${errorCode.split(\"-\")[0].toLowerCase()}#${errorCode.toLowerCase()}`;\n};\nconst getShortErrorMsg = (errorCode, errorDescMap, args, originalErrorMsg) => {\n\tconst msg = [`${[errorDescMap[errorCode]]} #${errorCode}`];\n\targs && msg.push(`args: ${JSON.stringify(args)}`);\n\tmsg.push(getDocsUrl(errorCode));\n\toriginalErrorMsg && msg.push(`Original Error Message:\\n ${originalErrorMsg}`);\n\treturn msg.join(\"\\n\");\n};\n\n//#endregion\n\n//# sourceMappingURL=getShortErrorMsg.mjs.map\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218L2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9nZXRTaG9ydEVycm9yTXNnLm1qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9lcnJvci1jb2Rlcy9kaXN0L2dldFNob3J0RXJyb3JNc2cubWpzP2JiNTkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIHNyYy9nZXRTaG9ydEVycm9yTXNnLnRzXG5jb25zdCBnZXREb2NzVXJsID0gKGVycm9yQ29kZSkgPT4ge1xuXHRyZXR1cm4gYFZpZXcgdGhlIGRvY3MgdG8gc2VlIGhvdyB0byBzb2x2ZTogaHR0cHM6Ly9tb2R1bGUtZmVkZXJhdGlvbi5pby9ndWlkZS90cm91Ymxlc2hvb3RpbmcvJHtlcnJvckNvZGUuc3BsaXQoXCItXCIpWzBdLnRvTG93ZXJDYXNlKCl9IyR7ZXJyb3JDb2RlLnRvTG93ZXJDYXNlKCl9YDtcbn07XG5jb25zdCBnZXRTaG9ydEVycm9yTXNnID0gKGVycm9yQ29kZSwgZXJyb3JEZXNjTWFwLCBhcmdzLCBvcmlnaW5hbEVycm9yTXNnKSA9PiB7XG5cdGNvbnN0IG1zZyA9IFtgJHtbZXJyb3JEZXNjTWFwW2Vycm9yQ29kZV1dfSAjJHtlcnJvckNvZGV9YF07XG5cdGFyZ3MgJiYgbXNnLnB1c2goYGFyZ3M6ICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG5cdG1zZy5wdXNoKGdldERvY3NVcmwoZXJyb3JDb2RlKSk7XG5cdG9yaWdpbmFsRXJyb3JNc2cgJiYgbXNnLnB1c2goYE9yaWdpbmFsIEVycm9yIE1lc3NhZ2U6XFxuICR7b3JpZ2luYWxFcnJvck1zZ31gKTtcblx0cmV0dXJuIG1zZy5qb2luKFwiXFxuXCIpO1xufTtcblxuLy8jZW5kcmVnaW9uXG5leHBvcnQgeyBnZXRTaG9ydEVycm9yTXNnIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRTaG9ydEVycm9yTXNnLm1qcy5tYXAiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBO0FBQ0E7QUFDQSxpR0FBaUcsc0NBQXNDLEdBQUcsd0JBQXdCO0FBQ2xLO0FBQ0E7QUFDQSxpQkFBaUIsMkJBQTJCLEdBQUcsVUFBVTtBQUN6RCwyQkFBMkIscUJBQXFCO0FBQ2hEO0FBQ0EsMkRBQTJELGlCQUFpQjtBQUM1RTtBQUNBOztBQUVBO0FBQzRCO0FBQzVCIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.mjs\n\n}");
|
|
367
|
+
|
|
368
|
+
},
|
|
369
|
+
"../../../node_modules/@module-federation/error-codes/dist/index.mjs"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
370
|
+
"use strict";
|
|
371
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n BUILD_001: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.BUILD_001),\n BUILD_002: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.BUILD_002),\n RUNTIME_001: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_001),\n RUNTIME_002: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_002),\n RUNTIME_003: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_003),\n RUNTIME_004: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_004),\n RUNTIME_005: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_005),\n RUNTIME_006: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_006),\n RUNTIME_007: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_007),\n RUNTIME_008: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_008),\n RUNTIME_009: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_009),\n RUNTIME_010: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_010),\n RUNTIME_011: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_011),\n RUNTIME_012: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_012),\n RUNTIME_013: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_013),\n RUNTIME_014: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_014),\n RUNTIME_015: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.RUNTIME_015),\n TYPE_001: () => (/* reexport safe */ _error_codes_mjs__rspack_import_0.TYPE_001),\n buildDescMap: () => (/* reexport safe */ _desc_mjs__rspack_import_1.buildDescMap),\n errorDescMap: () => (/* reexport safe */ _desc_mjs__rspack_import_1.errorDescMap),\n getShortErrorMsg: () => (/* reexport safe */ _getShortErrorMsg_mjs__rspack_import_2.getShortErrorMsg),\n runtimeDescMap: () => (/* reexport safe */ _desc_mjs__rspack_import_1.runtimeDescMap),\n typeDescMap: () => (/* reexport safe */ _desc_mjs__rspack_import_1.typeDescMap)\n});\n/* import */ var _error_codes_mjs__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/error-codes.mjs\");\n/* import */ var _getShortErrorMsg_mjs__rspack_import_2 = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/getShortErrorMsg.mjs\");\n/* import */ var _desc_mjs__rspack_import_1 = __webpack_require__(\"../../../node_modules/@module-federation/error-codes/dist/desc.mjs\");\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218L2hvbWUvcnVubmVyL3dvcmsvb3Blbm1ycy1lc20tY29yZS9vcGVubXJzLWVzbS1jb3JlL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9pbmRleC5tanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vZXJyb3ItY29kZXMvZGlzdC9pbmRleC5tanM/OWEwNyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCVUlMRF8wMDEsIEJVSUxEXzAwMiwgUlVOVElNRV8wMDEsIFJVTlRJTUVfMDAyLCBSVU5USU1FXzAwMywgUlVOVElNRV8wMDQsIFJVTlRJTUVfMDA1LCBSVU5USU1FXzAwNiwgUlVOVElNRV8wMDcsIFJVTlRJTUVfMDA4LCBSVU5USU1FXzAwOSwgUlVOVElNRV8wMTAsIFJVTlRJTUVfMDExLCBSVU5USU1FXzAxMiwgUlVOVElNRV8wMTMsIFJVTlRJTUVfMDE0LCBSVU5USU1FXzAxNSwgVFlQRV8wMDEgfSBmcm9tIFwiLi9lcnJvci1jb2Rlcy5tanNcIjtcbmltcG9ydCB7IGdldFNob3J0RXJyb3JNc2cgfSBmcm9tIFwiLi9nZXRTaG9ydEVycm9yTXNnLm1qc1wiO1xuaW1wb3J0IHsgYnVpbGREZXNjTWFwLCBlcnJvckRlc2NNYXAsIHJ1bnRpbWVEZXNjTWFwLCB0eXBlRGVzY01hcCB9IGZyb20gXCIuL2Rlc2MubWpzXCI7XG5cbmV4cG9ydCB7IEJVSUxEXzAwMSwgQlVJTERfMDAyLCBSVU5USU1FXzAwMSwgUlVOVElNRV8wMDIsIFJVTlRJTUVfMDAzLCBSVU5USU1FXzAwNCwgUlVOVElNRV8wMDUsIFJVTlRJTUVfMDA2LCBSVU5USU1FXzAwNywgUlVOVElNRV8wMDgsIFJVTlRJTUVfMDA5LCBSVU5USU1FXzAxMCwgUlVOVElNRV8wMTEsIFJVTlRJTUVfMDEyLCBSVU5USU1FXzAxMywgUlVOVElNRV8wMTQsIFJVTlRJTUVfMDE1LCBUWVBFXzAwMSwgYnVpbGREZXNjTWFwLCBlcnJvckRlc2NNYXAsIGdldFNob3J0RXJyb3JNc2csIHJ1bnRpbWVEZXNjTWFwLCB0eXBlRGVzY01hcCB9OyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFzUTtBQUM1TTtBQUMyQiJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/error-codes/dist/index.mjs\n\n}");
|
|
372
|
+
|
|
373
|
+
},
|
|
374
|
+
"../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
375
|
+
"use strict";
|
|
376
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n __exportAll: () => (__exportAll)\n});\n//#region \\0rolldown/runtime.js\nvar __defProp = Object.defineProperty;\nvar __exportAll = function __exportAll(all, no_symbols) {\n var target = {};\n for(var name in all){\n __defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n }\n if (!no_symbols) {\n __defProp(target, Symbol.toStringTag, {\n value: \"Module\"\n });\n }\n return target;\n};\n//#endregion\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L192aXJ0dWFsL19yb2xsZG93bi9ydW50aW1lLmpzP2QyNjMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8jcmVnaW9uIFxcMHJvbGxkb3duL3J1bnRpbWUuanNcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19leHBvcnRBbGwgPSAoYWxsLCBub19zeW1ib2xzKSA9PiB7XG5cdGxldCB0YXJnZXQgPSB7fTtcblx0Zm9yICh2YXIgbmFtZSBpbiBhbGwpIHtcblx0XHRfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7XG5cdFx0XHRnZXQ6IGFsbFtuYW1lXSxcblx0XHRcdGVudW1lcmFibGU6IHRydWVcblx0XHR9KTtcblx0fVxuXHRpZiAoIW5vX3N5bWJvbHMpIHtcblx0XHRfX2RlZlByb3AodGFyZ2V0LCBTeW1ib2wudG9TdHJpbmdUYWcsIHsgdmFsdWU6IFwiTW9kdWxlXCIgfSk7XG5cdH1cblx0cmV0dXJuIHRhcmdldDtcbn07XG5cbi8vI2VuZHJlZ2lvblxuZXhwb3J0IHsgX19leHBvcnRBbGwgfTsiXSwibmFtZXMiOlsiX19kZWZQcm9wIiwiT2JqZWN0IiwiX19leHBvcnRBbGwiLCJhbGwiLCJub19zeW1ib2xzIiwidGFyZ2V0IiwibmFtZSIsIlN5bWJvbCJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLCtCQUErQjtBQUMvQixJQUFJQSxZQUFZQyxPQUFPLGNBQWM7QUFDckMsSUFBSUMsY0FBYyxxQkFBQ0MsS0FBS0M7SUFDdkIsSUFBSUMsU0FBUyxDQUFDO0lBQ2QsSUFBSyxJQUFJQyxRQUFRSCxJQUFLO1FBQ3JCSCxVQUFVSyxRQUFRQyxNQUFNO1lBQ3ZCLEtBQUtILEdBQUcsQ0FBQ0csS0FBSztZQUNkLFlBQVk7UUFDYjtJQUNEO0lBQ0EsSUFBSSxDQUFDRixZQUFZO1FBQ2hCSixVQUFVSyxRQUFRRSxPQUFPLFdBQVcsRUFBRTtZQUFFLE9BQU87UUFBUztJQUN6RDtJQUNBLE9BQU9GO0FBQ1I7QUFFQSxZQUFZO0FBQ1cifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js\n\n}");
|
|
377
|
+
|
|
378
|
+
},
|
|
379
|
+
"../../../node_modules/@module-federation/sdk/dist/constant.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
380
|
+
"use strict";
|
|
381
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n BROWSER_LOG_KEY: () => (BROWSER_LOG_KEY),\n ENCODE_NAME_PREFIX: () => (ENCODE_NAME_PREFIX),\n EncodedNameTransformMap: () => (EncodedNameTransformMap),\n FederationModuleManifest: () => (FederationModuleManifest),\n MANIFEST_EXT: () => (MANIFEST_EXT),\n MFModuleType: () => (MFModuleType),\n MODULE_DEVTOOL_IDENTIFIER: () => (MODULE_DEVTOOL_IDENTIFIER),\n ManifestFileName: () => (ManifestFileName),\n NameTransformMap: () => (NameTransformMap),\n NameTransformSymbol: () => (NameTransformSymbol),\n SEPARATOR: () => (SEPARATOR),\n StatsFileName: () => (StatsFileName),\n TEMP_DIR: () => (TEMP_DIR),\n TreeShakingStatus: () => (TreeShakingStatus)\n});\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n//#region src/constant.ts\nvar FederationModuleManifest = \"federation-manifest.json\";\nvar MANIFEST_EXT = \".json\";\nvar BROWSER_LOG_KEY = \"FEDERATION_DEBUG\";\nvar NameTransformSymbol = {\n AT: \"@\",\n HYPHEN: \"-\",\n SLASH: \"/\"\n};\nvar _obj;\nvar NameTransformMap = (_obj = {}, _define_property(_obj, NameTransformSymbol.AT, \"scope_\"), _define_property(_obj, NameTransformSymbol.HYPHEN, \"_\"), _define_property(_obj, NameTransformSymbol.SLASH, \"__\"), _obj);\nvar _obj1;\nvar EncodedNameTransformMap = (_obj1 = {}, _define_property(_obj1, NameTransformMap[NameTransformSymbol.AT], NameTransformSymbol.AT), _define_property(_obj1, NameTransformMap[NameTransformSymbol.HYPHEN], NameTransformSymbol.HYPHEN), _define_property(_obj1, NameTransformMap[NameTransformSymbol.SLASH], NameTransformSymbol.SLASH), _obj1);\nvar SEPARATOR = \":\";\nvar ManifestFileName = \"mf-manifest.json\";\nvar StatsFileName = \"mf-stats.json\";\nvar MFModuleType = {\n NPM: \"npm\",\n APP: \"app\"\n};\nvar MODULE_DEVTOOL_IDENTIFIER = \"__MF_DEVTOOLS_MODULE_INFO__\";\nvar ENCODE_NAME_PREFIX = \"ENCODE_NAME_PREFIX\";\nvar TEMP_DIR = \".federation\";\nvar TreeShakingStatus = /* @__PURE__ */ function(TreeShakingStatus) {\n /**\n\t* Not handled by deploy server, needs to infer by the real runtime period.\n\t*/ TreeShakingStatus[TreeShakingStatus[\"UNKNOWN\"] = 1] = \"UNKNOWN\";\n /**\n\t* It means the shared has been calculated , runtime should take this shared as first choice.\n\t*/ TreeShakingStatus[TreeShakingStatus[\"CALCULATED\"] = 2] = \"CALCULATED\";\n /**\n\t* It means the shared has been calculated, and marked as no used\n\t*/ TreeShakingStatus[TreeShakingStatus[\"NO_USE\"] = 0] = \"NO_USE\";\n return TreeShakingStatus;\n}({});\n//#endregion\n //# sourceMappingURL=constant.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2NvbnN0YW50LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9zcmMvY29uc3RhbnQudHM/MTQ2NyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRmVkZXJhdGlvbk1vZHVsZU1hbmlmZXN0ID0gJ2ZlZGVyYXRpb24tbWFuaWZlc3QuanNvbic7XG5leHBvcnQgY29uc3QgTUFOSUZFU1RfRVhUID0gJy5qc29uJztcblxuZXhwb3J0IGNvbnN0IEJST1dTRVJfTE9HX0tFWSA9ICdGRURFUkFUSU9OX0RFQlVHJztcblxuZXhwb3J0IGNvbnN0IE5hbWVUcmFuc2Zvcm1TeW1ib2wgPSB7XG4gIEFUOiAnQCcsXG4gIEhZUEhFTjogJy0nLFxuICBTTEFTSDogJy8nLFxufSBhcyBjb25zdDtcbmV4cG9ydCBjb25zdCBOYW1lVHJhbnNmb3JtTWFwID0ge1xuICBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF06ICdzY29wZV8nLFxuICBbTmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU5dOiAnXycsXG4gIFtOYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIXTogJ19fJyxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBFbmNvZGVkTmFtZVRyYW5zZm9ybU1hcCA9IHtcbiAgW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLkFULFxuICBbTmFtZVRyYW5zZm9ybU1hcFtOYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTl1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTixcbiAgW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSF1dOiBOYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNILFxufTtcblxuZXhwb3J0IGNvbnN0IFNFUEFSQVRPUiA9ICc6JztcblxuZXhwb3J0IGNvbnN0IE1hbmlmZXN0RmlsZU5hbWUgPSAnbWYtbWFuaWZlc3QuanNvbic7XG5leHBvcnQgY29uc3QgU3RhdHNGaWxlTmFtZSA9ICdtZi1zdGF0cy5qc29uJztcblxuZXhwb3J0IGNvbnN0IE1GTW9kdWxlVHlwZSA9IHtcbiAgTlBNOiAnbnBtJyxcbiAgQVBQOiAnYXBwJyxcbn07XG5cbmV4cG9ydCBjb25zdCBNT0RVTEVfREVWVE9PTF9JREVOVElGSUVSID0gJ19fTUZfREVWVE9PTFNfTU9EVUxFX0lORk9fXyc7XG5leHBvcnQgY29uc3QgRU5DT0RFX05BTUVfUFJFRklYID0gJ0VOQ09ERV9OQU1FX1BSRUZJWCc7XG5leHBvcnQgY29uc3QgVEVNUF9ESVIgPSAnLmZlZGVyYXRpb24nO1xuXG5leHBvcnQgY29uc3QgZW51bSBUcmVlU2hha2luZ1N0YXR1cyB7XG4gIC8qKlxuICAgKiBOb3QgaGFuZGxlZCBieSBkZXBsb3kgc2VydmVyLCBuZWVkcyB0byBpbmZlciBieSB0aGUgcmVhbCBydW50aW1lIHBlcmlvZC5cbiAgICovXG4gIFVOS05PV04gPSAxLFxuICAvKipcbiAgICogSXQgbWVhbnMgdGhlIHNoYXJlZCBoYXMgYmVlbiBjYWxjdWxhdGVkICwgcnVudGltZSBzaG91bGQgdGFrZSB0aGlzIHNoYXJlZCBhcyBmaXJzdCBjaG9pY2UuXG4gICAqL1xuICBDQUxDVUxBVEVEID0gMixcbiAgLyoqXG4gICAqIEl0IG1lYW5zIHRoZSBzaGFyZWQgaGFzIGJlZW4gY2FsY3VsYXRlZCwgYW5kIG1hcmtlZCBhcyBubyB1c2VkXG4gICAqL1xuICBOT19VU0UgPSAwLFxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFhLDJCQUEyQjtBQUN4QyxJQUFhLGVBQWU7QUFFNUIsSUFBYSxrQkFBa0I7QUFFL0IsSUFBYSxzQkFBc0I7SUFDakMsSUFBSTtJQUNKLFFBQVE7SUFDUixPQUFPO0NBQ1I7SUFDK0I7QUFBaEMsSUFBYSxzREFDVixvQkFBb0IsSUFBSyxrQ0FDekIsb0JBQW9CLFFBQVMsNkJBQzdCLG9CQUFvQixPQUFROztBQUcvQixJQUFhLCtEQUNWLGlCQUFpQixvQkFBb0IsS0FBTSxvQkFBb0IsNkJBQy9ELGlCQUFpQixvQkFBb0IsU0FBVSxvQkFBb0IsaUNBQ25FLGlCQUFpQixvQkFBb0IsUUFBUyxvQkFBb0IsUUFIOUI7QUFNdkMsSUFBYSxZQUFZO0FBRXpCLElBQWEsbUJBQW1CO0FBQ2hDLElBQWEsZ0JBQWdCO0FBRTdCLElBQWEsZUFBZTtJQUMxQixLQUFLO0lBQ0wsS0FBSztDQUNOO0FBRUQsSUFBYSw0QkFBNEI7QUFDekMsSUFBYSxxQkFBcUI7QUFDbEMsSUFBYSxXQUFXO0FBRXhCLElBQWtCLGdFQUFYOzs7SUFJTDs7O0lBSUE7OztJQUlBIn0=\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/constant.js\n\n}");
|
|
382
|
+
|
|
383
|
+
},
|
|
384
|
+
"../../../node_modules/@module-federation/sdk/dist/createModuleFederationConfig.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
385
|
+
"use strict";
|
|
386
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n createModuleFederationConfig: () => (createModuleFederationConfig)\n});\n//#region src/createModuleFederationConfig.ts\nvar createModuleFederationConfig = function createModuleFederationConfig(options) {\n return options;\n};\n//#endregion\n //# sourceMappingURL=createModuleFederationConfig.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2NyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL3NyYy9jcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnLnRzP2YxYzAiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBtb2R1bGVGZWRlcmF0aW9uUGx1Z2luIH0gZnJvbSAnLi90eXBlcy9wbHVnaW5zJztcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcgPSAoXG4gIG9wdGlvbnM6IG1vZHVsZUZlZGVyYXRpb25QbHVnaW4uTW9kdWxlRmVkZXJhdGlvblBsdWdpbk9wdGlvbnMsXG4pOiBtb2R1bGVGZWRlcmF0aW9uUGx1Z2luLk1vZHVsZUZlZGVyYXRpb25QbHVnaW5PcHRpb25zID0+IHtcbiAgcmV0dXJuIG9wdGlvbnM7XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBYSxxRUFDWDtJQUVBLE9BQU8ifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/createModuleFederationConfig.js\n\n}");
|
|
387
|
+
|
|
388
|
+
},
|
|
389
|
+
"../../../node_modules/@module-federation/sdk/dist/dom.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
390
|
+
"use strict";
|
|
391
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n createLink: () => (createLink),\n createScript: () => (createScript),\n isStaticResourcesEqual: () => (isStaticResourcesEqual),\n loadScript: () => (loadScript),\n safeWrapper: () => (safeWrapper)\n});\n/* import */ var _utils_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/utils.js\");\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype), d = Object.defineProperty;\n return d(g, \"next\", {\n value: verb(0)\n }), d(g, \"throw\", {\n value: verb(1)\n }), d(g, \"return\", {\n value: verb(2)\n }), typeof Symbol === \"function\" && d(g, Symbol.iterator, {\n value: function() {\n return this;\n }\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n\n//#region src/dom.ts\nfunction safeWrapper(callback, disableWarn) {\n return _async_to_generator(function() {\n var e;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n _state.trys.push([\n 0,\n 2,\n ,\n 3\n ]);\n return [\n 4,\n callback()\n ];\n case 1:\n return [\n 2,\n _state.sent()\n ];\n case 2:\n e = _state.sent();\n !disableWarn && (0,_utils_js__rspack_import_0.warn)(e);\n return [\n 2\n ];\n case 3:\n return [\n 2\n ];\n }\n });\n })();\n}\nfunction isStaticResourcesEqual(url1, url2) {\n var REG_EXP = /^(https?:)?\\/\\//i;\n return url1.replace(REG_EXP, \"\").replace(/\\/$/, \"\") === url2.replace(REG_EXP, \"\").replace(/\\/$/, \"\");\n}\nfunction createScript(info) {\n var script = null;\n var needAttach = true;\n var timeout = 2e4;\n var timeoutId;\n var scripts = document.getElementsByTagName(\"script\");\n for(var i = 0; i < scripts.length; i++){\n var s = scripts[i];\n var scriptSrc = s.getAttribute(\"src\");\n if (scriptSrc && isStaticResourcesEqual(scriptSrc, info.url)) {\n script = s;\n needAttach = false;\n break;\n }\n }\n if (!script) {\n var attrs = info.attrs;\n script = document.createElement(\"script\");\n script.type = (attrs === null || attrs === void 0 ? void 0 : attrs[\"type\"]) === \"module\" ? \"module\" : \"text/javascript\";\n var createScriptRes = void 0;\n if (info.createScriptHook) {\n createScriptRes = info.createScriptHook(info.url, info.attrs);\n if (_instanceof(createScriptRes, HTMLScriptElement)) script = createScriptRes;\n else if ((typeof createScriptRes === \"undefined\" ? \"undefined\" : _type_of(createScriptRes)) === \"object\") {\n if (\"script\" in createScriptRes && createScriptRes.script) script = createScriptRes.script;\n if (\"timeout\" in createScriptRes && createScriptRes.timeout) timeout = createScriptRes.timeout;\n }\n }\n if (!script.src) script.src = info.url;\n if (attrs && !createScriptRes) Object.keys(attrs).forEach(function(name) {\n if (script) {\n if (name === \"async\" || name === \"defer\") script[name] = attrs[name];\n else if (!script.getAttribute(name)) script.setAttribute(name, attrs[name]);\n }\n });\n }\n var executionError = null;\n var executionErrorHandler = typeof window !== \"undefined\" ? function(evt) {\n if (evt.filename && isStaticResourcesEqual(evt.filename, info.url)) {\n var err = /* @__PURE__ */ new Error('ScriptExecutionError: Script \"'.concat(info.url, '\" loaded but threw a runtime error during execution: ').concat(evt.message, \" (\").concat(evt.filename, \":\").concat(evt.lineno, \":\").concat(evt.colno, \")\"));\n err.name = \"ScriptExecutionError\";\n executionError = err;\n }\n } : null;\n if (executionErrorHandler) window.addEventListener(\"error\", executionErrorHandler);\n var onScriptComplete = function onScriptComplete(prev, event) {\n return _async_to_generator(function() {\n var onScriptCompleteCallback, result, res;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n clearTimeout(timeoutId);\n if (executionErrorHandler) window.removeEventListener(\"error\", executionErrorHandler);\n onScriptCompleteCallback = function onScriptCompleteCallback() {\n if ((event === null || event === void 0 ? void 0 : event.type) === \"error\") {\n var networkError = /* @__PURE__ */ new Error((event === null || event === void 0 ? void 0 : event.isTimeout) ? 'ScriptNetworkError: Script \"'.concat(info.url, '\" timed out.') : 'ScriptNetworkError: Failed to load script \"'.concat(info.url, '\" - the script URL is unreachable or the server returned an error (network failure, 404, CORS, etc.)'));\n networkError.name = \"ScriptNetworkError\";\n (info === null || info === void 0 ? void 0 : info.onErrorCallback) && (info === null || info === void 0 ? void 0 : info.onErrorCallback(networkError));\n } else if (executionError) (info === null || info === void 0 ? void 0 : info.onErrorCallback) && (info === null || info === void 0 ? void 0 : info.onErrorCallback(executionError));\n else (info === null || info === void 0 ? void 0 : info.cb) && (info === null || info === void 0 ? void 0 : info.cb());\n };\n if (!script) return [\n 3,\n 3\n ];\n script.onerror = null;\n script.onload = null;\n safeWrapper(function() {\n var _info_needDeleteScript = info.needDeleteScript, needDeleteScript = _info_needDeleteScript === void 0 ? true : _info_needDeleteScript;\n if (needDeleteScript) (script === null || script === void 0 ? void 0 : script.parentNode) && script.parentNode.removeChild(script);\n });\n if (!(prev && typeof prev === \"function\")) return [\n 3,\n 3\n ];\n result = prev(event);\n if (!_instanceof(result, Promise)) return [\n 3,\n 2\n ];\n return [\n 4,\n result\n ];\n case 1:\n res = _state.sent();\n onScriptCompleteCallback();\n return [\n 2,\n res\n ];\n case 2:\n onScriptCompleteCallback();\n return [\n 2,\n result\n ];\n case 3:\n onScriptCompleteCallback();\n return [\n 2\n ];\n }\n });\n })();\n };\n script.onerror = onScriptComplete.bind(null, script.onerror);\n script.onload = onScriptComplete.bind(null, script.onload);\n timeoutId = setTimeout(function() {\n onScriptComplete(null, {\n type: \"error\",\n isTimeout: true\n });\n }, timeout);\n return {\n script: script,\n needAttach: needAttach\n };\n}\nfunction createLink(info) {\n var link = null;\n var needAttach = true;\n var timeout = 2e4;\n var timeoutId;\n var links = document.getElementsByTagName(\"link\");\n for(var i = 0; i < links.length; i++){\n var l = links[i];\n var linkHref = l.getAttribute(\"href\");\n var linkRel = l.getAttribute(\"rel\");\n if (linkHref && isStaticResourcesEqual(linkHref, info.url) && linkRel === info.attrs[\"rel\"]) {\n link = l;\n needAttach = false;\n break;\n }\n }\n if (!link) {\n link = document.createElement(\"link\");\n link.setAttribute(\"href\", info.url);\n var createLinkRes = void 0;\n var shouldApplyAttrs = true;\n var attrs = info.attrs;\n if (info.createLinkHook) {\n createLinkRes = info.createLinkHook(info.url, attrs);\n if (_instanceof(createLinkRes, HTMLLinkElement)) {\n link = createLinkRes;\n shouldApplyAttrs = false;\n } else if ((typeof createLinkRes === \"undefined\" ? \"undefined\" : _type_of(createLinkRes)) === \"object\") {\n if (\"link\" in createLinkRes && createLinkRes.link) {\n link = createLinkRes.link;\n shouldApplyAttrs = false;\n }\n if (\"timeout\" in createLinkRes && createLinkRes.timeout) timeout = createLinkRes.timeout;\n }\n }\n if (attrs && shouldApplyAttrs) Object.keys(attrs).forEach(function(name) {\n if (link && !link.getAttribute(name)) link.setAttribute(name, attrs[name]);\n });\n }\n if (!needAttach) {\n Promise.resolve().then(function() {\n (info === null || info === void 0 ? void 0 : info.cb) && (info === null || info === void 0 ? void 0 : info.cb());\n });\n return {\n link: link,\n needAttach: needAttach\n };\n }\n var onLinkComplete = function onLinkComplete(prev, event) {\n if (timeoutId) clearTimeout(timeoutId);\n var onLinkCompleteCallback = function onLinkCompleteCallback() {\n if ((event === null || event === void 0 ? void 0 : event.type) === \"error\") {\n var linkError = /* @__PURE__ */ new Error((event === null || event === void 0 ? void 0 : event.isTimeout) ? 'LinkNetworkError: Link \"'.concat(info.url, '\" timed out.') : 'LinkNetworkError: Failed to load link \"'.concat(info.url, '\" - the URL is unreachable or the server returned an error.'));\n linkError.name = \"LinkNetworkError\";\n (info === null || info === void 0 ? void 0 : info.onErrorCallback) && (info === null || info === void 0 ? void 0 : info.onErrorCallback(linkError));\n } else (info === null || info === void 0 ? void 0 : info.cb) && (info === null || info === void 0 ? void 0 : info.cb());\n };\n if (link) {\n link.onerror = null;\n link.onload = null;\n safeWrapper(function() {\n var _info_needDeleteLink = info.needDeleteLink, needDeleteLink = _info_needDeleteLink === void 0 ? true : _info_needDeleteLink;\n if (needDeleteLink) (link === null || link === void 0 ? void 0 : link.parentNode) && link.parentNode.removeChild(link);\n });\n if (prev) {\n var res = prev(event);\n onLinkCompleteCallback();\n return res;\n }\n }\n onLinkCompleteCallback();\n };\n link.onerror = onLinkComplete.bind(null, link.onerror);\n link.onload = onLinkComplete.bind(null, link.onload);\n timeoutId = setTimeout(function() {\n onLinkComplete(null, {\n type: \"error\",\n isTimeout: true\n });\n }, timeout);\n return {\n link: link,\n needAttach: needAttach\n };\n}\nfunction loadScript(url, info) {\n var _info_attrs = info.attrs, attrs = _info_attrs === void 0 ? {} : _info_attrs, createScriptHook = info.createScriptHook;\n return new Promise(function(resolve, reject) {\n var _createScript = createScript({\n url: url,\n cb: resolve,\n onErrorCallback: reject,\n attrs: _object_spread({\n fetchpriority: \"high\"\n }, attrs),\n createScriptHook: createScriptHook,\n needDeleteScript: true\n }), script = _createScript.script, needAttach = _createScript.needAttach;\n needAttach && document.head.appendChild(script);\n });\n}\n//#endregion\n //# sourceMappingURL=dom.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2RvbS5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvc3JjL2RvbS50cz80MjY2Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ3JlYXRlTGlua0hvb2tEb20sXG4gIENyZWF0ZUxpbmtIb29rUmV0dXJuRG9tLFxuICBDcmVhdGVTY3JpcHRIb29rRG9tLFxuICBDcmVhdGVTY3JpcHRIb29rUmV0dXJuRG9tLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHdhcm4gfSBmcm9tICcuL3V0aWxzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2FmZVdyYXBwZXI8VCBleHRlbmRzICguLi5hcmdzOiBBcnJheTxhbnk+KSA9PiBhbnk+KFxuICBjYWxsYmFjazogVCxcbiAgZGlzYWJsZVdhcm4/OiBib29sZWFuLFxuKTogUHJvbWlzZTxSZXR1cm5UeXBlPFQ+IHwgdW5kZWZpbmVkPiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgY2FsbGJhY2soKTtcbiAgICByZXR1cm4gcmVzO1xuICB9IGNhdGNoIChlKSB7XG4gICAgIWRpc2FibGVXYXJuICYmIHdhcm4oZSk7XG4gICAgcmV0dXJuO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKHVybDE6IHN0cmluZywgdXJsMjogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IFJFR19FWFAgPSAvXihodHRwcz86KT9cXC9cXC8vaTtcbiAgLy8gVHJhbnNmb3JtIHVybDEgYW5kIHVybDIgaW50byByZWxhdGl2ZSBwYXRoc1xuICBjb25zdCByZWxhdGl2ZVVybDEgPSB1cmwxLnJlcGxhY2UoUkVHX0VYUCwgJycpLnJlcGxhY2UoL1xcLyQvLCAnJyk7XG4gIGNvbnN0IHJlbGF0aXZlVXJsMiA9IHVybDIucmVwbGFjZShSRUdfRVhQLCAnJykucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgLy8gQ2hlY2sgaWYgdGhlIHJlbGF0aXZlIHBhdGhzIGFyZSBpZGVudGljYWxcbiAgcmV0dXJuIHJlbGF0aXZlVXJsMSA9PT0gcmVsYXRpdmVVcmwyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2NyaXB0KGluZm86IHtcbiAgdXJsOiBzdHJpbmc7XG4gIGNiPzogKHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ7XG4gIG9uRXJyb3JDYWxsYmFjaz86IChlcnJvcjogRXJyb3IpID0+IHZvaWQ7XG4gIGF0dHJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbmVlZERlbGV0ZVNjcmlwdD86IGJvb2xlYW47XG4gIGNyZWF0ZVNjcmlwdEhvb2s/OiBDcmVhdGVTY3JpcHRIb29rRG9tO1xufSk6IHsgc2NyaXB0OiBIVE1MU2NyaXB0RWxlbWVudDsgbmVlZEF0dGFjaDogYm9vbGVhbiB9IHtcbiAgLy8gUmV0cmlldmUgdGhlIGV4aXN0aW5nIHNjcmlwdCBlbGVtZW50IGJ5IGl0cyBzcmMgYXR0cmlidXRlXG4gIGxldCBzY3JpcHQ6IEhUTUxTY3JpcHRFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIGxldCBuZWVkQXR0YWNoID0gdHJ1ZTtcbiAgbGV0IHRpbWVvdXQgPSAyMDAwMDtcbiAgbGV0IHRpbWVvdXRJZDogTm9kZUpTLlRpbWVvdXQ7XG4gIGNvbnN0IHNjcmlwdHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0Jyk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBzY3JpcHRzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgcyA9IHNjcmlwdHNbaV07XG4gICAgY29uc3Qgc2NyaXB0U3JjID0gcy5nZXRBdHRyaWJ1dGUoJ3NyYycpO1xuICAgIGlmIChzY3JpcHRTcmMgJiYgaXNTdGF0aWNSZXNvdXJjZXNFcXVhbChzY3JpcHRTcmMsIGluZm8udXJsKSkge1xuICAgICAgc2NyaXB0ID0gcztcbiAgICAgIG5lZWRBdHRhY2ggPSBmYWxzZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmICghc2NyaXB0KSB7XG4gICAgY29uc3QgYXR0cnMgPSBpbmZvLmF0dHJzO1xuICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICAgIHNjcmlwdC50eXBlID0gYXR0cnM/LlsndHlwZSddID09PSAnbW9kdWxlJyA/ICdtb2R1bGUnIDogJ3RleHQvamF2YXNjcmlwdCc7XG4gICAgbGV0IGNyZWF0ZVNjcmlwdFJlczogQ3JlYXRlU2NyaXB0SG9va1JldHVybkRvbSA9IHVuZGVmaW5lZDtcbiAgICBpZiAoaW5mby5jcmVhdGVTY3JpcHRIb29rKSB7XG4gICAgICBjcmVhdGVTY3JpcHRSZXMgPSBpbmZvLmNyZWF0ZVNjcmlwdEhvb2soaW5mby51cmwsIGluZm8uYXR0cnMpO1xuXG4gICAgICBpZiAoY3JlYXRlU2NyaXB0UmVzIGluc3RhbmNlb2YgSFRNTFNjcmlwdEVsZW1lbnQpIHtcbiAgICAgICAgc2NyaXB0ID0gY3JlYXRlU2NyaXB0UmVzO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgY3JlYXRlU2NyaXB0UmVzID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAoJ3NjcmlwdCcgaW4gY3JlYXRlU2NyaXB0UmVzICYmIGNyZWF0ZVNjcmlwdFJlcy5zY3JpcHQpIHtcbiAgICAgICAgICBzY3JpcHQgPSBjcmVhdGVTY3JpcHRSZXMuc2NyaXB0O1xuICAgICAgICB9XG4gICAgICAgIGlmICgndGltZW91dCcgaW4gY3JlYXRlU2NyaXB0UmVzICYmIGNyZWF0ZVNjcmlwdFJlcy50aW1lb3V0KSB7XG4gICAgICAgICAgdGltZW91dCA9IGNyZWF0ZVNjcmlwdFJlcy50aW1lb3V0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICghc2NyaXB0LnNyYykge1xuICAgICAgc2NyaXB0LnNyYyA9IGluZm8udXJsO1xuICAgIH1cbiAgICBpZiAoYXR0cnMgJiYgIWNyZWF0ZVNjcmlwdFJlcykge1xuICAgICAgT2JqZWN0LmtleXMoYXR0cnMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgaWYgKHNjcmlwdCkge1xuICAgICAgICAgIGlmIChuYW1lID09PSAnYXN5bmMnIHx8IG5hbWUgPT09ICdkZWZlcicpIHtcbiAgICAgICAgICAgIHNjcmlwdFtuYW1lXSA9IGF0dHJzW25hbWVdO1xuICAgICAgICAgICAgLy8gQXR0cmlidXRlcyB0aGF0IGRvIG5vdCBleGlzdCBhcmUgY29uc2lkZXJlZCBvdmVycmlkZGVuXG4gICAgICAgICAgfSBlbHNlIGlmICghc2NyaXB0LmdldEF0dHJpYnV0ZShuYW1lKSkge1xuICAgICAgICAgICAgc2NyaXB0LnNldEF0dHJpYnV0ZShuYW1lLCBhdHRyc1tuYW1lXSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBDYXB0dXJlIEpTIHJ1bnRpbWUgZXJyb3JzIHRocm93biBieSB0aGlzIHNjcmlwdCdzIElJRkUgZHVyaW5nIGV4ZWN1dGlvbi5cbiAgLy8gVGhlIGJyb3dzZXIgc3RpbGwgZmlyZXMgb25sb2FkIGV2ZW4gd2hlbiB0aGUgc2NyaXB0IHRocm93cywgc28gd2l0aG91dCB0aGlzXG4gIC8vIGxpc3RlbmVyIHRoZSBleGVjdXRpb24gZXJyb3Igd291bGQgc2lsZW50bHkgYmVjb21lIGFuIHVuY2F1Z2h0IGdsb2JhbCBleGNlcHRpb24uXG4gIGxldCBleGVjdXRpb25FcnJvcjogRXJyb3IgfCBudWxsID0gbnVsbDtcbiAgY29uc3QgZXhlY3V0aW9uRXJyb3JIYW5kbGVyID1cbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJ1xuICAgICAgPyAoZXZ0OiBFcnJvckV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2dC5maWxlbmFtZSAmJiBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKGV2dC5maWxlbmFtZSwgaW5mby51cmwpKSB7XG4gICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRXJyb3IoXG4gICAgICAgICAgICAgIGBTY3JpcHRFeGVjdXRpb25FcnJvcjogU2NyaXB0IFwiJHtpbmZvLnVybH1cIiBsb2FkZWQgYnV0IHRocmV3IGEgcnVudGltZSBlcnJvciBkdXJpbmcgZXhlY3V0aW9uOiAke2V2dC5tZXNzYWdlfSAoJHtldnQuZmlsZW5hbWV9OiR7ZXZ0LmxpbmVub306JHtldnQuY29sbm99KWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXJyLm5hbWUgPSAnU2NyaXB0RXhlY3V0aW9uRXJyb3InO1xuICAgICAgICAgICAgZXhlY3V0aW9uRXJyb3IgPSBlcnI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA6IG51bGw7XG4gIGlmIChleGVjdXRpb25FcnJvckhhbmRsZXIpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCBleGVjdXRpb25FcnJvckhhbmRsZXIpO1xuICB9XG5cbiAgY29uc3Qgb25TY3JpcHRDb21wbGV0ZSA9IGFzeW5jIChcbiAgICBwcmV2OiBPbkVycm9yRXZlbnRIYW5kbGVyIHwgR2xvYmFsRXZlbnRIYW5kbGVyc1snb25sb2FkJ10gfCBudWxsLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZXZlbnQ6IGFueSxcbiAgKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgaWYgKGV4ZWN1dGlvbkVycm9ySGFuZGxlcikge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgZXhlY3V0aW9uRXJyb3JIYW5kbGVyKTtcbiAgICB9XG4gICAgY29uc3Qgb25TY3JpcHRDb21wbGV0ZUNhbGxiYWNrID0gKCkgPT4ge1xuICAgICAgaWYgKGV2ZW50Py50eXBlID09PSAnZXJyb3InKSB7XG4gICAgICAgIGNvbnN0IG5ldHdvcmtFcnJvciA9IG5ldyBFcnJvcihcbiAgICAgICAgICBldmVudD8uaXNUaW1lb3V0XG4gICAgICAgICAgICA/IGBTY3JpcHROZXR3b3JrRXJyb3I6IFNjcmlwdCBcIiR7aW5mby51cmx9XCIgdGltZWQgb3V0LmBcbiAgICAgICAgICAgIDogYFNjcmlwdE5ldHdvcmtFcnJvcjogRmFpbGVkIHRvIGxvYWQgc2NyaXB0IFwiJHtpbmZvLnVybH1cIiAtIHRoZSBzY3JpcHQgVVJMIGlzIHVucmVhY2hhYmxlIG9yIHRoZSBzZXJ2ZXIgcmV0dXJuZWQgYW4gZXJyb3IgKG5ldHdvcmsgZmFpbHVyZSwgNDA0LCBDT1JTLCBldGMuKWAsXG4gICAgICAgICk7XG4gICAgICAgIG5ldHdvcmtFcnJvci5uYW1lID0gJ1NjcmlwdE5ldHdvcmtFcnJvcic7XG4gICAgICAgIGluZm8/Lm9uRXJyb3JDYWxsYmFjayAmJiBpbmZvPy5vbkVycm9yQ2FsbGJhY2sobmV0d29ya0Vycm9yKTtcbiAgICAgIH0gZWxzZSBpZiAoZXhlY3V0aW9uRXJyb3IpIHtcbiAgICAgICAgLy8gU2NyaXB0IGZldGNoZWQgT0sgKG9ubG9hZCBmaXJlZCkgYnV0IElJRkUgdGhyZXcgZHVyaW5nIGV4ZWN1dGlvbi5cbiAgICAgICAgaW5mbz8ub25FcnJvckNhbGxiYWNrICYmIGluZm8/Lm9uRXJyb3JDYWxsYmFjayhleGVjdXRpb25FcnJvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbmZvPy5jYiAmJiBpbmZvPy5jYigpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBQcmV2ZW50IG1lbW9yeSBsZWFrcyBpbiBJRS5cbiAgICBpZiAoc2NyaXB0KSB7XG4gICAgICBzY3JpcHQub25lcnJvciA9IG51bGw7XG4gICAgICBzY3JpcHQub25sb2FkID0gbnVsbDtcbiAgICAgIHNhZmVXcmFwcGVyKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyBuZWVkRGVsZXRlU2NyaXB0ID0gdHJ1ZSB9ID0gaW5mbztcbiAgICAgICAgaWYgKG5lZWREZWxldGVTY3JpcHQpIHtcbiAgICAgICAgICBzY3JpcHQ/LnBhcmVudE5vZGUgJiYgc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoc2NyaXB0KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAocHJldiAmJiB0eXBlb2YgcHJldiA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBjb25zdCByZXN1bHQgPSAocHJldiBhcyBhbnkpKGV2ZW50KTtcbiAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCByZXN1bHQ7XG4gICAgICAgICAgb25TY3JpcHRDb21wbGV0ZUNhbGxiYWNrKCk7XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfVxuICAgICAgICBvblNjcmlwdENvbXBsZXRlQ2FsbGJhY2soKTtcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgb25TY3JpcHRDb21wbGV0ZUNhbGxiYWNrKCk7XG4gIH07XG5cbiAgc2NyaXB0Lm9uZXJyb3IgPSBvblNjcmlwdENvbXBsZXRlLmJpbmQobnVsbCwgc2NyaXB0Lm9uZXJyb3IpO1xuICBzY3JpcHQub25sb2FkID0gb25TY3JpcHRDb21wbGV0ZS5iaW5kKG51bGwsIHNjcmlwdC5vbmxvYWQpO1xuXG4gIHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIG9uU2NyaXB0Q29tcGxldGUobnVsbCwgeyB0eXBlOiAnZXJyb3InLCBpc1RpbWVvdXQ6IHRydWUgfSk7XG4gIH0sIHRpbWVvdXQpO1xuXG4gIHJldHVybiB7IHNjcmlwdCwgbmVlZEF0dGFjaCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTGluayhpbmZvOiB7XG4gIHVybDogc3RyaW5nO1xuICBjYj86ICh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkO1xuICBvbkVycm9yQ2FsbGJhY2s/OiAoZXJyb3I6IEVycm9yKSA9PiB2b2lkO1xuICBhdHRyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgbmVlZERlbGV0ZUxpbms/OiBib29sZWFuO1xuICBjcmVhdGVMaW5rSG9vaz86IENyZWF0ZUxpbmtIb29rRG9tO1xufSkge1xuICAvLyA8bGluayByZWw9XCJwcmVsb2FkXCIgaHJlZj1cInNjcmlwdC5qc1wiIGFzPVwic2NyaXB0XCI+XG5cbiAgLy8gUmV0cmlldmUgdGhlIGV4aXN0aW5nIHNjcmlwdCBlbGVtZW50IGJ5IGl0cyBzcmMgYXR0cmlidXRlXG4gIGxldCBsaW5rOiBIVE1MTGlua0VsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgbGV0IG5lZWRBdHRhY2ggPSB0cnVlO1xuICBsZXQgdGltZW91dCA9IDIwMDAwO1xuICBsZXQgdGltZW91dElkOiBOb2RlSlMuVGltZW91dCB8IHVuZGVmaW5lZDtcbiAgY29uc3QgbGlua3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnbGluaycpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmtzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbCA9IGxpbmtzW2ldO1xuICAgIGNvbnN0IGxpbmtIcmVmID0gbC5nZXRBdHRyaWJ1dGUoJ2hyZWYnKTtcbiAgICBjb25zdCBsaW5rUmVsID0gbC5nZXRBdHRyaWJ1dGUoJ3JlbCcpO1xuICAgIGlmIChcbiAgICAgIGxpbmtIcmVmICYmXG4gICAgICBpc1N0YXRpY1Jlc291cmNlc0VxdWFsKGxpbmtIcmVmLCBpbmZvLnVybCkgJiZcbiAgICAgIGxpbmtSZWwgPT09IGluZm8uYXR0cnNbJ3JlbCddXG4gICAgKSB7XG4gICAgICBsaW5rID0gbDtcbiAgICAgIG5lZWRBdHRhY2ggPSBmYWxzZTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGlmICghbGluaykge1xuICAgIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XG4gICAgbGluay5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCBpbmZvLnVybCk7XG5cbiAgICBsZXQgY3JlYXRlTGlua1JlczogQ3JlYXRlTGlua0hvb2tSZXR1cm5Eb20gPSB1bmRlZmluZWQ7XG4gICAgbGV0IHNob3VsZEFwcGx5QXR0cnMgPSB0cnVlO1xuICAgIGNvbnN0IGF0dHJzID0gaW5mby5hdHRycztcblxuICAgIGlmIChpbmZvLmNyZWF0ZUxpbmtIb29rKSB7XG4gICAgICBjcmVhdGVMaW5rUmVzID0gaW5mby5jcmVhdGVMaW5rSG9vayhpbmZvLnVybCwgYXR0cnMpO1xuICAgICAgaWYgKGNyZWF0ZUxpbmtSZXMgaW5zdGFuY2VvZiBIVE1MTGlua0VsZW1lbnQpIHtcbiAgICAgICAgbGluayA9IGNyZWF0ZUxpbmtSZXM7XG4gICAgICAgIHNob3VsZEFwcGx5QXR0cnMgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNyZWF0ZUxpbmtSZXMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmICgnbGluaycgaW4gY3JlYXRlTGlua1JlcyAmJiBjcmVhdGVMaW5rUmVzLmxpbmspIHtcbiAgICAgICAgICBsaW5rID0gY3JlYXRlTGlua1Jlcy5saW5rO1xuICAgICAgICAgIHNob3VsZEFwcGx5QXR0cnMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJ3RpbWVvdXQnIGluIGNyZWF0ZUxpbmtSZXMgJiYgY3JlYXRlTGlua1Jlcy50aW1lb3V0KSB7XG4gICAgICAgICAgdGltZW91dCA9IGNyZWF0ZUxpbmtSZXMudGltZW91dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhdHRycyAmJiBzaG91bGRBcHBseUF0dHJzKSB7XG4gICAgICBPYmplY3Qua2V5cyhhdHRycykuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICBpZiAobGluayAmJiAhbGluay5nZXRBdHRyaWJ1dGUobmFtZSkpIHtcbiAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZShuYW1lLCBhdHRyc1tuYW1lXSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmICghbmVlZEF0dGFjaCkge1xuICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgaW5mbz8uY2IgJiYgaW5mbz8uY2IoKTtcbiAgICB9KTtcbiAgICByZXR1cm4geyBsaW5rLCBuZWVkQXR0YWNoIH07XG4gIH1cblxuICBjb25zdCBvbkxpbmtDb21wbGV0ZSA9IChcbiAgICBwcmV2OiBPbkVycm9yRXZlbnRIYW5kbGVyIHwgR2xvYmFsRXZlbnRIYW5kbGVyc1snb25sb2FkJ10gfCBudWxsLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZXZlbnQ6IGFueSxcbiAgKTogdm9pZCA9PiB7XG4gICAgaWYgKHRpbWVvdXRJZCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgfVxuICAgIGNvbnN0IG9uTGlua0NvbXBsZXRlQ2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICBpZiAoZXZlbnQ/LnR5cGUgPT09ICdlcnJvcicpIHtcbiAgICAgICAgY29uc3QgbGlua0Vycm9yID0gbmV3IEVycm9yKFxuICAgICAgICAgIGV2ZW50Py5pc1RpbWVvdXRcbiAgICAgICAgICAgID8gYExpbmtOZXR3b3JrRXJyb3I6IExpbmsgXCIke2luZm8udXJsfVwiIHRpbWVkIG91dC5gXG4gICAgICAgICAgICA6IGBMaW5rTmV0d29ya0Vycm9yOiBGYWlsZWQgdG8gbG9hZCBsaW5rIFwiJHtpbmZvLnVybH1cIiAtIHRoZSBVUkwgaXMgdW5yZWFjaGFibGUgb3IgdGhlIHNlcnZlciByZXR1cm5lZCBhbiBlcnJvci5gLFxuICAgICAgICApO1xuICAgICAgICBsaW5rRXJyb3IubmFtZSA9ICdMaW5rTmV0d29ya0Vycm9yJztcbiAgICAgICAgaW5mbz8ub25FcnJvckNhbGxiYWNrICYmIGluZm8/Lm9uRXJyb3JDYWxsYmFjayhsaW5rRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5mbz8uY2IgJiYgaW5mbz8uY2IoKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIC8vIFByZXZlbnQgbWVtb3J5IGxlYWtzIGluIElFLlxuICAgIGlmIChsaW5rKSB7XG4gICAgICBsaW5rLm9uZXJyb3IgPSBudWxsO1xuICAgICAgbGluay5vbmxvYWQgPSBudWxsO1xuICAgICAgc2FmZVdyYXBwZXIoKCkgPT4ge1xuICAgICAgICBjb25zdCB7IG5lZWREZWxldGVMaW5rID0gdHJ1ZSB9ID0gaW5mbztcbiAgICAgICAgaWYgKG5lZWREZWxldGVMaW5rKSB7XG4gICAgICAgICAgbGluaz8ucGFyZW50Tm9kZSAmJiBsaW5rLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobGluayk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgY29uc3QgcmVzID0gKHByZXYgYXMgYW55KShldmVudCk7XG4gICAgICAgIG9uTGlua0NvbXBsZXRlQ2FsbGJhY2soKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9XG4gICAgb25MaW5rQ29tcGxldGVDYWxsYmFjaygpO1xuICB9O1xuXG4gIGxpbmsub25lcnJvciA9IG9uTGlua0NvbXBsZXRlLmJpbmQobnVsbCwgbGluay5vbmVycm9yKTtcbiAgbGluay5vbmxvYWQgPSBvbkxpbmtDb21wbGV0ZS5iaW5kKG51bGwsIGxpbmsub25sb2FkKTtcbiAgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgb25MaW5rQ29tcGxldGUobnVsbCwgeyB0eXBlOiAnZXJyb3InLCBpc1RpbWVvdXQ6IHRydWUgfSk7XG4gIH0sIHRpbWVvdXQpO1xuXG4gIHJldHVybiB7IGxpbmssIG5lZWRBdHRhY2ggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRTY3JpcHQoXG4gIHVybDogc3RyaW5nLFxuICBpbmZvOiB7XG4gICAgYXR0cnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNyZWF0ZVNjcmlwdEhvb2s/OiBDcmVhdGVTY3JpcHRIb29rRG9tO1xuICB9LFxuKSB7XG4gIGNvbnN0IHsgYXR0cnMgPSB7fSwgY3JlYXRlU2NyaXB0SG9vayB9ID0gaW5mbztcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCB7IHNjcmlwdCwgbmVlZEF0dGFjaCB9ID0gY3JlYXRlU2NyaXB0KHtcbiAgICAgIHVybCxcbiAgICAgIGNiOiByZXNvbHZlLFxuICAgICAgb25FcnJvckNhbGxiYWNrOiByZWplY3QsXG4gICAgICBhdHRyczoge1xuICAgICAgICBmZXRjaHByaW9yaXR5OiAnaGlnaCcsXG4gICAgICAgIC4uLmF0dHJzLFxuICAgICAgfSxcbiAgICAgIGNyZWF0ZVNjcmlwdEhvb2ssXG4gICAgICBuZWVkRGVsZXRlU2NyaXB0OiB0cnVlLFxuICAgIH0pO1xuICAgIG5lZWRBdHRhY2ggJiYgZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICB9KTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/dom.js\n\n}");
|
|
392
|
+
|
|
393
|
+
},
|
|
394
|
+
"../../../node_modules/@module-federation/sdk/dist/env.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
395
|
+
"use strict";
|
|
396
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n getProcessEnv: () => (getProcessEnv),\n isBrowserEnv: () => (isBrowserEnv),\n isBrowserEnvValue: () => (isBrowserEnvValue),\n isDebugMode: () => (isDebugMode),\n isReactNativeEnv: () => (isReactNativeEnv)\n});\n/* import */ var _constant_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.js\");\n\n//#region src/env.ts\nvar isBrowserEnvValue = true ? \"web\" === \"web\" : 0;\nfunction isBrowserEnv() {\n return isBrowserEnvValue;\n}\nfunction isReactNativeEnv() {\n var _navigator;\n return typeof navigator !== \"undefined\" && ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : _navigator.product) === \"ReactNative\";\n}\nfunction isBrowserDebug() {\n try {\n if (isBrowserEnv() && window.localStorage) return Boolean(localStorage.getItem(_constant_js__rspack_import_0.BROWSER_LOG_KEY));\n } catch (error) {\n return false;\n }\n return false;\n}\nfunction isDebugMode() {\n if (typeof process !== \"undefined\" && process.env && process.env[\"FEDERATION_DEBUG\"]) return Boolean(process.env[\"FEDERATION_DEBUG\"]);\n if (typeof FEDERATION_DEBUG !== \"undefined\" && Boolean(FEDERATION_DEBUG)) return true;\n return isBrowserDebug();\n}\nvar getProcessEnv = function getProcessEnv() {\n return typeof process !== \"undefined\" && process.env ? process.env : {};\n};\n//#endregion\n //# sourceMappingURL=env.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2Vudi5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvc3JjL2Vudi50cz9hYWUzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJST1dTRVJfTE9HX0tFWSB9IGZyb20gJy4vY29uc3RhbnQnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcbiAgdmFyIEZFREVSQVRJT05fREVCVUc6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLy8gRGVjbGFyZSB0aGUgRU5WX1RBUkdFVCBjb25zdGFudCB0aGF0IHdpbGwgYmUgZGVmaW5lZCBieSBEZWZpbmVQbHVnaW5cbmRlY2xhcmUgY29uc3QgRU5WX1RBUkdFVDogJ3dlYicgfCAnbm9kZSc7XG5cbmNvbnN0IGlzQnJvd3NlckVudlZhbHVlID1cbiAgdHlwZW9mIEVOVl9UQVJHRVQgIT09ICd1bmRlZmluZWQnXG4gICAgPyBFTlZfVEFSR0VUID09PSAnd2ViJ1xuICAgIDogdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIHdpbmRvdy5kb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCc7XG5cbmZ1bmN0aW9uIGlzQnJvd3NlckVudigpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQnJvd3NlckVudlZhbHVlO1xufVxuXG5mdW5jdGlvbiBpc1JlYWN0TmF0aXZlRW52KCk6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIG5hdmlnYXRvcj8ucHJvZHVjdCA9PT0gJ1JlYWN0TmF0aXZlJ1xuICApO1xufVxuXG5mdW5jdGlvbiBpc0Jyb3dzZXJEZWJ1ZygpIHtcbiAgdHJ5IHtcbiAgICBpZiAoaXNCcm93c2VyRW52KCkgJiYgd2luZG93LmxvY2FsU3RvcmFnZSkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4obG9jYWxTdG9yYWdlLmdldEl0ZW0oQlJPV1NFUl9MT0dfS0VZKSk7XG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIGlzRGVidWdNb2RlKCk6IGJvb2xlYW4ge1xuICBpZiAoXG4gICAgdHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmXG4gICAgcHJvY2Vzcy5lbnYgJiZcbiAgICBwcm9jZXNzLmVudlsnRkVERVJBVElPTl9ERUJVRyddXG4gICkge1xuICAgIHJldHVybiBCb29sZWFuKHByb2Nlc3MuZW52WydGRURFUkFUSU9OX0RFQlVHJ10pO1xuICB9XG5cbiAgaWYgKHR5cGVvZiBGRURFUkFUSU9OX0RFQlVHICE9PSAndW5kZWZpbmVkJyAmJiBCb29sZWFuKEZFREVSQVRJT05fREVCVUcpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gaXNCcm93c2VyRGVidWcoKTtcbn1cblxuY29uc3QgZ2V0UHJvY2Vzc0VudiA9IGZ1bmN0aW9uICgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgcmV0dXJuIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiBwcm9jZXNzLmVudiA/IHByb2Nlc3MuZW52IDoge307XG59O1xuXG5leHBvcnQge1xuICBpc0Jyb3dzZXJFbnYsXG4gIGlzQnJvd3NlckVudlZhbHVlLFxuICBpc1JlYWN0TmF0aXZlRW52LFxuICBpc0RlYnVnTW9kZSxcbiAgZ2V0UHJvY2Vzc0Vudixcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFVQSxJQUFNLG9CQUNKLEtBQXNCLEdBQ2xCLEtBQVUsS0FBSyxRQUNmLENBQTREO0FBRWxFLFNBQVMsZUFBd0I7SUFDL0IsT0FBTzs7QUFHVCxTQUFTLG1CQUE0Qjs7SUFDbkMsT0FDRSxPQUFPLGNBQWMsc0ZBQWUsV0FBVyxhQUFZOztBQUkvRCxTQUFTLGlCQUFpQjtJQUN4QixJQUFJO1FBQ0YsSUFBSSxjQUFjLElBQUksT0FBTyxhQUMzQixRQUFPLFFBQVEsYUFBYSxRQUFRLDZDQUFlLENBQUMsQ0FBQzthQUVoRCxPQUFPO1FBQ2QsT0FBTzs7SUFFVCxPQUFPOztBQUdULFNBQVMsY0FBdUI7SUFDOUIsSUFDRSxPQUFPLFlBQVksZUFDbkIsUUFBUSxPQUNSLFFBQVEsSUFBSSxvQkFFWixRQUFPLFFBQVEsUUFBUSxJQUFJLG9CQUFvQjtJQUdqRCxJQUFJLE9BQU8scUJBQXFCLGVBQWUsUUFBUSxpQkFBaUIsQ0FDdEUsUUFBTztJQUdULE9BQU8sZ0JBQWdCOztBQUd6QixJQUFNLGdCQUFnQixXQUFnRDtJQUNwRSxPQUFPLE9BQU8sWUFBWSxlQUFlLFFBQVEsTUFBTSxRQUFRLE1BQU0sRUFBRSJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/env.js\n\n}");
|
|
397
|
+
|
|
398
|
+
},
|
|
399
|
+
"../../../node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
400
|
+
"use strict";
|
|
401
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n generateSnapshotFromManifest: () => (generateSnapshotFromManifest),\n getManifestFileName: () => (getManifestFileName),\n inferAutoPublicPath: () => (inferAutoPublicPath),\n isManifestProvider: () => (isManifestProvider),\n simpleJoinRemoteEntry: () => (simpleJoinRemoteEntry)\n});\n/* import */ var _constant_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.js\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _object_spread_props(target, source) {\n source = source != null ? source : {};\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\n\n//#region src/generateSnapshotFromManifest.ts\nvar simpleJoinRemoteEntry = function simpleJoinRemoteEntry(rPath, rName) {\n if (!rPath) return rName;\n var transformPath = function transformPath(str) {\n if (str === \".\") return \"\";\n if (str.startsWith(\"./\")) return str.replace(\"./\", \"\");\n if (str.startsWith(\"/\")) {\n var strWithoutSlash = str.slice(1);\n if (strWithoutSlash.endsWith(\"/\")) return strWithoutSlash.slice(0, -1);\n return strWithoutSlash;\n }\n return str;\n };\n var transformedPath = transformPath(rPath);\n if (!transformedPath) return rName;\n if (transformedPath.endsWith(\"/\")) return \"\".concat(transformedPath).concat(rName);\n return \"\".concat(transformedPath, \"/\").concat(rName);\n};\nfunction inferAutoPublicPath(url) {\n return url.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n}\nfunction generateSnapshotFromManifest(manifest) {\n var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _manifest_remotes;\n var _options_remotes = options.remotes, remotes = _options_remotes === void 0 ? {} : _options_remotes, _options_overrides = options.overrides, overrides = _options_overrides === void 0 ? {} : _options_overrides, version = options.version;\n var remoteSnapshot;\n var getPublicPath = function getPublicPath() {\n if (\"publicPath\" in manifest.metaData) {\n if ((manifest.metaData.publicPath === \"auto\" || manifest.metaData.publicPath === \"\") && version) return inferAutoPublicPath(version);\n return manifest.metaData.publicPath;\n } else return manifest.metaData.getPublicPath;\n };\n var overridesKeys = Object.keys(overrides);\n var remotesInfo = {};\n if (!Object.keys(remotes).length) remotesInfo = ((_manifest_remotes = manifest.remotes) === null || _manifest_remotes === void 0 ? void 0 : _manifest_remotes.reduce(function(res, next) {\n var matchedVersion;\n var name = next.federationContainerName;\n if (overridesKeys.includes(name)) matchedVersion = overrides[name];\n else if (\"version\" in next) matchedVersion = next.version;\n else matchedVersion = next.entry;\n res[name] = {\n matchedVersion: matchedVersion\n };\n return res;\n }, {})) || {};\n Object.keys(remotes).forEach(function(key) {\n return remotesInfo[key] = {\n matchedVersion: overridesKeys.includes(key) ? overrides[key] : remotes[key]\n };\n });\n var _manifest_metaData = manifest.metaData, _manifest_metaData_remoteEntry = _manifest_metaData.remoteEntry, remoteEntryPath = _manifest_metaData_remoteEntry.path, remoteEntryName = _manifest_metaData_remoteEntry.name, remoteEntryType = _manifest_metaData_remoteEntry.type, tmp = _manifest_metaData.types, remoteTypes = tmp === void 0 ? {\n path: \"\",\n name: \"\",\n zip: \"\",\n api: \"\"\n } : tmp, buildVersion = _manifest_metaData.buildInfo.buildVersion, globalName = _manifest_metaData.globalName, ssrRemoteEntry = _manifest_metaData.ssrRemoteEntry;\n var exposes = manifest.exposes;\n var basicRemoteSnapshot = {\n version: version ? version : \"\",\n buildVersion: buildVersion,\n globalName: globalName,\n remoteEntry: simpleJoinRemoteEntry(remoteEntryPath, remoteEntryName),\n remoteEntryType: remoteEntryType,\n remoteTypes: simpleJoinRemoteEntry(remoteTypes.path, remoteTypes.name),\n remoteTypesZip: remoteTypes.zip || \"\",\n remoteTypesAPI: remoteTypes.api || \"\",\n remotesInfo: remotesInfo,\n shared: manifest === null || manifest === void 0 ? void 0 : manifest.shared.map(function(item) {\n return {\n assets: item.assets,\n sharedName: item.name,\n version: item.version,\n usedExports: item.referenceExports || []\n };\n }),\n modules: exposes === null || exposes === void 0 ? void 0 : exposes.map(function(expose) {\n return {\n moduleName: expose.name,\n modulePath: expose.path,\n assets: expose.assets\n };\n })\n };\n if (\"publicPath\" in manifest.metaData) {\n remoteSnapshot = _object_spread_props(_object_spread({}, basicRemoteSnapshot), {\n publicPath: getPublicPath()\n });\n if (typeof manifest.metaData.ssrPublicPath === \"string\") remoteSnapshot.ssrPublicPath = manifest.metaData.ssrPublicPath;\n } else remoteSnapshot = _object_spread_props(_object_spread({}, basicRemoteSnapshot), {\n getPublicPath: getPublicPath()\n });\n if (ssrRemoteEntry) {\n var fullSSRRemoteEntry = simpleJoinRemoteEntry(ssrRemoteEntry.path, ssrRemoteEntry.name);\n remoteSnapshot.ssrRemoteEntry = fullSSRRemoteEntry;\n remoteSnapshot.ssrRemoteEntryType = ssrRemoteEntry.type || \"commonjs-module\";\n }\n return remoteSnapshot;\n}\nfunction isManifestProvider(moduleInfo) {\n if (\"remoteEntry\" in moduleInfo && moduleInfo.remoteEntry.includes(_constant_js__rspack_import_0.MANIFEST_EXT)) return true;\n else return false;\n}\nfunction getManifestFileName(manifestOptions) {\n if (!manifestOptions) return {\n statsFileName: _constant_js__rspack_import_0.StatsFileName,\n manifestFileName: _constant_js__rspack_import_0.ManifestFileName\n };\n var filePath = typeof manifestOptions === \"boolean\" ? \"\" : manifestOptions.filePath || \"\";\n var fileName = typeof manifestOptions === \"boolean\" ? \"\" : manifestOptions.fileName || \"\";\n var JSON_EXT = \".json\";\n var addExt = function addExt(name) {\n if (name.endsWith(JSON_EXT)) return name;\n return \"\".concat(name).concat(JSON_EXT);\n };\n var insertSuffix = function insertSuffix(name, suffix) {\n return name.replace(JSON_EXT, \"\".concat(suffix).concat(JSON_EXT));\n };\n var manifestFileName = fileName ? addExt(fileName) : _constant_js__rspack_import_0.ManifestFileName;\n return {\n statsFileName: simpleJoinRemoteEntry(filePath, fileName ? insertSuffix(manifestFileName, \"-stats\") : _constant_js__rspack_import_0.StatsFileName),\n manifestFileName: simpleJoinRemoteEntry(filePath, manifestFileName)\n };\n}\n//#endregion\n //# sourceMappingURL=generateSnapshotFromManifest.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2dlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL3NyYy9nZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0LnRzPzY2ZGIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTWFuaWZlc3QsXG4gIFByb3ZpZGVyTW9kdWxlSW5mbyxcbiAgTW9kdWxlSW5mbyxcbiAgQmFzaWNQcm92aWRlck1vZHVsZUluZm8sXG4gIENvbnN1bWVyTW9kdWxlSW5mbyxcbiAgTWFuaWZlc3RQcm92aWRlcixcbiAgbW9kdWxlRmVkZXJhdGlvblBsdWdpbixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBNQU5JRkVTVF9FWFQsIE1hbmlmZXN0RmlsZU5hbWUsIFN0YXRzRmlsZU5hbWUgfSBmcm9tICcuL2NvbnN0YW50JztcblxuaW50ZXJmYWNlIElPcHRpb25zIHtcbiAgcmVtb3Rlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIG92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHZlcnNpb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBzaW1wbGVKb2luUmVtb3RlRW50cnkgPSAoclBhdGg6IHN0cmluZywgck5hbWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmICghclBhdGgpIHtcbiAgICByZXR1cm4gck5hbWU7XG4gIH1cbiAgY29uc3QgdHJhbnNmb3JtUGF0aCA9IChzdHI6IHN0cmluZykgPT4ge1xuICAgIGlmIChzdHIgPT09ICcuJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBpZiAoc3RyLnN0YXJ0c1dpdGgoJy4vJykpIHtcbiAgICAgIHJldHVybiBzdHIucmVwbGFjZSgnLi8nLCAnJyk7XG4gICAgfVxuICAgIGlmIChzdHIuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICBjb25zdCBzdHJXaXRob3V0U2xhc2ggPSBzdHIuc2xpY2UoMSk7XG4gICAgICBpZiAoc3RyV2l0aG91dFNsYXNoLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgICAgcmV0dXJuIHN0cldpdGhvdXRTbGFzaC5zbGljZSgwLCAtMSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RyV2l0aG91dFNsYXNoO1xuICAgIH1cbiAgICByZXR1cm4gc3RyO1xuICB9O1xuXG4gIGNvbnN0IHRyYW5zZm9ybWVkUGF0aCA9IHRyYW5zZm9ybVBhdGgoclBhdGgpO1xuXG4gIGlmICghdHJhbnNmb3JtZWRQYXRoKSB7XG4gICAgcmV0dXJuIHJOYW1lO1xuICB9XG5cbiAgaWYgKHRyYW5zZm9ybWVkUGF0aC5lbmRzV2l0aCgnLycpKSB7XG4gICAgcmV0dXJuIGAke3RyYW5zZm9ybWVkUGF0aH0ke3JOYW1lfWA7XG4gIH1cblxuICByZXR1cm4gYCR7dHJhbnNmb3JtZWRQYXRofS8ke3JOYW1lfWA7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5mZXJBdXRvUHVibGljUGF0aCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiB1cmxcbiAgICAucmVwbGFjZSgvIy4qJC8sICcnKVxuICAgIC5yZXBsYWNlKC9cXD8uKiQvLCAnJylcbiAgICAucmVwbGFjZSgvXFwvW15cXC9dKyQvLCAnLycpO1xufVxuXG4vLyBQcmlvcml0eTogb3ZlcnJpZGVzID4gcmVtb3Rlc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1saW5lcy1wZXItZnVuY3Rpb25cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0KFxuICBtYW5pZmVzdDogTWFuaWZlc3QsXG4gIG9wdGlvbnM6IElPcHRpb25zID0ge30sXG4pOiBQcm92aWRlck1vZHVsZUluZm8ge1xuICBjb25zdCB7IHJlbW90ZXMgPSB7fSwgb3ZlcnJpZGVzID0ge30sIHZlcnNpb24gfSA9IG9wdGlvbnM7XG4gIGxldCByZW1vdGVTbmFwc2hvdDogUHJvdmlkZXJNb2R1bGVJbmZvO1xuXG4gIGNvbnN0IGdldFB1YmxpY1BhdGggPSAoKTogc3RyaW5nID0+IHtcbiAgICBpZiAoJ3B1YmxpY1BhdGgnIGluIG1hbmlmZXN0Lm1ldGFEYXRhKSB7XG4gICAgICBpZiAoXG4gICAgICAgIChtYW5pZmVzdC5tZXRhRGF0YS5wdWJsaWNQYXRoID09PSAnYXV0bycgfHxcbiAgICAgICAgICBtYW5pZmVzdC5tZXRhRGF0YS5wdWJsaWNQYXRoID09PSAnJykgJiZcbiAgICAgICAgdmVyc2lvblxuICAgICAgKSB7XG4gICAgICAgIC8vIHVzZSBzYW1lIGltcGxlbWVudGF0aW9uIGFzIHB1YmxpY1BhdGggYXV0byBydW50aW1lIG1vZHVsZSBpbXBsZW1lbnRzXG4gICAgICAgIHJldHVybiBpbmZlckF1dG9QdWJsaWNQYXRoKHZlcnNpb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1hbmlmZXN0Lm1ldGFEYXRhLnB1YmxpY1BhdGg7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtYW5pZmVzdC5tZXRhRGF0YS5nZXRQdWJsaWNQYXRoO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBvdmVycmlkZXNLZXlzID0gT2JqZWN0LmtleXMob3ZlcnJpZGVzKTtcblxuICBsZXQgcmVtb3Rlc0luZm86IENvbnN1bWVyTW9kdWxlSW5mb1sncmVtb3Rlc0luZm8nXSA9IHt9O1xuXG4gIC8vIElmIHJlbW90ZXMgYXJlIG5vdCBwcm92aWRlZCwgb25seSB0aGUgcmVtb3RlcyBpbiB0aGUgbWFuaWZlc3Qgd2lsbCBiZSByZWFkXG4gIGlmICghT2JqZWN0LmtleXMocmVtb3RlcykubGVuZ3RoKSB7XG4gICAgcmVtb3Rlc0luZm8gPVxuICAgICAgbWFuaWZlc3QucmVtb3Rlcz8ucmVkdWNlKFxuICAgICAgICAocmVzLCBuZXh0KSA9PiB7XG4gICAgICAgICAgbGV0IG1hdGNoZWRWZXJzaW9uOiBzdHJpbmc7XG4gICAgICAgICAgY29uc3QgbmFtZSA9IG5leHQuZmVkZXJhdGlvbkNvbnRhaW5lck5hbWU7XG4gICAgICAgICAgLy8gb3ZlcnJpZGVzIGhhdmUgaGlnaGVyIHByaW9yaXR5XG4gICAgICAgICAgaWYgKG92ZXJyaWRlc0tleXMuaW5jbHVkZXMobmFtZSkpIHtcbiAgICAgICAgICAgIG1hdGNoZWRWZXJzaW9uID0gb3ZlcnJpZGVzW25hbWVdO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoJ3ZlcnNpb24nIGluIG5leHQpIHtcbiAgICAgICAgICAgICAgbWF0Y2hlZFZlcnNpb24gPSBuZXh0LnZlcnNpb247XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtYXRjaGVkVmVyc2lvbiA9IG5leHQuZW50cnk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJlc1tuYW1lXSA9IHtcbiAgICAgICAgICAgIG1hdGNoZWRWZXJzaW9uLFxuICAgICAgICAgIH07XG4gICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgfSxcbiAgICAgICAge30gYXMgQ29uc3VtZXJNb2R1bGVJbmZvWydyZW1vdGVzSW5mbyddLFxuICAgICAgKSB8fCB7fTtcbiAgfVxuXG4gIC8vIElmIHJlbW90ZXMgKGRlcGxveSBzY2VuYXJpbykgYXJlIHNwZWNpZmllZCwgdGhleSBuZWVkIHRvIGJlIHRyYXZlcnNlZCBhZ2FpblxuICBPYmplY3Qua2V5cyhyZW1vdGVzKS5mb3JFYWNoKFxuICAgIChrZXkpID0+XG4gICAgICAocmVtb3Rlc0luZm9ba2V5XSA9IHtcbiAgICAgICAgLy8gb3ZlcnJpZGVzIHdpbGwgb3ZlcnJpZGUgZGVwZW5kZW5jaWVzXG4gICAgICAgIG1hdGNoZWRWZXJzaW9uOiBvdmVycmlkZXNLZXlzLmluY2x1ZGVzKGtleSlcbiAgICAgICAgICA/IG92ZXJyaWRlc1trZXldXG4gICAgICAgICAgOiByZW1vdGVzW2tleV0sXG4gICAgICB9KSxcbiAgKTtcblxuICBjb25zdCB7XG4gICAgcmVtb3RlRW50cnk6IHtcbiAgICAgIHBhdGg6IHJlbW90ZUVudHJ5UGF0aCxcbiAgICAgIG5hbWU6IHJlbW90ZUVudHJ5TmFtZSxcbiAgICAgIHR5cGU6IHJlbW90ZUVudHJ5VHlwZSxcbiAgICB9LFxuICAgIHR5cGVzOiByZW1vdGVUeXBlcyA9IHsgcGF0aDogJycsIG5hbWU6ICcnLCB6aXA6ICcnLCBhcGk6ICcnIH0sXG4gICAgYnVpbGRJbmZvOiB7IGJ1aWxkVmVyc2lvbiB9LFxuICAgIGdsb2JhbE5hbWUsXG4gICAgc3NyUmVtb3RlRW50cnksXG4gIH0gPSBtYW5pZmVzdC5tZXRhRGF0YTtcbiAgY29uc3QgeyBleHBvc2VzIH0gPSBtYW5pZmVzdDtcblxuICBsZXQgYmFzaWNSZW1vdGVTbmFwc2hvdDogQmFzaWNQcm92aWRlck1vZHVsZUluZm8gPSB7XG4gICAgdmVyc2lvbjogdmVyc2lvbiA/IHZlcnNpb24gOiAnJyxcbiAgICBidWlsZFZlcnNpb24sXG4gICAgZ2xvYmFsTmFtZSxcbiAgICByZW1vdGVFbnRyeTogc2ltcGxlSm9pblJlbW90ZUVudHJ5KHJlbW90ZUVudHJ5UGF0aCwgcmVtb3RlRW50cnlOYW1lKSxcbiAgICByZW1vdGVFbnRyeVR5cGUsXG4gICAgcmVtb3RlVHlwZXM6IHNpbXBsZUpvaW5SZW1vdGVFbnRyeShyZW1vdGVUeXBlcy5wYXRoLCByZW1vdGVUeXBlcy5uYW1lKSxcbiAgICByZW1vdGVUeXBlc1ppcDogcmVtb3RlVHlwZXMuemlwIHx8ICcnLFxuICAgIHJlbW90ZVR5cGVzQVBJOiByZW1vdGVUeXBlcy5hcGkgfHwgJycsXG4gICAgcmVtb3Rlc0luZm8sXG4gICAgc2hhcmVkOiBtYW5pZmVzdD8uc2hhcmVkLm1hcCgoaXRlbSkgPT4gKHtcbiAgICAgIGFzc2V0czogaXRlbS5hc3NldHMsXG4gICAgICBzaGFyZWROYW1lOiBpdGVtLm5hbWUsXG4gICAgICB2ZXJzaW9uOiBpdGVtLnZlcnNpb24sXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB1c2VkRXhwb3J0czogaXRlbS5yZWZlcmVuY2VFeHBvcnRzIHx8IFtdLFxuICAgIH0pKSxcbiAgICBtb2R1bGVzOiBleHBvc2VzPy5tYXAoKGV4cG9zZSkgPT4gKHtcbiAgICAgIG1vZHVsZU5hbWU6IGV4cG9zZS5uYW1lLFxuICAgICAgbW9kdWxlUGF0aDogZXhwb3NlLnBhdGgsXG4gICAgICBhc3NldHM6IGV4cG9zZS5hc3NldHMsXG4gICAgfSkpLFxuICB9O1xuXG4gIGlmICgncHVibGljUGF0aCcgaW4gbWFuaWZlc3QubWV0YURhdGEpIHtcbiAgICByZW1vdGVTbmFwc2hvdCA9IHtcbiAgICAgIC4uLmJhc2ljUmVtb3RlU25hcHNob3QsXG4gICAgICBwdWJsaWNQYXRoOiBnZXRQdWJsaWNQYXRoKCksXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIG1hbmlmZXN0Lm1ldGFEYXRhLnNzclB1YmxpY1BhdGggPT09ICdzdHJpbmcnKSB7XG4gICAgICByZW1vdGVTbmFwc2hvdC5zc3JQdWJsaWNQYXRoID0gbWFuaWZlc3QubWV0YURhdGEuc3NyUHVibGljUGF0aDtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmVtb3RlU25hcHNob3QgPSB7XG4gICAgICAuLi5iYXNpY1JlbW90ZVNuYXBzaG90LFxuICAgICAgZ2V0UHVibGljUGF0aDogZ2V0UHVibGljUGF0aCgpLFxuICAgIH07XG4gIH1cblxuICBpZiAoc3NyUmVtb3RlRW50cnkpIHtcbiAgICBjb25zdCBmdWxsU1NSUmVtb3RlRW50cnkgPSBzaW1wbGVKb2luUmVtb3RlRW50cnkoXG4gICAgICBzc3JSZW1vdGVFbnRyeS5wYXRoLFxuICAgICAgc3NyUmVtb3RlRW50cnkubmFtZSxcbiAgICApO1xuICAgIHJlbW90ZVNuYXBzaG90LnNzclJlbW90ZUVudHJ5ID0gZnVsbFNTUlJlbW90ZUVudHJ5O1xuICAgIHJlbW90ZVNuYXBzaG90LnNzclJlbW90ZUVudHJ5VHlwZSA9XG4gICAgICBzc3JSZW1vdGVFbnRyeS50eXBlIHx8ICdjb21tb25qcy1tb2R1bGUnO1xuICB9XG5cbiAgcmV0dXJuIHJlbW90ZVNuYXBzaG90O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNYW5pZmVzdFByb3ZpZGVyKFxuICBtb2R1bGVJbmZvOiBNb2R1bGVJbmZvIHwgTWFuaWZlc3RQcm92aWRlcixcbik6IG1vZHVsZUluZm8gaXMgTWFuaWZlc3RQcm92aWRlciB7XG4gIGlmIChcbiAgICAncmVtb3RlRW50cnknIGluIG1vZHVsZUluZm8gJiZcbiAgICBtb2R1bGVJbmZvLnJlbW90ZUVudHJ5LmluY2x1ZGVzKE1BTklGRVNUX0VYVClcbiAgKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYW5pZmVzdEZpbGVOYW1lKFxuICBtYW5pZmVzdE9wdGlvbnM/OiBtb2R1bGVGZWRlcmF0aW9uUGx1Z2luLk1vZHVsZUZlZGVyYXRpb25QbHVnaW5PcHRpb25zWydtYW5pZmVzdCddLFxuKToge1xuICBzdGF0c0ZpbGVOYW1lOiBzdHJpbmc7XG4gIG1hbmlmZXN0RmlsZU5hbWU6IHN0cmluZztcbn0ge1xuICBpZiAoIW1hbmlmZXN0T3B0aW9ucykge1xuICAgIHJldHVybiB7XG4gICAgICBzdGF0c0ZpbGVOYW1lOiBTdGF0c0ZpbGVOYW1lLFxuICAgICAgbWFuaWZlc3RGaWxlTmFtZTogTWFuaWZlc3RGaWxlTmFtZSxcbiAgICB9O1xuICB9XG5cbiAgbGV0IGZpbGVQYXRoID1cbiAgICB0eXBlb2YgbWFuaWZlc3RPcHRpb25zID09PSAnYm9vbGVhbicgPyAnJyA6IG1hbmlmZXN0T3B0aW9ucy5maWxlUGF0aCB8fCAnJztcbiAgbGV0IGZpbGVOYW1lID1cbiAgICB0eXBlb2YgbWFuaWZlc3RPcHRpb25zID09PSAnYm9vbGVhbicgPyAnJyA6IG1hbmlmZXN0T3B0aW9ucy5maWxlTmFtZSB8fCAnJztcblxuICBjb25zdCBKU09OX0VYVCA9ICcuanNvbic7XG4gIGNvbnN0IGFkZEV4dCA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIGlmIChuYW1lLmVuZHNXaXRoKEpTT05fRVhUKSkge1xuICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxuICAgIHJldHVybiBgJHtuYW1lfSR7SlNPTl9FWFR9YDtcbiAgfTtcbiAgY29uc3QgaW5zZXJ0U3VmZml4ID0gKG5hbWU6IHN0cmluZywgc3VmZml4OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgIHJldHVybiBuYW1lLnJlcGxhY2UoSlNPTl9FWFQsIGAke3N1ZmZpeH0ke0pTT05fRVhUfWApO1xuICB9O1xuICBjb25zdCBtYW5pZmVzdEZpbGVOYW1lID0gZmlsZU5hbWUgPyBhZGRFeHQoZmlsZU5hbWUpIDogTWFuaWZlc3RGaWxlTmFtZTtcbiAgY29uc3Qgc3RhdHNGaWxlTmFtZSA9IGZpbGVOYW1lXG4gICAgPyBpbnNlcnRTdWZmaXgobWFuaWZlc3RGaWxlTmFtZSwgJy1zdGF0cycpXG4gICAgOiBTdGF0c0ZpbGVOYW1lO1xuXG4gIHJldHVybiB7XG4gICAgc3RhdHNGaWxlTmFtZTogc2ltcGxlSm9pblJlbW90ZUVudHJ5KGZpbGVQYXRoLCBzdGF0c0ZpbGVOYW1lKSxcbiAgICBtYW5pZmVzdEZpbGVOYW1lOiBzaW1wbGVKb2luUmVtb3RlRW50cnkoZmlsZVBhdGgsIG1hbmlmZXN0RmlsZU5hbWUpLFxuICB9O1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWlCQSxJQUFhLHVEQUF5QixPQUFlO0lBQ25ELElBQUksQ0FBQyxNQUNILFFBQU87SUFFVCxJQUFNLHVDQUFpQjtRQUNyQixJQUFJLFFBQVEsSUFDVixRQUFPO1FB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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.js\n\n}");
|
|
402
|
+
|
|
403
|
+
},
|
|
404
|
+
"../../../node_modules/@module-federation/sdk/dist/index.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
405
|
+
"use strict";
|
|
406
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n BROWSER_LOG_KEY: () => (/* reexport safe */ _constant_js__rspack_import_0.BROWSER_LOG_KEY),\n ENCODE_NAME_PREFIX: () => (/* reexport safe */ _constant_js__rspack_import_0.ENCODE_NAME_PREFIX),\n EncodedNameTransformMap: () => (/* reexport safe */ _constant_js__rspack_import_0.EncodedNameTransformMap),\n FederationModuleManifest: () => (/* reexport safe */ _constant_js__rspack_import_0.FederationModuleManifest),\n MANIFEST_EXT: () => (/* reexport safe */ _constant_js__rspack_import_0.MANIFEST_EXT),\n MFModuleType: () => (/* reexport safe */ _constant_js__rspack_import_0.MFModuleType),\n MODULE_DEVTOOL_IDENTIFIER: () => (/* reexport safe */ _constant_js__rspack_import_0.MODULE_DEVTOOL_IDENTIFIER),\n ManifestFileName: () => (/* reexport safe */ _constant_js__rspack_import_0.ManifestFileName),\n NameTransformMap: () => (/* reexport safe */ _constant_js__rspack_import_0.NameTransformMap),\n NameTransformSymbol: () => (/* reexport safe */ _constant_js__rspack_import_0.NameTransformSymbol),\n SEPARATOR: () => (/* reexport safe */ _constant_js__rspack_import_0.SEPARATOR),\n StatsFileName: () => (/* reexport safe */ _constant_js__rspack_import_0.StatsFileName),\n TEMP_DIR: () => (/* reexport safe */ _constant_js__rspack_import_0.TEMP_DIR),\n TreeShakingStatus: () => (/* reexport safe */ _constant_js__rspack_import_0.TreeShakingStatus),\n assert: () => (/* reexport safe */ _utils_js__rspack_import_1.assert),\n bindLoggerToCompiler: () => (/* reexport safe */ _logger_js__rspack_import_2.bindLoggerToCompiler),\n composeKeyWithSeparator: () => (/* reexport safe */ _utils_js__rspack_import_1.composeKeyWithSeparator),\n consumeSharedPlugin: () => (/* reexport safe */ _types_plugins_ConsumeSharedPlugin_js__rspack_import_3.ConsumeSharedPlugin_exports),\n containerPlugin: () => (/* reexport safe */ _types_plugins_ContainerPlugin_js__rspack_import_4.ContainerPlugin_exports),\n containerReferencePlugin: () => (/* reexport safe */ _types_plugins_ContainerReferencePlugin_js__rspack_import_5.ContainerReferencePlugin_exports),\n createInfrastructureLogger: () => (/* reexport safe */ _logger_js__rspack_import_2.createInfrastructureLogger),\n createLink: () => (/* reexport safe */ _dom_js__rspack_import_6.createLink),\n createLogger: () => (/* reexport safe */ _logger_js__rspack_import_2.createLogger),\n createModuleFederationConfig: () => (/* reexport safe */ _createModuleFederationConfig_js__rspack_import_7.createModuleFederationConfig),\n createScript: () => (/* reexport safe */ _dom_js__rspack_import_6.createScript),\n createScriptNode: () => (/* reexport safe */ _node_js__rspack_import_8.createScriptNode),\n decodeName: () => (/* reexport safe */ _utils_js__rspack_import_1.decodeName),\n encodeName: () => (/* reexport safe */ _utils_js__rspack_import_1.encodeName),\n error: () => (/* reexport safe */ _utils_js__rspack_import_1.error),\n generateExposeFilename: () => (/* reexport safe */ _utils_js__rspack_import_1.generateExposeFilename),\n generateShareFilename: () => (/* reexport safe */ _utils_js__rspack_import_1.generateShareFilename),\n generateSnapshotFromManifest: () => (/* reexport safe */ _generateSnapshotFromManifest_js__rspack_import_9.generateSnapshotFromManifest),\n getManifestFileName: () => (/* reexport safe */ _generateSnapshotFromManifest_js__rspack_import_9.getManifestFileName),\n getProcessEnv: () => (/* reexport safe */ _env_js__rspack_import_10.getProcessEnv),\n getResourceUrl: () => (/* reexport safe */ _utils_js__rspack_import_1.getResourceUrl),\n inferAutoPublicPath: () => (/* reexport safe */ _generateSnapshotFromManifest_js__rspack_import_9.inferAutoPublicPath),\n infrastructureLogger: () => (/* reexport safe */ _logger_js__rspack_import_2.infrastructureLogger),\n isBrowserEnv: () => (/* reexport safe */ _env_js__rspack_import_10.isBrowserEnv),\n isBrowserEnvValue: () => (/* reexport safe */ _env_js__rspack_import_10.isBrowserEnvValue),\n isDebugMode: () => (/* reexport safe */ _env_js__rspack_import_10.isDebugMode),\n isManifestProvider: () => (/* reexport safe */ _generateSnapshotFromManifest_js__rspack_import_9.isManifestProvider),\n isReactNativeEnv: () => (/* reexport safe */ _env_js__rspack_import_10.isReactNativeEnv),\n isRequiredVersion: () => (/* reexport safe */ _utils_js__rspack_import_1.isRequiredVersion),\n isStaticResourcesEqual: () => (/* reexport safe */ _dom_js__rspack_import_6.isStaticResourcesEqual),\n loadScript: () => (/* reexport safe */ _dom_js__rspack_import_6.loadScript),\n loadScriptNode: () => (/* reexport safe */ _node_js__rspack_import_8.loadScriptNode),\n logger: () => (/* reexport safe */ _logger_js__rspack_import_2.logger),\n moduleFederationPlugin: () => (/* reexport safe */ _types_plugins_ModuleFederationPlugin_js__rspack_import_11.ModuleFederationPlugin_exports),\n normalizeOptions: () => (/* reexport safe */ _normalizeOptions_js__rspack_import_12.normalizeOptions),\n parseEntry: () => (/* reexport safe */ _utils_js__rspack_import_1.parseEntry),\n provideSharedPlugin: () => (/* reexport safe */ _types_plugins_ProvideSharedPlugin_js__rspack_import_13.ProvideSharedPlugin_exports),\n safeToString: () => (/* reexport safe */ _utils_js__rspack_import_1.safeToString),\n safeWrapper: () => (/* reexport safe */ _dom_js__rspack_import_6.safeWrapper),\n sharePlugin: () => (/* reexport safe */ _types_plugins_SharePlugin_js__rspack_import_14.SharePlugin_exports),\n simpleJoinRemoteEntry: () => (/* reexport safe */ _generateSnapshotFromManifest_js__rspack_import_9.simpleJoinRemoteEntry),\n warn: () => (/* reexport safe */ _utils_js__rspack_import_1.warn)\n});\n/* import */ var _constant_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.js\");\n/* import */ var _types_plugins_ContainerPlugin_js__rspack_import_4 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.js\");\n/* import */ var _types_plugins_ContainerReferencePlugin_js__rspack_import_5 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.js\");\n/* import */ var _types_plugins_ModuleFederationPlugin_js__rspack_import_11 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.js\");\n/* import */ var _types_plugins_SharePlugin_js__rspack_import_14 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.js\");\n/* import */ var _types_plugins_ConsumeSharedPlugin_js__rspack_import_3 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.js\");\n/* import */ var _types_plugins_ProvideSharedPlugin_js__rspack_import_13 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.js\");\n/* import */ var _env_js__rspack_import_10 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/env.js\");\n/* import */ var _utils_js__rspack_import_1 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/utils.js\");\n/* import */ var _generateSnapshotFromManifest_js__rspack_import_9 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/generateSnapshotFromManifest.js\");\n/* import */ var _logger_js__rspack_import_2 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/logger.js\");\n/* import */ var _dom_js__rspack_import_6 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/dom.js\");\n/* import */ var _node_js__rspack_import_8 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/node.js\");\n/* import */ var _normalizeOptions_js__rspack_import_12 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/normalizeOptions.js\");\n/* import */ var _createModuleFederationConfig_js__rspack_import_7 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/createModuleFederationConfig.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2luZGV4LmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2luZGV4LmpzP2E4ZjIiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQlJPV1NFUl9MT0dfS0VZLCBFTkNPREVfTkFNRV9QUkVGSVgsIEVuY29kZWROYW1lVHJhbnNmb3JtTWFwLCBGZWRlcmF0aW9uTW9kdWxlTWFuaWZlc3QsIE1BTklGRVNUX0VYVCwgTUZNb2R1bGVUeXBlLCBNT0RVTEVfREVWVE9PTF9JREVOVElGSUVSLCBNYW5pZmVzdEZpbGVOYW1lLCBOYW1lVHJhbnNmb3JtTWFwLCBOYW1lVHJhbnNmb3JtU3ltYm9sLCBTRVBBUkFUT1IsIFN0YXRzRmlsZU5hbWUsIFRFTVBfRElSLCBUcmVlU2hha2luZ1N0YXR1cyB9IGZyb20gXCIuL2NvbnN0YW50LmpzXCI7XG5pbXBvcnQgeyBDb250YWluZXJQbHVnaW5fZXhwb3J0cyB9IGZyb20gXCIuL3R5cGVzL3BsdWdpbnMvQ29udGFpbmVyUGx1Z2luLmpzXCI7XG5pbXBvcnQgeyBDb250YWluZXJSZWZlcmVuY2VQbHVnaW5fZXhwb3J0cyB9IGZyb20gXCIuL3R5cGVzL3BsdWdpbnMvQ29udGFpbmVyUmVmZXJlbmNlUGx1Z2luLmpzXCI7XG5pbXBvcnQgeyBNb2R1bGVGZWRlcmF0aW9uUGx1Z2luX2V4cG9ydHMgfSBmcm9tIFwiLi90eXBlcy9wbHVnaW5zL01vZHVsZUZlZGVyYXRpb25QbHVnaW4uanNcIjtcbmltcG9ydCB7IFNoYXJlUGx1Z2luX2V4cG9ydHMgfSBmcm9tIFwiLi90eXBlcy9wbHVnaW5zL1NoYXJlUGx1Z2luLmpzXCI7XG5pbXBvcnQgeyBDb25zdW1lU2hhcmVkUGx1Z2luX2V4cG9ydHMgfSBmcm9tIFwiLi90eXBlcy9wbHVnaW5zL0NvbnN1bWVTaGFyZWRQbHVnaW4uanNcIjtcbmltcG9ydCB7IFByb3ZpZGVTaGFyZWRQbHVnaW5fZXhwb3J0cyB9IGZyb20gXCIuL3R5cGVzL3BsdWdpbnMvUHJvdmlkZVNoYXJlZFBsdWdpbi5qc1wiO1xuaW1wb3J0IHsgZ2V0UHJvY2Vzc0VudiwgaXNCcm93c2VyRW52LCBpc0Jyb3dzZXJFbnZWYWx1ZSwgaXNEZWJ1Z01vZGUsIGlzUmVhY3ROYXRpdmVFbnYgfSBmcm9tIFwiLi9lbnYuanNcIjtcbmltcG9ydCB7IGFzc2VydCwgY29tcG9zZUtleVdpdGhTZXBhcmF0b3IsIGRlY29kZU5hbWUsIGVuY29kZU5hbWUsIGVycm9yLCBnZW5lcmF0ZUV4cG9zZUZpbGVuYW1lLCBnZW5lcmF0ZVNoYXJlRmlsZW5hbWUsIGdldFJlc291cmNlVXJsLCBpc1JlcXVpcmVkVmVyc2lvbiwgcGFyc2VFbnRyeSwgc2FmZVRvU3RyaW5nLCB3YXJuIH0gZnJvbSBcIi4vdXRpbHMuanNcIjtcbmltcG9ydCB7IGdlbmVyYXRlU25hcHNob3RGcm9tTWFuaWZlc3QsIGdldE1hbmlmZXN0RmlsZU5hbWUsIGluZmVyQXV0b1B1YmxpY1BhdGgsIGlzTWFuaWZlc3RQcm92aWRlciwgc2ltcGxlSm9pblJlbW90ZUVudHJ5IH0gZnJvbSBcIi4vZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdC5qc1wiO1xuaW1wb3J0IHsgYmluZExvZ2dlclRvQ29tcGlsZXIsIGNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyLCBjcmVhdGVMb2dnZXIsIGluZnJhc3RydWN0dXJlTG9nZ2VyLCBsb2dnZXIgfSBmcm9tIFwiLi9sb2dnZXIuanNcIjtcbmltcG9ydCB7IGNyZWF0ZUxpbmssIGNyZWF0ZVNjcmlwdCwgaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCwgbG9hZFNjcmlwdCwgc2FmZVdyYXBwZXIgfSBmcm9tIFwiLi9kb20uanNcIjtcbmltcG9ydCB7IGNyZWF0ZVNjcmlwdE5vZGUsIGxvYWRTY3JpcHROb2RlIH0gZnJvbSBcIi4vbm9kZS5qc1wiO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9ucyB9IGZyb20gXCIuL25vcm1hbGl6ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB7IGNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcgfSBmcm9tIFwiLi9jcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnLmpzXCI7XG5cbmV4cG9ydCB7IEJST1dTRVJfTE9HX0tFWSwgRU5DT0RFX05BTUVfUFJFRklYLCBFbmNvZGVkTmFtZVRyYW5zZm9ybU1hcCwgRmVkZXJhdGlvbk1vZHVsZU1hbmlmZXN0LCBNQU5JRkVTVF9FWFQsIE1GTW9kdWxlVHlwZSwgTU9EVUxFX0RFVlRPT0xfSURFTlRJRklFUiwgTWFuaWZlc3RGaWxlTmFtZSwgTmFtZVRyYW5zZm9ybU1hcCwgTmFtZVRyYW5zZm9ybVN5bWJvbCwgU0VQQVJBVE9SLCBTdGF0c0ZpbGVOYW1lLCBURU1QX0RJUiwgVHJlZVNoYWtpbmdTdGF0dXMsIGFzc2VydCwgYmluZExvZ2dlclRvQ29tcGlsZXIsIGNvbXBvc2VLZXlXaXRoU2VwYXJhdG9yLCBDb25zdW1lU2hhcmVkUGx1Z2luX2V4cG9ydHMgYXMgY29uc3VtZVNoYXJlZFBsdWdpbiwgQ29udGFpbmVyUGx1Z2luX2V4cG9ydHMgYXMgY29udGFpbmVyUGx1Z2luLCBDb250YWluZXJSZWZlcmVuY2VQbHVnaW5fZXhwb3J0cyBhcyBjb250YWluZXJSZWZlcmVuY2VQbHVnaW4sIGNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyLCBjcmVhdGVMaW5rLCBjcmVhdGVMb2dnZXIsIGNyZWF0ZU1vZHVsZUZlZGVyYXRpb25Db25maWcsIGNyZWF0ZVNjcmlwdCwgY3JlYXRlU2NyaXB0Tm9kZSwgZGVjb2RlTmFtZSwgZW5jb2RlTmFtZSwgZXJyb3IsIGdlbmVyYXRlRXhwb3NlRmlsZW5hbWUsIGdlbmVyYXRlU2hhcmVGaWxlbmFtZSwgZ2VuZXJhdGVTbmFwc2hvdEZyb21NYW5pZmVzdCwgZ2V0TWFuaWZlc3RGaWxlTmFtZSwgZ2V0UHJvY2Vzc0VudiwgZ2V0UmVzb3VyY2VVcmwsIGluZmVyQXV0b1B1YmxpY1BhdGgsIGluZnJhc3RydWN0dXJlTG9nZ2VyLCBpc0Jyb3dzZXJFbnYsIGlzQnJvd3NlckVudlZhbHVlLCBpc0RlYnVnTW9kZSwgaXNNYW5pZmVzdFByb3ZpZGVyLCBpc1JlYWN0TmF0aXZlRW52LCBpc1JlcXVpcmVkVmVyc2lvbiwgaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCwgbG9hZFNjcmlwdCwgbG9hZFNjcmlwdE5vZGUsIGxvZ2dlciwgTW9kdWxlRmVkZXJhdGlvblBsdWdpbl9leHBvcnRzIGFzIG1vZHVsZUZlZGVyYXRpb25QbHVnaW4sIG5vcm1hbGl6ZU9wdGlvbnMsIHBhcnNlRW50cnksIFByb3ZpZGVTaGFyZWRQbHVnaW5fZXhwb3J0cyBhcyBwcm92aWRlU2hhcmVkUGx1Z2luLCBzYWZlVG9TdHJpbmcsIHNhZmVXcmFwcGVyLCBTaGFyZVBsdWdpbl9leHBvcnRzIGFzIHNoYXJlUGx1Z2luLCBzaW1wbGVKb2luUmVtb3RlRW50cnksIHdhcm4gfTsiXSwibmFtZXMiOlsiQlJPV1NFUl9MT0dfS0VZIiwiRU5DT0RFX05BTUVfUFJFRklYIiwiRW5jb2RlZE5hbWVUcmFuc2Zvcm1NYXAiLCJGZWRlcmF0aW9uTW9kdWxlTWFuaWZlc3QiLCJNQU5JRkVTVF9FWFQiLCJNRk1vZHVsZVR5cGUiLCJNT0RVTEVfREVWVE9PTF9JREVOVElGSUVSIiwiTWFuaWZlc3RGaWxlTmFtZSIsIk5hbWVUcmFuc2Zvcm1NYXAiLCJOYW1lVHJhbnNmb3JtU3ltYm9sIiwiU0VQQVJBVE9SIiwiU3RhdHNGaWxlTmFtZSIsIlRFTVBfRElSIiwiVHJlZVNoYWtpbmdTdGF0dXMiLCJDb250YWluZXJQbHVnaW5fZXhwb3J0cyIsIkNvbnRhaW5lclJlZmVyZW5jZVBsdWdpbl9leHBvcnRzIiwiTW9kdWxlRmVkZXJhdGlvblBsdWdpbl9leHBvcnRzIiwiU2hhcmVQbHVnaW5fZXhwb3J0cyIsIkNvbnN1bWVTaGFyZWRQbHVnaW5fZXhwb3J0cyIsIlByb3ZpZGVTaGFyZWRQbHVnaW5fZXhwb3J0cyIsImdldFByb2Nlc3NFbnYiLCJpc0Jyb3dzZXJFbnYiLCJpc0Jyb3dzZXJFbnZWYWx1ZSIsImlzRGVidWdNb2RlIiwiaXNSZWFjdE5hdGl2ZUVudiIsImFzc2VydCIsImNvbXBvc2VLZXlXaXRoU2VwYXJhdG9yIiwiZGVjb2RlTmFtZSIsImVuY29kZU5hbWUiLCJlcnJvciIsImdlbmVyYXRlRXhwb3NlRmlsZW5hbWUiLCJnZW5lcmF0ZVNoYXJlRmlsZW5hbWUiLCJnZXRSZXNvdXJjZVVybCIsImlzUmVxdWlyZWRWZXJzaW9uIiwicGFyc2VFbnRyeSIsInNhZmVUb1N0cmluZyIsIndhcm4iLCJnZW5lcmF0ZVNuYXBzaG90RnJvbU1hbmlmZXN0IiwiZ2V0TWFuaWZlc3RGaWxlTmFtZSIsImluZmVyQXV0b1B1YmxpY1BhdGgiLCJpc01hbmlmZXN0UHJvdmlkZXIiLCJzaW1wbGVKb2luUmVtb3RlRW50cnkiLCJiaW5kTG9nZ2VyVG9Db21waWxlciIsImNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyIiwiY3JlYXRlTG9nZ2VyIiwiaW5mcmFzdHJ1Y3R1cmVMb2dnZXIiLCJsb2dnZXIiLCJjcmVhdGVMaW5rIiwiY3JlYXRlU2NyaXB0IiwiaXNTdGF0aWNSZXNvdXJjZXNFcXVhbCIsImxvYWRTY3JpcHQiLCJzYWZlV3JhcHBlciIsImNyZWF0ZVNjcmlwdE5vZGUiLCJsb2FkU2NyaXB0Tm9kZSIsIm5vcm1hbGl6ZU9wdGlvbnMiLCJjcmVhdGVNb2R1bGVGZWRlcmF0aW9uQ29uZmlnIiwiY29uc3VtZVNoYXJlZFBsdWdpbiIsImNvbnRhaW5lclBsdWdpbiIsImNvbnRhaW5lclJlZmVyZW5jZVBsdWdpbiIsIm1vZHVsZUZlZGVyYXRpb25QbHVnaW4iLCJwcm92aWRlU2hhcmVkUGx1Z2luIiwic2hhcmVQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQThSO0FBQ2pOO0FBQ2tCO0FBQ0o7QUFDdEI7QUFDZ0I7QUFDQTtBQUNvQjtBQUNxRztBQUN4QztBQUMzQztBQUN0QjtBQUN4QztBQUNKO0FBQ3dCO0FBRXVsQyJ9\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/index.js\n\n}");
|
|
407
|
+
|
|
408
|
+
},
|
|
409
|
+
"../../../node_modules/@module-federation/sdk/dist/logger.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
410
|
+
"use strict";
|
|
411
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n bindLoggerToCompiler: () => (bindLoggerToCompiler),\n createInfrastructureLogger: () => (createInfrastructureLogger),\n createLogger: () => (createLogger),\n infrastructureLogger: () => (infrastructureLogger),\n logger: () => (logger)\n});\n/* import */ var _env_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/env.js\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _array_without_holes(arr) {\n if (Array.isArray(arr)) return _array_like_to_array(arr);\n}\nfunction _class_call_check(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _create_class(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _non_iterable_spread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _to_array(arr) {\n return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();\n}\nfunction _to_consumable_array(arr) {\n return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n//#region src/logger.ts\nvar PREFIX = \"[ Module Federation ]\";\nvar DEFAULT_DELEGATE = console;\nvar LOGGER_STACK_SKIP_TOKENS = [\n \"logger.ts\",\n \"logger.js\",\n \"captureStackTrace\",\n \"Logger.emit\",\n \"Logger.log\",\n \"Logger.info\",\n \"Logger.warn\",\n \"Logger.error\",\n \"Logger.debug\"\n];\nfunction captureStackTrace() {\n try {\n var stack = /* @__PURE__ */ new Error().stack;\n if (!stack) return;\n var _stack_split = _to_array(stack.split(\"\\n\")), rawLines = _stack_split.slice(1);\n var filtered = rawLines.filter(function(line) {\n return !LOGGER_STACK_SKIP_TOKENS.some(function(token) {\n return line.includes(token);\n });\n });\n if (!filtered.length) return;\n return \"Stack trace:\\n\".concat(filtered.slice(0, 5).join(\"\\n\"));\n } catch (unused) {\n return;\n }\n}\nvar Logger = /*#__PURE__*/ function() {\n \"use strict\";\n function Logger(prefix) {\n var delegate = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : DEFAULT_DELEGATE;\n _class_call_check(this, Logger);\n this.prefix = prefix;\n this.delegate = delegate !== null && delegate !== void 0 ? delegate : DEFAULT_DELEGATE;\n }\n _create_class(Logger, [\n {\n key: \"setPrefix\",\n value: function setPrefix(prefix) {\n this.prefix = prefix;\n }\n },\n {\n key: \"setDelegate\",\n value: function setDelegate(delegate) {\n this.delegate = delegate !== null && delegate !== void 0 ? delegate : DEFAULT_DELEGATE;\n }\n },\n {\n key: \"emit\",\n value: function emit(method, args) {\n var delegate = this.delegate;\n var stackTrace = (0,_env_js__rspack_import_0.isDebugMode)() ? captureStackTrace() : void 0;\n var enrichedArgs = stackTrace ? _to_consumable_array(args).concat([\n stackTrace\n ]) : args;\n var order = function() {\n switch(method){\n case \"log\":\n return [\n \"log\",\n \"info\"\n ];\n case \"info\":\n return [\n \"info\",\n \"log\"\n ];\n case \"warn\":\n return [\n \"warn\",\n \"info\",\n \"log\"\n ];\n case \"error\":\n return [\n \"error\",\n \"warn\",\n \"log\"\n ];\n default:\n return [\n \"debug\",\n \"log\"\n ];\n }\n }();\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = order[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var candidate = _step.value;\n var handler = delegate[candidate];\n if (typeof handler === \"function\") {\n var _handler;\n (_handler = handler).call.apply(_handler, [\n delegate,\n this.prefix\n ].concat(_to_consumable_array(enrichedArgs)));\n return;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n var _iteratorNormalCompletion1 = true, _didIteratorError1 = false, _iteratorError1 = undefined;\n try {\n for(var _iterator1 = order[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true){\n var candidate1 = _step1.value;\n var handler1 = DEFAULT_DELEGATE[candidate1];\n if (typeof handler1 === \"function\") {\n var _handler1;\n (_handler1 = handler1).call.apply(_handler1, [\n DEFAULT_DELEGATE,\n this.prefix\n ].concat(_to_consumable_array(enrichedArgs)));\n return;\n }\n }\n } catch (err) {\n _didIteratorError1 = true;\n _iteratorError1 = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion1 && _iterator1.return != null) {\n _iterator1.return();\n }\n } finally{\n if (_didIteratorError1) {\n throw _iteratorError1;\n }\n }\n }\n }\n },\n {\n key: \"log\",\n value: function log() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n this.emit(\"log\", args);\n }\n },\n {\n key: \"warn\",\n value: function warn() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n this.emit(\"warn\", args);\n }\n },\n {\n key: \"error\",\n value: function error() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n this.emit(\"error\", args);\n }\n },\n {\n key: \"success\",\n value: function success() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n this.emit(\"info\", args);\n }\n },\n {\n key: \"info\",\n value: function info() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n this.emit(\"info\", args);\n }\n },\n {\n key: \"ready\",\n value: function ready() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n this.emit(\"info\", args);\n }\n },\n {\n key: \"debug\",\n value: function debug() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if ((0,_env_js__rspack_import_0.isDebugMode)()) this.emit(\"debug\", args);\n }\n }\n ]);\n return Logger;\n}();\nfunction createLogger(prefix) {\n return new Logger(prefix);\n}\nfunction createInfrastructureLogger(prefix) {\n var infrastructureLogger = new Logger(prefix);\n Object.defineProperty(infrastructureLogger, \"__mf_infrastructure_logger__\", {\n value: true,\n enumerable: false,\n configurable: false\n });\n return infrastructureLogger;\n}\nfunction bindLoggerToCompiler(loggerInstance, compiler, name) {\n if (!loggerInstance.__mf_infrastructure_logger__) return;\n if (!(compiler === null || compiler === void 0 ? void 0 : compiler.getInfrastructureLogger)) return;\n try {\n var infrastructureLogger = compiler.getInfrastructureLogger(name);\n if (infrastructureLogger && (typeof infrastructureLogger === \"undefined\" ? \"undefined\" : _type_of(infrastructureLogger)) === \"object\" && (typeof infrastructureLogger.log === \"function\" || typeof infrastructureLogger.info === \"function\" || typeof infrastructureLogger.warn === \"function\" || typeof infrastructureLogger.error === \"function\")) loggerInstance.setDelegate(infrastructureLogger);\n } catch (unused) {\n loggerInstance.setDelegate(void 0);\n }\n}\nvar logger = createLogger(PREFIX);\nvar infrastructureLogger = createInfrastructureLogger(PREFIX);\n//#endregion\n //# sourceMappingURL=logger.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L2xvZ2dlci5qcyIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Btb2R1bGUtZmVkZXJhdGlvbi9zZGsvc3JjL2xvZ2dlci50cz9jYWYxIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRGVidWdNb2RlIH0gZnJvbSAnLi9lbnYnO1xuXG5jb25zdCBQUkVGSVggPSAnWyBNb2R1bGUgRmVkZXJhdGlvbiBdJztcblxudHlwZSBMb2dNZXRob2QgPSAnbG9nJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnZGVidWcnO1xuXG50eXBlIExvZ2dlckRlbGVnYXRlID0gUGFydGlhbDxSZWNvcmQ8TG9nTWV0aG9kLCAoLi4uYXJnczogYW55W10pID0+IHZvaWQ+PiAmIHtcbiAgW2tleTogc3RyaW5nXTogKCguLi5hcmdzOiBhbnlbXSkgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBERUZBVUxUX0RFTEVHQVRFOiBMb2dnZXJEZWxlZ2F0ZSA9IGNvbnNvbGUgYXMgdW5rbm93biBhcyBMb2dnZXJEZWxlZ2F0ZTtcbmNvbnN0IExPR0dFUl9TVEFDS19TS0lQX1RPS0VOUyA9IFtcbiAgJ2xvZ2dlci50cycsXG4gICdsb2dnZXIuanMnLFxuICAnY2FwdHVyZVN0YWNrVHJhY2UnLFxuICAnTG9nZ2VyLmVtaXQnLFxuICAnTG9nZ2VyLmxvZycsXG4gICdMb2dnZXIuaW5mbycsXG4gICdMb2dnZXIud2FybicsXG4gICdMb2dnZXIuZXJyb3InLFxuICAnTG9nZ2VyLmRlYnVnJyxcbl07XG5cbmZ1bmN0aW9uIGNhcHR1cmVTdGFja1RyYWNlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHRyeSB7XG4gICAgY29uc3Qgc3RhY2sgPSBuZXcgRXJyb3IoKS5zdGFjaztcbiAgICBpZiAoIXN0YWNrKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IFssIC4uLnJhd0xpbmVzXSA9IHN0YWNrLnNwbGl0KCdcXG4nKTtcbiAgICBjb25zdCBmaWx0ZXJlZCA9IHJhd0xpbmVzLmZpbHRlcihcbiAgICAgIChsaW5lKSA9PiAhTE9HR0VSX1NUQUNLX1NLSVBfVE9LRU5TLnNvbWUoKHRva2VuKSA9PiBsaW5lLmluY2x1ZGVzKHRva2VuKSksXG4gICAgKTtcblxuICAgIGlmICghZmlsdGVyZWQubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YWNrUHJldmlldyA9IGZpbHRlcmVkLnNsaWNlKDAsIDUpLmpvaW4oJ1xcbicpO1xuICAgIHJldHVybiBgU3RhY2sgdHJhY2U6XFxuJHtzdGFja1ByZXZpZXd9YDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5jbGFzcyBMb2dnZXIge1xuICBwcmVmaXg6IHN0cmluZztcbiAgcHJpdmF0ZSBkZWxlZ2F0ZTogTG9nZ2VyRGVsZWdhdGU7XG5cbiAgY29uc3RydWN0b3IocHJlZml4OiBzdHJpbmcsIGRlbGVnYXRlOiBMb2dnZXJEZWxlZ2F0ZSA9IERFRkFVTFRfREVMRUdBVEUpIHtcbiAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICB0aGlzLmRlbGVnYXRlID0gZGVsZWdhdGUgPz8gREVGQVVMVF9ERUxFR0FURTtcbiAgfVxuXG4gIHNldFByZWZpeChwcmVmaXg6IHN0cmluZykge1xuICAgIHRoaXMucHJlZml4ID0gcHJlZml4O1xuICB9XG5cbiAgc2V0RGVsZWdhdGUoZGVsZWdhdGU/OiBMb2dnZXJEZWxlZ2F0ZSkge1xuICAgIHRoaXMuZGVsZWdhdGUgPSBkZWxlZ2F0ZSA/PyBERUZBVUxUX0RFTEVHQVRFO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0KG1ldGhvZDogTG9nTWV0aG9kLCBhcmdzOiBhbnlbXSkge1xuICAgIGNvbnN0IGRlbGVnYXRlID0gdGhpcy5kZWxlZ2F0ZTtcbiAgICBjb25zdCBkZWJ1Z01vZGUgPSBpc0RlYnVnTW9kZSgpO1xuICAgIGNvbnN0IHN0YWNrVHJhY2UgPSBkZWJ1Z01vZGUgPyBjYXB0dXJlU3RhY2tUcmFjZSgpIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGVucmljaGVkQXJncyA9IHN0YWNrVHJhY2UgPyBbLi4uYXJncywgc3RhY2tUcmFjZV0gOiBhcmdzO1xuXG4gICAgY29uc3Qgb3JkZXI6IExvZ01ldGhvZFtdID0gKCgpID0+IHtcbiAgICAgIHN3aXRjaCAobWV0aG9kKSB7XG4gICAgICAgIGNhc2UgJ2xvZyc6XG4gICAgICAgICAgcmV0dXJuIFsnbG9nJywgJ2luZm8nXTtcbiAgICAgICAgY2FzZSAnaW5mbyc6XG4gICAgICAgICAgcmV0dXJuIFsnaW5mbycsICdsb2cnXTtcbiAgICAgICAgY2FzZSAnd2Fybic6XG4gICAgICAgICAgcmV0dXJuIFsnd2FybicsICdpbmZvJywgJ2xvZyddO1xuICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgcmV0dXJuIFsnZXJyb3InLCAnd2FybicsICdsb2cnXTtcbiAgICAgICAgY2FzZSAnZGVidWcnOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBbJ2RlYnVnJywgJ2xvZyddO1xuICAgICAgfVxuICAgIH0pKCk7XG5cbiAgICBmb3IgKGNvbnN0IGNhbmRpZGF0ZSBvZiBvcmRlcikge1xuICAgICAgY29uc3QgaGFuZGxlciA9IGRlbGVnYXRlW2NhbmRpZGF0ZV07XG4gICAgICBpZiAodHlwZW9mIGhhbmRsZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaGFuZGxlci5jYWxsKGRlbGVnYXRlLCB0aGlzLnByZWZpeCwgLi4uZW5yaWNoZWRBcmdzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2FuZGlkYXRlIG9mIG9yZGVyKSB7XG4gICAgICBjb25zdCBoYW5kbGVyID0gREVGQVVMVF9ERUxFR0FURVtjYW5kaWRhdGVdO1xuICAgICAgaWYgKHR5cGVvZiBoYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGhhbmRsZXIuY2FsbChERUZBVUxUX0RFTEVHQVRFLCB0aGlzLnByZWZpeCwgLi4uZW5yaWNoZWRBcmdzKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvZyguLi5hcmdzOiBhbnlbXSkge1xuICAgIHRoaXMuZW1pdCgnbG9nJywgYXJncyk7XG4gIH1cbiAgd2FybiguLi5hcmdzOiBhbnlbXSkge1xuICAgIHRoaXMuZW1pdCgnd2FybicsIGFyZ3MpO1xuICB9XG4gIGVycm9yKC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgdGhpcy5lbWl0KCdlcnJvcicsIGFyZ3MpO1xuICB9XG5cbiAgc3VjY2VzcyguLi5hcmdzOiBhbnlbXSkge1xuICAgIHRoaXMuZW1pdCgnaW5mbycsIGFyZ3MpO1xuICB9XG4gIGluZm8oLi4uYXJnczogYW55W10pIHtcbiAgICB0aGlzLmVtaXQoJ2luZm8nLCBhcmdzKTtcbiAgfVxuICByZWFkeSguLi5hcmdzOiBhbnlbXSkge1xuICAgIHRoaXMuZW1pdCgnaW5mbycsIGFyZ3MpO1xuICB9XG5cbiAgZGVidWcoLi4uYXJnczogYW55W10pIHtcbiAgICBpZiAoaXNEZWJ1Z01vZGUoKSkge1xuICAgICAgdGhpcy5lbWl0KCdkZWJ1ZycsIGFyZ3MpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVMb2dnZXIocHJlZml4OiBzdHJpbmcpIHtcbiAgcmV0dXJuIG5ldyBMb2dnZXIocHJlZml4KTtcbn1cblxudHlwZSBJbmZyYXN0cnVjdHVyZUxvZ2dlciA9IExvZ2dlciAmIHtcbiAgX19tZl9pbmZyYXN0cnVjdHVyZV9sb2dnZXJfXzogdHJ1ZTtcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyKHByZWZpeDogc3RyaW5nKTogSW5mcmFzdHJ1Y3R1cmVMb2dnZXIge1xuICBjb25zdCBpbmZyYXN0cnVjdHVyZUxvZ2dlciA9IG5ldyBMb2dnZXIocHJlZml4KSBhcyBJbmZyYXN0cnVjdHVyZUxvZ2dlcjtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGluZnJhc3RydWN0dXJlTG9nZ2VyLCAnX19tZl9pbmZyYXN0cnVjdHVyZV9sb2dnZXJfXycsIHtcbiAgICB2YWx1ZTogdHJ1ZSxcbiAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICB9KTtcbiAgcmV0dXJuIGluZnJhc3RydWN0dXJlTG9nZ2VyO1xufVxuXG50eXBlIEluZnJhc3RydWN0dXJlTG9nZ2VyQ2FwYWJsZUNvbXBpbGVyID0ge1xuICBnZXRJbmZyYXN0cnVjdHVyZUxvZ2dlcj86IChuYW1lOiBzdHJpbmcpID0+IHVua25vd247XG59O1xuXG5mdW5jdGlvbiBiaW5kTG9nZ2VyVG9Db21waWxlcihcbiAgbG9nZ2VySW5zdGFuY2U6IExvZ2dlcixcbiAgY29tcGlsZXI6IEluZnJhc3RydWN0dXJlTG9nZ2VyQ2FwYWJsZUNvbXBpbGVyLFxuICBuYW1lOiBzdHJpbmcsXG4pIHtcbiAgaWYgKFxuICAgICEobG9nZ2VySW5zdGFuY2UgYXMgUGFydGlhbDxJbmZyYXN0cnVjdHVyZUxvZ2dlcj4pXG4gICAgICAuX19tZl9pbmZyYXN0cnVjdHVyZV9sb2dnZXJfX1xuICApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKCFjb21waWxlcj8uZ2V0SW5mcmFzdHJ1Y3R1cmVMb2dnZXIpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICBjb25zdCBpbmZyYXN0cnVjdHVyZUxvZ2dlciA9IGNvbXBpbGVyLmdldEluZnJhc3RydWN0dXJlTG9nZ2VyKG5hbWUpO1xuICAgIGlmIChcbiAgICAgIGluZnJhc3RydWN0dXJlTG9nZ2VyICYmXG4gICAgICB0eXBlb2YgaW5mcmFzdHJ1Y3R1cmVMb2dnZXIgPT09ICdvYmplY3QnICYmXG4gICAgICAodHlwZW9mIChpbmZyYXN0cnVjdHVyZUxvZ2dlciBhcyBMb2dnZXJEZWxlZ2F0ZSkubG9nID09PSAnZnVuY3Rpb24nIHx8XG4gICAgICAgIHR5cGVvZiAoaW5mcmFzdHJ1Y3R1cmVMb2dnZXIgYXMgTG9nZ2VyRGVsZWdhdGUpLmluZm8gPT09ICdmdW5jdGlvbicgfHxcbiAgICAgICAgdHlwZW9mIChpbmZyYXN0cnVjdHVyZUxvZ2dlciBhcyBMb2dnZXJEZWxlZ2F0ZSkud2FybiA9PT0gJ2Z1bmN0aW9uJyB8fFxuICAgICAgICB0eXBlb2YgKGluZnJhc3RydWN0dXJlTG9nZ2VyIGFzIExvZ2dlckRlbGVnYXRlKS5lcnJvciA9PT0gJ2Z1bmN0aW9uJylcbiAgICApIHtcbiAgICAgIGxvZ2dlckluc3RhbmNlLnNldERlbGVnYXRlKFxuICAgICAgICBpbmZyYXN0cnVjdHVyZUxvZ2dlciBhcyB1bmtub3duIGFzIExvZ2dlckRlbGVnYXRlLFxuICAgICAgKTtcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIC8vIElmIHRoZSBidW5kbGVyIHRocm93cyAob2xkZXIgdmVyc2lvbnMpLCBmYWxsIGJhY2sgdG8gZGVmYXVsdCBjb25zb2xlIGxvZ2dlci5cbiAgICBsb2dnZXJJbnN0YW5jZS5zZXREZWxlZ2F0ZSh1bmRlZmluZWQpO1xuICB9XG59XG5cbmNvbnN0IGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcihQUkVGSVgpO1xuY29uc3QgaW5mcmFzdHJ1Y3R1cmVMb2dnZXIgPSBjcmVhdGVJbmZyYXN0cnVjdHVyZUxvZ2dlcihQUkVGSVgpO1xuXG5leHBvcnQge1xuICBsb2dnZXIsXG4gIGluZnJhc3RydWN0dXJlTG9nZ2VyLFxuICBjcmVhdGVMb2dnZXIsXG4gIGNyZWF0ZUluZnJhc3RydWN0dXJlTG9nZ2VyLFxuICBiaW5kTG9nZ2VyVG9Db21waWxlcixcbn07XG5leHBvcnQgdHlwZSB7IExvZ2dlciwgSW5mcmFzdHJ1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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/logger.js\n\n}");
|
|
412
|
+
|
|
413
|
+
},
|
|
414
|
+
"../../../node_modules/@module-federation/sdk/dist/node.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
415
|
+
"use strict";
|
|
416
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n createScriptNode: () => (createScriptNode),\n loadScriptNode: () => (loadScriptNode)\n});\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _async_to_generator(fn) {\n return function() {\n var self = this, args = arguments;\n return new Promise(function(resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _instanceof(left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return !!right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\nfunction _ts_generator(thisArg, body) {\n var f, y, t, _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype), d = Object.defineProperty;\n return d(g, \"next\", {\n value: verb(0)\n }), d(g, \"throw\", {\n value: verb(1)\n }), d(g, \"return\", {\n value: verb(2)\n }), typeof Symbol === \"function\" && d(g, Symbol.iterator, {\n value: function() {\n return this;\n }\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(g && (g = 0, op[0] && (_ = 0)), _)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n}\n//#region src/node.ts\nvar sdkImportCache = /* @__PURE__ */ new Map();\nfunction importNodeModule(name) {\n if (!name) throw new Error(\"import specifier is required\");\n if (sdkImportCache.has(name)) return sdkImportCache.get(name);\n var promise = new Function(\"name\", \"return import(name)\")(name).then(function(res) {\n return res;\n }).catch(function(error) {\n console.error(\"Error importing module \".concat(name, \":\"), error);\n sdkImportCache.delete(name);\n throw error;\n });\n sdkImportCache.set(name, promise);\n return promise;\n}\nvar lazyLoaderHookFetch = function lazyLoaderHookFetch(input, init, loaderHook) {\n return _async_to_generator(function() {\n var hook, res;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n hook = function hook(url, init) {\n return loaderHook.lifecycle.fetch.emit(url, init);\n };\n return [\n 4,\n hook(input, init || {})\n ];\n case 1:\n res = _state.sent();\n if (!res || !_instanceof(res, Response)) return [\n 2,\n fetch(input, init || {})\n ];\n return [\n 2,\n res\n ];\n }\n });\n })();\n};\nvar createScriptNode = false ? 0 : function(url, cb, attrs, loaderHook) {\n cb(/* @__PURE__ */ new Error(\"createScriptNode is disabled in non-Node.js environment\"));\n};\nvar loadScriptNode = false ? 0 : function(url, info) {\n throw new Error(\"loadScriptNode is disabled in non-Node.js environment\");\n};\nvar esmModuleCache = /* @__PURE__ */ new Map();\nvar isFetchableRemoteModuleUrl = function isFetchableRemoteModuleUrl(url) {\n return url.startsWith(\"http:\") || url.startsWith(\"https:\");\n};\nvar isBareModuleSpecifier = function isBareModuleSpecifier(specifier) {\n return !specifier.startsWith(\"./\") && !specifier.startsWith(\"../\") && !specifier.startsWith(\"/\") && !specifier.includes(\":\");\n};\nfunction encodeRemoteModulePath(url) {\n var remoteUrl = new URL(url);\n var encodedProtocol = encodeURIComponent(remoteUrl.protocol.slice(0, -1));\n var encodedHost = encodeURIComponent(remoteUrl.host);\n var encodedPathname = remoteUrl.pathname.split(\"/\").map(function(segment) {\n return encodeURIComponent(segment);\n }).join(\"/\");\n var encodedSearchHash = encodeURIComponent(\"\".concat(remoteUrl.search).concat(remoteUrl.hash));\n return \"/\".concat(encodedProtocol, \"/\").concat(encodedHost).concat(encodedPathname).concat(encodedSearchHash ? \"/\".concat(encodedSearchHash) : \"\");\n}\nfunction createImportMetaUrl(url, baseFileUrl) {\n var baseUrl = baseFileUrl.endsWith(\"/\") ? baseFileUrl : \"\".concat(baseFileUrl, \"/\");\n return new URL(\"__module_federation_remote__\".concat(encodeRemoteModulePath(url)), baseUrl).href;\n}\nfunction isNodeBuiltinSpecifier(specifier) {\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n if (specifier.startsWith(\"node:\")) return [\n 2,\n true\n ];\n if (!isBareModuleSpecifier(specifier)) return [\n 2,\n false\n ];\n return [\n 4,\n importNodeModule(\"node:module\")\n ];\n case 1:\n return [\n 2,\n _state.sent().builtinModules.includes(specifier)\n ];\n }\n });\n })();\n}\nfunction getSyntheticModuleExports(moduleExports) {\n var namespaceObject = moduleExports && ((typeof moduleExports === \"undefined\" ? \"undefined\" : _type_of(moduleExports)) === \"object\" || typeof moduleExports === \"function\") ? moduleExports : {\n default: moduleExports\n };\n var effectiveExports = _object_spread({}, namespaceObject);\n if (!Object.prototype.hasOwnProperty.call(effectiveExports, \"default\")) effectiveExports.default = namespaceObject;\n return effectiveExports;\n}\nfunction createSyntheticModuleFromExports(identifier, moduleExports, vm) {\n return _async_to_generator(function() {\n var effectiveExports, exportNames, syntheticModule;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n if (typeof vm.SyntheticModule !== \"function\") throw new Error(\"vm.SyntheticModule is required to load Node.js built-in modules in ESM remote entries.\");\n effectiveExports = getSyntheticModuleExports(moduleExports);\n exportNames = Object.keys(effectiveExports);\n syntheticModule = new vm.SyntheticModule(exportNames, function setSyntheticModuleExports() {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;\n try {\n for(var _iterator = exportNames[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){\n var name = _step.value;\n this.setExport(name, effectiveExports[name]);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally{\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally{\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }, {\n identifier: identifier\n });\n esmModuleCache.set(identifier, syntheticModule);\n return [\n 4,\n syntheticModule.link(function() {\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n throw new Error('Node.js built-in module \"'.concat(identifier, '\" should not request child modules.'));\n });\n })();\n })\n ];\n case 1:\n _state.sent();\n return [\n 4,\n syntheticModule.evaluate()\n ];\n case 2:\n _state.sent();\n return [\n 2,\n syntheticModule\n ];\n }\n });\n })();\n}\nfunction loadNodeBuiltinModule(specifier, vm) {\n return _async_to_generator(function() {\n var cacheKey, _tmp;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n cacheKey = \"node-builtin:\".concat(specifier);\n if (esmModuleCache.has(cacheKey)) return [\n 2,\n esmModuleCache.get(cacheKey)\n ];\n _tmp = [\n cacheKey\n ];\n return [\n 4,\n importNodeModule(specifier)\n ];\n case 1:\n return [\n 2,\n createSyntheticModuleFromExports.apply(void 0, _tmp.concat([\n _state.sent(),\n vm\n ]))\n ];\n }\n });\n })();\n}\nfunction loadResolvedModule(specifier, parentUrl, options) {\n return _async_to_generator(function() {\n var resolvedUrl;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n isNodeBuiltinSpecifier(specifier)\n ];\n case 1:\n if (_state.sent()) return [\n 2,\n loadNodeBuiltinModule(specifier, options.vm)\n ];\n if (isBareModuleSpecifier(specifier)) throw new Error('Unsupported ESM module specifier \"'.concat(specifier, '\". Only relative or absolute http(s) remote modules and Node.js built-in modules are supported.'));\n resolvedUrl = new URL(specifier, parentUrl).href;\n if (!isFetchableRemoteModuleUrl(resolvedUrl)) throw new Error('Unsupported ESM module specifier \"'.concat(specifier, '\" resolved to \"').concat(resolvedUrl, '\". Only http(s) remote modules and Node.js built-in modules are supported.'));\n return [\n 2,\n loadModule(resolvedUrl, options)\n ];\n }\n });\n })();\n}\nfunction evaluateDynamicModule(module) {\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n if (!(module.status === \"linked\")) return [\n 3,\n 2\n ];\n return [\n 4,\n module.evaluate()\n ];\n case 1:\n _state.sent();\n _state.label = 2;\n case 2:\n if (module.status === \"errored\") throw module.error;\n return [\n 2,\n module\n ];\n }\n });\n })();\n}\nfunction loadModule(url, options) {\n return _async_to_generator(function() {\n var fetch1, vm, code, cwdFileUrl, sourceTextModule;\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n if (esmModuleCache.has(url)) return [\n 2,\n esmModuleCache.get(url)\n ];\n fetch1 = options.fetch, vm = options.vm;\n if (!isFetchableRemoteModuleUrl(url)) throw new Error('Unsupported ESM module URL \"'.concat(url, '\". Only http(s) remote modules and Node.js built-in modules are supported.'));\n return [\n 4,\n fetch1(url)\n ];\n case 1:\n return [\n 4,\n _state.sent().text()\n ];\n case 2:\n code = _state.sent();\n return [\n 4,\n importNodeModule(\"node:url\")\n ];\n case 3:\n cwdFileUrl = _state.sent().pathToFileURL(process.cwd()).href;\n sourceTextModule = new vm.SourceTextModule(code, {\n identifier: url,\n initializeImportMeta: function initializeImportMeta(meta) {\n meta.url = createImportMetaUrl(url, cwdFileUrl);\n },\n importModuleDynamically: function importModuleDynamically(specifier) {\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n switch(_state.label){\n case 0:\n return [\n 4,\n loadResolvedModule(specifier, url, options)\n ];\n case 1:\n return [\n 2,\n evaluateDynamicModule.apply(void 0, [\n _state.sent()\n ])\n ];\n }\n });\n })();\n }\n });\n esmModuleCache.set(url, sourceTextModule);\n return [\n 4,\n sourceTextModule.link(function(specifier) {\n return _async_to_generator(function() {\n return _ts_generator(this, function(_state) {\n return [\n 2,\n loadResolvedModule(specifier, url, options)\n ];\n });\n })();\n })\n ];\n case 4:\n _state.sent();\n return [\n 2,\n sourceTextModule\n ];\n }\n });\n })();\n}\n//#endregion\n //# sourceMappingURL=node.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L25vZGUuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL3NyYy9ub2RlLnRzP2FmNDYiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3JlYXRlU2NyaXB0SG9va05vZGUsIEZldGNoSG9vayB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBEZWNsYXJlIHRoZSBFTlZfVEFSR0VUIGNvbnN0YW50IHRoYXQgd2lsbCBiZSBkZWZpbmVkIGJ5IERlZmluZVBsdWdpblxuZGVjbGFyZSBjb25zdCBFTlZfVEFSR0VUOiAnd2ViJyB8ICdub2RlJztcblxuY29uc3Qgc2RrSW1wb3J0Q2FjaGUgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PigpO1xuXG5mdW5jdGlvbiBpbXBvcnROb2RlTW9kdWxlPFQ+KG5hbWU6IHN0cmluZyk6IFByb21pc2U8VD4ge1xuICBpZiAoIW5hbWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2ltcG9ydCBzcGVjaWZpZXIgaXMgcmVxdWlyZWQnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGNhY2hlIHRvIHByZXZlbnQgaW5maW5pdGUgcmVjdXJzaW9uXG4gIGlmIChzZGtJbXBvcnRDYWNoZS5oYXMobmFtZSkpIHtcbiAgICByZXR1cm4gc2RrSW1wb3J0Q2FjaGUuZ2V0KG5hbWUpITtcbiAgfVxuXG4gIGNvbnN0IGltcG9ydE1vZHVsZSA9IG5ldyBGdW5jdGlvbignbmFtZScsIGByZXR1cm4gaW1wb3J0KG5hbWUpYCk7XG4gIGNvbnN0IHByb21pc2UgPSBpbXBvcnRNb2R1bGUobmFtZSlcbiAgICAudGhlbigocmVzOiBhbnkpID0+IHJlcyBhcyBUKVxuICAgIC5jYXRjaCgoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcihgRXJyb3IgaW1wb3J0aW5nIG1vZHVsZSAke25hbWV9OmAsIGVycm9yKTtcbiAgICAgIC8vIFJlbW92ZSBmcm9tIGNhY2hlIG9uIGVycm9yIHNvIGl0IGNhbiBiZSByZXRyaWVkXG4gICAgICBzZGtJbXBvcnRDYWNoZS5kZWxldGUobmFtZSk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcblxuICAvLyBDYWNoZSB0aGUgcHJvbWlzZSB0byBwcmV2ZW50IHJlY3Vyc2l2ZSBjYWxsc1xuICBzZGtJbXBvcnRDYWNoZS5zZXQobmFtZSwgcHJvbWlzZSk7XG4gIHJldHVybiBwcm9taXNlO1xufVxuXG5jb25zdCBsYXp5TG9hZGVySG9va0ZldGNoID0gYXN5bmMgKFxuICBpbnB1dDogUmVxdWVzdEluZm8gfCBVUkwsXG4gIGluaXQ/OiBSZXF1ZXN0SW5pdCxcbiAgbG9hZGVySG9vaz86IGFueSxcbik6IFByb21pc2U8UmVzcG9uc2U+ID0+IHtcbiAgY29uc3QgaG9vayA9ICh1cmw6IFJlcXVlc3RJbmZvIHwgVVJMLCBpbml0OiBSZXF1ZXN0SW5pdCkgPT4ge1xuICAgIHJldHVybiBsb2FkZXJIb29rLmxpZmVjeWNsZS5mZXRjaC5lbWl0KHVybCwgaW5pdCk7XG4gIH07XG5cbiAgY29uc3QgcmVzID0gYXdhaXQgaG9vayhpbnB1dCwgaW5pdCB8fCB7fSk7XG4gIGlmICghcmVzIHx8ICEocmVzIGluc3RhbmNlb2YgUmVzcG9uc2UpKSB7XG4gICAgcmV0dXJuIGZldGNoKGlucHV0LCBpbml0IHx8IHt9KTtcbiAgfVxuXG4gIHJldHVybiByZXM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlU2NyaXB0Tm9kZSA9XG4gIHR5cGVvZiBFTlZfVEFSR0VUID09PSAndW5kZWZpbmVkJyB8fCBFTlZfVEFSR0VUICE9PSAnd2ViJ1xuICAgID8gKFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgICAgY2I6IChlcnJvcj86IEVycm9yLCBzY3JpcHRDb250ZXh0PzogYW55KSA9PiB2b2lkLFxuICAgICAgICBhdHRycz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgICAgIGxvYWRlckhvb2s/OiB7XG4gICAgICAgICAgY3JlYXRlU2NyaXB0SG9vaz86IENyZWF0ZVNjcmlwdEhvb2tOb2RlO1xuICAgICAgICAgIGZldGNoPzogRmV0Y2hIb29rO1xuICAgICAgICB9LFxuICAgICAgKSA9PiB7XG4gICAgICAgIGlmIChsb2FkZXJIb29rPy5jcmVhdGVTY3JpcHRIb29rKSB7XG4gICAgICAgICAgY29uc3QgaG9va1Jlc3VsdCA9IGxvYWRlckhvb2suY3JlYXRlU2NyaXB0SG9vayh1cmwpO1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGhvb2tSZXN1bHQgJiZcbiAgICAgICAgICAgIHR5cGVvZiBob29rUmVzdWx0ID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAgICAgJ3VybCcgaW4gaG9va1Jlc3VsdFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdXJsID0gaG9va1Jlc3VsdC51cmw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHVybE9iajogVVJMO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHVybE9iaiA9IG5ldyBVUkwodXJsKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNvbnN0cnVjdGluZyBVUkw6JywgZSk7XG4gICAgICAgICAgY2IobmV3IEVycm9yKGBJbnZhbGlkIFVSTDogJHtlfWApKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBnZXRGZXRjaCA9IGFzeW5jICgpOiBQcm9taXNlPHR5cGVvZiBmZXRjaD4gPT4ge1xuICAgICAgICAgIGlmIChsb2FkZXJIb29rPy5mZXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIChpbnB1dDogUmVxdWVzdEluZm8gfCBVUkwsIGluaXQ/OiBSZXF1ZXN0SW5pdCkgPT5cbiAgICAgICAgICAgICAgbGF6eUxvYWRlckhvb2tGZXRjaChpbnB1dCwgaW5pdCwgbG9hZGVySG9vayk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGZldGNoO1xuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVNjcmlwdEZldGNoID0gYXN5bmMgKGY6IHR5cGVvZiBmZXRjaCwgdXJsT2JqOiBVUkwpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZih1cmxPYmouaHJlZik7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICAgIGNvbnN0IFtwYXRoLCB2bV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgIGltcG9ydE5vZGVNb2R1bGU8dHlwZW9mIGltcG9ydCgncGF0aCcpPigncGF0aCcpLFxuICAgICAgICAgICAgICBpbXBvcnROb2RlTW9kdWxlPHR5cGVvZiBpbXBvcnQoJ3ZtJyk+KCd2bScpLFxuICAgICAgICAgICAgXSk7XG5cbiAgICAgICAgICAgIGNvbnN0IHNjcmlwdENvbnRleHQgPSB7IGV4cG9ydHM6IHt9LCBtb2R1bGU6IHsgZXhwb3J0czoge30gfSB9O1xuICAgICAgICAgICAgY29uc3QgdXJsRGlybmFtZSA9IHVybE9iai5wYXRobmFtZVxuICAgICAgICAgICAgICAuc3BsaXQoJy8nKVxuICAgICAgICAgICAgICAuc2xpY2UoMCwgLTEpXG4gICAgICAgICAgICAgIC5qb2luKCcvJyk7XG4gICAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9IHBhdGguYmFzZW5hbWUodXJsT2JqLnBhdGhuYW1lKTtcblxuICAgICAgICAgICAgY29uc3Qgc2NyaXB0ID0gbmV3IHZtLlNjcmlwdChcbiAgICAgICAgICAgICAgYChmdW5jdGlvbihleHBvcnRzLCBtb2R1bGUsIHJlcXVpcmUsIF9fZGlybmFtZSwgX19maWxlbmFtZSkgeyR7ZGF0YX1cXG59KWAsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWxlbmFtZSxcbiAgICAgICAgICAgICAgICBpbXBvcnRNb2R1bGVEeW5hbWljYWxseTpcbiAgICAgICAgICAgICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICAgICAgICAgICAgdm0uY29uc3RhbnRzPy5VU0VfTUFJTl9DT05URVhUX0RFRkFVTFRfTE9BREVSID8/XG4gICAgICAgICAgICAgICAgICBpbXBvcnROb2RlTW9kdWxlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgbGV0IHJlcXVpcmVGbjogTm9kZVJlcXVpcmU7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuSVNfRVNNX0JVSUxEID09PSAndHJ1ZScpIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9kZU1vZHVsZSA9XG4gICAgICAgICAgICAgICAgYXdhaXQgaW1wb3J0Tm9kZU1vZHVsZTx0eXBlb2YgaW1wb3J0KCdub2RlOm1vZHVsZScpPihcbiAgICAgICAgICAgICAgICAgICdub2RlOm1vZHVsZScsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmVxdWlyZUZuID0gbm9kZU1vZHVsZS5jcmVhdGVSZXF1aXJlKFxuICAgICAgICAgICAgICAgIHVybE9iai5wcm90b2NvbCA9PT0gJ2ZpbGU6JyB8fCB1cmxPYmoucHJvdG9jb2wgPT09ICdub2RlOidcbiAgICAgICAgICAgICAgICAgID8gdXJsT2JqLmhyZWZcbiAgICAgICAgICAgICAgICAgIDogcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICdfX21mX3JlcXVpcmVfYmFzZV9fLmpzJyksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXF1aXJlRm4gPSBldmFsKCdyZXF1aXJlJykgYXMgTm9kZVJlcXVpcmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNjcmlwdC5ydW5JblRoaXNDb250ZXh0KCkoXG4gICAgICAgICAgICAgIHNjcmlwdENvbnRleHQuZXhwb3J0cyxcbiAgICAgICAgICAgICAgc2NyaXB0Q29udGV4dC5tb2R1bGUsXG4gICAgICAgICAgICAgIHJlcXVpcmVGbixcbiAgICAgICAgICAgICAgdXJsRGlybmFtZSxcbiAgICAgICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgY29uc3QgZXhwb3J0ZWRJbnRlcmZhY2U6IFJlY29yZDxzdHJpbmcsIGFueT4gPVxuICAgICAgICAgICAgICBzY3JpcHRDb250ZXh0Lm1vZHVsZS5leHBvcnRzIHx8IHNjcmlwdENvbnRleHQuZXhwb3J0cztcblxuICAgICAgICAgICAgaWYgKGF0dHJzICYmIGV4cG9ydGVkSW50ZXJmYWNlICYmIGF0dHJzWydnbG9iYWxOYW1lJ10pIHtcbiAgICAgICAgICAgICAgY29uc3QgY29udGFpbmVyID1cbiAgICAgICAgICAgICAgICBleHBvcnRlZEludGVyZmFjZVthdHRyc1snZ2xvYmFsTmFtZSddXSB8fCBleHBvcnRlZEludGVyZmFjZTtcbiAgICAgICAgICAgICAgY2IoXG4gICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGNvbnRhaW5lciBhcyBrZXlvZiB0eXBlb2Ygc2NyaXB0Q29udGV4dC5tb2R1bGUuZXhwb3J0cyxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjYihcbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBleHBvcnRlZEludGVyZmFjZSBhcyBrZXlvZiB0eXBlb2Ygc2NyaXB0Q29udGV4dC5tb2R1bGUuZXhwb3J0cyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY2IoXG4gICAgICAgICAgICAgIGUgaW5zdGFuY2VvZiBFcnJvclxuICAgICAgICAgICAgICAgID8gZVxuICAgICAgICAgICAgICAgIDogbmV3IEVycm9yKGBTY3JpcHQgZXhlY3V0aW9uIGVycm9yOiAke2V9YCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBnZXRGZXRjaCgpXG4gICAgICAgICAgLnRoZW4oYXN5bmMgKGYpID0+IHtcbiAgICAgICAgICAgIGlmIChhdHRycz8uWyd0eXBlJ10gPT09ICdlc20nIHx8IGF0dHJzPy5bJ3R5cGUnXSA9PT0gJ21vZHVsZScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGxvYWRNb2R1bGUodXJsT2JqLmhyZWYsIHtcbiAgICAgICAgICAgICAgICBmZXRjaDogZixcbiAgICAgICAgICAgICAgICB2bTogYXdhaXQgaW1wb3J0Tm9kZU1vZHVsZTx0eXBlb2YgaW1wb3J0KCd2bScpPigndm0nKSxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAudGhlbihhc3luYyAobW9kdWxlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBhd2FpdCBtb2R1bGUuZXZhbHVhdGUoKTtcbiAgICAgICAgICAgICAgICAgIGNiKHVuZGVmaW5lZCwgbW9kdWxlLm5hbWVzcGFjZSk7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNiKFxuICAgICAgICAgICAgICAgICAgICBlIGluc3RhbmNlb2YgRXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICA/IGVcbiAgICAgICAgICAgICAgICAgICAgICA6IG5ldyBFcnJvcihgU2NyaXB0IGV4ZWN1dGlvbiBlcnJvcjogJHtlfWApLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhhbmRsZVNjcmlwdEZldGNoKGYsIHVybE9iaik7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgY2IoZXJyKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH1cbiAgICA6IChcbiAgICAgICAgdXJsOiBzdHJpbmcsXG4gICAgICAgIGNiOiAoZXJyb3I/OiBFcnJvciwgc2NyaXB0Q29udGV4dD86IGFueSkgPT4gdm9pZCxcbiAgICAgICAgYXR0cnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgICAgICBsb2FkZXJIb29rPzoge1xuICAgICAgICAgIGNyZWF0ZVNjcmlwdEhvb2s/OiBDcmVhdGVTY3JpcHRIb29rTm9kZTtcbiAgICAgICAgICBmZXRjaD86IEZldGNoSG9vaztcbiAgICAgICAgfSxcbiAgICAgICkgPT4ge1xuICAgICAgICBjYihcbiAgICAgICAgICBuZXcgRXJyb3IoJ2NyZWF0ZVNjcmlwdE5vZGUgaXMgZGlzYWJsZWQgaW4gbm9uLU5vZGUuanMgZW52aXJvbm1lbnQnKSxcbiAgICAgICAgKTtcbiAgICAgIH07XG5cbmV4cG9ydCBjb25zdCBsb2FkU2NyaXB0Tm9kZSA9XG4gIHR5cGVvZiBFTlZfVEFSR0VUID09PSAndW5kZWZpbmVkJyB8fCBFTlZfVEFSR0VUICE9PSAnd2ViJ1xuICAgID8gKFxuICAgICAgICB1cmw6IHN0cmluZyxcbiAgICAgICAgaW5mbzoge1xuICAgICAgICAgIGF0dHJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgICAgICAgICBsb2FkZXJIb29rPzoge1xuICAgICAgICAgICAgY3JlYXRlU2NyaXB0SG9vaz86IENyZWF0ZVNjcmlwdEhvb2tOb2RlO1xuICAgICAgICAgIH07XG4gICAgICAgIH0sXG4gICAgICApID0+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICBjcmVhdGVTY3JpcHROb2RlKFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgKGVycm9yLCBzY3JpcHRDb250ZXh0KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVtb3RlRW50cnlLZXkgPVxuICAgICAgICAgICAgICAgICAgaW5mbz8uYXR0cnM/LlsnZ2xvYmFsTmFtZSddIHx8XG4gICAgICAgICAgICAgICAgICBgX19GRURFUkFUSU9OXyR7aW5mbz8uYXR0cnM/LlsnbmFtZSddfTpjdXN0b21fX2A7XG4gICAgICAgICAgICAgICAgY29uc3QgZW50cnlFeHBvcnRzID0gKChnbG9iYWxUaGlzIGFzIGFueSlbcmVtb3RlRW50cnlLZXldID1cbiAgICAgICAgICAgICAgICAgIHNjcmlwdENvbnRleHQpO1xuICAgICAgICAgICAgICAgIHJlc29sdmUoZW50cnlFeHBvcnRzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGluZm8uYXR0cnMsXG4gICAgICAgICAgICBpbmZvLmxvYWRlckhvb2ssXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgOiAoXG4gICAgICAgIHVybDogc3RyaW5nLFxuICAgICAgICBpbmZvOiB7XG4gICAgICAgICAgYXR0cnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgICAgICAgIGxvYWRlckhvb2s/OiB7XG4gICAgICAgICAgICBjcmVhdGVTY3JpcHRIb29rPzogQ3JlYXRlU2NyaXB0SG9va05vZGU7XG4gICAgICAgICAgfTtcbiAgICAgICAgfSxcbiAgICAgICkgPT4ge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ2xvYWRTY3JpcHROb2RlIGlzIGRpc2FibGVkIGluIG5vbi1Ob2RlLmpzIGVudmlyb25tZW50JyxcbiAgICAgICAgKTtcbiAgICAgIH07XG5cbmNvbnN0IGVzbU1vZHVsZUNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIGFueT4oKTtcblxudHlwZSBMb2FkTW9kdWxlT3B0aW9ucyA9IHtcbiAgdm06IHR5cGVvZiBpbXBvcnQoJ3ZtJykgJiB7XG4gICAgU291cmNlVGV4dE1vZHVsZTogYW55O1xuICAgIFN5bnRoZXRpY01vZHVsZTogYW55O1xuICB9O1xuICBmZXRjaDogdHlwZW9mIGZldGNoO1xufTtcblxuY29uc3QgaXNGZXRjaGFibGVSZW1vdGVNb2R1bGVVcmwgPSAodXJsOiBzdHJpbmcpOiBib29sZWFuID0+XG4gIHVybC5zdGFydHNXaXRoKCdodHRwOicpIHx8IHVybC5zdGFydHNXaXRoKCdodHRwczonKTtcblxuY29uc3QgaXNCYXJlTW9kdWxlU3BlY2lmaWVyID0gKHNwZWNpZmllcjogc3RyaW5nKTogYm9vbGVhbiA9PlxuICAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy4vJykgJiZcbiAgIXNwZWNpZmllci5zdGFydHNXaXRoKCcuLi8nKSAmJlxuICAhc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJy8nKSAmJlxuICAhc3BlY2lmaWVyLmluY2x1ZGVzKCc6Jyk7XG5cbmZ1bmN0aW9uIGVuY29kZVJlbW90ZU1vZHVsZVBhdGgodXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCByZW1vdGVVcmwgPSBuZXcgVVJMKHVybCk7XG4gIGNvbnN0IGVuY29kZWRQcm90b2NvbCA9IGVuY29kZVVSSUNvbXBvbmVudChyZW1vdGVVcmwucHJvdG9jb2wuc2xpY2UoMCwgLTEpKTtcbiAgY29uc3QgZW5jb2RlZEhvc3QgPSBlbmNvZGVVUklDb21wb25lbnQocmVtb3RlVXJsLmhvc3QpO1xuICBjb25zdCBlbmNvZGVkUGF0aG5hbWUgPSByZW1vdGVVcmwucGF0aG5hbWVcbiAgICAuc3BsaXQoJy8nKVxuICAgIC5tYXAoKHNlZ21lbnQpID0+IGVuY29kZVVSSUNvbXBvbmVudChzZWdtZW50KSlcbiAgICAuam9pbignLycpO1xuICBjb25zdCBlbmNvZGVkU2VhcmNoSGFzaCA9IGVuY29kZVVSSUNvbXBvbmVudChcbiAgICBgJHtyZW1vdGVVcmwuc2VhcmNofSR7cmVtb3RlVXJsLmhhc2h9YCxcbiAgKTtcbiAgY29uc3QgZW5jb2RlZFN1ZmZpeCA9IGVuY29kZWRTZWFyY2hIYXNoID8gYC8ke2VuY29kZWRTZWFyY2hIYXNofWAgOiAnJztcblxuICByZXR1cm4gYC8ke2VuY29kZWRQcm90b2NvbH0vJHtlbmNvZGVkSG9zdH0ke2VuY29kZWRQYXRobmFtZX0ke2VuY29kZWRTdWZmaXh9YDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSW1wb3J0TWV0YVVybCh1cmw6IHN0cmluZywgYmFzZUZpbGVVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGJhc2VVcmwgPSBiYXNlRmlsZVVybC5lbmRzV2l0aCgnLycpID8gYmFzZUZpbGVVcmwgOiBgJHtiYXNlRmlsZVVybH0vYDtcbiAgcmV0dXJuIG5ldyBVUkwoXG4gICAgYF9fbW9kdWxlX2ZlZGVyYXRpb25fcmVtb3RlX18ke2VuY29kZVJlbW90ZU1vZHVsZVBhdGgodXJsKX1gLFxuICAgIGJhc2VVcmwsXG4gICkuaHJlZjtcbn1cblxuYXN5bmMgZnVuY3Rpb24gaXNOb2RlQnVpbHRpblNwZWNpZmllcihzcGVjaWZpZXI6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICBpZiAoc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJ25vZGU6JykpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmICghaXNCYXJlTW9kdWxlU3BlY2lmaWVyKHNwZWNpZmllcikpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBub2RlTW9kdWxlID1cbiAgICBhd2FpdCBpbXBvcnROb2RlTW9kdWxlPHR5cGVvZiBpbXBvcnQoJ25vZGU6bW9kdWxlJyk+KCdub2RlOm1vZHVsZScpO1xuXG4gIHJldHVybiBub2RlTW9kdWxlLmJ1aWx0aW5Nb2R1bGVzLmluY2x1ZGVzKHNwZWNpZmllcik7XG59XG5cbmZ1bmN0aW9uIGdldFN5bnRoZXRpY01vZHVsZUV4cG9ydHMobW9kdWxlRXhwb3J0czogYW55KTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gIGNvbnN0IG5hbWVzcGFjZU9iamVjdCA9XG4gICAgbW9kdWxlRXhwb3J0cyAmJlxuICAgICh0eXBlb2YgbW9kdWxlRXhwb3J0cyA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIG1vZHVsZUV4cG9ydHMgPT09ICdmdW5jdGlvbicpXG4gICAgICA/IG1vZHVsZUV4cG9ydHNcbiAgICAgIDogeyBkZWZhdWx0OiBtb2R1bGVFeHBvcnRzIH07XG4gIGNvbnN0IGVmZmVjdGl2ZUV4cG9ydHMgPSB7IC4uLm5hbWVzcGFjZU9iamVjdCB9O1xuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGVmZmVjdGl2ZUV4cG9ydHMsICdkZWZhdWx0JykpIHtcbiAgICBlZmZlY3RpdmVFeHBvcnRzLmRlZmF1bHQgPSBuYW1lc3BhY2VPYmplY3Q7XG4gIH1cblxuICByZXR1cm4gZWZmZWN0aXZlRXhwb3J0cztcbn1cblxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3ludGhldGljTW9kdWxlRnJvbUV4cG9ydHMoXG4gIGlkZW50aWZpZXI6IHN0cmluZyxcbiAgbW9kdWxlRXhwb3J0czogYW55LFxuICB2bTogTG9hZE1vZHVsZU9wdGlvbnNbJ3ZtJ10sXG4pIHtcbiAgaWYgKHR5cGVvZiB2bS5TeW50aGV0aWNNb2R1bGUgIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAndm0uU3ludGhldGljTW9kdWxlIGlzIHJlcXVpcmVkIHRvIGxvYWQgTm9kZS5qcyBidWlsdC1pbiBtb2R1bGVzIGluIEVTTSByZW1vdGUgZW50cmllcy4nLFxuICAgICk7XG4gIH1cblxuICBjb25zdCBlZmZlY3RpdmVFeHBvcnRzID0gZ2V0U3ludGhldGljTW9kdWxlRXhwb3J0cyhtb2R1bGVFeHBvcnRzKTtcbiAgY29uc3QgZXhwb3J0TmFtZXMgPSBPYmplY3Qua2V5cyhlZmZlY3RpdmVFeHBvcnRzKTtcbiAgY29uc3Qgc3ludGhldGljTW9kdWxlID0gbmV3IHZtLlN5bnRoZXRpY01vZHVsZShcbiAgICBleHBvcnROYW1lcyxcbiAgICBmdW5jdGlvbiBzZXRTeW50aGV0aWNNb2R1bGVFeHBvcnRzKHRoaXM6IHtcbiAgICAgIHNldEV4cG9ydDogKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICB9KSB7XG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgZXhwb3J0TmFtZXMpIHtcbiAgICAgICAgdGhpcy5zZXRFeHBvcnQobmFtZSwgZWZmZWN0aXZlRXhwb3J0c1tuYW1lXSk7XG4gICAgICB9XG4gICAgfSxcbiAgICB7IGlkZW50aWZpZXIgfSxcbiAgKTtcblxuICBlc21Nb2R1bGVDYWNoZS5zZXQoaWRlbnRpZmllciwgc3ludGhldGljTW9kdWxlKTtcbiAgYXdhaXQgc3ludGhldGljTW9kdWxlLmxpbmsoYXN5bmMgKCkgPT4ge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBOb2RlLmpzIGJ1aWx0LWluIG1vZHVsZSBcIiR7aWRlbnRpZmllcn1cIiBzaG91bGQgbm90IHJlcXVlc3QgY2hpbGQgbW9kdWxlcy5gLFxuICAgICk7XG4gIH0pO1xuICBhd2FpdCBzeW50aGV0aWNNb2R1bGUuZXZhbHVhdGUoKTtcblxuICByZXR1cm4gc3ludGhldGljTW9kdWxlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkTm9kZUJ1aWx0aW5Nb2R1bGUoXG4gIHNwZWNpZmllcjogc3RyaW5nLFxuICB2bTogTG9hZE1vZHVsZU9wdGlvbnNbJ3ZtJ10sXG4pIHtcbiAgY29uc3QgY2FjaGVLZXkgPSBgbm9kZS1idWlsdGluOiR7c3BlY2lmaWVyfWA7XG4gIGlmIChlc21Nb2R1bGVDYWNoZS5oYXMoY2FjaGVLZXkpKSB7XG4gICAgcmV0dXJuIGVzbU1vZHVsZUNhY2hlLmdldChjYWNoZUtleSkhO1xuICB9XG5cbiAgY29uc3QgbW9kdWxlRXhwb3J0cyA9IGF3YWl0IGltcG9ydE5vZGVNb2R1bGUoc3BlY2lmaWVyKTtcbiAgcmV0dXJuIGNyZWF0ZVN5bnRoZXRpY01vZHVsZUZyb21FeHBvcnRzKGNhY2hlS2V5LCBtb2R1bGVFeHBvcnRzLCB2bSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGxvYWRSZXNvbHZlZE1vZHVsZShcbiAgc3BlY2lmaWVyOiBzdHJpbmcsXG4gIHBhcmVudFVybDogc3RyaW5nLFxuICBvcHRpb25zOiBMb2FkTW9kdWxlT3B0aW9ucyxcbikge1xuICBpZiAoYXdhaXQgaXNOb2RlQnVpbHRpblNwZWNpZmllcihzcGVjaWZpZXIpKSB7XG4gICAgcmV0dXJuIGxvYWROb2RlQnVpbHRpbk1vZHVsZShzcGVjaWZpZXIsIG9wdGlvbnMudm0pO1xuICB9XG5cbiAgaWYgKGlzQmFyZU1vZHVsZVNwZWNpZmllcihzcGVjaWZpZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFVuc3VwcG9ydGVkIEVTTSBtb2R1bGUgc3BlY2lmaWVyIFwiJHtzcGVjaWZpZXJ9XCIuIE9ubHkgcmVsYXRpdmUgb3IgYWJzb2x1dGUgaHR0cChzKSByZW1vdGUgbW9kdWxlcyBhbmQgTm9kZS5qcyBidWlsdC1pbiBtb2R1bGVzIGFyZSBzdXBwb3J0ZWQuYCxcbiAgICApO1xuICB9XG5cbiAgY29uc3QgcmVzb2x2ZWRVcmwgPSBuZXcgVVJMKHNwZWNpZmllciwgcGFyZW50VXJsKS5ocmVmO1xuICBpZiAoIWlzRmV0Y2hhYmxlUmVtb3RlTW9kdWxlVXJsKHJlc29sdmVkVXJsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBVbnN1cHBvcnRlZCBFU00gbW9kdWxlIHNwZWNpZmllciBcIiR7c3BlY2lmaWVyfVwiIHJlc29sdmVkIHRvIFwiJHtyZXNvbHZlZFVybH1cIi4gT25seSBodHRwKHMpIHJlbW90ZSBtb2R1bGVzIGFuZCBOb2RlLmpzIGJ1aWx0LWluIG1vZHVsZXMgYXJlIHN1cHBvcnRlZC5gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gbG9hZE1vZHVsZShyZXNvbHZlZFVybCwgb3B0aW9ucyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGV2YWx1YXRlRHluYW1pY01vZHVsZShtb2R1bGU6IGFueSkge1xuICBpZiAobW9kdWxlLnN0YXR1cyA9PT0gJ2xpbmtlZCcpIHtcbiAgICBhd2FpdCBtb2R1bGUuZXZhbHVhdGUoKTtcbiAgfVxuXG4gIGlmIChtb2R1bGUuc3RhdHVzID09PSAnZXJyb3JlZCcpIHtcbiAgICB0aHJvdyBtb2R1bGUuZXJyb3I7XG4gIH1cblxuICByZXR1cm4gbW9kdWxlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBsb2FkTW9kdWxlKHVybDogc3RyaW5nLCBvcHRpb25zOiBMb2FkTW9kdWxlT3B0aW9ucykge1xuICAvLyBDaGVjayBjYWNoZSB0byBwcmV2ZW50IGluZmluaXRlIHJlY3Vyc2lvbiBpbiBFU00gbG9hZGluZ1xuICBpZiAoZXNtTW9kdWxlQ2FjaGUuaGFzKHVybCkpIHtcbiAgICByZXR1cm4gZXNtTW9kdWxlQ2FjaGUuZ2V0KHVybCkhO1xuICB9XG5cbiAgY29uc3QgeyBmZXRjaCwgdm0gfSA9IG9wdGlvbnM7XG4gIGlmICghaXNGZXRjaGFibGVSZW1vdGVNb2R1bGVVcmwodXJsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBVbnN1cHBvcnRlZCBFU00gbW9kdWxlIFVSTCBcIiR7dXJsfVwiLiBPbmx5IGh0dHAocykgcmVtb3RlIG1vZHVsZXMgYW5kIE5vZGUuanMgYnVpbHQtaW4gbW9kdWxlcyBhcmUgc3VwcG9ydGVkLmAsXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTtcbiAgY29uc3QgY29kZSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgY29uc3Qgbm9kZVVybCA9IGF3YWl0IGltcG9ydE5vZGVNb2R1bGU8dHlwZW9mIGltcG9ydCgnbm9kZTp1cmwnKT4oJ25vZGU6dXJsJyk7XG4gIGNvbnN0IGN3ZEZpbGVVcmwgPSBub2RlVXJsLnBhdGhUb0ZpbGVVUkwocHJvY2Vzcy5jd2QoKSkuaHJlZjtcblxuICBjb25zdCBzb3VyY2VUZXh0TW9kdWxlOiBhbnkgPSBuZXcgdm0uU291cmNlVGV4dE1vZHVsZShjb2RlLCB7XG4gICAgaWRlbnRpZmllcjogdXJsLFxuICAgIGluaXRpYWxpemVJbXBvcnRNZXRhOiAobWV0YTogeyB1cmw6IHN0cmluZyB9KSA9PiB7XG4gICAgICBtZXRhLnVybCA9IGNyZWF0ZUltcG9ydE1ldGFVcmwodXJsLCBjd2RGaWxlVXJsKTtcbiAgICB9LFxuICAgIGltcG9ydE1vZHVsZUR5bmFtaWNhbGx5OiBhc3luYyAoc3BlY2lmaWVyOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBldmFsdWF0ZUR5bmFtaWNNb2R1bGUoXG4gICAgICAgIGF3YWl0IGxvYWRSZXNvbHZlZE1vZHVsZShzcGVjaWZpZXIsIHVybCwgb3B0aW9ucyksXG4gICAgICApO1xuICAgIH0sXG4gIH0pO1xuXG4gIC8vIENhY2hlIHRoZSBtb2R1bGUgYmVmb3JlIGxpbmtpbmcgdG8gcHJldmVudCBjeWNsZXNcbiAgZXNtTW9kdWxlQ2FjaGUuc2V0KHVybCwgc291cmNlVGV4dE1vZHVsZSk7XG5cbiAgYXdhaXQgc291cmNlVGV4dE1vZHVsZS5saW5rKGFzeW5jIChzcGVjaWZpZXI6IHN0cmluZykgPT4ge1xuICAgIHJldHVybiBsb2FkUmVzb2x2ZWRNb2R1bGUoc3BlY2lmaWVyLCB1cmwsIG9wdGlvbnMpO1xuICB9KTtcblxuICByZXR1cm4gc291cmNlVGV4dE1vZHVsZTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLQSxJQUFNLGlDQUFpQixJQUFJ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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/node.js\n\n}");
|
|
417
|
+
|
|
418
|
+
},
|
|
419
|
+
"../../../node_modules/@module-federation/sdk/dist/normalizeOptions.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
420
|
+
"use strict";
|
|
421
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n normalizeOptions: () => (normalizeOptions)\n});\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _object_spread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n ownKeys.forEach(function(key) {\n _define_property(target, key, source[key]);\n });\n }\n return target;\n}\nfunction _type_of(obj) {\n \"@swc/helpers - typeof\";\n return obj && typeof Symbol !== \"undefined\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n}\n//#region src/normalizeOptions.ts\nfunction normalizeOptions(enableDefault, defaultOptions, key) {\n return function(options) {\n if (options === false) return false;\n if (typeof options === \"undefined\") if (enableDefault) return defaultOptions;\n else return false;\n if (options === true) return defaultOptions;\n if (options && (typeof options === \"undefined\" ? \"undefined\" : _type_of(options)) === \"object\") return _object_spread({}, defaultOptions, options);\n throw new Error(\"Unexpected type for `\".concat(key, \"`, expect boolean/undefined/object, got: \").concat(typeof options === \"undefined\" ? \"undefined\" : _type_of(options)));\n };\n}\n//#endregion\n //# sourceMappingURL=normalizeOptions.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L25vcm1hbGl6ZU9wdGlvbnMuanMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AbW9kdWxlLWZlZGVyYXRpb24vc2RrL3NyYy9ub3JtYWxpemVPcHRpb25zLnRzPzNiZWIiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbnM8VD4oXG4gIGVuYWJsZURlZmF1bHQ6IGJvb2xlYW4sXG4gIGRlZmF1bHRPcHRpb25zOiBULFxuICBrZXk6IHN0cmluZyxcbikge1xuICByZXR1cm4gZnVuY3Rpb24gPFUgZXh0ZW5kcyBib29sZWFuIHwgdW5kZWZpbmVkIHwgVD4ob3B0aW9uczogVSk6IFQgfCBmYWxzZSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IGZhbHNlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAndW5kZWZpbmVkJykge1xuICAgICAgaWYgKGVuYWJsZURlZmF1bHQpIHtcbiAgICAgICAgcmV0dXJuIGRlZmF1bHRPcHRpb25zO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChvcHRpb25zID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZGVmYXVsdE9wdGlvbnM7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMgJiYgdHlwZW9mIG9wdGlvbnMgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi4oZGVmYXVsdE9wdGlvbnMgYXMgVCksXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBVbmV4cGVjdGVkIHR5cGUgZm9yIFxcYCR7a2V5fVxcYCwgZXhwZWN0IGJvb2xlYW4vdW5kZWZpbmVkL29iamVjdCwgZ290OiAke3R5cGVvZiBvcHRpb25zfWAsXG4gICAgKTtcbiAgfTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsU0FBZ0IsaUJBQ2QsZUFDQSxnQkFDQSxLQUNBO0lBQ0EsT0FBTyxTQUE2QyxTQUF1QjtRQUN6RSxJQUFJLFlBQVksTUFDZCxRQUFPO1FBR1QsSUFBSSxPQUFPLFlBQVksWUFDckIsS0FBSSxjQUNGLFFBQU87YUFFUCxPQUFPO1FBSVgsSUFBSSxZQUFZLEtBQ2QsUUFBTztRQUdULElBQUksWUFBVyx3REFBTyxjQUFZLFNBQ2hDLFFBQU8sbUJBQ0QsZ0JBQ0Q7UUFJUCxNQUFNLElBQUksTUFDUiwrQkFBeUIsS0FBSSw2Q0FBbUQsRUFDakYsb0RBRDBFLFNBQU8ifQ==\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/normalizeOptions.js\n\n}");
|
|
422
|
+
|
|
423
|
+
},
|
|
424
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ConsumeSharedPlugin.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
425
|
+
"use strict";
|
|
426
|
+
__webpack_require__.r(__webpack_exports__);
|
|
427
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
428
|
+
ConsumeSharedPlugin_exports: () => (ConsumeSharedPlugin_exports)
|
|
429
|
+
});
|
|
430
|
+
/* import */ var _virtual_rolldown_runtime_js__rspack_import_0 = __webpack_require__("../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js");
|
|
431
|
+
|
|
432
|
+
//#region src/types/plugins/ConsumeSharedPlugin.ts
|
|
433
|
+
var ConsumeSharedPlugin_exports = /* @__PURE__ */ (0,_virtual_rolldown_runtime_js__rspack_import_0.__exportAll)({});
|
|
434
|
+
//#endregion
|
|
435
|
+
//# sourceMappingURL=ConsumeSharedPlugin.js.map
|
|
436
|
+
|
|
437
|
+
|
|
438
|
+
},
|
|
439
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerPlugin.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
440
|
+
"use strict";
|
|
441
|
+
__webpack_require__.r(__webpack_exports__);
|
|
442
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
443
|
+
ContainerPlugin_exports: () => (ContainerPlugin_exports)
|
|
444
|
+
});
|
|
445
|
+
/* import */ var _virtual_rolldown_runtime_js__rspack_import_0 = __webpack_require__("../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js");
|
|
446
|
+
|
|
447
|
+
//#region src/types/plugins/ContainerPlugin.ts
|
|
448
|
+
var ContainerPlugin_exports = /* @__PURE__ */ (0,_virtual_rolldown_runtime_js__rspack_import_0.__exportAll)({});
|
|
449
|
+
//#endregion
|
|
450
|
+
//# sourceMappingURL=ContainerPlugin.js.map
|
|
451
|
+
|
|
452
|
+
|
|
453
|
+
},
|
|
454
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ContainerReferencePlugin.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
455
|
+
"use strict";
|
|
456
|
+
__webpack_require__.r(__webpack_exports__);
|
|
457
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
458
|
+
ContainerReferencePlugin_exports: () => (ContainerReferencePlugin_exports)
|
|
459
|
+
});
|
|
460
|
+
/* import */ var _virtual_rolldown_runtime_js__rspack_import_0 = __webpack_require__("../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js");
|
|
461
|
+
|
|
462
|
+
//#region src/types/plugins/ContainerReferencePlugin.ts
|
|
463
|
+
var ContainerReferencePlugin_exports = /* @__PURE__ */ (0,_virtual_rolldown_runtime_js__rspack_import_0.__exportAll)({});
|
|
464
|
+
//#endregion
|
|
465
|
+
//# sourceMappingURL=ContainerReferencePlugin.js.map
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
},
|
|
469
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ModuleFederationPlugin.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
470
|
+
"use strict";
|
|
471
|
+
__webpack_require__.r(__webpack_exports__);
|
|
472
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
473
|
+
ModuleFederationPlugin_exports: () => (ModuleFederationPlugin_exports)
|
|
474
|
+
});
|
|
475
|
+
/* import */ var _virtual_rolldown_runtime_js__rspack_import_0 = __webpack_require__("../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js");
|
|
476
|
+
|
|
477
|
+
//#region src/types/plugins/ModuleFederationPlugin.ts
|
|
478
|
+
var ModuleFederationPlugin_exports = /* @__PURE__ */ (0,_virtual_rolldown_runtime_js__rspack_import_0.__exportAll)({});
|
|
479
|
+
//#endregion
|
|
480
|
+
//# sourceMappingURL=ModuleFederationPlugin.js.map
|
|
481
|
+
|
|
482
|
+
|
|
483
|
+
},
|
|
484
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/ProvideSharedPlugin.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
485
|
+
"use strict";
|
|
486
|
+
__webpack_require__.r(__webpack_exports__);
|
|
487
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
488
|
+
ProvideSharedPlugin_exports: () => (ProvideSharedPlugin_exports)
|
|
489
|
+
});
|
|
490
|
+
/* import */ var _virtual_rolldown_runtime_js__rspack_import_0 = __webpack_require__("../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js");
|
|
491
|
+
|
|
492
|
+
//#region src/types/plugins/ProvideSharedPlugin.ts
|
|
493
|
+
var ProvideSharedPlugin_exports = /* @__PURE__ */ (0,_virtual_rolldown_runtime_js__rspack_import_0.__exportAll)({});
|
|
494
|
+
//#endregion
|
|
495
|
+
//# sourceMappingURL=ProvideSharedPlugin.js.map
|
|
496
|
+
|
|
497
|
+
|
|
498
|
+
},
|
|
499
|
+
"../../../node_modules/@module-federation/sdk/dist/types/plugins/SharePlugin.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
500
|
+
"use strict";
|
|
501
|
+
__webpack_require__.r(__webpack_exports__);
|
|
502
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
503
|
+
SharePlugin_exports: () => (SharePlugin_exports)
|
|
504
|
+
});
|
|
505
|
+
/* import */ var _virtual_rolldown_runtime_js__rspack_import_0 = __webpack_require__("../../../node_modules/@module-federation/sdk/dist/_virtual/_rolldown/runtime.js");
|
|
506
|
+
|
|
507
|
+
//#region src/types/plugins/SharePlugin.ts
|
|
508
|
+
var SharePlugin_exports = /* @__PURE__ */ (0,_virtual_rolldown_runtime_js__rspack_import_0.__exportAll)({});
|
|
509
|
+
//#endregion
|
|
510
|
+
//# sourceMappingURL=SharePlugin.js.map
|
|
511
|
+
|
|
512
|
+
|
|
513
|
+
},
|
|
514
|
+
"../../../node_modules/@module-federation/sdk/dist/utils.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
515
|
+
"use strict";
|
|
516
|
+
eval("{__webpack_require__.r(__webpack_exports__);\n__webpack_require__.d(__webpack_exports__, {\n assert: () => (assert),\n composeKeyWithSeparator: () => (composeKeyWithSeparator),\n decodeName: () => (decodeName),\n encodeName: () => (encodeName),\n error: () => (error),\n generateExposeFilename: () => (generateExposeFilename),\n generateShareFilename: () => (generateShareFilename),\n getResourceUrl: () => (getResourceUrl),\n isRequiredVersion: () => (isRequiredVersion),\n parseEntry: () => (parseEntry),\n safeToString: () => (safeToString),\n warn: () => (warn)\n});\n/* import */ var _constant_js__rspack_import_0 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/constant.js\");\n/* import */ var _env_js__rspack_import_1 = __webpack_require__(\"../../../node_modules/@module-federation/sdk/dist/env.js\");\nfunction _array_like_to_array(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];\n return arr2;\n}\nfunction _array_with_holes(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction _iterable_to_array(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _iterable_to_array_limit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction _non_iterable_rest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _sliced_to_array(arr, i) {\n return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();\n}\nfunction _to_array(arr) {\n return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();\n}\nfunction _unsupported_iterable_to_array(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _array_like_to_array(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);\n}\n\n\n//#region src/utils.ts\nvar LOG_CATEGORY = \"[ Federation Runtime ]\";\nvar parseEntry = function parseEntry(str, devVerOrUrl) {\n var separator = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : _constant_js__rspack_import_0.SEPARATOR;\n var strSplit = str.split(separator);\n var devVersionOrUrl = (0,_env_js__rspack_import_1.getProcessEnv)()[\"NODE_ENV\"] === \"development\" && devVerOrUrl;\n var defaultVersion = \"*\";\n var isEntry = function isEntry(s) {\n return s.startsWith(\"http\") || s.includes(_constant_js__rspack_import_0.MANIFEST_EXT);\n };\n if (strSplit.length >= 2) {\n var _strSplit = _to_array(strSplit), name = _strSplit[0], versionOrEntryArr = _strSplit.slice(1);\n if (str.startsWith(separator)) {\n name = strSplit.slice(0, 2).join(separator);\n versionOrEntryArr = [\n devVersionOrUrl || strSplit.slice(2).join(separator)\n ];\n }\n var versionOrEntry = devVersionOrUrl || versionOrEntryArr.join(separator);\n if (isEntry(versionOrEntry)) return {\n name: name,\n entry: versionOrEntry\n };\n else return {\n name: name,\n version: versionOrEntry || defaultVersion\n };\n } else if (strSplit.length === 1) {\n var _strSplit1 = _sliced_to_array(strSplit, 1), name1 = _strSplit1[0];\n if (devVersionOrUrl && isEntry(devVersionOrUrl)) return {\n name: name1,\n entry: devVersionOrUrl\n };\n return {\n name: name1,\n version: devVersionOrUrl || defaultVersion\n };\n } else throw \"Invalid entry value: \".concat(str);\n};\nvar composeKeyWithSeparator = function composeKeyWithSeparator() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!args.length) return \"\";\n return args.reduce(function(sum, cur) {\n if (!cur) return sum;\n if (!sum) return cur;\n return \"\".concat(sum).concat(_constant_js__rspack_import_0.SEPARATOR).concat(cur);\n }, \"\");\n};\nvar encodeName = function encodeName(name) {\n var prefix = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\", withExt = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;\n try {\n var ext = withExt ? \".js\" : \"\";\n return \"\".concat(prefix).concat(name.replace(new RegExp(\"\".concat(_constant_js__rspack_import_0.NameTransformSymbol.AT), \"g\"), _constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.AT]).replace(new RegExp(\"\".concat(_constant_js__rspack_import_0.NameTransformSymbol.HYPHEN), \"g\"), _constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.HYPHEN]).replace(new RegExp(\"\".concat(_constant_js__rspack_import_0.NameTransformSymbol.SLASH), \"g\"), _constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.SLASH])).concat(ext);\n } catch (err) {\n throw err;\n }\n};\nvar decodeName = function decodeName(name, prefix, withExt) {\n try {\n var decodedName = name;\n if (prefix) {\n if (!decodedName.startsWith(prefix)) return decodedName;\n decodedName = decodedName.replace(new RegExp(prefix, \"g\"), \"\");\n }\n decodedName = decodedName.replace(new RegExp(\"\".concat(_constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.AT]), \"g\"), _constant_js__rspack_import_0.EncodedNameTransformMap[_constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.AT]]).replace(new RegExp(\"\".concat(_constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.SLASH]), \"g\"), _constant_js__rspack_import_0.EncodedNameTransformMap[_constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.SLASH]]).replace(new RegExp(\"\".concat(_constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.HYPHEN]), \"g\"), _constant_js__rspack_import_0.EncodedNameTransformMap[_constant_js__rspack_import_0.NameTransformMap[_constant_js__rspack_import_0.NameTransformSymbol.HYPHEN]]);\n if (withExt) decodedName = decodedName.replace(\".js\", \"\");\n return decodedName;\n } catch (err) {\n throw err;\n }\n};\nvar generateExposeFilename = function generateExposeFilename(exposeName, withExt) {\n if (!exposeName) return \"\";\n var expose = exposeName;\n if (expose === \".\") expose = \"default_export\";\n if (expose.startsWith(\"./\")) expose = expose.replace(\"./\", \"\");\n return encodeName(expose, \"__federation_expose_\", withExt);\n};\nvar generateShareFilename = function generateShareFilename(pkgName, withExt) {\n if (!pkgName) return \"\";\n return encodeName(pkgName, \"__federation_shared_\", withExt);\n};\nfunction getResourceUrl(module, sourceUrl) {\n if (\"getPublicPath\" in module) {\n var publicPath;\n if (!module.getPublicPath.startsWith(\"function\")) publicPath = new Function(module.getPublicPath)();\n else publicPath = new Function(\"return \" + module.getPublicPath)()();\n return \"\".concat(publicPath).concat(sourceUrl);\n } else if (\"publicPath\" in module) {\n if (!(0,_env_js__rspack_import_1.isBrowserEnv)() && !(0,_env_js__rspack_import_1.isReactNativeEnv)() && \"ssrPublicPath\" in module && typeof module.ssrPublicPath === \"string\") return \"\".concat(module.ssrPublicPath).concat(sourceUrl);\n return \"\".concat(module.publicPath).concat(sourceUrl);\n } else {\n console.warn(\"Cannot get resource URL. If in debug mode, please ignore.\", module, sourceUrl);\n return \"\";\n }\n}\nvar assert = function assert(condition, msg) {\n if (!condition) error(msg);\n};\nvar error = function error(msg) {\n throw new Error(\"\".concat(LOG_CATEGORY, \": \").concat(msg));\n};\nvar warn = function warn(msg) {\n console.warn(\"\".concat(LOG_CATEGORY, \": \").concat(msg));\n};\nfunction safeToString(info) {\n try {\n return JSON.stringify(info, null, 2);\n } catch (e) {\n return \"\";\n }\n}\nvar VERSION_PATTERN_REGEXP = /^([\\d^=v<>~]|[*xX]$)/;\nfunction isRequiredVersion(str) {\n return VERSION_PATTERN_REGEXP.test(str);\n}\n//#endregion\n //# sourceMappingURL=utils.js.map\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YXNjcmlwdC9lc218YnVpbHRpbjpzd2MtbG9hZGVyIS9ob21lL3J1bm5lci93b3JrL29wZW5tcnMtZXNtLWNvcmUvb3Blbm1ycy1lc20tY29yZS9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9kaXN0L3V0aWxzLmpzIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQG1vZHVsZS1mZWRlcmF0aW9uL3Nkay9zcmMvdXRpbHMudHM/MmEzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZW1vdGVFbnRyeUluZm8sIE1vZHVsZUluZm8gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIE5hbWVUcmFuc2Zvcm1NYXAsXG4gIE5hbWVUcmFuc2Zvcm1TeW1ib2wsXG4gIEVuY29kZWROYW1lVHJhbnNmb3JtTWFwLFxuICBTRVBBUkFUT1IsXG4gIE1BTklGRVNUX0VYVCxcbn0gZnJvbSAnLi9jb25zdGFudCc7XG5pbXBvcnQgeyBnZXRQcm9jZXNzRW52LCBpc0Jyb3dzZXJFbnYsIGlzUmVhY3ROYXRpdmVFbnYgfSBmcm9tICcuL2Vudic7XG5cbmNvbnN0IExPR19DQVRFR09SWSA9ICdbIEZlZGVyYXRpb24gUnVudGltZSBdJztcblxuLy8gZW50cnk6IG5hbWU6dmVyc2lvbiAgIHZlcnNpb24gOiAxLjAuMCB8IF4xLjIuM1xuLy8gZW50cnk6IG5hbWU6ZW50cnkgIGVudHJ5OiAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTAwMC9mZWRlcmF0aW9uLW1hbmlmZXN0Lmpzb25cbmNvbnN0IHBhcnNlRW50cnkgPSAoXG4gIHN0cjogc3RyaW5nLFxuICBkZXZWZXJPclVybD86IHN0cmluZyxcbiAgc2VwYXJhdG9yID0gU0VQQVJBVE9SLFxuKTogUmVtb3RlRW50cnlJbmZvID0+IHtcbiAgY29uc3Qgc3RyU3BsaXQgPSBzdHIuc3BsaXQoc2VwYXJhdG9yKTtcbiAgY29uc3QgZGV2VmVyc2lvbk9yVXJsID1cbiAgICBnZXRQcm9jZXNzRW52KClbJ05PREVfRU5WJ10gPT09ICdkZXZlbG9wbWVudCcgJiYgZGV2VmVyT3JVcmw7XG4gIGNvbnN0IGRlZmF1bHRWZXJzaW9uID0gJyonO1xuICBjb25zdCBpc0VudHJ5ID0gKHM6IHN0cmluZykgPT5cbiAgICBzLnN0YXJ0c1dpdGgoJ2h0dHAnKSB8fCBzLmluY2x1ZGVzKE1BTklGRVNUX0VYVCk7XG5cbiAgLy8gQ2hlY2sgaWYgdGhlIHN0cmluZyBzdGFydHMgd2l0aCBhIHR5cGVcbiAgaWYgKHN0clNwbGl0Lmxlbmd0aCA+PSAyKSB7XG4gICAgbGV0IFtuYW1lLCAuLi52ZXJzaW9uT3JFbnRyeUFycl0gPSBzdHJTcGxpdDtcbiAgICAvLyBAbmFtZUBtYW5pZmVzdC11cmwuanNvblxuICAgIGlmIChzdHIuc3RhcnRzV2l0aChzZXBhcmF0b3IpKSB7XG4gICAgICBuYW1lID0gc3RyU3BsaXQuc2xpY2UoMCwgMikuam9pbihzZXBhcmF0b3IpO1xuICAgICAgdmVyc2lvbk9yRW50cnlBcnIgPSBbXG4gICAgICAgIGRldlZlcnNpb25PclVybCB8fCBzdHJTcGxpdC5zbGljZSgyKS5qb2luKHNlcGFyYXRvciksXG4gICAgICBdO1xuICAgIH1cblxuICAgIGxldCB2ZXJzaW9uT3JFbnRyeSA9IGRldlZlcnNpb25PclVybCB8fCB2ZXJzaW9uT3JFbnRyeUFyci5qb2luKHNlcGFyYXRvcik7XG5cbiAgICBpZiAoaXNFbnRyeSh2ZXJzaW9uT3JFbnRyeSkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5hbWUsXG4gICAgICAgIGVudHJ5OiB2ZXJzaW9uT3JFbnRyeSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEFwcGx5IHZlcnNpb24gcnVsZVxuICAgICAgLy8gZGV2VmVyc2lvbk9yVXJsID0+IGlucHV0VmVyc2lvbiA9PiBkZWZhdWx0VmVyc2lvblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgdmVyc2lvbjogdmVyc2lvbk9yRW50cnkgfHwgZGVmYXVsdFZlcnNpb24sXG4gICAgICB9O1xuICAgIH1cbiAgfSBlbHNlIGlmIChzdHJTcGxpdC5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBbbmFtZV0gPSBzdHJTcGxpdDtcbiAgICBpZiAoZGV2VmVyc2lvbk9yVXJsICYmIGlzRW50cnkoZGV2VmVyc2lvbk9yVXJsKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgZW50cnk6IGRldlZlcnNpb25PclVybCxcbiAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBuYW1lLFxuICAgICAgdmVyc2lvbjogZGV2VmVyc2lvbk9yVXJsIHx8IGRlZmF1bHRWZXJzaW9uLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgYEludmFsaWQgZW50cnkgdmFsdWU6ICR7c3RyfWA7XG4gIH1cbn07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZhclxuICB2YXIgRkVERVJBVElPTl9ERUJVRzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuXG5jb25zdCBjb21wb3NlS2V5V2l0aFNlcGFyYXRvciA9IGZ1bmN0aW9uIChcbiAgLi4uYXJnczogKHN0cmluZyB8IHVuZGVmaW5lZClbXVxuKTogc3RyaW5nIHtcbiAgaWYgKCFhcmdzLmxlbmd0aCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIHJldHVybiBhcmdzLnJlZHVjZSgoc3VtLCBjdXIpID0+IHtcbiAgICBpZiAoIWN1cikge1xuICAgICAgcmV0dXJuIHN1bTtcbiAgICB9XG4gICAgaWYgKCFzdW0pIHtcbiAgICAgIHJldHVybiBjdXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3N1bX0ke1NFUEFSQVRPUn0ke2N1cn1gO1xuICB9LCAnJykgYXMgc3RyaW5nO1xufTtcblxuY29uc3QgZW5jb2RlTmFtZSA9IGZ1bmN0aW9uIChcbiAgbmFtZTogc3RyaW5nLFxuICBwcmVmaXggPSAnJyxcbiAgd2l0aEV4dCA9IGZhbHNlLFxuKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBleHQgPSB3aXRoRXh0ID8gJy5qcycgOiAnJztcbiAgICByZXR1cm4gYCR7cHJlZml4fSR7bmFtZVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgIG5ldyBSZWdFeHAoYCR7TmFtZVRyYW5zZm9ybVN5bWJvbC5BVH1gLCAnZycpLFxuICAgICAgICBOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuQVRdLFxuICAgICAgKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgIG5ldyBSZWdFeHAoYCR7TmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU59YCwgJ2cnKSxcbiAgICAgICAgTmFtZVRyYW5zZm9ybU1hcFtOYW1lVHJhbnNmb3JtU3ltYm9sLkhZUEhFTl0sXG4gICAgICApXG4gICAgICAucmVwbGFjZShcbiAgICAgICAgbmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIfWAsICdnJyksXG4gICAgICAgIE5hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5TTEFTSF0sXG4gICAgICApfSR7ZXh0fWA7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHRocm93IGVycjtcbiAgfVxufTtcblxuY29uc3QgZGVjb2RlTmFtZSA9IGZ1bmN0aW9uIChcbiAgbmFtZTogc3RyaW5nLFxuICBwcmVmaXg/OiBzdHJpbmcsXG4gIHdpdGhFeHQ/OiBib29sZWFuLFxuKTogc3RyaW5nIHtcbiAgdHJ5IHtcbiAgICBsZXQgZGVjb2RlZE5hbWUgPSBuYW1lO1xuICAgIGlmIChwcmVmaXgpIHtcbiAgICAgIGlmICghZGVjb2RlZE5hbWUuc3RhcnRzV2l0aChwcmVmaXgpKSB7XG4gICAgICAgIHJldHVybiBkZWNvZGVkTmFtZTtcbiAgICAgIH1cbiAgICAgIGRlY29kZWROYW1lID0gZGVjb2RlZE5hbWUucmVwbGFjZShuZXcgUmVnRXhwKHByZWZpeCwgJ2cnKSwgJycpO1xuICAgIH1cbiAgICBkZWNvZGVkTmFtZSA9IGRlY29kZWROYW1lXG4gICAgICAucmVwbGFjZShcbiAgICAgICAgbmV3IFJlZ0V4cChgJHtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuQVRdfWAsICdnJyksXG4gICAgICAgIEVuY29kZWROYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5BVF1dLFxuICAgICAgKVxuICAgICAgLnJlcGxhY2UoXG4gICAgICAgIG5ldyBSZWdFeHAoYCR7TmFtZVRyYW5zZm9ybU1hcFtOYW1lVHJhbnNmb3JtU3ltYm9sLlNMQVNIXX1gLCAnZycpLFxuICAgICAgICBFbmNvZGVkTmFtZVRyYW5zZm9ybU1hcFtOYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1TeW1ib2wuU0xBU0hdXSxcbiAgICAgIClcbiAgICAgIC5yZXBsYWNlKFxuICAgICAgICBuZXcgUmVnRXhwKGAke05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU5dfWAsICdnJyksXG4gICAgICAgIEVuY29kZWROYW1lVHJhbnNmb3JtTWFwW05hbWVUcmFuc2Zvcm1NYXBbTmFtZVRyYW5zZm9ybVN5bWJvbC5IWVBIRU5dXSxcbiAgICAgICk7XG4gICAgaWYgKHdpdGhFeHQpIHtcbiAgICAgIGRlY29kZWROYW1lID0gZGVjb2RlZE5hbWUucmVwbGFjZSgnLmpzJywgJycpO1xuICAgIH1cbiAgICByZXR1cm4gZGVjb2RlZE5hbWU7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHRocm93IGVycjtcbiAgfVxufTtcblxuY29uc3QgZ2VuZXJhdGVFeHBvc2VGaWxlbmFtZSA9IChcbiAgZXhwb3NlTmFtZTogc3RyaW5nLFxuICB3aXRoRXh0OiBib29sZWFuLFxuKTogc3RyaW5nID0+IHtcbiAgaWYgKCFleHBvc2VOYW1lKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgbGV0IGV4cG9zZSA9IGV4cG9zZU5hbWU7XG4gIGlmIChleHBvc2UgPT09ICcuJykge1xuICAgIGV4cG9zZSA9ICdkZWZhdWx0X2V4cG9ydCc7XG4gIH1cbiAgaWYgKGV4cG9zZS5zdGFydHNXaXRoKCcuLycpKSB7XG4gICAgZXhwb3NlID0gZXhwb3NlLnJlcGxhY2UoJy4vJywgJycpO1xuICB9XG5cbiAgcmV0dXJuIGVuY29kZU5hbWUoZXhwb3NlLCAnX19mZWRlcmF0aW9uX2V4cG9zZV8nLCB3aXRoRXh0KTtcbn07XG5cbmNvbnN0IGdlbmVyYXRlU2hhcmVGaWxlbmFtZSA9IChwa2dOYW1lOiBzdHJpbmcsIHdpdGhFeHQ6IGJvb2xlYW4pOiBzdHJpbmcgPT4ge1xuICBpZiAoIXBrZ05hbWUpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cbiAgcmV0dXJuIGVuY29kZU5hbWUocGtnTmFtZSwgJ19fZmVkZXJhdGlvbl9zaGFyZWRfJywgd2l0aEV4dCk7XG59O1xuXG50eXBlIFJlc291cmNlVXJsSW5mbyA9XG4gIHwgeyBnZXRQdWJsaWNQYXRoOiBzdHJpbmcgfVxuICB8IHsgcHVibGljUGF0aDogc3RyaW5nOyBzc3JQdWJsaWNQYXRoPzogc3RyaW5nIH07XG5cbmZ1bmN0aW9uIGdldFJlc291cmNlVXJsKG1vZHVsZTogTW9kdWxlSW5mbywgc291cmNlVXJsOiBzdHJpbmcpOiBzdHJpbmc7XG5mdW5jdGlvbiBnZXRSZXNvdXJjZVVybChtb2R1bGU6IFJlc291cmNlVXJsSW5mbywgc291cmNlVXJsOiBzdHJpbmcpOiBzdHJpbmc7XG5mdW5jdGlvbiBnZXRSZXNvdXJjZVVybChcbiAgbW9kdWxlOiBNb2R1bGVJbmZvIHwgUmVzb3VyY2VVcmxJbmZvLFxuICBzb3VyY2VVcmw6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGlmICgnZ2V0UHVibGljUGF0aCcgaW4gbW9kdWxlKSB7XG4gICAgbGV0IHB1YmxpY1BhdGg7XG5cbiAgICBpZiAoIW1vZHVsZS5nZXRQdWJsaWNQYXRoLnN0YXJ0c1dpdGgoJ2Z1bmN0aW9uJykpIHtcbiAgICAgIHB1YmxpY1BhdGggPSBuZXcgRnVuY3Rpb24obW9kdWxlLmdldFB1YmxpY1BhdGgpKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHB1YmxpY1BhdGggPSBuZXcgRnVuY3Rpb24oJ3JldHVybiAnICsgbW9kdWxlLmdldFB1YmxpY1BhdGgpKCkoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYCR7cHVibGljUGF0aH0ke3NvdXJjZVVybH1gO1xuICB9IGVsc2UgaWYgKCdwdWJsaWNQYXRoJyBpbiBtb2R1bGUpIHtcbiAgICBpZiAoXG4gICAgICAhaXNCcm93c2VyRW52KCkgJiZcbiAgICAgICFpc1JlYWN0TmF0aXZlRW52KCkgJiZcbiAgICAgICdzc3JQdWJsaWNQYXRoJyBpbiBtb2R1bGUgJiZcbiAgICAgIHR5cGVvZiBtb2R1bGUuc3NyUHVibGljUGF0aCA9PT0gJ3N0cmluZydcbiAgICApIHtcbiAgICAgIHJldHVybiBgJHttb2R1bGUuc3NyUHVibGljUGF0aH0ke3NvdXJjZVVybH1gO1xuICAgIH1cbiAgICByZXR1cm4gYCR7bW9kdWxlLnB1YmxpY1BhdGh9JHtzb3VyY2VVcmx9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnQ2Fubm90IGdldCByZXNvdXJjZSBVUkwuIElmIGluIGRlYnVnIG1vZGUsIHBsZWFzZSBpZ25vcmUuJyxcbiAgICAgIG1vZHVsZSxcbiAgICAgIHNvdXJjZVVybCxcbiAgICApO1xuICAgIHJldHVybiAnJztcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1vZHVsZS1ib3VuZGFyeS10eXBlc1xuY29uc3QgYXNzZXJ0ID0gKGNvbmRpdGlvbjogYW55LCBtc2c6IHN0cmluZyk6IGFzc2VydHMgY29uZGl0aW9uID0+IHtcbiAgaWYgKCFjb25kaXRpb24pIHtcbiAgICBlcnJvcihtc2cpO1xuICB9XG59O1xuXG5jb25zdCBlcnJvciA9IChtc2c6IHN0cmluZyB8IEVycm9yIHwgdW5rbm93bik6IG5ldmVyID0+IHtcbiAgdGhyb3cgbmV3IEVycm9yKGAke0xPR19DQVRFR09SWX06ICR7bXNnfWApO1xufTtcblxuY29uc3Qgd2FybiA9IChtc2c6IFBhcmFtZXRlcnM8dHlwZW9mIGNvbnNvbGUud2Fybj5bMF0pOiB2b2lkID0+IHtcbiAgY29uc29sZS53YXJuKGAke0xPR19DQVRFR09SWX06ICR7bXNnfWApO1xufTtcblxuZnVuY3Rpb24gc2FmZVRvU3RyaW5nKGluZm86IGFueSk6IHN0cmluZyB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGluZm8sIG51bGwsIDIpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG59XG5cbi8vIFJlZ0V4cCBmb3IgdmVyc2lvbiBzdHJpbmdcbmNvbnN0IFZFUlNJT05fUEFUVEVSTl9SRUdFWFA6IFJlZ0V4cCA9IC9eKFtcXGRePXY8Pn5dfFsqeFhdJCkvO1xuXG5mdW5jdGlvbiBpc1JlcXVpcmVkVmVyc2lvbihzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gVkVSU0lPTl9QQVRURVJOX1JFR0VYUC50ZXN0KHN0cik7XG59XG5cbmV4cG9ydCB7XG4gIHBhcnNlRW50cnksXG4gIGRlY29kZU5hbWUsXG4gIGVuY29kZU5hbWUsXG4gIGNvbXBvc2VLZXlXaXRoU2VwYXJhdG9yLFxuICBnZW5lcmF0ZUV4cG9zZUZpbGVuYW1lLFxuICBnZW5lcmF0ZVNoYXJlRmlsZW5hbWUsXG4gIGdldFJlc291cmNlVXJsLFxuICBhc3NlcnQsXG4gIGVycm9yLFxuICB3YXJuLFxuICBzYWZlVG9TdHJpbmcsXG4gIGlzUmVxdWlyZWRWZXJzaW9uLFxufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFVQSxJQUFNLGVBQWU7QUFJckIsSUFBTSxpQ0FDSixLQUNBO1FBQ0EsNkVBQVksdUNBQVM7SUFFckIs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\n//# sourceURL=webpack-internal:///../../../node_modules/@module-federation/sdk/dist/utils.js\n\n}");
|
|
38
517
|
|
|
39
518
|
},
|
|
40
519
|
|
|
@@ -284,7 +763,7 @@ __webpack_require__.rv = () => ("1.7.9")
|
|
|
284
763
|
(() => {
|
|
285
764
|
|
|
286
765
|
__webpack_require__.S = {};
|
|
287
|
-
__webpack_require__.initializeSharingData = { scopeToSharingDataMapping: { "default": [{ name: "@carbon/react", version: "1.92.1", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-webpack_sharing_consume_default_react-dom_react-dom"), __webpack_require__.e("default-node_modules_carbon_icons-react_es_generated_bucket-11_js-node_modules_carbon_icons-r-63ea09"), __webpack_require__.e("default-node_modules_tslib_tslib_es6_mjs"), __webpack_require__.e("default-node_modules_carbon_react_es_index_js")]).then(() => (() => (__webpack_require__("../../../node_modules/@carbon/react/es/index.js"))))), eager: 0, singleton: 1, requiredVersion: "1.x", strictVersion: 0 }, { name: "@openmrs/esm-framework/src/internal", version: "10.0.1-pre.
|
|
766
|
+
__webpack_require__.initializeSharingData = { scopeToSharingDataMapping: { "default": [{ name: "@carbon/react", version: "1.92.1", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-webpack_sharing_consume_default_react-dom_react-dom"), __webpack_require__.e("default-node_modules_carbon_icons-react_es_generated_bucket-11_js-node_modules_carbon_icons-r-63ea09"), __webpack_require__.e("default-node_modules_tslib_tslib_es6_mjs"), __webpack_require__.e("default-node_modules_carbon_react_es_index_js")]).then(() => (() => (__webpack_require__("../../../node_modules/@carbon/react/es/index.js"))))), eager: 0, singleton: 1, requiredVersion: "1.x", strictVersion: 0 }, { name: "@openmrs/esm-framework/src/internal", version: "10.0.1-pre.5227", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-webpack_sharing_consume_default_react-dom_react-dom"), __webpack_require__.e("default-node_modules_carbon_icons-react_es_generated_bucket-11_js-node_modules_carbon_icons-r-63ea09"), __webpack_require__.e("default-framework_esm-framework_dist_internal_js")]).then(() => (() => (__webpack_require__("../../framework/esm-framework/dist/internal.js"))))), eager: 0, singleton: 1, requiredVersion: "*", strictVersion: 0 }, { name: "dayjs", version: "1.11.13", factory: () => (__webpack_require__.e("default-vendors-node_modules_dayjs_dayjs_min_js").then(() => (() => (__webpack_require__("../../../node_modules/dayjs/dayjs.min.js"))))), eager: 0, singleton: 1, requiredVersion: "1.x", strictVersion: 0 }, { name: "i18next", version: "25.5.3", factory: () => (__webpack_require__.e("default-vendors-node_modules_i18next_dist_esm_i18next_js").then(() => (() => (__webpack_require__("../../../node_modules/i18next/dist/esm/i18next.js"))))), eager: 0, singleton: 1, requiredVersion: "25.x", strictVersion: 0 }, { name: "react-dom", version: "18.3.1", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-node_modules_react-dom_index_js")]).then(() => (() => (__webpack_require__("../../../node_modules/react-dom/index.js"))))), eager: 0, singleton: 1, requiredVersion: "18.x", strictVersion: 0 }, { name: "react-i18next", version: "16.0.0", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-node_modules_react-i18next_dist_es_index_js")]).then(() => (() => (__webpack_require__("../../../node_modules/react-i18next/dist/es/index.js"))))), eager: 0, singleton: 1, requiredVersion: "16.x", strictVersion: 0 }, { name: "react-router-dom", version: "6.30.3", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-webpack_sharing_consume_default_react-dom_react-dom"), __webpack_require__.e("default-node_modules_react-router-dom_dist_index_js")]).then(() => (() => (__webpack_require__("../../../node_modules/react-router-dom/dist/index.js"))))), eager: 0, singleton: 1, requiredVersion: "6.x", strictVersion: 0 }, { name: "react", version: "18.3.1", factory: () => (__webpack_require__.e("default-vendors-node_modules_react_index_js").then(() => (() => (__webpack_require__("../../../node_modules/react/index.js"))))), eager: 0, singleton: 1, requiredVersion: "18.x", strictVersion: 0 }, { name: "rxjs", version: "6.6.7", factory: () => (__webpack_require__.e("default-vendors-node_modules_rxjs__esm5_index_js").then(() => (() => (__webpack_require__("../../../node_modules/rxjs/_esm5/index.js"))))), eager: 0, singleton: 1, requiredVersion: "6.x", strictVersion: 0 }, { name: "single-spa", version: "6.0.3", factory: () => (__webpack_require__.e("default-vendors-node_modules_single-spa_lib_es2015_esm_single-spa_dev_js").then(() => (() => (__webpack_require__("../../../node_modules/single-spa/lib/es2015/esm/single-spa.dev.js"))))), eager: 0, singleton: 1, requiredVersion: "6.x", strictVersion: 0 }, { name: "swr/_internal", version: "2.2.5", factory: () => (Promise.all([__webpack_require__.e("default-webpack_sharing_consume_default_react_react"), __webpack_require__.e("default-node_modules_swr_dist__internal_index_mjs")]).then(() => (() => (__webpack_require__("../../../node_modules/swr/dist/_internal/index.mjs"))))), eager: 0, singleton: 1, requiredVersion: "2.2.5", strictVersion: 0 }] }, uniqueName: "@openmrs/esm-app-shell" };
|
|
288
767
|
__webpack_require__.I = __webpack_require__.I || function() { throw new Error("should have __webpack_require__.I") }
|
|
289
768
|
|
|
290
769
|
})();
|
|
@@ -396,7 +875,7 @@ var hasRun = false;
|
|
|
396
875
|
__webpack_require__.x = function () {
|
|
397
876
|
if (!hasRun) {
|
|
398
877
|
hasRun = true;
|
|
399
|
-
__webpack_require__("@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs.cjs\";const __module_federation_runtime_plugins__ = [].filter(({ plugin }) => plugin).map(({ plugin, params }) => plugin(params));const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \"@openmrs/esm-app-shell\";const __module_federation_share_strategy__ = \"version-first\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var _ref,_ref1,_ref2,_ref3,_ref4;var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\"object\"&&value!==null){var _obj1,_key1,_1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};const remotesLoadingChunkMapping=(_ref=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&_ref!==void 0?_ref:{};const remotesLoadingModuleIdToRemoteDataMapping=(_ref1=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&_ref1!==void 0?_ref1:{};const initializeSharingScopeToInitDataMapping=(_ref2=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&_ref2!==void 0?_ref2:{};const consumesLoadingChunkMapping=(_ref3=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&_ref3!==void 0?_ref3:{};const consumesLoadingModuleToConsumeDataMapping=(_ref4=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&_ref4!==void 0?_ref4:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\"initOptions\",()=>({}));early(__webpack_require__.federation.initOptions,\"name\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\"shareStrategy\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\"shared\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\"object\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\"undefined\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\"remotes\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\"script\"));merge(__webpack_require__.federation.initOptions,\"plugins\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\"bundlerRuntimeOptions\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\"remotes\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\"S\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\"remotes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\"consumes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\"I\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\"initContainer\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\"getContainer\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \"'+module1+'\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}")
|
|
878
|
+
__webpack_require__("@module-federation/runtime/rspack.js!=!data:text/javascript,import __module_federation_bundler_runtime__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/webpack-bundler-runtime/dist/index.cjs\";import __module_federation_runtime_plugin_0__ from \"/home/runner/work/openmrs-esm-core/openmrs-esm-core/node_modules/@module-federation/inject-external-runtime-core-plugin/dist/index.cjs\";const __module_federation_runtime_plugins__ = [{ plugin: __module_federation_runtime_plugin_0__, params: undefined }].filter(({ plugin }) => plugin).map(({ plugin, params }) => plugin(params));const __module_federation_remote_infos__ = {};const __module_federation_container_name__ = \"@openmrs/esm-app-shell\";const __module_federation_share_strategy__ = \"version-first\";if((__webpack_require__.initializeSharingData||__webpack_require__.initializeExposesData)&&__webpack_require__.federation){var _ref,_ref1,_ref2,_ref3,_ref4;var __webpack_require___remotesLoadingData,__webpack_require___remotesLoadingData1,__webpack_require___initializeSharingData,__webpack_require___consumesLoadingData,__webpack_require___consumesLoadingData1,__webpack_require___initializeExposesData,__webpack_require___consumesLoadingData2;const override=(obj,key,value)=>{if(!obj)return;if(obj[key])obj[key]=value};const merge=(obj,key,fn)=>{const value=fn();if(Array.isArray(value)){var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=[];obj[key].push(...value)}else if(typeof value===\"object\"&&value!==null){var _obj1,_key1,_1;(_1=(_obj1=obj)[_key1=key])!==null&&_1!==void 0?_1:_obj1[_key1]={};Object.assign(obj[key],value)}};const early=(obj,key,initial)=>{var _obj,_key,_;(_=(_obj=obj)[_key=key])!==null&&_!==void 0?_:_obj[_key]=initial()};const remotesLoadingChunkMapping=(_ref=(__webpack_require___remotesLoadingData=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData===void 0?void 0:__webpack_require___remotesLoadingData.chunkMapping)!==null&&_ref!==void 0?_ref:{};const remotesLoadingModuleIdToRemoteDataMapping=(_ref1=(__webpack_require___remotesLoadingData1=__webpack_require__.remotesLoadingData)===null||__webpack_require___remotesLoadingData1===void 0?void 0:__webpack_require___remotesLoadingData1.moduleIdToRemoteDataMapping)!==null&&_ref1!==void 0?_ref1:{};const initializeSharingScopeToInitDataMapping=(_ref2=(__webpack_require___initializeSharingData=__webpack_require__.initializeSharingData)===null||__webpack_require___initializeSharingData===void 0?void 0:__webpack_require___initializeSharingData.scopeToSharingDataMapping)!==null&&_ref2!==void 0?_ref2:{};const consumesLoadingChunkMapping=(_ref3=(__webpack_require___consumesLoadingData=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData===void 0?void 0:__webpack_require___consumesLoadingData.chunkMapping)!==null&&_ref3!==void 0?_ref3:{};const consumesLoadingModuleToConsumeDataMapping=(_ref4=(__webpack_require___consumesLoadingData1=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData1===void 0?void 0:__webpack_require___consumesLoadingData1.moduleIdToConsumeDataMapping)!==null&&_ref4!==void 0?_ref4:{};const consumesLoadinginstalledModules={};const initializeSharingInitPromises=[];const initializeSharingInitTokens={};const containerShareScope=(__webpack_require___initializeExposesData=__webpack_require__.initializeExposesData)===null||__webpack_require___initializeExposesData===void 0?void 0:__webpack_require___initializeExposesData.shareScope;for(const key in __module_federation_bundler_runtime__){__webpack_require__.federation[key]=__module_federation_bundler_runtime__[key]}early(__webpack_require__.federation,\"consumesLoadingModuleToHandlerMapping\",()=>{const consumesLoadingModuleToHandlerMapping={};for(let[moduleId,data]of Object.entries(consumesLoadingModuleToConsumeDataMapping)){consumesLoadingModuleToHandlerMapping[moduleId]={getter:data.fallback,shareInfo:{shareConfig:{fixedDependencies:false,requiredVersion:data.requiredVersion,strictVersion:data.strictVersion,singleton:data.singleton,eager:data.eager},scope:[data.shareScope]},shareKey:data.shareKey}}return consumesLoadingModuleToHandlerMapping});early(__webpack_require__.federation,\"initOptions\",()=>({}));early(__webpack_require__.federation.initOptions,\"name\",()=>__module_federation_container_name__);early(__webpack_require__.federation.initOptions,\"shareStrategy\",()=>__module_federation_share_strategy__);early(__webpack_require__.federation.initOptions,\"shared\",()=>{const shared={};for(let[scope,stages]of Object.entries(initializeSharingScopeToInitDataMapping)){for(let stage of stages){if(typeof stage===\"object\"&&stage!==null){const{name,version,factory,eager,singleton,requiredVersion,strictVersion}=stage;const shareConfig={};const isValidValue=function(val){return typeof val!==\"undefined\"};if(isValidValue(singleton)){shareConfig.singleton=singleton}if(isValidValue(requiredVersion)){shareConfig.requiredVersion=requiredVersion}if(isValidValue(eager)){shareConfig.eager=eager}if(isValidValue(strictVersion)){shareConfig.strictVersion=strictVersion}const options={version,scope:[scope],shareConfig,get:factory};if(shared[name]){shared[name].push(options)}else{shared[name]=[options]}}}}return shared});merge(__webpack_require__.federation.initOptions,\"remotes\",()=>Object.values(__module_federation_remote_infos__).flat().filter(remote=>remote.externalType===\"script\"));merge(__webpack_require__.federation.initOptions,\"plugins\",()=>__module_federation_runtime_plugins__);early(__webpack_require__.federation,\"bundlerRuntimeOptions\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions,\"remotes\",()=>({}));early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"chunkMapping\",()=>remotesLoadingChunkMapping);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"remoteInfos\",()=>__module_federation_remote_infos__);early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToExternalAndNameMapping\",()=>{const remotesLoadingIdToExternalAndNameMappingMapping={};for(let[moduleId,data]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){remotesLoadingIdToExternalAndNameMappingMapping[moduleId]=[data.shareScope,data.name,data.externalModuleId,data.remoteName]}return remotesLoadingIdToExternalAndNameMappingMapping});early(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"webpackRequire\",()=>__webpack_require__);merge(__webpack_require__.federation.bundlerRuntimeOptions.remotes,\"idToRemoteMap\",()=>{const idToRemoteMap={};for(let[id,remoteData]of Object.entries(remotesLoadingModuleIdToRemoteDataMapping)){const info=__module_federation_remote_infos__[remoteData.remoteName];if(info)idToRemoteMap[id]=info}return idToRemoteMap});override(__webpack_require__,\"S\",__webpack_require__.federation.bundlerRuntime.S);if(__webpack_require__.federation.attachShareScopeMap){__webpack_require__.federation.attachShareScopeMap(__webpack_require__)}override(__webpack_require__.f,\"remotes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.remotes({chunkId,promises,chunkMapping:remotesLoadingChunkMapping,idToExternalAndNameMapping:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToExternalAndNameMapping,idToRemoteMap:__webpack_require__.federation.bundlerRuntimeOptions.remotes.idToRemoteMap,webpackRequire:__webpack_require__}));override(__webpack_require__.f,\"consumes\",(chunkId,promises)=>__webpack_require__.federation.bundlerRuntime.consumes({chunkId,promises,chunkMapping:consumesLoadingChunkMapping,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping,installedModules:consumesLoadinginstalledModules,webpackRequire:__webpack_require__}));override(__webpack_require__,\"I\",(name,initScope)=>__webpack_require__.federation.bundlerRuntime.I({shareScopeName:name,initScope,initPromises:initializeSharingInitPromises,initTokens:initializeSharingInitTokens,webpackRequire:__webpack_require__}));override(__webpack_require__,\"initContainer\",(shareScope,initScope,remoteEntryInitOptions)=>__webpack_require__.federation.bundlerRuntime.initContainerEntry({shareScope,initScope,remoteEntryInitOptions,shareScopeKey:containerShareScope,webpackRequire:__webpack_require__}));override(__webpack_require__,\"getContainer\",(module1,getScope)=>{var moduleMap=__webpack_require__.initializeExposesData.moduleMap;__webpack_require__.R=getScope;getScope=Object.prototype.hasOwnProperty.call(moduleMap,module1)?moduleMap[module1]():Promise.resolve().then(()=>{throw new Error('Module \"'+module1+'\" does not exist in container.')});__webpack_require__.R=undefined;return getScope});__webpack_require__.federation.instance=__webpack_require__.federation.runtime.init(__webpack_require__.federation.initOptions);if((__webpack_require___consumesLoadingData2=__webpack_require__.consumesLoadingData)===null||__webpack_require___consumesLoadingData2===void 0?void 0:__webpack_require___consumesLoadingData2.initialConsumes){__webpack_require__.federation.bundlerRuntime.installInitialConsumes({webpackRequire:__webpack_require__,installedModules:consumesLoadinginstalledModules,initialConsumes:__webpack_require__.consumesLoadingData.initialConsumes,moduleToHandlerMapping:__webpack_require__.federation.consumesLoadingModuleToHandlerMapping})}}")
|
|
400
879
|
}
|
|
401
880
|
if (typeof prevStartup === "function") {
|
|
402
881
|
return prevStartup();
|