@cloudbase/auth 3.3.4 → 3.3.6
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/dist/cjs/index.js +1 -1
- package/dist/cjs/type.d.ts +2 -0
- package/dist/cjs/type.js +1 -1
- package/dist/cjs/v1-compat.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/type.d.ts +2 -0
- package/dist/esm/type.js +1 -1
- package/dist/esm/v1-compat.js +1 -1
- package/package.json +5 -5
- package/src/index.ts +19 -4
- package/src/type.ts +2 -0
- package/src/v1-compat.ts +5 -4
package/dist/esm/type.d.ts
CHANGED
package/dist/esm/type.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { AuthErrorCategory } from '@cloudbase/oauth';
|
|
2
2
|
export { AuthErrorCategory };
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBhdXRoTW9kZWxzLCBPQVVUSF9UWVBFIH0gZnJvbSAnQGNsb3VkYmFzZS9vYXV0aCdcbmltcG9ydCB7IEF1dGhFcnJvciwgQXV0aEVycm9yQ2F0ZWdvcnkgfSBmcm9tICdAY2xvdWRiYXNlL29hdXRoJ1xuXG5leHBvcnQgeyBBdXRoRXJyb3JDYXRlZ29yeSB9XG5cblxuLyoqXG4gKiBzaWduSW5Bbm9ueW1vdXNseSDor7fmsYLlj4LmlbBcbiAqXG4gKiAqKuWJjee9ruadoeS7tioq77ya5L2/55So5q2k5pa55rOV5YmN77yM6K+356Gu5L+d5bey5Zyo5LqR5byA5Y+R5o6n5Yi25Y+w77yI546v5aKDIOKGkiDnmbvlvZXmjojmnYMg4oaSIOi6q+S7vea6kOWIl+ihqO+8ieW8gOWQr+OAjOWMv+WQjeeZu+W9leOAjeOAglxuICpcbiAqICoq5L2/55So5Zy65pmvKirvvJpcbiAqIC0g5peg6ZyA55So5oi35rOo5YaM5Y2z5Y+v5L2/55So5bqU55So5Yqf6IO9XG4gKiAtIOS4tOaXtuiuv+mXruaIluW/q+mAn+S9k+mqjOWcuuaZr1xuICogLSDmtYvor5Uv6Ieq5Yqo5YyW546v5aKD5Lit5LiN6ZyA6KaB55yf5a6e55So5oi35Yet5o2u5pe2XG4gKlxuICogKirms6jmhI8qKu+8muWMv+WQjeeZu+W9leS4juWvhueggeeZu+W9leaYr+S4pOenjeeLrOeri+eahOeZu+W9leaWueW8j++8jOS4jeimgeWcqOWMv+WQjeeZu+W9leWksei0peWQjuiHquWKqOWbnumAgOWIsOWvhueggeeZu+W9leOAglxuICog5aaC5p6c5Yy/5ZCN55m75b2V6L+U5ZueIFBST1ZJREVSX05PVF9FTkFCTEVEIOmUmeivr++8jOivtOaYjumcgOimgeWcqOaOp+WItuWPsOW8gOWQr+WMv+WQjeeZu+W9leWKn+iDveOAglxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbkFub255bW91c2x5UmVxIHtcbiAgcHJvdmlkZXJfdG9rZW4/OiBzdHJpbmcgLy8g5o+Q5L6b5Luk54mMXG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVXNlciA9IHtcbiAgaWQ6IGFueSAvLyDnlKjmiLdJRFxuICBhdWQ6IHN0cmluZyAvLyDlj5fkvJdcbiAgcm9sZTogc3RyaW5nW10gLy8g55So5oi36KeS6ImyXG4gIGVtYWlsOiBhbnkgLy8g6YKu566xXG4gIGVtYWlsX2NvbmZpcm1lZF9hdDogc3RyaW5nIC8vIOmCrueuseehruiupOaXtumXtFxuICBwaG9uZTogYW55IC8vIOaJi+acuuWPt1xuICBwaG9uZV9jb25maXJtZWRfYXQ6IHN0cmluZyAvLyDmiYvmnLrlj7fnoa7orqTml7bpl7RcbiAgY29uZmlybWVkX2F0OiBzdHJpbmcgLy8g56Gu6K6k5pe26Ze0XG4gIGxhc3Rfc2lnbl9pbl9hdDogc3RyaW5nIC8vIOacgOWQjueZu+W9leaXtumXtFxuICBhcHBfbWV0YWRhdGE6IHtcbiAgICAvLyDlupTnlKjlhYPmlbDmja5cbiAgICBwcm92aWRlcjogYW55IC8vIOaPkOS+m+WVhlxuICAgIHByb3ZpZGVyczogYW55W10gLy8g5o+Q5L6b5ZWG5YiX6KGoXG4gIH1cbiAgdXNlcl9tZXRhZGF0YToge1xuICAgIC8vIOeUqOaIt+WFg+aVsOaNrlxuICAgIG5hbWU6IGFueSAvLyDlp5PlkI1cbiAgICBwaWN0dXJlOiBhbnkgLy8g5aS05YOPXG4gICAgdXNlcm5hbWU6IGFueSAvLyDnlKjmiLflkI1cbiAgICBnZW5kZXI6IGFueSAvLyDmgKfliKtcbiAgICBsb2NhbGU6IGFueSAvLyDlnLDljLpcbiAgICB1aWQ6IGFueSAvLyDnlKjmiLdJRFxuICAgIG5pY2tOYW1lOiBhbnkgLy8g5pi156ewXG4gICAgYXZhdGFyVXJsOiBhbnkgLy8g5aS05YOPVVJMXG4gICAgbG9jYXRpb246IGFueSAvLyDkvY3nva5cbiAgICBoYXNQYXNzd29yZDogYW55IC8vIOaYr+WQpuacieWvhueggVxuICB9XG4gIGlkZW50aXRpZXM6IGFueSAvLyDouqvku73kv6Hmga9cbiAgY3JlYXRlZF9hdDogc3RyaW5nIC8vIOWIm+W7uuaXtumXtFxuICB1cGRhdGVkX2F0OiBzdHJpbmcgLy8g5pu05paw5pe26Ze0XG4gIGlzX2Fub255bW91czogYm9vbGVhbiAvLyDmmK/lkKbljL/lkI3nlKjmiLdcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTZXNzaW9uID0ge1xuICBhY2Nlc3NfdG9rZW4/OiBzdHJpbmcgLy8g6K6/6Zeu5Luk54mMXG4gIHJlZnJlc2hfdG9rZW4/OiBzdHJpbmcgLy8g5Yi35paw5Luk54mMXG4gIGV4cGlyZXNfaW4/OiBudW1iZXIgLy8g6L+H5pyf5pe26Ze077yI56eS77yJXG4gIHRva2VuX3R5cGU/OiBzdHJpbmcgLy8g5Luk54mM57G75Z6LXG4gIHVzZXI6IFVzZXIgLy8g55So5oi35L+h5oGvXG59XG5cbi8qKlxuICogc2lnbkluV2l0aFBhc3N3b3JkIOivt+axguWPguaVsFxuICpcbiAqICoq6YeN6KaB5o+Q56S6KirvvJrkvb/nlKjmraTmlrnms5XliY3vvIzor7fnoa7kv53lt7LlnKjkupHlvIDlj5HmjqfliLblj7DvvIjnjq/looMg4oaSIOeZu+W9leaOiOadgyDihpIg6Lqr5Lu95rqQ5YiX6KGo77yJXG4gKiDlvIDlkK/jgIznlKjmiLflkI3lr4bnoIHnmbvlvZXjgI3mlrnlvI/jgILlpoLmnKrlvIDlkK/vvIznmbvlvZXml7bkvJrov5Tlm54gQXV0aEVycm9yQ2F0ZWdvcnkuUFJPVklERVJfTk9UX0VOQUJMRUQg6ZSZ6K+v44CCXG4gKlxuICogKirlh63mja7mnaXmupAqKu+8mlxuICogLSDnlKjmiLfmiYvliqjovpPlhaXvvIjkuqTkupLlvI/lnLrmma/vvIlcbiAqIC0g546v5aKD5Y+Y6YePIEVOVl9JRCAvIFVTRVJfTkFNRSAvIFBBU1NXT1JE77yI6Ieq5Yqo5YyWL2FnZW50IOWcuuaZr++8iVxuICogLSDor7fnoa7kv53lh63mja7lr7nlupTnmoTnlKjmiLflt7LlnKjnm67moIcgZW52SWQg546v5aKD5Lit5rOo5YaMXG4gKlxuICogKirluLjop4HplJnor68qKu+8mlxuICogLSBgaW52YWxpZF91c2VybmFtZV9vcl9wYXNzd29yZGDvvJrnlKjmiLflkI3miJblr4bnoIHplJnor6/vvIzor7fmoLjlrp7lh63mja5cbiAqIC0gYFBST1ZJREVSX05PVF9FTkFCTEVEYO+8mueUqOaIt+WQjeWvhueggeeZu+W9leacquW8gOWQr++8jOmcgOWcqOaOp+WItuWPsOmFjee9rlxuICogLSBgbm90X2ZvdW5kYO+8mueUqOaIt+S4jeWtmOWcqO+8jOmcgOWFiOazqOWGjFxuICpcbiAqICoq5rOo5oSPKirvvJrkuI3lkIzkupHlvIDlj5Hnjq/looPnmoTnlKjmiLflupPmmK/pmpTnprvnmoTvvIzor7fnoa7orqQgZW52SWQg5LiO5Yet5o2u5Yy56YWN44CCXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluV2l0aFBhc3N3b3JkUmVxIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmcgLy8g55So5oi35ZCN56ew77yI5Y+v6YCJ77yM5LiO6YKu566x44CB5omL5py65Y+35LiJ6YCJ5LiA77yJ77yM6ZW/5bqmIDUtMjQg5L2N77yM5pSv5oyB5a2X56ym5Lit6Iux5paH44CB5pWw5a2X44CB54m55q6K5a2X56ym77yI5LuF5pSv5oyBXy3vvInvvIzkuI3mlK/mjIHkuK3mlodcbiAgZW1haWw/OiBzdHJpbmcgLy8g6YKu566x77yI5Y+v6YCJ77yM5LiO55So5oi35ZCN44CB5omL5py65Y+35LiJ6YCJ5LiA77yJXG4gIHBob25lPzogc3RyaW5nIC8vIOaJi+acuuWPt++8iOWPr+mAie+8jOS4jueUqOaIt+WQjeOAgemCrueuseS4iemAieS4gO+8iVxuICBwYXNzd29yZDogc3RyaW5nIC8vIOWvhuegge+8iOW/heWhq++8iVxuICBpc19lbmNyeXB0PzogYm9vbGVhbiAvLyDmmK/lkKbliqDlr4bvvIzpu5jorqTkuLpmYWxzZVxufVxuXG4vLyDpgJrnlKjlk43lupTnsbvlnotcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uUmVzIHtcbiAgZGF0YToge30gLy8g5oiQ5Yqf5pe25Li656m65a+56LGhXG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuLyoqXG4gKiDnmbvlvZXmk43kvZzlk43lupTnsbvlnotcbiAqXG4gKiDlvZMgZXJyb3Ig5LiN5Li6IG51bGwg5pe277yMZXJyb3Ig5a+56LGh5YyF5ZCr77yaXG4gKiAtIGBjYXRlZ29yeWA6IOmUmeivr+WIhuexu++8iEF1dGhFcnJvckNhdGVnb3J5IOaemuS4vu+8ie+8jOWPr+eUqOS6jueoi+W6j+WMluWIpOaWremUmeivr+exu+Wei1xuICogLSBgaGVscE1lc3NhZ2VgOiDlj6/mk43kvZzmgKfmjIflvJXkv6Hmga/vvIzljIXlkKvmjpLmn6XmraXpqqTlkozop6PlhrPmlrnmoYhcbiAqIC0gYGxvZ2luTWV0aG9kSGludGA6IOeZu+W9leaWueW8j+mAieaLqeW7uuiuru+8jOW4ruWKqemAieaLqeato+ehrueahOeZu+W9leaWueazlVxuICogLSBgY29kZWA6IOacjeWKoeerr+i/lOWbnueahOmUmeivr+egge+8iOWmgiAnaW52YWxpZF91c2VybmFtZV9vcl9wYXNzd29yZCfjgIEnaW52YWxpZF9wYXNzd29yZCfvvIlcbiAqIC0gYG1lc3NhZ2VgOiDplJnor6/mj4/ov7BcbiAqXG4gKiDnpLrkvovvvJpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHsgZGF0YSwgZXJyb3IgfSA9IGF3YWl0IGF1dGguc2lnbkluV2l0aFBhc3N3b3JkKHsgdXNlcm5hbWU6ICd0ZXN0JywgcGFzc3dvcmQ6ICcxMjMnIH0pXG4gKiBpZiAoZXJyb3IpIHtcbiAqICAgaWYgKGVycm9yLmNhdGVnb3J5ID09PSBBdXRoRXJyb3JDYXRlZ29yeS5QUk9WSURFUl9OT1RfRU5BQkxFRCkge1xuICogICAgIC8vIOi6q+S7vea6kOacquW8gOWQr++8jOW8leWvvOeUqOaIt+aIlueuoeeQhuWRmOW8gOWQr1xuICogICAgIGNvbnNvbGUubG9nKGVycm9yLmhlbHBNZXNzYWdlKVxuICogICB9IGVsc2UgaWYgKGVycm9yLmNhdGVnb3J5ID09PSBBdXRoRXJyb3JDYXRlZ29yeS5JTlZBTElEX0NSRURFTlRJQUxTKSB7XG4gKiAgICAgLy8g5Yet5o2u6ZSZ6K+v77yI5YyF5ousIGludmFsaWRfdXNlcm5hbWVfb3JfcGFzc3dvcmTvvInvvIzmj5DnpLrnlKjmiLfmo4Dmn6Xlr4bnoIFcbiAqICAgICBjb25zb2xlLmxvZyhlcnJvci5oZWxwTWVzc2FnZSlcbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogKiphZ2VudC/oh6rliqjljJblnLrmma/ms6jmhI8qKu+8mlxuICogLSDkuI3opoHlnKggc2lnbkluQW5vbnltb3VzbHkoKSDlpLHotKXlkI7oh6rliqjlm57pgIDliLAgc2lnbkluV2l0aFBhc3N3b3JkKClcbiAqIC0g5Lik56eN55m75b2V5pa55byP55qE6YCC55So5Zy65pmv5LiN5ZCM77yM5bqU5qC55o2u5Lu75Yqh6ZyA5rGC5piO56Gu6YCJ5oupXG4gKiAtIOS9v+eUqCBlcnJvci5sb2dpbk1ldGhvZEhpbnQg6I635Y+W5b2T5YmN55m75b2V5pa55byP55qE5L2/55So5bu66K6uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluUmVzIHtcbiAgZGF0YToge1xuICAgIHVzZXI/OiBVc2VyIC8vIOeUqOaIt+S/oeaBr1xuICAgIHNlc3Npb24/OiBTZXNzaW9uIC8vIOS8muivneS/oeaBr1xuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRVc2VyUmVzIHtcbiAgZGF0YToge1xuICAgIHVzZXI/OiBVc2VyIC8vIOeUqOaIt+ivpue7huS/oeaBr1xuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuLy8g5pu05paw55So5oi36aqM6K+B5Zue6LCD5Y+C5pWwXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVVzZXJWZXJpZnlPdHBQYXJhbXMge1xuICBlbWFpbD86IHN0cmluZyAvLyDpgq7nrrHvvIjlj6/pgInvvIzkuI7miYvmnLrlj7fkuozpgInkuIDvvIlcbiAgcGhvbmU/OiBzdHJpbmcgLy8g5omL5py65Y+377yI5Y+v6YCJ77yM5LiO6YKu566x5LqM6YCJ5LiA77yJXG4gIHRva2VuOiBzdHJpbmcgLy8g6aqM6K+B56CB77yI5b+F5aGr77yJXG59XG5cbi8vIOabtOaWsOeUqOaIt+mqjOivgeWbnuiwg+exu+Wei1xuZGVjbGFyZSB0eXBlIFVwZGF0ZVVzZXJWZXJpZnlDYWxsYmFjayA9IChwYXJhbXM6IFVwZGF0ZVVzZXJWZXJpZnlPdHBQYXJhbXMpID0+IFByb21pc2U8R2V0VXNlclJlcz5cblxuLy8g5pu05paw55So5oi35ZON5bqU57G75Z6L77yI5b2T6ZyA6KaB6aqM6K+B5pe277yJXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVVzZXJXaXRoVmVyaWZpY2F0aW9uUmVzIHtcbiAgZGF0YToge1xuICAgIHZlcmlmeU90cD86IFVwZGF0ZVVzZXJWZXJpZnlDYWxsYmFjayAvLyDpqozor4HnoIHlm57osIPlh73mlbBcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmcgLy8g6aqM6K+B56CBSURcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluV2l0aElkVG9rZW5SZXEge1xuICBwcm92aWRlcj86IHN0cmluZyAvLyDnrKzkuInmlrnlubPlj7DmoIfor4bvvIjlj6/pgInvvIlcbiAgdG9rZW46IHN0cmluZyAvLyDnrKzkuInmlrnlubPlj7DnmoTouqvku73ku6TniYzvvIjlv4XloavvvIlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5XaXRoT0F1dGhSZXEge1xuICBwcm92aWRlcjogc3RyaW5nIC8vIOesrOS4ieaWueW5s+WPsOagh+ivhu+8iOW/heWhq++8iVxuICBvcHRpb25zPzoge1xuICAgIC8vIOmFjee9rumAiemhue+8iOWPr+mAie+8iVxuICAgIHJlZGlyZWN0VG8/OiBzdHJpbmcgLy8g5Zue6LCD5Zyw5Z2A77yM6buY6K6k5Li65b2T5YmN6aG16Z2iXG4gICAgc2tpcEJyb3dzZXJSZWRpcmVjdD86IGJvb2xlYW4gLy8g5piv5ZCm6Lez6L2s6Iez5o6I5p2D6aG16Z2i77yM6buY6K6k5Li6ZmFsc2VcbiAgICBzdGF0ZT86IHN0cmluZyAvLyDnirbmgIHlj4LmlbDvvIznlKjkuo7lronlhajpqozor4HvvIzpu5jorqTkuLrpmo/mnLrlrZfnrKbkuLLvvIjmoLzlvI/vvJpwcmQte3Byb3ZpZGVyfS176ZqP5py65a2X56ym5Liyfe+8iVxuICAgIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiAvLyDpop3lpJbnmoTmn6Xor6Llj4LmlbDvvIzlsIblkIjlubbliLDmjojmnYMgVVJJIOS4rVxuICAgIHR5cGU/OiAodHlwZW9mIE9BVVRIX1RZUEUpW2tleW9mIHR5cGVvZiBPQVVUSF9UWVBFXSAvLyDnsbvlnovvvIjlj6/pgInvvInvvIzpu5jorqTkuLonc2lnbl9pbicsIHNpZ25faW46IOeZu+W9le+8jGJpbmRfaWRlbnRpdHk6IOe7keWumui6q+S7vVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluT0F1dGhSZXMge1xuICBkYXRhOiB7XG4gICAgdXJsPzogc3RyaW5nIC8vIOaOiOadg+mhtemdolVSTFxuICAgIHByb3ZpZGVyPzogc3RyaW5nIC8vIOesrOS4ieaWueW5s+WPsOagh+ivhlxuICAgIHNjb3Blcz86IHN0cmluZyAvLyDmjojmnYPojIPlm7RcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q2xhaW1zUmVzIHtcbiAgZGF0YToge1xuICAgIC8vIOS7pOeJjOWjsOaYjuS/oeaBr1xuICAgIGNsYWltcz86IHtcbiAgICAgIGlzczogc3RyaW5nIC8vIGlzc3VlclxuICAgICAgc3ViOiBzdHJpbmcgLy8gc3ViamVjdFxuICAgICAgYXVkOiBzdHJpbmcgLy8gIGF1ZGllbmNlXG4gICAgICBleHA6IG51bWJlciAvLyAgZXhwaXJhdGlvbiB0aW1lXG4gICAgICBpYXQ6IG51bWJlciAvLyBpc3N1ZWQgYXRcbiAgICAgIGF0X2hhc2g6IHN0cmluZyAvLyBhY2Nlc3MgdG9rZW4gaGFzaFxuICAgICAgbmFtZTogc3RyaW5nIC8vIOWQjeensFxuICAgICAgcGljdHVyZT86IHN0cmluZyAvLyDlpLTlg49VUkxcbiAgICAgIGVtYWlsPzogc3RyaW5nIC8vIOmCrueusVxuICAgICAgcGhvbmVfbnVtYmVyPzogc3RyaW5nIC8vIOaJi+acuuWPt1xuICAgICAgc2NvcGU6IHN0cmluZyAvLyDmjojmnYPojIPlm7RcbiAgICAgIHByb2plY3RfaWQ6IHN0cmluZyAvLyDpobnnm65JRFxuICAgICAgcHJvdmlkZXI/OiBzdHJpbmcgLy8g56ys5LiJ5pa55bmz5Y+w5qCH6K+GXG4gICAgICBwcm92aWRlcl90eXBlPzogc3RyaW5nIC8vIOesrOS4ieaWueW5s+WPsOexu+Wei1xuICAgICAgZ3JvdXBzPzogc3RyaW5nW10gLy8g55So5oi357uEXG4gICAgICBtZXRhPzoge1xuICAgICAgICB3eE9wZW5JZD86IHN0cmluZ1xuICAgICAgICB3eFVuaW9uSWQ/OiBzdHJpbmdcbiAgICAgIH1cbiAgICAgIHVzZXJfaWQ6IHN0cmluZyAvLyDnlKjmiLdJRFxuICAgICAgcm9sZXM6IHN0cmluZ1tdIC8vIOinkuiJslxuICAgICAgdXNlcl90eXBlOiBzdHJpbmcgLy8g55So5oi357G75Z6LXG4gICAgICBjbGllbnRfdHlwZTogc3RyaW5nIC8vIOWuouaIt+err+exu+Wei1xuICAgICAgaXNfc3lzdGVtX2FkbWluOiBib29sZWFuIC8vIOaYr+WQpuezu+e7n+euoeeQhuWRmFxuICAgIH1cbiAgICAvLyDku6TniYzlpLTpg6jkv6Hmga9cbiAgICBoZWFkZXI/OiB7XG4gICAgICBhbGc6IHN0cmluZyAvLyDliqDlr4bnrpfms5VcbiAgICAgIGtpZDogc3RyaW5nIC8vIOS7pOeJjElEXG4gICAgfVxuICAgIHNpZ25hdHVyZT86IHN0cmluZyAvLyDku6TniYznrb7lkI1cbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlVXNlclJlcSBleHRlbmRzIGF1dGhNb2RlbHMuTW9kaWZ5VXNlckJhc2ljSW5mb1JlcXVlc3Qge1xuICBlbWFpbD86IHN0cmluZyAvLyDpgq7nrrHvvIjlj6/pgInvvIlcbiAgcGhvbmU/OiBzdHJpbmcgLy8g5omL5py65Y+377yI5Y+v6YCJ77yJXG4gIHVzZXJuYW1lPzogc3RyaW5nIC8vIOeUqOaIt+WQjeensO+8iOWPr+mAie+8ie+8jOmVv+W6piA1LTI0IOS9je+8jOaUr+aMgeWtl+espuS4reiLseaWh+OAgeaVsOWtl+OAgeeJueauiuWtl+espu+8iOS7heaUr+aMgV8t77yJ77yM5LiN5pSv5oyB5Lit5paHXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIC8vIOaPj+i/sO+8iOWPr+mAie+8iVxuICBhdmF0YXJfdXJsPzogc3RyaW5nIC8vIOWktOWDj1VSTO+8iOWPr+mAie+8iVxuICBuaWNrbmFtZT86IHN0cmluZyAvLyDmmLXnp7DvvIjlj6/pgInvvIlcbiAgZ2VuZGVyPzogJ01BTEUnIHwgJ0ZFTUFMRScgLy8g5oCn5Yir77yI5Y+v6YCJ77yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VXNlcklkZW50aXRpZXNSZXMge1xuICBkYXRhOiB7XG4gICAgaWRlbnRpdGllcz86XG4gICAgfCBBcnJheTx7XG4gICAgICBpZDogc3RyaW5nIC8vIOi6q+S7vea6kOagh+ivhlxuICAgICAgbmFtZTogc3RyaW5nIC8vIOi6q+S7vea6kOWQjeensFxuICAgICAgcGljdHVyZTogc3RyaW5nIC8vIOWktOWDj1VSTFxuICAgIH0+XG4gIH1cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGwgLy8g6ZSZ6K+v5L+h5oGv77yM5oiQ5Yqf5pe25Li6bnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtJZGVudGl0eVJlcSB7XG4gIHByb3ZpZGVyOiBzdHJpbmcgLy8g6Lqr5Lu95rqQ5qCH6K+G77yI5b+F5aGr77yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5saW5rSWRlbnRpdHlSZXEge1xuICBwcm92aWRlcjogc3RyaW5nIC8vIOi6q+S7vea6kOagh+ivhu+8iOW/heWhq++8iVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtJZGVudGl0eVJlcyB7XG4gIGRhdGE6IHtcbiAgICBwcm92aWRlcj86IHN0cmluZyAvLyDnu5HlrprnmoTouqvku73mupDmoIfor4ZcbiAgICB0eXBlPzogKHR5cGVvZiBPQVVUSF9UWVBFKVtrZXlvZiB0eXBlb2YgT0FVVEhfVFlQRV0gLy8g57G75Z6L77yI5Y+v6YCJ77yJ77yM6buY6K6k5Li6J3NpZ25faW4nLCBzaWduX2luOiDnmbvlvZXvvIxiaW5kX2lkZW50aXR5OiDnu5Hlrprouqvku71cbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgT25BdXRoU3RhdGVDaGFuZ2VFdmVudCA9XG4gIHwgJ1NJR05FRF9PVVQnIC8vIOeUqOaIt+W3sueZu+WHulxuICB8ICdTSUdORURfSU4nIC8vIOeUqOaIt+eZu+W9leaIkOWKn1xuICB8ICdJTklUSUFMX1NFU1NJT04nIC8vIOWIneWni+S8muivneW3suW7uueri1xuICB8ICdQQVNTV09SRF9SRUNPVkVSWScgLy8g5a+G56CB5bey6YeN572uXG4gIHwgJ1RPS0VOX1JFRlJFU0hFRCcgLy8g5Luk54mM5bey5Yi35pawXG4gIHwgJ1VTRVJfVVBEQVRFRCcgLy8g55So5oi35L+h5oGv5bey5pu05pawXG4gIHwgJ0JJTkRfSURFTlRJVFknIC8vIOi6q+S7vea6kOe7keWumue7k+aenFxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIE9uQXV0aFN0YXRlQ2hhbmdlQ2FsbGJhY2sgPSAoXG4gIGV2ZW50OiBPbkF1dGhTdGF0ZUNoYW5nZUV2ZW50LFxuICBzZXNzaW9uOiBTZXNzaW9uLFxuICBpbmZvPzogUmVjb3JkPHN0cmluZywgYW55PixcbikgPT4gdm9pZFxuXG50eXBlIE1vYmlsZU90cFR5cGUgPSAnc21zJyB8ICdwaG9uZV9jaGFuZ2UnXG50eXBlIEVtYWlsT3RwVHlwZSA9ICdzaWdudXAnIHwgJ2ludml0ZScgfCAnbWFnaWNsaW5rJyB8ICdyZWNvdmVyeScgfCAnZW1haWxfY2hhbmdlJyB8ICdlbWFpbCdcbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5T3RwUmVxIHtcbiAgdHlwZT86IE1vYmlsZU90cFR5cGUgfCBFbWFpbE90cFR5cGVcbiAgZW1haWw/OiBzdHJpbmcgLy8g6YKu566x77yI5Y+v6YCJ77yM5LiO5omL5py65Y+35LqM6YCJ5LiA77yJXG4gIHBob25lPzogc3RyaW5nIC8vIOaJi+acuuWPt++8iOWPr+mAie+8jOS4jumCrueuseS6jOmAieS4gO+8iVxuICB0b2tlbjogc3RyaW5nIC8vIOmqjOivgeegge+8iOW/heWhq++8iVxuICBtZXNzYWdlSWQ/OiBzdHJpbmcgLy8g6aqM6K+B56CB5a+55bqUSUTvvIjlj6/pgInvvIlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5XaXRoT3RwUmVxIHtcbiAgZW1haWw/OiBzdHJpbmcgLy8g6YKu566x77yI5Y+v6YCJ77yM5LiO5omL5py65Y+35LqM6YCJ5LiA77yJXG4gIHBob25lPzogc3RyaW5nIC8vIOaJi+acuuWPt++8iOWPr+mAie+8jOS4jumCrueuseS6jOmAieS4gO+8iVxuICBvcHRpb25zPzoge1xuICAgIHNob3VsZENyZWF0ZVVzZXI/OiBib29sZWFuIC8vIOWmguaenOeUqOaIt+S4jeWtmOWcqOaYr+WQpuWIm+W7uueUqOaIt++8jOm7mOiupOS4unRydWVcbiAgICBlbWFpbFJlZGlyZWN0VG8/OiBzdHJpbmcgLy8g6YKu566x55m75b2V5Zue6LCD5Zyw5Z2A77yM5aGr5YaZ5ZCO5YiZ5Lya5Y+R6YCB6K6k6K+B6ZO+5o6l6Iez6YKu566x77yM5ZCm5YiZ5Y+R6YCB6aqM6K+B56CBXG4gIH1cbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIGNvZGUg6aqM6K+B56CBXG4gKiBAcGFyYW0gbWVzc2FnZUlkIOWPr+mAie+8jFJlc2VuZFJlcy5kYXRhLm1lc3NhZ2VJZFxuICogQHJldHVybnNcbiAqL1xuZGVjbGFyZSB0eXBlIE90cENhbGxiYWNrID0gKHBhcmFtczogVmVyaWZ5T3RwUmVxKSA9PiBQcm9taXNlPFNpZ25JblJlcz5cblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5XaXRoT3RwUmVzIHtcbiAgZGF0YTogU2lnbkluUmVzWydkYXRhJ10gJiB7XG4gICAgdmVyaWZ5T3RwPzogT3RwQ2FsbGJhY2sgLy8g6aqM6K+B56CB5Zue6LCD5Ye95pWw77yM5pSv5oyBbWVzc2FnZUlk5Y+C5pWwXG4gIH1cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGwgLy8g6ZSZ6K+v5L+h5oGv77yM5oiQ5Yqf5pe25Li6bnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25VcFJlcyB7XG4gIGRhdGE6IHtcbiAgICB2ZXJpZnlPdHA/OiBPdHBDYWxsYmFjayAvLyDpqozor4HnoIHlm57osIPlh73mlbDvvIzmlK/mjIFtZXNzYWdlSWTlj4LmlbBcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2VuZFJlcSB7XG4gIGVtYWlsPzogc3RyaW5nIC8vIOmCrueuse+8iOWPr+mAie+8jOS4juaJi+acuuWPt+S6jOmAieS4gO+8iVxuICBwaG9uZT86IHN0cmluZyAvLyDmiYvmnLrlj7fvvIjlj6/pgInvvIzkuI7pgq7nrrHkuozpgInkuIDvvIlcbiAgdHlwZT86ICdzaWdudXAnIHwgJ2VtYWlsX2NoYW5nZScgfCAncGhvbmVfY2hhbmdlJyB8ICdzbXMnIC8vIOexu+Wei++8iOWPr+mAie+8iVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2VuZFJlcyB7XG4gIGRhdGE6IHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmcgLy8g5raI5oGvSUTvvIjpqozor4HnoIFJRO+8iVxuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlPQXV0aFJlcSB7XG4gIGNvZGU/OiBzdHJpbmcgLy8g5o6I5p2D56CB77yI5Y+v6YCJ77yM6buY6K6k5LuOVVJM5Y+C5pWw6I635Y+W77yJXG4gIHN0YXRlPzogc3RyaW5nIC8vIOeKtuaAgeWPguaVsO+8iOWPr+mAie+8jOm7mOiupOS7jlVSTOWPguaVsOiOt+WPlu+8iVxuICBwcm92aWRlcj86IHN0cmluZyAvLyDnrKzkuInmlrnlubPlj7DmoIfor4bvvIjlj6/pgInvvIzpu5jorqTku45zZXNzaW9u6I635Y+W77yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlVXNlckF0dHJpYnV0ZXMge1xuICBub25jZTogc3RyaW5nIC8vIOmqjOivgeeggVxuICBwYXNzd29yZDogc3RyaW5nIC8vIOaWsOWvhueggVxufVxuXG4vLyDph43nva7lr4bnoIHlk43lupTnsbvlnotcbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZEZvckVtYWlsUmVzIHtcbiAgZGF0YToge1xuICAgIHVwZGF0ZVVzZXI/OiAoYXR0cmlidXRlczogVXBkYXRlVXNlckF0dHJpYnV0ZXMpID0+IFByb21pc2U8U2lnbkluUmVzPiAvLyDpqozor4HnoIHlm57osIPlh73mlbDvvIzmlK/mjIHmlrDlr4bnoIHlj4LmlbBcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbi8vIOmHjeaWsOiupOivgeWTjeW6lOexu+Wei1xuZXhwb3J0IGludGVyZmFjZSBSZWF1dGhlbnRpY2F0ZVJlcyB7XG4gIGRhdGE6IHtcbiAgICB1cGRhdGVVc2VyPzogKGF0dHJpYnV0ZXM6IFVwZGF0ZVVzZXJBdHRyaWJ1dGVzKSA9PiBQcm9taXNlPFNpZ25JblJlcz4gLy8g6aqM6K+B56CB5Zue6LCD5Ye95pWw77yM5pSv5oyB5paw5a+G56CB5Y+C5pWwXG4gIH1cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGwgLy8g6ZSZ6K+v5L+h5oGv77yM5oiQ5Yqf5pe25Li6bnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFNlc3Npb25SZXEge1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZyAvLyDorr/pl67ku6TniYxcbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nIC8vIOWIt+aWsOS7pOeJjFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1lUmVxIHtcbiAgcGFzc3dvcmQ6IHN0cmluZyAvLyDnlKjmiLflr4bnoIFcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkRm9yT2xkUmVxIHtcbiAgb2xkX3Bhc3N3b3JkOiBzdHJpbmcgLy8g5pen5a+G56CBXG4gIG5ld19wYXNzd29yZDogc3RyaW5nIC8vIOaWsOWvhueggVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeU9BdXRoUmVzIHtcbiAgZGF0YToge1xuICAgIHVzZXI/OiBVc2VyIC8vIOeUqOaIt+S/oeaBr1xuICAgIHNlc3Npb24/OiBTZXNzaW9uIC8vIOS8muivneS/oeaBr1xuICAgIHJlZGlyZWN0VXJsPzogc3RyaW5nIC8vIOi3s+i9rFVSTO+8jOi3s+i9rOesrOS4ieaWueaOiOadg+S5i+WJjeeahFVSTOaIlueUqOaIt+iwg+eUqCBzaWduSW5XaXRoT0F1dGgg5pe25Lyg5YWl55qEcmVkaXJlY3RUb1xuICAgIHByb3ZpZGVyPzogc3RyaW5nIC8vIOe7keWumueahOi6q+S7vea6kOagh+ivhlxuICAgIHR5cGU/OiAodHlwZW9mIE9BVVRIX1RZUEUpW2tleW9mIHR5cGVvZiBPQVVUSF9UWVBFXSAvLyDnsbvlnovvvIjlj6/pgInvvInvvIzpu5jorqTkuLonc2lnbl9pbicsIHNpZ25faW46IOeZu+W9le+8jGJpbmRfaWRlbnRpdHk6IOe7keWumui6q+S7vVxuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cbiJdfQ==
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRS9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBhdXRoTW9kZWxzLCBPQVVUSF9UWVBFIH0gZnJvbSAnQGNsb3VkYmFzZS9vYXV0aCdcbmltcG9ydCB7IEF1dGhFcnJvciwgQXV0aEVycm9yQ2F0ZWdvcnkgfSBmcm9tICdAY2xvdWRiYXNlL29hdXRoJ1xuXG5leHBvcnQgeyBBdXRoRXJyb3JDYXRlZ29yeSB9XG5cblxuLyoqXG4gKiBzaWduSW5Bbm9ueW1vdXNseSDor7fmsYLlj4LmlbBcbiAqXG4gKiAqKuWJjee9ruadoeS7tioq77ya5L2/55So5q2k5pa55rOV5YmN77yM6K+356Gu5L+d5bey5Zyo5LqR5byA5Y+R5o6n5Yi25Y+w77yI546v5aKDIOKGkiDnmbvlvZXmjojmnYMg4oaSIOi6q+S7vea6kOWIl+ihqO+8ieW8gOWQr+OAjOWMv+WQjeeZu+W9leOAjeOAglxuICpcbiAqICoq5L2/55So5Zy65pmvKirvvJpcbiAqIC0g5peg6ZyA55So5oi35rOo5YaM5Y2z5Y+v5L2/55So5bqU55So5Yqf6IO9XG4gKiAtIOS4tOaXtuiuv+mXruaIluW/q+mAn+S9k+mqjOWcuuaZr1xuICogLSDmtYvor5Uv6Ieq5Yqo5YyW546v5aKD5Lit5LiN6ZyA6KaB55yf5a6e55So5oi35Yet5o2u5pe2XG4gKlxuICogKirms6jmhI8qKu+8muWMv+WQjeeZu+W9leS4juWvhueggeeZu+W9leaYr+S4pOenjeeLrOeri+eahOeZu+W9leaWueW8j++8jOS4jeimgeWcqOWMv+WQjeeZu+W9leWksei0peWQjuiHquWKqOWbnumAgOWIsOWvhueggeeZu+W9leOAglxuICog5aaC5p6c5Yy/5ZCN55m75b2V6L+U5ZueIFBST1ZJREVSX05PVF9FTkFCTEVEIOmUmeivr++8jOivtOaYjumcgOimgeWcqOaOp+WItuWPsOW8gOWQr+WMv+WQjeeZu+W9leWKn+iDveOAglxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbkFub255bW91c2x5UmVxIHtcbiAgcHJvdmlkZXJfdG9rZW4/OiBzdHJpbmcgLy8g5o+Q5L6b5Luk54mMXG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgVXNlciA9IHtcbiAgaWQ6IGFueSAvLyDnlKjmiLdJRFxuICBhdWQ6IHN0cmluZyAvLyDlj5fkvJdcbiAgcm9sZTogc3RyaW5nW10gLy8g55So5oi36KeS6ImyXG4gIGVtYWlsOiBhbnkgLy8g6YKu566xXG4gIGVtYWlsX2NvbmZpcm1lZF9hdDogc3RyaW5nIC8vIOmCrueuseehruiupOaXtumXtFxuICBwaG9uZTogYW55IC8vIOaJi+acuuWPt1xuICBwaG9uZV9jb25maXJtZWRfYXQ6IHN0cmluZyAvLyDmiYvmnLrlj7fnoa7orqTml7bpl7RcbiAgY29uZmlybWVkX2F0OiBzdHJpbmcgLy8g56Gu6K6k5pe26Ze0XG4gIGxhc3Rfc2lnbl9pbl9hdDogc3RyaW5nIC8vIOacgOWQjueZu+W9leaXtumXtFxuICBhcHBfbWV0YWRhdGE6IHtcbiAgICAvLyDlupTnlKjlhYPmlbDmja5cbiAgICBwcm92aWRlcjogYW55IC8vIOaPkOS+m+WVhlxuICAgIHByb3ZpZGVyczogYW55W10gLy8g5o+Q5L6b5ZWG5YiX6KGoXG4gIH1cbiAgdXNlcl9tZXRhZGF0YToge1xuICAgIC8vIOeUqOaIt+WFg+aVsOaNrlxuICAgIG5hbWU6IGFueSAvLyDlp5PlkI1cbiAgICBwaWN0dXJlOiBhbnkgLy8g5aS05YOPXG4gICAgdXNlcm5hbWU6IGFueSAvLyDnlKjmiLflkI1cbiAgICBnZW5kZXI6IGFueSAvLyDmgKfliKtcbiAgICBsb2NhbGU6IGFueSAvLyDlnLDljLpcbiAgICB1aWQ6IGFueSAvLyDnlKjmiLdJRFxuICAgIG5pY2tOYW1lOiBhbnkgLy8g5pi156ewXG4gICAgYXZhdGFyVXJsOiBhbnkgLy8g5aS05YOPVVJMXG4gICAgbG9jYXRpb246IGFueSAvLyDkvY3nva5cbiAgICBoYXNQYXNzd29yZDogYW55IC8vIOaYr+WQpuacieWvhueggVxuICB9XG4gIGlkZW50aXRpZXM6IGFueSAvLyDouqvku73kv6Hmga9cbiAgY3JlYXRlZF9hdDogc3RyaW5nIC8vIOWIm+W7uuaXtumXtFxuICB1cGRhdGVkX2F0OiBzdHJpbmcgLy8g5pu05paw5pe26Ze0XG4gIGlzX2Fub255bW91czogYm9vbGVhbiAvLyDmmK/lkKbljL/lkI3nlKjmiLdcbn1cblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTZXNzaW9uID0ge1xuICBhY2Nlc3NfdG9rZW4/OiBzdHJpbmcgLy8g6K6/6Zeu5Luk54mMXG4gIHJlZnJlc2hfdG9rZW4/OiBzdHJpbmcgLy8g5Yi35paw5Luk54mMXG4gIGV4cGlyZXNfaW4/OiBudW1iZXIgLy8g6L+H5pyf5pe26Ze077yI56eS77yJXG4gIHRva2VuX3R5cGU/OiBzdHJpbmcgLy8g5Luk54mM57G75Z6LXG4gIHVzZXI6IFVzZXIgLy8g55So5oi35L+h5oGvXG59XG5cbi8qKlxuICogc2lnbkluV2l0aFBhc3N3b3JkIOivt+axguWPguaVsFxuICpcbiAqICoq6YeN6KaB5o+Q56S6KirvvJrkvb/nlKjmraTmlrnms5XliY3vvIzor7fnoa7kv53lt7LlnKjkupHlvIDlj5HmjqfliLblj7DvvIjnjq/looMg4oaSIOeZu+W9leaOiOadgyDihpIg6Lqr5Lu95rqQ5YiX6KGo77yJXG4gKiDlvIDlkK/jgIznlKjmiLflkI3lr4bnoIHnmbvlvZXjgI3mlrnlvI/jgILlpoLmnKrlvIDlkK/vvIznmbvlvZXml7bkvJrov5Tlm54gQXV0aEVycm9yQ2F0ZWdvcnkuUFJPVklERVJfTk9UX0VOQUJMRUQg6ZSZ6K+v44CCXG4gKlxuICogKirlh63mja7mnaXmupAqKu+8mlxuICogLSDnlKjmiLfmiYvliqjovpPlhaXvvIjkuqTkupLlvI/lnLrmma/vvIlcbiAqIC0g546v5aKD5Y+Y6YePIEVOVl9JRCAvIFVTRVJfTkFNRSAvIFBBU1NXT1JE77yI6Ieq5Yqo5YyWL2FnZW50IOWcuuaZr++8iVxuICogLSDor7fnoa7kv53lh63mja7lr7nlupTnmoTnlKjmiLflt7LlnKjnm67moIcgZW52SWQg546v5aKD5Lit5rOo5YaMXG4gKlxuICogKirluLjop4HplJnor68qKu+8mlxuICogLSBgaW52YWxpZF91c2VybmFtZV9vcl9wYXNzd29yZGDvvJrnlKjmiLflkI3miJblr4bnoIHplJnor6/vvIzor7fmoLjlrp7lh63mja5cbiAqIC0gYFBST1ZJREVSX05PVF9FTkFCTEVEYO+8mueUqOaIt+WQjeWvhueggeeZu+W9leacquW8gOWQr++8jOmcgOWcqOaOp+WItuWPsOmFjee9rlxuICogLSBgbm90X2ZvdW5kYO+8mueUqOaIt+S4jeWtmOWcqO+8jOmcgOWFiOazqOWGjFxuICpcbiAqICoq5rOo5oSPKirvvJrkuI3lkIzkupHlvIDlj5Hnjq/looPnmoTnlKjmiLflupPmmK/pmpTnprvnmoTvvIzor7fnoa7orqQgZW52SWQg5LiO5Yet5o2u5Yy56YWN44CCXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluV2l0aFBhc3N3b3JkUmVxIHtcbiAgdXNlcm5hbWU/OiBzdHJpbmcgLy8g55So5oi35ZCN56ew77yI5Y+v6YCJ77yM5LiO6YKu566x44CB5omL5py65Y+35LiJ6YCJ5LiA77yJ77yM6ZW/5bqmIDUtMjQg5L2N77yM5pSv5oyB5a2X56ym5Lit6Iux5paH44CB5pWw5a2X44CB54m55q6K5a2X56ym77yI5LuF5pSv5oyBXy3vvInvvIzkuI3mlK/mjIHkuK3mlodcbiAgZW1haWw/OiBzdHJpbmcgLy8g6YKu566x77yI5Y+v6YCJ77yM5LiO55So5oi35ZCN44CB5omL5py65Y+35LiJ6YCJ5LiA77yJXG4gIHBob25lPzogc3RyaW5nIC8vIOaJi+acuuWPt++8iOWPr+mAie+8jOS4jueUqOaIt+WQjeOAgemCrueuseS4iemAieS4gO+8iVxuICBwYXNzd29yZDogc3RyaW5nIC8vIOWvhuegge+8iOW/heWhq++8iVxuICBpc19lbmNyeXB0PzogYm9vbGVhbiAvLyDmmK/lkKbliqDlr4bvvIzpu5jorqTkuLpmYWxzZVxufVxuXG4vLyDpgJrnlKjlk43lupTnsbvlnotcbmV4cG9ydCBpbnRlcmZhY2UgQ29tbW9uUmVzIHtcbiAgZGF0YToge30gLy8g5oiQ5Yqf5pe25Li656m65a+56LGhXG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuLyoqXG4gKiDnmbvlvZXmk43kvZzlk43lupTnsbvlnotcbiAqXG4gKiDlvZMgZXJyb3Ig5LiN5Li6IG51bGwg5pe277yMZXJyb3Ig5a+56LGh5YyF5ZCr77yaXG4gKiAtIGBjYXRlZ29yeWA6IOmUmeivr+WIhuexu++8iEF1dGhFcnJvckNhdGVnb3J5IOaemuS4vu+8ie+8jOWPr+eUqOS6jueoi+W6j+WMluWIpOaWremUmeivr+exu+Wei1xuICogLSBgaGVscE1lc3NhZ2VgOiDlj6/mk43kvZzmgKfmjIflvJXkv6Hmga/vvIzljIXlkKvmjpLmn6XmraXpqqTlkozop6PlhrPmlrnmoYhcbiAqIC0gYGxvZ2luTWV0aG9kSGludGA6IOeZu+W9leaWueW8j+mAieaLqeW7uuiuru+8jOW4ruWKqemAieaLqeato+ehrueahOeZu+W9leaWueazlVxuICogLSBgY29kZWA6IOacjeWKoeerr+i/lOWbnueahOmUmeivr+egge+8iOWmgiAnaW52YWxpZF91c2VybmFtZV9vcl9wYXNzd29yZCfjgIEnaW52YWxpZF9wYXNzd29yZCfvvIlcbiAqIC0gYG1lc3NhZ2VgOiDplJnor6/mj4/ov7BcbiAqXG4gKiDnpLrkvovvvJpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHsgZGF0YSwgZXJyb3IgfSA9IGF3YWl0IGF1dGguc2lnbkluV2l0aFBhc3N3b3JkKHsgdXNlcm5hbWU6ICd0ZXN0JywgcGFzc3dvcmQ6ICcxMjMnIH0pXG4gKiBpZiAoZXJyb3IpIHtcbiAqICAgaWYgKGVycm9yLmNhdGVnb3J5ID09PSBBdXRoRXJyb3JDYXRlZ29yeS5QUk9WSURFUl9OT1RfRU5BQkxFRCkge1xuICogICAgIC8vIOi6q+S7vea6kOacquW8gOWQr++8jOW8leWvvOeUqOaIt+aIlueuoeeQhuWRmOW8gOWQr1xuICogICAgIGNvbnNvbGUubG9nKGVycm9yLmhlbHBNZXNzYWdlKVxuICogICB9IGVsc2UgaWYgKGVycm9yLmNhdGVnb3J5ID09PSBBdXRoRXJyb3JDYXRlZ29yeS5JTlZBTElEX0NSRURFTlRJQUxTKSB7XG4gKiAgICAgLy8g5Yet5o2u6ZSZ6K+v77yI5YyF5ousIGludmFsaWRfdXNlcm5hbWVfb3JfcGFzc3dvcmTvvInvvIzmj5DnpLrnlKjmiLfmo4Dmn6Xlr4bnoIFcbiAqICAgICBjb25zb2xlLmxvZyhlcnJvci5oZWxwTWVzc2FnZSlcbiAqICAgfVxuICogfVxuICogYGBgXG4gKlxuICogKiphZ2VudC/oh6rliqjljJblnLrmma/ms6jmhI8qKu+8mlxuICogLSDkuI3opoHlnKggc2lnbkluQW5vbnltb3VzbHkoKSDlpLHotKXlkI7oh6rliqjlm57pgIDliLAgc2lnbkluV2l0aFBhc3N3b3JkKClcbiAqIC0g5Lik56eN55m75b2V5pa55byP55qE6YCC55So5Zy65pmv5LiN5ZCM77yM5bqU5qC55o2u5Lu75Yqh6ZyA5rGC5piO56Gu6YCJ5oupXG4gKiAtIOS9v+eUqCBlcnJvci5sb2dpbk1ldGhvZEhpbnQg6I635Y+W5b2T5YmN55m75b2V5pa55byP55qE5L2/55So5bu66K6uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluUmVzIHtcbiAgZGF0YToge1xuICAgIHVzZXI/OiBVc2VyIC8vIOeUqOaIt+S/oeaBr1xuICAgIHNlc3Npb24/OiBTZXNzaW9uIC8vIOS8muivneS/oeaBr1xuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRVc2VyUmVzIHtcbiAgZGF0YToge1xuICAgIHVzZXI/OiBVc2VyIC8vIOeUqOaIt+ivpue7huS/oeaBr1xuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuLy8g5pu05paw55So5oi36aqM6K+B5Zue6LCD5Y+C5pWwXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVVzZXJWZXJpZnlPdHBQYXJhbXMge1xuICBlbWFpbD86IHN0cmluZyAvLyDpgq7nrrHvvIjlj6/pgInvvIzkuI7miYvmnLrlj7fkuozpgInkuIDvvIlcbiAgcGhvbmU/OiBzdHJpbmcgLy8g5omL5py65Y+377yI5Y+v6YCJ77yM5LiO6YKu566x5LqM6YCJ5LiA77yJXG4gIHRva2VuOiBzdHJpbmcgLy8g6aqM6K+B56CB77yI5b+F5aGr77yJXG59XG5cbi8vIOabtOaWsOeUqOaIt+mqjOivgeWbnuiwg+exu+Wei1xuZGVjbGFyZSB0eXBlIFVwZGF0ZVVzZXJWZXJpZnlDYWxsYmFjayA9IChwYXJhbXM6IFVwZGF0ZVVzZXJWZXJpZnlPdHBQYXJhbXMpID0+IFByb21pc2U8R2V0VXNlclJlcz5cblxuLy8g5pu05paw55So5oi35ZON5bqU57G75Z6L77yI5b2T6ZyA6KaB6aqM6K+B5pe277yJXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVVzZXJXaXRoVmVyaWZpY2F0aW9uUmVzIHtcbiAgZGF0YToge1xuICAgIHZlcmlmeU90cD86IFVwZGF0ZVVzZXJWZXJpZnlDYWxsYmFjayAvLyDpqozor4HnoIHlm57osIPlh73mlbBcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmcgLy8g6aqM6K+B56CBSURcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluV2l0aElkVG9rZW5SZXEge1xuICBwcm92aWRlcj86IHN0cmluZyAvLyDnrKzkuInmlrnlubPlj7DmoIfor4bvvIjlj6/pgInvvIlcbiAgdG9rZW46IHN0cmluZyAvLyDnrKzkuInmlrnlubPlj7DnmoTouqvku73ku6TniYzvvIjlv4XloavvvIlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5XaXRoT0F1dGhSZXEge1xuICBwcm92aWRlcjogc3RyaW5nIC8vIOesrOS4ieaWueW5s+WPsOagh+ivhu+8iOW/heWhq++8iVxuICBvcHRpb25zPzoge1xuICAgIC8vIOmFjee9rumAiemhue+8iOWPr+mAie+8iVxuICAgIHJlZGlyZWN0VG8/OiBzdHJpbmcgLy8g5Zue6LCD5Zyw5Z2A77yM6buY6K6k5Li65b2T5YmN6aG16Z2iXG4gICAgc2tpcEJyb3dzZXJSZWRpcmVjdD86IGJvb2xlYW4gLy8g5piv5ZCm6Lez6L2s6Iez5o6I5p2D6aG16Z2i77yM6buY6K6k5Li6ZmFsc2VcbiAgICBzdGF0ZT86IHN0cmluZyAvLyDnirbmgIHlj4LmlbDvvIznlKjkuo7lronlhajpqozor4HvvIzpu5jorqTkuLrpmo/mnLrlrZfnrKbkuLLvvIjmoLzlvI/vvJpwcmQte3Byb3ZpZGVyfS176ZqP5py65a2X56ym5Liyfe+8iVxuICAgIHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiAvLyDpop3lpJbnmoTmn6Xor6Llj4LmlbDvvIzlsIblkIjlubbliLDmjojmnYMgVVJJIOS4rVxuICAgIHR5cGU/OiAodHlwZW9mIE9BVVRIX1RZUEUpW2tleW9mIHR5cGVvZiBPQVVUSF9UWVBFXSAvLyDnsbvlnovvvIjlj6/pgInvvInvvIzpu5jorqTkuLonc2lnbl9pbicsIHNpZ25faW46IOeZu+W9le+8jGJpbmRfaWRlbnRpdHk6IOe7keWumui6q+S7vVxuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluT0F1dGhSZXMge1xuICBkYXRhOiB7XG4gICAgdXJsPzogc3RyaW5nIC8vIOaOiOadg+mhtemdolVSTFxuICAgIHByb3ZpZGVyPzogc3RyaW5nIC8vIOesrOS4ieaWueW5s+WPsOagh+ivhlxuICAgIHNjb3Blcz86IHN0cmluZyAvLyDmjojmnYPojIPlm7RcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0Q2xhaW1zUmVzIHtcbiAgZGF0YToge1xuICAgIC8vIOS7pOeJjOWjsOaYjuS/oeaBr1xuICAgIGNsYWltcz86IHtcbiAgICAgIGlzczogc3RyaW5nIC8vIGlzc3VlclxuICAgICAgc3ViOiBzdHJpbmcgLy8gc3ViamVjdFxuICAgICAgYXVkOiBzdHJpbmcgLy8gIGF1ZGllbmNlXG4gICAgICBleHA6IG51bWJlciAvLyAgZXhwaXJhdGlvbiB0aW1lXG4gICAgICBpYXQ6IG51bWJlciAvLyBpc3N1ZWQgYXRcbiAgICAgIGF0X2hhc2g6IHN0cmluZyAvLyBhY2Nlc3MgdG9rZW4gaGFzaFxuICAgICAgbmFtZTogc3RyaW5nIC8vIOWQjeensFxuICAgICAgcGljdHVyZT86IHN0cmluZyAvLyDlpLTlg49VUkxcbiAgICAgIGVtYWlsPzogc3RyaW5nIC8vIOmCrueusVxuICAgICAgcGhvbmVfbnVtYmVyPzogc3RyaW5nIC8vIOaJi+acuuWPt1xuICAgICAgc2NvcGU6IHN0cmluZyAvLyDmjojmnYPojIPlm7RcbiAgICAgIHByb2plY3RfaWQ6IHN0cmluZyAvLyDpobnnm65JRFxuICAgICAgcHJvdmlkZXI/OiBzdHJpbmcgLy8g56ys5LiJ5pa55bmz5Y+w5qCH6K+GXG4gICAgICBwcm92aWRlcl90eXBlPzogc3RyaW5nIC8vIOesrOS4ieaWueW5s+WPsOexu+Wei1xuICAgICAgZ3JvdXBzPzogc3RyaW5nW10gLy8g55So5oi357uEXG4gICAgICBtZXRhPzoge1xuICAgICAgICB3eE9wZW5JZD86IHN0cmluZ1xuICAgICAgICB3eFVuaW9uSWQ/OiBzdHJpbmdcbiAgICAgIH1cbiAgICAgIHVzZXJfaWQ6IHN0cmluZyAvLyDnlKjmiLdJRFxuICAgICAgcm9sZXM6IHN0cmluZ1tdIC8vIOinkuiJslxuICAgICAgdXNlcl90eXBlOiBzdHJpbmcgLy8g55So5oi357G75Z6LXG4gICAgICBjbGllbnRfdHlwZTogc3RyaW5nIC8vIOWuouaIt+err+exu+Wei1xuICAgICAgaXNfc3lzdGVtX2FkbWluOiBib29sZWFuIC8vIOaYr+WQpuezu+e7n+euoeeQhuWRmFxuICAgIH1cbiAgICAvLyDku6TniYzlpLTpg6jkv6Hmga9cbiAgICBoZWFkZXI/OiB7XG4gICAgICBhbGc6IHN0cmluZyAvLyDliqDlr4bnrpfms5VcbiAgICAgIGtpZDogc3RyaW5nIC8vIOS7pOeJjElEXG4gICAgfVxuICAgIHNpZ25hdHVyZT86IHN0cmluZyAvLyDku6TniYznrb7lkI1cbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlVXNlclJlcSBleHRlbmRzIGF1dGhNb2RlbHMuTW9kaWZ5VXNlckJhc2ljSW5mb1JlcXVlc3Qge1xuICBlbWFpbD86IHN0cmluZyAvLyDpgq7nrrHvvIjlj6/pgInvvIlcbiAgcGhvbmU/OiBzdHJpbmcgLy8g5omL5py65Y+377yI5Y+v6YCJ77yJXG4gIHVzZXJuYW1lPzogc3RyaW5nIC8vIOeUqOaIt+WQjeensO+8iOWPr+mAie+8ie+8jOmVv+W6piA1LTI0IOS9je+8jOaUr+aMgeWtl+espuS4reiLseaWh+OAgeaVsOWtl+OAgeeJueauiuWtl+espu+8iOS7heaUr+aMgV8t77yJ77yM5LiN5pSv5oyB5Lit5paHXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIC8vIOaPj+i/sO+8iOWPr+mAie+8iVxuICBhdmF0YXJfdXJsPzogc3RyaW5nIC8vIOWktOWDj1VSTO+8iOWPr+mAie+8iVxuICBuaWNrbmFtZT86IHN0cmluZyAvLyDmmLXnp7DvvIjlj6/pgInvvIlcbiAgZ2VuZGVyPzogJ01BTEUnIHwgJ0ZFTUFMRScgLy8g5oCn5Yir77yI5Y+v6YCJ77yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VXNlcklkZW50aXRpZXNSZXMge1xuICBkYXRhOiB7XG4gICAgaWRlbnRpdGllcz86XG4gICAgfCBBcnJheTx7XG4gICAgICBpZDogc3RyaW5nIC8vIOi6q+S7vea6kOagh+ivhlxuICAgICAgbmFtZTogc3RyaW5nIC8vIOi6q+S7vea6kOWQjeensFxuICAgICAgcGljdHVyZTogc3RyaW5nIC8vIOWktOWDj1VSTFxuICAgIH0+XG4gIH1cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGwgLy8g6ZSZ6K+v5L+h5oGv77yM5oiQ5Yqf5pe25Li6bnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtJZGVudGl0eVJlcSB7XG4gIHByb3ZpZGVyOiBzdHJpbmcgLy8g6Lqr5Lu95rqQ5qCH6K+G77yI5b+F5aGr77yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5saW5rSWRlbnRpdHlSZXEge1xuICBwcm92aWRlcjogc3RyaW5nIC8vIOi6q+S7vea6kOagh+ivhu+8iOW/heWhq++8iVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtJZGVudGl0eVJlcyB7XG4gIGRhdGE6IHtcbiAgICBwcm92aWRlcj86IHN0cmluZyAvLyDnu5HlrprnmoTouqvku73mupDmoIfor4ZcbiAgICB0eXBlPzogKHR5cGVvZiBPQVVUSF9UWVBFKVtrZXlvZiB0eXBlb2YgT0FVVEhfVFlQRV0gLy8g57G75Z6L77yI5Y+v6YCJ77yJ77yM6buY6K6k5Li6J3NpZ25faW4nLCBzaWduX2luOiDnmbvlvZXvvIxiaW5kX2lkZW50aXR5OiDnu5Hlrprouqvku71cbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgT25BdXRoU3RhdGVDaGFuZ2VFdmVudCA9XG4gIHwgJ1NJR05FRF9PVVQnIC8vIOeUqOaIt+W3sueZu+WHulxuICB8ICdTSUdORURfSU4nIC8vIOeUqOaIt+eZu+W9leaIkOWKn1xuICB8ICdJTklUSUFMX1NFU1NJT04nIC8vIOWIneWni+S8muivneW3suW7uueri1xuICB8ICdQQVNTV09SRF9SRUNPVkVSWScgLy8g5a+G56CB5bey6YeN572uXG4gIHwgJ1RPS0VOX1JFRlJFU0hFRCcgLy8g5Luk54mM5bey5Yi35pawXG4gIHwgJ1VTRVJfVVBEQVRFRCcgLy8g55So5oi35L+h5oGv5bey5pu05pawXG4gIHwgJ0JJTkRfSURFTlRJVFknIC8vIOi6q+S7vea6kOe7keWumue7k+aenFxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIE9uQXV0aFN0YXRlQ2hhbmdlQ2FsbGJhY2sgPSAoXG4gIGV2ZW50OiBPbkF1dGhTdGF0ZUNoYW5nZUV2ZW50LFxuICBzZXNzaW9uOiBTZXNzaW9uLFxuICBpbmZvPzogUmVjb3JkPHN0cmluZywgYW55PixcbikgPT4gdm9pZFxuXG50eXBlIE1vYmlsZU90cFR5cGUgPSAnc21zJyB8ICdwaG9uZV9jaGFuZ2UnXG50eXBlIEVtYWlsT3RwVHlwZSA9ICdzaWdudXAnIHwgJ2ludml0ZScgfCAnbWFnaWNsaW5rJyB8ICdyZWNvdmVyeScgfCAnZW1haWxfY2hhbmdlJyB8ICdlbWFpbCdcbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5T3RwUmVxIHtcbiAgdHlwZT86IE1vYmlsZU90cFR5cGUgfCBFbWFpbE90cFR5cGVcbiAgZW1haWw/OiBzdHJpbmcgLy8g6YKu566x77yI5Y+v6YCJ77yM5LiO5omL5py65Y+35LqM6YCJ5LiA77yJXG4gIHBob25lPzogc3RyaW5nIC8vIOaJi+acuuWPt++8iOWPr+mAie+8jOS4jumCrueuseS6jOmAieS4gO+8iVxuICB0b2tlbjogc3RyaW5nIC8vIOmqjOivgeegge+8iOW/heWhq++8iVxuICBtZXNzYWdlSWQ/OiBzdHJpbmcgLy8g6aqM6K+B56CB5a+55bqUSUTvvIjlj6/pgInvvIlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5XaXRoT3RwUmVxIHtcbiAgZW1haWw/OiBzdHJpbmcgLy8g6YKu566x77yI5Y+v6YCJ77yM5LiO5omL5py65Y+35LqM6YCJ5LiA77yJXG4gIHBob25lPzogc3RyaW5nIC8vIOaJi+acuuWPt++8iOWPr+mAie+8jOS4jumCrueuseS6jOmAieS4gO+8iVxuICBvcHRpb25zPzoge1xuICAgIHNob3VsZENyZWF0ZVVzZXI/OiBib29sZWFuIC8vIOWmguaenOeUqOaIt+S4jeWtmOWcqOaYr+WQpuWIm+W7uueUqOaIt++8jOm7mOiupOS4unRydWVcbiAgICBlbWFpbFJlZGlyZWN0VG8/OiBzdHJpbmcgLy8g6YKu566x55m75b2V5Zue6LCD5Zyw5Z2A77yM5aGr5YaZ5ZCO5YiZ5Lya5Y+R6YCB6K6k6K+B6ZO+5o6l6Iez6YKu566x77yM5ZCm5YiZ5Y+R6YCB6aqM6K+B56CBXG4gIH1cbn1cblxuLyoqXG4gKlxuICogQHBhcmFtIGNvZGUg6aqM6K+B56CBXG4gKiBAcGFyYW0gbWVzc2FnZUlkIOWPr+mAie+8jFJlc2VuZFJlcy5kYXRhLm1lc3NhZ2VJZFxuICogQHJldHVybnNcbiAqL1xuZGVjbGFyZSB0eXBlIE90cENhbGxiYWNrID0gKHBhcmFtczogVmVyaWZ5T3RwUmVxKSA9PiBQcm9taXNlPFNpZ25JblJlcz5cblxuZXhwb3J0IGludGVyZmFjZSBTaWduSW5XaXRoT3RwUmVzIHtcbiAgZGF0YTogU2lnbkluUmVzWydkYXRhJ10gJiB7XG4gICAgdmVyaWZ5T3RwPzogT3RwQ2FsbGJhY2sgLy8g6aqM6K+B56CB5Zue6LCD5Ye95pWw77yM5pSv5oyBbWVzc2FnZUlk5Y+C5pWwXG4gIH1cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGwgLy8g6ZSZ6K+v5L+h5oGv77yM5oiQ5Yqf5pe25Li6bnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25VcFJlcyB7XG4gIGRhdGE6IHtcbiAgICB1c2VyPzogVXNlciAvLyDnlKjmiLfkv6Hmga/vvIjmiYvmnLrlj7fpqozor4HnoIHms6jlhoznm7TmjqXov5Tlm57vvIlcbiAgICBzZXNzaW9uPzogU2Vzc2lvbiAvLyDkvJror53kv6Hmga/vvIjmiYvmnLrlj7fpqozor4HnoIHms6jlhoznm7TmjqXov5Tlm57vvIlcbiAgICB2ZXJpZnlPdHA/OiBPdHBDYWxsYmFjayAvLyDpqozor4HnoIHlm57osIPlh73mlbDvvIzmlK/mjIFtZXNzYWdlSWTlj4LmlbBcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2VuZFJlcSB7XG4gIGVtYWlsPzogc3RyaW5nIC8vIOmCrueuse+8iOWPr+mAie+8jOS4juaJi+acuuWPt+S6jOmAieS4gO+8iVxuICBwaG9uZT86IHN0cmluZyAvLyDmiYvmnLrlj7fvvIjlj6/pgInvvIzkuI7pgq7nrrHkuozpgInkuIDvvIlcbiAgdHlwZT86ICdzaWdudXAnIHwgJ2VtYWlsX2NoYW5nZScgfCAncGhvbmVfY2hhbmdlJyB8ICdzbXMnIC8vIOexu+Wei++8iOWPr+mAie+8iVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc2VuZFJlcyB7XG4gIGRhdGE6IHtcbiAgICBtZXNzYWdlSWQ/OiBzdHJpbmcgLy8g5raI5oGvSUTvvIjpqozor4HnoIFJRO+8iVxuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWZXJpZnlPQXV0aFJlcSB7XG4gIGNvZGU/OiBzdHJpbmcgLy8g5o6I5p2D56CB77yI5Y+v6YCJ77yM6buY6K6k5LuOVVJM5Y+C5pWw6I635Y+W77yJXG4gIHN0YXRlPzogc3RyaW5nIC8vIOeKtuaAgeWPguaVsO+8iOWPr+mAie+8jOm7mOiupOS7jlVSTOWPguaVsOiOt+WPlu+8iVxuICBwcm92aWRlcj86IHN0cmluZyAvLyDnrKzkuInmlrnlubPlj7DmoIfor4bvvIjlj6/pgInvvIzpu5jorqTku45zZXNzaW9u6I635Y+W77yJXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlVXNlckF0dHJpYnV0ZXMge1xuICBub25jZTogc3RyaW5nIC8vIOmqjOivgeeggVxuICBwYXNzd29yZDogc3RyaW5nIC8vIOaWsOWvhueggVxufVxuXG4vLyDph43nva7lr4bnoIHlk43lupTnsbvlnotcbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZEZvckVtYWlsUmVzIHtcbiAgZGF0YToge1xuICAgIHVwZGF0ZVVzZXI/OiAoYXR0cmlidXRlczogVXBkYXRlVXNlckF0dHJpYnV0ZXMpID0+IFByb21pc2U8U2lnbkluUmVzPiAvLyDpqozor4HnoIHlm57osIPlh73mlbDvvIzmlK/mjIHmlrDlr4bnoIHlj4LmlbBcbiAgfVxuICBlcnJvcjogQXV0aEVycm9yIHwgbnVsbCAvLyDplJnor6/kv6Hmga/vvIzmiJDlip/ml7bkuLpudWxsXG59XG5cbi8vIOmHjeaWsOiupOivgeWTjeW6lOexu+Wei1xuZXhwb3J0IGludGVyZmFjZSBSZWF1dGhlbnRpY2F0ZVJlcyB7XG4gIGRhdGE6IHtcbiAgICB1cGRhdGVVc2VyPzogKGF0dHJpYnV0ZXM6IFVwZGF0ZVVzZXJBdHRyaWJ1dGVzKSA9PiBQcm9taXNlPFNpZ25JblJlcz4gLy8g6aqM6K+B56CB5Zue6LCD5Ye95pWw77yM5pSv5oyB5paw5a+G56CB5Y+C5pWwXG4gIH1cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGwgLy8g6ZSZ6K+v5L+h5oGv77yM5oiQ5Yqf5pe25Li6bnVsbFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldFNlc3Npb25SZXEge1xuICBhY2Nlc3NfdG9rZW46IHN0cmluZyAvLyDorr/pl67ku6TniYxcbiAgcmVmcmVzaF90b2tlbjogc3RyaW5nIC8vIOWIt+aWsOS7pOeJjFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZU1lUmVxIHtcbiAgcGFzc3dvcmQ6IHN0cmluZyAvLyDnlKjmiLflr4bnoIFcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNldFBhc3N3b3JkRm9yT2xkUmVxIHtcbiAgb2xkX3Bhc3N3b3JkOiBzdHJpbmcgLy8g5pen5a+G56CBXG4gIG5ld19wYXNzd29yZDogc3RyaW5nIC8vIOaWsOWvhueggVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeU9BdXRoUmVzIHtcbiAgZGF0YToge1xuICAgIHVzZXI/OiBVc2VyIC8vIOeUqOaIt+S/oeaBr1xuICAgIHNlc3Npb24/OiBTZXNzaW9uIC8vIOS8muivneS/oeaBr1xuICAgIHJlZGlyZWN0VXJsPzogc3RyaW5nIC8vIOi3s+i9rFVSTO+8jOi3s+i9rOesrOS4ieaWueaOiOadg+S5i+WJjeeahFVSTOaIlueUqOaIt+iwg+eUqCBzaWduSW5XaXRoT0F1dGgg5pe25Lyg5YWl55qEcmVkaXJlY3RUb1xuICAgIHByb3ZpZGVyPzogc3RyaW5nIC8vIOe7keWumueahOi6q+S7vea6kOagh+ivhlxuICAgIHR5cGU/OiAodHlwZW9mIE9BVVRIX1RZUEUpW2tleW9mIHR5cGVvZiBPQVVUSF9UWVBFXSAvLyDnsbvlnovvvIjlj6/pgInvvInvvIzpu5jorqTkuLonc2lnbl9pbicsIHNpZ25faW46IOeZu+W9le+8jGJpbmRfaWRlbnRpdHk6IOe7keWumui6q+S7vVxuICB9XG4gIGVycm9yOiBBdXRoRXJyb3IgfCBudWxsIC8vIOmUmeivr+S/oeaBr++8jOaIkOWKn+aXtuS4um51bGxcbn1cbiJdfQ==
|
package/dist/esm/v1-compat.js
CHANGED
|
@@ -416,4 +416,4 @@ export function applyUserV1Compat(UserClass) {
|
|
|
416
416
|
});
|
|
417
417
|
};
|
|
418
418
|
}
|
|
419
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEtY29tcGF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3YxLWNvbXBhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsdUJBQXVCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUE7QUFDekIsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxhQUFhLENBQUE7QUFXcEI7SUFDRSw0QkFBWSxRQUlYO0lBRUQsQ0FBQztJQU1NLCtDQUFrQixHQUF6QjtRQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZEO2NBQ3pFLDhEQUE4RCxDQUFFLENBQUE7SUFDdEUsQ0FBQztJQU1ZLDhDQUFpQixHQUE5QixVQUErQixRQUc5Qjs7O2dCQUNDLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTREO3NCQUN4RSx1REFBdUQsQ0FBRSxDQUFBOzs7S0FDOUQ7SUFNWSxrREFBcUIsR0FBbEMsVUFBbUMsUUFFbEM7OztnQkFDQyxNQUFNLElBQUksS0FBSyxDQUFDLGdFQUFnRTtzQkFDNUUsMkRBQTJELENBQUUsQ0FBQTs7O0tBQ2xFO0lBQ0gseUJBQUM7QUFBRCxDQUFDLEFBeENELElBd0NDOztBQVFEO0lBR0UsNEJBQVksT0FFWDtRQUNDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQTtJQUMxQyxDQUFDO0lBT1ksbUNBQU0sR0FBbkIsVUFBb0IsTUFBYzs7Ozs0QkFFaEMsV0FBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUF2QixDQUF1QixDQUFDLEVBQUE7O3dCQUE3RSxTQUE2RSxDQUFBOzs7OztLQUM5RTtJQUNILHlCQUFDO0FBQUQsQ0FBQyxBQWxCRCxJQWtCQzs7QUFRRDtJQUdFLCtC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QUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxVQUFnQixRQUFnQixFQUFFLFNBQWtCOzs7Ozt3QkFDcEYsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7NEJBQ2hDLFVBQVUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLDJCQUEyQixDQUFDLENBQUE7eUJBQy9EO3dCQUdELFdBQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dDQUM3QixLQUFLLEVBQUUsUUFBUTs2QkFDaEIsQ0FBQyxFQUFBOzt3QkFGRixTQUVFLENBQUE7Ozs7O0tBQ0gsQ0FBQTtJQU9ELFNBQVMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsVUFBZ0IsWUFBb0IsRUFBRSxVQUFrQjs7O2dCQUNoRyxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRDtzQkFDNUQsa0ZBQWtGLENBQUUsQ0FBQTs7O0tBQ3pGLENBQUE7SUFPRCxTQUFTLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHLFVBQWdCLFlBQW9CLEVBQUUsVUFBa0I7OztnQkFDOUYsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEM7c0JBQzFELHNEQUFzRCxDQUFFLENBQUE7OztLQUM3RCxDQUFBO0lBT0QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBZ0IsVUFBa0I7OztnQkFDN0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUM7c0JBQy9DLHdEQUF3RCxDQUFFLENBQUE7OztLQUMvRCxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2VsZXNzLWNvbnN0cnVjdG9yICovXG4vKipcbiAqIHYxIOWFvOWuueWxglxuICog5pys5paH5Lu25YyF5ZCrIHYxIOeJiOacrOeahCBQcm92aWRlciDnsbvjgIFBdXRoIHYxIOWFvOWuueaWueazleWSjCBVc2VyIHYxIOWFvOWuueaWueazleOAglxuICogQXV0aCDnsbvpgJrov4cgZXh0ZW5kcyBBdXRoVjFDb21wYXQg5p2l57un5om/IHYxIOaWueazleOAglxuICogVXNlciDnsbvpgJrov4cgYXBwbHlVc2VyVjFDb21wYXQgbWl4aW4g5p2l5omp5bGVIHYxIOaWueazleOAglxuICovXG5pbXBvcnQgdHlwZSB7IGF1dGhNb2RlbHMgfSBmcm9tICdAY2xvdWRiYXNlL29hdXRoJ1xuaW1wb3J0IHtcbiAgTE9HSU5fU1RBVEVfQ0hBTkdFRF9UWVBFLFxuICBBVVRIX1NUQVRFX0NIQU5HRURfVFlQRSxcbn0gZnJvbSAnQGNsb3VkYmFzZS9vYXV0aCdcbmltcG9ydCB7XG4gIHRocm93RXJyb3IsXG4gIEVSUk9SUyxcbn0gZnJvbSAnLi91dGlsaXRpZXMnXG5pbXBvcnQgdHlwZSB7IFNpZ25VcFJlcyB9IGZyb20gJy4vdHlwZSdcblxuLy8gPT09PT09PT09PSB2MSDlhbzlrrkgUHJvdmlkZXIg57G7ID09PT09PT09PT1cblxuLyoqXG4gKiB2MSDlvq7kv6HnmbvlvZUgUHJvdmlkZXJcbiAqIOS9v+eUqOaWueW8jzogYXV0aC53ZWl4aW5BdXRoUHJvdmlkZXIoeyBhcHBpZCwgc2NvcGUgfSkuc2lnbkluV2l0aFJlZGlyZWN0KClcbiAqXG4gKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ44CC5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aE9BdXRoKHsgcHJvdmlkZXIgfSkg5pu/5Luj44CCXG4gKi9cbmV4cG9ydCBjbGFzcyBXZWl4aW5BdXRoUHJvdmlkZXIge1xuICBjb25zdHJ1Y3Rvcihfb3B0aW9uczoge1xuICAgIGF1dGhJbnN0YW5jZTogYW55XG4gICAgYXBwaWQ6IHN0cmluZ1xuICAgIHNjb3BlOiBzdHJpbmdcbiAgfSkge1xuICAgIC8vIHYxIOWFvOWuueexu++8jOaJgOacieaWueazleWdh+aKm+WHuuW8guW4uOaPkOekuuabv+S7o+aWueahiFxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgIJcbiAgICog5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aE9BdXRoKHsgcHJvdmlkZXI6ICdwcm92aWRlcklkJyB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBzaWduSW5XaXRoUmVkaXJlY3QoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdbdjEg5YW85a65XSBXZWl4aW5BdXRoUHJvdmlkZXIuc2lnbkluV2l0aFJlZGlyZWN0KCkg5Zyo5b2T5YmN54mI5pys5Lit5peg5rOV5a6e546w44CCJ1xuICAgICAgKyAnIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhPQXV0aCh7IHByb3ZpZGVyOiBcXCdwcm92aWRlcklkXFwnIH0pIOabv+S7o+OAgicsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgIJcbiAgICog5bu66K6u5L2/55SoIGF1dGgudmVyaWZ5T0F1dGgoeyBjb2RlLCBzdGF0ZSwgcHJvdmlkZXIgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UmVkaXJlY3RSZXN1bHQoX29wdGlvbnM/OiB7XG4gICAgY3JlYXRlVXNlcj86IGJvb2xlYW5cbiAgICBzeW5jVXNlckluZm8/OiBib29sZWFuXG4gIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignW3YxIOWFvOWuuV0gV2VpeGluQXV0aFByb3ZpZGVyLmdldFJlZGlyZWN0UmVzdWx0KCkg5Zyo5b2T5YmN54mI5pys5Lit5peg5rOV5a6e546w44CCJ1xuICAgICAgKyAnIOW7uuiuruS9v+eUqCBhdXRoLnZlcmlmeU9BdXRoKHsgY29kZSwgc3RhdGUsIHByb3ZpZGVyIH0pIOabv+S7o+OAgicsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgIJcbiAgICog5bu66K6u5L2/55SoIGF1dGgubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6ICdwcm92aWRlcklkJyB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMaW5rUmVkaXJlY3RSZXN1bHQoX29wdGlvbnM/OiB7XG4gICAgd2l0aFVuaW9uSWQ/OiBib29sZWFuXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFdlaXhpbkF1dGhQcm92aWRlci5nZXRMaW5rUmVkaXJlY3RSZXN1bHQoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGgubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6IFxcJ3Byb3ZpZGVySWRcXCcgfSkg5pu/5Luj44CCJywpXG4gIH1cbn1cblxuLyoqXG4gKiB2MSDoh6rlrprkuYnnmbvlvZUgUHJvdmlkZXJcbiAqIOS9v+eUqOaWueW8jzogYXV0aC5jdXN0b21BdXRoUHJvdmlkZXIoKS5zaWduSW4odGlja2V0KVxuICpcbiAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgILlu7rorq7kvb/nlKggYXV0aC5zaWduSW5XaXRoQ3VzdG9tVGlja2V0KCgpID0+IFByb21pc2UucmVzb2x2ZSh0aWNrZXQpKSDmm7/ku6PjgIJcbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUF1dGhQcm92aWRlciB7XG4gIHByaXZhdGUgYXV0aEluc3RhbmNlOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7XG4gICAgYXV0aEluc3RhbmNlOiBhbnlcbiAgfSkge1xuICAgIHRoaXMuYXV0aEluc3RhbmNlID0gb3B0aW9ucy5hdXRoSW5zdGFuY2VcbiAgfVxuXG4gIC8qKlxuICAgKiDkvb/nlKjoh6rlrprkuYnnmbvlvZXlh63mja4gdGlja2V0IOeZu+W9leS6keW8gOWPkVxuICAgKiBAcGFyYW0gdGlja2V0IOiHquWumuS5ieeZu+W9lSB0aWNrZXRcbiAgICogQGRlcHJlY2F0ZWQgdjEg5YW85a65IEFQSeOAguW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhDdXN0b21UaWNrZXQoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRpY2tldCkpIOabv+S7o+OAglxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNpZ25Jbih0aWNrZXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW5XaXRoQ3VzdG9tVGlja2V0IOaWueazlVxuICAgIGF3YWl0IHRoaXMuYXV0aEluc3RhbmNlLnNpZ25JbldpdGhDdXN0b21UaWNrZXQoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRpY2tldCkpXG4gIH1cbn1cblxuLyoqXG4gKiB2MSDljL/lkI3nmbvlvZUgUHJvdmlkZXJcbiAqIOS9v+eUqOaWueW8jzogYXV0aC5hbm9ueW1vdXNBdXRoUHJvdmlkZXIoKS5zaWduSW4oKVxuICpcbiAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgILlu7rorq7kvb/nlKggYXV0aC5zaWduSW5Bbm9ueW1vdXNseSh7fSkg5pu/5Luj44CCXG4gKi9cbmV4cG9ydCBjbGFzcyBBbm9ueW1vdXNBdXRoUHJvdmlkZXIge1xuICBwcml2YXRlIGF1dGhJbnN0YW5jZTogYW55XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczoge1xuICAgIGF1dGhJbnN0YW5jZTogYW55XG4gIH0pIHtcbiAgICB0aGlzLmF1dGhJbnN0YW5jZSA9IG9wdGlvbnMuYXV0aEluc3RhbmNlXG4gIH1cblxuICAvKipcbiAgICog5Yy/5ZCN55m75b2V5LqR5byA5Y+RXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgILlu7rorq7kvb/nlKggYXV0aC5zaWduSW5Bbm9ueW1vdXNseSh7fSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW5Bbm9ueW1vdXNseSDmlrnms5VcbiAgICBhd2FpdCB0aGlzLmF1dGhJbnN0YW5jZS5zaWduSW5Bbm9ueW1vdXNseSh7fSlcbiAgfVxufVxuXG4vLyA9PT09PT09PT09IEF1dGggdjEg5YW85a655Z+657G7ID09PT09PT09PT1cblxuLyoqXG4gKiBBdXRoVjFDb21wYXQg5Z+657G777yM5o+Q5L6bIHYxIOeJiOacrOeahOWFvOWuuSBBUEkg5pa55rOV44CCXG4gKiBBdXRoIOexu+mAmui/hyBleHRlbmRzIEF1dGhWMUNvbXBhdCDmnaXnu6fmib/ov5nkupvmlrnms5XjgIJcbiAqXG4gKiDms6jmhI/vvJrmraTnsbvkuK3nmoTmlrnms5XpgJrov4cgdGhpcyDorr/pl67lrZDnsbsgQXV0aCDnmoTmlrnms5XlkozlsZ7mgKfvvIxcbiAqIOWMheaLrDogc2lnbkluLCBzaWduVXAsIHNpZ25JbldpdGhDdXN0b21UaWNrZXQsIHNpZ25JbkFub255bW91c2x5LFxuICogZ2V0VmVyaWZpY2F0aW9uLCByZXNldFBhc3N3b3JkLCBvbkxvZ2luU3RhdGVDaGFuZ2VkLCBvbkF1dGhTdGF0ZUNoYW5nZSxcbiAqIGNyZWF0ZUxvZ2luU3RhdGUsIGZvcm1hdFBob25lLCBjb25maWcsIHNpZ25JbldpdGhPQXV0aCDnrYnjgIJcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZyAtLSBhYnN0cmFjdCDln7rnsbvkuK0gYWJzdHJhY3Qg5aOw5piO5LiOIHB1YmxpYyDmlrnms5XmjpLluo/kuI3pgILnlKjluLjop4Top4TliJlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRoVjFDb21wYXQge1xuICBhYnN0cmFjdCByZWFkb25seSBjb25maWc6IGFueVxuXG4gIC8vID09PT09PT09PT0gdjEg5YW85a65IEFQSSDmlrnms5UgPT09PT09PT09PVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOiOt+WPlueUqOS6juW+ruS/oeeZu+W9leeahCBXZWl4aW5BdXRoUHJvdmlkZXIgLy8gY3NwZWxsOmlnbm9yZSB3ZWl4aW4gV2VpeGluXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhPQXV0aCh7IHByb3ZpZGVyOiBhcHBpZCB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyB3ZWl4aW5BdXRoUHJvdmlkZXIob3B0aW9uczogeyBhcHBpZDogc3RyaW5nOyBzY29wZTogc3RyaW5nIH0pOiBXZWl4aW5BdXRoUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgV2VpeGluQXV0aFByb3ZpZGVyKHtcbiAgICAgIGF1dGhJbnN0YW5jZTogdGhpcyxcbiAgICAgIGFwcGlkOiBvcHRpb25zLmFwcGlkLFxuICAgICAgc2NvcGU6IG9wdGlvbnMuc2NvcGUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOiOt+WPlueUqOS6juiHquWumuS5ieeZu+W9leeahCBDdXN0b21BdXRoUHJvdmlkZXJcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aEN1c3RvbVRpY2tldCgoKSA9PiBQcm9taXNlLnJlc29sdmUodGlja2V0KSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgY3VzdG9tQXV0aFByb3ZpZGVyKCk6IEN1c3RvbUF1dGhQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBDdXN0b21BdXRoUHJvdmlkZXIoe1xuICAgICAgYXV0aEluc3RhbmNlOiB0aGlzLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDojrflj5bnlKjkuo7ljL/lkI3nmbvlvZXnmoQgQW5vbnltb3VzQXV0aFByb3ZpZGVyXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbkFub255bW91c2x5KHt9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhbm9ueW1vdXNBdXRoUHJvdmlkZXIoKTogQW5vbnltb3VzQXV0aFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEFub255bW91c0F1dGhQcm92aWRlcih7XG4gICAgICBhdXRoSW5zdGFuY2U6IHRoaXMsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOS9v+eUqOmCrueuseWSjOWvhueggeazqOWGjOS6keW8gOWPkei0puaIt1xuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5zaWduVXAoeyBlbWFpbCwgcGFzc3dvcmQgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnblVwV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8U2lnblVwUmVzPiB7XG4gICAgaWYgKHR5cGVvZiBlbWFpbCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAnZW1haWwgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFzc3dvcmQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bhc3N3b3JkIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduVXAg5pa55rOVXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2lnblVwKHtcbiAgICAgIGVtYWlsLFxuICAgICAgcGFzc3dvcmQsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOS9v+eUqOmCrueuseWSjOWvhueggeeZu+W9leS6keW8gOWPkVxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5zaWduSW5XaXRoUGFzc3dvcmQoeyBlbWFpbCwgcGFzc3dvcmQgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHR5cGVvZiBlbWFpbCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAnZW1haWwgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFzc3dvcmQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bhc3N3b3JkIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW4g5pa55rOVXG4gICAgYXdhaXQgdGhpcy5zaWduSW4oe1xuICAgICAgdXNlcm5hbWU6IGVtYWlsLFxuICAgICAgcGFzc3dvcmQsXG4gICAgfSlcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2dpblN0YXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOWPkemAgemHjee9ruWvhueggeeahOmCruS7tlxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5yZXNldFBhc3N3b3JkRm9yRW1haWwoZW1haWwpIOabv+S7o+OAglxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbmRQYXNzd29yZFJlc2V0RW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgZW1haWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ2VtYWlsIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBnZXRWZXJpZmljYXRpb24g5pa55rOVXG4gICAgYXdhaXQgdGhpcy5nZXRWZXJpZmljYXRpb24oeyBlbWFpbCB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5L2/55So55So5oi35ZCN5a+G56CB55m75b2V5LqR5byA5Y+RXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhQYXNzd29yZCh7IHVzZXJuYW1lLCBwYXNzd29yZCB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoVXNlcm5hbWVBbmRQYXNzd29yZCh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodHlwZW9mIHVzZXJuYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICd1c2VybmFtZSBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwYXNzd29yZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAncGFzc3dvcmQgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuXG4gICAgLy8g5L2/55SoIEF1dGgg5bey5pyJ55qEIHNpZ25JbiDmlrnms5VcbiAgICBhd2FpdCB0aGlzLnNpZ25Jbih7XG4gICAgICB1c2VybmFtZSxcbiAgICAgIHBhc3N3b3JkLFxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTG9naW5TdGF0ZSgpXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDlj5HpgIHmiYvmnLrpqozor4HnoIFcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aE90cCh7IHBob25lIH0pIOaIliBhdXRoLmdldFZlcmlmaWNhdGlvbih7IHBob25lX251bWJlciB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZW5kUGhvbmVDb2RlKHBob25lTnVtYmVyOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAodHlwZW9mIHBob25lTnVtYmVyICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICdwaG9uZU51bWJlciBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG5cbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgZ2V0VmVyaWZpY2F0aW9uIOaWueazlVxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcbiAgICBhd2FpdCB0aGlzLmdldFZlcmlmaWNhdGlvbih7IHBob25lX251bWJlcjogZm9ybWF0dGVkUGhvbmUgfSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5omL5py65Y+35rOo5YaM77yI5pSv5oyB55+t5L+h6aqM6K+B56CBK+WvhueggeaWueW8j++8iVxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5zaWduVXAoeyBwaG9uZV9udW1iZXIsIHZlcmlmaWNhdGlvbl9jb2RlLCBwYXNzd29yZD8gfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnblVwV2l0aFBob25lQ29kZShwaG9uZU51bWJlcjogc3RyaW5nLCBwaG9uZUNvZGU6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0eXBlb2YgcGhvbmVOdW1iZXIgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bob25lTnVtYmVyIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cbiAgICBpZiAodHlwZW9mIHBob25lQ29kZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAncGhvbmVDb2RlIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduVXAg5pa55rOVXG4gICAgYXdhaXQgdGhpcy5zaWduVXAoe1xuICAgICAgcGhvbmVfbnVtYmVyOiBmb3JtYXR0ZWRQaG9uZSxcbiAgICAgIHZlcmlmaWNhdGlvbl9jb2RlOiBwaG9uZUNvZGUsXG4gICAgICAuLi4ocGFzc3dvcmQgPyB7IHBhc3N3b3JkIH0gOiB7fSksXG4gICAgfSlcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2dpblN0YXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOaJi+acuuWPt+eZu+W9le+8iOaUr+aMgeefreS/oemqjOivgeeggSBvciDlr4bnoIHmlrnlvI/vvIlcbiAgICogQGRlcHJlY2F0ZWQg5a+G56CB5pa55byP5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aFBhc3N3b3JkKHsgcGhvbmUsIHBhc3N3b3JkIH0pIOabv+S7o++8m1xuICAgKiDpqozor4HnoIHmlrnlvI/lu7rorq7kvb/nlKggYXV0aC5zaWduSW5XaXRoT3RwKHsgcGhvbmUgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aFBob25lQ29kZU9yUGFzc3dvcmQocGFyYW1zOiB7XG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZ1xuICAgIHBob25lQ29kZT86IHN0cmluZ1xuICAgIHBhc3N3b3JkPzogc3RyaW5nXG4gIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHsgcGhvbmVOdW1iZXIsIHBob25lQ29kZSwgcGFzc3dvcmQgfSA9IHBhcmFtc1xuICAgIGlmICh0eXBlb2YgcGhvbmVOdW1iZXIgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bob25lTnVtYmVyIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcblxuICAgIGlmIChwYXNzd29yZCkge1xuICAgICAgLy8g5L2/55SoIEF1dGgg5bey5pyJ55qEIHNpZ25JbiDmlrnms5Xov5vooYzlr4bnoIHnmbvlvZVcbiAgICAgIGF3YWl0IHRoaXMuc2lnbkluKHtcbiAgICAgICAgdXNlcm5hbWU6IGZvcm1hdHRlZFBob25lLFxuICAgICAgICBwYXNzd29yZCxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChwaG9uZUNvZGUpIHtcbiAgICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW4g5pa55rOV6L+b6KGM6aqM6K+B56CB55m75b2VXG4gICAgICBhd2FpdCB0aGlzLnNpZ25Jbih7XG4gICAgICAgIHVzZXJuYW1lOiBmb3JtYXR0ZWRQaG9uZSxcbiAgICAgICAgdmVyaWZpY2F0aW9uX3Rva2VuOiBwaG9uZUNvZGUsXG4gICAgICB9IGFzIGFueSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICdwaG9uZUNvZGUgb3IgcGFzc3dvcmQgbXVzdCBiZSBwcm92aWRlZCcpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUxvZ2luU3RhdGUoKVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5omL5py65Y+35by65Yi26YeN572u5a+G56CBXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnJlc2V0UGFzc3dvcmRGb3JFbWFpbChwaG9uZU51bWJlcikg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9yY2VSZXNldFB3ZEJ5UGhvbmVDb2RlKHBhcmFtczoge1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmdcbiAgICBwaG9uZUNvZGU6IHN0cmluZ1xuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgfSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgeyBwaG9uZU51bWJlciwgcGhvbmVDb2RlLCBwYXNzd29yZCB9ID0gcGFyYW1zXG4gICAgaWYgKHR5cGVvZiBwaG9uZU51bWJlciAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAncGhvbmVOdW1iZXIgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGhvbmVDb2RlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICdwaG9uZUNvZGUgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFzc3dvcmQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bhc3N3b3JkIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCByZXNldFBhc3N3b3JkIOaWueazlVxuICAgIGF3YWl0IHRoaXMucmVzZXRQYXNzd29yZCh7XG4gICAgICBwaG9uZV9udW1iZXI6IGZvcm1hdHRlZFBob25lLFxuICAgICAgbmV3X3Bhc3N3b3JkOiBwYXNzd29yZCxcbiAgICAgIHZlcmlmaWNhdGlvbl90b2tlbjogcGhvbmVDb2RlLFxuICAgIH0pXG5cbiAgICAvLyDph43nva7lr4bnoIHmiJDlip/lkI7kvb/nlKggQXV0aCDlt7LmnInnmoQgc2lnbkluIOaWueazleiHquWKqOeZu+W9lVxuICAgIGF3YWl0IHRoaXMuc2lnbkluKHtcbiAgICAgIHVzZXJuYW1lOiBmb3JtYXR0ZWRQaG9uZSxcbiAgICAgIHBhc3N3b3JkLFxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTG9naW5TdGF0ZSgpXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmjqXmlLbkuIDkuKrlm57osIPlh73mlbDvvIzlnKjliLfmlrDnn63mnJ/orr/pl67ku6TniYzliY3osIPnlKjvvIzmoLnmja7ov5Tlm57lgLzlhrPlrprmmK/lkKbliLfmlrBcbiAgICogQGRlcHJlY2F0ZWQgdjEg5YW85a65IEFQSe+8jOW9k+WJjSB2MyBTREsg5Lit5peg55u05o6l5a+55bqU5pa55rOV44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKGNhbGxiYWNrKSDnm5HlkKwgVE9LRU5fUkVGUkVTSEVEIOS6i+S7tuabv+S7o+OAglxuICAgKi9cbiAgcHVibGljIHNob3VsZFJlZnJlc2hBY2Nlc3NUb2tlbihfY2FsbGJhY2s6ICgpID0+IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIHNob3VsZFJlZnJlc2hBY2Nlc3NUb2tlbigpIOWcqOW9k+WJjeeJiOacrOS4reaXoOazleWunueOsOOAgidcbiAgICAgICsgJyDlu7rorq7kvb/nlKggYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShjYWxsYmFjaykg5p2l55uR5ZCsIFRPS0VOX1JFRlJFU0hFRCDkuovku7bmm7/ku6PjgIInLClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOaOpeaUtuS4gOS4quWbnuiwg+WHveaVsO+8jOWcqOeZu+W9leeKtuaAgei/h+acn+aXtuiwg+eUqFxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShjYWxsYmFjaykg5pu/5Luj77yM55uR5ZCsIFNJR05FRF9PVVQg5LqL5Lu244CCXG4gICAqL1xuICBwdWJsaWMgb25Mb2dpblN0YXRlRXhwaXJlZChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgb25Mb2dpblN0YXRlQ2hhbmdlZCDmlrnms5VcbiAgICB0aGlzLm9uTG9naW5TdGF0ZUNoYW5nZWQoKHBhcmFtcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcz8uZXZlbnRUeXBlID09PSBMT0dJTl9TVEFURV9DSEFOR0VEX1RZUEUuQ1JFREVOVElBTFNfRVJST1IpIHtcbiAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmjqXmlLbkuIDkuKrlm57osIPlh73mlbDvvIzlnKjnn63mnJ/orr/pl67ku6TniYzliLfmlrDlkI7osIPnlKhcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGgub25BdXRoU3RhdGVDaGFuZ2UoY2FsbGJhY2spIOabv+S7o++8jOebkeWQrCBUT0tFTl9SRUZSRVNIRUQg5LqL5Lu244CCXG4gICAqL1xuICBwdWJsaWMgb25BY2Nlc3NUb2tlblJlZnJlc2hlZChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgb25BdXRoU3RhdGVDaGFuZ2Ug5pa55rOVXG4gICAgdGhpcy5vbkF1dGhTdGF0ZUNoYW5nZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gQVVUSF9TVEFURV9DSEFOR0VEX1RZUEUuVE9LRU5fUkVGUkVTSEVEKSB7XG4gICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcylcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5o6l5pS25LiA5Liq5Zue6LCD5Ye95pWw77yM5Zyo5Yy/5ZCN55m75b2V54q25oCB6KKr6L2s5o2i5ZCO6LCD55SoXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKGNhbGxiYWNrKSDmm7/ku6PvvIznm5HlkKwgU0lHTkVEX0lOIOS6i+S7tuOAglxuICAgKi9cbiAgcHVibGljIG9uQW5vbnltb3VzQ29udmVydGVkKGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBvbkF1dGhTdGF0ZUNoYW5nZSDmlrnms5VcbiAgICB0aGlzLm9uQXV0aFN0YXRlQ2hhbmdlKChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50ID09PSBBVVRIX1NUQVRFX0NIQU5HRURfVFlQRS5TSUdORURfSU4pIHtcbiAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmjqXmlLbkuIDkuKrlm57osIPlh73mlbDvvIzlnKjnmbvlvZXnsbvlnovlj5HnlJ/lj5jljJblkI7osIPnlKhcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGgub25BdXRoU3RhdGVDaGFuZ2UoY2FsbGJhY2spIOabv+S7o++8jOebkeWQrCBTSUdORURfSU4gLyBTSUdORURfT1VUIOS6i+S7tuOAglxuICAgKi9cbiAgcHVibGljIG9uTG9naW5UeXBlQ2hhbmdlZChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgb25BdXRoU3RhdGVDaGFuZ2Ug5pa55rOVXG4gICAgdGhpcy5vbkF1dGhTdGF0ZUNoYW5nZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gQVVUSF9TVEFURV9DSEFOR0VEX1RZUEUuU0lHTkVEX0lOIHx8IGV2ZW50ID09PSBBVVRIX1NUQVRFX0NIQU5HRURfVFlQRS5TSUdORURfT1VUKSB7XG4gICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcylcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLy8gPT09PT09PT09PSDlo7DmmI7lrZDnsbsgQXV0aCDpnIDopoHmj5DkvpvnmoTmlrnms5Uv5bGe5oCnID09PT09PT09PT1cbiAgYWJzdHJhY3Qgc2lnbkluKHBhcmFtczogYXV0aE1vZGVscy5TaWduSW5SZXF1ZXN0KTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IHNpZ25VcChwYXJhbXM6IGF1dGhNb2RlbHMuU2lnblVwUmVxdWVzdCAmIHsgcGhvbmU/OiBzdHJpbmcgfSk6IFByb21pc2U8U2lnblVwUmVzPlxuICBhYnN0cmFjdCBzaWduSW5XaXRoQ3VzdG9tVGlja2V0KGdldFRpY2tGbj86IGF1dGhNb2RlbHMuR2V0Q3VzdG9tU2lnblRpY2tldEZuKTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IHNpZ25JbkFub255bW91c2x5KHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IGdldFZlcmlmaWNhdGlvbihwYXJhbXM6IGFueSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YXV0aE1vZGVscy5HZXRWZXJpZmljYXRpb25SZXNwb25zZT5cbiAgYWJzdHJhY3QgcmVzZXRQYXNzd29yZChwYXJhbXM6IGF1dGhNb2RlbHMuUmVzZXRQYXNzd29yZFJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+XG4gIGFic3RyYWN0IG9uTG9naW5TdGF0ZUNoYW5nZWQoY2FsbGJhY2s6IEZ1bmN0aW9uKTogUHJvbWlzZTx2b2lkPlxuICBhYnN0cmFjdCBvbkF1dGhTdGF0ZUNoYW5nZShjYWxsYmFjazogYW55KTogYW55XG4gIGFic3RyYWN0IGNyZWF0ZUxvZ2luU3RhdGUocGFyYW1zPzogYW55LCBvcHRpb25zPzogYW55KTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IHNpZ25JbldpdGhPQXV0aChwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PlxuICBhYnN0cmFjdCBncmFudFByb3ZpZGVyVG9rZW4ocGFyYW1zOiBhdXRoTW9kZWxzLkdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3QpOiBQcm9taXNlPGF1dGhNb2RlbHMuR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+XG4gIGFic3RyYWN0IGJpbmRXaXRoUHJvdmlkZXIocGFyYW1zOiBhdXRoTW9kZWxzLkJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPlxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZm9ybWF0UGhvbmUocGhvbmU6IHN0cmluZyk6IHN0cmluZ1xufVxuXG4vLyA9PT09PT09PT09IFVzZXIgdjEg5YW85a65IG1peGluID09PT09PT09PT1cblxuLyoqXG4gKiDlsIYgdjEg5YW85a655pa55rOV5bqU55So5YiwIFVzZXIg57G755qEIHByb3RvdHlwZSDkuIrjgIJcbiAqIOWcqCBpbmRleC50cyDkuK3osIPnlKg6IGFwcGx5VXNlclYxQ29tcGF0KFVzZXIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVVzZXJWMUNvbXBhdChVc2VyQ2xhc3M6IGFueSk6IHZvaWQge1xuICAvKipcbiAgICogdjEgQVBJOiDlsIblvZPliY3otKbmiLfkuI7oh6rlrprkuYnnmbvlvZUgVGlja2V0IOi/m+ihjOe7keWumlxuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhDdXN0b21UaWNrZXQoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRpY2tldCkpIOabv+S7o+OAglxuICAgKi9cbiAgVXNlckNsYXNzLnByb3RvdHlwZS5saW5rV2l0aFRpY2tldCA9IGFzeW5jIGZ1bmN0aW9uIChfdGlja2V0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFVzZXIubGlua1dpdGhUaWNrZXQoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aEN1c3RvbVRpY2tldCgoKSA9PiBQcm9taXNlLnJlc29sdmUodGlja2V0KSkg5pu/5Luj44CCJywpXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDlsIblvZPliY3otKbmiLfkuI7nrKzkuInmlrnpibTmnYPmj5DkvpvmlrnvvIjku6Xph43lrprlkJHlvaLlvI/vvInov5vooYznu5HlrppcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGgubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6ICdwcm92aWRlcklkJyB9KSDmm7/ku6PjgIJcbiAgICovXG4gIFVzZXJDbGFzcy5wcm90b3R5cGUubGlua1dpdGhSZWRpcmVjdCA9IGZ1bmN0aW9uIChfcHJvdmlkZXI6IGFueSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignW3YxIOWFvOWuuV0gVXNlci5saW5rV2l0aFJlZGlyZWN0KCkg5Zyo5b2T5YmN54mI5pys5Lit5peg5rOV5a6e546w44CCJ1xuICAgICAgKyAnIOW7uuiuruS9v+eUqCBhdXRoLmxpbmtJZGVudGl0eSh7IHByb3ZpZGVyOiBcXCdwcm92aWRlcklkXFwnIH0pIOabv+S7o+OAgicsKVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5pu05paw5b2T5YmN55qE55m75b2V6YKu566xXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnVwZGF0ZVVzZXIoeyBlbWFpbDogbmV3RW1haWwgfSkg5pu/5Luj44CCXG4gICAqL1xuICBVc2VyQ2xhc3MucHJvdG90eXBlLnVwZGF0ZUVtYWlsID0gYXN5bmMgZnVuY3Rpb24gKG5ld0VtYWlsOiBzdHJpbmcsIF9wYXNzd29yZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgbmV3RW1haWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ25ld0VtYWlsIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBVc2VyIOW3suacieeahCB1cGRhdGVVc2VyQmFzaWNJbmZvIOaWueazlVxuICAgIGF3YWl0IHRoaXMudXBkYXRlVXNlckJhc2ljSW5mbyh7XG4gICAgICBlbWFpbDogbmV3RW1haWwsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOe7keWumuaJi+acuuWPt1xuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5ZyoIFVzZXIg5LiK5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLmJpbmRQaG9uZU51bWJlcih7IHBob25lX251bWJlciwgdmVyaWZpY2F0aW9uX3Rva2VuLCBzdWRvX3Rva2VuIH0pIOabv+S7o+OAglxuICAgKi9cbiAgVXNlckNsYXNzLnByb3RvdHlwZS5saW5rV2l0aFBob25lTnVtYmVyID0gYXN5bmMgZnVuY3Rpb24gKF9waG9uZU51bWJlcjogc3RyaW5nLCBfcGhvbmVDb2RlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFVzZXIubGlua1dpdGhQaG9uZU51bWJlcigpIOWcqOW9k+WJjeeJiOacrOS4reaXoOazleWunueOsOOAgidcbiAgICAgICsgJyDlu7rorq7kvb/nlKggYXV0aC5iaW5kUGhvbmVOdW1iZXIoeyBwaG9uZV9udW1iZXIsIHZlcmlmaWNhdGlvbl90b2tlbiwgc3Vkb190b2tlbiB9KSDmm7/ku6PjgIInLClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOabtOaWsOaJi+acuuWPt1xuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5ZyoIFVzZXIg5LiK5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLnVwZGF0ZVVzZXIoeyBwaG9uZTogbmV3UGhvbmVOdW1iZXIgfSkg5pu/5Luj44CCXG4gICAqL1xuICBVc2VyQ2xhc3MucHJvdG90eXBlLnVwZGF0ZVBob25lTnVtYmVyID0gYXN5bmMgZnVuY3Rpb24gKF9waG9uZU51bWJlcjogc3RyaW5nLCBfcGhvbmVDb2RlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFVzZXIudXBkYXRlUGhvbmVOdW1iZXIoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGgudXBkYXRlVXNlcih7IHBob25lOiBuZXdQaG9uZU51bWJlciB9KSDmm7/ku6PjgIInLClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOino+e7keafkOS4queZu+W9leaWueW8j1xuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5ZyoIFVzZXIg5LiK5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLnVubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6IGxvZ2luVHlwZSB9KSDmm7/ku6PjgIJcbiAgICovXG4gIFVzZXJDbGFzcy5wcm90b3R5cGUudW5saW5rID0gYXN5bmMgZnVuY3Rpb24gKF9sb2dpblR5cGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignW3YxIOWFvOWuuV0gVXNlci51bmxpbmsoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGgudW5saW5rSWRlbnRpdHkoeyBwcm92aWRlcjogbG9naW5UeXBlIH0pIOabv+S7o+OAgicsKVxuICB9XG59XG4iXX0=
|
|
419
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidjEtY29tcGF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3YxLWNvbXBhdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIsdUJBQXVCLEdBQ3hCLE1BQU0sa0JBQWtCLENBQUE7QUFDekIsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxhQUFhLENBQUE7QUFXcEI7SUFDRSw0QkFBWSxRQUlYO0lBRUQsQ0FBQztJQU1NLCtDQUFrQixHQUF6QjtRQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkRBQTZEO2NBQ3pFLDhEQUE4RCxDQUFFLENBQUE7SUFDdEUsQ0FBQztJQU1ZLDhDQUFpQixHQUE5QixVQUErQixRQUc5Qjs7O2dCQUNDLE1BQU0sSUFBSSxLQUFLLENBQUMsNERBQTREO3NCQUN4RSx1REFBdUQsQ0FBRSxDQUFBOzs7S0FDOUQ7SUFNWSxrREFBcUIsR0FBbEMsVUFBbUMsUUFFbEM7OztnQkFDQyxNQUFNLElBQUksS0FBSyxDQUFDLGdFQUFnRTtzQkFDNUUsMkRBQTJELENBQUUsQ0FBQTs7O0tBQ2xFO0lBQ0gseUJBQUM7QUFBRCxDQUFDLEFBeENELElBd0NDOztBQVFEO0lBR0UsNEJBQVksT0FFWDtRQUNDLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQTtJQUMxQyxDQUFDO0lBT1ksbUNBQU0sR0FBbkIsVUFBb0IsTUFBYzs7Ozs0QkFFaEMsV0FBTSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLGNBQU0sT0FBQSxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUF2QixDQUF1QixDQUFDLEVBQUE7O3dCQUE3RSxTQUE2RSxDQUFBOzs7OztLQUM5RTtJQUNILHlCQUFDO0FBQUQsQ0FBQyxBQWxCRCxJQWtCQzs7QUFRRDtJQUdFLCtC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QUFTLENBQUMsU0FBUyxDQUFDLFdBQVcsR0FBRyxVQUFnQixRQUFnQixFQUFFLFNBQWtCOzs7Ozt3QkFDcEYsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUU7NEJBQ2hDLFVBQVUsQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLDJCQUEyQixDQUFDLENBQUE7eUJBQy9EO3dCQUdELFdBQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dDQUM3QixLQUFLLEVBQUUsUUFBUTs2QkFDaEIsQ0FBQyxFQUFBOzt3QkFGRixTQUVFLENBQUE7Ozs7O0tBQ0gsQ0FBQTtJQU9ELFNBQVMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEdBQUcsVUFBZ0IsWUFBb0IsRUFBRSxVQUFrQjs7O2dCQUNoRyxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRDtzQkFDNUQsa0ZBQWtGLENBQUUsQ0FBQTs7O0tBQ3pGLENBQUE7SUFPRCxTQUFTLENBQUMsU0FBUyxDQUFDLGlCQUFpQixHQUFHLFVBQWdCLFlBQW9CLEVBQUUsVUFBa0I7OztnQkFDOUYsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEM7c0JBQzFELHNEQUFzRCxDQUFFLENBQUE7OztLQUM3RCxDQUFBO0lBT0QsU0FBUyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsVUFBZ0IsVUFBa0I7OztnQkFDN0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUM7c0JBQy9DLHdEQUF3RCxDQUFFLENBQUE7OztLQUMvRCxDQUFBO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2VsZXNzLWNvbnN0cnVjdG9yICovXG4vKipcbiAqIHYxIOWFvOWuueWxglxuICog5pys5paH5Lu25YyF5ZCrIHYxIOeJiOacrOeahCBQcm92aWRlciDnsbvjgIFBdXRoIHYxIOWFvOWuueaWueazleWSjCBVc2VyIHYxIOWFvOWuueaWueazleOAglxuICogQXV0aCDnsbvpgJrov4cgZXh0ZW5kcyBBdXRoVjFDb21wYXQg5p2l57un5om/IHYxIOaWueazleOAglxuICogVXNlciDnsbvpgJrov4cgYXBwbHlVc2VyVjFDb21wYXQgbWl4aW4g5p2l5omp5bGVIHYxIOaWueazleOAglxuICovXG5pbXBvcnQgdHlwZSB7IGF1dGhNb2RlbHMgfSBmcm9tICdAY2xvdWRiYXNlL29hdXRoJ1xuaW1wb3J0IHtcbiAgTE9HSU5fU1RBVEVfQ0hBTkdFRF9UWVBFLFxuICBBVVRIX1NUQVRFX0NIQU5HRURfVFlQRSxcbn0gZnJvbSAnQGNsb3VkYmFzZS9vYXV0aCdcbmltcG9ydCB7XG4gIHRocm93RXJyb3IsXG4gIEVSUk9SUyxcbn0gZnJvbSAnLi91dGlsaXRpZXMnXG5pbXBvcnQgdHlwZSB7IFNpZ25VcFJlcyB9IGZyb20gJy4vdHlwZSdcblxuLy8gPT09PT09PT09PSB2MSDlhbzlrrkgUHJvdmlkZXIg57G7ID09PT09PT09PT1cblxuLyoqXG4gKiB2MSDlvq7kv6HnmbvlvZUgUHJvdmlkZXJcbiAqIOS9v+eUqOaWueW8jzogYXV0aC53ZWl4aW5BdXRoUHJvdmlkZXIoeyBhcHBpZCwgc2NvcGUgfSkuc2lnbkluV2l0aFJlZGlyZWN0KClcbiAqXG4gKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ44CC5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aE9BdXRoKHsgcHJvdmlkZXIgfSkg5pu/5Luj44CCXG4gKi9cbmV4cG9ydCBjbGFzcyBXZWl4aW5BdXRoUHJvdmlkZXIge1xuICBjb25zdHJ1Y3Rvcihfb3B0aW9uczoge1xuICAgIGF1dGhJbnN0YW5jZTogYW55XG4gICAgYXBwaWQ6IHN0cmluZ1xuICAgIHNjb3BlOiBzdHJpbmdcbiAgfSkge1xuICAgIC8vIHYxIOWFvOWuueexu++8jOaJgOacieaWueazleWdh+aKm+WHuuW8guW4uOaPkOekuuabv+S7o+aWueahiFxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgIJcbiAgICog5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aE9BdXRoKHsgcHJvdmlkZXI6ICdwcm92aWRlcklkJyB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBzaWduSW5XaXRoUmVkaXJlY3QoKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdbdjEg5YW85a65XSBXZWl4aW5BdXRoUHJvdmlkZXIuc2lnbkluV2l0aFJlZGlyZWN0KCkg5Zyo5b2T5YmN54mI5pys5Lit5peg5rOV5a6e546w44CCJ1xuICAgICAgKyAnIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhPQXV0aCh7IHByb3ZpZGVyOiBcXCdwcm92aWRlcklkXFwnIH0pIOabv+S7o+OAgicsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgIJcbiAgICog5bu66K6u5L2/55SoIGF1dGgudmVyaWZ5T0F1dGgoeyBjb2RlLCBzdGF0ZSwgcHJvdmlkZXIgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0UmVkaXJlY3RSZXN1bHQoX29wdGlvbnM/OiB7XG4gICAgY3JlYXRlVXNlcj86IGJvb2xlYW5cbiAgICBzeW5jVXNlckluZm8/OiBib29sZWFuXG4gIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignW3YxIOWFvOWuuV0gV2VpeGluQXV0aFByb3ZpZGVyLmdldFJlZGlyZWN0UmVzdWx0KCkg5Zyo5b2T5YmN54mI5pys5Lit5peg5rOV5a6e546w44CCJ1xuICAgICAgKyAnIOW7uuiuruS9v+eUqCBhdXRoLnZlcmlmeU9BdXRoKHsgY29kZSwgc3RhdGUsIHByb3ZpZGVyIH0pIOabv+S7o+OAgicsKVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgIJcbiAgICog5bu66K6u5L2/55SoIGF1dGgubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6ICdwcm92aWRlcklkJyB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRMaW5rUmVkaXJlY3RSZXN1bHQoX29wdGlvbnM/OiB7XG4gICAgd2l0aFVuaW9uSWQ/OiBib29sZWFuXG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFdlaXhpbkF1dGhQcm92aWRlci5nZXRMaW5rUmVkaXJlY3RSZXN1bHQoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGgubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6IFxcJ3Byb3ZpZGVySWRcXCcgfSkg5pu/5Luj44CCJywpXG4gIH1cbn1cblxuLyoqXG4gKiB2MSDoh6rlrprkuYnnmbvlvZUgUHJvdmlkZXJcbiAqIOS9v+eUqOaWueW8jzogYXV0aC5jdXN0b21BdXRoUHJvdmlkZXIoKS5zaWduSW4odGlja2V0KVxuICpcbiAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgILlu7rorq7kvb/nlKggYXV0aC5zaWduSW5XaXRoQ3VzdG9tVGlja2V0KCgpID0+IFByb21pc2UucmVzb2x2ZSh0aWNrZXQpKSDmm7/ku6PjgIJcbiAqL1xuZXhwb3J0IGNsYXNzIEN1c3RvbUF1dGhQcm92aWRlciB7XG4gIHByaXZhdGUgYXV0aEluc3RhbmNlOiBhbnlcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiB7XG4gICAgYXV0aEluc3RhbmNlOiBhbnlcbiAgfSkge1xuICAgIHRoaXMuYXV0aEluc3RhbmNlID0gb3B0aW9ucy5hdXRoSW5zdGFuY2VcbiAgfVxuXG4gIC8qKlxuICAgKiDkvb/nlKjoh6rlrprkuYnnmbvlvZXlh63mja4gdGlja2V0IOeZu+W9leS6keW8gOWPkVxuICAgKiBAcGFyYW0gdGlja2V0IOiHquWumuS5ieeZu+W9lSB0aWNrZXRcbiAgICogQGRlcHJlY2F0ZWQgdjEg5YW85a65IEFQSeOAguW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhDdXN0b21UaWNrZXQoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRpY2tldCkpIOabv+S7o+OAglxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNpZ25Jbih0aWNrZXQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW5XaXRoQ3VzdG9tVGlja2V0IOaWueazlVxuICAgIGF3YWl0IHRoaXMuYXV0aEluc3RhbmNlLnNpZ25JbldpdGhDdXN0b21UaWNrZXQoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRpY2tldCkpXG4gIH1cbn1cblxuLyoqXG4gKiB2MSDljL/lkI3nmbvlvZUgUHJvdmlkZXJcbiAqIOS9v+eUqOaWueW8jzogYXV0aC5hbm9ueW1vdXNBdXRoUHJvdmlkZXIoKS5zaWduSW4oKVxuICpcbiAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgILlu7rorq7kvb/nlKggYXV0aC5zaWduSW5Bbm9ueW1vdXNseSh7fSkg5pu/5Luj44CCXG4gKi9cbmV4cG9ydCBjbGFzcyBBbm9ueW1vdXNBdXRoUHJvdmlkZXIge1xuICBwcml2YXRlIGF1dGhJbnN0YW5jZTogYW55XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczoge1xuICAgIGF1dGhJbnN0YW5jZTogYW55XG4gIH0pIHtcbiAgICB0aGlzLmF1dGhJbnN0YW5jZSA9IG9wdGlvbnMuYXV0aEluc3RhbmNlXG4gIH1cblxuICAvKipcbiAgICog5Yy/5ZCN55m75b2V5LqR5byA5Y+RXG4gICAqIEBkZXByZWNhdGVkIHYxIOWFvOWuuSBBUEnjgILlu7rorq7kvb/nlKggYXV0aC5zaWduSW5Bbm9ueW1vdXNseSh7fSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW5Bbm9ueW1vdXNseSDmlrnms5VcbiAgICBhd2FpdCB0aGlzLmF1dGhJbnN0YW5jZS5zaWduSW5Bbm9ueW1vdXNseSh7fSlcbiAgfVxufVxuXG4vLyA9PT09PT09PT09IEF1dGggdjEg5YW85a655Z+657G7ID09PT09PT09PT1cblxuLyoqXG4gKiBBdXRoVjFDb21wYXQg5Z+657G777yM5o+Q5L6bIHYxIOeJiOacrOeahOWFvOWuuSBBUEkg5pa55rOV44CCXG4gKiBBdXRoIOexu+mAmui/hyBleHRlbmRzIEF1dGhWMUNvbXBhdCDmnaXnu6fmib/ov5nkupvmlrnms5XjgIJcbiAqXG4gKiDms6jmhI/vvJrmraTnsbvkuK3nmoTmlrnms5XpgJrov4cgdGhpcyDorr/pl67lrZDnsbsgQXV0aCDnmoTmlrnms5XlkozlsZ7mgKfvvIxcbiAqIOWMheaLrDogc2lnbkluLCBzaWduVXAsIHNpZ25JbldpdGhDdXN0b21UaWNrZXQsIHNpZ25JbkFub255bW91c2x5LFxuICogZ2V0VmVyaWZpY2F0aW9uLCByZXNldFBhc3N3b3JkLCBvbkxvZ2luU3RhdGVDaGFuZ2VkLCBvbkF1dGhTdGF0ZUNoYW5nZSxcbiAqIGNyZWF0ZUxvZ2luU3RhdGUsIGZvcm1hdFBob25lLCBjb25maWcsIHNpZ25JbldpdGhPQXV0aCDnrYnjgIJcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZyAtLSBhYnN0cmFjdCDln7rnsbvkuK0gYWJzdHJhY3Qg5aOw5piO5LiOIHB1YmxpYyDmlrnms5XmjpLluo/kuI3pgILnlKjluLjop4Top4TliJlcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBdXRoVjFDb21wYXQge1xuICBhYnN0cmFjdCByZWFkb25seSBjb25maWc6IGFueVxuXG4gIC8vID09PT09PT09PT0gdjEg5YW85a65IEFQSSDmlrnms5UgPT09PT09PT09PVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOiOt+WPlueUqOS6juW+ruS/oeeZu+W9leeahCBXZWl4aW5BdXRoUHJvdmlkZXIgLy8gY3NwZWxsOmlnbm9yZSB3ZWl4aW4gV2VpeGluXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhPQXV0aCh7IHByb3ZpZGVyOiBhcHBpZCB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyB3ZWl4aW5BdXRoUHJvdmlkZXIob3B0aW9uczogeyBhcHBpZDogc3RyaW5nOyBzY29wZTogc3RyaW5nIH0pOiBXZWl4aW5BdXRoUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgV2VpeGluQXV0aFByb3ZpZGVyKHtcbiAgICAgIGF1dGhJbnN0YW5jZTogdGhpcyxcbiAgICAgIGFwcGlkOiBvcHRpb25zLmFwcGlkLFxuICAgICAgc2NvcGU6IG9wdGlvbnMuc2NvcGUsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOiOt+WPlueUqOS6juiHquWumuS5ieeZu+W9leeahCBDdXN0b21BdXRoUHJvdmlkZXJcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aEN1c3RvbVRpY2tldCgoKSA9PiBQcm9taXNlLnJlc29sdmUodGlja2V0KSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgY3VzdG9tQXV0aFByb3ZpZGVyKCk6IEN1c3RvbUF1dGhQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBDdXN0b21BdXRoUHJvdmlkZXIoe1xuICAgICAgYXV0aEluc3RhbmNlOiB0aGlzLFxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDojrflj5bnlKjkuo7ljL/lkI3nmbvlvZXnmoQgQW5vbnltb3VzQXV0aFByb3ZpZGVyXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbkFub255bW91c2x5KHt9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhbm9ueW1vdXNBdXRoUHJvdmlkZXIoKTogQW5vbnltb3VzQXV0aFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEFub255bW91c0F1dGhQcm92aWRlcih7XG4gICAgICBhdXRoSW5zdGFuY2U6IHRoaXMsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOS9v+eUqOmCrueuseWSjOWvhueggeazqOWGjOS6keW8gOWPkei0puaIt1xuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5zaWduVXAoeyBlbWFpbCwgcGFzc3dvcmQgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnblVwV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8U2lnblVwUmVzPiB7XG4gICAgaWYgKHR5cGVvZiBlbWFpbCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAnZW1haWwgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFzc3dvcmQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bhc3N3b3JkIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduVXAg5pa55rOVXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2lnblVwKHtcbiAgICAgIGVtYWlsLFxuICAgICAgcGFzc3dvcmQsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOS9v+eUqOmCrueuseWSjOWvhueggeeZu+W9leS6keW8gOWPkVxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5zaWduSW5XaXRoUGFzc3dvcmQoeyBlbWFpbCwgcGFzc3dvcmQgfSkg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHR5cGVvZiBlbWFpbCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAnZW1haWwgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFzc3dvcmQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bhc3N3b3JkIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW4g5pa55rOVXG4gICAgYXdhaXQgdGhpcy5zaWduSW4oe1xuICAgICAgdXNlcm5hbWU6IGVtYWlsLFxuICAgICAgcGFzc3dvcmQsXG4gICAgfSlcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2dpblN0YXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOWPkemAgemHjee9ruWvhueggeeahOmCruS7tlxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5yZXNldFBhc3N3b3JkRm9yRW1haWwoZW1haWwpIOabv+S7o+OAglxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbmRQYXNzd29yZFJlc2V0RW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgZW1haWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ2VtYWlsIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBnZXRWZXJpZmljYXRpb24g5pa55rOVXG4gICAgYXdhaXQgdGhpcy5nZXRWZXJpZmljYXRpb24oeyBlbWFpbCB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5L2/55So55So5oi35ZCN5a+G56CB55m75b2V5LqR5byA5Y+RXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhQYXNzd29yZCh7IHVzZXJuYW1lLCBwYXNzd29yZCB9KSDmm7/ku6PjgIJcbiAgICovXG4gIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoVXNlcm5hbWVBbmRQYXNzd29yZCh1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodHlwZW9mIHVzZXJuYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICd1c2VybmFtZSBtdXN0IGJlIGEgc3RyaW5nJylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBwYXNzd29yZCAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAncGFzc3dvcmQgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuXG4gICAgLy8g5L2/55SoIEF1dGgg5bey5pyJ55qEIHNpZ25JbiDmlrnms5VcbiAgICBhd2FpdCB0aGlzLnNpZ25Jbih7XG4gICAgICB1c2VybmFtZSxcbiAgICAgIHBhc3N3b3JkLFxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTG9naW5TdGF0ZSgpXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDlj5HpgIHmiYvmnLrpqozor4HnoIFcbiAgICogQGRlcHJlY2F0ZWQg5o6o6I2Q5L2/55SoIGF1dGguc2lnbkluV2l0aE90cCh7IHBob25lIH0pIOabv+S7o++8jOWPr+iOt+W+l1wi5Y+R6YCB4oaS6aqM6K+B4oaS55m75b2VXCLlrozmlbTmtYHnqIvjgIJcbiAgICog5q2k5pa55rOV5LuF5Y+R6YCB6aqM6K+B56CB5bm26L+U5ZueIGJvb2xlYW7vvIzkuI3kvJrov5Tlm54gdmVyaWZ5T3RwIOWbnuiwg+OAglxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNlbmRQaG9uZUNvZGUocGhvbmVOdW1iZXI6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGlmICh0eXBlb2YgcGhvbmVOdW1iZXIgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bob25lTnVtYmVyIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBnZXRWZXJpZmljYXRpb24g5pa55rOVXG4gICAgY29uc3QgZm9ybWF0dGVkUGhvbmUgPSB0aGlzLmZvcm1hdFBob25lKHBob25lTnVtYmVyKVxuICAgIGF3YWl0IHRoaXMuZ2V0VmVyaWZpY2F0aW9uKHsgcGhvbmVfbnVtYmVyOiBmb3JtYXR0ZWRQaG9uZSB9KVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmiYvmnLrlj7fms6jlhozvvIjmlK/mjIHnn63kv6Hpqozor4HnoIEr5a+G56CB5pa55byP77yJXG4gICAqIEBkZXByZWNhdGVkIOaOqOiNkOS9v+eUqCBhdXRoLnNpZ25VcCh7IHBob25lLCBwYXNzd29yZD8gfSkg5pu/5Luj77yM5pSv5oyB6aqM6K+B56CB6aqM6K+B5LiA5L2T5YyW5rWB56iL44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnblVwV2l0aFBob25lQ29kZShwaG9uZU51bWJlcjogc3RyaW5nLCBwaG9uZUNvZGU6IHN0cmluZywgcGFzc3dvcmQ/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGlmICh0eXBlb2YgcGhvbmVOdW1iZXIgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bob25lTnVtYmVyIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cbiAgICBpZiAodHlwZW9mIHBob25lQ29kZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAncGhvbmVDb2RlIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduVXAg5pa55rOVXG4gICAgYXdhaXQgdGhpcy5zaWduVXAoe1xuICAgICAgcGhvbmVfbnVtYmVyOiBmb3JtYXR0ZWRQaG9uZSxcbiAgICAgIHZlcmlmaWNhdGlvbl9jb2RlOiBwaG9uZUNvZGUsXG4gICAgICAuLi4ocGFzc3dvcmQgPyB7IHBhc3N3b3JkIH0gOiB7fSksXG4gICAgfSlcbiAgICByZXR1cm4gdGhpcy5jcmVhdGVMb2dpblN0YXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOaJi+acuuWPt+eZu+W9le+8iOaUr+aMgeefreS/oemqjOivgeeggSBvciDlr4bnoIHmlrnlvI/vvIlcbiAgICogQGRlcHJlY2F0ZWQg5a+G56CB5pa55byP5o6o6I2QIGF1dGguc2lnbkluV2l0aFBhc3N3b3JkKHsgcGhvbmUsIHBhc3N3b3JkIH0p77ybXG4gICAqIOmqjOivgeeggeaWueW8j+aOqOiNkCBhdXRoLnNpZ25JbldpdGhPdHAoeyBwaG9uZSB9Ke+8jOi/lOWbniB2ZXJpZnlPdHAg5Zue6LCD5a6M5oiQ6aqM6K+B44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2lnbkluV2l0aFBob25lQ29kZU9yUGFzc3dvcmQocGFyYW1zOiB7XG4gICAgcGhvbmVOdW1iZXI6IHN0cmluZ1xuICAgIHBob25lQ29kZT86IHN0cmluZ1xuICAgIHBhc3N3b3JkPzogc3RyaW5nXG4gIH0pOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHsgcGhvbmVOdW1iZXIsIHBob25lQ29kZSwgcGFzc3dvcmQgfSA9IHBhcmFtc1xuICAgIGlmICh0eXBlb2YgcGhvbmVOdW1iZXIgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bob25lTnVtYmVyIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcblxuICAgIGlmIChwYXNzd29yZCkge1xuICAgICAgLy8g5L2/55SoIEF1dGgg5bey5pyJ55qEIHNpZ25JbiDmlrnms5Xov5vooYzlr4bnoIHnmbvlvZVcbiAgICAgIGF3YWl0IHRoaXMuc2lnbkluKHtcbiAgICAgICAgdXNlcm5hbWU6IGZvcm1hdHRlZFBob25lLFxuICAgICAgICBwYXNzd29yZCxcbiAgICAgIH0pXG4gICAgfSBlbHNlIGlmIChwaG9uZUNvZGUpIHtcbiAgICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBzaWduSW4g5pa55rOV6L+b6KGM6aqM6K+B56CB55m75b2VXG4gICAgICBhd2FpdCB0aGlzLnNpZ25Jbih7XG4gICAgICAgIHVzZXJuYW1lOiBmb3JtYXR0ZWRQaG9uZSxcbiAgICAgICAgdmVyaWZpY2F0aW9uX3Rva2VuOiBwaG9uZUNvZGUsXG4gICAgICB9IGFzIGFueSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICdwaG9uZUNvZGUgb3IgcGFzc3dvcmQgbXVzdCBiZSBwcm92aWRlZCcpXG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZUxvZ2luU3RhdGUoKVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5omL5py65Y+35by65Yi26YeN572u5a+G56CBXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnJlc2V0UGFzc3dvcmRGb3JFbWFpbChwaG9uZU51bWJlcikg5pu/5Luj44CCXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZm9yY2VSZXNldFB3ZEJ5UGhvbmVDb2RlKHBhcmFtczoge1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmdcbiAgICBwaG9uZUNvZGU6IHN0cmluZ1xuICAgIHBhc3N3b3JkOiBzdHJpbmdcbiAgfSk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3QgeyBwaG9uZU51bWJlciwgcGhvbmVDb2RlLCBwYXNzd29yZCB9ID0gcGFyYW1zXG4gICAgaWYgKHR5cGVvZiBwaG9uZU51bWJlciAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93RXJyb3IoRVJST1JTLklOVkFMSURfUEFSQU1TLCAncGhvbmVOdW1iZXIgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGhvbmVDb2RlICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3dFcnJvcihFUlJPUlMuSU5WQUxJRF9QQVJBTVMsICdwaG9uZUNvZGUgbXVzdCBiZSBhIHN0cmluZycpXG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFzc3dvcmQgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ3Bhc3N3b3JkIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIGNvbnN0IGZvcm1hdHRlZFBob25lID0gdGhpcy5mb3JtYXRQaG9uZShwaG9uZU51bWJlcilcblxuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCByZXNldFBhc3N3b3JkIOaWueazlVxuICAgIGF3YWl0IHRoaXMucmVzZXRQYXNzd29yZCh7XG4gICAgICBwaG9uZV9udW1iZXI6IGZvcm1hdHRlZFBob25lLFxuICAgICAgbmV3X3Bhc3N3b3JkOiBwYXNzd29yZCxcbiAgICAgIHZlcmlmaWNhdGlvbl90b2tlbjogcGhvbmVDb2RlLFxuICAgIH0pXG5cbiAgICAvLyDph43nva7lr4bnoIHmiJDlip/lkI7kvb/nlKggQXV0aCDlt7LmnInnmoQgc2lnbkluIOaWueazleiHquWKqOeZu+W9lVxuICAgIGF3YWl0IHRoaXMuc2lnbkluKHtcbiAgICAgIHVzZXJuYW1lOiBmb3JtYXR0ZWRQaG9uZSxcbiAgICAgIHBhc3N3b3JkLFxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlTG9naW5TdGF0ZSgpXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmjqXmlLbkuIDkuKrlm57osIPlh73mlbDvvIzlnKjliLfmlrDnn63mnJ/orr/pl67ku6TniYzliY3osIPnlKjvvIzmoLnmja7ov5Tlm57lgLzlhrPlrprmmK/lkKbliLfmlrBcbiAgICogQGRlcHJlY2F0ZWQgdjEg5YW85a65IEFQSe+8jOW9k+WJjSB2MyBTREsg5Lit5peg55u05o6l5a+55bqU5pa55rOV44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKGNhbGxiYWNrKSDnm5HlkKwgVE9LRU5fUkVGUkVTSEVEIOS6i+S7tuabv+S7o+OAglxuICAgKi9cbiAgcHVibGljIHNob3VsZFJlZnJlc2hBY2Nlc3NUb2tlbihfY2FsbGJhY2s6ICgpID0+IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIHNob3VsZFJlZnJlc2hBY2Nlc3NUb2tlbigpIOWcqOW9k+WJjeeJiOacrOS4reaXoOazleWunueOsOOAgidcbiAgICAgICsgJyDlu7rorq7kvb/nlKggYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShjYWxsYmFjaykg5p2l55uR5ZCsIFRPS0VOX1JFRlJFU0hFRCDkuovku7bmm7/ku6PjgIInLClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOaOpeaUtuS4gOS4quWbnuiwg+WHveaVsO+8jOWcqOeZu+W9leeKtuaAgei/h+acn+aXtuiwg+eUqFxuICAgKiBAZGVwcmVjYXRlZCDlu7rorq7kvb/nlKggYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZShjYWxsYmFjaykg5pu/5Luj77yM55uR5ZCsIFNJR05FRF9PVVQg5LqL5Lu244CCXG4gICAqL1xuICBwdWJsaWMgb25Mb2dpblN0YXRlRXhwaXJlZChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgb25Mb2dpblN0YXRlQ2hhbmdlZCDmlrnms5VcbiAgICB0aGlzLm9uTG9naW5TdGF0ZUNoYW5nZWQoKHBhcmFtcykgPT4ge1xuICAgICAgaWYgKHBhcmFtcz8uZXZlbnRUeXBlID09PSBMT0dJTl9TVEFURV9DSEFOR0VEX1RZUEUuQ1JFREVOVElBTFNfRVJST1IpIHtcbiAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmjqXmlLbkuIDkuKrlm57osIPlh73mlbDvvIzlnKjnn63mnJ/orr/pl67ku6TniYzliLfmlrDlkI7osIPnlKhcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGgub25BdXRoU3RhdGVDaGFuZ2UoY2FsbGJhY2spIOabv+S7o++8jOebkeWQrCBUT0tFTl9SRUZSRVNIRUQg5LqL5Lu244CCXG4gICAqL1xuICBwdWJsaWMgb25BY2Nlc3NUb2tlblJlZnJlc2hlZChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgb25BdXRoU3RhdGVDaGFuZ2Ug5pa55rOVXG4gICAgdGhpcy5vbkF1dGhTdGF0ZUNoYW5nZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gQVVUSF9TVEFURV9DSEFOR0VEX1RZUEUuVE9LRU5fUkVGUkVTSEVEKSB7XG4gICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcylcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5o6l5pS25LiA5Liq5Zue6LCD5Ye95pWw77yM5Zyo5Yy/5ZCN55m75b2V54q25oCB6KKr6L2s5o2i5ZCO6LCD55SoXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLm9uQXV0aFN0YXRlQ2hhbmdlKGNhbGxiYWNrKSDmm7/ku6PvvIznm5HlkKwgU0lHTkVEX0lOIOS6i+S7tuOAglxuICAgKi9cbiAgcHVibGljIG9uQW5vbnltb3VzQ29udmVydGVkKGNhbGxiYWNrOiBGdW5jdGlvbik6IHZvaWQge1xuICAgIC8vIOS9v+eUqCBBdXRoIOW3suacieeahCBvbkF1dGhTdGF0ZUNoYW5nZSDmlrnms5VcbiAgICB0aGlzLm9uQXV0aFN0YXRlQ2hhbmdlKChldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50ID09PSBBVVRIX1NUQVRFX0NIQU5HRURfVFlQRS5TSUdORURfSU4pIHtcbiAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzKVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDmjqXmlLbkuIDkuKrlm57osIPlh73mlbDvvIzlnKjnmbvlvZXnsbvlnovlj5HnlJ/lj5jljJblkI7osIPnlKhcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGgub25BdXRoU3RhdGVDaGFuZ2UoY2FsbGJhY2spIOabv+S7o++8jOebkeWQrCBTSUdORURfSU4gLyBTSUdORURfT1VUIOS6i+S7tuOAglxuICAgKi9cbiAgcHVibGljIG9uTG9naW5UeXBlQ2hhbmdlZChjYWxsYmFjazogRnVuY3Rpb24pOiB2b2lkIHtcbiAgICAvLyDkvb/nlKggQXV0aCDlt7LmnInnmoQgb25BdXRoU3RhdGVDaGFuZ2Ug5pa55rOVXG4gICAgdGhpcy5vbkF1dGhTdGF0ZUNoYW5nZSgoZXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudCA9PT0gQVVUSF9TVEFURV9DSEFOR0VEX1RZUEUuU0lHTkVEX0lOIHx8IGV2ZW50ID09PSBBVVRIX1NUQVRFX0NIQU5HRURfVFlQRS5TSUdORURfT1VUKSB7XG4gICAgICAgIGNhbGxiYWNrLmNhbGwodGhpcylcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgLy8gPT09PT09PT09PSDlo7DmmI7lrZDnsbsgQXV0aCDpnIDopoHmj5DkvpvnmoTmlrnms5Uv5bGe5oCnID09PT09PT09PT1cbiAgYWJzdHJhY3Qgc2lnbkluKHBhcmFtczogYXV0aE1vZGVscy5TaWduSW5SZXF1ZXN0KTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IHNpZ25VcChwYXJhbXM6IGF1dGhNb2RlbHMuU2lnblVwUmVxdWVzdCAmIHsgcGhvbmU/OiBzdHJpbmcgfSk6IFByb21pc2U8U2lnblVwUmVzPlxuICBhYnN0cmFjdCBzaWduSW5XaXRoQ3VzdG9tVGlja2V0KGdldFRpY2tGbj86IGF1dGhNb2RlbHMuR2V0Q3VzdG9tU2lnblRpY2tldEZuKTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IHNpZ25JbkFub255bW91c2x5KHBhcmFtczogYW55KTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IGdldFZlcmlmaWNhdGlvbihwYXJhbXM6IGFueSwgb3B0aW9ucz86IGFueSk6IFByb21pc2U8YXV0aE1vZGVscy5HZXRWZXJpZmljYXRpb25SZXNwb25zZT5cbiAgYWJzdHJhY3QgcmVzZXRQYXNzd29yZChwYXJhbXM6IGF1dGhNb2RlbHMuUmVzZXRQYXNzd29yZFJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+XG4gIGFic3RyYWN0IG9uTG9naW5TdGF0ZUNoYW5nZWQoY2FsbGJhY2s6IEZ1bmN0aW9uKTogUHJvbWlzZTx2b2lkPlxuICBhYnN0cmFjdCBvbkF1dGhTdGF0ZUNoYW5nZShjYWxsYmFjazogYW55KTogYW55XG4gIGFic3RyYWN0IGNyZWF0ZUxvZ2luU3RhdGUocGFyYW1zPzogYW55LCBvcHRpb25zPzogYW55KTogUHJvbWlzZTxhbnk+XG4gIGFic3RyYWN0IHNpZ25JbldpdGhPQXV0aChwYXJhbXM6IGFueSk6IFByb21pc2U8YW55PlxuICBhYnN0cmFjdCBncmFudFByb3ZpZGVyVG9rZW4ocGFyYW1zOiBhdXRoTW9kZWxzLkdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3QpOiBQcm9taXNlPGF1dGhNb2RlbHMuR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+XG4gIGFic3RyYWN0IGJpbmRXaXRoUHJvdmlkZXIocGFyYW1zOiBhdXRoTW9kZWxzLkJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPlxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZm9ybWF0UGhvbmUocGhvbmU6IHN0cmluZyk6IHN0cmluZ1xufVxuXG4vLyA9PT09PT09PT09IFVzZXIgdjEg5YW85a65IG1peGluID09PT09PT09PT1cblxuLyoqXG4gKiDlsIYgdjEg5YW85a655pa55rOV5bqU55So5YiwIFVzZXIg57G755qEIHByb3RvdHlwZSDkuIrjgIJcbiAqIOWcqCBpbmRleC50cyDkuK3osIPnlKg6IGFwcGx5VXNlclYxQ29tcGF0KFVzZXIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVVzZXJWMUNvbXBhdChVc2VyQ2xhc3M6IGFueSk6IHZvaWQge1xuICAvKipcbiAgICogdjEgQVBJOiDlsIblvZPliY3otKbmiLfkuI7oh6rlrprkuYnnmbvlvZUgVGlja2V0IOi/m+ihjOe7keWumlxuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLnNpZ25JbldpdGhDdXN0b21UaWNrZXQoKCkgPT4gUHJvbWlzZS5yZXNvbHZlKHRpY2tldCkpIOabv+S7o+OAglxuICAgKi9cbiAgVXNlckNsYXNzLnByb3RvdHlwZS5saW5rV2l0aFRpY2tldCA9IGFzeW5jIGZ1bmN0aW9uIChfdGlja2V0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFVzZXIubGlua1dpdGhUaWNrZXQoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGguc2lnbkluV2l0aEN1c3RvbVRpY2tldCgoKSA9PiBQcm9taXNlLnJlc29sdmUodGlja2V0KSkg5pu/5Luj44CCJywpXG4gIH1cblxuICAvKipcbiAgICogdjEgQVBJOiDlsIblvZPliY3otKbmiLfkuI7nrKzkuInmlrnpibTmnYPmj5DkvpvmlrnvvIjku6Xph43lrprlkJHlvaLlvI/vvInov5vooYznu5HlrppcbiAgICogQGRlcHJlY2F0ZWQg5bu66K6u5L2/55SoIGF1dGgubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6ICdwcm92aWRlcklkJyB9KSDmm7/ku6PjgIJcbiAgICovXG4gIFVzZXJDbGFzcy5wcm90b3R5cGUubGlua1dpdGhSZWRpcmVjdCA9IGZ1bmN0aW9uIChfcHJvdmlkZXI6IGFueSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignW3YxIOWFvOWuuV0gVXNlci5saW5rV2l0aFJlZGlyZWN0KCkg5Zyo5b2T5YmN54mI5pys5Lit5peg5rOV5a6e546w44CCJ1xuICAgICAgKyAnIOW7uuiuruS9v+eUqCBhdXRoLmxpbmtJZGVudGl0eSh7IHByb3ZpZGVyOiBcXCdwcm92aWRlcklkXFwnIH0pIOabv+S7o+OAgicsKVxuICB9XG5cbiAgLyoqXG4gICAqIHYxIEFQSTog5pu05paw5b2T5YmN55qE55m75b2V6YKu566xXG4gICAqIEBkZXByZWNhdGVkIOW7uuiuruS9v+eUqCBhdXRoLnVwZGF0ZVVzZXIoeyBlbWFpbDogbmV3RW1haWwgfSkg5pu/5Luj44CCXG4gICAqL1xuICBVc2VyQ2xhc3MucHJvdG90eXBlLnVwZGF0ZUVtYWlsID0gYXN5bmMgZnVuY3Rpb24gKG5ld0VtYWlsOiBzdHJpbmcsIF9wYXNzd29yZD86IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0eXBlb2YgbmV3RW1haWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvd0Vycm9yKEVSUk9SUy5JTlZBTElEX1BBUkFNUywgJ25ld0VtYWlsIG11c3QgYmUgYSBzdHJpbmcnKVxuICAgIH1cblxuICAgIC8vIOS9v+eUqCBVc2VyIOW3suacieeahCB1cGRhdGVVc2VyQmFzaWNJbmZvIOaWueazlVxuICAgIGF3YWl0IHRoaXMudXBkYXRlVXNlckJhc2ljSW5mbyh7XG4gICAgICBlbWFpbDogbmV3RW1haWwsXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOe7keWumuaJi+acuuWPt1xuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5ZyoIFVzZXIg5LiK5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLmJpbmRQaG9uZU51bWJlcih7IHBob25lX251bWJlciwgdmVyaWZpY2F0aW9uX3Rva2VuLCBzdWRvX3Rva2VuIH0pIOabv+S7o+OAglxuICAgKi9cbiAgVXNlckNsYXNzLnByb3RvdHlwZS5saW5rV2l0aFBob25lTnVtYmVyID0gYXN5bmMgZnVuY3Rpb24gKF9waG9uZU51bWJlcjogc3RyaW5nLCBfcGhvbmVDb2RlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFVzZXIubGlua1dpdGhQaG9uZU51bWJlcigpIOWcqOW9k+WJjeeJiOacrOS4reaXoOazleWunueOsOOAgidcbiAgICAgICsgJyDlu7rorq7kvb/nlKggYXV0aC5iaW5kUGhvbmVOdW1iZXIoeyBwaG9uZV9udW1iZXIsIHZlcmlmaWNhdGlvbl90b2tlbiwgc3Vkb190b2tlbiB9KSDmm7/ku6PjgIInLClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOabtOaWsOaJi+acuuWPt1xuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5ZyoIFVzZXIg5LiK5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLnVwZGF0ZVVzZXIoeyBwaG9uZTogbmV3UGhvbmVOdW1iZXIgfSkg5pu/5Luj44CCXG4gICAqL1xuICBVc2VyQ2xhc3MucHJvdG90eXBlLnVwZGF0ZVBob25lTnVtYmVyID0gYXN5bmMgZnVuY3Rpb24gKF9waG9uZU51bWJlcjogc3RyaW5nLCBfcGhvbmVDb2RlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1t2MSDlhbzlrrldIFVzZXIudXBkYXRlUGhvbmVOdW1iZXIoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGgudXBkYXRlVXNlcih7IHBob25lOiBuZXdQaG9uZU51bWJlciB9KSDmm7/ku6PjgIInLClcbiAgfVxuXG4gIC8qKlxuICAgKiB2MSBBUEk6IOino+e7keafkOS4queZu+W9leaWueW8j1xuICAgKiBAZGVwcmVjYXRlZCB2MSDlhbzlrrkgQVBJ77yM5b2T5YmN54mI5pys5Lit5peg5rOV55u05o6l5ZyoIFVzZXIg5LiK5a6e546w44CCXG4gICAqIOW7uuiuruS9v+eUqCBhdXRoLnVubGlua0lkZW50aXR5KHsgcHJvdmlkZXI6IGxvZ2luVHlwZSB9KSDmm7/ku6PjgIJcbiAgICovXG4gIFVzZXJDbGFzcy5wcm90b3R5cGUudW5saW5rID0gYXN5bmMgZnVuY3Rpb24gKF9sb2dpblR5cGU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignW3YxIOWFvOWuuV0gVXNlci51bmxpbmsoKSDlnKjlvZPliY3niYjmnKzkuK3ml6Dms5Xlrp7njrDjgIInXG4gICAgICArICcg5bu66K6u5L2/55SoIGF1dGgudW5saW5rSWRlbnRpdHkoeyBwcm92aWRlcjogbG9naW5UeXBlIH0pIOabv+S7o+OAgicsKVxuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloudbase/auth",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.6",
|
|
4
4
|
"description": "cloudbase javascript sdk auth componets",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
"license": "Apache-2.0",
|
|
33
33
|
"dependencies": {
|
|
34
34
|
"@cloudbase/adapter-wx_mp": "^1.3.1",
|
|
35
|
-
"@cloudbase/oauth": "3.3.
|
|
36
|
-
"@cloudbase/utilities": "3.3.
|
|
35
|
+
"@cloudbase/oauth": "3.3.6",
|
|
36
|
+
"@cloudbase/utilities": "3.3.6"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"@cloudbase/types": "3.3.
|
|
39
|
+
"@cloudbase/types": "3.3.6",
|
|
40
40
|
"@types/node": "^22.1.0",
|
|
41
41
|
"terser-webpack-plugin": "^3.0.2",
|
|
42
42
|
"webpack-bundle-analyzer": "^4.9.1"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "5f5ab76c7ae9ee08aba7da7da94d36a353068d06"
|
|
45
45
|
}
|
package/src/index.ts
CHANGED
|
@@ -401,11 +401,26 @@ class Auth extends AuthV1Compat {
|
|
|
401
401
|
// ========== new auth api methods merged below ==========
|
|
402
402
|
|
|
403
403
|
/**
|
|
404
|
-
*
|
|
405
|
-
*
|
|
404
|
+
* 匿名登录。无需用户注册即可使用应用功能。
|
|
405
|
+
*
|
|
406
|
+
* **前置条件**:需要在云开发控制台开启「匿名登录」。
|
|
407
|
+
*
|
|
408
|
+
* **重要**:匿名登录必须在使用 watch() 等实时数据库功能之前完成,
|
|
409
|
+
* 否则 WebSocket 连接会因缺少认证信息而失败。
|
|
410
|
+
*
|
|
411
|
+
* @see https://supabase.com/docs/reference/javascript/auth-signinanonymously
|
|
412
|
+
*
|
|
413
|
+
* @example
|
|
414
|
+
* ```typescript
|
|
406
415
|
* const { data, error } = await auth.signInAnonymously();
|
|
407
|
-
*
|
|
408
|
-
*
|
|
416
|
+
* if (!error) {
|
|
417
|
+
* console.log('用户ID:', data.user.id, '是否匿名:', data.user.is_anonymous);
|
|
418
|
+
* // 现在可以使用 watch() 等实时功能
|
|
419
|
+
* }
|
|
420
|
+
* ```
|
|
421
|
+
*
|
|
422
|
+
* @param params 可选参数
|
|
423
|
+
* @returns 登录结果,成功时 data 包含 user 和 session
|
|
409
424
|
*/
|
|
410
425
|
async signInAnonymously(params: SignInAnonymouslyReq): Promise<SignInRes> {
|
|
411
426
|
try {
|
package/src/type.ts
CHANGED
|
@@ -312,6 +312,8 @@ export interface SignInWithOtpRes {
|
|
|
312
312
|
|
|
313
313
|
export interface SignUpRes {
|
|
314
314
|
data: {
|
|
315
|
+
user?: User // 用户信息(手机号验证码注册直接返回)
|
|
316
|
+
session?: Session // 会话信息(手机号验证码注册直接返回)
|
|
315
317
|
verifyOtp?: OtpCallback // 验证码回调函数,支持messageId参数
|
|
316
318
|
}
|
|
317
319
|
error: AuthError | null
|
package/src/v1-compat.ts
CHANGED
|
@@ -240,7 +240,8 @@ export abstract class AuthV1Compat {
|
|
|
240
240
|
|
|
241
241
|
/**
|
|
242
242
|
* v1 API: 发送手机验证码
|
|
243
|
-
* @deprecated
|
|
243
|
+
* @deprecated 推荐使用 auth.signInWithOtp({ phone }) 替代,可获得"发送→验证→登录"完整流程。
|
|
244
|
+
* 此方法仅发送验证码并返回 boolean,不会返回 verifyOtp 回调。
|
|
244
245
|
*/
|
|
245
246
|
public async sendPhoneCode(phoneNumber: string): Promise<boolean> {
|
|
246
247
|
if (typeof phoneNumber !== 'string') {
|
|
@@ -255,7 +256,7 @@ export abstract class AuthV1Compat {
|
|
|
255
256
|
|
|
256
257
|
/**
|
|
257
258
|
* v1 API: 手机号注册(支持短信验证码+密码方式)
|
|
258
|
-
* @deprecated
|
|
259
|
+
* @deprecated 推荐使用 auth.signUp({ phone, password? }) 替代,支持验证码验证一体化流程。
|
|
259
260
|
*/
|
|
260
261
|
public async signUpWithPhoneCode(phoneNumber: string, phoneCode: string, password?: string): Promise<any> {
|
|
261
262
|
if (typeof phoneNumber !== 'string') {
|
|
@@ -278,8 +279,8 @@ export abstract class AuthV1Compat {
|
|
|
278
279
|
|
|
279
280
|
/**
|
|
280
281
|
* v1 API: 手机号登录(支持短信验证码 or 密码方式)
|
|
281
|
-
* @deprecated
|
|
282
|
-
*
|
|
282
|
+
* @deprecated 密码方式推荐 auth.signInWithPassword({ phone, password });
|
|
283
|
+
* 验证码方式推荐 auth.signInWithOtp({ phone }),返回 verifyOtp 回调完成验证。
|
|
283
284
|
*/
|
|
284
285
|
public async signInWithPhoneCodeOrPassword(params: {
|
|
285
286
|
phoneNumber: string
|