@tricoteuses/assemblee 0.25.2 → 0.25.3
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/README.md +3 -0
- package/lib/bugs/agenda-00002.js +1 -1
- package/lib/bugs/agenda-00002.mjs +1 -1
- package/lib/cleaners/amendements.mjs +3 -7
- package/lib/datasets.js +1 -1
- package/lib/datasets.mjs +1 -1
- package/lib/dates.js +1 -1
- package/lib/dates.mjs +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -2
- package/lib/index.mjs +3 -2
- package/lib/inserters.js +1 -1
- package/lib/inserters.mjs +1 -1
- package/lib/loaders.js +1 -1
- package/lib/loaders.mjs +1 -1
- package/lib/raw_types/dossiers_legislatifs.d.ts +64 -340
- package/lib/raw_types/dossiers_legislatifs.js +49 -365
- package/lib/raw_types/dossiers_legislatifs.mjs +45 -346
- package/lib/scripts/clean_data.js +1 -1
- package/lib/scripts/clean_data.mjs +1 -1
- package/lib/scripts/clean_reorganized_data.js +1 -1
- package/lib/scripts/clean_reorganized_data.mjs +1 -1
- package/lib/scripts/document_dossiers_legislatifs.js +1 -1
- package/lib/scripts/document_dossiers_legislatifs.mjs +1 -1
- package/lib/scripts/raw_types_from_amendements.js +1 -1
- package/lib/scripts/raw_types_from_amendements.mjs +1 -1
- package/lib/scripts/reorganize_data.js +1 -1
- package/lib/scripts/reorganize_data.mjs +1 -1
- package/lib/scripts/retrieve_open_data.js +1 -1
- package/lib/scripts/retrieve_open_data.mjs +1 -1
- package/lib/scripts/test_load.js +1 -1
- package/lib/scripts/test_load.mjs +1 -1
- package/lib/scripts/test_load_big_files.js +1 -1
- package/lib/scripts/test_load_big_files.mjs +1 -1
- package/lib/shared_types/codes_actes.d.ts +413 -0
- package/lib/shared_types/codes_actes.js +262 -0
- package/lib/shared_types/codes_actes.mjs +227 -0
- package/lib/types/dossiers_legislatifs.d.ts +1 -413
- package/lib/types/dossiers_legislatifs.js +10 -260
- package/lib/types/dossiers_legislatifs.mjs +6 -231
- package/lib/urls.js +1 -1
- package/lib/urls.mjs +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -156,6 +156,9 @@ npx quicktype --acronym-style=camel -o src/raw_types/dossiers_legislatifs.ts ../
|
|
|
156
156
|
|
|
157
157
|
Edit `src/raw_types/dossiers_legislatifs.ts` to:
|
|
158
158
|
|
|
159
|
+
- Replace regular expression `r\(".*CodeActe"\)` with `r("CodeActe")`.
|
|
160
|
+
- Remove definitions of regular expression `[^ ]*CodeActe` and replace it with `CodeActe`.
|
|
161
|
+
- Remove occurrences of `"[^"]*CodeActe":` and replace them with `"CodeActe": Object.values(CodeActe),`.
|
|
159
162
|
- Replace regular expression `r\(".*OrganeRef"\)` with `""`.
|
|
160
163
|
- Remove definitions of regular expression `[^ ]*OrganeRef` and replace it with `string`.
|
|
161
164
|
- Replace regular expression `r\(".*DossierRef"\)` with `""`.
|
package/lib/bugs/agenda-00002.js
CHANGED
|
@@ -542,4 +542,4 @@ var Plugin = /*#__PURE__*/function (_BasePlugin) {
|
|
|
542
542
|
}(_bugs.BasePlugin);
|
|
543
543
|
|
|
544
544
|
exports.Plugin = Plugin;
|
|
545
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJyZW1hcEpvIiwiUlVBTlI1TDE1UzIwMTdJRFMyMDY2NyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4MTciLCJSVUFOUjVMMTVTMjAxOElEUzIwODY0IiwiUlVBTlI1TDE1UzIwMThJRFMyMDk4MSIsIlJVQU5SNUwxNVMyMDE5SURTMjE1MDciLCJSVUFOUjVMMTVTMjAxOUlEUzIxNjA4IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NDEiLCJSVUFOUjVMMTVTMjAyMElEUzIxODU5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk3MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE5ODMiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDE5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMCIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMjEiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU0IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTYiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4NyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwODkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMTA2IiwiUGx1Z2luIiwib3B0aW9ucyIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJmcyIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiZG9jIiwicm9vdCIsImZvdW5kIiwicXVlcnlTZWxlY3RvckFsbCIsIm1ldGEiLCJhdHRyaWJ1dGVzIiwiZGF0ZSIsInNwbGl0Iiwic3BsaWNlIiwiam9pbiIsInB1c2giLCJjb25zb2xlIiwiZXJyb3IiLCJhZ2VuZGEiLCJmaWxlbmFtZSIsInhzaVR5cGUiLCJsaWV1IiwiY29kZSIsImN5Y2xlRGVWaWUiLCJldGF0IiwidmVyYm9zZSIsImxvZyIsInN0YXR1cyIsImluZm8iLCJkYXRlU2VhbmNlIiwiRGF0ZSIsImlkZW50aWZpYW50cyIsInN1YnN0cmluZyIsInllYXIiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJkYXkiLCJtb250aCIsImRhdGVTZWFuY2VTdHJpbmciLCJpZEpvIiwid2VlayIsImdldFRpbWUiLCJ1aWQiLCJwYXR0ZXJuIiwiZXhwYW5kZWQiLCJnbG9iIiwic3luYyIsImxlbmd0aCIsImNvbXB0ZXNSZW5kdXNVcmxzIiwiY2FuZGlkYXRlcyIsImFuYWx5c2lzIiwiT2JqZWN0Iiwia2V5cyIsInJlc3VsdCIsImluY2x1ZGVzIiwiY29uY2F0IiwiZmluZENhbmRpZGF0ZXMiLCJudW1TZWFuY2VKbyIsIlN0cmluZyIsIk51bWJlciIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsIkJhc2VQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTyxJQUFJQSxPQUFZLEdBQUc7QUFDeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBREE7QUFFeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBRkE7QUFHeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSEE7QUFJeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSkE7QUFLeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTEE7QUFNeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTkE7QUFPeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUEE7QUFReEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUkE7QUFTeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVEE7QUFVeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVkE7QUFXeEJDLEVBQUFBLHNC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QUNqRCxVQUFNd0MsRUFBRSxHQUFHLHlCQUFYO0FBQ0EsVUFBTUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0YsRUFBWCxFQUFlRyxJQUFmLENBQW9CM0MsUUFBcEIsQ0FBZDtBQUNBLFVBQUl5QyxLQUFLLElBQUksSUFBYixFQUFtQixPQUFPekMsUUFBUDtBQUNuQixVQUFNNEMsSUFBSSxHQUFHSCxLQUFLLENBQUMsQ0FBRCxDQUFsQjtBQUNBLHdCQUFXRyxJQUFYLHFGQUEwRkEsSUFBMUY7QUFDRDs7OztFQXBEeUJDLGdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdsb2IgZnJvbSBcImdsb2JcIlxuaW1wb3J0IHsgSFRNTEVsZW1lbnQsIHBhcnNlLCBUZXh0Tm9kZSB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHsgZ2V0RmlsZXMgfSBmcm9tIFwiLi4vZmlsZV9zeXN0ZW1zXCJcbmltcG9ydCB7IEJhc2VQbHVnaW4gfSBmcm9tIFwiLi4vYnVnc1wiXG5pbXBvcnQgeyBtYXN0ZXJVcmwgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuXG5leHBvcnQgbGV0IHJlbWFwSm86IGFueSA9IHtcbiAgUlVBTlI1TDE1UzIwMTdJRFMyMDY2NzogXCIyMDE3MjAwMlwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwODE3OiBcIjIwMTgwMDg2XCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4NjQ6IFwiMjAxODAxMjFcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDk4MTogXCIyMDE4MDE3NFwiLFxuICBSVUFOUjVMMTVTMjAxOUlEUzIxNTA3OiBcIjIwMTkwMTUzXCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE2MDg6IFwiMjAxOTAyMThcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg0MDogXCIyMDIwMDAwMlwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQxOiBcIjIwMjAwMDAzXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NTk6IFwiMjAyMDAwMDFcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTk3MDogXCIyMDIwMDA5MFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTgzOiBcIjIwMjAwMDkyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMTk6IFwiMjAyMDAxMTdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAyMDogXCIyMDIwMDExOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIxOiBcIjIwMjAwMTE5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTQ6IFwiMjAyMDAxMzRcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NTogXCIyMDIwMDEzNVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU2OiBcIjIwMjAwMTM2XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTc6IFwiMjAyMDAxMzdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA4NzogXCIyMDIwMDEzOVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg5OiBcIjIwMjAwMTQwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIxMDY6IFwiMjAyMDAxMjVcIixcbn1cblxuZXhwb3J0IGNsYXNzIFBsdWdpbiBleHRlbmRzIEJhc2VQbHVnaW4ge1xuICBjcjJmaWxlbmFtZXM6IGFueVxuICBkYXRlMmNyczogYW55XG4gIGNyMmRhdGU6IGFueVxuICBmaWxlbmFtZTJkYXRlOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICBzdXBlcihvcHRpb25zLCBcImFnZW5kYS0wMDAwMlwiKVxuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5jciA9PSB1bmRlZmluZWQpIHRocm93IFwiLS1jciBpcyByZXF1aXJlZFwiXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlID0ge31cbiAgICB0aGlzLmNyMmZpbGVuYW1lcyA9IHt9XG4gICAgdGhpcy5kYXRlMmNycyA9IHt9XG4gICAgdGhpcy5jcjJkYXRlID0ge31cbiAgICBmb3IgKGNvbnN0IGNyIG9mIGdldEZpbGVzKFtgJHt0aGlzLm9wdGlvbnMuY3J9LyouYXNwYF0pKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0gPSBbXVxuXG4gICAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoY3IsIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9KVxuXG4gICAgICB0eXBlIFBhcnNlUmVzdWx0ID1cbiAgICAgICAgfCAoVGV4dE5vZGUgJiB7IHZhbGlkPzogYm9vbGVhbiB9KVxuICAgICAgICB8IChIVE1MRWxlbWVudCAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICBjb25zdCBkb2M6IFBhcnNlUmVzdWx0ID0gcGFyc2UoY29udGVudClcbiAgICAgIGNvbnN0IHJvb3QgPSAoZG9jIGFzIHVua25vd24pIGFzIEhUTUxFbGVtZW50XG4gICAgICBsZXQgZm91bmQgPSBmYWxzZVxuICAgICAgZm9yIChjb25zdCBtZXRhIG9mIHJvb3QucXVlcnlTZWxlY3RvckFsbChcIm1ldGFcIikpIHtcbiAgICAgICAgaWYgKG1ldGEuYXR0cmlidXRlc1tcIm5hbWVcIl0gPT0gXCJRVUFOVElFTUVfU0VBTkNFXCIpIHtcbiAgICAgICAgICBjb25zdCBkYXRlID0gbWV0YS5hdHRyaWJ1dGVzW1wiY29udGVudFwiXVxuICAgICAgICAgICAgLnNwbGl0KFwiIFwiKVxuICAgICAgICAgICAgLnNwbGljZSgtMylcbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHRoaXMuZGF0ZTJjcnNbZGF0ZV0gPSBbXVxuICAgICAgICAgIHRoaXMuZGF0ZTJjcnNbZGF0ZV0ucHVzaChjcilcbiAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdID0gZGF0ZVxuICAgICAgICAgIGZvdW5kID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgJHtjcn0gaXMgbWlzc2luZyB0aGUgbWV0YSBuYW1lPVwiUVVBTlRJRU1FX1NFQU5DRVwiYClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY29tcHRlc1JlbmR1c1VybHMoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmUgPSBcIl4uKi9jb21wdGVzLXJlbmR1cy8oLiopXCJcbiAgICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAocmUpLmV4ZWMoZmlsZW5hbWUpXG4gICAgaWYgKG1hdGNoID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICAgIGNvbnN0IGZpbGUgPSBtYXRjaFsxXVxuICAgIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2h0bWwvY29tcHRlcy1yZW5kdXMvLS90cmVlL21hc3Rlci8ke2ZpbGV9KWBcbiAgfVxuXG4gIGFzeW5jIGNoZWNrKGFnZW5kYTogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoXG4gICAgICBhZ2VuZGEueHNpVHlwZSAhPSBcInNlYW5jZV90eXBlXCIgfHxcbiAgICAgIGFnZW5kYS5saWV1LmNvZGUgIT0gXCJBTlwiIHx8XG4gICAgICBhZ2VuZGEuY3ljbGVEZVZpZS5ldGF0ID09IFwiU3VwcHJpbcOpXCIgfHxcbiAgICAgIGFnZW5kYS5jeWNsZURlVmllLmV0YXQgPT0gXCJBbm51bMOpXCJcbiAgICApXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy52ZXJib3NlKSBjb25zb2xlLmxvZyhgYWdlbmRhLTAwMDAyOiAke2ZpbGVuYW1lfWApXG4gICAgbGV0IHN0YXR1cyA9IFwib2tcIlxuICAgIGxldCBpbmZvOiBhbnkgPSBbXVxuXG4gICAgY29uc3QgZGF0ZVNlYW5jZSA9IG5ldyBEYXRlKGFnZW5kYS5pZGVudGlmaWFudHMuZGF0ZVNlYW5jZS5zdWJzdHJpbmcoMCwgMTApKVxuICAgIGNvbnN0IHllYXIgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgeWVhcjogXCJudW1lcmljXCIgfSlcbiAgICBjb25zdCBkYXkgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgZGF5OiBcIjItZGlnaXRcIiB9KVxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IG1vbnRoOiBcImxvbmdcIiB9KVxuICAgIGNvbnN0IGRhdGVTZWFuY2VTdHJpbmcgPSBgJHtkYXl9ICR7bW9udGh9ICR7eWVhcn1gXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXSA9IGRhdGVTZWFuY2VTdHJpbmdcblxuICAgIGxldCBpZEpvXG5cbiAgICBpZiAoXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzID09IHVuZGVmaW5lZCB8fFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3Qgd2VlayA9IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwXG4gICAgICBpZiAoZGF0ZVNlYW5jZSA+PSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHdlZWspKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZEpvID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkSm8gPSBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm9cbiAgICB9XG5cbiAgICBpZiAoYWdlbmRhLnVpZCBpbiByZW1hcEpvKSB7XG4gICAgICBpZiAoaWRKbyA9PSByZW1hcEpvW2FnZW5kYS51aWRdKSB7XG4gICAgICAgIGluZm8ucHVzaChgaWRKbyBhbHJlYWR5IGlzICR7aWRKb31gKVxuICAgICAgICBzdGF0dXMgPSBcImFscmVhZHktZml4ZWRcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICAgICAgc3RhdHVzID0gXCJ3aWxsLWJlLWZpeGVkXCJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWRKbyA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogXCJuZWVkcy1maXhpbmdcIixcbiAgICAgICAgaW5mbzogW1wiaWRKbyBmaWVsZCBpcyBtaXNzaW5nXCJdLFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBhdHRlcm4gPSBgJHt0aGlzLm9wdGlvbnMuY3J9LypfJHtpZEpvfS5hc3BgXG4gICAgY29uc3QgZXhwYW5kZWQgPSBnbG9iLnN5bmMocGF0dGVybilcbiAgICBsZXQgY3JcbiAgICBpZiAoZXhwYW5kZWQubGVuZ3RoID4gMCkgY3IgPSBleHBhbmRlZFswXVxuICAgIGVsc2UgY3IgPSB1bmRlZmluZWRcbiAgICBpZiAoY3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0ucHVzaChmaWxlbmFtZSlcblxuICAgICAgaWYgKGRhdGVTZWFuY2VTdHJpbmcgIT0gdGhpcy5jcjJkYXRlW2NyXSkge1xuICAgICAgICBpbmZvLnB1c2goXG4gICAgICAgICAgYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKGNyKX0gbWV0YSBRVUFOVElFTUVfU0VBTkNFIGNvbnRhaW5zICR7XG4gICAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdXG4gICAgICAgICAgfSBpbnN0ZWFkIG9mIHRoZSBleHBlY3RlZCAke2RhdGVTZWFuY2VTdHJpbmd9YCxcbiAgICAgICAgKVxuICAgICAgICBzdGF0dXMgPSBcIm5lZWRzLWZpeGluZ1wiXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0dXMgIT0gXCJ3aWxsLWJlLWZpeGVkXCIpIHtcbiAgICAgICAgaW5mby5wdXNoKGAke3BhdHRlcm59IGRvZXMgbm90IGV4aXN0YClcbiAgICAgICAgc3RhdHVzID0gXCJuZWVkcy1maXhpbmdcIlxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cywgaW5mbzogaW5mbyB9XG4gIH1cblxuICBmaW5kQ2FuZGlkYXRlcyhmaWxlbmFtZTogYW55KTogYW55IHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXVxuICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHJldHVybiBbXVxuICAgIGxldCBjYW5kaWRhdGVzID0gW11cbiAgICBmb3IgKGNvbnN0IGNyIG9mIHRoaXMuZGF0ZTJjcnNbZGF0ZV0pIHtcbiAgICAgIGlmICh0aGlzLmNyMmZpbGVuYW1lc1tjcl0ubGVuZ3RoID4gMClcbiAgICAgICAgY2FuZGlkYXRlcy5wdXNoKFxuICAgICAgICAgIGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhcbiAgICAgICAgICAgIGNyLFxuICAgICAgICAgICl9IGlzIG5vdCBhIGNhbmRpZGF0ZSBiZWNhdXNlIGl0IGlzIHJlZmVyZW5jZWQgYnkgJHttYXN0ZXJVcmwoXG4gICAgICAgICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0sXG4gICAgICAgICAgKX1gLFxuICAgICAgICApXG4gICAgICBlbHNlIGNhbmRpZGF0ZXMucHVzaChgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoY3IpfSBpcyBhIGNhbmRpZGF0ZWApXG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVzXG4gIH1cblxuICBhc3luYyBwb3N0Q2hlY2soYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBPYmplY3Qua2V5cyhhbmFseXNpcykpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGFuYWx5c2lzW2ZpbGVuYW1lXVtcImFnZW5kYS0wMDAwMlwiXVxuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsIHx8IHJlc3VsdFtcInN0YXR1c1wiXSAhPSBcIm5lZWRzLWZpeGluZ1wiKSBjb250aW51ZVxuICAgICAgY29uc3QgaW5mbyA9IHJlc3VsdFtcImluZm9cIl0uam9pbihcIlwiKVxuICAgICAgaWYgKFxuICAgICAgICBpbmZvLmluY2x1ZGVzKFwibWV0YSBRVUFOVElFTUVcIikgfHxcbiAgICAgICAgaW5mby5pbmNsdWRlcyhcImlkSm8gZmllbGQgaXMgbWlzc2luZ1wiKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdFtcImluZm9cIl0gPSByZXN1bHRbXCJpbmZvXCJdLmNvbmNhdCh0aGlzLmZpbmRDYW5kaWRhdGVzKGZpbGVuYW1lKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBmaXgoYWdlbmRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghKGFnZW5kYS51aWQgaW4gcmVtYXBKbykpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICBjb25zdCBudW1TZWFuY2VKbyA9IFN0cmluZyhOdW1iZXIoaWRKby5zdWJzdHJpbmcoNSkpKVxuICAgIGlmIChcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9PSBpZEpvICYmXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID09IG51bVNlYW5jZUpvXG4gICAgKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID0gaWRKb1xuICAgIGFnZW5kYS5pZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPSBudW1TZWFuY2VKb1xuICAgIHJldHVybiB0cnVlXG4gIH1cbn1cbiJdfQ==
|
|
545
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJyZW1hcEpvIiwiUlVBTlI1TDE1UzIwMTdJRFMyMDY2NyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4MTciLCJSVUFOUjVMMTVTMjAxOElEUzIwODY0IiwiUlVBTlI1TDE1UzIwMThJRFMyMDk4MSIsIlJVQU5SNUwxNVMyMDE5SURTMjE1MDciLCJSVUFOUjVMMTVTMjAxOUlEUzIxNjA4IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NDEiLCJSVUFOUjVMMTVTMjAyMElEUzIxODU5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk3MCIsIlJVQU5SNUwxNVMyMDIwSURTMjE5ODMiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDE5IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMCIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMjEiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU0IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTYiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4NyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwODkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMTA2IiwiUGx1Z2luIiwib3B0aW9ucyIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJmcyIsInJlYWRGaWxlU3luYyIsImVuY29kaW5nIiwiZG9jIiwicm9vdCIsImZvdW5kIiwicXVlcnlTZWxlY3RvckFsbCIsIm1ldGEiLCJhdHRyaWJ1dGVzIiwiZGF0ZSIsInNwbGl0Iiwic3BsaWNlIiwiam9pbiIsInB1c2giLCJjb25zb2xlIiwiZXJyb3IiLCJhZ2VuZGEiLCJmaWxlbmFtZSIsInhzaVR5cGUiLCJsaWV1IiwiY29kZSIsImN5Y2xlRGVWaWUiLCJldGF0IiwidmVyYm9zZSIsImxvZyIsInN0YXR1cyIsImluZm8iLCJkYXRlU2VhbmNlIiwiRGF0ZSIsImlkZW50aWZpYW50cyIsInN1YnN0cmluZyIsInllYXIiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJkYXkiLCJtb250aCIsImRhdGVTZWFuY2VTdHJpbmciLCJpZEpvIiwid2VlayIsImdldFRpbWUiLCJ1aWQiLCJwYXR0ZXJuIiwiZXhwYW5kZWQiLCJnbG9iIiwic3luYyIsImxlbmd0aCIsImNvbXB0ZXNSZW5kdXNVcmxzIiwiY2FuZGlkYXRlcyIsImFuYWx5c2lzIiwiT2JqZWN0Iiwia2V5cyIsInJlc3VsdCIsImluY2x1ZGVzIiwiY29uY2F0IiwiZmluZENhbmRpZGF0ZXMiLCJudW1TZWFuY2VKbyIsIlN0cmluZyIsIk51bWJlciIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsIkJhc2VQbHVnaW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFTyxJQUFJQSxPQUFZLEdBQUc7QUFDeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBREE7QUFFeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBRkE7QUFHeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSEE7QUFJeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBSkE7QUFLeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTEE7QUFNeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBTkE7QUFPeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUEE7QUFReEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBUkE7QUFTeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVEE7QUFVeEJDLEVBQUFBLHNCQUFzQixFQUFFLFVBVkE7QUFXeEJDLEVBQUFBLHNC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QUNqRCxVQUFNd0MsRUFBRSxHQUFHLHlCQUFYO0FBQ0EsVUFBTUMsS0FBSyxHQUFHLElBQUlDLE1BQUosQ0FBV0YsRUFBWCxFQUFlRyxJQUFmLENBQW9CM0MsUUFBcEIsQ0FBZDtBQUNBLFVBQUl5QyxLQUFLLElBQUksSUFBYixFQUFtQixPQUFPekMsUUFBUDtBQUNuQixVQUFNNEMsSUFBSSxHQUFHSCxLQUFLLENBQUMsQ0FBRCxDQUFsQjtBQUNBLHdCQUFXRyxJQUFYLHFGQUEwRkEsSUFBMUY7QUFDRDs7OztFQXBEeUJDLGdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGdsb2IgZnJvbSBcImdsb2JcIlxuaW1wb3J0IHsgSFRNTEVsZW1lbnQsIHBhcnNlLCBUZXh0Tm9kZSB9IGZyb20gXCJub2RlLWh0bWwtcGFyc2VyXCJcbmltcG9ydCBmcyBmcm9tIFwiZnMtZXh0cmFcIlxuaW1wb3J0IHsgZ2V0RmlsZXMgfSBmcm9tIFwiLi4vZmlsZV9zeXN0ZW1zXCJcbmltcG9ydCB7IEJhc2VQbHVnaW4gfSBmcm9tIFwiLi4vYnVnc1wiXG5pbXBvcnQgeyBtYXN0ZXJVcmwgfSBmcm9tIFwiLi4vZGF0YXNldHNcIlxuXG5leHBvcnQgbGV0IHJlbWFwSm86IGFueSA9IHtcbiAgUlVBTlI1TDE1UzIwMTdJRFMyMDY2NzogXCIyMDE3MjAwMlwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwODE3OiBcIjIwMTgwMDg2XCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4NjQ6IFwiMjAxODAxMjFcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDk4MTogXCIyMDE4MDE3NFwiLFxuICBSVUFOUjVMMTVTMjAxOUlEUzIxNTA3OiBcIjIwMTkwMTUzXCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE2MDg6IFwiMjAxOTAyMThcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg0MDogXCIyMDIwMDAwMlwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQxOiBcIjIwMjAwMDAzXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NTk6IFwiMjAyMDAwMDFcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTk3MDogXCIyMDIwMDA5MFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTgzOiBcIjIwMjAwMDkyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMTk6IFwiMjAyMDAxMTdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAyMDogXCIyMDIwMDExOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIxOiBcIjIwMjAwMTE5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTQ6IFwiMjAyMDAxMzRcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NTogXCIyMDIwMDEzNVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU2OiBcIjIwMjAwMTM2XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTc6IFwiMjAyMDAxMzdcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA4NzogXCIyMDIwMDEzOVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg5OiBcIjIwMjAwMTQwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIxMDY6IFwiMjAyMDAxMjVcIixcbn1cblxuZXhwb3J0IGNsYXNzIFBsdWdpbiBleHRlbmRzIEJhc2VQbHVnaW4ge1xuICBjcjJmaWxlbmFtZXM6IGFueVxuICBkYXRlMmNyczogYW55XG4gIGNyMmRhdGU6IGFueVxuICBmaWxlbmFtZTJkYXRlOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBhbnkpIHtcbiAgICBzdXBlcihvcHRpb25zLCBcImFnZW5kYS0wMDAwMlwiKVxuICB9XG5cbiAgYXN5bmMgcHJlQ2hlY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5jciA9PSB1bmRlZmluZWQpIHRocm93IFwiLS1jciBpcyByZXF1aXJlZFwiXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlID0ge31cbiAgICB0aGlzLmNyMmZpbGVuYW1lcyA9IHt9XG4gICAgdGhpcy5kYXRlMmNycyA9IHt9XG4gICAgdGhpcy5jcjJkYXRlID0ge31cbiAgICBmb3IgKGNvbnN0IGNyIG9mIGdldEZpbGVzKFtgJHt0aGlzLm9wdGlvbnMuY3J9LyouYXNwYF0pKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0gPSBbXVxuXG4gICAgICBjb25zdCBjb250ZW50OiBzdHJpbmcgPSBmcy5yZWFkRmlsZVN5bmMoY3IsIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9KVxuXG4gICAgICB0eXBlIFBhcnNlUmVzdWx0ID1cbiAgICAgICAgfCAoVGV4dE5vZGUgJiB7IHZhbGlkPzogYm9vbGVhbiB9KVxuICAgICAgICB8IChIVE1MRWxlbWVudCAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICBjb25zdCBkb2M6IFBhcnNlUmVzdWx0ID0gcGFyc2UoY29udGVudClcbiAgICAgIGNvbnN0IHJvb3QgPSBkb2MgYXMgdW5rbm93biBhcyBIVE1MRWxlbWVudFxuICAgICAgbGV0IGZvdW5kID0gZmFsc2VcbiAgICAgIGZvciAoY29uc3QgbWV0YSBvZiByb290LnF1ZXJ5U2VsZWN0b3JBbGwoXCJtZXRhXCIpKSB7XG4gICAgICAgIGlmIChtZXRhLmF0dHJpYnV0ZXNbXCJuYW1lXCJdID09IFwiUVVBTlRJRU1FX1NFQU5DRVwiKSB7XG4gICAgICAgICAgY29uc3QgZGF0ZSA9IG1ldGEuYXR0cmlidXRlc1tcImNvbnRlbnRcIl1cbiAgICAgICAgICAgIC5zcGxpdChcIiBcIilcbiAgICAgICAgICAgIC5zcGxpY2UoLTMpXG4gICAgICAgICAgICAuam9pbihcIiBcIilcbiAgICAgICAgICBpZiAoIShkYXRlIGluIHRoaXMuZGF0ZTJjcnMpKSB0aGlzLmRhdGUyY3JzW2RhdGVdID0gW11cbiAgICAgICAgICB0aGlzLmRhdGUyY3JzW2RhdGVdLnB1c2goY3IpXG4gICAgICAgICAgdGhpcy5jcjJkYXRlW2NyXSA9IGRhdGVcbiAgICAgICAgICBmb3VuZCA9IHRydWVcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYCR7Y3J9IGlzIG1pc3NpbmcgdGhlIG1ldGEgbmFtZT1cIlFVQU5USUVNRV9TRUFOQ0VcImApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGNvbXB0ZXNSZW5kdXNVcmxzKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHJlID0gXCJeLiovY29tcHRlcy1yZW5kdXMvKC4qKVwiXG4gICAgY29uc3QgbWF0Y2ggPSBuZXcgUmVnRXhwKHJlKS5leGVjKGZpbGVuYW1lKVxuICAgIGlmIChtYXRjaCA9PSBudWxsKSByZXR1cm4gZmlsZW5hbWVcbiAgICBjb25zdCBmaWxlID0gbWF0Y2hbMV1cbiAgICByZXR1cm4gYFske2ZpbGV9XShodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9odG1sL2NvbXB0ZXMtcmVuZHVzLy0vdHJlZS9tYXN0ZXIvJHtmaWxlfSlgXG4gIH1cblxuICBhc3luYyBjaGVjayhhZ2VuZGE6IGFueSwgZmlsZW5hbWU6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKFxuICAgICAgYWdlbmRhLnhzaVR5cGUgIT0gXCJzZWFuY2VfdHlwZVwiIHx8XG4gICAgICBhZ2VuZGEubGlldS5jb2RlICE9IFwiQU5cIiB8fFxuICAgICAgYWdlbmRhLmN5Y2xlRGVWaWUuZXRhdCA9PSBcIlN1cHByaW3DqVwiIHx8XG4gICAgICBhZ2VuZGEuY3ljbGVEZVZpZS5ldGF0ID09IFwiQW5udWzDqVwiXG4gICAgKVxuICAgICAgcmV0dXJuIG51bGxcblxuICAgIGlmICh0aGlzLm9wdGlvbnMudmVyYm9zZSkgY29uc29sZS5sb2coYGFnZW5kYS0wMDAwMjogJHtmaWxlbmFtZX1gKVxuICAgIGxldCBzdGF0dXMgPSBcIm9rXCJcbiAgICBsZXQgaW5mbzogYW55ID0gW11cblxuICAgIGNvbnN0IGRhdGVTZWFuY2UgPSBuZXcgRGF0ZShhZ2VuZGEuaWRlbnRpZmlhbnRzLmRhdGVTZWFuY2Uuc3Vic3RyaW5nKDAsIDEwKSlcbiAgICBjb25zdCB5ZWFyID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IHllYXI6IFwibnVtZXJpY1wiIH0pXG4gICAgY29uc3QgZGF5ID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IGRheTogXCIyLWRpZ2l0XCIgfSlcbiAgICBjb25zdCBtb250aCA9IGRhdGVTZWFuY2UudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZnJcIiwgeyBtb250aDogXCJsb25nXCIgfSlcbiAgICBjb25zdCBkYXRlU2VhbmNlU3RyaW5nID0gYCR7ZGF5fSAke21vbnRofSAke3llYXJ9YFxuICAgIHRoaXMuZmlsZW5hbWUyZGF0ZVtmaWxlbmFtZV0gPSBkYXRlU2VhbmNlU3RyaW5nXG5cbiAgICBsZXQgaWRKb1xuXG4gICAgaWYgKFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cyA9PSB1bmRlZmluZWQgfHxcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIGNvbnN0IHdlZWsgPSA3ICogMjQgKiA2MCAqIDYwICogMTAwMFxuICAgICAgaWYgKGRhdGVTZWFuY2UgPj0gbmV3IERhdGUobmV3IERhdGUoKS5nZXRUaW1lKCkgLSB3ZWVrKSkge1xuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWRKbyA9IHVuZGVmaW5lZFxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZEpvID0gYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvXG4gICAgfVxuXG4gICAgaWYgKGFnZW5kYS51aWQgaW4gcmVtYXBKbykge1xuICAgICAgaWYgKGlkSm8gPT0gcmVtYXBKb1thZ2VuZGEudWlkXSkge1xuICAgICAgICBpbmZvLnB1c2goYGlkSm8gYWxyZWFkeSBpcyAke2lkSm99YClcbiAgICAgICAgc3RhdHVzID0gXCJhbHJlYWR5LWZpeGVkXCJcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlkSm8gPSByZW1hcEpvW2FnZW5kYS51aWRdXG4gICAgICAgIHN0YXR1cyA9IFwid2lsbC1iZS1maXhlZFwiXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlkSm8gPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzdGF0dXM6IFwibmVlZHMtZml4aW5nXCIsXG4gICAgICAgIGluZm86IFtcImlkSm8gZmllbGQgaXMgbWlzc2luZ1wiXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBwYXR0ZXJuID0gYCR7dGhpcy5vcHRpb25zLmNyfS8qXyR7aWRKb30uYXNwYFxuICAgIGNvbnN0IGV4cGFuZGVkID0gZ2xvYi5zeW5jKHBhdHRlcm4pXG4gICAgbGV0IGNyXG4gICAgaWYgKGV4cGFuZGVkLmxlbmd0aCA+IDApIGNyID0gZXhwYW5kZWRbMF1cbiAgICBlbHNlIGNyID0gdW5kZWZpbmVkXG4gICAgaWYgKGNyICE9IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5jcjJmaWxlbmFtZXNbY3JdLnB1c2goZmlsZW5hbWUpXG5cbiAgICAgIGlmIChkYXRlU2VhbmNlU3RyaW5nICE9IHRoaXMuY3IyZGF0ZVtjcl0pIHtcbiAgICAgICAgaW5mby5wdXNoKFxuICAgICAgICAgIGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhjcil9IG1ldGEgUVVBTlRJRU1FX1NFQU5DRSBjb250YWlucyAke1xuICAgICAgICAgICAgdGhpcy5jcjJkYXRlW2NyXVxuICAgICAgICAgIH0gaW5zdGVhZCBvZiB0aGUgZXhwZWN0ZWQgJHtkYXRlU2VhbmNlU3RyaW5nfWAsXG4gICAgICAgIClcbiAgICAgICAgc3RhdHVzID0gXCJuZWVkcy1maXhpbmdcIlxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoc3RhdHVzICE9IFwid2lsbC1iZS1maXhlZFwiKSB7XG4gICAgICAgIGluZm8ucHVzaChgJHtwYXR0ZXJufSBkb2VzIG5vdCBleGlzdGApXG4gICAgICAgIHN0YXR1cyA9IFwibmVlZHMtZml4aW5nXCJcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgc3RhdHVzOiBzdGF0dXMsIGluZm86IGluZm8gfVxuICB9XG5cbiAgZmluZENhbmRpZGF0ZXMoZmlsZW5hbWU6IGFueSk6IGFueSB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuZmlsZW5hbWUyZGF0ZVtmaWxlbmFtZV1cbiAgICBpZiAoIShkYXRlIGluIHRoaXMuZGF0ZTJjcnMpKSByZXR1cm4gW11cbiAgICBsZXQgY2FuZGlkYXRlcyA9IFtdXG4gICAgZm9yIChjb25zdCBjciBvZiB0aGlzLmRhdGUyY3JzW2RhdGVdKSB7XG4gICAgICBpZiAodGhpcy5jcjJmaWxlbmFtZXNbY3JdLmxlbmd0aCA+IDApXG4gICAgICAgIGNhbmRpZGF0ZXMucHVzaChcbiAgICAgICAgICBgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoXG4gICAgICAgICAgICBjcixcbiAgICAgICAgICApfSBpcyBub3QgYSBjYW5kaWRhdGUgYmVjYXVzZSBpdCBpcyByZWZlcmVuY2VkIGJ5ICR7bWFzdGVyVXJsKFxuICAgICAgICAgICAgdGhpcy5jcjJmaWxlbmFtZXNbY3JdLFxuICAgICAgICAgICl9YCxcbiAgICAgICAgKVxuICAgICAgZWxzZSBjYW5kaWRhdGVzLnB1c2goYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKGNyKX0gaXMgYSBjYW5kaWRhdGVgKVxuICAgIH1cbiAgICByZXR1cm4gY2FuZGlkYXRlc1xuICB9XG5cbiAgYXN5bmMgcG9zdENoZWNrKGFuYWx5c2lzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGZvciAoY29uc3QgZmlsZW5hbWUgb2YgT2JqZWN0LmtleXMoYW5hbHlzaXMpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBhbmFseXNpc1tmaWxlbmFtZV1bXCJhZ2VuZGEtMDAwMDJcIl1cbiAgICAgIGlmIChyZXN1bHQgPT0gbnVsbCB8fCByZXN1bHRbXCJzdGF0dXNcIl0gIT0gXCJuZWVkcy1maXhpbmdcIikgY29udGludWVcbiAgICAgIGNvbnN0IGluZm8gPSByZXN1bHRbXCJpbmZvXCJdLmpvaW4oXCJcIilcbiAgICAgIGlmIChcbiAgICAgICAgaW5mby5pbmNsdWRlcyhcIm1ldGEgUVVBTlRJRU1FXCIpIHx8XG4gICAgICAgIGluZm8uaW5jbHVkZXMoXCJpZEpvIGZpZWxkIGlzIG1pc3NpbmdcIilcbiAgICAgICkge1xuICAgICAgICByZXN1bHRbXCJpbmZvXCJdID0gcmVzdWx0W1wiaW5mb1wiXS5jb25jYXQodGhpcy5maW5kQ2FuZGlkYXRlcyhmaWxlbmFtZSkpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZml4KGFnZW5kYTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoIShhZ2VuZGEudWlkIGluIHJlbWFwSm8pKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGNvbnN0IGlkSm8gPSByZW1hcEpvW2FnZW5kYS51aWRdXG4gICAgY29uc3QgbnVtU2VhbmNlSm8gPSBTdHJpbmcoTnVtYmVyKGlkSm8uc3Vic3RyaW5nKDUpKSlcbiAgICBpZiAoXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm8gPT0gaWRKbyAmJlxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5udW1TZWFuY2VKbyA9PSBudW1TZWFuY2VKb1xuICAgIClcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9IGlkSm9cbiAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID0gbnVtU2VhbmNlSm9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG4iXX0=
|
|
@@ -194,4 +194,4 @@ export class Plugin extends BasePlugin {
|
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJnbG9iIiwicGFyc2UiLCJmcyIsImdldEZpbGVzIiwiQmFzZVBsdWdpbiIsIm1hc3RlclVybCIsInJlbWFwSm8iLCJSVUFOUjVMMTVTMjAxN0lEUzIwNjY3IiwiUlVBTlI1TDE1UzIwMThJRFMyMDgxNyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4NjQiLCJSVUFOUjVMMTVTMjAxOElEUzIwOTgxIiwiUlVBTlI1TDE1UzIwMTlJRFMyMTUwNyIsIlJVQU5SNUwxNVMyMDE5SURTMjE2MDgiLCJSVUFOUjVMMTVTMjAyMElEUzIxODQwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MSIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NTkiLCJSVUFOUjVMMTVTMjAyMElEUzIxOTcwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk4MyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMTkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDIwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTQiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU1IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NiIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTciLCJSVUFOUjVMMTVTMjAyMElEUzIyMDg3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4OSIsIlJVQU5SNUwxNVMyMDIwSURTMjIxMDYiLCJQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJwcmVDaGVjayIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsImRvYyIsInJvb3QiLCJmb3VuZCIsIm1ldGEiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYXR0cmlidXRlcyIsImRhdGUiLCJzcGxpdCIsInNwbGljZSIsImpvaW4iLCJwdXNoIiwiY29uc29sZSIsImVycm9yIiwiY29tcHRlc1JlbmR1c1VybHMiLCJmaWxlbmFtZSIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsImNoZWNrIiwiYWdlbmRhIiwieHNpVHlwZSIsImxpZXUiLCJjb2RlIiwiY3ljbGVEZVZpZSIsImV0YXQiLCJ2ZXJib3NlIiwibG9nIiwic3RhdHVzIiwiaW5mbyIsImRhdGVTZWFuY2UiLCJEYXRlIiwiaWRlbnRpZmlhbnRzIiwic3Vic3RyaW5nIiwieWVhciIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImRheSIsIm1vbnRoIiwiZGF0ZVNlYW5jZVN0cmluZyIsImlkSm8iLCJ3ZWVrIiwiZ2V0VGltZSIsInVpZCIsInBhdHRlcm4iLCJleHBhbmRlZCIsInN5bmMiLCJsZW5ndGgiLCJmaW5kQ2FuZGlkYXRlcyIsImNhbmRpZGF0ZXMiLCJwb3N0Q2hlY2siLCJhbmFseXNpcyIsIk9iamVjdCIsImtleXMiLCJyZXN1bHQiLCJpbmNsdWRlcyIsImNvbmNhdCIsImZpeCIsIm51bVNlYW5jZUpvIiwiU3RyaW5nIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLElBQVAsTUFBaUIsTUFBakI7QUFDQSxTQUFzQkMsS0FBdEIsUUFBNkMsa0JBQTdDO0FBQ0EsT0FBT0MsRUFBUCxNQUFlLFVBQWY7U0FDU0MsUTtTQUNBQyxVO1NBQ0FDLFM7QUFFVCxPQUFPLElBQUlDLE9BQVksR0FBRztBQUN4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFEQTtBQUV4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFGQTtBQUd4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFIQTtBQUl4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFKQTtBQUt4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFMQTtBQU14QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFOQTtBQU94QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFQQTtBQVF4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFSQTtBQVN4QkMsRUFBQUEsc0JB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LENBQU4sQ0FBZUUsTUFBZixDQUFzQixLQUFLUixjQUFMLENBQW9CbEMsUUFBcEIsQ0FBdEIsQ0FBakI7QUFDRDtBQUNGO0FBQ0Y7O0FBRVEsUUFBSDJDLEdBQUcsQ0FBQ3BDLE1BQUQsRUFBNEI7QUFDbkMsUUFBSSxFQUFFQSxNQUFNLENBQUNzQixHQUFQLElBQWM5RSxPQUFoQixDQUFKLEVBQThCO0FBQzVCLGFBQU8sSUFBUDtBQUNEOztBQUVELFVBQU0yRSxJQUFJLEdBQUczRSxPQUFPLENBQUN3RCxNQUFNLENBQUNzQixHQUFSLENBQXBCO0FBQ0EsVUFBTWUsV0FBVyxHQUFHQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ3BCLElBQUksQ0FBQ04sU0FBTCxDQUFlLENBQWYsQ0FBRCxDQUFQLENBQTFCO0FBQ0EsUUFDRWIsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixJQUE0QkEsSUFBNUIsSUFDQW5CLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLElBQW1DQSxXQUZyQyxFQUlFLE9BQU8sS0FBUDtBQUNGckMsSUFBQUEsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixHQUEyQkEsSUFBM0I7QUFDQW5CLElBQUFBLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLEdBQWtDQSxXQUFsQztBQUNBLFdBQU8sSUFBUDtBQUNEOztBQW5Mb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2xvYiBmcm9tIFwiZ2xvYlwiXG5pbXBvcnQgeyBIVE1MRWxlbWVudCwgcGFyc2UsIFRleHROb2RlIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgeyBnZXRGaWxlcyB9IGZyb20gXCIuLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgQmFzZVBsdWdpbiB9IGZyb20gXCIuLi9idWdzXCJcbmltcG9ydCB7IG1hc3RlclVybCB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5cbmV4cG9ydCBsZXQgcmVtYXBKbzogYW55ID0ge1xuICBSVUFOUjVMMTVTMjAxN0lEUzIwNjY3OiBcIjIwMTcyMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4MTc6IFwiMjAxODAwODZcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDg2NDogXCIyMDE4MDEyMVwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwOTgxOiBcIjIwMTgwMTc0XCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE1MDc6IFwiMjAxOTAxNTNcIixcbiAgUlVBTlI1TDE1UzIwMTlJRFMyMTYwODogXCIyMDE5MDIxOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQwOiBcIjIwMjAwMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NDE6IFwiMjAyMDAwMDNcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg1OTogXCIyMDIwMDAwMVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTcwOiBcIjIwMjAwMDkwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE5ODM6IFwiMjAyMDAwOTJcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAxOTogXCIyMDIwMDExN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIwOiBcIjIwMjAwMTE4XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMjE6IFwiMjAyMDAxMTlcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NDogXCIyMDIwMDEzNFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU1OiBcIjIwMjAwMTM1XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTY6IFwiMjAyMDAxMzZcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NzogXCIyMDIwMDEzN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg3OiBcIjIwMjAwMTM5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwODk6IFwiMjAyMDAxNDBcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjEwNjogXCIyMDIwMDEyNVwiLFxufVxuXG5leHBvcnQgY2xhc3MgUGx1Z2luIGV4dGVuZHMgQmFzZVBsdWdpbiB7XG4gIGNyMmZpbGVuYW1lczogYW55XG4gIGRhdGUyY3JzOiBhbnlcbiAgY3IyZGF0ZTogYW55XG4gIGZpbGVuYW1lMmRhdGU6IGFueVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSkge1xuICAgIHN1cGVyKG9wdGlvbnMsIFwiYWdlbmRhLTAwMDAyXCIpXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNyID09IHVuZGVmaW5lZCkgdGhyb3cgXCItLWNyIGlzIHJlcXVpcmVkXCJcbiAgICB0aGlzLmZpbGVuYW1lMmRhdGUgPSB7fVxuICAgIHRoaXMuY3IyZmlsZW5hbWVzID0ge31cbiAgICB0aGlzLmRhdGUyY3JzID0ge31cbiAgICB0aGlzLmNyMmRhdGUgPSB7fVxuICAgIGZvciAoY29uc3QgY3Igb2YgZ2V0RmlsZXMoW2Ake3RoaXMub3B0aW9ucy5jcn0vKi5hc3BgXSkpIHtcbiAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXSA9IFtdXG5cbiAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhjciwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pXG5cbiAgICAgIHR5cGUgUGFyc2VSZXN1bHQgPVxuICAgICAgICB8IChUZXh0Tm9kZSAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICAgIHwgKEhUTUxFbGVtZW50ICYgeyB2YWxpZD86IGJvb2xlYW4gfSlcbiAgICAgIGNvbnN0IGRvYzogUGFyc2VSZXN1bHQgPSBwYXJzZShjb250ZW50KVxuICAgICAgY29uc3Qgcm9vdCA9IChkb2MgYXMgdW5rbm93bikgYXMgSFRNTEVsZW1lbnRcbiAgICAgIGxldCBmb3VuZCA9IGZhbHNlXG4gICAgICBmb3IgKGNvbnN0IG1ldGEgb2Ygcm9vdC5xdWVyeVNlbGVjdG9yQWxsKFwibWV0YVwiKSkge1xuICAgICAgICBpZiAobWV0YS5hdHRyaWJ1dGVzW1wibmFtZVwiXSA9PSBcIlFVQU5USUVNRV9TRUFOQ0VcIikge1xuICAgICAgICAgIGNvbnN0IGRhdGUgPSBtZXRhLmF0dHJpYnV0ZXNbXCJjb250ZW50XCJdXG4gICAgICAgICAgICAuc3BsaXQoXCIgXCIpXG4gICAgICAgICAgICAuc3BsaWNlKC0zKVxuICAgICAgICAgICAgLmpvaW4oXCIgXCIpXG4gICAgICAgICAgaWYgKCEoZGF0ZSBpbiB0aGlzLmRhdGUyY3JzKSkgdGhpcy5kYXRlMmNyc1tkYXRlXSA9IFtdXG4gICAgICAgICAgdGhpcy5kYXRlMmNyc1tkYXRlXS5wdXNoKGNyKVxuICAgICAgICAgIHRoaXMuY3IyZGF0ZVtjcl0gPSBkYXRlXG4gICAgICAgICAgZm91bmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICBjb25zb2xlLmVycm9yKGAke2NyfSBpcyBtaXNzaW5nIHRoZSBtZXRhIG5hbWU9XCJRVUFOVElFTUVfU0VBTkNFXCJgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjb21wdGVzUmVuZHVzVXJscyhmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCByZSA9IFwiXi4qL2NvbXB0ZXMtcmVuZHVzLyguKilcIlxuICAgIGNvbnN0IG1hdGNoID0gbmV3IFJlZ0V4cChyZSkuZXhlYyhmaWxlbmFtZSlcbiAgICBpZiAobWF0Y2ggPT0gbnVsbCkgcmV0dXJuIGZpbGVuYW1lXG4gICAgY29uc3QgZmlsZSA9IG1hdGNoWzFdXG4gICAgcmV0dXJuIGBbJHtmaWxlfV0oaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvaHRtbC9jb21wdGVzLXJlbmR1cy8tL3RyZWUvbWFzdGVyLyR7ZmlsZX0pYFxuICB9XG5cbiAgYXN5bmMgY2hlY2soYWdlbmRhOiBhbnksIGZpbGVuYW1lOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmIChcbiAgICAgIGFnZW5kYS54c2lUeXBlICE9IFwic2VhbmNlX3R5cGVcIiB8fFxuICAgICAgYWdlbmRhLmxpZXUuY29kZSAhPSBcIkFOXCIgfHxcbiAgICAgIGFnZW5kYS5jeWNsZURlVmllLmV0YXQgPT0gXCJTdXBwcmltw6lcIiB8fFxuICAgICAgYWdlbmRhLmN5Y2xlRGVWaWUuZXRhdCA9PSBcIkFubnVsw6lcIlxuICAgIClcbiAgICAgIHJldHVybiBudWxsXG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnZlcmJvc2UpIGNvbnNvbGUubG9nKGBhZ2VuZGEtMDAwMDI6ICR7ZmlsZW5hbWV9YClcbiAgICBsZXQgc3RhdHVzID0gXCJva1wiXG4gICAgbGV0IGluZm86IGFueSA9IFtdXG5cbiAgICBjb25zdCBkYXRlU2VhbmNlID0gbmV3IERhdGUoYWdlbmRhLmlkZW50aWZpYW50cy5kYXRlU2VhbmNlLnN1YnN0cmluZygwLCAxMCkpXG4gICAgY29uc3QgeWVhciA9IGRhdGVTZWFuY2UudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZnJcIiwgeyB5ZWFyOiBcIm51bWVyaWNcIiB9KVxuICAgIGNvbnN0IGRheSA9IGRhdGVTZWFuY2UudG9Mb2NhbGVEYXRlU3RyaW5nKFwiZnJcIiwgeyBkYXk6IFwiMi1kaWdpdFwiIH0pXG4gICAgY29uc3QgbW9udGggPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgbW9udGg6IFwibG9uZ1wiIH0pXG4gICAgY29uc3QgZGF0ZVNlYW5jZVN0cmluZyA9IGAke2RheX0gJHttb250aH0gJHt5ZWFyfWBcbiAgICB0aGlzLmZpbGVuYW1lMmRhdGVbZmlsZW5hbWVdID0gZGF0ZVNlYW5jZVN0cmluZ1xuXG4gICAgbGV0IGlkSm9cblxuICAgIGlmIChcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMgPT0gdW5kZWZpbmVkIHx8XG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm8gPT0gdW5kZWZpbmVkXG4gICAgKSB7XG4gICAgICBjb25zdCB3ZWVrID0gNyAqIDI0ICogNjAgKiA2MCAqIDEwMDBcbiAgICAgIGlmIChkYXRlU2VhbmNlID49IG5ldyBEYXRlKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gd2VlaykpIHtcbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlkSm8gPSB1bmRlZmluZWRcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWRKbyA9IGFnZW5kYS5pZGVudGlmaWFudHMuaWRKb1xuICAgIH1cblxuICAgIGlmIChhZ2VuZGEudWlkIGluIHJlbWFwSm8pIHtcbiAgICAgIGlmIChpZEpvID09IHJlbWFwSm9bYWdlbmRhLnVpZF0pIHtcbiAgICAgICAgaW5mby5wdXNoKGBpZEpvIGFscmVhZHkgaXMgJHtpZEpvfWApXG4gICAgICAgIHN0YXR1cyA9IFwiYWxyZWFkeS1maXhlZFwiXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZEpvID0gcmVtYXBKb1thZ2VuZGEudWlkXVxuICAgICAgICBzdGF0dXMgPSBcIndpbGwtYmUtZml4ZWRcIlxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpZEpvID09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3RhdHVzOiBcIm5lZWRzLWZpeGluZ1wiLFxuICAgICAgICBpbmZvOiBbXCJpZEpvIGZpZWxkIGlzIG1pc3NpbmdcIl0sXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGF0dGVybiA9IGAke3RoaXMub3B0aW9ucy5jcn0vKl8ke2lkSm99LmFzcGBcbiAgICBjb25zdCBleHBhbmRlZCA9IGdsb2Iuc3luYyhwYXR0ZXJuKVxuICAgIGxldCBjclxuICAgIGlmIChleHBhbmRlZC5sZW5ndGggPiAwKSBjciA9IGV4cGFuZGVkWzBdXG4gICAgZWxzZSBjciA9IHVuZGVmaW5lZFxuICAgIGlmIChjciAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXS5wdXNoKGZpbGVuYW1lKVxuXG4gICAgICBpZiAoZGF0ZVNlYW5jZVN0cmluZyAhPSB0aGlzLmNyMmRhdGVbY3JdKSB7XG4gICAgICAgIGluZm8ucHVzaChcbiAgICAgICAgICBgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoY3IpfSBtZXRhIFFVQU5USUVNRV9TRUFOQ0UgY29udGFpbnMgJHtcbiAgICAgICAgICAgIHRoaXMuY3IyZGF0ZVtjcl1cbiAgICAgICAgICB9IGluc3RlYWQgb2YgdGhlIGV4cGVjdGVkICR7ZGF0ZVNlYW5jZVN0cmluZ31gLFxuICAgICAgICApXG4gICAgICAgIHN0YXR1cyA9IFwibmVlZHMtZml4aW5nXCJcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHN0YXR1cyAhPSBcIndpbGwtYmUtZml4ZWRcIikge1xuICAgICAgICBpbmZvLnB1c2goYCR7cGF0dGVybn0gZG9lcyBub3QgZXhpc3RgKVxuICAgICAgICBzdGF0dXMgPSBcIm5lZWRzLWZpeGluZ1wiXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHN0YXR1czogc3RhdHVzLCBpbmZvOiBpbmZvIH1cbiAgfVxuXG4gIGZpbmRDYW5kaWRhdGVzKGZpbGVuYW1lOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmZpbGVuYW1lMmRhdGVbZmlsZW5hbWVdXG4gICAgaWYgKCEoZGF0ZSBpbiB0aGlzLmRhdGUyY3JzKSkgcmV0dXJuIFtdXG4gICAgbGV0IGNhbmRpZGF0ZXMgPSBbXVxuICAgIGZvciAoY29uc3QgY3Igb2YgdGhpcy5kYXRlMmNyc1tkYXRlXSkge1xuICAgICAgaWYgKHRoaXMuY3IyZmlsZW5hbWVzW2NyXS5sZW5ndGggPiAwKVxuICAgICAgICBjYW5kaWRhdGVzLnB1c2goXG4gICAgICAgICAgYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKFxuICAgICAgICAgICAgY3IsXG4gICAgICAgICAgKX0gaXMgbm90IGEgY2FuZGlkYXRlIGJlY2F1c2UgaXQgaXMgcmVmZXJlbmNlZCBieSAke21hc3RlclVybChcbiAgICAgICAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXSxcbiAgICAgICAgICApfWAsXG4gICAgICAgIClcbiAgICAgIGVsc2UgY2FuZGlkYXRlcy5wdXNoKGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhjcil9IGlzIGEgY2FuZGlkYXRlYClcbiAgICB9XG4gICAgcmV0dXJuIGNhbmRpZGF0ZXNcbiAgfVxuXG4gIGFzeW5jIHBvc3RDaGVjayhhbmFseXNpczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBmb3IgKGNvbnN0IGZpbGVuYW1lIG9mIE9iamVjdC5rZXlzKGFuYWx5c2lzKSkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYW5hbHlzaXNbZmlsZW5hbWVdW1wiYWdlbmRhLTAwMDAyXCJdXG4gICAgICBpZiAocmVzdWx0ID09IG51bGwgfHwgcmVzdWx0W1wic3RhdHVzXCJdICE9IFwibmVlZHMtZml4aW5nXCIpIGNvbnRpbnVlXG4gICAgICBjb25zdCBpbmZvID0gcmVzdWx0W1wiaW5mb1wiXS5qb2luKFwiXCIpXG4gICAgICBpZiAoXG4gICAgICAgIGluZm8uaW5jbHVkZXMoXCJtZXRhIFFVQU5USUVNRVwiKSB8fFxuICAgICAgICBpbmZvLmluY2x1ZGVzKFwiaWRKbyBmaWVsZCBpcyBtaXNzaW5nXCIpXG4gICAgICApIHtcbiAgICAgICAgcmVzdWx0W1wiaW5mb1wiXSA9IHJlc3VsdFtcImluZm9cIl0uY29uY2F0KHRoaXMuZmluZENhbmRpZGF0ZXMoZmlsZW5hbWUpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZpeChhZ2VuZGE6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKCEoYWdlbmRhLnVpZCBpbiByZW1hcEpvKSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICBjb25zdCBpZEpvID0gcmVtYXBKb1thZ2VuZGEudWlkXVxuICAgIGNvbnN0IG51bVNlYW5jZUpvID0gU3RyaW5nKE51bWJlcihpZEpvLnN1YnN0cmluZyg1KSkpXG4gICAgaWYgKFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID09IGlkSm8gJiZcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPT0gbnVtU2VhbmNlSm9cbiAgICApXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm8gPSBpZEpvXG4gICAgYWdlbmRhLmlkZW50aWZpYW50cy5udW1TZWFuY2VKbyA9IG51bVNlYW5jZUpvXG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuIl19
|
|
197
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWdzL2FnZW5kYS0wMDAwMi50cyJdLCJuYW1lcyI6WyJnbG9iIiwicGFyc2UiLCJmcyIsImdldEZpbGVzIiwiQmFzZVBsdWdpbiIsIm1hc3RlclVybCIsInJlbWFwSm8iLCJSVUFOUjVMMTVTMjAxN0lEUzIwNjY3IiwiUlVBTlI1TDE1UzIwMThJRFMyMDgxNyIsIlJVQU5SNUwxNVMyMDE4SURTMjA4NjQiLCJSVUFOUjVMMTVTMjAxOElEUzIwOTgxIiwiUlVBTlI1TDE1UzIwMTlJRFMyMTUwNyIsIlJVQU5SNUwxNVMyMDE5SURTMjE2MDgiLCJSVUFOUjVMMTVTMjAyMElEUzIxODQwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTg0MSIsIlJVQU5SNUwxNVMyMDIwSURTMjE4NTkiLCJSVUFOUjVMMTVTMjAyMElEUzIxOTcwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMTk4MyIsIlJVQU5SNUwxNVMyMDIwSURTMjIwMTkiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDIwIiwiUlVBTlI1TDE1UzIwMjBJRFMyMjAyMSIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTQiLCJSVUFOUjVMMTVTMjAyMElEUzIyMDU1IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA1NiIsIlJVQU5SNUwxNVMyMDIwSURTMjIwNTciLCJSVUFOUjVMMTVTMjAyMElEUzIyMDg3IiwiUlVBTlI1TDE1UzIwMjBJRFMyMjA4OSIsIlJVQU5SNUwxNVMyMDIwSURTMjIxMDYiLCJQbHVnaW4iLCJjb25zdHJ1Y3RvciIsIm9wdGlvbnMiLCJwcmVDaGVjayIsImNyIiwidW5kZWZpbmVkIiwiZmlsZW5hbWUyZGF0ZSIsImNyMmZpbGVuYW1lcyIsImRhdGUyY3JzIiwiY3IyZGF0ZSIsImNvbnRlbnQiLCJyZWFkRmlsZVN5bmMiLCJlbmNvZGluZyIsImRvYyIsInJvb3QiLCJmb3VuZCIsIm1ldGEiLCJxdWVyeVNlbGVjdG9yQWxsIiwiYXR0cmlidXRlcyIsImRhdGUiLCJzcGxpdCIsInNwbGljZSIsImpvaW4iLCJwdXNoIiwiY29uc29sZSIsImVycm9yIiwiY29tcHRlc1JlbmR1c1VybHMiLCJmaWxlbmFtZSIsInJlIiwibWF0Y2giLCJSZWdFeHAiLCJleGVjIiwiZmlsZSIsImNoZWNrIiwiYWdlbmRhIiwieHNpVHlwZSIsImxpZXUiLCJjb2RlIiwiY3ljbGVEZVZpZSIsImV0YXQiLCJ2ZXJib3NlIiwibG9nIiwic3RhdHVzIiwiaW5mbyIsImRhdGVTZWFuY2UiLCJEYXRlIiwiaWRlbnRpZmlhbnRzIiwic3Vic3RyaW5nIiwieWVhciIsInRvTG9jYWxlRGF0ZVN0cmluZyIsImRheSIsIm1vbnRoIiwiZGF0ZVNlYW5jZVN0cmluZyIsImlkSm8iLCJ3ZWVrIiwiZ2V0VGltZSIsInVpZCIsInBhdHRlcm4iLCJleHBhbmRlZCIsInN5bmMiLCJsZW5ndGgiLCJmaW5kQ2FuZGlkYXRlcyIsImNhbmRpZGF0ZXMiLCJwb3N0Q2hlY2siLCJhbmFseXNpcyIsIk9iamVjdCIsImtleXMiLCJyZXN1bHQiLCJpbmNsdWRlcyIsImNvbmNhdCIsImZpeCIsIm51bVNlYW5jZUpvIiwiU3RyaW5nIiwiTnVtYmVyIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLElBQVAsTUFBaUIsTUFBakI7QUFDQSxTQUFzQkMsS0FBdEIsUUFBNkMsa0JBQTdDO0FBQ0EsT0FBT0MsRUFBUCxNQUFlLFVBQWY7U0FDU0MsUTtTQUNBQyxVO1NBQ0FDLFM7QUFFVCxPQUFPLElBQUlDLE9BQVksR0FBRztBQUN4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFEQTtBQUV4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFGQTtBQUd4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFIQTtBQUl4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFKQTtBQUt4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFMQTtBQU14QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFOQTtBQU94QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFQQTtBQVF4QkMsRUFBQUEsc0JBQXNCLEVBQUUsVUFSQTtBQVN4QkMsRUFBQUEsc0JB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LENBQU4sQ0FBZUUsTUFBZixDQUFzQixLQUFLUixjQUFMLENBQW9CbEMsUUFBcEIsQ0FBdEIsQ0FBakI7QUFDRDtBQUNGO0FBQ0Y7O0FBRVEsUUFBSDJDLEdBQUcsQ0FBQ3BDLE1BQUQsRUFBNEI7QUFDbkMsUUFBSSxFQUFFQSxNQUFNLENBQUNzQixHQUFQLElBQWM5RSxPQUFoQixDQUFKLEVBQThCO0FBQzVCLGFBQU8sSUFBUDtBQUNEOztBQUVELFVBQU0yRSxJQUFJLEdBQUczRSxPQUFPLENBQUN3RCxNQUFNLENBQUNzQixHQUFSLENBQXBCO0FBQ0EsVUFBTWUsV0FBVyxHQUFHQyxNQUFNLENBQUNDLE1BQU0sQ0FBQ3BCLElBQUksQ0FBQ04sU0FBTCxDQUFlLENBQWYsQ0FBRCxDQUFQLENBQTFCO0FBQ0EsUUFDRWIsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixJQUE0QkEsSUFBNUIsSUFDQW5CLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLElBQW1DQSxXQUZyQyxFQUlFLE9BQU8sS0FBUDtBQUNGckMsSUFBQUEsTUFBTSxDQUFDWSxZQUFQLENBQW9CTyxJQUFwQixHQUEyQkEsSUFBM0I7QUFDQW5CLElBQUFBLE1BQU0sQ0FBQ1ksWUFBUCxDQUFvQnlCLFdBQXBCLEdBQWtDQSxXQUFsQztBQUNBLFdBQU8sSUFBUDtBQUNEOztBQW5Mb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZ2xvYiBmcm9tIFwiZ2xvYlwiXG5pbXBvcnQgeyBIVE1MRWxlbWVudCwgcGFyc2UsIFRleHROb2RlIH0gZnJvbSBcIm5vZGUtaHRtbC1wYXJzZXJcIlxuaW1wb3J0IGZzIGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgeyBnZXRGaWxlcyB9IGZyb20gXCIuLi9maWxlX3N5c3RlbXNcIlxuaW1wb3J0IHsgQmFzZVBsdWdpbiB9IGZyb20gXCIuLi9idWdzXCJcbmltcG9ydCB7IG1hc3RlclVybCB9IGZyb20gXCIuLi9kYXRhc2V0c1wiXG5cbmV4cG9ydCBsZXQgcmVtYXBKbzogYW55ID0ge1xuICBSVUFOUjVMMTVTMjAxN0lEUzIwNjY3OiBcIjIwMTcyMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDE4SURTMjA4MTc6IFwiMjAxODAwODZcIixcbiAgUlVBTlI1TDE1UzIwMThJRFMyMDg2NDogXCIyMDE4MDEyMVwiLFxuICBSVUFOUjVMMTVTMjAxOElEUzIwOTgxOiBcIjIwMTgwMTc0XCIsXG4gIFJVQU5SNUwxNVMyMDE5SURTMjE1MDc6IFwiMjAxOTAxNTNcIixcbiAgUlVBTlI1TDE1UzIwMTlJRFMyMTYwODogXCIyMDE5MDIxOFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxODQwOiBcIjIwMjAwMDAyXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE4NDE6IFwiMjAyMDAwMDNcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMTg1OTogXCIyMDIwMDAwMVwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIxOTcwOiBcIjIwMjAwMDkwXCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjE5ODM6IFwiMjAyMDAwOTJcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjAxOTogXCIyMDIwMDExN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDIwOiBcIjIwMjAwMTE4XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwMjE6IFwiMjAyMDAxMTlcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NDogXCIyMDIwMDEzNFwiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDU1OiBcIjIwMjAwMTM1XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwNTY6IFwiMjAyMDAxMzZcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjA1NzogXCIyMDIwMDEzN1wiLFxuICBSVUFOUjVMMTVTMjAyMElEUzIyMDg3OiBcIjIwMjAwMTM5XCIsXG4gIFJVQU5SNUwxNVMyMDIwSURTMjIwODk6IFwiMjAyMDAxNDBcIixcbiAgUlVBTlI1TDE1UzIwMjBJRFMyMjEwNjogXCIyMDIwMDEyNVwiLFxufVxuXG5leHBvcnQgY2xhc3MgUGx1Z2luIGV4dGVuZHMgQmFzZVBsdWdpbiB7XG4gIGNyMmZpbGVuYW1lczogYW55XG4gIGRhdGUyY3JzOiBhbnlcbiAgY3IyZGF0ZTogYW55XG4gIGZpbGVuYW1lMmRhdGU6IGFueVxuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IGFueSkge1xuICAgIHN1cGVyKG9wdGlvbnMsIFwiYWdlbmRhLTAwMDAyXCIpXG4gIH1cblxuICBhc3luYyBwcmVDaGVjaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNyID09IHVuZGVmaW5lZCkgdGhyb3cgXCItLWNyIGlzIHJlcXVpcmVkXCJcbiAgICB0aGlzLmZpbGVuYW1lMmRhdGUgPSB7fVxuICAgIHRoaXMuY3IyZmlsZW5hbWVzID0ge31cbiAgICB0aGlzLmRhdGUyY3JzID0ge31cbiAgICB0aGlzLmNyMmRhdGUgPSB7fVxuICAgIGZvciAoY29uc3QgY3Igb2YgZ2V0RmlsZXMoW2Ake3RoaXMub3B0aW9ucy5jcn0vKi5hc3BgXSkpIHtcbiAgICAgIHRoaXMuY3IyZmlsZW5hbWVzW2NyXSA9IFtdXG5cbiAgICAgIGNvbnN0IGNvbnRlbnQ6IHN0cmluZyA9IGZzLnJlYWRGaWxlU3luYyhjciwgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0pXG5cbiAgICAgIHR5cGUgUGFyc2VSZXN1bHQgPVxuICAgICAgICB8IChUZXh0Tm9kZSAmIHsgdmFsaWQ/OiBib29sZWFuIH0pXG4gICAgICAgIHwgKEhUTUxFbGVtZW50ICYgeyB2YWxpZD86IGJvb2xlYW4gfSlcbiAgICAgIGNvbnN0IGRvYzogUGFyc2VSZXN1bHQgPSBwYXJzZShjb250ZW50KVxuICAgICAgY29uc3Qgcm9vdCA9IGRvYyBhcyB1bmtub3duIGFzIEhUTUxFbGVtZW50XG4gICAgICBsZXQgZm91bmQgPSBmYWxzZVxuICAgICAgZm9yIChjb25zdCBtZXRhIG9mIHJvb3QucXVlcnlTZWxlY3RvckFsbChcIm1ldGFcIikpIHtcbiAgICAgICAgaWYgKG1ldGEuYXR0cmlidXRlc1tcIm5hbWVcIl0gPT0gXCJRVUFOVElFTUVfU0VBTkNFXCIpIHtcbiAgICAgICAgICBjb25zdCBkYXRlID0gbWV0YS5hdHRyaWJ1dGVzW1wiY29udGVudFwiXVxuICAgICAgICAgICAgLnNwbGl0KFwiIFwiKVxuICAgICAgICAgICAgLnNwbGljZSgtMylcbiAgICAgICAgICAgIC5qb2luKFwiIFwiKVxuICAgICAgICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHRoaXMuZGF0ZTJjcnNbZGF0ZV0gPSBbXVxuICAgICAgICAgIHRoaXMuZGF0ZTJjcnNbZGF0ZV0ucHVzaChjcilcbiAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdID0gZGF0ZVxuICAgICAgICAgIGZvdW5kID0gdHJ1ZVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgJHtjcn0gaXMgbWlzc2luZyB0aGUgbWV0YSBuYW1lPVwiUVVBTlRJRU1FX1NFQU5DRVwiYClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzdGF0aWMgY29tcHRlc1JlbmR1c1VybHMoZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcmUgPSBcIl4uKi9jb21wdGVzLXJlbmR1cy8oLiopXCJcbiAgICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAocmUpLmV4ZWMoZmlsZW5hbWUpXG4gICAgaWYgKG1hdGNoID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICAgIGNvbnN0IGZpbGUgPSBtYXRjaFsxXVxuICAgIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2h0bWwvY29tcHRlcy1yZW5kdXMvLS90cmVlL21hc3Rlci8ke2ZpbGV9KWBcbiAgfVxuXG4gIGFzeW5jIGNoZWNrKGFnZW5kYTogYW55LCBmaWxlbmFtZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAoXG4gICAgICBhZ2VuZGEueHNpVHlwZSAhPSBcInNlYW5jZV90eXBlXCIgfHxcbiAgICAgIGFnZW5kYS5saWV1LmNvZGUgIT0gXCJBTlwiIHx8XG4gICAgICBhZ2VuZGEuY3ljbGVEZVZpZS5ldGF0ID09IFwiU3VwcHJpbcOpXCIgfHxcbiAgICAgIGFnZW5kYS5jeWNsZURlVmllLmV0YXQgPT0gXCJBbm51bMOpXCJcbiAgICApXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy52ZXJib3NlKSBjb25zb2xlLmxvZyhgYWdlbmRhLTAwMDAyOiAke2ZpbGVuYW1lfWApXG4gICAgbGV0IHN0YXR1cyA9IFwib2tcIlxuICAgIGxldCBpbmZvOiBhbnkgPSBbXVxuXG4gICAgY29uc3QgZGF0ZVNlYW5jZSA9IG5ldyBEYXRlKGFnZW5kYS5pZGVudGlmaWFudHMuZGF0ZVNlYW5jZS5zdWJzdHJpbmcoMCwgMTApKVxuICAgIGNvbnN0IHllYXIgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgeWVhcjogXCJudW1lcmljXCIgfSlcbiAgICBjb25zdCBkYXkgPSBkYXRlU2VhbmNlLnRvTG9jYWxlRGF0ZVN0cmluZyhcImZyXCIsIHsgZGF5OiBcIjItZGlnaXRcIiB9KVxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZVNlYW5jZS50b0xvY2FsZURhdGVTdHJpbmcoXCJmclwiLCB7IG1vbnRoOiBcImxvbmdcIiB9KVxuICAgIGNvbnN0IGRhdGVTZWFuY2VTdHJpbmcgPSBgJHtkYXl9ICR7bW9udGh9ICR7eWVhcn1gXG4gICAgdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXSA9IGRhdGVTZWFuY2VTdHJpbmdcblxuICAgIGxldCBpZEpvXG5cbiAgICBpZiAoXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzID09IHVuZGVmaW5lZCB8fFxuICAgICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgY29uc3Qgd2VlayA9IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwXG4gICAgICBpZiAoZGF0ZVNlYW5jZSA+PSBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHdlZWspKSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZEpvID0gdW5kZWZpbmVkXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlkSm8gPSBhZ2VuZGEuaWRlbnRpZmlhbnRzLmlkSm9cbiAgICB9XG5cbiAgICBpZiAoYWdlbmRhLnVpZCBpbiByZW1hcEpvKSB7XG4gICAgICBpZiAoaWRKbyA9PSByZW1hcEpvW2FnZW5kYS51aWRdKSB7XG4gICAgICAgIGluZm8ucHVzaChgaWRKbyBhbHJlYWR5IGlzICR7aWRKb31gKVxuICAgICAgICBzdGF0dXMgPSBcImFscmVhZHktZml4ZWRcIlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICAgICAgc3RhdHVzID0gXCJ3aWxsLWJlLWZpeGVkXCJcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWRKbyA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1czogXCJuZWVkcy1maXhpbmdcIixcbiAgICAgICAgaW5mbzogW1wiaWRKbyBmaWVsZCBpcyBtaXNzaW5nXCJdLFxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBhdHRlcm4gPSBgJHt0aGlzLm9wdGlvbnMuY3J9LypfJHtpZEpvfS5hc3BgXG4gICAgY29uc3QgZXhwYW5kZWQgPSBnbG9iLnN5bmMocGF0dGVybilcbiAgICBsZXQgY3JcbiAgICBpZiAoZXhwYW5kZWQubGVuZ3RoID4gMCkgY3IgPSBleHBhbmRlZFswXVxuICAgIGVsc2UgY3IgPSB1bmRlZmluZWRcbiAgICBpZiAoY3IgIT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0ucHVzaChmaWxlbmFtZSlcblxuICAgICAgaWYgKGRhdGVTZWFuY2VTdHJpbmcgIT0gdGhpcy5jcjJkYXRlW2NyXSkge1xuICAgICAgICBpbmZvLnB1c2goXG4gICAgICAgICAgYCR7UGx1Z2luLmNvbXB0ZXNSZW5kdXNVcmxzKGNyKX0gbWV0YSBRVUFOVElFTUVfU0VBTkNFIGNvbnRhaW5zICR7XG4gICAgICAgICAgICB0aGlzLmNyMmRhdGVbY3JdXG4gICAgICAgICAgfSBpbnN0ZWFkIG9mIHRoZSBleHBlY3RlZCAke2RhdGVTZWFuY2VTdHJpbmd9YCxcbiAgICAgICAgKVxuICAgICAgICBzdGF0dXMgPSBcIm5lZWRzLWZpeGluZ1wiXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChzdGF0dXMgIT0gXCJ3aWxsLWJlLWZpeGVkXCIpIHtcbiAgICAgICAgaW5mby5wdXNoKGAke3BhdHRlcm59IGRvZXMgbm90IGV4aXN0YClcbiAgICAgICAgc3RhdHVzID0gXCJuZWVkcy1maXhpbmdcIlxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBzdGF0dXM6IHN0YXR1cywgaW5mbzogaW5mbyB9XG4gIH1cblxuICBmaW5kQ2FuZGlkYXRlcyhmaWxlbmFtZTogYW55KTogYW55IHtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5maWxlbmFtZTJkYXRlW2ZpbGVuYW1lXVxuICAgIGlmICghKGRhdGUgaW4gdGhpcy5kYXRlMmNycykpIHJldHVybiBbXVxuICAgIGxldCBjYW5kaWRhdGVzID0gW11cbiAgICBmb3IgKGNvbnN0IGNyIG9mIHRoaXMuZGF0ZTJjcnNbZGF0ZV0pIHtcbiAgICAgIGlmICh0aGlzLmNyMmZpbGVuYW1lc1tjcl0ubGVuZ3RoID4gMClcbiAgICAgICAgY2FuZGlkYXRlcy5wdXNoKFxuICAgICAgICAgIGAke1BsdWdpbi5jb21wdGVzUmVuZHVzVXJscyhcbiAgICAgICAgICAgIGNyLFxuICAgICAgICAgICl9IGlzIG5vdCBhIGNhbmRpZGF0ZSBiZWNhdXNlIGl0IGlzIHJlZmVyZW5jZWQgYnkgJHttYXN0ZXJVcmwoXG4gICAgICAgICAgICB0aGlzLmNyMmZpbGVuYW1lc1tjcl0sXG4gICAgICAgICAgKX1gLFxuICAgICAgICApXG4gICAgICBlbHNlIGNhbmRpZGF0ZXMucHVzaChgJHtQbHVnaW4uY29tcHRlc1JlbmR1c1VybHMoY3IpfSBpcyBhIGNhbmRpZGF0ZWApXG4gICAgfVxuICAgIHJldHVybiBjYW5kaWRhdGVzXG4gIH1cblxuICBhc3luYyBwb3N0Q2hlY2soYW5hbHlzaXM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgZm9yIChjb25zdCBmaWxlbmFtZSBvZiBPYmplY3Qua2V5cyhhbmFseXNpcykpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGFuYWx5c2lzW2ZpbGVuYW1lXVtcImFnZW5kYS0wMDAwMlwiXVxuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsIHx8IHJlc3VsdFtcInN0YXR1c1wiXSAhPSBcIm5lZWRzLWZpeGluZ1wiKSBjb250aW51ZVxuICAgICAgY29uc3QgaW5mbyA9IHJlc3VsdFtcImluZm9cIl0uam9pbihcIlwiKVxuICAgICAgaWYgKFxuICAgICAgICBpbmZvLmluY2x1ZGVzKFwibWV0YSBRVUFOVElFTUVcIikgfHxcbiAgICAgICAgaW5mby5pbmNsdWRlcyhcImlkSm8gZmllbGQgaXMgbWlzc2luZ1wiKVxuICAgICAgKSB7XG4gICAgICAgIHJlc3VsdFtcImluZm9cIl0gPSByZXN1bHRbXCJpbmZvXCJdLmNvbmNhdCh0aGlzLmZpbmRDYW5kaWRhdGVzKGZpbGVuYW1lKSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBmaXgoYWdlbmRhOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICghKGFnZW5kYS51aWQgaW4gcmVtYXBKbykpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgY29uc3QgaWRKbyA9IHJlbWFwSm9bYWdlbmRhLnVpZF1cbiAgICBjb25zdCBudW1TZWFuY2VKbyA9IFN0cmluZyhOdW1iZXIoaWRKby5zdWJzdHJpbmcoNSkpKVxuICAgIGlmIChcbiAgICAgIGFnZW5kYS5pZGVudGlmaWFudHMuaWRKbyA9PSBpZEpvICYmXG4gICAgICBhZ2VuZGEuaWRlbnRpZmlhbnRzLm51bVNlYW5jZUpvID09IG51bVNlYW5jZUpvXG4gICAgKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgYWdlbmRhLmlkZW50aWZpYW50cy5pZEpvID0gaWRKb1xuICAgIGFnZW5kYS5pZGVudGlmaWFudHMubnVtU2VhbmNlSm8gPSBudW1TZWFuY2VKb1xuICAgIHJldHVybiB0cnVlXG4gIH1cbn1cbiJdfQ==
|
|
@@ -103,9 +103,7 @@ export function cleanAmendement(amendement) {
|
|
|
103
103
|
const dispositifAmdtCreditPLF = contenuAuteur.dispositifAmdtCreditPLF;
|
|
104
104
|
|
|
105
105
|
if (dispositifAmdtCreditPLF !== undefined) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
const listeProgrammes = (_dispositifAmdtCredit = dispositifAmdtCreditPLF.listeProgrammes) === null || _dispositifAmdtCredit === void 0 ? void 0 : _dispositifAmdtCredit.programme;
|
|
106
|
+
const listeProgrammes = dispositifAmdtCreditPLF.listeProgrammes?.programme;
|
|
109
107
|
|
|
110
108
|
if (listeProgrammes !== undefined) {
|
|
111
109
|
if (Array.isArray(listeProgrammes)) {
|
|
@@ -145,9 +143,7 @@ export function cleanAmendement(amendement) {
|
|
|
145
143
|
const dispositifAmdtCreditPLFR = contenuAuteur.dispositifAmdtCreditPLFR;
|
|
146
144
|
|
|
147
145
|
if (dispositifAmdtCreditPLFR !== undefined) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
const listeProgrammes = (_dispositifAmdtCredit2 = dispositifAmdtCreditPLFR.listeProgrammes) === null || _dispositifAmdtCredit2 === void 0 ? void 0 : _dispositifAmdtCredit2.programme;
|
|
146
|
+
const listeProgrammes = dispositifAmdtCreditPLFR.listeProgrammes?.programme;
|
|
151
147
|
|
|
152
148
|
if (listeProgrammes !== undefined) {
|
|
153
149
|
if (Array.isArray(listeProgrammes)) {
|
|
@@ -293,4 +289,4 @@ export function cleanTexteLegislatif(texteLegislatif) {
|
|
|
293
289
|
cleanAmendement(amendement);
|
|
294
290
|
}
|
|
295
291
|
}
|
|
296
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hbWVuZGVtZW50cy50cyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhblhtbEFydGVmYWN0cyIsIkF2YW50QUFwcmVzIiwiY2xlYW5BbWVuZGVtZW50IiwiYW1lbmRlbWVudCIsInNpZ25hdGFpcmVzIiwiYXV0ZXVyIiwiY29zaWduYXRhaXJlcyIsInVuZGVmaW5lZCIsImFjdGV1clJlZiIsIkFycmF5IiwiaXNBcnJheSIsImNvc2lnbmF0YWlyZXNSZWZzIiwibGliZWxsZSIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJwb2ludGV1ckZyYWdtZW50VGV4dGUiLCJkaXZpc2lvbiIsImF2YW50QUFwcmVzIiwiYXZhbnRfQV9BcHJlcyIsIkFwcmVzIiwiYW1lbmRlbWVudFN0YW5kYXJkIiwiYWxpbmVhIiwiQSIsIkF2YW50IiwiaW5jbHVkZXMiLCJjb3JwcyIsImNvbnRlbnVBdXRldXIiLCJhdmFudEFwcGVsIiwibm90U3RyaWN0RXF1YWwiLCJkaXNwb3NpdGlmIiwic3RyaWN0RXF1YWwiLCJhbm5leGVFeHBvc2VTb21tYWlyZSIsImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwibGlzdGVQcm9ncmFtbWVzIiwicHJvZ3JhbW1lIiwibGlnbmVzQ3JlZGl0cyIsImxpZ25lQ3JlZGl0IiwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSIiwiY2xlYW5MaWduZUNyZWRpdFBMRlIiLCJjeWNsZURlVmllIiwiZXRhdERlc1RyYWl0ZW1lbnRzIiwiZXRhdCIsInNvdXNFdGF0IiwicmVwcmVzZW50YXRpb25zIiwicmVwcmVzZW50YXRpb24iLCJyZXBTb3VyY2UiLCJvZmZzZXQiLCJkYXRlRGlzcG9SZXByZXNlbnRhdGlvbiIsInN0YXR1dFJlcHJlc2VudGF0aW9uIiwibG9pUmVmZXJlbmNlIiwiZGlzY3Vzc2lvbkNvbW11bmUiLCJkaXNjdXNzaW9uSWRlbnRpcXVlIiwibGlnbmVDcmVkaXRQTEZSIiwiY2xlYW5UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJhbWVuZGVtZW50cyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBUCxNQUFtQixRQUFuQjtTQUVTQyxxQixFQUF1QkMsaUI7U0FDdkJDLFc7QUFFVCxPQUFPLFNBQVNDLGVBQVQsQ0FBeUJDLFVBQXpCLEVBQWdEO0FBQ3JESCxFQUFBQSxpQkFBaUIsQ0FBQ0csVUFBRCxDQUFqQjtBQUVBLFFBQU1DLFdBQVcsR0FBR0QsVUFBVSxDQUFDQyxXQUEvQjtBQUNBO0FBQ0VKLElBQUFBLGlCQUFpQixDQUFDSSxXQUFELENBQWpCO0FBRUEsVUFBTUMsTUFBTSxHQUFHRCxXQUFXLENBQUNDLE1BQTNCO0FBQ0E7QUFDRUwsTUFBQUEsaUJBQWlCLENBQUNLLE1BQUQsQ0FBakI7QUFDRDs7QUFFRCxRQUFJRCxXQUFXLENBQUNFLGFBQVosS0FBOEJDLFNBQWxDLEVBQTZDO0FBQzNDLFlBQU1DLFNBQVMsR0FBR0osV0FBVyxDQUFDRSxhQUFaLENBQTBCRSxTQUE1Qzs7QUFDQSxVQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsU0FBZCxDQUFKLEVBQThCO0FBQzVCSixRQUFBQSxXQUFXLENBQUNPLGlCQUFaLEdBQWdDSCxTQUFoQztBQUNELE9BRkQsTUFFTztBQUNMVixRQUFBQSxNQUFNLENBQUNVLFNBQUQsQ0FBTjtBQUNBSixRQUFBQSxXQUFXLENBQUNPLGlCQUFaLEdBQWdDLENBQUNILFNBQUQsQ0FBaEM7QUFDRDs7QUFDRCxhQUFPSixXQUFXLENBQUNFLGFBQW5CO0FBQ0Q7O0FBRUQsUUFBSU0sT0FBTyxHQUFHUixXQUFXLENBQUNRLE9BQTFCOztBQUNBLFFBQUlBLE9BQU8sS0FBS0wsU0FBaEIsRUFBMkI7QUFDekJLLE1BQUFBLE9BQU8sR0FBR0EsT0FBTyxDQUFDQyxLQUFSLENBQWMsR0FBZCxFQUFtQkMsTUFBbkIsQ0FBMEJDLE9BQTFCLEVBQW1DQyxJQUFuQyxDQUF3QyxHQUF4QyxDQUFWOztBQUNBLFVBQUlK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Q0FBQ0ssVUFBRCxDQUFOO0FBQ0FxRCxJQUFBQSxlQUFlLENBQUNDLFdBQWhCLEdBQThCLENBQUN0RCxVQUFELENBQTlCO0FBQ0Q7O0FBRUQsT0FBSyxNQUFNQSxVQUFYLElBQXlCcUQsZUFBZSxDQUFDQyxXQUF6QyxFQUFzRDtBQUNwRHZELElBQUFBLGVBQWUsQ0FBQ0MsVUFBRCxDQUFmO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSBcImFzc2VydFwiXG5cbmltcG9ydCB7IGNsZWFuQm9vbGVhbkF0dHJpYnV0ZSwgY2xlYW5YbWxBcnRlZmFjdHMgfSBmcm9tIFwiLi94bWxcIlxuaW1wb3J0IHsgQXZhbnRBQXByZXMgfSBmcm9tIFwiLi4vdHlwZXMvYW1lbmRlbWVudHNcIlxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5BbWVuZGVtZW50KGFtZW5kZW1lbnQ6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyhhbWVuZGVtZW50KVxuXG4gIGNvbnN0IHNpZ25hdGFpcmVzID0gYW1lbmRlbWVudC5zaWduYXRhaXJlc1xuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoc2lnbmF0YWlyZXMpXG5cbiAgICBjb25zdCBhdXRldXIgPSBzaWduYXRhaXJlcy5hdXRldXJcbiAgICB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhhdXRldXIpXG4gICAgfVxuXG4gICAgaWYgKHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgYWN0ZXVyUmVmID0gc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlcy5hY3RldXJSZWZcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGFjdGV1clJlZikpIHtcbiAgICAgICAgc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlc1JlZnMgPSBhY3RldXJSZWZcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFzc2VydChhY3RldXJSZWYpXG4gICAgICAgIHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXNSZWZzID0gW2FjdGV1clJlZl1cbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzXG4gICAgfVxuXG4gICAgbGV0IGxpYmVsbGUgPSBzaWduYXRhaXJlcy5saWJlbGxlXG4gICAgaWYgKGxpYmVsbGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGliZWxsZSA9IGxpYmVsbGUuc3BsaXQoXCIgXCIpLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKVxuICAgICAgaWYgKGxpYmVsbGUpIHtcbiAgICAgICAgc2lnbmF0YWlyZXMubGliZWxsZSA9IGxpYmVsbGVcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRlbGV0ZSBzaWduYXRhaXJlcy5saWJlbGxlXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcG9pbnRldXJGcmFnbWVudFRleHRlID0gYW1lbmRlbWVudC5wb2ludGV1ckZyYWdtZW50VGV4dGVcbiAge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHBvaW50ZXVyRnJhZ21lbnRUZXh0ZSlcblxuICAgIGNvbnN0IGRpdmlzaW9uID0gcG9pbnRldXJGcmFnbWVudFRleHRlLmRpdmlzaW9uXG4gICAgaWYgKGRpdmlzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRpdmlzaW9uKVxuXG4gICAgICBsZXQgYXZhbnRBQXByZXMgPSBkaXZpc2lvbi5hdmFudF9BX0FwcmVzXG4gICAgICBpZiAoYXZhbnRBQXByZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBkZWxldGUgZGl2aXNpb24uYXZhbnRfQV9BcHJlc1xuICAgICAgICBpZiAoYXZhbnRBQXByZXMgPT09IFwiQXByw6hzXCIpIHtcbiAgICAgICAgICBhdmFudEFBcHJlcyA9IEF2YW50QUFwcmVzLkFwcmVzXG4gICAgICAgIH1cbiAgICAgICAgZGl2aXNpb24uYXZhbnRBQXByZXMgPSBhdmFudEFBcHJlc1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFtZW5kZW1lbnRTdGFuZGFyZCA9IHBvaW50ZXVyRnJhZ21lbnRUZXh0ZS5hbWVuZGVtZW50U3RhbmRhcmRcbiAgICBpZiAoYW1lbmRlbWVudFN0YW5kYXJkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFtZW5kZW1lbnRTdGFuZGFyZClcblxuICAgICAgY29uc3QgYWxpbmVhID0gYW1lbmRlbWVudFN0YW5kYXJkLmFsaW5lYVxuICAgICAgaWYgKGFsaW5lYSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGFsaW5lYSlcblxuICAgICAgICBsZXQgYXZhbnRBQXByZXMgPSBhbGluZWEuYXZhbnRfQV9BcHJlc1xuICAgICAgICBpZiAoYXZhbnRBQXByZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGRlbGV0ZSBhbGluZWEuYXZhbnRfQV9BcHJlc1xuICAgICAgICAgIGlmIChhdmFudEFBcHJlcyA9PT0gXCJBcHLDqHNcIikge1xuICAgICAgICAgICAgYXZhbnRBQXByZXMgPSBBdmFudEFBcHJlcy5BcHJlc1xuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICAhW0F2YW50QUFwcmVzLkEsIEF2YW50QUFwcmVzLkFwcmVzLCBBdmFudEFBcHJlcy5BdmFudF0uaW5jbHVkZXMoXG4gICAgICAgICAgICAgIGF2YW50QUFwcmVzLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgYXZhbnRBQXByZXMgPSBBdmFudEFBcHJlcy5BXG4gICAgICAgICAgfVxuICAgICAgICAgIGFsaW5lYS5hdmFudEFBcHJlcyA9IGF2YW50QUFwcmVzXG4gICAgICAgIH1cblxuICAgICAgICBwb2ludGV1ckZyYWdtZW50VGV4dGUuYWxpbmVhID0gYWxpbmVhXG4gICAgICB9XG4gICAgICBkZWxldGUgcG9pbnRldXJGcmFnbWVudFRleHRlLmFtZW5kZW1lbnRTdGFuZGFyZFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGNvcnBzID0gYW1lbmRlbWVudC5jb3Jwc1xuICBpZiAoY29ycHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGNvcnBzKVxuXG4gICAgY29uc3QgY29udGVudUF1dGV1ciA9IGNvcnBzLmNvbnRlbnVBdXRldXJcbiAgICBpZiAoY29udGVudUF1dGV1ciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjbGVhblhtbEFydGVmYWN0cyhjb250ZW51QXV0ZXVyKVxuXG4gICAgICBjb25zdCBhdmFudEFwcGVsID0gY29udGVudUF1dGV1ci5hdmFudEFwcGVsXG4gICAgICBpZiAoYXZhbnRBcHBlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGF2YW50QXBwZWwpXG5cbiAgICAgICAgYXNzZXJ0Lm5vdFN0cmljdEVxdWFsKGF2YW50QXBwZWwuZGlzcG9zaXRpZiwgdW5kZWZpbmVkKVxuICAgICAgfVxuXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoY29udGVudUF1dGV1ci5hbm5leGVFeHBvc2VTb21tYWlyZSwgdW5kZWZpbmVkKVxuXG4gICAgICBjb25zdCBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRiA9IGNvbnRlbnVBdXRldXIuZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZcbiAgICAgIGlmIChkaXNwb3NpdGlmQW1kdENyZWRpdFBMRiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGxpc3RlUHJvZ3JhbW1lcyA9XG4gICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYubGlzdGVQcm9ncmFtbWVzPy5wcm9ncmFtbWVcbiAgICAgICAgaWYgKGxpc3RlUHJvZ3JhbW1lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobGlzdGVQcm9ncmFtbWVzKSkge1xuICAgICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYubGlzdGVQcm9ncmFtbWVzID0gbGlzdGVQcm9ncmFtbWVzXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFzc2VydChsaXN0ZVByb2dyYW1tZXMpXG4gICAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRi5saXN0ZVByb2dyYW1tZXMgPSBbbGlzdGVQcm9ncmFtbWVzXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3QgcHJvZ3JhbW1lIG9mIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGLmxpc3RlUHJvZ3JhbW1lcykge1xuICAgICAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMocHJvZ3JhbW1lKVxuXG4gICAgICAgICAgICBpZiAocHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBsZXQgbGlnbmVzQ3JlZGl0cyA9IHByb2dyYW1tZS5saWduZXNDcmVkaXRzLmxpZ25lQ3JlZGl0XG4gICAgICAgICAgICAgIGlmIChsaWduZXNDcmVkaXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBkZWxldGUgcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHNcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlnbmVzQ3JlZGl0cykpIHtcbiAgICAgICAgICAgICAgICAgIGFzc2VydChsaWduZXNDcmVkaXRzKVxuICAgICAgICAgICAgICAgICAgbGlnbmVzQ3JlZGl0cyA9IFtsaWduZXNDcmVkaXRzXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cyA9IGxpZ25lc0NyZWRpdHNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAobGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBsaWduZUNyZWRpdCBvZiBsaWduZXNDcmVkaXRzKSB7XG4gICAgICAgICAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhsaWduZUNyZWRpdClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSID0gY29udGVudUF1dGV1ci5kaXNwb3NpdGlmQW1kdENyZWRpdFBMRlJcbiAgICAgIGlmIChkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBsaXN0ZVByb2dyYW1tZXMgPVxuICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUi5saXN0ZVByb2dyYW1tZXM/LnByb2dyYW1tZVxuICAgICAgICBpZiAobGlzdGVQcm9ncmFtbWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsaXN0ZVByb2dyYW1tZXMpKSB7XG4gICAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIubGlzdGVQcm9ncmFtbWVzID0gbGlzdGVQcm9ncmFtbWVzXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFzc2VydChsaXN0ZVByb2dyYW1tZXMpXG4gICAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIubGlzdGVQcm9ncmFtbWVzID0gW2xpc3RlUHJvZ3JhbW1lc11cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHByb2dyYW1tZSBvZiBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIubGlzdGVQcm9ncmFtbWVzKSB7XG4gICAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhwcm9ncmFtbWUpXG5cbiAgICAgICAgICAgIGlmIChwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGxldCBsaWduZXNDcmVkaXRzID0gcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMubGlnbmVDcmVkaXRcbiAgICAgICAgICAgICAgaWYgKGxpZ25lc0NyZWRpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0c1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShsaWduZXNDcmVkaXRzKSkge1xuICAgICAgICAgICAgICAgICAgYXNzZXJ0KGxpZ25lc0NyZWRpdHMpXG4gICAgICAgICAgICAgICAgICBsaWduZXNDcmVkaXRzID0gW2xpZ25lc0NyZWRpdHNdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHByb2dyYW1tZS5saWduZXNDcmVkaXRzID0gbGlnbmVzQ3JlZGl0c1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChsaWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGxpZ25lQ3JlZGl0IG9mIGxpZ25lc0NyZWRpdHMpIHtcbiAgICAgICAgICAgICAgICAgIGNsZWFuTGlnbmVDcmVkaXRQTEZSKGxpZ25lQ3JlZGl0KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGN5Y2xlRGVWaWUgPSBhbWVuZGVtZW50LmN5Y2xlRGVWaWVcbiAgaWYgKGN5Y2xlRGVWaWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGN5Y2xlRGVWaWUpXG5cbiAgICBjb25zdCBldGF0RGVzVHJhaXRlbWVudHMgPSBjeWNsZURlVmllLmV0YXREZXNUcmFpdGVtZW50c1xuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGV0YXREZXNUcmFpdGVtZW50cylcblxuICAgICAgY29uc3QgZXRhdCA9IGV0YXREZXNUcmFpdGVtZW50cy5ldGF0XG4gICAgICB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGV0YXQpXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNvdXNFdGF0ID0gZXRhdERlc1RyYWl0ZW1lbnRzLnNvdXNFdGF0XG4gICAgICBpZiAoc291c0V0YXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhzb3VzRXRhdClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoYW1lbmRlbWVudC5yZXByZXNlbnRhdGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgIGNvbnN0IHJlcHJlc2VudGF0aW9uID0gYW1lbmRlbWVudC5yZXByZXNlbnRhdGlvbnMucmVwcmVzZW50YXRpb25cbiAgICBhc3NlcnQoIUFycmF5LmlzQXJyYXkocmVwcmVzZW50YXRpb24pKVxuICAgIGFtZW5kZW1lbnQucmVwcmVzZW50YXRpb24gPSByZXByZXNlbnRhdGlvblxuICAgIGRlbGV0ZSBhbWVuZGVtZW50LnJlcHJlc2VudGF0aW9uc1xuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHJlcHJlc2VudGF0aW9uKVxuXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVwcmVzZW50YXRpb24ucmVwU291cmNlLCB1bmRlZmluZWQpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVwcmVzZW50YXRpb24ub2Zmc2V0LCB1bmRlZmluZWQpXG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwocmVwcmVzZW50YXRpb24uZGF0ZURpc3BvUmVwcmVzZW50YXRpb24sIHVuZGVmaW5lZClcblxuICAgICAgY29uc3Qgc3RhdHV0UmVwcmVzZW50YXRpb24gPSByZXByZXNlbnRhdGlvbi5zdGF0dXRSZXByZXNlbnRhdGlvblxuICAgICAge1xuICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoc3RhdHV0UmVwcmVzZW50YXRpb24sIFwiY2Fub25pcXVlXCIpXG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShzdGF0dXRSZXByZXNlbnRhdGlvbiwgXCJlbnJlZ2lzdHJlbWVudFwiKVxuICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoc3RhdHV0UmVwcmVzZW50YXRpb24sIFwib2ZmaWNpZWxsZVwiKVxuICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoc3RhdHV0UmVwcmVzZW50YXRpb24sIFwidHJhbnNjcmlwdGlvblwiKVxuICAgICAgICBjbGVhbkJvb2xlYW5BdHRyaWJ1dGUoc3RhdHV0UmVwcmVzZW50YXRpb24sIFwidmVyYmF0aW1cIilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBsb2lSZWZlcmVuY2UgPSBhbWVuZGVtZW50LmxvaVJlZmVyZW5jZVxuICBpZiAobG9pUmVmZXJlbmNlICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhsb2lSZWZlcmVuY2UpXG4gIH1cblxuICBjb25zdCBkaXNjdXNzaW9uQ29tbXVuZSA9IGFtZW5kZW1lbnQuZGlzY3Vzc2lvbkNvbW11bmVcbiAgaWYgKGRpc2N1c3Npb25Db21tdW5lICE9PSB1bmRlZmluZWQpIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhkaXNjdXNzaW9uQ29tbXVuZSlcbiAgfVxuXG4gIGNvbnN0IGRpc2N1c3Npb25JZGVudGlxdWUgPSBhbWVuZGVtZW50LmRpc2N1c3Npb25JZGVudGlxdWVcbiAgaWYgKGRpc2N1c3Npb25JZGVudGlxdWUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRpc2N1c3Npb25JZGVudGlxdWUpXG4gIH1cbn1cblxuZnVuY3Rpb24gY2xlYW5MaWduZUNyZWRpdFBMRlIobGlnbmVDcmVkaXRQTEZSOiBhbnkpIHtcbiAgY2xlYW5YbWxBcnRlZmFjdHMobGlnbmVDcmVkaXRQTEZSKVxuXG4gIGlmIChsaWduZUNyZWRpdFBMRlIubGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgbGV0IGxpZ25lc0NyZWRpdHMgPSBsaWduZUNyZWRpdFBMRlIubGlnbmVzQ3JlZGl0cy5saWduZUNyZWRpdFxuICAgIGlmIChsaWduZXNDcmVkaXRzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGRlbGV0ZSBsaWduZUNyZWRpdFBMRlIubGlnbmVzQ3JlZGl0c1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkobGlnbmVzQ3JlZGl0cykpIHtcbiAgICAgICAgYXNzZXJ0KGxpZ25lc0NyZWRpdHMpXG4gICAgICAgIGxpZ25lc0NyZWRpdHMgPSBbbGlnbmVzQ3JlZGl0c11cbiAgICAgIH1cbiAgICAgIGxpZ25lQ3JlZGl0UExGUi5saWduZXNDcmVkaXRzID0gbGlnbmVzQ3JlZGl0c1xuICAgIH1cbiAgICBpZiAobGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBmb3IgKGNvbnN0IGxpZ25lQ3JlZGl0IG9mIGxpZ25lc0NyZWRpdHMpIHtcbiAgICAgICAgY2xlYW5MaWduZUNyZWRpdFBMRlIobGlnbmVDcmVkaXQpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhblRleHRlTGVnaXNsYXRpZih0ZXh0ZUxlZ2lzbGF0aWY6IGFueSk6IHZvaWQge1xuICBjbGVhblhtbEFydGVmYWN0cyh0ZXh0ZUxlZ2lzbGF0aWYpXG5cbiAgLy8gTm90ZTogVGhlIGZvbGxvd2luZyBmaWVsZHMgaW4gYHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50c2AgYXJlIGN1cnJlbnRseSBpZ25vcmVkOlxuICAvLyAqIFwiI3RleHRcIj86ICAgICAgIHN0cmluZztcbiAgLy8gKiBvZmZzZXQ/OiAgICAgICAgbnVsbDtcbiAgLy8gKiBub20/OiAgICAgICAgICAgTm9tO1xuICAvLyAqIGF2YW50X0FfQXByZXM/OiBEaXZpc2lvbkF2YW50QUFwcmVzO1xuICAvLyAqIGRhdGVEZXBvdD86ICAgICBEYXRlO1xuICAvLyAqIGRvY3VtZW50VVJJPzogICBzdHJpbmc7XG4gIC8vIEJlY2F1c2UgaXQgc2VlbXMgdGhleSBzaG91bGQgYmVsb25nIHRvIGFuIFwiYW1lbmRlbWVudFwiLlxuICBsZXQgYW1lbmRlbWVudCA9IHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cy5hbWVuZGVtZW50XG4gIGlmIChBcnJheS5pc0FycmF5KGFtZW5kZW1lbnQpKSB7XG4gICAgdGV4dGVMZWdpc2xhdGlmLmFtZW5kZW1lbnRzID0gYW1lbmRlbWVudFxuICB9IGVsc2Uge1xuICAgIGFzc2VydChhbWVuZGVtZW50KVxuICAgIHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cyA9IFthbWVuZGVtZW50XVxuICB9XG5cbiAgZm9yIChjb25zdCBhbWVuZGVtZW50IG9mIHRleHRlTGVnaXNsYXRpZi5hbWVuZGVtZW50cykge1xuICAgIGNsZWFuQW1lbmRlbWVudChhbWVuZGVtZW50KVxuICB9XG59XG4iXX0=
|
|
292
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGVhbmVycy9hbWVuZGVtZW50cy50cyJdLCJuYW1lcyI6WyJhc3NlcnQiLCJjbGVhbkJvb2xlYW5BdHRyaWJ1dGUiLCJjbGVhblhtbEFydGVmYWN0cyIsIkF2YW50QUFwcmVzIiwiY2xlYW5BbWVuZGVtZW50IiwiYW1lbmRlbWVudCIsInNpZ25hdGFpcmVzIiwiYXV0ZXVyIiwiY29zaWduYXRhaXJlcyIsInVuZGVmaW5lZCIsImFjdGV1clJlZiIsIkFycmF5IiwiaXNBcnJheSIsImNvc2lnbmF0YWlyZXNSZWZzIiwibGliZWxsZSIsInNwbGl0IiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJwb2ludGV1ckZyYWdtZW50VGV4dGUiLCJkaXZpc2lvbiIsImF2YW50QUFwcmVzIiwiYXZhbnRfQV9BcHJlcyIsIkFwcmVzIiwiYW1lbmRlbWVudFN0YW5kYXJkIiwiYWxpbmVhIiwiQSIsIkF2YW50IiwiaW5jbHVkZXMiLCJjb3JwcyIsImNvbnRlbnVBdXRldXIiLCJhdmFudEFwcGVsIiwibm90U3RyaWN0RXF1YWwiLCJkaXNwb3NpdGlmIiwic3RyaWN0RXF1YWwiLCJhbm5leGVFeHBvc2VTb21tYWlyZSIsImRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGIiwibGlzdGVQcm9ncmFtbWVzIiwicHJvZ3JhbW1lIiwibGlnbmVzQ3JlZGl0cyIsImxpZ25lQ3JlZGl0IiwiZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSIiwiY2xlYW5MaWduZUNyZWRpdFBMRlIiLCJjeWNsZURlVmllIiwiZXRhdERlc1RyYWl0ZW1lbnRzIiwiZXRhdCIsInNvdXNFdGF0IiwicmVwcmVzZW50YXRpb25zIiwicmVwcmVzZW50YXRpb24iLCJyZXBTb3VyY2UiLCJvZmZzZXQiLCJkYXRlRGlzcG9SZXByZXNlbnRhdGlvbiIsInN0YXR1dFJlcHJlc2VudGF0aW9uIiwibG9pUmVmZXJlbmNlIiwiZGlzY3Vzc2lvbkNvbW11bmUiLCJkaXNjdXNzaW9uSWRlbnRpcXVlIiwibGlnbmVDcmVkaXRQTEZSIiwiY2xlYW5UZXh0ZUxlZ2lzbGF0aWYiLCJ0ZXh0ZUxlZ2lzbGF0aWYiLCJhbWVuZGVtZW50cyJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBUCxNQUFtQixRQUFuQjtTQUVTQyxxQixFQUF1QkMsaUI7U0FDdkJDLFc7QUFFVCxPQUFPLFNBQVNDLGVBQVQsQ0FBeUJDLFVBQXpCLEVBQWdEO0FBQ3JESCxFQUFBQSxpQkFBaUIsQ0FBQ0csVUFBRCxDQUFqQjtBQUVBLFFBQU1DLFdBQVcsR0FBR0QsVUFBVSxDQUFDQyxXQUEvQjtBQUNBO0FBQ0VKLElBQUFBLGlCQUFpQixDQUFDSSxXQUFELENBQWpCO0FBRUEsVUFBTUMsTUFBTSxHQUFHRCxXQUFXLENBQUNDLE1BQTNCO0FBQ0E7QUFDRUwsTUFBQUEsaUJBQWlCLENBQUNLLE1BQUQsQ0FBakI7QUFDRDs7QUFFRCxRQUFJRCxXQUFXLENBQUNFLGFBQVosS0FBOEJDLFNBQWxDLEVBQTZDO0FBQzNDLFlBQU1DLFNBQVMsR0FBR0osV0FBVyxDQUFDRSxhQUFaLENBQTBCRSxTQUE1Qzs7QUFDQSxVQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY0YsU0FBZCxDQUFKLEVBQThCO0FBQzVCSixRQUFBQSxXQUFXLENBQUNPLGlCQUFaLEdBQWdDSCxTQUFoQztBQUNELE9BRkQsTUFFTztBQUNMVixRQUFBQSxNQUFNLENBQUNVLFNBQUQsQ0FBTjtBQUNBSixRQUFBQSxXQUFXLENBQUNPLGlCQUFaLEdBQWdDLENBQUNILFNBQUQsQ0FBaEM7QUFDRDs7QUFDRCxhQUFPSixXQUFXLENBQUNFLGFBQW5CO0FBQ0Q7O0FBRUQsUUFBSU0sT0FBTyxHQUFHUixXQUFXLENBQUNRLE9BQTFCOztBQUNBLFFBQUlBLE9BQU8sS0FBS0wsU0FBaEIsRUFBMkI7QUFDekJLLE1BQUFBLE9BQU8sR0FBR0EsT0FBTyxDQUFDQyxLQUFSLENBQWMsR0FBZCxFQUFtQkMsTUFBbkIsQ0FBMEJDLE9BQTFCLEVBQW1DQyxJQUFuQyxDQUF3QyxHQUF4QyxDQUFWOztBQUNBLFVBQUlK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LGVBQWUsQ0FBQ0MsV0FBaEIsR0FBOEIsQ0FBQ3RELFVBQUQsQ0FBOUI7QUFDRDs7QUFFRCxPQUFLLE1BQU1BLFVBQVgsSUFBeUJxRCxlQUFlLENBQUNDLFdBQXpDLEVBQXNEO0FBQ3BEdkQsSUFBQUEsZUFBZSxDQUFDQyxVQUFELENBQWY7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFzc2VydCBmcm9tIFwiYXNzZXJ0XCJcblxuaW1wb3J0IHsgY2xlYW5Cb29sZWFuQXR0cmlidXRlLCBjbGVhblhtbEFydGVmYWN0cyB9IGZyb20gXCIuL3htbFwiXG5pbXBvcnQgeyBBdmFudEFBcHJlcyB9IGZyb20gXCIuLi90eXBlcy9hbWVuZGVtZW50c1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbkFtZW5kZW1lbnQoYW1lbmRlbWVudDogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKGFtZW5kZW1lbnQpXG5cbiAgY29uc3Qgc2lnbmF0YWlyZXMgPSBhbWVuZGVtZW50LnNpZ25hdGFpcmVzXG4gIHtcbiAgICBjbGVhblhtbEFydGVmYWN0cyhzaWduYXRhaXJlcylcblxuICAgIGNvbnN0IGF1dGV1ciA9IHNpZ25hdGFpcmVzLmF1dGV1clxuICAgIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGF1dGV1cilcbiAgICB9XG5cbiAgICBpZiAoc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBhY3RldXJSZWYgPSBzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzLmFjdGV1clJlZlxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoYWN0ZXVyUmVmKSkge1xuICAgICAgICBzaWduYXRhaXJlcy5jb3NpZ25hdGFpcmVzUmVmcyA9IGFjdGV1clJlZlxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXNzZXJ0KGFjdGV1clJlZilcbiAgICAgICAgc2lnbmF0YWlyZXMuY29zaWduYXRhaXJlc1JlZnMgPSBbYWN0ZXVyUmVmXVxuICAgICAgfVxuICAgICAgZGVsZXRlIHNpZ25hdGFpcmVzLmNvc2lnbmF0YWlyZXNcbiAgICB9XG5cbiAgICBsZXQgbGliZWxsZSA9IHNpZ25hdGFpcmVzLmxpYmVsbGVcbiAgICBpZiAobGliZWxsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsaWJlbGxlID0gbGliZWxsZS5zcGxpdChcIiBcIikuZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIgXCIpXG4gICAgICBpZiAobGliZWxsZSkge1xuICAgICAgICBzaWduYXRhaXJlcy5saWJlbGxlID0gbGliZWxsZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVsZXRlIHNpZ25hdGFpcmVzLmxpYmVsbGVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjb25zdCBwb2ludGV1ckZyYWdtZW50VGV4dGUgPSBhbWVuZGVtZW50LnBvaW50ZXVyRnJhZ21lbnRUZXh0ZVxuICB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMocG9pbnRldXJGcmFnbWVudFRleHRlKVxuXG4gICAgY29uc3QgZGl2aXNpb24gPSBwb2ludGV1ckZyYWdtZW50VGV4dGUuZGl2aXNpb25cbiAgICBpZiAoZGl2aXNpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoZGl2aXNpb24pXG5cbiAgICAgIGxldCBhdmFudEFBcHJlcyA9IGRpdmlzaW9uLmF2YW50X0FfQXByZXNcbiAgICAgIGlmIChhdmFudEFBcHJlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZSBkaXZpc2lvbi5hdmFudF9BX0FwcmVzXG4gICAgICAgIGlmIChhdmFudEFBcHJlcyA9PT0gXCJBcHLDqHNcIikge1xuICAgICAgICAgIGF2YW50QUFwcmVzID0gQXZhbnRBQXByZXMuQXByZXNcbiAgICAgICAgfVxuICAgICAgICBkaXZpc2lvbi5hdmFudEFBcHJlcyA9IGF2YW50QUFwcmVzXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgYW1lbmRlbWVudFN0YW5kYXJkID0gcG9pbnRldXJGcmFnbWVudFRleHRlLmFtZW5kZW1lbnRTdGFuZGFyZFxuICAgIGlmIChhbWVuZGVtZW50U3RhbmRhcmQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYW1lbmRlbWVudFN0YW5kYXJkKVxuXG4gICAgICBjb25zdCBhbGluZWEgPSBhbWVuZGVtZW50U3RhbmRhcmQuYWxpbmVhXG4gICAgICBpZiAoYWxpbmVhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYWxpbmVhKVxuXG4gICAgICAgIGxldCBhdmFudEFBcHJlcyA9IGFsaW5lYS5hdmFudF9BX0FwcmVzXG4gICAgICAgIGlmIChhdmFudEFBcHJlcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgZGVsZXRlIGFsaW5lYS5hdmFudF9BX0FwcmVzXG4gICAgICAgICAgaWYgKGF2YW50QUFwcmVzID09PSBcIkFwcsOoc1wiKSB7XG4gICAgICAgICAgICBhdmFudEFBcHJlcyA9IEF2YW50QUFwcmVzLkFwcmVzXG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgICFbQXZhbnRBQXByZXMuQSwgQXZhbnRBQXByZXMuQXByZXMsIEF2YW50QUFwcmVzLkF2YW50XS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgYXZhbnRBQXByZXMsXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBhdmFudEFBcHJlcyA9IEF2YW50QUFwcmVzLkFcbiAgICAgICAgICB9XG4gICAgICAgICAgYWxpbmVhLmF2YW50QUFwcmVzID0gYXZhbnRBQXByZXNcbiAgICAgICAgfVxuXG4gICAgICAgIHBvaW50ZXVyRnJhZ21lbnRUZXh0ZS5hbGluZWEgPSBhbGluZWFcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSBwb2ludGV1ckZyYWdtZW50VGV4dGUuYW1lbmRlbWVudFN0YW5kYXJkXG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29ycHMgPSBhbWVuZGVtZW50LmNvcnBzXG4gIGlmIChjb3JwcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoY29ycHMpXG5cbiAgICBjb25zdCBjb250ZW51QXV0ZXVyID0gY29ycHMuY29udGVudUF1dGV1clxuICAgIGlmIChjb250ZW51QXV0ZXVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGNvbnRlbnVBdXRldXIpXG5cbiAgICAgIGNvbnN0IGF2YW50QXBwZWwgPSBjb250ZW51QXV0ZXVyLmF2YW50QXBwZWxcbiAgICAgIGlmIChhdmFudEFwcGVsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoYXZhbnRBcHBlbClcblxuICAgICAgICBhc3NlcnQubm90U3RyaWN0RXF1YWwoYXZhbnRBcHBlbC5kaXNwb3NpdGlmLCB1bmRlZmluZWQpXG4gICAgICB9XG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChjb250ZW51QXV0ZXVyLmFubmV4ZUV4cG9zZVNvbW1haXJlLCB1bmRlZmluZWQpXG5cbiAgICAgIGNvbnN0IGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGID0gY29udGVudUF1dGV1ci5kaXNwb3NpdGlmQW1kdENyZWRpdFBMRlxuICAgICAgaWYgKGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgbGlzdGVQcm9ncmFtbWVzID1cbiAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRi5saXN0ZVByb2dyYW1tZXM/LnByb2dyYW1tZVxuICAgICAgICBpZiAobGlzdGVQcm9ncmFtbWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShsaXN0ZVByb2dyYW1tZXMpKSB7XG4gICAgICAgICAgICBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRi5saXN0ZVByb2dyYW1tZXMgPSBsaXN0ZVByb2dyYW1tZXNcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXNzZXJ0KGxpc3RlUHJvZ3JhbW1lcylcbiAgICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGLmxpc3RlUHJvZ3JhbW1lcyA9IFtsaXN0ZVByb2dyYW1tZXNdXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChjb25zdCBwcm9ncmFtbWUgb2YgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEYubGlzdGVQcm9ncmFtbWVzKSB7XG4gICAgICAgICAgICBjbGVhblhtbEFydGVmYWN0cyhwcm9ncmFtbWUpXG5cbiAgICAgICAgICAgIGlmIChwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIGxldCBsaWduZXNDcmVkaXRzID0gcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMubGlnbmVDcmVkaXRcbiAgICAgICAgICAgICAgaWYgKGxpZ25lc0NyZWRpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0c1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICghQXJyYXkuaXNBcnJheShsaWduZXNDcmVkaXRzKSkge1xuICAgICAgICAgICAgICAgICAgYXNzZXJ0KGxpZ25lc0NyZWRpdHMpXG4gICAgICAgICAgICAgICAgICBsaWduZXNDcmVkaXRzID0gW2xpZ25lc0NyZWRpdHNdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHByb2dyYW1tZS5saWduZXNDcmVkaXRzID0gbGlnbmVzQ3JlZGl0c1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChsaWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGxpZ25lQ3JlZGl0IG9mIGxpZ25lc0NyZWRpdHMpIHtcbiAgICAgICAgICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxpZ25lQ3JlZGl0KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjb25zdCBkaXNwb3NpdGlmQW1kdENyZWRpdFBMRlIgPSBjb250ZW51QXV0ZXVyLmRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUlxuICAgICAgaWYgKGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IGxpc3RlUHJvZ3JhbW1lcyA9XG4gICAgICAgICAgZGlzcG9zaXRpZkFtZHRDcmVkaXRQTEZSLmxpc3RlUHJvZ3JhbW1lcz8ucHJvZ3JhbW1lXG4gICAgICAgIGlmIChsaXN0ZVByb2dyYW1tZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGxpc3RlUHJvZ3JhbW1lcykpIHtcbiAgICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUi5saXN0ZVByb2dyYW1tZXMgPSBsaXN0ZVByb2dyYW1tZXNcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXNzZXJ0KGxpc3RlUHJvZ3JhbW1lcylcbiAgICAgICAgICAgIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUi5saXN0ZVByb2dyYW1tZXMgPSBbbGlzdGVQcm9ncmFtbWVzXVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3QgcHJvZ3JhbW1lIG9mIGRpc3Bvc2l0aWZBbWR0Q3JlZGl0UExGUi5saXN0ZVByb2dyYW1tZXMpIHtcbiAgICAgICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHByb2dyYW1tZSlcblxuICAgICAgICAgICAgaWYgKHByb2dyYW1tZS5saWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgbGV0IGxpZ25lc0NyZWRpdHMgPSBwcm9ncmFtbWUubGlnbmVzQ3JlZGl0cy5saWduZUNyZWRpdFxuICAgICAgICAgICAgICBpZiAobGlnbmVzQ3JlZGl0cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgZGVsZXRlIHByb2dyYW1tZS5saWduZXNDcmVkaXRzXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGxpZ25lc0NyZWRpdHMpKSB7XG4gICAgICAgICAgICAgICAgICBhc3NlcnQobGlnbmVzQ3JlZGl0cylcbiAgICAgICAgICAgICAgICAgIGxpZ25lc0NyZWRpdHMgPSBbbGlnbmVzQ3JlZGl0c11cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcHJvZ3JhbW1lLmxpZ25lc0NyZWRpdHMgPSBsaWduZXNDcmVkaXRzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGxpZ25lc0NyZWRpdHMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgbGlnbmVDcmVkaXQgb2YgbGlnbmVzQ3JlZGl0cykge1xuICAgICAgICAgICAgICAgICAgY2xlYW5MaWduZUNyZWRpdFBMRlIobGlnbmVDcmVkaXQpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY3ljbGVEZVZpZSA9IGFtZW5kZW1lbnQuY3ljbGVEZVZpZVxuICBpZiAoY3ljbGVEZVZpZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoY3ljbGVEZVZpZSlcblxuICAgIGNvbnN0IGV0YXREZXNUcmFpdGVtZW50cyA9IGN5Y2xlRGVWaWUuZXRhdERlc1RyYWl0ZW1lbnRzXG4gICAge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoZXRhdERlc1RyYWl0ZW1lbnRzKVxuXG4gICAgICBjb25zdCBldGF0ID0gZXRhdERlc1RyYWl0ZW1lbnRzLmV0YXRcbiAgICAgIHtcbiAgICAgICAgY2xlYW5YbWxBcnRlZmFjdHMoZXRhdClcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291c0V0YXQgPSBldGF0RGVzVHJhaXRlbWVudHMuc291c0V0YXRcbiAgICAgIGlmIChzb3VzRXRhdCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKHNvdXNFdGF0KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChhbWVuZGVtZW50LnJlcHJlc2VudGF0aW9ucyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY29uc3QgcmVwcmVzZW50YXRpb24gPSBhbWVuZGVtZW50LnJlcHJlc2VudGF0aW9ucy5yZXByZXNlbnRhdGlvblxuICAgIGFzc2VydCghQXJyYXkuaXNBcnJheShyZXByZXNlbnRhdGlvbikpXG4gICAgYW1lbmRlbWVudC5yZXByZXNlbnRhdGlvbiA9IHJlcHJlc2VudGF0aW9uXG4gICAgZGVsZXRlIGFtZW5kZW1lbnQucmVwcmVzZW50YXRpb25zXG4gICAge1xuICAgICAgY2xlYW5YbWxBcnRlZmFjdHMocmVwcmVzZW50YXRpb24pXG5cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXByZXNlbnRhdGlvbi5yZXBTb3VyY2UsIHVuZGVmaW5lZClcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXByZXNlbnRhdGlvbi5vZmZzZXQsIHVuZGVmaW5lZClcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChyZXByZXNlbnRhdGlvbi5kYXRlRGlzcG9SZXByZXNlbnRhdGlvbiwgdW5kZWZpbmVkKVxuXG4gICAgICBjb25zdCBzdGF0dXRSZXByZXNlbnRhdGlvbiA9IHJlcHJlc2VudGF0aW9uLnN0YXR1dFJlcHJlc2VudGF0aW9uXG4gICAgICB7XG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShzdGF0dXRSZXByZXNlbnRhdGlvbiwgXCJjYW5vbmlxdWVcIilcbiAgICAgICAgY2xlYW5Cb29sZWFuQXR0cmlidXRlKHN0YXR1dFJlcHJlc2VudGF0aW9uLCBcImVucmVnaXN0cmVtZW50XCIpXG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShzdGF0dXRSZXByZXNlbnRhdGlvbiwgXCJvZmZpY2llbGxlXCIpXG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShzdGF0dXRSZXByZXNlbnRhdGlvbiwgXCJ0cmFuc2NyaXB0aW9uXCIpXG4gICAgICAgIGNsZWFuQm9vbGVhbkF0dHJpYnV0ZShzdGF0dXRSZXByZXNlbnRhdGlvbiwgXCJ2ZXJiYXRpbVwiKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGxvaVJlZmVyZW5jZSA9IGFtZW5kZW1lbnQubG9pUmVmZXJlbmNlXG4gIGlmIChsb2lSZWZlcmVuY2UgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGxvaVJlZmVyZW5jZSlcbiAgfVxuXG4gIGNvbnN0IGRpc2N1c3Npb25Db21tdW5lID0gYW1lbmRlbWVudC5kaXNjdXNzaW9uQ29tbXVuZVxuICBpZiAoZGlzY3Vzc2lvbkNvbW11bmUgIT09IHVuZGVmaW5lZCkge1xuICAgIGNsZWFuWG1sQXJ0ZWZhY3RzKGRpc2N1c3Npb25Db21tdW5lKVxuICB9XG5cbiAgY29uc3QgZGlzY3Vzc2lvbklkZW50aXF1ZSA9IGFtZW5kZW1lbnQuZGlzY3Vzc2lvbklkZW50aXF1ZVxuICBpZiAoZGlzY3Vzc2lvbklkZW50aXF1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xlYW5YbWxBcnRlZmFjdHMoZGlzY3Vzc2lvbklkZW50aXF1ZSlcbiAgfVxufVxuXG5mdW5jdGlvbiBjbGVhbkxpZ25lQ3JlZGl0UExGUihsaWduZUNyZWRpdFBMRlI6IGFueSkge1xuICBjbGVhblhtbEFydGVmYWN0cyhsaWduZUNyZWRpdFBMRlIpXG5cbiAgaWYgKGxpZ25lQ3JlZGl0UExGUi5saWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICBsZXQgbGlnbmVzQ3JlZGl0cyA9IGxpZ25lQ3JlZGl0UExGUi5saWduZXNDcmVkaXRzLmxpZ25lQ3JlZGl0XG4gICAgaWYgKGxpZ25lc0NyZWRpdHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgZGVsZXRlIGxpZ25lQ3JlZGl0UExGUi5saWduZXNDcmVkaXRzXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShsaWduZXNDcmVkaXRzKSkge1xuICAgICAgICBhc3NlcnQobGlnbmVzQ3JlZGl0cylcbiAgICAgICAgbGlnbmVzQ3JlZGl0cyA9IFtsaWduZXNDcmVkaXRzXVxuICAgICAgfVxuICAgICAgbGlnbmVDcmVkaXRQTEZSLmxpZ25lc0NyZWRpdHMgPSBsaWduZXNDcmVkaXRzXG4gICAgfVxuICAgIGlmIChsaWduZXNDcmVkaXRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGZvciAoY29uc3QgbGlnbmVDcmVkaXQgb2YgbGlnbmVzQ3JlZGl0cykge1xuICAgICAgICBjbGVhbkxpZ25lQ3JlZGl0UExGUihsaWduZUNyZWRpdClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuVGV4dGVMZWdpc2xhdGlmKHRleHRlTGVnaXNsYXRpZjogYW55KTogdm9pZCB7XG4gIGNsZWFuWG1sQXJ0ZWZhY3RzKHRleHRlTGVnaXNsYXRpZilcblxuICAvLyBOb3RlOiBUaGUgZm9sbG93aW5nIGZpZWxkcyBpbiBgdGV4dGVMZWdpc2xhdGlmLmFtZW5kZW1lbnRzYCBhcmUgY3VycmVudGx5IGlnbm9yZWQ6XG4gIC8vICogXCIjdGV4dFwiPzogICAgICAgc3RyaW5nO1xuICAvLyAqIG9mZnNldD86ICAgICAgICBudWxsO1xuICAvLyAqIG5vbT86ICAgICAgICAgICBOb207XG4gIC8vICogYXZhbnRfQV9BcHJlcz86IERpdmlzaW9uQXZhbnRBQXByZXM7XG4gIC8vICogZGF0ZURlcG90PzogICAgIERhdGU7XG4gIC8vICogZG9jdW1lbnRVUkk/OiAgIHN0cmluZztcbiAgLy8gQmVjYXVzZSBpdCBzZWVtcyB0aGV5IHNob3VsZCBiZWxvbmcgdG8gYW4gXCJhbWVuZGVtZW50XCIuXG4gIGxldCBhbWVuZGVtZW50ID0gdGV4dGVMZWdpc2xhdGlmLmFtZW5kZW1lbnRzLmFtZW5kZW1lbnRcbiAgaWYgKEFycmF5LmlzQXJyYXkoYW1lbmRlbWVudCkpIHtcbiAgICB0ZXh0ZUxlZ2lzbGF0aWYuYW1lbmRlbWVudHMgPSBhbWVuZGVtZW50XG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0KGFtZW5kZW1lbnQpXG4gICAgdGV4dGVMZWdpc2xhdGlmLmFtZW5kZW1lbnRzID0gW2FtZW5kZW1lbnRdXG4gIH1cblxuICBmb3IgKGNvbnN0IGFtZW5kZW1lbnQgb2YgdGV4dGVMZWdpc2xhdGlmLmFtZW5kZW1lbnRzKSB7XG4gICAgY2xlYW5BbWVuZGVtZW50KGFtZW5kZW1lbnQpXG4gIH1cbn1cbiJdfQ==
|
package/lib/datasets.js
CHANGED
|
@@ -489,4 +489,4 @@ function masterUrl(filename) {
|
|
|
489
489
|
|
|
490
490
|
return "[".concat(file, "](https://git.en-root.org/tricoteuses/data.tricoteuses.fr/").concat(dataset, "/-/tree/master/").concat(file, ")");
|
|
491
491
|
}
|
|
492
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhc2V0cy50cyJdLCJuYW1lcyI6WyJEYXRhc2V0U3RydWN0dXJlIiwiRW5hYmxlZERhdGFzZXRzIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiZmlsZW5hbWUiLCJpZ25vcmVGb3JXZWIiLCJsZWdpc2xhdHVyZSIsIkxlZ2lzbGF0dXJlIiwiUXVpbnplIiwicmVwYWlyWmlwIiwiZGF0YXNldCIsImRhdGFEaXIiLCJ0YXJnZXREaXIiLCJwYXRoIiwiam9pbiIsImZzIiwiZXhpc3RzU3luYyIsInJlbW92ZVN5bmMiLCJtb3ZlU3luYyIsInN0cnVjdHVyZSIsIlNlZ21lbnRlZEZpbGVzIiwidGl0bGUiLCJ1cmwiLCJRdWF0b3J6ZSIsIlNpbmdsZUZpbGUiLCJBbGwiLCJta2RpclN5bmMiLCJhZ2VuZGFzIiwiYW1lbmRlbWVudHMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwic2NydXRpbnMiLCJkaXJlY3Rvcnkyc2NoZW1hIiwiZ2V0RGF0YXNldHMiLCJ2YWxpZERhdGFzZXQiLCJkaXIiLCJpbmNsdWRlcyIsImdldFNjaGVtYXMiLCJPYmplY3QiLCJ2YWx1ZXMiLCJkYXRhc2V0RGlyZWN0b3J5U2NoZW1hIiwiZGlyZWN0b3JpZXMiLCJyZXN1bHRzIiwiZGlyZWN0b3J5Iiwia2V5cyIsInJlIiwiUmVnRXhwIiwiZXhlYyIsInB1c2giLCJmaWxlRGF0YXNldFVybCIsIm1hdGNoIiwiZmlsZSIsImRpZmZVcHN0cmVhbSIsImRhdGFzZXRVcmwiLCJzdW0iLCJ1cGRhdGUiLCJkaWdlc3QiLCJ0b1N0cmluZyIsIm1hc3RlclVybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBb0JZQSxnQjs7O1dBQUFBLGdCO0FBQUFBLEVBQUFBLGdCLENBQUFBLGdCO0FBQUFBLEVBQUFBLGdCLENB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bXBvcnQgZnMgZnJvbSBcImZzLWV4dHJhXCJcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcblxuaW1wb3J0IHsgTGVnaXNsYXR1cmUgfSBmcm9tIFwiLi90eXBlcy9sZWdpc2xhdHVyZXNcIlxuXG5pbnRlcmZhY2UgRGF0YXNldCB7XG4gIGZpbGVuYW1lOiBzdHJpbmdcbiAgaWdub3JlRm9yV2ViPzogYm9vbGVhblxuICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmVcbiAgcmVwYWlyWmlwPzogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4gdm9pZFxuICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmVcbiAgdGl0bGU6IHN0cmluZ1xuICB1cmw6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFzZXRzIHtcbiAgYWN0ZXVyc0V0T3JnYW5lczogRGF0YXNldFtdXG4gIGFnZW5kYXM6IERhdGFzZXRbXVxuICBhbWVuZGVtZW50czogRGF0YXNldFtdXG4gIGRvc3NpZXJzTGVnaXNsYXRpZnM6IERhdGFzZXRbXVxuICBzY3J1dGluczogRGF0YXNldFtdXG59XG5cbmV4cG9ydCBlbnVtIERhdGFzZXRTdHJ1Y3R1cmUge1xuICBTaW5nbGVGaWxlLFxuICBTZWdtZW50ZWRGaWxlcyxcbn1cblxuZXhwb3J0IGVudW0gRW5hYmxlZERhdGFzZXRzIHtcbiAgTm9uZSA9IDAsXG4gIEFjdGV1cnNFdE9yZ2FuZXMgPSAxIDw8IDAsXG4gIEFnZW5kYXMgPSAxIDw8IDEsXG4gIEFtZW5kZW1lbnRzID0gMSA8PCAyLFxuICBEb3NzaWVyc0xlZ2lzbGF0aWZzID0gMSA8PCAzLFxuICBQaG90b3MgPSAxIDw8IDQsXG4gIFNjcnV0aW5zID0gMSA8PCA1LFxuICBBbGwgPSBBY3RldXJzRXRPcmdhbmVzIHxcbiAgICBBZ2VuZGFzIHxcbiAgICBBbWVuZGVtZW50cyB8XG4gICAgRG9zc2llcnNMZWdpc2xhdGlmcyB8XG4gICAgUGhvdG9zIHxcbiAgICBTY3J1dGlucyxcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGFzZXRzOiBEYXRhc2V0cyA9IHtcbiAgYWN0ZXVyc0V0T3JnYW5lczogW1xuICAgIHtcbiAgICAgIC8vIEFNTzEwXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnNcbiAgICAgIC8vICogYXZlYyB0b3VzIGxlcyBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIHkgY29tcHJpcyBhdmVjIGxldXIgcGFydGkgcG9saXRpcXVlICh0eXBlT3JnYW5lOiBcIlBBUlBPTFwiKVxuICAgICAgLy8gKiBtYWlzIHNhbnMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgKHkgY29tcHJpcyBkYW5zIGNldHRlIGzDqWdpc2xhdHVyZSlcbiAgICAgIC8vXG4gICAgICAvLyBPcmdhbmVzIDpcbiAgICAgIC8vICogQ29udGllbnQgc2V1bGVtZW50IGxlcyBvcmdhbmVzIGNvcnJlc3BvbmRhbnRzIGF1eCBtYW5kYXRzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGUgeHNpVHlwZSBkZSBsJ29yZ2FuZVxuICAgICAgLy8gKiBhdmVjIGRlcyBjb21taXNzaW9ucyBzw6luYXRvcmlhbGVzIChwZXJtYW5lbnRlcyBldCBzcMOpY2lhbGVzKSBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBkw6lsw6lnYXRpb25zIHPDqW5hdG9yaWFsZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZ3JvdXBlcyBzw6luYXRvcmlhdXggZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgbWluaXN0w6hyZXMgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBsZXMgUHLDqXNpZGVuY2VzIGRlIGxhIFLDqXB1YmxpcXVlICh5IGNvbXByaXMgU2Fya296eSlcbiAgICAgIC8vICogYXZlYyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IHVuIHNvdXMtZW5zZW1ibGUgw6AgdG91cyBsZXMgbml2ZWF1eCBkdSBmaWNoaWVyIEFNTzIwXG4gICAgICAvLyAocXVpIGVzdCBsdWkgbcOqbWUgdW4gc291cy1lbnNlbWJsZSBkZSBsJ0FNTzMwKS5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBBTU8yMCBvdSBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkTDqXB1dMOpcyBhY3RpZnMgZXQgb3JnYW5lcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6XG4gICAgICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lcy9BTU8xMF9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBTU8yMCAoWFYpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBkZSBsYSBsw6lnaXNsYXR1cmUsIGFjdGlmcyBvdSBub24gKGludmFsaWTDqXMsIGV0YyksIGxlcyBzw6luYXRldXJzIGFjdHVlbHNcbiAgICAgIC8vIFBvdXIgbGVzIGTDqXB1dMOpcyA6XG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXVycyBtYW5kYXRzIGRlIGxhIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXNcbiAgICAgIC8vICogeSBjb21wcmlzIGxldXJzIHBhcnRpcyBwb2xpdGlxdWVzICAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGRlcyBsw6lnaXNsYXR1cmVzIHByw6ljw6lkZW50ZXMgKHF1aSBzb250IGRhbnMgQU1PNDApXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgdG91cyBsZXMgb3JnYW5lcyByw6lmw6lyZW5jw6lzIHBhciBsZXMgbWFuZGF0c1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIGFic29sdW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOlxuICAgICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL2RlcHV0ZXNfc2VuYXRldXJzX21pbmlzdHJlc19sZWdpc2xhdHVyZS9BTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMjAgKFhJVilcbiAgICAgIC8vXG4gICAgICAvLyBDb21tZSBBTU8yMCAoWFYpIG1haXMgcG91ciBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVxuICAgICAgLy8gVG91cyBsZXMgYWN0ZXVycyBzYXVmIHVuIChQQTQyOTg5Mikgc29udCBwcsOpc2VudHMgZW4gcGx1cyDDoCBqb3VyIGRhbnMgQU1PMzAuXG4gICAgICAvLyBDZXQgYWN0ZXVyIFBBNDI5ODkyIChhbmNpZW5uZSBTw6luYXRyaWNlKSBuJ2VzdCBwcsOpc2VudCBkYW5zIGF1Y3VuIGRlcyBhdXRyZXNcbiAgICAgIC8vIGZpY2hpZXJzIEFNTy5cbiAgICAgIC8vIFRvdXMgbGVzIG9yZ2FuZXMgc29udCBwcsOpc2VudHMgZW4gcGx1cyBjb21wbGV0cyBkYW5zIEFNTzMwLlxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgZXN0IGRvbmMgw6AgdW4gZMOpdGFpbCBwcsOqdCAoUEE0Mjk4OTIpIHVuIHNvdXMtZW5zZW1ibGUgZCdBTU8zMC5cbiAgICAgIC8vIElsIG4nYXBwb3J0ZSBkb25jIHF1YXNpbWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YSVYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJBY3RldXJzIGV0IG9yZ2FuZXMgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDpcbiAgICAgICAgXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmVzX1hJVi9BTU8yMF9kZXBfc2VuX21pbl90b3VzX21hbmRhdHNfZXRfb3JnYW5lc19YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIENlIGZpY2hpZXIgY29udGllbnQgdG91cyBsZXMgYWN0ZXVycyBldCBvcmdhbmVzLlxuICAgICAgLy8gQydlc3QgdW4gc3VyLWVuc2VtYmxlIGRlcyBmaWNoaWVycyBBTU8yMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLkFsbCxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTpcbiAgICAgICAgXCJIaXN0b3JpcXVlIGRlIHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcyBkZXB1aXMgbGEgWEnDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOlxuICAgICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL3RvdXNfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfeGlfbGVnaXNsYXR1cmUvQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PNDBcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBsZXMgZMOpcHV0w6lzIGFjdGlmcyAobGVzIG3Dqm1lcyBxdSdBTU8yMClcbiAgICAgIC8vICogYXZlYyBwcmVzcXVlIHRvdXMgbGV1cnMgbWFuZGF0c1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGVzIG1hbmRhdHMgYWNoZXbDqXMgZXQgY2V1eCBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyBwcsOpY8OpZGVudHNcbiAgICAgIC8vICogbWFpcyBzYW5zIGxldXIgcGFydGkgcG9saXRpcXVlIGFjdHVlbCAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vXG4gICAgICAvLyBDb250aWVudCBiZWF1Y291cCBkJ29yZ2FuZXMgcsOpZsOpcmVuY8OpcywgeSBjb21wcmlzIGNldXggZGVzIGzDqWdpc2xhdHVyZXNcbiAgICAgIC8vIHByw6ljw6lkZW50ZXNcbiAgICAgIC8vICogbWFpcyBpbCBtYW5xdWUgbGUgeHNpVHlwZSBkZXMgb3JnYW5lc1xuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG9yZ2FuZXMgc8OpbmF0b3JpYXV4XG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZXMgbWluaXN0w6hyZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxhIFByw6lzaWRlbmNlIGRlIGxhIFLDqXB1YmxpcXVlXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsZSBDb25zZWlsIGNvbnN0aXR1dGlvbm5lbFxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMsIGNlIGTDqXDDtHQgZXN0IHVuIHNvdXMtZW5zZW1ibGUgc3RyaWN0IGRlIEFNTzMwIDpcbiAgICAgIC8vIElsIGEgbW9pbnMgZCdhY3RldXJzIGV0IGlsIHNvbnQgbW9pbnMgY29tcGxldHMuXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyBRdWFuZCBsJ29yZ2FuZSBlc3QgYXVzc2kgcHLDqXNlbnQgZGFucyBBTU8zMCwgaWwgdmF1dCBtaWV1eCBwcmVuZHJlIGNlbHVpXG4gICAgICAvLyBkJ0FNTzMwLCBjYXIgaWwgY29udGllbnQgbGUgeHNpVHlwZSAoYydlc3QgbGEgc2V1bGUgZGlmZsOpcmVuY2Ugc2VtYmxlLXQtaSkuXG4gICAgICAvLyBTaW5vbiwgaWwgZmF1dCBsZSBwcmVuZHJlIHNldWxlbWVudCBzaSBvbiBlc3QgaW50w6lyZXNzw6kgcGFyIGxlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5ta2RpclN5bmModGFyZ2V0RGlyKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJhY3RldXJcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiRMOpcHV0w6lzIGFjdGlmcyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDpcbiAgICAgICAgXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX2FjdGlmc19tYW5kYXRzX2FjdGlmc19vcmdhbmVzX2RpdmlzZXMvQU1PNDBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBBdHRlbnRpb24sIGNlIGZpY2hpZXIgbidlc3QgcGFzIG1pcyDDoCBqb3VyIHLDqWd1bGnDqHJlbWVudCAhXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgYWN0ZXVycyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlIGF1eCBtYW5kYXRzXG4gICAgICAvL1xuICAgICAgLy8gUG91ciBsZXMgb3JnYW5lcyA6XG4gICAgICAvLyAqIGMnZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlIGQnQU1PMzBcbiAgICAgIC8vICogaWwgbWFucXVlIGxlcyB4c2lUeXBlXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMCxcbiAgICAgIC8vIGRvbnQgaWwgZXN0IHVuIHNvdXMgZW5zZW1ibGUgb2Jzb2zDqHRlLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PNTBfYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwibWFuZGF0XCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcImFjdGV1clwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJvcmdhbmVcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJvcmdhbmVcIiksXG4gICAgICAgIClcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTpcbiAgICAgICAgXCJBY3RldXJzLCBtYW5kYXRzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZSAoZmljaGllcnMgc8OpcGFyw6lzLCB5IGNvbXByaXMgbWFuZGF0cylcIixcbiAgICAgIHVybDpcbiAgICAgICAgXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzL0FNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhZ2VuZGFzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWdlbmRhIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDpcbiAgICAgICAgXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L3ZwL3JldW5pb25zL0FnZW5kYV9YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQWdlbmRhX1hJVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIkFnZW5kYSBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOlxuICAgICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvdnAvcmV1bmlvbnMvQWdlbmRhX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG4gIGFtZW5kZW1lbnRzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiQW1lbmRlbWVudHNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJBbWVuZGVtZW50cyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6XG4gICAgICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvYW1lbmRlbWVudHNfbGVnaXMvQW1lbmRlbWVudHNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIC8vIHtcbiAgICAvLyAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hJVi5qc29uXCIsXG4gICAgLy8gICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgLy8gICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgLy8gICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAvLyAgIHRpdGxlOiBcIkFtZW5kZW1lbnRzIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgLy8gICB1cmw6XG4gICAgLy8gICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvYW1lbmRlbWVudHNfbGVnaXNfWElWL0FtZW5kZW1lbnRzX1hJVi5qc29uLnppcFwiLFxuICAgIC8vIH0sXG4gIF0sXG4gIGRvc3NpZXJzTGVnaXNsYXRpZnM6IFtcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkRvc3NpZXJzIGzDqWdpc2xhdGlmcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6XG4gICAgICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvZG9zc2llcnNfbGVnaXNsYXRpZnMvRG9zc2llcnNfTGVnaXNsYXRpZnNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hJVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIkRvc3NpZXJzIGzDqWdpc2xhdGlmcyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOlxuICAgICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG4gIHNjcnV0aW5zOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiU2NydXRpbnNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6XG4gICAgICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9sb2kvc2NydXRpbnMvU2NydXRpbnNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hJVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVhdG9yemUsXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2luZ2xlRmlsZSxcbiAgICAgIHRpdGxlOiBcIlNjcnV0aW5zIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6XG4gICAgICAgIFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9sb2kvc2NydXRpbnMvU2NydXRpbnNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbn1cblxuY29uc3QgZGlyZWN0b3J5MnNjaGVtYTogYW55ID0ge1xuICBcIi4qQWdlbmRhXy4qXCI6IFwiYWdlbmRhXCIsXG4gIFwiLipTY3J1dGluc18uKlwiOiBcInNjcnV0aW5cIixcbiAgXCIuKkFtZW5kZW1lbnRzXy4qXCI6IFwiYW1lbmRlbWVudFwiLFxuICBcIi4qRG9zc2llcnNfTGVnaXNsYXRpZnNfLiovZG9jdW1lbnRzXCI6IFwiZG9jdW1lbnRcIixcbiAgXCIuKkRvc3NpZXJzX0xlZ2lzbGF0aWZzXy4qL2Rvc3NpZXJzXCI6IFwiZG9zc2llclwiLFxuICBcIi4qYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXMvb3JnYW5lc1wiOiBcIm9yZ2FuZVwiLFxuICBcIi4qYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXMvYWN0ZXVyc1wiOiBcImFjdGV1clwiLFxuICBcIi4qQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS4qL29yZ2FuZXNcIjpcbiAgICBcIm9yZ2FuZVwiLFxuICBcIi4qQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZS4qL2FjdGV1cnNcIjpcbiAgICBcImFjdGV1clwiLFxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF0YXNldHMoKTogYW55IHtcbiAgcmV0dXJuIFtcbiAgICBcIkFnZW5kYV9YSVZcIixcbiAgICBcIkFnZW5kYV9YVlwiLFxuICAgIFwiU2NydXRpbnNfWElWXCIsXG4gICAgXCJTY3J1dGluc19YVlwiLFxuICAgIFwiQW1lbmRlbWVudHNfWElWXCIsXG4gICAgXCJBbWVuZGVtZW50c19YVlwiLFxuICAgIFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFZcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hJVlwiLFxuICAgIFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZVwiLFxuICAgIFwiYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNcIixcbiAgXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWREYXRhc2V0KGRpcjogYW55KTogYW55IHtcbiAgZm9yIChjb25zdCBkYXRhc2V0IG9mIGdldERhdGFzZXRzKCkpIHtcbiAgICBpZiAoZGlyLmluY2x1ZGVzKGRhdGFzZXQpKSByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2NoZW1hcygpOiBhbnkge1xuICByZXR1cm4gT2JqZWN0LnZhbHVlcyhkaXJlY3Rvcnkyc2NoZW1hKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0YXNldERpcmVjdG9yeVNjaGVtYShkYXRhc2V0OiBzdHJpbmcpOiBhbnkge1xuICBsZXQgZGlyZWN0b3JpZXM6IGFueVxuICBpZiAoZGF0YXNldC5pbmNsdWRlcyhcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1wiKSkge1xuICAgIGRpcmVjdG9yaWVzID0gW2Ake2RhdGFzZXR9L2RvY3VtZW50c2AsIGAke2RhdGFzZXR9L2Rvc3NpZXJzYF1cbiAgfSBlbHNlIGlmIChcbiAgICBkYXRhc2V0LmluY2x1ZGVzKFwiYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNcIikgfHxcbiAgICBkYXRhc2V0LmluY2x1ZGVzKFwiQU1PMzBfdG91c19hY3RldXJzX3RvdXNfbWFuZGF0c190b3VzX29yZ2FuZXNfaGlzdG9yaXF1ZVwiKVxuICApIHtcbiAgICBkaXJlY3RvcmllcyA9IFtgJHtkYXRhc2V0fS9vcmdhbmVzYCwgYCR7ZGF0YXNldH0vYWN0ZXVyc2BdXG4gIH0gZWxzZSB7XG4gICAgZGlyZWN0b3JpZXMgPSBbZGF0YXNldF1cbiAgfVxuXG4gIGxldCByZXN1bHRzID0gW11cbiAgZm9yIChjb25zdCBkaXJlY3Rvcnkgb2YgZGlyZWN0b3JpZXMpIHtcbiAgICBmb3IgKGNvbnN0IHJlIG9mIE9iamVjdC5rZXlzKGRpcmVjdG9yeTJzY2hlbWEpKSB7XG4gICAgICBpZiAobmV3IFJlZ0V4cChyZSkuZXhlYyhkaXJlY3RvcnkpKVxuICAgICAgICByZXN1bHRzLnB1c2goW2Ake2RpcmVjdG9yeX0vKiovKi5qc29uYCwgZGlyZWN0b3J5MnNjaGVtYVtyZV1dKVxuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0c1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsZURhdGFzZXRVcmwoZmlsZW5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10gfCBudWxsIHtcbiAgY29uc3QgcmUgPSBcIl4uKi8oLiopX25ldHRveWUvKC4qKVwiXG4gIGNvbnN0IG1hdGNoID0gbmV3IFJlZ0V4cChyZSkuZXhlYyhmaWxlbmFtZSlcbiAgaWYgKG1hdGNoID09IG51bGwpIHJldHVybiBudWxsXG4gIGxldCBbZGF0YXNldCwgZmlsZV0gPSBbbWF0Y2hbMV0sIG1hdGNoWzJdXVxuICBpZiAoZGF0YXNldCA9PSBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIilcbiAgICBkYXRhc2V0ID0gXCJhY3RldXJzX21hbmRhdHNfb3JnYW5lc1wiXG4gIHJldHVybiBbZGF0YXNldCwgZmlsZV1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZVcHN0cmVhbShmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0YXNldFVybCA9IGZpbGVEYXRhc2V0VXJsKGZpbGVuYW1lKVxuICBpZiAoZGF0YXNldFVybCA9PSBudWxsKSByZXR1cm4gZmlsZW5hbWVcbiAgY29uc3QgW2RhdGFzZXQsIGZpbGVdID0gZGF0YXNldFVybFxuICBjb25zdCBzdW0gPSBjcmVhdGVIYXNoKFwic2hhMVwiKS51cGRhdGUoZmlsZSkuZGlnZXN0KFwiaGV4XCIpLnRvU3RyaW5nKClcbiAgcmV0dXJuIGBbJHtmaWxlfV0oaHR0cHM6Ly9naXQuZW4tcm9vdC5vcmcvdHJpY290ZXVzZXMvZGF0YS50cmljb3RldXNlcy5mci8ke2RhdGFzZXR9Ly0vY29tcGFyZS91cHN0cmVhbS4uLm1hc3RlciMke3N1bX0pYFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFzdGVyVXJsKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBkYXRhc2V0VXJsID0gZmlsZURhdGFzZXRVcmwoZmlsZW5hbWUpXG4gIGlmIChkYXRhc2V0VXJsID09IG51bGwpIHJldHVybiBmaWxlbmFtZVxuICBjb25zdCBbZGF0YXNldCwgZmlsZV0gPSBkYXRhc2V0VXJsXG4gIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2RhdGEudHJpY290ZXVzZXMuZnIvJHtkYXRhc2V0fS8tL3RyZWUvbWFzdGVyLyR7ZmlsZX0pYFxufVxuIl19
|
|
492
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kYXRhc2V0cy50cyJdLCJuYW1lcyI6WyJEYXRhc2V0U3RydWN0dXJlIiwiRW5hYmxlZERhdGFzZXRzIiwiZGF0YXNldHMiLCJhY3RldXJzRXRPcmdhbmVzIiwiZmlsZW5hbWUiLCJpZ25vcmVGb3JXZWIiLCJsZWdpc2xhdHVyZSIsIkxlZ2lzbGF0dXJlIiwiUXVpbnplIiwicmVwYWlyWmlwIiwiZGF0YXNldCIsImRhdGFEaXIiLCJ0YXJnZXREaXIiLCJwYXRoIiwiam9pbiIsImZzIiwiZXhpc3RzU3luYyIsInJlbW92ZVN5bmMiLCJtb3ZlU3luYyIsInN0cnVjdHVyZSIsIlNlZ21lbnRlZEZpbGVzIiwidGl0bGUiLCJ1cmwiLCJRdWF0b3J6ZSIsIlNpbmdsZUZpbGUiLCJBbGwiLCJta2RpclN5bmMiLCJhZ2VuZGFzIiwiYW1lbmRlbWVudHMiLCJkb3NzaWVyc0xlZ2lzbGF0aWZzIiwic2NydXRpbnMiLCJkaXJlY3Rvcnkyc2NoZW1hIiwiZ2V0RGF0YXNldHMiLCJ2YWxpZERhdGFzZXQiLCJkaXIiLCJpbmNsdWRlcyIsImdldFNjaGVtYXMiLCJPYmplY3QiLCJ2YWx1ZXMiLCJkYXRhc2V0RGlyZWN0b3J5U2NoZW1hIiwiZGlyZWN0b3JpZXMiLCJyZXN1bHRzIiwiZGlyZWN0b3J5Iiwia2V5cyIsInJlIiwiUmVnRXhwIiwiZXhlYyIsInB1c2giLCJmaWxlRGF0YXNldFVybCIsIm1hdGNoIiwiZmlsZSIsImRpZmZVcHN0cmVhbSIsImRhdGFzZXRVcmwiLCJzdW0iLCJ1cGRhdGUiLCJkaWdlc3QiLCJ0b1N0cmluZyIsIm1hc3RlclVybCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBb0JZQSxnQjs7O1dBQUFBLGdCO0FBQUFBLEVBQUFBLGdCLENBQUFBLGdCO0FBQUFBLEVBQUFBLGdCLENB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IGZyb20gXCJmcy1leHRyYVwiXG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiXG5cbmltcG9ydCB7IExlZ2lzbGF0dXJlIH0gZnJvbSBcIi4vdHlwZXMvbGVnaXNsYXR1cmVzXCJcblxuaW50ZXJmYWNlIERhdGFzZXQge1xuICBmaWxlbmFtZTogc3RyaW5nXG4gIGlnbm9yZUZvcldlYj86IGJvb2xlYW5cbiAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlXG4gIHJlcGFpclppcD86IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHZvaWRcbiAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlXG4gIHRpdGxlOiBzdHJpbmdcbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhc2V0cyB7XG4gIGFjdGV1cnNFdE9yZ2FuZXM6IERhdGFzZXRbXVxuICBhZ2VuZGFzOiBEYXRhc2V0W11cbiAgYW1lbmRlbWVudHM6IERhdGFzZXRbXVxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBEYXRhc2V0W11cbiAgc2NydXRpbnM6IERhdGFzZXRbXVxufVxuXG5leHBvcnQgZW51bSBEYXRhc2V0U3RydWN0dXJlIHtcbiAgU2luZ2xlRmlsZSxcbiAgU2VnbWVudGVkRmlsZXMsXG59XG5cbmV4cG9ydCBlbnVtIEVuYWJsZWREYXRhc2V0cyB7XG4gIE5vbmUgPSAwLFxuICBBY3RldXJzRXRPcmdhbmVzID0gMSA8PCAwLFxuICBBZ2VuZGFzID0gMSA8PCAxLFxuICBBbWVuZGVtZW50cyA9IDEgPDwgMixcbiAgRG9zc2llcnNMZWdpc2xhdGlmcyA9IDEgPDwgMyxcbiAgUGhvdG9zID0gMSA8PCA0LFxuICBTY3J1dGlucyA9IDEgPDwgNSxcbiAgQWxsID0gQWN0ZXVyc0V0T3JnYW5lcyB8XG4gICAgQWdlbmRhcyB8XG4gICAgQW1lbmRlbWVudHMgfFxuICAgIERvc3NpZXJzTGVnaXNsYXRpZnMgfFxuICAgIFBob3RvcyB8XG4gICAgU2NydXRpbnMsXG59XG5cbmV4cG9ydCBjb25zdCBkYXRhc2V0czogRGF0YXNldHMgPSB7XG4gIGFjdGV1cnNFdE9yZ2FuZXM6IFtcbiAgICB7XG4gICAgICAvLyBBTU8xMFxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgYWN0aWZzXG4gICAgICAvLyAqIGF2ZWMgdG91cyBsZXMgbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiB5IGNvbXByaXMgYXZlYyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSAodHlwZU9yZ2FuZTogXCJQQVJQT0xcIilcbiAgICAgIC8vICogbWFpcyBzYW5zIGxlcyBtYW5kYXRzIGFjaGV2w6lzICh5IGNvbXByaXMgZGFucyBjZXR0ZSBsw6lnaXNsYXR1cmUpXG4gICAgICAvL1xuICAgICAgLy8gT3JnYW5lcyA6XG4gICAgICAvLyAqIENvbnRpZW50IHNldWxlbWVudCBsZXMgb3JnYW5lcyBjb3JyZXNwb25kYW50cyBhdXggbWFuZGF0cyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlIHhzaVR5cGUgZGUgbCdvcmdhbmVcbiAgICAgIC8vICogYXZlYyBkZXMgY29tbWlzc2lvbnMgc8OpbmF0b3JpYWxlcyAocGVybWFuZW50ZXMgZXQgc3DDqWNpYWxlcykgZW4gY291cnNcbiAgICAgIC8vICogYXZlYyBkZXMgZMOpbMOpZ2F0aW9ucyBzw6luYXRvcmlhbGVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGdyb3VwZXMgc8OpbmF0b3JpYXV4IGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIG1pbmlzdMOocmVzIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgbGVzIFByw6lzaWRlbmNlcyBkZSBsYSBSw6lwdWJsaXF1ZSAoeSBjb21wcmlzIFNhcmtvenkpXG4gICAgICAvLyAqIGF2ZWMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCB1biBzb3VzLWVuc2VtYmxlIMOgIHRvdXMgbGVzIG5pdmVhdXggZHUgZmljaGllciBBTU8yMFxuICAgICAgLy8gKHF1aSBlc3QgbHVpIG3Dqm1lIHVuIHNvdXMtZW5zZW1ibGUgZGUgbCdBTU8zMCkuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgQU1PMjAgb3UgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzEwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfWFYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEw6lwdXTDqXMgYWN0aWZzIGV0IG9yZ2FuZXMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvYW1vL2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXMvQU1PMTBfZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQU1PMjAgKFhWKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IGxlcyBkw6lwdXTDqXMgZGUgbGEgbMOpZ2lzbGF0dXJlLCBhY3RpZnMgb3Ugbm9uIChpbnZhbGlkw6lzLCBldGMpLCBsZXMgc8OpbmF0ZXVycyBhY3R1ZWxzXG4gICAgICAvLyBQb3VyIGxlcyBkw6lwdXTDqXMgOlxuICAgICAgLy8gKiBhdmVjIHRvdXMgbGV1cnMgbWFuZGF0cyBkZSBsYSBsw6lnaXNsYXR1cmVcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzXG4gICAgICAvLyAqIHkgY29tcHJpcyBsZXVycyBwYXJ0aXMgcG9saXRpcXVlcyAgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXMgbWFuZGF0cyBkZXMgbMOpZ2lzbGF0dXJlcyBwcsOpY8OpZGVudGVzIChxdWkgc29udCBkYW5zIEFNTzQwKVxuICAgICAgLy9cbiAgICAgIC8vIENvbnRpZW50IHRvdXMgbGVzIG9yZ2FuZXMgcsOpZsOpcmVuY8OpcyBwYXIgbGVzIG1hbmRhdHNcbiAgICAgIC8vICogYXZlYyBsZSB4c2lUeXBlIGRlIGwnb3JnYW5lXG4gICAgICAvLyAqIGF2ZWMgZGVzIGNvbW1pc3Npb25zIHPDqW5hdG9yaWFsZXMgKHBlcm1hbmVudGVzIGV0IHNww6ljaWFsZXMpIGVuIGNvdXJzXG4gICAgICAvLyAqIGF2ZWMgZGVzIGTDqWzDqWdhdGlvbnMgc8OpbmF0b3JpYWxlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBncm91cGVzIHPDqW5hdG9yaWF1eCBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGRlcyBtaW5pc3TDqHJlcyBlbiBjb3Vyc1xuICAgICAgLy8gKiBhdmVjIGxlcyBQcsOpc2lkZW5jZXMgZGUgbGEgUsOpcHVibGlxdWUgKHkgY29tcHJpcyBTYXJrb3p5KVxuICAgICAgLy8gKiBhdmVjIGxlIENvbnNlaWwgY29uc3RpdHV0aW9ubmVsXG4gICAgICAvL1xuICAgICAgLy8gQ2UgZmljaGllciBlc3QgdW4gc291cy1lbnNlbWJsZSDDoCB0b3VzIGxlcyBuaXZlYXV4IGR1IGZpY2hpZXIgQU1PMzAuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBhYnNvbHVtZW50IHJpZW4gcGFyIHJhcHBvcnQgw6AgbCdBTU8zMC5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzIwX2RlcF9zZW5fbWluX3RvdXNfbWFuZGF0c19ldF9vcmdhbmVzX1hWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQWN0ZXVycyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby9kZXB1dGVzX3NlbmF0ZXVyc19taW5pc3RyZXNfbGVnaXNsYXR1cmUvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzIwIChYSVYpXG4gICAgICAvL1xuICAgICAgLy8gQ29tbWUgQU1PMjAgKFhWKSBtYWlzIHBvdXIgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcbiAgICAgIC8vIFRvdXMgbGVzIGFjdGV1cnMgc2F1ZiB1biAoUEE0Mjk4OTIpIHNvbnQgcHLDqXNlbnRzIGVuIHBsdXMgw6Agam91ciBkYW5zIEFNTzMwLlxuICAgICAgLy8gQ2V0IGFjdGV1ciBQQTQyOTg5MiAoYW5jaWVubmUgU8OpbmF0cmljZSkgbidlc3QgcHLDqXNlbnQgZGFucyBhdWN1biBkZXMgYXV0cmVzXG4gICAgICAvLyBmaWNoaWVycyBBTU8uXG4gICAgICAvLyBUb3VzIGxlcyBvcmdhbmVzIHNvbnQgcHLDqXNlbnRzIGVuIHBsdXMgY29tcGxldHMgZGFucyBBTU8zMC5cbiAgICAgIC8vXG4gICAgICAvLyBDZSBmaWNoaWVyIGVzdCBkb25jIMOgIHVuIGTDqXRhaWwgcHLDqnQgKFBBNDI5ODkyKSB1biBzb3VzLWVuc2VtYmxlIGQnQU1PMzAuXG4gICAgICAvLyBJbCBuJ2FwcG9ydGUgZG9uYyBxdWFzaW1lbnQgcmllbiBwYXIgcmFwcG9ydCDDoCBsJ0FNTzMwLlxuICAgICAgZmlsZW5hbWU6IFwiQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWElWLmpzb25cIixcbiAgICAgIGlnbm9yZUZvcldlYjogdHJ1ZSxcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWF0b3J6ZSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TaW5nbGVGaWxlLFxuICAgICAgdGl0bGU6IFwiQWN0ZXVycyBldCBvcmdhbmVzIGRlIGxhIFhJVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNC9hbW8vZGVwdXRlc19zZW5hdGV1cnNfbWluaXN0cmVzX2xlZ2lzbGF0dXJlc19YSVYvQU1PMjBfZGVwX3Nlbl9taW5fdG91c19tYW5kYXRzX2V0X29yZ2FuZXNfWElWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICAvLyBDZSBmaWNoaWVyIGNvbnRpZW50IHRvdXMgbGVzIGFjdGV1cnMgZXQgb3JnYW5lcy5cbiAgICAgIC8vIEMnZXN0IHVuIHN1ci1lbnNlbWJsZSBkZXMgZmljaGllcnMgQU1PMjAuXG4gICAgICBmaWxlbmFtZTogXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5BbGwsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6XG4gICAgICAgIFwiSGlzdG9yaXF1ZSBkZSB0b3VzIGxlcyBhY3RldXJzIGV0IG9yZ2FuZXMgZGVwdWlzIGxhIFhJw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE1L2Ftby90b3VzX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX3hpX2xlZ2lzbGF0dXJlL0FNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFNTzQwXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgbGVzIGTDqXB1dMOpcyBhY3RpZnMgKGxlcyBtw6ptZXMgcXUnQU1PMjApXG4gICAgICAvLyAqIGF2ZWMgcHJlc3F1ZSB0b3VzIGxldXJzIG1hbmRhdHNcbiAgICAgIC8vICogeSBjb21wcmlzIGxlcyBtYW5kYXRzIGFjaGV2w6lzIGV0IGNldXggZGVzIGzDqWdpc2xhdHVyZXMgcHLDqWPDqWRlbnRlc1xuICAgICAgLy8gKiB5IGNvbXByaXMgbGV1cnMgcGFydGlzIHBvbGl0aXF1ZXMgcHLDqWPDqWRlbnRzXG4gICAgICAvLyAqIG1haXMgc2FucyBsZXVyIHBhcnRpIHBvbGl0aXF1ZSBhY3R1ZWwgKHR5cGVPcmdhbmU6IFwiUEFSUE9MXCIpXG4gICAgICAvL1xuICAgICAgLy8gQ29udGllbnQgYmVhdWNvdXAgZCdvcmdhbmVzIHLDqWbDqXJlbmPDqXMsIHkgY29tcHJpcyBjZXV4IGRlcyBsw6lnaXNsYXR1cmVzXG4gICAgICAvLyBwcsOpY8OpZGVudGVzXG4gICAgICAvLyAqIG1haXMgaWwgbWFucXVlIGxlIHhzaVR5cGUgZGVzIG9yZ2FuZXNcbiAgICAgIC8vICogbmUgY29udGllbnQgcGFzIGxlcyBvcmdhbmVzIHPDqW5hdG9yaWF1eFxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGVzIG1pbmlzdMOocmVzXG4gICAgICAvLyAqIG5lIGNvbnRpZW50IHBhcyBsYSBQcsOpc2lkZW5jZSBkZSBsYSBSw6lwdWJsaXF1ZVxuICAgICAgLy8gKiBuZSBjb250aWVudCBwYXMgbGUgQ29uc2VpbCBjb25zdGl0dXRpb25uZWxcbiAgICAgIC8vXG4gICAgICAvLyBQb3VyIGxlcyBhY3RldXJzLCBjZSBkw6lww7R0IGVzdCB1biBzb3VzLWVuc2VtYmxlIHN0cmljdCBkZSBBTU8zMCA6XG4gICAgICAvLyBJbCBhIG1vaW5zIGQnYWN0ZXVycyBldCBpbCBzb250IG1vaW5zIGNvbXBsZXRzLlxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gUXVhbmQgbCdvcmdhbmUgZXN0IGF1c3NpIHByw6lzZW50IGRhbnMgQU1PMzAsIGlsIHZhdXQgbWlldXggcHJlbmRyZSBjZWx1aVxuICAgICAgLy8gZCdBTU8zMCwgY2FyIGlsIGNvbnRpZW50IGxlIHhzaVR5cGUgKGMnZXN0IGxhIHNldWxlIGRpZmbDqXJlbmNlIHNlbWJsZS10LWkpLlxuICAgICAgLy8gU2lub24sIGlsIGZhdXQgbGUgcHJlbmRyZSBzZXVsZW1lbnQgc2kgb24gZXN0IGludMOpcmVzc8OpIHBhciBsZXMgbMOpZ2lzbGF0dXJlc1xuICAgICAgLy8gcHLDqWPDqWRlbnRlcy5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uXCIsXG4gICAgICBpZ25vcmVGb3JXZWI6IHRydWUsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubWtkaXJTeW5jKHRhcmdldERpcilcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwiYWN0ZXVyXCIpLFxuICAgICAgICApXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm9yZ2FuZVwiKSxcbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkTDqXB1dMOpcyBhY3RpZnMgZXQgb3JnYW5lcyBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vZGVwdXRlc19hY3RpZnNfbWFuZGF0c19hY3RpZnNfb3JnYW5lc19kaXZpc2VzL0FNTzQwX2RlcHV0ZXNfYWN0aWZzX21hbmRhdHNfYWN0aWZzX29yZ2FuZXNfZGl2aXNlc19YVi5qc29uLnppcFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgLy8gQXR0ZW50aW9uLCBjZSBmaWNoaWVyIG4nZXN0IHBhcyBtaXMgw6Agam91ciByw6lndWxpw6hyZW1lbnQgIVxuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIGFjdGV1cnMgOlxuICAgICAgLy8gKiBjJ2VzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZSBkJ0FNTzMwXG4gICAgICAvLyAqIGlsIG1hbnF1ZSBsZXMgeHNpVHlwZSBhdXggbWFuZGF0c1xuICAgICAgLy9cbiAgICAgIC8vIFBvdXIgbGVzIG9yZ2FuZXMgOlxuICAgICAgLy8gKiBjJ2VzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZSBkJ0FNTzMwXG4gICAgICAvLyAqIGlsIG1hbnF1ZSBsZXMgeHNpVHlwZVxuICAgICAgLy9cbiAgICAgIC8vIENlIGZpY2hpZXIgbidhcHBvcnRlIGRvbmMgYWJzb2x1bWVudCByaWVuIHBhciByYXBwb3J0IMOgIGwnQU1PMzAsXG4gICAgICAvLyBkb250IGlsIGVzdCB1biBzb3VzIGVuc2VtYmxlIG9ic29sw6h0ZS5cbiAgICAgIGZpbGVuYW1lOiBcIkFNTzUwX2FjdGV1cnNfbWFuZGF0c19vcmdhbmVzX2RpdmlzZXNfWFYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1rZGlyU3luYyh0YXJnZXREaXIpXG4gICAgICAgIGZzLm1vdmVTeW5jKFxuICAgICAgICAgIHBhdGguam9pbihkYXRhRGlyLCBcIm1hbmRhdFwiKSxcbiAgICAgICAgICBwYXRoLmpvaW4odGFyZ2V0RGlyLCBcIm1hbmRhdFwiKSxcbiAgICAgICAgKVxuICAgICAgICBmcy5tb3ZlU3luYyhcbiAgICAgICAgICBwYXRoLmpvaW4oZGF0YURpciwgXCJhY3RldXJcIiksXG4gICAgICAgICAgcGF0aC5qb2luKHRhcmdldERpciwgXCJhY3RldXJcIiksXG4gICAgICAgIClcbiAgICAgICAgZnMubW92ZVN5bmMoXG4gICAgICAgICAgcGF0aC5qb2luKGRhdGFEaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICAgIHBhdGguam9pbih0YXJnZXREaXIsIFwib3JnYW5lXCIpLFxuICAgICAgICApXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6XG4gICAgICAgIFwiQWN0ZXVycywgbWFuZGF0cyBldCBvcmdhbmVzIGRlIGxhIFhWw6htZSBsw6lnaXNsYXR1cmUgKGZpY2hpZXJzIHPDqXBhcsOpcywgeSBjb21wcmlzIG1hbmRhdHMpXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS9hbW8vYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNfZGl2aXNlcy9BTU81MF9hY3RldXJzX21hbmRhdHNfb3JnYW5lc19kaXZpc2VzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgXSxcbiAgYWdlbmRhczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YVi5qc29uXCIsXG4gICAgICBsZWdpc2xhdHVyZTogTGVnaXNsYXR1cmUuUXVpbnplLFxuICAgICAgcmVwYWlyWmlwOiAoZGF0YXNldDogRGF0YXNldCwgZGF0YURpcjogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhcmdldERpciA9IHBhdGguam9pbihkYXRhRGlyLCBkYXRhc2V0LmZpbGVuYW1lKVxuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyh0YXJnZXREaXIpKSB7XG4gICAgICAgICAgZnMucmVtb3ZlU3luYyh0YXJnZXREaXIpXG4gICAgICAgIH1cbiAgICAgICAgZnMubW92ZVN5bmMocGF0aC5qb2luKGRhdGFEaXIsIFwianNvblwiKSwgdGFyZ2V0RGlyKVxuICAgICAgfSxcbiAgICAgIHN0cnVjdHVyZTogRGF0YXNldFN0cnVjdHVyZS5TZWdtZW50ZWRGaWxlcyxcbiAgICAgIHRpdGxlOiBcIkFnZW5kYSBkZSBsYSBYVsOobWUgbMOpZ2lzbGF0dXJlXCIsXG4gICAgICB1cmw6IFwiaHR0cDovL2RhdGEuYXNzZW1ibGVlLW5hdGlvbmFsZS5mci9zdGF0aWMvb3BlbkRhdGEvcmVwb3NpdG9yeS8xNS92cC9yZXVuaW9ucy9BZ2VuZGFfWFYuanNvbi56aXBcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFnZW5kYV9YSVYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJBZ2VuZGEgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L3ZwL3JldW5pb25zL0FnZW5kYV9YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBhbWVuZGVtZW50czogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIkFtZW5kZW1lbnRzX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiQW1lbmRlbWVudHMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzL0FtZW5kZW1lbnRzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICAvLyB7XG4gICAgLy8gICBmaWxlbmFtZTogXCJBbWVuZGVtZW50c19YSVYuanNvblwiLFxuICAgIC8vICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgIC8vICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgIC8vICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgLy8gICB0aXRsZTogXCJBbWVuZGVtZW50cyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgIC8vICAgdXJsOlxuICAgIC8vICAgICBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL2FtZW5kZW1lbnRzX2xlZ2lzX1hJVi9BbWVuZGVtZW50c19YSVYuanNvbi56aXBcIixcbiAgICAvLyB9LFxuICBdLFxuICBkb3NzaWVyc0xlZ2lzbGF0aWZzOiBbXG4gICAge1xuICAgICAgZmlsZW5hbWU6IFwiRG9zc2llcnNfTGVnaXNsYXRpZnNfWFYuanNvblwiLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1aW56ZSxcbiAgICAgIHJlcGFpclppcDogKGRhdGFzZXQ6IERhdGFzZXQsIGRhdGFEaXI6IHN0cmluZykgPT4ge1xuICAgICAgICBjb25zdCB0YXJnZXREaXIgPSBwYXRoLmpvaW4oZGF0YURpciwgZGF0YXNldC5maWxlbmFtZSlcbiAgICAgICAgaWYgKGZzLmV4aXN0c1N5bmModGFyZ2V0RGlyKSkge1xuICAgICAgICAgIGZzLnJlbW92ZVN5bmModGFyZ2V0RGlyKVxuICAgICAgICB9XG4gICAgICAgIGZzLm1vdmVTeW5jKHBhdGguam9pbihkYXRhRGlyLCBcImpzb25cIiksIHRhcmdldERpcilcbiAgICAgIH0sXG4gICAgICBzdHJ1Y3R1cmU6IERhdGFzZXRTdHJ1Y3R1cmUuU2VnbWVudGVkRmlsZXMsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL2Rvc3NpZXJzX2xlZ2lzbGF0aWZzL0Rvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJEb3NzaWVycyBsw6lnaXNsYXRpZnMgZGUgbGEgWElWw6htZSBsw6lnaXNsYXR1cmVcIixcbiAgICAgIHVybDogXCJodHRwOi8vZGF0YS5hc3NlbWJsZWUtbmF0aW9uYWxlLmZyL3N0YXRpYy9vcGVuRGF0YS9yZXBvc2l0b3J5LzE0L2xvaS9kb3NzaWVyc19sZWdpc2xhdGlmcy9Eb3NzaWVyc19MZWdpc2xhdGlmc19YSVYuanNvbi56aXBcIixcbiAgICB9LFxuICBdLFxuICBzY3J1dGluczogW1xuICAgIHtcbiAgICAgIGZpbGVuYW1lOiBcIlNjcnV0aW5zX1hWLmpzb25cIixcbiAgICAgIGxlZ2lzbGF0dXJlOiBMZWdpc2xhdHVyZS5RdWluemUsXG4gICAgICByZXBhaXJaaXA6IChkYXRhc2V0OiBEYXRhc2V0LCBkYXRhRGlyOiBzdHJpbmcpID0+IHtcbiAgICAgICAgY29uc3QgdGFyZ2V0RGlyID0gcGF0aC5qb2luKGRhdGFEaXIsIGRhdGFzZXQuZmlsZW5hbWUpXG4gICAgICAgIGlmIChmcy5leGlzdHNTeW5jKHRhcmdldERpcikpIHtcbiAgICAgICAgICBmcy5yZW1vdmVTeW5jKHRhcmdldERpcilcbiAgICAgICAgfVxuICAgICAgICBmcy5tb3ZlU3luYyhwYXRoLmpvaW4oZGF0YURpciwgXCJqc29uXCIpLCB0YXJnZXREaXIpXG4gICAgICB9LFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNlZ21lbnRlZEZpbGVzLFxuICAgICAgdGl0bGU6IFwiU2NydXRpbnMgZGUgbGEgWFbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTUvbG9pL3NjcnV0aW5zL1NjcnV0aW5zX1hWLmpzb24uemlwXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWxlbmFtZTogXCJTY3J1dGluc19YSVYuanNvblwiLFxuICAgICAgaWdub3JlRm9yV2ViOiB0cnVlLFxuICAgICAgbGVnaXNsYXR1cmU6IExlZ2lzbGF0dXJlLlF1YXRvcnplLFxuICAgICAgc3RydWN0dXJlOiBEYXRhc2V0U3RydWN0dXJlLlNpbmdsZUZpbGUsXG4gICAgICB0aXRsZTogXCJTY3J1dGlucyBkZSBsYSBYSVbDqG1lIGzDqWdpc2xhdHVyZVwiLFxuICAgICAgdXJsOiBcImh0dHA6Ly9kYXRhLmFzc2VtYmxlZS1uYXRpb25hbGUuZnIvc3RhdGljL29wZW5EYXRhL3JlcG9zaXRvcnkvMTQvbG9pL3NjcnV0aW5zL1NjcnV0aW5zX1hJVi5qc29uLnppcFwiLFxuICAgIH0sXG4gIF0sXG59XG5cbmNvbnN0IGRpcmVjdG9yeTJzY2hlbWE6IGFueSA9IHtcbiAgXCIuKkFnZW5kYV8uKlwiOiBcImFnZW5kYVwiLFxuICBcIi4qU2NydXRpbnNfLipcIjogXCJzY3J1dGluXCIsXG4gIFwiLipBbWVuZGVtZW50c18uKlwiOiBcImFtZW5kZW1lbnRcIixcbiAgXCIuKkRvc3NpZXJzX0xlZ2lzbGF0aWZzXy4qL2RvY3VtZW50c1wiOiBcImRvY3VtZW50XCIsXG4gIFwiLipEb3NzaWVyc19MZWdpc2xhdGlmc18uKi9kb3NzaWVyc1wiOiBcImRvc3NpZXJcIixcbiAgXCIuKmFjdGV1cnNfbWFuZGF0c19vcmdhbmVzL29yZ2FuZXNcIjogXCJvcmdhbmVcIixcbiAgXCIuKmFjdGV1cnNfbWFuZGF0c19vcmdhbmVzL2FjdGV1cnNcIjogXCJhY3RldXJcIixcbiAgXCIuKkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuKi9vcmdhbmVzXCI6XG4gICAgXCJvcmdhbmVcIixcbiAgXCIuKkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWUuKi9hY3RldXJzXCI6XG4gICAgXCJhY3RldXJcIixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGFzZXRzKCk6IGFueSB7XG4gIHJldHVybiBbXG4gICAgXCJBZ2VuZGFfWElWXCIsXG4gICAgXCJBZ2VuZGFfWFZcIixcbiAgICBcIlNjcnV0aW5zX1hJVlwiLFxuICAgIFwiU2NydXRpbnNfWFZcIixcbiAgICBcIkFtZW5kZW1lbnRzX1hJVlwiLFxuICAgIFwiQW1lbmRlbWVudHNfWFZcIixcbiAgICBcIkRvc3NpZXJzX0xlZ2lzbGF0aWZzX1hWXCIsXG4gICAgXCJEb3NzaWVyc19MZWdpc2xhdGlmc19YSVZcIixcbiAgICBcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIixcbiAgICBcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCIsXG4gIF1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkRGF0YXNldChkaXI6IGFueSk6IGFueSB7XG4gIGZvciAoY29uc3QgZGF0YXNldCBvZiBnZXREYXRhc2V0cygpKSB7XG4gICAgaWYgKGRpci5pbmNsdWRlcyhkYXRhc2V0KSkgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjaGVtYXMoKTogYW55IHtcbiAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZGlyZWN0b3J5MnNjaGVtYSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGFzZXREaXJlY3RvcnlTY2hlbWEoZGF0YXNldDogc3RyaW5nKTogYW55IHtcbiAgbGV0IGRpcmVjdG9yaWVzOiBhbnlcbiAgaWYgKGRhdGFzZXQuaW5jbHVkZXMoXCJEb3NzaWVyc19MZWdpc2xhdGlmc19cIikpIHtcbiAgICBkaXJlY3RvcmllcyA9IFtgJHtkYXRhc2V0fS9kb2N1bWVudHNgLCBgJHtkYXRhc2V0fS9kb3NzaWVyc2BdXG4gIH0gZWxzZSBpZiAoXG4gICAgZGF0YXNldC5pbmNsdWRlcyhcImFjdGV1cnNfbWFuZGF0c19vcmdhbmVzXCIpIHx8XG4gICAgZGF0YXNldC5pbmNsdWRlcyhcIkFNTzMwX3RvdXNfYWN0ZXVyc190b3VzX21hbmRhdHNfdG91c19vcmdhbmVzX2hpc3RvcmlxdWVcIilcbiAgKSB7XG4gICAgZGlyZWN0b3JpZXMgPSBbYCR7ZGF0YXNldH0vb3JnYW5lc2AsIGAke2RhdGFzZXR9L2FjdGV1cnNgXVxuICB9IGVsc2Uge1xuICAgIGRpcmVjdG9yaWVzID0gW2RhdGFzZXRdXG4gIH1cblxuICBsZXQgcmVzdWx0cyA9IFtdXG4gIGZvciAoY29uc3QgZGlyZWN0b3J5IG9mIGRpcmVjdG9yaWVzKSB7XG4gICAgZm9yIChjb25zdCByZSBvZiBPYmplY3Qua2V5cyhkaXJlY3Rvcnkyc2NoZW1hKSkge1xuICAgICAgaWYgKG5ldyBSZWdFeHAocmUpLmV4ZWMoZGlyZWN0b3J5KSlcbiAgICAgICAgcmVzdWx0cy5wdXNoKFtgJHtkaXJlY3Rvcnl9LyoqLyouanNvbmAsIGRpcmVjdG9yeTJzY2hlbWFbcmVdXSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdHNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVEYXRhc2V0VXJsKGZpbGVuYW1lOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmddIHwgbnVsbCB7XG4gIGNvbnN0IHJlID0gXCJeLiovKC4qKV9uZXR0b3llLyguKilcIlxuICBjb25zdCBtYXRjaCA9IG5ldyBSZWdFeHAocmUpLmV4ZWMoZmlsZW5hbWUpXG4gIGlmIChtYXRjaCA9PSBudWxsKSByZXR1cm4gbnVsbFxuICBsZXQgW2RhdGFzZXQsIGZpbGVdID0gW21hdGNoWzFdLCBtYXRjaFsyXV1cbiAgaWYgKGRhdGFzZXQgPT0gXCJBTU8zMF90b3VzX2FjdGV1cnNfdG91c19tYW5kYXRzX3RvdXNfb3JnYW5lc19oaXN0b3JpcXVlXCIpXG4gICAgZGF0YXNldCA9IFwiYWN0ZXVyc19tYW5kYXRzX29yZ2FuZXNcIlxuICByZXR1cm4gW2RhdGFzZXQsIGZpbGVdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWZmVXBzdHJlYW0oZmlsZW5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGRhdGFzZXRVcmwgPSBmaWxlRGF0YXNldFVybChmaWxlbmFtZSlcbiAgaWYgKGRhdGFzZXRVcmwgPT0gbnVsbCkgcmV0dXJuIGZpbGVuYW1lXG4gIGNvbnN0IFtkYXRhc2V0LCBmaWxlXSA9IGRhdGFzZXRVcmxcbiAgY29uc3Qgc3VtID0gY3JlYXRlSGFzaChcInNoYTFcIikudXBkYXRlKGZpbGUpLmRpZ2VzdChcImhleFwiKS50b1N0cmluZygpXG4gIHJldHVybiBgWyR7ZmlsZX1dKGh0dHBzOi8vZ2l0LmVuLXJvb3Qub3JnL3RyaWNvdGV1c2VzL2RhdGEudHJpY290ZXVzZXMuZnIvJHtkYXRhc2V0fS8tL2NvbXBhcmUvdXBzdHJlYW0uLi5tYXN0ZXIjJHtzdW19KWBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hc3RlclVybChmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgZGF0YXNldFVybCA9IGZpbGVEYXRhc2V0VXJsKGZpbGVuYW1lKVxuICBpZiAoZGF0YXNldFVybCA9PSBudWxsKSByZXR1cm4gZmlsZW5hbWVcbiAgY29uc3QgW2RhdGFzZXQsIGZpbGVdID0gZGF0YXNldFVybFxuICByZXR1cm4gYFske2ZpbGV9XShodHRwczovL2dpdC5lbi1yb290Lm9yZy90cmljb3RldXNlcy9kYXRhLnRyaWNvdGV1c2VzLmZyLyR7ZGF0YXNldH0vLS90cmVlL21hc3Rlci8ke2ZpbGV9KWBcbn1cbiJdfQ==
|