@nlabs/metropolisjs 1.0.2 → 1.0.7
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/CHANGELOG.md +6 -109
- package/README.md +45 -44
- package/docs/assets/metropolisjs-architecture.png +0 -0
- package/docs/assets/metropolisjs-architecture.svg +58 -0
- package/docs/assets/metropolisjs-request-lifecycle.svg +42 -0
- package/examples/content-actions-usage.ts +1 -2
- package/examples/factory-pattern-usage.ts +0 -18
- package/lib/actions/awsRumActions/awsRumActions.d.ts +1 -1
- package/lib/actions/awsRumActions/awsRumActions.js +12 -20
- package/lib/actions/userActions/userActions.d.ts +0 -2
- package/lib/actions/userActions/userActions.js +2 -7
- package/lib/adapters/tagAdapter/tagAdapter.d.ts +0 -1
- package/lib/adapters/tagAdapter/tagAdapter.js +1 -2
- package/lib/adapters/userAdapter/userAdapter.d.ts +0 -1
- package/lib/adapters/userAdapter/userAdapter.js +1 -2
- package/lib/config/index.d.ts +2 -2
- package/lib/config/index.js +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/index.js +5 -5
- package/lib/utils/{MetropolisProvider.d.ts → MetropolisContext.d.ts} +3 -14
- package/lib/utils/MetropolisContext.js +7 -0
- package/lib/utils/actionFactory.js +2 -2
- package/lib/utils/api.d.ts +1 -0
- package/lib/utils/api.js +10 -2
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/index.js +3 -3
- package/lib/utils/useMetropolis.d.ts +2 -6
- package/lib/utils/useMetropolis.js +16 -30
- package/lib/utils/useTranslations.js +4 -2
- package/package.json +5 -2
- package/lib/utils/MetropolisProvider.js +0 -31
|
@@ -297,6 +297,5 @@ export const clearUserCache = ()=>{
|
|
|
297
297
|
};
|
|
298
298
|
export const getUserCacheSize = ()=>userCache.size;
|
|
299
299
|
export { userCache };
|
|
300
|
-
export const parseUserLegacy = (user)=>parseUser(user);
|
|
301
300
|
|
|
302
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUNoYXIsIHBhcnNlRW1haWwsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VSZWFrdG9yRGF0ZSwgcGFyc2VSZWFrdG9ySXRlbUlkLCBwYXJzZVJlYWt0b3JOYW1lLCBwYXJzZVJlYWt0b3JUeXBlfSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlci5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBhZGRlZD86IG51bWJlcjtcbiAgYmFua0lkPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBjdXJyZW5jeT86IHN0cmluZztcbiAgZGV2aWNlVG9rZW4/OiBzdHJpbmc7XG4gIGRvYj86IG51bWJlcjtcbiAgYmlydGhkYXRlPzogbnVtYmVyO1xuICBlbWFpbD86IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpbWFnZUlkPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgbGFzdEFjdGl2ZT86IG51bWJlcjtcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBtYWlsaW5nTGlzdD86IGJvb2xlYW47XG4gIG1vZGlmaWVkPzogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG4gIHBsYW5FeHBpcmVzPzogbnVtYmVyO1xuICBwbGFuSWQ/OiBzdHJpbmc7XG4gIHBsYW5TdGF0dXM/OiBzdHJpbmc7XG4gIHBsYW5TdWJzY3JpcHRpb25JZD86IHN0cmluZztcbiAgc2FsdD86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHN0cmVldDE/OiBzdHJpbmc7XG4gIHN0cmVldDI/OiBzdHJpbmc7XG4gIHN0cmlwZUFjY291bnRJZD86IHN0cmluZztcbiAgc3RyaXBlQ2FyZEJyYW5kPzogc3RyaW5nO1xuICBzdHJpcGVDYXJkSWQ/OiBzdHJpbmc7XG4gIHN0cmlwZUNhcmRMYXN0ND86IHN0cmluZztcbiAgc3RyaXBlQ3VzdG9tZXJJZD86IHN0cmluZztcbiAgdGltZXpvbmU/OiBzdHJpbmc7XG4gIHRodW1iVXJsPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB1cGRhdGVkPzogbnVtYmVyO1xuICB1c2VyQWNjZXNzPzogbnVtYmVyO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICB2ZXJpZmllZEVtYWlsPzogYm9vbGVhbjtcbiAgdmVyaWZpZWRFbWFpbENvZGU/OiBudW1iZXI7XG4gIHZlcmlmaWVkRW1haWxFeHBpcmVzPzogbnVtYmVyO1xuICB2ZXJpZmllZFBob25lPzogYm9vbGVhbjtcbiAgdmVyaWZpZWRQaG9uZUV4cGlyZXM/OiBudW1iZXI7XG4gIHZlcmlmaWVkU21zQ29kZT86IG51bWJlcjtcbiAgemlwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVXNlclZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnVXNlclZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgVXNlcklucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBhY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGFkZGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGJhbmtJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBjaXR5OiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIGNvdW50cnk6IHouc3RyaW5nKCkubGVuZ3RoKDIpLm9wdGlvbmFsKCksXG4gIGN1cnJlbmN5OiB6LnN0cmluZygpLmxlbmd0aCgzKS5vcHRpb25hbCgpLFxuICBkZXZpY2VUb2tlbjogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBkb2I6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgYmlydGhkYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGVtYWlsOiB6LmVtYWlsKCkub3B0aW9uYWwoKSxcbiAgZmlyc3ROYW1lOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIGdlbmRlcjogei5zdHJpbmcoKS5sZW5ndGgoMSkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBsYXN0TmFtZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBsYXN0QWN0aXZlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2FsZTogei5zdHJpbmcoKS5tYXgoNSkub3B0aW9uYWwoKSxcbiAgbWFpbGluZ0xpc3Q6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgcGFzc3dvcmQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgcGhvbmU6IHouc3RyaW5nKCkubWF4KDIwKS5vcHRpb25hbCgpLFxuICBwbGFuRXhwaXJlczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBwbGFuSWQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgcGxhblN0YXR1czogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBwbGFuU3Vic2NyaXB0aW9uSWQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgc2FsdDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdGF0ZTogei5zdHJpbmcoKS5sZW5ndGgoMikub3B0aW9uYWwoKSxcbiAgc3RyZWV0MTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdHJlZXQyOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHN0cmlwZUFjY291bnRJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdHJpcGVDYXJkQnJhbmQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgc3RyaXBlQ2FyZElkOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHN0cmlwZUNhcmRMYXN0NDogei5zdHJpbmcoKS5tYXgoNCkub3B0aW9uYWwoKSxcbiAgc3RyaXBlQ3VzdG9tZXJJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB0aW1lem9uZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHVwZGF0ZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdXNlckFjY2Vzczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcm5hbWU6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRFbWFpbDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRFbWFpbENvZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRFbWFpbEV4cGlyZXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRQaG9uZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRQaG9uZUV4cGlyZXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRTbXNDb2RlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHppcDogei5zdHJpbmcoKS5tYXgoMjApLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmNvbnN0IHZhbGlkYXRlUGhvbmUgPSAocGhvbmU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZighcGhvbmUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICBpZihjbGVhbmVkLmxlbmd0aCA8IDEwIHx8IGNsZWFuZWQubGVuZ3RoID4gMTUpIHtcbiAgICB0aHJvdyBuZXcgVXNlclZhbGlkYXRpb25FcnJvcignSW52YWxpZCBwaG9uZSBudW1iZXIgZm9ybWF0JywgJ3Bob25lJyk7XG4gIH1cbiAgcmV0dXJuIGArJHtjbGVhbmVkfWA7XG59O1xuXG5jb25zdCB2YWxpZGF0ZUNvdW50cnkgPSAoY291bnRyeT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmKCFjb3VudHJ5KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB1cHBlciA9IGNvdW50cnkudG9VcHBlckNhc2UoKTtcbiAgaWYoIS9eW0EtWl17Mn0kLy50ZXN0KHVwcGVyKSkge1xuICAgIHRocm93IG5ldyBVc2VyVmFsaWRhdGlvbkVycm9yKCdDb3VudHJ5IG11c3QgYmUgYSAyLWxldHRlciBJU08gY29kZScsICdjb3VudHJ5Jyk7XG4gIH1cbiAgcmV0dXJuIHVwcGVyO1xufTtcblxuY29uc3QgdmFsaWRhdGVTdGF0ZSA9IChzdGF0ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmKCFzdGF0ZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXBwZXIgPSBzdGF0ZS50b1VwcGVyQ2FzZSgpO1xuICBpZighL15bQS1aXXsyfSQvLnRlc3QodXBwZXIpKSB7XG4gICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoJ1N0YXRlIG11c3QgYmUgYSAyLWxldHRlciBjb2RlJywgJ3N0YXRlJyk7XG4gIH1cbiAgcmV0dXJuIHVwcGVyO1xufTtcblxuY29uc3QgdmFsaWRhdGVHZW5kZXIgPSAoZ2VuZGVyPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYoIWdlbmRlcikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXBwZXIgPSBnZW5kZXIudG9VcHBlckNhc2UoKTtcbiAgaWYoIS9eW01GXSQvLnRlc3QodXBwZXIpKSB7XG4gICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoJ0dlbmRlciBtdXN0IGJlIE0gb3IgRicsICdnZW5kZXInKTtcbiAgfVxuICByZXR1cm4gdXBwZXI7XG59O1xuXG5jb25zdCB1c2VyQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgVXNlcj4oKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVXNlcklucHV0ID0gKHVzZXI6IHVua25vd24pOiBVc2VyID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBVc2VySW5wdXRTY2hlbWEucGFyc2UodXNlcik7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBVc2VyO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoYFVzZXIgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0VXNlck91dHB1dCA9ICh1c2VyOiBVc2VyKTogVXNlciA9PiB7XG4gIGNvbnN0IHtwYXNzd29yZCwgc2FsdCwgdmVyaWZpZWRFbWFpbENvZGUsIHZlcmlmaWVkU21zQ29kZSwgLi4uc2FmZVVzZXJ9ID0gdXNlcjtcbiAgcmV0dXJuIHNhZmVVc2VyO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVXNlciA9ICh1c2VyOiBVc2VyKTogVXNlciA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVVzZXJUcmFuc2Zvcm1hdGlvbih1c2VyKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBVc2VyVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoYFVzZXIgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Vc2VyVHJhbnNmb3JtYXRpb24gPSAodXNlcjogVXNlcik6IFVzZXIgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWN0aXZlLFxuICAgIGJhbmtJZCxcbiAgICBjaXR5LFxuICAgIGNvdW50cnksXG4gICAgY3VycmVuY3ksXG4gICAgZGV2aWNlVG9rZW4sXG4gICAgZG9iLFxuICAgIGJpcnRoZGF0ZSxcbiAgICBlbWFpbCxcbiAgICBmaXJzdE5hbWUsXG4gICAgZ2VuZGVyLFxuICAgIGlkLFxuICAgIGltYWdlSWQsXG4gICAgbGFzdE5hbWUsXG4gICAgbGFzdEFjdGl2ZSxcbiAgICBsb2NhbGUsXG4gICAgbWFpbGluZ0xpc3QsXG4gICAgbmFtZSxcbiAgICBwYXNzd29yZCxcbiAgICBwaG9uZSxcbiAgICBwbGFuRXhwaXJlcyxcbiAgICBwbGFuSWQsXG4gICAgcGxhblN0YXR1cyxcbiAgICBwbGFuU3Vic2NyaXB0aW9uSWQsXG4gICAgc2FsdCxcbiAgICBzdGF0ZSxcbiAgICBzdHJlZXQxLFxuICAgIHN0cmVldDIsXG4gICAgc3RyaXBlQWNjb3VudElkLFxuICAgIHN0cmlwZUNhcmRCcmFuZCxcbiAgICBzdHJpcGVDYXJkSWQsXG4gICAgc3RyaXBlQ2FyZExhc3Q0LFxuICAgIHN0cmlwZUN1c3RvbWVySWQsXG4gICAgdGltZXpvbmUsXG4gICAgdHlwZSxcbiAgICB1c2VyQWNjZXNzLFxuICAgIHVzZXJJZCxcbiAgICB1c2VybmFtZSxcbiAgICB2ZXJpZmllZEVtYWlsLFxuICAgIHZlcmlmaWVkRW1haWxDb2RlLFxuICAgIHZlcmlmaWVkRW1haWxFeHBpcmVzLFxuICAgIHZlcmlmaWVkUGhvbmUsXG4gICAgdmVyaWZpZWRQaG9uZUV4cGlyZXMsXG4gICAgdmVyaWZpZWRTbXNDb2RlLFxuICAgIHppcFxuICB9ID0gdXNlcjtcbiAgY29uc3Qgbm9ybWFsaXplZERvYiA9IGJpcnRoZGF0ZSA/PyBkb2I7XG4gIGNvbnN0IG5vcm1hbGl6ZWRGaXJzdCA9IGZpcnN0TmFtZTtcbiAgY29uc3Qgbm9ybWFsaXplZExhc3QgPSBsYXN0TmFtZTtcbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudCh1c2VyKSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHVzZXJJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgdXNlcnMvJHtfa2V5IHx8IHVzZXJJZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCB1c2VySWQpICYmIHt1c2VySWQ6IHBhcnNlSWQoX2tleSB8fCB1c2VySWQgfHwgJycpfSksXG4gICAgLi4uKGFjdGl2ZSAhPT0gdW5kZWZpbmVkICYmIHthY3RpdmU6ICEhYWN0aXZlfSksXG4gICAgLi4uKGJhbmtJZCAmJiB7YmFua0lkOiBwYXJzZVZhckNoYXIoYmFua0lkLCAxNjApfSksXG4gICAgLi4uKGNpdHkgJiYge2NpdHk6IHBhcnNlVmFyQ2hhcihjaXR5LCAxNjApfSksXG4gICAgLi4uKGNvdW50cnkgJiYge2NvdW50cnk6IHZhbGlkYXRlQ291bnRyeShjb3VudHJ5KX0pLFxuICAgIC4uLihjdXJyZW5jeSAmJiB7Y3VycmVuY3k6IHBhcnNlQ2hhcihjdXJyZW5jeSwgMykudG9VcHBlckNhc2UoKX0pLFxuICAgIC4uLihkZXZpY2VUb2tlbiAmJiB7ZGV2aWNlVG9rZW46IHBhcnNlVmFyQ2hhcihkZXZpY2VUb2tlbiwgMTYwKX0pLFxuICAgIC4uLihub3JtYWxpemVkRG9iICE9PSB1bmRlZmluZWQgJiYge2JpcnRoZGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShub3JtYWxpemVkRG9iKSwgZG9iOiBwYXJzZVJlYWt0b3JEYXRlKG5vcm1hbGl6ZWREb2IpfSksXG4gICAgLi4uKGVtYWlsICYmIHtlbWFpbDogcGFyc2VFbWFpbChlbWFpbCl9KSxcbiAgICAuLi4obm9ybWFsaXplZEZpcnN0ICYmIHtmaXJzdE5hbWU6IHBhcnNlVmFyQ2hhcihub3JtYWxpemVkRmlyc3QsIDE2MCl9KSxcbiAgICAuLi4oZ2VuZGVyICYmIHtnZW5kZXI6IHZhbGlkYXRlR2VuZGVyKGdlbmRlcil9KSxcbiAgICAuLi4oaW1hZ2VJZCAmJiB7aW1hZ2VJZDogcGFyc2VSZWFrdG9ySXRlbUlkKGltYWdlSWQpfSksXG4gICAgLi4uKG5vcm1hbGl6ZWRMYXN0ICYmIHtsYXN0TmFtZTogcGFyc2VWYXJDaGFyKG5vcm1hbGl6ZWRMYXN0LCAxNjApfSksXG4gICAgLi4uKGxhc3RBY3RpdmUgIT09IHVuZGVmaW5lZCAmJiB7bGFzdEFjdGl2ZTogcGFyc2VSZWFrdG9yRGF0ZShsYXN0QWN0aXZlKX0pLFxuICAgIC4uLihsb2NhbGUgJiYge2xvY2FsZTogcGFyc2VTdHJpbmcobG9jYWxlLCA1KX0pLFxuICAgIC4uLihtYWlsaW5nTGlzdCAhPT0gdW5kZWZpbmVkICYmIHttYWlsaW5nTGlzdDogISFtYWlsaW5nTGlzdH0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVJlYWt0b3JOYW1lKG5hbWUpfSksXG4gICAgLi4uKHBhc3N3b3JkICYmIHtwYXNzd29yZDogcGFyc2VWYXJDaGFyKHBhc3N3b3JkLCAxNjApfSksXG4gICAgLi4uKHBob25lICYmIHtwaG9uZTogdmFsaWRhdGVQaG9uZShwaG9uZSl9KSxcbiAgICAuLi4ocGxhbkV4cGlyZXMgIT09IHVuZGVmaW5lZCAmJiB7cGxhbkV4cGlyZXM6IHBhcnNlUmVha3RvckRhdGUocGxhbkV4cGlyZXMpfSksXG4gICAgLi4uKHBsYW5JZCAmJiB7cGxhbklkOiBwYXJzZVZhckNoYXIocGxhbklkLCAxNjApfSksXG4gICAgLi4uKHBsYW5TdGF0dXMgJiYge3BsYW5TdGF0dXM6IHBhcnNlVmFyQ2hhcihwbGFuU3RhdHVzLCAxNjApfSksXG4gICAgLi4uKHBsYW5TdWJzY3JpcHRpb25JZCAmJiB7cGxhblN1YnNjcmlwdGlvbklkOiBwYXJzZVZhckNoYXIocGxhblN1YnNjcmlwdGlvbklkLCAxNjApfSksXG4gICAgLi4uKHNhbHQgJiYge3NhbHQ6IHBhcnNlVmFyQ2hhcihzYWx0LCAxNjApfSksXG4gICAgLi4uKHN0YXRlICYmIHtzdGF0ZTogdmFsaWRhdGVTdGF0ZShzdGF0ZSl9KSxcbiAgICAuLi4oc3RyZWV0MSAmJiB7c3RyZWV0MTogcGFyc2VWYXJDaGFyKHN0cmVldDEsIDE2MCl9KSxcbiAgICAuLi4oc3RyZWV0MiAmJiB7c3RyZWV0MjogcGFyc2VWYXJDaGFyKHN0cmVldDIsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQWNjb3VudElkICYmIHtzdHJpcGVBY2NvdW50SWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVBY2NvdW50SWQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ2FyZEJyYW5kICYmIHtzdHJpcGVDYXJkQnJhbmQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDYXJkQnJhbmQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ2FyZElkICYmIHtzdHJpcGVDYXJkSWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDYXJkSWQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ2FyZExhc3Q0ICYmIHtzdHJpcGVDYXJkTGFzdDQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDYXJkTGFzdDQsIDQpfSksXG4gICAgLi4uKHN0cmlwZUN1c3RvbWVySWQgJiYge3N0cmlwZUN1c3RvbWVySWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDdXN0b21lcklkLCAxNjApfSksXG4gICAgLi4uKHRpbWV6b25lICYmIHt0aW1lem9uZTogcGFyc2VTdHJpbmcodGltZXpvbmUsIDE2MCl9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VSZWFrdG9yVHlwZSh0eXBlKX0pLFxuICAgIC4uLih1c2VyQWNjZXNzICE9PSB1bmRlZmluZWQgJiYge3VzZXJBY2Nlc3M6IHVzZXJBY2Nlc3MgPyBwYXJzZU51bSh1c2VyQWNjZXNzKSA6IDB9KSxcbiAgICAuLi4odXNlcm5hbWUgJiYge3VzZXJuYW1lOiBwYXJzZVZhckNoYXIodXNlcm5hbWUsIDE2MCl9KSxcbiAgICAuLi4odmVyaWZpZWRFbWFpbCAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZEVtYWlsOiAhIXZlcmlmaWVkRW1haWx9KSxcbiAgICAuLi4odmVyaWZpZWRFbWFpbENvZGUgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRFbWFpbENvZGU6IHBhcnNlTnVtKHZlcmlmaWVkRW1haWxDb2RlLCAxMCl9KSxcbiAgICAuLi4odmVyaWZpZWRFbWFpbEV4cGlyZXMgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRFbWFpbEV4cGlyZXM6IHBhcnNlTnVtKHZlcmlmaWVkRW1haWxFeHBpcmVzLCAxMCl9KSxcbiAgICAuLi4odmVyaWZpZWRQaG9uZSAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZFBob25lOiAhIXZlcmlmaWVkUGhvbmV9KSxcbiAgICAuLi4odmVyaWZpZWRQaG9uZUV4cGlyZXMgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRQaG9uZUV4cGlyZXM6IHBhcnNlTnVtKHZlcmlmaWVkUGhvbmVFeHBpcmVzLCAxMCl9KSxcbiAgICAuLi4odmVyaWZpZWRTbXNDb2RlICE9PSB1bmRlZmluZWQgJiYge3ZlcmlmaWVkU21zQ29kZTogcGFyc2VOdW0odmVyaWZpZWRTbXNDb2RlLCAxMCl9KSxcbiAgICAuLi4oemlwICYmIHt6aXA6IHBhcnNlVmFyQ2hhcih6aXAsIDIwKX0pXG4gIH07XG5cbiAgY29uc3QgcmVzdWx0ID0gcmVtb3ZlRW1wdHlLZXlzKHRyYW5zZm9ybWVkKTtcblxuICBpZih1c2VyLl9pZCkge1xuICAgIHJlc3VsdC5pZCA9IHVzZXIuX2lkO1xuICAgIHJlc3VsdC5faWQgPSB1c2VyLl9pZDtcbiAgfSBlbHNlIGlmKHVzZXIuaWQgJiYgIXJlc3VsdC5pZCkge1xuICAgIHJlc3VsdC5pZCA9IHVzZXIuaWQ7XG4gICAgcmVzdWx0Ll9pZCA9IHVzZXIuaWQ7XG4gIH1cblxuICBpZih1c2VyLl9rZXkpIHtcbiAgICByZXN1bHQudXNlcklkID0gdXNlci5fa2V5O1xuICAgIHJlc3VsdC5fa2V5ID0gdXNlci5fa2V5O1xuICB9IGVsc2UgaWYodXNlci51c2VySWQgJiYgIXJlc3VsdC51c2VySWQpIHtcbiAgICByZXN1bHQudXNlcklkID0gdXNlci51c2VySWQ7XG4gICAgcmVzdWx0Ll9rZXkgPSB1c2VyLnVzZXJJZDtcbiAgfVxuXG4gIGlmKHVzZXIudXNlcklkICYmICFyZXN1bHQuX2tleSkge1xuICAgIHJlc3VsdC5fa2V5ID0gdXNlci51c2VySWQ7XG4gIH1cblxuICBpZih1c2VyLmlkICYmICFyZXN1bHQuX2lkKSB7XG4gICAgcmVzdWx0Ll9pZCA9IHVzZXIuaWQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyVXNlckNhY2hlID0gKCk6IHZvaWQgPT4ge1xuICB1c2VyQ2FjaGUuY2xlYXIoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyQ2FjaGVTaXplID0gKCk6IG51bWJlciA9PiB1c2VyQ2FjaGUuc2l6ZTtcblxuZXhwb3J0IHt1c2VyQ2FjaGV9O1xuXG5leHBvcnQgY29uc3QgcGFyc2VVc2VyTGVnYWN5ID0gKHVzZXI6IFVzZXIpOiBVc2VyID0+IHBhcnNlVXNlcih1c2VyKTtcbiJdLCJuYW1lcyI6WyJwYXJzZUFyYW5nb0lkIiwicGFyc2VDaGFyIiwicGFyc2VFbWFpbCIsInBhcnNlSWQiLCJwYXJzZU51bSIsInBhcnNlU3RyaW5nIiwicGFyc2VWYXJDaGFyIiwieiIsInBhcnNlRG9jdW1lbnQiLCJyZW1vdmVFbXB0eUtleXMiLCJwYXJzZVJlYWt0b3JEYXRlIiwicGFyc2VSZWFrdG9ySXRlbUlkIiwicGFyc2VSZWFrdG9yTmFtZSIsInBhcnNlUmVha3RvclR5cGUiLCJVc2VyVmFsaWRhdGlvbkVycm9yIiwiRXJyb3IiLCJtZXNzYWdlIiwiZmllbGQiLCJuYW1lIiwiVXNlcklucHV0U2NoZW1hIiwib2JqZWN0IiwiX2lkIiwic3RyaW5nIiwib3B0aW9uYWwiLCJfa2V5IiwiYWN0aXZlIiwiYm9vbGVhbiIsImFkZGVkIiwibnVtYmVyIiwiYmFua0lkIiwibWF4IiwiY2l0eSIsImNvdW50cnkiLCJsZW5ndGgiLCJjdXJyZW5jeSIsImRldmljZVRva2VuIiwiZG9iIiwiYmlydGhkYXRlIiwiZW1haWwiLCJmaXJzdE5hbWUiLCJnZW5kZXIiLCJpZCIsImltYWdlSWQiLCJsYXN0TmFtZSIsImxhc3RBY3RpdmUiLCJsb2NhbGUiLCJtYWlsaW5nTGlzdCIsInBhc3N3b3JkIiwicGhvbmUiLCJwbGFuRXhwaXJlcyIsInBsYW5JZCIsInBsYW5TdGF0dXMiLCJwbGFuU3Vic2NyaXB0aW9uSWQiLCJzYWx0Iiwic3RhdGUiLCJzdHJlZXQxIiwic3RyZWV0MiIsInN0cmlwZUFjY291bnRJZCIsInN0cmlwZUNhcmRCcmFuZCIsInN0cmlwZUNhcmRJZCIsInN0cmlwZUNhcmRMYXN0NCIsInN0cmlwZUN1c3RvbWVySWQiLCJ0aW1lem9uZSIsInR5cGUiLCJ1cGRhdGVkIiwidXNlckFjY2VzcyIsInVzZXJJZCIsInVzZXJuYW1lIiwidmVyaWZpZWRFbWFpbCIsInZlcmlmaWVkRW1haWxDb2RlIiwidmVyaWZpZWRFbWFpbEV4cGlyZXMiLCJ2ZXJpZmllZFBob25lIiwidmVyaWZpZWRQaG9uZUV4cGlyZXMiLCJ2ZXJpZmllZFNtc0NvZGUiLCJ6aXAiLCJsb29zZSIsInZhbGlkYXRlUGhvbmUiLCJ1bmRlZmluZWQiLCJjbGVhbmVkIiwicmVwbGFjZSIsInZhbGlkYXRlQ291bnRyeSIsInVwcGVyIiwidG9VcHBlckNhc2UiLCJ0ZXN0IiwidmFsaWRhdGVTdGF0ZSIsInZhbGlkYXRlR2VuZGVyIiwidXNlckNhY2hlIiwiTWFwIiwidmFsaWRhdGVVc2VySW5wdXQiLCJ1c2VyIiwidmFsaWRhdGVkIiwicGFyc2UiLCJlcnJvciIsIlpvZEVycm9yIiwiZmllbGRFcnJvcnMiLCJpc3N1ZXMiLCJtYXAiLCJlIiwicGF0aCIsImpvaW4iLCJmb3JtYXRVc2VyT3V0cHV0Iiwic2FmZVVzZXIiLCJwYXJzZVVzZXIiLCJwYXJzZWQiLCJwZXJmb3JtVXNlclRyYW5zZm9ybWF0aW9uIiwibm9ybWFsaXplZERvYiIsIm5vcm1hbGl6ZWRGaXJzdCIsIm5vcm1hbGl6ZWRMYXN0IiwidHJhbnNmb3JtZWQiLCJyZXN1bHQiLCJjbGVhclVzZXJDYWNoZSIsImNsZWFyIiwiZ2V0VXNlckNhY2hlU2l6ZSIsInNpemUiLCJwYXJzZVVzZXJMZWdhY3kiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLGFBQWEs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
|
|
301
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvYWRhcHRlcnMvdXNlckFkYXB0ZXIvdXNlckFkYXB0ZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtwYXJzZUFyYW5nb0lkLCBwYXJzZUNoYXIsIHBhcnNlRW1haWwsIHBhcnNlSWQsIHBhcnNlTnVtLCBwYXJzZVN0cmluZywgcGFyc2VWYXJDaGFyfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHt6fSBmcm9tICd6b2QnO1xuXG5pbXBvcnQge3BhcnNlRG9jdW1lbnQsIHJlbW92ZUVtcHR5S2V5c30gZnJvbSAnLi4vYXJhbmdvQWRhcHRlci9hcmFuZ29BZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VSZWFrdG9yRGF0ZSwgcGFyc2VSZWFrdG9ySXRlbUlkLCBwYXJzZVJlYWt0b3JOYW1lLCBwYXJzZVJlYWt0b3JUeXBlfSBmcm9tICcuLi9yZWFrdG9yQWRhcHRlci9yZWFrdG9yQWRhcHRlci5qcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlciB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbiAgX2lkPzogc3RyaW5nO1xuICBfa2V5Pzogc3RyaW5nO1xuICBhY3RpdmU/OiBib29sZWFuO1xuICBhZGRlZD86IG51bWJlcjtcbiAgYmFua0lkPzogc3RyaW5nO1xuICBjaXR5Pzogc3RyaW5nO1xuICBjb3VudHJ5Pzogc3RyaW5nO1xuICBjdXJyZW5jeT86IHN0cmluZztcbiAgZGV2aWNlVG9rZW4/OiBzdHJpbmc7XG4gIGRvYj86IG51bWJlcjtcbiAgYmlydGhkYXRlPzogbnVtYmVyO1xuICBlbWFpbD86IHN0cmluZztcbiAgZmlyc3ROYW1lPzogc3RyaW5nO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBpbWFnZUlkPzogc3RyaW5nO1xuICBsYXN0TmFtZT86IHN0cmluZztcbiAgbGFzdEFjdGl2ZT86IG51bWJlcjtcbiAgbG9jYWxlPzogc3RyaW5nO1xuICBtYWlsaW5nTGlzdD86IGJvb2xlYW47XG4gIG1vZGlmaWVkPzogbnVtYmVyO1xuICBuYW1lPzogc3RyaW5nO1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgcGhvbmU/OiBzdHJpbmc7XG4gIHBsYW5FeHBpcmVzPzogbnVtYmVyO1xuICBwbGFuSWQ/OiBzdHJpbmc7XG4gIHBsYW5TdGF0dXM/OiBzdHJpbmc7XG4gIHBsYW5TdWJzY3JpcHRpb25JZD86IHN0cmluZztcbiAgc2FsdD86IHN0cmluZztcbiAgc3RhdGU/OiBzdHJpbmc7XG4gIHN0cmVldDE/OiBzdHJpbmc7XG4gIHN0cmVldDI/OiBzdHJpbmc7XG4gIHN0cmlwZUFjY291bnRJZD86IHN0cmluZztcbiAgc3RyaXBlQ2FyZEJyYW5kPzogc3RyaW5nO1xuICBzdHJpcGVDYXJkSWQ/OiBzdHJpbmc7XG4gIHN0cmlwZUNhcmRMYXN0ND86IHN0cmluZztcbiAgc3RyaXBlQ3VzdG9tZXJJZD86IHN0cmluZztcbiAgdGltZXpvbmU/OiBzdHJpbmc7XG4gIHRodW1iVXJsPzogc3RyaW5nO1xuICB0eXBlPzogc3RyaW5nO1xuICB1cGRhdGVkPzogbnVtYmVyO1xuICB1c2VyQWNjZXNzPzogbnVtYmVyO1xuICB1c2VySWQ/OiBzdHJpbmc7XG4gIHVzZXJuYW1lPzogc3RyaW5nO1xuICB2ZXJpZmllZEVtYWlsPzogYm9vbGVhbjtcbiAgdmVyaWZpZWRFbWFpbENvZGU/OiBudW1iZXI7XG4gIHZlcmlmaWVkRW1haWxFeHBpcmVzPzogbnVtYmVyO1xuICB2ZXJpZmllZFBob25lPzogYm9vbGVhbjtcbiAgdmVyaWZpZWRQaG9uZUV4cGlyZXM/OiBudW1iZXI7XG4gIHZlcmlmaWVkU21zQ29kZT86IG51bWJlcjtcbiAgemlwPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVXNlclZhbGlkYXRpb25FcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nLCBwdWJsaWMgZmllbGQ/OiBzdHJpbmcpIHtcbiAgICBzdXBlcihtZXNzYWdlKTtcbiAgICB0aGlzLm5hbWUgPSAnVXNlclZhbGlkYXRpb25FcnJvcic7XG4gIH1cbn1cblxuY29uc3QgVXNlcklucHV0U2NoZW1hID0gei5vYmplY3Qoe1xuICBfaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBhY3RpdmU6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIGFkZGVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGJhbmtJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBjaXR5OiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIGNvdW50cnk6IHouc3RyaW5nKCkubGVuZ3RoKDIpLm9wdGlvbmFsKCksXG4gIGN1cnJlbmN5OiB6LnN0cmluZygpLmxlbmd0aCgzKS5vcHRpb25hbCgpLFxuICBkZXZpY2VUb2tlbjogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBkb2I6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgYmlydGhkYXRlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGVtYWlsOiB6LmVtYWlsKCkub3B0aW9uYWwoKSxcbiAgZmlyc3ROYW1lOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIGdlbmRlcjogei5zdHJpbmcoKS5sZW5ndGgoMSkub3B0aW9uYWwoKSxcbiAgaWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaW1hZ2VJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBsYXN0TmFtZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBsYXN0QWN0aXZlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGxvY2FsZTogei5zdHJpbmcoKS5tYXgoNSkub3B0aW9uYWwoKSxcbiAgbWFpbGluZ0xpc3Q6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIG5hbWU6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgcGFzc3dvcmQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgcGhvbmU6IHouc3RyaW5nKCkubWF4KDIwKS5vcHRpb25hbCgpLFxuICBwbGFuRXhwaXJlczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBwbGFuSWQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgcGxhblN0YXR1czogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBwbGFuU3Vic2NyaXB0aW9uSWQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgc2FsdDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdGF0ZTogei5zdHJpbmcoKS5sZW5ndGgoMikub3B0aW9uYWwoKSxcbiAgc3RyZWV0MTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdHJlZXQyOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHN0cmlwZUFjY291bnRJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICBzdHJpcGVDYXJkQnJhbmQ6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgc3RyaXBlQ2FyZElkOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHN0cmlwZUNhcmRMYXN0NDogei5zdHJpbmcoKS5tYXgoNCkub3B0aW9uYWwoKSxcbiAgc3RyaXBlQ3VzdG9tZXJJZDogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB0aW1lem9uZTogei5zdHJpbmcoKS5tYXgoMTYwKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LnN0cmluZygpLm1heCgxNjApLm9wdGlvbmFsKCksXG4gIHVwZGF0ZWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdXNlckFjY2Vzczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB1c2VySWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdXNlcm5hbWU6IHouc3RyaW5nKCkubWF4KDE2MCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRFbWFpbDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRFbWFpbENvZGU6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRFbWFpbEV4cGlyZXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRQaG9uZTogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRQaG9uZUV4cGlyZXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdmVyaWZpZWRTbXNDb2RlOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHppcDogei5zdHJpbmcoKS5tYXgoMjApLm9wdGlvbmFsKClcbn0pLmxvb3NlKCk7XG5cbmNvbnN0IHZhbGlkYXRlUGhvbmUgPSAocGhvbmU/OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZighcGhvbmUpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGNvbnN0IGNsZWFuZWQgPSBwaG9uZS5yZXBsYWNlKC9cXEQvZywgJycpO1xuICBpZihjbGVhbmVkLmxlbmd0aCA8IDEwIHx8IGNsZWFuZWQubGVuZ3RoID4gMTUpIHtcbiAgICB0aHJvdyBuZXcgVXNlclZhbGlkYXRpb25FcnJvcignSW52YWxpZCBwaG9uZSBudW1iZXIgZm9ybWF0JywgJ3Bob25lJyk7XG4gIH1cbiAgcmV0dXJuIGArJHtjbGVhbmVkfWA7XG59O1xuXG5jb25zdCB2YWxpZGF0ZUNvdW50cnkgPSAoY291bnRyeT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmKCFjb3VudHJ5KSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB1cHBlciA9IGNvdW50cnkudG9VcHBlckNhc2UoKTtcbiAgaWYoIS9eW0EtWl17Mn0kLy50ZXN0KHVwcGVyKSkge1xuICAgIHRocm93IG5ldyBVc2VyVmFsaWRhdGlvbkVycm9yKCdDb3VudHJ5IG11c3QgYmUgYSAyLWxldHRlciBJU08gY29kZScsICdjb3VudHJ5Jyk7XG4gIH1cbiAgcmV0dXJuIHVwcGVyO1xufTtcblxuY29uc3QgdmFsaWRhdGVTdGF0ZSA9IChzdGF0ZT86IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmKCFzdGF0ZSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXBwZXIgPSBzdGF0ZS50b1VwcGVyQ2FzZSgpO1xuICBpZighL15bQS1aXXsyfSQvLnRlc3QodXBwZXIpKSB7XG4gICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoJ1N0YXRlIG11c3QgYmUgYSAyLWxldHRlciBjb2RlJywgJ3N0YXRlJyk7XG4gIH1cbiAgcmV0dXJuIHVwcGVyO1xufTtcblxuY29uc3QgdmFsaWRhdGVHZW5kZXIgPSAoZ2VuZGVyPzogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYoIWdlbmRlcikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgdXBwZXIgPSBnZW5kZXIudG9VcHBlckNhc2UoKTtcbiAgaWYoIS9eW01GXSQvLnRlc3QodXBwZXIpKSB7XG4gICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoJ0dlbmRlciBtdXN0IGJlIE0gb3IgRicsICdnZW5kZXInKTtcbiAgfVxuICByZXR1cm4gdXBwZXI7XG59O1xuXG5jb25zdCB1c2VyQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgVXNlcj4oKTtcblxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlVXNlcklucHV0ID0gKHVzZXI6IHVua25vd24pOiBVc2VyID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWxpZGF0ZWQgPSBVc2VySW5wdXRTY2hlbWEucGFyc2UodXNlcik7XG4gICAgcmV0dXJuIHZhbGlkYXRlZCBhcyBVc2VyO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiB6LlpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaWVsZEVycm9ycyA9IGVycm9yLmlzc3Vlcy5tYXAoKGUpID0+IGAke2UucGF0aC5qb2luKCcuJyl9OiAke2UubWVzc2FnZX1gKS5qb2luKCcsICcpO1xuICAgICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoYFVzZXIgdmFsaWRhdGlvbiBmYWlsZWQ6ICR7ZmllbGRFcnJvcnN9YCk7XG4gICAgfVxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgZm9ybWF0VXNlck91dHB1dCA9ICh1c2VyOiBVc2VyKTogVXNlciA9PiB7XG4gIGNvbnN0IHtwYXNzd29yZCwgc2FsdCwgdmVyaWZpZWRFbWFpbENvZGUsIHZlcmlmaWVkU21zQ29kZSwgLi4uc2FmZVVzZXJ9ID0gdXNlcjtcbiAgcmV0dXJuIHNhZmVVc2VyO1xufTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVXNlciA9ICh1c2VyOiBVc2VyKTogVXNlciA9PiB7XG4gIHRyeSB7XG4gICAgY29uc3QgcGFyc2VkID0gcGVyZm9ybVVzZXJUcmFuc2Zvcm1hdGlvbih1c2VyKTtcbiAgICByZXR1cm4gcGFyc2VkO1xuICB9IGNhdGNoKGVycm9yKSB7XG4gICAgaWYoZXJyb3IgaW5zdGFuY2VvZiBVc2VyVmFsaWRhdGlvbkVycm9yKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IFVzZXJWYWxpZGF0aW9uRXJyb3IoYFVzZXIgcGFyc2luZyBmYWlsZWQ6ICR7ZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcid9YCk7XG4gIH1cbn07XG5cbmNvbnN0IHBlcmZvcm1Vc2VyVHJhbnNmb3JtYXRpb24gPSAodXNlcjogVXNlcik6IFVzZXIgPT4ge1xuICBjb25zdCB7XG4gICAgX2lkLFxuICAgIF9rZXksXG4gICAgYWN0aXZlLFxuICAgIGJhbmtJZCxcbiAgICBjaXR5LFxuICAgIGNvdW50cnksXG4gICAgY3VycmVuY3ksXG4gICAgZGV2aWNlVG9rZW4sXG4gICAgZG9iLFxuICAgIGJpcnRoZGF0ZSxcbiAgICBlbWFpbCxcbiAgICBmaXJzdE5hbWUsXG4gICAgZ2VuZGVyLFxuICAgIGlkLFxuICAgIGltYWdlSWQsXG4gICAgbGFzdE5hbWUsXG4gICAgbGFzdEFjdGl2ZSxcbiAgICBsb2NhbGUsXG4gICAgbWFpbGluZ0xpc3QsXG4gICAgbmFtZSxcbiAgICBwYXNzd29yZCxcbiAgICBwaG9uZSxcbiAgICBwbGFuRXhwaXJlcyxcbiAgICBwbGFuSWQsXG4gICAgcGxhblN0YXR1cyxcbiAgICBwbGFuU3Vic2NyaXB0aW9uSWQsXG4gICAgc2FsdCxcbiAgICBzdGF0ZSxcbiAgICBzdHJlZXQxLFxuICAgIHN0cmVldDIsXG4gICAgc3RyaXBlQWNjb3VudElkLFxuICAgIHN0cmlwZUNhcmRCcmFuZCxcbiAgICBzdHJpcGVDYXJkSWQsXG4gICAgc3RyaXBlQ2FyZExhc3Q0LFxuICAgIHN0cmlwZUN1c3RvbWVySWQsXG4gICAgdGltZXpvbmUsXG4gICAgdHlwZSxcbiAgICB1c2VyQWNjZXNzLFxuICAgIHVzZXJJZCxcbiAgICB1c2VybmFtZSxcbiAgICB2ZXJpZmllZEVtYWlsLFxuICAgIHZlcmlmaWVkRW1haWxDb2RlLFxuICAgIHZlcmlmaWVkRW1haWxFeHBpcmVzLFxuICAgIHZlcmlmaWVkUGhvbmUsXG4gICAgdmVyaWZpZWRQaG9uZUV4cGlyZXMsXG4gICAgdmVyaWZpZWRTbXNDb2RlLFxuICAgIHppcFxuICB9ID0gdXNlcjtcbiAgY29uc3Qgbm9ybWFsaXplZERvYiA9IGJpcnRoZGF0ZSA/PyBkb2I7XG4gIGNvbnN0IG5vcm1hbGl6ZWRGaXJzdCA9IGZpcnN0TmFtZTtcbiAgY29uc3Qgbm9ybWFsaXplZExhc3QgPSBsYXN0TmFtZTtcbiAgY29uc3QgdHJhbnNmb3JtZWQgPSB7XG4gICAgLi4ucGFyc2VEb2N1bWVudCh1c2VyKSxcbiAgICAuLi4oKF9pZCB8fCBpZCB8fCBfa2V5IHx8IHVzZXJJZCkgJiYge2lkOiBwYXJzZUFyYW5nb0lkKF9pZCB8fCBpZCB8fCBgdXNlcnMvJHtfa2V5IHx8IHVzZXJJZH1gKX0pLFxuICAgIC4uLigoX2tleSB8fCB1c2VySWQpICYmIHt1c2VySWQ6IHBhcnNlSWQoX2tleSB8fCB1c2VySWQgfHwgJycpfSksXG4gICAgLi4uKGFjdGl2ZSAhPT0gdW5kZWZpbmVkICYmIHthY3RpdmU6ICEhYWN0aXZlfSksXG4gICAgLi4uKGJhbmtJZCAmJiB7YmFua0lkOiBwYXJzZVZhckNoYXIoYmFua0lkLCAxNjApfSksXG4gICAgLi4uKGNpdHkgJiYge2NpdHk6IHBhcnNlVmFyQ2hhcihjaXR5LCAxNjApfSksXG4gICAgLi4uKGNvdW50cnkgJiYge2NvdW50cnk6IHZhbGlkYXRlQ291bnRyeShjb3VudHJ5KX0pLFxuICAgIC4uLihjdXJyZW5jeSAmJiB7Y3VycmVuY3k6IHBhcnNlQ2hhcihjdXJyZW5jeSwgMykudG9VcHBlckNhc2UoKX0pLFxuICAgIC4uLihkZXZpY2VUb2tlbiAmJiB7ZGV2aWNlVG9rZW46IHBhcnNlVmFyQ2hhcihkZXZpY2VUb2tlbiwgMTYwKX0pLFxuICAgIC4uLihub3JtYWxpemVkRG9iICE9PSB1bmRlZmluZWQgJiYge2JpcnRoZGF0ZTogcGFyc2VSZWFrdG9yRGF0ZShub3JtYWxpemVkRG9iKSwgZG9iOiBwYXJzZVJlYWt0b3JEYXRlKG5vcm1hbGl6ZWREb2IpfSksXG4gICAgLi4uKGVtYWlsICYmIHtlbWFpbDogcGFyc2VFbWFpbChlbWFpbCl9KSxcbiAgICAuLi4obm9ybWFsaXplZEZpcnN0ICYmIHtmaXJzdE5hbWU6IHBhcnNlVmFyQ2hhcihub3JtYWxpemVkRmlyc3QsIDE2MCl9KSxcbiAgICAuLi4oZ2VuZGVyICYmIHtnZW5kZXI6IHZhbGlkYXRlR2VuZGVyKGdlbmRlcil9KSxcbiAgICAuLi4oaW1hZ2VJZCAmJiB7aW1hZ2VJZDogcGFyc2VSZWFrdG9ySXRlbUlkKGltYWdlSWQpfSksXG4gICAgLi4uKG5vcm1hbGl6ZWRMYXN0ICYmIHtsYXN0TmFtZTogcGFyc2VWYXJDaGFyKG5vcm1hbGl6ZWRMYXN0LCAxNjApfSksXG4gICAgLi4uKGxhc3RBY3RpdmUgIT09IHVuZGVmaW5lZCAmJiB7bGFzdEFjdGl2ZTogcGFyc2VSZWFrdG9yRGF0ZShsYXN0QWN0aXZlKX0pLFxuICAgIC4uLihsb2NhbGUgJiYge2xvY2FsZTogcGFyc2VTdHJpbmcobG9jYWxlLCA1KX0pLFxuICAgIC4uLihtYWlsaW5nTGlzdCAhPT0gdW5kZWZpbmVkICYmIHttYWlsaW5nTGlzdDogISFtYWlsaW5nTGlzdH0pLFxuICAgIC4uLihuYW1lICYmIHtuYW1lOiBwYXJzZVJlYWt0b3JOYW1lKG5hbWUpfSksXG4gICAgLi4uKHBhc3N3b3JkICYmIHtwYXNzd29yZDogcGFyc2VWYXJDaGFyKHBhc3N3b3JkLCAxNjApfSksXG4gICAgLi4uKHBob25lICYmIHtwaG9uZTogdmFsaWRhdGVQaG9uZShwaG9uZSl9KSxcbiAgICAuLi4ocGxhbkV4cGlyZXMgIT09IHVuZGVmaW5lZCAmJiB7cGxhbkV4cGlyZXM6IHBhcnNlUmVha3RvckRhdGUocGxhbkV4cGlyZXMpfSksXG4gICAgLi4uKHBsYW5JZCAmJiB7cGxhbklkOiBwYXJzZVZhckNoYXIocGxhbklkLCAxNjApfSksXG4gICAgLi4uKHBsYW5TdGF0dXMgJiYge3BsYW5TdGF0dXM6IHBhcnNlVmFyQ2hhcihwbGFuU3RhdHVzLCAxNjApfSksXG4gICAgLi4uKHBsYW5TdWJzY3JpcHRpb25JZCAmJiB7cGxhblN1YnNjcmlwdGlvbklkOiBwYXJzZVZhckNoYXIocGxhblN1YnNjcmlwdGlvbklkLCAxNjApfSksXG4gICAgLi4uKHNhbHQgJiYge3NhbHQ6IHBhcnNlVmFyQ2hhcihzYWx0LCAxNjApfSksXG4gICAgLi4uKHN0YXRlICYmIHtzdGF0ZTogdmFsaWRhdGVTdGF0ZShzdGF0ZSl9KSxcbiAgICAuLi4oc3RyZWV0MSAmJiB7c3RyZWV0MTogcGFyc2VWYXJDaGFyKHN0cmVldDEsIDE2MCl9KSxcbiAgICAuLi4oc3RyZWV0MiAmJiB7c3RyZWV0MjogcGFyc2VWYXJDaGFyKHN0cmVldDIsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQWNjb3VudElkICYmIHtzdHJpcGVBY2NvdW50SWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVBY2NvdW50SWQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ2FyZEJyYW5kICYmIHtzdHJpcGVDYXJkQnJhbmQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDYXJkQnJhbmQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ2FyZElkICYmIHtzdHJpcGVDYXJkSWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDYXJkSWQsIDE2MCl9KSxcbiAgICAuLi4oc3RyaXBlQ2FyZExhc3Q0ICYmIHtzdHJpcGVDYXJkTGFzdDQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDYXJkTGFzdDQsIDQpfSksXG4gICAgLi4uKHN0cmlwZUN1c3RvbWVySWQgJiYge3N0cmlwZUN1c3RvbWVySWQ6IHBhcnNlVmFyQ2hhcihzdHJpcGVDdXN0b21lcklkLCAxNjApfSksXG4gICAgLi4uKHRpbWV6b25lICYmIHt0aW1lem9uZTogcGFyc2VTdHJpbmcodGltZXpvbmUsIDE2MCl9KSxcbiAgICAuLi4odHlwZSAmJiB7dHlwZTogcGFyc2VSZWFrdG9yVHlwZSh0eXBlKX0pLFxuICAgIC4uLih1c2VyQWNjZXNzICE9PSB1bmRlZmluZWQgJiYge3VzZXJBY2Nlc3M6IHVzZXJBY2Nlc3MgPyBwYXJzZU51bSh1c2VyQWNjZXNzKSA6IDB9KSxcbiAgICAuLi4odXNlcm5hbWUgJiYge3VzZXJuYW1lOiBwYXJzZVZhckNoYXIodXNlcm5hbWUsIDE2MCl9KSxcbiAgICAuLi4odmVyaWZpZWRFbWFpbCAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZEVtYWlsOiAhIXZlcmlmaWVkRW1haWx9KSxcbiAgICAuLi4odmVyaWZpZWRFbWFpbENvZGUgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRFbWFpbENvZGU6IHBhcnNlTnVtKHZlcmlmaWVkRW1haWxDb2RlLCAxMCl9KSxcbiAgICAuLi4odmVyaWZpZWRFbWFpbEV4cGlyZXMgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRFbWFpbEV4cGlyZXM6IHBhcnNlTnVtKHZlcmlmaWVkRW1haWxFeHBpcmVzLCAxMCl9KSxcbiAgICAuLi4odmVyaWZpZWRQaG9uZSAhPT0gdW5kZWZpbmVkICYmIHt2ZXJpZmllZFBob25lOiAhIXZlcmlmaWVkUGhvbmV9KSxcbiAgICAuLi4odmVyaWZpZWRQaG9uZUV4cGlyZXMgIT09IHVuZGVmaW5lZCAmJiB7dmVyaWZpZWRQaG9uZUV4cGlyZXM6IHBhcnNlTnVtKHZlcmlmaWVkUGhvbmVFeHBpcmVzLCAxMCl9KSxcbiAgICAuLi4odmVyaWZpZWRTbXNDb2RlICE9PSB1bmRlZmluZWQgJiYge3ZlcmlmaWVkU21zQ29kZTogcGFyc2VOdW0odmVyaWZpZWRTbXNDb2RlLCAxMCl9KSxcbiAgICAuLi4oemlwICYmIHt6aXA6IHBhcnNlVmFyQ2hhcih6aXAsIDIwKX0pXG4gIH07XG5cbiAgY29uc3QgcmVzdWx0ID0gcmVtb3ZlRW1wdHlLZXlzKHRyYW5zZm9ybWVkKTtcblxuICBpZih1c2VyLl9pZCkge1xuICAgIHJlc3VsdC5pZCA9IHVzZXIuX2lkO1xuICAgIHJlc3VsdC5faWQgPSB1c2VyLl9pZDtcbiAgfSBlbHNlIGlmKHVzZXIuaWQgJiYgIXJlc3VsdC5pZCkge1xuICAgIHJlc3VsdC5pZCA9IHVzZXIuaWQ7XG4gICAgcmVzdWx0Ll9pZCA9IHVzZXIuaWQ7XG4gIH1cblxuICBpZih1c2VyLl9rZXkpIHtcbiAgICByZXN1bHQudXNlcklkID0gdXNlci5fa2V5O1xuICAgIHJlc3VsdC5fa2V5ID0gdXNlci5fa2V5O1xuICB9IGVsc2UgaWYodXNlci51c2VySWQgJiYgIXJlc3VsdC51c2VySWQpIHtcbiAgICByZXN1bHQudXNlcklkID0gdXNlci51c2VySWQ7XG4gICAgcmVzdWx0Ll9rZXkgPSB1c2VyLnVzZXJJZDtcbiAgfVxuXG4gIGlmKHVzZXIudXNlcklkICYmICFyZXN1bHQuX2tleSkge1xuICAgIHJlc3VsdC5fa2V5ID0gdXNlci51c2VySWQ7XG4gIH1cblxuICBpZih1c2VyLmlkICYmICFyZXN1bHQuX2lkKSB7XG4gICAgcmVzdWx0Ll9pZCA9IHVzZXIuaWQ7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyVXNlckNhY2hlID0gKCk6IHZvaWQgPT4ge1xuICB1c2VyQ2FjaGUuY2xlYXIoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyQ2FjaGVTaXplID0gKCk6IG51bWJlciA9PiB1c2VyQ2FjaGUuc2l6ZTtcblxuZXhwb3J0IHt1c2VyQ2FjaGV9O1xuIl0sIm5hbWVzIjpbInBhcnNlQXJhbmdvSWQiLCJwYXJzZUNoYXIiLCJwYXJzZUVtYWlsIiwicGFyc2VJZCIsInBhcnNlTnVtIiwicGFyc2VTdHJpbmciLCJwYXJzZVZhckNoYXIiLCJ6IiwicGFyc2VEb2N1bWVudCIsInJlbW92ZUVtcHR5S2V5cyIsInBhcnNlUmVha3RvckRhdGUiLCJwYXJzZVJlYWt0b3JJdGVtSWQiLCJwYXJzZVJlYWt0b3JOYW1lIiwicGFyc2VSZWFrdG9yVHlwZSIsIlVzZXJWYWxpZGF0aW9uRXJyb3IiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaWVsZCIsIm5hbWUiLCJVc2VySW5wdXRTY2hlbWEiLCJvYmplY3QiLCJfaWQiLCJzdHJpbmciLCJvcHRpb25hbCIsIl9rZXkiLCJhY3RpdmUiLCJib29sZWFuIiwiYWRkZWQiLCJudW1iZXIiLCJiYW5rSWQiLCJtYXgiLCJjaXR5IiwiY291bnRyeSIsImxlbmd0aCIsImN1cnJlbmN5IiwiZGV2aWNlVG9rZW4iLCJkb2IiLCJiaXJ0aGRhdGUiLCJlbWFpbCIsImZpcnN0TmFtZSIsImdlbmRlciIsImlkIiwiaW1hZ2VJZCIsImxhc3ROYW1lIiwibGFzdEFjdGl2ZSIsImxvY2FsZSIsIm1haWxpbmdMaXN0IiwicGFzc3dvcmQiLCJwaG9uZSIsInBsYW5FeHBpcmVzIiwicGxhbklkIiwicGxhblN0YXR1cyIsInBsYW5TdWJzY3JpcHRpb25JZCIsInNhbHQiLCJzdGF0ZSIsInN0cmVldDEiLCJzdHJlZXQyIiwic3RyaXBlQWNjb3VudElkIiwic3RyaXBlQ2FyZEJyYW5kIiwic3RyaXBlQ2FyZElkIiwic3RyaXBlQ2FyZExhc3Q0Iiwic3RyaXBlQ3VzdG9tZXJJZCIsInRpbWV6b25lIiwidHlwZSIsInVwZGF0ZWQiLCJ1c2VyQWNjZXNzIiwidXNlcklkIiwidXNlcm5hbWUiLCJ2ZXJpZmllZEVtYWlsIiwidmVyaWZpZWRFbWFpbENvZGUiLCJ2ZXJpZmllZEVtYWlsRXhwaXJlcyIsInZlcmlmaWVkUGhvbmUiLCJ2ZXJpZmllZFBob25lRXhwaXJlcyIsInZlcmlmaWVkU21zQ29kZSIsInppcCIsImxvb3NlIiwidmFsaWRhdGVQaG9uZSIsInVuZGVmaW5lZCIsImNsZWFuZWQiLCJyZXBsYWNlIiwidmFsaWRhdGVDb3VudHJ5IiwidXBwZXIiLCJ0b1VwcGVyQ2FzZSIsInRlc3QiLCJ2YWxpZGF0ZVN0YXRlIiwidmFsaWRhdGVHZW5kZXIiLCJ1c2VyQ2FjaGUiLCJNYXAiLCJ2YWxpZGF0ZVVzZXJJbnB1dCIsInVzZXIiLCJ2YWxpZGF0ZWQiLCJwYXJzZSIsImVycm9yIiwiWm9kRXJyb3IiLCJmaWVsZEVycm9ycyIsImlzc3VlcyIsIm1hcCIsImUiLCJwYXRoIiwiam9pbiIsImZvcm1hdFVzZXJPdXRwdXQiLCJzYWZlVXNlciIsInBhcnNlVXNlciIsInBhcnNlZCIsInBlcmZvcm1Vc2VyVHJhbnNmb3JtYXRpb24iLCJub3JtYWxpemVkRG9iIiwibm9ybWFsaXplZEZpcnN0Iiwibm9ybWFsaXplZExhc3QiLCJ0cmFuc2Zvcm1lZCIsInJlc3VsdCIsImNsZWFyVXNlckNhY2hlIiwiY2xlYXIiLCJnZXRVc2VyQ2FjaGVTaXplIiwic2l6ZSJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsYUFBYSxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsWUFBWSxRQUFPLGVBQWU7QUFDaEgsU0FBUUMsQ0FB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
|
package/lib/config/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { MetropolisAdapters } from '../utils/
|
|
1
|
+
import type { MetropolisAdapters } from '../utils/MetropolisContext.js';
|
|
2
2
|
export interface ConfigAppSessionType {
|
|
3
3
|
readonly maxMinutes?: number;
|
|
4
4
|
readonly minMinutes?: number;
|
|
@@ -18,7 +18,7 @@ export interface ConfigAppType {
|
|
|
18
18
|
readonly api?: ConfigAppApiType;
|
|
19
19
|
readonly name?: string;
|
|
20
20
|
readonly rum?: {
|
|
21
|
-
readonly
|
|
21
|
+
readonly analyticsId?: string;
|
|
22
22
|
readonly debounceMs?: number;
|
|
23
23
|
readonly dedupeMs?: number;
|
|
24
24
|
readonly enabled?: boolean;
|
package/lib/config/index.js
CHANGED
|
@@ -98,4 +98,4 @@ const getRuntimeEnvironment = ()=>{
|
|
|
98
98
|
return resolved;
|
|
99
99
|
};
|
|
100
100
|
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvY29uZmlnL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOC1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHttZXJnZX0gZnJvbSAnQG5sYWJzL3V0aWxzJztcblxuaW1wb3J0IHR5cGUge01ldHJvcG9saXNBZGFwdGVyc30gZnJvbSAnLi4vdXRpbHMvTWV0cm9wb2xpc0NvbnRleHQuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0FwcFNlc3Npb25UeXBlIHtcbiAgcmVhZG9ubHkgbWF4TWludXRlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgbWluTWludXRlcz86IG51bWJlcjtcbiAgcmVhZG9ubHkgcmVmcmVzaEFmdGVyUmF0aW8/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQXBwVXJscyB7XG4gIHJlYWRvbmx5IHdlYnNvY2tldD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWdBcHBBcGlUeXBlIHtcbiAgcmVhZG9ubHkgZW5kcG9pbnRzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgcmVhZG9ubHkgcHVibGljPzogc3RyaW5nO1xuICByZWFkb25seSBydW0/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVybD86IHN0cmluZztcbiAgcmVhZG9ubHkgdXBsb2FkSW1hZ2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQXBwVHlwZSB7XG4gIHJlYWRvbmx5IGFwaT86IENvbmZpZ0FwcEFwaVR5cGU7XG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJ1bT86IHtcbiAgICByZWFkb25seSBhbmFseXRpY3NJZD86IHN0cmluZztcbiAgICByZWFkb25seSBkZWJvdW5jZU1zPzogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGRlZHVwZU1zPzogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IHJlc3BlY3RQcml2YWN5U2lnbmFscz86IGJvb2xlYW47XG4gICAgcmVhZG9ubHkgdGhyb3R0bGVNcz86IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgc2Vzc2lvbj86IENvbmZpZ0FwcFNlc3Npb25UeXBlO1xuICByZWFkb25seSB1cmxzPzogQ29uZmlnQXBwVXJscztcbiAgcmVhZG9ubHkgdmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyb3BvbGlzQ29uZmlndXJhdGlvbiB7XG4gIHJlYWRvbmx5IFtlbnZpcm9ubWVudDogc3RyaW5nXTogTWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgbG9jYWw/OiBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9uO1xuICByZWFkb25seSBkZXZlbG9wbWVudD86IE1ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb247XG4gIHJlYWRvbmx5IHByb2R1Y3Rpb24/OiBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9uO1xuICByZWFkb25seSB0ZXN0PzogTWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbjtcbn1cblxuY29uc3QgZ2V0UnVudGltZUVudmlyb25tZW50ID0gKCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IHJ1bnRpbWVQcm9jZXNzID0gKGdsb2JhbFRoaXMgYXMge1xuICAgIHByb2Nlc3M/OiB7ZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPn07XG4gIH0pLnByb2Nlc3M7XG4gIHJldHVybiBydW50aW1lUHJvY2Vzcz8uZW52Py5zdGFnZSB8fCBydW50aW1lUHJvY2Vzcz8uZW52Py5OT0RFX0VOVjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbiB7XG4gIHJlYWRvbmx5IGFkYXB0ZXJzPzogTWV0cm9wb2xpc0FkYXB0ZXJzO1xuICByZWFkb25seSBhcHA/OiBQYXJ0aWFsPENvbmZpZ0FwcFR5cGU+O1xuICByZWFkb25seSBlbnZpcm9ubWVudD86IHN0cmluZztcbiAgcmVhZG9ubHkgaXNBdXRoPzogKCkgPT4gYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gdmFsdWVzIGZvciBhbGwgZW52aXJvbm1lbnRzLlxuICovXG5jb25zdCBERUZBVUxUX0NPTkZJRzogTWV0cm9wb2xpc0NvbmZpZ3VyYXRpb24gPSB7XG4gIGRldmVsb3BtZW50OiB7XG4gICAgYXBwOiB7XG4gICAgICBhcGk6IHtcbiAgICAgICAgcHVibGljOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwL3B1YmxpYycsXG4gICAgICAgIHVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcHAnXG4gICAgICB9LFxuICAgICAgc2Vzc2lvbjoge1xuICAgICAgICBtYXhNaW51dGVzOiAxNSxcbiAgICAgICAgbWluTWludXRlczogNVxuICAgICAgfVxuICAgIH0sXG4gICAgZW52aXJvbm1lbnQ6ICdkZXZlbG9wbWVudCcsXG4gICAgaXNBdXRoOiAoKSA9PiB0cnVlXG4gIH0sXG4gIGxvY2FsOiB7XG4gICAgYXBwOiB7XG4gICAgICBhcGk6IHtcbiAgICAgICAgcHVibGljOiAnaHR0cHM6Ly9kZXYtYXBpLnRvcmNoLm9uZS9wdWJsaWMnLFxuICAgICAgICB1cmw6ICdodHRwczovL2Rldi1hcGkudG9yY2gub25lL2FwcCdcbiAgICAgIH0sXG4gICAgICBzZXNzaW9uOiB7XG4gICAgICAgIG1heE1pbnV0ZXM6IDE1LFxuICAgICAgICBtaW5NaW51dGVzOiA1XG4gICAgICB9XG4gICAgfSxcbiAgICBlbnZpcm9ubWVudDogJ2xvY2FsJyxcbiAgICBpc0F1dGg6ICgpID0+IHRydWVcbiAgfSxcbiAgcHJvZHVjdGlvbjoge1xuICAgIGFwcDoge1xuICAgICAgYXBpOiB7XG4gICAgICAgIHB1YmxpYzogJ2h0dHBzOi8vYXBpLnRvcmNoLm9uZS9wdWJsaWMnLFxuICAgICAgICB1cmw6ICdodHRwczovL2FwaS50b3JjaC5vbmUvYXBwJ1xuICAgICAgfSxcbiAgICAgIHNlc3Npb246IHtcbiAgICAgICAgbWF4TWludXRlczogMTUsXG4gICAgICAgIG1pbk1pbnV0ZXM6IDVcbiAgICAgIH1cbiAgICB9LFxuICAgIGVudmlyb25tZW50OiAncHJvZHVjdGlvbicsXG4gICAgaXNBdXRoOiAoKSA9PiB0cnVlXG4gIH0sXG4gIHRlc3Q6IHtcbiAgICBhcHA6IHtcbiAgICAgIGFwaToge1xuICAgICAgICBwdWJsaWM6ICdodHRwOi8vbG9jYWxob3N0OjMwMDAvcHVibGljJyxcbiAgICAgICAgdXJsOiAnaHR0cDovL2xvY2FsaG9zdDozMDAwL2FwcCdcbiAgICAgIH0sXG4gICAgICBzZXNzaW9uOiB7XG4gICAgICAgIG1heE1pbnV0ZXM6IDE1LFxuICAgICAgICBtaW5NaW51dGVzOiA1XG4gICAgICB9XG4gICAgfSxcbiAgICBlbnZpcm9ubWVudDogJ3Rlc3QnLFxuICAgIGlzQXV0aDogKCkgPT4gdHJ1ZVxuICB9XG59O1xuXG4vKipcbiAqIEdldHMgdGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBlbnZpcm9ubWVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRDb25maWcgPSAoZW52aXJvbm1lbnQ/OiBzdHJpbmcpOiBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9uID0+IHtcbiAgY29uc3QgdGFyZ2V0RW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudCB8fCBnZXRSdW50aW1lRW52aXJvbm1lbnQoKSB8fCAnbG9jYWwnO1xuICBjb25zdCBlbnZDb25maWcgPSBERUZBVUxUX0NPTkZJR1t0YXJnZXRFbnZpcm9ubWVudF0gfHwgREVGQVVMVF9DT05GSUcubG9jYWwgfHwge307XG4gIGNvbnN0IGxvY2FsQ29uZmlnID0gREVGQVVMVF9DT05GSUcubG9jYWwgfHwge307XG4gIHJldHVybiBtZXJnZSh7fSwgbG9jYWxDb25maWcsIGVudkNvbmZpZyk7XG59O1xuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBlbnZpcm9ubWVudC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGZyb20gYSBNZXRyb3BvbGlzQ29uZmlndXJhdGlvbiBvYmplY3QuXG4gKiBUaGlzIGZ1bmN0aW9uIGRldGVybWluZXMgd2hpY2ggZW52aXJvbm1lbnQgdG8gdXNlIGJhc2VkIG9uIHByb2Nlc3MuZW52IGFuZCBtZXJnZXNcbiAqIHRoZSBhcHByb3ByaWF0ZSBjb25maWd1cmF0aW9uLlxuICovXG5leHBvcnQgY29uc3QgcmVzb2x2ZUVudmlyb25tZW50Q29uZmlnID0gKFxuICBjb25maWc6IE1ldHJvcG9saXNDb25maWd1cmF0aW9uLFxuICBlbnZpcm9ubWVudD86IHN0cmluZ1xuKTogTWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbiA9PiB7XG4gIGNvbnN0IHRhcmdldEVudmlyb25tZW50ID0gZW52aXJvbm1lbnQgfHwgZ2V0UnVudGltZUVudmlyb25tZW50KCkgfHwgJ2xvY2FsJztcbiAgY29uc3QgYmFzZUNvbmZpZyA9IERFRkFVTFRfQ09ORklHO1xuXG4gIC8vIE1lcmdlIGJhc2UgY29uZmlnIHdpdGggcHJvdmlkZWQgY29uZmlnXG4gIGNvbnN0IG1lcmdlZENvbmZpZyA9IG1lcmdlKHt9LCBiYXNlQ29uZmlnLCBjb25maWcpO1xuXG4gIC8vIEdldCB0aGUgdGFyZ2V0IGVudmlyb25tZW50IGNvbmZpZ1xuICBjb25zdCBlbnZDb25maWcgPSBtZXJnZWRDb25maWdbdGFyZ2V0RW52aXJvbm1lbnRdIHx8IG1lcmdlZENvbmZpZy5sb2NhbCB8fCB7fTtcblxuICAvLyBNZXJnZSB3aXRoIGxvY2FsIGFzIGZhbGxiYWNrXG4gIGNvbnN0IGxvY2FsQ29uZmlnID0gbWVyZ2VkQ29uZmlnLmxvY2FsIHx8IHt9O1xuICBjb25zdCByZXNvbHZlZCA9IG1lcmdlKHt9LCBsb2NhbENvbmZpZywgZW52Q29uZmlnKTtcblxuICAvLyBFbnN1cmUgZW52aXJvbm1lbnQgaXMgc2V0IChjcmVhdGUgbmV3IG9iamVjdCB0byBhdm9pZCBtdXRhdGluZyByZWFkb25seSlcbiAgaWYgKCFyZXNvbHZlZC5lbnZpcm9ubWVudCkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5yZXNvbHZlZCxcbiAgICAgIGVudmlyb25tZW50OiB0YXJnZXRFbnZpcm9ubWVudFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gcmVzb2x2ZWQ7XG59O1xuIl0sIm5hbWVzIjpbIm1lcmdlIiwiZ2V0UnVudGltZUVudmlyb25tZW50IiwicnVudGltZVByb2Nlc3MiLCJnbG9iYWxUaGlzIiwicHJvY2VzcyIsImVudiIsInN0YWdlIiwiTk9ERV9FTlYiLCJERUZBVUxUX0NPTkZJRyIsImRldmVsb3BtZW50IiwiYXBwIiwiYXBpIiwicHVibGljIiwidXJsIiwic2Vzc2lvbiIsIm1heE1pbnV0ZXMiLCJtaW5NaW51dGVzIiwiZW52aXJvbm1lbnQiLCJpc0F1dGgiLCJsb2NhbCIsInByb2R1Y3Rpb24iLCJ0ZXN0IiwiZ2V0RGVmYXVsdENvbmZpZyIsInRhcmdldEVudmlyb25tZW50IiwiZW52Q29uZmlnIiwibG9jYWxDb25maWciLCJyZXNvbHZlRW52aXJvbm1lbnRDb25maWciLCJjb25maWciLCJiYXNlQ29uZmlnIiwibWVyZ2VkQ29uZmlnIiwicmVzb2x2ZWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLEtBQUssUUFBTyxlQUFlO0FBOENuQyxNQUFNQyx3QkFBd0I7SUFDNUIsTUFBTUMsaUJBQWlCLEFBQUNDLFdBRXJCQyxPQUFPO0lBQ1YsT0FBT0YsZ0JBQWdCRyxLQUFLQyxTQUFTSixnQkFBZ0JHLEtBQUtFO0FBQzVEO0FBU0E7O0NBRUMsR0FDRCxNQUFNQyxpQkFBMEM7SUFDOUNDLGFBQWE7UUFDWEMsS0FBSztZQUNIQyxLQUFLO2dCQUNIQyxRQUFRO2dCQUNSQyxLQUFLO1lBQ1A7WUFDQUMsU0FBUztnQkFDUEMsWUFBWTtnQkFDWkMsWUFBWTtZQUNkO1FBQ0Y7UUFDQUMsYUFBYTtRQUNiQyxRQUFRLElBQU07SUFDaEI7SUFDQUMsT0FBTztRQUNMVCxLQUFLO1lBQ0hDLEtBQUs7Z0JBQ0hDLFFBQVE7Z0JBQ1JDLEtBQUs7WUFDUDtZQUNBQyxTQUFTO2dCQUNQQyxZQUFZO2dCQUNaQyxZQUFZO1lBQ2Q7UUFDRjtRQUNBQyxhQUFhO1FBQ2JDLFFBQVEsSUFBTTtJQUNoQjtJQUNBRSxZQUFZO1FBQ1ZWLEtBQUs7WUFDSEMsS0FBSztnQkFDSEMsUUFBUTtnQkFDUkMsS0FBSztZQUNQO1lBQ0FDLFNBQVM7Z0JBQ1BDLFlBQVk7Z0JBQ1pDLFlBQVk7WUFDZDtRQUNGO1FBQ0FDLGFBQWE7UUFDYkMsUUFBUSxJQUFNO0lBQ2hCO0lBQ0FHLE1BQU07UUFDSlgsS0FBSztZQUNIQyxLQUFLO2dCQUNIQyxRQUFRO2dCQUNSQyxLQUFLO1lBQ1A7WUFDQUMsU0FBUztnQkFDUEMsWUFBWTtnQkFDWkMsWUFBWTtZQUNkO1FBQ0Y7UUFDQUMsYUFBYTtRQUNiQyxRQUFRLElBQU07SUFDaEI7QUFDRjtBQUVBOztDQUVDLEdBQ0QsT0FBTyxNQUFNSSxtQkFBbUIsQ0FBQ0w7SUFDL0IsTUFBTU0sb0JBQW9CTixlQUFlaEIsMkJBQTJCO0lBQ3BFLE1BQU11QixZQUFZaEIsY0FBYyxDQUFDZSxrQkFBa0IsSUFBSWYsZUFBZVcsS0FBSyxJQUFJLENBQUM7SUFDaEYsTUFBTU0sY0FBY2pCLGVBQWVXLEtBQUssSUFBSSxDQUFDO0lBQzdDLE9BQU9uQixNQUFNLENBQUMsR0FBR3lCLGFBQWFEO0FBQ2hDLEVBQUU7QUFFRjs7OztDQUlDLEdBQ0QsT0FBTyxNQUFNRSwyQkFBMkIsQ0FDdENDLFFBQ0FWO0lBRUEsTUFBTU0sb0JBQW9CTixlQUFlaEIsMkJBQTJCO0lBQ3BFLE1BQU0yQixhQUFhcEI7SUFFbkIseUNBQXlDO0lBQ3pDLE1BQU1xQixlQUFlN0IsTUFBTSxDQUFDLEdBQUc0QixZQUFZRDtJQUUzQyxvQ0FBb0M7SUFDcEMsTUFBTUgsWUFBWUssWUFBWSxDQUFDTixrQkFBa0IsSUFBSU0sYUFBYVYsS0FBSyxJQUFJLENBQUM7SUFFNUUsK0JBQStCO0lBQy9CLE1BQU1NLGNBQWNJLGFBQWFWLEtBQUssSUFBSSxDQUFDO0lBQzNDLE1BQU1XLFdBQVc5QixNQUFNLENBQUMsR0FBR3lCLGFBQWFEO0lBRXhDLDJFQUEyRTtJQUMzRSxJQUFJLENBQUNNLFNBQVNiLFdBQVcsRUFBRTtRQUN6QixPQUFPO1lBQ0wsR0FBR2EsUUFBUTtZQUNYYixhQUFhTTtRQUNmO0lBQ0Y7SUFFQSxPQUFPTztBQUNULEVBQUUifQ==
|
package/lib/index.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { FluxFramework } from '@nlabs/arkhamjs';
|
|
2
2
|
import type { MetropolisConfiguration } from './config/index.js';
|
|
3
|
-
import type { MetropolisAdapters } from './utils/
|
|
4
|
-
export { MetropolisContext
|
|
3
|
+
import type { MetropolisAdapters } from './utils/MetropolisContext.js';
|
|
4
|
+
export { MetropolisContext } from './utils/MetropolisContext.js';
|
|
5
5
|
export type { MetropolisConfiguration } from './config/index.js';
|
|
6
|
-
export type { MetropolisAdapters } from './utils/
|
|
6
|
+
export type { MetropolisAdapters } from './utils/MetropolisContext.js';
|
|
7
7
|
export declare const GOTHAM_ANALYTICS_EVENT = "nlabs:gotham:analytics";
|
|
8
8
|
export declare const onInit: (flux: FluxFramework) => Promise<void>;
|
|
9
9
|
export * from './stores/index.js';
|
|
10
|
-
export { appMutation, appQuery, publicMutation, publicQuery, rumMutation, refreshSession, resolveRestEndpoint, restRequest, uploadImage, type ApiResultsType, type ReaktorDbCollection, type RestApiOptions, type RestMethod } from './utils/api.js';
|
|
10
|
+
export { appMutation, appQuery, publicMutation, publicQuery, rumMutation, rumRequest, refreshSession, resolveRestEndpoint, restRequest, uploadImage, type ApiResultsType, type ReaktorDbCollection, type RestApiOptions, type RestMethod } from './utils/api.js';
|
|
11
11
|
export { resolveEnvironmentConfig } from './config/index.js';
|
|
12
12
|
export { getConfigFromFlux } from './utils/configUtils.js';
|
|
13
13
|
export interface MetropolisProps {
|
package/lib/index.js
CHANGED
|
@@ -13,10 +13,10 @@ import { app, events, images, locations, messages, notifications, NOTIFICATION_C
|
|
|
13
13
|
import { refreshSession } from './utils/api.js';
|
|
14
14
|
import { getConfigFromFlux } from './utils/configUtils.js';
|
|
15
15
|
import { initI18n } from './utils/i18n.js';
|
|
16
|
-
import { MetropolisContext } from './utils/
|
|
16
|
+
import { MetropolisContext } from './utils/MetropolisContext.js';
|
|
17
17
|
import { getRefreshWindowMinutes, hydrateSessionFromStorage, parseJwtExpiryMs } from './utils/session.js';
|
|
18
18
|
import { createAction } from './utils/actionFactory.js';
|
|
19
|
-
export { MetropolisContext
|
|
19
|
+
export { MetropolisContext } from './utils/MetropolisContext.js';
|
|
20
20
|
export const GOTHAM_ANALYTICS_EVENT = 'nlabs:gotham:analytics';
|
|
21
21
|
export const onInit = async (flux)=>{
|
|
22
22
|
if (!flux.getState('app.metropolisInitialized')) {
|
|
@@ -119,7 +119,7 @@ export const onInit = async (flux)=>{
|
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
export * from './stores/index.js';
|
|
122
|
-
export { appMutation, appQuery, publicMutation, publicQuery, rumMutation, refreshSession, resolveRestEndpoint, restRequest, uploadImage } from './utils/api.js';
|
|
122
|
+
export { appMutation, appQuery, publicMutation, publicQuery, rumMutation, rumRequest, refreshSession, resolveRestEndpoint, restRequest, uploadImage } from './utils/api.js';
|
|
123
123
|
export { resolveEnvironmentConfig } from './config/index.js';
|
|
124
124
|
export { getConfigFromFlux } from './utils/configUtils.js';
|
|
125
125
|
export const Metropolis = ({ adapters, children, config = {}, translations = {} })=>{
|
|
@@ -136,7 +136,7 @@ export const Metropolis = ({ adapters, children, config = {}, translations = {}
|
|
|
136
136
|
]);
|
|
137
137
|
const rumOptions = useMemo(()=>({
|
|
138
138
|
...resolvedConfig.app?.rum,
|
|
139
|
-
|
|
139
|
+
analyticsId: resolvedConfig.app?.rum?.analyticsId || resolvedConfig.app?.name
|
|
140
140
|
}), [
|
|
141
141
|
resolvedConfig.app?.name,
|
|
142
142
|
resolvedConfig.app?.rum
|
|
@@ -278,4 +278,4 @@ export * from './actions/videoActions/videoActions.js';
|
|
|
278
278
|
export * from './constants/Collections.js';
|
|
279
279
|
export * from './types/index.js';
|
|
280
280
|
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0F3c1J1bUFjdGlvbnMsIEF3c1J1bVRyYWNrSW5wdXR9IGZyb20gJy4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5pbXBvcnQge2dldFJlZnJlc2hXaW5kb3dNaW51dGVzLCBoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlLCBwYXJzZUp3dEV4cGlyeU1zfSBmcm9tICcuL3V0aWxzL3Nlc3Npb24uanMnO1xuaW1wb3J0IHtjcmVhdGVBY3Rpb259IGZyb20gJy4vdXRpbHMvYWN0aW9uRmFjdG9yeS5qcyc7XG5cbmltcG9ydCB0eXBlIHtGbHV4RnJhbWV3b3JrfSBmcm9tICdAbmxhYnMvYXJraGFtanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9uLCBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNQcm92aWRlci5qcyc7XG5cbmV4cG9ydCB7TWV0cm9wb2xpc0NvbnRleHQsIE1ldHJvcG9saXNQcm92aWRlcn0gZnJvbSAnLi91dGlscy9NZXRyb3BvbGlzUHJvdmlkZXIuanMnO1xuXG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmV4cG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc1Byb3ZpZGVyLmpzJztcblxuZXhwb3J0IGNvbnN0IEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQgPSAnbmxhYnM6Z290aGFtOmFuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBvbkluaXQgPSBhc3luYyAoZmx1eDogRmx1eEZyYW1ld29yaykgPT4ge1xuICBpZighZmx1eC5nZXRTdGF0ZSgnYXBwLm1ldHJvcG9saXNJbml0aWFsaXplZCcpKSB7XG4gICAgZmx1eC5hZGRTdG9yZXMoW1xuICAgICAgYXBwLFxuICAgICAgZXZlbnRzLFxuICAgICAgaW1hZ2VzLFxuICAgICAgbG9jYXRpb25zLFxuICAgICAgbWVzc2FnZXMsXG4gICAgICBub3RpZmljYXRpb25zLFxuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICBwb3N0cyxcbiAgICAgIHN1YnNjcmlwdGlvbnMsXG4gICAgICB0YWdzLFxuICAgICAgdXNlcnMsXG4gICAgICB2aWRlbyxcbiAgICAgIHdlYnNvY2tldFxuICAgIF0pO1xuICAgIGZsdXgub24oVVNFUl9DT05TVEFOVFMuU0lHTl9PVVRfU1VDQ0VTUywgKCkgPT4ge1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogTk9USUZJQ0FUSU9OX0NPTlNUQU5UUy5DTEVBUl9JVEVNU30pO1xuICAgIH0pO1xuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFBFUlNPTkFfQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1MsIGFzeW5jICh7cGVyc29uYSA9IHt9fToge3BlcnNvbmE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0pID0+IHtcbiAgICAgIHN5bmNQZXJzb25hVG9TZXNzaW9uKGZsdXgsIHBlcnNvbmEpO1xuXG4gICAgICBpZihwZXJzb25hPy5wZXJzb25hSWQgJiYgIUFycmF5LmlzQXJyYXkocGVyc29uYT8udGFncykpIHtcbiAgICAgICAgYXdhaXQgc3luY1BlcnNvbmFUYWdzVG9TZXNzaW9uKGZsdXgsIFN0cmluZyhwZXJzb25hLnBlcnNvbmFJZCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLkFERF9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lcmdlZFRhZ3MgPSBbLi4uY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKSwgdGFnIGFzIHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ31dXG4gICAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gU3RyaW5nKGxlZnQ/Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKHJpZ2h0Py5uYW1lIHx8ICcnKSkpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG1lcmdlZFRhZ3N9O1xuXG4gICAgICB2b2lkIGZsdXguc2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIG5leHRTZXNzaW9uKTtcbiAgICAgIGZsdXguZGlzcGF0Y2goe3R5cGU6IFVTRVJfQ09OU1RBTlRTLlVQREFURV9TRVNTSU9OX1NVQ0NFU1MsIHVzZXI6IHt0YWdzOiBtZXJnZWRUYWdzfX0pO1xuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHt0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5leHRUYWdzID0gY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKTtcbiAgICAgIGNvbnN0IG5leHRTZXNzaW9uID0gey4uLmN1cnJlbnRTZXNzaW9uLCB0YWdzOiBuZXh0VGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG5leHRUYWdzfX0pO1xuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShmbHV4LnNldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJywgdHJ1ZSkpO1xuICB9XG5cbiAgY29uc3QgdG9rZW4gPSBTdHJpbmcoZmx1eC5nZXRTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJykgfHwgJycpO1xuXG4gIGlmKHRva2VuKSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIHtleHBpcmVzPzogbnVtYmVyOyBpc3N1ZWQ/OiBudW1iZXI7IHRva2VuPzogc3RyaW5nfTtcbiAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWdGcm9tRmx1eChmbHV4KTtcbiAgICBjb25zdCB0b2tlbkV4cGlyZXNBdCA9IHBhcnNlSnd0RXhwaXJ5TXModG9rZW4pO1xuICAgIGNvbnN0IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgPSBNYXRoLnJvdW5kKChOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApIC0gTnVtYmVyKHNlc3Npb24uaXNzdWVkIHx8IDApKSAvICgxMDAwICogNjApKTtcbiAgICBjb25zdCByZWZyZXNoV2luZG93TWludXRlcyA9IGdldFJlZnJlc2hXaW5kb3dNaW51dGVzKFxuICAgICAgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSxcbiAgICAgIGNvbmZpZy5hcHA/LnNlc3Npb24gfHwge31cbiAgICApO1xuICAgIGNvbnN0IHJlZnJlc2hFeHBpcmVzTWludXRlcyA9IE1hdGgubWF4KDEsIE51bWJlcihjb25maWcuYXBwPy5zZXNzaW9uPy5tYXhNaW51dGVzIHx8IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgfHwgMTUpKTtcbiAgICBjb25zdCBleHBpcmVzQXQgPSBOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApO1xuXG4gICAgaWYodG9rZW5FeHBpcmVzQXQgPiAwICYmIERhdGUubm93KCkgPj0gdG9rZW5FeHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSBpZighZXhwaXJlc0F0KSB7XG4gICAgICBhd2FpdCByZWZyZXNoU2Vzc2lvbihmbHV4LCB0b2tlbiwgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWludXRlc1VudGlsRXhwaXJ5ID0gTWF0aC5yb3VuZChEYXRlVGltZS5mcm9tTWlsbGlzKGV4cGlyZXNBdCkuZGlmZihEYXRlVGltZS5sb2NhbCgpLCAnbWludXRlcycpLnRvT2JqZWN0KCkubWludXRlcyB8fCAwKTtcblxuICAgICAgaWYobWludXRlc1VudGlsRXhwaXJ5IDw9IDAgfHwgbWludXRlc1VudGlsRXhwaXJ5IDw9IHJlZnJlc2hXaW5kb3dNaW51dGVzKSB7XG4gICAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuIGFzIHN0cmluZywgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcblxuZXhwb3J0IHtcbiAgYXBwTXV0YXRpb24sXG4gIGFwcFF1ZXJ5LFxuICBwdWJsaWNNdXRhdGlvbixcbiAgcHVibGljUXVlcnksXG4gIHJ1bU11dGF0aW9uLFxuICByZWZyZXNoU2Vzc2lvbixcbiAgcmVzb2x2ZVJlc3RFbmRwb2ludCxcbiAgcmVzdFJlcXVlc3QsXG4gIHVwbG9hZEltYWdlLFxuICB0eXBlIEFwaVJlc3VsdHNUeXBlLFxuICB0eXBlIFJlYWt0b3JEYkNvbGxlY3Rpb24sXG4gIHR5cGUgUmVzdEFwaU9wdGlvbnMsXG4gIHR5cGUgUmVzdE1ldGhvZFxufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5cbmV4cG9ydCB7cmVzb2x2ZUVudmlyb25tZW50Q29uZmlnfSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5leHBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXRyb3BvbGlzUHJvcHMge1xuICByZWFkb25seSBhZGFwdGVycz86IE1ldHJvcG9saXNBZGFwdGVycztcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBSZWFjdC5SZWFjdEVsZW1lbnRbXTtcbiAgcmVhZG9ubHkgY29uZmlnPzogTWV0cm9wb2xpc0NvbmZpZ3VyYXRpb247XG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9ucz86IFNpbXBsZVRyYW5zbGF0aW9ucyB8IENvbXBsZXhUcmFuc2xhdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIFNpbXBsZVRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxleFRyYW5zbGF0aW9uIHtcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29tcGxleFRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIENvbXBsZXhUcmFuc2xhdGlvbj47XG5cbmV4cG9ydCBjb25zdCBNZXRyb3BvbGlzID0gKHthZGFwdGVycywgY2hpbGRyZW4sIGNvbmZpZyA9IHt9LCB0cmFuc2xhdGlvbnMgPSB7fX06IE1ldHJvcG9saXNQcm9wcykgPT4ge1xuICBjb25zdCBmbHV4ID0gdXNlRmx1eCgpO1xuICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHVzZU1lbW88TWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbj4oKCkgPT4gcmVzb2x2ZUVudmlyb25tZW50Q29uZmlnKGNvbmZpZyksIFtjb25maWddKTtcbiAgY29uc3QgbWVyZ2VkQWRhcHRlcnMgPSB1c2VNZW1vKCgpID0+ICh7Li4ucmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIC4uLmFkYXB0ZXJzfSksIFtyZXNvbHZlZENvbmZpZy5hZGFwdGVycywgYWRhcHRlcnNdKTtcbiAgY29uc3QgcnVtT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5yZXNvbHZlZENvbmZpZy5hcHA/LnJ1bSxcbiAgICBhcHBJZDogcmVzb2x2ZWRDb25maWcuYXBwPy5ydW0/LmFwcElkIHx8IHJlc29sdmVkQ29uZmlnLmFwcD8ubmFtZVxuICB9KSwgW3Jlc29sdmVkQ29uZmlnLmFwcD8ubmFtZSwgcmVzb2x2ZWRDb25maWcuYXBwPy5ydW1dKTtcbiAgY29uc3Qgc2Vzc2lvblBlcnNvbmFJZCA9IFN0cmluZyh1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbi5wZXJzb25hSWQnLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uVG9rZW4gPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uSHlkcmF0ZWQgPSBCb29sZWFuKHVzZUZsdXhTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIGZhbHNlKSk7XG4gIGNvbnN0IHNlc3Npb24gPSB1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3Qgbm90aWZpY2F0aW9uTGlzdCA9IHVzZUZsdXhTdGF0ZSgnbm90aWZpY2F0aW9uLmxpc3QnLCBbXSkgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBjb25zdCBjb252ZXJzYXRpb25NYXAgPSB1c2VGbHV4U3RhdGUoJ21lc3NhZ2UuY29udmVyc2F0aW9ucycsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+O1xuICBjb25zdCBtZXNzYWdlcyA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LnZhbHVlcyhjb252ZXJzYXRpb25NYXApLmZsYXQoKSwgW2NvbnZlcnNhdGlvbk1hcF0pO1xuXG4gIGNvbnN0IHdlYnNvY2tldHNSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4gfCBudWxsPihudWxsKTtcbiAgaWYoIXdlYnNvY2tldHNSZWYuY3VycmVudCkge1xuICAgIHdlYnNvY2tldHNSZWYuY3VycmVudCA9IGNyZWF0ZUFjdGlvbignd2Vic29ja2V0JywgZmx1eCkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz47XG4gIH1cbiAgY29uc3Qgd2Vic29ja2V0cyA9IHdlYnNvY2tldHNSZWYuY3VycmVudDtcbiAgY29uc3QgYXdzUnVtID0gdXNlTWVtbyhcbiAgICAoKSA9PiBjcmVhdGVBY3Rpb24oJ2F3c1J1bScsIGZsdXgsIHJ1bU9wdGlvbnMpIGFzIEF3c1J1bUFjdGlvbnMsXG4gICAgW2ZsdXgsIHJ1bU9wdGlvbnNdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZih0eXBlb2YgZ2xvYmFsVGhpcy53aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb25Hb3RoYW1BbmFseXRpY3MgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBkZXRhaWwgPSAoZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8QXdzUnVtVHJhY2tJbnB1dD4pLmRldGFpbDtcblxuICAgICAgaWYoZGV0YWlsICYmIHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGF3c1J1bS50cmFjayhkZXRhaWwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBnbG9iYWxUaGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQsIG9uR290aGFtQW5hbHl0aWNzKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQsIG9uR290aGFtQW5hbHl0aWNzKTtcbiAgICAgIHZvaWQgYXdzUnVtLmRlc3Ryb3koKTtcbiAgICB9O1xuICB9LCBbYXdzUnVtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0STE4bih0cmFuc2xhdGlvbnMpO1xuICB9LCBbdHJhbnNsYXRpb25zXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgdm9pZCAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5jb25maWcnLCByZXNvbHZlZENvbmZpZykpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICAgICAgYXdhaXQgaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZShmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25Jbml0KGZsdXgpO1xuXG4gICAgICBpZighaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoZmx1eC5zZXRTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIHRydWUpKTtcbiAgICB9KSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW2ZsdXgsIHJlc29sdmVkQ29uZmlnXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZighc2Vzc2lvbkh5ZHJhdGVkKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHdlYnNvY2tldHMud3NJbml0KHNlc3Npb25Ub2tlbiwgc2Vzc2lvblBlcnNvbmFJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH1cbiAgfSwgW3Nlc3Npb25IeWRyYXRlZCwgc2Vzc2lvblBlcnNvbmFJZCwgc2Vzc2lvblRva2VuLCB3ZWJzb2NrZXRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgfTtcbiAgfSwgW3dlYnNvY2tldHNdKTtcblxuICBjb25zdCBpc0F1dGggPSB1c2VNZW1vKCgpID0+IHJlc29sdmVkQ29uZmlnLmlzQXV0aCB8fCAoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KTtcbiAgICByZXR1cm4gISFzZXNzaW9uU3RhdGUudXNlckFjdGl2ZTtcbiAgfSksIFtyZXNvbHZlZENvbmZpZy5pc0F1dGgsIGZsdXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxNZXRyb3BvbGlzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYWRhcHRlcnM6IG1lcmdlZEFkYXB0ZXJzLFxuICAgICAgICBjb25maWc6IHJlc29sdmVkQ29uZmlnLFxuICAgICAgICBmbHV4LFxuICAgICAgICBpc0F1dGgsXG4gICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICBub3RpZmljYXRpb25zOiBub3RpZmljYXRpb25MaXN0LFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1cGRhdGVNZXNzYWdlOiAoKSA9PiB7IH0sXG4gICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbjogd2Vic29ja2V0cy5zZW5kTm90aWZpY2F0aW9uXG4gICAgICB9fT5cbiAgICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvTWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRyb3BvbGlzO1xuXG5leHBvcnQge3VzZVRyYW5zbGF0aW9ufSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvTWV0cm9wb2xpc0NvbnN0YW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbWVzc2FnZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbm90aWZpY2F0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgY3JlYXRlQWN0aW9ucyxcbiAgY3JlYXRlQWxsQWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0IHtjcmVhdGVCYXNlQWN0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGVVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhdGlvbi5qcyc7XG5leHBvcnQge1xuICB1c2VDb250ZW50QWN0aW9ucyxcbiAgdXNlQXdzUnVtLFxuICB1c2VDcm1BY3Rpb25zLFxuICB1c2VFdmVudEFjdGlvbnMsXG4gIHVzZUdyb3VwQWN0aW9ucyxcbiAgdXNlSW1hZ2VBY3Rpb25zLFxuICB1c2VMb2NhdGlvbkFjdGlvbnMsXG4gIHVzZU1lc3NhZ2VBY3Rpb25zLCB1c2VNZXRyb3BvbGlzLFxuICB1c2VNZXRyb3BvbGlzQ29uZmlnLFxuICB1c2VNZXRyb3BvbGlzRmx1eCwgdXNlUG9zdEFjdGlvbnMsXG4gIHVzZVBlcnNvbmFBY3Rpb25zLFxuICB1c2VSZWFjdGlvbkFjdGlvbnMsXG4gIHVzZVJlc3RBY3Rpb25zLFxuICB1c2VUYWdBY3Rpb25zLFxuICB1c2VUcmFuc2xhdGlvbkFjdGlvbnMsXG4gIHVzZVVzZXJBY3Rpb25zLFxuICB1c2VXZWJzb2NrZXRBY3Rpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlTWV0cm9wb2xpcy5qcyc7XG5leHBvcnQge3VzZUNvbnZlcnNhdGlvblR5cGluZ30gZnJvbSAnLi91dGlscy91c2VDb252ZXJzYXRpb25UeXBpbmcuanMnO1xuZXhwb3J0IHR5cGUge1xuICBDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zLFxuICBVc2VDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVZhbGlkYXRvckZhY3RvcnksXG4gIGNyZWF0ZVZhbGlkYXRvck1hbmFnZXJcbn0gZnJvbSAnLi91dGlscy92YWxpZGF0b3JGYWN0b3J5LmpzJztcblxuZXhwb3J0IHR5cGUge1xuICBBY3Rpb25PcHRpb25zLFxuICBBY3Rpb25SZXR1cm5UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBBY3Rpb25UeXBlc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0IHR5cGUge0Jhc2VBY3Rpb25PcHRpb25zfSBmcm9tICcuL3V0aWxzL2Jhc2VBY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWRhcHRlck9wdGlvbnN9IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9hcHBBY3Rpb25zL2FwcEFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2F3c1J1bUFjdGlvbnMvYXdzUnVtQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY29ubmVjdGlvbkFjdGlvbnMvY29ubmVjdGlvbkFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2NvbnZlcnNhdGlvbkFjdGlvbnMvY29udmVyc2F0aW9uQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY3JtQWN0aW9ucy9jcm1BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9yZXN0QWN0aW9ucy9yZXN0QWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9Db2xsZWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2luZGV4LmpzJztcbiJdLCJuYW1lcyI6WyJ1c2VGbHV4IiwidXNlRmx1eFN0YXRlIiwiaTE4biIsIkRhdGVUaW1lIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsIkkxOG5leHRQcm92aWRlciIsInN5bmNQZXJzb25hVGFnc1RvU2Vzc2lvbiIsInN5bmNQZXJzb25hVG9TZXNzaW9uIiwicmVzb2x2ZUVudmlyb25tZW50Q29uZmlnIiwiYXBwIiwiZXZlbnRzIiwiaW1hZ2VzIiwibG9jYXRpb25zIiwibWVzc2FnZXMiLCJub3RpZmljYXRpb25zIiwiTk9USUZJQ0FUSU9OX0NPTlNUQU5UUyIsInBlcm1pc3Npb25zIiwiUEVSU09OQV9DT05TVEFOVFMiLCJwb3N0cyIsInN1YnNjcmlwdGlvbnMiLCJUQUdfQ09OU1RBTlRTIiwidGFncyIsIlVTRVJfQ09OU1RBTlRTIiwidXNlcnMiLCJ2aWRlbyIsIndlYnNvY2tldCIsInJlZnJlc2hTZXNzaW9uIiwiZ2V0Q29uZmlnRnJvbUZsdXgiLCJpbml0STE4biIsIk1ldHJvcG9saXNDb250ZXh0IiwiZ2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMiLCJoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlIiwicGFyc2VKd3RFeHBpcnlNcyIsImNyZWF0ZUFjdGlvbiIsIk1ldHJvcG9saXNQcm92aWRlciIsIkdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQiLCJvbkluaXQiLCJmbHV4IiwiZ2V0U3RhdGUiLCJhZGRTdG9yZXMiLCJvbiIsIlNJR05fT1VUX1NVQ0NFU1MiLCJkaXNwYXRjaCIsInR5cGUiLCJDTEVBUl9JVEVNUyIsIkFERF9JVEVNX1NVQ0NFU1MiLCJwZXJzb25hIiwicGVyc29uYUlkIiwiQXJyYXkiLCJpc0FycmF5IiwiU3RyaW5nIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJjdXJyZW50U2Vzc2lvbiIsImN1cnJlbnRUYWdzIiwibmV4dFRhZ0lkIiwidGFnSWQiLCJ0cmltIiwibWVyZ2VkVGFncyIsImZpbHRlciIsIml0ZW0iLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJuZXh0U2Vzc2lvbiIsInNldFN0YXRlIiwiVVBEQVRFX1NFU1NJT05fU1VDQ0VTUyIsInVzZXIiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwibmV4dFRhZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRva2VuIiwic2Vzc2lvbiIsImNvbmZpZyIsInRva2VuRXhwaXJlc0F0Iiwic2Vzc2lvbkxpZmV0aW1lTWludXRlcyIsIk1hdGgiLCJyb3VuZCIsIk51bWJlciIsImV4cGlyZXMiLCJpc3N1ZWQiLCJyZWZyZXNoV2luZG93TWludXRlcyIsInJlZnJlc2hFeHBpcmVzTWludXRlcyIsIm1heCIsIm1heE1pbnV0ZXMiLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwibWludXRlc1VudGlsRXhwaXJ5IiwiZnJvbU1pbGxpcyIsImRpZmYiLCJsb2NhbCIsInRvT2JqZWN0IiwibWludXRlcyIsImFwcE11dGF0aW9uIiwiYXBwUXVlcnkiLCJwdWJsaWNNdXRhdGlvbiIsInB1YmxpY1F1ZXJ5IiwicnVtTXV0YXRpb24iLCJyZXNvbHZlUmVzdEVuZHBvaW50IiwicmVzdFJlcXVlc3QiLCJ1cGxvYWRJbWFnZSIsIk1ldHJvcG9saXMiLCJhZGFwdGVycyIsImNoaWxkcmVuIiwidHJhbnNsYXRpb25zIiwicmVzb2x2ZWRDb25maWciLCJtZXJnZWRBZGFwdGVycyIsInJ1bU9wdGlvbnMiLCJydW0iLCJhcHBJZCIsInNlc3Npb25QZXJzb25hSWQiLCJzZXNzaW9uVG9rZW4iLCJzZXNzaW9uSHlkcmF0ZWQiLCJCb29sZWFuIiwibm90aWZpY2F0aW9uTGlzdCIsImNvbnZlcnNhdGlvbk1hcCIsIk9iamVjdCIsInZhbHVlcyIsImZsYXQiLCJ3ZWJzb2NrZXRzUmVmIiwiY3VycmVudCIsIndlYnNvY2tldHMiLCJhd3NSdW0iLCJnbG9iYWxUaGlzIiwid2luZG93Iiwib25Hb3RoYW1BbmFseXRpY3MiLCJldmVudCIsImRldGFpbCIsInRyYWNrIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkZXN0cm95IiwiaXNBY3RpdmUiLCJ3c0Nsb3NlIiwid3NJbml0IiwiaXNBdXRoIiwic2Vzc2lvblN0YXRlIiwidXNlckFjdGl2ZSIsIlByb3ZpZGVyIiwidmFsdWUiLCJ1cGRhdGVNZXNzYWdlIiwidXBkYXRlTm90aWZpY2F0aW9uIiwic2VuZE5vdGlmaWNhdGlvbiIsInVzZVRyYW5zbGF0aW9uIiwiY3JlYXRlQWN0aW9ucyIsImNyZWF0ZUFsbEFjdGlvbnMiLCJjcmVhdGVCYXNlQWN0aW9ucyIsInVzZUNvbnRlbnRBY3Rpb25zIiwidXNlQXdzUnVtIiwidXNlQ3JtQWN0aW9ucyIsInVzZUV2ZW50QWN0aW9ucyIsInVzZUdyb3VwQWN0aW9ucyIsInVzZUltYWdlQWN0aW9ucyIsInVzZUxvY2F0aW9uQWN0aW9ucyIsInVzZU1lc3NhZ2VBY3Rpb25zIiwidXNlTWV0cm9wb2xpcyIsInVzZU1ldHJvcG9saXNDb25maWciLCJ1c2VNZXRyb3BvbGlzRmx1eCIsInVzZVBvc3RBY3Rpb25zIiwidXNlUGVyc29uYUFjdGlvbnMiLCJ1c2VSZWFjdGlvbkFjdGlvbnMiLCJ1c2VSZXN0QWN0aW9ucyIsInVzZVRhZ0FjdGlvbnMiLCJ1c2VUcmFuc2xhdGlvbkFjdGlvbnMiLCJ1c2VVc2VyQWN0aW9ucyIsInVzZVdlYnNvY2tldEFjdGlvbnMiLCJ1c2VDb252ZXJzYXRpb25UeXBpbmciLCJjcmVhdGVWYWxpZGF0b3JGYWN0b3J5IiwiY3JlYXRlVmFsaWRhdG9yTWFuYWdlciJdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Q0FHQyxHQUNELFNBQVFBLE9BQU8sRUFBRUMsWUFBWSxRQUFPLDhCQUE4QjtBQUNsRSxPQUFPQyxVQUFVLFVBQVU7QUFDM0IsU0FBUUMsUUFBUSxRQUFPLFFBQVE7QUFDL0IsU0FBUUMsU0FBUyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sUUFBTyxRQUFRO0FBQ2pELFNBQVFDLGVBQWUsUUFBTyxnQkFBZ0I7QUFJOUMsU0FBUUMsd0JBQXdCLEVBQUVDLG9CQUFvQixRQUFPLDZDQUE2QztBQUMxRyxTQUFRQyx3QkFBd0IsUUFBTyxvQkFBb0I7QUFDM0QsU0FDRUMsR0FBRyxFQUNIQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLGFBQWEsRUFDYkMsc0JBQXNCLEVBQ3RCQyxXQUFXLEVBQ1hDLGlCQUFpQixFQUNqQkMsS0FBSyxFQUNMQyxhQUFhLEVBQ2JDLGFBQWEsRUFDYkMsSUFBSSxFQUNKQyxjQUFjLEVBQ2RDLEtBQUssRUFDTEMsS0FBSyxFQUNMQyxTQUFTLFFBQ0osb0JBQW9CO0FBQzNCLFNBQVFDLGNBQWMsUUFBTyxpQkFBaUI7QUFDOUMsU0FBUUMsaUJBQWlCLFFBQU8seUJBQXlCO0FBQ3pELFNBQVFDLFFBQVEsUUFBTyxrQkFBa0I7QUFDekMsU0FBUUMsaUJBQWlCLFFBQU8sZ0NBQWdDO0FBQ2hFLFNBQVFDLHVCQUF1QixFQUFFQyx5QkFBeUIsRUFBRUMsZ0JBQWdCLFFBQU8scUJBQXFCO0FBQ3hHLFNBQVFDLFlBQVksUUFBTywyQkFBMkI7QUFNdEQsU0FBUUosaUJBQWlCLEVBQUVLLGtCQUFrQixRQUFPLGdDQUFnQztBQUtwRixPQUFPLE1BQU1DLHlCQUF5Qix5QkFBeUI7QUFFL0QsT0FBTyxNQUFNQyxTQUFTLE9BQU9DO0lBQzNCLElBQUcsQ0FBQ0EsS0FBS0MsUUFBUSxDQUFDLDhCQUE4QjtRQUM5Q0QsS0FBS0UsU0FBUyxDQUFDO1lBQ2I5QjtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBRTtZQUNBRTtZQUNBQztZQUNBRTtZQUNBRTtZQUNBQztZQUNBQztTQUNEO1FBQ0RZLEtBQUtHLEVBQUUsQ0FBQ2xCLGVBQWVtQixnQkFBZ0IsRUFBRTtZQUN2Q0osS0FBS0ssUUFBUSxDQUFDO2dCQUFDQyxNQUFNNUIsdUJBQXVCNkIsV0FBVztZQUFBO1FBQ3pEO1FBQ0FQLEtBQUtHLEVBQUUsQ0FBQ3ZCLGtCQUFrQjRCLGdCQUFnQixFQUFFLE9BQU8sRUFBQ0MsVUFBVSxDQUFDLENBQUMsRUFBc0M7WUFDcEd2QyxxQkFBcUI4QixNQUFNUztZQUUzQixJQUFHQSxTQUFTQyxhQUFhLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0gsU0FBU3pCLE9BQU87Z0JBQ3RELE1BQU1mLHlCQUF5QitCLE1BQU1hLE9BQU9KLFFBQVFDLFNBQVM7WUFDL0Q7UUFDRjtRQUVBVixLQUFLRyxFQUFFLENBQUN2QixrQkFBa0JrQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUNMLFVBQVUsQ0FBQyxDQUFDLEVBQXNDO1lBQ3ZHdkMscUJBQXFCOEIsTUFBTVM7WUFFM0IsSUFBR0EsU0FBU0MsYUFBYSxDQUFDQyxNQUFNQyxPQUFPLENBQUNILFNBQVN6QixPQUFPO2dCQUN0RCxNQUFNZix5QkFBeUIrQixNQUFNYSxPQUFPSixRQUFRQyxTQUFTO1lBQy9EO1FBQ0Y7UUFFQVYsS0FBS0csRUFBRSxDQUFDcEIsY0FBY2dDLG1CQUFtQixFQUFFLENBQUMsRUFBQ0MsR0FBRyxFQUEwQztZQUN4RixNQUFNQyxpQkFBa0JqQixLQUFLQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO1lBRzlELE1BQU1pQixjQUFjUCxNQUFNQyxPQUFPLENBQUNLLGVBQWVqQyxJQUFJLElBQUlpQyxlQUFlakMsSUFBSSxHQUFHLEVBQUU7WUFDakYsTUFBTW1DLFlBQVlOLE9BQU9HLEtBQUtJLFNBQVMsSUFBSUMsSUFBSTtZQUUvQyxJQUFHLENBQUNGLFdBQVc7Z0JBQ2I7WUFDRjtZQUVBLE1BQU1HLGFBQWE7bUJBQUlKLFlBQVlLLE1BQU0sQ0FBQyxDQUFDQyxPQUFTWCxPQUFPVyxNQUFNSixTQUFTLElBQUlDLElBQUksT0FBT0Y7Z0JBQVlIO2FBQXVDLENBQ3pJUyxJQUFJLENBQUMsQ0FBQ0MsTUFBTUMsUUFBVWQsT0FBT2EsTUFBTUUsUUFBUSxJQUFJQyxhQUFhLENBQUNoQixPQUFPYyxPQUFPQyxRQUFRO1lBQ3RGLE1BQU1FLGNBQWM7Z0JBQUMsR0FBR2IsY0FBYztnQkFBRWpDLE1BQU1zQztZQUFVO1lBRXhELEtBQUt0QixLQUFLK0IsUUFBUSxDQUFDLGdCQUFnQkQ7WUFDbkM5QixLQUFLSyxRQUFRLENBQUM7Z0JBQUNDLE1BQU1yQixlQUFlK0Msc0JBQXNCO2dCQUFFQyxNQUFNO29CQUFDakQsTUFBTXNDO2dCQUFVO1lBQUM7UUFDdEY7UUFFQXRCLEtBQUtHLEVBQUUsQ0FBQ3BCLGNBQWNtRCxzQkFBc0IsRUFBRSxDQUFDLEVBQUNsQixHQUFHLEVBQTJCO1lBQzVFLE1BQU1DLGlCQUFrQmpCLEtBQUtDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7WUFHOUQsTUFBTWlCLGNBQWNQLE1BQU1DLE9BQU8sQ0FBQ0ssZUFBZWpDLElBQUksSUFBSWlDLGVBQWVqQyxJQUFJLEdBQUcsRUFBRTtZQUNqRixNQUFNbUMsWUFBWU4sT0FBT0csS0FBS0ksU0FBUyxJQUFJQyxJQUFJO1lBRS9DLElBQUcsQ0FBQ0YsV0FBVztnQkFDYjtZQUNGO1lBRUEsTUFBTWdCLFdBQVdqQixZQUFZSyxNQUFNLENBQUMsQ0FBQ0MsT0FBU1gsT0FBT1csTUFBTUosU0FBUyxJQUFJQyxJQUFJLE9BQU9GO1lBQ25GLE1BQU1XLGNBQWM7Z0JBQUMsR0FBR2IsY0FBYztnQkFBRWpDLE1BQU1tRDtZQUFRO1lBRXRELEtBQUtuQyxLQUFLK0IsUUFBUSxDQUFDLGdCQUFnQkQ7WUFDbkM5QixLQUFLSyxRQUFRLENBQUM7Z0JBQUNDLE1BQU1yQixlQUFlK0Msc0JBQXNCO2dCQUFFQyxNQUFNO29CQUFDakQsTUFBTW1EO2dCQUFRO1lBQUM7UUFDcEY7UUFDQSxNQUFNQyxRQUFRQyxPQUFPLENBQUNyQyxLQUFLK0IsUUFBUSxDQUFDLDZCQUE2QjtJQUNuRTtJQUVBLE1BQU1PLFFBQVF6QixPQUFPYixLQUFLQyxRQUFRLENBQUMseUJBQXlCO0lBRTVELElBQUdxQyxPQUFPO1FBQ1IsTUFBTUMsVUFBV3ZDLEtBQUtDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7UUFDdkQsTUFBTXVDLFNBQVNsRCxrQkFBa0JVO1FBQ2pDLE1BQU15QyxpQkFBaUI5QyxpQkFBaUIyQztRQUN4QyxNQUFNSSx5QkFBeUJDLEtBQUtDLEtBQUssQ0FBQyxBQUFDQyxDQUFBQSxPQUFPTixRQUFRTyxPQUFPLElBQUksS0FBS0QsT0FBT04sUUFBUVEsTUFBTSxJQUFJLEVBQUMsSUFBTSxDQUFBLE9BQU8sRUFBQztRQUNsSCxNQUFNQyx1QkFBdUJ2RCx3QkFDM0JpRCwwQkFBMEIsSUFDMUJGLE9BQU9wRSxHQUFHLEVBQUVtRSxXQUFXLENBQUM7UUFFMUIsTUFBTVUsd0JBQXdCTixLQUFLTyxHQUFHLENBQUMsR0FBR0wsT0FBT0wsT0FBT3BFLEdBQUcsRUFBRW1FLFNBQVNZLGNBQWNULDBCQUEwQjtRQUM5RyxNQUFNVSxZQUFZUCxPQUFPTixRQUFRTyxPQUFPLElBQUk7UUFFNUMsSUFBR0wsaUJBQWlCLEtBQUtZLEtBQUtDLEdBQUcsTUFBTWIsZ0JBQWdCO1lBQ3JELE1BQU1wRCxlQUFlVyxNQUFNc0MsT0FBT1c7UUFDcEMsT0FBTyxJQUFHLENBQUNHLFdBQVc7WUFDcEIsTUFBTS9ELGVBQWVXLE1BQU1zQyxPQUFPVztRQUNwQyxPQUFPO1lBQ0wsTUFBTU0scUJBQXFCWixLQUFLQyxLQUFLLENBQUNoRixTQUFTNEYsVUFBVSxDQUFDSixXQUFXSyxJQUFJLENBQUM3RixTQUFTOEYsS0FBSyxJQUFJLFdBQVdDLFFBQVEsR0FBR0MsT0FBTyxJQUFJO1lBRTdILElBQUdMLHNCQUFzQixLQUFLQSxzQkFBc0JQLHNCQUFzQjtnQkFDeEUsTUFBTTNELGVBQWVXLE1BQU1zQyxPQUFpQlc7WUFDOUM7UUFDRjtJQUNGO0FBQ0YsRUFBRTtBQUVGLGNBQWMsb0JBQW9CO0FBRWxDLFNBQ0VZLFdBQVcsRUFDWEMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLFdBQVcsRUFDWEMsV0FBVyxFQUNYNUUsY0FBYyxFQUNkNkUsbUJBQW1CLEVBQ25CQyxXQUFXLEVBQ1hDLFdBQVcsUUFLTixpQkFBaUI7QUFFeEIsU0FBUWpHLHdCQUF3QixRQUFPLG9CQUFvQjtBQUMzRCxTQUFRbUIsaUJBQWlCLFFBQU8seUJBQXlCO0FBbUJ6RCxPQUFPLE1BQU0rRSxhQUFhLENBQUMsRUFBQ0MsUUFBUSxFQUFFQyxRQUFRLEVBQUUvQixTQUFTLENBQUMsQ0FBQyxFQUFFZ0MsZUFBZSxDQUFDLENBQUMsRUFBa0I7SUFDOUYsTUFBTXhFLE9BQU92QztJQUNiLE1BQU1nSCxpQkFBaUIzRyxRQUE0QyxJQUFNSyx5QkFBeUJxRSxTQUFTO1FBQUNBO0tBQU87SUFDbkgsTUFBTWtDLGlCQUFpQjVHLFFBQVEsSUFBTyxDQUFBO1lBQUMsR0FBRzJHLGVBQWVILFFBQVE7WUFBRSxHQUFHQSxRQUFRO1FBQUEsQ0FBQSxHQUFJO1FBQUNHLGVBQWVILFFBQVE7UUFBRUE7S0FBUztJQUNySCxNQUFNSyxhQUFhN0csUUFBUSxJQUFPLENBQUE7WUFDaEMsR0FBRzJHLGVBQWVyRyxHQUFHLEVBQUV3RyxHQUFHO1lBQzFCQyxPQUFPSixlQUFlckcsR0FBRyxFQUFFd0csS0FBS0MsU0FBU0osZUFBZXJHLEdBQUcsRUFBRXdEO1FBQy9ELENBQUEsR0FBSTtRQUFDNkMsZUFBZXJHLEdBQUcsRUFBRXdEO1FBQU02QyxlQUFlckcsR0FBRyxFQUFFd0c7S0FBSTtJQUN2RCxNQUFNRSxtQkFBbUJqRSxPQUFPbkQsYUFBYSwwQkFBMEIsT0FBTztJQUM5RSxNQUFNcUgsZUFBZWxFLE9BQU9uRCxhQUFhLHNCQUFzQixPQUFPO0lBQ3RFLE1BQU1zSCxrQkFBa0JDLFFBQVF2SCxhQUFhLHVCQUF1QjtJQUNwRSxNQUFNNkUsVUFBVTdFLGFBQWEsZ0JBQWdCLENBQUM7SUFDOUMsTUFBTXdILG1CQUFtQnhILGFBQWEscUJBQXFCLEVBQUU7SUFDN0QsTUFBTXlILGtCQUFrQnpILGFBQWEseUJBQXlCLENBQUM7SUFDL0QsTUFBTWMsV0FBV1YsUUFBUSxJQUFNc0gsT0FBT0MsTUFBTSxDQUFDRixpQkFBaUJHLElBQUksSUFBSTtRQUFDSDtLQUFnQjtJQUV2RixNQUFNSSxnQkFBZ0J4SCxPQUF5RDtJQUMvRSxJQUFHLENBQUN3SCxjQUFjQyxPQUFPLEVBQUU7UUFDekJELGNBQWNDLE9BQU8sR0FBRzVGLGFBQWEsYUFBYUk7SUFDcEQ7SUFDQSxNQUFNeUYsYUFBYUYsY0FBY0MsT0FBTztJQUN4QyxNQUFNRSxTQUFTNUgsUUFDYixJQUFNOEIsYUFBYSxVQUFVSSxNQUFNMkUsYUFDbkM7UUFBQzNFO1FBQU0yRTtLQUFXO0lBR3BCOUcsVUFBVTtRQUNSLElBQUcsT0FBTzhILFdBQVdDLE1BQU0sS0FBSyxhQUFhO1lBQzNDO1FBQ0Y7UUFFQSxNQUFNQyxvQkFBb0IsQ0FBQ0M7WUFDekIsTUFBTUMsU0FBUyxBQUFDRCxNQUF3Q0MsTUFBTTtZQUU5RCxJQUFHQSxVQUFVLE9BQU9BLFdBQVcsVUFBVTtnQkFDdkNMLE9BQU9NLEtBQUssQ0FBQ0Q7WUFDZjtRQUNGO1FBRUFKLFdBQVdDLE1BQU0sQ0FBQ0ssZ0JBQWdCLENBQUNuRyx3QkFBd0IrRjtRQUUzRCxPQUFPO1lBQ0xGLFdBQVdDLE1BQU0sQ0FBQ00sbUJBQW1CLENBQUNwRyx3QkFBd0IrRjtZQUM5RCxLQUFLSCxPQUFPUyxPQUFPO1FBQ3JCO0lBQ0YsR0FBRztRQUFDVDtLQUFPO0lBRVg3SCxVQUFVO1FBQ1IwQixTQUFTaUY7SUFDWCxHQUFHO1FBQUNBO0tBQWE7SUFFakIzRyxVQUFVO1FBQ1IsSUFBSXVJLFdBQVc7UUFFZixLQUFLLEFBQUMsQ0FBQTtZQUNKLE1BQU1oRSxRQUFRQyxPQUFPLENBQUNyQyxLQUFLK0IsUUFBUSxDQUFDLGNBQWMwQztZQUNsRCxNQUFNckMsUUFBUUMsT0FBTyxDQUFDckMsS0FBSytCLFFBQVEsQ0FBQyx1QkFBdUI7WUFDM0QsTUFBTXJDLDBCQUEwQk07WUFFaEMsSUFBRyxDQUFDb0csVUFBVTtnQkFDWjtZQUNGO1lBRUEsTUFBTXJHLE9BQU9DO1lBRWIsSUFBRyxDQUFDb0csVUFBVTtnQkFDWjtZQUNGO1lBRUEsTUFBTWhFLFFBQVFDLE9BQU8sQ0FBQ3JDLEtBQUsrQixRQUFRLENBQUMsdUJBQXVCO1FBQzdELENBQUE7UUFFQSxPQUFPO1lBQ0xxRSxXQUFXO1FBQ2I7SUFDRixHQUFHO1FBQUNwRztRQUFNeUU7S0FBZTtJQUV6QjVHLFVBQVU7UUFDUixJQUFHLENBQUNtSCxpQkFBaUI7WUFDbkJTLFdBQVdZLE9BQU87WUFDbEI7UUFDRjtRQUVBLElBQUd0QixjQUFjO1lBQ2ZVLFdBQVdhLE1BQU0sQ0FBQ3ZCLGNBQWNEO1FBQ2xDLE9BQU87WUFDTFcsV0FBV1ksT0FBTztRQUNwQjtJQUNGLEdBQUc7UUFBQ3JCO1FBQWlCRjtRQUFrQkM7UUFBY1U7S0FBVztJQUVoRTVILFVBQVU7UUFDUixPQUFPO1lBQ0w0SCxXQUFXWSxPQUFPO1FBQ3BCO0lBQ0YsR0FBRztRQUFDWjtLQUFXO0lBRWYsTUFBTWMsU0FBU3pJLFFBQVEsSUFBTTJHLGVBQWU4QixNQUFNLElBQUssQ0FBQTtZQUNyRCxNQUFNQyxlQUFleEcsS0FBS0MsUUFBUSxDQUFDLGdCQUFnQixDQUFDO1lBQ3BELE9BQU8sQ0FBQyxDQUFDdUcsYUFBYUMsVUFBVTtRQUNsQyxDQUFBLEdBQUk7UUFBQ2hDLGVBQWU4QixNQUFNO1FBQUV2RztLQUFLO0lBRWpDLHFCQUNFLEtBQUNSLGtCQUFrQmtILFFBQVE7UUFDekJDLE9BQU87WUFDTHJDLFVBQVVJO1lBQ1ZsQyxRQUFRaUM7WUFDUnpFO1lBQ0F1RztZQUNBL0g7WUFDQUMsZUFBZXlHO1lBQ2YzQztZQUNBcUUsZUFBZSxLQUFRO1lBQ3ZCQyxvQkFBb0JwQixXQUFXcUIsZ0JBQWdCO1FBQ2pEO2tCQUNBLGNBQUEsS0FBQzlJO1lBQWdCTCxNQUFNQTtzQkFDcEI0Rzs7O0FBSVQsRUFBRTtBQUVGLGVBQWVGLFdBQVc7QUFFMUIsU0FBUTBDLGNBQWMsUUFBTyxnQkFBZ0I7QUFDN0MsY0FBYyxzQkFBc0I7QUFDcEMsY0FBYyxxQ0FBcUM7QUFDbkQsY0FBYyx1QkFBdUI7QUFDckMsY0FBYyw0QkFBNEI7QUFDMUMsY0FBYyxvQkFBb0I7QUFDbEMsU0FDRW5ILFlBQVksRUFDWm9ILGFBQWEsRUFDYkMsZ0JBQWdCLFFBQ1gsMkJBQTJCO0FBQ2xDLGNBQWMsaUJBQWlCO0FBQy9CLFNBQVFDLGlCQUFpQixRQUFPLCtCQUErQjtBQUMvRCxjQUFjLHVCQUF1QjtBQUNyQyxjQUFjLGtCQUFrQjtBQUNoQyxjQUFjLHNCQUFzQjtBQUNwQyxTQUNFQyxpQkFBaUIsRUFDakJDLFNBQVMsRUFDVEMsYUFBYSxFQUNiQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsZUFBZSxFQUNmQyxrQkFBa0IsRUFDbEJDLGlCQUFpQixFQUFFQyxhQUFhLEVBQ2hDQyxtQkFBbUIsRUFDbkJDLGlCQUFpQixFQUFFQyxjQUFjLEVBQ2pDQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsY0FBYyxFQUNkQyxhQUFhLEVBQ2JDLHFCQUFxQixFQUNyQkMsY0FBYyxFQUNkQyxtQkFBbUIsUUFDZCwyQkFBMkI7QUFDbEMsU0FBUUMscUJBQXFCLFFBQU8sbUNBQW1DO0FBS3ZFLFNBQ0VDLHNCQUFzQixFQUN0QkMsc0JBQXNCLFFBQ2pCLDhCQUE4QjtBQVdyQyxjQUFjLHFDQUFxQztBQUNuRCxjQUFjLDJDQUEyQztBQUN6RCxjQUFjLG1EQUFtRDtBQUNqRSxjQUFjLHVEQUF1RDtBQUNyRSxjQUFjLHFDQUFxQztBQUNuRCxjQUFjLHVDQUF1QztBQUNyRCxjQUFjLHlDQUF5QztBQUN2RCxjQUFjLDZCQUE2QjtBQUMzQyxjQUFjLG1CQUFtQiJ9
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge3VzZUZsdXgsIHVzZUZsdXhTdGF0ZX0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHtEYXRlVGltZX0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHt1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtJMThuZXh0UHJvdmlkZXJ9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuXG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4vYWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zL3dlYnNvY2tldEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0F3c1J1bUFjdGlvbnMsIEF3c1J1bVRyYWNrSW5wdXR9IGZyb20gJy4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuaW1wb3J0IHtzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24sIHN5bmNQZXJzb25hVG9TZXNzaW9ufSBmcm9tICcuL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHtyZXNvbHZlRW52aXJvbm1lbnRDb25maWd9IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB7XG4gIGFwcCxcbiAgZXZlbnRzLFxuICBpbWFnZXMsXG4gIGxvY2F0aW9ucyxcbiAgbWVzc2FnZXMsXG4gIG5vdGlmaWNhdGlvbnMsXG4gIE5PVElGSUNBVElPTl9DT05TVEFOVFMsXG4gIHBlcm1pc3Npb25zLFxuICBQRVJTT05BX0NPTlNUQU5UUyxcbiAgcG9zdHMsXG4gIHN1YnNjcmlwdGlvbnMsXG4gIFRBR19DT05TVEFOVFMsXG4gIHRhZ3MsXG4gIFVTRVJfQ09OU1RBTlRTLFxuICB1c2VycyxcbiAgdmlkZW8sXG4gIHdlYnNvY2tldFxufSBmcm9tICcuL3N0b3Jlcy9pbmRleC5qcyc7XG5pbXBvcnQge3JlZnJlc2hTZXNzaW9ufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5pbXBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcbmltcG9ydCB7aW5pdEkxOG59IGZyb20gJy4vdXRpbHMvaTE4bi5qcyc7XG5pbXBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNDb250ZXh0LmpzJztcbmltcG9ydCB7Z2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMsIGh5ZHJhdGVTZXNzaW9uRnJvbVN0b3JhZ2UsIHBhcnNlSnd0RXhwaXJ5TXN9IGZyb20gJy4vdXRpbHMvc2Vzc2lvbi5qcyc7XG5pbXBvcnQge2NyZWF0ZUFjdGlvbn0gZnJvbSAnLi91dGlscy9hY3Rpb25GYWN0b3J5LmpzJztcblxuaW1wb3J0IHR5cGUge0ZsdXhGcmFtZXdvcmt9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQgdHlwZSB7TWV0cm9wb2xpc0NvbmZpZ3VyYXRpb24sIE1ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb259IGZyb20gJy4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB0eXBlIHtNZXRyb3BvbGlzQWRhcHRlcnN9IGZyb20gJy4vdXRpbHMvTWV0cm9wb2xpc0NvbnRleHQuanMnO1xuXG5leHBvcnQge01ldHJvcG9saXNDb250ZXh0fSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNDb250ZXh0LmpzJztcblxuZXhwb3J0IHR5cGUge01ldHJvcG9saXNDb25maWd1cmF0aW9ufSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5leHBvcnQgdHlwZSB7TWV0cm9wb2xpc0FkYXB0ZXJzfSBmcm9tICcuL3V0aWxzL01ldHJvcG9saXNDb250ZXh0LmpzJztcblxuZXhwb3J0IGNvbnN0IEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQgPSAnbmxhYnM6Z290aGFtOmFuYWx5dGljcyc7XG5cbmV4cG9ydCBjb25zdCBvbkluaXQgPSBhc3luYyAoZmx1eDogRmx1eEZyYW1ld29yaykgPT4ge1xuICBpZighZmx1eC5nZXRTdGF0ZSgnYXBwLm1ldHJvcG9saXNJbml0aWFsaXplZCcpKSB7XG4gICAgZmx1eC5hZGRTdG9yZXMoW1xuICAgICAgYXBwLFxuICAgICAgZXZlbnRzLFxuICAgICAgaW1hZ2VzLFxuICAgICAgbG9jYXRpb25zLFxuICAgICAgbWVzc2FnZXMsXG4gICAgICBub3RpZmljYXRpb25zLFxuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICBwb3N0cyxcbiAgICAgIHN1YnNjcmlwdGlvbnMsXG4gICAgICB0YWdzLFxuICAgICAgdXNlcnMsXG4gICAgICB2aWRlbyxcbiAgICAgIHdlYnNvY2tldFxuICAgIF0pO1xuICAgIGZsdXgub24oVVNFUl9DT05TVEFOVFMuU0lHTl9PVVRfU1VDQ0VTUywgKCkgPT4ge1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogTk9USUZJQ0FUSU9OX0NPTlNUQU5UUy5DTEVBUl9JVEVNU30pO1xuICAgIH0pO1xuICAgIGZsdXgub24oUEVSU09OQV9DT05TVEFOVFMuQUREX0lURU1fU1VDQ0VTUywgYXN5bmMgKHtwZXJzb25hID0ge319OiB7cGVyc29uYT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+fSkgPT4ge1xuICAgICAgc3luY1BlcnNvbmFUb1Nlc3Npb24oZmx1eCwgcGVyc29uYSk7XG5cbiAgICAgIGlmKHBlcnNvbmE/LnBlcnNvbmFJZCAmJiAhQXJyYXkuaXNBcnJheShwZXJzb25hPy50YWdzKSkge1xuICAgICAgICBhd2FpdCBzeW5jUGVyc29uYVRhZ3NUb1Nlc3Npb24oZmx1eCwgU3RyaW5nKHBlcnNvbmEucGVyc29uYUlkKSk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBmbHV4Lm9uKFBFUlNPTkFfQ09OU1RBTlRTLlVQREFURV9JVEVNX1NVQ0NFU1MsIGFzeW5jICh7cGVyc29uYSA9IHt9fToge3BlcnNvbmE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0pID0+IHtcbiAgICAgIHN5bmNQZXJzb25hVG9TZXNzaW9uKGZsdXgsIHBlcnNvbmEpO1xuXG4gICAgICBpZihwZXJzb25hPy5wZXJzb25hSWQgJiYgIUFycmF5LmlzQXJyYXkocGVyc29uYT8udGFncykpIHtcbiAgICAgICAgYXdhaXQgc3luY1BlcnNvbmFUYWdzVG9TZXNzaW9uKGZsdXgsIFN0cmluZyhwZXJzb25hLnBlcnNvbmFJZCkpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLkFERF9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1lcmdlZFRhZ3MgPSBbLi4uY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKSwgdGFnIGFzIHtuYW1lPzogc3RyaW5nOyB0YWdJZD86IHN0cmluZ31dXG4gICAgICAgIC5zb3J0KChsZWZ0LCByaWdodCkgPT4gU3RyaW5nKGxlZnQ/Lm5hbWUgfHwgJycpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKHJpZ2h0Py5uYW1lIHx8ICcnKSkpO1xuICAgICAgY29uc3QgbmV4dFNlc3Npb24gPSB7Li4uY3VycmVudFNlc3Npb24sIHRhZ3M6IG1lcmdlZFRhZ3N9O1xuXG4gICAgICB2b2lkIGZsdXguc2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIG5leHRTZXNzaW9uKTtcbiAgICAgIGZsdXguZGlzcGF0Y2goe3R5cGU6IFVTRVJfQ09OU1RBTlRTLlVQREFURV9TRVNTSU9OX1NVQ0NFU1MsIHVzZXI6IHt0YWdzOiBtZXJnZWRUYWdzfX0pO1xuICAgIH0pO1xuXG4gICAgZmx1eC5vbihUQUdfQ09OU1RBTlRTLlJFTU9WRV9QRVJTT05BX1NVQ0NFU1MsICh7dGFnfToge3RhZz86IHt0YWdJZD86IHN0cmluZ319KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ICYge1xuICAgICAgICB0YWdzPzogQXJyYXk8e25hbWU/OiBzdHJpbmc7IHRhZ0lkPzogc3RyaW5nfT47XG4gICAgICB9O1xuICAgICAgY29uc3QgY3VycmVudFRhZ3MgPSBBcnJheS5pc0FycmF5KGN1cnJlbnRTZXNzaW9uLnRhZ3MpID8gY3VycmVudFNlc3Npb24udGFncyA6IFtdO1xuICAgICAgY29uc3QgbmV4dFRhZ0lkID0gU3RyaW5nKHRhZz8udGFnSWQgfHwgJycpLnRyaW0oKTtcblxuICAgICAgaWYoIW5leHRUYWdJZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5leHRUYWdzID0gY3VycmVudFRhZ3MuZmlsdGVyKChpdGVtKSA9PiBTdHJpbmcoaXRlbT8udGFnSWQgfHwgJycpLnRyaW0oKSAhPT0gbmV4dFRhZ0lkKTtcbiAgICAgIGNvbnN0IG5leHRTZXNzaW9uID0gey4uLmN1cnJlbnRTZXNzaW9uLCB0YWdzOiBuZXh0VGFnc307XG5cbiAgICAgIHZvaWQgZmx1eC5zZXRTdGF0ZSgndXNlci5zZXNzaW9uJywgbmV4dFNlc3Npb24pO1xuICAgICAgZmx1eC5kaXNwYXRjaCh7dHlwZTogVVNFUl9DT05TVEFOVFMuVVBEQVRFX1NFU1NJT05fU1VDQ0VTUywgdXNlcjoge3RhZ3M6IG5leHRUYWdzfX0pO1xuICAgIH0pO1xuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZShmbHV4LnNldFN0YXRlKCdhcHAubWV0cm9wb2xpc0luaXRpYWxpemVkJywgdHJ1ZSkpO1xuICB9XG5cbiAgY29uc3QgdG9rZW4gPSBTdHJpbmcoZmx1eC5nZXRTdGF0ZSgndXNlci5zZXNzaW9uLnRva2VuJykgfHwgJycpO1xuXG4gIGlmKHRva2VuKSB7XG4gICAgY29uc3Qgc2Vzc2lvbiA9IChmbHV4LmdldFN0YXRlKCd1c2VyLnNlc3Npb24nLCB7fSkgfHwge30pIGFzIHtleHBpcmVzPzogbnVtYmVyOyBpc3N1ZWQ/OiBudW1iZXI7IHRva2VuPzogc3RyaW5nfTtcbiAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWdGcm9tRmx1eChmbHV4KTtcbiAgICBjb25zdCB0b2tlbkV4cGlyZXNBdCA9IHBhcnNlSnd0RXhwaXJ5TXModG9rZW4pO1xuICAgIGNvbnN0IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgPSBNYXRoLnJvdW5kKChOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApIC0gTnVtYmVyKHNlc3Npb24uaXNzdWVkIHx8IDApKSAvICgxMDAwICogNjApKTtcbiAgICBjb25zdCByZWZyZXNoV2luZG93TWludXRlcyA9IGdldFJlZnJlc2hXaW5kb3dNaW51dGVzKFxuICAgICAgc2Vzc2lvbkxpZmV0aW1lTWludXRlcyB8fCAxNSxcbiAgICAgIGNvbmZpZy5hcHA/LnNlc3Npb24gfHwge31cbiAgICApO1xuICAgIGNvbnN0IHJlZnJlc2hFeHBpcmVzTWludXRlcyA9IE1hdGgubWF4KDEsIE51bWJlcihjb25maWcuYXBwPy5zZXNzaW9uPy5tYXhNaW51dGVzIHx8IHNlc3Npb25MaWZldGltZU1pbnV0ZXMgfHwgMTUpKTtcbiAgICBjb25zdCBleHBpcmVzQXQgPSBOdW1iZXIoc2Vzc2lvbi5leHBpcmVzIHx8IDApO1xuXG4gICAgaWYodG9rZW5FeHBpcmVzQXQgPiAwICYmIERhdGUubm93KCkgPj0gdG9rZW5FeHBpcmVzQXQpIHtcbiAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuLCByZWZyZXNoRXhwaXJlc01pbnV0ZXMpO1xuICAgIH0gZWxzZSBpZighZXhwaXJlc0F0KSB7XG4gICAgICBhd2FpdCByZWZyZXNoU2Vzc2lvbihmbHV4LCB0b2tlbiwgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbWludXRlc1VudGlsRXhwaXJ5ID0gTWF0aC5yb3VuZChEYXRlVGltZS5mcm9tTWlsbGlzKGV4cGlyZXNBdCkuZGlmZihEYXRlVGltZS5sb2NhbCgpLCAnbWludXRlcycpLnRvT2JqZWN0KCkubWludXRlcyB8fCAwKTtcblxuICAgICAgaWYobWludXRlc1VudGlsRXhwaXJ5IDw9IDAgfHwgbWludXRlc1VudGlsRXhwaXJ5IDw9IHJlZnJlc2hXaW5kb3dNaW51dGVzKSB7XG4gICAgICAgIGF3YWl0IHJlZnJlc2hTZXNzaW9uKGZsdXgsIHRva2VuIGFzIHN0cmluZywgcmVmcmVzaEV4cGlyZXNNaW51dGVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcblxuZXhwb3J0IHtcbiAgYXBwTXV0YXRpb24sXG4gIGFwcFF1ZXJ5LFxuICBwdWJsaWNNdXRhdGlvbixcbiAgcHVibGljUXVlcnksXG4gIHJ1bU11dGF0aW9uLFxuICBydW1SZXF1ZXN0LFxuICByZWZyZXNoU2Vzc2lvbixcbiAgcmVzb2x2ZVJlc3RFbmRwb2ludCxcbiAgcmVzdFJlcXVlc3QsXG4gIHVwbG9hZEltYWdlLFxuICB0eXBlIEFwaVJlc3VsdHNUeXBlLFxuICB0eXBlIFJlYWt0b3JEYkNvbGxlY3Rpb24sXG4gIHR5cGUgUmVzdEFwaU9wdGlvbnMsXG4gIHR5cGUgUmVzdE1ldGhvZFxufSBmcm9tICcuL3V0aWxzL2FwaS5qcyc7XG5cbmV4cG9ydCB7cmVzb2x2ZUVudmlyb25tZW50Q29uZmlnfSBmcm9tICcuL2NvbmZpZy9pbmRleC5qcyc7XG5leHBvcnQge2dldENvbmZpZ0Zyb21GbHV4fSBmcm9tICcuL3V0aWxzL2NvbmZpZ1V0aWxzLmpzJztcblxuZXhwb3J0IGludGVyZmFjZSBNZXRyb3BvbGlzUHJvcHMge1xuICByZWFkb25seSBhZGFwdGVycz86IE1ldHJvcG9saXNBZGFwdGVycztcbiAgcmVhZG9ubHkgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdEVsZW1lbnQgfCBSZWFjdC5SZWFjdEVsZW1lbnRbXTtcbiAgcmVhZG9ubHkgY29uZmlnPzogTWV0cm9wb2xpc0NvbmZpZ3VyYXRpb247XG4gIHJlYWRvbmx5IHRyYW5zbGF0aW9ucz86IFNpbXBsZVRyYW5zbGF0aW9ucyB8IENvbXBsZXhUcmFuc2xhdGlvbnM7XG59XG5cbmV4cG9ydCB0eXBlIFNpbXBsZVRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxleFRyYW5zbGF0aW9uIHtcbiAgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9jYWxlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQ29tcGxleFRyYW5zbGF0aW9ucyA9IFJlY29yZDxzdHJpbmcsIENvbXBsZXhUcmFuc2xhdGlvbj47XG5cbmV4cG9ydCBjb25zdCBNZXRyb3BvbGlzID0gKHthZGFwdGVycywgY2hpbGRyZW4sIGNvbmZpZyA9IHt9LCB0cmFuc2xhdGlvbnMgPSB7fX06IE1ldHJvcG9saXNQcm9wcykgPT4ge1xuICBjb25zdCBmbHV4ID0gdXNlRmx1eCgpO1xuICBjb25zdCByZXNvbHZlZENvbmZpZyA9IHVzZU1lbW88TWV0cm9wb2xpc0Vudmlyb25tZW50Q29uZmlndXJhdGlvbj4oKCkgPT4gcmVzb2x2ZUVudmlyb25tZW50Q29uZmlnKGNvbmZpZyksIFtjb25maWddKTtcbiAgY29uc3QgbWVyZ2VkQWRhcHRlcnMgPSB1c2VNZW1vKCgpID0+ICh7Li4ucmVzb2x2ZWRDb25maWcuYWRhcHRlcnMsIC4uLmFkYXB0ZXJzfSksIFtyZXNvbHZlZENvbmZpZy5hZGFwdGVycywgYWRhcHRlcnNdKTtcbiAgY29uc3QgcnVtT3B0aW9ucyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAuLi5yZXNvbHZlZENvbmZpZy5hcHA/LnJ1bSxcbiAgICBhbmFseXRpY3NJZDogcmVzb2x2ZWRDb25maWcuYXBwPy5ydW0/LmFuYWx5dGljc0lkIHx8IHJlc29sdmVkQ29uZmlnLmFwcD8ubmFtZVxuICB9KSwgW3Jlc29sdmVkQ29uZmlnLmFwcD8ubmFtZSwgcmVzb2x2ZWRDb25maWcuYXBwPy5ydW1dKTtcbiAgY29uc3Qgc2Vzc2lvblBlcnNvbmFJZCA9IFN0cmluZyh1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbi5wZXJzb25hSWQnLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uVG9rZW4gPSBTdHJpbmcodXNlRmx1eFN0YXRlKCd1c2VyLnNlc3Npb24udG9rZW4nLCAnJykgfHwgJycpO1xuICBjb25zdCBzZXNzaW9uSHlkcmF0ZWQgPSBCb29sZWFuKHVzZUZsdXhTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIGZhbHNlKSk7XG4gIGNvbnN0IHNlc3Npb24gPSB1c2VGbHV4U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgY29uc3Qgbm90aWZpY2F0aW9uTGlzdCA9IHVzZUZsdXhTdGF0ZSgnbm90aWZpY2F0aW9uLmxpc3QnLCBbXSkgYXMgQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICBjb25zdCBjb252ZXJzYXRpb25NYXAgPSB1c2VGbHV4U3RhdGUoJ21lc3NhZ2UuY29udmVyc2F0aW9ucycsIHt9KSBhcyBSZWNvcmQ8c3RyaW5nLCBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+O1xuICBjb25zdCBtZXNzYWdlcyA9IHVzZU1lbW8oKCkgPT4gT2JqZWN0LnZhbHVlcyhjb252ZXJzYXRpb25NYXApLmZsYXQoKSwgW2NvbnZlcnNhdGlvbk1hcF0pO1xuXG4gIGNvbnN0IHdlYnNvY2tldHNSZWYgPSB1c2VSZWY8UmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4gfCBudWxsPihudWxsKTtcbiAgaWYoIXdlYnNvY2tldHNSZWYuY3VycmVudCkge1xuICAgIHdlYnNvY2tldHNSZWYuY3VycmVudCA9IGNyZWF0ZUFjdGlvbignd2Vic29ja2V0JywgZmx1eCkgYXMgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz47XG4gIH1cbiAgY29uc3Qgd2Vic29ja2V0cyA9IHdlYnNvY2tldHNSZWYuY3VycmVudDtcbiAgY29uc3QgYXdzUnVtID0gdXNlTWVtbyhcbiAgICAoKSA9PiBjcmVhdGVBY3Rpb24oJ2F3c1J1bScsIGZsdXgsIHJ1bU9wdGlvbnMpIGFzIEF3c1J1bUFjdGlvbnMsXG4gICAgW2ZsdXgsIHJ1bU9wdGlvbnNdXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZih0eXBlb2YgZ2xvYmFsVGhpcy53aW5kb3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgb25Hb3RoYW1BbmFseXRpY3MgPSAoZXZlbnQ6IEV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBkZXRhaWwgPSAoZXZlbnQgYXMgQ3VzdG9tRXZlbnQ8QXdzUnVtVHJhY2tJbnB1dD4pLmRldGFpbDtcblxuICAgICAgaWYoZGV0YWlsICYmIHR5cGVvZiBkZXRhaWwgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGF3c1J1bS50cmFjayhkZXRhaWwpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBnbG9iYWxUaGlzLndpbmRvdy5hZGRFdmVudExpc3RlbmVyKEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQsIG9uR290aGFtQW5hbHl0aWNzKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBnbG9iYWxUaGlzLndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKEdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQsIG9uR290aGFtQW5hbHl0aWNzKTtcbiAgICAgIHZvaWQgYXdzUnVtLmRlc3Ryb3koKTtcbiAgICB9O1xuICB9LCBbYXdzUnVtXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpbml0STE4bih0cmFuc2xhdGlvbnMpO1xuICB9LCBbdHJhbnNsYXRpb25zXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgaXNBY3RpdmUgPSB0cnVlO1xuXG4gICAgdm9pZCAoYXN5bmMgKCkgPT4ge1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5jb25maWcnLCByZXNvbHZlZENvbmZpZykpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGZsdXguc2V0U3RhdGUoJ2FwcC5zZXNzaW9uSHlkcmF0ZWQnLCBmYWxzZSkpO1xuICAgICAgYXdhaXQgaHlkcmF0ZVNlc3Npb25Gcm9tU3RvcmFnZShmbHV4KTtcblxuICAgICAgaWYoIWlzQWN0aXZlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25Jbml0KGZsdXgpO1xuXG4gICAgICBpZighaXNBY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoZmx1eC5zZXRTdGF0ZSgnYXBwLnNlc3Npb25IeWRyYXRlZCcsIHRydWUpKTtcbiAgICB9KSgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlzQWN0aXZlID0gZmFsc2U7XG4gICAgfTtcbiAgfSwgW2ZsdXgsIHJlc29sdmVkQ29uZmlnXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZighc2Vzc2lvbkh5ZHJhdGVkKSB7XG4gICAgICB3ZWJzb2NrZXRzLndzQ2xvc2UoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZihzZXNzaW9uVG9rZW4pIHtcbiAgICAgIHdlYnNvY2tldHMud3NJbml0KHNlc3Npb25Ub2tlbiwgc2Vzc2lvblBlcnNvbmFJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHdlYnNvY2tldHMud3NDbG9zZSgpO1xuICAgIH1cbiAgfSwgW3Nlc3Npb25IeWRyYXRlZCwgc2Vzc2lvblBlcnNvbmFJZCwgc2Vzc2lvblRva2VuLCB3ZWJzb2NrZXRzXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2Vic29ja2V0cy53c0Nsb3NlKCk7XG4gICAgfTtcbiAgfSwgW3dlYnNvY2tldHNdKTtcblxuICBjb25zdCBpc0F1dGggPSB1c2VNZW1vKCgpID0+IHJlc29sdmVkQ29uZmlnLmlzQXV0aCB8fCAoKCkgPT4ge1xuICAgIGNvbnN0IHNlc3Npb25TdGF0ZSA9IGZsdXguZ2V0U3RhdGUoJ3VzZXIuc2Vzc2lvbicsIHt9KTtcbiAgICByZXR1cm4gISFzZXNzaW9uU3RhdGUudXNlckFjdGl2ZTtcbiAgfSksIFtyZXNvbHZlZENvbmZpZy5pc0F1dGgsIGZsdXhdKTtcblxuICByZXR1cm4gKFxuICAgIDxNZXRyb3BvbGlzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYWRhcHRlcnM6IG1lcmdlZEFkYXB0ZXJzLFxuICAgICAgICBjb25maWc6IHJlc29sdmVkQ29uZmlnLFxuICAgICAgICBmbHV4LFxuICAgICAgICBpc0F1dGgsXG4gICAgICAgIG1lc3NhZ2VzLFxuICAgICAgICBub3RpZmljYXRpb25zOiBub3RpZmljYXRpb25MaXN0LFxuICAgICAgICBzZXNzaW9uLFxuICAgICAgICB1cGRhdGVNZXNzYWdlOiAoKSA9PiB7IH0sXG4gICAgICAgIHVwZGF0ZU5vdGlmaWNhdGlvbjogd2Vic29ja2V0cy5zZW5kTm90aWZpY2F0aW9uXG4gICAgICB9fT5cbiAgICAgIDxJMThuZXh0UHJvdmlkZXIgaTE4bj17aTE4bn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvSTE4bmV4dFByb3ZpZGVyPlxuICAgIDwvTWV0cm9wb2xpc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBNZXRyb3BvbGlzO1xuXG5leHBvcnQge3VzZVRyYW5zbGF0aW9ufSBmcm9tICdyZWFjdC1pMThuZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vYWRhcHRlcnMvaW5kZXguanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMvTWV0cm9wb2xpc0NvbnN0YW50cy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbWVzc2FnZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2dyYXBocWwvbm90aWZpY2F0aW9uLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmVzL2luZGV4LmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUFjdGlvbixcbiAgY3JlYXRlQWN0aW9ucyxcbiAgY3JlYXRlQWxsQWN0aW9uc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9hcHAuanMnO1xuZXhwb3J0IHtjcmVhdGVCYXNlQWN0aW9uc30gZnJvbSAnLi91dGlscy9iYXNlQWN0aW9uRmFjdG9yeS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2RhdGVVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2ZpbGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9sb2NhdGlvbi5qcyc7XG5leHBvcnQge1xuICB1c2VDb250ZW50QWN0aW9ucyxcbiAgdXNlQXdzUnVtLFxuICB1c2VDcm1BY3Rpb25zLFxuICB1c2VFdmVudEFjdGlvbnMsXG4gIHVzZUdyb3VwQWN0aW9ucyxcbiAgdXNlSW1hZ2VBY3Rpb25zLFxuICB1c2VMb2NhdGlvbkFjdGlvbnMsXG4gIHVzZU1lc3NhZ2VBY3Rpb25zLCB1c2VNZXRyb3BvbGlzLFxuICB1c2VNZXRyb3BvbGlzQ29uZmlnLFxuICB1c2VNZXRyb3BvbGlzRmx1eCwgdXNlUG9zdEFjdGlvbnMsXG4gIHVzZVBlcnNvbmFBY3Rpb25zLFxuICB1c2VSZWFjdGlvbkFjdGlvbnMsXG4gIHVzZVJlc3RBY3Rpb25zLFxuICB1c2VUYWdBY3Rpb25zLFxuICB1c2VUcmFuc2xhdGlvbkFjdGlvbnMsXG4gIHVzZVVzZXJBY3Rpb25zLFxuICB1c2VXZWJzb2NrZXRBY3Rpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlTWV0cm9wb2xpcy5qcyc7XG5leHBvcnQge3VzZUNvbnZlcnNhdGlvblR5cGluZ30gZnJvbSAnLi91dGlscy91c2VDb252ZXJzYXRpb25UeXBpbmcuanMnO1xuZXhwb3J0IHR5cGUge1xuICBDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zLFxuICBVc2VDb252ZXJzYXRpb25UeXBpbmdPcHRpb25zXG59IGZyb20gJy4vdXRpbHMvdXNlQ29udmVyc2F0aW9uVHlwaW5nLmpzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZVZhbGlkYXRvckZhY3RvcnksXG4gIGNyZWF0ZVZhbGlkYXRvck1hbmFnZXJcbn0gZnJvbSAnLi91dGlscy92YWxpZGF0b3JGYWN0b3J5LmpzJztcblxuZXhwb3J0IHR5cGUge1xuICBBY3Rpb25PcHRpb25zLFxuICBBY3Rpb25SZXR1cm5UeXBlLFxuICBBY3Rpb25UeXBlLFxuICBBY3Rpb25UeXBlc1xufSBmcm9tICcuL3V0aWxzL2FjdGlvbkZhY3RvcnkuanMnO1xuZXhwb3J0IHR5cGUge0Jhc2VBY3Rpb25PcHRpb25zfSBmcm9tICcuL3V0aWxzL2Jhc2VBY3Rpb25GYWN0b3J5LmpzJztcbmV4cG9ydCB0eXBlIHtCYXNlQWRhcHRlck9wdGlvbnN9IGZyb20gJy4vdXRpbHMvdmFsaWRhdG9yRmFjdG9yeS5qcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9hcHBBY3Rpb25zL2FwcEFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2F3c1J1bUFjdGlvbnMvYXdzUnVtQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY29ubmVjdGlvbkFjdGlvbnMvY29ubmVjdGlvbkFjdGlvbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpb25zL2NvbnZlcnNhdGlvbkFjdGlvbnMvY29udmVyc2F0aW9uQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvY3JtQWN0aW9ucy9jcm1BY3Rpb25zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aW9ucy9yZXN0QWN0aW9ucy9yZXN0QWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cy9Db2xsZWN0aW9ucy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3R5cGVzL2luZGV4LmpzJztcbiJdLCJuYW1lcyI6WyJ1c2VGbHV4IiwidXNlRmx1eFN0YXRlIiwiaTE4biIsIkRhdGVUaW1lIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsIkkxOG5leHRQcm92aWRlciIsInN5bmNQZXJzb25hVGFnc1RvU2Vzc2lvbiIsInN5bmNQZXJzb25hVG9TZXNzaW9uIiwicmVzb2x2ZUVudmlyb25tZW50Q29uZmlnIiwiYXBwIiwiZXZlbnRzIiwiaW1hZ2VzIiwibG9jYXRpb25zIiwibWVzc2FnZXMiLCJub3RpZmljYXRpb25zIiwiTk9USUZJQ0FUSU9OX0NPTlNUQU5UUyIsInBlcm1pc3Npb25zIiwiUEVSU09OQV9DT05TVEFOVFMiLCJwb3N0cyIsInN1YnNjcmlwdGlvbnMiLCJUQUdfQ09OU1RBTlRTIiwidGFncyIsIlVTRVJfQ09OU1RBTlRTIiwidXNlcnMiLCJ2aWRlbyIsIndlYnNvY2tldCIsInJlZnJlc2hTZXNzaW9uIiwiZ2V0Q29uZmlnRnJvbUZsdXgiLCJpbml0STE4biIsIk1ldHJvcG9saXNDb250ZXh0IiwiZ2V0UmVmcmVzaFdpbmRvd01pbnV0ZXMiLCJoeWRyYXRlU2Vzc2lvbkZyb21TdG9yYWdlIiwicGFyc2VKd3RFeHBpcnlNcyIsImNyZWF0ZUFjdGlvbiIsIkdPVEhBTV9BTkFMWVRJQ1NfRVZFTlQiLCJvbkluaXQiLCJmbHV4IiwiZ2V0U3RhdGUiLCJhZGRTdG9yZXMiLCJvbiIsIlNJR05fT1VUX1NVQ0NFU1MiLCJkaXNwYXRjaCIsInR5cGUiLCJDTEVBUl9JVEVNUyIsIkFERF9JVEVNX1NVQ0NFU1MiLCJwZXJzb25hIiwicGVyc29uYUlkIiwiQXJyYXkiLCJpc0FycmF5IiwiU3RyaW5nIiwiVVBEQVRFX0lURU1fU1VDQ0VTUyIsIkFERF9QRVJTT05BX1NVQ0NFU1MiLCJ0YWciLCJjdXJyZW50U2Vzc2lvbiIsImN1cnJlbnRUYWdzIiwibmV4dFRhZ0lkIiwidGFnSWQiLCJ0cmltIiwibWVyZ2VkVGFncyIsImZpbHRlciIsIml0ZW0iLCJzb3J0IiwibGVmdCIsInJpZ2h0IiwibmFtZSIsImxvY2FsZUNvbXBhcmUiLCJuZXh0U2Vzc2lvbiIsInNldFN0YXRlIiwiVVBEQVRFX1NFU1NJT05fU1VDQ0VTUyIsInVzZXIiLCJSRU1PVkVfUEVSU09OQV9TVUNDRVNTIiwibmV4dFRhZ3MiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRva2VuIiwic2Vzc2lvbiIsImNvbmZpZyIsInRva2VuRXhwaXJlc0F0Iiwic2Vzc2lvbkxpZmV0aW1lTWludXRlcyIsIk1hdGgiLCJyb3VuZCIsIk51bWJlciIsImV4cGlyZXMiLCJpc3N1ZWQiLCJyZWZyZXNoV2luZG93TWludXRlcyIsInJlZnJlc2hFeHBpcmVzTWludXRlcyIsIm1heCIsIm1heE1pbnV0ZXMiLCJleHBpcmVzQXQiLCJEYXRlIiwibm93IiwibWludXRlc1VudGlsRXhwaXJ5IiwiZnJvbU1pbGxpcyIsImRpZmYiLCJsb2NhbCIsInRvT2JqZWN0IiwibWludXRlcyIsImFwcE11dGF0aW9uIiwiYXBwUXVlcnkiLCJwdWJsaWNNdXRhdGlvbiIsInB1YmxpY1F1ZXJ5IiwicnVtTXV0YXRpb24iLCJydW1SZXF1ZXN0IiwicmVzb2x2ZVJlc3RFbmRwb2ludCIsInJlc3RSZXF1ZXN0IiwidXBsb2FkSW1hZ2UiLCJNZXRyb3BvbGlzIiwiYWRhcHRlcnMiLCJjaGlsZHJlbiIsInRyYW5zbGF0aW9ucyIsInJlc29sdmVkQ29uZmlnIiwibWVyZ2VkQWRhcHRlcnMiLCJydW1PcHRpb25zIiwicnVtIiwiYW5hbHl0aWNzSWQiLCJzZXNzaW9uUGVyc29uYUlkIiwic2Vzc2lvblRva2VuIiwic2Vzc2lvbkh5ZHJhdGVkIiwiQm9vbGVhbiIsIm5vdGlmaWNhdGlvbkxpc3QiLCJjb252ZXJzYXRpb25NYXAiLCJPYmplY3QiLCJ2YWx1ZXMiLCJmbGF0Iiwid2Vic29ja2V0c1JlZiIsImN1cnJlbnQiLCJ3ZWJzb2NrZXRzIiwiYXdzUnVtIiwiZ2xvYmFsVGhpcyIsIndpbmRvdyIsIm9uR290aGFtQW5hbHl0aWNzIiwiZXZlbnQiLCJkZXRhaWwiLCJ0cmFjayIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiZGVzdHJveSIsImlzQWN0aXZlIiwid3NDbG9zZSIsIndzSW5pdCIsImlzQXV0aCIsInNlc3Npb25TdGF0ZSIsInVzZXJBY3RpdmUiLCJQcm92aWRlciIsInZhbHVlIiwidXBkYXRlTWVzc2FnZSIsInVwZGF0ZU5vdGlmaWNhdGlvbiIsInNlbmROb3RpZmljYXRpb24iLCJ1c2VUcmFuc2xhdGlvbiIsImNyZWF0ZUFjdGlvbnMiLCJjcmVhdGVBbGxBY3Rpb25zIiwiY3JlYXRlQmFzZUFjdGlvbnMiLCJ1c2VDb250ZW50QWN0aW9ucyIsInVzZUF3c1J1bSIsInVzZUNybUFjdGlvbnMiLCJ1c2VFdmVudEFjdGlvbnMiLCJ1c2VHcm91cEFjdGlvbnMiLCJ1c2VJbWFnZUFjdGlvbnMiLCJ1c2VMb2NhdGlvbkFjdGlvbnMiLCJ1c2VNZXNzYWdlQWN0aW9ucyIsInVzZU1ldHJvcG9saXMiLCJ1c2VNZXRyb3BvbGlzQ29uZmlnIiwidXNlTWV0cm9wb2xpc0ZsdXgiLCJ1c2VQb3N0QWN0aW9ucyIsInVzZVBlcnNvbmFBY3Rpb25zIiwidXNlUmVhY3Rpb25BY3Rpb25zIiwidXNlUmVzdEFjdGlvbnMiLCJ1c2VUYWdBY3Rpb25zIiwidXNlVHJhbnNsYXRpb25BY3Rpb25zIiwidXNlVXNlckFjdGlvbnMiLCJ1c2VXZWJzb2NrZXRBY3Rpb25zIiwidXNlQ29udmVyc2F0aW9uVHlwaW5nIiwiY3JlYXRlVmFsaWRhdG9yRmFjdG9yeSIsImNyZWF0ZVZhbGlkYXRvck1hbmFnZXIiXSwibWFwcGluZ3MiOiI7QUFBQTs7O0NBR0MsR0FDRCxTQUFRQSxPQUFPLEVBQUVDLFlBQVksUUFBTyw4QkFBOEI7QUFDbEUsT0FBT0MsVUFBVSxVQUFVO0FBQzNCLFNBQVFDLFFBQVEsUUFBTyxRQUFRO0FBQy9CLFNBQVFDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLFFBQU8sUUFBUTtBQUNqRCxTQUFRQyxlQUFlLFFBQU8sZ0JBQWdCO0FBSTlDLFNBQVFDLHdCQUF3QixFQUFFQyxvQkFBb0IsUUFBTyw2Q0FBNkM7QUFDMUcsU0FBUUMsd0JBQXdCLFFBQU8sb0JBQW9CO0FBQzNELFNBQ0VDLEdBQUcsRUFDSEMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsUUFBUSxFQUNSQyxhQUFhLEVBQ2JDLHNCQUFzQixFQUN0QkMsV0FBVyxFQUNYQyxpQkFBaUIsRUFDakJDLEtBQUssRUFDTEMsYUFBYSxFQUNiQyxhQUFhLEVBQ2JDLElBQUksRUFDSkMsY0FB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
|
|
@@ -32,20 +32,10 @@ export interface MetropolisAdapters {
|
|
|
32
32
|
readonly User?: typeof parseUser;
|
|
33
33
|
readonly Video?: typeof parseVideo;
|
|
34
34
|
}
|
|
35
|
-
export interface MetropolisProviderProps {
|
|
36
|
-
readonly children?: React.ReactElement | React.ReactElement[];
|
|
37
|
-
readonly adapters?: MetropolisAdapters;
|
|
38
|
-
readonly isAuth?: () => boolean;
|
|
39
|
-
readonly messages?: MessageType[];
|
|
40
|
-
readonly notifications?: NotificationType[];
|
|
41
|
-
readonly session?: SessionType;
|
|
42
|
-
readonly updateMessage: (message: MessageType) => void;
|
|
43
|
-
readonly updateNotification: (notification: NotificationType) => void;
|
|
44
|
-
}
|
|
45
35
|
export interface MetropolisContextValue {
|
|
46
|
-
readonly adapters
|
|
47
|
-
readonly config
|
|
48
|
-
readonly flux
|
|
36
|
+
readonly adapters: MetropolisAdapters;
|
|
37
|
+
readonly config: MetropolisEnvironmentConfiguration;
|
|
38
|
+
readonly flux: FluxFramework;
|
|
49
39
|
readonly isAuth: () => boolean;
|
|
50
40
|
readonly messages: MessageType[];
|
|
51
41
|
readonly notifications: NotificationType[];
|
|
@@ -54,4 +44,3 @@ export interface MetropolisContextValue {
|
|
|
54
44
|
readonly updateNotification: (notification: NotificationType) => void;
|
|
55
45
|
}
|
|
56
46
|
export declare const MetropolisContext: import("react").Context<MetropolisContextValue>;
|
|
57
|
-
export declare const MetropolisProvider: ({ adapters, children, isAuth, messages, notifications, session, updateMessage, updateNotification }: MetropolisProviderProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2021-Present, Nitrogen Labs, Inc.
|
|
3
|
+
* Copyrights licensed under the MIT License. See the accompanying LICENSE file for terms.
|
|
4
|
+
*/ import { createContext } from 'react';
|
|
5
|
+
export const MetropolisContext = createContext(undefined);
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvTWV0cm9wb2xpc0NvbnRleHQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEtUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Y3JlYXRlQ29udGV4dH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQge3BhcnNlQ29udGVudH0gZnJvbSAnLi4vYWRhcHRlcnMvY29udGVudEFkYXB0ZXIvY29udGVudEFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZUV2ZW50fSBmcm9tICcuLi9hZGFwdGVycy9ldmVudEFkYXB0ZXIvZXZlbnRBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VJbWFnZX0gZnJvbSAnLi4vYWRhcHRlcnMvaW1hZ2VBZGFwdGVyL2ltYWdlQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlTG9jYXRpb259IGZyb20gJy4uL2FkYXB0ZXJzL2xvY2F0aW9uQWRhcHRlci9sb2NhdGlvbkFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZU1lc3NhZ2V9IGZyb20gJy4uL2FkYXB0ZXJzL21lc3NhZ2VBZGFwdGVyL21lc3NhZ2VBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VQZXJtaXNzaW9ufSBmcm9tICcuLi9hZGFwdGVycy9wZXJtaXNzaW9uQWRhcHRlci9wZXJtaXNzaW9uQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlUGVyc29uYX0gZnJvbSAnLi4vYWRhcHRlcnMvcGVyc29uYUFkYXB0ZXIvcGVyc29uYUFkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVBvc3R9IGZyb20gJy4uL2FkYXB0ZXJzL3Bvc3RBZGFwdGVyL3Bvc3RBZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VSZWFjdGlvbn0gZnJvbSAnLi4vYWRhcHRlcnMvcmVhY3Rpb25BZGFwdGVyL3JlYWN0aW9uQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlVGFnfSBmcm9tICcuLi9hZGFwdGVycy90YWdBZGFwdGVyL3RhZ0FkYXB0ZXIuanMnO1xuaW1wb3J0IHtwYXJzZVRyYW5zbGF0aW9ufSBmcm9tICcuLi9hZGFwdGVycy90cmFuc2xhdGlvbkFkYXB0ZXIvdHJhbnNsYXRpb25BZGFwdGVyLmpzJztcbmltcG9ydCB7cGFyc2VVc2VyfSBmcm9tICcuLi9hZGFwdGVycy91c2VyQWRhcHRlci91c2VyQWRhcHRlci5qcyc7XG5pbXBvcnQge3BhcnNlVmlkZW99IGZyb20gJy4uL2FkYXB0ZXJzL3ZpZGVvQWRhcHRlci92aWRlb0FkYXB0ZXIuanMnO1xuXG5pbXBvcnQgdHlwZSB7Rmx1eEZyYW1ld29ya30gZnJvbSAnQG5sYWJzL2Fya2hhbWpzJztcbmltcG9ydCB0eXBlIHtNZXNzYWdlVHlwZX0gZnJvbSAnLi4vYWRhcHRlcnMvaW5kZXguanMnO1xuaW1wb3J0IHR5cGUge01ldHJvcG9saXNFbnZpcm9ubWVudENvbmZpZ3VyYXRpb259IGZyb20gJy4uL2NvbmZpZy9pbmRleC5qcyc7XG5pbXBvcnQgdHlwZSB7Tm90aWZpY2F0aW9uVHlwZX0gZnJvbSAnLi4vc3RvcmVzL25vdGlmaWNhdGlvblN0b3JlLmpzJztcbmltcG9ydCB0eXBlIHtTZXNzaW9uVHlwZX0gZnJvbSAnLi9hcGkuanMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1ldHJvcG9saXNBZGFwdGVycyB7XG4gIHJlYWRvbmx5IENvbnRlbnQ/OiB0eXBlb2YgcGFyc2VDb250ZW50O1xuICByZWFkb25seSBFdmVudD86IHR5cGVvZiBwYXJzZUV2ZW50O1xuICByZWFkb25seSBJbWFnZT86IHR5cGVvZiBwYXJzZUltYWdlO1xuICByZWFkb25seSBMb2NhdGlvbj86IHR5cGVvZiBwYXJzZUxvY2F0aW9uO1xuICByZWFkb25seSBNZXNzYWdlPzogdHlwZW9mIHBhcnNlTWVzc2FnZTtcbiAgcmVhZG9ubHkgUGVybWlzc2lvbj86IHR5cGVvZiBwYXJzZVBlcm1pc3Npb247XG4gIHJlYWRvbmx5IFBvc3Q/OiB0eXBlb2YgcGFyc2VQb3N0O1xuICByZWFkb25seSBQZXJzb25hPzogdHlwZW9mIHBhcnNlUGVyc29uYTtcbiAgcmVhZG9ubHkgUmVhY3Rpb24/OiB0eXBlb2YgcGFyc2VSZWFjdGlvbjtcbiAgcmVhZG9ubHkgU3Vic2NyaXB0aW9uPzogdHlwZW9mIHBhcnNlVXNlcjtcbiAgcmVhZG9ubHkgVGFnPzogdHlwZW9mIHBhcnNlVGFnO1xuICByZWFkb25seSBUcmFuc2xhdGlvbj86IHR5cGVvZiBwYXJzZVRyYW5zbGF0aW9uO1xuICByZWFkb25seSBVc2VyPzogdHlwZW9mIHBhcnNlVXNlcjtcbiAgcmVhZG9ubHkgVmlkZW8/OiB0eXBlb2YgcGFyc2VWaWRlbztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXRyb3BvbGlzQ29udGV4dFZhbHVlIHtcbiAgcmVhZG9ubHkgYWRhcHRlcnM6IE1ldHJvcG9saXNBZGFwdGVycztcbiAgcmVhZG9ubHkgY29uZmlnOiBNZXRyb3BvbGlzRW52aXJvbm1lbnRDb25maWd1cmF0aW9uO1xuICByZWFkb25seSBmbHV4OiBGbHV4RnJhbWV3b3JrO1xuICByZWFkb25seSBpc0F1dGg6ICgpID0+IGJvb2xlYW47XG4gIHJlYWRvbmx5IG1lc3NhZ2VzOiBNZXNzYWdlVHlwZVtdO1xuICByZWFkb25seSBub3RpZmljYXRpb25zOiBOb3RpZmljYXRpb25UeXBlW107XG4gIHJlYWRvbmx5IHNlc3Npb246IFNlc3Npb25UeXBlO1xuICByZWFkb25seSB1cGRhdGVNZXNzYWdlOiAobWVzc2FnZTogTWVzc2FnZVR5cGUpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IHVwZGF0ZU5vdGlmaWNhdGlvbjogKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uVHlwZSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IE1ldHJvcG9saXNDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxNZXRyb3BvbGlzQ29udGV4dFZhbHVlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuIl0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJNZXRyb3BvbGlzQ29udGV4dCIsInVuZGVmaW5lZCJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsYUFBYSxRQUFPLFFBQVE7QUFtRHBDLE9BQU8sTUFBTUMsb0JBQW9CRCxjQUFrREUsV0FBVyJ9
|
|
@@ -24,7 +24,7 @@ import { createWebsocketActions } from '../actions/websocketActions/websocketAct
|
|
|
24
24
|
const awsRumActionCache = new WeakMap();
|
|
25
25
|
const websocketActionCache = new WeakMap();
|
|
26
26
|
const createAwsRumOptionsKey = (options = {})=>JSON.stringify({
|
|
27
|
-
|
|
27
|
+
analyticsId: options.analyticsId,
|
|
28
28
|
debounceMs: options.debounceMs,
|
|
29
29
|
dedupeMs: options.dedupeMs,
|
|
30
30
|
enabled: options.enabled,
|
|
@@ -129,4 +129,4 @@ export const createAllActions = (flux, options)=>{
|
|
|
129
129
|
return createActions(allActionTypes, flux, options);
|
|
130
130
|
};
|
|
131
131
|
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvYWN0aW9uRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVDb250ZW50QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jb250ZW50QWN0aW9ucy9jb250ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUF3c1J1bUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvYXdzUnVtQWN0aW9ucy9hd3NSdW1BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlQ3JtQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jcm1BY3Rpb25zL2NybUFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVFdmVudEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvZXZlbnRBY3Rpb25zL2V2ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUdyb3VwQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9ncm91cEFjdGlvbnMvZ3JvdXBBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlSW1hZ2VBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL2ltYWdlQWN0aW9ucy9pbWFnZUFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVMb2NhdGlvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvbG9jYXRpb25BY3Rpb25zL2xvY2F0aW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZU1lc3NhZ2VBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL21lc3NhZ2VBY3Rpb25zL21lc3NhZ2VBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUGVybWlzc2lvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbkFjdGlvbnMvcGVybWlzc2lvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVQb3N0QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wb3N0QWN0aW9ucy9wb3N0QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVBlcnNvbmFBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3BlcnNvbmFBY3Rpb25zL3BlcnNvbmFBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUmVhY3Rpb25BY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3JlYWN0aW9uQWN0aW9ucy9yZWFjdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVSZXN0QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9yZXN0QWN0aW9ucy9yZXN0QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNTRUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvc3NlQWN0aW9ucy9zc2VBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Vic2NyaXB0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9zdWJzY3JpcHRpb25BY3Rpb25zL3N1YnNjcmlwdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVUYWdBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RhZ0FjdGlvbnMvdGFnQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVRyYW5zbGF0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlVXNlckFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdXNlckFjdGlvbnMvdXNlckFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVWaWRlb0FjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvd2Vic29ja2V0QWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zLmpzJztcblxuaW1wb3J0IHR5cGUge0ZsdXhGcmFtZXdvcmt9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQgdHlwZSB7Q29udGVudEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2NvbnRlbnRBY3Rpb25zL2NvbnRlbnRBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtBd3NSdW1BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0NybUFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2NybUFjdGlvbnMvY3JtQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7RXZlbnRBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9ldmVudEFjdGlvbnMvZXZlbnRBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtHcm91cEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2dyb3VwQWN0aW9ucy9ncm91cEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0ltYWdlQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvaW1hZ2VBY3Rpb25zL2ltYWdlQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7TG9jYXRpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9sb2NhdGlvbkFjdGlvbnMvbG9jYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtNZXNzYWdlQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvbWVzc2FnZUFjdGlvbnMvbWVzc2FnZUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1Blcm1pc3Npb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wZXJtaXNzaW9uQWN0aW9ucy9wZXJtaXNzaW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UG9zdEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpb25zL3Bvc3RBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtQZXJzb25hQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1JlYWN0aW9uQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcmVhY3Rpb25BY3Rpb25zL3JlYWN0aW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UmVzdEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Jlc3RBY3Rpb25zL3Jlc3RBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtTU0VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9zc2VBY3Rpb25zL3NzZUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1RhZ0FjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RhZ0FjdGlvbnMvdGFnQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7VHJhbnNsYXRpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtVc2VyQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdXNlckFjdGlvbnMvdXNlckFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1ZpZGVvQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5cbmNvbnN0IGF3c1J1bUFjdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8Rmx1eEZyYW1ld29yaywge1xuICByZWFkb25seSBhY3Rpb25zOiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVBd3NSdW1BY3Rpb25zPjtcbiAgcmVhZG9ubHkgb3B0aW9uc0tleTogc3RyaW5nO1xufT4oKTtcbmNvbnN0IHdlYnNvY2tldEFjdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8Rmx1eEZyYW1ld29yaywgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4+KCk7XG5cbmNvbnN0IGNyZWF0ZUF3c1J1bU9wdGlvbnNLZXkgPSAob3B0aW9uczogQXdzUnVtQWN0aW9uc09wdGlvbnMgPSB7fSk6IHN0cmluZyA9PiBKU09OLnN0cmluZ2lmeSh7XG4gIGFwcElkOiBvcHRpb25zLmFwcElkLFxuICBkZWJvdW5jZU1zOiBvcHRpb25zLmRlYm91bmNlTXMsXG4gIGRlZHVwZU1zOiBvcHRpb25zLmRlZHVwZU1zLFxuICBlbmFibGVkOiBvcHRpb25zLmVuYWJsZWQsXG4gIHJlc3BlY3RQcml2YWN5U2lnbmFsczogb3B0aW9ucy5yZXNwZWN0UHJpdmFjeVNpZ25hbHMsXG4gIHRocm90dGxlTXM6IG9wdGlvbnMudGhyb3R0bGVNc1xufSk7XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGUgPVxuICB8ICdhd3NSdW0nXG4gIHwgJ2NvbnRlbnQnXG4gIHwgJ2NybSdcbiAgfCAnZXZlbnQnXG4gIHwgJ2dyb3VwJ1xuICB8ICdpbWFnZSdcbiAgfCAnbG9jYXRpb24nXG4gIHwgJ21lc3NhZ2UnXG4gIHwgJ3Blcm1pc3Npb24nXG4gIHwgJ3Bvc3QnXG4gIHwgJ3BlcnNvbmEnXG4gIHwgJ3JlYWN0aW9uJ1xuICB8ICdyZXN0J1xuICB8ICdzc2UnXG4gIHwgJ3N1YnNjcmlwdGlvbidcbiAgfCAndGFnJ1xuICB8ICd0cmFuc2xhdGlvbidcbiAgfCAndXNlcidcbiAgfCAndmlkZW8nXG4gIHwgJ3dlYnNvY2tldCc7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk9wdGlvbnMgPVxuICB8IEF3c1J1bUFjdGlvbnNPcHRpb25zXG4gIHwgQ29udGVudEFjdGlvbnNPcHRpb25zXG4gIHwgQ3JtQWN0aW9uc09wdGlvbnNcbiAgfCBFdmVudEFjdGlvbnNPcHRpb25zXG4gIHwgR3JvdXBBY3Rpb25zT3B0aW9uc1xuICB8IEltYWdlQWN0aW9uc09wdGlvbnNcbiAgfCBMb2NhdGlvbkFjdGlvbnNPcHRpb25zXG4gIHwgTWVzc2FnZUFjdGlvbnNPcHRpb25zXG4gIHwgUGVybWlzc2lvbkFjdGlvbnNPcHRpb25zXG4gIHwgUG9zdEFjdGlvbnNPcHRpb25zXG4gIHwgUGVyc29uYUFjdGlvbnNPcHRpb25zXG4gIHwgUmVhY3Rpb25BY3Rpb25zT3B0aW9uc1xuICB8IFJlc3RBY3Rpb25zT3B0aW9uc1xuICB8IFNTRUFjdGlvbnNPcHRpb25zXG4gIHwgVGFnQWN0aW9uc09wdGlvbnNcbiAgfCBUcmFuc2xhdGlvbkFjdGlvbnNPcHRpb25zXG4gIHwgVXNlckFjdGlvbnNPcHRpb25zXG4gIHwgVmlkZW9BY3Rpb25zT3B0aW9uc1xuICB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjdGlvbiA9IDxUIGV4dGVuZHMgQWN0aW9uVHlwZT4oXG4gIGFjdGlvblR5cGU6IFQsXG4gIGZsdXg6IEZsdXhGcmFtZXdvcmssXG4gIG9wdGlvbnM/OiBBY3Rpb25PcHRpb25zXG4pID0+IHtcbiAgc3dpdGNoKGFjdGlvblR5cGUpIHtcbiAgICBjYXNlICdhd3NSdW0nOiB7XG4gICAgICBjb25zdCBhd3NSdW1PcHRpb25zID0gb3B0aW9ucyBhcyBBd3NSdW1BY3Rpb25zT3B0aW9ucztcbiAgICAgIGNvbnN0IG9wdGlvbnNLZXkgPSBjcmVhdGVBd3NSdW1PcHRpb25zS2V5KGF3c1J1bU9wdGlvbnMpO1xuICAgICAgY29uc3QgY2FjaGVkID0gYXdzUnVtQWN0aW9uQ2FjaGUuZ2V0KGZsdXgpO1xuXG4gICAgICBpZighY2FjaGVkIHx8IGNhY2hlZC5vcHRpb25zS2V5ICE9PSBvcHRpb25zS2V5KSB7XG4gICAgICAgIGlmKGNhY2hlZCkge1xuICAgICAgICAgIHZvaWQgY2FjaGVkLmFjdGlvbnMuZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IGNyZWF0ZUF3c1J1bUFjdGlvbnMoZmx1eCwgYXdzUnVtT3B0aW9ucyk7XG4gICAgICAgIGF3c1J1bUFjdGlvbkNhY2hlLnNldChmbHV4LCB7YWN0aW9ucywgb3B0aW9uc0tleX0pO1xuICAgICAgICByZXR1cm4gYWN0aW9ucztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhY2hlZC5hY3Rpb25zO1xuICAgIH1cblxuICAgIGNhc2UgJ2NvbnRlbnQnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUNvbnRlbnRBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgQ29udGVudEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2NybSc6XG4gICAgICByZXR1cm4gY3JlYXRlQ3JtQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIENybUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2V2ZW50JzpcbiAgICAgIHJldHVybiBjcmVhdGVFdmVudEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBFdmVudEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgIHJldHVybiBjcmVhdGVHcm91cEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBHcm91cEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgIHJldHVybiBjcmVhdGVJbWFnZUFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBJbWFnZUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2xvY2F0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVMb2NhdGlvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBMb2NhdGlvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ21lc3NhZ2UnOlxuICAgICAgcmV0dXJuIGNyZWF0ZU1lc3NhZ2VBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgTWVzc2FnZUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3Blcm1pc3Npb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVBlcm1pc3Npb25BY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUGVybWlzc2lvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3Bvc3QnOlxuICAgICAgcmV0dXJuIGNyZWF0ZVBvc3RBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUG9zdEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3BlcnNvbmEnOlxuICAgICAgcmV0dXJuIGNyZWF0ZVBlcnNvbmFBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUGVyc29uYUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3JlYWN0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVSZWFjdGlvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBSZWFjdGlvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3Jlc3QnOlxuICAgICAgcmV0dXJuIGNyZWF0ZVJlc3RBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUmVzdEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3NzZSc6XG4gICAgICByZXR1cm4gY3JlYXRlU1NFQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFNTRUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3N1YnNjcmlwdGlvbic6XG4gICAgICByZXR1cm4gY3JlYXRlU3Vic2NyaXB0aW9uQWN0aW9ucyhmbHV4KTtcblxuICAgIGNhc2UgJ3RhZyc6XG4gICAgICByZXR1cm4gY3JlYXRlVGFnQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFRhZ0FjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3RyYW5zbGF0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVUcmFuc2xhdGlvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBUcmFuc2xhdGlvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIGNyZWF0ZVVzZXJBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgVXNlckFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3ZpZGVvJzpcbiAgICAgIHJldHVybiBjcmVhdGVWaWRlb0FjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBWaWRlb0FjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3dlYnNvY2tldCc6XG4gICAgICBpZighd2Vic29ja2V0QWN0aW9uQ2FjaGUuaGFzKGZsdXgpKSB7XG4gICAgICAgIHdlYnNvY2tldEFjdGlvbkNhY2hlLnNldChmbHV4LCBjcmVhdGVXZWJzb2NrZXRBY3Rpb25zKGZsdXgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHdlYnNvY2tldEFjdGlvbkNhY2hlLmdldChmbHV4KSBhcyBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVXZWJzb2NrZXRBY3Rpb25zPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uIHR5cGU6ICR7YWN0aW9uVHlwZX1gKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjdGlvbnMgPSAoXG4gIGFjdGlvblR5cGVzOiBBY3Rpb25UeXBlW10sXG4gIGZsdXg6IEZsdXhGcmFtZXdvcmssXG4gIG9wdGlvbnM/OiBQYXJ0aWFsPFJlY29yZDxBY3Rpb25UeXBlLCBBY3Rpb25PcHRpb25zPj5cbik6IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvblJldHVyblR5cGU8QWN0aW9uVHlwZT4+PiA9PiB7XG4gIGNvbnN0IGFjdGlvbnM6IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvblJldHVyblR5cGU8QWN0aW9uVHlwZT4+PiA9IHt9O1xuXG4gIGFjdGlvblR5cGVzLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICBhY3Rpb25zW3R5cGVdID0gY3JlYXRlQWN0aW9uKHR5cGUsIGZsdXgsIG9wdGlvbnM/Llt0eXBlXSkgYXMgQWN0aW9uUmV0dXJuVHlwZTxBY3Rpb25UeXBlPjtcbiAgfSk7XG5cbiAgcmV0dXJuIGFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQWxsQWN0aW9ucyA9IChcbiAgZmx1eDogRmx1eEZyYW1ld29yayxcbiAgb3B0aW9ucz86IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvbk9wdGlvbnM+PlxuKSA9PiB7XG4gIGNvbnN0IGFsbEFjdGlvblR5cGVzOiBBY3Rpb25UeXBlW10gPSBbXG4gICAgJ2F3c1J1bScsXG4gICAgJ2NvbnRlbnQnLFxuICAgICdjcm0nLFxuICAgICdldmVudCcsXG4gICAgJ2dyb3VwJyxcbiAgICAnaW1hZ2UnLFxuICAgICdsb2NhdGlvbicsXG4gICAgJ21lc3NhZ2UnLFxuICAgICdwZXJtaXNzaW9uJyxcbiAgICAncG9zdCcsXG4gICAgJ3BlcnNvbmEnLFxuICAgICdyZWFjdGlvbicsXG4gICAgJ3Jlc3QnLFxuICAgICdzc2UnLFxuICAgICdzdWJzY3JpcHRpb24nLFxuICAgICd0YWcnLFxuICAgICd0cmFuc2xhdGlvbicsXG4gICAgJ3VzZXInLFxuICAgICd2aWRlbycsXG4gICAgJ3dlYnNvY2tldCdcbiAgXTtcblxuICByZXR1cm4gY3JlYXRlQWN0aW9ucyhhbGxBY3Rpb25UeXBlcywgZmx1eCwgb3B0aW9ucyk7XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUFsbEFjdGlvbnM+O1xuZXhwb3J0IHR5cGUgQWN0aW9uUmV0dXJuVHlwZTxUIGV4dGVuZHMgQWN0aW9uVHlwZT4gPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVBY3Rpb248VD4+O1xuIl0sIm5hbWVzIjpbImNyZWF0ZUNvbnRlbnRBY3Rpb25zIiwiY3JlYXRlQXdzUnVtQWN0aW9ucyIsImNyZWF0ZUNybUFjdGlvbnMiLCJjcmVhdGVFdmVudEFjdGlvbnMiLCJjcmVhdGVHcm91cEFjdGlvbnMiLCJjcmVhdGVJbWFnZUFjdGlvbnMiLCJjcmVhdGVMb2NhdGlvbkFjdGlvbnMiLCJjcmVhdGVNZXNzYWdlQWN0aW9ucyIsImNyZWF0ZVBlcm1pc3Npb25BY3Rpb25zIiwiY3JlYXRlUG9zdEFjdGlvbnMiLCJjcmVhdGVQZXJzb25hQWN0aW9ucyIsImNyZWF0ZVJlYWN0aW9uQWN0aW9ucyIsImNyZWF0ZVJlc3RBY3Rpb25zIiwiY3JlYXRlU1NFQWN0aW9ucyIsImNyZWF0ZVN1YnNjcmlwdGlvbkFjdGlvbnMiLCJjcmVhdGVUYWdBY3Rpb25zIiwiY3JlYXRlVHJhbnNsYXRpb25BY3Rpb25zIiwiY3JlYXRlVXNlckFjdGlvbnMiLCJjcmVhdGVWaWRlb0FjdGlvbnMiLCJjcmVhdGVXZWJzb2NrZXRBY3Rpb25zIiwiYXdzUnVtQWN0aW9uQ2FjaGUiLCJXZWFrTWFwIiwid2Vic29ja2V0QWN0aW9uQ2FjaGUiLCJjcmVhdGVBd3NSdW1PcHRpb25zS2V5Iiwib3B0aW9ucyIsIkpTT04iLCJzdHJpbmdpZnkiLCJhcHBJZCIsImRlYm91bmNlTXMiLCJkZWR1cGVNcyIsImVuYWJsZWQiLCJyZXNwZWN0UHJpdmFjeVNpZ25hbHMiLCJ0aHJvdHRsZU1zIiwiY3JlYXRlQWN0aW9uIiwiYWN0aW9uVHlwZSIsImZsdXgiLCJhd3NSdW1PcHRpb25zIiwib3B0aW9uc0tleSIsImNhY2hlZCIsImdldCIsImFjdGlvbnMiLCJkZXN0cm95Iiwic2V0IiwiaGFzIiwiRXJyb3IiLCJjcmVhdGVBY3Rpb25zIiwiYWN0aW9uVHlwZXMiLCJmb3JFYWNoIiwidHlwZSIsImNyZWF0ZUFsbEFjdGlvbnMiLCJhbGxBY3Rpb25UeXBlcyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsb0JBQW9CLFFBQU8sOENBQThDO0FBQ2pGLFNBQVFDLG1CQUFtQixRQUFPLDRDQUE0QztBQUM5RSxTQUFRQyxnQkFBZ0IsUUFBTyxzQ0FBc0M7QUFDckUsU0FBUUMsa0JBQWtCLFFBQU8sMENBQTBDO0FBQzNFLFNBQVFDLGtCQUFrQixRQUFPLDBDQUEwQztBQUMzRSxTQUFRQyxrQkFBa0IsUUFBTywwQ0FBMEM7QUFDM0UsU0FBUUMscUJBQXFCLFFBQU8sZ0RBQWdEO0FBQ3BGLFNBQVFDLG9CQUFvQixRQUFPLDhDQUE4QztBQUNqRixTQUFRQyx1QkFBdUIsUUFBTyxv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
|
|
132
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L21ldHJvcG9saXNqcy9zcmMvdXRpbHMvYWN0aW9uRmFjdG9yeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtjcmVhdGVDb250ZW50QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jb250ZW50QWN0aW9ucy9jb250ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUF3c1J1bUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvYXdzUnVtQWN0aW9ucy9hd3NSdW1BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlQ3JtQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9jcm1BY3Rpb25zL2NybUFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVFdmVudEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvZXZlbnRBY3Rpb25zL2V2ZW50QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZUdyb3VwQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9ncm91cEFjdGlvbnMvZ3JvdXBBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlSW1hZ2VBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL2ltYWdlQWN0aW9ucy9pbWFnZUFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVMb2NhdGlvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvbG9jYXRpb25BY3Rpb25zL2xvY2F0aW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZU1lc3NhZ2VBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL21lc3NhZ2VBY3Rpb25zL21lc3NhZ2VBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUGVybWlzc2lvbkFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcGVybWlzc2lvbkFjdGlvbnMvcGVybWlzc2lvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVQb3N0QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wb3N0QWN0aW9ucy9wb3N0QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVBlcnNvbmFBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3BlcnNvbmFBY3Rpb25zL3BlcnNvbmFBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlUmVhY3Rpb25BY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3JlYWN0aW9uQWN0aW9ucy9yZWFjdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVSZXN0QWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9yZXN0QWN0aW9ucy9yZXN0QWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVNTRUFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvc3NlQWN0aW9ucy9zc2VBY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlU3Vic2NyaXB0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9zdWJzY3JpcHRpb25BY3Rpb25zL3N1YnNjcmlwdGlvbkFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVUYWdBY3Rpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RhZ0FjdGlvbnMvdGFnQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVRyYW5zbGF0aW9uQWN0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB7Y3JlYXRlVXNlckFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdXNlckFjdGlvbnMvdXNlckFjdGlvbnMuanMnO1xuaW1wb3J0IHtjcmVhdGVWaWRlb0FjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5pbXBvcnQge2NyZWF0ZVdlYnNvY2tldEFjdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvd2Vic29ja2V0QWN0aW9ucy93ZWJzb2NrZXRBY3Rpb25zLmpzJztcblxuaW1wb3J0IHR5cGUge0ZsdXhGcmFtZXdvcmt9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQgdHlwZSB7Q29udGVudEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2NvbnRlbnRBY3Rpb25zL2NvbnRlbnRBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtBd3NSdW1BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9hd3NSdW1BY3Rpb25zL2F3c1J1bUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0NybUFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2NybUFjdGlvbnMvY3JtQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7RXZlbnRBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9ldmVudEFjdGlvbnMvZXZlbnRBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtHcm91cEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL2dyb3VwQWN0aW9ucy9ncm91cEFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge0ltYWdlQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvaW1hZ2VBY3Rpb25zL2ltYWdlQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7TG9jYXRpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9sb2NhdGlvbkFjdGlvbnMvbG9jYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtNZXNzYWdlQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvbWVzc2FnZUFjdGlvbnMvbWVzc2FnZUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1Blcm1pc3Npb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9wZXJtaXNzaW9uQWN0aW9ucy9wZXJtaXNzaW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UG9zdEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Bvc3RBY3Rpb25zL3Bvc3RBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtQZXJzb25hQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcGVyc29uYUFjdGlvbnMvcGVyc29uYUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1JlYWN0aW9uQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvcmVhY3Rpb25BY3Rpb25zL3JlYWN0aW9uQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7UmVzdEFjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3Jlc3RBY3Rpb25zL3Jlc3RBY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtTU0VBY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy9zc2VBY3Rpb25zL3NzZUFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1RhZ0FjdGlvbnNPcHRpb25zfSBmcm9tICcuLi9hY3Rpb25zL3RhZ0FjdGlvbnMvdGFnQWN0aW9ucy5qcyc7XG5pbXBvcnQgdHlwZSB7VHJhbnNsYXRpb25BY3Rpb25zT3B0aW9uc30gZnJvbSAnLi4vYWN0aW9ucy90cmFuc2xhdGlvbkFjdGlvbnMvdHJhbnNsYXRpb25BY3Rpb25zLmpzJztcbmltcG9ydCB0eXBlIHtVc2VyQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdXNlckFjdGlvbnMvdXNlckFjdGlvbnMuanMnO1xuaW1wb3J0IHR5cGUge1ZpZGVvQWN0aW9uc09wdGlvbnN9IGZyb20gJy4uL2FjdGlvbnMvdmlkZW9BY3Rpb25zL3ZpZGVvQWN0aW9ucy5qcyc7XG5cbmNvbnN0IGF3c1J1bUFjdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8Rmx1eEZyYW1ld29yaywge1xuICByZWFkb25seSBhY3Rpb25zOiBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVBd3NSdW1BY3Rpb25zPjtcbiAgcmVhZG9ubHkgb3B0aW9uc0tleTogc3RyaW5nO1xufT4oKTtcbmNvbnN0IHdlYnNvY2tldEFjdGlvbkNhY2hlID0gbmV3IFdlYWtNYXA8Rmx1eEZyYW1ld29yaywgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlV2Vic29ja2V0QWN0aW9ucz4+KCk7XG5cbmNvbnN0IGNyZWF0ZUF3c1J1bU9wdGlvbnNLZXkgPSAob3B0aW9uczogQXdzUnVtQWN0aW9uc09wdGlvbnMgPSB7fSk6IHN0cmluZyA9PiBKU09OLnN0cmluZ2lmeSh7XG4gIGFuYWx5dGljc0lkOiBvcHRpb25zLmFuYWx5dGljc0lkLFxuICBkZWJvdW5jZU1zOiBvcHRpb25zLmRlYm91bmNlTXMsXG4gIGRlZHVwZU1zOiBvcHRpb25zLmRlZHVwZU1zLFxuICBlbmFibGVkOiBvcHRpb25zLmVuYWJsZWQsXG4gIHJlc3BlY3RQcml2YWN5U2lnbmFsczogb3B0aW9ucy5yZXNwZWN0UHJpdmFjeVNpZ25hbHMsXG4gIHRocm90dGxlTXM6IG9wdGlvbnMudGhyb3R0bGVNc1xufSk7XG5cbmV4cG9ydCB0eXBlIEFjdGlvblR5cGUgPVxuICB8ICdhd3NSdW0nXG4gIHwgJ2NvbnRlbnQnXG4gIHwgJ2NybSdcbiAgfCAnZXZlbnQnXG4gIHwgJ2dyb3VwJ1xuICB8ICdpbWFnZSdcbiAgfCAnbG9jYXRpb24nXG4gIHwgJ21lc3NhZ2UnXG4gIHwgJ3Blcm1pc3Npb24nXG4gIHwgJ3Bvc3QnXG4gIHwgJ3BlcnNvbmEnXG4gIHwgJ3JlYWN0aW9uJ1xuICB8ICdyZXN0J1xuICB8ICdzc2UnXG4gIHwgJ3N1YnNjcmlwdGlvbidcbiAgfCAndGFnJ1xuICB8ICd0cmFuc2xhdGlvbidcbiAgfCAndXNlcidcbiAgfCAndmlkZW8nXG4gIHwgJ3dlYnNvY2tldCc7XG5cbmV4cG9ydCB0eXBlIEFjdGlvbk9wdGlvbnMgPVxuICB8IEF3c1J1bUFjdGlvbnNPcHRpb25zXG4gIHwgQ29udGVudEFjdGlvbnNPcHRpb25zXG4gIHwgQ3JtQWN0aW9uc09wdGlvbnNcbiAgfCBFdmVudEFjdGlvbnNPcHRpb25zXG4gIHwgR3JvdXBBY3Rpb25zT3B0aW9uc1xuICB8IEltYWdlQWN0aW9uc09wdGlvbnNcbiAgfCBMb2NhdGlvbkFjdGlvbnNPcHRpb25zXG4gIHwgTWVzc2FnZUFjdGlvbnNPcHRpb25zXG4gIHwgUGVybWlzc2lvbkFjdGlvbnNPcHRpb25zXG4gIHwgUG9zdEFjdGlvbnNPcHRpb25zXG4gIHwgUGVyc29uYUFjdGlvbnNPcHRpb25zXG4gIHwgUmVhY3Rpb25BY3Rpb25zT3B0aW9uc1xuICB8IFJlc3RBY3Rpb25zT3B0aW9uc1xuICB8IFNTRUFjdGlvbnNPcHRpb25zXG4gIHwgVGFnQWN0aW9uc09wdGlvbnNcbiAgfCBUcmFuc2xhdGlvbkFjdGlvbnNPcHRpb25zXG4gIHwgVXNlckFjdGlvbnNPcHRpb25zXG4gIHwgVmlkZW9BY3Rpb25zT3B0aW9uc1xuICB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjdGlvbiA9IDxUIGV4dGVuZHMgQWN0aW9uVHlwZT4oXG4gIGFjdGlvblR5cGU6IFQsXG4gIGZsdXg6IEZsdXhGcmFtZXdvcmssXG4gIG9wdGlvbnM/OiBBY3Rpb25PcHRpb25zXG4pID0+IHtcbiAgc3dpdGNoKGFjdGlvblR5cGUpIHtcbiAgICBjYXNlICdhd3NSdW0nOiB7XG4gICAgICBjb25zdCBhd3NSdW1PcHRpb25zID0gb3B0aW9ucyBhcyBBd3NSdW1BY3Rpb25zT3B0aW9ucztcbiAgICAgIGNvbnN0IG9wdGlvbnNLZXkgPSBjcmVhdGVBd3NSdW1PcHRpb25zS2V5KGF3c1J1bU9wdGlvbnMpO1xuICAgICAgY29uc3QgY2FjaGVkID0gYXdzUnVtQWN0aW9uQ2FjaGUuZ2V0KGZsdXgpO1xuXG4gICAgICBpZighY2FjaGVkIHx8IGNhY2hlZC5vcHRpb25zS2V5ICE9PSBvcHRpb25zS2V5KSB7XG4gICAgICAgIGlmKGNhY2hlZCkge1xuICAgICAgICAgIHZvaWQgY2FjaGVkLmFjdGlvbnMuZGVzdHJveSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IGNyZWF0ZUF3c1J1bUFjdGlvbnMoZmx1eCwgYXdzUnVtT3B0aW9ucyk7XG4gICAgICAgIGF3c1J1bUFjdGlvbkNhY2hlLnNldChmbHV4LCB7YWN0aW9ucywgb3B0aW9uc0tleX0pO1xuICAgICAgICByZXR1cm4gYWN0aW9ucztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhY2hlZC5hY3Rpb25zO1xuICAgIH1cblxuICAgIGNhc2UgJ2NvbnRlbnQnOlxuICAgICAgcmV0dXJuIGNyZWF0ZUNvbnRlbnRBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgQ29udGVudEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2NybSc6XG4gICAgICByZXR1cm4gY3JlYXRlQ3JtQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIENybUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2V2ZW50JzpcbiAgICAgIHJldHVybiBjcmVhdGVFdmVudEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBFdmVudEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2dyb3VwJzpcbiAgICAgIHJldHVybiBjcmVhdGVHcm91cEFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBHcm91cEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2ltYWdlJzpcbiAgICAgIHJldHVybiBjcmVhdGVJbWFnZUFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBJbWFnZUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ2xvY2F0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVMb2NhdGlvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBMb2NhdGlvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ21lc3NhZ2UnOlxuICAgICAgcmV0dXJuIGNyZWF0ZU1lc3NhZ2VBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgTWVzc2FnZUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3Blcm1pc3Npb24nOlxuICAgICAgcmV0dXJuIGNyZWF0ZVBlcm1pc3Npb25BY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUGVybWlzc2lvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3Bvc3QnOlxuICAgICAgcmV0dXJuIGNyZWF0ZVBvc3RBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUG9zdEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3BlcnNvbmEnOlxuICAgICAgcmV0dXJuIGNyZWF0ZVBlcnNvbmFBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUGVyc29uYUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3JlYWN0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVSZWFjdGlvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBSZWFjdGlvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3Jlc3QnOlxuICAgICAgcmV0dXJuIGNyZWF0ZVJlc3RBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgUmVzdEFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3NzZSc6XG4gICAgICByZXR1cm4gY3JlYXRlU1NFQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFNTRUFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3N1YnNjcmlwdGlvbic6XG4gICAgICByZXR1cm4gY3JlYXRlU3Vic2NyaXB0aW9uQWN0aW9ucyhmbHV4KTtcblxuICAgIGNhc2UgJ3RhZyc6XG4gICAgICByZXR1cm4gY3JlYXRlVGFnQWN0aW9ucyhmbHV4LCBvcHRpb25zIGFzIFRhZ0FjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3RyYW5zbGF0aW9uJzpcbiAgICAgIHJldHVybiBjcmVhdGVUcmFuc2xhdGlvbkFjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBUcmFuc2xhdGlvbkFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIGNyZWF0ZVVzZXJBY3Rpb25zKGZsdXgsIG9wdGlvbnMgYXMgVXNlckFjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3ZpZGVvJzpcbiAgICAgIHJldHVybiBjcmVhdGVWaWRlb0FjdGlvbnMoZmx1eCwgb3B0aW9ucyBhcyBWaWRlb0FjdGlvbnNPcHRpb25zKTtcblxuICAgIGNhc2UgJ3dlYnNvY2tldCc6XG4gICAgICBpZighd2Vic29ja2V0QWN0aW9uQ2FjaGUuaGFzKGZsdXgpKSB7XG4gICAgICAgIHdlYnNvY2tldEFjdGlvbkNhY2hlLnNldChmbHV4LCBjcmVhdGVXZWJzb2NrZXRBY3Rpb25zKGZsdXgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHdlYnNvY2tldEFjdGlvbkNhY2hlLmdldChmbHV4KSBhcyBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVXZWJzb2NrZXRBY3Rpb25zPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gYWN0aW9uIHR5cGU6ICR7YWN0aW9uVHlwZX1gKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUFjdGlvbnMgPSAoXG4gIGFjdGlvblR5cGVzOiBBY3Rpb25UeXBlW10sXG4gIGZsdXg6IEZsdXhGcmFtZXdvcmssXG4gIG9wdGlvbnM/OiBQYXJ0aWFsPFJlY29yZDxBY3Rpb25UeXBlLCBBY3Rpb25PcHRpb25zPj5cbik6IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvblJldHVyblR5cGU8QWN0aW9uVHlwZT4+PiA9PiB7XG4gIGNvbnN0IGFjdGlvbnM6IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvblJldHVyblR5cGU8QWN0aW9uVHlwZT4+PiA9IHt9O1xuXG4gIGFjdGlvblR5cGVzLmZvckVhY2goKHR5cGUpID0+IHtcbiAgICBhY3Rpb25zW3R5cGVdID0gY3JlYXRlQWN0aW9uKHR5cGUsIGZsdXgsIG9wdGlvbnM/Llt0eXBlXSkgYXMgQWN0aW9uUmV0dXJuVHlwZTxBY3Rpb25UeXBlPjtcbiAgfSk7XG5cbiAgcmV0dXJuIGFjdGlvbnM7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlQWxsQWN0aW9ucyA9IChcbiAgZmx1eDogRmx1eEZyYW1ld29yayxcbiAgb3B0aW9ucz86IFBhcnRpYWw8UmVjb3JkPEFjdGlvblR5cGUsIEFjdGlvbk9wdGlvbnM+PlxuKSA9PiB7XG4gIGNvbnN0IGFsbEFjdGlvblR5cGVzOiBBY3Rpb25UeXBlW10gPSBbXG4gICAgJ2F3c1J1bScsXG4gICAgJ2NvbnRlbnQnLFxuICAgICdjcm0nLFxuICAgICdldmVudCcsXG4gICAgJ2dyb3VwJyxcbiAgICAnaW1hZ2UnLFxuICAgICdsb2NhdGlvbicsXG4gICAgJ21lc3NhZ2UnLFxuICAgICdwZXJtaXNzaW9uJyxcbiAgICAncG9zdCcsXG4gICAgJ3BlcnNvbmEnLFxuICAgICdyZWFjdGlvbicsXG4gICAgJ3Jlc3QnLFxuICAgICdzc2UnLFxuICAgICdzdWJzY3JpcHRpb24nLFxuICAgICd0YWcnLFxuICAgICd0cmFuc2xhdGlvbicsXG4gICAgJ3VzZXInLFxuICAgICd2aWRlbycsXG4gICAgJ3dlYnNvY2tldCdcbiAgXTtcblxuICByZXR1cm4gY3JlYXRlQWN0aW9ucyhhbGxBY3Rpb25UeXBlcywgZmx1eCwgb3B0aW9ucyk7XG59O1xuXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUFsbEFjdGlvbnM+O1xuZXhwb3J0IHR5cGUgQWN0aW9uUmV0dXJuVHlwZTxUIGV4dGVuZHMgQWN0aW9uVHlwZT4gPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVBY3Rpb248VD4+O1xuIl0sIm5hbWVzIjpbImNyZWF0ZUNvbnRlbnRBY3Rpb25zIiwiY3JlYXRlQXdzUnVtQWN0aW9ucyIsImNyZWF0ZUNybUFjdGlvbnMiLCJjcmVhdGVFdmVudEFjdGlvbnMiLCJjcmVhdGVHcm91cEFjdGlvbnMiLCJjcmVhdGVJbWFnZUFjdGlvbnMiLCJjcmVhdGVMb2NhdGlvbkFjdGlvbnMiLCJjcmVhdGVNZXNzYWdlQWN0aW9ucyIsImNyZWF0ZVBlcm1pc3Npb25BY3Rpb25zIiwiY3JlYXRlUG9zdEFjdGlvbnMiLCJjcmVhdGVQZXJzb25hQWN0aW9ucyIsImNyZWF0ZVJlYWN0aW9uQWN0aW9ucyIsImNyZWF0ZVJlc3RBY3Rpb25zIiwiY3JlYXRlU1NFQWN0aW9ucyIsImNyZWF0ZVN1YnNjcmlwdGlvbkFjdGlvbnMiLCJjcmVhdGVUYWdBY3Rpb25zIiwiY3JlYXRlVHJhbnNsYXRpb25BY3Rpb25zIiwiY3JlYXRlVXNlckFjdGlvbnMiLCJjcmVhdGVWaWRlb0FjdGlvbnMiLCJjcmVhdGVXZWJzb2NrZXRBY3Rpb25zIiwiYXdzUnVtQWN0aW9uQ2FjaGUiLCJXZWFrTWFwIiwid2Vic29ja2V0QWN0aW9uQ2FjaGUiLCJjcmVhdGVBd3NSdW1PcHRpb25zS2V5Iiwib3B0aW9ucyIsIkpTT04iLCJzdHJpbmdpZnkiLCJhbmFseXRpY3NJZCIsImRlYm91bmNlTXMiLCJkZWR1cGVNcyIsImVuYWJsZWQiLCJyZXNwZWN0UHJpdmFjeVNpZ25hbHMiLCJ0aHJvdHRsZU1zIiwiY3JlYXRlQWN0aW9uIiwiYWN0aW9uVHlwZSIsImZsdXgiLCJhd3NSdW1PcHRpb25zIiwib3B0aW9uc0tleSIsImNhY2hlZCIsImdldCIsImFjdGlvbnMiLCJkZXN0cm95Iiwic2V0IiwiaGFzIiwiRXJyb3IiLCJjcmVhdGVBY3Rpb25zIiwiYWN0aW9uVHlwZXMiLCJmb3JFYWNoIiwidHlwZSIsImNyZWF0ZUFsbEFjdGlvbnMiLCJhbGxBY3Rpb25UeXBlcyJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQ0QsU0FBUUEsb0JBQW9CLFFBQU8sOENBQThDO0FBQ2pGLFNBQVFDLG1CQUFtQixRQUFPLDRDQUE0QztBQUM5RSxTQUFRQyxnQkFBZ0IsUUFBTyxzQ0FBc0M7QUFDckUsU0FBUUMsa0JBQWtCLFFBQU8sMENBQTBDO0FBQzNFLFNBQVFDLGtCQUFrQixRQUFPLDBDQUEwQztBQUMzRSxTQUFRQyxrQkFBa0IsUUFBTywwQ0FBMEM7QUFDM0UsU0FBUUMscUJBQXFCLFFBQU8sZ0RBQWdEO0FBQ3BGLFNBQVFDLG9CQUFvQixRQUFPLDhDQUE4QztBQUNqRixT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
|
package/lib/utils/api.d.ts
CHANGED
|
@@ -52,5 +52,6 @@ export declare const appMutation: <T>(flux: FluxFramework, name: string, dataTyp
|
|
|
52
52
|
export declare const publicQuery: <T>(flux: FluxFramework, name: string, dataType: ReaktorDbCollection, queryVariables: ApiQueryVariables, returnProperties: string[], options?: ApiOptions) => Promise<T>;
|
|
53
53
|
export declare const publicMutation: <T>(flux: FluxFramework, name: string, dataType: ReaktorDbCollection, queryVariables: ApiQueryVariables, returnProperties: string[], options?: ApiOptions) => Promise<T>;
|
|
54
54
|
export declare const rumMutation: <T>(flux: FluxFramework, name: string, dataType: ReaktorDbCollection, queryVariables: ApiQueryVariables, returnProperties: string[], options?: ApiOptions) => Promise<T>;
|
|
55
|
+
export declare const rumRequest: <T>(flux: FluxFramework, batch: Record<string, unknown>, options?: RestApiOptions) => Promise<T>;
|
|
55
56
|
export declare const uploadImage: (flux: FluxFramework, image: FormData | Record<string, unknown>, options?: HunterOptionsType) => Promise<ApiResultsType>;
|
|
56
57
|
export declare const refreshSession: (flux: FluxFramework, token?: string, expires?: number) => Promise<FluxAction | null>;
|