@deenruv/admin-ui 1.0.17-dev.31 → 1.0.17-dev.33

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.
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by the set-version.js script.
2
- export const ADMIN_UI_VERSION = '1.0.17-dev.31';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICcxLjAuMTctZGV2LjMxJztcbiJdfQ==
2
+ export const ADMIN_UI_VERSION = '1.0.17-dev.33';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvY29yZS9zcmMvY29tbW9uL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEF1dG8tZ2VuZXJhdGVkIGJ5IHRoZSBzZXQtdmVyc2lvbi5qcyBzY3JpcHQuXG5leHBvcnQgY29uc3QgQURNSU5fVUlfVkVSU0lPTiA9ICcxLjAuMTctZGV2LjMzJztcbiJdfQ==
@@ -128,6 +128,14 @@ export const ORDER_LINE_FRAGMENT = gql `
128
128
  sku
129
129
  trackInventory
130
130
  stockOnHand
131
+ featuredAsset {
132
+ preview
133
+ }
134
+ product {
135
+ featuredAsset {
136
+ preview
137
+ }
138
+ }
131
139
  }
132
140
  discounts {
133
141
  ...Discount
@@ -591,4 +599,4 @@ export const SET_DRAFT_ORDER_SHIPPING_METHOD = gql `
591
599
  ${ORDER_DETAIL_FRAGMENT}
592
600
  ${ERROR_RESULT_FRAGMENT}
593
601
  `;
594
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvb3JkZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O0NBU2xDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVWpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Q0FheEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Q0FjdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2Qi9DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FrQ3JDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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Ozs7Ozs7TUFPcEMscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3BDLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU96QyxxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxvQ0FBb0MsR0FBRyxHQUFHLENBQUE7Ozs7OztNQU1qRCxxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWhELHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BTzdDLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWhELHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Q0FZdkQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEdBQUcsQ0FBQTs7Ozs7OztNQU81QyxxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBncWwgfSBmcm9tICdhcG9sbG8tYW5ndWxhcic7XG5cbmltcG9ydCB7IEVSUk9SX1JFU1VMVF9GUkFHTUVOVCB9IGZyb20gJy4vc2hhcmVkLWRlZmluaXRpb25zJztcblxuZXhwb3J0IGNvbnN0IERJU0NPVU5UX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IERpc2NvdW50IG9uIERpc2NvdW50IHtcbiAgICAgICAgYWRqdXN0bWVudFNvdXJjZVxuICAgICAgICBhbW91bnRcbiAgICAgICAgYW1vdW50V2l0aFRheFxuICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICB0eXBlXG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgUGF5bWVudCBvbiBQYXltZW50IHtcbiAgICAgICAgaWRcbiAgICAgICAgdHJhbnNhY3Rpb25JZFxuICAgICAgICBhbW91bnRcbiAgICAgICAgbWV0aG9kXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG1ldGFkYXRhXG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFJFRlVORF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBSZWZ1bmQgb24gUmVmdW5kIHtcbiAgICAgICAgaWRcbiAgICAgICAgc3RhdGVcbiAgICAgICAgaXRlbXNcbiAgICAgICAgc2hpcHBpbmdcbiAgICAgICAgYWRqdXN0bWVudFxuICAgICAgICB0cmFuc2FjdGlvbklkXG4gICAgICAgIHBheW1lbnRJZFxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBPUkRFUl9BRERSRVNTX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyQWRkcmVzcyBvbiBPcmRlckFkZHJlc3Mge1xuICAgICAgICBmdWxsTmFtZVxuICAgICAgICBjb21wYW55XG4gICAgICAgIHN0cmVldExpbmUxXG4gICAgICAgIHN0cmVldExpbmUyXG4gICAgICAgIGNpdHlcbiAgICAgICAgcHJvdmluY2VcbiAgICAgICAgcG9zdGFsQ29kZVxuICAgICAgICBjb3VudHJ5XG4gICAgICAgIGNvdW50cnlDb2RlXG4gICAgICAgIHBob25lTnVtYmVyXG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE9SREVSX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyIG9uIE9yZGVyIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICB0eXBlXG4gICAgICAgIG9yZGVyUGxhY2VkQXRcbiAgICAgICAgY29kZVxuICAgICAgICBzdGF0ZVxuICAgICAgICBuZXh0U3RhdGVzXG4gICAgICAgIHRvdGFsXG4gICAgICAgIHRvdGFsV2l0aFRheFxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgY3VzdG9tZXIge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGZpcnN0TmFtZVxuICAgICAgICAgICAgbGFzdE5hbWVcbiAgICAgICAgfVxuICAgICAgICBzaGlwcGluZ0xpbmVzIHtcbiAgICAgICAgICAgIHNoaXBwaW5nTWV0aG9kIHtcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgRlVMRklMTE1FTlRfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgRnVsZmlsbG1lbnQgb24gRnVsZmlsbG1lbnQge1xuICAgICAgICBpZFxuICAgICAgICBzdGF0ZVxuICAgICAgICBuZXh0U3RhdGVzXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgbWV0aG9kXG4gICAgICAgIGxpbmVzIHtcbiAgICAgICAgICAgIG9yZGVyTGluZUlkXG4gICAgICAgICAgICBxdWFudGl0eVxuICAgICAgICB9XG4gICAgICAgIHRyYWNraW5nQ29kZVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBQQVlNRU5UX1dJVEhfUkVGVU5EU19GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBQYXltZW50V2l0aFJlZnVuZHMgb24gUGF5bWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB0cmFuc2FjdGlvbklkXG4gICAgICAgIGFtb3VudFxuICAgICAgICBtZXRob2RcbiAgICAgICAgc3RhdGVcbiAgICAgICAgbmV4dFN0YXRlc1xuICAgICAgICBlcnJvck1lc3NhZ2VcbiAgICAgICAgbWV0YWRhdGFcbiAgICAgICAgcmVmdW5kcyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICBzdGF0ZVxuICAgICAgICAgICAgaXRlbXNcbiAgICAgICAgICAgIGFkanVzdG1lbnRcbiAgICAgICAgICAgIHRvdGFsXG4gICAgICAgICAgICBwYXltZW50SWRcbiAgICAgICAgICAgIHJlYXNvblxuICAgICAgICAgICAgdHJhbnNhY3Rpb25JZFxuICAgICAgICAgICAgbWV0aG9kXG4gICAgICAgICAgICBtZXRhZGF0YVxuICAgICAgICAgICAgbGluZXMge1xuICAgICAgICAgICAgICAgIG9yZGVyTGluZUlkXG4gICAgICAgICAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBPUkRFUl9MSU5FX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyTGluZSBvbiBPcmRlckxpbmUge1xuICAgICAgICBpZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIGZlYXR1cmVkQXNzZXQge1xuICAgICAgICAgICAgcHJldmlld1xuICAgICAgICB9XG4gICAgICAgIHByb2R1Y3RWYXJpYW50IHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBza3VcbiAgICAgICAgICAgIHRyYWNrSW52ZW50b3J5XG4gICAgICAgICAgICBzdG9ja09uSGFuZFxuICAgICAgICB9XG4gICAgICAgIGRpc2NvdW50cyB7XG4gICAgICAgICAgICAuLi5EaXNjb3VudFxuICAgICAgICB9XG4gICAgICAgIGZ1bGZpbGxtZW50TGluZXMge1xuICAgICAgICAgICAgZnVsZmlsbG1lbnRJZFxuICAgICAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgfVxuICAgICAgICB1bml0UHJpY2VcbiAgICAgICAgdW5pdFByaWNlV2l0aFRheFxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVxuICAgICAgICBwcm9yYXRlZFVuaXRQcmljZVdpdGhUYXhcbiAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgb3JkZXJQbGFjZWRRdWFudGl0eVxuICAgICAgICBsaW5lUHJpY2VcbiAgICAgICAgbGluZVRheFxuICAgICAgICBsaW5lUHJpY2VXaXRoVGF4XG4gICAgICAgIGRpc2NvdW50ZWRMaW5lUHJpY2VcbiAgICAgICAgZGlzY291bnRlZExpbmVQcmljZVdpdGhUYXhcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgT1JERVJfREVUQUlMX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IE9yZGVyRGV0YWlsIG9uIE9yZGVyIHtcbiAgICAgICAgaWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICB0eXBlXG4gICAgICAgIGFnZ3JlZ2F0ZU9yZGVyIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgIH1cbiAgICAgICAgc2VsbGVyT3JkZXJzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICBjaGFubmVscyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29kZVxuICAgICAgICBzdGF0ZVxuICAgICAgICBuZXh0U3RhdGVzXG4gICAgICAgIGFjdGl2ZVxuICAgICAgICBjb3Vwb25Db2Rlc1xuICAgICAgICBjdXN0b21lciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICB9XG4gICAgICAgIGxpbmVzIHtcbiAgICAgICAgICAgIC4uLk9yZGVyTGluZVxuICAgICAgICB9XG4gICAgICAgIHN1cmNoYXJnZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIHNrdVxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICBwcmljZVdpdGhUYXhcbiAgICAgICAgICAgIHRheFJhdGVcbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgLi4uRGlzY291bnRcbiAgICAgICAgfVxuICAgICAgICBwcm9tb3Rpb25zIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjb3Vwb25Db2RlXG4gICAgICAgIH1cbiAgICAgICAgc3ViVG90YWxcbiAgICAgICAgc3ViVG90YWxXaXRoVGF4XG4gICAgICAgIHRvdGFsXG4gICAgICAgIHRvdGFsV2l0aFRheFxuICAgICAgICBjdXJyZW5jeUNvZGVcbiAgICAgICAgc2hpcHBpbmdcbiAgICAgICAgc2hpcHBpbmdXaXRoVGF4XG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRpc2NvdW50ZWRQcmljZVdpdGhUYXhcbiAgICAgICAgICAgIHNoaXBwaW5nTWV0aG9kIHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIGNvZGVcbiAgICAgICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICAgICAgZnVsZmlsbG1lbnRIYW5kbGVyQ29kZVxuICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGF4U3VtbWFyeSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgdGF4QmFzZVxuICAgICAgICAgICAgdGF4UmF0ZVxuICAgICAgICAgICAgdGF4VG90YWxcbiAgICAgICAgfVxuICAgICAgICBzaGlwcGluZ0FkZHJlc3Mge1xuICAgICAgICAgICAgLi4uT3JkZXJBZGRyZXNzXG4gICAgICAgIH1cbiAgICAgICAgYmlsbGluZ0FkZHJlc3Mge1xuICAgICAgICAgICAgLi4uT3JkZXJBZGRyZXNzXG4gICAgICAgIH1cbiAgICAgICAgcGF5bWVudHMge1xuICAgICAgICAgICAgLi4uUGF5bWVudFdpdGhSZWZ1bmRzXG4gICAgICAgIH1cbiAgICAgICAgZnVsZmlsbG1lbnRzIHtcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XG4gICAgICAgIH1cbiAgICAgICAgbW9kaWZpY2F0aW9ucyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICBpc1NldHRsZWRcbiAgICAgICAgICAgIHByaWNlQ2hhbmdlXG4gICAgICAgICAgICBub3RlXG4gICAgICAgICAgICBwYXltZW50IHtcbiAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgIGFtb3VudFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGluZXMge1xuICAgICAgICAgICAgICAgIG9yZGVyTGluZUlkXG4gICAgICAgICAgICAgICAgcXVhbnRpdHlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlZnVuZCB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBwYXltZW50SWRcbiAgICAgICAgICAgICAgICB0b3RhbFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3VyY2hhcmdlcyB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0RJU0NPVU5UX0ZSQUdNRU5UfVxuICAgICR7T1JERVJfQUREUkVTU19GUkFHTUVOVH1cbiAgICAke0ZVTEZJTExNRU5UX0ZSQUdNRU5UfVxuICAgICR7T1JERVJfTElORV9GUkFHTUVOVH1cbiAgICAke1BBWU1FTlRfV0lUSF9SRUZVTkRTX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUlNfTElTVCA9IGdxbGBcbiAgICBxdWVyeSBHZXRPcmRlckxpc3QoJG9wdGlvbnM6IE9yZGVyTGlzdE9wdGlvbnMpIHtcbiAgICAgICAgb3JkZXJzKG9wdGlvbnM6ICRvcHRpb25zKSB7XG4gICAgICAgICAgICBpdGVtcyB7XG4gICAgICAgICAgICAgICAgLi4uT3JkZXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRvdGFsSXRlbXNcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUiA9IGdxbGBcbiAgICBxdWVyeSBHZXRPcmRlcigkaWQ6IElEISkge1xuICAgICAgICBvcmRlcihpZDogJGlkKSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFNFVFRMRV9QQVlNRU5UID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldHRsZVBheW1lbnQoJGlkOiBJRCEpIHtcbiAgICAgICAgc2V0dGxlUGF5bWVudChpZDogJGlkKSB7XG4gICAgICAgICAgICAuLi5QYXltZW50XG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICAgICAgLi4uIG9uIFNldHRsZVBheW1lbnRFcnJvciB7XG4gICAgICAgICAgICAgICAgcGF5bWVudEVycm9yTWVzc2FnZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uIG9uIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLi4gb24gT3JkZXJTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG4gICAgJHtQQVlNRU5UX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IENBTkNFTF9QQVlNRU5UID0gZ3FsYFxuICAgIG11dGF0aW9uIENhbmNlbFBheW1lbnQoJGlkOiBJRCEpIHtcbiAgICAgICAgY2FuY2VsUGF5bWVudChpZDogJGlkKSB7XG4gICAgICAgICAgICAuLi5QYXltZW50XG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICAgICAgLi4uIG9uIENhbmNlbFBheW1lbnRFcnJvciB7XG4gICAgICAgICAgICAgICAgcGF5bWVudEVycm9yTWVzc2FnZVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uIG9uIFBheW1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG4gICAgJHtQQVlNRU5UX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT05fUEFZTUVOVF9UT19TVEFURSA9IGdxbGBcbiAgICBtdXRhdGlvbiBUcmFuc2l0aW9uUGF5bWVudFRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xuICAgICAgICB0cmFuc2l0aW9uUGF5bWVudFRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xuICAgICAgICAgICAgLi4uUGF5bWVudFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7UEFZTUVOVF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRlVMRklMTE1FTlQgPSBncWxgXG4gICAgbXV0YXRpb24gQ3JlYXRlRnVsZmlsbG1lbnQoJGlucHV0OiBGdWxmaWxsT3JkZXJJbnB1dCEpIHtcbiAgICAgICAgYWRkRnVsZmlsbG1lbnRUb09yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLkZ1bGZpbGxtZW50XG4gICAgICAgICAgICAuLi4gb24gQ3JlYXRlRnVsZmlsbG1lbnRFcnJvciB7XG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgIGZ1bGZpbGxtZW50SGFuZGxlckVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuLi4gb24gRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlXG4gICAgICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke0ZVTEZJTExNRU5UX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IENBTkNFTF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBDYW5jZWxPcmRlcigkaW5wdXQ6IENhbmNlbE9yZGVySW5wdXQhKSB7XG4gICAgICAgIGNhbmNlbE9yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFJFRlVORF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZWZ1bmRPcmRlcigkaW5wdXQ6IFJlZnVuZE9yZGVySW5wdXQhKSB7XG4gICAgICAgIHJlZnVuZE9yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLlJlZnVuZFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke1JFRlVORF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRUTEVfUkVGVU5EID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldHRsZVJlZnVuZCgkaW5wdXQ6IFNldHRsZVJlZnVuZElucHV0ISkge1xuICAgICAgICBzZXR0bGVSZWZ1bmQoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uUmVmdW5kXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7UkVGVU5EX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEdFVF9PUkRFUl9ISVNUT1JZID0gZ3FsYFxuICAgIHF1ZXJ5IEdldE9yZGVySGlzdG9yeSgkaWQ6IElEISwgJG9wdGlvbnM6IEhpc3RvcnlFbnRyeUxpc3RPcHRpb25zKSB7XG4gICAgICAgIG9yZGVyKGlkOiAkaWQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBoaXN0b3J5KG9wdGlvbnM6ICRvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgdG90YWxJdGVtc1xuICAgICAgICAgICAgICAgIGl0ZW1zIHtcbiAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgdHlwZVxuICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgICAgICAgICAgaXNQdWJsaWNcbiAgICAgICAgICAgICAgICAgICAgYWRtaW5pc3RyYXRvciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgQUREX05PVEVfVE9fT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQWRkTm90ZVRvT3JkZXIoJGlucHV0OiBBZGROb3RlVG9PcmRlcklucHV0ISkge1xuICAgICAgICBhZGROb3RlVG9PcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVQREFURV9PUkRFUl9OT1RFID0gZ3FsYFxuICAgIG11dGF0aW9uIFVwZGF0ZU9yZGVyTm90ZSgkaW5wdXQ6IFVwZGF0ZU9yZGVyTm90ZUlucHV0ISkge1xuICAgICAgICB1cGRhdGVPcmRlck5vdGUoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgICAgIGlzUHVibGljXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgREVMRVRFX09SREVSX05PVEUgPSBncWxgXG4gICAgbXV0YXRpb24gRGVsZXRlT3JkZXJOb3RlKCRpZDogSUQhKSB7XG4gICAgICAgIGRlbGV0ZU9yZGVyTm90ZShpZDogJGlkKSB7XG4gICAgICAgICAgICByZXN1bHRcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX09SREVSX1RPX1NUQVRFID0gZ3FsYFxuICAgIG11dGF0aW9uIFRyYW5zaXRpb25PcmRlclRvU3RhdGUoJGlkOiBJRCEsICRzdGF0ZTogU3RyaW5nISkge1xuICAgICAgICB0cmFuc2l0aW9uT3JkZXJUb1N0YXRlKGlkOiAkaWQsIHN0YXRlOiAkc3RhdGUpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICAgICAgLi4uIG9uIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgVVBEQVRFX09SREVSX0NVU1RPTV9GSUVMRFMgPSBncWxgXG4gICAgbXV0YXRpb24gVXBkYXRlT3JkZXJDdXN0b21GaWVsZHMoJGlucHV0OiBVcGRhdGVPcmRlcklucHV0ISkge1xuICAgICAgICBzZXRPcmRlckN1c3RvbUZpZWxkcyhpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlclxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9GVUxGSUxMTUVOVF9UT19TVEFURSA9IGdxbGBcbiAgICBtdXRhdGlvbiBUcmFuc2l0aW9uRnVsZmlsbG1lbnRUb1N0YXRlKCRpZDogSUQhLCAkc3RhdGU6IFN0cmluZyEpIHtcbiAgICAgICAgdHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZShpZDogJGlkLCBzdGF0ZTogJHN0YXRlKSB7XG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBGdWxmaWxsbWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke0ZVTEZJTExNRU5UX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IE1PRElGWV9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBNb2RpZnlPcmRlcigkaW5wdXQ6IE1vZGlmeU9yZGVySW5wdXQhKSB7XG4gICAgICAgIG1vZGlmeU9yZGVyKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFERF9NQU5VQUxfUEFZTUVOVF9UT19PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBBZGRNYW51YWxQYXltZW50KCRpbnB1dDogTWFudWFsUGF5bWVudElucHV0ISkge1xuICAgICAgICBhZGRNYW51YWxQYXltZW50VG9PcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDUkVBVEVfRFJBRlRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQ3JlYXRlRHJhZnRPcmRlciB7XG4gICAgICAgIGNyZWF0ZURyYWZ0T3JkZXIge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBERUxFVEVfRFJBRlRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gRGVsZXRlRHJhZnRPcmRlcigkb3JkZXJJZDogSUQhKSB7XG4gICAgICAgIGRlbGV0ZURyYWZ0T3JkZXIob3JkZXJJZDogJG9yZGVySWQpIHtcbiAgICAgICAgICAgIHJlc3VsdFxuICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFERF9JVEVNX1RPX0RSQUZUX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIEFkZEl0ZW1Ub0RyYWZ0T3JkZXIoJG9yZGVySWQ6IElEISwgJGlucHV0OiBBZGRJdGVtVG9EcmFmdE9yZGVySW5wdXQhKSB7XG4gICAgICAgIGFkZEl0ZW1Ub0RyYWZ0T3JkZXIob3JkZXJJZDogJG9yZGVySWQsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFESlVTVF9EUkFGVF9PUkRFUl9MSU5FID0gZ3FsYFxuICAgIG11dGF0aW9uIEFkanVzdERyYWZ0T3JkZXJMaW5lKCRvcmRlcklkOiBJRCEsICRpbnB1dDogQWRqdXN0RHJhZnRPcmRlckxpbmVJbnB1dCEpIHtcbiAgICAgICAgYWRqdXN0RHJhZnRPcmRlckxpbmUob3JkZXJJZDogJG9yZGVySWQsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFJFTU9WRV9EUkFGVF9PUkRFUl9MSU5FID0gZ3FsYFxuICAgIG11dGF0aW9uIFJlbW92ZURyYWZ0T3JkZXJMaW5lKCRvcmRlcklkOiBJRCEsICRvcmRlckxpbmVJZDogSUQhKSB7XG4gICAgICAgIHJlbW92ZURyYWZ0T3JkZXJMaW5lKG9yZGVySWQ6ICRvcmRlcklkLCBvcmRlckxpbmVJZDogJG9yZGVyTGluZUlkKSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRfQ1VTVE9NRVJfRk9SX0RSQUZUX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldEN1c3RvbWVyRm9yRHJhZnRPcmRlcigkb3JkZXJJZDogSUQhLCAkY3VzdG9tZXJJZDogSUQsICRpbnB1dDogQ3JlYXRlQ3VzdG9tZXJJbnB1dCkge1xuICAgICAgICBzZXRDdXN0b21lckZvckRyYWZ0T3JkZXIob3JkZXJJZDogJG9yZGVySWQsIGN1c3RvbWVySWQ6ICRjdXN0b21lcklkLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRfU0hJUFBJTkdfQUREUkVTU19GT1JfRFJBRlRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gU2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzcygkb3JkZXJJZDogSUQhLCAkaW5wdXQ6IENyZWF0ZUFkZHJlc3NJbnB1dCEpIHtcbiAgICAgICAgc2V0RHJhZnRPcmRlclNoaXBwaW5nQWRkcmVzcyhvcmRlcklkOiAkb3JkZXJJZCwgaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRfQklMTElOR19BRERSRVNTX0ZPUl9EUkFGVF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBTZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3MoJG9yZGVySWQ6IElEISwgJGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQhKSB7XG4gICAgICAgIHNldERyYWZ0T3JkZXJCaWxsaW5nQWRkcmVzcyhvcmRlcklkOiAkb3JkZXJJZCwgaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBUFBMWV9DT1VQT05fQ09ERV9UT19EUkFGVF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBBcHBseUNvdXBvbkNvZGVUb0RyYWZ0T3JkZXIoJG9yZGVySWQ6IElEISwgJGNvdXBvbkNvZGU6IFN0cmluZyEpIHtcbiAgICAgICAgYXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyKG9yZGVySWQ6ICRvcmRlcklkLCBjb3Vwb25Db2RlOiAkY291cG9uQ29kZSkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgUkVNT1ZFX0NPVVBPTl9DT0RFX0ZST01fRFJBRlRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gUmVtb3ZlQ291cG9uQ29kZUZyb21EcmFmdE9yZGVyKCRvcmRlcklkOiBJRCEsICRjb3Vwb25Db2RlOiBTdHJpbmchKSB7XG4gICAgICAgIHJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlcihvcmRlcklkOiAkb3JkZXJJZCwgY291cG9uQ29kZTogJGNvdXBvbkNvZGUpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgRFJBRlRfT1JERVJfRUxJR0lCTEVfU0hJUFBJTkdfTUVUSE9EUyA9IGdxbGBcbiAgICBxdWVyeSBEcmFmdE9yZGVyRWxpZ2libGVTaGlwcGluZ01ldGhvZHMoJG9yZGVySWQ6IElEISkge1xuICAgICAgICBlbGlnaWJsZVNoaXBwaW5nTWV0aG9kc0ZvckRyYWZ0T3JkZXIob3JkZXJJZDogJG9yZGVySWQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBuYW1lXG4gICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgcHJpY2VcbiAgICAgICAgICAgIHByaWNlV2l0aFRheFxuICAgICAgICAgICAgbWV0YWRhdGFcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRfRFJBRlRfT1JERVJfU0hJUFBJTkdfTUVUSE9EID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZCgkb3JkZXJJZDogSUQhLCAkc2hpcHBpbmdNZXRob2RJZDogSUQhKSB7XG4gICAgICAgIHNldERyYWZ0T3JkZXJTaGlwcGluZ01ldGhvZChvcmRlcklkOiAkb3JkZXJJZCwgc2hpcHBpbmdNZXRob2RJZDogJHNoaXBwaW5nTWV0aG9kSWQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcbiJdfQ==
602
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItZGVmaW5pdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvcmUvc3JjL2RhdGEvZGVmaW5pdGlvbnMvb3JkZXItZGVmaW5pdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Q0FRbkMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7O0NBU2xDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFBOzs7Ozs7Ozs7O0NBVWpDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Q0FheEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXdCaEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Q0FjdEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2Qi9DLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTBDckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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QUcsQ0FBQTs7Ozs7OztNQU9wQyxxQkFBcUI7TUFDckIscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPcEMscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BT3pDLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLEdBQUcsQ0FBQTs7Ozs7O01BTWpELHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNaEQscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7TUFPN0MscUJBQXFCO01BQ3JCLHFCQUFxQjtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsR0FBRyxDQUFBOzs7Ozs7TUFNaEQscUJBQXFCO0NBQzFCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxxQ0FBcUMsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7OztDQVl2RCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsR0FBRyxDQUFBOzs7Ozs7O01BTzVDLHFCQUFxQjtNQUNyQixxQkFBcUI7Q0FDMUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdxbCB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcblxuaW1wb3J0IHsgRVJST1JfUkVTVUxUX0ZSQUdNRU5UIH0gZnJvbSAnLi9zaGFyZWQtZGVmaW5pdGlvbnMnO1xuXG5leHBvcnQgY29uc3QgRElTQ09VTlRfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgRGlzY291bnQgb24gRGlzY291bnQge1xuICAgICAgICBhZGp1c3RtZW50U291cmNlXG4gICAgICAgIGFtb3VudFxuICAgICAgICBhbW91bnRXaXRoVGF4XG4gICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgIHR5cGVcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUEFZTUVOVF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBQYXltZW50IG9uIFBheW1lbnQge1xuICAgICAgICBpZFxuICAgICAgICB0cmFuc2FjdGlvbklkXG4gICAgICAgIGFtb3VudFxuICAgICAgICBtZXRob2RcbiAgICAgICAgc3RhdGVcbiAgICAgICAgbWV0YWRhdGFcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgUkVGVU5EX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IFJlZnVuZCBvbiBSZWZ1bmQge1xuICAgICAgICBpZFxuICAgICAgICBzdGF0ZVxuICAgICAgICBpdGVtc1xuICAgICAgICBzaGlwcGluZ1xuICAgICAgICBhZGp1c3RtZW50XG4gICAgICAgIHRyYW5zYWN0aW9uSWRcbiAgICAgICAgcGF5bWVudElkXG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE9SREVSX0FERFJFU1NfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgT3JkZXJBZGRyZXNzIG9uIE9yZGVyQWRkcmVzcyB7XG4gICAgICAgIGZ1bGxOYW1lXG4gICAgICAgIGNvbXBhbnlcbiAgICAgICAgc3RyZWV0TGluZTFcbiAgICAgICAgc3RyZWV0TGluZTJcbiAgICAgICAgY2l0eVxuICAgICAgICBwcm92aW5jZVxuICAgICAgICBwb3N0YWxDb2RlXG4gICAgICAgIGNvdW50cnlcbiAgICAgICAgY291bnRyeUNvZGVcbiAgICAgICAgcGhvbmVOdW1iZXJcbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgT1JERVJfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgT3JkZXIgb24gT3JkZXIge1xuICAgICAgICBpZFxuICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgdXBkYXRlZEF0XG4gICAgICAgIHR5cGVcbiAgICAgICAgb3JkZXJQbGFjZWRBdFxuICAgICAgICBjb2RlXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgdG90YWxcbiAgICAgICAgdG90YWxXaXRoVGF4XG4gICAgICAgIGN1cnJlbmN5Q29kZVxuICAgICAgICBjdXN0b21lciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgZmlyc3ROYW1lXG4gICAgICAgICAgICBsYXN0TmFtZVxuICAgICAgICB9XG4gICAgICAgIHNoaXBwaW5nTGluZXMge1xuICAgICAgICAgICAgc2hpcHBpbmdNZXRob2Qge1xuICAgICAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBGVUxGSUxMTUVOVF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBGdWxmaWxsbWVudCBvbiBGdWxmaWxsbWVudCB7XG4gICAgICAgIGlkXG4gICAgICAgIHN0YXRlXG4gICAgICAgIG5leHRTdGF0ZXNcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHVwZGF0ZWRBdFxuICAgICAgICBtZXRob2RcbiAgICAgICAgbGluZXMge1xuICAgICAgICAgICAgb3JkZXJMaW5lSWRcbiAgICAgICAgICAgIHF1YW50aXR5XG4gICAgICAgIH1cbiAgICAgICAgdHJhY2tpbmdDb2RlXG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFBBWU1FTlRfV0lUSF9SRUZVTkRTX0ZSQUdNRU5UID0gZ3FsYFxuICAgIGZyYWdtZW50IFBheW1lbnRXaXRoUmVmdW5kcyBvbiBQYXltZW50IHtcbiAgICAgICAgaWRcbiAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgIHRyYW5zYWN0aW9uSWRcbiAgICAgICAgYW1vdW50XG4gICAgICAgIG1ldGhvZFxuICAgICAgICBzdGF0ZVxuICAgICAgICBuZXh0U3RhdGVzXG4gICAgICAgIGVycm9yTWVzc2FnZVxuICAgICAgICBtZXRhZGF0YVxuICAgICAgICByZWZ1bmRzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBjcmVhdGVkQXRcbiAgICAgICAgICAgIHN0YXRlXG4gICAgICAgICAgICBpdGVtc1xuICAgICAgICAgICAgYWRqdXN0bWVudFxuICAgICAgICAgICAgdG90YWxcbiAgICAgICAgICAgIHBheW1lbnRJZFxuICAgICAgICAgICAgcmVhc29uXG4gICAgICAgICAgICB0cmFuc2FjdGlvbklkXG4gICAgICAgICAgICBtZXRob2RcbiAgICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgICAgICBsaW5lcyB7XG4gICAgICAgICAgICAgICAgb3JkZXJMaW5lSWRcbiAgICAgICAgICAgICAgICBxdWFudGl0eVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE9SREVSX0xJTkVfRlJBR01FTlQgPSBncWxgXG4gICAgZnJhZ21lbnQgT3JkZXJMaW5lIG9uIE9yZGVyTGluZSB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgZmVhdHVyZWRBc3NldCB7XG4gICAgICAgICAgICBwcmV2aWV3XG4gICAgICAgIH1cbiAgICAgICAgcHJvZHVjdFZhcmlhbnQge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIG5hbWVcbiAgICAgICAgICAgIHNrdVxuICAgICAgICAgICAgdHJhY2tJbnZlbnRvcnlcbiAgICAgICAgICAgIHN0b2NrT25IYW5kXG4gICAgICAgICAgICBmZWF0dXJlZEFzc2V0IHtcbiAgICAgICAgICAgICAgICBwcmV2aWV3XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcm9kdWN0IHtcbiAgICAgICAgICAgICAgICBmZWF0dXJlZEFzc2V0IHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlld1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXNjb3VudHMge1xuICAgICAgICAgICAgLi4uRGlzY291bnRcbiAgICAgICAgfVxuICAgICAgICBmdWxmaWxsbWVudExpbmVzIHtcbiAgICAgICAgICAgIGZ1bGZpbGxtZW50SWRcbiAgICAgICAgICAgIHF1YW50aXR5XG4gICAgICAgIH1cbiAgICAgICAgdW5pdFByaWNlXG4gICAgICAgIHVuaXRQcmljZVdpdGhUYXhcbiAgICAgICAgcHJvcmF0ZWRVbml0UHJpY2VcbiAgICAgICAgcHJvcmF0ZWRVbml0UHJpY2VXaXRoVGF4XG4gICAgICAgIHF1YW50aXR5XG4gICAgICAgIG9yZGVyUGxhY2VkUXVhbnRpdHlcbiAgICAgICAgbGluZVByaWNlXG4gICAgICAgIGxpbmVUYXhcbiAgICAgICAgbGluZVByaWNlV2l0aFRheFxuICAgICAgICBkaXNjb3VudGVkTGluZVByaWNlXG4gICAgICAgIGRpc2NvdW50ZWRMaW5lUHJpY2VXaXRoVGF4XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IE9SREVSX0RFVEFJTF9GUkFHTUVOVCA9IGdxbGBcbiAgICBmcmFnbWVudCBPcmRlckRldGFpbCBvbiBPcmRlciB7XG4gICAgICAgIGlkXG4gICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICB1cGRhdGVkQXRcbiAgICAgICAgdHlwZVxuICAgICAgICBhZ2dyZWdhdGVPcmRlciB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY29kZVxuICAgICAgICB9XG4gICAgICAgIHNlbGxlck9yZGVycyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgY2hhbm5lbHMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvZGVcbiAgICAgICAgc3RhdGVcbiAgICAgICAgbmV4dFN0YXRlc1xuICAgICAgICBhY3RpdmVcbiAgICAgICAgY291cG9uQ29kZXNcbiAgICAgICAgY3VzdG9tZXIge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGZpcnN0TmFtZVxuICAgICAgICAgICAgbGFzdE5hbWVcbiAgICAgICAgfVxuICAgICAgICBsaW5lcyB7XG4gICAgICAgICAgICAuLi5PcmRlckxpbmVcbiAgICAgICAgfVxuICAgICAgICBzdXJjaGFyZ2VzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBza3VcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uXG4gICAgICAgICAgICBwcmljZVxuICAgICAgICAgICAgcHJpY2VXaXRoVGF4XG4gICAgICAgICAgICB0YXhSYXRlXG4gICAgICAgIH1cbiAgICAgICAgZGlzY291bnRzIHtcbiAgICAgICAgICAgIC4uLkRpc2NvdW50XG4gICAgICAgIH1cbiAgICAgICAgcHJvbW90aW9ucyB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgY291cG9uQ29kZVxuICAgICAgICB9XG4gICAgICAgIHN1YlRvdGFsXG4gICAgICAgIHN1YlRvdGFsV2l0aFRheFxuICAgICAgICB0b3RhbFxuICAgICAgICB0b3RhbFdpdGhUYXhcbiAgICAgICAgY3VycmVuY3lDb2RlXG4gICAgICAgIHNoaXBwaW5nXG4gICAgICAgIHNoaXBwaW5nV2l0aFRheFxuICAgICAgICBzaGlwcGluZ0xpbmVzIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkaXNjb3VudGVkUHJpY2VXaXRoVGF4XG4gICAgICAgICAgICBzaGlwcGluZ01ldGhvZCB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBjb2RlXG4gICAgICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgICAgIGZ1bGZpbGxtZW50SGFuZGxlckNvZGVcbiAgICAgICAgICAgICAgICBkZXNjcmlwdGlvblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRheFN1bW1hcnkge1xuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIHRheEJhc2VcbiAgICAgICAgICAgIHRheFJhdGVcbiAgICAgICAgICAgIHRheFRvdGFsXG4gICAgICAgIH1cbiAgICAgICAgc2hpcHBpbmdBZGRyZXNzIHtcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xuICAgICAgICB9XG4gICAgICAgIGJpbGxpbmdBZGRyZXNzIHtcbiAgICAgICAgICAgIC4uLk9yZGVyQWRkcmVzc1xuICAgICAgICB9XG4gICAgICAgIHBheW1lbnRzIHtcbiAgICAgICAgICAgIC4uLlBheW1lbnRXaXRoUmVmdW5kc1xuICAgICAgICB9XG4gICAgICAgIGZ1bGZpbGxtZW50cyB7XG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxuICAgICAgICB9XG4gICAgICAgIG1vZGlmaWNhdGlvbnMge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgICAgIGNyZWF0ZWRBdFxuICAgICAgICAgICAgaXNTZXR0bGVkXG4gICAgICAgICAgICBwcmljZUNoYW5nZVxuICAgICAgICAgICAgbm90ZVxuICAgICAgICAgICAgcGF5bWVudCB7XG4gICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICBhbW91bnRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpbmVzIHtcbiAgICAgICAgICAgICAgICBvcmRlckxpbmVJZFxuICAgICAgICAgICAgICAgIHF1YW50aXR5XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZWZ1bmQge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgcGF5bWVudElkXG4gICAgICAgICAgICAgICAgdG90YWxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1cmNoYXJnZXMge1xuICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtESVNDT1VOVF9GUkFHTUVOVH1cbiAgICAke09SREVSX0FERFJFU1NfRlJBR01FTlR9XG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cbiAgICAke09SREVSX0xJTkVfRlJBR01FTlR9XG4gICAgJHtQQVlNRU5UX1dJVEhfUkVGVU5EU19GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBHRVRfT1JERVJTX0xJU1QgPSBncWxgXG4gICAgcXVlcnkgR2V0T3JkZXJMaXN0KCRvcHRpb25zOiBPcmRlckxpc3RPcHRpb25zKSB7XG4gICAgICAgIG9yZGVycyhvcHRpb25zOiAkb3B0aW9ucykge1xuICAgICAgICAgICAgaXRlbXMge1xuICAgICAgICAgICAgICAgIC4uLk9yZGVyXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0b3RhbEl0ZW1zXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBHRVRfT1JERVIgPSBncWxgXG4gICAgcXVlcnkgR2V0T3JkZXIoJGlkOiBJRCEpIHtcbiAgICAgICAgb3JkZXIoaWQ6ICRpZCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTRVRUTEVfUEFZTUVOVCA9IGdxbGBcbiAgICBtdXRhdGlvbiBTZXR0bGVQYXltZW50KCRpZDogSUQhKSB7XG4gICAgICAgIHNldHRsZVBheW1lbnQoaWQ6ICRpZCkge1xuICAgICAgICAgICAgLi4uUGF5bWVudFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBTZXR0bGVQYXltZW50RXJyb3Ige1xuICAgICAgICAgICAgICAgIHBheW1lbnRFcnJvck1lc3NhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLiBvbiBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uIG9uIE9yZGVyU3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuICAgICR7UEFZTUVOVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDQU5DRUxfUEFZTUVOVCA9IGdxbGBcbiAgICBtdXRhdGlvbiBDYW5jZWxQYXltZW50KCRpZDogSUQhKSB7XG4gICAgICAgIGNhbmNlbFBheW1lbnQoaWQ6ICRpZCkge1xuICAgICAgICAgICAgLi4uUGF5bWVudFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBDYW5jZWxQYXltZW50RXJyb3Ige1xuICAgICAgICAgICAgICAgIHBheW1lbnRFcnJvck1lc3NhZ2VcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLiBvbiBQYXltZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb25FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuICAgICR7UEFZTUVOVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0lUSU9OX1BBWU1FTlRfVE9fU1RBVEUgPSBncWxgXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvblBheW1lbnRUb1N0YXRlKCRpZDogSUQhLCAkc3RhdGU6IFN0cmluZyEpIHtcbiAgICAgICAgdHJhbnNpdGlvblBheW1lbnRUb1N0YXRlKGlkOiAkaWQsIHN0YXRlOiAkc3RhdGUpIHtcbiAgICAgICAgICAgIC4uLlBheW1lbnRcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgICAgICAuLi4gb24gUGF5bWVudFN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke1BBWU1FTlRfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0ZVTEZJTExNRU5UID0gZ3FsYFxuICAgIG11dGF0aW9uIENyZWF0ZUZ1bGZpbGxtZW50KCRpbnB1dDogRnVsZmlsbE9yZGVySW5wdXQhKSB7XG4gICAgICAgIGFkZEZ1bGZpbGxtZW50VG9PcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5GdWxmaWxsbWVudFxuICAgICAgICAgICAgLi4uIG9uIENyZWF0ZUZ1bGZpbGxtZW50RXJyb3Ige1xuICAgICAgICAgICAgICAgIGVycm9yQ29kZVxuICAgICAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICBmdWxmaWxsbWVudEhhbmRsZXJFcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLi4uIG9uIEZ1bGZpbGxtZW50U3RhdGVUcmFuc2l0aW9uRXJyb3Ige1xuICAgICAgICAgICAgICAgIGVycm9yQ29kZVxuICAgICAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBDQU5DRUxfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQ2FuY2VsT3JkZXIoJGlucHV0OiBDYW5jZWxPcmRlcklucHV0ISkge1xuICAgICAgICBjYW5jZWxPcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSRUZVTkRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gUmVmdW5kT3JkZXIoJGlucHV0OiBSZWZ1bmRPcmRlcklucHV0ISkge1xuICAgICAgICByZWZ1bmRPcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5SZWZ1bmRcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtSRUZVTkRfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgU0VUVExFX1JFRlVORCA9IGdxbGBcbiAgICBtdXRhdGlvbiBTZXR0bGVSZWZ1bmQoJGlucHV0OiBTZXR0bGVSZWZ1bmRJbnB1dCEpIHtcbiAgICAgICAgc2V0dGxlUmVmdW5kKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLlJlZnVuZFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke1JFRlVORF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBHRVRfT1JERVJfSElTVE9SWSA9IGdxbGBcbiAgICBxdWVyeSBHZXRPcmRlckhpc3RvcnkoJGlkOiBJRCEsICRvcHRpb25zOiBIaXN0b3J5RW50cnlMaXN0T3B0aW9ucykge1xuICAgICAgICBvcmRlcihpZDogJGlkKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgaGlzdG9yeShvcHRpb25zOiAkb3B0aW9ucykge1xuICAgICAgICAgICAgICAgIHRvdGFsSXRlbXNcbiAgICAgICAgICAgICAgICBpdGVtcyB7XG4gICAgICAgICAgICAgICAgICAgIGlkXG4gICAgICAgICAgICAgICAgICAgIHR5cGVcbiAgICAgICAgICAgICAgICAgICAgY3JlYXRlZEF0XG4gICAgICAgICAgICAgICAgICAgIGlzUHVibGljXG4gICAgICAgICAgICAgICAgICAgIGFkbWluaXN0cmF0b3Ige1xuICAgICAgICAgICAgICAgICAgICAgICAgaWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdE5hbWVcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkYXRhXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IEFERF9OT1RFX1RPX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIEFkZE5vdGVUb09yZGVyKCRpbnB1dDogQWRkTm90ZVRvT3JkZXJJbnB1dCEpIHtcbiAgICAgICAgYWRkTm90ZVRvT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgaWRcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBVUERBVEVfT1JERVJfTk9URSA9IGdxbGBcbiAgICBtdXRhdGlvbiBVcGRhdGVPcmRlck5vdGUoJGlucHV0OiBVcGRhdGVPcmRlck5vdGVJbnB1dCEpIHtcbiAgICAgICAgdXBkYXRlT3JkZXJOb3RlKGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIGlkXG4gICAgICAgICAgICBkYXRhXG4gICAgICAgICAgICBpc1B1YmxpY1xuICAgICAgICB9XG4gICAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IERFTEVURV9PUkRFUl9OT1RFID0gZ3FsYFxuICAgIG11dGF0aW9uIERlbGV0ZU9yZGVyTm90ZSgkaWQ6IElEISkge1xuICAgICAgICBkZWxldGVPcmRlck5vdGUoaWQ6ICRpZCkge1xuICAgICAgICAgICAgcmVzdWx0XG4gICAgICAgICAgICBtZXNzYWdlXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9PUkRFUl9UT19TVEFURSA9IGdxbGBcbiAgICBtdXRhdGlvbiBUcmFuc2l0aW9uT3JkZXJUb1N0YXRlKCRpZDogSUQhLCAkc3RhdGU6IFN0cmluZyEpIHtcbiAgICAgICAgdHJhbnNpdGlvbk9yZGVyVG9TdGF0ZShpZDogJGlkLCBzdGF0ZTogJHN0YXRlKSB7XG4gICAgICAgICAgICAuLi5PcmRlclxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgICAgIC4uLiBvbiBPcmRlclN0YXRlVHJhbnNpdGlvbkVycm9yIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFVQREFURV9PUkRFUl9DVVNUT01fRklFTERTID0gZ3FsYFxuICAgIG11dGF0aW9uIFVwZGF0ZU9yZGVyQ3VzdG9tRmllbGRzKCRpbnB1dDogVXBkYXRlT3JkZXJJbnB1dCEpIHtcbiAgICAgICAgc2V0T3JkZXJDdXN0b21GaWVsZHMoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFRSQU5TSVRJT05fRlVMRklMTE1FTlRfVE9fU1RBVEUgPSBncWxgXG4gICAgbXV0YXRpb24gVHJhbnNpdGlvbkZ1bGZpbGxtZW50VG9TdGF0ZSgkaWQ6IElEISwgJHN0YXRlOiBTdHJpbmchKSB7XG4gICAgICAgIHRyYW5zaXRpb25GdWxmaWxsbWVudFRvU3RhdGUoaWQ6ICRpZCwgc3RhdGU6ICRzdGF0ZSkge1xuICAgICAgICAgICAgLi4uRnVsZmlsbG1lbnRcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgICAgICAuLi4gb24gRnVsZmlsbG1lbnRTdGF0ZVRyYW5zaXRpb25FcnJvciB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbkVycm9yXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtGVUxGSUxMTUVOVF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBNT0RJRllfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gTW9kaWZ5T3JkZXIoJGlucHV0OiBNb2RpZnlPcmRlcklucHV0ISkge1xuICAgICAgICBtb2RpZnlPcmRlcihpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBRERfTUFOVUFMX1BBWU1FTlRfVE9fT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQWRkTWFudWFsUGF5bWVudCgkaW5wdXQ6IE1hbnVhbFBheW1lbnRJbnB1dCEpIHtcbiAgICAgICAgYWRkTWFudWFsUGF5bWVudFRvT3JkZXIoaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQ1JFQVRFX0RSQUZUX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIENyZWF0ZURyYWZ0T3JkZXIge1xuICAgICAgICBjcmVhdGVEcmFmdE9yZGVyIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgREVMRVRFX0RSQUZUX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIERlbGV0ZURyYWZ0T3JkZXIoJG9yZGVySWQ6IElEISkge1xuICAgICAgICBkZWxldGVEcmFmdE9yZGVyKG9yZGVySWQ6ICRvcmRlcklkKSB7XG4gICAgICAgICAgICByZXN1bHRcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfVxuICAgIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBRERfSVRFTV9UT19EUkFGVF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBBZGRJdGVtVG9EcmFmdE9yZGVyKCRvcmRlcklkOiBJRCEsICRpbnB1dDogQWRkSXRlbVRvRHJhZnRPcmRlcklucHV0ISkge1xuICAgICAgICBhZGRJdGVtVG9EcmFmdE9yZGVyKG9yZGVySWQ6ICRvcmRlcklkLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBBREpVU1RfRFJBRlRfT1JERVJfTElORSA9IGdxbGBcbiAgICBtdXRhdGlvbiBBZGp1c3REcmFmdE9yZGVyTGluZSgkb3JkZXJJZDogSUQhLCAkaW5wdXQ6IEFkanVzdERyYWZ0T3JkZXJMaW5lSW5wdXQhKSB7XG4gICAgICAgIGFkanVzdERyYWZ0T3JkZXJMaW5lKG9yZGVySWQ6ICRvcmRlcklkLCBpbnB1dDogJGlucHV0KSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG5cbmV4cG9ydCBjb25zdCBSRU1PVkVfRFJBRlRfT1JERVJfTElORSA9IGdxbGBcbiAgICBtdXRhdGlvbiBSZW1vdmVEcmFmdE9yZGVyTGluZSgkb3JkZXJJZDogSUQhLCAkb3JkZXJMaW5lSWQ6IElEISkge1xuICAgICAgICByZW1vdmVEcmFmdE9yZGVyTGluZShvcmRlcklkOiAkb3JkZXJJZCwgb3JkZXJMaW5lSWQ6ICRvcmRlckxpbmVJZCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgU0VUX0NVU1RPTUVSX0ZPUl9EUkFGVF9PUkRFUiA9IGdxbGBcbiAgICBtdXRhdGlvbiBTZXRDdXN0b21lckZvckRyYWZ0T3JkZXIoJG9yZGVySWQ6IElEISwgJGN1c3RvbWVySWQ6IElELCAkaW5wdXQ6IENyZWF0ZUN1c3RvbWVySW5wdXQpIHtcbiAgICAgICAgc2V0Q3VzdG9tZXJGb3JEcmFmdE9yZGVyKG9yZGVySWQ6ICRvcmRlcklkLCBjdXN0b21lcklkOiAkY3VzdG9tZXJJZCwgaW5wdXQ6ICRpbnB1dCkge1xuICAgICAgICAgICAgLi4uT3JkZXJEZXRhaWxcbiAgICAgICAgICAgIC4uLkVycm9yUmVzdWx0XG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG4gICAgJHtFUlJPUl9SRVNVTFRfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgU0VUX1NISVBQSU5HX0FERFJFU1NfRk9SX0RSQUZUX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIFNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3MoJG9yZGVySWQ6IElEISwgJGlucHV0OiBDcmVhdGVBZGRyZXNzSW5wdXQhKSB7XG4gICAgICAgIHNldERyYWZ0T3JkZXJTaGlwcGluZ0FkZHJlc3Mob3JkZXJJZDogJG9yZGVySWQsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgU0VUX0JJTExJTkdfQUREUkVTU19GT1JfRFJBRlRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gU2V0RHJhZnRPcmRlckJpbGxpbmdBZGRyZXNzKCRvcmRlcklkOiBJRCEsICRpbnB1dDogQ3JlYXRlQWRkcmVzc0lucHV0ISkge1xuICAgICAgICBzZXREcmFmdE9yZGVyQmlsbGluZ0FkZHJlc3Mob3JkZXJJZDogJG9yZGVySWQsIGlucHV0OiAkaW5wdXQpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgIH1cbiAgICB9XG4gICAgJHtPUkRFUl9ERVRBSUxfRlJBR01FTlR9XG5gO1xuXG5leHBvcnQgY29uc3QgQVBQTFlfQ09VUE9OX0NPREVfVE9fRFJBRlRfT1JERVIgPSBncWxgXG4gICAgbXV0YXRpb24gQXBwbHlDb3Vwb25Db2RlVG9EcmFmdE9yZGVyKCRvcmRlcklkOiBJRCEsICRjb3Vwb25Db2RlOiBTdHJpbmchKSB7XG4gICAgICAgIGFwcGx5Q291cG9uQ29kZVRvRHJhZnRPcmRlcihvcmRlcklkOiAkb3JkZXJJZCwgY291cG9uQ29kZTogJGNvdXBvbkNvZGUpIHtcbiAgICAgICAgICAgIC4uLk9yZGVyRGV0YWlsXG4gICAgICAgICAgICAuLi5FcnJvclJlc3VsdFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuICAgICR7RVJST1JfUkVTVUxUX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IFJFTU9WRV9DT1VQT05fQ09ERV9GUk9NX0RSQUZUX09SREVSID0gZ3FsYFxuICAgIG11dGF0aW9uIFJlbW92ZUNvdXBvbkNvZGVGcm9tRHJhZnRPcmRlcigkb3JkZXJJZDogSUQhLCAkY291cG9uQ29kZTogU3RyaW5nISkge1xuICAgICAgICByZW1vdmVDb3Vwb25Db2RlRnJvbURyYWZ0T3JkZXIob3JkZXJJZDogJG9yZGVySWQsIGNvdXBvbkNvZGU6ICRjb3Vwb25Db2RlKSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICB9XG4gICAgfVxuICAgICR7T1JERVJfREVUQUlMX0ZSQUdNRU5UfVxuYDtcblxuZXhwb3J0IGNvbnN0IERSQUZUX09SREVSX0VMSUdJQkxFX1NISVBQSU5HX01FVEhPRFMgPSBncWxgXG4gICAgcXVlcnkgRHJhZnRPcmRlckVsaWdpYmxlU2hpcHBpbmdNZXRob2RzKCRvcmRlcklkOiBJRCEpIHtcbiAgICAgICAgZWxpZ2libGVTaGlwcGluZ01ldGhvZHNGb3JEcmFmdE9yZGVyKG9yZGVySWQ6ICRvcmRlcklkKSB7XG4gICAgICAgICAgICBpZFxuICAgICAgICAgICAgbmFtZVxuICAgICAgICAgICAgY29kZVxuICAgICAgICAgICAgZGVzY3JpcHRpb25cbiAgICAgICAgICAgIHByaWNlXG4gICAgICAgICAgICBwcmljZVdpdGhUYXhcbiAgICAgICAgICAgIG1ldGFkYXRhXG4gICAgICAgIH1cbiAgICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU0VUX0RSQUZUX09SREVSX1NISVBQSU5HX01FVEhPRCA9IGdxbGBcbiAgICBtdXRhdGlvbiBTZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2QoJG9yZGVySWQ6IElEISwgJHNoaXBwaW5nTWV0aG9kSWQ6IElEISkge1xuICAgICAgICBzZXREcmFmdE9yZGVyU2hpcHBpbmdNZXRob2Qob3JkZXJJZDogJG9yZGVySWQsIHNoaXBwaW5nTWV0aG9kSWQ6ICRzaGlwcGluZ01ldGhvZElkKSB7XG4gICAgICAgICAgICAuLi5PcmRlckRldGFpbFxuICAgICAgICAgICAgLi4uRXJyb3JSZXN1bHRcbiAgICAgICAgfVxuICAgIH1cbiAgICAke09SREVSX0RFVEFJTF9GUkFHTUVOVH1cbiAgICAke0VSUk9SX1JFU1VMVF9GUkFHTUVOVH1cbmA7XG4iXX0=
@@ -11,6 +11,9 @@ import * as i6 from "../line-refunds/line-refunds.component";
11
11
  import * as i7 from "../order-data-table/order-data-table.component";
12
12
  import * as i8 from "../order-data-table/order-total-column.component";
13
13
  import * as i9 from "@ngx-translate/core";
14
+ export function getOrderLineAsset(line) {
15
+ return line.featuredAsset ?? line.productVariant.featuredAsset ?? line.productVariant.product.featuredAsset;
16
+ }
14
17
  export class OrderTableComponent {
15
18
  constructor() {
16
19
  this.isDraft = false;
@@ -18,6 +21,7 @@ export class OrderTableComponent {
18
21
  this.remove = new EventEmitter();
19
22
  this.orderLineCustomFieldsVisible = false;
20
23
  this.customFieldsForLine = {};
24
+ this.getOrderLineAsset = getOrderLineAsset;
21
25
  }
22
26
  get visibleOrderLineCustomFields() {
23
27
  return this.orderLineCustomFieldsVisible ? this.orderLineCustomFields : [];
@@ -77,11 +81,11 @@ export class OrderTableComponent {
77
81
  }
78
82
  }
79
83
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OrderTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: OrderTableComponent, selector: "vdr-order-table", inputs: { order: "order", orderLineCustomFields: "orderLineCustomFields", isDraft: "isDraft" }, outputs: { adjust: "adjust", remove: "remove" }, ngImport: i0, template: "<vdr-order-data-table id=\"order-detail-list\" [items]=\"order.lines\" [order]=\"order\">\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-name' | translate\" id=\"product-name\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-sku' | translate\" id=\"product-sku\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.unit-price' | translate\" id=\"unit-price\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.quantity' | translate\" id=\"quantity\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <ng-container *ngIf=\"!isDraft; else draft\">\n <div class=\"flex\">\n <div\n *ngIf=\"line.orderPlacedQuantity && line.quantity !== line.orderPlacedQuantity\"\n class=\"order-placed-quantity\"\n [title]=\"'order.original-quantity-at-checkout' | translate\"\n >\n {{ line.orderPlacedQuantity }}\n </div>\n <div>{{ line.quantity }}</div>\n </div>\n </ng-container>\n <ng-template #draft>\n <div class=\"flex\">\n <input\n class=\"draft-qty\"\n type=\"number\"\n min=\"0\"\n #qtyInput\n [value]=\"line.quantity\"\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\n />\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-template>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [orderState]=\"order.state\"\n [allOrderFulfillments]=\"order.fulfillments\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [customField]=\"customField\"\n />\n <vdr-order-total-column [heading]=\"'order.total' | translate\" id=\"total\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.linePriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.linePrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n {{ 'order.promotions-applied' | translate }}\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\n discount.description\n }}</a>\n <div class=\"promotion-amount\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-order-total-column>\n</vdr-order-data-table>\n", styles: [":host .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}:host .sub-total td{border-top:1px dashed var(--color-component-border-200)}:host .total td{font-weight:700;border-top:1px dashed var(--color-component-border-200)}:host td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}:host img{border-radius:var(--border-radius-img)}:host .order-line-custom-fields{display:flex;flex-wrap:wrap}:host .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-inline-end:18px}:host .draft-qty{max-width:48px}:host .order-line-custom-field{background-color:var(--color-component-bg-100)}:host .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}:host .net-price{font-size:11px;color:var(--color-text-300);line-height:14px}:host .promotions-label{text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}:host .thumb img{width:50px;height:50px}:host .shipping-method-name{font-size:var(--font-size-xs);margin-inline-end:2px}:host .order-placed-quantity{text-decoration:line-through;color:var(--color-text-300);margin-inline-end:2px}::ng-deep .line-promotion{display:flex;justify-content:space-between;padding:6px 12px}::ng-deep .line-promotion .promotion-amount{margin-inline-start:12px}::ng-deep .line-promotion .net-price{font-size:11px;color:var(--color-text-300)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i4.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i4.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i4.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "component", type: i4.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i4.DataTableCustomFieldColumnComponent, selector: "vdr-dt2-custom-field-column", inputs: ["customField", "sorts"], exportAs: ["row"] }, { kind: "component", type: i5.LineFulfillmentComponent, selector: "vdr-line-fulfillment", inputs: ["line", "allOrderFulfillments", "orderState"] }, { kind: "component", type: i6.LineRefundsComponent, selector: "vdr-line-refunds", inputs: ["line", "payments"] }, { kind: "component", type: i7.OrderDataTableComponent, selector: "vdr-order-data-table", inputs: ["order"] }, { kind: "component", type: i8.OrderTotalColumnComponent, selector: "vdr-order-total-column", exportAs: ["row"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AssetPreviewPipe, name: "assetPreview" }, { kind: "pipe", type: i4.LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: i4.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: OrderTableComponent, selector: "vdr-order-table", inputs: { order: "order", orderLineCustomFields: "orderLineCustomFields", isDraft: "isDraft" }, outputs: { adjust: "adjust", remove: "remove" }, ngImport: i0, template: "<vdr-order-data-table id=\"order-detail-list\" [items]=\"order.lines\" [order]=\"order\">\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"getOrderLineAsset(line) as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-name' | translate\" id=\"product-name\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-sku' | translate\" id=\"product-sku\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.unit-price' | translate\" id=\"unit-price\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.quantity' | translate\" id=\"quantity\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <ng-container *ngIf=\"!isDraft; else draft\">\n <div class=\"flex\">\n <div\n *ngIf=\"line.orderPlacedQuantity && line.quantity !== line.orderPlacedQuantity\"\n class=\"order-placed-quantity\"\n [title]=\"'order.original-quantity-at-checkout' | translate\"\n >\n {{ line.orderPlacedQuantity }}\n </div>\n <div>{{ line.quantity }}</div>\n </div>\n </ng-container>\n <ng-template #draft>\n <div class=\"flex\">\n <input\n class=\"draft-qty\"\n type=\"number\"\n min=\"0\"\n #qtyInput\n [value]=\"line.quantity\"\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\n />\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-template>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [orderState]=\"order.state\"\n [allOrderFulfillments]=\"order.fulfillments\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [customField]=\"customField\"\n />\n <vdr-order-total-column [heading]=\"'order.total' | translate\" id=\"total\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.linePriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.linePrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n {{ 'order.promotions-applied' | translate }}\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\n discount.description\n }}</a>\n <div class=\"promotion-amount\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-order-total-column>\n</vdr-order-data-table>\n", styles: [":host .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}:host .sub-total td{border-top:1px dashed var(--color-component-border-200)}:host .total td{font-weight:700;border-top:1px dashed var(--color-component-border-200)}:host td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}:host img{border-radius:var(--border-radius-img)}:host .order-line-custom-fields{display:flex;flex-wrap:wrap}:host .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-inline-end:18px}:host .draft-qty{max-width:48px}:host .order-line-custom-field{background-color:var(--color-component-bg-100)}:host .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}:host .net-price{font-size:11px;color:var(--color-text-300);line-height:14px}:host .promotions-label{text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}:host .thumb img{width:50px;height:50px}:host .shipping-method-name{font-size:var(--font-size-xs);margin-inline-end:2px}:host .order-placed-quantity{text-decoration:line-through;color:var(--color-text-300);margin-inline-end:2px}::ng-deep .line-promotion{display:flex;justify-content:space-between;padding:6px 12px}::ng-deep .line-promotion .promotion-amount{margin-inline-start:12px}::ng-deep .line-promotion .net-price{font-size:11px;color:var(--color-text-300)}\n"], dependencies: [{ kind: "directive", type: i1.ClrIconCustomTag, selector: "clr-icon" }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i4.FormFieldControlDirective, selector: "input, textarea, select, vdr-currency-input" }, { kind: "component", type: i4.DropdownComponent, selector: "vdr-dropdown", inputs: ["manualToggle"] }, { kind: "component", type: i4.DropdownMenuComponent, selector: "vdr-dropdown-menu", inputs: ["vdrPosition", "customClasses"] }, { kind: "directive", type: i4.DropdownTriggerDirective, selector: "[vdrDropdownTrigger]" }, { kind: "component", type: i4.DataTable2ColumnComponent, selector: "vdr-dt2-column", inputs: ["id", "expand", "heading", "align", "sort", "optional", "hiddenByDefault", "orderable"], exportAs: ["row"] }, { kind: "component", type: i4.DataTableCustomFieldColumnComponent, selector: "vdr-dt2-custom-field-column", inputs: ["customField", "sorts"], exportAs: ["row"] }, { kind: "component", type: i5.LineFulfillmentComponent, selector: "vdr-line-fulfillment", inputs: ["line", "allOrderFulfillments", "orderState"] }, { kind: "component", type: i6.LineRefundsComponent, selector: "vdr-line-refunds", inputs: ["line", "payments"] }, { kind: "component", type: i7.OrderDataTableComponent, selector: "vdr-order-data-table", inputs: ["order"] }, { kind: "component", type: i8.OrderTotalColumnComponent, selector: "vdr-order-total-column", exportAs: ["row"] }, { kind: "pipe", type: i9.TranslatePipe, name: "translate" }, { kind: "pipe", type: i4.AssetPreviewPipe, name: "assetPreview" }, { kind: "pipe", type: i4.LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: i4.LocaleCurrencyPipe, name: "localeCurrency" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
81
85
  }
82
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OrderTableComponent, decorators: [{
83
87
  type: Component,
84
- args: [{ selector: 'vdr-order-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-order-data-table id=\"order-detail-list\" [items]=\"order.lines\" [order]=\"order\">\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"line.featuredAsset as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-name' | translate\" id=\"product-name\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-sku' | translate\" id=\"product-sku\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.unit-price' | translate\" id=\"unit-price\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.quantity' | translate\" id=\"quantity\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <ng-container *ngIf=\"!isDraft; else draft\">\n <div class=\"flex\">\n <div\n *ngIf=\"line.orderPlacedQuantity && line.quantity !== line.orderPlacedQuantity\"\n class=\"order-placed-quantity\"\n [title]=\"'order.original-quantity-at-checkout' | translate\"\n >\n {{ line.orderPlacedQuantity }}\n </div>\n <div>{{ line.quantity }}</div>\n </div>\n </ng-container>\n <ng-template #draft>\n <div class=\"flex\">\n <input\n class=\"draft-qty\"\n type=\"number\"\n min=\"0\"\n #qtyInput\n [value]=\"line.quantity\"\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\n />\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-template>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [orderState]=\"order.state\"\n [allOrderFulfillments]=\"order.fulfillments\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [customField]=\"customField\"\n />\n <vdr-order-total-column [heading]=\"'order.total' | translate\" id=\"total\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.linePriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.linePrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n {{ 'order.promotions-applied' | translate }}\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\n discount.description\n }}</a>\n <div class=\"promotion-amount\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-order-total-column>\n</vdr-order-data-table>\n", styles: [":host .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}:host .sub-total td{border-top:1px dashed var(--color-component-border-200)}:host .total td{font-weight:700;border-top:1px dashed var(--color-component-border-200)}:host td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}:host img{border-radius:var(--border-radius-img)}:host .order-line-custom-fields{display:flex;flex-wrap:wrap}:host .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-inline-end:18px}:host .draft-qty{max-width:48px}:host .order-line-custom-field{background-color:var(--color-component-bg-100)}:host .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}:host .net-price{font-size:11px;color:var(--color-text-300);line-height:14px}:host .promotions-label{text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}:host .thumb img{width:50px;height:50px}:host .shipping-method-name{font-size:var(--font-size-xs);margin-inline-end:2px}:host .order-placed-quantity{text-decoration:line-through;color:var(--color-text-300);margin-inline-end:2px}::ng-deep .line-promotion{display:flex;justify-content:space-between;padding:6px 12px}::ng-deep .line-promotion .promotion-amount{margin-inline-start:12px}::ng-deep .line-promotion .net-price{font-size:11px;color:var(--color-text-300)}\n"] }]
88
+ args: [{ selector: 'vdr-order-table', changeDetection: ChangeDetectionStrategy.OnPush, template: "<vdr-order-data-table id=\"order-detail-list\" [items]=\"order.lines\" [order]=\"order\">\n <vdr-dt2-column id=\"id\" [heading]=\"'common.id' | translate\" [hiddenByDefault]=\"true\">\n <ng-template let-line=\"item\">\n {{ line.id }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"created-at\"\n [heading]=\"'common.created-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.createdAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column\n id=\"updated-at\"\n [heading]=\"'common.updated-at' | translate\"\n [hiddenByDefault]=\"true\"\n >\n <ng-template let-line=\"item\">\n {{ line.updatedAt | localeDate : 'short' }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'common.image' | translate\" id=\"image\">\n <ng-template let-line=\"item\">\n <div class=\"image-placeholder\">\n <img\n *ngIf=\"getOrderLineAsset(line) as asset; else imagePlaceholder\"\n [src]=\"asset | assetPreview : 'tiny'\"\n />\n <ng-template #imagePlaceholder>\n <div class=\"placeholder\">\n <clr-icon shape=\"image\" size=\"48\"></clr-icon>\n </div>\n </ng-template>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-name' | translate\" id=\"product-name\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.name }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.product-sku' | translate\" id=\"product-sku\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n {{ line.productVariant.sku }}\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.unit-price' | translate\" id=\"unit-price\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.unitPriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.unitPrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-column [heading]=\"'order.quantity' | translate\" id=\"quantity\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <ng-container *ngIf=\"!isDraft; else draft\">\n <div class=\"flex\">\n <div\n *ngIf=\"line.orderPlacedQuantity && line.quantity !== line.orderPlacedQuantity\"\n class=\"order-placed-quantity\"\n [title]=\"'order.original-quantity-at-checkout' | translate\"\n >\n {{ line.orderPlacedQuantity }}\n </div>\n <div>{{ line.quantity }}</div>\n </div>\n </ng-container>\n <ng-template #draft>\n <div class=\"flex\">\n <input\n class=\"draft-qty\"\n type=\"number\"\n min=\"0\"\n #qtyInput\n [value]=\"line.quantity\"\n (blur)=\"draftInputBlur(line, qtyInput.valueAsNumber)\"\n />\n <button class=\"icon-button\" (click)=\"remove.emit({ lineId: line.id })\">\n <clr-icon shape=\"trash\"></clr-icon>\n </button>\n </div>\n </ng-template>\n <vdr-line-refunds [line]=\"line\" [payments]=\"order.payments\"></vdr-line-refunds>\n <vdr-line-fulfillment\n [line]=\"line\"\n [orderState]=\"order.state\"\n [allOrderFulfillments]=\"order.fulfillments\"\n ></vdr-line-fulfillment>\n </ng-template>\n </vdr-dt2-column>\n <vdr-dt2-custom-field-column\n *ngFor=\"let customField of orderLineCustomFields\"\n [customField]=\"customField\"\n />\n <vdr-order-total-column [heading]=\"'order.total' | translate\" id=\"total\" [optional]=\"false\">\n <ng-template let-line=\"item\">\n <div class=\"unit-price\">\n {{ line.linePriceWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ line.linePrice | localeCurrency : order.currencyCode }}\n </div>\n </div>\n\n <ng-container *ngIf=\"getLineDiscounts(line) as discounts\">\n <vdr-dropdown *ngIf=\"discounts.length\">\n <div class=\"promotions-label\" vdrDropdownTrigger>\n {{ 'order.promotions-applied' | translate }}\n </div>\n <vdr-dropdown-menu>\n <div class=\"line-promotion\" *ngFor=\"let discount of discounts\">\n <a class=\"promotion-name\" [routerLink]=\"getPromotionLink(discount)\">{{\n discount.description\n }}</a>\n <div class=\"promotion-amount\">\n {{ discount.amountWithTax | localeCurrency : order.currencyCode }}\n <div class=\"net-price\" [title]=\"'order.net-price' | translate\">\n {{ discount.amount | localeCurrency : order.currencyCode }}\n </div>\n </div>\n </div>\n </vdr-dropdown-menu>\n </vdr-dropdown>\n </ng-container>\n </ng-template>\n </vdr-order-total-column>\n</vdr-order-data-table>\n", styles: [":host .is-cancelled td{text-decoration:line-through;background-color:var(--color-component-bg-200)}:host .sub-total td{border-top:1px dashed var(--color-component-border-200)}:host .total td{font-weight:700;border-top:1px dashed var(--color-component-border-200)}:host td.custom-fields-row{border-top-style:dashed;border-top-color:var(--color-grey-200)}:host img{border-radius:var(--border-radius-img)}:host .order-line-custom-fields{display:flex;flex-wrap:wrap}:host .order-line-custom-fields .custom-field{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;margin-bottom:6px;margin-inline-end:18px}:host .draft-qty{max-width:48px}:host .order-line-custom-field{background-color:var(--color-component-bg-100)}:host .order-line-custom-field .custom-field-ellipsis{color:var(--color-text-300)}:host .net-price{font-size:11px;color:var(--color-text-300);line-height:14px}:host .promotions-label{text-decoration:underline dotted var(--color-text-200);font-size:11px;margin-top:6px;cursor:pointer;text-transform:lowercase}:host .thumb img{width:50px;height:50px}:host .shipping-method-name{font-size:var(--font-size-xs);margin-inline-end:2px}:host .order-placed-quantity{text-decoration:line-through;color:var(--color-text-300);margin-inline-end:2px}::ng-deep .line-promotion{display:flex;justify-content:space-between;padding:6px 12px}::ng-deep .line-promotion .promotion-amount{margin-inline-start:12px}::ng-deep .line-promotion .net-price{font-size:11px;color:var(--color-text-300)}\n"] }]
85
89
  }], propDecorators: { order: [{
86
90
  type: Input
87
91
  }], orderLineCustomFields: [{
@@ -93,4 +97,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
93
97
  }], remove: [{
94
98
  type: Output
95
99
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9vcmRlci10YWJsZS9vcmRlci10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLXRhYmxlL29yZGVyLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBMEMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFRaEcsTUFBTSxPQUFPLG1CQUFtQjtJQU5oQztRQVNhLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDZixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQXdDLENBQUM7UUFDbEUsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQzFELGlDQUE0QixHQUFHLEtBQUssQ0FBQztRQUNyQyx3QkFBbUIsR0FFZixFQUFFLENBQUM7S0FzRVY7SUFwRUcsSUFBSSw0QkFBNEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQy9FLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLDRCQUE0QixH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Q0FBQztRQUNoRyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNMLENBQUM7K0dBOUVRLG1CQUFtQjttR0FBbkIsbUJBQW1CLHdNQ1ZoQyw0aE1Bb0lBOzs0RkQxSGEsbUJBQW1CO2tCQU4vQixTQUFTOytCQUNJLGlCQUFpQixtQkFHVix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0cscUJBQXFCO3NCQUE3QixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFkanVzdG1lbnRUeXBlLCBDdXN0b21GaWVsZENvbmZpZywgT3JkZXJEZXRhaWxGcmFnbWVudCB9IGZyb20gJ0BkZWVucnV2L2FkbWluLXVpL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3Zkci1vcmRlci10YWJsZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL29yZGVyLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9vcmRlci10YWJsZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBPcmRlclRhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudDtcbiAgICBASW5wdXQoKSBvcmRlckxpbmVDdXN0b21GaWVsZHM6IEN1c3RvbUZpZWxkQ29uZmlnW107XG4gICAgQElucHV0KCkgaXNEcmFmdCA9IGZhbHNlO1xuICAgIEBPdXRwdXQoKSBhZGp1c3QgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbGluZUlkOiBzdHJpbmc7IHF1YW50aXR5OiBudW1iZXIgfT4oKTtcbiAgICBAT3V0cHV0KCkgcmVtb3ZlID0gbmV3IEV2ZW50RW1pdHRlcjx7IGxpbmVJZDogc3RyaW5nIH0+KCk7XG4gICAgb3JkZXJMaW5lQ3VzdG9tRmllbGRzVmlzaWJsZSA9IGZhbHNlO1xuICAgIGN1c3RvbUZpZWxkc0ZvckxpbmU6IHtcbiAgICAgICAgW2xpbmVJZDogc3RyaW5nXTogQXJyYXk8eyBjb25maWc6IEN1c3RvbUZpZWxkQ29uZmlnOyBmb3JtR3JvdXA6IFVudHlwZWRGb3JtR3JvdXA7IHZhbHVlOiBhbnkgfT47XG4gICAgfSA9IHt9O1xuXG4gICAgZ2V0IHZpc2libGVPcmRlckxpbmVDdXN0b21GaWVsZHMoKTogQ3VzdG9tRmllbGRDb25maWdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkc1Zpc2libGUgPyB0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkcyA6IFtdO1xuICAgIH1cblxuICAgIGdldCBzaG93RWxpZGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gIXRoaXMub3JkZXJMaW5lQ3VzdG9tRmllbGRzVmlzaWJsZSAmJiAwIDwgdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHMubGVuZ3RoO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkc1Zpc2libGUgPSB0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkcy5sZW5ndGggPCAyO1xuICAgICAgICB0aGlzLmdldExpbmVDdXN0b21GaWVsZHMoKTtcbiAgICB9XG5cbiAgICBkcmFmdElucHV0Qmx1cihsaW5lOiBPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl0sIHF1YW50aXR5OiBudW1iZXIpIHtcbiAgICAgICAgaWYgKGxpbmUucXVhbnRpdHkgIT09IHF1YW50aXR5KSB7XG4gICAgICAgICAgICB0aGlzLmFkanVzdC5lbWl0KHsgbGluZUlkOiBsaW5lLmlkLCBxdWFudGl0eSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZU9yZGVyTGluZUN1c3RvbUZpZWxkcygpIHtcbiAgICAgICAgdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHNWaXNpYmxlID0gIXRoaXMub3JkZXJMaW5lQ3VzdG9tRmllbGRzVmlzaWJsZTtcbiAgICB9XG5cbiAgICBnZXRMaW5lRGlzY291bnRzKGxpbmU6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2xpbmVzJ11bbnVtYmVyXSkge1xuICAgICAgICByZXR1cm4gbGluZS5kaXNjb3VudHMuZmlsdGVyKGEgPT4gYS50eXBlID09PSBBZGp1c3RtZW50VHlwZS5QUk9NT1RJT04pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TGluZUN1c3RvbUZpZWxkcygpIHtcbiAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIHRoaXMub3JkZXIubGluZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1Hcm91cCA9IG5ldyBVbnR5cGVkRm9ybUdyb3VwKHt9KTtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMub3JkZXJMaW5lQ3VzdG9tRmllbGRzXG4gICAgICAgICAgICAgICAgLm1hcChjb25maWcgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IChsaW5lIGFzIGFueSkuY3VzdG9tRmllbGRzW2NvbmZpZy5uYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgZm9ybUdyb3VwLmFkZENvbnRyb2woY29uZmlnLm5hbWUsIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2wodmFsdWUpKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmZpbHRlcihmaWVsZCA9PiAodGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHNWaXNpYmxlID8gdHJ1ZSA6IGZpZWxkLnZhbHVlICE9IG51bGwpKTtcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tRmllbGRzRm9yTGluZVtsaW5lLmlkXSA9IHJlc3VsdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFByb21vdGlvbkxpbmsocHJvbW90aW9uOiBPcmRlckRldGFpbEZyYWdtZW50WydkaXNjb3VudHMnXVtudW1iZXJdKTogYW55W10ge1xuICAgICAgICBjb25zdCBpZCA9IHByb21vdGlvbi5hZGp1c3RtZW50U291cmNlLnNwbGl0KCc6JylbMV07XG4gICAgICAgIHJldHVybiBbJy9tYXJrZXRpbmcnLCAncHJvbW90aW9ucycsIGlkXTtcbiAgICB9XG5cbiAgICBnZXRDb3Vwb25Db2RlRm9yQWRqdXN0bWVudChcbiAgICAgICAgb3JkZXI6IE9yZGVyRGV0YWlsRnJhZ21lbnQsXG4gICAgICAgIHByb21vdGlvbkFkanVzdG1lbnQ6IE9yZGVyRGV0YWlsRnJhZ21lbnRbJ2Rpc2NvdW50cyddW251bWJlcl0sXG4gICAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgaWQgPSBwcm9tb3Rpb25BZGp1c3RtZW50LmFkanVzdG1lbnRTb3VyY2Uuc3BsaXQoJzonKVsxXTtcbiAgICAgICAgY29uc3QgcHJvbW90aW9uID0gb3JkZXIucHJvbW90aW9ucy5maW5kKHAgPT4gcC5pZCA9PT0gaWQpO1xuICAgICAgICBpZiAocHJvbW90aW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvbW90aW9uLmNvdXBvbkNvZGUgfHwgdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0U2hpcHBpbmdOYW1lcyhvcmRlcjogT3JkZXJEZXRhaWxGcmFnbWVudCkge1xuICAgICAgICBpZiAob3JkZXIuc2hpcHBpbmdMaW5lcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBvcmRlci5zaGlwcGluZ0xpbmVzLm1hcChzaGlwcGluZ0xpbmUgPT4gc2hpcHBpbmdMaW5lLnNoaXBwaW5nTWV0aG9kLm5hbWUpLmpvaW4oJywgJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8dmRyLW9yZGVyLWRhdGEtdGFibGUgaWQ9XCJvcmRlci1kZXRhaWwtbGlzdFwiIFtpdGVtc109XCJvcmRlci5saW5lc1wiIFtvcmRlcl09XCJvcmRlclwiPlxuICAgIDx2ZHItZHQyLWNvbHVtbiBpZD1cImlkXCIgW2hlYWRpbmddPVwiJ2NvbW1vbi5pZCcgfCB0cmFuc2xhdGVcIiBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1saW5lPVwiaXRlbVwiPlxuICAgICAgICAgICAge3sgbGluZS5pZCB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uXG4gICAgICAgICAgICBpZD1cImNyZWF0ZWQtYXRcIlxuICAgICAgICAgICAgW2hlYWRpbmddPVwiJ2NvbW1vbi5jcmVhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1saW5lPVwiaXRlbVwiPlxuICAgICAgICAgICAge3sgbGluZS5jcmVhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uXG4gICAgICAgICAgICBpZD1cInVwZGF0ZWQtYXRcIlxuICAgICAgICAgICAgW2hlYWRpbmddPVwiJ2NvbW1vbi51cGRhdGVkLWF0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICBbaGlkZGVuQnlEZWZhdWx0XT1cInRydWVcIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1saW5lPVwiaXRlbVwiPlxuICAgICAgICAgICAge3sgbGluZS51cGRhdGVkQXQgfCBsb2NhbGVEYXRlIDogJ3Nob3J0JyB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidjb21tb24uaW1hZ2UnIHwgdHJhbnNsYXRlXCIgaWQ9XCJpbWFnZVwiPlxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWxpbmU9XCJpdGVtXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1hZ2UtcGxhY2Vob2xkZXJcIj5cbiAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluZS5mZWF0dXJlZEFzc2V0IGFzIGFzc2V0OyBlbHNlIGltYWdlUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImFzc2V0IHwgYXNzZXRQcmV2aWV3IDogJ3RpbnknXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW1hZ2VQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJpbWFnZVwiIHNpemU9XCI0OFwiPjwvY2xyLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3Zkci1kdDItY29sdW1uPlxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInb3JkZXIucHJvZHVjdC1uYW1lJyB8IHRyYW5zbGF0ZVwiIGlkPVwicHJvZHVjdC1uYW1lXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUucHJvZHVjdFZhcmlhbnQubmFtZSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidvcmRlci5wcm9kdWN0LXNrdScgfCB0cmFuc2xhdGVcIiBpZD1cInByb2R1Y3Qtc2t1XCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUucHJvZHVjdFZhcmlhbnQuc2t1IH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC92ZHItZHQyLWNvbHVtbj5cbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ29yZGVyLnVuaXQtcHJpY2UnIHwgdHJhbnNsYXRlXCIgaWQ9XCJ1bml0LXByaWNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bml0LXByaWNlXCI+XG4gICAgICAgICAgICAgICAge3sgbGluZS51bml0UHJpY2VXaXRoVGF4IHwgbG9jYWxlQ3VycmVuY3kgOiBvcmRlci5jdXJyZW5jeUNvZGUgfX1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV0LXByaWNlXCIgW3RpdGxlXT1cIidvcmRlci5uZXQtcHJpY2UnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGxpbmUudW5pdFByaWNlIHwgbG9jYWxlQ3VycmVuY3kgOiBvcmRlci5jdXJyZW5jeUNvZGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidvcmRlci5xdWFudGl0eScgfCB0cmFuc2xhdGVcIiBpZD1cInF1YW50aXR5XCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEcmFmdDsgZWxzZSBkcmFmdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluZS5vcmRlclBsYWNlZFF1YW50aXR5ICYmIGxpbmUucXVhbnRpdHkgIT09IGxpbmUub3JkZXJQbGFjZWRRdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyLXBsYWNlZC1xdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ29yZGVyLm9yaWdpbmFsLXF1YW50aXR5LWF0LWNoZWNrb3V0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmUub3JkZXJQbGFjZWRRdWFudGl0eSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57eyBsaW5lLnF1YW50aXR5IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZHJhZnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyYWZ0LXF0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3F0eUlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibGluZS5xdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJkcmFmdElucHV0Qmx1cihsaW5lLCBxdHlJbnB1dC52YWx1ZUFzTnVtYmVyKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpY29uLWJ1dHRvblwiIChjbGljayk9XCJyZW1vdmUuZW1pdCh7IGxpbmVJZDogbGluZS5pZCB9KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8dmRyLWxpbmUtcmVmdW5kcyBbbGluZV09XCJsaW5lXCIgW3BheW1lbnRzXT1cIm9yZGVyLnBheW1lbnRzXCI+PC92ZHItbGluZS1yZWZ1bmRzPlxuICAgICAgICAgICAgPHZkci1saW5lLWZ1bGZpbGxtZW50XG4gICAgICAgICAgICAgICAgW2xpbmVdPVwibGluZVwiXG4gICAgICAgICAgICAgICAgW29yZGVyU3RhdGVdPVwib3JkZXIuc3RhdGVcIlxuICAgICAgICAgICAgICAgIFthbGxPcmRlckZ1bGZpbGxtZW50c109XCJvcmRlci5mdWxmaWxsbWVudHNcIlxuICAgICAgICAgICAgPjwvdmRyLWxpbmUtZnVsZmlsbG1lbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC92ZHItZHQyLWNvbHVtbj5cbiAgICA8dmRyLWR0Mi1jdXN0b20tZmllbGQtY29sdW1uXG4gICAgICAgICpuZ0Zvcj1cImxldCBjdXN0b21GaWVsZCBvZiBvcmRlckxpbmVDdXN0b21GaWVsZHNcIlxuICAgICAgICBbY3VzdG9tRmllbGRdPVwiY3VzdG9tRmllbGRcIlxuICAgIC8+XG4gICAgPHZkci1vcmRlci10b3RhbC1jb2x1bW4gW2hlYWRpbmddPVwiJ29yZGVyLnRvdGFsJyB8IHRyYW5zbGF0ZVwiIGlkPVwidG90YWxcIiBbb3B0aW9uYWxdPVwiZmFsc2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1saW5lPVwiaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVuaXQtcHJpY2VcIj5cbiAgICAgICAgICAgICAgICB7eyBsaW5lLmxpbmVQcmljZVdpdGhUYXggfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXQtcHJpY2VcIiBbdGl0bGVdPVwiJ29yZGVyLm5ldC1wcmljZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGluZS5saW5lUHJpY2UgfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRMaW5lRGlzY291bnRzKGxpbmUpIGFzIGRpc2NvdW50c1wiPlxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24gKm5nSWY9XCJkaXNjb3VudHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tb3Rpb25zLWxhYmVsXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLnByb21vdGlvbnMtYXBwbGllZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb21vdGlvblwiICpuZ0Zvcj1cImxldCBkaXNjb3VudCBvZiBkaXNjb3VudHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInByb21vdGlvbi1uYW1lXCIgW3JvdXRlckxpbmtdPVwiZ2V0UHJvbW90aW9uTGluayhkaXNjb3VudClcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tb3Rpb24tYW1vdW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRpc2NvdW50LmFtb3VudFdpdGhUYXggfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV0LXByaWNlXCIgW3RpdGxlXT1cIidvcmRlci5uZXQtcHJpY2UnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkaXNjb3VudC5hbW91bnQgfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC92ZHItb3JkZXItdG90YWwtY29sdW1uPlxuPC92ZHItb3JkZXItZGF0YS10YWJsZT5cbiJdfQ==
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9vcmRlci9zcmMvY29tcG9uZW50cy9vcmRlci10YWJsZS9vcmRlci10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL29yZGVyL3NyYy9jb21wb25lbnRzL29yZGVyLXRhYmxlL29yZGVyLXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGNBQWMsRUFBMEMsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFVaEcsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQTBCO0lBQ3hELE9BQU8sSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7QUFDaEgsQ0FBQztBQVFELE1BQU0sT0FBTyxtQkFBbUI7SUFOaEM7UUFTYSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2YsV0FBTSxHQUFHLElBQUksWUFBWSxFQUF3QyxDQUFDO1FBQ2xFLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUMxRCxpQ0FBNEIsR0FBRyxLQUFLLENBQUM7UUFDckMsd0JBQW1CLEdBRWYsRUFBRSxDQUFDO1FBQ0Usc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7S0FzRWxEO0lBcEVHLElBQUksNEJBQTRCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFC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QixDQUFDLEtBQTBCO1FBQ3ZDLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM3QixPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEcsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDOytHQS9FUSxtQkFBbUI7bUdBQW5CLG1CQUFtQix3TUN0QmhDLGlpTUFvSUE7OzRGRDlHYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0ksaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU07OEJBR3RDLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWRqdXN0bWVudFR5cGUsIEN1c3RvbUZpZWxkQ29uZmlnLCBPcmRlckRldGFpbEZyYWdtZW50IH0gZnJvbSAnQGRlZW5ydXYvYWRtaW4tdWkvY29yZSc7XG5cbmludGVyZmFjZSBPcmRlckxpbmVBc3NldFNvdXJjZSB7XG4gICAgZmVhdHVyZWRBc3NldDogeyBwcmV2aWV3OiBzdHJpbmcgfSB8IG51bGw7XG4gICAgcHJvZHVjdFZhcmlhbnQ6IHtcbiAgICAgICAgZmVhdHVyZWRBc3NldDogeyBwcmV2aWV3OiBzdHJpbmcgfSB8IG51bGw7XG4gICAgICAgIHByb2R1Y3Q6IHsgZmVhdHVyZWRBc3NldDogeyBwcmV2aWV3OiBzdHJpbmcgfSB8IG51bGwgfTtcbiAgICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3JkZXJMaW5lQXNzZXQobGluZTogT3JkZXJMaW5lQXNzZXRTb3VyY2UpOiB7IHByZXZpZXc6IHN0cmluZyB9IHwgbnVsbCB7XG4gICAgcmV0dXJuIGxpbmUuZmVhdHVyZWRBc3NldCA/PyBsaW5lLnByb2R1Y3RWYXJpYW50LmZlYXR1cmVkQXNzZXQgPz8gbGluZS5wcm9kdWN0VmFyaWFudC5wcm9kdWN0LmZlYXR1cmVkQXNzZXQ7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmRyLW9yZGVyLXRhYmxlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3JkZXItdGFibGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL29yZGVyLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE9yZGVyVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIG9yZGVyOiBPcmRlckRldGFpbEZyYWdtZW50O1xuICAgIEBJbnB1dCgpIG9yZGVyTGluZUN1c3RvbUZpZWxkczogQ3VzdG9tRmllbGRDb25maWdbXTtcbiAgICBASW5wdXQoKSBpc0RyYWZ0ID0gZmFsc2U7XG4gICAgQE91dHB1dCgpIGFkanVzdCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBsaW5lSWQ6IHN0cmluZzsgcXVhbnRpdHk6IG51bWJlciB9PigpO1xuICAgIEBPdXRwdXQoKSByZW1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHsgbGluZUlkOiBzdHJpbmcgfT4oKTtcbiAgICBvcmRlckxpbmVDdXN0b21GaWVsZHNWaXNpYmxlID0gZmFsc2U7XG4gICAgY3VzdG9tRmllbGRzRm9yTGluZToge1xuICAgICAgICBbbGluZUlkOiBzdHJpbmddOiBBcnJheTx7IGNvbmZpZzogQ3VzdG9tRmllbGRDb25maWc7IGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cDsgdmFsdWU6IGFueSB9PjtcbiAgICB9ID0ge307XG4gICAgcmVhZG9ubHkgZ2V0T3JkZXJMaW5lQXNzZXQgPSBnZXRPcmRlckxpbmVBc3NldDtcblxuICAgIGdldCB2aXNpYmxlT3JkZXJMaW5lQ3VzdG9tRmllbGRzKCk6IEN1c3RvbUZpZWxkQ29uZmlnW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHNWaXNpYmxlID8gdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHMgOiBbXTtcbiAgICB9XG5cbiAgICBnZXQgc2hvd0VsaWRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkc1Zpc2libGUgJiYgMCA8IHRoaXMub3JkZXJMaW5lQ3VzdG9tRmllbGRzLmxlbmd0aDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHNWaXNpYmxlID0gdGhpcy5vcmRlckxpbmVDdXN0b21GaWVsZHMubGVuZ3RoIDwgMjtcbiAgICAgICAgdGhpcy5nZXRMaW5lQ3VzdG9tRmllbGRzKCk7XG4gICAgfVxuXG4gICAgZHJhZnRJbnB1dEJsdXIobGluZTogT3JkZXJEZXRhaWxGcmFnbWVudFsnbGluZXMnXVtudW1iZXJdLCBxdWFudGl0eTogbnVtYmVyKSB7XG4gICAgICAgIGlmIChsaW5lLnF1YW50aXR5ICE9PSBxdWFudGl0eSkge1xuICAgICAgICAgICAgdGhpcy5hZGp1c3QuZW1pdCh7IGxpbmVJZDogbGluZS5pZCwgcXVhbnRpdHkgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVPcmRlckxpbmVDdXN0b21GaWVsZHMoKSB7XG4gICAgICAgIHRoaXMub3JkZXJMaW5lQ3VzdG9tRmllbGRzVmlzaWJsZSA9ICF0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkc1Zpc2libGU7XG4gICAgfVxuXG4gICAgZ2V0TGluZURpc2NvdW50cyhsaW5lOiBPcmRlckRldGFpbEZyYWdtZW50WydsaW5lcyddW251bWJlcl0pIHtcbiAgICAgICAgcmV0dXJuIGxpbmUuZGlzY291bnRzLmZpbHRlcihhID0+IGEudHlwZSA9PT0gQWRqdXN0bWVudFR5cGUuUFJPTU9USU9OKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExpbmVDdXN0b21GaWVsZHMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiB0aGlzLm9yZGVyLmxpbmVzKSB7XG4gICAgICAgICAgICBjb25zdCBmb3JtR3JvdXAgPSBuZXcgVW50eXBlZEZvcm1Hcm91cCh7fSk7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLm9yZGVyTGluZUN1c3RvbUZpZWxkc1xuICAgICAgICAgICAgICAgIC5tYXAoY29uZmlnID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSAobGluZSBhcyBhbnkpLmN1c3RvbUZpZWxkc1tjb25maWcubmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGZvcm1Hcm91cC5hZGRDb250cm9sKGNvbmZpZy5uYW1lLCBuZXcgVW50eXBlZEZvcm1Db250cm9sKHZhbHVlKSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb3JtR3JvdXAsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoZmllbGQgPT4gKHRoaXMub3JkZXJMaW5lQ3VzdG9tRmllbGRzVmlzaWJsZSA/IHRydWUgOiBmaWVsZC52YWx1ZSAhPSBudWxsKSk7XG4gICAgICAgICAgICB0aGlzLmN1c3RvbUZpZWxkc0ZvckxpbmVbbGluZS5pZF0gPSByZXN1bHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRQcm9tb3Rpb25MaW5rKHByb21vdGlvbjogT3JkZXJEZXRhaWxGcmFnbWVudFsnZGlzY291bnRzJ11bbnVtYmVyXSk6IGFueVtdIHtcbiAgICAgICAgY29uc3QgaWQgPSBwcm9tb3Rpb24uYWRqdXN0bWVudFNvdXJjZS5zcGxpdCgnOicpWzFdO1xuICAgICAgICByZXR1cm4gWycvbWFya2V0aW5nJywgJ3Byb21vdGlvbnMnLCBpZF07XG4gICAgfVxuXG4gICAgZ2V0Q291cG9uQ29kZUZvckFkanVzdG1lbnQoXG4gICAgICAgIG9yZGVyOiBPcmRlckRldGFpbEZyYWdtZW50LFxuICAgICAgICBwcm9tb3Rpb25BZGp1c3RtZW50OiBPcmRlckRldGFpbEZyYWdtZW50WydkaXNjb3VudHMnXVtudW1iZXJdLFxuICAgICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IGlkID0gcHJvbW90aW9uQWRqdXN0bWVudC5hZGp1c3RtZW50U291cmNlLnNwbGl0KCc6JylbMV07XG4gICAgICAgIGNvbnN0IHByb21vdGlvbiA9IG9yZGVyLnByb21vdGlvbnMuZmluZChwID0+IHAuaWQgPT09IGlkKTtcbiAgICAgICAgaWYgKHByb21vdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIHByb21vdGlvbi5jb3Vwb25Db2RlIHx8IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNoaXBwaW5nTmFtZXMob3JkZXI6IE9yZGVyRGV0YWlsRnJhZ21lbnQpIHtcbiAgICAgICAgaWYgKG9yZGVyLnNoaXBwaW5nTGluZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gb3JkZXIuc2hpcHBpbmdMaW5lcy5tYXAoc2hpcHBpbmdMaW5lID0+IHNoaXBwaW5nTGluZS5zaGlwcGluZ01ldGhvZC5uYW1lKS5qb2luKCcsICcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHZkci1vcmRlci1kYXRhLXRhYmxlIGlkPVwib3JkZXItZGV0YWlsLWxpc3RcIiBbaXRlbXNdPVwib3JkZXIubGluZXNcIiBbb3JkZXJdPVwib3JkZXJcIj5cbiAgICA8dmRyLWR0Mi1jb2x1bW4gaWQ9XCJpZFwiIFtoZWFkaW5nXT1cIidjb21tb24uaWQnIHwgdHJhbnNsYXRlXCIgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUuaWQgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3Zkci1kdDItY29sdW1uPlxuICAgIDx2ZHItZHQyLWNvbHVtblxuICAgICAgICAgICAgaWQ9XCJjcmVhdGVkLWF0XCJcbiAgICAgICAgICAgIFtoZWFkaW5nXT1cIidjb21tb24uY3JlYXRlZC1hdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCJcbiAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUuY3JlYXRlZEF0IHwgbG9jYWxlRGF0ZSA6ICdzaG9ydCcgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3Zkci1kdDItY29sdW1uPlxuICAgIDx2ZHItZHQyLWNvbHVtblxuICAgICAgICAgICAgaWQ9XCJ1cGRhdGVkLWF0XCJcbiAgICAgICAgICAgIFtoZWFkaW5nXT1cIidjb21tb24udXBkYXRlZC1hdCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgW2hpZGRlbkJ5RGVmYXVsdF09XCJ0cnVlXCJcbiAgICA+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUudXBkYXRlZEF0IHwgbG9jYWxlRGF0ZSA6ICdzaG9ydCcgfX1cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3Zkci1kdDItY29sdW1uPlxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInY29tbW9uLmltYWdlJyB8IHRyYW5zbGF0ZVwiIGlkPVwiaW1hZ2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1saW5lPVwiaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImltYWdlLXBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImdldE9yZGVyTGluZUFzc2V0KGxpbmUpIGFzIGFzc2V0OyBlbHNlIGltYWdlUGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgICAgICAgICBbc3JjXT1cImFzc2V0IHwgYXNzZXRQcmV2aWV3IDogJ3RpbnknXCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjaW1hZ2VQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2xyLWljb24gc2hhcGU9XCJpbWFnZVwiIHNpemU9XCI0OFwiPjwvY2xyLWljb24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L3Zkci1kdDItY29sdW1uPlxuICAgIDx2ZHItZHQyLWNvbHVtbiBbaGVhZGluZ109XCInb3JkZXIucHJvZHVjdC1uYW1lJyB8IHRyYW5zbGF0ZVwiIGlkPVwicHJvZHVjdC1uYW1lXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUucHJvZHVjdFZhcmlhbnQubmFtZSB9fVxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidvcmRlci5wcm9kdWN0LXNrdScgfCB0cmFuc2xhdGVcIiBpZD1cInByb2R1Y3Qtc2t1XCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIHt7IGxpbmUucHJvZHVjdFZhcmlhbnQuc2t1IH19XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC92ZHItZHQyLWNvbHVtbj5cbiAgICA8dmRyLWR0Mi1jb2x1bW4gW2hlYWRpbmddPVwiJ29yZGVyLnVuaXQtcHJpY2UnIHwgdHJhbnNsYXRlXCIgaWQ9XCJ1bml0LXByaWNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ1bml0LXByaWNlXCI+XG4gICAgICAgICAgICAgICAge3sgbGluZS51bml0UHJpY2VXaXRoVGF4IHwgbG9jYWxlQ3VycmVuY3kgOiBvcmRlci5jdXJyZW5jeUNvZGUgfX1cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV0LXByaWNlXCIgW3RpdGxlXT1cIidvcmRlci5uZXQtcHJpY2UnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGxpbmUudW5pdFByaWNlIHwgbG9jYWxlQ3VycmVuY3kgOiBvcmRlci5jdXJyZW5jeUNvZGUgfX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvdmRyLWR0Mi1jb2x1bW4+XG4gICAgPHZkci1kdDItY29sdW1uIFtoZWFkaW5nXT1cIidvcmRlci5xdWFudGl0eScgfCB0cmFuc2xhdGVcIiBpZD1cInF1YW50aXR5XCIgW29wdGlvbmFsXT1cImZhbHNlXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbGluZT1cIml0ZW1cIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNEcmFmdDsgZWxzZSBkcmFmdFwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibGluZS5vcmRlclBsYWNlZFF1YW50aXR5ICYmIGxpbmUucXVhbnRpdHkgIT09IGxpbmUub3JkZXJQbGFjZWRRdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyLXBsYWNlZC1xdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ29yZGVyLm9yaWdpbmFsLXF1YW50aXR5LWF0LWNoZWNrb3V0JyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGxpbmUub3JkZXJQbGFjZWRRdWFudGl0eSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdj57eyBsaW5lLnF1YW50aXR5IH19PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZHJhZnQ+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXhcIj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRyYWZ0LXF0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgI3F0eUlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwibGluZS5xdWFudGl0eVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoYmx1cik9XCJkcmFmdElucHV0Qmx1cihsaW5lLCBxdHlJbnB1dC52YWx1ZUFzTnVtYmVyKVwiXG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJpY29uLWJ1dHRvblwiIChjbGljayk9XCJyZW1vdmUuZW1pdCh7IGxpbmVJZDogbGluZS5pZCB9KVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsci1pY29uIHNoYXBlPVwidHJhc2hcIj48L2Nsci1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8dmRyLWxpbmUtcmVmdW5kcyBbbGluZV09XCJsaW5lXCIgW3BheW1lbnRzXT1cIm9yZGVyLnBheW1lbnRzXCI+PC92ZHItbGluZS1yZWZ1bmRzPlxuICAgICAgICAgICAgPHZkci1saW5lLWZ1bGZpbGxtZW50XG4gICAgICAgICAgICAgICAgW2xpbmVdPVwibGluZVwiXG4gICAgICAgICAgICAgICAgW29yZGVyU3RhdGVdPVwib3JkZXIuc3RhdGVcIlxuICAgICAgICAgICAgICAgIFthbGxPcmRlckZ1bGZpbGxtZW50c109XCJvcmRlci5mdWxmaWxsbWVudHNcIlxuICAgICAgICAgICAgPjwvdmRyLWxpbmUtZnVsZmlsbG1lbnQ+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC92ZHItZHQyLWNvbHVtbj5cbiAgICA8dmRyLWR0Mi1jdXN0b20tZmllbGQtY29sdW1uXG4gICAgICAgICpuZ0Zvcj1cImxldCBjdXN0b21GaWVsZCBvZiBvcmRlckxpbmVDdXN0b21GaWVsZHNcIlxuICAgICAgICBbY3VzdG9tRmllbGRdPVwiY3VzdG9tRmllbGRcIlxuICAgIC8+XG4gICAgPHZkci1vcmRlci10b3RhbC1jb2x1bW4gW2hlYWRpbmddPVwiJ29yZGVyLnRvdGFsJyB8IHRyYW5zbGF0ZVwiIGlkPVwidG90YWxcIiBbb3B0aW9uYWxdPVwiZmFsc2VcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1saW5lPVwiaXRlbVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInVuaXQtcHJpY2VcIj5cbiAgICAgICAgICAgICAgICB7eyBsaW5lLmxpbmVQcmljZVdpdGhUYXggfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZXQtcHJpY2VcIiBbdGl0bGVdPVwiJ29yZGVyLm5ldC1wcmljZScgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgbGluZS5saW5lUHJpY2UgfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRMaW5lRGlzY291bnRzKGxpbmUpIGFzIGRpc2NvdW50c1wiPlxuICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24gKm5nSWY9XCJkaXNjb3VudHMubGVuZ3RoXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tb3Rpb25zLWxhYmVsXCIgdmRyRHJvcGRvd25UcmlnZ2VyPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ29yZGVyLnByb21vdGlvbnMtYXBwbGllZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDx2ZHItZHJvcGRvd24tbWVudT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLXByb21vdGlvblwiICpuZ0Zvcj1cImxldCBkaXNjb3VudCBvZiBkaXNjb3VudHNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInByb21vdGlvbi1uYW1lXCIgW3JvdXRlckxpbmtdPVwiZ2V0UHJvbW90aW9uTGluayhkaXNjb3VudClcIj57e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNjb3VudC5kZXNjcmlwdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9tb3Rpb24tYW1vdW50XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRpc2NvdW50LmFtb3VudFdpdGhUYXggfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV0LXByaWNlXCIgW3RpdGxlXT1cIidvcmRlci5uZXQtcHJpY2UnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkaXNjb3VudC5hbW91bnQgfCBsb2NhbGVDdXJyZW5jeSA6IG9yZGVyLmN1cnJlbmN5Q29kZSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L3Zkci1kcm9wZG93bi1tZW51PlxuICAgICAgICAgICAgICAgIDwvdmRyLWRyb3Bkb3duPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC92ZHItb3JkZXItdG90YWwtY29sdW1uPlxuPC92ZHItb3JkZXItZGF0YS10YWJsZT5cbiJdfQ==