@jebgem/model 0.0.76 → 0.0.78
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/esm2022/lib/account/account.interface.js +1 -1
- package/esm2022/lib/chargebee/plan-card-info.interface.js +1 -1
- package/esm2022/lib/data/metric.enum.js +37 -37
- package/lib/account/account.interface.d.ts +1 -1
- package/lib/chargebee/plan-card-info.interface.d.ts +1 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9tb2RlbC9zcmMvbGliL2FjY291bnQvYWNjb3VudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0SXRlbUludGVyZmFjZSB9IGZyb20gJy4uL2NvbW1vbi9pdGVtL2Fic3RyYWN0LWl0ZW0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFN0YXR1c0VudW0gfSBmcm9tICcuL2FjY291bnQtc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQgeyBPbmJvYXJkaW5nU3RlcEVudW0gfSBmcm9tICcuLi91c2VyL29uYm9hcmRpbmctc3RlcC5lbnVtJztcclxuaW1wb3J0IHsgQ2hhcmdlYmVlSXRlbVByaWNlUGVyaW9kVW5pdEVudW0gfSBmcm9tICcuLi9jaGFyZ2ViZWUvaXRlbS1wcmljZS9jaGFyZ2ViZWUtaXRlbS1wcmljZS1wZXJpb2QtdW5pdC5lbnVtJztcclxuaW1wb3J0IHsgQ2hhcmdlYmVlU3Vic2NyaXB0aW9uU3RhdHVzRW51bSB9IGZyb20gJy4uL2NoYXJnZWJlZS9zdWJzY3JpcHRpb24vY2hhcmdlYmVlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7IEN1cnJlbmN5Q29kZUVudW0gfSBmcm9tICcuLi9yZXBvcnQvY3VycmVuY3ktY29kZS5lbnVtJztcclxuaW1wb3J0IHtUYXNrc0FuZFN0ZXBzRGVmYXVsdEVudW19IGZyb20gJy4vdGFza3MtYW5kLXN0ZXBzLWRlZmF1bHQuZW51bSc7XHJcbmltcG9ydCB7U2hvcEludGVyZmFjZX0gZnJvbSAnLi4vc2hvcC9zaG9wLmludGVyZmFjZSc7XHJcbmltcG9ydCB7Rm9jdXNBcmVhRGV0YWlsSW50ZXJmYWNlfSBmcm9tICcuLi9mb2N1cy1hcmVhLWRldGFpbC9mb2N1cy1hcmVhLWRldGFpbC5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50SW50ZXJmYWNlIGV4dGVuZHMgQWJzdHJhY3RJdGVtSW50ZXJmYWNlIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHN0YXR1cz86IEFjY291bnRTdGF0dXNFbnVtO1xyXG4gIGNvbXBsZXRlZE9uYm9hcmRpbmdTdGVwPzogT25ib2FyZGluZ1N0ZXBFbnVtO1xyXG4gIG9uYm9hcmRpbmdDaGFyZ2ViZWVQbGFuSXRlbVByaWNlSWQ/
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3VudC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9tb2RlbC9zcmMvbGliL2FjY291bnQvYWNjb3VudC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0SXRlbUludGVyZmFjZSB9IGZyb20gJy4uL2NvbW1vbi9pdGVtL2Fic3RyYWN0LWl0ZW0uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQWNjb3VudFN0YXR1c0VudW0gfSBmcm9tICcuL2FjY291bnQtc3RhdHVzLmVudW0nO1xyXG5pbXBvcnQgeyBPbmJvYXJkaW5nU3RlcEVudW0gfSBmcm9tICcuLi91c2VyL29uYm9hcmRpbmctc3RlcC5lbnVtJztcclxuaW1wb3J0IHsgQ2hhcmdlYmVlSXRlbVByaWNlUGVyaW9kVW5pdEVudW0gfSBmcm9tICcuLi9jaGFyZ2ViZWUvaXRlbS1wcmljZS9jaGFyZ2ViZWUtaXRlbS1wcmljZS1wZXJpb2QtdW5pdC5lbnVtJztcclxuaW1wb3J0IHsgQ2hhcmdlYmVlU3Vic2NyaXB0aW9uU3RhdHVzRW51bSB9IGZyb20gJy4uL2NoYXJnZWJlZS9zdWJzY3JpcHRpb24vY2hhcmdlYmVlLXN1YnNjcmlwdGlvbi1zdGF0dXMuZW51bSc7XHJcbmltcG9ydCB7IEN1cnJlbmN5Q29kZUVudW0gfSBmcm9tICcuLi9yZXBvcnQvY3VycmVuY3ktY29kZS5lbnVtJztcclxuaW1wb3J0IHtUYXNrc0FuZFN0ZXBzRGVmYXVsdEVudW19IGZyb20gJy4vdGFza3MtYW5kLXN0ZXBzLWRlZmF1bHQuZW51bSc7XHJcbmltcG9ydCB7U2hvcEludGVyZmFjZX0gZnJvbSAnLi4vc2hvcC9zaG9wLmludGVyZmFjZSc7XHJcbmltcG9ydCB7Rm9jdXNBcmVhRGV0YWlsSW50ZXJmYWNlfSBmcm9tICcuLi9mb2N1cy1hcmVhLWRldGFpbC9mb2N1cy1hcmVhLWRldGFpbC5pbnRlcmZhY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBY2NvdW50SW50ZXJmYWNlIGV4dGVuZHMgQWJzdHJhY3RJdGVtSW50ZXJmYWNlIHtcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHN0YXR1cz86IEFjY291bnRTdGF0dXNFbnVtO1xyXG4gIGNvbXBsZXRlZE9uYm9hcmRpbmdTdGVwPzogT25ib2FyZGluZ1N0ZXBFbnVtO1xyXG4gIG9uYm9hcmRpbmdDaGFyZ2ViZWVQbGFuSXRlbVByaWNlSWQ/OiBudW1iZXI7XHJcbiAgY2hhcmdlYmVlSXRlbVByaWNlUGVyaW9kVW5pdD86IENoYXJnZWJlZUl0ZW1QcmljZVBlcmlvZFVuaXRFbnVtO1xyXG4gIHN1YnNjcmlwdGlvblN0YXR1cz86IENoYXJnZWJlZVN1YnNjcmlwdGlvblN0YXR1c0VudW07XHJcbiAgYmlsbGluZ0N1cnJlbmN5Q29kZT86IEN1cnJlbmN5Q29kZUVudW07XHJcbiAgYWZmaWxpYXRlSWQ/OiBudW1iZXI7XHJcbiAgdGFza3NBbmRTdGVwc0RlZmF1bHQ/OiBUYXNrc0FuZFN0ZXBzRGVmYXVsdEVudW07XHJcbiAgYWlQcm9qZWN0SWQ/OiBudW1iZXI7XHJcbiAgbmV3U2hvcD86IFNob3BJbnRlcmZhY2U7XHJcbiAgbmV3Rm9jdXNBcmVhRGV0YWlscz86IEZvY3VzQXJlYURldGFpbEludGVyZmFjZVtdO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbi1jYXJkLWluZm8uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zaGFyZWQvbW9kZWwvc3JjL2xpYi9jaGFyZ2ViZWUvcGxhbi1jYXJkLWluZm8uaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYXJnZWJlZUZlYXR1cmVJbnRlcmZhY2V9IGZyb20gJy4vZmVhdHVyZS9jaGFyZ2ViZWUtZmVhdHVyZS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0NoYXJnZWJlZUVudGl0bGVtZW50SW50ZXJmYWNlfSBmcm9tICcuL2VudGl0bGVtZW50L2NoYXJnZWJlZS1lbnRpdGxlbWVudC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0NoYXJnZWJlZUl0ZW1JbnRlcmZhY2V9IGZyb20gJy4vaXRlbS9jaGFyZ2ViZWUtaXRlbS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQge0NoYXJnZWJlZUl0ZW1QcmljZUludGVyZmFjZX0gZnJvbSAnLi9pdGVtLXByaWNlL2NoYXJnZWJlZS1pdGVtLXByaWNlLmludGVyZmFjZSc7XHJcbmltcG9ydCB7Q2hhcmdlYmVlSXRlbVByaWNlUGVyaW9kVW5pdEVudW19IGZyb20gJy4vaXRlbS1wcmljZS9jaGFyZ2ViZWUtaXRlbS1wcmljZS1wZXJpb2QtdW5pdC5lbnVtJztcclxuaW1wb3J0IHtDdXJyZW5jeUNvZGVFbnVtfSBmcm9tICcuLi9yZXBvcnQvY3VycmVuY3ktY29kZS5lbnVtJztcclxuaW1wb3J0IHtcclxuICBDaGFyZ2ViZWVTdWJzY3JpcHRpb25FbnRpdGxlbWVudEludGVyZmFjZVxyXG59IGZyb20gJy4vc3Vic2NyaXB0aW9uLWVudGl0bGVtZW50L2NoYXJnZWJlZS1zdWJzY3JpcHRpb24tZW50aXRsZW1lbnQuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGxhbkNhcmRJbmZvSW50ZXJmYWNlIHtcclxuICBwbGFuSXRlbTogQ2hhcmdlYmVlSXRlbUludGVyZmFjZTtcclxuICBwbGFuSXRlbVByaWNlOiBDaGFyZ2ViZWVJdGVtUHJpY2VJbnRlcmZhY2U7XHJcbiAgcGVyaW9kVW5pdDogQ2hhcmdlYmVlSXRlbVByaWNlUGVyaW9kVW5pdEVudW0gfCB1bmRlZmluZWQsXHJcbiAgY3VycmVuY3lDb2RlOiBDdXJyZW5jeUNvZGVFbnVtO1xyXG4gIGNyZWRpdHNJdGVtOiBDaGFyZ2ViZWVJdGVtSW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIHNob3BzSXRlbTogQ2hhcmdlYmVlSXRlbUludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBjb250cmlidXRlclNlYXRzSXRlbTogQ2hhcmdlYmVlSXRlbUludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBhZ2VuY3lTZWF0c0l0ZW06IENoYXJnZWJlZUl0ZW1JbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgdmlld09ubHlTZWF0c0l0ZW06IENoYXJnZWJlZUl0ZW1JbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgcmVjb21tZW5kYXRpb25NYWludGVuYW5jZUl0ZW06IENoYXJnZWJlZUl0ZW1JbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRDcmVkaXRzRmVhdHVyZTogQ2hhcmdlYmVlRmVhdHVyZUludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBpbmNsdWRlZFNob3BzRmVhdHVyZTogQ2hhcmdlYmVlRmVhdHVyZUludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBpbmNsdWRlZENvbnRyaWJ1dG9yU2VhdHNGZWF0dXJlOiBDaGFyZ2ViZWVGZWF0dXJlSW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIGluY2x1ZGVkVmlld09ubHlTZWF0c0ZlYXR1cmU6IENoYXJnZWJlZUZlYXR1cmVJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRBZ2VuY3lTZWF0c0ZlYXR1cmU6IENoYXJnZWJlZUZlYXR1cmVJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRDcmVkaXRzRW50aXRsZW1lbnQ6IENoYXJnZWJlZUVudGl0bGVtZW50SW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIGluY2x1ZGVkU2hvcHNFbnRpdGxlbWVudDogQ2hhcmdlYmVlRW50aXRsZW1lbnRJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRDb250cmlidXRvclNlYXRzRW50aXRsZW1lbnQ6IENoYXJnZWJlZUVudGl0bGVtZW50SW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIGluY2x1ZGVkQWdlbmN5U2VhdHNFbnRpdGxlbWVudDogQ2hhcmdlYmVlRW50aXRsZW1lbnRJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRWaWV3T25seVNlYXRzRW50aXRsZW1lbnQ6IENoYXJnZWJlZUVudGl0bGVtZW50SW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIGNyZWRpdHNQcmljZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xyXG4gIHNob3BzUHJpY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBjb250cmlidXRvclNlYXRzUHJpY2U6IG51bWJlciB8IHVuZGVmaW5lZDtcclxuICBhZ2VuY3lTZWF0c1ByaWNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgdmlld09ubHlTZWF0c1ByaWNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgcmVjb21tZW5kYXRpb25NYWludGVuYW5jZVByaWNlOiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcbiAgcHVyY2hhc2VkQ3JlZGl0c0ZlYXR1cmU6IENoYXJnZWJlZUZlYXR1cmVJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgcHVyY2hhc2VkU2hvcHNGZWF0dXJlOiBDaGFyZ2ViZWVGZWF0dXJlSW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIHB1cmNoYXNlZENvbnRyaWJ1dG9yU2VhdHNGZWF0dXJlOiBDaGFyZ2ViZWVGZWF0dXJlSW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIHB1cmNoYXNlZEFnZW5jeVNlYXRzRmVhdHVyZTogQ2hhcmdlYmVlRmVhdHVyZUludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBwdXJjaGFzZWRWaWV3T25seVNlYXRzRmVhdHVyZTogQ2hhcmdlYmVlRmVhdHVyZUludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBpbmNsdWRlZENyZWRpdHNTdWJzY3JpcHRpb25FbnRpdGxlbWVudDogQ2hhcmdlYmVlU3Vic2NyaXB0aW9uRW50aXRsZW1lbnRJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRTaG9wc1N1YnNjcmlwdGlvbkVudGl0bGVtZW50OiBDaGFyZ2ViZWVTdWJzY3JpcHRpb25FbnRpdGxlbWVudEludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBpbmNsdWRlZENvbnRyaWJ1dG9yU2VhdHNTdWJzY3JpcHRpb25FbnRpdGxlbWVudDogQ2hhcmdlYmVlU3Vic2NyaXB0aW9uRW50aXRsZW1lbnRJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRBZ2VuY3lTZWF0c1N1YnNjcmlwdGlvbkVudGl0bGVtZW50OiBDaGFyZ2ViZWVTdWJzY3JpcHRpb25FbnRpdGxlbWVudEludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBpbmNsdWRlZFZpZXdPbmx5U2VhdHNTdWJzY3JpcHRpb25FbnRpdGxlbWVudDogQ2hhcmdlYmVlU3Vic2NyaXB0aW9uRW50aXRsZW1lbnRJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgcHVyY2hhc2VkQ3JlZGl0c1N1YnNjcmlwdGlvbkVudGl0bGVtZW50OiBDaGFyZ2ViZWVTdWJzY3JpcHRpb25FbnRpdGxlbWVudEludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBwdXJjaGFzZWRTaG9wc1N1YnNjcmlwdGlvbkVudGl0bGVtZW50OiBDaGFyZ2ViZWVTdWJzY3JpcHRpb25FbnRpdGxlbWVudEludGVyZmFjZSB8IHVuZGVmaW5lZDtcclxuICBwdXJjaGFzZWRDb250cmlidXRvclNlYXRzU3Vic2NyaXB0aW9uRW50aXRsZW1lbnQ6IENoYXJnZWJlZVN1YnNjcmlwdGlvbkVudGl0bGVtZW50SW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIHB1cmNoYXNlZEFnZW5jeVNlYXRzU3Vic2NyaXB0aW9uRW50aXRsZW1lbnQ6IENoYXJnZWJlZVN1YnNjcmlwdGlvbkVudGl0bGVtZW50SW50ZXJmYWNlIHwgdW5kZWZpbmVkO1xyXG4gIHB1cmNoYXNlZFZpZXdPbmx5U2VhdHNTdWJzY3JpcHRpb25FbnRpdGxlbWVudDogQ2hhcmdlYmVlU3Vic2NyaXB0aW9uRW50aXRsZW1lbnRJbnRlcmZhY2UgfCB1bmRlZmluZWQ7XHJcbiAgaW5jbHVkZWRTaG9wczogbnVtYmVyO1xyXG4gIGluY2x1ZGVkQ3JlZGl0czogbnVtYmVyO1xyXG4gIGluY2x1ZGVkQ29udHJpYnV0b3JTZWF0czogbnVtYmVyO1xyXG4gIGluY2x1ZGVkQWdlbmN5U2VhdHM6IG51bWJlcjtcclxuICBpbmNsdWRlZFZpZXdPbmx5U2VhdHM6IG51bWJlcjtcclxuICBwdXJjaGFzZWRDb250cmlidXRvclNlYXRzOiBudW1iZXI7XHJcbiAgcHVyY2hhc2VkQWdlbmN5U2VhdHM6IG51bWJlcjtcclxuICBwdXJjaGFzZWRWaWV3T25seVNlYXRzOiBudW1iZXI7XHJcbiAgcHVyY2hhc2VkU2hvcHM6IG51bWJlcjtcclxuICBwdXJjaGFzZWRDcmVkaXRzOiBudW1iZXI7XHJcbiAgYmVzdFZhbHVlPzogYm9vbGVhbjtcclxufVxyXG4iXX0=
|
|
@@ -69,28 +69,28 @@ export class MetricEnumUtil {
|
|
|
69
69
|
static title(metric) {
|
|
70
70
|
let title;
|
|
71
71
|
if (!metric) {
|
|
72
|
-
title =
|
|
72
|
+
title = `Unknown`;
|
|
73
73
|
}
|
|
74
74
|
else {
|
|
75
75
|
if (!title) {
|
|
76
76
|
switch (metric) {
|
|
77
77
|
case MetricEnum.SCREEN_PAGE_VIEWS:
|
|
78
|
-
title =
|
|
78
|
+
title = `Views`;
|
|
79
79
|
break;
|
|
80
80
|
case MetricEnum.ITEM_VIEW_EVENTS:
|
|
81
|
-
title =
|
|
81
|
+
title = `Product views`;
|
|
82
82
|
break;
|
|
83
83
|
case MetricEnum.ITEM_VIEW_EVENTS_PER_DAY:
|
|
84
|
-
title =
|
|
84
|
+
title = `Product views per day`;
|
|
85
85
|
break;
|
|
86
86
|
case MetricEnum.ECOMMERCE_PURCHASES:
|
|
87
|
-
title =
|
|
87
|
+
title = `Purchases`;
|
|
88
88
|
break;
|
|
89
89
|
case MetricEnum.PURCHASE_REVENUE:
|
|
90
|
-
title =
|
|
90
|
+
title = `Revenue`;
|
|
91
91
|
break;
|
|
92
92
|
case MetricEnum.ECOMMERCE_PURCHASES_PER_DAY:
|
|
93
|
-
title =
|
|
93
|
+
title = `Purchases per day`;
|
|
94
94
|
break;
|
|
95
95
|
}
|
|
96
96
|
if (!title) {
|
|
@@ -121,16 +121,16 @@ export class MetricEnumUtil {
|
|
|
121
121
|
// TODO: fix up
|
|
122
122
|
switch (metric) {
|
|
123
123
|
case MetricEnum.SCREEN_PAGE_VIEWS:
|
|
124
|
-
str =
|
|
124
|
+
str = `Your current **${metricTitle}** is **${currentDisplay}**. This is the top of your funnel, where users first engage with your content. To increase visibility, we suggest setting a target of **${suggestedTargetDisplay}**. This will help attract more potential customers to your site.`;
|
|
125
125
|
break;
|
|
126
126
|
case MetricEnum.ITEM_VIEW_EVENTS:
|
|
127
|
-
str =
|
|
127
|
+
str = `You're currently seeing **${currentDisplay}** **${metricTitle}**. This is where users start showing interest in specific products. To turn more of those views into actions, we suggest setting a target of **${suggestedTargetDisplay}**. The more engaged they are, the more likely they'll add items to their cart.`;
|
|
128
128
|
break;
|
|
129
129
|
case MetricEnum.ADD_TO_CARTS:
|
|
130
|
-
str =
|
|
130
|
+
str = `Right now, your **${metricTitle}** is at **${currentDisplay}**. This step is crucial as it shows serious buying intent. To encourage more customers to take this step, consider setting a target of **${suggestedTargetDisplay}**. Small increases here can significantly impact your overall sales.`;
|
|
131
131
|
break;
|
|
132
132
|
case MetricEnum.PURCHASE_REVENUE:
|
|
133
|
-
str =
|
|
133
|
+
str = `Your current **${metricTitle}** is **${currentDisplay}**. This is the ultimate goal—converting interest into sales. We suggest aiming for a target of **${suggestedTargetDisplay}** to drive more revenue. Every small improvement along the funnel adds up to big gains here.`;
|
|
134
134
|
break;
|
|
135
135
|
}
|
|
136
136
|
return str;
|
|
@@ -320,82 +320,82 @@ export class MetricEnumUtil {
|
|
|
320
320
|
let definition;
|
|
321
321
|
switch (metric) {
|
|
322
322
|
case MetricEnum.ACTIVE_USERS:
|
|
323
|
-
definition =
|
|
323
|
+
definition = `The number of unique users who engaged with your site or app in a specified date range.`;
|
|
324
324
|
break;
|
|
325
325
|
case MetricEnum.NEW_USERS:
|
|
326
|
-
definition =
|
|
326
|
+
definition = `The number of new unique users who visits your website or app for the first time during a specified period.`;
|
|
327
327
|
break;
|
|
328
328
|
case MetricEnum.BOUNCE_RATE:
|
|
329
|
-
definition =
|
|
329
|
+
definition = `The percentage of sessions that end after a single page view.`;
|
|
330
330
|
break;
|
|
331
331
|
case MetricEnum.SESSIONS:
|
|
332
|
-
definition =
|
|
332
|
+
definition = `A session is a period of time during which a user interacts with your website or app. Analytics calculates the number of sessions that occur on your site or app by estimating the number of unique session IDs.`;
|
|
333
333
|
break;
|
|
334
334
|
case MetricEnum.SCREEN_PAGE_VIEWS:
|
|
335
|
-
definition =
|
|
335
|
+
definition = `The number of app screens or web pages your users viewed. Repeated views of a single page or screen are counted.`;
|
|
336
336
|
break;
|
|
337
337
|
case MetricEnum.ITEM_VIEW_EVENTS:
|
|
338
|
-
definition =
|
|
338
|
+
definition = `A count of how many times a user views product details.`;
|
|
339
339
|
break;
|
|
340
340
|
case MetricEnum.ADD_TO_CARTS:
|
|
341
|
-
definition =
|
|
341
|
+
definition = `The number of times users added products to their shopping carts.`;
|
|
342
342
|
break;
|
|
343
343
|
case MetricEnum.CHECKOUTS:
|
|
344
|
-
definition =
|
|
344
|
+
definition = `The number of times users started the checkout process.`;
|
|
345
345
|
break;
|
|
346
346
|
case MetricEnum.ECOMMERCE_PURCHASES:
|
|
347
|
-
definition =
|
|
347
|
+
definition = `The number of times users completed a purchase.`;
|
|
348
348
|
break;
|
|
349
349
|
case MetricEnum.PURCHASE_REVENUE:
|
|
350
|
-
definition =
|
|
350
|
+
definition = `Purchase revenue shows the total amount of revenue generated from ecommerce and in-app purchases.`;
|
|
351
351
|
break;
|
|
352
352
|
case MetricEnum.PRODUCT_VIEW_RATE:
|
|
353
|
-
definition =
|
|
353
|
+
definition = `The percentage of sessions where a user views a product. It measures how often visitors engage with product pages relative to overall site activity.`;
|
|
354
354
|
break;
|
|
355
355
|
case MetricEnum.ADD_TO_CART_RATE:
|
|
356
|
-
definition =
|
|
356
|
+
definition = `The percentage of sessions where a user adds a product to their cart. It indicates how frequently visitors take the step toward a purchase during their site visit.`;
|
|
357
357
|
break;
|
|
358
358
|
case MetricEnum.ACTIVE_USER_ADD_TO_CART_RATE:
|
|
359
|
-
definition =
|
|
359
|
+
definition = `The percentage of active users who add a product to their cart. It measures how often engaged users—those who interact with your site or app—take the action of adding an item to their cart.`;
|
|
360
360
|
break;
|
|
361
361
|
case MetricEnum.VIEW_TO_PRODUCT_VIEW_CONVERSION_RATE:
|
|
362
|
-
definition =
|
|
362
|
+
definition = `The percentage of total page or screen views that result in a product view. It measures how often general site or app visits lead to users specifically viewing a product.`;
|
|
363
363
|
break;
|
|
364
364
|
case MetricEnum.PRODUCT_VIEW_TO_CART_CONVERSION_RATE:
|
|
365
|
-
definition =
|
|
365
|
+
definition = `The percentage of product views that result in an item being added to the cart. It measures how effectively viewing a product leads to the next step in the purchase funnel.`;
|
|
366
366
|
break;
|
|
367
367
|
case MetricEnum.REVENUE_PER_PRODUCT_VIEW:
|
|
368
|
-
definition =
|
|
368
|
+
definition = `The average revenue generated per product view. It measures the monetary value associated with each instance of a user viewing a product, reflecting the effectiveness of product views in driving sales.`;
|
|
369
369
|
break;
|
|
370
370
|
case MetricEnum.REVENUE_PER_ADD_TO_CART:
|
|
371
|
-
definition =
|
|
371
|
+
definition = `The average revenue generated per instance of a product being added to the cart. It measures the monetary value tied to each add-to-cart action, indicating how effectively these actions contribute to overall sales.`;
|
|
372
372
|
break;
|
|
373
373
|
case MetricEnum.ACTIVE_USER_CHECKOUT_RATE:
|
|
374
|
-
definition =
|
|
374
|
+
definition = `The percentage of active users who initiate a checkout It measures how often engaged users—those interacting with your site or app—proceed to the checkout stage of the purchase process.`;
|
|
375
375
|
break;
|
|
376
376
|
case MetricEnum.CART_TO_CHECKOUT_CONVERSION_RATE:
|
|
377
|
-
definition =
|
|
377
|
+
definition = `The percentage of add-to-cart actions that result in a checkout being initiated. It measures how effectively adding an item to the cart leads to the user starting the checkout process.`;
|
|
378
378
|
break;
|
|
379
379
|
case MetricEnum.REVENUE_PER_CHECKOUT:
|
|
380
|
-
definition =
|
|
380
|
+
definition = `The average revenue generated per checkout initiation. It measures the monetary value associated with each instance of a user starting the checkout process, reflecting its contribution to overall sales.`;
|
|
381
381
|
break;
|
|
382
382
|
case MetricEnum.ADD_TO_CART_CONVERSION_RATE:
|
|
383
|
-
definition =
|
|
383
|
+
definition = `The percentage of add-to-cart actions that result in a completed e-commerce purchase. It measures how effectively adding an item to the cart leads to a final sale.`;
|
|
384
384
|
break;
|
|
385
385
|
case MetricEnum.CHECKOUT_CONVERSION_RATE:
|
|
386
|
-
definition =
|
|
386
|
+
definition = `The percentage of checkout initiations that result in a completed e-commerce purchase. It measures how effectively starting the checkout process leads to a finalized sale.`;
|
|
387
387
|
break;
|
|
388
388
|
case MetricEnum.ECOMMERCE_CONVERSION_RATE:
|
|
389
|
-
definition =
|
|
389
|
+
definition = `The percentage of sessions that result in a completed e-commerce purchase. It measures how often a site visit leads to a finalized sale, reflecting overall effectiveness of the e-commerce funnel.`;
|
|
390
390
|
break;
|
|
391
391
|
case MetricEnum.PRODUCT_VIEW_CONVERSION_RATE:
|
|
392
|
-
definition =
|
|
392
|
+
definition = `The percentage of product views that result in a completed e-commerce purchase. It measures how effectively viewing a product leads to a finalized sale.`;
|
|
393
393
|
break;
|
|
394
394
|
case MetricEnum.AVERAGE_ORDER_VALUE:
|
|
395
|
-
definition =
|
|
395
|
+
definition = `The average revenue generated per completed e-commerce purchase. It measures the typical monetary value of each order, providing insight into customer spending behavior.`;
|
|
396
396
|
break;
|
|
397
397
|
}
|
|
398
398
|
return definition;
|
|
399
399
|
}
|
|
400
400
|
}
|
|
401
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9tb2RlbC9zcmMvbGliL2RhdGEvbWV0cmljLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE1BQU0sQ0FBTixJQUFZLFVBaUVYO0FBakVELFdBQVksVUFBVTtJQUNwQixtQ0FBcUIsQ0FBQTtJQUNyQixtREFBcUMsQ0FBQTtJQUNyQywyQ0FBNkIsQ0FBQTtJQUM3QiwyREFBNkMsQ0FBQTtJQUM3QywyQ0FBNkIsQ0FBQTtJQUM3QiwyREFBNkMsQ0FBQTtJQUM3QyxtREFBcUMsQ0FBQTtJQUNyQyxtRUFBcUQsQ0FBQTtJQUNyRCx5REFBMkMsQ0FBQTtJQUMzQyxxQ0FBdUIsQ0FBQTtJQUN2QixxREFBdUMsQ0FBQTtJQUN2QyxtRUFBcUQsQ0FBQTtJQUNyRCxxREFBdUMsQ0FBQTtJQUN2QyxxRUFBdUQsQ0FBQTtJQUN2RCxpQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBMkIsQ0FBQTtJQUMzQiwyQ0FBNkIsQ0FBQTtJQUM3QiwyREFBNkMsQ0FBQTtJQUM3QyxxQ0FBdUIsQ0FBQTtJQUN2QixxREFBdUMsQ0FBQTtJQUN2Qyx5REFBMkMsQ0FBQTtJQUMzQyx5RUFBMkQsQ0FBQTtJQUMzRCxxRUFBdUQsQ0FBQTtJQUN2RCwrREFBaUQsQ0FBQTtJQUNqRCwrRUFBaUUsQ0FBQTtJQUNqRSxtREFBcUMsQ0FBQTtJQUNyQyxtRUFBcUQsQ0FBQTtJQUNyRCxtREFBcUMsQ0FBQTtJQUNyQyxtRUFBcUQsQ0FBQTtJQUNyRCxpREFBbUMsQ0FBQTtJQUNuQyxpRUFBbUQsQ0FBQTtJQUNuRCw2Q0FBK0IsQ0FB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O2dCQUNsQyxVQUFVLEdBQUcsU0FBUyxDQUFBLDRNQUE0TSxDQUFDO2dCQUNuTyxNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMsMkJBQTJCO2dCQUN6QyxVQUFVLEdBQUcsU0FBUyxDQUFBLHFLQUFxSyxDQUFDO2dCQUM1TCxNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMsd0JBQXdCO2dCQUN0QyxVQUFVLEdBQUcsU0FBUyxDQUFBLDZLQUE2SyxDQUFDO2dCQUNwTSxNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMseUJBQXlCO2dCQUN2QyxVQUFVLEdBQUcsU0FBUyxDQUFBLHFNQUFxTSxDQUFDO2dCQUM1TixNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMsNEJBQTRCO2dCQUMxQyxVQUFVLEdBQUcsU0FBUyxDQUFBLDBKQUEwSixDQUFDO2dCQUNqTCxNQUFNO1lBQ1IsS0FBSyxVQUFVLENBQUMsbUJBQW1CO2dCQUNqQyxVQUFVLEdBQUcsU0FBUyxDQUFBLDJLQUEySyxDQUFDO2dCQUNsTSxNQUFNO1FBQ1YsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0YVR5cGVFbnVtfSBmcm9tICcuL2RhdGEtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtOdW1iZXJUeXBlRW51bX0gZnJvbSAnLi9udW1iZXItdHlwZS5lbnVtJztcclxuaW1wb3J0IHtTTkFLRV9UT19DQU1FTH0gZnJvbSAnQGplYmdlbS91dGlsJztcclxuXHJcbmV4cG9ydCBlbnVtIE1ldHJpY0VudW0ge1xyXG4gIFNFU1NJT05TID0gJ1NFU1NJT05TJyxcclxuICBTRVNTSU9OU19QRVJfREFZID0gJ1NFU1NJT05TX1BFUl9EQVknLFxyXG4gIEFDVElWRV9VU0VSUyA9ICdBQ1RJVkVfVVNFUlMnLFxyXG4gIEFDVElWRV9VU0VSU19QRVJfREFZID0gJ0FDVElWRV9VU0VSU19QRVJfREFZJyxcclxuICBUUkFOU0FDVElPTlMgPSAnVFJBTlNBQ1RJT05TJyxcclxuICBUUkFOU0FDVElPTlNfUEVSX0RBWSA9ICdUUkFOU0FDVElPTlNfUEVSX0RBWScsXHJcbiAgUFVSQ0hBU0VfUkVWRU5VRSA9ICdQVVJDSEFTRV9SRVZFTlVFJyxcclxuICBQVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVkgPSAnUFVSQ0hBU0VfUkVWRU5VRV9QRVJfREFZJyxcclxuICBBVkVSQUdFX09SREVSX1ZBTFVFID0gJ0FWRVJBR0VfT1JERVJfVkFMVUUnLFxyXG4gIE5FV19VU0VSUyA9ICdORVdfVVNFUlMnLFxyXG4gIE5FV19VU0VSU19QRVJfREFZID0gJ05FV19VU0VSU19QRVJfREFZJyxcclxuICBVU0VSX0VOR0FHRU1FTlRfRFVSQVRJT04gPSAnVVNFUl9FTkdBR0VNRU5UX0RVUkFUSU9OJyxcclxuICBTQ1JFRU5fUEFHRV9WSUVXUyA9ICdTQ1JFRU5fUEFHRV9WSUVXUycsXHJcbiAgU0NSRUVOX1BBR0VfVklFV1NfUEVSX0RBWSA9ICdTQ1JFRU5fUEFHRV9WSUVXU19QRVJfREFZJyxcclxuICBCT1VOQ0VTID0gJ0JPVU5DRVMnLFxyXG4gIEJPVU5DRV9SQVRFID0gJ0JPVU5DRV9SQVRFJyxcclxuICBBRERfVE9fQ0FSVFMgPSAnQUREX1RPX0NBUlRTJyxcclxuICBBRERfVE9fQ0FSVFNfUEVSX0RBWSA9ICdBRERfVE9fQ0FSVFNfUEVSX0RBWScsXHJcbiAgQ0hFQ0tPVVRTID0gJ0NIRUNLT1VUUycsXHJcbiAgQ0hFQ0tPVVRTX1BFUl9EQVkgPSAnQ0hFQ0tPVVRTX1BFUl9EQVknLFxyXG4gIEVDT01NRVJDRV9QVVJDSEFTRVMgPSAnRUNPTU1FUkNFX1BVUkNIQVNFUycsXHJcbiAgRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZID0gJ0VDT01NRVJDRV9QVVJDSEFTRVNfUEVSX0RBWScsXHJcbiAgRUNPTU1FUkNFX0NPTlZFUlNJT05fUkFURSA9ICdFQ09NTUVSQ0VfQ09OVkVSU0lPTl9SQVRFJyxcclxuICBHUk9TU19QVVJDSEFTRV9SRVZFTlVFID0gJ0dST1NTX1BVUkNIQVNFX1JFVkVOVUUnLFxyXG4gIEdST1NTX1BVUkNIQVNFX1JFVkVOVUVfUEVSX0RBWSA9ICdHUk9TU19QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVknLFxyXG4gIElURU1fVklFV19FVkVOVFMgPSAnSVRFTV9WSUVXX0VWRU5UUycsXHJcbiAgSVRFTV9WSUVXX0VWRU5UU19QRVJfREFZID0gJ0lURU1fVklFV19FVkVOVFNfUEVSX0RBWScsXHJcbiAgUFJPTU9USU9OX0NMSUNLUyA9ICdQUk9NT1RJT05fQ0xJQ0tTJyxcclxuICBQUk9NT1RJT05fQ0xJQ0tTX1BFUl9EQVkgPSAnUFJPTU9USU9OX0NMSUNLU19QRVJfREFZJyxcclxuICBQUk9NT1RJT05fVklFV1MgPSAnUFJPTU9USU9OX1ZJRVdTJyxcclxuICBQUk9NT1RJT05fVklFV1NfUEVSX0RBWSA9ICdQUk9NT1RJT05fVklFV1NfUEVSX0RBWScsXHJcbiAgUkVGVU5EX0FNT1VOVCA9ICdSRUZVTkRfQU1PVU5UJyxcclxuICBTSElQUElOR19BTU9VTlQgPSAnU0hJUFBJTkdfQU1PVU5UJyxcclxuICBUQVhfQU1PVU5UID0gJ1RBWF9BTU9VTlQnLFxyXG5cclxuICBBQ1RJVkVfVVNFUl9BRERfVE9fQ0FSVF9SQVRFID0gJ0FDVElWRV9VU0VSX0FERF9UT19DQVJUX1JBVEUnLFxyXG4gIFJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVyA9ICdSRVZFTlVFX1BFUl9QUk9EVUNUX1ZJRVcnLFxyXG4gIFJFVkVOVUVfUEVSX0FERF9UT19DQVJUID0gJ1JFVkVOVUVfUEVSX0FERF9UT19DQVJUJyxcclxuICBSRVZFTlVFX1BFUl9DSEVDS09VVCA9ICdSRVZFTlVFX1BFUl9DSEVDS09VVCcsXHJcbiAgVklFV19UT19QUk9EVUNUX1ZJRVdfQ09OVkVSU0lPTl9SQVRFID0gJ1ZJRVdfVE9fUFJPRFVDVF9WSUVXX0NPTlZFUlNJT05fUkFURScsXHJcbiAgUFJPRFVDVF9WSUVXX1RPX0NBUlRfQ09OVkVSU0lPTl9SQVRFID0gJ1BST0RVQ1RfVklFV19UT19DQVJUX0NPTlZFUlNJT05fUkFURScsXHJcbiAgQ0FSVF9UT19DSEVDS09VVF9DT05WRVJTSU9OX1JBVEUgPSAnQ0FSVF9UT19DSEVDS09VVF9DT05WRVJTSU9OX1JBVEUnLFxyXG4gIENIRUNLT1VUX1RPX1BVUkNIQVNFX0NPTlZFUlNJT05fUkFURSA9ICdDSEVDS09VVF9UT19QVVJDSEFTRV9DT05WRVJTSU9OX1JBVEUnLFxyXG4gIFBST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEUgPSAnUFJPRFVDVF9WSUVXX0NPTlZFUlNJT05fUkFURScsXHJcbiAgUFJPRFVDVF9WSUVXX1JBVEUgPSAnUFJPRFVDVF9WSUVXX1JBVEUnLFxyXG4gIEFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURSA9ICdBRERfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEUnLFxyXG4gIEFERF9UT19DQVJUX1JBVEUgPSAnQUREX1RPX0NBUlRfUkFURScsXHJcbiAgQ0hFQ0tPVVRfQ09OVkVSU0lPTl9SQVRFID0gJ0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURScsXHJcbiAgQUNUSVZFX1VTRVJfQ0hFQ0tPVVRfUkFURSA9ICdBQ1RJVkVfVVNFUl9DSEVDS09VVF9SQVRFJyxcclxuXHJcbiAgLy8gSXRlbVxyXG4gIEdST1NTX0lURU1fUkVWRU5VRSA9ICdHUk9TU19JVEVNX1JFVkVOVUUnLFxyXG4gIElURU1fRElTQ09VTlRfQU1PVU5UID0gJ0lURU1fRElTQ09VTlRfQU1PVU5UJyxcclxuICBJVEVNX1JFRlVORF9BTU9VTlQgPSAnSVRFTV9SRUZVTkRfQU1PVU5UJyxcclxuICBJVEVNX1JFVkVOVUUgPSAnSVRFTV9SRVZFTlVFJyxcclxuICBJVEVNU19BRERFRF9UT19DQVJUID0gJ0lURU1TX0FEREVEX1RPX0NBUlQnLFxyXG4gIElURU1TX0NIRUNLRURfT1VUID0gJ0lURU1TX0NIRUNLRURfT1VUJyxcclxuICBJVEVNU19DTElDS0VEX0lOX0xJU1QgPSAnSVRFTVNfQ0xJQ0tFRF9JTl9MSVNUJyxcclxuICBJVEVNU19DTElDS0VEX0lOX1BST01PVElPTiA9ICdJVEVNU19DTElDS0VEX0lOX1BST01PVElPTicsXHJcbiAgSVRFTVNfUFVSQ0hBU0VEID0gJ0lURU1TX1BVUkNIQVNFRCcsXHJcbiAgSVRFTVNfVklFV0VEID0gJ0lURU1TX1ZJRVdFRCcsXHJcbiAgSVRFTVNfVklFV0VEX0lOX0xJU1QgPSAnSVRFTVNfVklFV0VEX0lOX0xJU1QnLFxyXG4gIElURU1TX1ZJRVdFRF9JTl9QUk9NT1RJT04gPSAnSVRFTVNfVklFV0VEX0lOX1BST01PVElPTicsXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWV0cmljRW51bVV0aWwge1xyXG4gIHB1YmxpYyBzdGF0aWMgdGl0bGUoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGxldCB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgaWYgKCFtZXRyaWMpIHtcclxuICAgICAgdGl0bGUgPSAkbG9jYWxpemVgVW5rbm93bmA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRpdGxlKSB7XHJcbiAgICAgICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUzpcclxuICAgICAgICAgICAgdGl0bGUgPSAkbG9jYWxpemVgVmlld3NgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1ZJRVdfRVZFTlRTOlxyXG4gICAgICAgICAgICB0aXRsZSA9ICRsb2NhbGl6ZWBQcm9kdWN0IHZpZXdzYDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9WSUVXX0VWRU5UU19QRVJfREFZOlxyXG4gICAgICAgICAgICB0aXRsZSA9ICRsb2NhbGl6ZWBQcm9kdWN0IHZpZXdzIHBlciBkYXlgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5FQ09NTUVSQ0VfUFVSQ0hBU0VTOlxyXG4gICAgICAgICAgICB0aXRsZSA9ICRsb2NhbGl6ZWBQdXJjaGFzZXNgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFOlxyXG4gICAgICAgICAgICB0aXRsZSA9ICRsb2NhbGl6ZWBSZXZlbnVlYDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZOlxyXG4gICAgICAgICAgICB0aXRsZSA9ICRsb2NhbGl6ZWBQdXJjaGFzZXMgcGVyIGRheWA7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRpdGxlKSB7XHJcbiAgICAgICAgICB0aXRsZSA9IGAke1NOQUtFX1RPX0NBTUVMKFxyXG4gICAgICAgICAgICBtZXRyaWMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwYXNjYWw6IHRydWUsXHJcbiAgICAgICAgICAgICAgc3BhY2VkOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgKX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFyZGNvZGVkIHVudGlsIHdlIGFkZCBtb3JlIGZ1bm5lbHNcclxuICBwdWJsaWMgc3RhdGljIGZ1bm5lbEZ1bm5lbE1ldHJpY3MoKTogTWV0cmljRW51bVtdIHtcclxuICAgIGNvbnN0IG1ldHJpY3M6IE1ldHJpY0VudW1bXSA9IFtcclxuICAgICAgTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUyxcclxuICAgICAgTWV0cmljRW51bS5JVEVNX1ZJRVdfRVZFTlRTLFxyXG4gICAgICBNZXRyaWNFbnVtLkFERF9UT19DQVJUUyxcclxuICAgICAgTWV0cmljRW51bS5DSEVDS09VVFMsXHJcbiAgICAgIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFUyxcclxuICAgICAgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFLFxyXG4gICAgXTtcclxuICAgIHJldHVybiBtZXRyaWNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBvbmJvYXJkaW5nVGFyZ2V0TXNnKFxyXG4gICAgbWV0cmljOiBNZXRyaWNFbnVtLFxyXG4gICAgY3VycmVudERpc3BsYXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIHN1Z2dlc3RlZFRhcmdldERpc3BsYXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICApOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cjogc3RyaW5nID0gJyc7XHJcbiAgICBjb25zdCBtZXRyaWNUaXRsZTogc3RyaW5nID0gTWV0cmljRW51bVV0aWwudGl0bGUobWV0cmljKTtcclxuICAgIC8vIFRPRE86IGZpeCB1cFxyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlNDUkVFTl9QQUdFX1ZJRVdTOlxyXG4gICAgICAgIHN0ciA9ICRsb2NhbGl6ZWBZb3VyIGN1cnJlbnQgKioke21ldHJpY1RpdGxlfSoqIGlzICoqJHtjdXJyZW50RGlzcGxheX0qKi4gVGhpcyBpcyB0aGUgdG9wIG9mIHlvdXIgZnVubmVsLCB3aGVyZSB1c2VycyBmaXJzdCBlbmdhZ2Ugd2l0aCB5b3VyIGNvbnRlbnQuIFRvIGluY3JlYXNlIHZpc2liaWxpdHksIHdlIHN1Z2dlc3Qgc2V0dGluZyBhIHRhcmdldCBvZiAqKiR7c3VnZ2VzdGVkVGFyZ2V0RGlzcGxheX0qKi4gVGhpcyB3aWxsIGhlbHAgYXR0cmFjdCBtb3JlIHBvdGVudGlhbCBjdXN0b21lcnMgdG8geW91ciBzaXRlLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1ZJRVdfRVZFTlRTOlxyXG4gICAgICAgIHN0ciA9ICRsb2NhbGl6ZWBZb3UncmUgY3VycmVudGx5IHNlZWluZyAqKiR7Y3VycmVudERpc3BsYXl9KiogKioke21ldHJpY1RpdGxlfSoqLiBUaGlzIGlzIHdoZXJlIHVzZXJzIHN0YXJ0IHNob3dpbmcgaW50ZXJlc3QgaW4gc3BlY2lmaWMgcHJvZHVjdHMuIFRvIHR1cm4gbW9yZSBvZiB0aG9zZSB2aWV3cyBpbnRvIGFjdGlvbnMsIHdlIHN1Z2dlc3Qgc2V0dGluZyBhIHRhcmdldCBvZiAqKiR7c3VnZ2VzdGVkVGFyZ2V0RGlzcGxheX0qKi4gVGhlIG1vcmUgZW5nYWdlZCB0aGV5IGFyZSwgdGhlIG1vcmUgbGlrZWx5IHRoZXknbGwgYWRkIGl0ZW1zIHRvIHRoZWlyIGNhcnQuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUUzpcclxuICAgICAgICBzdHIgPSAkbG9jYWxpemVgUmlnaHQgbm93LCB5b3VyICoqJHttZXRyaWNUaXRsZX0qKiBpcyBhdCAqKiR7Y3VycmVudERpc3BsYXl9KiouIFRoaXMgc3RlcCBpcyBjcnVjaWFsIGFzIGl0IHNob3dzIHNlcmlvdXMgYnV5aW5nIGludGVudC4gVG8gZW5jb3VyYWdlIG1vcmUgY3VzdG9tZXJzIHRvIHRha2UgdGhpcyBzdGVwLCBjb25zaWRlciBzZXR0aW5nIGEgdGFyZ2V0IG9mICoqJHtzdWdnZXN0ZWRUYXJnZXREaXNwbGF5fSoqLiBTbWFsbCBpbmNyZWFzZXMgaGVyZSBjYW4gc2lnbmlmaWNhbnRseSBpbXBhY3QgeW91ciBvdmVyYWxsIHNhbGVzLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFOlxyXG4gICAgICAgIHN0ciA9ICRsb2NhbGl6ZWBZb3VyIGN1cnJlbnQgKioke21ldHJpY1RpdGxlfSoqIGlzICoqJHtjdXJyZW50RGlzcGxheX0qKi4gVGhpcyBpcyB0aGUgdWx0aW1hdGUgZ29hbOKAlGNvbnZlcnRpbmcgaW50ZXJlc3QgaW50byBzYWxlcy4gV2Ugc3VnZ2VzdCBhaW1pbmcgZm9yIGEgdGFyZ2V0IG9mICoqJHtzdWdnZXN0ZWRUYXJnZXREaXNwbGF5fSoqIHRvIGRyaXZlIG1vcmUgcmV2ZW51ZS4gRXZlcnkgc21hbGwgaW1wcm92ZW1lbnQgYWxvbmcgdGhlIGZ1bm5lbCBhZGRzIHVwIHRvIGJpZyBnYWlucyBoZXJlLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3RyO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFyZGNvZGVkIHVudGlsIHdlIGFkZCBtb3JlIGZ1bm5lbHNcclxuICBwdWJsaWMgc3RhdGljIHJldmVyc2VGdW5uZWxUYXJnZXRNZXRyaWMoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0sXHJcbiAgKTogTWV0cmljRW51bSB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgZnVubmVsTWV0cmljTWV0cmljOiBNZXRyaWNFbnVtIHwgdW5kZWZpbmVkO1xyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlNDUkVFTl9QQUdFX1ZJRVdTX1BFUl9EQVk6XHJcbiAgICAgICAgZnVubmVsTWV0cmljTWV0cmljID0gTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1fVklFV19FVkVOVFNfUEVSX0RBWTpcclxuICAgICAgICBmdW5uZWxNZXRyaWNNZXRyaWMgPSBNZXRyaWNFbnVtLklURU1fVklFV19FVkVOVFM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVFNfUEVSX0RBWTpcclxuICAgICAgICBmdW5uZWxNZXRyaWNNZXRyaWMgPSBNZXRyaWNFbnVtLkFERF9UT19DQVJUUztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUU19QRVJfREFZOlxyXG4gICAgICAgIGZ1bm5lbE1ldHJpY01ldHJpYyA9IE1ldHJpY0VudW0uQ0hFQ0tPVVRTO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZOlxyXG4gICAgICAgIGZ1bm5lbE1ldHJpY01ldHJpYyA9IE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFUztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUVfUEVSX0RBWTpcclxuICAgICAgICBmdW5uZWxNZXRyaWNNZXRyaWMgPSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnVubmVsTWV0cmljTWV0cmljO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkYXRhVHlwZShcclxuICAgIG1ldHJpYzogTWV0cmljRW51bSxcclxuICApOiBEYXRhVHlwZUVudW0ge1xyXG4gICAgbGV0IGRhdGFUeXBlOiBEYXRhVHlwZUVudW0gfCB1bmRlZmluZWQ7XHJcbiAgICBzd2l0Y2ggKG1ldHJpYykge1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0VTU0lPTlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5UUkFOU0FDVElPTlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5ORVdfVVNFUlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRVM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVFM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DSEVDS09VVFM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5FQ09NTUVSQ0VfUFVSQ0hBU0VTOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPTU9USU9OX0NMSUNLUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST01PVElPTl9WSUVXUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0FEREVEX1RPX0NBUlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNU19DSEVDS0VEX09VVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fTElTVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fUFJPTU9USU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfUFVSQ0hBU0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9WSUVXX0VWRU5UUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX1ZJRVdFRF9JTl9MSVNUOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEX0lOX1BST01PVElPTjpcclxuICAgICAgICBkYXRhVHlwZSA9IERhdGFUeXBlRW51bS5JTlRFR0VSO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0VTU0lPTlNfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFDVElWRV9VU0VSU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uVFJBTlNBQ1RJT05TX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5ORVdfVVNFUlNfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlNDUkVFTl9QQUdFX1ZJRVdTX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVFNfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPTU9USU9OX0NMSUNLU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPTU9USU9OX1ZJRVdTX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5HUk9TU19QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5FQ09NTUVSQ0VfQ09OVkVSU0lPTl9SQVRFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFVSQ0hBU0VfUkVWRU5VRTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFWRVJBR0VfT1JERVJfVkFMVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5VU0VSX0VOR0FHRU1FTlRfRFVSQVRJT046XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5CT1VOQ0VfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkdST1NTX1BVUkNIQVNFX1JFVkVOVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5SRUZVTkRfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0hJUFBJTkdfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uVEFYX0FNT1VOVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkdST1NTX0lURU1fUkVWRU5VRTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1fRElTQ09VTlRfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9SRUZVTkRfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9SRVZFTlVFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9WSUVXX0VWRU5UU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQUNUSVZFX1VTRVJfQUREX1RPX0NBUlRfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX0FERF9UT19DQVJUOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfQ0hFQ0tPVVQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5WSUVXX1RPX1BST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DQVJUX1RPX0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUX1RPX1BVUkNIQVNFX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DSEVDS09VVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUl9DSEVDS09VVF9SQVRFOlxyXG4gICAgICAgIGRhdGFUeXBlID0gRGF0YVR5cGVFbnVtLkRPVUJMRTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXRlbVRhYmxlKFxyXG4gICAgbWV0cmljOiBNZXRyaWNFbnVtIHwgdW5kZWZpbmVkLFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGl0ZW1UYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0FEREVEX1RPX0NBUlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNU19DSEVDS0VEX09VVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fTElTVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fUFJPTU9USU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfUFVSQ0hBU0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEX0lOX0xJU1Q6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNU19WSUVXRURfSU5fUFJPTU9USU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9ESVNDT1VOVF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFRlVORF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFVkVOVUU6XHJcbiAgICAgICAgaXRlbVRhYmxlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtVGFibGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG51bWJlclR5cGUoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogTnVtYmVyVHlwZUVudW0gfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IG51bWJlclR5cGU6IE51bWJlclR5cGVFbnVtIHwgdW5kZWZpbmVkO1xyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BVkVSQUdFX09SREVSX1ZBTFVFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uVVNFUl9FTkdBR0VNRU5UX0RVUkFUSU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uR1JPU1NfUFVSQ0hBU0VfUkVWRU5VRTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkdST1NTX1BVUkNIQVNFX1JFVkVOVUVfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFRlVORF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5TSElQUElOR19BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5UQVhfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uR1JPU1NfSVRFTV9SRVZFTlVFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9ESVNDT1VOVF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFRlVORF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFVkVOVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5SRVZFTlVFX1BFUl9BRERfVE9fQ0FSVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX0NIRUNLT1VUOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfUFJPRFVDVF9WSUVXOlxyXG4gICAgICAgIG51bWJlclR5cGUgPSBOdW1iZXJUeXBlRW51bS5NT05FVEFSWTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRV9SQVRFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFDVElWRV9VU0VSX0FERF9UT19DQVJUX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5WSUVXX1RPX1BST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DQVJUX1RPX0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUX1RPX1BVUkNIQVNFX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DSEVDS09VVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUl9DSEVDS09VVF9SQVRFOlxyXG4gICAgICAgIG51bWJlclR5cGUgPSBOdW1iZXJUeXBlRW51bS5QRVJDRU5UQUdFO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bWJlclR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzUmF0aW8oXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgaXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgICBpZiAoXHJcbiAgICAgIE1ldHJpY0VudW1VdGlsLm51bWJlclR5cGUobWV0cmljKSA9PT0gTnVtYmVyVHlwZUVudW0uUEVSQ0VOVEFHRVxyXG4gICAgKSB7XHJcbiAgICAgIGlzID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBtZXRyaWMgJiZcclxuICAgICAgICBbXHJcbiAgICAgICAgICBNZXRyaWNFbnVtLkFWRVJBR0VfT1JERVJfVkFMVUUsXHJcbiAgICAgICAgICBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVyxcclxuICAgICAgICAgIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfQUREX1RPX0NBUlQsXHJcbiAgICAgICAgICBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX0NIRUNLT1VULFxyXG4gICAgICAgIF0uaW5jbHVkZXMobWV0cmljKVxyXG4gICAgICApIHtcclxuICAgICAgICBpcyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaW5jcmVhc2VCYWQoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgaW5jcmVhc2VCYWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgICBzd2l0Y2ggKG1ldHJpYykge1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQk9VTkNFUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRV9SQVRFOlxyXG4gICAgICAgIGluY3JlYXNlQmFkID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpbmNyZWFzZUJhZDtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc3RhdGljIGRlZmluaXRpb24oXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCBkZWZpbml0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBzd2l0Y2ggKG1ldHJpYykge1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQUNUSVZFX1VTRVJTOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSAkbG9jYWxpemVgVGhlIG51bWJlciBvZiB1bmlxdWUgdXNlcnMgd2hvIGVuZ2FnZWQgd2l0aCB5b3VyIHNpdGUgb3IgYXBwIGluIGEgc3BlY2lmaWVkIGRhdGUgcmFuZ2UuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLk5FV19VU0VSUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBudW1iZXIgb2YgbmV3IHVuaXF1ZSB1c2VycyB3aG8gdmlzaXRzIHlvdXIgd2Vic2l0ZSBvciBhcHAgZm9yIHRoZSBmaXJzdCB0aW1lIGR1cmluZyBhIHNwZWNpZmllZCBwZXJpb2QuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRV9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSAkbG9jYWxpemVgVGhlIHBlcmNlbnRhZ2Ugb2Ygc2Vzc2lvbnMgdGhhdCBlbmQgYWZ0ZXIgYSBzaW5nbGUgcGFnZSB2aWV3LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5TRVNTSU9OUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYEEgc2Vzc2lvbiBpcyBhIHBlcmlvZCBvZiB0aW1lIGR1cmluZyB3aGljaCBhIHVzZXIgaW50ZXJhY3RzIHdpdGggeW91ciB3ZWJzaXRlIG9yIGFwcC4gQW5hbHl0aWNzIGNhbGN1bGF0ZXMgdGhlIG51bWJlciBvZiBzZXNzaW9ucyB0aGF0IG9jY3VyIG9uIHlvdXIgc2l0ZSBvciBhcHAgYnkgZXN0aW1hdGluZyB0aGUgbnVtYmVyIG9mIHVuaXF1ZSBzZXNzaW9uIElEcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0NSRUVOX1BBR0VfVklFV1M6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBUaGUgbnVtYmVyIG9mIGFwcCBzY3JlZW5zIG9yIHdlYiBwYWdlcyB5b3VyIHVzZXJzIHZpZXdlZC4gUmVwZWF0ZWQgdmlld3Mgb2YgYSBzaW5nbGUgcGFnZSBvciBzY3JlZW4gYXJlIGNvdW50ZWQuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1fVklFV19FVkVOVFM6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBBIGNvdW50IG9mIGhvdyBtYW55IHRpbWVzIGEgdXNlciB2aWV3cyBwcm9kdWN0IGRldGFpbHMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBudW1iZXIgb2YgdGltZXMgdXNlcnMgYWRkZWQgcHJvZHVjdHMgdG8gdGhlaXIgc2hvcHBpbmcgY2FydHMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBudW1iZXIgb2YgdGltZXMgdXNlcnMgc3RhcnRlZCB0aGUgY2hlY2tvdXQgcHJvY2Vzcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBudW1iZXIgb2YgdGltZXMgdXNlcnMgY29tcGxldGVkIGEgcHVyY2hhc2UuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBQdXJjaGFzZSByZXZlbnVlIHNob3dzIHRoZSB0b3RhbCBhbW91bnQgb2YgcmV2ZW51ZSBnZW5lcmF0ZWQgZnJvbSBlY29tbWVyY2UgYW5kIGluLWFwcCBwdXJjaGFzZXMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST0RVQ1RfVklFV19SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSAkbG9jYWxpemVgVGhlIHBlcmNlbnRhZ2Ugb2Ygc2Vzc2lvbnMgd2hlcmUgYSB1c2VyIHZpZXdzIGEgcHJvZHVjdC4gSXQgbWVhc3VyZXMgaG93IG9mdGVuIHZpc2l0b3JzIGVuZ2FnZSB3aXRoIHByb2R1Y3QgcGFnZXMgcmVsYXRpdmUgdG8gb3ZlcmFsbCBzaXRlIGFjdGl2aXR5LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVF9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSAkbG9jYWxpemVgVGhlIHBlcmNlbnRhZ2Ugb2Ygc2Vzc2lvbnMgd2hlcmUgYSB1c2VyIGFkZHMgYSBwcm9kdWN0IHRvIHRoZWlyIGNhcnQuIEl0IGluZGljYXRlcyBob3cgZnJlcXVlbnRseSB2aXNpdG9ycyB0YWtlIHRoZSBzdGVwIHRvd2FyZCBhIHB1cmNoYXNlIGR1cmluZyB0aGVpciBzaXRlIHZpc2l0LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUl9BRERfVE9fQ0FSVF9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSAkbG9jYWxpemVgVGhlIHBlcmNlbnRhZ2Ugb2YgYWN0aXZlIHVzZXJzIHdobyBhZGQgYSBwcm9kdWN0IHRvIHRoZWlyIGNhcnQuIEl0IG1lYXN1cmVzIGhvdyBvZnRlbiBlbmdhZ2VkIHVzZXJz4oCUdGhvc2Ugd2hvIGludGVyYWN0IHdpdGggeW91ciBzaXRlIG9yIGFwcOKAlHRha2UgdGhlIGFjdGlvbiBvZiBhZGRpbmcgYW4gaXRlbSB0byB0aGVpciBjYXJ0LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5WSUVXX1RPX1BST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBUaGUgcGVyY2VudGFnZSBvZiB0b3RhbCBwYWdlIG9yIHNjcmVlbiB2aWV3cyB0aGF0IHJlc3VsdCBpbiBhIHByb2R1Y3Qgdmlldy4gSXQgbWVhc3VyZXMgaG93IG9mdGVuIGdlbmVyYWwgc2l0ZSBvciBhcHAgdmlzaXRzIGxlYWQgdG8gdXNlcnMgc3BlY2lmaWNhbGx5IHZpZXdpbmcgYSBwcm9kdWN0LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBUaGUgcGVyY2VudGFnZSBvZiBwcm9kdWN0IHZpZXdzIHRoYXQgcmVzdWx0IGluIGFuIGl0ZW0gYmVpbmcgYWRkZWQgdG8gdGhlIGNhcnQuIEl0IG1lYXN1cmVzIGhvdyBlZmZlY3RpdmVseSB2aWV3aW5nIGEgcHJvZHVjdCBsZWFkcyB0byB0aGUgbmV4dCBzdGVwIGluIHRoZSBwdXJjaGFzZSBmdW5uZWwuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVzpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBhdmVyYWdlIHJldmVudWUgZ2VuZXJhdGVkIHBlciBwcm9kdWN0IHZpZXcuIEl0IG1lYXN1cmVzIHRoZSBtb25ldGFyeSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBpbnN0YW5jZSBvZiBhIHVzZXIgdmlld2luZyBhIHByb2R1Y3QsIHJlZmxlY3RpbmcgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgcHJvZHVjdCB2aWV3cyBpbiBkcml2aW5nIHNhbGVzLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5SRVZFTlVFX1BFUl9BRERfVE9fQ0FSVDpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBhdmVyYWdlIHJldmVudWUgZ2VuZXJhdGVkIHBlciBpbnN0YW5jZSBvZiBhIHByb2R1Y3QgYmVpbmcgYWRkZWQgdG8gdGhlIGNhcnQuIEl0IG1lYXN1cmVzIHRoZSBtb25ldGFyeSB2YWx1ZSB0aWVkIHRvIGVhY2ggYWRkLXRvLWNhcnQgYWN0aW9uLCBpbmRpY2F0aW5nIGhvdyBlZmZlY3RpdmVseSB0aGVzZSBhY3Rpb25zIGNvbnRyaWJ1dGUgdG8gb3ZlcmFsbCBzYWxlcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQUNUSVZFX1VTRVJfQ0hFQ0tPVVRfUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBwZXJjZW50YWdlIG9mIGFjdGl2ZSB1c2VycyB3aG8gaW5pdGlhdGUgYSBjaGVja291dCBJdCBtZWFzdXJlcyBob3cgb2Z0ZW4gZW5nYWdlZCB1c2Vyc+KAlHRob3NlIGludGVyYWN0aW5nIHdpdGggeW91ciBzaXRlIG9yIGFwcOKAlHByb2NlZWQgdG8gdGhlIGNoZWNrb3V0IHN0YWdlIG9mIHRoZSBwdXJjaGFzZSBwcm9jZXNzLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DQVJUX1RPX0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBwZXJjZW50YWdlIG9mIGFkZC10by1jYXJ0IGFjdGlvbnMgdGhhdCByZXN1bHQgaW4gYSBjaGVja291dCBiZWluZyBpbml0aWF0ZWQuIEl0IG1lYXN1cmVzIGhvdyBlZmZlY3RpdmVseSBhZGRpbmcgYW4gaXRlbSB0byB0aGUgY2FydCBsZWFkcyB0byB0aGUgdXNlciBzdGFydGluZyB0aGUgY2hlY2tvdXQgcHJvY2Vzcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfQ0hFQ0tPVVQ6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBUaGUgYXZlcmFnZSByZXZlbnVlIGdlbmVyYXRlZCBwZXIgY2hlY2tvdXQgaW5pdGlhdGlvbi4gSXQgbWVhc3VyZXMgdGhlIG1vbmV0YXJ5IHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGluc3RhbmNlIG9mIGEgdXNlciBzdGFydGluZyB0aGUgY2hlY2tvdXQgcHJvY2VzcywgcmVmbGVjdGluZyBpdHMgY29udHJpYnV0aW9uIHRvIG92ZXJhbGwgc2FsZXMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBwZXJjZW50YWdlIG9mIGFkZC10by1jYXJ0IGFjdGlvbnMgdGhhdCByZXN1bHQgaW4gYSBjb21wbGV0ZWQgZS1jb21tZXJjZSBwdXJjaGFzZS4gSXQgbWVhc3VyZXMgaG93IGVmZmVjdGl2ZWx5IGFkZGluZyBhbiBpdGVtIHRvIHRoZSBjYXJ0IGxlYWRzIHRvIGEgZmluYWwgc2FsZS5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQ0hFQ0tPVVRfQ09OVkVSU0lPTl9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSAkbG9jYWxpemVgVGhlIHBlcmNlbnRhZ2Ugb2YgY2hlY2tvdXQgaW5pdGlhdGlvbnMgdGhhdCByZXN1bHQgaW4gYSBjb21wbGV0ZWQgZS1jb21tZXJjZSBwdXJjaGFzZS4gSXQgbWVhc3VyZXMgaG93IGVmZmVjdGl2ZWx5IHN0YXJ0aW5nIHRoZSBjaGVja291dCBwcm9jZXNzIGxlYWRzIHRvIGEgZmluYWxpemVkIHNhbGUuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkVDT01NRVJDRV9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBUaGUgcGVyY2VudGFnZSBvZiBzZXNzaW9ucyB0aGF0IHJlc3VsdCBpbiBhIGNvbXBsZXRlZCBlLWNvbW1lcmNlIHB1cmNoYXNlLiBJdCBtZWFzdXJlcyBob3cgb2Z0ZW4gYSBzaXRlIHZpc2l0IGxlYWRzIHRvIGEgZmluYWxpemVkIHNhbGUsIHJlZmxlY3Rpbmcgb3ZlcmFsbCBlZmZlY3RpdmVuZXNzIG9mIHRoZSBlLWNvbW1lcmNlIGZ1bm5lbC5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPRFVDVF9WSUVXX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gJGxvY2FsaXplYFRoZSBwZXJjZW50YWdlIG9mIHByb2R1Y3Qgdmlld3MgdGhhdCByZXN1bHQgaW4gYSBjb21wbGV0ZWQgZS1jb21tZXJjZSBwdXJjaGFzZS4gSXQgbWVhc3VyZXMgaG93IGVmZmVjdGl2ZWx5IHZpZXdpbmcgYSBwcm9kdWN0IGxlYWRzIHRvIGEgZmluYWxpemVkIHNhbGUuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFWRVJBR0VfT1JERVJfVkFMVUU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9ICRsb2NhbGl6ZWBUaGUgYXZlcmFnZSByZXZlbnVlIGdlbmVyYXRlZCBwZXIgY29tcGxldGVkIGUtY29tbWVyY2UgcHVyY2hhc2UuIEl0IG1lYXN1cmVzIHRoZSB0eXBpY2FsIG1vbmV0YXJ5IHZhbHVlIG9mIGVhY2ggb3JkZXIsIHByb3ZpZGluZyBpbnNpZ2h0IGludG8gY3VzdG9tZXIgc3BlbmRpbmcgYmVoYXZpb3IuYDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBkZWZpbml0aW9uO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
401
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NoYXJlZC9tb2RlbC9zcmMvbGliL2RhdGEvbWV0cmljLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzlDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNsRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRTVDLE1BQU0sQ0FBTixJQUFZLFVBaUVYO0FBakVELFdBQVksVUFBVTtJQUNwQixtQ0FBcUIsQ0FBQTtJQUNyQixtREFBcUMsQ0FBQTtJQUNyQywyQ0FBNkIsQ0FBQTtJQUM3QiwyREFBNkMsQ0FBQTtJQUM3QywyQ0FBNkIsQ0FBQTtJQUM3QiwyREFBNkMsQ0FBQTtJQUM3QyxtREFBcUMsQ0FBQTtJQUNyQyxtRUFBcUQsQ0FBQTtJQUNyRCx5REFBMkMsQ0FBQTtJQUMzQyxxQ0FBdUIsQ0FBQTtJQUN2QixxREFBdUMsQ0FBQTtJQUN2QyxtRUFBcUQsQ0FBQTtJQUNyRCxxREFBdUMsQ0FBQTtJQUN2QyxxRUFBdUQsQ0FBQTtJQUN2RCxpQ0FBbUIsQ0FBQTtJQUNuQix5Q0FBMkIsQ0FBQTtJQUMzQiwyQ0FBNkIsQ0FBQTtJQUM3QiwyREFBNkMsQ0FBQTtJQUM3QyxxQ0FBdUIsQ0FBQTtJQUN2QixxREFBdUMsQ0FBQTtJQUN2Qyx5REFBMkMsQ0FBQTtJQUMzQyx5RUFBMkQsQ0FBQTtJQUMzRCxxRUFBdUQsQ0FBQTtJQUN2RCwrREFBaUQsQ0FBQTtJQUNqRCwrRUFBaUUsQ0FBQTtJQUNqRSxtREFBcUMsQ0FBQTtJQUNyQyxtRUFBcUQsQ0FBQTtJQUNyRCxtREFBcUMsQ0FBQTtJQUNyQyxtRUFBcUQsQ0FBQTtJQUNyRCxpREFBbUMsQ0FBQTtJQUNuQyxpRUFBbUQsQ0FBQTtJQUNuRCw2Q0FBK0IsQ0FB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QztnQkFDeEssTUFBTTtZQUNSLEtBQUssVUFBVSxDQUFDLG1CQUFtQjtnQkFDakMsVUFBVSxHQUFHLDJLQUEySyxDQUFDO2dCQUN6TCxNQUFNO1FBQ1YsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0YVR5cGVFbnVtfSBmcm9tICcuL2RhdGEtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtOdW1iZXJUeXBlRW51bX0gZnJvbSAnLi9udW1iZXItdHlwZS5lbnVtJztcclxuaW1wb3J0IHtTTkFLRV9UT19DQU1FTH0gZnJvbSAnQGplYmdlbS91dGlsJztcclxuXHJcbmV4cG9ydCBlbnVtIE1ldHJpY0VudW0ge1xyXG4gIFNFU1NJT05TID0gJ1NFU1NJT05TJyxcclxuICBTRVNTSU9OU19QRVJfREFZID0gJ1NFU1NJT05TX1BFUl9EQVknLFxyXG4gIEFDVElWRV9VU0VSUyA9ICdBQ1RJVkVfVVNFUlMnLFxyXG4gIEFDVElWRV9VU0VSU19QRVJfREFZID0gJ0FDVElWRV9VU0VSU19QRVJfREFZJyxcclxuICBUUkFOU0FDVElPTlMgPSAnVFJBTlNBQ1RJT05TJyxcclxuICBUUkFOU0FDVElPTlNfUEVSX0RBWSA9ICdUUkFOU0FDVElPTlNfUEVSX0RBWScsXHJcbiAgUFVSQ0hBU0VfUkVWRU5VRSA9ICdQVVJDSEFTRV9SRVZFTlVFJyxcclxuICBQVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVkgPSAnUFVSQ0hBU0VfUkVWRU5VRV9QRVJfREFZJyxcclxuICBBVkVSQUdFX09SREVSX1ZBTFVFID0gJ0FWRVJBR0VfT1JERVJfVkFMVUUnLFxyXG4gIE5FV19VU0VSUyA9ICdORVdfVVNFUlMnLFxyXG4gIE5FV19VU0VSU19QRVJfREFZID0gJ05FV19VU0VSU19QRVJfREFZJyxcclxuICBVU0VSX0VOR0FHRU1FTlRfRFVSQVRJT04gPSAnVVNFUl9FTkdBR0VNRU5UX0RVUkFUSU9OJyxcclxuICBTQ1JFRU5fUEFHRV9WSUVXUyA9ICdTQ1JFRU5fUEFHRV9WSUVXUycsXHJcbiAgU0NSRUVOX1BBR0VfVklFV1NfUEVSX0RBWSA9ICdTQ1JFRU5fUEFHRV9WSUVXU19QRVJfREFZJyxcclxuICBCT1VOQ0VTID0gJ0JPVU5DRVMnLFxyXG4gIEJPVU5DRV9SQVRFID0gJ0JPVU5DRV9SQVRFJyxcclxuICBBRERfVE9fQ0FSVFMgPSAnQUREX1RPX0NBUlRTJyxcclxuICBBRERfVE9fQ0FSVFNfUEVSX0RBWSA9ICdBRERfVE9fQ0FSVFNfUEVSX0RBWScsXHJcbiAgQ0hFQ0tPVVRTID0gJ0NIRUNLT1VUUycsXHJcbiAgQ0hFQ0tPVVRTX1BFUl9EQVkgPSAnQ0hFQ0tPVVRTX1BFUl9EQVknLFxyXG4gIEVDT01NRVJDRV9QVVJDSEFTRVMgPSAnRUNPTU1FUkNFX1BVUkNIQVNFUycsXHJcbiAgRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZID0gJ0VDT01NRVJDRV9QVVJDSEFTRVNfUEVSX0RBWScsXHJcbiAgRUNPTU1FUkNFX0NPTlZFUlNJT05fUkFURSA9ICdFQ09NTUVSQ0VfQ09OVkVSU0lPTl9SQVRFJyxcclxuICBHUk9TU19QVVJDSEFTRV9SRVZFTlVFID0gJ0dST1NTX1BVUkNIQVNFX1JFVkVOVUUnLFxyXG4gIEdST1NTX1BVUkNIQVNFX1JFVkVOVUVfUEVSX0RBWSA9ICdHUk9TU19QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVknLFxyXG4gIElURU1fVklFV19FVkVOVFMgPSAnSVRFTV9WSUVXX0VWRU5UUycsXHJcbiAgSVRFTV9WSUVXX0VWRU5UU19QRVJfREFZID0gJ0lURU1fVklFV19FVkVOVFNfUEVSX0RBWScsXHJcbiAgUFJPTU9USU9OX0NMSUNLUyA9ICdQUk9NT1RJT05fQ0xJQ0tTJyxcclxuICBQUk9NT1RJT05fQ0xJQ0tTX1BFUl9EQVkgPSAnUFJPTU9USU9OX0NMSUNLU19QRVJfREFZJyxcclxuICBQUk9NT1RJT05fVklFV1MgPSAnUFJPTU9USU9OX1ZJRVdTJyxcclxuICBQUk9NT1RJT05fVklFV1NfUEVSX0RBWSA9ICdQUk9NT1RJT05fVklFV1NfUEVSX0RBWScsXHJcbiAgUkVGVU5EX0FNT1VOVCA9ICdSRUZVTkRfQU1PVU5UJyxcclxuICBTSElQUElOR19BTU9VTlQgPSAnU0hJUFBJTkdfQU1PVU5UJyxcclxuICBUQVhfQU1PVU5UID0gJ1RBWF9BTU9VTlQnLFxyXG5cclxuICBBQ1RJVkVfVVNFUl9BRERfVE9fQ0FSVF9SQVRFID0gJ0FDVElWRV9VU0VSX0FERF9UT19DQVJUX1JBVEUnLFxyXG4gIFJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVyA9ICdSRVZFTlVFX1BFUl9QUk9EVUNUX1ZJRVcnLFxyXG4gIFJFVkVOVUVfUEVSX0FERF9UT19DQVJUID0gJ1JFVkVOVUVfUEVSX0FERF9UT19DQVJUJyxcclxuICBSRVZFTlVFX1BFUl9DSEVDS09VVCA9ICdSRVZFTlVFX1BFUl9DSEVDS09VVCcsXHJcbiAgVklFV19UT19QUk9EVUNUX1ZJRVdfQ09OVkVSU0lPTl9SQVRFID0gJ1ZJRVdfVE9fUFJPRFVDVF9WSUVXX0NPTlZFUlNJT05fUkFURScsXHJcbiAgUFJPRFVDVF9WSUVXX1RPX0NBUlRfQ09OVkVSU0lPTl9SQVRFID0gJ1BST0RVQ1RfVklFV19UT19DQVJUX0NPTlZFUlNJT05fUkFURScsXHJcbiAgQ0FSVF9UT19DSEVDS09VVF9DT05WRVJTSU9OX1JBVEUgPSAnQ0FSVF9UT19DSEVDS09VVF9DT05WRVJTSU9OX1JBVEUnLFxyXG4gIENIRUNLT1VUX1RPX1BVUkNIQVNFX0NPTlZFUlNJT05fUkFURSA9ICdDSEVDS09VVF9UT19QVVJDSEFTRV9DT05WRVJTSU9OX1JBVEUnLFxyXG4gIFBST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEUgPSAnUFJPRFVDVF9WSUVXX0NPTlZFUlNJT05fUkFURScsXHJcbiAgUFJPRFVDVF9WSUVXX1JBVEUgPSAnUFJPRFVDVF9WSUVXX1JBVEUnLFxyXG4gIEFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURSA9ICdBRERfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEUnLFxyXG4gIEFERF9UT19DQVJUX1JBVEUgPSAnQUREX1RPX0NBUlRfUkFURScsXHJcbiAgQ0hFQ0tPVVRfQ09OVkVSU0lPTl9SQVRFID0gJ0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURScsXHJcbiAgQUNUSVZFX1VTRVJfQ0hFQ0tPVVRfUkFURSA9ICdBQ1RJVkVfVVNFUl9DSEVDS09VVF9SQVRFJyxcclxuXHJcbiAgLy8gSXRlbVxyXG4gIEdST1NTX0lURU1fUkVWRU5VRSA9ICdHUk9TU19JVEVNX1JFVkVOVUUnLFxyXG4gIElURU1fRElTQ09VTlRfQU1PVU5UID0gJ0lURU1fRElTQ09VTlRfQU1PVU5UJyxcclxuICBJVEVNX1JFRlVORF9BTU9VTlQgPSAnSVRFTV9SRUZVTkRfQU1PVU5UJyxcclxuICBJVEVNX1JFVkVOVUUgPSAnSVRFTV9SRVZFTlVFJyxcclxuICBJVEVNU19BRERFRF9UT19DQVJUID0gJ0lURU1TX0FEREVEX1RPX0NBUlQnLFxyXG4gIElURU1TX0NIRUNLRURfT1VUID0gJ0lURU1TX0NIRUNLRURfT1VUJyxcclxuICBJVEVNU19DTElDS0VEX0lOX0xJU1QgPSAnSVRFTVNfQ0xJQ0tFRF9JTl9MSVNUJyxcclxuICBJVEVNU19DTElDS0VEX0lOX1BST01PVElPTiA9ICdJVEVNU19DTElDS0VEX0lOX1BST01PVElPTicsXHJcbiAgSVRFTVNfUFVSQ0hBU0VEID0gJ0lURU1TX1BVUkNIQVNFRCcsXHJcbiAgSVRFTVNfVklFV0VEID0gJ0lURU1TX1ZJRVdFRCcsXHJcbiAgSVRFTVNfVklFV0VEX0lOX0xJU1QgPSAnSVRFTVNfVklFV0VEX0lOX0xJU1QnLFxyXG4gIElURU1TX1ZJRVdFRF9JTl9QUk9NT1RJT04gPSAnSVRFTVNfVklFV0VEX0lOX1BST01PVElPTicsXHJcblxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgTWV0cmljRW51bVV0aWwge1xyXG4gIHB1YmxpYyBzdGF0aWMgdGl0bGUoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogc3RyaW5nIHtcclxuICAgIGxldCB0aXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgaWYgKCFtZXRyaWMpIHtcclxuICAgICAgdGl0bGUgPSBgVW5rbm93bmA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRpdGxlKSB7XHJcbiAgICAgICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUzpcclxuICAgICAgICAgICAgdGl0bGUgPSBgVmlld3NgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1ZJRVdfRVZFTlRTOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGBQcm9kdWN0IHZpZXdzYDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9WSUVXX0VWRU5UU19QRVJfREFZOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGBQcm9kdWN0IHZpZXdzIHBlciBkYXlgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5FQ09NTUVSQ0VfUFVSQ0hBU0VTOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGBQdXJjaGFzZXNgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGBSZXZlbnVlYDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZOlxyXG4gICAgICAgICAgICB0aXRsZSA9IGBQdXJjaGFzZXMgcGVyIGRheWA7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIXRpdGxlKSB7XHJcbiAgICAgICAgICB0aXRsZSA9IGAke1NOQUtFX1RPX0NBTUVMKFxyXG4gICAgICAgICAgICBtZXRyaWMsXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBwYXNjYWw6IHRydWUsXHJcbiAgICAgICAgICAgICAgc3BhY2VkOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgKX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFyZGNvZGVkIHVudGlsIHdlIGFkZCBtb3JlIGZ1bm5lbHNcclxuICBwdWJsaWMgc3RhdGljIGZ1bm5lbEZ1bm5lbE1ldHJpY3MoKTogTWV0cmljRW51bVtdIHtcclxuICAgIGNvbnN0IG1ldHJpY3M6IE1ldHJpY0VudW1bXSA9IFtcclxuICAgICAgTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUyxcclxuICAgICAgTWV0cmljRW51bS5JVEVNX1ZJRVdfRVZFTlRTLFxyXG4gICAgICBNZXRyaWNFbnVtLkFERF9UT19DQVJUUyxcclxuICAgICAgTWV0cmljRW51bS5DSEVDS09VVFMsXHJcbiAgICAgIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFUyxcclxuICAgICAgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFLFxyXG4gICAgXTtcclxuICAgIHJldHVybiBtZXRyaWNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBvbmJvYXJkaW5nVGFyZ2V0TXNnKFxyXG4gICAgbWV0cmljOiBNZXRyaWNFbnVtLFxyXG4gICAgY3VycmVudERpc3BsYXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIHN1Z2dlc3RlZFRhcmdldERpc3BsYXk6IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICApOiBzdHJpbmcge1xyXG4gICAgbGV0IHN0cjogc3RyaW5nID0gJyc7XHJcbiAgICBjb25zdCBtZXRyaWNUaXRsZTogc3RyaW5nID0gTWV0cmljRW51bVV0aWwudGl0bGUobWV0cmljKTtcclxuICAgIC8vIFRPRE86IGZpeCB1cFxyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlNDUkVFTl9QQUdFX1ZJRVdTOlxyXG4gICAgICAgIHN0ciA9IGBZb3VyIGN1cnJlbnQgKioke21ldHJpY1RpdGxlfSoqIGlzICoqJHtjdXJyZW50RGlzcGxheX0qKi4gVGhpcyBpcyB0aGUgdG9wIG9mIHlvdXIgZnVubmVsLCB3aGVyZSB1c2VycyBmaXJzdCBlbmdhZ2Ugd2l0aCB5b3VyIGNvbnRlbnQuIFRvIGluY3JlYXNlIHZpc2liaWxpdHksIHdlIHN1Z2dlc3Qgc2V0dGluZyBhIHRhcmdldCBvZiAqKiR7c3VnZ2VzdGVkVGFyZ2V0RGlzcGxheX0qKi4gVGhpcyB3aWxsIGhlbHAgYXR0cmFjdCBtb3JlIHBvdGVudGlhbCBjdXN0b21lcnMgdG8geW91ciBzaXRlLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1ZJRVdfRVZFTlRTOlxyXG4gICAgICAgIHN0ciA9IGBZb3UncmUgY3VycmVudGx5IHNlZWluZyAqKiR7Y3VycmVudERpc3BsYXl9KiogKioke21ldHJpY1RpdGxlfSoqLiBUaGlzIGlzIHdoZXJlIHVzZXJzIHN0YXJ0IHNob3dpbmcgaW50ZXJlc3QgaW4gc3BlY2lmaWMgcHJvZHVjdHMuIFRvIHR1cm4gbW9yZSBvZiB0aG9zZSB2aWV3cyBpbnRvIGFjdGlvbnMsIHdlIHN1Z2dlc3Qgc2V0dGluZyBhIHRhcmdldCBvZiAqKiR7c3VnZ2VzdGVkVGFyZ2V0RGlzcGxheX0qKi4gVGhlIG1vcmUgZW5nYWdlZCB0aGV5IGFyZSwgdGhlIG1vcmUgbGlrZWx5IHRoZXknbGwgYWRkIGl0ZW1zIHRvIHRoZWlyIGNhcnQuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUUzpcclxuICAgICAgICBzdHIgPSBgUmlnaHQgbm93LCB5b3VyICoqJHttZXRyaWNUaXRsZX0qKiBpcyBhdCAqKiR7Y3VycmVudERpc3BsYXl9KiouIFRoaXMgc3RlcCBpcyBjcnVjaWFsIGFzIGl0IHNob3dzIHNlcmlvdXMgYnV5aW5nIGludGVudC4gVG8gZW5jb3VyYWdlIG1vcmUgY3VzdG9tZXJzIHRvIHRha2UgdGhpcyBzdGVwLCBjb25zaWRlciBzZXR0aW5nIGEgdGFyZ2V0IG9mICoqJHtzdWdnZXN0ZWRUYXJnZXREaXNwbGF5fSoqLiBTbWFsbCBpbmNyZWFzZXMgaGVyZSBjYW4gc2lnbmlmaWNhbnRseSBpbXBhY3QgeW91ciBvdmVyYWxsIHNhbGVzLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFOlxyXG4gICAgICAgIHN0ciA9IGBZb3VyIGN1cnJlbnQgKioke21ldHJpY1RpdGxlfSoqIGlzICoqJHtjdXJyZW50RGlzcGxheX0qKi4gVGhpcyBpcyB0aGUgdWx0aW1hdGUgZ29hbOKAlGNvbnZlcnRpbmcgaW50ZXJlc3QgaW50byBzYWxlcy4gV2Ugc3VnZ2VzdCBhaW1pbmcgZm9yIGEgdGFyZ2V0IG9mICoqJHtzdWdnZXN0ZWRUYXJnZXREaXNwbGF5fSoqIHRvIGRyaXZlIG1vcmUgcmV2ZW51ZS4gRXZlcnkgc21hbGwgaW1wcm92ZW1lbnQgYWxvbmcgdGhlIGZ1bm5lbCBhZGRzIHVwIHRvIGJpZyBnYWlucyBoZXJlLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3RyO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFyZGNvZGVkIHVudGlsIHdlIGFkZCBtb3JlIGZ1bm5lbHNcclxuICBwdWJsaWMgc3RhdGljIHJldmVyc2VGdW5uZWxUYXJnZXRNZXRyaWMoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0sXHJcbiAgKTogTWV0cmljRW51bSB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgZnVubmVsTWV0cmljTWV0cmljOiBNZXRyaWNFbnVtIHwgdW5kZWZpbmVkO1xyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlNDUkVFTl9QQUdFX1ZJRVdTX1BFUl9EQVk6XHJcbiAgICAgICAgZnVubmVsTWV0cmljTWV0cmljID0gTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1fVklFV19FVkVOVFNfUEVSX0RBWTpcclxuICAgICAgICBmdW5uZWxNZXRyaWNNZXRyaWMgPSBNZXRyaWNFbnVtLklURU1fVklFV19FVkVOVFM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVFNfUEVSX0RBWTpcclxuICAgICAgICBmdW5uZWxNZXRyaWNNZXRyaWMgPSBNZXRyaWNFbnVtLkFERF9UT19DQVJUUztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUU19QRVJfREFZOlxyXG4gICAgICAgIGZ1bm5lbE1ldHJpY01ldHJpYyA9IE1ldHJpY0VudW0uQ0hFQ0tPVVRTO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZOlxyXG4gICAgICAgIGZ1bm5lbE1ldHJpY01ldHJpYyA9IE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFUztcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUVfUEVSX0RBWTpcclxuICAgICAgICBmdW5uZWxNZXRyaWNNZXRyaWMgPSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnVubmVsTWV0cmljTWV0cmljO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkYXRhVHlwZShcclxuICAgIG1ldHJpYzogTWV0cmljRW51bSxcclxuICApOiBEYXRhVHlwZUVudW0ge1xyXG4gICAgbGV0IGRhdGFUeXBlOiBEYXRhVHlwZUVudW0gfCB1bmRlZmluZWQ7XHJcbiAgICBzd2l0Y2ggKG1ldHJpYykge1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0VTU0lPTlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5UUkFOU0FDVElPTlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5ORVdfVVNFUlM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5TQ1JFRU5fUEFHRV9WSUVXUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRVM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVFM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DSEVDS09VVFM6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5FQ09NTUVSQ0VfUFVSQ0hBU0VTOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPTU9USU9OX0NMSUNLUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST01PVElPTl9WSUVXUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0FEREVEX1RPX0NBUlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNU19DSEVDS0VEX09VVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fTElTVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fUFJPTU9USU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfUFVSQ0hBU0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9WSUVXX0VWRU5UUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX1ZJRVdFRF9JTl9MSVNUOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEX0lOX1BST01PVElPTjpcclxuICAgICAgICBkYXRhVHlwZSA9IERhdGFUeXBlRW51bS5JTlRFR0VSO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0VTU0lPTlNfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFDVElWRV9VU0VSU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uVFJBTlNBQ1RJT05TX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5ORVdfVVNFUlNfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlNDUkVFTl9QQUdFX1ZJRVdTX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVFNfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPTU9USU9OX0NMSUNLU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPTU9USU9OX1ZJRVdTX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5HUk9TU19QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5FQ09NTUVSQ0VfQ09OVkVSU0lPTl9SQVRFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFVSQ0hBU0VfUkVWRU5VRTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFWRVJBR0VfT1JERVJfVkFMVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5VU0VSX0VOR0FHRU1FTlRfRFVSQVRJT046XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5CT1VOQ0VfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkdST1NTX1BVUkNIQVNFX1JFVkVOVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5SRUZVTkRfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0hJUFBJTkdfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uVEFYX0FNT1VOVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkdST1NTX0lURU1fUkVWRU5VRTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1fRElTQ09VTlRfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9SRUZVTkRfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9SRVZFTlVFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9WSUVXX0VWRU5UU19QRVJfREFZOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQUNUSVZFX1VTRVJfQUREX1RPX0NBUlRfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX0FERF9UT19DQVJUOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfQ0hFQ0tPVVQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5WSUVXX1RPX1BST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DQVJUX1RPX0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUX1RPX1BVUkNIQVNFX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DSEVDS09VVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUl9DSEVDS09VVF9SQVRFOlxyXG4gICAgICAgIGRhdGFUeXBlID0gRGF0YVR5cGVFbnVtLkRPVUJMRTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRhVHlwZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaXRlbVRhYmxlKFxyXG4gICAgbWV0cmljOiBNZXRyaWNFbnVtIHwgdW5kZWZpbmVkLFxyXG4gICk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGl0ZW1UYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0FEREVEX1RPX0NBUlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNU19DSEVDS0VEX09VVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fTElTVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1TX0NMSUNLRURfSU5fUFJPTU9USU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfUFVSQ0hBU0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTVNfVklFV0VEX0lOX0xJU1Q6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNU19WSUVXRURfSU5fUFJPTU9USU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9ESVNDT1VOVF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFRlVORF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFVkVOVUU6XHJcbiAgICAgICAgaXRlbVRhYmxlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpdGVtVGFibGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIG51bWJlclR5cGUoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogTnVtYmVyVHlwZUVudW0gfCB1bmRlZmluZWQge1xyXG4gICAgbGV0IG51bWJlclR5cGU6IE51bWJlclR5cGVFbnVtIHwgdW5kZWZpbmVkO1xyXG4gICAgc3dpdGNoIChtZXRyaWMpIHtcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QVVJDSEFTRV9SRVZFTlVFX1BFUl9EQVk6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BVkVSQUdFX09SREVSX1ZBTFVFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uVVNFUl9FTkdBR0VNRU5UX0RVUkFUSU9OOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uR1JPU1NfUFVSQ0hBU0VfUkVWRU5VRTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkdST1NTX1BVUkNIQVNFX1JFVkVOVUVfUEVSX0RBWTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFRlVORF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5TSElQUElOR19BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5UQVhfQU1PVU5UOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uR1JPU1NfSVRFTV9SRVZFTlVFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uSVRFTV9ESVNDT1VOVF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFRlVORF9BTU9VTlQ6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5JVEVNX1JFVkVOVUU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5SRVZFTlVFX1BFUl9BRERfVE9fQ0FSVDpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX0NIRUNLT1VUOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfUFJPRFVDVF9WSUVXOlxyXG4gICAgICAgIG51bWJlclR5cGUgPSBOdW1iZXJUeXBlRW51bS5NT05FVEFSWTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRV9SQVRFOlxyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFDVElWRV9VU0VSX0FERF9UT19DQVJUX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5WSUVXX1RPX1BST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DQVJUX1RPX0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUX1RPX1BVUkNIQVNFX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DSEVDS09VVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUl9DSEVDS09VVF9SQVRFOlxyXG4gICAgICAgIG51bWJlclR5cGUgPSBOdW1iZXJUeXBlRW51bS5QRVJDRU5UQUdFO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bWJlclR5cGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIGlzUmF0aW8oXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgaXM6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgICBpZiAoXHJcbiAgICAgIE1ldHJpY0VudW1VdGlsLm51bWJlclR5cGUobWV0cmljKSA9PT0gTnVtYmVyVHlwZUVudW0uUEVSQ0VOVEFHRVxyXG4gICAgKSB7XHJcbiAgICAgIGlzID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBtZXRyaWMgJiZcclxuICAgICAgICBbXHJcbiAgICAgICAgICBNZXRyaWNFbnVtLkFWRVJBR0VfT1JERVJfVkFMVUUsXHJcbiAgICAgICAgICBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVyxcclxuICAgICAgICAgIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfQUREX1RPX0NBUlQsXHJcbiAgICAgICAgICBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX0NIRUNLT1VULFxyXG4gICAgICAgIF0uaW5jbHVkZXMobWV0cmljKVxyXG4gICAgICApIHtcclxuICAgICAgICBpcyA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgaW5jcmVhc2VCYWQoXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XHJcbiAgICBsZXQgaW5jcmVhc2VCYWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XHJcbiAgICBzd2l0Y2ggKG1ldHJpYykge1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQk9VTkNFUzpcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRV9SQVRFOlxyXG4gICAgICAgIGluY3JlYXNlQmFkID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBpbmNyZWFzZUJhZDtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgc3RhdGljIGRlZmluaXRpb24oXHJcbiAgICBtZXRyaWM6IE1ldHJpY0VudW0gfCB1bmRlZmluZWQsXHJcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCBkZWZpbml0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBzd2l0Y2ggKG1ldHJpYykge1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQUNUSVZFX1VTRVJTOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSBgVGhlIG51bWJlciBvZiB1bmlxdWUgdXNlcnMgd2hvIGVuZ2FnZWQgd2l0aCB5b3VyIHNpdGUgb3IgYXBwIGluIGEgc3BlY2lmaWVkIGRhdGUgcmFuZ2UuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLk5FV19VU0VSUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBudW1iZXIgb2YgbmV3IHVuaXF1ZSB1c2VycyB3aG8gdmlzaXRzIHlvdXIgd2Vic2l0ZSBvciBhcHAgZm9yIHRoZSBmaXJzdCB0aW1lIGR1cmluZyBhIHNwZWNpZmllZCBwZXJpb2QuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkJPVU5DRV9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSBgVGhlIHBlcmNlbnRhZ2Ugb2Ygc2Vzc2lvbnMgdGhhdCBlbmQgYWZ0ZXIgYSBzaW5nbGUgcGFnZSB2aWV3LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5TRVNTSU9OUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gYEEgc2Vzc2lvbiBpcyBhIHBlcmlvZCBvZiB0aW1lIGR1cmluZyB3aGljaCBhIHVzZXIgaW50ZXJhY3RzIHdpdGggeW91ciB3ZWJzaXRlIG9yIGFwcC4gQW5hbHl0aWNzIGNhbGN1bGF0ZXMgdGhlIG51bWJlciBvZiBzZXNzaW9ucyB0aGF0IG9jY3VyIG9uIHlvdXIgc2l0ZSBvciBhcHAgYnkgZXN0aW1hdGluZyB0aGUgbnVtYmVyIG9mIHVuaXF1ZSBzZXNzaW9uIElEcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uU0NSRUVOX1BBR0VfVklFV1M6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBUaGUgbnVtYmVyIG9mIGFwcCBzY3JlZW5zIG9yIHdlYiBwYWdlcyB5b3VyIHVzZXJzIHZpZXdlZC4gUmVwZWF0ZWQgdmlld3Mgb2YgYSBzaW5nbGUgcGFnZSBvciBzY3JlZW4gYXJlIGNvdW50ZWQuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLklURU1fVklFV19FVkVOVFM6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBBIGNvdW50IG9mIGhvdyBtYW55IHRpbWVzIGEgdXNlciB2aWV3cyBwcm9kdWN0IGRldGFpbHMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBudW1iZXIgb2YgdGltZXMgdXNlcnMgYWRkZWQgcHJvZHVjdHMgdG8gdGhlaXIgc2hvcHBpbmcgY2FydHMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkNIRUNLT1VUUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBudW1iZXIgb2YgdGltZXMgdXNlcnMgc3RhcnRlZCB0aGUgY2hlY2tvdXQgcHJvY2Vzcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uRUNPTU1FUkNFX1BVUkNIQVNFUzpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBudW1iZXIgb2YgdGltZXMgdXNlcnMgY29tcGxldGVkIGEgcHVyY2hhc2UuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBVUkNIQVNFX1JFVkVOVUU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBQdXJjaGFzZSByZXZlbnVlIHNob3dzIHRoZSB0b3RhbCBhbW91bnQgb2YgcmV2ZW51ZSBnZW5lcmF0ZWQgZnJvbSBlY29tbWVyY2UgYW5kIGluLWFwcCBwdXJjaGFzZXMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlBST0RVQ1RfVklFV19SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSBgVGhlIHBlcmNlbnRhZ2Ugb2Ygc2Vzc2lvbnMgd2hlcmUgYSB1c2VyIHZpZXdzIGEgcHJvZHVjdC4gSXQgbWVhc3VyZXMgaG93IG9mdGVuIHZpc2l0b3JzIGVuZ2FnZSB3aXRoIHByb2R1Y3QgcGFnZXMgcmVsYXRpdmUgdG8gb3ZlcmFsbCBzaXRlIGFjdGl2aXR5LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BRERfVE9fQ0FSVF9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSBgVGhlIHBlcmNlbnRhZ2Ugb2Ygc2Vzc2lvbnMgd2hlcmUgYSB1c2VyIGFkZHMgYSBwcm9kdWN0IHRvIHRoZWlyIGNhcnQuIEl0IGluZGljYXRlcyBob3cgZnJlcXVlbnRseSB2aXNpdG9ycyB0YWtlIHRoZSBzdGVwIHRvd2FyZCBhIHB1cmNoYXNlIGR1cmluZyB0aGVpciBzaXRlIHZpc2l0LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5BQ1RJVkVfVVNFUl9BRERfVE9fQ0FSVF9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSBgVGhlIHBlcmNlbnRhZ2Ugb2YgYWN0aXZlIHVzZXJzIHdobyBhZGQgYSBwcm9kdWN0IHRvIHRoZWlyIGNhcnQuIEl0IG1lYXN1cmVzIGhvdyBvZnRlbiBlbmdhZ2VkIHVzZXJz4oCUdGhvc2Ugd2hvIGludGVyYWN0IHdpdGggeW91ciBzaXRlIG9yIGFwcOKAlHRha2UgdGhlIGFjdGlvbiBvZiBhZGRpbmcgYW4gaXRlbSB0byB0aGVpciBjYXJ0LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5WSUVXX1RPX1BST0RVQ1RfVklFV19DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBUaGUgcGVyY2VudGFnZSBvZiB0b3RhbCBwYWdlIG9yIHNjcmVlbiB2aWV3cyB0aGF0IHJlc3VsdCBpbiBhIHByb2R1Y3Qgdmlldy4gSXQgbWVhc3VyZXMgaG93IG9mdGVuIGdlbmVyYWwgc2l0ZSBvciBhcHAgdmlzaXRzIGxlYWQgdG8gdXNlcnMgc3BlY2lmaWNhbGx5IHZpZXdpbmcgYSBwcm9kdWN0LmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5QUk9EVUNUX1ZJRVdfVE9fQ0FSVF9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBUaGUgcGVyY2VudGFnZSBvZiBwcm9kdWN0IHZpZXdzIHRoYXQgcmVzdWx0IGluIGFuIGl0ZW0gYmVpbmcgYWRkZWQgdG8gdGhlIGNhcnQuIEl0IG1lYXN1cmVzIGhvdyBlZmZlY3RpdmVseSB2aWV3aW5nIGEgcHJvZHVjdCBsZWFkcyB0byB0aGUgbmV4dCBzdGVwIGluIHRoZSBwdXJjaGFzZSBmdW5uZWwuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLlJFVkVOVUVfUEVSX1BST0RVQ1RfVklFVzpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBhdmVyYWdlIHJldmVudWUgZ2VuZXJhdGVkIHBlciBwcm9kdWN0IHZpZXcuIEl0IG1lYXN1cmVzIHRoZSBtb25ldGFyeSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggZWFjaCBpbnN0YW5jZSBvZiBhIHVzZXIgdmlld2luZyBhIHByb2R1Y3QsIHJlZmxlY3RpbmcgdGhlIGVmZmVjdGl2ZW5lc3Mgb2YgcHJvZHVjdCB2aWV3cyBpbiBkcml2aW5nIHNhbGVzLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5SRVZFTlVFX1BFUl9BRERfVE9fQ0FSVDpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBhdmVyYWdlIHJldmVudWUgZ2VuZXJhdGVkIHBlciBpbnN0YW5jZSBvZiBhIHByb2R1Y3QgYmVpbmcgYWRkZWQgdG8gdGhlIGNhcnQuIEl0IG1lYXN1cmVzIHRoZSBtb25ldGFyeSB2YWx1ZSB0aWVkIHRvIGVhY2ggYWRkLXRvLWNhcnQgYWN0aW9uLCBpbmRpY2F0aW5nIGhvdyBlZmZlY3RpdmVseSB0aGVzZSBhY3Rpb25zIGNvbnRyaWJ1dGUgdG8gb3ZlcmFsbCBzYWxlcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQUNUSVZFX1VTRVJfQ0hFQ0tPVVRfUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBwZXJjZW50YWdlIG9mIGFjdGl2ZSB1c2VycyB3aG8gaW5pdGlhdGUgYSBjaGVja291dCBJdCBtZWFzdXJlcyBob3cgb2Z0ZW4gZW5nYWdlZCB1c2Vyc+KAlHRob3NlIGludGVyYWN0aW5nIHdpdGggeW91ciBzaXRlIG9yIGFwcOKAlHByb2NlZWQgdG8gdGhlIGNoZWNrb3V0IHN0YWdlIG9mIHRoZSBwdXJjaGFzZSBwcm9jZXNzLmA7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgTWV0cmljRW51bS5DQVJUX1RPX0NIRUNLT1VUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBwZXJjZW50YWdlIG9mIGFkZC10by1jYXJ0IGFjdGlvbnMgdGhhdCByZXN1bHQgaW4gYSBjaGVja291dCBiZWluZyBpbml0aWF0ZWQuIEl0IG1lYXN1cmVzIGhvdyBlZmZlY3RpdmVseSBhZGRpbmcgYW4gaXRlbSB0byB0aGUgY2FydCBsZWFkcyB0byB0aGUgdXNlciBzdGFydGluZyB0aGUgY2hlY2tvdXQgcHJvY2Vzcy5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUkVWRU5VRV9QRVJfQ0hFQ0tPVVQ6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBUaGUgYXZlcmFnZSByZXZlbnVlIGdlbmVyYXRlZCBwZXIgY2hlY2tvdXQgaW5pdGlhdGlvbi4gSXQgbWVhc3VyZXMgdGhlIG1vbmV0YXJ5IHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGluc3RhbmNlIG9mIGEgdXNlciBzdGFydGluZyB0aGUgY2hlY2tvdXQgcHJvY2VzcywgcmVmbGVjdGluZyBpdHMgY29udHJpYnV0aW9uIHRvIG92ZXJhbGwgc2FsZXMuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFERF9UT19DQVJUX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBwZXJjZW50YWdlIG9mIGFkZC10by1jYXJ0IGFjdGlvbnMgdGhhdCByZXN1bHQgaW4gYSBjb21wbGV0ZWQgZS1jb21tZXJjZSBwdXJjaGFzZS4gSXQgbWVhc3VyZXMgaG93IGVmZmVjdGl2ZWx5IGFkZGluZyBhbiBpdGVtIHRvIHRoZSBjYXJ0IGxlYWRzIHRvIGEgZmluYWwgc2FsZS5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uQ0hFQ0tPVVRfQ09OVkVSU0lPTl9SQVRFOlxyXG4gICAgICAgIGRlZmluaXRpb24gPSBgVGhlIHBlcmNlbnRhZ2Ugb2YgY2hlY2tvdXQgaW5pdGlhdGlvbnMgdGhhdCByZXN1bHQgaW4gYSBjb21wbGV0ZWQgZS1jb21tZXJjZSBwdXJjaGFzZS4gSXQgbWVhc3VyZXMgaG93IGVmZmVjdGl2ZWx5IHN0YXJ0aW5nIHRoZSBjaGVja291dCBwcm9jZXNzIGxlYWRzIHRvIGEgZmluYWxpemVkIHNhbGUuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkVDT01NRVJDRV9DT05WRVJTSU9OX1JBVEU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBUaGUgcGVyY2VudGFnZSBvZiBzZXNzaW9ucyB0aGF0IHJlc3VsdCBpbiBhIGNvbXBsZXRlZCBlLWNvbW1lcmNlIHB1cmNoYXNlLiBJdCBtZWFzdXJlcyBob3cgb2Z0ZW4gYSBzaXRlIHZpc2l0IGxlYWRzIHRvIGEgZmluYWxpemVkIHNhbGUsIHJlZmxlY3Rpbmcgb3ZlcmFsbCBlZmZlY3RpdmVuZXNzIG9mIHRoZSBlLWNvbW1lcmNlIGZ1bm5lbC5gO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE1ldHJpY0VudW0uUFJPRFVDVF9WSUVXX0NPTlZFUlNJT05fUkFURTpcclxuICAgICAgICBkZWZpbml0aW9uID0gYFRoZSBwZXJjZW50YWdlIG9mIHByb2R1Y3Qgdmlld3MgdGhhdCByZXN1bHQgaW4gYSBjb21wbGV0ZWQgZS1jb21tZXJjZSBwdXJjaGFzZS4gSXQgbWVhc3VyZXMgaG93IGVmZmVjdGl2ZWx5IHZpZXdpbmcgYSBwcm9kdWN0IGxlYWRzIHRvIGEgZmluYWxpemVkIHNhbGUuYDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBNZXRyaWNFbnVtLkFWRVJBR0VfT1JERVJfVkFMVUU6XHJcbiAgICAgICAgZGVmaW5pdGlvbiA9IGBUaGUgYXZlcmFnZSByZXZlbnVlIGdlbmVyYXRlZCBwZXIgY29tcGxldGVkIGUtY29tbWVyY2UgcHVyY2hhc2UuIEl0IG1lYXN1cmVzIHRoZSB0eXBpY2FsIG1vbmV0YXJ5IHZhbHVlIG9mIGVhY2ggb3JkZXIsIHByb3ZpZGluZyBpbnNpZ2h0IGludG8gY3VzdG9tZXIgc3BlbmRpbmcgYmVoYXZpb3IuYDtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIHJldHVybiBkZWZpbml0aW9uO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -12,7 +12,7 @@ export interface AccountInterface extends AbstractItemInterface {
|
|
|
12
12
|
status?: AccountStatusEnum;
|
|
13
13
|
completedOnboardingStep?: OnboardingStepEnum;
|
|
14
14
|
onboardingChargebeePlanItemPriceId?: number;
|
|
15
|
-
|
|
15
|
+
chargebeeItemPricePeriodUnit?: ChargebeeItemPricePeriodUnitEnum;
|
|
16
16
|
subscriptionStatus?: ChargebeeSubscriptionStatusEnum;
|
|
17
17
|
billingCurrencyCode?: CurrencyCodeEnum;
|
|
18
18
|
affiliateId?: number;
|