@plumile/backoffice-core 0.1.116 → 0.1.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/esm/types.js CHANGED
@@ -5,4 +5,4 @@ export class BackofficeToolValidationError extends Error {
5
5
  this.label = label;
6
6
  }
7
7
  }
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaTdEQSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxLQUFLLENBQVk7SUFFeEIsWUFBbUIsS0FBZ0I7UUFDakMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHR5cGUgeyBQcmVsb2FkZWRRdWVyeSB9IGZyb20gJ3JlYWN0LXJlbGF5JztcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhRTFRhZ2dlZE5vZGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksXG59IGZyb20gJ3JlbGF5LXJ1bnRpbWUnO1xuaW1wb3J0IHR5cGUgeyBCQUNLT0ZGSUNFX0VOVElUWV9GQUNFVF9LSU5EUyB9IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZXhwb3J0IHR5cGUgSTE4bkxhYmVsID0gKHQ6IFRGdW5jdGlvbikgPT4gc3RyaW5nO1xuXG50eXBlIEJpdmFyaWFudENhbGxiYWNrPEZuPiA9IEZuIGV4dGVuZHMgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyB7IGJpdmFyaWFuY2VIYWNrOiAoLi4uYXJnczogQSkgPT4gUiB9WydiaXZhcmlhbmNlSGFjayddXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlID0gRXhjbHVkZTxSZWFjdE5vZGUsIFByb21pc2U8dW5rbm93bj4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVmFsdWVMYWJlbCA9IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCBJMThuTGFiZWw7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VCYWRnZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTnVtYmVyRm9ybWF0ID0gJ251bWJlcicgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmllbGRTaXplID1cbiAgfCAneHMnXG4gIHwgJ3MnXG4gIHwgJ3N0YXR1c0FjdGlvbidcbiAgfCAnbSdcbiAgfCAnbCdcbiAgfCAneGwnXG4gIHwgJ2ZsdWlkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblZhcmlhbnQgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3RleHQnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnYnJhbmQnXG4gIHwgJ2JyYW5kR2hvc3QnXG4gIHwgJ3RhYidcbiAgfCAnaWNvbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25TaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblRvYXN0Vmlld1NwZWM8XG4gIE5vZGUgPSB1bmtub3duLFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBnZXRUYXJnZXRJZDogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSA9IHVua25vd24sIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIG1lc3NhZ2U/OiBJMThuTGFiZWw7XG4gIHZpZXc/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RWaWV3U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgYXJpYUxhYmVsPzogSTE4bkxhYmVsO1xuICB2YXJpYW50PzogQmFja29mZmljZUFjdGlvblZhcmlhbnQ7XG4gIHNpemU/OiBCYWNrb2ZmaWNlQWN0aW9uU2l6ZTtcbiAgaXNWaXNpYmxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xuICBpc0Rpc2FibGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xufTtcblxudHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlYyA9XG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ251bWJlcic7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IG51bWJlcjtcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAganNvblR5cGU/OiAnb2JqZWN0JyB8ICdhcnJheScgfCAnYW55JztcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdlbnVtJztcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnYm9vbGVhbic7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2VudGl0eUlkJztcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ211bHRpRW51bSc7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBJMThuTGFiZWwgfVtdO1xuICAgICAgZGVmYXVsdFZhbHVlPzogcmVhZG9ubHkgc3RyaW5nW107XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25SZXN1bHRTcGVjPE5vZGUsIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGdldFZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVzcG9uc2U6IFJlc3BvbnNlLCBub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsXG4gID47XG4gIHJlbmRlcj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlIHwgbnVsbFxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvblVwZGF0ZXI8Tm9kZT4gPSBCaXZhcmlhbnRDYWxsYmFjazxcbiAgKHN0b3JlOiBSZWNvcmRTb3VyY2VTZWxlY3RvclByb3h5LCBub2RlOiBOb2RlKSA9PiB2b2lkXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjPFxuICBOb2RlLFxuICBWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVzcG9uc2UgPSB1bmtub3duLFxuPiA9IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25CYXNlPE5vZGU+ICYge1xuICBraW5kOiAnbXV0YXRpb24nO1xuICBtdXRhdGlvbjogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGdldFZhcmlhYmxlczogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IFZhcmlhYmxlcz47XG4gIHVwZGF0ZXI/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPjtcbiAgbWFwRXJyb3JSZWFzb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVhc29uOiBzdHJpbmcsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIG9uQ29tcGxldGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIG9uRXJyb3I/OiBCaXZhcmlhbnRDYWxsYmFjazwoZXJyb3I6IEVycm9yLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgdG9hc3RzPzoge1xuICAgIHN1Y2Nlc3M/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFJlc3BvbnNlPjtcbiAgICBlcnJvcj86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8XG4gIE5vZGUsXG4gIFZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0gQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gIGtpbmQ6ICdmb3JtTXV0YXRpb24nO1xuICBtdXRhdGlvbjogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZFNwZWNbXTtcbiAgZ2V0VmFyaWFibGVzOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSwgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gVmFyaWFibGVzXG4gID47XG4gIHVwZGF0ZXI/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPjtcbiAgZ2V0SW5pdGlhbFZhbHVlcz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gIG1hcEVycm9yUmVhc29uPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlYXNvbjogc3RyaW5nLCBub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICBvbkNvbXBsZXRlZD86IEJpdmFyaWFudENhbGxiYWNrPChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IHZvaWQ+O1xuICBvbkVycm9yPzogQml2YXJpYW50Q2FsbGJhY2s8KGVycm9yOiBFcnJvciwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIHRvYXN0cz86IHtcbiAgICBzdWNjZXNzPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBSZXNwb25zZT47XG4gICAgZXJyb3I/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFJlc3BvbnNlPjtcbiAgfTtcbiAgcmVzdWx0PzogQmFja29mZmljZUVudGl0eUFjdGlvblJlc3VsdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlQWN0aW9uU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25CYXNlPE5vZGU+ICYge1xuICAgIGtpbmQ6ICdyb3V0ZSc7XG4gICAgdG86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZUVudGl0eU11dGF0aW9uQWN0aW9uU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VFbnRpdHlGb3JtTXV0YXRpb25BY3Rpb25TcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUVudGl0eVJvdXRlQWN0aW9uU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RBY3Rpb25TcGVjID0gQmFja29mZmljZUVudGl0eUFjdGlvblNwZWM8bnVsbD47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlLaW5kID0gJ2xpc3QtZGV0YWlsJyB8ICd0b29sJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eU1hbmlmZXN0S2luZCA9ICdsaXN0LWRldGFpbCcgfCAndG9vbCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldEtpbmQgPVxuICAodHlwZW9mIEJBQ0tPRkZJQ0VfRU5USVRZX0ZBQ0VUX0tJTkRTKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TW9kdWxlU3RhdHVzID1cbiAgfCAnaWRsZSdcbiAgfCAnbG9hZGluZydcbiAgfCAnbG9hZGVkJ1xuICB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMb2FkTW9kZSA9ICdjYWNoZS1maXJzdCcgfCAncmVsb2FkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbmZpZ0FjY2Vzc0tpbmQgPVxuICB8ICdtYW5pZmVzdC1vbmx5J1xuICB8ICdsb2FkZWQtY29uZmlnLXJlcXVpcmVkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RWYXJpYWJsZXM8V2hlcmUsIFNvcnQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICB3aGVyZTogV2hlcmUgfCBudWxsO1xuICBzb3J0OiBTb3J0IHwgbnVsbDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvblZhcmlhYmxlczxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvblJlc3BvbnNlPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ107XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgd2hlcmU/OiBpbmZlciBXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH1cbiAgICA/IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmU+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj5cbiAgICA6IG5ldmVyLFxuPiA9IFRXaGVyZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUU29ydCA9IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHNvcnQ/OiBpbmZlciBTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxTb3J0Piwgc3RyaW5nPlxuICAgIDogbmV2ZXIsXG4+ID0gRXh0cmFjdDxUU29ydCwgc3RyaW5nPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURlcml2ZWRPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICB3aGVyZT86IGluZmVyIFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZT4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXJpdmVkT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICBzb3J0PzogaW5mZXIgU29ydCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH1cbiAgICA/IEV4dHJhY3Q8Tm9uTnVsbGFibGU8U29ydD4sIHN0cmluZz5cbiAgICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHdoZXJlOiBUV2hlcmUgfCBudWxsO1xuICBzb3J0OiBUU29ydCB8IG51bGw7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcjogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4gPSBQYXJ0aWFsPHtcbiAgW0tleSBpbiBrZXlvZiBXaGVyZV06IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmVbS2V5XT4sIHN0cmluZz47XG59PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHNlYXJjaDogc3RyaW5nO1xuICBzY29wZT86IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxUV2hlcmU+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uRmlsdGVyU3BlYzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIGZpbHRlcklkPzogc3RyaW5nO1xuICB3aGVyZUtleTogRXh0cmFjdDxrZXlvZiBUV2hlcmUsIHN0cmluZz47XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUmVsYXRpb25GaWx0ZXJTcGVjID0ge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgZmlsdGVySWQ/OiBzdHJpbmc7XG4gIHdoZXJlS2V5OiBzdHJpbmc7XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXMgPSB7XG4gIGxpc3Q6IHN0cmluZztcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBkZXRhaWxQYWdlOiAoaWQ6IHN0cmluZywgcGFnZUlkOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZU1hbmlmZXN0ID0ge1xuICBsaXN0OiBzdHJpbmc7XG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgZGV0YWlsUGFnZTogKGlkOiBzdHJpbmcsIHBhZ2VJZDogc3RyaW5nKSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aFNlZ21lbnQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlUm91dGVTcGVjPExheW91dFZpZXcgPSB1bmtub3duPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBpc1Zpc2libGU/OiBCaXZhcmlhbnRDYWxsYmFjazwobGF5b3V0UGFnZTogTGF5b3V0VmlldykgPT4gYm9vbGVhbj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29uZmlnID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgcXVlcnk/OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgd2lkZ2V0czogcmVhZG9ubHkgQmFja29mZmljZURhc2hib2FyZFdpZGdldFtdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnIHwgJ2Z1bGwnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3BhbiA9IDMgfCA0IHwgNiB8IDggfCAxMjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFRhYmxldFNwYW4gPSAzIHwgNjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFpvbmUgPVxuICB8ICdzdW1tYXJ5J1xuICB8ICdtYWluJ1xuICB8ICdhc2lkZSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdmdWxsJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldExheW91dCA9IHtcbiAgem9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRab25lO1xuICBzcGFuPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFNwYW47XG4gIHRhYmxldFNwYW4/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VGFibGV0U3BhbjtcbiAgb3JkZXI/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UHJpb3JpdHkgPVxuICB8ICdjcml0aWNhbCdcbiAgfCAnaGlnaCdcbiAgfCAnbm9ybWFsJ1xuICB8ICdsb3cnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnZGVidWcnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU/OiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBzaXplPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFNpemU7XG4gIGxheW91dD86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRMYXlvdXQ7XG4gIHByaW9yaXR5PzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFByaW9yaXR5O1xuICBtaW5IZWlnaHQ/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0ID1cbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnZW50aXR5Q291bnQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eUlkOiBzdHJpbmc7XG4gICAgICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgcmVzb2x2ZT86IChkYXRhOiB1bmtub3duKSA9PiB7IGNvdW50OiBudW1iZXIgfCBudWxsIH07XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnc2hvcnRjdXQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eUlkOiBzdHJpbmc7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAndGFibGVQcmV2aWV3JztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgcmVzb2x2ZTogKGRhdGE6IHVua25vd24pID0+IHtcbiAgICAgICAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWNbXTtcbiAgICAgICAgcm93czogcmVhZG9ubHkgdW5rbm93bltdO1xuICAgICAgfTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdzdGF0dXNTdW1tYXJ5JztcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG4gICAgICAgIGhyZWY/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAncmVjZW50SXRlbXMnO1xuICAgICAgbWF4SXRlbXM/OiBudW1iZXI7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAncXVpY2tBY3Rpb25zJztcbiAgICAgIGFjdGlvbnM6IHJlYWRvbmx5IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgICAgdG9uZT86ICdkZWZhdWx0JyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ21ldHJpY0dyb3VwJztcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgbWV0YT86IEkxOG5MYWJlbDtcbiAgICAgICAgdG9uZT86ICduZXV0cmFsJyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuICAgICAgICBocmVmPzogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ3RleHRCbG9jayc7XG4gICAgICB0aXRsZTogSTE4bkxhYmVsO1xuICAgICAgYm9keTogSTE4bkxhYmVsO1xuICAgIH0pO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFVybENvZGVjPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgcGFyc2U6IChzZWFyY2g6IFVSTFNlYXJjaFBhcmFtcykgPT4gQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD47XG4gIHNlcmlhbGl6ZTogKHN0YXRlOiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0PikgPT4gVVJMU2VhcmNoUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNvcnRTcGVjPFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+ID0ge1xuICBpZDogU29ydDtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3cgPSB1bmtub3duPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gSTE4bkxhYmVsPjtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RDb2x1bW5Qcmlvcml0eSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ2ltcG9ydGFudCdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0TW9iaWxlUm9sZSA9XG4gIHwgJ3RpdGxlJ1xuICB8ICdzdWJ0aXRsZSdcbiAgfCAnbWV0YSdcbiAgfCAnYmFkZ2UnXG4gIHwgJ3N0YXR1cydcbiAgfCAnYWN0aW9uJ1xuICB8ICdoaWRkZW4nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdENvbHVtblZpc2liaWxpdHkgPSB7XG4gIHByaW9yaXR5PzogQmFja29mZmljZUxpc3RDb2x1bW5Qcmlvcml0eTtcbiAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIG1vYmlsZT86IEJhY2tvZmZpY2VMaXN0TW9iaWxlUm9sZTtcbiAgdGFibGV0PzogJ3Zpc2libGUnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAndmlzaWJsZScgfCAnaGlkZGVuJztcbiAgbWluVmlzaWJsZUF0PzogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uQ29weSA9IHtcbiAgc2hvcnRMYWJlbD86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGVtcHR5TGFiZWw/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3cgPSB1bmtub3duPiA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGhlYWRlcjogSTE4bkxhYmVsO1xuICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICB2aXNpYmlsaXR5PzogQmFja29mZmljZUxpc3RDb2x1bW5WaXNpYmlsaXR5O1xuICBjb3B5PzogQmFja29mZmljZUxpc3RDb2x1bW5Db3B5O1xuICBjZWxsOlxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ3RleHQnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICAgIHRvOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZz47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgdG9uZT86XG4gICAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZz47XG4gICAgICAgIGxhYmVsPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdjdXN0b20nO1xuICAgICAgICByZW5kZXI6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gdW5rbm93bj47XG4gICAgICAgIHRleHRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZW5zaXR5ID0gJ2NvbXBhY3QnIHwgJ2RlZmF1bHQnIHwgJ2NvbWZvcnRhYmxlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REaXNwbGF5TW9kZSA9ICd0YWJsZScgfCAnY2FyZHMnIHwgJ2F1dG8nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uTW9kZSA9ICdhdXRvJyB8ICdhbHdheXMnIHwgJ25ldmVyJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbkNvbmZpZyA9IHtcbiAgbW9kZT86IEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Nb2RlO1xuICByb3dIZWlnaHRQeD86IG51bWJlcjtcbiAgb3ZlcnNjYW4/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5maW5pdGVTY3JvbGxDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiB0cnVlO1xuICByb290TWFyZ2luPzogc3RyaW5nO1xuICB0aHJlc2hvbGQ/OiBudW1iZXI7XG4gIHRocmVzaG9sZFB4PzogbnVtYmVyO1xuICBhdXRvTG9hZD86IGJvb2xlYW47XG4gIHN0YXR1cz86IHtcbiAgICBzaG93TG9hZGVkQ291bnQ/OiBib29sZWFuO1xuICAgIHNob3dUb3RhbENvdW50PzogYm9vbGVhbjtcbiAgICBzaG93RW5kU3RhdGU/OiBib29sZWFuO1xuICAgIHNob3dJbmNvbnNpc3RlbnRQYWdlSW5mbz86IGJvb2xlYW47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFRvb2xiYXJQcm9maWxlID0ge1xuICBkZW5zaXR5PzogQmFja29mZmljZUxpc3REZW5zaXR5O1xuICBkaXNwbGF5TW9kZT86IEJhY2tvZmZpY2VMaXN0RGlzcGxheU1vZGU7XG4gIG1heFByb21vdGVkRmlsdGVycz86IG51bWJlcjtcbiAgc2hvd1JlZnJlc2g/OiBib29sZWFuO1xuICBzaG93U29ydD86IGJvb2xlYW47XG4gIHNob3dGaWx0ZXJDaGlwcz86ICdhdXRvJyB8ICdhbHdheXMnIHwgJ25ldmVyJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VWlDb25maWcgPSB7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIGRpc3BsYXlNb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgaW5maW5pdGVTY3JvbGw/OiBCYWNrb2ZmaWNlSW5maW5pdGVTY3JvbGxDb25maWc7XG4gIHZpcnR1YWxpemF0aW9uPzogQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbkNvbmZpZztcbiAgdG9vbGJhcj86IEJhY2tvZmZpY2VMaXN0VG9vbGJhclByb2ZpbGU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVNZXRhSXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw/OiBJMThuTGFiZWw7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RSZXNwb25zaXZlUHJvZmlsZTxSb3cgPSB1bmtub3duPiA9IHtcbiAgbW9kZT86IEJhY2tvZmZpY2VMaXN0RGlzcGxheU1vZGU7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIG1vYmlsZUJyZWFrcG9pbnQ/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG4gIHByaW1hcnlDb2x1bW4/OiBzdHJpbmc7XG4gIGRlZmF1bHRWaXNpYmxlQ29sdW1ucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBkZWJ1Z0NvbHVtbnM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcm93VGl0bGU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICByb3dTdWJ0aXRsZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHJvd01ldGE/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocm93OiBSb3cpID0+IHJlYWRvbmx5IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtW11cbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQgPSAncXVpY2snIHwgJ2RyYXdlcicgfCAnYm90aCc7XG5cbnR5cGUgQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIFZhbHVlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcGxhY2VtZW50PzogQmFja29mZmljZUZpbHRlclBsYWNlbWVudDtcbiAgdG9HcmFwaFFMOiAodmFsdWU6IFZhbHVlKSA9PiBQYXJ0aWFsPFdoZXJlPjtcbiAgZnJvbUdyYXBoUUw/OiAod2hlcmU6IFdoZXJlKSA9PiBWYWx1ZSB8IG51bGw7XG4gIHdoZXJlS2V5Pzoga2V5b2YgV2hlcmU7XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcGlja2VyU2NvcGU/OlxuICAgIHwgQmFja29mZmljZVBpY2tlclNjb3BlPFdoZXJlPlxuICAgIHwgKCh3aGVyZTogV2hlcmUgfCBudWxsKSA9PiBCYWNrb2ZmaWNlUGlja2VyU2NvcGU8V2hlcmU+KTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9XG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ3RleHQnO1xuICAgICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgc3RyaW5nPiAmIHtcbiAgICAgIGtpbmQ6ICdkYXRldGltZSc7XG4gICAgICBtb2RlPzogJ2Zyb20nIHwgJ3RvJyB8ICdleGFjdCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBudW1iZXI+ICYge1xuICAgICAga2luZDogJ251bWJlcic7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgICAgaW5wdXRNb2RlPzogJ251bWVyaWMnIHwgJ2RlY2ltYWwnO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgb3B0aW9uczogcmVhZG9ubHkge1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBib29sZWFuPiAmIHtcbiAgICAgIGtpbmQ6ICdib29sZWFuJztcbiAgICAgIHRydWVMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGZhbHNlTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSA9IHVua25vd24sXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAga2luZDogJ2Nvbm5lY3Rpb24nO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZyYWdtZW50OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlLCBUU29ydD4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIGdldENvbm5lY3Rpb246IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChkYXRhOiBMaXN0RnJhZ21lbnREYXRhKSA9PiBCYWNrb2ZmaWNlQ29ubmVjdGlvbjxSb3dSZWY+XG4gID47XG4gIHRvUm93OiBCaXZhcmlhbnRDYWxsYmFjazwocm93UmVmOiBSb3dSZWYpID0+IFJvd1ZpZXc+O1xuICBnZXRSb3dJZDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93VmlldykgPT4gc3RyaW5nPjtcbiAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWM8Um93Vmlldz5bXTtcbiAgcm93RmxhZ3M/OiByZWFkb25seSBCYWNrb2ZmaWNlUm93RmxhZ1NwZWM8Um93Vmlldz5bXTtcbiAgc29ydHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VTb3J0U3BlYzxUU29ydD5bXTtcbiAgZmlsdGVyczogcmVhZG9ubHkgQmFja29mZmljZUZpbHRlclNwZWM8VFdoZXJlPltdO1xuICByZXNwb25zaXZlPzogQmFja29mZmljZUxpc3RSZXNwb25zaXZlUHJvZmlsZTxSb3dWaWV3PjtcbiAgdWk/OiBCYWNrb2ZmaWNlTGlzdFVpQ29uZmlnO1xuICBkZWZhdWx0U3RhdGU/OiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFRXaGVyZSwgVFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlY29yZExpc3RDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIGtpbmQ6ICdyZWNvcmRzJztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICBnZXRSb3dzOiBCaXZhcmlhbnRDYWxsYmFjazwoZGF0YTogTGlzdEZyYWdtZW50RGF0YSkgPT4gcmVhZG9ubHkgUm93UmVmW10+O1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3PjtcbiAgZ2V0TmV4dEN1cnNvcj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChkYXRhOiBCYWNrb2ZmaWNlT3BlcmF0aW9uUmVzcG9uc2U8VE9wZXJhdGlvbj4pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgZ2V0Um93SWQ6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvd1ZpZXcpID0+IHN0cmluZz47XG4gIGNvbHVtbnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VDb2x1bW5TcGVjPFJvd1ZpZXc+W107XG4gIHJvd0ZsYWdzPzogcmVhZG9ubHkgQmFja29mZmljZVJvd0ZsYWdTcGVjPFJvd1ZpZXc+W107XG4gIHNvcnRzOiByZWFkb25seSBCYWNrb2ZmaWNlU29ydFNwZWM8VFNvcnQ+W107XG4gIGZpbHRlcnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFRXaGVyZT5bXTtcbiAgcmVzcG9uc2l2ZT86IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZVByb2ZpbGU8Um93Vmlldz47XG4gIHVpPzogQmFja29mZmljZUxpc3RVaUNvbmZpZztcbiAgZGVmYXVsdFN0YXRlPzogQmFja29mZmljZUxpc3RTdGF0ZTxUV2hlcmUsIFRTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID1cbiAgfCBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmUsXG4gICAgICBUU29ydFxuICAgID5cbiAgfCBCYWNrb2ZmaWNlUmVjb3JkTGlzdENvbmZpZzxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0XG4gICAgPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUJhZGdlSXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjID1cbiAgfCB7XG4gICAgICB0eXBlOiAndGV4dCc7XG4gICAgICB2YWx1ZTogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGxhYmVsPzogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgIGhyZWY6IHN0cmluZyB8IG51bGw7XG4gICAgICBsYWJlbDogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlclN1YnRpdGxlSXRlbTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJNZXRhU3BlYzxOb2RlPiA9XG4gIHwge1xuICAgICAgdHlwZT86ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGhyZWY6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2VSb3cnO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cCA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ2lkZW50aXR5J1xuICB8ICdzY29wZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxJbXBvcnRhbmNlID1cbiAgfCAnaGVybydcbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb2xsYXBzZUJlaGF2aW9yID0ge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICBwZXJzaXN0S2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbiA9IHtcbiAgZ3JvdXA/OiBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudEdyb3VwO1xuICBpbXBvcnRhbmNlPzogQmFja29mZmljZURldGFpbEltcG9ydGFuY2U7XG4gIGNvbGxhcHNlPzogQmFja29mZmljZURldGFpbENvbGxhcHNlQmVoYXZpb3I7XG4gIG1vYmlsZT86ICd2aXNpYmxlJyB8ICdjb2xsYXBzZWQnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdmdWxsV2lkdGgnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uVG9uZSA9ICduZXV0cmFsJyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVuc2l0eSA9ICdjb21wYWN0JyB8ICdjb21mb3J0YWJsZSc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudCA9ICdtYWluJyB8ICdzaWRlJyB8ICdmdWxsV2lkdGgnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnZGlhZ25vc3RpYyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWUgPVxuICB8IHN0cmluZ1xuICB8IG51bWJlclxuICB8IGJvb2xlYW5cbiAgfCBudWxsXG4gIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgPSB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRvbmU6IEJhY2tvZmZpY2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlID0ge1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHBsYWNlbWVudD86IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudDtcbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eTtcbiAgcmVhZG9ubHkgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VWYWx1ZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5SXRlbVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID0gQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICByZWFkb25seSBraW5kOiAnc3VtbWFyeSc7XG4gIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlU3VtbWFyeUl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSGVyb1N1bW1hcnlCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1ldHJpY1NwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBmb3JtYXR0ZWRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGhpbnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnbWV0cmljcyc7XG4gICAgcmVhZG9ubHkgZGVuc2l0eT86IEJhY2tvZmZpY2VEZW5zaXR5O1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlTWV0cmljU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWV0cmljQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWU+O1xuICByZWFkb25seSBnZXREaXNwbGF5OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICB2YWx1ZTogQmFja29mZmljZVJlbmRlcmFibGVWYWx1ZSxcbiAgICAgIG5vZGU6IE5vZGUsXG4gICAgKSA9PiB7XG4gICAgICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgcmVhZG9ubHkgdG9uZTogQmFja29mZmljZVRvbmU7XG4gICAgfVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3N0YXRlcyc7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiByZWFkb25seSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdGF0ZUJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ2NvbnRleHQnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uVGlsZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IGNvdW50PzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBocmVmPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWxhdGlvbkdyb3VwQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdyZWxhdGlvbnMnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlUmVsYXRpb25UaWxlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25CbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlUmVsYXRpb25Hcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgc3RhdGU/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVN0YXR1c1ZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSBhY3Rvcj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHBheWxvYWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4gPSBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gIHJlYWRvbmx5IGtpbmQ6ICd0aW1lbGluZSc7XG4gIHJlYWRvbmx5IGV2ZW50czogcmVhZG9ubHkgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQXVkaXRJdGVtU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGFjdG9yPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc291cmNlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ2F1ZGl0JztcbiAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VBdWRpdEl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVmZXJlbmNlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IHJlZktpbmQ/OlxuICAgIHwgJ2lkJ1xuICAgIHwgJ3NsdWcnXG4gICAgfCAncGF0aCdcbiAgICB8ICd1cmwnXG4gICAgfCAnaGFzaCdcbiAgICB8ICdleHRlcm5hbCdcbiAgICB8ICd0ZXh0Jztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAncmVmZXJlbmNlcyc7XG4gICAgcmVhZG9ubHkgcmVmZXJlbmNlczogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBheWxvYWRGb3JtYXQgPSAnanNvbicgfCAnbWFya2Rvd24nIHwgJ3RleHQnIHwgJ2NvZGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3BheWxvYWQnO1xuICByZWFkb25seSBmb3JtYXQ/OiBCYWNrb2ZmaWNlUGF5bG9hZEZvcm1hdDtcbiAgcmVhZG9ubHkgc3VtbWFyeT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHJlYWRvbmx5IGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBlbXB0eUxhYmVsPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblJlc3VsdEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnYWN0aW9uUmVzdWx0JztcbiAgICByZWFkb25seSBzdGF0dXM/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPjtcbiAgICByZWFkb25seSBtZXNzYWdlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgICByZWFkb25seSBwYXlsb2FkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3RlY2huaWNhbEZhY3RzJztcbiAgICByZWFkb25seSBmYWN0czogcmVhZG9ubHkgQmFja29mZmljZVZhbHVlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT4gPVxuICB8IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VBY3Rpb25SZXN1bHRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGbGFnVmFyaWFudCA9XG4gIHwgJ3llc05vJ1xuICB8ICdjYXBhYmlsaXR5J1xuICB8ICdlbmFibGVkJ1xuICB8ICdmYWlsdXJlJ1xuICB8ICdlbmNyeXB0ZWQnXG4gIHwgJ2xvY2tlZCdcbiAgfCAnZGVmYXVsdCdcbiAgfCAnYWdlbnRNYW5hZ2VkJ1xuICB8ICdkZXBsb3llZFByb2R1Y3Rpb24nXG4gIHwgJ2ZvcmNlZCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxGaWVsZFNwZWM8Tm9kZT4gPVxuICB8IHtcbiAgICAgIHR5cGU6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlUm93JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkYXRlVGltZSc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbnVtYmVyJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBudW1iZXIgfCBudWxsPjtcbiAgICAgIGZvcm1hdD86IEJhY2tvZmZpY2VOdW1iZXJGb3JtYXQ7XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZmxhZyc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gYm9vbGVhbiB8IG51bGw+O1xuICAgICAgdmFyaWFudDogQmFja29mZmljZUZsYWdWYXJpYW50O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2VudGl0eVJlZic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgaWQ6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICBocmVmOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3RhZ2dlZFZhbHVlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdGFnOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgICAgKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgICAgIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xuICAgICAgICB9IHwgbnVsbFxuICAgICAgPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUlubGluZVZhbHVlU3BlYz47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3JlbGF0aW9uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgcmVsYXRpb246IEJhY2tvZmZpY2VSdW50aW1lUmVsYXRpb25GaWx0ZXJTcGVjO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICAgICAgY291bnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnY3VzdG9tJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxOb2RlPiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgdGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGw+O1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgc3VidGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgc3VidGl0bGVJdGVtcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdWJ0aXRsZUl0ZW08Tm9kZT5bXTtcbiAgc3VidGl0bGVTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIGlkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICBiYWRnZXM/OiByZWFkb25seSB7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB0b25lPzpcbiAgICAgIHwgQmFja29mZmljZUJhZGdlVG9uZVxuICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gIH1bXTtcbiAgc3RhdHVzPzogQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT47XG4gIG1ldGE/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyTWV0YVNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxTZWN0aW9uQ29uZmlnPE5vZGU+ID0ge1xuICBpZD86IHN0cmluZztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbEZpZWxkU3BlYzxOb2RlPltdO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRGV0YWlsUGxhY2VtZW50O1xuICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZURldGFpbFNlY3Rpb25Db25maWc8Tm9kZT4gJiB7XG4gICAga2luZDogJ2ZpZWxkU2V0JztcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz4gPSB7XG4gIGtpbmQ6ICd0YWJsZSc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3c+W107XG4gIHJvd3M6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBSb3dbXT47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGFibGVCbG9ja1NwZWM8XG4gIE5vZGUsXG4gIFJvdyA9IHVua25vd24sXG4+ID0gQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT4gPSB7XG4gIGtpbmQ6ICdjdXN0b20nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQmxvY2tTcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRGV0YWlsVGFibGVCbG9ja1NwZWM8Tm9kZSwgYW55PlxuICB8IEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb250ZW50U3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZURldGFpbEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFZpZXdMYXlvdXRTcGVjID0ge1xuICByZWFkb25seSBkZW5zaXR5PzogQmFja29mZmljZURlbnNpdHk7XG4gIHJlYWRvbmx5IGNvbHVtbnM/OiAnYXV0bycgfCAnc2luZ2xlJyB8ICdtYWluU2lkZSc7XG4gIHJlYWRvbmx5IHRlY2huaWNhbERlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzaWRlQ29sdW1uPzoge1xuICAgIHJlYWRvbmx5IHdpZHRoPzogJ25hcnJvdycgfCAnbWVkaXVtJyB8ICd3aWRlJztcbiAgICByZWFkb25seSBzdGlja3k/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWaWV3U3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgdGl0bGU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgZXllYnJvdz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN0YXR1cz86IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+O1xuICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgcmVhZG9ubHkgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+W107XG4gIHJlYWRvbmx5IGxheW91dD86IEJhY2tvZmZpY2VEZXRhaWxWaWV3TGF5b3V0U3BlYztcbiAgcmVhZG9ubHkgYmxvY2tzOiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRGF0YUNvbnRleHQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID0ge1xuICB2YXJpYWJsZXM6IERldGFpbFF1ZXJ5VmFyaWFibGVzO1xuICBkZXRhaWxJZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxWYXJpYWJsZXM8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxEYXRhID0gRGV0YWlsVmlldyxcbiAgRGV0YWlsUXVlcnlEYXRhID0gdW5rbm93bixcbiAgRGV0YWlsRnJhZ21lbnRLZXkgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHJlc29sdmVOb2RlOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICBkYXRhOiBEZXRhaWxRdWVyeURhdGEsXG4gICAgICBjb250ZXh0OiBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFDb250ZXh0LFxuICAgICkgPT4gRGV0YWlsRnJhZ21lbnRLZXkgfCBudWxsXG4gID47XG4gIHRvVmlldzogQml2YXJpYW50Q2FsbGJhY2s8KGRhdGE6IERldGFpbERhdGEpID0+IERldGFpbFZpZXc+O1xuICBidWlsZFZhcmlhYmxlcz86IChpbnB1dDoge1xuICAgIGlkOiBzdHJpbmc7XG4gIH0pID0+IEJhY2tvZmZpY2VEZXRhaWxQYWdlVmFyaWFibGVzUmVzdWx0PERldGFpbFF1ZXJ5VmFyaWFibGVzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxTdGFuZGFyZFRhYiA9XG4gIHwgJ292ZXJ2aWV3J1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxUaXRsZU1ldGFJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxEZXRhaWxWaWV3ID0gdW5rbm93bj4gPSB7XG4gIHN0YW5kYXJkVGFicz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxTdGFuZGFyZFRhYltdO1xuICBzdW1tYXJ5RmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHNjb3BlRmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHN0YXR1c0ZpZWxkcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB0ZWNobmljYWxHcm91cHNDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByYXdHcm91cHNIaWRkZW5Gcm9tT3ZlcnZpZXc/OiBib29sZWFuO1xuICBzaWRlUmFpbD86IHtcbiAgICBncm91cHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxDb250ZW50R3JvdXBbXTtcbiAgICBzdGlja3k/OiBib29sZWFuO1xuICB9O1xuICB0aXRsZU1ldGE/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogRGV0YWlsVmlldykgPT4gcmVhZG9ubHkgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW1bXVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gIExheW91dFZpZXcsXG4gIExheW91dERhdGEgPSBMYXlvdXRWaWV3LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0RGF0YSxcbiAgTGF5b3V0UXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudEtleSxcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgTGF5b3V0VmlldyA9IERldGFpbFZpZXcsXG4gIERldGFpbERhdGEgPSBEZXRhaWxWaWV3LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudEtleSA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSxcbiAgRGV0YWlsUXVlcnlEYXRhLFxuICBEZXRhaWxGcmFnbWVudEtleSxcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIGlkOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgY29udGVudDogcmVhZG9ubHkgQmFja29mZmljZURldGFpbENvbnRlbnRTcGVjPERldGFpbFZpZXc+W107XG4gIGFjdGlvbnM/OiByZWFkb25seSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxEZXRhaWxWaWV3PltdO1xuICBpc1Zpc2libGU/OiBCaXZhcmlhbnRDYWxsYmFjazwobGF5b3V0UGFnZTogTGF5b3V0VmlldykgPT4gYm9vbGVhbj47XG4gIHByb2ZpbGU/OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxEZXRhaWxWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJWYWx1ZUNvbmZpZzxSb3dSZWYsIFJvd1ZpZXc+ID0ge1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHJlc29sdmVSb3c6IEJpdmFyaWFudENhbGxiYWNrPChkYXRhOiB1bmtub3duKSA9PiBSb3dSZWYgfCBudWxsPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RGV0YWlsQ29uZmlnPFxuICBMYXlvdXREYXRhID0gYW55LFxuICBMYXlvdXRWaWV3ID0gYW55LFxuICBNYWluRGF0YSA9IExheW91dERhdGEsXG4gIE1haW5WaWV3ID0gTGF5b3V0VmlldyxcbiAgU3ViRGF0YSA9IE1haW5EYXRhLFxuICBTdWJWaWV3ID0gTWFpblZpZXcsXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIE1haW5RdWVyeURhdGEgPSB1bmtub3duLFxuICBTdWJRdWVyeURhdGEgPSBNYWluUXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIE1haW5GcmFnbWVudEtleSA9IHVua25vd24sXG4gIFN1YkZyYWdtZW50S2V5ID0gTWFpbkZyYWdtZW50S2V5LFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBNYWluUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgU3ViUXVlcnlWYXJpYWJsZXMgPSBNYWluUXVlcnlWYXJpYWJsZXMsXG4+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIHByb2ZpbGU/OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxMYXlvdXRWaWV3PjtcbiAgbGF5b3V0UGFnZTogQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gICAgTGF5b3V0VmlldyxcbiAgICBMYXlvdXREYXRhLFxuICAgIExheW91dFF1ZXJ5RGF0YSxcbiAgICBMYXlvdXRGcmFnbWVudEtleSxcbiAgICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBtYWluUGFnZTogQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIE1haW5WaWV3LFxuICAgIExheW91dFZpZXcsXG4gICAgTWFpbkRhdGEsXG4gICAgTWFpblF1ZXJ5RGF0YSxcbiAgICBNYWluRnJhZ21lbnRLZXksXG4gICAgTWFpblF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHN1YlBhZ2VzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIFN1YlZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBTdWJEYXRhLFxuICAgIFN1YlF1ZXJ5RGF0YSxcbiAgICBTdWJGcmFnbWVudEtleSxcbiAgICBTdWJRdWVyeVZhcmlhYmxlc1xuICA+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIHZhbHVlPzogQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFJvd1JlZiwgUm93Vmlldz47XG4gIGdldENvbm5lY3Rpb246IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChkYXRhOiBQaWNrZXJGcmFnbWVudERhdGEpID0+IEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvd1JlZj5cbiAgPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG4gIGdldFJvd0lkOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3dWaWV3KSA9PiBzdHJpbmc+O1xuICBzZWFyY2hFbmFibGVkPzogYm9vbGVhbjtcbiAgc2VhcmNoUmVxdWlyZWQ/OiBib29sZWFuO1xuICBzZWFyY2hQbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICByb3V0ZT86IHN0cmluZztcbiAgb3BlcmF0aW9uOiBCYWNrb2ZmaWNlVG9vbE9wZXJhdGlvbjtcbiAgbGlzdD86IG5ldmVyO1xuICBkZXRhaWw/OiBuZXZlcjtcbiAgcGlja2VyPzogbmV2ZXI7XG4gIHJvdXRlcz86IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGxpc3Q6IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnRcbiAgPjtcbiAgbGlzdEFjdGlvbnM/OiByZWFkb25seSBCYWNrb2ZmaWNlTGlzdEFjdGlvblNwZWNbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBwaWNrZXI6IEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPFxuICBMYXlvdXRWaWV3ID0gdW5rbm93bixcbiAgUGFnZSBleHRlbmRzIEJhY2tvZmZpY2VEZXRhaWxQYWdlUm91dGVTcGVjPExheW91dFZpZXc+ID1cbiAgICBCYWNrb2ZmaWNlRGV0YWlsUGFnZVJvdXRlU3BlYzxMYXlvdXRWaWV3Pixcbj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgbWFpblBhZ2U6IFBhZ2U7XG4gIHN1YlBhZ2VzPzogcmVhZG9ubHkgUGFnZVtdO1xuICBkZWZhdWx0UGFnZUlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dERhdGEgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIGtpbmQ6ICdkZXRhaWwtbGF5b3V0JztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgaGVhZGVyOiBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyQ29uZmlnPExheW91dFZpZXc+O1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBsYXlvdXRQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgICBMYXlvdXRWaWV3LFxuICAgIExheW91dERhdGEsXG4gICAgTGF5b3V0UXVlcnlEYXRhLFxuICAgIExheW91dEZyYWdtZW50S2V5LFxuICAgIExheW91dFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHBhZ2VzOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPExheW91dFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbERhdGEgPSBhbnksXG4gIERldGFpbFZpZXcgPSBhbnksXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcGFnZTogQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIERldGFpbFZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBEZXRhaWxEYXRhLFxuICAgIERldGFpbFF1ZXJ5RGF0YSxcbiAgICBEZXRhaWxGcmFnbWVudEtleSxcbiAgICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBwYWdlczogQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxMYXlvdXRWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdG9vbDogQmFja29mZmljZVRvb2xFbnRpdHlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRDb25maWdCYXNlID1cbiAgfCBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZUxpc3RGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtbGF5b3V0JztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZVRvb2xGYWNldENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lT3BlcmF0aW9uID0gT3BlcmF0aW9uVHlwZSAmIHtcbiAgdmFyaWFibGVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgICB3aGVyZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBzb3J0Pzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBjdXJzb3I/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9O1xuICByZXNwb25zZTogdW5rbm93bjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lTGlzdEZhY2V0Q29uZmlnID0gQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUGlja2VyRmFjZXRDb25maWcgPSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PlxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZEVudGl0eUZhY2V0TW9kdWxlID1cbiAgfCBCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZFBpY2tlckZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZERldGFpbExheW91dEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWRUb29sRmFjZXRNb2R1bGU7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWRMaXN0RmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWRQaWNrZXJGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldExvYWRlciA9XG4gICgpID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZERldGFpbExheW91dEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldExvYWRlciA9IChcbiAgcGFnZUlkOiBzdHJpbmcsXG4pID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWRUb29sRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwID0ge1xuICBsaXN0PzogQmFja29mZmljZUxpc3RGYWNldExvYWRlcjtcbiAgcGlja2VyPzogQmFja29mZmljZVBpY2tlckZhY2V0TG9hZGVyO1xuICBkZXRhaWxMYXlvdXQ6IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldExvYWRlcjtcbiAgZGV0YWlsUGFnZTogQmFja29mZmljZURldGFpbFBhZ2VGYWNldExvYWRlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXAgPSB7XG4gIHRvb2w6IEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRMb2FkZXJNYXAgPVxuICB8IEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXBcbiAgfCBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBraW5kOiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RLaW5kO1xuICByb3V0ZVNlZ21lbnQ6IHN0cmluZztcbiAgZ3JvdXBJZD86IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVNYW5pZmVzdDtcbiAgaGFzTGlzdDogYm9vbGVhbjtcbiAgZGV0YWlsUGFnZXM/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbVtdO1xuICBkZWZhdWx0RGV0YWlsUGFnZUlkPzogc3RyaW5nO1xuICBmYWNldHM6IEJhY2tvZmZpY2VFbnRpdHlGYWNldExvYWRlck1hcDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdE1hcCA9IFJlY29yZDxcbiAgc3RyaW5nLFxuICBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+ID0gRXh0cmFjdDxcbiAga2V5b2YgVE1hbmlmZXN0LFxuICBzdHJpbmdcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdExpc3RFbnRpdHlJZDxUTWFuaWZlc3Q+ID0ge1xuICBbVEVudGl0eUlkIGluIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dOiBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgICBraW5kOiAnbGlzdC1kZXRhaWwnO1xuICAgIGhhc0xpc3Q6IHRydWU7XG4gIH1cbiAgICA/IFRFbnRpdHlJZFxuICAgIDogbmV2ZXI7XG59W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dIGV4dGVuZHMgaW5mZXIgVEVudGl0eUlkXG4gID8gW1RFbnRpdHlJZF0gZXh0ZW5kcyBbbmV2ZXJdXG4gICAgPyBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICA/IHN0cmluZ1xuICAgICAgOiBuZXZlclxuICAgIDogRXh0cmFjdDxURW50aXR5SWQsIHN0cmluZz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsRW50aXR5SWQ8VE1hbmlmZXN0PiA9IHtcbiAgW1RFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAga2luZDogJ2xpc3QtZGV0YWlsJztcbiAgfVxuICAgID8gVEVudGl0eUlkXG4gICAgOiBuZXZlcjtcbn1bQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl0gZXh0ZW5kcyBpbmZlciBURW50aXR5SWRcbiAgPyBbVEVudGl0eUlkXSBleHRlbmRzIFtuZXZlcl1cbiAgICA/IHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICAgID8gc3RyaW5nXG4gICAgICA6IG5ldmVyXG4gICAgOiBFeHRyYWN0PFRFbnRpdHlJZCwgc3RyaW5nPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RUb29sSWQ8VE1hbmlmZXN0PiA9IHtcbiAgW1RFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAga2luZDogJ3Rvb2wnO1xuICB9XG4gICAgPyBURW50aXR5SWRcbiAgICA6IG5ldmVyO1xufVtCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XSBleHRlbmRzIGluZmVyIFRFbnRpdHlJZFxuICA/IFtURW50aXR5SWRdIGV4dGVuZHMgW25ldmVyXVxuICAgID8gc3RyaW5nIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgPyBzdHJpbmdcbiAgICAgIDogbmV2ZXJcbiAgICA6IEV4dHJhY3Q8VEVudGl0eUlkLCBzdHJpbmc+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdERldGFpbFBhZ2VJZDxcbiAgVE1hbmlmZXN0LFxuICBURW50aXR5SWQgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3REZXRhaWxFbnRpdHlJZDxUTWFuaWZlc3Q+LFxuPiA9IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICBkZXRhaWxQYWdlczogcmVhZG9ubHkgKGluZmVyIFRQYWdlKVtdO1xufVxuICA/IFRQYWdlIGV4dGVuZHMgeyBpZDogaW5mZXIgVFBhZ2VJZCB9XG4gICAgPyBFeHRyYWN0PFRQYWdlSWQsIHN0cmluZz5cbiAgICA6IHN0cmluZ1xuICA6IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSxcbiAgVFNvcnRcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbiAgbGlzdFVybENvZGVjPzogQmFja29mZmljZUxpc3RVcmxDb2RlYzxUV2hlcmUsIFRTb3J0PjtcbiAgbGlzdERlZmF1bHRzPzogQmFja29mZmljZUxpc3RTdGF0ZTxUV2hlcmUsIFRTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbixcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZVxuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dFJlZiA9IGFueSxcbiAgTGF5b3V0VmlldyA9IGFueSxcbiAgTGF5b3V0UXVlcnlEYXRhID0gdW5rbm93bixcbiAgTGF5b3V0RnJhZ21lbnRSZWYgPSB1bmtub3duLFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZzxcbiAgTGF5b3V0UmVmLFxuICBMYXlvdXRWaWV3LFxuICBMYXlvdXRRdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50UmVmLFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnPFxuICBMYXlvdXRWaWV3ID0gdW5rbm93bixcbiAgRGV0YWlsUmVmID0gYW55LFxuICBEZXRhaWxWaWV3ID0gYW55LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudFJlZiA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyxcbiAgRGV0YWlsUmVmLFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxRdWVyeURhdGEsXG4gIERldGFpbEZyYWdtZW50UmVmLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnID0gQmFja29mZmljZVRvb2xGYWNldENvbmZpZyAmIHtcbiAgcm91dGU6IHN0cmluZztcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRDb25maWdCYXNlID1cbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3BpY2tlcic7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGUgPVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRNb2R1bGU7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWdCYXNlID0gQmFja29mZmljZVJ1bnRpbWVMaXN0RmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUnVudGltZVBpY2tlckZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnPFxuICAgIGFueSxcbiAgICBhbnksXG4gICAgYW55LFxuICAgIGFueSxcbiAgICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGFueVxuICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUmVzb2x2ZWRMaXN0RmFjZXRDb25maWcgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWcgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lQ29ubmVjdGlvbkxpc3RDb25maWcgPVxuICBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlY29yZExpc3RDb25maWcgPSBCYWNrb2ZmaWNlUmVjb3JkTGlzdENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5TGlzdENvbmZpZyA9IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGFueVxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVFbnRpdHlQaWNrZXJDb25maWcgPSBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT5cbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldE1vZHVsZUNhY2hlRW50cnkgPSB7XG4gIHN0YXR1czogQmFja29mZmljZUVudGl0eU1vZHVsZVN0YXR1cztcbiAgcHJvbWlzZT86IFByb21pc2U8QmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGU+O1xuICBtb2R1bGU/OiBCYWNrb2ZmaWNlUmVzb2x2ZWRFbnRpdHlGYWNldE1vZHVsZTtcbiAgZXJyb3I/OiBFcnJvcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sVmFyaWFibGVzQ29udGV4dCA9IHtcbiAgc2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBydW46IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgQmFja29mZmljZVRvb2xWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBsYWJlbDogSTE4bkxhYmVsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihsYWJlbDogSTE4bkxhYmVsKSB7XG4gICAgc3VwZXIoJ0JhY2tvZmZpY2UgdG9vbCB2YWxpZGF0aW9uIGVycm9yJyk7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sT3BlcmF0aW9uID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgaW5wdXRUeXBlU0RMPzogc3RyaW5nO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGlucHV0cz86IHJlYWRvbmx5IEJhY2tvZmZpY2VUb29sSW5wdXRTcGVjW107XG4gIG91dHB1dHM/OiByZWFkb25seSBCYWNrb2ZmaWNlVG9vbE91dHB1dFNwZWNbXTtcbiAgcmVuZGVyPzogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gIHNob3dQcm9qZWN0UGlja2VyPzogYm9vbGVhbjtcbiAgYnVpbGRWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VUb29sVmFyaWFibGVzQ29udGV4dCxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sSW5wdXRTcGVjID1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ3RleHQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2pzb24nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAnYm9vbGVhbic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogYm9vbGVhbjtcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdlbnRpdHlJZCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xPdXRwdXRTcGVjID1cbiAgfCB7XG4gICAgICBraW5kOiAndGFibGUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIGNvbHVtbnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VDb2x1bW5TcGVjW107XG4gICAgICByb3dzOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkgdW5rbm93bltdO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnY29kZSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdrZXlWYWx1ZSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgaXRlbXM6IHJlYWRvbmx5IHtcbiAgICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbDtcbiAgICAgIH1bXTtcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ3BheWxvYWQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgICAgZm9ybWF0PzogJ21hcmtkb3duJyB8ICdqc29uJyB8ICd0ZXh0JztcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ2N1c3RvbSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHJlbmRlcjogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbm5lY3Rpb248Um93PiA9IHtcbiAgZWRnZXM6IHJlYWRvbmx5IHsgbm9kZTogUm93IH1bXTtcbiAgdG90YWxDb3VudD86IG51bWJlciB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERlZmF1bHRzPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgd2hlcmU6IFdoZXJlIHwgbnVsbDtcbiAgc29ydDogU29ydCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0Um91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG4gIHF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbExheW91dFJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG4gIGxheW91dFF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbFBhZ2VSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xuICBpZDogc3RyaW5nO1xuICBwYWdlSWQ6IHN0cmluZztcbiAgcGFnZVBhdGg6IHN0cmluZztcbiAgcGFnZUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZTtcbiAgcGFnZVF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbiAgZGV0YWlsSWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRUb29sUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcbn07XG4iXX0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeThEQSxNQUFNLE9BQU8sNkJBQThCLFNBQVEsS0FBSztJQUMvQyxLQUFLLENBQVk7SUFFeEIsWUFBbUIsS0FBZ0I7UUFDakMsS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnO1xuaW1wb3J0IHR5cGUgeyBQcmVsb2FkZWRRdWVyeSB9IGZyb20gJ3JlYWN0LXJlbGF5JztcbmltcG9ydCB0eXBlIHtcbiAgR3JhcGhRTFRhZ2dlZE5vZGUsXG4gIE9wZXJhdGlvblR5cGUsXG4gIFJlY29yZFNvdXJjZVNlbGVjdG9yUHJveHksXG59IGZyb20gJ3JlbGF5LXJ1bnRpbWUnO1xuaW1wb3J0IHR5cGUgeyBCQUNLT0ZGSUNFX0VOVElUWV9GQUNFVF9LSU5EUyB9IGZyb20gJy4vY29uc3RhbnRzLmpzJztcblxuZXhwb3J0IHR5cGUgSTE4bkxhYmVsID0gKHQ6IFRGdW5jdGlvbikgPT4gc3RyaW5nO1xuXG50eXBlIEJpdmFyaWFudENhbGxiYWNrPEZuPiA9IEZuIGV4dGVuZHMgKC4uLmFyZ3M6IGluZmVyIEEpID0+IGluZmVyIFJcbiAgPyB7IGJpdmFyaWFuY2VIYWNrOiAoLi4uYXJnczogQSkgPT4gUiB9WydiaXZhcmlhbmNlSGFjayddXG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlID0gRXhjbHVkZTxSZWFjdE5vZGUsIFByb21pc2U8dW5rbm93bj4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVmFsdWVMYWJlbCA9IHN0cmluZyB8IG51bWJlciB8IG51bGwgfCBJMThuTGFiZWw7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VCYWRnZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTnVtYmVyRm9ybWF0ID0gJ251bWJlcicgfCAnY3VycmVuY3knIHwgJ3BlcmNlbnQnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRmllbGRTaXplID1cbiAgfCAneHMnXG4gIHwgJ3MnXG4gIHwgJ3N0YXR1c0FjdGlvbidcbiAgfCAnbSdcbiAgfCAnbCdcbiAgfCAneGwnXG4gIHwgJ2ZsdWlkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblZhcmlhbnQgPVxuICB8ICdwcmltYXJ5J1xuICB8ICdzZWNvbmRhcnknXG4gIHwgJ3RleHQnXG4gIHwgJ3N1Y2Nlc3MnXG4gIHwgJ2RhbmdlcidcbiAgfCAnYnJhbmQnXG4gIHwgJ2JyYW5kR2hvc3QnXG4gIHwgJ3RhYidcbiAgfCAnaWNvbic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25TaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblRvYXN0Vmlld1NwZWM8XG4gIE5vZGUgPSB1bmtub3duLFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBnZXRUYXJnZXRJZDogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbFxuICA+O1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSA9IHVua25vd24sIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIG1lc3NhZ2U/OiBJMThuTGFiZWw7XG4gIHZpZXc/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RWaWV3U3BlYzxOb2RlLCBSZXNwb25zZT47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uQmFzZTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgYXJpYUxhYmVsPzogSTE4bkxhYmVsO1xuICB2YXJpYW50PzogQmFja29mZmljZUFjdGlvblZhcmlhbnQ7XG4gIHNpemU/OiBCYWNrb2ZmaWNlQWN0aW9uU2l6ZTtcbiAgaXNWaXNpYmxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xuICBpc0Rpc2FibGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IGJvb2xlYW4+O1xufTtcblxudHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkU3BlYyA9XG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICd0ZXh0JztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ251bWJlcic7XG4gICAgICBwbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbiAgICAgIGRlZmF1bHRWYWx1ZT86IG51bWJlcjtcbiAgICAgIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgICAganNvblR5cGU/OiAnb2JqZWN0JyB8ICdhcnJheScgfCAnYW55JztcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRW50aXR5QWN0aW9uRm9ybUZpZWxkQmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdlbnVtJztcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZEJhc2UgJiB7XG4gICAgICBraW5kOiAnYm9vbGVhbic7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ2VudGl0eUlkJztcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgICAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25Gb3JtRmllbGRCYXNlICYge1xuICAgICAga2luZDogJ211bHRpRW51bSc7XG4gICAgICBvcHRpb25zOiByZWFkb25seSB7IHZhbHVlOiBzdHJpbmc7IGxhYmVsOiBJMThuTGFiZWwgfVtdO1xuICAgICAgZGVmYXVsdFZhbHVlPzogcmVhZG9ubHkgc3RyaW5nW107XG4gICAgICByZXF1aXJlZD86IGJvb2xlYW47XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25SZXN1bHRTcGVjPE5vZGUsIFJlc3BvbnNlID0gdW5rbm93bj4gPSB7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGdldFZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVzcG9uc2U6IFJlc3BvbnNlLCBub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsXG4gID47XG4gIHJlbmRlcj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VBY3Rpb25SZW5kZXJOb2RlIHwgbnVsbFxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUFjdGlvblVwZGF0ZXI8Tm9kZT4gPSBCaXZhcmlhbnRDYWxsYmFjazxcbiAgKHN0b3JlOiBSZWNvcmRTb3VyY2VTZWxlY3RvclByb3h5LCBub2RlOiBOb2RlKSA9PiB2b2lkXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TXV0YXRpb25BY3Rpb25TcGVjPFxuICBOb2RlLFxuICBWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVzcG9uc2UgPSB1bmtub3duLFxuPiA9IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25CYXNlPE5vZGU+ICYge1xuICBraW5kOiAnbXV0YXRpb24nO1xuICBtdXRhdGlvbjogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGdldFZhcmlhYmxlczogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IFZhcmlhYmxlcz47XG4gIHVwZGF0ZXI/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPjtcbiAgbWFwRXJyb3JSZWFzb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocmVhc29uOiBzdHJpbmcsIG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsXG4gID47XG4gIG9uQ29tcGxldGVkPzogQml2YXJpYW50Q2FsbGJhY2s8KHJlc3BvbnNlOiBSZXNwb25zZSwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIG9uRXJyb3I/OiBCaXZhcmlhbnRDYWxsYmFjazwoZXJyb3I6IEVycm9yLCBub2RlOiBOb2RlKSA9PiB2b2lkPjtcbiAgdG9hc3RzPzoge1xuICAgIHN1Y2Nlc3M/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFJlc3BvbnNlPjtcbiAgICBlcnJvcj86IEJhY2tvZmZpY2VBY3Rpb25Ub2FzdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eUZvcm1NdXRhdGlvbkFjdGlvblNwZWM8XG4gIE5vZGUsXG4gIFZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBSZXNwb25zZSA9IHVua25vd24sXG4+ID0gQmFja29mZmljZUVudGl0eUFjdGlvbkJhc2U8Tm9kZT4gJiB7XG4gIGtpbmQ6ICdmb3JtTXV0YXRpb24nO1xuICBtdXRhdGlvbjogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZUVudGl0eUFjdGlvbkZvcm1GaWVsZFNwZWNbXTtcbiAgZ2V0VmFyaWFibGVzOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSwgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gVmFyaWFibGVzXG4gID47XG4gIHVwZGF0ZXI/OiBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uVXBkYXRlcjxOb2RlPjtcbiAgZ2V0SW5pdGlhbFZhbHVlcz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gIG1hcEVycm9yUmVhc29uPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKHJlYXNvbjogc3RyaW5nLCBub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICBvbkNvbXBsZXRlZD86IEJpdmFyaWFudENhbGxiYWNrPChyZXNwb25zZTogUmVzcG9uc2UsIG5vZGU6IE5vZGUpID0+IHZvaWQ+O1xuICBvbkVycm9yPzogQml2YXJpYW50Q2FsbGJhY2s8KGVycm9yOiBFcnJvciwgbm9kZTogTm9kZSkgPT4gdm9pZD47XG4gIHRvYXN0cz86IHtcbiAgICBzdWNjZXNzPzogQmFja29mZmljZUFjdGlvblRvYXN0U3BlYzxOb2RlLCBSZXNwb25zZT47XG4gICAgZXJyb3I/OiBCYWNrb2ZmaWNlQWN0aW9uVG9hc3RTcGVjPE5vZGUsIFJlc3BvbnNlPjtcbiAgfTtcbiAgcmVzdWx0PzogQmFja29mZmljZUVudGl0eUFjdGlvblJlc3VsdFNwZWM8Tm9kZSwgUmVzcG9uc2U+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eVJvdXRlQWN0aW9uU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25CYXNlPE5vZGU+ICYge1xuICAgIGtpbmQ6ICdyb3V0ZSc7XG4gICAgdG86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZUVudGl0eU11dGF0aW9uQWN0aW9uU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VFbnRpdHlGb3JtTXV0YXRpb25BY3Rpb25TcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZUVudGl0eVJvdXRlQWN0aW9uU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RBY3Rpb25TcGVjID0gQmFja29mZmljZUVudGl0eUFjdGlvblNwZWM8bnVsbD47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlLaW5kID0gJ2xpc3QtZGV0YWlsJyB8ICd0b29sJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUVudGl0eU1hbmlmZXN0S2luZCA9ICdsaXN0LWRldGFpbCcgfCAndG9vbCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldEtpbmQgPVxuICAodHlwZW9mIEJBQ0tPRkZJQ0VfRU5USVRZX0ZBQ0VUX0tJTkRTKVtudW1iZXJdO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TW9kdWxlU3RhdHVzID1cbiAgfCAnaWRsZSdcbiAgfCAnbG9hZGluZydcbiAgfCAnbG9hZGVkJ1xuICB8ICdlcnJvcic7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMb2FkTW9kZSA9ICdjYWNoZS1maXJzdCcgfCAncmVsb2FkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbmZpZ0FjY2Vzc0tpbmQgPVxuICB8ICdtYW5pZmVzdC1vbmx5J1xuICB8ICdsb2FkZWQtY29uZmlnLXJlcXVpcmVkJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIHdoZXJlOiBXaGVyZSB8IG51bGw7XG4gIHNvcnQ6IFNvcnQgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RWYXJpYWJsZXM8V2hlcmUsIFNvcnQgZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICB3aGVyZTogV2hlcmUgfCBudWxsO1xuICBzb3J0OiBTb3J0IHwgbnVsbDtcbiAgY291bnQ6IG51bWJlcjtcbiAgY3Vyc29yOiBzdHJpbmcgfCBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvblZhcmlhYmxlczxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvblJlc3BvbnNlPFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlPiA9XG4gIFRPcGVyYXRpb25bJ3Jlc3BvbnNlJ107XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gVE9wZXJhdGlvblsndmFyaWFibGVzJ10gZXh0ZW5kcyB7XG4gICAgd2hlcmU/OiBpbmZlciBXaGVyZSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH1cbiAgICA/IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmU+LCBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj5cbiAgICA6IG5ldmVyLFxuPiA9IFRXaGVyZTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU9wZXJhdGlvblNvcnQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUU29ydCA9IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddIGV4dGVuZHMge1xuICAgIHNvcnQ/OiBpbmZlciBTb3J0IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxTb3J0Piwgc3RyaW5nPlxuICAgIDogbmV2ZXIsXG4+ID0gRXh0cmFjdDxUU29ydCwgc3RyaW5nPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURlcml2ZWRPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICB3aGVyZT86IGluZmVyIFdoZXJlIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgfVxuICAgID8gRXh0cmFjdDxOb25OdWxsYWJsZTxXaGVyZT4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+PlxuICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXJpdmVkT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZT4gPVxuICBUT3BlcmF0aW9uWyd2YXJpYWJsZXMnXSBleHRlbmRzIHtcbiAgICBzb3J0PzogaW5mZXIgU29ydCB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIH1cbiAgICA/IEV4dHJhY3Q8Tm9uTnVsbGFibGU8U29ydD4sIHN0cmluZz5cbiAgICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHdoZXJlOiBUV2hlcmUgfCBudWxsO1xuICBzb3J0OiBUU29ydCB8IG51bGw7XG4gIGNvdW50OiBudW1iZXI7XG4gIGN1cnNvcjogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJTY29wZTxXaGVyZT4gPSBQYXJ0aWFsPHtcbiAgW0tleSBpbiBrZXlvZiBXaGVyZV06IEV4dHJhY3Q8Tm9uTnVsbGFibGU8V2hlcmVbS2V5XT4sIHN0cmluZz47XG59PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBpY2tlclF1ZXJ5SW5wdXQ8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHNlYXJjaDogc3RyaW5nO1xuICBzY29wZT86IEJhY2tvZmZpY2VQaWNrZXJTY29wZTxUV2hlcmU+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uRmlsdGVyU3BlYzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IHtcbiAgdGFyZ2V0OiBzdHJpbmc7XG4gIGZpbHRlcklkPzogc3RyaW5nO1xuICB3aGVyZUtleTogRXh0cmFjdDxrZXlvZiBUV2hlcmUsIHN0cmluZz47XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUmVsYXRpb25GaWx0ZXJTcGVjID0ge1xuICB0YXJnZXQ6IHN0cmluZztcbiAgZmlsdGVySWQ/OiBzdHJpbmc7XG4gIHdoZXJlS2V5OiBzdHJpbmc7XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZXMgPSB7XG4gIGxpc3Q6IHN0cmluZztcbiAgZGV0YWlsOiAoaWQ6IHN0cmluZykgPT4gc3RyaW5nO1xuICBkZXRhaWxQYWdlOiAoaWQ6IHN0cmluZywgcGFnZUlkOiBzdHJpbmcpID0+IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlSb3V0ZU1hbmlmZXN0ID0ge1xuICBsaXN0OiBzdHJpbmc7XG4gIGRldGFpbDogKGlkOiBzdHJpbmcpID0+IHN0cmluZztcbiAgZGV0YWlsUGFnZTogKGlkOiBzdHJpbmcsIHBhZ2VJZDogc3RyaW5nKSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aFNlZ21lbnQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgaXNEZWZhdWx0PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlUm91dGVTcGVjPExheW91dFZpZXcgPSB1bmtub3duPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBpc1Zpc2libGU/OiBCaXZhcmlhbnRDYWxsYmFjazwobGF5b3V0UGFnZTogTGF5b3V0VmlldykgPT4gYm9vbGVhbj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkQ29uZmlnID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgcXVlcnk/OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgd2lkZ2V0czogcmVhZG9ubHkgQmFja29mZmljZURhc2hib2FyZFdpZGdldFtdO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFNpemUgPSAncycgfCAnbScgfCAnbCcgfCAneGwnIHwgJ2Z1bGwnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0U3BhbiA9IDMgfCA0IHwgNiB8IDggfCAxMjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFRhYmxldFNwYW4gPSAzIHwgNjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldFpvbmUgPVxuICB8ICdzdW1tYXJ5J1xuICB8ICdtYWluJ1xuICB8ICdhc2lkZSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdmdWxsJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURhc2hib2FyZFdpZGdldExheW91dCA9IHtcbiAgem9uZT86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRab25lO1xuICBzcGFuPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFNwYW47XG4gIHRhYmxldFNwYW4/OiBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0VGFibGV0U3BhbjtcbiAgb3JkZXI/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0UHJpb3JpdHkgPVxuICB8ICdjcml0aWNhbCdcbiAgfCAnaGlnaCdcbiAgfCAnbm9ybWFsJ1xuICB8ICdsb3cnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnZGVidWcnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdGl0bGU/OiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBzaXplPzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFNpemU7XG4gIGxheW91dD86IEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRMYXlvdXQ7XG4gIHByaW9yaXR5PzogQmFja29mZmljZURhc2hib2FyZFdpZGdldFByaW9yaXR5O1xuICBtaW5IZWlnaHQ/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0ID1cbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnZW50aXR5Q291bnQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eUlkOiBzdHJpbmc7XG4gICAgICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgcmVzb2x2ZT86IChkYXRhOiB1bmtub3duKSA9PiB7IGNvdW50OiBudW1iZXIgfCBudWxsIH07XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAnc2hvcnRjdXQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGVudGl0eUlkOiBzdHJpbmc7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAndGFibGVQcmV2aWV3JztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgcmVzb2x2ZTogKGRhdGE6IHVua25vd24pID0+IHtcbiAgICAgICAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWNbXTtcbiAgICAgICAgcm93czogcmVhZG9ubHkgdW5rbm93bltdO1xuICAgICAgfTtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRGFzaGJvYXJkV2lkZ2V0QmFzZSAmIHtcbiAgICAgIGtpbmQ6ICdzdGF0dXNTdW1tYXJ5JztcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG4gICAgICAgIGhyZWY/OiBzdHJpbmc7XG4gICAgICB9W107XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAncmVjZW50SXRlbXMnO1xuICAgICAgbWF4SXRlbXM/OiBudW1iZXI7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZURhc2hib2FyZFdpZGdldEJhc2UgJiB7XG4gICAgICBraW5kOiAncXVpY2tBY3Rpb25zJztcbiAgICAgIGFjdGlvbnM6IHJlYWRvbmx5IHtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgICAgaHJlZjogc3RyaW5nO1xuICAgICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgICAgdG9uZT86ICdkZWZhdWx0JyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ21ldHJpY0dyb3VwJztcbiAgICAgIHF1ZXJ5PzogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gICAgICByZXNvbHZlOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbDtcbiAgICAgICAgbWV0YT86IEkxOG5MYWJlbDtcbiAgICAgICAgdG9uZT86ICduZXV0cmFsJyB8ICdpbmZvJyB8ICdzdWNjZXNzJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInO1xuICAgICAgICBocmVmPzogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ2JpbGxpbmdVc2FnZUNoYXJ0JztcbiAgICAgIHRpdGxlOiBJMThuTGFiZWw7XG4gICAgICBxdWVyeT86IEdyYXBoUUxUYWdnZWROb2RlO1xuICAgICAgY2F0ZWdvcmllczogcmVhZG9ubHkge1xuICAgICAgICBpZDogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgICBjb2xvcjogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgZW1wdHlMYWJlbDogSTE4bkxhYmVsO1xuICAgICAgcmFuZ2VQcmVmaXg6IEkxOG5MYWJlbDtcbiAgICAgIGFyaWFMYWJlbDogSTE4bkxhYmVsO1xuICAgICAgcmVzb2x2ZTogKGRhdGE6IHVua25vd24pID0+IHtcbiAgICAgICAgY3VycmVuY3k6IHN0cmluZztcbiAgICAgICAgdG90YWxBbW91bnQ6IG51bWJlcjtcbiAgICAgICAgZnJvbTogc3RyaW5nIHwgbnVsbDtcbiAgICAgICAgdG86IHN0cmluZyB8IG51bGw7XG4gICAgICAgIGJ1Y2tldHM6IHJlYWRvbmx5IHtcbiAgICAgICAgICBkYXk6IHN0cmluZztcbiAgICAgICAgICBjYXRlZ29yeTogc3RyaW5nO1xuICAgICAgICAgIHZhbHVlOiBudW1iZXI7XG4gICAgICAgIH1bXTtcbiAgICAgIH0gfCBudWxsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VEYXNoYm9hcmRXaWRnZXRCYXNlICYge1xuICAgICAga2luZDogJ3RleHRCbG9jayc7XG4gICAgICB0aXRsZTogSTE4bkxhYmVsO1xuICAgICAgYm9keTogSTE4bkxhYmVsO1xuICAgIH0pO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFVybENvZGVjPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgcGFyc2U6IChzZWFyY2g6IFVSTFNlYXJjaFBhcmFtcykgPT4gQmFja29mZmljZUxpc3RTdGF0ZTxXaGVyZSwgU29ydD47XG4gIHNlcmlhbGl6ZTogKHN0YXRlOiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFdoZXJlLCBTb3J0PikgPT4gVVJMU2VhcmNoUGFyYW1zO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNvcnRTcGVjPFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBzdHJpbmc+ID0ge1xuICBpZDogU29ydDtcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSb3dGbGFnU3BlYzxSb3cgPSB1bmtub3duPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gSTE4bkxhYmVsPjtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RDb2x1bW5Qcmlvcml0eSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ2ltcG9ydGFudCdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0TW9iaWxlUm9sZSA9XG4gIHwgJ3RpdGxlJ1xuICB8ICdzdWJ0aXRsZSdcbiAgfCAnbWV0YSdcbiAgfCAnYmFkZ2UnXG4gIHwgJ3N0YXR1cydcbiAgfCAnYWN0aW9uJ1xuICB8ICdoaWRkZW4nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdENvbHVtblZpc2liaWxpdHkgPSB7XG4gIHByaW9yaXR5PzogQmFja29mZmljZUxpc3RDb2x1bW5Qcmlvcml0eTtcbiAgYWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIG1vYmlsZT86IEJhY2tvZmZpY2VMaXN0TW9iaWxlUm9sZTtcbiAgdGFibGV0PzogJ3Zpc2libGUnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAndmlzaWJsZScgfCAnaGlkZGVuJztcbiAgbWluVmlzaWJsZUF0PzogJ3NtJyB8ICdtZCcgfCAnbGcnIHwgJ3hsJztcbiAgZGVidWdPbmx5PzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0Q29sdW1uQ29weSA9IHtcbiAgc2hvcnRMYWJlbD86IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGVtcHR5TGFiZWw/OiBJMThuTGFiZWw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3cgPSB1bmtub3duPiA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIGhlYWRlcjogSTE4bkxhYmVsO1xuICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICB2aXNpYmlsaXR5PzogQmFja29mZmljZUxpc3RDb2x1bW5WaXNpYmlsaXR5O1xuICBjb3B5PzogQmFja29mZmljZUxpc3RDb2x1bW5Db3B5O1xuICBjZWxsOlxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ3RleHQnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudW1iZXIgfCBudWxsPjtcbiAgICAgICAgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICAgIHRvOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZz47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgICAgdG9uZT86XG4gICAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICBzaXplPzogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICB9XG4gICAgfCB7XG4gICAgICAgIHNpemU/OiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZz47XG4gICAgICAgIGxhYmVsPzogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93KSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIH1cbiAgICB8IHtcbiAgICAgICAgc2l6ZT86IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICAgIHR5cGU6ICdjdXN0b20nO1xuICAgICAgICByZW5kZXI6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gdW5rbm93bj47XG4gICAgICAgIHRleHRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REZW5zaXR5ID0gJ2NvbXBhY3QnIHwgJ2RlZmF1bHQnIHwgJ2NvbWZvcnRhYmxlJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3REaXNwbGF5TW9kZSA9ICd0YWJsZScgfCAnY2FyZHMnIHwgJ2F1dG8nO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFZpcnR1YWxpemF0aW9uTW9kZSA9ICdhdXRvJyB8ICdhbHdheXMnIHwgJ25ldmVyJztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbkNvbmZpZyA9IHtcbiAgbW9kZT86IEJhY2tvZmZpY2VMaXN0VmlydHVhbGl6YXRpb25Nb2RlO1xuICByb3dIZWlnaHRQeD86IG51bWJlcjtcbiAgb3ZlcnNjYW4/OiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5maW5pdGVTY3JvbGxDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiB0cnVlO1xuICByb290TWFyZ2luPzogc3RyaW5nO1xuICB0aHJlc2hvbGQ/OiBudW1iZXI7XG4gIHRocmVzaG9sZFB4PzogbnVtYmVyO1xuICBhdXRvTG9hZD86IGJvb2xlYW47XG4gIHN0YXR1cz86IHtcbiAgICBzaG93TG9hZGVkQ291bnQ/OiBib29sZWFuO1xuICAgIHNob3dUb3RhbENvdW50PzogYm9vbGVhbjtcbiAgICBzaG93RW5kU3RhdGU/OiBib29sZWFuO1xuICAgIHNob3dJbmNvbnNpc3RlbnRQYWdlSW5mbz86IGJvb2xlYW47XG4gIH07XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFRvb2xiYXJQcm9maWxlID0ge1xuICBkZW5zaXR5PzogQmFja29mZmljZUxpc3REZW5zaXR5O1xuICBkaXNwbGF5TW9kZT86IEJhY2tvZmZpY2VMaXN0RGlzcGxheU1vZGU7XG4gIG1heFByb21vdGVkRmlsdGVycz86IG51bWJlcjtcbiAgc2hvd1JlZnJlc2g/OiBib29sZWFuO1xuICBzaG93U29ydD86IGJvb2xlYW47XG4gIHNob3dGaWx0ZXJDaGlwcz86ICdhdXRvJyB8ICdhbHdheXMnIHwgJ25ldmVyJztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0VWlDb25maWcgPSB7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIGRpc3BsYXlNb2RlPzogQmFja29mZmljZUxpc3REaXNwbGF5TW9kZTtcbiAgaW5maW5pdGVTY3JvbGw/OiBCYWNrb2ZmaWNlSW5maW5pdGVTY3JvbGxDb25maWc7XG4gIHZpcnR1YWxpemF0aW9uPzogQmFja29mZmljZUxpc3RWaXJ0dWFsaXphdGlvbkNvbmZpZztcbiAgdG9vbGJhcj86IEJhY2tvZmZpY2VMaXN0VG9vbGJhclByb2ZpbGU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdFJlc3BvbnNpdmVNZXRhSXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw/OiBJMThuTGFiZWw7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RSZXNwb25zaXZlUHJvZmlsZTxSb3cgPSB1bmtub3duPiA9IHtcbiAgbW9kZT86IEJhY2tvZmZpY2VMaXN0RGlzcGxheU1vZGU7XG4gIGRlbnNpdHk/OiBCYWNrb2ZmaWNlTGlzdERlbnNpdHk7XG4gIG1vYmlsZUJyZWFrcG9pbnQ/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG4gIHByaW1hcnlDb2x1bW4/OiBzdHJpbmc7XG4gIGRlZmF1bHRWaXNpYmxlQ29sdW1ucz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBkZWJ1Z0NvbHVtbnM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcm93VGl0bGU/OiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3cpID0+IHN0cmluZyB8IG51bGw+O1xuICByb3dTdWJ0aXRsZT86IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvdykgPT4gc3RyaW5nIHwgbnVsbD47XG4gIHJvd01ldGE/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAocm93OiBSb3cpID0+IHJlYWRvbmx5IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZU1ldGFJdGVtW11cbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGaWx0ZXJQbGFjZW1lbnQgPSAncXVpY2snIHwgJ2RyYXdlcicgfCAnYm90aCc7XG5cbnR5cGUgQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIFZhbHVlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcGxhY2VtZW50PzogQmFja29mZmljZUZpbHRlclBsYWNlbWVudDtcbiAgdG9HcmFwaFFMOiAodmFsdWU6IFZhbHVlKSA9PiBQYXJ0aWFsPFdoZXJlPjtcbiAgZnJvbUdyYXBoUUw/OiAod2hlcmU6IFdoZXJlKSA9PiBWYWx1ZSB8IG51bGw7XG4gIHdoZXJlS2V5Pzoga2V5b2YgV2hlcmU7XG4gIHBhdGg/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgcGlja2VyU2NvcGU/OlxuICAgIHwgQmFja29mZmljZVBpY2tlclNjb3BlPFdoZXJlPlxuICAgIHwgKCh3aGVyZTogV2hlcmUgfCBudWxsKSA9PiBCYWNrb2ZmaWNlUGlja2VyU2NvcGU8V2hlcmU+KTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFdoZXJlPiA9XG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ3RleHQnO1xuICAgICAgcGxhY2Vob2xkZXJMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyVGV4dD86IEkxOG5MYWJlbDtcbiAgICB9KVxuICB8IChCYWNrb2ZmaWNlRmlsdGVyQmFzZTxXaGVyZSwgc3RyaW5nPiAmIHtcbiAgICAgIGtpbmQ6ICdkYXRldGltZSc7XG4gICAgICBtb2RlPzogJ2Zyb20nIHwgJ3RvJyB8ICdleGFjdCc7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBudW1iZXI+ICYge1xuICAgICAga2luZDogJ251bWJlcic7XG4gICAgICBwbGFjZWhvbGRlckxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgcGxhY2Vob2xkZXJUZXh0PzogSTE4bkxhYmVsO1xuICAgICAgaW5wdXRNb2RlPzogJ251bWVyaWMnIHwgJ2RlY2ltYWwnO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBzdHJpbmc+ICYge1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgb3B0aW9uczogcmVhZG9ubHkge1xuICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgfVtdO1xuICAgIH0pXG4gIHwgKEJhY2tvZmZpY2VGaWx0ZXJCYXNlPFdoZXJlLCBib29sZWFuPiAmIHtcbiAgICAgIGtpbmQ6ICdib29sZWFuJztcbiAgICAgIHRydWVMYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGZhbHNlTGFiZWw/OiBJMThuTGFiZWw7XG4gICAgfSlcbiAgfCAoQmFja29mZmljZUZpbHRlckJhc2U8V2hlcmUsIHN0cmluZz4gJiB7XG4gICAgICBraW5kOiAnZW50aXR5SWQnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgfSk7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb25uZWN0aW9uTGlzdENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSA9IHVua25vd24sXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuICBUU29ydCBleHRlbmRzIHN0cmluZyA9IEJhY2tvZmZpY2VPcGVyYXRpb25Tb3J0PFRPcGVyYXRpb24+LFxuPiA9IHtcbiAga2luZDogJ2Nvbm5lY3Rpb24nO1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGZyYWdtZW50OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgYnVpbGRRdWVyeVZhcmlhYmxlczogKFxuICAgIGlucHV0OiBCYWNrb2ZmaWNlTGlzdFF1ZXJ5SW5wdXQ8VE9wZXJhdGlvbiwgVFdoZXJlLCBUU29ydD4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIGdldENvbm5lY3Rpb246IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChkYXRhOiBMaXN0RnJhZ21lbnREYXRhKSA9PiBCYWNrb2ZmaWNlQ29ubmVjdGlvbjxSb3dSZWY+XG4gID47XG4gIHRvUm93OiBCaXZhcmlhbnRDYWxsYmFjazwocm93UmVmOiBSb3dSZWYpID0+IFJvd1ZpZXc+O1xuICBnZXRSb3dJZDogQml2YXJpYW50Q2FsbGJhY2s8KHJvdzogUm93VmlldykgPT4gc3RyaW5nPjtcbiAgY29sdW1uczogcmVhZG9ubHkgQmFja29mZmljZUNvbHVtblNwZWM8Um93Vmlldz5bXTtcbiAgcm93RmxhZ3M/OiByZWFkb25seSBCYWNrb2ZmaWNlUm93RmxhZ1NwZWM8Um93Vmlldz5bXTtcbiAgc29ydHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VTb3J0U3BlYzxUU29ydD5bXTtcbiAgZmlsdGVyczogcmVhZG9ubHkgQmFja29mZmljZUZpbHRlclNwZWM8VFdoZXJlPltdO1xuICByZXNwb25zaXZlPzogQmFja29mZmljZUxpc3RSZXNwb25zaXZlUHJvZmlsZTxSb3dWaWV3PjtcbiAgdWk/OiBCYWNrb2ZmaWNlTGlzdFVpQ29uZmlnO1xuICBkZWZhdWx0U3RhdGU/OiBCYWNrb2ZmaWNlTGlzdFN0YXRlPFRXaGVyZSwgVFNvcnQ+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlY29yZExpc3RDb25maWc8XG4gIFRPcGVyYXRpb24gZXh0ZW5kcyBPcGVyYXRpb25UeXBlLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIGtpbmQ6ICdyZWNvcmRzJztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGJ1aWxkUXVlcnlWYXJpYWJsZXM6IChcbiAgICBpbnB1dDogQmFja29mZmljZUxpc3RRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZSwgVFNvcnQ+LFxuICApID0+IFRPcGVyYXRpb25bJ3ZhcmlhYmxlcyddO1xuICBnZXRSb3dzOiBCaXZhcmlhbnRDYWxsYmFjazwoZGF0YTogTGlzdEZyYWdtZW50RGF0YSkgPT4gcmVhZG9ubHkgUm93UmVmW10+O1xuICB0b1JvdzogQml2YXJpYW50Q2FsbGJhY2s8KHJvd1JlZjogUm93UmVmKSA9PiBSb3dWaWV3PjtcbiAgZ2V0TmV4dEN1cnNvcj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChkYXRhOiBCYWNrb2ZmaWNlT3BlcmF0aW9uUmVzcG9uc2U8VE9wZXJhdGlvbj4pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgZ2V0Um93SWQ6IEJpdmFyaWFudENhbGxiYWNrPChyb3c6IFJvd1ZpZXcpID0+IHN0cmluZz47XG4gIGNvbHVtbnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VDb2x1bW5TcGVjPFJvd1ZpZXc+W107XG4gIHJvd0ZsYWdzPzogcmVhZG9ubHkgQmFja29mZmljZVJvd0ZsYWdTcGVjPFJvd1ZpZXc+W107XG4gIHNvcnRzOiByZWFkb25seSBCYWNrb2ZmaWNlU29ydFNwZWM8VFNvcnQ+W107XG4gIGZpbHRlcnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VGaWx0ZXJTcGVjPFRXaGVyZT5bXTtcbiAgcmVzcG9uc2l2ZT86IEJhY2tvZmZpY2VMaXN0UmVzcG9uc2l2ZVByb2ZpbGU8Um93Vmlldz47XG4gIHVpPzogQmFja29mZmljZUxpc3RVaUNvbmZpZztcbiAgZGVmYXVsdFN0YXRlPzogQmFja29mZmljZUxpc3RTdGF0ZTxUV2hlcmUsIFRTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhID0gdW5rbm93bixcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID1cbiAgfCBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8XG4gICAgICBUT3BlcmF0aW9uLFxuICAgICAgUm93UmVmLFxuICAgICAgUm93VmlldyxcbiAgICAgIExpc3RGcmFnbWVudERhdGEsXG4gICAgICBUV2hlcmUsXG4gICAgICBUU29ydFxuICAgID5cbiAgfCBCYWNrb2ZmaWNlUmVjb3JkTGlzdENvbmZpZzxcbiAgICAgIFRPcGVyYXRpb24sXG4gICAgICBSb3dSZWYsXG4gICAgICBSb3dWaWV3LFxuICAgICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICAgIFRXaGVyZSxcbiAgICAgIFRTb3J0XG4gICAgPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUJhZGdlSXRlbSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZyB8IEkxOG5MYWJlbDtcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjID1cbiAgfCB7XG4gICAgICB0eXBlOiAndGV4dCc7XG4gICAgICB2YWx1ZTogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdlbnRpdHlSZWYnO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICAgIGxhYmVsPzogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdsaW5rJztcbiAgICAgIGhyZWY6IHN0cmluZyB8IG51bGw7XG4gICAgICBsYWJlbDogQmFja29mZmljZVZhbHVlTGFiZWw7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlclN1YnRpdGxlSXRlbTxOb2RlPiA9IHtcbiAgaWQ6IHN0cmluZztcbiAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlSW5saW5lVmFsdWVTcGVjPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJNZXRhU3BlYzxOb2RlPiA9XG4gIHwge1xuICAgICAgdHlwZT86ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2RhdGVUaW1lJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZW50aXR5UmVmJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBlbnRpdHk6IHN0cmluZztcbiAgICAgIGlkOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGhyZWY6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+ID1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2UnO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnYmFkZ2VSb3cnO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQgPSAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbENvbnRlbnRHcm91cCA9XG4gIHwgJ3N1bW1hcnknXG4gIHwgJ2lkZW50aXR5J1xuICB8ICdzY29wZSdcbiAgfCAnc3RhdHVzJ1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxJbXBvcnRhbmNlID1cbiAgfCAnaGVybydcbiAgfCAncHJpbWFyeSdcbiAgfCAnc2Vjb25kYXJ5J1xuICB8ICdkZWJ1Zyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb2xsYXBzZUJlaGF2aW9yID0ge1xuICBjb2xsYXBzaWJsZT86IGJvb2xlYW47XG4gIGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICBwZXJzaXN0S2V5Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbiA9IHtcbiAgZ3JvdXA/OiBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudEdyb3VwO1xuICBpbXBvcnRhbmNlPzogQmFja29mZmljZURldGFpbEltcG9ydGFuY2U7XG4gIGNvbGxhcHNlPzogQmFja29mZmljZURldGFpbENvbGxhcHNlQmVoYXZpb3I7XG4gIG1vYmlsZT86ICd2aXNpYmxlJyB8ICdjb2xsYXBzZWQnIHwgJ2hpZGRlbic7XG4gIGRlc2t0b3A/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdmdWxsV2lkdGgnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvbmUgPVxuICB8ICduZXV0cmFsJ1xuICB8ICdpbmZvJ1xuICB8ICdzdWNjZXNzJ1xuICB8ICd3YXJuaW5nJ1xuICB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQWN0aW9uVG9uZSA9ICduZXV0cmFsJyB8ICdwcmltYXJ5JyB8ICdkYW5nZXInO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGVuc2l0eSA9ICdjb21wYWN0JyB8ICdjb21mb3J0YWJsZSc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudCA9ICdtYWluJyB8ICdzaWRlJyB8ICdmdWxsV2lkdGgnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eSA9XG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAnZGlhZ25vc3RpYyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWUgPVxuICB8IHN0cmluZ1xuICB8IG51bWJlclxuICB8IGJvb2xlYW5cbiAgfCBudWxsXG4gIHwgdW5kZWZpbmVkO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgPSB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmcgfCBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHRvbmU6IEJhY2tvZmZpY2VUb25lO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlID0ge1xuICByZWFkb25seSBpZD86IHN0cmluZztcbiAgcmVhZG9ubHkgdGl0bGU6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHBsYWNlbWVudD86IEJhY2tvZmZpY2VTZW1hbnRpY0RldGFpbFBsYWNlbWVudDtcbiAgcmVhZG9ubHkgcHJpb3JpdHk/OiBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxQcmlvcml0eTtcbiAgcmVhZG9ubHkgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VWYWx1ZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5SXRlbVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWxcbiAgPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+ID0gQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICByZWFkb25seSBraW5kOiAnc3VtbWFyeSc7XG4gIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlU3VtbWFyeUl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlSGVyb1N1bW1hcnlCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU3VtbWFyeUJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1ldHJpY1NwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSBmb3JtYXR0ZWRWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGhpbnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVZhbHVlTGFiZWw+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgY29weVZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNZXRyaWNHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnbWV0cmljcyc7XG4gICAgcmVhZG9ubHkgZGVuc2l0eT86IEJhY2tvZmZpY2VEZW5zaXR5O1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlTWV0cmljU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWV0cmljQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VSZW5kZXJhYmxlVmFsdWU+O1xuICByZWFkb25seSBnZXREaXNwbGF5OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICB2YWx1ZTogQmFja29mZmljZVJlbmRlcmFibGVWYWx1ZSxcbiAgICAgIG5vZGU6IE5vZGUsXG4gICAgKSA9PiB7XG4gICAgICByZWFkb25seSBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgcmVhZG9ubHkgdG9uZTogQmFja29mZmljZVRvbmU7XG4gICAgfVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3N0YXRlcyc7XG4gICAgcmVhZG9ubHkgc3RhdGVzOiByZWFkb25seSBCYWNrb2ZmaWNlU3RhdGVTcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VTdGF0ZUJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTdGF0ZUdyb3VwQmxvY2tTcGVjPE5vZGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgaHJlZj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgcmVhZG9ubHkgZW1wdHlMYWJlbD86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0U3RhY2tCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ2NvbnRleHQnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29udGV4dEl0ZW1TcGVjPE5vZGU+W107XG4gIH07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDb250ZXh0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZUNvbnRleHRTdGFja0Jsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlbGF0aW9uVGlsZVNwZWM8Tm9kZT4gPSB7XG4gIHJlYWRvbmx5IGlkOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxhYmVsOiBJMThuTGFiZWw7XG4gIHJlYWRvbmx5IGNvdW50PzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IG51bWJlciB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBocmVmPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSB0b25lPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VUb25lIHwgdW5kZWZpbmVkPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWxhdGlvbkdyb3VwQmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZVNlbWFudGljQmxvY2tCYXNlICYge1xuICAgIHJlYWRvbmx5IGtpbmQ6ICdyZWxhdGlvbnMnO1xuICAgIHJlYWRvbmx5IGl0ZW1zOiByZWFkb25seSBCYWNrb2ZmaWNlUmVsYXRpb25UaWxlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVsYXRpb25CbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlUmVsYXRpb25Hcm91cEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+ID0ge1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuICByZWFkb25seSBsYWJlbDogSTE4bkxhYmVsO1xuICByZWFkb25seSB0aW1lc3RhbXA/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgRGF0ZSB8IG51bGwgfCB1bmRlZmluZWRcbiAgPjtcbiAgcmVhZG9ubHkgc3RhdGU/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogTm9kZSkgPT4gQmFja29mZmljZVN0YXR1c1ZhbHVlIHwgbnVsbCB8IHVuZGVmaW5lZFxuICA+O1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbFxuICA+O1xuICByZWFkb25seSBhY3Rvcj86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHBheWxvYWQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT4gPSBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gIHJlYWRvbmx5IGtpbmQ6ICd0aW1lbGluZSc7XG4gIHJlYWRvbmx5IGV2ZW50czogcmVhZG9ubHkgQmFja29mZmljZVRpbWVsaW5lRXZlbnRTcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlQXVkaXRJdGVtU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdGltZXN0YW1wPzogQml2YXJpYW50Q2FsbGJhY2s8XG4gICAgKG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IGFjdG9yPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgc291cmNlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VBdWRpdEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ2F1ZGl0JztcbiAgcmVhZG9ubHkgaXRlbXM6IHJlYWRvbmx5IEJhY2tvZmZpY2VBdWRpdEl0ZW1TcGVjPE5vZGU+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVmZXJlbmNlU3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcmVhZG9ubHkgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IGhyZWY/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGNvcHlWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gID47XG4gIHJlYWRvbmx5IHJlZktpbmQ/OlxuICAgIHwgJ2lkJ1xuICAgIHwgJ3NsdWcnXG4gICAgfCAncGF0aCdcbiAgICB8ICd1cmwnXG4gICAgfCAnaGFzaCdcbiAgICB8ICdleHRlcm5hbCdcbiAgICB8ICd0ZXh0Jztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZWZlcmVuY2VHcm91cEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAncmVmZXJlbmNlcyc7XG4gICAgcmVhZG9ubHkgcmVmZXJlbmNlczogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVBheWxvYWRGb3JtYXQgPSAnanNvbicgfCAnbWFya2Rvd24nIHwgJ3RleHQnIHwgJ2NvZGUnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPiA9IEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgcmVhZG9ubHkga2luZDogJ3BheWxvYWQnO1xuICByZWFkb25seSBmb3JtYXQ/OiBCYWNrb2ZmaWNlUGF5bG9hZEZvcm1hdDtcbiAgcmVhZG9ubHkgc3VtbWFyeT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHJlYWRvbmx5IGRlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBlbXB0eUxhYmVsPzogSTE4bkxhYmVsO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUFjdGlvblJlc3VsdEJsb2NrU3BlYzxOb2RlPiA9XG4gIEJhY2tvZmZpY2VTZW1hbnRpY0Jsb2NrQmFzZSAmIHtcbiAgICByZWFkb25seSBraW5kOiAnYWN0aW9uUmVzdWx0JztcbiAgICByZWFkb25seSBzdGF0dXM/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgIChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlU3RhdHVzVmFsdWUgfCBudWxsIHwgdW5kZWZpbmVkXG4gICAgPjtcbiAgICByZWFkb25seSBtZXNzYWdlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgICByZWFkb25seSBwYXlsb2FkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT4gPVxuICBCYWNrb2ZmaWNlU2VtYW50aWNCbG9ja0Jhc2UgJiB7XG4gICAgcmVhZG9ubHkga2luZDogJ3RlY2huaWNhbEZhY3RzJztcbiAgICByZWFkb25seSBmYWN0czogcmVhZG9ubHkgQmFja29mZmljZVZhbHVlU3BlYzxOb2RlPltdO1xuICB9O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT4gPVxuICB8IEJhY2tvZmZpY2VTdW1tYXJ5QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZU1ldHJpY0dyb3VwQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVN0YXRlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQ29udGV4dFN0YWNrQmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZVJlbGF0aW9uR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGltZWxpbmVCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlQXVkaXRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUmVmZXJlbmNlR3JvdXBCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlUGF5bG9hZEJsb2NrU3BlYzxOb2RlPlxuICB8IEJhY2tvZmZpY2VBY3Rpb25SZXN1bHRCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlVGVjaG5pY2FsRmFjdHNCbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VGbGFnVmFyaWFudCA9XG4gIHwgJ3llc05vJ1xuICB8ICdjYXBhYmlsaXR5J1xuICB8ICdlbmFibGVkJ1xuICB8ICdmYWlsdXJlJ1xuICB8ICdlbmNyeXB0ZWQnXG4gIHwgJ2xvY2tlZCdcbiAgfCAnZGVmYXVsdCdcbiAgfCAnYWdlbnRNYW5hZ2VkJ1xuICB8ICdkZXBsb3llZFByb2R1Y3Rpb24nXG4gIHwgJ2ZvcmNlZCc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxGaWVsZFNwZWM8Tm9kZT4gPVxuICB8IHtcbiAgICAgIHR5cGU6ICd0ZXh0JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICBjb3B5VmFsdWU/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gICAgICB0b25lPzpcbiAgICAgICAgfCBCYWNrb2ZmaWNlQmFkZ2VUb25lXG4gICAgICAgIHwgQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VCYWRnZVRvbmU+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2JhZGdlUm93JztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgaXRlbXM6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBCYWNrb2ZmaWNlQmFkZ2VJdGVtW10+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6ICdkYXRlVGltZSc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnbnVtYmVyJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBudW1iZXIgfCBudWxsPjtcbiAgICAgIGZvcm1hdD86IEJhY2tvZmZpY2VOdW1iZXJGb3JtYXQ7XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnZmxhZyc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gYm9vbGVhbiB8IG51bGw+O1xuICAgICAgdmFyaWFudDogQmFja29mZmljZUZsYWdWYXJpYW50O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2VudGl0eVJlZic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIGVudGl0eTogc3RyaW5nO1xuICAgICAgaWQ6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmcgfCBudWxsPjtcbiAgICAgIHZhbHVlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ2xpbmsnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHNpemU6IEJhY2tvZmZpY2VGaWVsZFNpemU7XG4gICAgICBocmVmOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gc3RyaW5nIHwgbnVsbD47XG4gICAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bWJlciB8IG51bGw+O1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3RhZ2dlZFZhbHVlJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgdGFnOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAgICAgKG5vZGU6IE5vZGUpID0+IHtcbiAgICAgICAgICBsYWJlbDogc3RyaW5nIHwgSTE4bkxhYmVsO1xuICAgICAgICAgIHRvbmU/OiBCYWNrb2ZmaWNlQmFkZ2VUb25lO1xuICAgICAgICB9IHwgbnVsbFxuICAgICAgPjtcbiAgICAgIHZhbHVlOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUlubGluZVZhbHVlU3BlYz47XG4gICAgICBmdWxsV2lkdGg/OiBib29sZWFuO1xuICAgICAgcHJlc2VudGF0aW9uPzogQmFja29mZmljZURldGFpbFByZXNlbnRhdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogJ3JlbGF0aW9uJztcbiAgICAgIGxhYmVsOiBJMThuTGFiZWw7XG4gICAgICBzaXplOiBCYWNrb2ZmaWNlRmllbGRTaXplO1xuICAgICAgcmVsYXRpb246IEJhY2tvZmZpY2VSdW50aW1lUmVsYXRpb25GaWx0ZXJTcGVjO1xuICAgICAgdmFsdWU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBzdHJpbmc+O1xuICAgICAgY291bnQ/OiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gbnVtYmVyIHwgbnVsbD47XG4gICAgICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiAnY3VzdG9tJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgc2l6ZTogQmFja29mZmljZUZpZWxkU2l6ZTtcbiAgICAgIHJlbmRlcjogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHVua25vd24+O1xuICAgICAgZnVsbFdpZHRoPzogYm9vbGVhbjtcbiAgICAgIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxOb2RlPiA9IHtcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgdGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGw+O1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgc3VidGl0bGVWYWx1ZT86IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChub2RlOiBOb2RlLCB0OiBURnVuY3Rpb24pID0+IHN0cmluZyB8IG51bGxcbiAgPjtcbiAgc3VidGl0bGVJdGVtcz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdWJ0aXRsZUl0ZW08Tm9kZT5bXTtcbiAgc3VidGl0bGVTZXBhcmF0b3I/OiBzdHJpbmc7XG4gIGlkPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IHN0cmluZyB8IG51bGw+O1xuICBiYWRnZXM/OiByZWFkb25seSB7XG4gICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICB2YWx1ZTogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgICB0b25lPzpcbiAgICAgIHwgQmFja29mZmljZUJhZGdlVG9uZVxuICAgICAgfCBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gQmFja29mZmljZUJhZGdlVG9uZT47XG4gIH1bXTtcbiAgc3RhdHVzPzogQmFja29mZmljZURldGFpbEhlYWRlclN0YXR1c1NwZWM8Tm9kZT47XG4gIG1ldGE/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyTWV0YVNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxTZWN0aW9uQ29uZmlnPE5vZGU+ID0ge1xuICBpZD86IHN0cmluZztcbiAgdGl0bGU6IEkxOG5MYWJlbDtcbiAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gIGZpZWxkczogcmVhZG9ubHkgQmFja29mZmljZURldGFpbEZpZWxkU3BlYzxOb2RlPltdO1xuICBwbGFjZW1lbnQ/OiBCYWNrb2ZmaWNlRGV0YWlsUGxhY2VtZW50O1xuICBwcmVzZW50YXRpb24/OiBCYWNrb2ZmaWNlRGV0YWlsUHJlc2VudGF0aW9uO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+ID1cbiAgQmFja29mZmljZURldGFpbFNlY3Rpb25Db25maWc8Tm9kZT4gJiB7XG4gICAga2luZDogJ2ZpZWxkU2V0JztcbiAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz4gPSB7XG4gIGtpbmQ6ICd0YWJsZSc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICBjb2x1bW5zOiByZWFkb25seSBCYWNrb2ZmaWNlQ29sdW1uU3BlYzxSb3c+W107XG4gIHJvd3M6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiByZWFkb25seSBSb3dbXT47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlVGFibGVCbG9ja1NwZWM8XG4gIE5vZGUsXG4gIFJvdyA9IHVua25vd24sXG4+ID0gQmFja29mZmljZURldGFpbFRhYmxlQmxvY2tTcGVjPE5vZGUsIFJvdz47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT4gPSB7XG4gIGtpbmQ6ICdjdXN0b20nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgcmVuZGVyOiBCaXZhcmlhbnRDYWxsYmFjazwobm9kZTogTm9kZSkgPT4gdW5rbm93bj47XG4gIHBsYWNlbWVudD86IEJhY2tvZmZpY2VEZXRhaWxQbGFjZW1lbnQ7XG4gIHByZXNlbnRhdGlvbj86IEJhY2tvZmZpY2VEZXRhaWxQcmVzZW50YXRpb247XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsQmxvY2tTcGVjPE5vZGU+ID1cbiAgfCBCYWNrb2ZmaWNlU2VtYW50aWNEZXRhaWxCbG9ja1NwZWM8Tm9kZT5cbiAgfCBCYWNrb2ZmaWNlRGV0YWlsVGFibGVCbG9ja1NwZWM8Tm9kZSwgYW55PlxuICB8IEJhY2tvZmZpY2VDdXN0b21CbG9ja1NwZWM8Tm9kZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxDb250ZW50U3BlYzxOb2RlPiA9XG4gIHwgQmFja29mZmljZUZpZWxkU2V0QmxvY2tTcGVjPE5vZGU+XG4gIHwgQmFja29mZmljZURldGFpbEJsb2NrU3BlYzxOb2RlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFZpZXdMYXlvdXRTcGVjID0ge1xuICByZWFkb25seSBkZW5zaXR5PzogQmFja29mZmljZURlbnNpdHk7XG4gIHJlYWRvbmx5IGNvbHVtbnM/OiAnYXV0bycgfCAnc2luZ2xlJyB8ICdtYWluU2lkZSc7XG4gIHJlYWRvbmx5IHRlY2huaWNhbERlZmF1bHRDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzaWRlQ29sdW1uPzoge1xuICAgIHJlYWRvbmx5IHdpZHRoPzogJ25hcnJvdycgfCAnbWVkaXVtJyB8ICd3aWRlJztcbiAgICByZWFkb25seSBzdGlja3k/OiBib29sZWFuO1xuICB9O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWaWV3U3BlYzxOb2RlPiA9IHtcbiAgcmVhZG9ubHkgdGl0bGU6IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN1YnRpdGxlPzogQml2YXJpYW50Q2FsbGJhY2s8KG5vZGU6IE5vZGUpID0+IEJhY2tvZmZpY2VWYWx1ZUxhYmVsPjtcbiAgcmVhZG9ubHkgZXllYnJvdz86IEJpdmFyaWFudENhbGxiYWNrPChub2RlOiBOb2RlKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbD47XG4gIHJlYWRvbmx5IHN0YXR1cz86IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJTdGF0dXNTcGVjPE5vZGU+O1xuICByZWFkb25seSByZWZlcmVuY2VzPzogcmVhZG9ubHkgQmFja29mZmljZVJlZmVyZW5jZVNwZWM8Tm9kZT5bXTtcbiAgcmVhZG9ubHkgYWN0aW9ucz86IHJlYWRvbmx5IEJhY2tvZmZpY2VFbnRpdHlBY3Rpb25TcGVjPE5vZGU+W107XG4gIHJlYWRvbmx5IGxheW91dD86IEJhY2tvZmZpY2VEZXRhaWxWaWV3TGF5b3V0U3BlYztcbiAgcmVhZG9ubHkgYmxvY2tzOiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsQ29udGVudFNwZWM8Tm9kZT5bXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlRGF0YUNvbnRleHQgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIGRldGFpbElkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID0ge1xuICB2YXJpYWJsZXM6IERldGFpbFF1ZXJ5VmFyaWFibGVzO1xuICBkZXRhaWxJZD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxWYXJpYWJsZXM8RGV0YWlsUXVlcnlWYXJpYWJsZXM+ID1cbiAgQmFja29mZmljZURldGFpbFBhZ2VWYXJpYWJsZXNSZXN1bHQ8RGV0YWlsUXVlcnlWYXJpYWJsZXM+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFTcGVjPFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxEYXRhID0gRGV0YWlsVmlldyxcbiAgRGV0YWlsUXVlcnlEYXRhID0gdW5rbm93bixcbiAgRGV0YWlsRnJhZ21lbnRLZXkgPSB1bmtub3duLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IHtcbiAgcXVlcnk6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBmcmFnbWVudDogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHJlc29sdmVOb2RlOiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAoXG4gICAgICBkYXRhOiBEZXRhaWxRdWVyeURhdGEsXG4gICAgICBjb250ZXh0OiBCYWNrb2ZmaWNlRGV0YWlsUGFnZURhdGFDb250ZXh0LFxuICAgICkgPT4gRGV0YWlsRnJhZ21lbnRLZXkgfCBudWxsXG4gID47XG4gIHRvVmlldzogQml2YXJpYW50Q2FsbGJhY2s8KGRhdGE6IERldGFpbERhdGEpID0+IERldGFpbFZpZXc+O1xuICBidWlsZFZhcmlhYmxlcz86IChpbnB1dDoge1xuICAgIGlkOiBzdHJpbmc7XG4gIH0pID0+IEJhY2tvZmZpY2VEZXRhaWxQYWdlVmFyaWFibGVzUmVzdWx0PERldGFpbFF1ZXJ5VmFyaWFibGVzPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxTdGFuZGFyZFRhYiA9XG4gIHwgJ292ZXJ2aWV3J1xuICB8ICdyZWxhdGlvbnMnXG4gIHwgJ2FjdGl2aXR5J1xuICB8ICdiaWxsaW5nJ1xuICB8ICd0ZWNobmljYWwnXG4gIHwgJ3Jhdyc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxUaXRsZU1ldGFJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgdmFsdWU6IHN0cmluZztcbiAgdG9uZT86IEJhY2tvZmZpY2VCYWRnZVRvbmU7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxEZXRhaWxWaWV3ID0gdW5rbm93bj4gPSB7XG4gIHN0YW5kYXJkVGFicz86IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxTdGFuZGFyZFRhYltdO1xuICBzdW1tYXJ5RmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHNjb3BlRmllbGRzPzogcmVhZG9ubHkgc3RyaW5nW107XG4gIHN0YXR1c0ZpZWxkcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB0ZWNobmljYWxHcm91cHNDb2xsYXBzZWQ/OiBib29sZWFuO1xuICByYXdHcm91cHNIaWRkZW5Gcm9tT3ZlcnZpZXc/OiBib29sZWFuO1xuICBzaWRlUmFpbD86IHtcbiAgICBncm91cHM6IHJlYWRvbmx5IEJhY2tvZmZpY2VEZXRhaWxDb250ZW50R3JvdXBbXTtcbiAgICBzdGlja3k/OiBib29sZWFuO1xuICB9O1xuICB0aXRsZU1ldGE/OiBCaXZhcmlhbnRDYWxsYmFjazxcbiAgICAobm9kZTogRGV0YWlsVmlldykgPT4gcmVhZG9ubHkgQmFja29mZmljZURldGFpbFRpdGxlTWV0YUl0ZW1bXVxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gIExheW91dFZpZXcsXG4gIExheW91dERhdGEgPSBMYXlvdXRWaWV3LFxuICBMYXlvdXRRdWVyeURhdGEgPSB1bmtub3duLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIExheW91dFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgTGF5b3V0VmlldyxcbiAgTGF5b3V0RGF0YSxcbiAgTGF5b3V0UXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudEtleSxcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXNcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxQYWdlU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgTGF5b3V0VmlldyA9IERldGFpbFZpZXcsXG4gIERldGFpbERhdGEgPSBEZXRhaWxWaWV3LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudEtleSA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VEYXRhU3BlYzxcbiAgRGV0YWlsVmlldyxcbiAgRGV0YWlsRGF0YSxcbiAgRGV0YWlsUXVlcnlEYXRhLFxuICBEZXRhaWxGcmFnbWVudEtleSxcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXNcbj4gJiB7XG4gIGlkOiBzdHJpbmc7XG4gIHBhdGg6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgY29udGVudDogcmVhZG9ubHkgQmFja29mZmljZURldGFpbENvbnRlbnRTcGVjPERldGFpbFZpZXc+W107XG4gIGFjdGlvbnM/OiByZWFkb25seSBCYWNrb2ZmaWNlRW50aXR5QWN0aW9uU3BlYzxEZXRhaWxWaWV3PltdO1xuICBpc1Zpc2libGU/OiBCaXZhcmlhbnRDYWxsYmFjazwobGF5b3V0UGFnZTogTGF5b3V0VmlldykgPT4gYm9vbGVhbj47XG4gIHByb2ZpbGU/OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxEZXRhaWxWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJWYWx1ZUNvbmZpZzxSb3dSZWYsIFJvd1ZpZXc+ID0ge1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIHJlc29sdmVSb3c6IEJpdmFyaWFudENhbGxiYWNrPChkYXRhOiB1bmtub3duKSA9PiBSb3dSZWYgfCBudWxsPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RGV0YWlsQ29uZmlnPFxuICBMYXlvdXREYXRhID0gYW55LFxuICBMYXlvdXRWaWV3ID0gYW55LFxuICBNYWluRGF0YSA9IExheW91dERhdGEsXG4gIE1haW5WaWV3ID0gTGF5b3V0VmlldyxcbiAgU3ViRGF0YSA9IE1haW5EYXRhLFxuICBTdWJWaWV3ID0gTWFpblZpZXcsXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIE1haW5RdWVyeURhdGEgPSB1bmtub3duLFxuICBTdWJRdWVyeURhdGEgPSBNYWluUXVlcnlEYXRhLFxuICBMYXlvdXRGcmFnbWVudEtleSA9IHVua25vd24sXG4gIE1haW5GcmFnbWVudEtleSA9IHVua25vd24sXG4gIFN1YkZyYWdtZW50S2V5ID0gTWFpbkZyYWdtZW50S2V5LFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBNYWluUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgU3ViUXVlcnlWYXJpYWJsZXMgPSBNYWluUXVlcnlWYXJpYWJsZXMsXG4+ID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBoZWFkZXI6IEJhY2tvZmZpY2VEZXRhaWxIZWFkZXJDb25maWc8TGF5b3V0Vmlldz47XG4gIHByb2ZpbGU/OiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0UHJvZmlsZTxMYXlvdXRWaWV3PjtcbiAgbGF5b3V0UGFnZTogQmFja29mZmljZURldGFpbExheW91dFNwZWM8XG4gICAgTGF5b3V0VmlldyxcbiAgICBMYXlvdXREYXRhLFxuICAgIExheW91dFF1ZXJ5RGF0YSxcbiAgICBMYXlvdXRGcmFnbWVudEtleSxcbiAgICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBtYWluUGFnZTogQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIE1haW5WaWV3LFxuICAgIExheW91dFZpZXcsXG4gICAgTWFpbkRhdGEsXG4gICAgTWFpblF1ZXJ5RGF0YSxcbiAgICBNYWluRnJhZ21lbnRLZXksXG4gICAgTWFpblF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHN1YlBhZ2VzPzogcmVhZG9ubHkgQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIFN1YlZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBTdWJEYXRhLFxuICAgIFN1YlF1ZXJ5RGF0YSxcbiAgICBTdWJGcmFnbWVudEtleSxcbiAgICBTdWJRdWVyeVZhcmlhYmxlc1xuICA+W107XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEgPSB1bmtub3duLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIHF1ZXJ5OiBHcmFwaFFMVGFnZ2VkTm9kZTtcbiAgZnJhZ21lbnQ6IEdyYXBoUUxUYWdnZWROb2RlO1xuICBidWlsZFF1ZXJ5VmFyaWFibGVzOiAoXG4gICAgaW5wdXQ6IEJhY2tvZmZpY2VQaWNrZXJRdWVyeUlucHV0PFRPcGVyYXRpb24sIFRXaGVyZT4sXG4gICkgPT4gVE9wZXJhdGlvblsndmFyaWFibGVzJ107XG4gIHZhbHVlPzogQmFja29mZmljZVBpY2tlclZhbHVlQ29uZmlnPFJvd1JlZiwgUm93Vmlldz47XG4gIGdldENvbm5lY3Rpb246IEJpdmFyaWFudENhbGxiYWNrPFxuICAgIChkYXRhOiBQaWNrZXJGcmFnbWVudERhdGEpID0+IEJhY2tvZmZpY2VDb25uZWN0aW9uPFJvd1JlZj5cbiAgPjtcbiAgdG9Sb3c6IEJpdmFyaWFudENhbGxiYWNrPChyb3dSZWY6IFJvd1JlZikgPT4gUm93Vmlldz47XG4gIGdldFJvd0lkOiBCaXZhcmlhbnRDYWxsYmFjazwocm93OiBSb3dWaWV3KSA9PiBzdHJpbmc+O1xuICBzZWFyY2hFbmFibGVkPzogYm9vbGVhbjtcbiAgc2VhcmNoUmVxdWlyZWQ/OiBib29sZWFuO1xuICBzZWFyY2hQbGFjZWhvbGRlcj86IEkxOG5MYWJlbDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRW50aXR5Q29uZmlnID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsPzogSTE4bkxhYmVsO1xuICByb3V0ZT86IHN0cmluZztcbiAgb3BlcmF0aW9uOiBCYWNrb2ZmaWNlVG9vbE9wZXJhdGlvbjtcbiAgbGlzdD86IG5ldmVyO1xuICBkZXRhaWw/OiBuZXZlcjtcbiAgcGlja2VyPzogbmV2ZXI7XG4gIHJvdXRlcz86IG5ldmVyO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgTGlzdEZyYWdtZW50RGF0YSxcbiAgVFdoZXJlIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSBCYWNrb2ZmaWNlT3BlcmF0aW9uV2hlcmU8VE9wZXJhdGlvbj4sXG4gIFRTb3J0IGV4dGVuZHMgc3RyaW5nID0gQmFja29mZmljZU9wZXJhdGlvblNvcnQ8VE9wZXJhdGlvbj4sXG4+ID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIGxpc3Q6IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICAgIFRPcGVyYXRpb24sXG4gICAgUm93UmVmLFxuICAgIFJvd1ZpZXcsXG4gICAgTGlzdEZyYWdtZW50RGF0YSxcbiAgICBUV2hlcmUsXG4gICAgVFNvcnRcbiAgPjtcbiAgbGlzdEFjdGlvbnM/OiByZWFkb25seSBCYWNrb2ZmaWNlTGlzdEFjdGlvblNwZWNbXTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbiBleHRlbmRzIE9wZXJhdGlvblR5cGUsXG4gIFJvd1JlZixcbiAgUm93VmlldyxcbiAgUGlja2VyRnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbj4gPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogSTE4bkxhYmVsO1xuICBwaWNrZXI6IEJhY2tvZmZpY2VFbnRpdHlQaWNrZXJDb25maWc8XG4gICAgVE9wZXJhdGlvbixcbiAgICBSb3dSZWYsXG4gICAgUm93VmlldyxcbiAgICBQaWNrZXJGcmFnbWVudERhdGEsXG4gICAgVFdoZXJlXG4gID47XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPFxuICBMYXlvdXRWaWV3ID0gdW5rbm93bixcbiAgUGFnZSBleHRlbmRzIEJhY2tvZmZpY2VEZXRhaWxQYWdlUm91dGVTcGVjPExheW91dFZpZXc+ID1cbiAgICBCYWNrb2ZmaWNlRGV0YWlsUGFnZVJvdXRlU3BlYzxMYXlvdXRWaWV3Pixcbj4gPSB7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgbWFpblBhZ2U6IFBhZ2U7XG4gIHN1YlBhZ2VzPzogcmVhZG9ubHkgUGFnZVtdO1xuICBkZWZhdWx0UGFnZUlkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dERhdGEgPSBhbnksXG4gIExheW91dFZpZXcgPSBhbnksXG4gIExheW91dFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIExheW91dEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgTGF5b3V0UXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIGtpbmQ6ICdkZXRhaWwtbGF5b3V0JztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgaGVhZGVyOiBCYWNrb2ZmaWNlRGV0YWlsSGVhZGVyQ29uZmlnPExheW91dFZpZXc+O1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBsYXlvdXRQYWdlOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0U3BlYzxcbiAgICBMYXlvdXRWaWV3LFxuICAgIExheW91dERhdGEsXG4gICAgTGF5b3V0UXVlcnlEYXRhLFxuICAgIExheW91dEZyYWdtZW50S2V5LFxuICAgIExheW91dFF1ZXJ5VmFyaWFibGVzXG4gID47XG4gIHBhZ2VzOiBCYWNrb2ZmaWNlRGV0YWlsUGFnZXNTcGVjPExheW91dFZpZXc+O1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyA9IHVua25vd24sXG4gIERldGFpbERhdGEgPSBhbnksXG4gIERldGFpbFZpZXcgPSBhbnksXG4gIERldGFpbFF1ZXJ5RGF0YSA9IHVua25vd24sXG4gIERldGFpbEZyYWdtZW50S2V5ID0gdW5rbm93bixcbiAgRGV0YWlsUXVlcnlWYXJpYWJsZXMgPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbj4gPSB7XG4gIGtpbmQ6ICdkZXRhaWwtcGFnZSc7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBJMThuTGFiZWw7XG4gIHRpdGxlOiBJMThuTGFiZWw7XG4gIGhlYWRlcjogQmFja29mZmljZURldGFpbEhlYWRlckNvbmZpZzxMYXlvdXRWaWV3PjtcbiAgcGFnZTogQmFja29mZmljZURldGFpbFBhZ2VTcGVjPFxuICAgIERldGFpbFZpZXcsXG4gICAgTGF5b3V0VmlldyxcbiAgICBEZXRhaWxEYXRhLFxuICAgIERldGFpbFF1ZXJ5RGF0YSxcbiAgICBEZXRhaWxGcmFnbWVudEtleSxcbiAgICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuICA+O1xuICBwYWdlczogQmFja29mZmljZURldGFpbFBhZ2VzU3BlYzxMYXlvdXRWaWV3Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRDb25maWcgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgdG9vbDogQmFja29mZmljZVRvb2xFbnRpdHlDb25maWc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRDb25maWdCYXNlID1cbiAgfCBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2VcbiAgfCBCYWNrb2ZmaWNlVG9vbEZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZUxpc3RGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkUGlja2VyRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdwaWNrZXInO1xuICBpZDogc3RyaW5nO1xuICBjb25maWc6IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICdkZXRhaWwtbGF5b3V0JztcbiAgaWQ6IHN0cmluZztcbiAgY29uZmlnOiBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTG9hZGVkVG9vbEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAndG9vbCc7XG4gIGlkOiBzdHJpbmc7XG4gIGNvbmZpZzogQmFja29mZmljZVRvb2xGYWNldENvbmZpZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lT3BlcmF0aW9uID0gT3BlcmF0aW9uVHlwZSAmIHtcbiAgdmFyaWFibGVzOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbiAgICB3aGVyZT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBzb3J0Pzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICBjb3VudD86IG51bWJlcjtcbiAgICBjdXJzb3I/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB9O1xuICByZXNwb25zZTogdW5rbm93bjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lTGlzdEZhY2V0Q29uZmlnID0gQmFja29mZmljZUxpc3RGYWNldENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUGlja2VyRmFjZXRDb25maWcgPSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRDb25maWc8XG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgUmVjb3JkPHN0cmluZywgYW55PlxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUxvYWRlZEVudGl0eUZhY2V0TW9kdWxlID1cbiAgfCBCYWNrb2ZmaWNlTG9hZGVkTGlzdEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZFBpY2tlckZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZERldGFpbExheW91dEZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VMb2FkZWRUb29sRmFjZXRNb2R1bGU7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWRMaXN0RmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUGlja2VyRmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWRQaWNrZXJGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldExvYWRlciA9XG4gICgpID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZERldGFpbExheW91dEZhY2V0TW9kdWxlPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldExvYWRlciA9IChcbiAgcGFnZUlkOiBzdHJpbmcsXG4pID0+IFByb21pc2U8QmFja29mZmljZUxvYWRlZERldGFpbFBhZ2VGYWNldE1vZHVsZT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXIgPVxuICAoKSA9PiBQcm9taXNlPEJhY2tvZmZpY2VMb2FkZWRUb29sRmFjZXRNb2R1bGU+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERldGFpbEZhY2V0TG9hZGVyTWFwID0ge1xuICBsaXN0PzogQmFja29mZmljZUxpc3RGYWNldExvYWRlcjtcbiAgcGlja2VyPzogQmFja29mZmljZVBpY2tlckZhY2V0TG9hZGVyO1xuICBkZXRhaWxMYXlvdXQ6IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldExvYWRlcjtcbiAgZGV0YWlsUGFnZTogQmFja29mZmljZURldGFpbFBhZ2VGYWNldExvYWRlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXJNYXAgPSB7XG4gIHRvb2w6IEJhY2tvZmZpY2VUb29sRmFjZXRMb2FkZXI7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5RmFjZXRMb2FkZXJNYXAgPVxuICB8IEJhY2tvZmZpY2VMaXN0RGV0YWlsRmFjZXRMb2FkZXJNYXBcbiAgfCBCYWNrb2ZmaWNlVG9vbEZhY2V0TG9hZGVyTWFwO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtID0ge1xuICBpZDogc3RyaW5nO1xuICBraW5kOiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RLaW5kO1xuICByb3V0ZVNlZ21lbnQ6IHN0cmluZztcbiAgZ3JvdXBJZD86IHN0cmluZztcbiAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVNYW5pZmVzdDtcbiAgaGFzTGlzdDogYm9vbGVhbjtcbiAgZGV0YWlsUGFnZXM/OiByZWFkb25seSBCYWNrb2ZmaWNlRGV0YWlsUGFnZU1hbmlmZXN0SXRlbVtdO1xuICBkZWZhdWx0RGV0YWlsUGFnZUlkPzogc3RyaW5nO1xuICBmYWNldHM6IEJhY2tvZmZpY2VFbnRpdHlGYWNldExvYWRlck1hcDtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdE1hcCA9IFJlY29yZDxcbiAgc3RyaW5nLFxuICBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtXG4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+ID0gRXh0cmFjdDxcbiAga2V5b2YgVE1hbmlmZXN0LFxuICBzdHJpbmdcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdExpc3RFbnRpdHlJZDxUTWFuaWZlc3Q+ID0ge1xuICBbVEVudGl0eUlkIGluIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dOiBUTWFuaWZlc3RbVEVudGl0eUlkXSBleHRlbmRzIHtcbiAgICBraW5kOiAnbGlzdC1kZXRhaWwnO1xuICAgIGhhc0xpc3Q6IHRydWU7XG4gIH1cbiAgICA/IFRFbnRpdHlJZFxuICAgIDogbmV2ZXI7XG59W0JhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5dIGV4dGVuZHMgaW5mZXIgVEVudGl0eUlkXG4gID8gW1RFbnRpdHlJZF0gZXh0ZW5kcyBbbmV2ZXJdXG4gICAgPyBzdHJpbmcgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XG4gICAgICA/IHN0cmluZ1xuICAgICAgOiBuZXZlclxuICAgIDogRXh0cmFjdDxURW50aXR5SWQsIHN0cmluZz5cbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZU1hbmlmZXN0RGV0YWlsRW50aXR5SWQ8VE1hbmlmZXN0PiA9IHtcbiAgW1RFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAga2luZDogJ2xpc3QtZGV0YWlsJztcbiAgfVxuICAgID8gVEVudGl0eUlkXG4gICAgOiBuZXZlcjtcbn1bQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0Pl0gZXh0ZW5kcyBpbmZlciBURW50aXR5SWRcbiAgPyBbVEVudGl0eUlkXSBleHRlbmRzIFtuZXZlcl1cbiAgICA/IHN0cmluZyBleHRlbmRzIEJhY2tvZmZpY2VNYW5pZmVzdEVudGl0eUlkPFRNYW5pZmVzdD5cbiAgICAgID8gc3RyaW5nXG4gICAgICA6IG5ldmVyXG4gICAgOiBFeHRyYWN0PFRFbnRpdHlJZCwgc3RyaW5nPlxuICA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTWFuaWZlc3RUb29sSWQ8VE1hbmlmZXN0PiA9IHtcbiAgW1RFbnRpdHlJZCBpbiBCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XTogVE1hbmlmZXN0W1RFbnRpdHlJZF0gZXh0ZW5kcyB7XG4gICAga2luZDogJ3Rvb2wnO1xuICB9XG4gICAgPyBURW50aXR5SWRcbiAgICA6IG5ldmVyO1xufVtCYWNrb2ZmaWNlTWFuaWZlc3RFbnRpdHlJZDxUTWFuaWZlc3Q+XSBleHRlbmRzIGluZmVyIFRFbnRpdHlJZFxuICA/IFtURW50aXR5SWRdIGV4dGVuZHMgW25ldmVyXVxuICAgID8gc3RyaW5nIGV4dGVuZHMgQmFja29mZmljZU1hbmlmZXN0RW50aXR5SWQ8VE1hbmlmZXN0PlxuICAgICAgPyBzdHJpbmdcbiAgICAgIDogbmV2ZXJcbiAgICA6IEV4dHJhY3Q8VEVudGl0eUlkLCBzdHJpbmc+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VNYW5pZmVzdERldGFpbFBhZ2VJZDxcbiAgVE1hbmlmZXN0LFxuICBURW50aXR5SWQgZXh0ZW5kcyBCYWNrb2ZmaWNlTWFuaWZlc3REZXRhaWxFbnRpdHlJZDxUTWFuaWZlc3Q+LFxuPiA9IFRNYW5pZmVzdFtURW50aXR5SWRdIGV4dGVuZHMge1xuICBkZXRhaWxQYWdlczogcmVhZG9ubHkgKGluZmVyIFRQYWdlKVtdO1xufVxuICA/IFRQYWdlIGV4dGVuZHMgeyBpZDogaW5mZXIgVFBhZ2VJZCB9XG4gICAgPyBFeHRyYWN0PFRQYWdlSWQsIHN0cmluZz5cbiAgICA6IHN0cmluZ1xuICA6IHN0cmluZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBMaXN0RnJhZ21lbnREYXRhLFxuICBUV2hlcmUgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IEJhY2tvZmZpY2VPcGVyYXRpb25XaGVyZTxUT3BlcmF0aW9uPixcbiAgVFNvcnQgZXh0ZW5kcyBzdHJpbmcgPSBCYWNrb2ZmaWNlT3BlcmF0aW9uU29ydDxUT3BlcmF0aW9uPixcbj4gPSBCYWNrb2ZmaWNlTGlzdEZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uLFxuICBSb3dSZWYsXG4gIFJvd1ZpZXcsXG4gIExpc3RGcmFnbWVudERhdGEsXG4gIFRXaGVyZSxcbiAgVFNvcnRcbj4gJiB7XG4gIHJvdXRlczogQmFja29mZmljZUVudGl0eVJvdXRlcztcbiAgbGlzdFVybENvZGVjPzogQmFja29mZmljZUxpc3RVcmxDb2RlYzxUV2hlcmUsIFRTb3J0PjtcbiAgbGlzdERlZmF1bHRzPzogQmFja29mZmljZUxpc3RTdGF0ZTxUV2hlcmUsIFRTb3J0Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnPFxuICBUT3BlcmF0aW9uIGV4dGVuZHMgT3BlcmF0aW9uVHlwZSxcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gQmFja29mZmljZU9wZXJhdGlvbldoZXJlPFRPcGVyYXRpb24+LFxuPiA9IEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZzxcbiAgVE9wZXJhdGlvbixcbiAgUm93UmVmLFxuICBSb3dWaWV3LFxuICBQaWNrZXJGcmFnbWVudERhdGEsXG4gIFRXaGVyZVxuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWc8XG4gIExheW91dFJlZiA9IGFueSxcbiAgTGF5b3V0VmlldyA9IGFueSxcbiAgTGF5b3V0UXVlcnlEYXRhID0gdW5rbm93bixcbiAgTGF5b3V0RnJhZ21lbnRSZWYgPSB1bmtub3duLFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlcyA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuPiA9IEJhY2tvZmZpY2VEZXRhaWxMYXlvdXRGYWNldENvbmZpZzxcbiAgTGF5b3V0UmVmLFxuICBMYXlvdXRWaWV3LFxuICBMYXlvdXRRdWVyeURhdGEsXG4gIExheW91dEZyYWdtZW50UmVmLFxuICBMYXlvdXRRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnPFxuICBMYXlvdXRWaWV3ID0gdW5rbm93bixcbiAgRGV0YWlsUmVmID0gYW55LFxuICBEZXRhaWxWaWV3ID0gYW55LFxuICBEZXRhaWxRdWVyeURhdGEgPSB1bmtub3duLFxuICBEZXRhaWxGcmFnbWVudFJlZiA9IHVua25vd24sXG4gIERldGFpbFF1ZXJ5VmFyaWFibGVzID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4+ID0gQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZzxcbiAgTGF5b3V0VmlldyxcbiAgRGV0YWlsUmVmLFxuICBEZXRhaWxWaWV3LFxuICBEZXRhaWxRdWVyeURhdGEsXG4gIERldGFpbEZyYWdtZW50UmVmLFxuICBEZXRhaWxRdWVyeVZhcmlhYmxlc1xuPiAmIHtcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnID0gQmFja29mZmljZVRvb2xGYWNldENvbmZpZyAmIHtcbiAgcm91dGU6IHN0cmluZztcbiAgcm91dGVzOiBCYWNrb2ZmaWNlRW50aXR5Um91dGVzO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRDb25maWdCYXNlID1cbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnbGlzdCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ3BpY2tlcic7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0TW9kdWxlID0ge1xuICBraW5kOiAnZGV0YWlsLWxheW91dCc7XG4gIGlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbExheW91dEZhY2V0Q29uZmlnQmFzZTtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldE1vZHVsZSA9IHtcbiAga2luZDogJ2RldGFpbC1wYWdlJztcbiAgaWQ6IHN0cmluZztcbiAgcGFnZUlkOiBzdHJpbmc7XG4gIG1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBjb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2U7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRNb2R1bGUgPSB7XG4gIGtpbmQ6ICd0b29sJztcbiAgaWQ6IHN0cmluZztcbiAgbWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGNvbmZpZzogQmFja29mZmljZVJlc29sdmVkVG9vbEZhY2V0Q29uZmlnO1xufTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGUgPVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldE1vZHVsZVxuICB8IEJhY2tvZmZpY2VSZXNvbHZlZFBpY2tlckZhY2V0TW9kdWxlXG4gIHwgQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRNb2R1bGVcbiAgfCBCYWNrb2ZmaWNlUmVzb2x2ZWRUb29sRmFjZXRNb2R1bGU7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VMaXN0RmFjZXRDb25maWdCYXNlID0gQmFja29mZmljZVJ1bnRpbWVMaXN0RmFjZXRDb25maWc7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQaWNrZXJGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUnVudGltZVBpY2tlckZhY2V0Q29uZmlnO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZURldGFpbExheW91dEZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55PjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZURldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlRGV0YWlsUGFnZUZhY2V0Q29uZmlnPGFueSwgYW55LCBhbnksIGFueSwgYW55LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlID1cbiAgQmFja29mZmljZVJlc29sdmVkTGlzdEZhY2V0Q29uZmlnPFxuICAgIGFueSxcbiAgICBhbnksXG4gICAgYW55LFxuICAgIGFueSxcbiAgICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIGFueVxuICA+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIFJlY29yZDxzdHJpbmcsIGFueT4+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZzxhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSZXNvbHZlZERldGFpbFBhZ2VGYWNldENvbmZpZ0Jhc2UgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxQYWdlRmFjZXRDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBhbnksIGFueT47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lUmVzb2x2ZWRMaXN0RmFjZXRDb25maWcgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRMaXN0RmFjZXRDb25maWdCYXNlO1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlc29sdmVkUGlja2VyRmFjZXRDb25maWcgPVxuICBCYWNrb2ZmaWNlUmVzb2x2ZWRQaWNrZXJGYWNldENvbmZpZ0Jhc2U7XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lQ29ubmVjdGlvbkxpc3RDb25maWcgPVxuICBCYWNrb2ZmaWNlQ29ubmVjdGlvbkxpc3RDb25maWc8YW55LCBhbnksIGFueSwgYW55LCBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBhbnk+O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUnVudGltZVJlY29yZExpc3RDb25maWcgPSBCYWNrb2ZmaWNlUmVjb3JkTGlzdENvbmZpZzxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBhbnlcbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VSdW50aW1lRW50aXR5TGlzdENvbmZpZyA9IEJhY2tvZmZpY2VFbnRpdHlMaXN0Q29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIGFueVxuPjtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVJ1bnRpbWVFbnRpdHlQaWNrZXJDb25maWcgPSBCYWNrb2ZmaWNlRW50aXR5UGlja2VyQ29uZmlnPFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIFJlY29yZDxzdHJpbmcsIGFueT5cbj47XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VFbnRpdHlGYWNldE1vZHVsZUNhY2hlRW50cnkgPSB7XG4gIHN0YXR1czogQmFja29mZmljZUVudGl0eU1vZHVsZVN0YXR1cztcbiAgcHJvbWlzZT86IFByb21pc2U8QmFja29mZmljZVJlc29sdmVkRW50aXR5RmFjZXRNb2R1bGU+O1xuICBtb2R1bGU/OiBCYWNrb2ZmaWNlUmVzb2x2ZWRFbnRpdHlGYWNldE1vZHVsZTtcbiAgZXJyb3I/OiBFcnJvcjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sVmFyaWFibGVzQ29udGV4dCA9IHtcbiAgc2NvcGU6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBydW46IGJvb2xlYW47XG59O1xuXG5leHBvcnQgY2xhc3MgQmFja29mZmljZVRvb2xWYWxpZGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHB1YmxpYyBsYWJlbDogSTE4bkxhYmVsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihsYWJlbDogSTE4bkxhYmVsKSB7XG4gICAgc3VwZXIoJ0JhY2tvZmZpY2UgdG9vbCB2YWxpZGF0aW9uIGVycm9yJyk7XG4gICAgdGhpcy5sYWJlbCA9IGxhYmVsO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sT3BlcmF0aW9uID0ge1xuICB0aXRsZTogSTE4bkxhYmVsO1xuICBzdWJ0aXRsZT86IEkxOG5MYWJlbDtcbiAgaW5wdXRUeXBlU0RMPzogc3RyaW5nO1xuICBxdWVyeTogR3JhcGhRTFRhZ2dlZE5vZGU7XG4gIGlucHV0cz86IHJlYWRvbmx5IEJhY2tvZmZpY2VUb29sSW5wdXRTcGVjW107XG4gIG91dHB1dHM/OiByZWFkb25seSBCYWNrb2ZmaWNlVG9vbE91dHB1dFNwZWNbXTtcbiAgcmVuZGVyPzogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gIHNob3dQcm9qZWN0UGlja2VyPzogYm9vbGVhbjtcbiAgYnVpbGRWYXJpYWJsZXM/OiAoXG4gICAgaW5wdXQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIGNvbnRleHQ6IEJhY2tvZmZpY2VUb29sVmFyaWFibGVzQ29udGV4dCxcbiAgKSA9PiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VUb29sSW5wdXRTcGVjID1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ3RleHQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2pzb24nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIHBsYWNlaG9sZGVyPzogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICAgIH1cbiAgfCB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAga2luZDogJ2VudW0nO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIG9wdGlvbnM6IHJlYWRvbmx5IHsgdmFsdWU6IHN0cmluZzsgbGFiZWw6IEkxOG5MYWJlbCB9W107XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBraW5kOiAnYm9vbGVhbic7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZGVmYXVsdFZhbHVlPzogYm9vbGVhbjtcbiAgICB9XG4gIHwge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGtpbmQ6ICdlbnRpdHlJZCc7XG4gICAgICBsYWJlbDogSTE4bkxhYmVsO1xuICAgICAgZW50aXR5OiBzdHJpbmc7XG4gICAgICBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZVRvb2xPdXRwdXRTcGVjID1cbiAgfCB7XG4gICAgICBraW5kOiAndGFibGUnO1xuICAgICAgbGFiZWw/OiBJMThuTGFiZWw7XG4gICAgICBkZXNjcmlwdGlvbj86IEkxOG5MYWJlbDtcbiAgICAgIGNvbHVtbnM6IHJlYWRvbmx5IEJhY2tvZmZpY2VDb2x1bW5TcGVjW107XG4gICAgICByb3dzOiAoZGF0YTogdW5rbm93bikgPT4gcmVhZG9ubHkgdW5rbm93bltdO1xuICAgIH1cbiAgfCB7XG4gICAgICBraW5kOiAnY29kZSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiBzdHJpbmc7XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdqc29uJztcbiAgICAgIGxhYmVsPzogSTE4bkxhYmVsO1xuICAgICAgZGVzY3JpcHRpb24/OiBJMThuTGFiZWw7XG4gICAgICB2YWx1ZTogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gICAgfVxuICB8IHtcbiAgICAgIGtpbmQ6ICdrZXlWYWx1ZSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgaXRlbXM6IHJlYWRvbmx5IHtcbiAgICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiBCYWNrb2ZmaWNlVmFsdWVMYWJlbDtcbiAgICAgIH1bXTtcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ3BheWxvYWQnO1xuICAgICAgbGFiZWw6IEkxOG5MYWJlbDtcbiAgICAgIGRlc2NyaXB0aW9uPzogSTE4bkxhYmVsO1xuICAgICAgdmFsdWU6IChkYXRhOiB1bmtub3duKSA9PiB1bmtub3duO1xuICAgICAgZm9ybWF0PzogJ21hcmtkb3duJyB8ICdqc29uJyB8ICd0ZXh0JztcbiAgICB9XG4gIHwge1xuICAgICAga2luZDogJ2N1c3RvbSc7XG4gICAgICBsYWJlbD86IEkxOG5MYWJlbDtcbiAgICAgIHJlbmRlcjogKGRhdGE6IHVua25vd24pID0+IHVua25vd247XG4gICAgfTtcblxuZXhwb3J0IHR5cGUgQmFja29mZmljZUNvbm5lY3Rpb248Um93PiA9IHtcbiAgZWRnZXM6IHJlYWRvbmx5IHsgbm9kZTogUm93IH1bXTtcbiAgdG90YWxDb3VudD86IG51bWJlciB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlTGlzdERlZmF1bHRzPFdoZXJlLCBTb3J0IGV4dGVuZHMgc3RyaW5nPiA9IHtcbiAgd2hlcmU6IFdoZXJlIHwgbnVsbDtcbiAgc29ydDogU29ydCB8IG51bGw7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRMaXN0Um91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZExpc3RGYWNldENvbmZpZ0Jhc2U7XG4gIHF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbExheW91dFJvdXRlID0ge1xuICBlbnRpdHlJZDogc3RyaW5nO1xuICBlbnRpdHlNYW5pZmVzdDogQmFja29mZmljZUVudGl0eU1hbmlmZXN0SXRlbTtcbiAgZW50aXR5Q29uZmlnOiBCYWNrb2ZmaWNlUmVzb2x2ZWREZXRhaWxMYXlvdXRGYWNldENvbmZpZ0Jhc2U7XG4gIGxheW91dFF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbiAgaWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEJhY2tvZmZpY2VQcmVwYXJlZERldGFpbFBhZ2VSb3V0ZSA9IHtcbiAgZW50aXR5SWQ6IHN0cmluZztcbiAgZW50aXR5TWFuaWZlc3Q6IEJhY2tvZmZpY2VFbnRpdHlNYW5pZmVzdEl0ZW07XG4gIGVudGl0eUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsTGF5b3V0RmFjZXRDb25maWdCYXNlO1xuICBpZDogc3RyaW5nO1xuICBwYWdlSWQ6IHN0cmluZztcbiAgcGFnZVBhdGg6IHN0cmluZztcbiAgcGFnZUNvbmZpZzogQmFja29mZmljZVJlc29sdmVkRGV0YWlsUGFnZUZhY2V0Q29uZmlnQmFzZTtcbiAgcGFnZVF1ZXJ5OiBQcmVsb2FkZWRRdWVyeTxPcGVyYXRpb25UeXBlPjtcbiAgZGV0YWlsSWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBCYWNrb2ZmaWNlUHJlcGFyZWRUb29sUm91dGUgPSB7XG4gIGVudGl0eUlkOiBzdHJpbmc7XG4gIGVudGl0eU1hbmlmZXN0OiBCYWNrb2ZmaWNlRW50aXR5TWFuaWZlc3RJdGVtO1xuICBlbnRpdHlDb25maWc6IEJhY2tvZmZpY2VSZXNvbHZlZFRvb2xGYWNldENvbmZpZztcbn07XG4iXX0=