single-scripture-rcl 3.3.6 → 3.3.7-beta
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.
|
@@ -227,6 +227,7 @@ export default function ScriptureCard(_ref) {
|
|
|
227
227
|
usingUserBranch_ = _useUserBranch$state.usingUserBranch,
|
|
228
228
|
mergeFromMaster = _useUserBranch$state.mergeFromMaster,
|
|
229
229
|
mergeToMaster = _useUserBranch$state.mergeToMaster,
|
|
230
|
+
merging = _useUserBranch$state.merging,
|
|
230
231
|
_useUserBranch$action = _useUserBranch.actions,
|
|
231
232
|
startEditBranch = _useUserBranch$action.startEdit,
|
|
232
233
|
mergeFromMasterIntoUserBranch = _useUserBranch$action.mergeFromMasterIntoUserBranch,
|
|
@@ -837,7 +838,8 @@ export default function ScriptureCard(_ref) {
|
|
|
837
838
|
scriptureAlignmentEditConfig: _scriptureAlignmentEditConfig,
|
|
838
839
|
setWordAlignerStatus: setWordAlignerStatus,
|
|
839
840
|
server: server,
|
|
840
|
-
translate: translate
|
|
841
|
+
translate: translate,
|
|
842
|
+
merging: merging
|
|
841
843
|
}));
|
|
842
844
|
});
|
|
843
845
|
|
|
@@ -1027,4 +1029,4 @@ ScriptureCard.propTypes = {
|
|
|
1027
1029
|
/**callback to update the card's merge state in app */
|
|
1028
1030
|
updateMergeState: PropTypes.func
|
|
1029
1031
|
};
|
|
1030
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZUNhcmQvU2NyaXB0dXJlQ2FyZC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQcm9wVHlwZXMiLCJjb3JlIiwidXNmbWpzIiwidXNlRWRpdCIsIk1kVXBkYXRlIiwiTWRVcGRhdGVEaXNhYmxlZCIsIkZpU2hhcmUiLCJJY29uQnV0dG9uIiwiQ2FyZCIsInVzZUNhcmRTdGF0ZSIsInVzZVVzZXJCcmFuY2giLCJFUlJPUl9TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJBbGlnbm1lbnRIZWxwZXJzIiwiVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycyIsImlzRXF1YWwiLCJTY3JpcHR1cmVQYW5lIiwiU2NyaXB0dXJlU2VsZWN0b3IiLCJ1c2VTY3JpcHR1cmVTZXR0aW5ncyIsImdldFJlc291cmNlTGluayIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsImlzT3JpZ2luYWxCaWJsZSIsIlRpdGxlIiwiTlRfT1JJR19MQU5HIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiS0VZX0ZPTlRfU0laRV9CQVNFIiwibGFiZWwiLCJzdHlsZSIsIm1hcmdpblRvcCIsIndpZHRoIiwiU2NyaXB0dXJlQ2FyZCIsImlkIiwiaXNOVCIsInRpdGxlIiwic2VydmVyIiwiYXBwUmVmIiwiY2FyZE51bSIsImNsYXNzZXMiLCJyZXNvdXJjZSIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJvcmlnaW5hbExhbmd1YWdlT3duZXIiLCJnZXRMYW5ndWFnZSIsInJlZmVyZW5jZSIsInZlcnNlIiwiY2hhcHRlciIsImJvb2tJZCIsInByb2plY3RJZCIsInJlc291cmNlTGluayIsInVzZVVzZXJMb2NhbFN0b3JhZ2UiLCJkaXNhYmxlV29yZFBvcG92ZXIiLCJvblJlc291cmNlRXJyb3IiLCJodHRwQ29uZmlnIiwiZ3JlZWtSZXBvVXJsIiwiaGVicmV3UmVwb1VybCIsImdldExleGljb25EYXRhIiwiZmV0Y2hHbG9zc2VzRm9yVmVyc2UiLCJ0cmFuc2xhdGUiLCJvbk1pbmltaXplIiwibG9nZ2VkSW5Vc2VyIiwiYXV0aGVudGljYXRpb24iLCJzZXRTYXZlZENoYW5nZXMiLCJib29rSW5kZXgiLCJhZGRWZXJzZVJhbmdlIiwic2V0V29yZEFsaWduZXJTdGF0dXMiLCJ1cGRhdGVNZXJnZVN0YXRlIiwidXNlU3RhdGUiLCJoYXZlVW5zYXZlZENoYW5nZXMiLCJyZWYiLCJzYXZlQ2xpY2tlZCIsInNhdmVDb250ZW50Iiwic2hhIiwic3RhcnRTYXZlIiwidXJsRXJyb3IiLCJ1c2luZ1VzZXJCcmFuY2giLCJ1bnNhdmVkQ2hhbmdlc0xpc3QiLCJ2ZXJzZXNGb3JSZWYiLCJzdGF0ZSIsInNldFN0YXRlXyIsImZvbnRTaXplIiwic2V0Rm9udFNpemUiLCJpc05UXyIsInNldFN0YXRlIiwibmV3U3RhdGUiLCJwcmV2U3RhdGUiLCJjYWNoZSIsIm1heEFnZSIsInNldFVybEVycm9yIiwiZXJyb3IiLCJ3aG9sZUJvb2siLCJpc05ld1Rlc3RhbWVudCIsInNjcmlwdHVyZUNvbmZpZyIsInNldFNjcmlwdHVyZSIsInNjcmlwdHVyZVNldHRpbmdzIiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJmZXRjaFJlc3BfIiwiZmV0Y2hSZXNwb25zZSIsInJlcG8iLCJyZWZlcmVuY2VfIiwidXNlRWZmZWN0IiwiX3NoYSIsImRhdGEiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImNhcmRSZXNvdXJjZUlkIiwicmVmXyIsImNhblVzZUVkaXRCcmFuY2giLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJjYXJkSWQiLCJ3b3JraW5nUmVzb3VyY2VCcmFuY2giLCJ1c2luZ1VzZXJCcmFuY2hfIiwibWVyZ2VGcm9tTWFzdGVyIiwibWVyZ2VUb01hc3RlciIsImFjdGlvbnMiLCJzdGFydEVkaXRCcmFuY2giLCJzdGFydEVkaXQiLCJtZXJnZUZyb21NYXN0ZXJJbnRvVXNlckJyYW5jaCIsIm1lcmdlVG9NYXN0ZXJGcm9tVXNlckJyYW5jaCIsIndvcmtpbmdSZWYiLCJzY3JpcHR1cmVUaXRsZSIsIndvcmtpbmdSZWZfIiwicmVzb3VyY2VTdGF0dXMiLCJtZXNzYWdlIiwiaXNBY2Nlc3NFcnJvciIsInZlcnNpb24iLCJ1cGRhdGVUaXRsZSIsImdldFNjcmlwdHVyZVNlbGVjdG9yIiwic2NyaXB0dXJlU2VsZWN0aW9uQ29uZmlnIiwib25NZW51Q2xvc2UiLCJsYW5ndWFnZUlkXyIsImxhbmd1YWdlIiwiZGlyZWN0aW9uIiwiaXNIZWJyZXciLCJmb250RmFjdG9yIiwic2NhbGVkRm9udFNpemUiLCJpdGVtcyIsImhlYWRlcnMiLCJmaWx0ZXJzIiwiaXRlbUluZGV4IiwibWFya2Rvd25WaWV3Iiwic2V0RmlsdGVycyIsInNldEl0ZW1JbmRleCIsInNldE1hcmtkb3duVmlldyIsInJlZlN0eWxlIiwidXNlTWVtbyIsImZvbnRGYW1pbHkiLCJNYXRoIiwicm91bmQiLCJjb250ZW50U3R5bGUiLCJzY3JpcHR1cmVMYWJlbCIsImRpc2FibGVXb3JkUG9wb3Zlcl8iLCJ1c2luZ09yaWdpbmFsQmlibGUiLCJ1bmRlZmluZWQiLCJmZXRjaEdsb3NzRGF0YUZvclZlcnNlIiwidmVyc2VPYmplY3RzIiwidmVyc2VSZWYiLCJfdmVyc2VPYmplY3RzIiwidmVyc2VEYXRhIiwiY29uY2F0IiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsIm9yaWdpbmFsUmVwb1VybCIsInNjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWciLCJjdXJyZW50VmVyc2VSZWYiLCJfc2V0U2F2ZWRDaGFuZ2VzIiwic291cmNlTGFuZ3VhZ2UiLCJ0YXJnZXRMYW5ndWFnZSIsImN1cnJlbnRJbmRleCIsInNhdmVkIiwiZ2V0Q2hhbmdlcyIsImNsZWFyQ2hhbmdlcyIsIl91bnNhdmVkQ2hhbmdlc0xpc3QiLCJoYXNPd25Qcm9wZXJ0eSIsIl9oYXZlVW5zYXZlZENoYW5nZXMiLCJPYmplY3QiLCJrZXlzIiwiZmluZFJlZkluQXJyYXkiLCJmaW5kSXRlbSIsImNodW5rcyIsInJlZkxlbiIsImluZGV4IiwiZmluZEluZGV4IiwiY2h1bmsiLCJpZHgiLCJuZXh0Q2hhciIsImdldEJvb2tOYW1lIiwiYm9va0NhcHMiLCJ0b1VwcGVyQ2FzZSIsImZpbGVwYXRoIiwiY29udGVudCIsImNvbmZpZyIsInRva2VuIiwidGltZW91dCIsInNlcnZlclRpbWVPdXQiLCJhdXRob3IiLCJicmFuY2giLCJvblNhdmVFZGl0IiwiX3NhdmVFZGl0IiwidGhlbiIsInN1Y2Nlc3MiLCJ1bnNhdmVkQ2FyZEluZGljZXMiLCJjYXJkSW5kZXgiLCJpbmZvIiwicmVsb2FkUmVzb3VyY2UiLCJtZXJnZVZlcnNlT2JqZWN0c0ludG9CaWJsZVVzZm0iLCJiaWJsZVVzZm0iLCJ1cGRhdGVkVmVyc2VPYmplY3RzIiwibmV3VXNmbSIsImNoYXB0ZXJDaHVua3MiLCJzcGxpdCIsImNoYXB0ZXJJbmRleCIsImN1cnJlbnRDaGFwdGVyIiwidmVyc2VDaHVua3MiLCJ2ZXJzZUluZGV4IiwibmV3VmVyc2VVc2ZtIiwiY29udmVydFZlcnNlRGF0YVRvVVNGTSIsIm9sZFZlcnNlIiwidmVyc2VOdW1MZW4iLCJuZXdDaGFwdGVyIiwiam9pbiIsImdldFJlc3BvbnNlRGF0YSIsIm1lcmdlRmFpbCIsInBhcnNlSW50IiwibmV3Qm9va0pzb24iLCJuZXdWZXJzZVRleHQiLCJ0YXJnZXRWZXJzZU9iamVjdHNfIiwidXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UiLCJ0YXJnZXRWZXJzZU9iamVjdHMiLCJ1cGRhdGVWZXJzZSIsInRvVVNGTSIsImZvcmNlZE5ld0xpbmVzIiwiX3ZlcnNlIiwiaW5jbHVkZXMiLCJuZWVkVG9NZXJnZUZyb21NYXN0ZXIiLCJtZXJnZU5lZWRlZCIsIm1lcmdlRnJvbU1hc3Rlckhhc0NvbmZsaWN0cyIsImNvbmZsaWN0IiwibWVyZ2VUb01hc3Rlckhhc0NvbmZsaWN0cyIsIm1lcmdlRnJvbU1hc3RlclRpdGxlIiwibWVyZ2VGcm9tTWFzdGVyQ29sb3IiLCJtZXJnZVRvTWFzdGVyVGl0bGUiLCJtZXJnZVRvTWFzdGVyQ29sb3IiLCJyZW5kZXJlZFNjcmlwdHVyZVBhbmVzIiwibWFwIiwiX2N1cnJlbnRWZXJzZURhdGEiLCJpbml0aWFsVmVyc2VPYmplY3RzIiwiX3JlZmVyZW5jZSIsIl9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwib25SZW5kZXJUb29sYmFyIiwibmV3SXRlbXMiLCJwdXNoIiwibWFyZ2luIiwiY3Vyc29yIiwicHJvcFR5cGVzIiwic3RyaW5nIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJudW1iZXIiLCJzaGFwZSIsIm9uZU9mVHlwZSIsImJvb2wiLCJvYmplY3QiLCJhbnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBQ0EsT0FBTyxLQUFLQyxTQUFaLE1BQTJCLFlBQTNCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQix5QkFBckI7QUFDQSxPQUFPQyxNQUFQLE1BQW1CLFNBQW5CO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixxQkFBeEI7QUFDQSxTQUFTQyxRQUFULEVBQW1CQyxnQkFBbkIsUUFBMkMsZ0JBQTNDO0FBQ0EsU0FBU0MsT0FBVCxRQUF3QixnQkFBeEI7QUFDQSxTQUFTQyxVQUFULFFBQTJCLGVBQTNCO0FBQ0EsU0FDRUMsSUFERixFQUVFQyxZQUZGLEVBR0VDLGFBSEYsRUFJRUMsV0FKRixFQUtFQyx5QkFMRixRQU1PLHVCQU5QO0FBT0EsU0FBU0MsZ0JBQVQsRUFBMkJDLHlCQUEzQixRQUE0RCxrQkFBNUQ7QUFDQSxPQUFPLEtBQUtDLE9BQVosTUFBeUIsWUFBekI7QUFDQSxTQUFTQyxhQUFULEVBQXdCQyxpQkFBeEIsUUFBaUQsSUFBakQ7QUFDQSxTQUFTQyxvQkFBVCxRQUFxQyxrQ0FBckM7QUFDQSxTQUNFQyxlQURGLEVBRUVDLGtCQUZGLEVBR0VDLDJCQUhGLEVBSUVDLGVBSkYsUUFLTywrQkFMUDtBQU1BLFNBQVNDLEtBQVQsUUFBc0IseUJBQXRCO0FBQ0EsU0FDRUMsWUFERixFQUVFQyxlQUZGLEVBR0VDLFlBSEYsUUFJTyxhQUpQO0FBTUEsSUFBTUMsa0JBQWtCLEdBQUcsd0JBQTNCO0FBQ0EsSUFBTUMsS0FBSyxHQUFHLFNBQWQ7QUFDQSxJQUFNQyxLQUFLLEdBQUc7QUFBRUMsRUFBQUEsU0FBUyxFQUFFLE1BQWI7QUFBcUJDLEVBQUFBLEtBQUssRUFBRTtBQUE1QixDQUFkO0FBRUEsZUFBZSxTQUFTQyxhQUFULE9Bc0NaO0FBQUE7O0FBQUEsTUFyQ0RDLEVBcUNDLFFBckNEQSxFQXFDQztBQUFBLE1BcENEQyxJQW9DQyxRQXBDREEsSUFvQ0M7QUFBQSxNQW5DREMsS0FtQ0MsUUFuQ0RBLEtBbUNDO0FBQUEsTUFsQ0RDLE1Ba0NDLFFBbENEQSxNQWtDQztBQUFBLE1BakNEQyxNQWlDQyxRQWpDREEsTUFpQ0M7QUFBQSxNQWhDREMsT0FnQ0MsUUFoQ0RBLE9BZ0NDO0FBQUEsTUEvQkRDLE9BK0JDLFFBL0JEQSxPQStCQztBQUFBLDJCQTlCREMsUUE4QkM7QUFBQSxNQTdCQ0MsS0E2QkQsaUJBN0JDQSxLQTZCRDtBQUFBLE1BNUJDQyxVQTRCRCxpQkE1QkNBLFVBNEJEO0FBQUEsTUEzQkNDLFVBMkJELGlCQTNCQ0EsVUEyQkQ7QUFBQSxNQTFCQ0MscUJBMEJELGlCQTFCQ0EscUJBMEJEO0FBQUEsTUF4QkRDLFdBd0JDLFFBeEJEQSxXQXdCQztBQUFBLDRCQXZCREMsU0F1QkM7QUFBQSxNQXRCQ0MsS0FzQkQsa0JBdEJDQSxLQXNCRDtBQUFBLE1BckJDQyxPQXFCRCxrQkFyQkNBLE9BcUJEO0FBQUEsTUFwQllDLE1Bb0JaLGtCQXBCQ0MsU0FvQkQ7QUFBQSxNQWxCREMsWUFrQkMsUUFsQkRBLFlBa0JDO0FBQUEsTUFqQkRDLG1CQWlCQyxRQWpCREEsbUJBaUJDO0FBQUEsTUFoQkRDLGtCQWdCQyxRQWhCREEsa0JBZ0JDO0FBQUEsTUFmREMsZUFlQyxRQWZEQSxlQWVDO0FBQUEsTUFkREMsVUFjQyxRQWREQSxVQWNDO0FBQUEsTUFiREMsWUFhQyxRQWJEQSxZQWFDO0FBQUEsTUFaREMsYUFZQyxRQVpEQSxhQVlDO0FBQUEsTUFYREMsY0FXQyxRQVhEQSxjQVdDO0FBQUEsTUFWREMsb0JBVUMsUUFWREEsb0JBVUM7QUFBQSxNQVREQyxTQVNDLFFBVERBLFNBU0M7QUFBQSxNQVJEQyxVQVFDLFFBUkRBLFVBUUM7QUFBQSxNQVBEQyxZQU9DLFFBUERBLFlBT0M7QUFBQSxNQU5EQyxjQU1DLFFBTkRBLGNBTUM7QUFBQSxNQUxEQyxlQUtDLFFBTERBLGVBS0M7QUFBQSxNQUpEQyxTQUlDLFFBSkRBLFNBSUM7QUFBQSxNQUhEQyxhQUdDLFFBSERBLGFBR0M7QUFBQSxNQUZEQyxvQkFFQyxRQUZEQSxvQkFFQztBQUFBLE1BRERDLGdCQUNDLFFBRERBLGdCQUNDOztBQUFBLHdCQUMwQnJFLEtBQUssQ0FBQ3NFLFFBQU4sQ0FBZTtBQUN4Q0MsSUFBQUEsa0JBQWtCLEVBQUUsS0FEb0I7QUFFeENDLElBQUFBLEdBQUcsRUFBRWxDLE1BRm1DO0FBR3hDbUMsSUFBQUEsV0FBVyxFQUFFLEtBSDJCO0FBSXhDQyxJQUFBQSxXQUFXLEVBQUUsSUFKMkI7QUFLeENDLElBQUFBLEdBQUcsRUFBRSxJQUxtQztBQU14Q0MsSUFBQUEsU0FBUyxFQUFFLEtBTjZCO0FBT3hDQyxJQUFBQSxRQUFRLEVBQUUsSUFQOEI7QUFReENDLElBQUFBLGVBQWUsRUFBRSxLQVJ1QjtBQVN4Q0MsSUFBQUEsa0JBQWtCLEVBQUUsRUFUb0I7QUFVeENDLElBQUFBLFlBQVksRUFBRTtBQVYwQixHQUFmLENBRDFCO0FBQUE7QUFBQSxNQUNNQyxLQUROO0FBQUEsTUFDYUMsU0FEYjs7QUFBQSxNQWNDVixHQWRELEdBd0JHUyxLQXhCSCxDQWNDVCxHQWREO0FBQUEsTUFlQ0MsV0FmRCxHQXdCR1EsS0F4QkgsQ0FlQ1IsV0FmRDtBQUFBLE1BZ0JDQyxXQWhCRCxHQXdCR08sS0F4QkgsQ0FnQkNQLFdBaEJEO0FBQUEsTUFpQkNDLEdBakJELEdBd0JHTSxLQXhCSCxDQWlCQ04sR0FqQkQ7QUFBQSxNQWtCQ0MsU0FsQkQsR0F3QkdLLEtBeEJILENBa0JDTCxTQWxCRDtBQUFBLE1BbUJDQyxRQW5CRCxHQXdCR0ksS0F4QkgsQ0FtQkNKLFFBbkJEO0FBQUEsTUFvQkNDLGVBcEJELEdBd0JHRyxLQXhCSCxDQW9CQ0gsZUFwQkQ7QUFBQSxNQXFCQ0Msa0JBckJELEdBd0JHRSxLQXhCSCxDQXFCQ0Ysa0JBckJEO0FBQUEsTUFzQkNSLGtCQXRCRCxHQXdCR1UsS0F4QkgsQ0FzQkNWLGtCQXRCRDtBQUFBLE1BdUJDUyxZQXZCRCxHQXdCR0MsS0F4QkgsQ0F1QkNELFlBdkJEOztBQUFBLDZCQTBCK0IzQixtQkFBbUIsQ0FBQ3pCLGtCQUFrQixHQUFHVyxPQUF0QixFQUErQixHQUEvQixDQTFCbEQ7QUFBQTtBQUFBLE1BMEJNNEMsUUExQk47QUFBQSxNQTBCZ0JDLFdBMUJoQjs7QUEyQkQsTUFBTUMsS0FBSyxHQUFHbEQsSUFBSSxDQUFDZSxNQUFELENBQWxCOztBQUVBLFdBQVNvQyxRQUFULENBQWtCQyxRQUFsQixFQUE0QjtBQUMxQkwsSUFBQUEsU0FBUyxDQUFDLFVBQUFNLFNBQVM7QUFBQSw2Q0FBVUEsU0FBVixHQUF3QkQsUUFBeEI7QUFBQSxLQUFWLENBQVQ7QUFDRDs7QUFFRCxNQUFJVCxlQUFKLEVBQXFCO0FBQ25CdEIsSUFBQUEsVUFBVSxtQ0FBUUEsVUFBUjtBQUFvQmlDLE1BQUFBLEtBQUssRUFBRTtBQUFFQyxRQUFBQSxNQUFNLEVBQUU7QUFBVjtBQUEzQixNQUFWLENBRG1CLENBQ2tDO0FBQ3REOztBQW5DQSw4QkEyQ0d2RSxvQkFBb0IsQ0FBQztBQUN2QmdCLElBQUFBLElBQUksRUFBSkEsSUFEdUI7QUFFdkJDLElBQUFBLEtBQUssRUFBTEEsS0FGdUI7QUFHdkJZLElBQUFBLEtBQUssRUFBTEEsS0FIdUI7QUFJdkJOLElBQUFBLEtBQUssRUFBTEEsS0FKdUI7QUFLdkJRLElBQUFBLE1BQU0sRUFBTkEsTUFMdUI7QUFNdkJaLElBQUFBLE1BQU0sRUFBRWtDLEdBTmU7QUFPdkJuQyxJQUFBQSxNQUFNLEVBQU5BLE1BUHVCO0FBUXZCRSxJQUFBQSxPQUFPLEVBQVBBLE9BUnVCO0FBU3ZCVSxJQUFBQSxPQUFPLEVBQVBBLE9BVHVCO0FBVXZCTixJQUFBQSxVQUFVLEVBQVZBLFVBVnVCO0FBV3ZCQyxJQUFBQSxVQUFVLEVBQVZBLFVBWHVCO0FBWXZCUSxJQUFBQSxZQUFZLEVBQVpBLFlBWnVCO0FBYXZCQyxJQUFBQSxtQkFBbUIsRUFBbkJBLG1CQWJ1QjtBQWN2QkMsSUFBQUEsa0JBQWtCLEVBQWxCQSxrQkFkdUI7QUFldkJULElBQUFBLHFCQUFxQixFQUFyQkEscUJBZnVCO0FBZ0J2QjhDLElBQUFBLFdBQVcsRUFBRSxxQkFBQ0MsS0FBRDtBQUFBLGFBQVdOLFFBQVEsQ0FBQztBQUFFVCxRQUFBQSxRQUFRLEVBQUVlO0FBQVosT0FBRCxDQUFuQjtBQUFBLEtBaEJVO0FBaUJ2QnBDLElBQUFBLFVBQVUsRUFBVkEsVUFqQnVCO0FBa0J2QkMsSUFBQUEsWUFBWSxFQUFaQSxZQWxCdUI7QUFtQnZCQyxJQUFBQSxhQUFhLEVBQWJBLGFBbkJ1QjtBQW9CdkJtQyxJQUFBQSxTQUFTLEVBQUU7QUFwQlksR0FBRCxDQTNDdkI7QUFBQSxNQXNDQ0MsY0F0Q0QseUJBc0NDQSxjQXRDRDtBQUFBLE1BdUNDQyxlQXZDRCx5QkF1Q0NBLGVBdkNEO0FBQUEsTUF3Q0NDLFlBeENELHlCQXdDQ0EsWUF4Q0Q7QUFBQSxNQXlDQ0MsaUJBekNELHlCQXlDQ0EsaUJBekNEO0FBQUEsTUEwQ0NDLG9CQTFDRCx5QkEwQ0NBLG9CQTFDRDs7QUFrRUQsTUFBTUMsVUFBVSxHQUFHSixlQUFILGFBQUdBLGVBQUgsdUJBQUdBLGVBQWUsQ0FBRUssYUFBcEMsQ0FsRUMsQ0FtRUQ7O0FBQ0EsTUFBTUMsSUFBSSxhQUFNTixlQUFOLGFBQU1BLGVBQU4sZ0RBQU1BLGVBQWUsQ0FBRXRELFFBQXZCLDBEQUFNLHNCQUEyQkUsVUFBakMsY0FBK0NvRCxlQUEvQyxhQUErQ0EsZUFBL0MsaURBQStDQSxlQUFlLENBQUV0RCxRQUFoRSwyREFBK0MsdUJBQTJCVSxTQUExRSxDQUFWO0FBQ0EsTUFBTW1ELFVBQVUsR0FBRyxDQUFBUCxlQUFlLFNBQWYsSUFBQUEsZUFBZSxXQUFmLFlBQUFBLGVBQWUsQ0FBRWhELFNBQWpCLEtBQThCLElBQWpEO0FBRUEvQyxFQUFBQSxLQUFLLENBQUN1RyxTQUFOLENBQWdCLFlBQU07QUFBQTs7QUFBRTtBQUN0QixRQUFNQyxJQUFJLEdBQUcsQ0FBQUwsVUFBVSxTQUFWLElBQUFBLFVBQVUsV0FBVixnQ0FBQUEsVUFBVSxDQUFFTSxJQUFaLHNFQUFrQjlCLEdBQWxCLEtBQXlCLElBQXRDOztBQUNBK0IsSUFBQUEsT0FBTyxDQUFDQyxHQUFSLGVBQW1CQyxJQUFJLENBQUNDLFNBQUwsQ0FBZVAsVUFBZixDQUFuQix5QkFBNERFLElBQTVEOztBQUVBLFFBQUlBLElBQUksS0FBSzdCLEdBQWIsRUFBa0I7QUFDaEJXLE1BQUFBLFFBQVEsQ0FBQztBQUFFWCxRQUFBQSxHQUFHLEVBQUU2QjtBQUFQLE9BQUQsQ0FBUjtBQUNEO0FBQ0YsR0FQRCxFQU9HLENBQUNMLFVBQUQsQ0FQSCxFQXZFQyxDQWdGRDs7QUFDQSxNQUFNVyxjQUFjLEdBQUcsQ0FBQWYsZUFBZSxTQUFmLElBQUFBLGVBQWUsV0FBZixzQ0FBQUEsZUFBZSxDQUFFdEQsUUFBakIsa0ZBQTJCVSxTQUEzQixLQUF3Q1AsVUFBL0QsQ0FqRkMsQ0FrRkQ7O0FBQ0EsTUFBSW1FLElBQUksR0FBRyxDQUFBaEIsZUFBZSxTQUFmLElBQUFBLGVBQWUsV0FBZixzQ0FBQUEsZUFBZSxDQUFFdEQsUUFBakIsa0ZBQTJCK0IsR0FBM0IsS0FBa0NsQyxNQUE3QztBQUNBLE1BQU0wRSxnQkFBZ0IsR0FBR2pELFlBQVksSUFBSUMsY0FBaEIsSUFDdEJwQixVQUFVLEtBQUtsQixlQURPLEtBRXJCcUYsSUFBSSxLQUFLLFFBQVYsSUFBd0JBLElBQUksQ0FBQ0UsU0FBTCxDQUFlLENBQWYsRUFBa0JsRCxZQUFZLENBQUNtRCxNQUEvQixNQUEyQ25ELFlBRjdDLENBQXpCLENBcEZDLENBc0ZxRjs7QUF0RnJGLHVCQW9HR3BELGFBQWEsQ0FBQztBQUNoQitCLElBQUFBLEtBQUssRUFBTEEsS0FEZ0I7QUFFaEJMLElBQUFBLE1BQU0sRUFBTkEsTUFGZ0I7QUFHaEJDLElBQUFBLE1BQU0sRUFBTkEsTUFIZ0I7QUFJaEJLLElBQUFBLFVBQVUsRUFBVkEsVUFKZ0I7QUFLaEJ3RSxJQUFBQSxNQUFNLEVBQUVqRixFQUxRO0FBTWhCNkIsSUFBQUEsWUFBWSxFQUFFaUQsZ0JBQWdCLEdBQUdqRCxZQUFILEdBQWtCLElBTmhDO0FBT2hCQyxJQUFBQSxjQUFjLEVBQUVnRCxnQkFBZ0IsR0FBR2hELGNBQUgsR0FBb0IsSUFQcEM7QUFRaEI4QyxJQUFBQSxjQUFjLEVBQWRBLGNBUmdCO0FBU2hCdkQsSUFBQUEsZUFBZSxFQUFmQSxlQVRnQjtBQVVoQkYsSUFBQUEsbUJBQW1CLEVBQW5CQTtBQVZnQixHQUFELENBcEdoQjtBQUFBLDRDQXlGQzRCLEtBekZEO0FBQUEsTUEwRkdtQyxxQkExRkgsd0JBMEZHQSxxQkExRkg7QUFBQSxNQTJGb0JDLGdCQTNGcEIsd0JBMkZHdkMsZUEzRkg7QUFBQSxNQTRGR3dDLGVBNUZILHdCQTRGR0EsZUE1Rkg7QUFBQSxNQTZGR0MsYUE3Rkgsd0JBNkZHQSxhQTdGSDtBQUFBLDZDQStGQ0MsT0EvRkQ7QUFBQSxNQWdHY0MsZUFoR2QseUJBZ0dHQyxTQWhHSDtBQUFBLE1BaUdHQyw2QkFqR0gseUJBaUdHQSw2QkFqR0g7QUFBQSxNQWtHR0MsMkJBbEdILHlCQWtHR0EsMkJBbEdIOztBQWlIRDVILEVBQUFBLEtBQUssQ0FBQ3VHLFNBQU4sQ0FBZ0IsWUFBTTtBQUNwQixRQUFJTyxjQUFKLEVBQW9CO0FBQ2xCekMsTUFBQUEsZ0JBQWdCLElBQUlBLGdCQUFnQixDQUNsQ3lDLGNBRGtDLEVBRWxDUSxlQUZrQyxFQUdsQ0MsYUFIa0MsRUFJbENJLDZCQUprQyxFQUtsQ0MsMkJBTGtDLENBQXBDO0FBT0Q7QUFDRixHQVZELEVBVUUsQ0FBQ2QsY0FBRCxFQUFpQlEsZUFBakIsRUFBa0NDLGFBQWxDLENBVkY7QUFZQSxNQUFNTSxVQUFVLEdBQUdiLGdCQUFnQixHQUFHSSxxQkFBSCxHQUEyQjlFLE1BQTlEO0FBQ0EsTUFBSXdGLGNBQUo7QUFFQTlILEVBQUFBLEtBQUssQ0FBQ3VHLFNBQU4sQ0FBZ0IsWUFBTTtBQUFFO0FBQ3RCLFFBQUljLGdCQUFnQixLQUFLdkMsZUFBekIsRUFBMEM7QUFDeENRLE1BQUFBLFFBQVEsQ0FBQztBQUFFUixRQUFBQSxlQUFlLEVBQUV1QztBQUFuQixPQUFELENBQVI7QUFDRDtBQUNGLEdBSkQsRUFJRyxDQUFDQSxnQkFBRCxFQUFtQnZDLGVBQW5CLENBSkg7QUFNQTlFLEVBQUFBLEtBQUssQ0FBQ3VHLFNBQU4sQ0FBZ0IsWUFBTTtBQUFFO0FBQ3RCLFFBQUl3QixXQUFXLEdBQUdGLFVBQVUsSUFBSXZGLE1BQWhDOztBQUVBLFFBQUlrQyxHQUFHLEtBQUt1RCxXQUFaLEVBQXlCO0FBQ3ZCekMsTUFBQUEsUUFBUSxDQUFDO0FBQUVkLFFBQUFBLEdBQUcsRUFBRXVEO0FBQVAsT0FBRCxDQUFSO0FBQ0Q7QUFDRixHQU5ELEVBTUcsQ0FBQ0YsVUFBRCxFQUFhckQsR0FBYixFQUFrQmxDLE1BQWxCLENBTkg7QUFRQXRDLEVBQUFBLEtBQUssQ0FBQ3VHLFNBQU4sQ0FBZ0IsWUFBTTtBQUFBOztBQUFFO0FBQ3RCLFFBQU1YLEtBQUssR0FBR0csZUFBSCxhQUFHQSxlQUFILGlEQUFHQSxlQUFlLENBQUVpQyxjQUFwQiwyREFBRyx1QkFBa0NwSCxXQUFsQyxDQUFkOztBQUVBLFFBQUlnRixLQUFKLEVBQVc7QUFBRTtBQUNYLFVBQU1vQyxjQUFjLEdBQUdqQyxlQUFILGFBQUdBLGVBQUgsdUJBQUdBLGVBQWUsQ0FBRWlDLGNBQXhDOztBQUNBLFVBQU01RSxhQUFZLEdBQUdoQyxlQUFlLENBQUMyRSxlQUFELENBQXBDOztBQUNBLFVBQU1rQyxPQUFPLEdBQUc1RyxrQkFBa0IsQ0FBQzJHLGNBQUQsRUFBaUIzRixNQUFqQixFQUF5QmUsYUFBekIsRUFBdUNpQyxLQUF2QyxDQUFsQztBQUNBLFVBQU02QyxhQUFhLEdBQUdGLGNBQWMsQ0FBQ25ILHlCQUFELENBQXBDO0FBQ0EwQyxNQUFBQSxlQUFlLElBQUlBLGVBQWUsQ0FBQzBFLE9BQUQsRUFBVUMsYUFBVixFQUF5QkYsY0FBekIsQ0FBbEM7QUFDRDtBQUNGLEdBVkQsRUFVRyxDQUFDakMsZUFBRCxhQUFDQSxlQUFELGlEQUFDQSxlQUFlLENBQUVpQyxjQUFsQiwyREFBQyx1QkFBa0NwSCxXQUFsQyxDQUFELENBVkg7O0FBWUEsTUFBSW1GLGVBQWUsQ0FBQzNELEtBQWhCLElBQXlCMkQsZUFBZSxDQUFDb0MsT0FBN0MsRUFBc0Q7QUFDcERMLElBQUFBLGNBQWMsYUFBTS9CLGVBQWUsQ0FBQzNELEtBQXRCLGVBQWdDMkQsZUFBZSxDQUFDb0MsT0FBaEQsQ0FBZDtBQUNBakMsSUFBQUEsb0JBQW9CLENBQUNrQyxXQUFyQixDQUFpQ3JDLGVBQWUsQ0FBQzNDLFlBQWpELEVBQStEMEUsY0FBL0Q7QUFDRCxHQUhELE1BR087QUFDTEEsSUFBQUEsY0FBYyx3Q0FBZDtBQUNEO0FBRUQ7OztBQUNBLFdBQVNPLG9CQUFULEdBQWdDO0FBQzlCLFFBQU1DLHdCQUF3QixHQUFHaEgsMkJBQTJCLENBQUM7QUFDM0RPLE1BQUFBLEtBQUssRUFBTEEsS0FEMkQ7QUFFM0R1QixNQUFBQSxZQUFZLEVBQUUyQyxlQUFlLENBQUMzQyxZQUY2QjtBQUczRDRDLE1BQUFBLFlBQVksRUFBWkEsWUFIMkQ7QUFJM0RFLE1BQUFBLG9CQUFvQixFQUFwQkE7QUFKMkQsS0FBRCxDQUE1RDtBQU9BLHdCQUFPLG9CQUFDLGlCQUFELGVBQXVCb0Msd0JBQXZCO0FBQWlELE1BQUEsS0FBSyxFQUFFeEcsS0FBeEQ7QUFBK0QsTUFBQSxZQUFZLEVBQUUrQztBQUE3RSxPQUFQO0FBQ0Q7O0FBRUQsV0FBUzBELFdBQVQsR0FBdUI7QUFDckI7QUFDQWpELElBQUFBLFFBQVEsQ0FBQztBQUFFVCxNQUFBQSxRQUFRLEVBQUU7QUFBWixLQUFELENBQVI7QUFDRCxHQWhMQSxDQWtMRDs7O0FBQ0EsTUFBTTJELFdBQVcsR0FBR3pDLGVBQUgsYUFBR0EsZUFBSCxpREFBR0EsZUFBZSxDQUFFdEQsUUFBcEIsMkRBQUcsdUJBQTJCRSxVQUEvQztBQUNBLE1BQU04RixRQUFRLEdBQUczRixXQUFXLENBQUM7QUFBRUgsSUFBQUEsVUFBVSxFQUFFNkY7QUFBZCxHQUFELENBQTVCO0FBQ0EsTUFBTUUsU0FBUyxHQUFHLENBQUNELFFBQUQsYUFBQ0EsUUFBRCx1QkFBQ0EsUUFBUSxDQUFFQyxTQUFYLEtBQXlCLEtBQTNDOztBQUNBLE1BQU0zRixTQUFTLHFCQUFRZ0QsZUFBZSxDQUFDaEQsU0FBeEIsQ0FBZjs7QUFFQSxNQUFNNEYsUUFBUSxHQUFJSCxXQUFXLEtBQUssS0FBbEM7QUFDQSxNQUFNSSxVQUFVLEdBQUdELFFBQVEsR0FBRyxHQUFILEdBQVMsQ0FBcEMsQ0F6TEMsQ0F5THFDOztBQUN0QyxNQUFNRSxjQUFjLEdBQUcxRCxRQUFRLEdBQUd5RCxVQUFsQztBQUVBLE1BQU1FLEtBQUssR0FBRyxJQUFkOztBQTVMQyxzQkFvTUdwSSxZQUFZLENBQUM7QUFBRW9JLElBQUFBLEtBQUssRUFBTEE7QUFBRixHQUFELENBcE1mO0FBQUEsMENBOExDN0QsS0E5TEQ7QUFBQSxNQStMRzhELE9BL0xILHVCQStMR0EsT0EvTEg7QUFBQSxNQStMWUMsT0EvTFosdUJBK0xZQSxPQS9MWjtBQUFBLE1BK0xxQkMsU0EvTHJCLHVCQStMcUJBLFNBL0xyQjtBQUFBLE1BK0xnQ0MsWUEvTGhDLHVCQStMZ0NBLFlBL0xoQztBQUFBLDRDQWlNQzFCLE9Bak1EO0FBQUEsTUFrTUcyQixVQWxNSCx5QkFrTUdBLFVBbE1IO0FBQUEsTUFrTWVDLFlBbE1mLHlCQWtNZUEsWUFsTWY7QUFBQSxNQWtNNkJDLGVBbE03Qix5QkFrTTZCQSxlQWxNN0I7O0FBc01ELE1BQU1DLFFBQVEsR0FBR3RKLEtBQUssQ0FBQ3VKLE9BQU4sQ0FBYztBQUFBLFdBQU87QUFDcENDLE1BQUFBLFVBQVUsRUFBRSxXQUR3QjtBQUVwQ3JFLE1BQUFBLFFBQVEsWUFBS3NFLElBQUksQ0FBQ0MsS0FBTCxDQUFXYixjQUFjLEdBQUcsR0FBNUIsQ0FBTDtBQUY0QixLQUFQO0FBQUEsR0FBZCxFQUdiLENBQUNBLGNBQUQsQ0FIYSxDQUFqQjtBQUtBLE1BQU1jLFlBQVksR0FBRzNKLEtBQUssQ0FBQ3VKLE9BQU4sQ0FBYztBQUFBLFdBQU87QUFDeENDLE1BQUFBLFVBQVUsRUFBRSxXQUQ0QjtBQUV4Q3JFLE1BQUFBLFFBQVEsWUFBSzBELGNBQUw7QUFGZ0MsS0FBUDtBQUFBLEdBQWQsRUFHakIsQ0FBQ0EsY0FBRCxDQUhpQixDQUFyQjtBQUtBLE1BQU1lLGNBQWMsZ0JBQUcsb0JBQUMsS0FBRCxRQUFROUIsY0FBUixDQUF2QjtBQUNBLE1BQUkrQixtQkFBbUIsR0FBR3ZHLGtCQUExQjtBQUNBLE1BQU13RyxrQkFBa0IsR0FBR3ZJLGVBQWUsMkJBQUN3RSxlQUFlLENBQUMsVUFBRCxDQUFoQiwyREFBQyx1QkFBNkI1QyxTQUE5QixDQUExQzs7QUFFQSxNQUFJRyxrQkFBa0IsS0FBS3lHLFNBQTNCLEVBQXNDO0FBQUU7QUFDdENGLElBQUFBLG1CQUFtQixHQUFHLENBQUNDLGtCQUF2QjtBQUNEOztBQUVEOUosRUFBQUEsS0FBSyxDQUFDdUcsU0FBTixDQUFnQixZQUFNO0FBQUU7QUFDdEIsUUFBTXlELHNCQUFzQjtBQUFBLDBFQUFHO0FBQUE7O0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDekJDLGdCQUFBQSxZQUR5QixHQUNWLEVBRFUsRUFHN0I7O0FBSDZCLHVEQUlOLENBQUFsRSxlQUFlLFNBQWYsSUFBQUEsZUFBZSxXQUFmLFlBQUFBLGVBQWUsQ0FBRWYsWUFBakIsS0FBaUMsRUFKM0I7O0FBQUE7QUFJN0Isc0VBQTREO0FBQWpEa0Ysb0JBQUFBLFFBQWlEO0FBQ3BEQyxvQkFBQUEsYUFEb0QsR0FDcENELFFBRG9DLGFBQ3BDQSxRQURvQyw4Q0FDcENBLFFBQVEsQ0FBRUUsU0FEMEIsd0RBQ3BDLG9CQUFxQkgsWUFEZTtBQUUxREEsb0JBQUFBLFlBQVksR0FBR0EsWUFBWSxDQUFDSSxNQUFiLENBQW9CRixhQUFwQixDQUFmO0FBQ0Q7QUFQNEI7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQSxzQkFTekIsQ0FBQzdHLGtCQUFELHNCQUF1QjJHLFlBQXZCLDJDQUF1QixlQUFjL0MsTUFBckMsSUFBK0N0RCxvQkFUdEI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSx1QkFXckJBLG9CQUFvQixDQUFDcUcsWUFBRCxFQUFlekIsV0FBZixDQVhDOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE9BQUg7O0FBQUEsc0JBQXRCd0Isc0JBQXNCO0FBQUE7QUFBQTtBQUFBLE9BQTVCOztBQWVBLFFBQUlGLGtCQUFKLEVBQXdCO0FBQ3RCRSxNQUFBQSxzQkFBc0I7QUFDdkI7QUFDRixHQW5CRCxFQW1CRyxDQUFFaEYsWUFBRixFQUFnQndELFdBQWhCLENBbkJIO0FBcUJBLE1BQU04QixVQUFVLEdBQUcsQ0FBQ1Isa0JBQXBCO0FBQ0EsTUFBTVMsZUFBZSxHQUFHLENBQUNULGtCQUF6QjtBQUNBLE1BQU1VLGVBQWUsR0FBRzFFLGNBQWMsR0FBR3JDLFlBQUgsR0FBa0JDLGFBQXhEO0FBQ0EsTUFBTStHLDRCQUE0QixHQUFHO0FBQ25DekcsSUFBQUEsY0FBYyxFQUFFZ0QsZ0JBQWdCLEdBQUdoRCxjQUFILEdBQW9CLElBRGpCO0FBRW5DRSxJQUFBQSxTQUFTLEVBQVRBLFNBRm1DO0FBR25Dd0csSUFBQUEsZUFBZSxFQUFFM0gsU0FIa0I7QUFJbkN1SCxJQUFBQSxVQUFVLEVBQVZBLFVBSm1DO0FBS25DQyxJQUFBQSxlQUFlLEVBQWZBLGVBTG1DO0FBTW5DL0csSUFBQUEsVUFBVSxFQUFWQSxVQU5tQztBQU9uQztBQUNBc0MsSUFBQUEsY0FBYyxFQUFkQSxjQVJtQztBQVNuQy9CLElBQUFBLFlBQVksRUFBRWlELGdCQUFnQixHQUFHakQsWUFBSCxHQUFrQixJQVRiO0FBVW5DbEIsSUFBQUEscUJBQXFCLEVBQXJCQSxxQkFWbUM7QUFXbkM7QUFDQTJILElBQUFBLGVBQWUsRUFBZkEsZUFabUM7QUFhbkN6RSxJQUFBQSxlQUFlLEVBQWZBLGVBYm1DO0FBY25DRSxJQUFBQSxpQkFBaUIsRUFBakJBLGlCQWRtQztBQWVuQ3dCLElBQUFBLGVBQWUsRUFBZkEsZUFmbUM7QUFnQm5DeEQsSUFBQUEsZUFBZSxFQUFFMEcsZ0JBaEJrQjtBQWlCbkNDLElBQUFBLGNBQWMsRUFBRXZGLEtBQUssR0FBRzVELFlBQUgsR0FBa0JFLFlBakJKO0FBa0JuQ2tKLElBQUFBLGNBQWMsRUFBRXBDLFFBbEJtQjtBQW1CbkNyRyxJQUFBQSxLQUFLLEVBQUUwRixjQW5CNEI7QUFvQm5DVixJQUFBQSxxQkFBcUIsRUFBRTVDO0FBcEJZLEdBQXJDO0FBdUJBO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0UsV0FBU21HLGdCQUFULENBQTBCRyxZQUExQixFQUF3Q0MsS0FBeEMsU0FBeUc7QUFBQSxpQ0FBeERDLFVBQXdEO0FBQUEsUUFBeERBLFVBQXdELGlDQUEzQyxJQUEyQztBQUFBLG1DQUFyQ0MsWUFBcUM7QUFBQSxRQUFyQ0EsWUFBcUMsbUNBQXRCLElBQXNCO0FBQUEsNEJBQWhCaEcsS0FBZ0I7QUFBQSxRQUFoQkEsS0FBZ0IsNEJBQVIsSUFBUTs7QUFDdkcsUUFBTWlHLG1CQUFtQixxQkFBUW5HLGtCQUFSLENBQXpCOztBQUVBLFFBQUlnRyxLQUFKLEVBQVc7QUFDVCxVQUFJRyxtQkFBbUIsQ0FBQ0MsY0FBcEIsQ0FBbUNMLFlBQW5DLENBQUosRUFBc0Q7QUFDcEQsZUFBT0ksbUJBQW1CLENBQUNKLFlBQUQsQ0FBMUI7QUFDRDtBQUNGLEtBSkQsTUFJTztBQUNMSSxNQUFBQSxtQkFBbUIsQ0FBQ0osWUFBRCxDQUFuQixHQUFvQztBQUFFRSxRQUFBQSxVQUFVLEVBQVZBLFVBQUY7QUFBY0MsUUFBQUEsWUFBWSxFQUFaQSxZQUFkO0FBQTRCaEcsUUFBQUEsS0FBSyxFQUFMQTtBQUE1QixPQUFwQyxDQURLLENBQ21FO0FBQ3pFOztBQUVELFFBQU1tRyxtQkFBbUIsR0FBRyxDQUFDLENBQUNDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSixtQkFBWixFQUFpQ2hFLE1BQS9EOztBQUVBLFFBQUkzQyxrQkFBa0IsSUFBSTZHLG1CQUExQixFQUErQztBQUM3Q25ILE1BQUFBLGVBQWUsSUFBSUEsZUFBZSxDQUFDckIsVUFBRCxFQUFhLENBQUN3SSxtQkFBZCxDQUFsQztBQUNBOUYsTUFBQUEsUUFBUSxDQUFDO0FBQUVmLFFBQUFBLGtCQUFrQixFQUFFNkc7QUFBdEIsT0FBRCxDQUFSO0FBQ0Q7O0FBRUQsUUFBSSxDQUFDcEssT0FBTyxDQUFDa0ssbUJBQUQsRUFBc0JuRyxrQkFBdEIsQ0FBWixFQUF1RDtBQUNyRE8sTUFBQUEsUUFBUSxDQUFDO0FBQUVQLFFBQUFBLGtCQUFrQixFQUFFbUc7QUFBdEIsT0FBRCxDQUFSO0FBQ0Q7QUFDRjtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7OztBQUNFLFdBQVNLLGNBQVQsQ0FBd0JDLFFBQXhCLEVBQWtDQyxNQUFsQyxFQUEwQztBQUN4QyxRQUFNMUUsSUFBSSxHQUFHeUUsUUFBUSxHQUFHLEVBQXhCO0FBQ0EsUUFBTUUsTUFBTSxHQUFHM0UsSUFBSSxDQUFDRyxNQUFwQjtBQUNBLFFBQU15RSxLQUFLLEdBQUdGLE1BQU0sQ0FBQ0csU0FBUCxDQUFpQixVQUFDQyxLQUFELEVBQVFDLEdBQVIsRUFBZ0I7QUFDN0MsVUFBSUEsR0FBRyxHQUFHLENBQVYsRUFBYTtBQUNYLFlBQUlELEtBQUssQ0FBQzVFLFNBQU4sQ0FBZ0IsQ0FBaEIsRUFBbUJ5RSxNQUFuQixNQUErQjNFLElBQW5DLEVBQXlDO0FBQ3ZDLGNBQU1nRixRQUFRLEdBQUdGLEtBQUssQ0FBQ0gsTUFBRCxDQUF0Qjs7QUFFQSxjQUFLSyxRQUFRLEdBQUcsR0FBWixJQUFxQkEsUUFBUSxHQUFHLEdBQXBDLEVBQTBDO0FBQ3hDLG1CQUFPLElBQVA7QUFDRDtBQUNGO0FBQ0Y7O0FBQ0QsYUFBTyxLQUFQO0FBQ0QsS0FYYSxDQUFkO0FBWUEsV0FBT0osS0FBUDtBQUNEOztBQUVELFdBQVNLLFdBQVQsR0FBdUI7QUFBQTs7QUFDckIsUUFBTUMsUUFBUSxHQUFHbEcsZUFBZSxTQUFmLElBQUFBLGVBQWUsV0FBZiw2QkFBQUEsZUFBZSxDQUFFaEQsU0FBakIsd0VBQTRCSSxTQUE1QixHQUF3QzRDLGVBQWUsQ0FBQ2hELFNBQWhCLENBQTBCSSxTQUExQixDQUFvQytJLFdBQXBDLEVBQXhDLEdBQTRGLEVBQTdHO0FBQ0EscUJBQVVoSSxTQUFWLGNBQXVCK0gsUUFBdkI7QUFDRDs7QUFFRCxNQUFNRSxRQUFRLEdBQUdILFdBQVcsRUFBNUIsQ0FsVUMsQ0FvVUQ7O0FBcFVDLGlCQXFVc0I1TCxPQUFPLENBQUM7QUFDN0J1RSxJQUFBQSxHQUFHLEVBQUhBLEdBRDZCO0FBRTdCakMsSUFBQUEsS0FBSyxFQUFMQSxLQUY2QjtBQUc3QjBKLElBQUFBLE9BQU8sRUFBRTFILFdBSG9CO0FBSTdCMkgsSUFBQUEsTUFBTTtBQUNKNUcsTUFBQUEsS0FBSyxFQUFFO0FBQUVDLFFBQUFBLE1BQU0sRUFBRTtBQUFWO0FBREgsT0FFRDFCLGNBRkMsYUFFREEsY0FGQyx1QkFFREEsY0FBYyxDQUFFcUksTUFGZjtBQUdKQyxNQUFBQSxLQUFLLEVBQUV0SSxjQUFGLGFBQUVBLGNBQUYsdUJBQUVBLGNBQWMsQ0FBRXNJLEtBSG5CO0FBSUo7QUFDQUMsTUFBQUEsT0FBTyxFQUFFLGdCQUFBL0ksVUFBVSxVQUFWLGtEQUFZZ0osYUFBWixzQkFBNkJoSixVQUE3QixpREFBNkIsYUFBWStJLE9BQXpDLEtBQW9EO0FBTHpELE1BSnVCO0FBVzdCRSxJQUFBQSxNQUFNLEVBQUUxSSxZQVhxQjtBQVk3QnVJLElBQUFBLEtBQUssRUFBRXRJLGNBQUYsYUFBRUEsY0FBRix1QkFBRUEsY0FBYyxDQUFFc0ksS0FaTTtBQWE3QkksSUFBQUEsTUFBTSxFQUFFdEYscUJBYnFCO0FBYzdCK0UsSUFBQUEsUUFBUSxFQUFSQSxRQWQ2QjtBQWU3QjlGLElBQUFBLElBQUksRUFBSkE7QUFmNkIsR0FBRCxDQXJVN0I7QUFBQSxNQXFVT3NHLFVBclVQLFlBcVVPQSxVQXJVUDs7QUF1VkQzTSxFQUFBQSxLQUFLLENBQUN1RyxTQUFOLENBQWdCLFlBQU07QUFBRTtBQUN0QixRQUFNcUcsU0FBUztBQUFBLDBFQUFHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFjO0FBQzFCRixnQkFBQUEsTUFEWSxHQUNGdEYscUJBQXFCLEtBQUssUUFBM0IsR0FBdUNBLHFCQUF2QyxHQUErRDJDLFNBRDVEOztBQUFBLG9CQUdYMkMsTUFIVztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBLHVCQUlDakYsZUFBZSxFQUpoQjs7QUFBQTtBQUlkaUYsZ0JBQUFBLE1BSmM7O0FBQUE7QUFBQTtBQUFBLHVCQU9WQyxVQUFVLENBQUNELE1BQUQsQ0FBVixDQUFtQkcsSUFBbkIsQ0FBd0IsVUFBQ0MsT0FBRCxFQUFhO0FBQUU7QUFDM0Msc0JBQUlBLE9BQUosRUFBYTtBQUNYcEcsb0JBQUFBLE9BQU8sQ0FBQ0MsR0FBUjtBQUNBckIsb0JBQUFBLFFBQVEsQ0FBQztBQUNQVixzQkFBQUEsU0FBUyxFQUFFO0FBREoscUJBQUQsQ0FBUjtBQUlBLHdCQUFNbUksa0JBQWtCLEdBQUcxQixNQUFNLENBQUNDLElBQVAsQ0FBWXZHLGtCQUFaLENBQTNCOztBQUVBLHdCQUFJZ0ksa0JBQUosYUFBSUEsa0JBQUosZUFBSUEsa0JBQWtCLENBQUU3RixNQUF4QixFQUFnQztBQUFBLGtFQUNONkYsa0JBRE07QUFBQTs7QUFBQTtBQUM5QiwrRUFBNEM7QUFBQSw4QkFBakNDLFNBQWlDO0FBQUEsOEJBQ2xDL0IsWUFEa0MsR0FDakJsRyxrQkFBa0IsQ0FBQ2lJLFNBQUQsQ0FERCxDQUNsQy9CLFlBRGtDO0FBRTFDQSwwQkFBQUEsWUFBWSxJQUFJQSxZQUFZLEVBQTVCO0FBQ0Q7QUFKNkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUsvQjs7QUFFRHZFLG9CQUFBQSxPQUFPLENBQUN1RyxJQUFSLENBQWEsMkNBQWI7QUFDQWxILG9CQUFBQSxlQUFlLFNBQWYsSUFBQUEsZUFBZSxXQUFmLFlBQUFBLGVBQWUsQ0FBRW1ILGNBQWpCO0FBQ0QsbUJBakJELE1BaUJPO0FBQ0x4RyxvQkFBQUEsT0FBTyxDQUFDZCxLQUFSLENBQWMsd0RBQWQ7QUFDQU4sb0JBQUFBLFFBQVEsQ0FBQztBQUFFVixzQkFBQUEsU0FBUyxFQUFFO0FBQWIscUJBQUQsQ0FBUjtBQUNEO0FBQ0YsaUJBdEJLLENBUFU7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsT0FBSDs7QUFBQSxzQkFBVGdJLFNBQVM7QUFBQTtBQUFBO0FBQUEsT0FBZjs7QUFnQ0EsUUFBSWhJLFNBQUosRUFBZTtBQUNiOEIsTUFBQUEsT0FBTyxDQUFDQyxHQUFSOztBQUNBaUcsTUFBQUEsU0FBUztBQUNWO0FBQ0YsR0FyQ0QsRUFxQ0csQ0FBQ2hJLFNBQUQsQ0FyQ0g7QUF1Q0E7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0UsV0FBU3VJLDhCQUFULENBQXdDQyxTQUF4QyxFQUFtRDVJLEdBQW5ELEVBQXdENkksbUJBQXhELEVBQTZFOUssT0FBN0UsRUFBOEY7QUFDNUYsUUFBSStLLE9BQUo7QUFDQSxRQUFNQyxhQUFhLEdBQUdILFNBQUgsYUFBR0EsU0FBSCx1QkFBR0EsU0FBUyxDQUFFSSxLQUFYLENBQWlCLE1BQWpCLENBQXRCO0FBQ0EsUUFBTUMsWUFBWSxHQUFHbEMsY0FBYyxDQUFDL0csR0FBRCxhQUFDQSxHQUFELHVCQUFDQSxHQUFHLENBQUV2QixPQUFOLEVBQWVzSyxhQUFmLENBQW5DOztBQUVBLFFBQUlFLFlBQVksSUFBSSxDQUFwQixFQUF1QjtBQUNyQixVQUFNQyxjQUFjLEdBQUdILGFBQWEsQ0FBQ0UsWUFBRCxDQUFwQztBQUNBLFVBQU1FLFdBQVcsR0FBR0QsY0FBYyxDQUFDRixLQUFmLENBQXFCLE1BQXJCLENBQXBCO0FBQ0EsVUFBTUksVUFBVSxHQUFHckMsY0FBYyxDQUFDL0csR0FBRCxhQUFDQSxHQUFELHVCQUFDQSxHQUFHLENBQUV4QixLQUFOLEVBQWEySyxXQUFiLENBQWpDOztBQUVBLFVBQUlDLFVBQVUsSUFBSSxDQUFsQixFQUFxQjtBQUNuQixZQUFNQyxZQUFZLEdBQUc5TSx5QkFBeUIsQ0FBQytNLHNCQUExQixDQUFpRFQsbUJBQWpELENBQXJCO0FBQ0EzRyxRQUFBQSxPQUFPLENBQUNDLEdBQVIsOEJBQWtDcEUsT0FBbEMsdUNBQXNFc0wsWUFBWSxDQUFDNUcsU0FBYixDQUF1QixDQUF2QixFQUEwQixHQUExQixDQUF0RTtBQUNBLFlBQU04RyxRQUFRLEdBQUdKLFdBQVcsQ0FBQ0MsVUFBRCxDQUE1QjtBQUNBLFlBQU1JLFdBQVcsR0FBRyxDQUFDLENBQUF4SixHQUFHLFNBQUgsSUFBQUEsR0FBRyxXQUFILFlBQUFBLEdBQUcsQ0FBRXhCLEtBQUwsSUFBYSxFQUFkLEVBQWtCa0UsTUFBdEM7QUFDQXlHLFFBQUFBLFdBQVcsQ0FBQ0MsVUFBRCxDQUFYLEdBQTBCRyxRQUFRLENBQUM5RyxTQUFULENBQW1CLENBQW5CLEVBQXNCK0csV0FBVyxHQUFHLENBQXBDLElBQXlDSCxZQUFuRTtBQUNBLFlBQU1JLFVBQVUsR0FBR04sV0FBVyxDQUFDTyxJQUFaLENBQWlCLE1BQWpCLENBQW5CO0FBQ0FYLFFBQUFBLGFBQWEsQ0FBQ0UsWUFBRCxDQUFiLEdBQThCUSxVQUE5QjtBQUNBWCxRQUFBQSxPQUFPLEdBQUdDLGFBQWEsQ0FBQ1csSUFBZCxDQUFtQixNQUFuQixDQUFWO0FBQ0Q7QUFDRjs7QUFDRCxXQUFPWixPQUFQO0FBQ0Q7O0FBRUR0TixFQUFBQSxLQUFLLENBQUN1RyxTQUFOLENBQWdCLFlBQU07QUFBRTtBQUN0QixRQUFJOUIsV0FBSixFQUFpQjtBQUNmLFVBQU1zSSxrQkFBa0IsR0FBRzFCLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZdkcsa0JBQVosQ0FBM0I7O0FBRUEsVUFBSWdJLGtCQUFKLGFBQUlBLGtCQUFKLGVBQUlBLGtCQUFrQixDQUFFN0YsTUFBeEIsRUFBZ0M7QUFDOUIsWUFBSWtHLFNBQVMsR0FBR2xOLElBQUksQ0FBQ2lPLGVBQUwsQ0FBcUJwSSxlQUFyQixhQUFxQkEsZUFBckIsdUJBQXFCQSxlQUFlLENBQUVLLGFBQXRDLENBQWhCO0FBQ0EsWUFBSWdJLFNBQVMsR0FBRyxLQUFoQjtBQUNBLFlBQUk3TCxRQUFPLEdBQUcsQ0FBZDs7QUFIOEIsb0RBS053SyxrQkFMTTtBQUFBOztBQUFBO0FBSzlCLGlFQUE0QztBQUFBLGdCQUFqQ0MsVUFBaUM7QUFDMUN6SyxZQUFBQSxRQUFPLEdBQUc4TCxRQUFRLENBQUNyQixVQUFELENBQWxCO0FBRDBDLHlDQUVaakksa0JBQWtCLENBQUN4QyxRQUFELENBRk47QUFBQSxnQkFFbEN5SSxZQUZrQywwQkFFbENBLFVBRmtDO0FBQUEsZ0JBRXRCL0YsT0FGc0IsMEJBRXRCQSxLQUZzQjs7QUFJMUMsZ0JBQUkrRixZQUFKLEVBQWdCO0FBQ2Qsa0JBQUlzQyxRQUFPLFNBQVg7O0FBRGMsaUNBS1Z0QyxZQUFVLENBQUMvRixPQUFELENBTEE7QUFBQSxrQkFHWlQsS0FIWSxnQkFHWkEsR0FIWTtBQUFBLGtCQUlaNkksb0JBSlksZ0JBSVpBLG1CQUpZOztBQU9kLGtCQUFJQSxvQkFBbUIsSUFBSUQsU0FBM0IsRUFBc0M7QUFBRTtBQUN0Q0UsZ0JBQUFBLFFBQU8sR0FBR0gsOEJBQThCLENBQUNDLFNBQUQsRUFBWTVJLEtBQVosRUFBaUI2SSxvQkFBakIsRUFBc0M5SyxRQUF0QyxDQUF4QztBQUNEOztBQUVELGtCQUFJK0ssUUFBSixFQUFhO0FBQ1hGLGdCQUFBQSxTQUFTLEdBQUdFLFFBQVo7QUFDRCxlQUZELE1BRU87QUFDTGMsZ0JBQUFBLFNBQVMsR0FBRyxJQUFaO0FBQ0E7QUFDRDtBQUNGO0FBQ0Y7QUEzQjZCO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBNkI5QixZQUFJQSxTQUFKLEVBQWU7QUFBRTtBQUNmMUgsVUFBQUEsT0FBTyxDQUFDQyxHQUFSLDhCQUFrQ3BFLFFBQWxDO0FBQ0EsY0FBSStMLFdBQUo7O0FBRmEsc0RBSVd2QixrQkFKWDtBQUFBOztBQUFBO0FBSWIsbUVBQTRDO0FBQUEsa0JBQWpDQyxTQUFpQzs7QUFDMUMsa0JBQU16SyxTQUFPLEdBQUc4TCxRQUFRLENBQUNyQixTQUFELENBQXhCOztBQUQwQywwQ0FFWmpJLGtCQUFrQixDQUFDeEMsU0FBRCxDQUZOO0FBQUEsa0JBRWxDeUksVUFGa0MseUJBRWxDQSxVQUZrQztBQUFBLGtCQUV0Qi9GLE1BRnNCLHlCQUV0QkEsS0FGc0I7O0FBSTFDLGtCQUFJK0YsVUFBSixFQUFnQjtBQUNkLG9CQUFJc0MsT0FBTyxTQUFYOztBQURjLGtDQU1WdEMsVUFBVSxDQUFDL0YsTUFBRCxDQU5BO0FBQUEsb0JBR1pzSixZQUhZLGVBR1pBLFlBSFk7QUFBQSxvQkFJWi9KLEtBSlksZUFJWkEsR0FKWTtBQUFBLG9CQUtaNkksbUJBTFksZUFLWkEsbUJBTFk7O0FBUWQsb0JBQUlBLG1CQUFtQixJQUFJLENBQUNDLE9BQTVCLEVBQXFDO0FBQ25DLHNCQUFJa0IsbUJBQW1CLEdBQUcsSUFBMUI7O0FBRUEsc0JBQUloSyxLQUFKLEVBQVM7QUFDUCx3QkFBSStKLFlBQUosRUFBa0I7QUFBQSxrREFDZXpOLGdCQUFnQixDQUFDMk4sNkJBQWpCLENBQStDcEIsbUJBQS9DLEVBQW9Fa0IsWUFBcEUsQ0FEZjtBQUFBLDBCQUNSRyxrQkFEUSx5QkFDUkEsa0JBRFE7O0FBRWhCRixzQkFBQUEsbUJBQW1CLEdBQUdFLGtCQUF0QjtBQUNELHFCQUhELE1BR087QUFDTEYsc0JBQUFBLG1CQUFtQixHQUFHbkIsbUJBQXRCO0FBQ0Q7O0FBQ0RpQixvQkFBQUEsV0FBVyxHQUFHRSxtQkFBbUIsS0FBSXpJLGVBQUosYUFBSUEsZUFBSix1QkFBSUEsZUFBZSxDQUFFNEksV0FBakIsQ0FBNkJuSyxLQUFHLENBQUN2QixPQUFqQyxFQUEwQ3VCLEtBQUcsQ0FBQ3hCLEtBQTlDLEVBQXFEO0FBQUVpSCxzQkFBQUEsWUFBWSxFQUFFdUU7QUFBaEIscUJBQXJELENBQUosQ0FBakM7QUFDRDtBQUNGO0FBQ0Y7QUFDRjtBQTlCWTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQWdDYnBCLFVBQUFBLFNBQVMsR0FBR2pOLE1BQU0sQ0FBQ3lPLE1BQVAsQ0FBY04sV0FBZCxFQUEyQjtBQUFFTyxZQUFBQSxjQUFjLEVBQUU7QUFBbEIsV0FBM0IsQ0FBWjtBQUNEOztBQUVEbkksUUFBQUEsT0FBTyxDQUFDQyxHQUFSLG1EQUF1RHlHLFNBQVMsQ0FBQ25HLFNBQVYsQ0FBb0IsQ0FBcEIsRUFBdUIsR0FBdkIsQ0FBdkQ7QUFDQTNCLFFBQUFBLFFBQVEsQ0FBQztBQUFFWixVQUFBQSxXQUFXLEVBQUUwSSxTQUFmO0FBQTBCeEksVUFBQUEsU0FBUyxFQUFFLElBQXJDO0FBQTJDSCxVQUFBQSxXQUFXLEVBQUU7QUFBeEQsU0FBRCxDQUFSO0FBQ0Q7QUFDRjtBQUNGLEdBeEVELEVBd0VHLENBQUNBLFdBQUQsQ0F4RUg7QUEwRUF6RSxFQUFBQSxLQUFLLENBQUN1RyxTQUFOLENBQWdCLFlBQU07QUFDcEIsUUFBSSxDQUFDdkYsT0FBTyxDQUFDZ0UsWUFBRCxFQUFlZSxlQUFmLGFBQWVBLGVBQWYsdUJBQWVBLGVBQWUsQ0FBRWYsWUFBaEMsQ0FBWixFQUEyRDtBQUN6RCxVQUFNQSxhQUFZLEdBQUdlLGVBQUgsYUFBR0EsZUFBSCx1QkFBR0EsZUFBZSxDQUFFZixZQUF0Qzs7QUFDQU0sTUFBQUEsUUFBUSxDQUFDO0FBQUVOLFFBQUFBLFlBQVksRUFBWkE7QUFBRixPQUFELENBQVI7O0FBRnlELGtEQUlsQ0EsYUFBWSxJQUFJLEVBSmtCO0FBQUE7O0FBQUE7QUFJekQsK0RBQTJDO0FBQUEsY0FBaENrRixRQUFnQztBQUN6QztBQUNBLGNBQU00RSxNQUFNLEdBQUc1RSxRQUFRLENBQUNsSCxLQUF4Qjs7QUFFQSxjQUFJbUIsYUFBYSxJQUFLLE9BQU8ySyxNQUFQLEtBQWtCLFFBQXhDLEVBQW1EO0FBQ2pEO0FBQ0EsZ0JBQUlBLE1BQU0sQ0FBQ0MsUUFBUCxDQUFnQixHQUFoQixDQUFKLEVBQTBCO0FBQUE7O0FBQ3hCNUssY0FBQUEsYUFBYSxXQUFJNEIsZUFBSixhQUFJQSxlQUFKLGlEQUFJQSxlQUFlLENBQUVoRCxTQUFyQiwyREFBSSx1QkFBNEJFLE9BQWhDLGNBQTJDNkwsTUFBM0MsRUFBYjtBQUNEO0FBQ0Y7QUFDRjtBQWR3RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZTFEO0FBQ0YsR0FqQkQsRUFpQkcsQ0FBQy9JLGVBQUQsYUFBQ0EsZUFBRCx1QkFBQ0EsZUFBZSxDQUFFZixZQUFsQixDQWpCSDtBQW1CQSxNQUFNZ0sscUJBQXFCLEdBQUcxSCxlQUFILGFBQUdBLGVBQUgsdUJBQUdBLGVBQWUsQ0FBRTJILFdBQS9DO0FBQ0EsTUFBTUMsMkJBQTJCLEdBQUc1SCxlQUFILGFBQUdBLGVBQUgsdUJBQUdBLGVBQWUsQ0FBRTZILFFBQXJEO0FBQ0EsTUFBTUMseUJBQXlCLEdBQUc3SCxhQUFILGFBQUdBLGFBQUgsdUJBQUdBLGFBQWEsQ0FBRTRILFFBQWpELENBNWZDLENBOGZEOztBQUNBLE1BQU1FLG9CQUFvQixHQUFHSCwyQkFBMkIsR0FBRyx3Q0FBSCxHQUErQ0YscUJBQXFCLEdBQUcsb0JBQUgsR0FBMEIsMkNBQXRKLENBL2ZDLENBZ2dCRDs7QUFDQSxNQUFNTSxvQkFBb0IsR0FBR0osMkJBQTJCLEdBQUcsT0FBSCxHQUFjRixxQkFBcUIsR0FBRyxPQUFILEdBQWEsV0FBeEc7QUFDQSxNQUFNTyxrQkFBa0IsR0FBR0gseUJBQXlCLEdBQUcsdUNBQUgsR0FBNkMsMENBQWpHO0FBQ0EsTUFBTUksa0JBQWtCLEdBQUdKLHlCQUF5QixHQUFHLE9BQUgsR0FBYSxPQUFqRTtBQUVBLE1BQU1LLHNCQUFzQixHQUFHekssWUFBSCxhQUFHQSxZQUFILHVCQUFHQSxZQUFZLENBQUUwSyxHQUFkLENBQWtCLFVBQUNDLGlCQUFELEVBQW9CaEUsS0FBcEIsRUFBOEI7QUFBQTs7QUFDN0UsUUFBTWlFLG1CQUFtQixHQUFHLENBQUFELGlCQUFpQixTQUFqQixJQUFBQSxpQkFBaUIsV0FBakIscUNBQUFBLGlCQUFpQixDQUFFdkYsU0FBbkIsZ0ZBQThCSCxZQUE5QixLQUE4QyxJQUExRSxDQUQ2RSxDQUU3RTs7QUFGNkUsZ0JBR2xEMEYsaUJBQWlCLElBQUksRUFINkI7QUFBQSxRQUdyRTFNLE9BSHFFLFNBR3JFQSxPQUhxRTtBQUFBLFFBRzVERCxLQUg0RCxTQUc1REEsS0FINEQ7O0FBSTdFLFFBQU02TSxVQUFVLG1DQUNYOU0sU0FEVztBQUVkRSxNQUFBQSxPQUFPLEVBQVBBLE9BRmM7QUFHZEQsTUFBQUEsS0FBSyxFQUFMQTtBQUhjLE1BQWhCOztBQUtBLFFBQU04TSw2QkFBNkIsbUNBQzlCckYsNEJBRDhCO0FBRWpDSyxNQUFBQSxZQUFZLEVBQUVhLEtBRm1CO0FBR2pDaUUsTUFBQUEsbUJBQW1CLEVBQW5CQSxtQkFIaUM7QUFJakM3TSxNQUFBQSxTQUFTLEVBQUU4TTtBQUpzQixNQUFuQzs7QUFPQSx3QkFDRSxvQkFBQyxhQUFELGVBQ005SixlQUROO0FBRUUsTUFBQSxZQUFZLEVBQUU0RCxZQUZoQjtBQUdFLE1BQUEsWUFBWSxFQUFFZ0MsS0FIaEI7QUFJRSxNQUFBLFNBQVMsRUFBRWpELFNBSmI7QUFLRSxNQUFBLGtCQUFrQixFQUFFbUIsbUJBTHRCO0FBTUUsTUFBQSxRQUFRLEVBQUUxRSxRQU5aO0FBT0UsTUFBQSxjQUFjLEVBQUV4QixjQVBsQjtBQVFFLE1BQUEsSUFBSSxFQUFFMEIsS0FSUjtBQVNFLE1BQUEsR0FBRyxFQUFFc0csS0FUUDtBQVVFLE1BQUEsUUFBUSxFQUFFckMsUUFWWjtBQVdFLE1BQUEsU0FBUyxFQUFFdUcsVUFYYjtBQVlFLE1BQUEsTUFBTSxFQUFFakwsU0FaVixDQWFFO0FBYkY7QUFjRSxNQUFBLDRCQUE0QixFQUFFa0wsNkJBZGhDO0FBZUUsTUFBQSxvQkFBb0IsRUFBRTFMLG9CQWZ4QjtBQWdCRSxNQUFBLE1BQU0sRUFBRS9CLE1BaEJWO0FBaUJFLE1BQUEsU0FBUyxFQUFFd0I7QUFqQmIsT0FERjtBQXFCRCxHQXJDOEIsQ0FBL0I7O0FBdUNBLE1BQU1rTSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLFFBQWU7QUFBQSxRQUFaakgsS0FBWSxTQUFaQSxLQUFZOztBQUNyQyxRQUFNa0gsUUFBUSxzQkFBT2xILEtBQVAsQ0FBZDs7QUFFQSxRQUFJeEIsZUFBSixFQUFxQjtBQUNuQjBJLE1BQUFBLFFBQVEsQ0FBQ0MsSUFBVCxlQUNFLG9CQUFDLFVBQUQ7QUFDRSxRQUFBLFNBQVMsRUFBRXpOLE9BQU8sQ0FBQzBOLE1BRHJCO0FBRUUsUUFBQSxHQUFHLEVBQUMsb0JBRk47QUFHRSxRQUFBLE9BQU8sRUFBRXZJLDZCQUhYO0FBSUUsUUFBQSxLQUFLLEVBQUUwSCxvQkFKVDtBQUtFLHNCQUFZQSxvQkFMZDtBQU1FLFFBQUEsS0FBSyxFQUFFO0FBQUVjLFVBQUFBLE1BQU0sRUFBRTtBQUFWO0FBTlQsU0FRR2pCLDJCQUEyQixnQkFDMUIsb0JBQUMsZ0JBQUQ7QUFBa0IsUUFBQSxFQUFFLEVBQUMseUJBQXJCO0FBQStDLFFBQUEsS0FBSyxFQUFFSTtBQUF0RCxRQUQwQixnQkFHMUIsb0JBQUMsUUFBRDtBQUFVLFFBQUEsRUFBRSxFQUFDLHlCQUFiO0FBQXVDLFFBQUEsS0FBSyxFQUFFQTtBQUE5QyxRQVhKLENBREY7QUFnQkQ7O0FBQ0QsUUFBSS9ILGFBQUosRUFBbUI7QUFDakJ5SSxNQUFBQSxRQUFRLENBQUNDLElBQVQsZUFDRSxvQkFBQyxVQUFEO0FBQ0UsUUFBQSxTQUFTLEVBQUV6TixPQUFPLENBQUMwTixNQURyQjtBQUVFLFFBQUEsR0FBRyxFQUFDLGlCQUZOO0FBR0UsUUFBQSxPQUFPLEVBQUV0SSwyQkFIWDtBQUlFLFFBQUEsS0FBSyxFQUFFMkgsa0JBSlQ7QUFLRSxzQkFBWUEsa0JBTGQ7QUFNRSxRQUFBLEtBQUssRUFBRTtBQUFFWSxVQUFBQSxNQUFNLEVBQUU7QUFBVjtBQU5ULFNBUUdmLHlCQUF5QixnQkFDeEIsb0JBQUMsZ0JBQUQ7QUFBa0IsUUFBQSxFQUFFLEVBQUMsc0JBQXJCO0FBQTRDLFFBQUEsS0FBSyxFQUFFSTtBQUFuRCxRQUR3QixnQkFHeEIsb0JBQUMsT0FBRDtBQUFTLFFBQUEsRUFBRSxFQUFDLHNCQUFaO0FBQW1DLFFBQUEsS0FBSyxFQUFFQTtBQUExQyxRQVhKLENBREY7QUFnQkQ7O0FBQ0QsV0FBT1EsUUFBUDtBQUNELEdBeENEOztBQTBDQSxzQkFDRSxvQkFBQyxJQUFEO0FBQ0UsSUFBQSxFQUFFLDJCQUFvQnpOLE9BQXBCLENBREo7QUFFRSxJQUFBLEtBQUssRUFBRXFILGNBRlQ7QUFHRSxJQUFBLGFBQWEsRUFBRTlCLGNBQWMsR0FBRyxXQUhsQztBQUlFLElBQUEsS0FBSyxFQUFFZ0IsS0FKVDtBQUtFLElBQUEsT0FBTyxFQUFFdEcsT0FMWDtBQU1FLElBQUEsT0FBTyxFQUFFdUcsT0FOWDtBQU9FLElBQUEsT0FBTyxFQUFFQyxPQVBYO0FBUUUsSUFBQSxRQUFRLEVBQUU3RCxRQVJaO0FBU0UsSUFBQSxTQUFTLEVBQUU4RCxTQVRiO0FBVUUsSUFBQSxVQUFVLEVBQUVFLFVBVmQ7QUFXRSxJQUFBLFdBQVcsRUFBRS9ELFdBWGY7QUFZRSxJQUFBLFlBQVksRUFBRWdFLFlBWmhCO0FBYUUsSUFBQSxZQUFZLEVBQUVGLFlBYmhCO0FBY0UsSUFBQSxlQUFlLEVBQUVHLGVBZG5CO0FBZUUsSUFBQSxrQkFBa0IsRUFBRWhCLG9CQWZ0QjtBQWdCRSxJQUFBLGtCQUFrQixNQWhCcEI7QUFpQkUsSUFBQSxXQUFXLEVBQUVFLFdBakJmO0FBa0JFLElBQUEsVUFBVSxFQUFFekUsVUFBVSxHQUFHO0FBQUEsYUFBTUEsVUFBVSxDQUFDNUIsRUFBRCxDQUFoQjtBQUFBLEtBQUgsR0FBMEIsSUFsQmxEO0FBbUJFLElBQUEsUUFBUSxFQUFFb0ksVUFBVSxJQUFJQyxlQW5CMUI7QUFvQkUsSUFBQSxLQUFLLEVBQUUzRixTQUFTLElBQUksQ0FBQ0wsa0JBcEJ2QjtBQXFCRSxJQUFBLFVBQVUsRUFBRTtBQUFBLGFBQU1lLFFBQVEsQ0FBQztBQUFFYixRQUFBQSxXQUFXLEVBQUU7QUFBZixPQUFELENBQWQ7QUFBQSxLQXJCZDtBQXNCRSxJQUFBLGVBQWUsRUFBRXNMO0FBdEJuQixrQkF3QkU7QUFBSyxJQUFBLEVBQUUsRUFBQztBQUFSLEtBQ0dOLHNCQURILENBeEJGLENBREY7QUE4QkQ7QUFFRHhOLGFBQWEsQ0FBQ21PLFNBQWQsR0FBMEI7QUFDeEI7QUFDQWxPLEVBQUFBLEVBQUUsRUFBRWpDLFNBQVMsQ0FBQ29RLE1BRlU7O0FBR3hCO0FBQ0FsTyxFQUFBQSxJQUFJLEVBQUVsQyxTQUFTLENBQUNxUSxJQUFWLENBQWVDLFVBSkc7O0FBS3hCO0FBQ0FuTyxFQUFBQSxLQUFLLEVBQUVuQyxTQUFTLENBQUNvUSxNQUFWLENBQWlCRSxVQU5BOztBQU94QjtBQUNBek4sRUFBQUEsV0FBVyxFQUFFN0MsU0FBUyxDQUFDcVEsSUFBVixDQUFlQyxVQVJKOztBQVN4QjtBQUNBaE8sRUFBQUEsT0FBTyxFQUFFdEMsU0FBUyxDQUFDdVEsTUFBVixDQUFpQkQsVUFWRjs7QUFXeEI7QUFDQTlOLEVBQUFBLFFBQVEsRUFBRXhDLFNBQVMsQ0FBQ3dRLEtBQVYsQ0FBZ0I7QUFDeEI7QUFDQTlOLElBQUFBLFVBQVUsRUFBRTFDLFNBQVMsQ0FBQ29RLE1BQVYsQ0FBaUJFLFVBRkw7O0FBR3hCO0FBQ0E3TixJQUFBQSxLQUFLLEVBQUV6QyxTQUFTLENBQUNvUSxNQUFWLENBQWlCRSxVQUpBOztBQUt4QjtBQUNBM04sSUFBQUEsVUFBVSxFQUFFM0MsU0FBUyxDQUFDb1EsTUFBVixDQUFpQkUsVUFOTDs7QUFPeEI7QUFDQTFOLElBQUFBLHFCQUFxQixFQUFFNUMsU0FBUyxDQUFDb1EsTUFBVixDQUFpQkU7QUFSaEIsR0FBaEIsQ0FaYztBQXNCeEJ4TixFQUFBQSxTQUFTLEVBQUU5QyxTQUFTLENBQUN3USxLQUFWLENBQWdCO0FBQ3pCO0FBQ0F0TixJQUFBQSxTQUFTLEVBQUVsRCxTQUFTLENBQUNvUSxNQUFWLENBQWlCRSxVQUZIOztBQUd6QjtBQUNBdE4sSUFBQUEsT0FBTyxFQUFFaEQsU0FBUyxDQUFDeVEsU0FBVixDQUFvQixDQUFDelEsU0FBUyxDQUFDdVEsTUFBWCxFQUFtQnZRLFNBQVMsQ0FBQ29RLE1BQTdCLENBQXBCLEVBQTBERSxVQUoxQzs7QUFLekI7QUFDQXZOLElBQUFBLEtBQUssRUFBRS9DLFNBQVMsQ0FBQ3lRLFNBQVYsQ0FBb0IsQ0FBQ3pRLFNBQVMsQ0FBQ3VRLE1BQVgsRUFBbUJ2USxTQUFTLENBQUNvUSxNQUE3QixDQUFwQixFQUEwREU7QUFOeEMsR0FBaEIsQ0F0QmE7O0FBOEJ4QjtBQUNBbE8sRUFBQUEsTUFBTSxFQUFFcEMsU0FBUyxDQUFDb1EsTUFBVixDQUFpQkUsVUEvQkQ7O0FBZ0N4QjtBQUNBak8sRUFBQUEsTUFBTSxFQUFFckMsU0FBUyxDQUFDb1EsTUFBVixDQUFpQkUsVUFqQ0Q7O0FBa0N4QjtBQUNBak4sRUFBQUEsa0JBQWtCLEVBQUVyRCxTQUFTLENBQUMwUSxJQW5DTjs7QUFvQ3hCO0FBQ0FuTyxFQUFBQSxPQUFPLEVBQUV2QyxTQUFTLENBQUMyUSxNQXJDSzs7QUFzQ3hCO0FBQ0F4TixFQUFBQSxZQUFZLEVBQUVuRCxTQUFTLENBQUM0USxHQXZDQTs7QUF3Q3hCO0FBQ0F4TixFQUFBQSxtQkFBbUIsRUFBRXBELFNBQVMsQ0FBQ3FRLElBQVYsQ0FBZUMsVUF6Q1o7O0FBMEN4QjtBQUNGO0FBQ0E7QUFDQTtBQUNFaE4sRUFBQUEsZUFBZSxFQUFFdEQsU0FBUyxDQUFDcVEsSUE5Q0g7O0FBK0N4QjtBQUNBOU0sRUFBQUEsVUFBVSxFQUFFdkQsU0FBUyxDQUFDMlEsTUFoREU7O0FBaUR4QjtBQUNBbk4sRUFBQUEsWUFBWSxFQUFFeEQsU0FBUyxDQUFDb1EsTUFsREE7O0FBbUR4QjtBQUNBM00sRUFBQUEsYUFBYSxFQUFFekQsU0FBUyxDQUFDb1EsTUFwREQ7O0FBcUR4QjtBQUNBMU0sRUFBQUEsY0FBYyxFQUFFMUQsU0FBUyxDQUFDcVEsSUF0REY7O0FBdUR4QjtBQUNBMU0sRUFBQUEsb0JBQW9CLEVBQUUzRCxTQUFTLENBQUNxUSxJQXhEUjs7QUF5RHhCO0FBQ0F6TSxFQUFBQSxTQUFTLEVBQUU1RCxTQUFTLENBQUNxUSxJQTFERzs7QUEyRHhCO0FBQ0F4TSxFQUFBQSxVQUFVLEVBQUU3RCxTQUFTLENBQUNxUSxJQTVERTs7QUE2RHhCO0FBQ0F2TSxFQUFBQSxZQUFZLEVBQUU5RCxTQUFTLENBQUNvUSxNQTlEQTs7QUErRHhCO0FBQ0FyTSxFQUFBQSxjQUFjLEVBQUUvRCxTQUFTLENBQUMyUSxNQWhFRjs7QUFpRXhCO0FBQ0EzTSxFQUFBQSxlQUFlLEVBQUVoRSxTQUFTLENBQUNxUSxJQWxFSDs7QUFtRXhCO0FBQ0FwTSxFQUFBQSxTQUFTLEVBQUVqRSxTQUFTLENBQUNvUSxNQXBFRzs7QUFxRXhCO0FBQ0FsTSxFQUFBQSxhQUFhLEVBQUVsRSxTQUFTLENBQUNxUSxJQXRFRDs7QUF1RXhCO0FBQ0FsTSxFQUFBQSxvQkFBb0IsRUFBRW5FLFNBQVMsQ0FBQ3FRLElBeEVSOztBQXlFeEI7QUFDQWpNLEVBQUFBLGdCQUFnQixFQUFFcEUsU0FBUyxDQUFDcVE7QUExRUosQ0FBMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCAqIGFzIFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHsgdXNlRWRpdCB9IGZyb20gJ2dpdGVhLXJlYWN0LXRvb2xraXQnXG5pbXBvcnQgeyBNZFVwZGF0ZSwgTWRVcGRhdGVEaXNhYmxlZCB9IGZyb20gJ3JlYWN0LWljb25zL21kJ1xuaW1wb3J0IHsgRmlTaGFyZSB9IGZyb20gJ3JlYWN0LWljb25zL2ZpJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnXG5pbXBvcnQge1xuICBDYXJkLFxuICB1c2VDYXJkU3RhdGUsXG4gIHVzZVVzZXJCcmFuY2gsXG4gIEVSUk9SX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxufSBmcm9tICd0cmFuc2xhdGlvbi1oZWxwcy1yY2wnXG5pbXBvcnQgeyBBbGlnbm1lbnRIZWxwZXJzLCBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIH0gZnJvbSAnd29yZC1hbGlnbmVyLXJjbCdcbmltcG9ydCAqIGFzIGlzRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IFNjcmlwdHVyZVBhbmUsIFNjcmlwdHVyZVNlbGVjdG9yIH0gZnJvbSAnLi4nXG5pbXBvcnQgeyB1c2VTY3JpcHR1cmVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRSZXNvdXJjZU1lc3NhZ2UsXG4gIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyxcbiAgaXNPcmlnaW5hbEJpYmxlLFxufSBmcm9tICcuLi8uLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnLi4vU2NyaXB0dXJlUGFuZS9zdHlsZWQnXG5pbXBvcnQge1xuICBOVF9PUklHX0xBTkcsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxufSBmcm9tICcuLi8uLi91dGlscydcblxuY29uc3QgS0VZX0ZPTlRfU0laRV9CQVNFID0gJ3NjcmlwdHVyZVBhbmVGb250U2l6ZV8nXG5jb25zdCBsYWJlbCA9ICdWZXJzaW9uJ1xuY29uc3Qgc3R5bGUgPSB7IG1hcmdpblRvcDogJzE2cHgnLCB3aWR0aDogJzUwMHB4JyB9XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNjcmlwdHVyZUNhcmQoe1xuICBpZCxcbiAgaXNOVCxcbiAgdGl0bGUsXG4gIHNlcnZlcixcbiAgYXBwUmVmLFxuICBjYXJkTnVtLFxuICBjbGFzc2VzLFxuICByZXNvdXJjZToge1xuICAgIG93bmVyLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIH0sXG4gIGdldExhbmd1YWdlLFxuICByZWZlcmVuY2U6IHtcbiAgICB2ZXJzZSxcbiAgICBjaGFwdGVyLFxuICAgIHByb2plY3RJZDogYm9va0lkLFxuICB9LFxuICByZXNvdXJjZUxpbmssXG4gIHVzZVVzZXJMb2NhbFN0b3JhZ2UsXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb25SZXNvdXJjZUVycm9yLFxuICBodHRwQ29uZmlnLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG4gIGdldExleGljb25EYXRhLFxuICBmZXRjaEdsb3NzZXNGb3JWZXJzZSxcbiAgdHJhbnNsYXRlLFxuICBvbk1pbmltaXplLFxuICBsb2dnZWRJblVzZXIsXG4gIGF1dGhlbnRpY2F0aW9uLFxuICBzZXRTYXZlZENoYW5nZXMsXG4gIGJvb2tJbmRleCxcbiAgYWRkVmVyc2VSYW5nZSxcbiAgc2V0V29yZEFsaWduZXJTdGF0dXMsXG4gIHVwZGF0ZU1lcmdlU3RhdGUsXG59KSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVfXSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICBoYXZlVW5zYXZlZENoYW5nZXM6IGZhbHNlLFxuICAgIHJlZjogYXBwUmVmLFxuICAgIHNhdmVDbGlja2VkOiBmYWxzZSxcbiAgICBzYXZlQ29udGVudDogbnVsbCxcbiAgICBzaGE6IG51bGwsXG4gICAgc3RhcnRTYXZlOiBmYWxzZSxcbiAgICB1cmxFcnJvcjogbnVsbCxcbiAgICB1c2luZ1VzZXJCcmFuY2g6IGZhbHNlLFxuICAgIHVuc2F2ZWRDaGFuZ2VzTGlzdDoge30sXG4gICAgdmVyc2VzRm9yUmVmOiBudWxsLFxuICB9KVxuICBjb25zdCB7XG4gICAgcmVmLFxuICAgIHNhdmVDbGlja2VkLFxuICAgIHNhdmVDb250ZW50LFxuICAgIHNoYSxcbiAgICBzdGFydFNhdmUsXG4gICAgdXJsRXJyb3IsXG4gICAgdXNpbmdVc2VyQnJhbmNoLFxuICAgIHVuc2F2ZWRDaGFuZ2VzTGlzdCxcbiAgICBoYXZlVW5zYXZlZENoYW5nZXMsXG4gICAgdmVyc2VzRm9yUmVmLFxuICB9ID0gc3RhdGVcblxuICBjb25zdCBbZm9udFNpemUsIHNldEZvbnRTaXplXSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX0ZPTlRfU0laRV9CQVNFICsgY2FyZE51bSwgMTAwKVxuICBjb25zdCBpc05UXyA9IGlzTlQoYm9va0lkKVxuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgc2V0U3RhdGVfKHByZXZTdGF0ZSA9PiAoeyAuLi5wcmV2U3RhdGUsIC4uLm5ld1N0YXRlIH0pKVxuICB9XG5cbiAgaWYgKHVzaW5nVXNlckJyYW5jaCkge1xuICAgIGh0dHBDb25maWcgPSB7IC4uLmh0dHBDb25maWcsIGNhY2hlOiB7IG1heEFnZTogMCB9IH0gLy8gZGlzYWJsZSBodHRwIGNhY2hpbmdcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2V0U2NyaXB0dXJlLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICB9ID0gdXNlU2NyaXB0dXJlU2V0dGluZ3Moe1xuICAgIGlzTlQsXG4gICAgdGl0bGUsXG4gICAgdmVyc2UsXG4gICAgb3duZXIsXG4gICAgYm9va0lkLFxuICAgIGFwcFJlZjogcmVmLFxuICAgIHNlcnZlcixcbiAgICBjYXJkTnVtLFxuICAgIGNoYXB0ZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIHJlc291cmNlTGluayxcbiAgICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgc2V0VXJsRXJyb3I6IChlcnJvcikgPT4gc2V0U3RhdGUoeyB1cmxFcnJvcjogZXJyb3IgfSksXG4gICAgaHR0cENvbmZpZyxcbiAgICBncmVla1JlcG9VcmwsXG4gICAgaGVicmV3UmVwb1VybCxcbiAgICB3aG9sZUJvb2s6IHRydWUsXG4gIH0pXG5cbiAgY29uc3QgZmV0Y2hSZXNwXyA9IHNjcmlwdHVyZUNvbmZpZz8uZmV0Y2hSZXNwb25zZVxuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IHJlcG8gPSBgJHtzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5sYW5ndWFnZUlkfV8ke3NjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/LnByb2plY3RJZH1gXG4gIGNvbnN0IHJlZmVyZW5jZV8gPSBzY3JpcHR1cmVDb25maWc/LnJlZmVyZW5jZSB8fCBudWxsXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gZ2V0IHRoZSBfc2hhIGZyb20gbGFzdCBzY3JpcHR1cmUgZG93bmxvYWRcbiAgICBjb25zdCBfc2hhID0gZmV0Y2hSZXNwXz8uZGF0YT8uc2hhIHx8IG51bGxcbiAgICBjb25zb2xlLmxvZyhgZm9yICR7SlNPTi5zdHJpbmdpZnkocmVmZXJlbmNlXyl9IG5ldyBzaGEgaXMgJHtfc2hhfWApXG5cbiAgICBpZiAoX3NoYSAhPT0gc2hhKSB7XG4gICAgICBzZXRTdGF0ZSh7IHNoYTogX3NoYSB9KVxuICAgIH1cbiAgfSwgW2ZldGNoUmVzcF9dKVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgY2FyZFJlc291cmNlSWQgPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5wcm9qZWN0SWQgfHwgcmVzb3VyY2VJZFxuICAvLyBAdHMtaWdub3JlXG4gIGxldCByZWZfID0gc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZT8ucmVmIHx8IGFwcFJlZlxuICBjb25zdCBjYW5Vc2VFZGl0QnJhbmNoID0gbG9nZ2VkSW5Vc2VyICYmIGF1dGhlbnRpY2F0aW9uICYmXG4gICAgKHJlc291cmNlSWQgIT09IE9SSUdJTkFMX1NPVVJDRSkgJiZcbiAgICAoKHJlZl8gPT09ICdtYXN0ZXInKSB8fCAocmVmXy5zdWJzdHJpbmcoMCwgbG9nZ2VkSW5Vc2VyLmxlbmd0aCkgPT09IGxvZ2dlZEluVXNlcikgKSAvLyBub3QgdGFnXG5cbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7XG4gICAgICB3b3JraW5nUmVzb3VyY2VCcmFuY2gsXG4gICAgICB1c2luZ1VzZXJCcmFuY2g6IHVzaW5nVXNlckJyYW5jaF8sXG4gICAgICBtZXJnZUZyb21NYXN0ZXIsXG4gICAgICBtZXJnZVRvTWFzdGVyLFxuICAgIH0sXG4gICAgYWN0aW9uczoge1xuICAgICAgc3RhcnRFZGl0OiBzdGFydEVkaXRCcmFuY2gsXG4gICAgICBtZXJnZUZyb21NYXN0ZXJJbnRvVXNlckJyYW5jaCxcbiAgICAgIG1lcmdlVG9NYXN0ZXJGcm9tVXNlckJyYW5jaCxcbiAgICB9LFxuICB9ID0gdXNlVXNlckJyYW5jaCh7XG4gICAgb3duZXIsXG4gICAgc2VydmVyLFxuICAgIGFwcFJlZixcbiAgICBsYW5ndWFnZUlkLFxuICAgIGNhcmRJZDogaWQsXG4gICAgbG9nZ2VkSW5Vc2VyOiBjYW5Vc2VFZGl0QnJhbmNoID8gbG9nZ2VkSW5Vc2VyIDogbnVsbCxcbiAgICBhdXRoZW50aWNhdGlvbjogY2FuVXNlRWRpdEJyYW5jaCA/IGF1dGhlbnRpY2F0aW9uIDogbnVsbCxcbiAgICBjYXJkUmVzb3VyY2VJZCxcbiAgICBvblJlc291cmNlRXJyb3IsXG4gICAgdXNlVXNlckxvY2FsU3RvcmFnZSxcbiAgfSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChjYXJkUmVzb3VyY2VJZCkge1xuICAgICAgdXBkYXRlTWVyZ2VTdGF0ZSAmJiB1cGRhdGVNZXJnZVN0YXRlKFxuICAgICAgICBjYXJkUmVzb3VyY2VJZCxcbiAgICAgICAgbWVyZ2VGcm9tTWFzdGVyLFxuICAgICAgICBtZXJnZVRvTWFzdGVyLFxuICAgICAgICBtZXJnZUZyb21NYXN0ZXJJbnRvVXNlckJyYW5jaCxcbiAgICAgICAgbWVyZ2VUb01hc3RlckZyb21Vc2VyQnJhbmNoLFxuICAgICAgKVxuICAgIH1cbiAgfSxbY2FyZFJlc291cmNlSWQsIG1lcmdlRnJvbU1hc3RlciwgbWVyZ2VUb01hc3Rlcl0pXG5cbiAgY29uc3Qgd29ya2luZ1JlZiA9IGNhblVzZUVkaXRCcmFuY2ggPyB3b3JraW5nUmVzb3VyY2VCcmFuY2ggOiBhcHBSZWZcbiAgbGV0IHNjcmlwdHVyZVRpdGxlXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gc2VsZWN0IGNvcnJlY3Qgd29ya2luZyByZWYgLSBjb3VsZCBiZSBtYXN0ZXIsIHVzZXIgYnJhbmNoLCBvciByZWxlYXNlXG4gICAgaWYgKHVzaW5nVXNlckJyYW5jaF8gIT09IHVzaW5nVXNlckJyYW5jaCkge1xuICAgICAgc2V0U3RhdGUoeyB1c2luZ1VzZXJCcmFuY2g6IHVzaW5nVXNlckJyYW5jaF8gfSlcbiAgICB9XG4gIH0sIFt1c2luZ1VzZXJCcmFuY2hfLCB1c2luZ1VzZXJCcmFuY2hdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHNlbGVjdCBjb3JyZWN0IHdvcmtpbmcgcmVmIC0gY291bGQgYmUgbWFzdGVyLCB1c2VyIGJyYW5jaCwgb3IgcmVsZWFzZVxuICAgIGxldCB3b3JraW5nUmVmXyA9IHdvcmtpbmdSZWYgfHwgYXBwUmVmXG5cbiAgICBpZiAocmVmICE9PSB3b3JraW5nUmVmXykge1xuICAgICAgc2V0U3RhdGUoeyByZWY6IHdvcmtpbmdSZWZfIH0pXG4gICAgfVxuICB9LCBbd29ya2luZ1JlZiwgcmVmLCBhcHBSZWZdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHVwZGF0ZSBkaXNwbGF5IHN0YXR1cyBpZiBlcnJvclxuICAgIGNvbnN0IGVycm9yID0gc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZVN0YXR1cz8uW0VSUk9SX1NUQVRFXVxuXG4gICAgaWYgKGVycm9yKSB7IC8vIGlmIGVycm9yIHdhcyBmb3VuZCBkbyBjYWxsYmFja1xuICAgICAgY29uc3QgcmVzb3VyY2VTdGF0dXMgPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlU3RhdHVzXG4gICAgICBjb25zdCByZXNvdXJjZUxpbmsgPSBnZXRSZXNvdXJjZUxpbmsoc2NyaXB0dXJlQ29uZmlnKVxuICAgICAgY29uc3QgbWVzc2FnZSA9IGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1cywgc2VydmVyLCByZXNvdXJjZUxpbmssIGlzTlRfKVxuICAgICAgY29uc3QgaXNBY2Nlc3NFcnJvciA9IHJlc291cmNlU3RhdHVzW01BTklGRVNUX05PVF9MT0FERURfRVJST1JdXG4gICAgICBvblJlc291cmNlRXJyb3IgJiYgb25SZXNvdXJjZUVycm9yKG1lc3NhZ2UsIGlzQWNjZXNzRXJyb3IsIHJlc291cmNlU3RhdHVzKVxuICAgIH1cbiAgfSwgW3NjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2VTdGF0dXM/LltFUlJPUl9TVEFURV1dKVxuXG4gIGlmIChzY3JpcHR1cmVDb25maWcudGl0bGUgJiYgc2NyaXB0dXJlQ29uZmlnLnZlcnNpb24pIHtcbiAgICBzY3JpcHR1cmVUaXRsZSA9IGAke3NjcmlwdHVyZUNvbmZpZy50aXRsZX0gdiR7c2NyaXB0dXJlQ29uZmlnLnZlcnNpb259YFxuICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LnVwZGF0ZVRpdGxlKHNjcmlwdHVyZUNvbmZpZy5yZXNvdXJjZUxpbmssIHNjcmlwdHVyZVRpdGxlKVxuICB9IGVsc2Uge1xuICAgIHNjcmlwdHVyZVRpdGxlID0gYFRpdGxlIG1pc3NpbmcgZnJvbSBwcm9qZWN0IG1hbmlmZXN0YFxuICB9XG5cbiAgLyoqIER5bmFtaWNhbGx5IGNyZWF0ZXMgdGhlIHNjcmlwdHVyZSBzZWxlY3Rpb24gZHJvcGRvd24gdG8gYmUgaW5zZXJ0ZWQgaW50byBjYXJkIHNldHRpbmdzICovXG4gIGZ1bmN0aW9uIGdldFNjcmlwdHVyZVNlbGVjdG9yKCkge1xuICAgIGNvbnN0IHNjcmlwdHVyZVNlbGVjdGlvbkNvbmZpZyA9IGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyh7XG4gICAgICBsYWJlbCxcbiAgICAgIHJlc291cmNlTGluazogc2NyaXB0dXJlQ29uZmlnLnJlc291cmNlTGluayxcbiAgICAgIHNldFNjcmlwdHVyZSxcbiAgICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICAgIH0pXG5cbiAgICByZXR1cm4gPFNjcmlwdHVyZVNlbGVjdG9yIHsuLi5zY3JpcHR1cmVTZWxlY3Rpb25Db25maWd9IHN0eWxlPXtzdHlsZX0gZXJyb3JNZXNzYWdlPXt1cmxFcnJvcn0gLz5cbiAgfVxuXG4gIGZ1bmN0aW9uIG9uTWVudUNsb3NlKCkge1xuICAgIC8vIGNvbnNvbGUubG9nKGBvbk1lbnVDbG9zZSgpYClcbiAgICBzZXRTdGF0ZSh7IHVybEVycm9yOiBudWxsIH0pXG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IGxhbmd1YWdlSWRfID0gc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZT8ubGFuZ3VhZ2VJZFxuICBjb25zdCBsYW5ndWFnZSA9IGdldExhbmd1YWdlKHsgbGFuZ3VhZ2VJZDogbGFuZ3VhZ2VJZF8gfSlcbiAgY29uc3QgZGlyZWN0aW9uID0gKGxhbmd1YWdlPy5kaXJlY3Rpb24pIHx8ICdsdHInXG4gIGNvbnN0IHJlZmVyZW5jZSA9IHsgLi4uc2NyaXB0dXJlQ29uZmlnLnJlZmVyZW5jZSB9XG5cbiAgY29uc3QgaXNIZWJyZXcgPSAobGFuZ3VhZ2VJZF8gPT09ICdoYm8nKVxuICBjb25zdCBmb250RmFjdG9yID0gaXNIZWJyZXcgPyAxLjQgOiAxIC8vIHdlIGF1dG9tYXRpY2FsbHkgc2NhbGUgdXAgZm9udCBzaXplIGZvciBIZWJyZXdcbiAgY29uc3Qgc2NhbGVkRm9udFNpemUgPSBmb250U2l6ZSAqIGZvbnRGYWN0b3JcblxuICBjb25zdCBpdGVtcyA9IG51bGxcbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7XG4gICAgICBoZWFkZXJzLCBmaWx0ZXJzLCBpdGVtSW5kZXgsIG1hcmtkb3duVmlldyxcbiAgICB9LFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIHNldEZpbHRlcnMsIHNldEl0ZW1JbmRleCwgc2V0TWFya2Rvd25WaWV3LFxuICAgIH0sXG4gIH0gPSB1c2VDYXJkU3RhdGUoeyBpdGVtcyB9KVxuXG4gIGNvbnN0IHJlZlN0eWxlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiBgJHtNYXRoLnJvdW5kKHNjYWxlZEZvbnRTaXplICogMC45KX0lYCxcbiAgfSksIFtzY2FsZWRGb250U2l6ZV0pXG5cbiAgY29uc3QgY29udGVudFN0eWxlID0gUmVhY3QudXNlTWVtbygoKSA9PiAoe1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiBgJHtzY2FsZWRGb250U2l6ZX0lYCxcbiAgfSksIFtzY2FsZWRGb250U2l6ZV0pXG5cbiAgY29uc3Qgc2NyaXB0dXJlTGFiZWwgPSA8VGl0bGU+e3NjcmlwdHVyZVRpdGxlfTwvVGl0bGU+XG4gIGxldCBkaXNhYmxlV29yZFBvcG92ZXJfID0gZGlzYWJsZVdvcmRQb3BvdmVyXG4gIGNvbnN0IHVzaW5nT3JpZ2luYWxCaWJsZSA9IGlzT3JpZ2luYWxCaWJsZShzY3JpcHR1cmVDb25maWdbJ3Jlc291cmNlJ10/LnByb2plY3RJZClcblxuICBpZiAoZGlzYWJsZVdvcmRQb3BvdmVyID09PSB1bmRlZmluZWQpIHsgLy8gaWYgbm90IHNwZWNpZmllZCwgdGhlbiBkZXRlcm1pbmUgaWYgb3JpZ2luYWwgbGFuZ3VhZ2UgcmVzb3VyY2VcbiAgICBkaXNhYmxlV29yZFBvcG92ZXJfID0gIXVzaW5nT3JpZ2luYWxCaWJsZVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gcHJlLWNhY2hlIGdsb3NzZXMgb24gdmVyc2UgY2hhbmdlXG4gICAgY29uc3QgZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSA9IGFzeW5jICgpID0+IHtcbiAgICAgIGxldCB2ZXJzZU9iamVjdHMgPSBbXVxuXG4gICAgICAvLyBnZXQgdmVyc2Ugb2JqZWN0cyBvZiBhbGwgdGhlIHZlcnNlc1xuICAgICAgZm9yIChjb25zdCB2ZXJzZVJlZiBvZiBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZiB8fCBbXSkge1xuICAgICAgICBjb25zdCBfdmVyc2VPYmplY3RzID0gdmVyc2VSZWY/LnZlcnNlRGF0YT8udmVyc2VPYmplY3RzXG4gICAgICAgIHZlcnNlT2JqZWN0cyA9IHZlcnNlT2JqZWN0cy5jb25jYXQoX3ZlcnNlT2JqZWN0cylcbiAgICAgIH1cblxuICAgICAgaWYgKCFkaXNhYmxlV29yZFBvcG92ZXIgJiYgdmVyc2VPYmplY3RzPy5sZW5ndGggJiYgZmV0Y2hHbG9zc2VzRm9yVmVyc2UpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWF3YWl0LWluLWxvb3BcbiAgICAgICAgYXdhaXQgZmV0Y2hHbG9zc2VzRm9yVmVyc2UodmVyc2VPYmplY3RzLCBsYW5ndWFnZUlkXylcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodXNpbmdPcmlnaW5hbEJpYmxlKSB7XG4gICAgICBmZXRjaEdsb3NzRGF0YUZvclZlcnNlKClcbiAgICB9XG4gIH0sIFsgdmVyc2VzRm9yUmVmLCBsYW5ndWFnZUlkXyBdKVxuXG4gIGNvbnN0IGVuYWJsZUVkaXQgPSAhdXNpbmdPcmlnaW5hbEJpYmxlXG4gIGNvbnN0IGVuYWJsZUFsaWdubWVudCA9ICF1c2luZ09yaWdpbmFsQmlibGVcbiAgY29uc3Qgb3JpZ2luYWxSZXBvVXJsID0gaXNOZXdUZXN0YW1lbnQgPyBncmVla1JlcG9VcmwgOiBoZWJyZXdSZXBvVXJsXG4gIGNvbnN0IHNjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcgPSB7XG4gICAgYXV0aGVudGljYXRpb246IGNhblVzZUVkaXRCcmFuY2ggPyBhdXRoZW50aWNhdGlvbiA6IG51bGwsXG4gICAgYm9va0luZGV4LFxuICAgIGN1cnJlbnRWZXJzZVJlZjogcmVmZXJlbmNlLFxuICAgIGVuYWJsZUVkaXQsXG4gICAgZW5hYmxlQWxpZ25tZW50LFxuICAgIGh0dHBDb25maWcsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGlzTmV3VGVzdGFtZW50LFxuICAgIGxvZ2dlZEluVXNlcjogY2FuVXNlRWRpdEJyYW5jaCA/IGxvZ2dlZEluVXNlciA6IG51bGwsXG4gICAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBvcmlnaW5hbFJlcG9VcmwsXG4gICAgc2NyaXB0dXJlQ29uZmlnLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHN0YXJ0RWRpdEJyYW5jaCxcbiAgICBzZXRTYXZlZENoYW5nZXM6IF9zZXRTYXZlZENoYW5nZXMsXG4gICAgc291cmNlTGFuZ3VhZ2U6IGlzTlRfID8gTlRfT1JJR19MQU5HIDogT1RfT1JJR19MQU5HLFxuICAgIHRhcmdldExhbmd1YWdlOiBsYW5ndWFnZSxcbiAgICB0aXRsZTogc2NyaXB0dXJlVGl0bGUsXG4gICAgd29ya2luZ1Jlc291cmNlQnJhbmNoOiByZWYsXG4gIH1cblxuICAvKipcbiAgICogdGhpcyBnZXRzIGNhbGxlZCB3aGVuZXZlciBhIHNjcmlwdHVyZSBwYW5lIGhhcyBhIGNoYW5nZSBpbiBzYXZlIHN0YXRlXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBjdXJyZW50SW5kZXhcbiAgICogQHBhcmFtIHtib29sZWFufSBzYXZlZFxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBnZXRDaGFuZ2VzIC0gd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgdXNlciBjbGlja3Mgc2F2ZSBidXR0b25cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2xlYXJDaGFuZ2VzIC0gd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgc2F2ZSBoYXMgY29tcGxldGVkXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBzdGF0ZSAtIGN1cnJlbnQgc3RhdGUgb2Ygd29yZCBhbGlnbm1lbnQvZWRpdFxuICAgKi9cbiAgZnVuY3Rpb24gX3NldFNhdmVkQ2hhbmdlcyhjdXJyZW50SW5kZXgsIHNhdmVkLCB7IGdldENoYW5nZXMgPSBudWxsLCBjbGVhckNoYW5nZXMgPSBudWxsLCBzdGF0ZSA9IG51bGwgfSkge1xuICAgIGNvbnN0IF91bnNhdmVkQ2hhbmdlc0xpc3QgPSB7IC4uLnVuc2F2ZWRDaGFuZ2VzTGlzdCB9XG5cbiAgICBpZiAoc2F2ZWQpIHtcbiAgICAgIGlmIChfdW5zYXZlZENoYW5nZXNMaXN0Lmhhc093blByb3BlcnR5KGN1cnJlbnRJbmRleCkpIHtcbiAgICAgICAgZGVsZXRlIF91bnNhdmVkQ2hhbmdlc0xpc3RbY3VycmVudEluZGV4XVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBfdW5zYXZlZENoYW5nZXNMaXN0W2N1cnJlbnRJbmRleF0gPSB7IGdldENoYW5nZXMsIGNsZWFyQ2hhbmdlcywgc3RhdGUgfSAvLyB1cGRhdGUgd2l0aCBsYXRlc3RcbiAgICB9XG5cbiAgICBjb25zdCBfaGF2ZVVuc2F2ZWRDaGFuZ2VzID0gISFPYmplY3Qua2V5cyhfdW5zYXZlZENoYW5nZXNMaXN0KS5sZW5ndGhcblxuICAgIGlmIChoYXZlVW5zYXZlZENoYW5nZXMgIT0gX2hhdmVVbnNhdmVkQ2hhbmdlcykge1xuICAgICAgc2V0U2F2ZWRDaGFuZ2VzICYmIHNldFNhdmVkQ2hhbmdlcyhyZXNvdXJjZUlkLCAhX2hhdmVVbnNhdmVkQ2hhbmdlcylcbiAgICAgIHNldFN0YXRlKHsgaGF2ZVVuc2F2ZWRDaGFuZ2VzOiBfaGF2ZVVuc2F2ZWRDaGFuZ2VzIH0pXG4gICAgfVxuXG4gICAgaWYgKCFpc0VxdWFsKF91bnNhdmVkQ2hhbmdlc0xpc3QsIHVuc2F2ZWRDaGFuZ2VzTGlzdCkpIHtcbiAgICAgIHNldFN0YXRlKHsgdW5zYXZlZENoYW5nZXNMaXN0OiBfdW5zYXZlZENoYW5nZXNMaXN0IH0pXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHNlYXJjaCBjaGFwdGVyIG9yIHZlcnNlIGNodW5rIHRvIGxpbmUgdGhhdCBzdGFydHMgd2l0aCBmaW5kSXRlbVxuICAgKiBAcGFyYW0ge251bWJlcnxzdHJpbmd9IGZpbmRJdGVtXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGNodW5rc1xuICAgKi9cbiAgZnVuY3Rpb24gZmluZFJlZkluQXJyYXkoZmluZEl0ZW0sIGNodW5rcykge1xuICAgIGNvbnN0IHJlZl8gPSBmaW5kSXRlbSArICcnXG4gICAgY29uc3QgcmVmTGVuID0gcmVmXy5sZW5ndGhcbiAgICBjb25zdCBpbmRleCA9IGNodW5rcy5maW5kSW5kZXgoKGNodW5rLCBpZHgpID0+IHtcbiAgICAgIGlmIChpZHggPiAwKSB7XG4gICAgICAgIGlmIChjaHVuay5zdWJzdHJpbmcoMCwgcmVmTGVuKSA9PT0gcmVmXykge1xuICAgICAgICAgIGNvbnN0IG5leHRDaGFyID0gY2h1bmtbcmVmTGVuXVxuXG4gICAgICAgICAgaWYgKChuZXh0Q2hhciA+ICc5JykgfHwgKG5leHRDaGFyIDwgJzAnKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gICAgcmV0dXJuIGluZGV4XG4gIH1cblxuICBmdW5jdGlvbiBnZXRCb29rTmFtZSgpIHtcbiAgICBjb25zdCBib29rQ2FwcyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVmZXJlbmNlPy5wcm9qZWN0SWQgPyBzY3JpcHR1cmVDb25maWcucmVmZXJlbmNlLnByb2plY3RJZC50b1VwcGVyQ2FzZSgpIDogJydcbiAgICByZXR1cm4gYCR7Ym9va0luZGV4fS0ke2Jvb2tDYXBzfS51c2ZtYFxuICB9XG5cbiAgY29uc3QgZmlsZXBhdGggPSBnZXRCb29rTmFtZSgpXG5cbiAgLy8ga2VlcCB0cmFjayBvZiB2ZXJzZSBlZGl0IHN0YXRlXG4gIGNvbnN0IHsgb25TYXZlRWRpdCB9ID0gdXNlRWRpdCh7XG4gICAgc2hhLFxuICAgIG93bmVyLFxuICAgIGNvbnRlbnQ6IHNhdmVDb250ZW50LFxuICAgIGNvbmZpZzoge1xuICAgICAgY2FjaGU6IHsgbWF4QWdlOiAwIH0sXG4gICAgICAuLi5hdXRoZW50aWNhdGlvbj8uY29uZmlnLFxuICAgICAgdG9rZW46IGF1dGhlbnRpY2F0aW9uPy50b2tlbixcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHRpbWVvdXQ6IGh0dHBDb25maWc/LnNlcnZlclRpbWVPdXQgfHwgaHR0cENvbmZpZz8udGltZW91dCB8fCA1MDAwLFxuICAgIH0sXG4gICAgYXV0aG9yOiBsb2dnZWRJblVzZXIsXG4gICAgdG9rZW46IGF1dGhlbnRpY2F0aW9uPy50b2tlbixcbiAgICBicmFuY2g6IHdvcmtpbmdSZXNvdXJjZUJyYW5jaCxcbiAgICBmaWxlcGF0aCxcbiAgICByZXBvLFxuICB9KVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHdoZW4gc3RhcnRTYXZlIGdvZXMgdHJ1ZSwgc2F2ZSBlZGl0cyB0byB1c2VyIGJyYW5jaCBhbmQgdGhlbiBjbGVhciBzdGFydFNhdmVcbiAgICBjb25zdCBfc2F2ZUVkaXQgPSBhc3luYyAoKSA9PiB7IC8vIGJlZ2luIHVwbG9hZGluZyBuZXcgVVNGTVxuICAgICAgbGV0IGJyYW5jaCA9ICh3b3JraW5nUmVzb3VyY2VCcmFuY2ggIT09ICdtYXN0ZXInKSA/IHdvcmtpbmdSZXNvdXJjZUJyYW5jaCA6IHVuZGVmaW5lZFxuXG4gICAgICBpZiAoIWJyYW5jaCkge1xuICAgICAgICBicmFuY2ggPSBhd2FpdCBzdGFydEVkaXRCcmFuY2goKSAvLyBtYWtlIHN1cmUgdXNlciBicmFuY2ggZXhpc3RzIGFuZCBnZXQgbmFtZVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBvblNhdmVFZGl0KGJyYW5jaCkudGhlbigoc3VjY2VzcykgPT4geyAvLyBwdXNoIGNoYW5nZWQgdG8gc2VydmVyXG4gICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgY29uc29sZS5sb2coYHNhdmVDaGFuZ2VzVG9DbG91ZCgpIC0gc2F2ZSBzY3JpcHR1cmUgZWRpdHMgc3VjY2Vzc2ApXG4gICAgICAgICAgc2V0U3RhdGUoe1xuICAgICAgICAgICAgc3RhcnRTYXZlOiBmYWxzZSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgY29uc3QgdW5zYXZlZENhcmRJbmRpY2VzID0gT2JqZWN0LmtleXModW5zYXZlZENoYW5nZXNMaXN0KVxuXG4gICAgICAgICAgaWYgKHVuc2F2ZWRDYXJkSW5kaWNlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNhcmRJbmRleCBvZiB1bnNhdmVkQ2FyZEluZGljZXMpIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBjbGVhckNoYW5nZXMgfSA9IHVuc2F2ZWRDaGFuZ2VzTGlzdFtjYXJkSW5kZXhdXG4gICAgICAgICAgICAgIGNsZWFyQ2hhbmdlcyAmJiBjbGVhckNoYW5nZXMoKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnNvbGUuaW5mbygnc2F2ZUNoYW5nZXNUb0Nsb3VkKCkgLSBSZWxvYWRpbmcgcmVzb3VyY2UnKVxuICAgICAgICAgIHNjcmlwdHVyZUNvbmZpZz8ucmVsb2FkUmVzb3VyY2UoKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ3NhdmVDaGFuZ2VzVG9DbG91ZCgpIC0gc2F2aW5nIGNoYW5nZWQgc2NyaXB0dXJlIGZhaWxlZCcpXG4gICAgICAgICAgc2V0U3RhdGUoeyBzdGFydFNhdmU6IGZhbHNlIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgaWYgKHN0YXJ0U2F2ZSkge1xuICAgICAgY29uc29sZS5sb2coYHNhdmVDaGFuZ2VzVG9DbG91ZCAtIGNhbGxpbmcgX3NhdmVFZGl0KClgKVxuICAgICAgX3NhdmVFZGl0KClcbiAgICB9XG4gIH0sIFtzdGFydFNhdmVdKVxuXG4gIC8qKlxuICAgKiBjb252ZXJ0IHVwZGF0ZWRWZXJzZU9iamVjdHMgdG8gVVNGTSBhbmQgbWVyZ2UgaW50byB0aGUgYmlibGVVc2ZtXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBiaWJsZVVzZm0gLSBVU0ZNIG9mIGJpYmxlXG4gICAqIEBwYXJhbSB7b2JqZWN0fSByZWYgLSByZWZlcmVuY2Ugb2YgdmVyc2UgdG8gbWVyZ2UgaW5cbiAgICogQHBhcmFtIHtvYmplY3RbXX0gdXBkYXRlZFZlcnNlT2JqZWN0cyAtIG5ldyB2ZXJzZSBpbiB2ZXJzZU9iamVjdCBmb3JtYXRcbiAgICogQHBhcmFtIHtudW1iZXJ9IGNhcmROdW1cbiAgICovXG4gIGZ1bmN0aW9uIG1lcmdlVmVyc2VPYmplY3RzSW50b0JpYmxlVXNmbShiaWJsZVVzZm0sIHJlZiwgdXBkYXRlZFZlcnNlT2JqZWN0cywgY2FyZE51bTogbnVtYmVyKSB7XG4gICAgbGV0IG5ld1VzZm1cbiAgICBjb25zdCBjaGFwdGVyQ2h1bmtzID0gYmlibGVVc2ZtPy5zcGxpdCgnXFxcXGMgJylcbiAgICBjb25zdCBjaGFwdGVySW5kZXggPSBmaW5kUmVmSW5BcnJheShyZWY/LmNoYXB0ZXIsIGNoYXB0ZXJDaHVua3MpXG5cbiAgICBpZiAoY2hhcHRlckluZGV4ID49IDApIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRDaGFwdGVyID0gY2hhcHRlckNodW5rc1tjaGFwdGVySW5kZXhdXG4gICAgICBjb25zdCB2ZXJzZUNodW5rcyA9IGN1cnJlbnRDaGFwdGVyLnNwbGl0KCdcXFxcdiAnKVxuICAgICAgY29uc3QgdmVyc2VJbmRleCA9IGZpbmRSZWZJbkFycmF5KHJlZj8udmVyc2UsIHZlcnNlQ2h1bmtzKVxuXG4gICAgICBpZiAodmVyc2VJbmRleCA+PSAwKSB7XG4gICAgICAgIGNvbnN0IG5ld1ZlcnNlVXNmbSA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTSh1cGRhdGVkVmVyc2VPYmplY3RzKVxuICAgICAgICBjb25zb2xlLmxvZyhgc2F2ZUNoYW5nZXNUb0Nsb3VkKCR7Y2FyZE51bX0pIC0gbmV3IFVTRk0gZm9yIGNhcmQ6fSAtICR7bmV3VmVyc2VVc2ZtLnN1YnN0cmluZygwLCAxMDApfWApXG4gICAgICAgIGNvbnN0IG9sZFZlcnNlID0gdmVyc2VDaHVua3NbdmVyc2VJbmRleF1cbiAgICAgICAgY29uc3QgdmVyc2VOdW1MZW4gPSAocmVmPy52ZXJzZSArICcnKS5sZW5ndGhcbiAgICAgICAgdmVyc2VDaHVua3NbdmVyc2VJbmRleF0gPSBvbGRWZXJzZS5zdWJzdHJpbmcoMCwgdmVyc2VOdW1MZW4gKyAxKSArIG5ld1ZlcnNlVXNmbVxuICAgICAgICBjb25zdCBuZXdDaGFwdGVyID0gdmVyc2VDaHVua3Muam9pbignXFxcXHYgJylcbiAgICAgICAgY2hhcHRlckNodW5rc1tjaGFwdGVySW5kZXhdID0gbmV3Q2hhcHRlclxuICAgICAgICBuZXdVc2ZtID0gY2hhcHRlckNodW5rcy5qb2luKCdcXFxcYyAnKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3VXNmbVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gZm9yIGVhY2ggdW5zYXZlZCBjaGFuZ2UsIGNhbGwgaW50byB2ZXJzZVBhbmUgdG8gZ2V0IGxhdGVzdCBjaGFuZ2VzIGZvciB2ZXJzZSB0byBzYXZlXG4gICAgaWYgKHNhdmVDbGlja2VkKSB7XG4gICAgICBjb25zdCB1bnNhdmVkQ2FyZEluZGljZXMgPSBPYmplY3Qua2V5cyh1bnNhdmVkQ2hhbmdlc0xpc3QpXG5cbiAgICAgIGlmICh1bnNhdmVkQ2FyZEluZGljZXM/Lmxlbmd0aCkge1xuICAgICAgICBsZXQgYmlibGVVc2ZtID0gY29yZS5nZXRSZXNwb25zZURhdGEoc2NyaXB0dXJlQ29uZmlnPy5mZXRjaFJlc3BvbnNlKVxuICAgICAgICBsZXQgbWVyZ2VGYWlsID0gZmFsc2VcbiAgICAgICAgbGV0IGNhcmROdW0gPSAwXG5cbiAgICAgICAgZm9yIChjb25zdCBjYXJkSW5kZXggb2YgdW5zYXZlZENhcmRJbmRpY2VzKSB7XG4gICAgICAgICAgY2FyZE51bSA9IHBhcnNlSW50KGNhcmRJbmRleClcbiAgICAgICAgICBjb25zdCB7IGdldENoYW5nZXMsIHN0YXRlIH0gPSB1bnNhdmVkQ2hhbmdlc0xpc3RbY2FyZE51bV1cblxuICAgICAgICAgIGlmIChnZXRDaGFuZ2VzKSB7XG4gICAgICAgICAgICBsZXQgbmV3VXNmbVxuICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICByZWYsXG4gICAgICAgICAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHMsXG4gICAgICAgICAgICB9ID0gZ2V0Q2hhbmdlcyhzdGF0ZSlcblxuICAgICAgICAgICAgaWYgKHVwZGF0ZWRWZXJzZU9iamVjdHMgJiYgYmlibGVVc2ZtKSB7IC8vIGp1c3QgcmVwbGFjZSB2ZXJzZVxuICAgICAgICAgICAgICBuZXdVc2ZtID0gbWVyZ2VWZXJzZU9iamVjdHNJbnRvQmlibGVVc2ZtKGJpYmxlVXNmbSwgcmVmLCB1cGRhdGVkVmVyc2VPYmplY3RzLCBjYXJkTnVtKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobmV3VXNmbSkge1xuICAgICAgICAgICAgICBiaWJsZVVzZm0gPSBuZXdVc2ZtXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtZXJnZUZhaWwgPSB0cnVlXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1lcmdlRmFpbCkgeyAvLyBpZiB3ZSBmYWlsZWQgdG8gbWVyZ2UsIGZhbGxiYWNrIHRvIGJydXRlIGZvcmNlIHZlcnNlIG9iamVjdHMgdG8gVVNGTVxuICAgICAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQoJHtjYXJkTnVtfSkgLSB2ZXJzZSBub3QgZm91bmQsIGZhbGxpbmcgYmFjayB0byBpbnNlcnRpbmcgdmVyc2Ugb2JqZWN0YClcbiAgICAgICAgICBsZXQgbmV3Qm9va0pzb25cblxuICAgICAgICAgIGZvciAoY29uc3QgY2FyZEluZGV4IG9mIHVuc2F2ZWRDYXJkSW5kaWNlcykge1xuICAgICAgICAgICAgY29uc3QgY2FyZE51bSA9IHBhcnNlSW50KGNhcmRJbmRleClcbiAgICAgICAgICAgIGNvbnN0IHsgZ2V0Q2hhbmdlcywgc3RhdGUgfSA9IHVuc2F2ZWRDaGFuZ2VzTGlzdFtjYXJkTnVtXVxuXG4gICAgICAgICAgICBpZiAoZ2V0Q2hhbmdlcykge1xuICAgICAgICAgICAgICBsZXQgbmV3VXNmbVxuICAgICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgICAgbmV3VmVyc2VUZXh0LFxuICAgICAgICAgICAgICAgIHJlZixcbiAgICAgICAgICAgICAgICB1cGRhdGVkVmVyc2VPYmplY3RzLFxuICAgICAgICAgICAgICB9ID0gZ2V0Q2hhbmdlcyhzdGF0ZSlcblxuICAgICAgICAgICAgICBpZiAodXBkYXRlZFZlcnNlT2JqZWN0cyAmJiAhbmV3VXNmbSkge1xuICAgICAgICAgICAgICAgIGxldCB0YXJnZXRWZXJzZU9iamVjdHNfID0gbnVsbFxuXG4gICAgICAgICAgICAgICAgaWYgKHJlZikge1xuICAgICAgICAgICAgICAgICAgaWYgKG5ld1ZlcnNlVGV4dCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHRhcmdldFZlcnNlT2JqZWN0cyB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZSh1cGRhdGVkVmVyc2VPYmplY3RzLCBuZXdWZXJzZVRleHQpXG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFZlcnNlT2JqZWN0c18gPSB0YXJnZXRWZXJzZU9iamVjdHNcbiAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBuZXdCb29rSnNvbiA9IHRhcmdldFZlcnNlT2JqZWN0c18gJiYgc2NyaXB0dXJlQ29uZmlnPy51cGRhdGVWZXJzZShyZWYuY2hhcHRlciwgcmVmLnZlcnNlLCB7IHZlcnNlT2JqZWN0czogdGFyZ2V0VmVyc2VPYmplY3RzXyB9KVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGJpYmxlVXNmbSA9IHVzZm1qcy50b1VTRk0obmV3Qm9va0pzb24sIHsgZm9yY2VkTmV3TGluZXM6IHRydWUgfSlcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIHNhdmluZyBuZXcgVVNGTTogJHtiaWJsZVVzZm0uc3Vic3RyaW5nKDAsIDEwMCl9Li4uYClcbiAgICAgICAgc2V0U3RhdGUoeyBzYXZlQ29udGVudDogYmlibGVVc2ZtLCBzdGFydFNhdmU6IHRydWUsIHNhdmVDbGlja2VkOiBmYWxzZSB9KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW3NhdmVDbGlja2VkXSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFcXVhbCh2ZXJzZXNGb3JSZWYsIHNjcmlwdHVyZUNvbmZpZz8udmVyc2VzRm9yUmVmKSkge1xuICAgICAgY29uc3QgdmVyc2VzRm9yUmVmID0gc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWZcbiAgICAgIHNldFN0YXRlKHsgdmVyc2VzRm9yUmVmIH0pXG5cbiAgICAgIGZvciAoY29uc3QgdmVyc2VSZWYgb2YgdmVyc2VzRm9yUmVmIHx8IFtdKSB7XG4gICAgICAgIC8vIGNoZWNrIGZvciB2ZXJzZSByYW5nZVxuICAgICAgICBjb25zdCBfdmVyc2UgPSB2ZXJzZVJlZi52ZXJzZVxuXG4gICAgICAgIGlmIChhZGRWZXJzZVJhbmdlICYmICh0eXBlb2YgX3ZlcnNlID09PSAnc3RyaW5nJykpIHtcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgaWYgKF92ZXJzZS5pbmNsdWRlcygnLScpKSB7XG4gICAgICAgICAgICBhZGRWZXJzZVJhbmdlKGAke3NjcmlwdHVyZUNvbmZpZz8ucmVmZXJlbmNlPy5jaGFwdGVyfToke192ZXJzZX1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSwgW3NjcmlwdHVyZUNvbmZpZz8udmVyc2VzRm9yUmVmXSlcblxuICBjb25zdCBuZWVkVG9NZXJnZUZyb21NYXN0ZXIgPSBtZXJnZUZyb21NYXN0ZXI/Lm1lcmdlTmVlZGVkXG4gIGNvbnN0IG1lcmdlRnJvbU1hc3Rlckhhc0NvbmZsaWN0cyA9IG1lcmdlRnJvbU1hc3Rlcj8uY29uZmxpY3RcbiAgY29uc3QgbWVyZ2VUb01hc3Rlckhhc0NvbmZsaWN0cyA9IG1lcmdlVG9NYXN0ZXI/LmNvbmZsaWN0XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5lc3RlZC10ZXJuYXJ5XG4gIGNvbnN0IG1lcmdlRnJvbU1hc3RlclRpdGxlID0gbWVyZ2VGcm9tTWFzdGVySGFzQ29uZmxpY3RzID8gJ01lcmdlIENvbmZsaWN0cyBmb3IgdXBkYXRlIGZyb20gbWFzdGVyJyA6IChuZWVkVG9NZXJnZUZyb21NYXN0ZXIgPyAnVXBkYXRlIGZyb20gbWFzdGVyJyA6ICdObyBtZXJnZSBjb25mbGljdHMgZm9yIHVwZGF0ZSB3aXRoIG1hc3RlcicpXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXN0ZWQtdGVybmFyeVxuICBjb25zdCBtZXJnZUZyb21NYXN0ZXJDb2xvciA9IG1lcmdlRnJvbU1hc3Rlckhhc0NvbmZsaWN0cyA/ICdibGFjaycgOiAobmVlZFRvTWVyZ2VGcm9tTWFzdGVyID8gJ2JsYWNrJyA6ICdsaWdodGdyYXknKVxuICBjb25zdCBtZXJnZVRvTWFzdGVyVGl0bGUgPSBtZXJnZVRvTWFzdGVySGFzQ29uZmxpY3RzID8gJ01lcmdlIENvbmZsaWN0cyBmb3Igc2hhcmUgd2l0aCBtYXN0ZXInIDogJ05vIG1lcmdlIGNvbmZsaWN0cyBmb3Igc2hhcmUgd2l0aCBtYXN0ZXInXG4gIGNvbnN0IG1lcmdlVG9NYXN0ZXJDb2xvciA9IG1lcmdlVG9NYXN0ZXJIYXNDb25mbGljdHMgPyAnYmxhY2snIDogJ2JsYWNrJ1xuXG4gIGNvbnN0IHJlbmRlcmVkU2NyaXB0dXJlUGFuZXMgPSB2ZXJzZXNGb3JSZWY/Lm1hcCgoX2N1cnJlbnRWZXJzZURhdGEsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFZlcnNlT2JqZWN0cyA9IF9jdXJyZW50VmVyc2VEYXRhPy52ZXJzZURhdGE/LnZlcnNlT2JqZWN0cyB8fCBudWxsXG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHsgY2hhcHRlciwgdmVyc2UgfSA9IF9jdXJyZW50VmVyc2VEYXRhIHx8IHt9XG4gICAgY29uc3QgX3JlZmVyZW5jZSA9IHtcbiAgICAgIC4uLnJlZmVyZW5jZSxcbiAgICAgIGNoYXB0ZXIsXG4gICAgICB2ZXJzZSxcbiAgICB9XG4gICAgY29uc3QgX3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcgPSB7XG4gICAgICAuLi5zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnLFxuICAgICAgY3VycmVudEluZGV4OiBpbmRleCxcbiAgICAgIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gICAgICByZWZlcmVuY2U6IF9yZWZlcmVuY2UsXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTY3JpcHR1cmVQYW5lXG4gICAgICAgIHsuLi5zY3JpcHR1cmVDb25maWd9XG4gICAgICAgIGNvbnRlbnRTdHlsZT17Y29udGVudFN0eWxlfVxuICAgICAgICBjdXJyZW50SW5kZXg9e2luZGV4fVxuICAgICAgICBkaXJlY3Rpb249e2RpcmVjdGlvbn1cbiAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyPXtkaXNhYmxlV29yZFBvcG92ZXJffVxuICAgICAgICBmb250U2l6ZT17Zm9udFNpemV9XG4gICAgICAgIGdldExleGljb25EYXRhPXtnZXRMZXhpY29uRGF0YX1cbiAgICAgICAgaXNOVD17aXNOVF99XG4gICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgIHJlZlN0eWxlPXtyZWZTdHlsZX1cbiAgICAgICAgcmVmZXJlbmNlPXtfcmVmZXJlbmNlfVxuICAgICAgICBzYXZpbmc9e3N0YXJ0U2F2ZX1cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICBzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnPXtfc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZ31cbiAgICAgICAgc2V0V29yZEFsaWduZXJTdGF0dXM9e3NldFdvcmRBbGlnbmVyU3RhdHVzfVxuICAgICAgICBzZXJ2ZXI9e3NlcnZlcn1cbiAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAvPlxuICAgIClcbiAgfSlcblxuICBjb25zdCBvblJlbmRlclRvb2xiYXIgPSAoeyBpdGVtcyB9KSA9PiB7XG4gICAgY29uc3QgbmV3SXRlbXMgPSBbLi4uaXRlbXNdXG5cbiAgICBpZiAobWVyZ2VGcm9tTWFzdGVyKSB7XG4gICAgICBuZXdJdGVtcy5wdXNoKFxuICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlcy5tYXJnaW59XG4gICAgICAgICAga2V5PSd1cGRhdGUtZnJvbS1tYXN0ZXInXG4gICAgICAgICAgb25DbGljaz17bWVyZ2VGcm9tTWFzdGVySW50b1VzZXJCcmFuY2h9XG4gICAgICAgICAgdGl0bGU9e21lcmdlRnJvbU1hc3RlclRpdGxlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e21lcmdlRnJvbU1hc3RlclRpdGxlfVxuICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogJ3BvaW50ZXInIH19XG4gICAgICAgID5cbiAgICAgICAgICB7bWVyZ2VGcm9tTWFzdGVySGFzQ29uZmxpY3RzID9cbiAgICAgICAgICAgIDxNZFVwZGF0ZURpc2FibGVkIGlkPSd1cGRhdGUtZnJvbS1tYXN0ZXItaWNvbicgY29sb3I9e21lcmdlRnJvbU1hc3RlckNvbG9yfSAvPlxuICAgICAgICAgICAgOlxuICAgICAgICAgICAgPE1kVXBkYXRlIGlkPSd1cGRhdGUtZnJvbS1tYXN0ZXItaWNvbicgY29sb3I9e21lcmdlRnJvbU1hc3RlckNvbG9yfSAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgKVxuICAgIH1cbiAgICBpZiAobWVyZ2VUb01hc3Rlcikge1xuICAgICAgbmV3SXRlbXMucHVzaChcbiAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubWFyZ2lufVxuICAgICAgICAgIGtleT0nc2hhcmUtdG8tbWFzdGVyJ1xuICAgICAgICAgIG9uQ2xpY2s9e21lcmdlVG9NYXN0ZXJGcm9tVXNlckJyYW5jaH1cbiAgICAgICAgICB0aXRsZT17bWVyZ2VUb01hc3RlclRpdGxlfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e21lcmdlVG9NYXN0ZXJUaXRsZX1cbiAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6ICdwb2ludGVyJyB9fVxuICAgICAgICA+XG4gICAgICAgICAge21lcmdlVG9NYXN0ZXJIYXNDb25mbGljdHMgP1xuICAgICAgICAgICAgPE1kVXBkYXRlRGlzYWJsZWQgaWQ9J3NoYXJlLXRvLW1hc3Rlci1pY29uJyBjb2xvcj17bWVyZ2VUb01hc3RlckNvbG9yfSAvPlxuICAgICAgICAgICAgOlxuICAgICAgICAgICAgPEZpU2hhcmUgaWQ9J3NoYXJlLXRvLW1hc3Rlci1pY29uJyBjb2xvcj17bWVyZ2VUb01hc3RlckNvbG9yfSAvPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gbmV3SXRlbXM7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDYXJkXG4gICAgICBpZD17YHNjcmlwdHVyZV9jYXJkXyR7Y2FyZE51bX1gfVxuICAgICAgdGl0bGU9e3NjcmlwdHVyZUxhYmVsfVxuICAgICAgc2V0dGluZ3NUaXRsZT17c2NyaXB0dXJlVGl0bGUgKyAnIFNldHRpbmdzJ31cbiAgICAgIGl0ZW1zPXtpdGVtc31cbiAgICAgIGNsYXNzZXM9e2NsYXNzZXN9XG4gICAgICBoZWFkZXJzPXtoZWFkZXJzfVxuICAgICAgZmlsdGVycz17ZmlsdGVyc31cbiAgICAgIGZvbnRTaXplPXtmb250U2l6ZX1cbiAgICAgIGl0ZW1JbmRleD17aXRlbUluZGV4fVxuICAgICAgc2V0RmlsdGVycz17c2V0RmlsdGVyc31cbiAgICAgIHNldEZvbnRTaXplPXtzZXRGb250U2l6ZX1cbiAgICAgIHNldEl0ZW1JbmRleD17c2V0SXRlbUluZGV4fVxuICAgICAgbWFya2Rvd25WaWV3PXttYXJrZG93blZpZXd9XG4gICAgICBzZXRNYXJrZG93blZpZXc9e3NldE1hcmtkb3duVmlld31cbiAgICAgIGdldEN1c3RvbUNvbXBvbmVudD17Z2V0U2NyaXB0dXJlU2VsZWN0b3J9XG4gICAgICBoaWRlTWFya2Rvd25Ub2dnbGVcbiAgICAgIG9uTWVudUNsb3NlPXtvbk1lbnVDbG9zZX1cbiAgICAgIG9uTWluaW1pemU9e29uTWluaW1pemUgPyAoKSA9PiBvbk1pbmltaXplKGlkKSA6IG51bGx9XG4gICAgICBlZGl0YWJsZT17ZW5hYmxlRWRpdCB8fCBlbmFibGVBbGlnbm1lbnR9XG4gICAgICBzYXZlZD17c3RhcnRTYXZlIHx8ICFoYXZlVW5zYXZlZENoYW5nZXN9XG4gICAgICBvblNhdmVFZGl0PXsoKSA9PiBzZXRTdGF0ZSh7IHNhdmVDbGlja2VkOiB0cnVlIH0pfVxuICAgICAgb25SZW5kZXJUb29sYmFyPXtvblJlbmRlclRvb2xiYXJ9XG4gICAgPlxuICAgICAgPGRpdiBpZD1cInNjcmlwdHVyZS1wYW5lLWxpc3RcIj5cbiAgICAgICAge3JlbmRlcmVkU2NyaXB0dXJlUGFuZXN9XG4gICAgICA8L2Rpdj5cbiAgICA8L0NhcmQ+XG4gIClcbn1cblxuU2NyaXB0dXJlQ2FyZC5wcm9wVHlwZXMgPSB7XG4gIC8qKiBodG1sIGlkZW50aWZpZXIgdG8gdXNlIGZvciBjYXJkICovXG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogbWV0aG9kIHRvIGRldGVybWluZSBpZiBOVCBvciBPVCAqL1xuICBpc05UOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAvKiogdGl0bGUgZm9yIHNjcmlwdHVyZSBjYXJkICovXG4gIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKiBnZXQgbGFuZ3VhZ2UgZGV0YWlscyAqL1xuICBnZXRMYW5ndWFnZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIHNjcmlwdHVyZSBjYXJkIG51bWJlciAoMCB0byAyIGZvciBleGFtcGxlKSAqL1xuICBjYXJkTnVtOiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIC8qKiByZXNvdXJjZSBvYmplY3QgKi9cbiAgcmVzb3VyY2U6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgLyoqIHJlc291cmNlIGxhbmd1YWdlIHRvIHVzZSAqL1xuICAgIGxhbmd1YWdlSWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAvKiogcmVwbyBvd25lciBzdWNoIGFzIHVuZm9sZGluZ1dvcmQgKi9cbiAgICBvd25lcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIC8qKiByZXNvdXJjZUlkIHRvIHVzZSAoZS5nLiB1Z250KSAqL1xuICAgIHJlc291cmNlSWQ6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAvKiogcmVwbyBvd25lciBmb3Igb3JpZ2luYWwgbGFuZ3VhZ2VzIHN1Y2ggYXMgdW5mb2xkaW5nV29yZCAqL1xuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICB9KSxcbiAgcmVmZXJlbmNlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIC8qKiBwcm9qZWN0SWQgKGJvb2tJRCkgdG8gdXNlICovXG4gICAgcHJvamVjdElkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgLyoqIGN1cnJlbnQgY2hhcHRlciBudW1iZXIgKi9cbiAgICBjaGFwdGVyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMubnVtYmVyLCBQcm9wVHlwZXMuc3RyaW5nXSkuaXNSZXF1aXJlZCxcbiAgICAvKiogY3VycmVudCB2ZXJzZSBudW1iZXIgKi9cbiAgICB2ZXJzZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLmlzUmVxdWlyZWQsXG4gIH0pLFxuICAvKiogc2VydmVyIChlLmcuICdodHRwczovL2dpdC5kb29yNDMub3JnJykgKi9cbiAgc2VydmVyOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKiByZXBvIGJyYW5jaCBvciB0YWcgc3VjaCBhcyBtYXN0ZXIgKi9cbiAgYXBwUmVmOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIC8qKiBpZiB0cnVlIHRoZW4gd29yZCBkYXRhIGhvdmVyIGlzIHNob3duICovXG4gIGRpc2FibGVXb3JkUG9wb3ZlcjogUHJvcFR5cGVzLmJvb2wsXG4gIC8qKiBDU1MgY2xhc3NlcyAqL1xuICBjbGFzc2VzOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKiogcmVzb3VyY2VMaW5rICovXG4gIHJlc291cmNlTGluazogUHJvcFR5cGVzLmFueSxcbiAgLyoqIHVzZSBtZXRob2QgZm9yIHVzaW5nIGxvY2FsIHN0b3JhZ2Ugc3BlY2lmaWMgZm9yIHVzZXIgKi9cbiAgdXNlVXNlckxvY2FsU3RvcmFnZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIG9wdGlvbmFsIGNhbGxiYWNrIGlmIGVycm9yIGxvYWRpbmcgcmVzb3VyY2UsIHBhcmFtZXRlciByZXR1cm5lZCBhcmU6XG4gICAqICAgICh7c3RyaW5nfSBlcnJvck1lc3NhZ2UsIHtib29sZWFufSBpc0FjY2Vzc0Vycm9yLCB7b2JqZWN0fSByZXNvdXJjZVN0YXR1cylcbiAgICogICAgICAtIGlzQWNjZXNzRXJyb3IgLSBpcyB0cnVlIGlmIHRoaXMgd2FzIGFuIGVycm9yIHRyeWluZyB0byBhY2Nlc3MgZmlsZVxuICAgKiAgICAgIC0gcmVzb3VyY2VTdGF0dXMgLSBpcyBvYmplY3QgY29udGFpbmluZyBkZXRhaWxzIGFib3V0IHByb2JsZW1zIGZldGNoaW5nIHJlc291cmNlICovXG4gIG9uUmVzb3VyY2VFcnJvcjogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBvcHRpb25hbCBodHRwIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIGZvciBmZXRjaGluZyByZXNvdXJjZXMsIGRlZmF1bHQgaXMgMCAodmVyeSBsb25nIHdhaXQpICovXG4gIGh0dHBDb25maWc6IFByb3BUeXBlcy5vYmplY3QsXG4gIC8qKiBvcHRpb25hbCB1cmwgZm9yIGdyZWVrIHJlcG8gKi9cbiAgZ3JlZWtSZXBvVXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogb3B0aW9uYWwgdXJsIGZvciBoZWJyZXcgcmVwbyAqL1xuICBoZWJyZXdSZXBvVXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogZnVuY3Rpb24gdG8gZ2V0IGxhdGVzdCBsZXhpY29uIGRhdGEgKi9cbiAgZ2V0TGV4aWNvbkRhdGE6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogZnVuY3Rpb24gdG8gcHJlLWxvYWQgbGV4aWNvbiBkYXRhIGZvciB2ZXJzZSAqL1xuICBmZXRjaEdsb3NzZXNGb3JWZXJzZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBmdW5jdGlvbiB0byBtaW5pbWl6ZSB0aGUgY2FyZCAob3B0aW9uYWwpICovXG4gIG9uTWluaW1pemU6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogdXNlci1uYW1lICovXG4gIGxvZ2dlZEluVXNlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqIGF1dGhlbnRpY2F0aW9uIGluZm8gKi9cbiAgYXV0aGVudGljYXRpb246IFByb3BUeXBlcy5vYmplY3QsXG4gIC8qKiBmdW5jdGlvbiB0byBzZXQgc3RhdGUgaW4gYXBwIHRoYXQgdGhlcmUgYXJlIHVuc2F2ZWQgY2hhbmdlcyAqL1xuICBzZXRTYXZlZENoYW5nZXM6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogaW5kZXggZm9yIGN1cnJlbnQgYm9vayAoZS5nLiAnMDEnIGZvciAnZ2VuJykqL1xuICBib29rSW5kZXg6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKiBjYWxsYmFjayB0byBpbmRpY2F0ZSB0aGF0IHdlIGFyZSB1c2luZyBhIHZlcnNlIHJhbmdlIGhlcmUgKi9cbiAgYWRkVmVyc2VSYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKiBjYWxsYmFjayB0byB1cGRhdGUgd29yZCBhbGlnbmVyIHN0YXRlICovXG4gIHNldFdvcmRBbGlnbmVyU3RhdHVzOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqY2FsbGJhY2sgdG8gdXBkYXRlIHRoZSBjYXJkJ3MgbWVyZ2Ugc3RhdGUgaW4gYXBwICovXG4gIHVwZGF0ZU1lcmdlU3RhdGU6IFByb3BUeXBlcy5mdW5jLFxufVxuIl19
|
|
1032
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZUNhcmQvU2NyaXB0dXJlQ2FyZC50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJQcm9wVHlwZXMiLCJjb3JlIiwidXNmbWpzIiwidXNlRWRpdCIsIk1kVXBkYXRlIiwiTWRVcGRhdGVEaXNhYmxlZCIsIkZpU2hhcmUiLCJJY29uQnV0dG9uIiwiQ2FyZCIsInVzZUNhcmRTdGF0ZSIsInVzZVVzZXJCcmFuY2giLCJFUlJPUl9TVEFURSIsIk1BTklGRVNUX05PVF9MT0FERURfRVJST1IiLCJBbGlnbm1lbnRIZWxwZXJzIiwiVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycyIsImlzRXF1YWwiLCJTY3JpcHR1cmVQYW5lIiwiU2NyaXB0dXJlU2VsZWN0b3IiLCJ1c2VTY3JpcHR1cmVTZXR0aW5ncyIsImdldFJlc291cmNlTGluayIsImdldFJlc291cmNlTWVzc2FnZSIsImdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyIsImlzT3JpZ2luYWxCaWJsZSIsIlRpdGxlIiwiTlRfT1JJR19MQU5HIiwiT1JJR0lOQUxfU09VUkNFIiwiT1RfT1JJR19MQU5HIiwiS0VZX0ZPTlRfU0laRV9CQVNFIiwibGFiZWwiLCJzdHlsZSIsIm1hcmdpblRvcCIsIndpZHRoIiwiU2NyaXB0dXJlQ2FyZCIsImlkIiwiaXNOVCIsInRpdGxlIiwic2VydmVyIiwiYXBwUmVmIiwiY2FyZE51bSIsImNsYXNzZXMiLCJyZXNvdXJjZSIsIm93bmVyIiwibGFuZ3VhZ2VJZCIsInJlc291cmNlSWQiLCJvcmlnaW5hbExhbmd1YWdlT3duZXIiLCJnZXRMYW5ndWFnZSIsInJlZmVyZW5jZSIsInZlcnNlIiwiY2hhcHRlciIsImJvb2tJZCIsInByb2plY3RJZCIsInJlc291cmNlTGluayIsInVzZVVzZXJMb2NhbFN0b3JhZ2UiLCJkaXNhYmxlV29yZFBvcG92ZXIiLCJvblJlc291cmNlRXJyb3IiLCJodHRwQ29uZmlnIiwiZ3JlZWtSZXBvVXJsIiwiaGVicmV3UmVwb1VybCIsImdldExleGljb25EYXRhIiwiZmV0Y2hHbG9zc2VzRm9yVmVyc2UiLCJ0cmFuc2xhdGUiLCJvbk1pbmltaXplIiwibG9nZ2VkSW5Vc2VyIiwiYXV0aGVudGljYXRpb24iLCJzZXRTYXZlZENoYW5nZXMiLCJib29rSW5kZXgiLCJhZGRWZXJzZVJhbmdlIiwic2V0V29yZEFsaWduZXJTdGF0dXMiLCJ1cGRhdGVNZXJnZVN0YXRlIiwidXNlU3RhdGUiLCJoYXZlVW5zYXZlZENoYW5nZXMiLCJyZWYiLCJzYXZlQ2xpY2tlZCIsInNhdmVDb250ZW50Iiwic2hhIiwic3RhcnRTYXZlIiwidXJsRXJyb3IiLCJ1c2luZ1VzZXJCcmFuY2giLCJ1bnNhdmVkQ2hhbmdlc0xpc3QiLCJ2ZXJzZXNGb3JSZWYiLCJzdGF0ZSIsInNldFN0YXRlXyIsImZvbnRTaXplIiwic2V0Rm9udFNpemUiLCJpc05UXyIsInNldFN0YXRlIiwibmV3U3RhdGUiLCJwcmV2U3RhdGUiLCJjYWNoZSIsIm1heEFnZSIsInNldFVybEVycm9yIiwiZXJyb3IiLCJ3aG9sZUJvb2siLCJpc05ld1Rlc3RhbWVudCIsInNjcmlwdHVyZUNvbmZpZyIsInNldFNjcmlwdHVyZSIsInNjcmlwdHVyZVNldHRpbmdzIiwic2NyaXB0dXJlVmVyc2lvbkhpc3QiLCJmZXRjaFJlc3BfIiwiZmV0Y2hSZXNwb25zZSIsInJlcG8iLCJyZWZlcmVuY2VfIiwidXNlRWZmZWN0IiwiX3NoYSIsImRhdGEiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImNhcmRSZXNvdXJjZUlkIiwicmVmXyIsImNhblVzZUVkaXRCcmFuY2giLCJzdWJzdHJpbmciLCJsZW5ndGgiLCJjYXJkSWQiLCJ3b3JraW5nUmVzb3VyY2VCcmFuY2giLCJ1c2luZ1VzZXJCcmFuY2hfIiwibWVyZ2VGcm9tTWFzdGVyIiwibWVyZ2VUb01hc3RlciIsIm1lcmdpbmciLCJhY3Rpb25zIiwic3RhcnRFZGl0QnJhbmNoIiwic3RhcnRFZGl0IiwibWVyZ2VGcm9tTWFzdGVySW50b1VzZXJCcmFuY2giLCJtZXJnZVRvTWFzdGVyRnJvbVVzZXJCcmFuY2giLCJ3b3JraW5nUmVmIiwic2NyaXB0dXJlVGl0bGUiLCJ3b3JraW5nUmVmXyIsInJlc291cmNlU3RhdHVzIiwibWVzc2FnZSIsImlzQWNjZXNzRXJyb3IiLCJ2ZXJzaW9uIiwidXBkYXRlVGl0bGUiLCJnZXRTY3JpcHR1cmVTZWxlY3RvciIsInNjcmlwdHVyZVNlbGVjdGlvbkNvbmZpZyIsIm9uTWVudUNsb3NlIiwibGFuZ3VhZ2VJZF8iLCJsYW5ndWFnZSIsImRpcmVjdGlvbiIsImlzSGVicmV3IiwiZm9udEZhY3RvciIsInNjYWxlZEZvbnRTaXplIiwiaXRlbXMiLCJoZWFkZXJzIiwiZmlsdGVycyIsIml0ZW1JbmRleCIsIm1hcmtkb3duVmlldyIsInNldEZpbHRlcnMiLCJzZXRJdGVtSW5kZXgiLCJzZXRNYXJrZG93blZpZXciLCJyZWZTdHlsZSIsInVzZU1lbW8iLCJmb250RmFtaWx5IiwiTWF0aCIsInJvdW5kIiwiY29udGVudFN0eWxlIiwic2NyaXB0dXJlTGFiZWwiLCJkaXNhYmxlV29yZFBvcG92ZXJfIiwidXNpbmdPcmlnaW5hbEJpYmxlIiwidW5kZWZpbmVkIiwiZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSIsInZlcnNlT2JqZWN0cyIsInZlcnNlUmVmIiwiX3ZlcnNlT2JqZWN0cyIsInZlcnNlRGF0YSIsImNvbmNhdCIsImVuYWJsZUVkaXQiLCJlbmFibGVBbGlnbm1lbnQiLCJvcmlnaW5hbFJlcG9VcmwiLCJzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwiY3VycmVudFZlcnNlUmVmIiwiX3NldFNhdmVkQ2hhbmdlcyIsInNvdXJjZUxhbmd1YWdlIiwidGFyZ2V0TGFuZ3VhZ2UiLCJjdXJyZW50SW5kZXgiLCJzYXZlZCIsImdldENoYW5nZXMiLCJjbGVhckNoYW5nZXMiLCJfdW5zYXZlZENoYW5nZXNMaXN0IiwiaGFzT3duUHJvcGVydHkiLCJfaGF2ZVVuc2F2ZWRDaGFuZ2VzIiwiT2JqZWN0Iiwia2V5cyIsImZpbmRSZWZJbkFycmF5IiwiZmluZEl0ZW0iLCJjaHVua3MiLCJyZWZMZW4iLCJpbmRleCIsImZpbmRJbmRleCIsImNodW5rIiwiaWR4IiwibmV4dENoYXIiLCJnZXRCb29rTmFtZSIsImJvb2tDYXBzIiwidG9VcHBlckNhc2UiLCJmaWxlcGF0aCIsImNvbnRlbnQiLCJjb25maWciLCJ0b2tlbiIsInRpbWVvdXQiLCJzZXJ2ZXJUaW1lT3V0IiwiYXV0aG9yIiwiYnJhbmNoIiwib25TYXZlRWRpdCIsIl9zYXZlRWRpdCIsInRoZW4iLCJzdWNjZXNzIiwidW5zYXZlZENhcmRJbmRpY2VzIiwiY2FyZEluZGV4IiwiaW5mbyIsInJlbG9hZFJlc291cmNlIiwibWVyZ2VWZXJzZU9iamVjdHNJbnRvQmlibGVVc2ZtIiwiYmlibGVVc2ZtIiwidXBkYXRlZFZlcnNlT2JqZWN0cyIsIm5ld1VzZm0iLCJjaGFwdGVyQ2h1bmtzIiwic3BsaXQiLCJjaGFwdGVySW5kZXgiLCJjdXJyZW50Q2hhcHRlciIsInZlcnNlQ2h1bmtzIiwidmVyc2VJbmRleCIsIm5ld1ZlcnNlVXNmbSIsImNvbnZlcnRWZXJzZURhdGFUb1VTRk0iLCJvbGRWZXJzZSIsInZlcnNlTnVtTGVuIiwibmV3Q2hhcHRlciIsImpvaW4iLCJnZXRSZXNwb25zZURhdGEiLCJtZXJnZUZhaWwiLCJwYXJzZUludCIsIm5ld0Jvb2tKc29uIiwibmV3VmVyc2VUZXh0IiwidGFyZ2V0VmVyc2VPYmplY3RzXyIsInVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlIiwidGFyZ2V0VmVyc2VPYmplY3RzIiwidXBkYXRlVmVyc2UiLCJ0b1VTRk0iLCJmb3JjZWROZXdMaW5lcyIsIl92ZXJzZSIsImluY2x1ZGVzIiwibmVlZFRvTWVyZ2VGcm9tTWFzdGVyIiwibWVyZ2VOZWVkZWQiLCJtZXJnZUZyb21NYXN0ZXJIYXNDb25mbGljdHMiLCJjb25mbGljdCIsIm1lcmdlVG9NYXN0ZXJIYXNDb25mbGljdHMiLCJtZXJnZUZyb21NYXN0ZXJUaXRsZSIsIm1lcmdlRnJvbU1hc3RlckNvbG9yIiwibWVyZ2VUb01hc3RlclRpdGxlIiwibWVyZ2VUb01hc3RlckNvbG9yIiwicmVuZGVyZWRTY3JpcHR1cmVQYW5lcyIsIm1hcCIsIl9jdXJyZW50VmVyc2VEYXRhIiwiaW5pdGlhbFZlcnNlT2JqZWN0cyIsIl9yZWZlcmVuY2UiLCJfc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyIsIm9uUmVuZGVyVG9vbGJhciIsIm5ld0l0ZW1zIiwicHVzaCIsIm1hcmdpbiIsImN1cnNvciIsInByb3BUeXBlcyIsInN0cmluZyIsImZ1bmMiLCJpc1JlcXVpcmVkIiwibnVtYmVyIiwic2hhcGUiLCJvbmVPZlR5cGUiLCJib29sIiwib2JqZWN0IiwiYW55Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUNBLE9BQU8sS0FBS0MsU0FBWixNQUEyQixZQUEzQjtBQUNBLFNBQVNDLElBQVQsUUFBcUIseUJBQXJCO0FBQ0EsT0FBT0MsTUFBUCxNQUFtQixTQUFuQjtBQUNBLFNBQVNDLE9BQVQsUUFBd0IscUJBQXhCO0FBQ0EsU0FBU0MsUUFBVCxFQUFtQkMsZ0JBQW5CLFFBQTJDLGdCQUEzQztBQUNBLFNBQVNDLE9BQVQsUUFBd0IsZ0JBQXhCO0FBQ0EsU0FBU0MsVUFBVCxRQUEyQixlQUEzQjtBQUNBLFNBQ0VDLElBREYsRUFFRUMsWUFGRixFQUdFQyxhQUhGLEVBSUVDLFdBSkYsRUFLRUMseUJBTEYsUUFNTyx1QkFOUDtBQU9BLFNBQVNDLGdCQUFULEVBQTJCQyx5QkFBM0IsUUFBNEQsa0JBQTVEO0FBQ0EsT0FBTyxLQUFLQyxPQUFaLE1BQXlCLFlBQXpCO0FBQ0EsU0FBU0MsYUFBVCxFQUF3QkMsaUJBQXhCLFFBQWlELElBQWpEO0FBQ0EsU0FBU0Msb0JBQVQsUUFBcUMsa0NBQXJDO0FBQ0EsU0FDRUMsZUFERixFQUVFQyxrQkFGRixFQUdFQywyQkFI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RCxTQUFTLENBQUNzUSxJQTFERzs7QUEyRHhCO0FBQ0F6TSxFQUFBQSxVQUFVLEVBQUU3RCxTQUFTLENBQUNzUSxJQTVERTs7QUE2RHhCO0FBQ0F4TSxFQUFBQSxZQUFZLEVBQUU5RCxTQUFTLENBQUNxUSxNQTlEQTs7QUErRHhCO0FBQ0F0TSxFQUFBQSxjQUFjLEVBQUUvRCxTQUFTLENBQUM0USxNQWhFRjs7QUFpRXhCO0FBQ0E1TSxFQUFBQSxlQUFlLEVBQUVoRSxTQUFTLENBQUNzUSxJQWxFSDs7QUFtRXhCO0FBQ0FyTSxFQUFBQSxTQUFTLEVBQUVqRSxTQUFTLENBQUNxUSxNQXBFRzs7QUFxRXhCO0FBQ0FuTSxFQUFBQSxhQUFhLEVBQUVsRSxTQUFTLENBQUNzUSxJQXRFRDs7QUF1RXhCO0FBQ0FuTSxFQUFBQSxvQkFBb0IsRUFBRW5FLFNBQVMsQ0FBQ3NRLElBeEVSOztBQXlFeEI7QUFDQWxNLEVBQUFBLGdCQUFnQixFQUFFcEUsU0FBUyxDQUFDc1E7QUExRUosQ0FBMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCAqIGFzIFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJ1xuaW1wb3J0IHsgY29yZSB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHVzZm1qcyBmcm9tICd1c2ZtLWpzJ1xuaW1wb3J0IHsgdXNlRWRpdCB9IGZyb20gJ2dpdGVhLXJlYWN0LXRvb2xraXQnXG5pbXBvcnQgeyBNZFVwZGF0ZSwgTWRVcGRhdGVEaXNhYmxlZCB9IGZyb20gJ3JlYWN0LWljb25zL21kJ1xuaW1wb3J0IHsgRmlTaGFyZSB9IGZyb20gJ3JlYWN0LWljb25zL2ZpJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwnXG5pbXBvcnQge1xuICBDYXJkLFxuICB1c2VDYXJkU3RhdGUsXG4gIHVzZVVzZXJCcmFuY2gsXG4gIEVSUk9SX1NUQVRFLFxuICBNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SLFxufSBmcm9tICd0cmFuc2xhdGlvbi1oZWxwcy1yY2wnXG5pbXBvcnQgeyBBbGlnbm1lbnRIZWxwZXJzLCBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIH0gZnJvbSAnd29yZC1hbGlnbmVyLXJjbCdcbmltcG9ydCAqIGFzIGlzRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7IFNjcmlwdHVyZVBhbmUsIFNjcmlwdHVyZVNlbGVjdG9yIH0gZnJvbSAnLi4nXG5pbXBvcnQgeyB1c2VTY3JpcHR1cmVTZXR0aW5ncyB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHtcbiAgZ2V0UmVzb3VyY2VMaW5rLFxuICBnZXRSZXNvdXJjZU1lc3NhZ2UsXG4gIGdldFNjcmlwdHVyZVZlcnNpb25TZXR0aW5ncyxcbiAgaXNPcmlnaW5hbEJpYmxlLFxufSBmcm9tICcuLi8uLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnLi4vU2NyaXB0dXJlUGFuZS9zdHlsZWQnXG5pbXBvcnQge1xuICBOVF9PUklHX0xBTkcsXG4gIE9SSUdJTkFMX1NPVVJDRSxcbiAgT1RfT1JJR19MQU5HLFxufSBmcm9tICcuLi8uLi91dGlscydcblxuY29uc3QgS0VZX0ZPTlRfU0laRV9CQVNFID0gJ3NjcmlwdHVyZVBhbmVGb250U2l6ZV8nXG5jb25zdCBsYWJlbCA9ICdWZXJzaW9uJ1xuY29uc3Qgc3R5bGUgPSB7IG1hcmdpblRvcDogJzE2cHgnLCB3aWR0aDogJzUwMHB4JyB9XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFNjcmlwdHVyZUNhcmQoe1xuICBpZCxcbiAgaXNOVCxcbiAgdGl0bGUsXG4gIHNlcnZlcixcbiAgYXBwUmVmLFxuICBjYXJkTnVtLFxuICBjbGFzc2VzLFxuICByZXNvdXJjZToge1xuICAgIG93bmVyLFxuICAgIGxhbmd1YWdlSWQsXG4gICAgcmVzb3VyY2VJZCxcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIH0sXG4gIGdldExhbmd1YWdlLFxuICByZWZlcmVuY2U6IHtcbiAgICB2ZXJzZSxcbiAgICBjaGFwdGVyLFxuICAgIHByb2plY3RJZDogYm9va0lkLFxuICB9LFxuICByZXNvdXJjZUxpbmssXG4gIHVzZVVzZXJMb2NhbFN0b3JhZ2UsXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgb25SZXNvdXJjZUVycm9yLFxuICBodHRwQ29uZmlnLFxuICBncmVla1JlcG9VcmwsXG4gIGhlYnJld1JlcG9VcmwsXG4gIGdldExleGljb25EYXRhLFxuICBmZXRjaEdsb3NzZXNGb3JWZXJzZSxcbiAgdHJhbnNsYXRlLFxuICBvbk1pbmltaXplLFxuICBsb2dnZWRJblVzZXIsXG4gIGF1dGhlbnRpY2F0aW9uLFxuICBzZXRTYXZlZENoYW5nZXMsXG4gIGJvb2tJbmRleCxcbiAgYWRkVmVyc2VSYW5nZSxcbiAgc2V0V29yZEFsaWduZXJTdGF0dXMsXG4gIHVwZGF0ZU1lcmdlU3RhdGUsXG59KSB7XG4gIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVfXSA9IFJlYWN0LnVzZVN0YXRlKHtcbiAgICBoYXZlVW5zYXZlZENoYW5nZXM6IGZhbHNlLFxuICAgIHJlZjogYXBwUmVmLFxuICAgIHNhdmVDbGlja2VkOiBmYWxzZSxcbiAgICBzYXZlQ29udGVudDogbnVsbCxcbiAgICBzaGE6IG51bGwsXG4gICAgc3RhcnRTYXZlOiBmYWxzZSxcbiAgICB1cmxFcnJvcjogbnVsbCxcbiAgICB1c2luZ1VzZXJCcmFuY2g6IGZhbHNlLFxuICAgIHVuc2F2ZWRDaGFuZ2VzTGlzdDoge30sXG4gICAgdmVyc2VzRm9yUmVmOiBudWxsLFxuICB9KVxuICBjb25zdCB7XG4gICAgcmVmLFxuICAgIHNhdmVDbGlja2VkLFxuICAgIHNhdmVDb250ZW50LFxuICAgIHNoYSxcbiAgICBzdGFydFNhdmUsXG4gICAgdXJsRXJyb3IsXG4gICAgdXNpbmdVc2VyQnJhbmNoLFxuICAgIHVuc2F2ZWRDaGFuZ2VzTGlzdCxcbiAgICBoYXZlVW5zYXZlZENoYW5nZXMsXG4gICAgdmVyc2VzRm9yUmVmLFxuICB9ID0gc3RhdGVcblxuICBjb25zdCBbZm9udFNpemUsIHNldEZvbnRTaXplXSA9IHVzZVVzZXJMb2NhbFN0b3JhZ2UoS0VZX0ZPTlRfU0laRV9CQVNFICsgY2FyZE51bSwgMTAwKVxuICBjb25zdCBpc05UXyA9IGlzTlQoYm9va0lkKVxuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKG5ld1N0YXRlKSB7XG4gICAgc2V0U3RhdGVfKHByZXZTdGF0ZSA9PiAoeyAuLi5wcmV2U3RhdGUsIC4uLm5ld1N0YXRlIH0pKVxuICB9XG5cbiAgaWYgKHVzaW5nVXNlckJyYW5jaCkge1xuICAgIGh0dHBDb25maWcgPSB7IC4uLmh0dHBDb25maWcsIGNhY2hlOiB7IG1heEFnZTogMCB9IH0gLy8gZGlzYWJsZSBodHRwIGNhY2hpbmdcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBzY3JpcHR1cmVDb25maWcsXG4gICAgc2V0U2NyaXB0dXJlLFxuICAgIHNjcmlwdHVyZVNldHRpbmdzLFxuICAgIHNjcmlwdHVyZVZlcnNpb25IaXN0LFxuICB9ID0gdXNlU2NyaXB0dXJlU2V0dGluZ3Moe1xuICAgIGlzTlQsXG4gICAgdGl0bGUsXG4gICAgdmVyc2UsXG4gICAgb3duZXIsXG4gICAgYm9va0lkLFxuICAgIGFwcFJlZjogcmVmLFxuICAgIHNlcnZlcixcbiAgICBjYXJkTnVtLFxuICAgIGNoYXB0ZXIsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICByZXNvdXJjZUlkLFxuICAgIHJlc291cmNlTGluayxcbiAgICB1c2VVc2VyTG9jYWxTdG9yYWdlLFxuICAgIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gICAgc2V0VXJsRXJyb3I6IChlcnJvcikgPT4gc2V0U3RhdGUoeyB1cmxFcnJvcjogZXJyb3IgfSksXG4gICAgaHR0cENvbmZpZyxcbiAgICBncmVla1JlcG9VcmwsXG4gICAgaGVicmV3UmVwb1VybCxcbiAgICB3aG9sZUJvb2s6IHRydWUsXG4gIH0pXG5cbiAgY29uc3QgZmV0Y2hSZXNwXyA9IHNjcmlwdHVyZUNvbmZpZz8uZmV0Y2hSZXNwb25zZVxuICAvLyBAdHMtaWdub3JlXG4gIGNvbnN0IHJlcG8gPSBgJHtzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5sYW5ndWFnZUlkfV8ke3NjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/LnByb2plY3RJZH1gXG4gIGNvbnN0IHJlZmVyZW5jZV8gPSBzY3JpcHR1cmVDb25maWc/LnJlZmVyZW5jZSB8fCBudWxsXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHsgLy8gZ2V0IHRoZSBfc2hhIGZyb20gbGFzdCBzY3JpcHR1cmUgZG93bmxvYWRcbiAgICBjb25zdCBfc2hhID0gZmV0Y2hSZXNwXz8uZGF0YT8uc2hhIHx8IG51bGxcbiAgICBjb25zb2xlLmxvZyhgZm9yICR7SlNPTi5zdHJpbmdpZnkocmVmZXJlbmNlXyl9IG5ldyBzaGEgaXMgJHtfc2hhfWApXG5cbiAgICBpZiAoX3NoYSAhPT0gc2hhKSB7XG4gICAgICBzZXRTdGF0ZSh7IHNoYTogX3NoYSB9KVxuICAgIH1cbiAgfSwgW2ZldGNoUmVzcF9dKVxuXG4gIC8vIEB0cy1pZ25vcmVcbiAgY29uc3QgY2FyZFJlc291cmNlSWQgPSBzY3JpcHR1cmVDb25maWc/LnJlc291cmNlPy5wcm9qZWN0SWQgfHwgcmVzb3VyY2VJZFxuICAvLyBAdHMtaWdub3JlXG4gIGxldCByZWZfID0gc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZT8ucmVmIHx8IGFwcFJlZlxuICBjb25zdCBjYW5Vc2VFZGl0QnJhbmNoID0gbG9nZ2VkSW5Vc2VyICYmIGF1dGhlbnRpY2F0aW9uICYmXG4gICAgKHJlc291cmNlSWQgIT09IE9SSUdJTkFMX1NPVVJDRSkgJiZcbiAgICAoKHJlZl8gPT09ICdtYXN0ZXInKSB8fCAocmVmXy5zdWJzdHJpbmcoMCwgbG9nZ2VkSW5Vc2VyLmxlbmd0aCkgPT09IGxvZ2dlZEluVXNlcikgKSAvLyBub3QgdGFnXG5cbiAgY29uc3Qge1xuICAgIHN0YXRlOiB7XG4gICAgICB3b3JraW5nUmVzb3VyY2VCcmFuY2gsXG4gICAgICB1c2luZ1VzZXJCcmFuY2g6IHVzaW5nVXNlckJyYW5jaF8sXG4gICAgICBtZXJnZUZyb21NYXN0ZXIsXG4gICAgICBtZXJnZVRvTWFzdGVyLFxuICAgICAgbWVyZ2luZyxcbiAgICB9LFxuICAgIGFjdGlvbnM6IHtcbiAgICAgIHN0YXJ0RWRpdDogc3RhcnRFZGl0QnJhbmNoLFxuICAgICAgbWVyZ2VGcm9tTWFzdGVySW50b1VzZXJCcmFuY2gsXG4gICAgICBtZXJnZVRvTWFzdGVyRnJvbVVzZXJCcmFuY2gsXG4gICAgfSxcbiAgfSA9IHVzZVVzZXJCcmFuY2goe1xuICAgIG93bmVyLFxuICAgIHNlcnZlcixcbiAgICBhcHBSZWYsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICBjYXJkSWQ6IGlkLFxuICAgIGxvZ2dlZEluVXNlcjogY2FuVXNlRWRpdEJyYW5jaCA/IGxvZ2dlZEluVXNlciA6IG51bGwsXG4gICAgYXV0aGVudGljYXRpb246IGNhblVzZUVkaXRCcmFuY2ggPyBhdXRoZW50aWNhdGlvbiA6IG51bGwsXG4gICAgY2FyZFJlc291cmNlSWQsXG4gICAgb25SZXNvdXJjZUVycm9yLFxuICAgIHVzZVVzZXJMb2NhbFN0b3JhZ2UsXG4gIH0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoY2FyZFJlc291cmNlSWQpIHtcbiAgICAgIHVwZGF0ZU1lcmdlU3RhdGUgJiYgdXBkYXRlTWVyZ2VTdGF0ZShcbiAgICAgICAgY2FyZFJlc291cmNlSWQsXG4gICAgICAgIG1lcmdlRnJvbU1hc3RlcixcbiAgICAgICAgbWVyZ2VUb01hc3RlcixcbiAgICAgICAgbWVyZ2VGcm9tTWFzdGVySW50b1VzZXJCcmFuY2gsXG4gICAgICAgIG1lcmdlVG9NYXN0ZXJGcm9tVXNlckJyYW5jaCxcbiAgICAgIClcbiAgICB9XG4gIH0sW2NhcmRSZXNvdXJjZUlkLCBtZXJnZUZyb21NYXN0ZXIsIG1lcmdlVG9NYXN0ZXJdKVxuXG4gIGNvbnN0IHdvcmtpbmdSZWYgPSBjYW5Vc2VFZGl0QnJhbmNoID8gd29ya2luZ1Jlc291cmNlQnJhbmNoIDogYXBwUmVmXG4gIGxldCBzY3JpcHR1cmVUaXRsZVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHNlbGVjdCBjb3JyZWN0IHdvcmtpbmcgcmVmIC0gY291bGQgYmUgbWFzdGVyLCB1c2VyIGJyYW5jaCwgb3IgcmVsZWFzZVxuICAgIGlmICh1c2luZ1VzZXJCcmFuY2hfICE9PSB1c2luZ1VzZXJCcmFuY2gpIHtcbiAgICAgIHNldFN0YXRlKHsgdXNpbmdVc2VyQnJhbmNoOiB1c2luZ1VzZXJCcmFuY2hfIH0pXG4gICAgfVxuICB9LCBbdXNpbmdVc2VyQnJhbmNoXywgdXNpbmdVc2VyQnJhbmNoXSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyBzZWxlY3QgY29ycmVjdCB3b3JraW5nIHJlZiAtIGNvdWxkIGJlIG1hc3RlciwgdXNlciBicmFuY2gsIG9yIHJlbGVhc2VcbiAgICBsZXQgd29ya2luZ1JlZl8gPSB3b3JraW5nUmVmIHx8IGFwcFJlZlxuXG4gICAgaWYgKHJlZiAhPT0gd29ya2luZ1JlZl8pIHtcbiAgICAgIHNldFN0YXRlKHsgcmVmOiB3b3JraW5nUmVmXyB9KVxuICAgIH1cbiAgfSwgW3dvcmtpbmdSZWYsIHJlZiwgYXBwUmVmXSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyB1cGRhdGUgZGlzcGxheSBzdGF0dXMgaWYgZXJyb3JcbiAgICBjb25zdCBlcnJvciA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2VTdGF0dXM/LltFUlJPUl9TVEFURV1cblxuICAgIGlmIChlcnJvcikgeyAvLyBpZiBlcnJvciB3YXMgZm91bmQgZG8gY2FsbGJhY2tcbiAgICAgIGNvbnN0IHJlc291cmNlU3RhdHVzID0gc2NyaXB0dXJlQ29uZmlnPy5yZXNvdXJjZVN0YXR1c1xuICAgICAgY29uc3QgcmVzb3VyY2VMaW5rID0gZ2V0UmVzb3VyY2VMaW5rKHNjcmlwdHVyZUNvbmZpZylcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBnZXRSZXNvdXJjZU1lc3NhZ2UocmVzb3VyY2VTdGF0dXMsIHNlcnZlciwgcmVzb3VyY2VMaW5rLCBpc05UXylcbiAgICAgIGNvbnN0IGlzQWNjZXNzRXJyb3IgPSByZXNvdXJjZVN0YXR1c1tNQU5JRkVTVF9OT1RfTE9BREVEX0VSUk9SXVxuICAgICAgb25SZXNvdXJjZUVycm9yICYmIG9uUmVzb3VyY2VFcnJvcihtZXNzYWdlLCBpc0FjY2Vzc0Vycm9yLCByZXNvdXJjZVN0YXR1cylcbiAgICB9XG4gIH0sIFtzY3JpcHR1cmVDb25maWc/LnJlc291cmNlU3RhdHVzPy5bRVJST1JfU1RBVEVdXSlcblxuICBpZiAoc2NyaXB0dXJlQ29uZmlnLnRpdGxlICYmIHNjcmlwdHVyZUNvbmZpZy52ZXJzaW9uKSB7XG4gICAgc2NyaXB0dXJlVGl0bGUgPSBgJHtzY3JpcHR1cmVDb25maWcudGl0bGV9IHYke3NjcmlwdHVyZUNvbmZpZy52ZXJzaW9ufWBcbiAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdC51cGRhdGVUaXRsZShzY3JpcHR1cmVDb25maWcucmVzb3VyY2VMaW5rLCBzY3JpcHR1cmVUaXRsZSlcbiAgfSBlbHNlIHtcbiAgICBzY3JpcHR1cmVUaXRsZSA9IGBUaXRsZSBtaXNzaW5nIGZyb20gcHJvamVjdCBtYW5pZmVzdGBcbiAgfVxuXG4gIC8qKiBEeW5hbWljYWxseSBjcmVhdGVzIHRoZSBzY3JpcHR1cmUgc2VsZWN0aW9uIGRyb3Bkb3duIHRvIGJlIGluc2VydGVkIGludG8gY2FyZCBzZXR0aW5ncyAqL1xuICBmdW5jdGlvbiBnZXRTY3JpcHR1cmVTZWxlY3RvcigpIHtcbiAgICBjb25zdCBzY3JpcHR1cmVTZWxlY3Rpb25Db25maWcgPSBnZXRTY3JpcHR1cmVWZXJzaW9uU2V0dGluZ3Moe1xuICAgICAgbGFiZWwsXG4gICAgICByZXNvdXJjZUxpbms6IHNjcmlwdHVyZUNvbmZpZy5yZXNvdXJjZUxpbmssXG4gICAgICBzZXRTY3JpcHR1cmUsXG4gICAgICBzY3JpcHR1cmVWZXJzaW9uSGlzdCxcbiAgICB9KVxuXG4gICAgcmV0dXJuIDxTY3JpcHR1cmVTZWxlY3RvciB7Li4uc2NyaXB0dXJlU2VsZWN0aW9uQ29uZmlnfSBzdHlsZT17c3R5bGV9IGVycm9yTWVzc2FnZT17dXJsRXJyb3J9IC8+XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lbnVDbG9zZSgpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgb25NZW51Q2xvc2UoKWApXG4gICAgc2V0U3RhdGUoeyB1cmxFcnJvcjogbnVsbCB9KVxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBjb25zdCBsYW5ndWFnZUlkXyA9IHNjcmlwdHVyZUNvbmZpZz8ucmVzb3VyY2U/Lmxhbmd1YWdlSWRcbiAgY29uc3QgbGFuZ3VhZ2UgPSBnZXRMYW5ndWFnZSh7IGxhbmd1YWdlSWQ6IGxhbmd1YWdlSWRfIH0pXG4gIGNvbnN0IGRpcmVjdGlvbiA9IChsYW5ndWFnZT8uZGlyZWN0aW9uKSB8fCAnbHRyJ1xuICBjb25zdCByZWZlcmVuY2UgPSB7IC4uLnNjcmlwdHVyZUNvbmZpZy5yZWZlcmVuY2UgfVxuXG4gIGNvbnN0IGlzSGVicmV3ID0gKGxhbmd1YWdlSWRfID09PSAnaGJvJylcbiAgY29uc3QgZm9udEZhY3RvciA9IGlzSGVicmV3ID8gMS40IDogMSAvLyB3ZSBhdXRvbWF0aWNhbGx5IHNjYWxlIHVwIGZvbnQgc2l6ZSBmb3IgSGVicmV3XG4gIGNvbnN0IHNjYWxlZEZvbnRTaXplID0gZm9udFNpemUgKiBmb250RmFjdG9yXG5cbiAgY29uc3QgaXRlbXMgPSBudWxsXG4gIGNvbnN0IHtcbiAgICBzdGF0ZToge1xuICAgICAgaGVhZGVycywgZmlsdGVycywgaXRlbUluZGV4LCBtYXJrZG93blZpZXcsXG4gICAgfSxcbiAgICBhY3Rpb25zOiB7XG4gICAgICBzZXRGaWx0ZXJzLCBzZXRJdGVtSW5kZXgsIHNldE1hcmtkb3duVmlldyxcbiAgICB9LFxuICB9ID0gdXNlQ2FyZFN0YXRlKHsgaXRlbXMgfSlcblxuICBjb25zdCByZWZTdHlsZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogYCR7TWF0aC5yb3VuZChzY2FsZWRGb250U2l6ZSAqIDAuOSl9JWAsXG4gIH0pLCBbc2NhbGVkRm9udFNpemVdKVxuXG4gIGNvbnN0IGNvbnRlbnRTdHlsZSA9IFJlYWN0LnVzZU1lbW8oKCkgPT4gKHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogYCR7c2NhbGVkRm9udFNpemV9JWAsXG4gIH0pLCBbc2NhbGVkRm9udFNpemVdKVxuXG4gIGNvbnN0IHNjcmlwdHVyZUxhYmVsID0gPFRpdGxlPntzY3JpcHR1cmVUaXRsZX08L1RpdGxlPlxuICBsZXQgZGlzYWJsZVdvcmRQb3BvdmVyXyA9IGRpc2FibGVXb3JkUG9wb3ZlclxuICBjb25zdCB1c2luZ09yaWdpbmFsQmlibGUgPSBpc09yaWdpbmFsQmlibGUoc2NyaXB0dXJlQ29uZmlnWydyZXNvdXJjZSddPy5wcm9qZWN0SWQpXG5cbiAgaWYgKGRpc2FibGVXb3JkUG9wb3ZlciA9PT0gdW5kZWZpbmVkKSB7IC8vIGlmIG5vdCBzcGVjaWZpZWQsIHRoZW4gZGV0ZXJtaW5lIGlmIG9yaWdpbmFsIGxhbmd1YWdlIHJlc291cmNlXG4gICAgZGlzYWJsZVdvcmRQb3BvdmVyXyA9ICF1c2luZ09yaWdpbmFsQmlibGVcbiAgfVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHByZS1jYWNoZSBnbG9zc2VzIG9uIHZlcnNlIGNoYW5nZVxuICAgIGNvbnN0IGZldGNoR2xvc3NEYXRhRm9yVmVyc2UgPSBhc3luYyAoKSA9PiB7XG4gICAgICBsZXQgdmVyc2VPYmplY3RzID0gW11cblxuICAgICAgLy8gZ2V0IHZlcnNlIG9iamVjdHMgb2YgYWxsIHRoZSB2ZXJzZXNcbiAgICAgIGZvciAoY29uc3QgdmVyc2VSZWYgb2Ygc2NyaXB0dXJlQ29uZmlnPy52ZXJzZXNGb3JSZWYgfHwgW10pIHtcbiAgICAgICAgY29uc3QgX3ZlcnNlT2JqZWN0cyA9IHZlcnNlUmVmPy52ZXJzZURhdGE/LnZlcnNlT2JqZWN0c1xuICAgICAgICB2ZXJzZU9iamVjdHMgPSB2ZXJzZU9iamVjdHMuY29uY2F0KF92ZXJzZU9iamVjdHMpXG4gICAgICB9XG5cbiAgICAgIGlmICghZGlzYWJsZVdvcmRQb3BvdmVyICYmIHZlcnNlT2JqZWN0cz8ubGVuZ3RoICYmIGZldGNoR2xvc3Nlc0ZvclZlcnNlKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1hd2FpdC1pbi1sb29wXG4gICAgICAgIGF3YWl0IGZldGNoR2xvc3Nlc0ZvclZlcnNlKHZlcnNlT2JqZWN0cywgbGFuZ3VhZ2VJZF8pXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHVzaW5nT3JpZ2luYWxCaWJsZSkge1xuICAgICAgZmV0Y2hHbG9zc0RhdGFGb3JWZXJzZSgpXG4gICAgfVxuICB9LCBbIHZlcnNlc0ZvclJlZiwgbGFuZ3VhZ2VJZF8gXSlcblxuICBjb25zdCBlbmFibGVFZGl0ID0gIXVzaW5nT3JpZ2luYWxCaWJsZVxuICBjb25zdCBlbmFibGVBbGlnbm1lbnQgPSAhdXNpbmdPcmlnaW5hbEJpYmxlXG4gIGNvbnN0IG9yaWdpbmFsUmVwb1VybCA9IGlzTmV3VGVzdGFtZW50ID8gZ3JlZWtSZXBvVXJsIDogaGVicmV3UmVwb1VybFxuICBjb25zdCBzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnID0ge1xuICAgIGF1dGhlbnRpY2F0aW9uOiBjYW5Vc2VFZGl0QnJhbmNoID8gYXV0aGVudGljYXRpb24gOiBudWxsLFxuICAgIGJvb2tJbmRleCxcbiAgICBjdXJyZW50VmVyc2VSZWY6IHJlZmVyZW5jZSxcbiAgICBlbmFibGVFZGl0LFxuICAgIGVuYWJsZUFsaWdubWVudCxcbiAgICBodHRwQ29uZmlnLFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpc05ld1Rlc3RhbWVudCxcbiAgICBsb2dnZWRJblVzZXI6IGNhblVzZUVkaXRCcmFuY2ggPyBsb2dnZWRJblVzZXIgOiBudWxsLFxuICAgIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcixcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgb3JpZ2luYWxSZXBvVXJsLFxuICAgIHNjcmlwdHVyZUNvbmZpZyxcbiAgICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgICBzdGFydEVkaXRCcmFuY2gsXG4gICAgc2V0U2F2ZWRDaGFuZ2VzOiBfc2V0U2F2ZWRDaGFuZ2VzLFxuICAgIHNvdXJjZUxhbmd1YWdlOiBpc05UXyA/IE5UX09SSUdfTEFORyA6IE9UX09SSUdfTEFORyxcbiAgICB0YXJnZXRMYW5ndWFnZTogbGFuZ3VhZ2UsXG4gICAgdGl0bGU6IHNjcmlwdHVyZVRpdGxlLFxuICAgIHdvcmtpbmdSZXNvdXJjZUJyYW5jaDogcmVmLFxuICB9XG5cbiAgLyoqXG4gICAqIHRoaXMgZ2V0cyBjYWxsZWQgd2hlbmV2ZXIgYSBzY3JpcHR1cmUgcGFuZSBoYXMgYSBjaGFuZ2UgaW4gc2F2ZSBzdGF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gY3VycmVudEluZGV4XG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gc2F2ZWRcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gZ2V0Q2hhbmdlcyAtIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIHVzZXIgY2xpY2tzIHNhdmUgYnV0dG9uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNsZWFyQ2hhbmdlcyAtIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIHNhdmUgaGFzIGNvbXBsZXRlZFxuICAgKiBAcGFyYW0ge29iamVjdH0gc3RhdGUgLSBjdXJyZW50IHN0YXRlIG9mIHdvcmQgYWxpZ25tZW50L2VkaXRcbiAgICovXG4gIGZ1bmN0aW9uIF9zZXRTYXZlZENoYW5nZXMoY3VycmVudEluZGV4LCBzYXZlZCwgeyBnZXRDaGFuZ2VzID0gbnVsbCwgY2xlYXJDaGFuZ2VzID0gbnVsbCwgc3RhdGUgPSBudWxsIH0pIHtcbiAgICBjb25zdCBfdW5zYXZlZENoYW5nZXNMaXN0ID0geyAuLi51bnNhdmVkQ2hhbmdlc0xpc3QgfVxuXG4gICAgaWYgKHNhdmVkKSB7XG4gICAgICBpZiAoX3Vuc2F2ZWRDaGFuZ2VzTGlzdC5oYXNPd25Qcm9wZXJ0eShjdXJyZW50SW5kZXgpKSB7XG4gICAgICAgIGRlbGV0ZSBfdW5zYXZlZENoYW5nZXNMaXN0W2N1cnJlbnRJbmRleF1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgX3Vuc2F2ZWRDaGFuZ2VzTGlzdFtjdXJyZW50SW5kZXhdID0geyBnZXRDaGFuZ2VzLCBjbGVhckNoYW5nZXMsIHN0YXRlIH0gLy8gdXBkYXRlIHdpdGggbGF0ZXN0XG4gICAgfVxuXG4gICAgY29uc3QgX2hhdmVVbnNhdmVkQ2hhbmdlcyA9ICEhT2JqZWN0LmtleXMoX3Vuc2F2ZWRDaGFuZ2VzTGlzdCkubGVuZ3RoXG5cbiAgICBpZiAoaGF2ZVVuc2F2ZWRDaGFuZ2VzICE9IF9oYXZlVW5zYXZlZENoYW5nZXMpIHtcbiAgICAgIHNldFNhdmVkQ2hhbmdlcyAmJiBzZXRTYXZlZENoYW5nZXMocmVzb3VyY2VJZCwgIV9oYXZlVW5zYXZlZENoYW5nZXMpXG4gICAgICBzZXRTdGF0ZSh7IGhhdmVVbnNhdmVkQ2hhbmdlczogX2hhdmVVbnNhdmVkQ2hhbmdlcyB9KVxuICAgIH1cblxuICAgIGlmICghaXNFcXVhbChfdW5zYXZlZENoYW5nZXNMaXN0LCB1bnNhdmVkQ2hhbmdlc0xpc3QpKSB7XG4gICAgICBzZXRTdGF0ZSh7IHVuc2F2ZWRDaGFuZ2VzTGlzdDogX3Vuc2F2ZWRDaGFuZ2VzTGlzdCB9KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBzZWFyY2ggY2hhcHRlciBvciB2ZXJzZSBjaHVuayB0byBsaW5lIHRoYXQgc3RhcnRzIHdpdGggZmluZEl0ZW1cbiAgICogQHBhcmFtIHtudW1iZXJ8c3RyaW5nfSBmaW5kSXRlbVxuICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBjaHVua3NcbiAgICovXG4gIGZ1bmN0aW9uIGZpbmRSZWZJbkFycmF5KGZpbmRJdGVtLCBjaHVua3MpIHtcbiAgICBjb25zdCByZWZfID0gZmluZEl0ZW0gKyAnJ1xuICAgIGNvbnN0IHJlZkxlbiA9IHJlZl8ubGVuZ3RoXG4gICAgY29uc3QgaW5kZXggPSBjaHVua3MuZmluZEluZGV4KChjaHVuaywgaWR4KSA9PiB7XG4gICAgICBpZiAoaWR4ID4gMCkge1xuICAgICAgICBpZiAoY2h1bmsuc3Vic3RyaW5nKDAsIHJlZkxlbikgPT09IHJlZl8pIHtcbiAgICAgICAgICBjb25zdCBuZXh0Q2hhciA9IGNodW5rW3JlZkxlbl1cblxuICAgICAgICAgIGlmICgobmV4dENoYXIgPiAnOScpIHx8IChuZXh0Q2hhciA8ICcwJykpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KVxuICAgIHJldHVybiBpbmRleFxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0Qm9va05hbWUoKSB7XG4gICAgY29uc3QgYm9va0NhcHMgPSBzY3JpcHR1cmVDb25maWc/LnJlZmVyZW5jZT8ucHJvamVjdElkID8gc2NyaXB0dXJlQ29uZmlnLnJlZmVyZW5jZS5wcm9qZWN0SWQudG9VcHBlckNhc2UoKSA6ICcnXG4gICAgcmV0dXJuIGAke2Jvb2tJbmRleH0tJHtib29rQ2Fwc30udXNmbWBcbiAgfVxuXG4gIGNvbnN0IGZpbGVwYXRoID0gZ2V0Qm9va05hbWUoKVxuXG4gIC8vIGtlZXAgdHJhY2sgb2YgdmVyc2UgZWRpdCBzdGF0ZVxuICBjb25zdCB7IG9uU2F2ZUVkaXQgfSA9IHVzZUVkaXQoe1xuICAgIHNoYSxcbiAgICBvd25lcixcbiAgICBjb250ZW50OiBzYXZlQ29udGVudCxcbiAgICBjb25maWc6IHtcbiAgICAgIGNhY2hlOiB7IG1heEFnZTogMCB9LFxuICAgICAgLi4uYXV0aGVudGljYXRpb24/LmNvbmZpZyxcbiAgICAgIHRva2VuOiBhdXRoZW50aWNhdGlvbj8udG9rZW4sXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB0aW1lb3V0OiBodHRwQ29uZmlnPy5zZXJ2ZXJUaW1lT3V0IHx8IGh0dHBDb25maWc/LnRpbWVvdXQgfHwgNTAwMCxcbiAgICB9LFxuICAgIGF1dGhvcjogbG9nZ2VkSW5Vc2VyLFxuICAgIHRva2VuOiBhdXRoZW50aWNhdGlvbj8udG9rZW4sXG4gICAgYnJhbmNoOiB3b3JraW5nUmVzb3VyY2VCcmFuY2gsXG4gICAgZmlsZXBhdGgsXG4gICAgcmVwbyxcbiAgfSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyB3aGVuIHN0YXJ0U2F2ZSBnb2VzIHRydWUsIHNhdmUgZWRpdHMgdG8gdXNlciBicmFuY2ggYW5kIHRoZW4gY2xlYXIgc3RhcnRTYXZlXG4gICAgY29uc3QgX3NhdmVFZGl0ID0gYXN5bmMgKCkgPT4geyAvLyBiZWdpbiB1cGxvYWRpbmcgbmV3IFVTRk1cbiAgICAgIGxldCBicmFuY2ggPSAod29ya2luZ1Jlc291cmNlQnJhbmNoICE9PSAnbWFzdGVyJykgPyB3b3JraW5nUmVzb3VyY2VCcmFuY2ggOiB1bmRlZmluZWRcblxuICAgICAgaWYgKCFicmFuY2gpIHtcbiAgICAgICAgYnJhbmNoID0gYXdhaXQgc3RhcnRFZGl0QnJhbmNoKCkgLy8gbWFrZSBzdXJlIHVzZXIgYnJhbmNoIGV4aXN0cyBhbmQgZ2V0IG5hbWVcbiAgICAgIH1cblxuICAgICAgYXdhaXQgb25TYXZlRWRpdChicmFuY2gpLnRoZW4oKHN1Y2Nlc3MpID0+IHsgLy8gcHVzaCBjaGFuZ2VkIHRvIHNlcnZlclxuICAgICAgICBpZiAoc3VjY2Vzcykge1xuICAgICAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIHNhdmUgc2NyaXB0dXJlIGVkaXRzIHN1Y2Nlc3NgKVxuICAgICAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgICAgIHN0YXJ0U2F2ZTogZmFsc2UsXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGNvbnN0IHVuc2F2ZWRDYXJkSW5kaWNlcyA9IE9iamVjdC5rZXlzKHVuc2F2ZWRDaGFuZ2VzTGlzdClcblxuICAgICAgICAgIGlmICh1bnNhdmVkQ2FyZEluZGljZXM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBjYXJkSW5kZXggb2YgdW5zYXZlZENhcmRJbmRpY2VzKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgY2xlYXJDaGFuZ2VzIH0gPSB1bnNhdmVkQ2hhbmdlc0xpc3RbY2FyZEluZGV4XVxuICAgICAgICAgICAgICBjbGVhckNoYW5nZXMgJiYgY2xlYXJDaGFuZ2VzKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zb2xlLmluZm8oJ3NhdmVDaGFuZ2VzVG9DbG91ZCgpIC0gUmVsb2FkaW5nIHJlc291cmNlJylcbiAgICAgICAgICBzY3JpcHR1cmVDb25maWc/LnJlbG9hZFJlc291cmNlKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdzYXZlQ2hhbmdlc1RvQ2xvdWQoKSAtIHNhdmluZyBjaGFuZ2VkIHNjcmlwdHVyZSBmYWlsZWQnKVxuICAgICAgICAgIHNldFN0YXRlKHsgc3RhcnRTYXZlOiBmYWxzZSB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChzdGFydFNhdmUpIHtcbiAgICAgIGNvbnNvbGUubG9nKGBzYXZlQ2hhbmdlc1RvQ2xvdWQgLSBjYWxsaW5nIF9zYXZlRWRpdCgpYClcbiAgICAgIF9zYXZlRWRpdCgpXG4gICAgfVxuICB9LCBbc3RhcnRTYXZlXSlcblxuICAvKipcbiAgICogY29udmVydCB1cGRhdGVkVmVyc2VPYmplY3RzIHRvIFVTRk0gYW5kIG1lcmdlIGludG8gdGhlIGJpYmxlVXNmbVxuICAgKiBAcGFyYW0ge3N0cmluZ30gYmlibGVVc2ZtIC0gVVNGTSBvZiBiaWJsZVxuICAgKiBAcGFyYW0ge29iamVjdH0gcmVmIC0gcmVmZXJlbmNlIG9mIHZlcnNlIHRvIG1lcmdlIGluXG4gICAqIEBwYXJhbSB7b2JqZWN0W119IHVwZGF0ZWRWZXJzZU9iamVjdHMgLSBuZXcgdmVyc2UgaW4gdmVyc2VPYmplY3QgZm9ybWF0XG4gICAqIEBwYXJhbSB7bnVtYmVyfSBjYXJkTnVtXG4gICAqL1xuICBmdW5jdGlvbiBtZXJnZVZlcnNlT2JqZWN0c0ludG9CaWJsZVVzZm0oYmlibGVVc2ZtLCByZWYsIHVwZGF0ZWRWZXJzZU9iamVjdHMsIGNhcmROdW06IG51bWJlcikge1xuICAgIGxldCBuZXdVc2ZtXG4gICAgY29uc3QgY2hhcHRlckNodW5rcyA9IGJpYmxlVXNmbT8uc3BsaXQoJ1xcXFxjICcpXG4gICAgY29uc3QgY2hhcHRlckluZGV4ID0gZmluZFJlZkluQXJyYXkocmVmPy5jaGFwdGVyLCBjaGFwdGVyQ2h1bmtzKVxuXG4gICAgaWYgKGNoYXB0ZXJJbmRleCA+PSAwKSB7XG4gICAgICBjb25zdCBjdXJyZW50Q2hhcHRlciA9IGNoYXB0ZXJDaHVua3NbY2hhcHRlckluZGV4XVxuICAgICAgY29uc3QgdmVyc2VDaHVua3MgPSBjdXJyZW50Q2hhcHRlci5zcGxpdCgnXFxcXHYgJylcbiAgICAgIGNvbnN0IHZlcnNlSW5kZXggPSBmaW5kUmVmSW5BcnJheShyZWY/LnZlcnNlLCB2ZXJzZUNodW5rcylcblxuICAgICAgaWYgKHZlcnNlSW5kZXggPj0gMCkge1xuICAgICAgICBjb25zdCBuZXdWZXJzZVVzZm0gPSBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLmNvbnZlcnRWZXJzZURhdGFUb1VTRk0odXBkYXRlZFZlcnNlT2JqZWN0cylcbiAgICAgICAgY29uc29sZS5sb2coYHNhdmVDaGFuZ2VzVG9DbG91ZCgke2NhcmROdW19KSAtIG5ldyBVU0ZNIGZvciBjYXJkOn0gLSAke25ld1ZlcnNlVXNmbS5zdWJzdHJpbmcoMCwgMTAwKX1gKVxuICAgICAgICBjb25zdCBvbGRWZXJzZSA9IHZlcnNlQ2h1bmtzW3ZlcnNlSW5kZXhdXG4gICAgICAgIGNvbnN0IHZlcnNlTnVtTGVuID0gKHJlZj8udmVyc2UgKyAnJykubGVuZ3RoXG4gICAgICAgIHZlcnNlQ2h1bmtzW3ZlcnNlSW5kZXhdID0gb2xkVmVyc2Uuc3Vic3RyaW5nKDAsIHZlcnNlTnVtTGVuICsgMSkgKyBuZXdWZXJzZVVzZm1cbiAgICAgICAgY29uc3QgbmV3Q2hhcHRlciA9IHZlcnNlQ2h1bmtzLmpvaW4oJ1xcXFx2ICcpXG4gICAgICAgIGNoYXB0ZXJDaHVua3NbY2hhcHRlckluZGV4XSA9IG5ld0NoYXB0ZXJcbiAgICAgICAgbmV3VXNmbSA9IGNoYXB0ZXJDaHVua3Muam9pbignXFxcXGMgJylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ld1VzZm1cbiAgfVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIGZvciBlYWNoIHVuc2F2ZWQgY2hhbmdlLCBjYWxsIGludG8gdmVyc2VQYW5lIHRvIGdldCBsYXRlc3QgY2hhbmdlcyBmb3IgdmVyc2UgdG8gc2F2ZVxuICAgIGlmIChzYXZlQ2xpY2tlZCkge1xuICAgICAgY29uc3QgdW5zYXZlZENhcmRJbmRpY2VzID0gT2JqZWN0LmtleXModW5zYXZlZENoYW5nZXNMaXN0KVxuXG4gICAgICBpZiAodW5zYXZlZENhcmRJbmRpY2VzPy5sZW5ndGgpIHtcbiAgICAgICAgbGV0IGJpYmxlVXNmbSA9IGNvcmUuZ2V0UmVzcG9uc2VEYXRhKHNjcmlwdHVyZUNvbmZpZz8uZmV0Y2hSZXNwb25zZSlcbiAgICAgICAgbGV0IG1lcmdlRmFpbCA9IGZhbHNlXG4gICAgICAgIGxldCBjYXJkTnVtID0gMFxuXG4gICAgICAgIGZvciAoY29uc3QgY2FyZEluZGV4IG9mIHVuc2F2ZWRDYXJkSW5kaWNlcykge1xuICAgICAgICAgIGNhcmROdW0gPSBwYXJzZUludChjYXJkSW5kZXgpXG4gICAgICAgICAgY29uc3QgeyBnZXRDaGFuZ2VzLCBzdGF0ZSB9ID0gdW5zYXZlZENoYW5nZXNMaXN0W2NhcmROdW1dXG5cbiAgICAgICAgICBpZiAoZ2V0Q2hhbmdlcykge1xuICAgICAgICAgICAgbGV0IG5ld1VzZm1cbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgcmVmLFxuICAgICAgICAgICAgICB1cGRhdGVkVmVyc2VPYmplY3RzLFxuICAgICAgICAgICAgfSA9IGdldENoYW5nZXMoc3RhdGUpXG5cbiAgICAgICAgICAgIGlmICh1cGRhdGVkVmVyc2VPYmplY3RzICYmIGJpYmxlVXNmbSkgeyAvLyBqdXN0IHJlcGxhY2UgdmVyc2VcbiAgICAgICAgICAgICAgbmV3VXNmbSA9IG1lcmdlVmVyc2VPYmplY3RzSW50b0JpYmxlVXNmbShiaWJsZVVzZm0sIHJlZiwgdXBkYXRlZFZlcnNlT2JqZWN0cywgY2FyZE51bSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG5ld1VzZm0pIHtcbiAgICAgICAgICAgICAgYmlibGVVc2ZtID0gbmV3VXNmbVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbWVyZ2VGYWlsID0gdHJ1ZVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXJnZUZhaWwpIHsgLy8gaWYgd2UgZmFpbGVkIHRvIG1lcmdlLCBmYWxsYmFjayB0byBicnV0ZSBmb3JjZSB2ZXJzZSBvYmplY3RzIHRvIFVTRk1cbiAgICAgICAgICBjb25zb2xlLmxvZyhgc2F2ZUNoYW5nZXNUb0Nsb3VkKCR7Y2FyZE51bX0pIC0gdmVyc2Ugbm90IGZvdW5kLCBmYWxsaW5nIGJhY2sgdG8gaW5zZXJ0aW5nIHZlcnNlIG9iamVjdGApXG4gICAgICAgICAgbGV0IG5ld0Jvb2tKc29uXG5cbiAgICAgICAgICBmb3IgKGNvbnN0IGNhcmRJbmRleCBvZiB1bnNhdmVkQ2FyZEluZGljZXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhcmROdW0gPSBwYXJzZUludChjYXJkSW5kZXgpXG4gICAgICAgICAgICBjb25zdCB7IGdldENoYW5nZXMsIHN0YXRlIH0gPSB1bnNhdmVkQ2hhbmdlc0xpc3RbY2FyZE51bV1cblxuICAgICAgICAgICAgaWYgKGdldENoYW5nZXMpIHtcbiAgICAgICAgICAgICAgbGV0IG5ld1VzZm1cbiAgICAgICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgICAgIG5ld1ZlcnNlVGV4dCxcbiAgICAgICAgICAgICAgICByZWYsXG4gICAgICAgICAgICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0cyxcbiAgICAgICAgICAgICAgfSA9IGdldENoYW5nZXMoc3RhdGUpXG5cbiAgICAgICAgICAgICAgaWYgKHVwZGF0ZWRWZXJzZU9iamVjdHMgJiYgIW5ld1VzZm0pIHtcbiAgICAgICAgICAgICAgICBsZXQgdGFyZ2V0VmVyc2VPYmplY3RzXyA9IG51bGxcblxuICAgICAgICAgICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChuZXdWZXJzZVRleHQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyB0YXJnZXRWZXJzZU9iamVjdHMgfSA9IEFsaWdubWVudEhlbHBlcnMudXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UodXBkYXRlZFZlcnNlT2JqZWN0cywgbmV3VmVyc2VUZXh0KVxuICAgICAgICAgICAgICAgICAgICB0YXJnZXRWZXJzZU9iamVjdHNfID0gdGFyZ2V0VmVyc2VPYmplY3RzXG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0c1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgbmV3Qm9va0pzb24gPSB0YXJnZXRWZXJzZU9iamVjdHNfICYmIHNjcmlwdHVyZUNvbmZpZz8udXBkYXRlVmVyc2UocmVmLmNoYXB0ZXIsIHJlZi52ZXJzZSwgeyB2ZXJzZU9iamVjdHM6IHRhcmdldFZlcnNlT2JqZWN0c18gfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBiaWJsZVVzZm0gPSB1c2ZtanMudG9VU0ZNKG5ld0Jvb2tKc29uLCB7IGZvcmNlZE5ld0xpbmVzOiB0cnVlIH0pXG4gICAgICAgIH1cblxuICAgICAgICBjb25zb2xlLmxvZyhgc2F2ZUNoYW5nZXNUb0Nsb3VkKCkgLSBzYXZpbmcgbmV3IFVTRk06ICR7YmlibGVVc2ZtLnN1YnN0cmluZygwLCAxMDApfS4uLmApXG4gICAgICAgIHNldFN0YXRlKHsgc2F2ZUNvbnRlbnQ6IGJpYmxlVXNmbSwgc3RhcnRTYXZlOiB0cnVlLCBzYXZlQ2xpY2tlZDogZmFsc2UgfSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtzYXZlQ2xpY2tlZF0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRXF1YWwodmVyc2VzRm9yUmVmLCBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZikpIHtcbiAgICAgIGNvbnN0IHZlcnNlc0ZvclJlZiA9IHNjcmlwdHVyZUNvbmZpZz8udmVyc2VzRm9yUmVmXG4gICAgICBzZXRTdGF0ZSh7IHZlcnNlc0ZvclJlZiB9KVxuXG4gICAgICBmb3IgKGNvbnN0IHZlcnNlUmVmIG9mIHZlcnNlc0ZvclJlZiB8fCBbXSkge1xuICAgICAgICAvLyBjaGVjayBmb3IgdmVyc2UgcmFuZ2VcbiAgICAgICAgY29uc3QgX3ZlcnNlID0gdmVyc2VSZWYudmVyc2VcblxuICAgICAgICBpZiAoYWRkVmVyc2VSYW5nZSAmJiAodHlwZW9mIF92ZXJzZSA9PT0gJ3N0cmluZycpKSB7XG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICAgIGlmIChfdmVyc2UuaW5jbHVkZXMoJy0nKSkge1xuICAgICAgICAgICAgYWRkVmVyc2VSYW5nZShgJHtzY3JpcHR1cmVDb25maWc/LnJlZmVyZW5jZT8uY2hhcHRlcn06JHtfdmVyc2V9YClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZl0pXG5cbiAgY29uc3QgbmVlZFRvTWVyZ2VGcm9tTWFzdGVyID0gbWVyZ2VGcm9tTWFzdGVyPy5tZXJnZU5lZWRlZFxuICBjb25zdCBtZXJnZUZyb21NYXN0ZXJIYXNDb25mbGljdHMgPSBtZXJnZUZyb21NYXN0ZXI/LmNvbmZsaWN0XG4gIGNvbnN0IG1lcmdlVG9NYXN0ZXJIYXNDb25mbGljdHMgPSBtZXJnZVRvTWFzdGVyPy5jb25mbGljdFxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXN0ZWQtdGVybmFyeVxuICBjb25zdCBtZXJnZUZyb21NYXN0ZXJUaXRsZSA9IG1lcmdlRnJvbU1hc3Rlckhhc0NvbmZsaWN0cyA/ICdNZXJnZSBDb25mbGljdHMgZm9yIHVwZGF0ZSBmcm9tIG1hc3RlcicgOiAobmVlZFRvTWVyZ2VGcm9tTWFzdGVyID8gJ1VwZGF0ZSBmcm9tIG1hc3RlcicgOiAnTm8gbWVyZ2UgY29uZmxpY3RzIGZvciB1cGRhdGUgd2l0aCBtYXN0ZXInKVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbmVzdGVkLXRlcm5hcnlcbiAgY29uc3QgbWVyZ2VGcm9tTWFzdGVyQ29sb3IgPSBtZXJnZUZyb21NYXN0ZXJIYXNDb25mbGljdHMgPyAnYmxhY2snIDogKG5lZWRUb01lcmdlRnJvbU1hc3RlciA/ICdibGFjaycgOiAnbGlnaHRncmF5JylcbiAgY29uc3QgbWVyZ2VUb01hc3RlclRpdGxlID0gbWVyZ2VUb01hc3Rlckhhc0NvbmZsaWN0cyA/ICdNZXJnZSBDb25mbGljdHMgZm9yIHNoYXJlIHdpdGggbWFzdGVyJyA6ICdObyBtZXJnZSBjb25mbGljdHMgZm9yIHNoYXJlIHdpdGggbWFzdGVyJ1xuICBjb25zdCBtZXJnZVRvTWFzdGVyQ29sb3IgPSBtZXJnZVRvTWFzdGVySGFzQ29uZmxpY3RzID8gJ2JsYWNrJyA6ICdibGFjaydcblxuICBjb25zdCByZW5kZXJlZFNjcmlwdHVyZVBhbmVzID0gdmVyc2VzRm9yUmVmPy5tYXAoKF9jdXJyZW50VmVyc2VEYXRhLCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IGluaXRpYWxWZXJzZU9iamVjdHMgPSBfY3VycmVudFZlcnNlRGF0YT8udmVyc2VEYXRhPy52ZXJzZU9iamVjdHMgfHwgbnVsbFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7IGNoYXB0ZXIsIHZlcnNlIH0gPSBfY3VycmVudFZlcnNlRGF0YSB8fCB7fVxuICAgIGNvbnN0IF9yZWZlcmVuY2UgPSB7XG4gICAgICAuLi5yZWZlcmVuY2UsXG4gICAgICBjaGFwdGVyLFxuICAgICAgdmVyc2UsXG4gICAgfVxuICAgIGNvbnN0IF9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnID0ge1xuICAgICAgLi4uc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyxcbiAgICAgIGN1cnJlbnRJbmRleDogaW5kZXgsXG4gICAgICBpbml0aWFsVmVyc2VPYmplY3RzLFxuICAgICAgcmVmZXJlbmNlOiBfcmVmZXJlbmNlLFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U2NyaXB0dXJlUGFuZVxuICAgICAgICB7Li4uc2NyaXB0dXJlQ29uZmlnfVxuICAgICAgICBjb250ZW50U3R5bGU9e2NvbnRlbnRTdHlsZX1cbiAgICAgICAgY3VycmVudEluZGV4PXtpbmRleH1cbiAgICAgICAgZGlyZWN0aW9uPXtkaXJlY3Rpb259XG4gICAgICAgIGRpc2FibGVXb3JkUG9wb3Zlcj17ZGlzYWJsZVdvcmRQb3BvdmVyX31cbiAgICAgICAgZm9udFNpemU9e2ZvbnRTaXplfVxuICAgICAgICBnZXRMZXhpY29uRGF0YT17Z2V0TGV4aWNvbkRhdGF9XG4gICAgICAgIGlzTlQ9e2lzTlRffVxuICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICByZWZTdHlsZT17cmVmU3R5bGV9XG4gICAgICAgIHJlZmVyZW5jZT17X3JlZmVyZW5jZX1cbiAgICAgICAgc2F2aW5nPXtzdGFydFNhdmV9XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZz17X3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWd9XG4gICAgICAgIHNldFdvcmRBbGlnbmVyU3RhdHVzPXtzZXRXb3JkQWxpZ25lclN0YXR1c31cbiAgICAgICAgc2VydmVyPXtzZXJ2ZXJ9XG4gICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICBtZXJnaW5nPXttZXJnaW5nfVxuICAgICAgLz5cbiAgICApXG4gIH0pXG5cbiAgY29uc3Qgb25SZW5kZXJUb29sYmFyID0gKHsgaXRlbXMgfSkgPT4ge1xuICAgIGNvbnN0IG5ld0l0ZW1zID0gWy4uLml0ZW1zXVxuXG4gICAgaWYgKG1lcmdlRnJvbU1hc3Rlcikge1xuICAgICAgbmV3SXRlbXMucHVzaChcbiAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzZXMubWFyZ2lufVxuICAgICAgICAgIGtleT0ndXBkYXRlLWZyb20tbWFzdGVyJ1xuICAgICAgICAgIG9uQ2xpY2s9e21lcmdlRnJvbU1hc3RlckludG9Vc2VyQnJhbmNofVxuICAgICAgICAgIHRpdGxlPXttZXJnZUZyb21NYXN0ZXJUaXRsZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXttZXJnZUZyb21NYXN0ZXJUaXRsZX1cbiAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6ICdwb2ludGVyJyB9fVxuICAgICAgICA+XG4gICAgICAgICAge21lcmdlRnJvbU1hc3Rlckhhc0NvbmZsaWN0cyA/XG4gICAgICAgICAgICA8TWRVcGRhdGVEaXNhYmxlZCBpZD0ndXBkYXRlLWZyb20tbWFzdGVyLWljb24nIGNvbG9yPXttZXJnZUZyb21NYXN0ZXJDb2xvcn0gLz5cbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIDxNZFVwZGF0ZSBpZD0ndXBkYXRlLWZyb20tbWFzdGVyLWljb24nIGNvbG9yPXttZXJnZUZyb21NYXN0ZXJDb2xvcn0gLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIClcbiAgICB9XG4gICAgaWYgKG1lcmdlVG9NYXN0ZXIpIHtcbiAgICAgIG5ld0l0ZW1zLnB1c2goXG4gICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzLm1hcmdpbn1cbiAgICAgICAgICBrZXk9J3NoYXJlLXRvLW1hc3RlcidcbiAgICAgICAgICBvbkNsaWNrPXttZXJnZVRvTWFzdGVyRnJvbVVzZXJCcmFuY2h9XG4gICAgICAgICAgdGl0bGU9e21lcmdlVG9NYXN0ZXJUaXRsZX1cbiAgICAgICAgICBhcmlhLWxhYmVsPXttZXJnZVRvTWFzdGVyVGl0bGV9XG4gICAgICAgICAgc3R5bGU9e3sgY3Vyc29yOiAncG9pbnRlcicgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHttZXJnZVRvTWFzdGVySGFzQ29uZmxpY3RzID9cbiAgICAgICAgICAgIDxNZFVwZGF0ZURpc2FibGVkIGlkPSdzaGFyZS10by1tYXN0ZXItaWNvbicgY29sb3I9e21lcmdlVG9NYXN0ZXJDb2xvcn0gLz5cbiAgICAgICAgICAgIDpcbiAgICAgICAgICAgIDxGaVNoYXJlIGlkPSdzaGFyZS10by1tYXN0ZXItaWNvbicgY29sb3I9e21lcmdlVG9NYXN0ZXJDb2xvcn0gLz5cbiAgICAgICAgICB9XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIG5ld0l0ZW1zO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8Q2FyZFxuICAgICAgaWQ9e2BzY3JpcHR1cmVfY2FyZF8ke2NhcmROdW19YH1cbiAgICAgIHRpdGxlPXtzY3JpcHR1cmVMYWJlbH1cbiAgICAgIHNldHRpbmdzVGl0bGU9e3NjcmlwdHVyZVRpdGxlICsgJyBTZXR0aW5ncyd9XG4gICAgICBpdGVtcz17aXRlbXN9XG4gICAgICBjbGFzc2VzPXtjbGFzc2VzfVxuICAgICAgaGVhZGVycz17aGVhZGVyc31cbiAgICAgIGZpbHRlcnM9e2ZpbHRlcnN9XG4gICAgICBmb250U2l6ZT17Zm9udFNpemV9XG4gICAgICBpdGVtSW5kZXg9e2l0ZW1JbmRleH1cbiAgICAgIHNldEZpbHRlcnM9e3NldEZpbHRlcnN9XG4gICAgICBzZXRGb250U2l6ZT17c2V0Rm9udFNpemV9XG4gICAgICBzZXRJdGVtSW5kZXg9e3NldEl0ZW1JbmRleH1cbiAgICAgIG1hcmtkb3duVmlldz17bWFya2Rvd25WaWV3fVxuICAgICAgc2V0TWFya2Rvd25WaWV3PXtzZXRNYXJrZG93blZpZXd9XG4gICAgICBnZXRDdXN0b21Db21wb25lbnQ9e2dldFNjcmlwdHVyZVNlbGVjdG9yfVxuICAgICAgaGlkZU1hcmtkb3duVG9nZ2xlXG4gICAgICBvbk1lbnVDbG9zZT17b25NZW51Q2xvc2V9XG4gICAgICBvbk1pbmltaXplPXtvbk1pbmltaXplID8gKCkgPT4gb25NaW5pbWl6ZShpZCkgOiBudWxsfVxuICAgICAgZWRpdGFibGU9e2VuYWJsZUVkaXQgfHwgZW5hYmxlQWxpZ25tZW50fVxuICAgICAgc2F2ZWQ9e3N0YXJ0U2F2ZSB8fCAhaGF2ZVVuc2F2ZWRDaGFuZ2VzfVxuICAgICAgb25TYXZlRWRpdD17KCkgPT4gc2V0U3RhdGUoeyBzYXZlQ2xpY2tlZDogdHJ1ZSB9KX1cbiAgICAgIG9uUmVuZGVyVG9vbGJhcj17b25SZW5kZXJUb29sYmFyfVxuICAgID5cbiAgICAgIDxkaXYgaWQ9XCJzY3JpcHR1cmUtcGFuZS1saXN0XCI+XG4gICAgICAgIHtyZW5kZXJlZFNjcmlwdHVyZVBhbmVzfVxuICAgICAgPC9kaXY+XG4gICAgPC9DYXJkPlxuICApXG59XG5cblNjcmlwdHVyZUNhcmQucHJvcFR5cGVzID0ge1xuICAvKiogaHRtbCBpZGVudGlmaWVyIHRvIHVzZSBmb3IgY2FyZCAqL1xuICBpZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqIG1ldGhvZCB0byBkZXRlcm1pbmUgaWYgTlQgb3IgT1QgKi9cbiAgaXNOVDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgLyoqIHRpdGxlIGZvciBzY3JpcHR1cmUgY2FyZCAqL1xuICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAvKiogZ2V0IGxhbmd1YWdlIGRldGFpbHMgKi9cbiAgZ2V0TGFuZ3VhZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIC8qKiBzY3JpcHR1cmUgY2FyZCBudW1iZXIgKDAgdG8gMiBmb3IgZXhhbXBsZSkgKi9cbiAgY2FyZE51bTogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICAvKiogcmVzb3VyY2Ugb2JqZWN0ICovXG4gIHJlc291cmNlOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIC8qKiByZXNvdXJjZSBsYW5ndWFnZSB0byB1c2UgKi9cbiAgICBsYW5ndWFnZUlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgLyoqIHJlcG8gb3duZXIgc3VjaCBhcyB1bmZvbGRpbmdXb3JkICovXG4gICAgb3duZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICAvKiogcmVzb3VyY2VJZCB0byB1c2UgKGUuZy4gdWdudCkgKi9cbiAgICByZXNvdXJjZUlkOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gICAgLyoqIHJlcG8gb3duZXIgZm9yIG9yaWdpbmFsIGxhbmd1YWdlcyBzdWNoIGFzIHVuZm9sZGluZ1dvcmQgKi9cbiAgICBvcmlnaW5hbExhbmd1YWdlT3duZXI6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgfSksXG4gIHJlZmVyZW5jZTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAvKiogcHJvamVjdElkIChib29rSUQpIHRvIHVzZSAqL1xuICAgIHByb2plY3RJZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIC8qKiBjdXJyZW50IGNoYXB0ZXIgbnVtYmVyICovXG4gICAgY2hhcHRlcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm51bWJlciwgUHJvcFR5cGVzLnN0cmluZ10pLmlzUmVxdWlyZWQsXG4gICAgLyoqIGN1cnJlbnQgdmVyc2UgbnVtYmVyICovXG4gICAgdmVyc2U6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKS5pc1JlcXVpcmVkLFxuICB9KSxcbiAgLyoqIHNlcnZlciAoZS5nLiAnaHR0cHM6Ly9naXQuZG9vcjQzLm9yZycpICovXG4gIHNlcnZlcjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAvKiogcmVwbyBicmFuY2ggb3IgdGFnIHN1Y2ggYXMgbWFzdGVyICovXG4gIGFwcFJlZjogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAvKiogaWYgdHJ1ZSB0aGVuIHdvcmQgZGF0YSBob3ZlciBpcyBzaG93biAqL1xuICBkaXNhYmxlV29yZFBvcG92ZXI6IFByb3BUeXBlcy5ib29sLFxuICAvKiogQ1NTIGNsYXNzZXMgKi9cbiAgY2xhc3NlczogUHJvcFR5cGVzLm9iamVjdCxcbiAgLyoqIHJlc291cmNlTGluayAqL1xuICByZXNvdXJjZUxpbms6IFByb3BUeXBlcy5hbnksXG4gIC8qKiB1c2UgbWV0aG9kIGZvciB1c2luZyBsb2NhbCBzdG9yYWdlIHNwZWNpZmljIGZvciB1c2VyICovXG4gIHVzZVVzZXJMb2NhbFN0b3JhZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIC8qKiBvcHRpb25hbCBjYWxsYmFjayBpZiBlcnJvciBsb2FkaW5nIHJlc291cmNlLCBwYXJhbWV0ZXIgcmV0dXJuZWQgYXJlOlxuICAgKiAgICAoe3N0cmluZ30gZXJyb3JNZXNzYWdlLCB7Ym9vbGVhbn0gaXNBY2Nlc3NFcnJvciwge29iamVjdH0gcmVzb3VyY2VTdGF0dXMpXG4gICAqICAgICAgLSBpc0FjY2Vzc0Vycm9yIC0gaXMgdHJ1ZSBpZiB0aGlzIHdhcyBhbiBlcnJvciB0cnlpbmcgdG8gYWNjZXNzIGZpbGVcbiAgICogICAgICAtIHJlc291cmNlU3RhdHVzIC0gaXMgb2JqZWN0IGNvbnRhaW5pbmcgZGV0YWlscyBhYm91dCBwcm9ibGVtcyBmZXRjaGluZyByZXNvdXJjZSAqL1xuICBvblJlc291cmNlRXJyb3I6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogb3B0aW9uYWwgaHR0cCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyBmb3IgZmV0Y2hpbmcgcmVzb3VyY2VzLCBkZWZhdWx0IGlzIDAgKHZlcnkgbG9uZyB3YWl0KSAqL1xuICBodHRwQ29uZmlnOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKiogb3B0aW9uYWwgdXJsIGZvciBncmVlayByZXBvICovXG4gIGdyZWVrUmVwb1VybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqIG9wdGlvbmFsIHVybCBmb3IgaGVicmV3IHJlcG8gKi9cbiAgaGVicmV3UmVwb1VybDogUHJvcFR5cGVzLnN0cmluZyxcbiAgLyoqIGZ1bmN0aW9uIHRvIGdldCBsYXRlc3QgbGV4aWNvbiBkYXRhICovXG4gIGdldExleGljb25EYXRhOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqIGZ1bmN0aW9uIHRvIHByZS1sb2FkIGxleGljb24gZGF0YSBmb3IgdmVyc2UgKi9cbiAgZmV0Y2hHbG9zc2VzRm9yVmVyc2U6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogb3B0aW9uYWwgZnVuY3Rpb24gZm9yIGxvY2FsaXphdGlvbiAqL1xuICB0cmFuc2xhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogZnVuY3Rpb24gdG8gbWluaW1pemUgdGhlIGNhcmQgKG9wdGlvbmFsKSAqL1xuICBvbk1pbmltaXplOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqIHVzZXItbmFtZSAqL1xuICBsb2dnZWRJblVzZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gIC8qKiBhdXRoZW50aWNhdGlvbiBpbmZvICovXG4gIGF1dGhlbnRpY2F0aW9uOiBQcm9wVHlwZXMub2JqZWN0LFxuICAvKiogZnVuY3Rpb24gdG8gc2V0IHN0YXRlIGluIGFwcCB0aGF0IHRoZXJlIGFyZSB1bnNhdmVkIGNoYW5nZXMgKi9cbiAgc2V0U2F2ZWRDaGFuZ2VzOiBQcm9wVHlwZXMuZnVuYyxcbiAgLyoqIGluZGV4IGZvciBjdXJyZW50IGJvb2sgKGUuZy4gJzAxJyBmb3IgJ2dlbicpKi9cbiAgYm9va0luZGV4OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAvKiogY2FsbGJhY2sgdG8gaW5kaWNhdGUgdGhhdCB3ZSBhcmUgdXNpbmcgYSB2ZXJzZSByYW5nZSBoZXJlICovXG4gIGFkZFZlcnNlUmFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAvKiogY2FsbGJhY2sgdG8gdXBkYXRlIHdvcmQgYWxpZ25lciBzdGF0ZSAqL1xuICBzZXRXb3JkQWxpZ25lclN0YXR1czogUHJvcFR5cGVzLmZ1bmMsXG4gIC8qKmNhbGxiYWNrIHRvIHVwZGF0ZSB0aGUgY2FyZCdzIG1lcmdlIHN0YXRlIGluIGFwcCAqL1xuICB1cGRhdGVNZXJnZVN0YXRlOiBQcm9wVHlwZXMuZnVuYyxcbn1cbiJdfQ==
|
|
@@ -69,7 +69,8 @@ function ScripturePane(_ref) {
|
|
|
69
69
|
saving = _ref.saving,
|
|
70
70
|
scriptureAlignmentEditConfig = _ref.scriptureAlignmentEditConfig,
|
|
71
71
|
setSavedChanges = _ref.setSavedChanges,
|
|
72
|
-
setWordAlignerStatus = _ref.setWordAlignerStatus
|
|
72
|
+
setWordAlignerStatus = _ref.setWordAlignerStatus,
|
|
73
|
+
merging = _ref.merging;
|
|
73
74
|
|
|
74
75
|
var _React$useState = React.useState({
|
|
75
76
|
doingAlignment: false,
|
|
@@ -95,7 +96,16 @@ function ScripturePane(_ref) {
|
|
|
95
96
|
initialVerseText = _React$useState4[0],
|
|
96
97
|
setInitialVerseText = _React$useState4[1];
|
|
97
98
|
|
|
98
|
-
var
|
|
99
|
+
var resourceMessage = '';
|
|
100
|
+
|
|
101
|
+
if (saving) {
|
|
102
|
+
resourceMessage = 'Saving Changes...';
|
|
103
|
+
} else if (merging) {
|
|
104
|
+
resourceMessage = 'Merging Changes...';
|
|
105
|
+
} else {
|
|
106
|
+
resourceMessage = getResourceMessage(resourceStatus, server, resourceLink, isNT);
|
|
107
|
+
}
|
|
108
|
+
|
|
99
109
|
var chapter = reference.chapter,
|
|
100
110
|
verse = reference.verse;
|
|
101
111
|
direction = direction || 'ltr';
|
|
@@ -237,4 +247,4 @@ ScripturePane.defaultProps = {
|
|
|
237
247
|
verseObjects: []
|
|
238
248
|
};
|
|
239
249
|
export default ScripturePane;
|
|
240
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJSeExpbmsyIiwiUnhMaW5rQnJlYWsyIiwiSWNvbkJ1dHRvbiIsIlNjcmlwdHVyZVJlZmVyZW5jZSIsImdldFJlc291cmNlTWVzc2FnZSIsIlNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcyIsInVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQiLCJDb250YWluZXIiLCJDb250ZW50IiwiTWVzc2FnZVN0eWxlIiwiZGlyZWN0aW9uIiwid2hpdGVTcGFjZSIsImxpbmVIZWlnaHQiLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwiaGVpZ2h0Iiwid2lkdGgiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiVGV4dEFyZWFTdHlsZSIsIm1pbldpZHRoIiwiU2NyaXB0dXJlUGFuZSIsInJlZmVyZW5jZSIsInJlZlN0eWxlIiwiY3VycmVudEluZGV4IiwiY29udGVudFN0eWxlIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwicmVzb3VyY2VTdGF0dXMiLCJyZXNvdXJjZUxpbmsiLCJzZXJ2ZXIiLCJpc05UIiwiZ2V0TGV4aWNvbkRhdGEiLCJ0cmFuc2xhdGUiLCJzYXZpbmciLCJzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwic2V0U2F2ZWRDaGFuZ2VzIiwic2V0V29yZEFsaWduZXJTdGF0dXMiLCJ1c2VTdGF0ZSIsImRvaW5nQWxpZ25tZW50IiwibmV3VGV4dCIsInVybEVycm9yIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJzZXRTdGF0ZSIsIm5ld1N0YXRlIiwicHJldlN0YXRlIiwiaW5pdGlhbFZlcnNlVGV4dCIsInNldEluaXRpYWxWZXJzZVRleHQiLCJyZXNvdXJjZU1zZyIsImNoYXB0ZXIiLCJ2ZXJzZSIsIl9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwiX3NjcmlwdHVyZUFsaWdubWVudEVkaXQiLCJhY3Rpb25zIiwiaGFuZGxlQWxpZ25tZW50Q2xpY2siLCJzZXRFZGl0aW5nIiwic2V0VmVyc2VDaGFuZ2VkIiwiYWxpZ25lZCIsImFsaWduZXJEYXRhIiwiY3VycmVudFZlcnNlT2JqZWN0cyIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJlZGl0aW5nIiwidW5zYXZlZENoYW5nZXMiLCJuZXdWZXJzZVRleHQiLCJ1c2VFZmZlY3QiLCJjYWxjdWxhdGVkRm9udFNpemUiLCJ1c2VNZW1vIiwicGFyc2VGbG9hdCIsInRleHRBcmVhU3R5bGUiLCJ2ZXJzZVRleHQiLCJnZXRVc2ZtRm9yVmVyc2VDb250ZW50IiwidmVyc2VPYmplY3RzIiwib25UZXh0Q2hhbmdlIiwiZXZlbnQiLCJ0YXJnZXQiLCJ2YWx1ZSIsImNoYW5nZWQiLCJjb25zb2xlIiwibG9nIiwib25CbHVyIiwiY2hlY2tpbmdTdGF0ZSIsInRpdGxlVGV4dCIsInBhZGRpbmdCb3R0b20iLCJjdXJzb3IiLCJkZWZhdWx0UHJvcHMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUtBLEtBQVosTUFBdUIsT0FBdkI7QUFDQSxPQUFPQyxvQkFBUCxNQUFpQyx5QkFBakM7QUFDQSxTQUFTQyxZQUFULFFBQTZCLHlCQUE3QjtBQUNBLFNBQVNDLHlCQUFULFFBQTBDLGtCQUExQztBQUNBLFNBQVNDLE9BQVQsRUFBa0JDLFlBQWxCLFFBQXNDLGdCQUF0QztBQUNBLFNBQVNDLFVBQVQsUUFBMkIsZUFBM0I7QUFDQSxTQUFTQyxrQkFBVCxRQUFtQyxhQUFuQztBQUNBLFNBQVNDLGtCQUFULFFBQW1DLGFBQW5DO0FBQ0EsU0FBU0MsMkJBQVQsRUFBc0NDLHlCQUF0QyxRQUF1RSx1Q0FBdkU7QUFDQSxTQUFTQyxTQUFULEVBQW9CQyxPQUFwQixRQUFtQyxVQUFuQztBQXVDQSxJ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cm9tICdyZWFjdCdcbmltcG9ydCB1c2VEZWVwQ29tcGFyZUVmZmVjdCBmcm9tICd1c2UtZGVlcC1jb21wYXJlLWVmZmVjdCdcbmltcG9ydCB7IFZlcnNlT2JqZWN0cyB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHsgVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycyB9IGZyb20gJ3dvcmQtYWxpZ25lci1yY2wnXG5pbXBvcnQgeyBSeExpbmsyLCBSeExpbmtCcmVhazIgfSBmcm9tICdyZWFjdC1pY29ucy9yeCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1lc3NhZ2UgfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7IFNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcywgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCB9IGZyb20gXCIuLi8uLi9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0XCI7XG5pbXBvcnQgeyBDb250YWluZXIsIENvbnRlbnQgfSBmcm9tICcuL3N0eWxlZCdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqIG9wdGlvbmFsIHN0eWxlcyB0byB1c2UgZm9yIGNvbnRlbnQgKiovXG4gIGNvbnRlbnRTdHlsZTogYW55O1xuICAvLyBpbmRleCBudW1iZXIgZm9yIHRoaXMgc2NyaXB0dXJlIHBhbmVcbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gdG8gdXNlICoqL1xuICBkaXJlY3Rpb246IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiBpZiB0cnVlIHRoZW4gZG8gbm90IGRpc3BsYXkgbGV4aWNvbiBwb3BvdmVyIG9uIGhvdmVyICoqL1xuICBkaXNhYmxlV29yZFBvcG92ZXI6IGJvb2xlYW58dW5kZWZpbmVkO1xuICAvKiogZm9udCBzaXplIGZvciBtZXNzYWdlcyAqL1xuICBmb250U2l6ZTogbnVtYmVyO1xuICAvKiogZnVuY3Rpb24gdG8gZ2V0IGxhdGVzdCBsZXhpY29uIGRhdGEgKi9cbiAgZ2V0TGV4aWNvbkRhdGE6IEZ1bmN0aW9uO1xuICAvKiogdHJ1ZSBpZiBicm93c2luZyBOVCAqL1xuICBpc05UOiBib29sZWFuO1xuICAvKiogY3VycmVudCByZWZlcmVuY2UgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgcmVmZXJlbmNlICoqL1xuICByZWZTdHlsZTogYW55O1xuICAvKiogb2JqZWN0IHRoYXQgY29udGFpbnMgcmVzb3VyY2UgbG9hZGluZyBzdGF0dXMgb3IgZmV0Y2hpbmcgZXJyb3JzICovXG4gIHJlc291cmNlU3RhdHVzOiBvYmplY3R8dW5kZWZpbmVkO1xuICAvKiogcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkICovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHRydWUgaWYgY3VycmVudGx5IHNhdmluZyB1cGRhdGVkIHRleHQgYW5kIGFsaWdubWVudHMgKi9cbiAgc2F2aW5nOiBib29sZWFuO1xuICAvLyBpbml0aWFsaXphdGlvbiBmb3IgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdFxuICBzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnOiBTY3JpcHR1cmVBTGlnbm1lbnRFZGl0UHJvcHMsXG4gIC8qKiBzZXJ2ZXIgKi9cbiAgc2VydmVyOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogY2FsbGJhY2sgdG8gZmxhZyB1bnNhdmVkIHN0YXR1cyAqL1xuICBzZXRTYXZlZENoYW5nZXM6IEZ1bmN0aW9uO1xuICAvLyBjYWxsYmFjayBmb3IgY2hhbmdlIGluIHdvcmQgYWxpZ25tZW50IHN0YXR1c1xuICBzZXRXb3JkQWxpZ25lclN0YXR1czogRnVuY3Rpb247XG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogRnVuY3Rpb247XG59XG5cbmNvbnN0IE1lc3NhZ2VTdHlsZSA9IHtcbiAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcbiAgbGluZUhlaWdodDogJ25vcm1hbCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICBmb250V2VpZ2h0OiAnYm9sZCcsXG59XG5cbmNvbnN0IFRleHRBcmVhU3R5bGUgPSB7XG4gIGhlaWdodDogJzYwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIG1pbldpZHRoOiAnMjIwcHgnLFxuICBmb250U2l6ZTogJzE2cHgnLFxufVxuXG5mdW5jdGlvbiBTY3JpcHR1cmVQYW5lKHtcbiAgcmVmZXJlbmNlLFxuICByZWZTdHlsZSxcbiAgZGlyZWN0aW9uLFxuICBjdXJyZW50SW5kZXgsXG4gIGNvbnRlbnRTdHlsZSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICByZXNvdXJjZVN0YXR1cyxcbiAgcmVzb3VyY2VMaW5rLFxuICBzZXJ2ZXIsXG4gIGlzTlQsXG4gIGZvbnRTaXplLFxuICBnZXRMZXhpY29uRGF0YSxcbiAgdHJhbnNsYXRlLFxuICBzYXZpbmcsXG4gIHNjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcsXG4gIHNldFNhdmVkQ2hhbmdlcyxcbiAgc2V0V29yZEFsaWduZXJTdGF0dXMsXG59IDogUHJvcHMpIHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV9dID0gUmVhY3QudXNlU3RhdGUoe1xuICAgIGRvaW5nQWxpZ25tZW50OiBmYWxzZSxcbiAgICBuZXdUZXh0OiBudWxsLFxuICAgIHVybEVycm9yOiBudWxsLFxuICB9KVxuICBjb25zdCB7XG4gICAgZG9pbmdBbGlnbm1lbnQsXG4gICAgbmV3VGV4dCxcbiAgICB1cmxFcnJvcixcbiAgfSA9IHN0YXRlXG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICBzZXRTdGF0ZV8ocHJldlN0YXRlID0+ICh7IC4uLnByZXZTdGF0ZSwgLi4ubmV3U3RhdGUgfSkpXG4gIH1cblxuICBjb25zdCBbaW5pdGlhbFZlcnNlVGV4dCwgc2V0SW5pdGlhbFZlcnNlVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKVxuICBjb25zdCByZXNvdXJjZU1zZyA9IHNhdmluZyA/ICdTYXZpbmcgQ2hhbmdlcy4uLicgOiBnZXRSZXNvdXJjZU1lc3NhZ2UocmVzb3VyY2VTdGF0dXMsIHNlcnZlciwgcmVzb3VyY2VMaW5rLCBpc05UKVxuICBjb25zdCB7IGNoYXB0ZXIsIHZlcnNlIH0gPSByZWZlcmVuY2VcbiAgZGlyZWN0aW9uID0gZGlyZWN0aW9uIHx8ICdsdHInXG5cbiAgcmVmU3R5bGUgPSByZWZTdHlsZSB8fCB7XG4gICAgZm9udEZhbWlseTogJ05vdG8gU2FucycsXG4gICAgZm9udFNpemU6ICc5MCUnLFxuICB9XG5cbiAgY29udGVudFN0eWxlID0gY29udGVudFN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzEwMCUnLFxuICB9XG5cbiAgY29uc3QgX3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcgPSB7XG4gICAgLi4uc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyxcbiAgICBpbml0aWFsVmVyc2VUZXh0LFxuICB9XG5cbiAgY29uc3QgX3NjcmlwdHVyZUFsaWdubWVudEVkaXQgPSB1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0KF9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnKVxuICBjb25zdCB7XG4gICAgYWN0aW9uczoge1xuICAgICAgaGFuZGxlQWxpZ25tZW50Q2xpY2ssXG4gICAgICBzZXRFZGl0aW5nLFxuICAgICAgc2V0VmVyc2VDaGFuZ2VkLFxuICAgIH0sXG4gICAgc3RhdGU6IHtcbiAgICAgIGFsaWduZWQsXG4gICAgICBhbGlnbmVyRGF0YSxcbiAgICAgIGN1cnJlbnRWZXJzZU9iamVjdHMsXG4gICAgICBpbml0aWFsVmVyc2VPYmplY3RzLFxuICAgICAgZWRpdGluZyxcbiAgICAgIHVuc2F2ZWRDaGFuZ2VzLFxuICAgICAgbmV3VmVyc2VUZXh0LFxuICAgIH0sXG4gIH0gPSBfc2NyaXB0dXJlQWxpZ25tZW50RWRpdFxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFsaWduZXJEYXRhICYmICFkb2luZ0FsaWdubWVudCkge1xuICAgICAgc2V0V29yZEFsaWduZXJTdGF0dXMgJiYgc2V0V29yZEFsaWduZXJTdGF0dXMoX3NjcmlwdHVyZUFsaWdubWVudEVkaXQpXG4gICAgICBzZXRTdGF0ZSh7IGRvaW5nQWxpZ25tZW50OiB0cnVlIH0pXG4gICAgfSBlbHNlIGlmIChkb2luZ0FsaWdubWVudCkge1xuICAgICAgc2V0V29yZEFsaWduZXJTdGF0dXMgJiYgc2V0V29yZEFsaWduZXJTdGF0dXMoX3NjcmlwdHVyZUFsaWdubWVudEVkaXQpXG4gICAgICBzZXRTdGF0ZSh7IGRvaW5nQWxpZ25tZW50OiBmYWxzZSB9KVxuICAgIH1cbiAgfSwgW19zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Py5zdGF0ZT8uYWxpZ25lckRhdGFdKVxuXG4gIC8vIGR5bmFtaWNhbGx5IGFkanVzdCBmb250IHNpemVcbiAgY29uc3QgY2FsY3VsYXRlZEZvbnRTaXplID0gUmVhY3QudXNlTWVtbygoKSA9PiAoXG4gICAgcGFyc2VGbG9hdChUZXh0QXJlYVN0eWxlLmZvbnRTaXplKSAqIGZvbnRTaXplIC8gMTAwICsgJ3B4J1xuICApLCBbZm9udFNpemVdKVxuXG4gIGNvbnN0IHRleHRBcmVhU3R5bGUgPSB7XG4gICAgLi4uY29udGVudFN0eWxlLFxuICAgIC4uLlRleHRBcmVhU3R5bGUsXG4gICAgZm9udFNpemU6IGNhbGN1bGF0ZWRGb250U2l6ZSxcbiAgfVxuXG4gIHVzZURlZXBDb21wYXJlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB2ZXJzZVRleHQgPSBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLmdldFVzZm1Gb3JWZXJzZUNvbnRlbnQoeyB2ZXJzZU9iamVjdHM6IGluaXRpYWxWZXJzZU9iamVjdHMgfSlcbiAgICBzZXRJbml0aWFsVmVyc2VUZXh0KHZlcnNlVGV4dClcbiAgfSwgW3sgcmVmZXJlbmNlLCBpbml0aWFsVmVyc2VPYmplY3RzIH1dKVxuXG4gIGZ1bmN0aW9uIG9uVGV4dENoYW5nZShldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgICBjb25zdCBuZXdWZXJzZVRleHQgPSBldmVudD8udGFyZ2V0Py52YWx1ZVxuICAgIGNvbnN0IGNoYW5nZWQgPSBuZXdWZXJzZVRleHQgIT09IGluaXRpYWxWZXJzZVRleHRcbiAgICBjb25zb2xlLmxvZyhgU1Aub25UZXh0Q2hhbmdlYCwgeyBjaGFuZ2VkLCBuZXdUZXh0OiBuZXdWZXJzZVRleHQsIGluaXRpYWxWZXJzZVRleHQgfSlcbiAgICBzZXRWZXJzZUNoYW5nZWQoY2hhbmdlZCwgbmV3VmVyc2VUZXh0LCBpbml0aWFsVmVyc2VUZXh0KVxuICAgIHNldFN0YXRlKHsgbmV3VGV4dDogbmV3VmVyc2VUZXh0IH0pXG4gIH1cblxuICBmdW5jdGlvbiBvbkJsdXIoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSB7XG4gICAgc2V0RWRpdGluZyhmYWxzZSwgbmV3VGV4dClcbiAgfVxuXG4gIGNvbnN0IGNoZWNraW5nU3RhdGUgPSBhbGlnbmVkID8gJ3ZhbGlkJyA6ICdpbnZhbGlkJ1xuICBjb25zdCB0aXRsZVRleHQgPSBjaGVja2luZ1N0YXRlID09PSAndmFsaWQnID8gJ0FsaWdubWVudCBpcyBWYWxpZCcgOiAnQWxpZ25tZW50IGlzIEludmFsaWQnXG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIHN0eWxlPXt7IGRpcmVjdGlvbiwgd2lkdGg6ICcxMDAlJywgcGFkZGluZ0JvdHRvbTogJzAuNWVtJyB9fT5cbiAgICAgIHtyZXNvdXJjZU1zZyA/XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgPGRpdiBzdHlsZT17TWVzc2FnZVN0eWxlfT5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGZvbnRTaXplOiBgJHtmb250U2l6ZX0lYCB9fT4ge3Jlc291cmNlTXNnfSA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDpcbiAgICAgICAgPENvbnRlbnQ+XG4gICAgICAgICAgPHNwYW4gc3R5bGU9e3JlZlN0eWxlfT4ge2NoYXB0ZXJ9Ont2ZXJzZX0mbmJzcDs8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gc3R5bGU9e2NvbnRlbnRTdHlsZX0gb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgc2V0RWRpdGluZyAmJiBzZXRFZGl0aW5nKHRydWUpXG4gICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7ZWRpdGluZyA/XG4gICAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17bmV3VmVyc2VUZXh0IHx8IGluaXRpYWxWZXJzZVRleHR9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e29uVGV4dENoYW5nZX1cbiAgICAgICAgICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGV4dEFyZWFTdHlsZX1cbiAgICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgOlxuICAgICAgICAgICAgICA8VmVyc2VPYmplY3RzXG4gICAgICAgICAgICAgICAgdmVyc2VLZXk9e2Ake3JlZmVyZW5jZS5jaGFwdGVyfToke3JlZmVyZW5jZS52ZXJzZX1gfVxuICAgICAgICAgICAgICAgIHZlcnNlT2JqZWN0cz17Y3VycmVudFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzfVxuICAgICAgICAgICAgICAgIGRpc2FibGVXb3JkUG9wb3Zlcj17ZGlzYWJsZVdvcmRQb3BvdmVyfVxuICAgICAgICAgICAgICAgIGdldExleGljb25EYXRhPXtnZXRMZXhpY29uRGF0YX1cbiAgICAgICAgICAgICAgICB0cmFuc2xhdGU9e3RyYW5zbGF0ZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAge3NldFdvcmRBbGlnbmVyU3RhdHVzICYmXG4gICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICBrZXk9J2NoZWNraW5nLWJ1dHRvbidcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQWxpZ25tZW50Q2xpY2soKX1cbiAgICAgICAgICAgICAgdGl0bGU9e3RpdGxlVGV4dH1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dGl0bGVUZXh0fVxuICAgICAgICAgICAgICBzdHlsZT17eyBjdXJzb3I6ICdwb2ludGVyJyB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Y2hlY2tpbmdTdGF0ZSA9PT0gJ3ZhbGlkJyA/IChcbiAgICAgICAgICAgICAgICA8UnhMaW5rMiBpZD0ndmFsaWRfaWNvbicgY29sb3I9JyNCQkInIC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPFJ4TGlua0JyZWFrMiBpZD0naW52YWxpZF9pY29uJyBjb2xvcj0nIzAwMCcgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgIDwvQ29udGVudD5cbiAgICAgIH1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKVxufVxuXG5TY3JpcHR1cmVQYW5lLmRlZmF1bHRQcm9wcyA9IHsgdmVyc2VPYmplY3RzOiBbXSB9XG5cbmV4cG9ydCBkZWZhdWx0IFNjcmlwdHVyZVBhbmVcbiJdfQ==
|
|
250
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJSeExpbmsyIiwiUnhMaW5rQnJlYWsyIiwiSWNvbkJ1dHRvbiIsIlNjcmlwdHVyZVJlZmVyZW5jZSIsImdldFJlc291cmNlTWVzc2FnZSIsIlNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcyIsInVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQiLCJDb250YWluZXIiLCJDb250ZW50IiwiTWVzc2FnZVN0eWxlIiwiZGlyZWN0aW9uIiwid2hpdGVTcGFjZSIsImxpbmVIZWlnaHQiLCJkaXNwbGF5IiwianVzdGlmeUNvbnRlbnQiLCJhbGlnbkl0ZW1zIiwiaGVpZ2h0Iiwid2lkdGgiLCJmb250U2l6ZSIsImZvbnRGYW1pbHkiLCJmb250V2VpZ2h0IiwiVGV4dEFyZWFTdHlsZSIsIm1pbldpZHRoIiwiU2NyaXB0dXJlUGFuZSIsInJlZmVyZW5jZSIsInJlZlN0eWxlIiwiY3VycmVudEluZGV4IiwiY29udGVudFN0eWxlIiwiZGlzYWJsZVdvcmRQb3BvdmVyIiwicmVzb3VyY2VTdGF0dXMiLCJyZXNvdXJjZUxpbmsiLCJzZXJ2ZXIiLCJpc05UIiwiZ2V0TGV4aWNvbkRhdGEiLCJ0cmFuc2xhdGUiLCJzYXZpbmciLCJzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwic2V0U2F2ZWRDaGFuZ2VzIiwic2V0V29yZEFsaWduZXJTdGF0dXMiLCJtZXJnaW5nIiwidXNlU3RhdGUiLCJkb2luZ0FsaWdubWVudCIsIm5ld1RleHQiLCJ1cmxFcnJvciIsInN0YXRlIiwic2V0U3RhdGVfIiwic2V0U3RhdGUiLCJuZXdTdGF0ZSIsInByZXZTdGF0ZSIsImluaXRpYWxWZXJzZVRleHQiLCJzZXRJbml0aWFsVmVyc2VUZXh0IiwicmVzb3VyY2VNZXNzYWdlIiwiY2hhcHRlciIsInZlcnNlIiwiX3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWciLCJfc2NyaXB0dXJlQWxpZ25tZW50RWRpdCIsImFjdGlvbnMiLCJoYW5kbGVBbGlnbm1lbnRDbGljayIsInNldEVkaXRpbmciLCJzZXRWZXJzZUNoYW5nZWQiLCJhbGlnbmVkIiwiYWxpZ25lckRhdGEiLCJjdXJyZW50VmVyc2VPYmplY3RzIiwiaW5pdGlhbFZlcnNlT2JqZWN0cyIsImVkaXRpbmciLCJ1bnNhdmVkQ2hhbmdlcyIsIm5ld1ZlcnNlVGV4dCIsInVzZUVmZmVjdCIsImNhbGN1bGF0ZWRGb250U2l6ZSIsInVzZU1lbW8iLCJwYXJzZUZsb2F0IiwidGV4dEFyZWFTdHlsZSIsInZlcnNlVGV4dCIsImdldFVzZm1Gb3JWZXJzZUNvbnRlbnQiLCJ2ZXJzZU9iamVjdHMiLCJvblRleHRDaGFuZ2UiLCJldmVudCIsInRhcmdldCIsInZhbHVlIiwiY2hhbmdlZCIsImNvbnNvbGUiLCJsb2ciLCJvbkJsdXIiLCJjaGVja2luZ1N0YXRlIiwidGl0bGVUZXh0IiwicGFkZGluZ0JvdHRvbSIsInJlc291cmNlTXNnIiwiY3Vyc29yIiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBQ0EsT0FBT0Msb0JBQVAsTUFBaUMseUJBQWpDO0FBQ0EsU0FBU0MsWUFBVCxRQUE2Qix5QkFBN0I7QUFDQSxTQUFTQyx5QkFBVCxRQUEwQyxrQkFBMUM7QUFDQSxTQUFTQyxPQUFULEVBQWtCQyxZQUFsQixRQUFzQyxnQkFBdEM7QUFDQSxTQUFTQyxVQUFULFFBQTJCLGVBQTNCO0FBQ0EsU0FBU0Msa0JBQVQsUUFBbUMsYUFBbkM7QUFDQSxTQUFTQyxrQkFBVCxRQUFtQyxhQUFuQztBQUNBLFNBQVNDLDJCQUFULEVBQXNDQyx5QkFBdEMsUUFBdUUsdUNBQXZFO0FBQ0EsU0FBU0MsU0FBVCxFQUFv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YyxJQUFBLEVBQUUsRUFBQyxjQUFqQjtBQUFnQyxJQUFBLEtBQUssRUFBQztBQUF0QyxJQVZKLENBekJKLENBUEosQ0FERjtBQW1ERDs7QUFFRDVELGFBQWEsQ0FBQ2lFLFlBQWQsR0FBNkI7QUFBRWQsRUFBQUEsWUFBWSxFQUFFO0FBQWhCLENBQTdCO0FBRUEsZUFBZW5ELGFBQWYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tICdyZWFjdCdcbmltcG9ydCB1c2VEZWVwQ29tcGFyZUVmZmVjdCBmcm9tICd1c2UtZGVlcC1jb21wYXJlLWVmZmVjdCdcbmltcG9ydCB7IFZlcnNlT2JqZWN0cyB9IGZyb20gJ3NjcmlwdHVyZS1yZXNvdXJjZXMtcmNsJ1xuaW1wb3J0IHsgVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycyB9IGZyb20gJ3dvcmQtYWxpZ25lci1yY2wnXG5pbXBvcnQgeyBSeExpbmsyLCBSeExpbmtCcmVhazIgfSBmcm9tICdyZWFjdC1pY29ucy9yeCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICdAbXVpL21hdGVyaWFsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1lc3NhZ2UgfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7IFNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcywgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCB9IGZyb20gXCIuLi8uLi9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0XCI7XG5pbXBvcnQgeyBDb250YWluZXIsIENvbnRlbnQgfSBmcm9tICcuL3N0eWxlZCdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqIG9wdGlvbmFsIHN0eWxlcyB0byB1c2UgZm9yIGNvbnRlbnQgKiovXG4gIGNvbnRlbnRTdHlsZTogYW55O1xuICAvLyBpbmRleCBudW1iZXIgZm9yIHRoaXMgc2NyaXB0dXJlIHBhbmVcbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gdG8gdXNlICoqL1xuICBkaXJlY3Rpb246IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiBpZiB0cnVlIHRoZW4gZG8gbm90IGRpc3BsYXkgbGV4aWNvbiBwb3BvdmVyIG9uIGhvdmVyICoqL1xuICBkaXNhYmxlV29yZFBvcG92ZXI6IGJvb2xlYW58dW5kZWZpbmVkO1xuICAvKiogZm9udCBzaXplIGZvciBtZXNzYWdlcyAqL1xuICBmb250U2l6ZTogbnVtYmVyO1xuICAvKiogZnVuY3Rpb24gdG8gZ2V0IGxhdGVzdCBsZXhpY29uIGRhdGEgKi9cbiAgZ2V0TGV4aWNvbkRhdGE6IEZ1bmN0aW9uO1xuICAvKiogdHJ1ZSBpZiBicm93c2luZyBOVCAqL1xuICBpc05UOiBib29sZWFuO1xuICAvKiogY3VycmVudCByZWZlcmVuY2UgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgcmVmZXJlbmNlICoqL1xuICByZWZTdHlsZTogYW55O1xuICAvKiogb2JqZWN0IHRoYXQgY29udGFpbnMgcmVzb3VyY2UgbG9hZGluZyBzdGF0dXMgb3IgZmV0Y2hpbmcgZXJyb3JzICovXG4gIHJlc291cmNlU3RhdHVzOiBvYmplY3R8dW5kZWZpbmVkO1xuICAvKiogcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkICovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHRydWUgaWYgY3VycmVudGx5IHNhdmluZyB1cGRhdGVkIHRleHQgYW5kIGFsaWdubWVudHMgKi9cbiAgc2F2aW5nOiBib29sZWFuO1xuICAvLyBpbml0aWFsaXphdGlvbiBmb3IgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdFxuICBzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnOiBTY3JpcHR1cmVBTGlnbm1lbnRFZGl0UHJvcHMsXG4gIC8qKiBzZXJ2ZXIgKi9cbiAgc2VydmVyOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogY2FsbGJhY2sgdG8gZmxhZyB1bnNhdmVkIHN0YXR1cyAqL1xuICBzZXRTYXZlZENoYW5nZXM6IEZ1bmN0aW9uO1xuICAvLyBjYWxsYmFjayBmb3IgY2hhbmdlIGluIHdvcmQgYWxpZ25tZW50IHN0YXR1c1xuICBzZXRXb3JkQWxpZ25lclN0YXR1czogRnVuY3Rpb247XG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogRnVuY3Rpb247XG59XG5cbmNvbnN0IE1lc3NhZ2VTdHlsZSA9IHtcbiAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcbiAgbGluZUhlaWdodDogJ25vcm1hbCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICBmb250V2VpZ2h0OiAnYm9sZCcsXG59XG5cbmNvbnN0IFRleHRBcmVhU3R5bGUgPSB7XG4gIGhlaWdodDogJzYwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIG1pbldpZHRoOiAnMjIwcHgnLFxuICBmb250U2l6ZTogJzE2cHgnLFxufVxuXG5mdW5jdGlvbiBTY3JpcHR1cmVQYW5lKHtcbiAgcmVmZXJlbmNlLFxuICByZWZTdHlsZSxcbiAgZGlyZWN0aW9uLFxuICBjdXJyZW50SW5kZXgsXG4gIGNvbnRlbnRTdHlsZSxcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICByZXNvdXJjZVN0YXR1cyxcbiAgcmVzb3VyY2VMaW5rLFxuICBzZXJ2ZXIsXG4gIGlzTlQsXG4gIGZvbnRTaXplLFxuICBnZXRMZXhpY29uRGF0YSxcbiAgdHJhbnNsYXRlLFxuICBzYXZpbmcsXG4gIHNjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcsXG4gIHNldFNhdmVkQ2hhbmdlcyxcbiAgc2V0V29yZEFsaWduZXJTdGF0dXMsXG4gIG1lcmdpbmcsXG59IDogUHJvcHMpIHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV9dID0gUmVhY3QudXNlU3RhdGUoe1xuICAgIGRvaW5nQWxpZ25tZW50OiBmYWxzZSxcbiAgICBuZXdUZXh0OiBudWxsLFxuICAgIHVybEVycm9yOiBudWxsLFxuICB9KVxuICBjb25zdCB7XG4gICAgZG9pbmdBbGlnbm1lbnQsXG4gICAgbmV3VGV4dCxcbiAgICB1cmxFcnJvcixcbiAgfSA9IHN0YXRlXG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICBzZXRTdGF0ZV8ocHJldlN0YXRlID0+ICh7IC4uLnByZXZTdGF0ZSwgLi4ubmV3U3RhdGUgfSkpXG4gIH1cblxuICBjb25zdCBbaW5pdGlhbFZlcnNlVGV4dCwgc2V0SW5pdGlhbFZlcnNlVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKVxuXG4gIGxldCByZXNvdXJjZU1lc3NhZ2UgPSAnJ1xuICBpZiAoc2F2aW5nKSB7XG4gICAgcmVzb3VyY2VNZXNzYWdlID0gJ1NhdmluZyBDaGFuZ2VzLi4uJ1xuICB9IGVsc2UgaWYgKG1lcmdpbmcpIHtcbiAgICByZXNvdXJjZU1lc3NhZ2UgPSAnTWVyZ2luZyBDaGFuZ2VzLi4uJ1xuICB9IGVsc2Uge1xuICAgIHJlc291cmNlTWVzc2FnZSA9IGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1cywgc2VydmVyLCByZXNvdXJjZUxpbmssIGlzTlQpXG4gIH1cbiAgXG4gIGNvbnN0IHsgY2hhcHRlciwgdmVyc2UgfSA9IHJlZmVyZW5jZVxuICBkaXJlY3Rpb24gPSBkaXJlY3Rpb24gfHwgJ2x0cidcblxuICByZWZTdHlsZSA9IHJlZlN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzkwJScsXG4gIH1cblxuICBjb250ZW50U3R5bGUgPSBjb250ZW50U3R5bGUgfHwge1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiAnMTAwJScsXG4gIH1cblxuICBjb25zdCBfc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyA9IHtcbiAgICAuLi5zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnLFxuICAgIGluaXRpYWxWZXJzZVRleHQsXG4gIH1cblxuICBjb25zdCBfc2NyaXB0dXJlQWxpZ25tZW50RWRpdCA9IHVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQoX3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcpXG4gIGNvbnN0IHtcbiAgICBhY3Rpb25zOiB7XG4gICAgICBoYW5kbGVBbGlnbm1lbnRDbGljayxcbiAgICAgIHNldEVkaXRpbmcsXG4gICAgICBzZXRWZXJzZUNoYW5nZWQsXG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgYWxpZ25lZCxcbiAgICAgIGFsaWduZXJEYXRhLFxuICAgICAgY3VycmVudFZlcnNlT2JqZWN0cyxcbiAgICAgIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gICAgICBlZGl0aW5nLFxuICAgICAgdW5zYXZlZENoYW5nZXMsXG4gICAgICBuZXdWZXJzZVRleHQsXG4gICAgfSxcbiAgfSA9IF9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYWxpZ25lckRhdGEgJiYgIWRvaW5nQWxpZ25tZW50KSB7XG4gICAgICBzZXRXb3JkQWxpZ25lclN0YXR1cyAmJiBzZXRXb3JkQWxpZ25lclN0YXR1cyhfc2NyaXB0dXJlQWxpZ25tZW50RWRpdClcbiAgICAgIHNldFN0YXRlKHsgZG9pbmdBbGlnbm1lbnQ6IHRydWUgfSlcbiAgICB9IGVsc2UgaWYgKGRvaW5nQWxpZ25tZW50KSB7XG4gICAgICBzZXRXb3JkQWxpZ25lclN0YXR1cyAmJiBzZXRXb3JkQWxpZ25lclN0YXR1cyhfc2NyaXB0dXJlQWxpZ25tZW50RWRpdClcbiAgICAgIHNldFN0YXRlKHsgZG9pbmdBbGlnbm1lbnQ6IGZhbHNlIH0pXG4gICAgfVxuICB9LCBbX3NjcmlwdHVyZUFsaWdubWVudEVkaXQ/LnN0YXRlPy5hbGlnbmVyRGF0YV0pXG5cbiAgLy8gZHluYW1pY2FsbHkgYWRqdXN0IGZvbnQgc2l6ZVxuICBjb25zdCBjYWxjdWxhdGVkRm9udFNpemUgPSBSZWFjdC51c2VNZW1vKCgpID0+IChcbiAgICBwYXJzZUZsb2F0KFRleHRBcmVhU3R5bGUuZm9udFNpemUpICogZm9udFNpemUgLyAxMDAgKyAncHgnXG4gICksIFtmb250U2l6ZV0pXG5cbiAgY29uc3QgdGV4dEFyZWFTdHlsZSA9IHtcbiAgICAuLi5jb250ZW50U3R5bGUsXG4gICAgLi4uVGV4dEFyZWFTdHlsZSxcbiAgICBmb250U2l6ZTogY2FsY3VsYXRlZEZvbnRTaXplLFxuICB9XG5cbiAgdXNlRGVlcENvbXBhcmVFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHZlcnNlVGV4dCA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuZ2V0VXNmbUZvclZlcnNlQ29udGVudCh7IHZlcnNlT2JqZWN0czogaW5pdGlhbFZlcnNlT2JqZWN0cyB9KVxuICAgIHNldEluaXRpYWxWZXJzZVRleHQodmVyc2VUZXh0KVxuICB9LCBbeyByZWZlcmVuY2UsIGluaXRpYWxWZXJzZU9iamVjdHMgfV0pXG5cbiAgZnVuY3Rpb24gb25UZXh0Q2hhbmdlKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIGNvbnN0IG5ld1ZlcnNlVGV4dCA9IGV2ZW50Py50YXJnZXQ/LnZhbHVlXG4gICAgY29uc3QgY2hhbmdlZCA9IG5ld1ZlcnNlVGV4dCAhPT0gaW5pdGlhbFZlcnNlVGV4dFxuICAgIGNvbnNvbGUubG9nKGBTUC5vblRleHRDaGFuZ2VgLCB7IGNoYW5nZWQsIG5ld1RleHQ6IG5ld1ZlcnNlVGV4dCwgaW5pdGlhbFZlcnNlVGV4dCB9KVxuICAgIHNldFZlcnNlQ2hhbmdlZChjaGFuZ2VkLCBuZXdWZXJzZVRleHQsIGluaXRpYWxWZXJzZVRleHQpXG4gICAgc2V0U3RhdGUoeyBuZXdUZXh0OiBuZXdWZXJzZVRleHQgfSlcbiAgfVxuXG4gIGZ1bmN0aW9uIG9uQmx1cihldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgICBzZXRFZGl0aW5nKGZhbHNlLCBuZXdUZXh0KVxuICB9XG5cbiAgY29uc3QgY2hlY2tpbmdTdGF0ZSA9IGFsaWduZWQgPyAndmFsaWQnIDogJ2ludmFsaWQnXG4gIGNvbnN0IHRpdGxlVGV4dCA9IGNoZWNraW5nU3RhdGUgPT09ICd2YWxpZCcgPyAnQWxpZ25tZW50IGlzIFZhbGlkJyA6ICdBbGlnbm1lbnQgaXMgSW52YWxpZCdcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgc3R5bGU9e3sgZGlyZWN0aW9uLCB3aWR0aDogJzEwMCUnLCBwYWRkaW5nQm90dG9tOiAnMC41ZW0nIH19PlxuICAgICAge3Jlc291cmNlTXNnID9cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICA8ZGl2IHN0eWxlPXtNZXNzYWdlU3R5bGV9PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IGAke2ZvbnRTaXplfSVgIH19PiB7cmVzb3VyY2VNc2d9IDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgOlxuICAgICAgICA8Q29udGVudD5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17cmVmU3R5bGV9PiB7Y2hhcHRlcn06e3ZlcnNlfSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17Y29udGVudFN0eWxlfSBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRFZGl0aW5nICYmIHNldEVkaXRpbmcodHJ1ZSlcbiAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtlZGl0aW5nID9cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtuZXdWZXJzZVRleHQgfHwgaW5pdGlhbFZlcnNlVGV4dH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25UZXh0Q2hhbmdlfVxuICAgICAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt0ZXh0QXJlYVN0eWxlfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgIDxWZXJzZU9iamVjdHNcbiAgICAgICAgICAgICAgICB2ZXJzZUtleT17YCR7cmVmZXJlbmNlLmNoYXB0ZXJ9OiR7cmVmZXJlbmNlLnZlcnNlfWB9XG4gICAgICAgICAgICAgICAgdmVyc2VPYmplY3RzPXtjdXJyZW50VmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyPXtkaXNhYmxlV29yZFBvcG92ZXJ9XG4gICAgICAgICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICB7c2V0V29yZEFsaWduZXJTdGF0dXMgJiZcbiAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgIGtleT0nY2hlY2tpbmctYnV0dG9uJ1xuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVBbGlnbm1lbnRDbGljaygpfVxuICAgICAgICAgICAgICB0aXRsZT17dGl0bGVUZXh0fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt0aXRsZVRleHR9XG4gICAgICAgICAgICAgIHN0eWxlPXt7IGN1cnNvcjogJ3BvaW50ZXInIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtjaGVja2luZ1N0YXRlID09PSAndmFsaWQnID8gKFxuICAgICAgICAgICAgICAgIDxSeExpbmsyIGlkPSd2YWxpZF9pY29uJyBjb2xvcj0nI0JCQicgLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8UnhMaW5rQnJlYWsyIGlkPSdpbnZhbGlkX2ljb24nIGNvbG9yPScjMDAwJyAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9Db250ZW50PlxuICAgICAgfVxuICAgIDwvQ29udGFpbmVyPlxuICApXG59XG5cblNjcmlwdHVyZVBhbmUuZGVmYXVsdFByb3BzID0geyB2ZXJzZU9iamVjdHM6IFtdIH1cblxuZXhwb3J0IGRlZmF1bHQgU2NyaXB0dXJlUGFuZVxuIl19
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "single-scripture-rcl",
|
|
3
3
|
"description": "A React Component Library for Rendering a Single Scripture Resource.",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.7-beta",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/unfoldingWord/single-scripture-rcl.git"
|