single-scripture-rcl 3.3.3-patch.5 → 3.3.3-patch.6

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.
@@ -192,6 +192,9 @@ function ScripturePane(_ref) {
192
192
  });
193
193
  clearChanges();
194
194
  setInitialVerseText(verseText);
195
+ setState({
196
+ newText: null
197
+ });
195
198
  }, [{
196
199
  basicReference: basicReference,
197
200
  initialVerseObjects: initialVerseObjects
@@ -254,4 +257,4 @@ ScripturePane.defaultProps = {
254
257
  verseObjects: []
255
258
  };
256
259
  export default ScripturePane;
257
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJnZXRSZXNvdXJjZU1lc3NhZ2UiLCJMT0FESU5HX1JFU09VUkNFIiwiU2NyaXB0dXJlQUxpZ25tZW50RWRpdFByb3BzIiwidXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCIsIkNvbnRhaW5lciIsIkNvbnRlbnQiLCJNZXNzYWdlU3R5bGUiLCJkaXJlY3Rpb24iLCJ3aGl0ZVNwYWNlIiwibGluZUhlaWdodCIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJoZWlnaHQiLCJ3aWR0aCIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJUZXh0QXJlYVN0eWxlIiwibWluV2lkdGgiLCJTY3JpcHR1cmVQYW5lIiwiY3VycmVudEluZGV4IiwiY29udGVudFN0eWxlIiwiZGV0ZXJtaW5pbmdCcmFuY2giLCJkaXNhYmxlV29yZFBvcG92ZXIiLCJnZXRMZXhpY29uRGF0YSIsImlzTlQiLCJpc1ZlcnNlU2VsZWN0ZWRGb3JBbGlnbm1lbnQiLCJvbkFsaWdubWVudEZpbmlzaCIsIm9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMiLCJyZWZlcmVuY2UiLCJyZWZTdHlsZSIsInJlc291cmNlU3RhdHVzIiwicmVzb3VyY2VMaW5rIiwic2F2aW5nIiwic2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyIsInNldFNhdmVkQ2hhbmdlcyIsInNldFdvcmRBbGlnbmVyU3RhdHVzIiwic2VydmVyIiwidHJhbnNsYXRlIiwidXBkYXRlVmVyc2VzQWxpZ25tZW50U3RhdHVzIiwidXNlU3RhdGUiLCJkb2luZ0FsaWdubWVudCIsIm5ld1RleHQiLCJ1cmxFcnJvciIsInN0YXRlIiwic2V0U3RhdGVfIiwic2V0U3RhdGUiLCJuZXdTdGF0ZSIsInByZXZTdGF0ZSIsImluaXRpYWxWZXJzZVRleHQiLCJzZXRJbml0aWFsVmVyc2VUZXh0IiwicmVzb3VyY2VNc2ciLCJjaGFwdGVyIiwidmVyc2UiLCJwcm9qZWN0SWQiLCJiYXNpY1JlZmVyZW5jZSIsIl9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwiX3NjcmlwdHVyZUFsaWdubWVudEVkaXQiLCJhY3Rpb25zIiwiY2xlYXJDaGFuZ2VzIiwiaGFuZGxlQWxpZ25tZW50Q2xpY2siLCJzZXRFZGl0aW5nIiwic2V0VmVyc2VDaGFuZ2VkIiwiYWxpZ25lZCIsImFsaWduZXJEYXRhIiwiY3VycmVudFZlcnNlT2JqZWN0cyIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJlZGl0aW5nIiwidW5zYXZlZENoYW5nZXMiLCJuZXdWZXJzZVRleHQiLCJjb25zb2xlIiwibG9nIiwidXNlRWZmZWN0IiwiY2FsY3VsYXRlZEZvbnRTaXplIiwidXNlTWVtbyIsInBhcnNlRmxvYXQiLCJ0ZXh0QXJlYVN0eWxlIiwidmVyc2VUZXh0IiwiZ2V0VXNmbUZvclZlcnNlQ29udGVudCIsInZlcnNlT2JqZWN0cyIsIm9uVGV4dENoYW5nZSIsImV2ZW50IiwidGFyZ2V0IiwidmFsdWUiLCJjaGFuZ2VkIiwib25CbHVyIiwicGFkZGluZ0JvdHRvbSIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUNBLE9BQU9DLG9CQUFQLE1BQWlDLHlCQUFqQztBQUNBLFNBQVNDLFlBQVQsUUFBNkIseUJBQTdCO0FBQ0EsU0FBU0MseUJBQVQsUUFBMEMsa0JBQTFDO0FBQ0EsU0FBU0Msa0JBQVQsUUFBbUMsYUFBbkM7QUFDQSxTQUFTQyxrQkFBVCxFQUE2QkMsZ0JBQTdCLFFBQXFELGFBQXJEO0FBQ0EsU0FBU0MsMkJBQVQsRUFBc0NDLHlCQUF0QyxRQUF1RSx1Q0FBdkU7QUFDQSxTQUFTQyxTQUFULEVBQW9CQyxPQUFwQixRQUFtQyxVQUFuQztBQWlEQSxJQUFNQyxZQUFZLEdBQUc7QUFDbkJDLEVBQUFBLFNBQVMsRUFBRSxLQURRO0FBRW5CQyxFQUFBQSxVQUFVLEVBQUUsVUFGTztBQUduQkMsRUFBQUEsVUFBVSxFQUFFLFFBSE87QUFJbkJDLEVBQUFBLE9BQU8sRUFBRSxNQUpVO0FBS25CQyxFQUFBQSxjQUFjLEVBQUUsUUFMRztBQU1uQkMsRUFBQUEsVUFBVSxFQUFFLFFBTk87QUFPbkJDLEVBQUFBLE1BQU0sRUFBRSxNQVBXO0FBUW5CQyxFQUFBQSxLQUFLLEVBQUUsTUFSWTtBQVNuQkMsRUFBQUEsUUFBUSxFQUFFLE1BVFM7QUFVbkJDLEVBQUFBLFVBQVUsRUFBRSxXQVZPO0FBV25CQyxFQUFBQSxVQUFVLEVBQUU7QUFYTyxDQUFyQjtBQWNBLElBQU1DLGFBQWEsR0FBRztBQUNwQkwsRUFBQUEsTUFBTSxFQUFFLEtBRFk7QUFFcEJDLEVBQUFBLEtBQUssRUFBRSxNQUZhO0FBR3BCSyxFQUFBQSxRQUFRLEVBQUUsT0FIVTtBQUlwQkosRUFBQUEsUUFBUSxFQUFFO0FBSlUsQ0FBdEI7O0FBT0EsU0FBU0ssYUFBVCxPQXVCVztBQUFBOztBQUFBLE1BdEJUQyxZQXNCUyxRQXRCVEEsWUFzQlM7QUFBQSxNQXJCVEMsWUFxQlMsUUFyQlRBLFlBcUJTO0FBQUEsTUFwQlRDLGlCQW9CUyxRQXBCVEEsaUJBb0JTO0FBQUEsTUFuQlRoQixTQW1CUyxRQW5CVEEsU0FtQlM7QUFBQSxNQWxCVGlCLGtCQWtCUyxRQWxCVEEsa0JBa0JTO0FBQUEsTUFqQlRULFFBaUJTLFFBakJUQSxRQWlCUztBQUFBLE1BaEJUVSxjQWdCUyxRQWhCVEEsY0FnQlM7QUFBQSxNQWZUQyxJQWVTLFFBZlRBLElBZVM7QUFBQSxNQWRUQywyQkFjUyxRQWRUQSwyQkFjUztBQUFBLE1BYlRDLGlCQWFTLFFBYlRBLGlCQWFTO0FBQUEsTUFaVEMsNEJBWVMsUUFaVEEsNEJBWVM7QUFBQSxNQVhUQyxTQVdTLFFBWFRBLFNBV1M7QUFBQSxNQVZUQyxRQVVTLFFBVlRBLFFBVVM7QUFBQSxNQVRUQyxjQVNTLFFBVFRBLGNBU1M7QUFBQSxNQVJUQyxZQVFTLFFBUlRBLFlBUVM7QUFBQSxNQVBUQyxNQU9TLFFBUFRBLE1BT1M7QUFBQSxNQU5UQyw0QkFNUyxRQU5UQSw0QkFNUztBQUFBLE1BTFRDLGVBS1MsUUFMVEEsZUFLUztBQUFBLE1BSlRDLG9CQUlTLFFBSlRBLG9CQUlTO0FBQUEsTUFIVEMsTUFHUyxRQUhUQSxNQUdTO0FBQUEsTUFGVEMsU0FFUyxRQUZUQSxTQUVTO0FBQUEsTUFEVEMsMkJBQ1MsUUFEVEEsMkJBQ1M7O0FBQUEsd0JBQ2tCN0MsS0FBSyxDQUFDOEMsUUFBTixDQUFlO0FBQ3hDQyxJQUFBQSxjQUFjLEVBQUUsS0FEd0I7QUFFeENDLElBQUFBLE9BQU8sRUFBRSxJQUYrQjtBQUd4Q0MsSUFBQUEsUUFBUSxFQUFFO0FBSDhCLEdBQWYsQ0FEbEI7QUFBQTtBQUFBLE1BQ0ZDLEtBREU7QUFBQSxNQUNLQyxTQURMOztBQUFBLE1BT1BKLGNBUE8sR0FVTEcsS0FWSyxDQU9QSCxjQVBPO0FBQUEsTUFRUEMsT0FSTyxHQVVMRSxLQVZLLENBUVBGLE9BUk87QUFBQSxNQVNQQyxRQVRPLEdBVUxDLEtBVkssQ0FTUEQsUUFUTzs7QUFZVCxXQUFTRyxRQUFULENBQWtCQyxRQUFsQixFQUE0QjtBQUMxQkYsSUFBQUEsU0FBUyxDQUFDLFVBQUFHLFNBQVM7QUFBQSw2Q0FBVUEsU0FBVixHQUF3QkQsUUFBeEI7QUFBQSxLQUFWLENBQVQ7QUFDRDs7QUFkUSx5QkFnQnVDckQsS0FBSyxDQUFDOEMsUUFBTixDQUFlLElBQWYsQ0FoQnZDO0FBQUE7QUFBQSxNQWdCRlMsZ0JBaEJFO0FBQUEsTUFnQmdCQyxtQkFoQmhCOztBQWtCVCxNQUFJQyxXQUFXLEdBQUcsSUFBbEI7O0FBRUEsTUFBSWxCLE1BQUosRUFBWTtBQUNWa0IsSUFBQUEsV0FBVyxHQUFHLG1CQUFkO0FBQ0QsR0FGRCxNQUVPLElBQUk3QixpQkFBSixFQUF1QjtBQUM1QjZCLElBQUFBLFdBQVcsR0FBRyxTQUFTbkQsZ0JBQXZCO0FBQ0QsR0FGTSxNQUVBO0FBQ0xtRCxJQUFBQSxXQUFXLEdBQUdwRCxrQkFBa0IsQ0FBQ2dDLGNBQUQsRUFBaUJNLE1BQWpCLEVBQXlCTCxZQUF6QixFQUF1Q1AsSUFBdkMsQ0FBaEM7QUFDRDs7QUExQlEsTUE2QlAyQixPQTdCTyxHQWdDTHZCLFNBaENLLENBNkJQdUIsT0E3Qk87QUFBQSxNQThCUEMsS0E5Qk8sR0FnQ0x4QixTQWhDSyxDQThCUHdCLEtBOUJPO0FBQUEsTUErQlBDLFNBL0JPLEdBZ0NMekIsU0FoQ0ssQ0ErQlB5QixTQS9CTztBQWlDVGhELEVBQUFBLFNBQVMsR0FBR0EsU0FBUyxJQUFJLEtBQXpCO0FBQ0EsTUFBTWlELGNBQWMsR0FBRztBQUNyQkgsSUFBQUEsT0FBTyxFQUFQQSxPQURxQjtBQUVyQkMsSUFBQUEsS0FBSyxFQUFMQSxLQUZxQjtBQUdyQkMsSUFBQUEsU0FBUyxFQUFUQTtBQUhxQixHQUF2QjtBQU1BeEIsRUFBQUEsUUFBUSxHQUFHQSxRQUFRLElBQUk7QUFDckJmLElBQUFBLFVBQVUsRUFBRSxXQURTO0FBRXJCRCxJQUFBQSxRQUFRLEVBQUU7QUFGVyxHQUF2QjtBQUtBTyxFQUFBQSxZQUFZLEdBQUdBLFlBQVksSUFBSTtBQUM3Qk4sSUFBQUEsVUFBVSxFQUFFLFdBRGlCO0FBRTdCRCxJQUFBQSxRQUFRLEVBQUU7QUFGbUIsR0FBL0I7O0FBS0EsTUFBTTBDLDZCQUE2QixtQ0FDOUJ0Qiw0QkFEOEI7QUFFakNlLElBQUFBLGdCQUFnQixFQUFoQkEsZ0JBRmlDO0FBR2pDckIsSUFBQUEsNEJBQTRCLEVBQTVCQTtBQUhpQyxJQUFuQzs7QUFNQSxNQUFNNkIsdUJBQXVCLEdBQUd2RCx5QkFBeUIsQ0FBQ3NELDZCQUFELENBQXpEOztBQXhEUyw4QkF5RUxDLHVCQXpFSyxDQTBEUEMsT0ExRE87QUFBQSxNQTJETEMsWUEzREsseUJBMkRMQSxZQTNESztBQUFBLE1BNERMQyxvQkE1REsseUJBNERMQSxvQkE1REs7QUFBQSxNQTZETEMsVUE3REsseUJBNkRMQSxVQTdESztBQUFBLE1BOERMQyxlQTlESyx5QkE4RExBLGVBOURLO0FBQUEsK0JBeUVMTCx1QkF6RUssQ0FnRVBiLEtBaEVPO0FBQUEsTUFpRUxtQixPQWpFSywwQkFpRUxBLE9BakVLO0FBQUEsTUFrRUxDLFdBbEVLLDBCQWtFTEEsV0FsRUs7QUFBQSxNQW1FTEMsbUJBbkVLLDBCQW1FTEEsbUJBbkVLO0FBQUEsTUFvRUxDLG1CQXBFSywwQkFvRUxBLG1CQXBFSztBQUFBLE1BcUVMQyxPQXJFSywwQkFxRUxBLE9BckVLO0FBQUEsTUFzRUxDLGNBdEVLLDBCQXNFTEEsY0F0RUs7QUFBQSxNQXVFTEMsWUF2RUssMEJBdUVMQSxZQXZFSzs7QUEyRVQsTUFBSTNDLDJCQUEyQixJQUFJLENBQUNzQyxXQUFoQyxJQUErQyxDQUFDdkIsY0FBcEQsRUFBb0U7QUFDbEU2QixJQUFBQSxPQUFPLENBQUNDLEdBQVIsaURBQTREaEIsY0FBNUQ7QUFDQUssSUFBQUEsb0JBQW9CO0FBQ3JCOztBQUVEbEUsRUFBQUEsS0FBSyxDQUFDOEUsU0FBTixDQUFnQixZQUFNO0FBQ3BCakMsSUFBQUEsMkJBQTJCLElBQUlBLDJCQUEyQixDQUFDVixTQUFELEVBQVlrQyxPQUFaLENBQTFEO0FBQ0QsR0FGRCxFQUVHLENBQUNBLE9BQUQsRUFBVVgsT0FBVixFQUFtQkMsS0FBbkIsRUFBMEJDLFNBQTFCLENBRkg7QUFJQTVELEVBQUFBLEtBQUssQ0FBQzhFLFNBQU4sQ0FBZ0IsWUFBTTtBQUNwQixRQUFJUixXQUFXLElBQUksQ0FBQ3ZCLGNBQXBCLEVBQW9DO0FBQ2xDTCxNQUFBQSxvQkFBb0IsSUFBSUEsb0JBQW9CLENBQUNxQix1QkFBRCxDQUE1QztBQUNBWCxNQUFBQSxRQUFRLENBQUM7QUFBRUwsUUFBQUEsY0FBYyxFQUFFO0FBQWxCLE9BQUQsQ0FBUjtBQUNELEtBSEQsTUFHTztBQUNMLFVBQUksQ0FBQ0EsY0FBTCxFQUFxQjtBQUNuQjZCLFFBQUFBLE9BQU8sQ0FBQ0MsR0FBUixzREFBaUU7QUFBRWhCLFVBQUFBLGNBQWMsRUFBZEEsY0FBRjtBQUFrQlMsVUFBQUEsV0FBVyxFQUFYQSxXQUFsQjtBQUErQnZCLFVBQUFBLGNBQWMsRUFBZEE7QUFBL0IsU0FBakU7QUFDRDs7QUFFREwsTUFBQUEsb0JBQW9CLElBQUlBLG9CQUFvQixDQUFDcUIsdUJBQUQsQ0FBNUM7QUFDQVgsTUFBQUEsUUFBUSxDQUFDO0FBQUVMLFFBQUFBLGNBQWMsRUFBRTtBQUFsQixPQUFELENBQVI7QUFDQWQsTUFBQUEsaUJBQWlCLElBQUlBLGlCQUFpQixFQUF0QztBQUNEO0FBQ0YsR0FiRCxFQWFHLENBQUM4Qix1QkFBRCxhQUFDQSx1QkFBRCxpREFBQ0EsdUJBQXVCLENBQUViLEtBQTFCLDJEQUFDLHVCQUFnQ29CLFdBQWpDLENBYkgsRUFwRlMsQ0FtR1Q7O0FBQ0EsTUFBTVMsa0JBQWtCLEdBQUcvRSxLQUFLLENBQUNnRixPQUFOLENBQWM7QUFBQSxXQUN2Q0MsVUFBVSxDQUFDMUQsYUFBYSxDQUFDSCxRQUFmLENBQVYsR0FBcUNBLFFBQXJDLEdBQWdELEdBQWhELEdBQXNELElBRGY7QUFBQSxHQUFkLEVBRXhCLENBQUNBLFFBQUQsQ0FGd0IsQ0FBM0I7O0FBSUEsTUFBTThELGFBQWEsaURBQ2R2RCxZQURjLEdBRWRKLGFBRmM7QUFHakJILElBQUFBLFFBQVEsRUFBRTJEO0FBSE8sSUFBbkI7O0FBTUE5RSxFQUFBQSxvQkFBb0IsQ0FBQyxZQUFNO0FBQ3pCLFFBQU1rRixTQUFTLEdBQUdoRix5QkFBeUIsQ0FBQ2lGLHNCQUExQixDQUFpRDtBQUFFQyxNQUFBQSxZQUFZLEVBQUViO0FBQWhCLEtBQWpELENBQWxCO0FBQ0FQLElBQUFBLFlBQVk7QUFDWlQsSUFBQUEsbUJBQW1CLENBQUMyQixTQUFELENBQW5CO0FBQ0QsR0FKbUIsRUFJakIsQ0FBQztBQUFFdEIsSUFBQUEsY0FBYyxFQUFkQSxjQUFGO0FBQWtCVyxJQUFBQSxtQkFBbUIsRUFBbkJBO0FBQWxCLEdBQUQsQ0FKaUIsQ0FBcEI7O0FBTUEsV0FBU2MsWUFBVCxDQUFzQkMsS0FBdEIsRUFBcUU7QUFBQTs7QUFDbkUsUUFBTVosWUFBWSxHQUFHWSxLQUFILGFBQUdBLEtBQUgsd0NBQUdBLEtBQUssQ0FBRUMsTUFBVixrREFBRyxjQUFlQyxLQUFwQztBQUNBLFFBQU1DLE9BQU8sR0FBR2YsWUFBWSxLQUFLcEIsZ0JBQWpDLENBRm1FLENBR25FOztBQUNBYSxJQUFBQSxlQUFlLENBQUNzQixPQUFELEVBQVVmLFlBQVYsRUFBd0JwQixnQkFBeEIsQ0FBZjtBQUNBSCxJQUFBQSxRQUFRLENBQUM7QUFBRUosTUFBQUEsT0FBTyxFQUFFMkI7QUFBWCxLQUFELENBQVI7QUFDRDs7QUFFRCxXQUFTZ0IsTUFBVCxDQUFnQkosS0FBaEIsRUFBK0Q7QUFDN0RwQixJQUFBQSxVQUFVLENBQUMsS0FBRCxFQUFRbkIsT0FBUixDQUFWO0FBQ0Q7O0FBRUQsc0JBQ0Usb0JBQUMsU0FBRDtBQUFXLElBQUEsS0FBSyxFQUFFO0FBQUVwQyxNQUFBQSxTQUFTLEVBQVRBLFNBQUY7QUFBYU8sTUFBQUEsS0FBSyxFQUFFLE1BQXBCO0FBQTRCeUUsTUFBQUEsYUFBYSxFQUFFO0FBQTNDO0FBQWxCLEtBQ0duQyxXQUFXO0FBQUE7QUFDVjtBQUNBO0FBQUssSUFBQSxLQUFLLEVBQUU5QztBQUFaLGtCQUNFO0FBQUssSUFBQSxLQUFLLEVBQUU7QUFBRVMsTUFBQUEsUUFBUSxZQUFLQSxRQUFMO0FBQVY7QUFBWixVQUE0Q3FDLFdBQTVDLE1BREYsQ0FGVSxnQkFNVixvQkFBQyxPQUFELHFCQUNFO0FBQU0sSUFBQSxLQUFLLEVBQUVyQjtBQUFiLFVBQXlCc0IsT0FBekIsT0FBbUNDLEtBQW5DLFNBREYsZUFFRTtBQUFNLElBQUEsS0FBSyxFQUFFaEMsWUFBYjtBQUEyQixJQUFBLE9BQU8sRUFBRSxtQkFBTTtBQUN4Q3dDLE1BQUFBLFVBQVUsSUFBSUEsVUFBVSxDQUFDLElBQUQsQ0FBeEI7QUFDRDtBQUZELEtBSUdNLE9BQU8sZ0JBQ047QUFDRSxJQUFBLFlBQVksRUFBRUUsWUFBWSxJQUFJcEIsZ0JBRGhDO0FBRUUsSUFBQSxRQUFRLEVBQUUrQixZQUZaO0FBR0UsSUFBQSxNQUFNLEVBQUVLLE1BSFY7QUFJRSxJQUFBLEtBQUssRUFBRVQsYUFKVDtBQUtFLElBQUEsU0FBUztBQUxYLElBRE0sZ0JBU04sb0JBQUMsWUFBRDtBQUNFLElBQUEsUUFBUSxZQUFLL0MsU0FBUyxDQUFDdUIsT0FBZixjQUEwQnZCLFNBQVMsQ0FBQ3dCLEtBQXBDLENBRFY7QUFFRSxJQUFBLFlBQVksRUFBRVksbUJBQW1CLElBQUlDLG1CQUZ2QztBQUdFLElBQUEsa0JBQWtCLEVBQUUzQyxrQkFIdEI7QUFJRSxJQUFBLGNBQWMsRUFBRUMsY0FKbEI7QUFLRSxJQUFBLFNBQVMsRUFBRWM7QUFMYixJQWJKLENBRkYsQ0FQSixDQURGO0FBb0NEOztBQUVEbkIsYUFBYSxDQUFDb0UsWUFBZCxHQUE2QjtBQUFFUixFQUFBQSxZQUFZLEVBQUU7QUFBaEIsQ0FBN0I7QUFFQSxlQUFlNUQsYUFBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHVzZURlZXBDb21wYXJlRWZmZWN0IGZyb20gJ3VzZS1kZWVwLWNvbXBhcmUtZWZmZWN0J1xuaW1wb3J0IHsgVmVyc2VPYmplY3RzIH0gZnJvbSAnc2NyaXB0dXJlLXJlc291cmNlcy1yY2wnXG5pbXBvcnQgeyBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIH0gZnJvbSAnd29yZC1hbGlnbmVyLXJjbCdcbmltcG9ydCB7IFNjcmlwdHVyZVJlZmVyZW5jZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNZXNzYWdlLCBMT0FESU5HX1JFU09VUkNFIH0gZnJvbSAnLi4vLi4vdXRpbHMnXG5pbXBvcnQgeyBTY3JpcHR1cmVBTGlnbm1lbnRFZGl0UHJvcHMsIHVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQgfSBmcm9tICcuLi8uLi9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0J1xuaW1wb3J0IHsgQ29udGFpbmVyLCBDb250ZW50IH0gZnJvbSAnLi9zdHlsZWQnXG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8qKiBvcHRpb25hbCBzdHlsZXMgdG8gdXNlIGZvciBjb250ZW50ICoqL1xuICBjb250ZW50U3R5bGU6IGFueTtcbiAgLy8gaW5kZXggbnVtYmVyIGZvciB0aGlzIHNjcmlwdHVyZSBwYW5lXG4gIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAvLyB3YWl0aW5nIHRvIGRldGVybWluZSBicmFuY2hcbiAgZGV0ZXJtaW5pbmdCcmFuY2g6IGJvb2xlYW4sXG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gdG8gdXNlICoqL1xuICBkaXJlY3Rpb246IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiBpZiB0cnVlIHRoZW4gZG8gbm90IGRpc3BsYXkgbGV4aWNvbiBwb3BvdmVyIG9uIGhvdmVyICoqL1xuICBkaXNhYmxlV29yZFBvcG92ZXI6IGJvb2xlYW58dW5kZWZpbmVkO1xuICAvKiogZm9udCBzaXplIGZvciBtZXNzYWdlcyAqL1xuICBmb250U2l6ZTogbnVtYmVyO1xuICAvKiogZnVuY3Rpb24gdG8gZ2V0IGxhdGVzdCBsZXhpY29uIGRhdGEgKi9cbiAgZ2V0TGV4aWNvbkRhdGE6IEZ1bmN0aW9uO1xuICAvKiogdHJ1ZSBpZiBicm93c2luZyBOVCAqL1xuICBpc05UOiBib29sZWFuO1xuICAvKiogd2hldGhlciBvciBub3QgdGhpcyBjdXJyZW50IHZlcnNlIGhhcyBiZWVuIHNlbGVjdGVkIGZvciBhbGlnbm1lbnQgKi9cbiAgaXNWZXJzZVNlbGVjdGVkRm9yQWxpZ25tZW50OiBib29sZWFuO1xuICAvKiogZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdmVyc2UgYWxpZ25tZW50IGhhcyBmaW5pc2hlZCAqL1xuICBvbkFsaWdubWVudEZpbmlzaDogRnVuY3Rpb247XG4gIC8vIG9yaWdpbmFsIHNjcmlwdHVyZSBib29rT2JqZWN0cyBmb3IgY3VycmVudCBib29rXG4gIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHM6IG9iamVjdCxcbiAgLyoqIGN1cnJlbnQgcmVmZXJlbmNlICoqL1xuICByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZTtcbiAgLyoqIG9wdGlvbmFsIHN0eWxlcyB0byB1c2UgZm9yIHJlZmVyZW5jZSAqKi9cbiAgcmVmU3R5bGU6IGFueTtcbiAgLyoqIG9iamVjdCB0aGF0IGNvbnRhaW5zIHJlc291cmNlIGxvYWRpbmcgc3RhdHVzIG9yIGZldGNoaW5nIGVycm9ycyAqL1xuICByZXNvdXJjZVN0YXR1czogb2JqZWN0fHVuZGVmaW5lZDtcbiAgLyoqIHJlc291cmNlIHRoYXQgd2FzIGxvYWRlZCAqL1xuICByZXNvdXJjZUxpbms6IHN0cmluZ3x1bmRlZmluZWQ7XG4gIC8qKiB0cnVlIGlmIGN1cnJlbnRseSBzYXZpbmcgdXBkYXRlZCB0ZXh0IGFuZCBhbGlnbm1lbnRzICovXG4gIHNhdmluZzogYm9vbGVhbjtcbiAgLy8gaW5pdGlhbGl6YXRpb24gZm9yIHVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXRcbiAgc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZzogU2NyaXB0dXJlQUxpZ25tZW50RWRpdFByb3BzLFxuICAvKiogc2VydmVyICovXG4gIHNlcnZlcjogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIGNhbGxiYWNrIHRvIGZsYWcgdW5zYXZlZCBzdGF0dXMgKi9cbiAgc2V0U2F2ZWRDaGFuZ2VzOiBGdW5jdGlvbjtcbiAgLy8gY2FsbGJhY2sgZm9yIGNoYW5nZSBpbiB3b3JkIGFsaWdubWVudCBzdGF0dXNcbiAgc2V0V29yZEFsaWduZXJTdGF0dXM6IEZ1bmN0aW9uO1xuICAvKiogb3B0aW9uYWwgZnVuY3Rpb24gZm9yIGxvY2FsaXphdGlvbiAqL1xuICB0cmFuc2xhdGU6IEZ1bmN0aW9uO1xuICAvKiogZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHRvIHVwZGF0ZSB2ZXJzZSBhbGlnbm1lbnQgc3RhdHVzICovXG4gIHVwZGF0ZVZlcnNlc0FsaWdubWVudFN0YXR1czogRnVuY3Rpb247XG59XG5cbmNvbnN0IE1lc3NhZ2VTdHlsZSA9IHtcbiAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgd2hpdGVTcGFjZTogJ3ByZS13cmFwJyxcbiAgbGluZUhlaWdodDogJ25vcm1hbCcsXG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgaGVpZ2h0OiAnMTAwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIGZvbnRTaXplOiAnMTZweCcsXG4gIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICBmb250V2VpZ2h0OiAnYm9sZCcsXG59XG5cbmNvbnN0IFRleHRBcmVhU3R5bGUgPSB7XG4gIGhlaWdodDogJzYwJScsXG4gIHdpZHRoOiAnMTAwJScsXG4gIG1pbldpZHRoOiAnMjIwcHgnLFxuICBmb250U2l6ZTogJzE2cHgnLFxufVxuXG5mdW5jdGlvbiBTY3JpcHR1cmVQYW5lKHtcbiAgY3VycmVudEluZGV4LFxuICBjb250ZW50U3R5bGUsXG4gIGRldGVybWluaW5nQnJhbmNoLFxuICBkaXJlY3Rpb24sXG4gIGRpc2FibGVXb3JkUG9wb3ZlcixcbiAgZm9udFNpemUsXG4gIGdldExleGljb25EYXRhLFxuICBpc05ULFxuICBpc1ZlcnNlU2VsZWN0ZWRGb3JBbGlnbm1lbnQsXG4gIG9uQWxpZ25tZW50RmluaXNoLFxuICBvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzLFxuICByZWZlcmVuY2UsXG4gIHJlZlN0eWxlLFxuICByZXNvdXJjZVN0YXR1cyxcbiAgcmVzb3VyY2VMaW5rLFxuICBzYXZpbmcsXG4gIHNjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcsXG4gIHNldFNhdmVkQ2hhbmdlcyxcbiAgc2V0V29yZEFsaWduZXJTdGF0dXMsXG4gIHNlcnZlcixcbiAgdHJhbnNsYXRlLFxuICB1cGRhdGVWZXJzZXNBbGlnbm1lbnRTdGF0dXMsXG59IDogUHJvcHMpIHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV9dID0gUmVhY3QudXNlU3RhdGUoe1xuICAgIGRvaW5nQWxpZ25tZW50OiBmYWxzZSxcbiAgICBuZXdUZXh0OiBudWxsLFxuICAgIHVybEVycm9yOiBudWxsLFxuICB9KVxuICBjb25zdCB7XG4gICAgZG9pbmdBbGlnbm1lbnQsXG4gICAgbmV3VGV4dCxcbiAgICB1cmxFcnJvcixcbiAgfSA9IHN0YXRlXG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICBzZXRTdGF0ZV8ocHJldlN0YXRlID0+ICh7IC4uLnByZXZTdGF0ZSwgLi4ubmV3U3RhdGUgfSkpXG4gIH1cblxuICBjb25zdCBbaW5pdGlhbFZlcnNlVGV4dCwgc2V0SW5pdGlhbFZlcnNlVGV4dF0gPSBSZWFjdC51c2VTdGF0ZShudWxsKVxuXG4gIGxldCByZXNvdXJjZU1zZyA9IG51bGxcblxuICBpZiAoc2F2aW5nKSB7XG4gICAgcmVzb3VyY2VNc2cgPSAnU2F2aW5nIENoYW5nZXMuLi4nXG4gIH0gZWxzZSBpZiAoZGV0ZXJtaW5pbmdCcmFuY2gpIHtcbiAgICByZXNvdXJjZU1zZyA9ICdQcmUtJyArIExPQURJTkdfUkVTT1VSQ0VcbiAgfSBlbHNlIHtcbiAgICByZXNvdXJjZU1zZyA9IGdldFJlc291cmNlTWVzc2FnZShyZXNvdXJjZVN0YXR1cywgc2VydmVyLCByZXNvdXJjZUxpbmssIGlzTlQpXG4gIH1cblxuICBjb25zdCB7XG4gICAgY2hhcHRlcixcbiAgICB2ZXJzZSxcbiAgICBwcm9qZWN0SWQsXG4gIH0gPSByZWZlcmVuY2VcbiAgZGlyZWN0aW9uID0gZGlyZWN0aW9uIHx8ICdsdHInXG4gIGNvbnN0IGJhc2ljUmVmZXJlbmNlID0ge1xuICAgIGNoYXB0ZXIsXG4gICAgdmVyc2UsXG4gICAgcHJvamVjdElkLFxuICB9XG5cbiAgcmVmU3R5bGUgPSByZWZTdHlsZSB8fCB7XG4gICAgZm9udEZhbWlseTogJ05vdG8gU2FucycsXG4gICAgZm9udFNpemU6ICc5MCUnLFxuICB9XG5cbiAgY29udGVudFN0eWxlID0gY29udGVudFN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzEwMCUnLFxuICB9XG5cbiAgY29uc3QgX3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcgPSB7XG4gICAgLi4uc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyxcbiAgICBpbml0aWFsVmVyc2VUZXh0LFxuICAgIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMsXG4gIH1cblxuICBjb25zdCBfc2NyaXB0dXJlQWxpZ25tZW50RWRpdCA9IHVzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQoX3NjcmlwdHVyZUFsaWdubWVudEVkaXRDb25maWcpXG4gIGNvbnN0IHtcbiAgICBhY3Rpb25zOiB7XG4gICAgICBjbGVhckNoYW5nZXMsXG4gICAgICBoYW5kbGVBbGlnbm1lbnRDbGljayxcbiAgICAgIHNldEVkaXRpbmcsXG4gICAgICBzZXRWZXJzZUNoYW5nZWQsXG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgYWxpZ25lZCxcbiAgICAgIGFsaWduZXJEYXRhLFxuICAgICAgY3VycmVudFZlcnNlT2JqZWN0cyxcbiAgICAgIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gICAgICBlZGl0aW5nLFxuICAgICAgdW5zYXZlZENoYW5nZXMsXG4gICAgICBuZXdWZXJzZVRleHQsXG4gICAgfSxcbiAgfSA9IF9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0XG5cbiAgaWYgKGlzVmVyc2VTZWxlY3RlZEZvckFsaWdubWVudCAmJiAhYWxpZ25lckRhdGEgJiYgIWRvaW5nQWxpZ25tZW50KSB7XG4gICAgY29uc29sZS5sb2coYFNjcmlwdHVyZVBhbmUgLSB2ZXJzZSBzZWxlY3RlZCBmb3IgYWxpZ25tZW50YCwgYmFzaWNSZWZlcmVuY2UpXG4gICAgaGFuZGxlQWxpZ25tZW50Q2xpY2soKVxuICB9XG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICB1cGRhdGVWZXJzZXNBbGlnbm1lbnRTdGF0dXMgJiYgdXBkYXRlVmVyc2VzQWxpZ25tZW50U3RhdHVzKHJlZmVyZW5jZSwgYWxpZ25lZClcbiAgfSwgW2FsaWduZWQsIGNoYXB0ZXIsIHZlcnNlLCBwcm9qZWN0SWRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGFsaWduZXJEYXRhICYmICFkb2luZ0FsaWdubWVudCkge1xuICAgICAgc2V0V29yZEFsaWduZXJTdGF0dXMgJiYgc2V0V29yZEFsaWduZXJTdGF0dXMoX3NjcmlwdHVyZUFsaWdubWVudEVkaXQpXG4gICAgICBzZXRTdGF0ZSh7IGRvaW5nQWxpZ25tZW50OiB0cnVlIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghZG9pbmdBbGlnbm1lbnQpIHtcbiAgICAgICAgY29uc29sZS5sb2coYFNjcmlwdHVyZVBhbmUgLSBhbGlnbmVyRGF0YSB3ZW50IGZhbHNlIHVuZXhwZWN0ZWRgLCB7IGJhc2ljUmVmZXJlbmNlLCBhbGlnbmVyRGF0YSwgZG9pbmdBbGlnbm1lbnQgfSlcbiAgICAgIH1cblxuICAgICAgc2V0V29yZEFsaWduZXJTdGF0dXMgJiYgc2V0V29yZEFsaWduZXJTdGF0dXMoX3NjcmlwdHVyZUFsaWdubWVudEVkaXQpXG4gICAgICBzZXRTdGF0ZSh7IGRvaW5nQWxpZ25tZW50OiBmYWxzZSB9KVxuICAgICAgb25BbGlnbm1lbnRGaW5pc2ggJiYgb25BbGlnbm1lbnRGaW5pc2goKVxuICAgIH1cbiAgfSwgW19zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Py5zdGF0ZT8uYWxpZ25lckRhdGFdKVxuXG4gIC8vIGR5bmFtaWNhbGx5IGFkanVzdCBmb250IHNpemVcbiAgY29uc3QgY2FsY3VsYXRlZEZvbnRTaXplID0gUmVhY3QudXNlTWVtbygoKSA9PiAoXG4gICAgcGFyc2VGbG9hdChUZXh0QXJlYVN0eWxlLmZvbnRTaXplKSAqIGZvbnRTaXplIC8gMTAwICsgJ3B4J1xuICApLCBbZm9udFNpemVdKVxuXG4gIGNvbnN0IHRleHRBcmVhU3R5bGUgPSB7XG4gICAgLi4uY29udGVudFN0eWxlLFxuICAgIC4uLlRleHRBcmVhU3R5bGUsXG4gICAgZm9udFNpemU6IGNhbGN1bGF0ZWRGb250U2l6ZSxcbiAgfVxuXG4gIHVzZURlZXBDb21wYXJlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB2ZXJzZVRleHQgPSBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLmdldFVzZm1Gb3JWZXJzZUNvbnRlbnQoeyB2ZXJzZU9iamVjdHM6IGluaXRpYWxWZXJzZU9iamVjdHMgfSlcbiAgICBjbGVhckNoYW5nZXMoKVxuICAgIHNldEluaXRpYWxWZXJzZVRleHQodmVyc2VUZXh0KVxuICB9LCBbeyBiYXNpY1JlZmVyZW5jZSwgaW5pdGlhbFZlcnNlT2JqZWN0cyB9XSlcblxuICBmdW5jdGlvbiBvblRleHRDaGFuZ2UoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSB7XG4gICAgY29uc3QgbmV3VmVyc2VUZXh0ID0gZXZlbnQ/LnRhcmdldD8udmFsdWVcbiAgICBjb25zdCBjaGFuZ2VkID0gbmV3VmVyc2VUZXh0ICE9PSBpbml0aWFsVmVyc2VUZXh0XG4gICAgLy8gY29uc29sZS5sb2coYFNQLm9uVGV4dENoYW5nZWAsIHsgY2hhbmdlZCwgbmV3VGV4dDogbmV3VmVyc2VUZXh0LCBpbml0aWFsVmVyc2VUZXh0IH0pXG4gICAgc2V0VmVyc2VDaGFuZ2VkKGNoYW5nZWQsIG5ld1ZlcnNlVGV4dCwgaW5pdGlhbFZlcnNlVGV4dClcbiAgICBzZXRTdGF0ZSh7IG5ld1RleHQ6IG5ld1ZlcnNlVGV4dCB9KVxuICB9XG5cbiAgZnVuY3Rpb24gb25CbHVyKGV2ZW50OiBSZWFjdC5DaGFuZ2VFdmVudDxIVE1MVGV4dEFyZWFFbGVtZW50Pikge1xuICAgIHNldEVkaXRpbmcoZmFsc2UsIG5ld1RleHQpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXIgc3R5bGU9e3sgZGlyZWN0aW9uLCB3aWR0aDogJzEwMCUnLCBwYWRkaW5nQm90dG9tOiAnMC41ZW0nIH19PlxuICAgICAge3Jlc291cmNlTXNnID9cbiAgICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgICA8ZGl2IHN0eWxlPXtNZXNzYWdlU3R5bGV9PlxuICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZm9udFNpemU6IGAke2ZvbnRTaXplfSVgIH19PiB7cmVzb3VyY2VNc2d9IDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgOlxuICAgICAgICA8Q29udGVudD5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17cmVmU3R5bGV9PiB7Y2hhcHRlcn06e3ZlcnNlfSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBzdHlsZT17Y29udGVudFN0eWxlfSBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRFZGl0aW5nICYmIHNldEVkaXRpbmcodHJ1ZSlcbiAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtlZGl0aW5nID9cbiAgICAgICAgICAgICAgPHRleHRhcmVhXG4gICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtuZXdWZXJzZVRleHQgfHwgaW5pdGlhbFZlcnNlVGV4dH1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25UZXh0Q2hhbmdlfVxuICAgICAgICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgICAgICAgIHN0eWxlPXt0ZXh0QXJlYVN0eWxlfVxuICAgICAgICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgIDxWZXJzZU9iamVjdHNcbiAgICAgICAgICAgICAgICB2ZXJzZUtleT17YCR7cmVmZXJlbmNlLmNoYXB0ZXJ9OiR7cmVmZXJlbmNlLnZlcnNlfWB9XG4gICAgICAgICAgICAgICAgdmVyc2VPYmplY3RzPXtjdXJyZW50VmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHN9XG4gICAgICAgICAgICAgICAgZGlzYWJsZVdvcmRQb3BvdmVyPXtkaXNhYmxlV29yZFBvcG92ZXJ9XG4gICAgICAgICAgICAgICAgZ2V0TGV4aWNvbkRhdGE9e2dldExleGljb25EYXRhfVxuICAgICAgICAgICAgICAgIHRyYW5zbGF0ZT17dHJhbnNsYXRlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9Db250ZW50PlxuICAgICAgfVxuICAgIDwvQ29udGFpbmVyPlxuICApXG59XG5cblNjcmlwdHVyZVBhbmUuZGVmYXVsdFByb3BzID0geyB2ZXJzZU9iamVjdHM6IFtdIH1cblxuZXhwb3J0IGRlZmF1bHQgU2NyaXB0dXJlUGFuZVxuIl19
260
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NjcmlwdHVyZVBhbmUvU2NyaXB0dXJlUGFuZS50c3giXSwibmFtZXMiOlsiUmVhY3QiLCJ1c2VEZWVwQ29tcGFyZUVmZmVjdCIsIlZlcnNlT2JqZWN0cyIsIlVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMiLCJTY3JpcHR1cmVSZWZlcmVuY2UiLCJnZXRSZXNvdXJjZU1lc3NhZ2UiLCJMT0FESU5HX1JFU09VUkNFIiwiU2NyaXB0dXJlQUxpZ25tZW50RWRpdFByb3BzIiwidXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCIsIkNvbnRhaW5lciIsIkNvbnRlbnQiLCJNZXNzYWdlU3R5bGUiLCJkaXJlY3Rpb24iLCJ3aGl0ZVNwYWNlIiwibGluZUhlaWdodCIsImRpc3BsYXkiLCJqdXN0aWZ5Q29udGVudCIsImFsaWduSXRlbXMiLCJoZWlnaHQiLCJ3aWR0aCIsImZvbnRTaXplIiwiZm9udEZhbWlseSIsImZvbnRXZWlnaHQiLCJUZXh0QXJlYVN0eWxlIiwibWluV2lkdGgiLCJTY3JpcHR1cmVQYW5lIiwiY3VycmVudEluZGV4IiwiY29udGVudFN0eWxlIiwiZGV0ZXJtaW5pbmdCcmFuY2giLCJkaXNhYmxlV29yZFBvcG92ZXIiLCJnZXRMZXhpY29uRGF0YSIsImlzTlQiLCJpc1ZlcnNlU2VsZWN0ZWRGb3JBbGlnbm1lbnQiLCJvbkFsaWdubWVudEZpbmlzaCIsIm9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMiLCJyZWZlcmVuY2UiLCJyZWZTdHlsZSIsInJlc291cmNlU3RhdHVzIiwicmVzb3VyY2VMaW5rIiwic2F2aW5nIiwic2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyIsInNldFNhdmVkQ2hhbmdlcyIsInNldFdvcmRBbGlnbmVyU3RhdHVzIiwic2VydmVyIiwidHJhbnNsYXRlIiwidXBkYXRlVmVyc2VzQWxpZ25tZW50U3RhdHVzIiwidXNlU3RhdGUiLCJkb2luZ0FsaWdubWVudCIsIm5ld1RleHQiLCJ1cmxFcnJvciIsInN0YXRlIiwic2V0U3RhdGVfIiwic2V0U3RhdGUiLCJuZXdTdGF0ZSIsInByZXZTdGF0ZSIsImluaXRpYWxWZXJzZVRleHQiLCJzZXRJbml0aWFsVmVyc2VUZXh0IiwicmVzb3VyY2VNc2ciLCJjaGFwdGVyIiwidmVyc2UiLCJwcm9qZWN0SWQiLCJiYXNpY1JlZmVyZW5jZSIsIl9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnIiwiX3NjcmlwdHVyZUFsaWdubWVudEVkaXQiLCJhY3Rpb25zIiwiY2xlYXJDaGFuZ2VzIiwiaGFuZGxlQWxpZ25tZW50Q2xpY2siLCJzZXRFZGl0aW5nIiwic2V0VmVyc2VDaGFuZ2VkIiwiYWxpZ25lZCIsImFsaWduZXJEYXRhIiwiY3VycmVudFZlcnNlT2JqZWN0cyIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJlZGl0aW5nIiwidW5zYXZlZENoYW5nZXMiLCJuZXdWZXJzZVRleHQiLCJjb25zb2xlIiwibG9nIiwidXNlRWZmZWN0IiwiY2FsY3VsYXRlZEZvbnRTaXplIiwidXNlTWVtbyIsInBhcnNlRmxvYXQiLCJ0ZXh0QXJlYVN0eWxlIiwidmVyc2VUZXh0IiwiZ2V0VXNmbUZvclZlcnNlQ29udGVudCIsInZlcnNlT2JqZWN0cyIsIm9uVGV4dENoYW5nZSIsImV2ZW50IiwidGFyZ2V0IiwidmFsdWUiLCJjaGFuZ2VkIiwib25CbHVyIiwicGFkZGluZ0JvdHRvbSIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUNBLE9BQU9DLG9CQUFQLE1BQWlDLHlCQUFqQztBQUNBLFNBQVNDLFlBQVQsUUFBNkIseUJBQTdCO0FBQ0EsU0FBU0MseUJBQVQsUUFBMEMsa0JBQTFDO0FBQ0EsU0FBU0Msa0JBQVQsUUFBbUMsYUFBbkM7QUFDQSxTQUFTQyxrQkFBVCxFQUE2QkMsZ0JBQTdCLFFBQXFELGFBQXJEO0FBQ0EsU0FBU0MsMkJBQVQsRUFBc0NDLHlCQUF0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QUFJQSxVQUFVLENBQUMsSUFBRCxDQUF4QjtBQUNEO0FBRkQsS0FJR00sT0FBTyxnQkFDTjtBQUNFLElBQUEsWUFBWSxFQUFFRSxZQUFZLElBQUlwQixnQkFEaEM7QUFFRSxJQUFBLFFBQVEsRUFBRStCLFlBRlo7QUFHRSxJQUFBLE1BQU0sRUFBRUssTUFIVjtBQUlFLElBQUEsS0FBSyxFQUFFVCxhQUpUO0FBS0UsSUFBQSxTQUFTO0FBTFgsSUFETSxnQkFTTixvQkFBQyxZQUFEO0FBQ0UsSUFBQSxRQUFRLFlBQUsvQyxTQUFTLENBQUN1QixPQUFmLGNBQTBCdkIsU0FBUyxDQUFDd0IsS0FBcEMsQ0FEVjtBQUVFLElBQUEsWUFBWSxFQUFFWSxtQkFBbUIsSUFBSUMsbUJBRnZDO0FBR0UsSUFBQSxrQkFBa0IsRUFBRTNDLGtCQUh0QjtBQUlFLElBQUEsY0FBYyxFQUFFQyxjQUpsQjtBQUtFLElBQUEsU0FBUyxFQUFFYztBQUxiLElBYkosQ0FGRixDQVBKLENBREY7QUFvQ0Q7O0FBRURuQixhQUFhLENBQUNvRSxZQUFkLEdBQTZCO0FBQUVSLEVBQUFBLFlBQVksRUFBRTtBQUFoQixDQUE3QjtBQUVBLGVBQWU1RCxhQUFmIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgdXNlRGVlcENvbXBhcmVFZmZlY3QgZnJvbSAndXNlLWRlZXAtY29tcGFyZS1lZmZlY3QnXG5pbXBvcnQgeyBWZXJzZU9iamVjdHMgfSBmcm9tICdzY3JpcHR1cmUtcmVzb3VyY2VzLXJjbCdcbmltcG9ydCB7IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMgfSBmcm9tICd3b3JkLWFsaWduZXItcmNsJ1xuaW1wb3J0IHsgU2NyaXB0dXJlUmVmZXJlbmNlIH0gZnJvbSAnLi4vLi4vdHlwZXMnXG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1lc3NhZ2UsIExPQURJTkdfUkVTT1VSQ0UgfSBmcm9tICcuLi8uLi91dGlscydcbmltcG9ydCB7IFNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcywgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZVNjcmlwdHVyZUFsaWdubWVudEVkaXQnXG5pbXBvcnQgeyBDb250YWluZXIsIENvbnRlbnQgfSBmcm9tICcuL3N0eWxlZCdcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgLyoqIG9wdGlvbmFsIHN0eWxlcyB0byB1c2UgZm9yIGNvbnRlbnQgKiovXG4gIGNvbnRlbnRTdHlsZTogYW55O1xuICAvLyBpbmRleCBudW1iZXIgZm9yIHRoaXMgc2NyaXB0dXJlIHBhbmVcbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIC8vIHdhaXRpbmcgdG8gZGV0ZXJtaW5lIGJyYW5jaFxuICBkZXRlcm1pbmluZ0JyYW5jaDogYm9vbGVhbixcbiAgLyoqIGxhbmd1YWdlIGRpcmVjdGlvbiB0byB1c2UgKiovXG4gIGRpcmVjdGlvbjogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIGlmIHRydWUgdGhlbiBkbyBub3QgZGlzcGxheSBsZXhpY29uIHBvcG92ZXIgb24gaG92ZXIgKiovXG4gIGRpc2FibGVXb3JkUG9wb3ZlcjogYm9vbGVhbnx1bmRlZmluZWQ7XG4gIC8qKiBmb250IHNpemUgZm9yIG1lc3NhZ2VzICovXG4gIGZvbnRTaXplOiBudW1iZXI7XG4gIC8qKiBmdW5jdGlvbiB0byBnZXQgbGF0ZXN0IGxleGljb24gZGF0YSAqL1xuICBnZXRMZXhpY29uRGF0YTogRnVuY3Rpb247XG4gIC8qKiB0cnVlIGlmIGJyb3dzaW5nIE5UICovXG4gIGlzTlQ6IGJvb2xlYW47XG4gIC8qKiB3aGV0aGVyIG9yIG5vdCB0aGlzIGN1cnJlbnQgdmVyc2UgaGFzIGJlZW4gc2VsZWN0ZWQgZm9yIGFsaWdubWVudCAqL1xuICBpc1ZlcnNlU2VsZWN0ZWRGb3JBbGlnbm1lbnQ6IGJvb2xlYW47XG4gIC8qKiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB2ZXJzZSBhbGlnbm1lbnQgaGFzIGZpbmlzaGVkICovXG4gIG9uQWxpZ25tZW50RmluaXNoOiBGdW5jdGlvbjtcbiAgLy8gb3JpZ2luYWwgc2NyaXB0dXJlIGJvb2tPYmplY3RzIGZvciBjdXJyZW50IGJvb2tcbiAgb3JpZ2luYWxTY3JpcHR1cmVCb29rT2JqZWN0czogb2JqZWN0LFxuICAvKiogY3VycmVudCByZWZlcmVuY2UgKiovXG4gIHJlZmVyZW5jZTogU2NyaXB0dXJlUmVmZXJlbmNlO1xuICAvKiogb3B0aW9uYWwgc3R5bGVzIHRvIHVzZSBmb3IgcmVmZXJlbmNlICoqL1xuICByZWZTdHlsZTogYW55O1xuICAvKiogb2JqZWN0IHRoYXQgY29udGFpbnMgcmVzb3VyY2UgbG9hZGluZyBzdGF0dXMgb3IgZmV0Y2hpbmcgZXJyb3JzICovXG4gIHJlc291cmNlU3RhdHVzOiBvYmplY3R8dW5kZWZpbmVkO1xuICAvKiogcmVzb3VyY2UgdGhhdCB3YXMgbG9hZGVkICovXG4gIHJlc291cmNlTGluazogc3RyaW5nfHVuZGVmaW5lZDtcbiAgLyoqIHRydWUgaWYgY3VycmVudGx5IHNhdmluZyB1cGRhdGVkIHRleHQgYW5kIGFsaWdubWVudHMgKi9cbiAgc2F2aW5nOiBib29sZWFuO1xuICAvLyBpbml0aWFsaXphdGlvbiBmb3IgdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdFxuICBzY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnOiBTY3JpcHR1cmVBTGlnbm1lbnRFZGl0UHJvcHMsXG4gIC8qKiBzZXJ2ZXIgKi9cbiAgc2VydmVyOiBzdHJpbmd8dW5kZWZpbmVkO1xuICAvKiogY2FsbGJhY2sgdG8gZmxhZyB1bnNhdmVkIHN0YXR1cyAqL1xuICBzZXRTYXZlZENoYW5nZXM6IEZ1bmN0aW9uO1xuICAvLyBjYWxsYmFjayBmb3IgY2hhbmdlIGluIHdvcmQgYWxpZ25tZW50IHN0YXR1c1xuICBzZXRXb3JkQWxpZ25lclN0YXR1czogRnVuY3Rpb247XG4gIC8qKiBvcHRpb25hbCBmdW5jdGlvbiBmb3IgbG9jYWxpemF0aW9uICovXG4gIHRyYW5zbGF0ZTogRnVuY3Rpb247XG4gIC8qKiBmdW5jdGlvbiB0byBiZSBjYWxsZWQgdG8gdXBkYXRlIHZlcnNlIGFsaWdubWVudCBzdGF0dXMgKi9cbiAgdXBkYXRlVmVyc2VzQWxpZ25tZW50U3RhdHVzOiBGdW5jdGlvbjtcbn1cblxuY29uc3QgTWVzc2FnZVN0eWxlID0ge1xuICBkaXJlY3Rpb246ICdsdHInLFxuICB3aGl0ZVNwYWNlOiAncHJlLXdyYXAnLFxuICBsaW5lSGVpZ2h0OiAnbm9ybWFsJyxcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICBoZWlnaHQ6ICcxMDAlJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgZm9udFNpemU6ICcxNnB4JyxcbiAgZm9udEZhbWlseTogJ05vdG8gU2FucycsXG4gIGZvbnRXZWlnaHQ6ICdib2xkJyxcbn1cblxuY29uc3QgVGV4dEFyZWFTdHlsZSA9IHtcbiAgaGVpZ2h0OiAnNjAlJyxcbiAgd2lkdGg6ICcxMDAlJyxcbiAgbWluV2lkdGg6ICcyMjBweCcsXG4gIGZvbnRTaXplOiAnMTZweCcsXG59XG5cbmZ1bmN0aW9uIFNjcmlwdHVyZVBhbmUoe1xuICBjdXJyZW50SW5kZXgsXG4gIGNvbnRlbnRTdHlsZSxcbiAgZGV0ZXJtaW5pbmdCcmFuY2gsXG4gIGRpcmVjdGlvbixcbiAgZGlzYWJsZVdvcmRQb3BvdmVyLFxuICBmb250U2l6ZSxcbiAgZ2V0TGV4aWNvbkRhdGEsXG4gIGlzTlQsXG4gIGlzVmVyc2VTZWxlY3RlZEZvckFsaWdubWVudCxcbiAgb25BbGlnbm1lbnRGaW5pc2gsXG4gIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMsXG4gIHJlZmVyZW5jZSxcbiAgcmVmU3R5bGUsXG4gIHJlc291cmNlU3RhdHVzLFxuICByZXNvdXJjZUxpbmssXG4gIHNhdmluZyxcbiAgc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyxcbiAgc2V0U2F2ZWRDaGFuZ2VzLFxuICBzZXRXb3JkQWxpZ25lclN0YXR1cyxcbiAgc2VydmVyLFxuICB0cmFuc2xhdGUsXG4gIHVwZGF0ZVZlcnNlc0FsaWdubWVudFN0YXR1cyxcbn0gOiBQcm9wcykge1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlX10gPSBSZWFjdC51c2VTdGF0ZSh7XG4gICAgZG9pbmdBbGlnbm1lbnQ6IGZhbHNlLFxuICAgIG5ld1RleHQ6IG51bGwsXG4gICAgdXJsRXJyb3I6IG51bGwsXG4gIH0pXG4gIGNvbnN0IHtcbiAgICBkb2luZ0FsaWdubWVudCxcbiAgICBuZXdUZXh0LFxuICAgIHVybEVycm9yLFxuICB9ID0gc3RhdGVcblxuICBmdW5jdGlvbiBzZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIHNldFN0YXRlXyhwcmV2U3RhdGUgPT4gKHsgLi4ucHJldlN0YXRlLCAuLi5uZXdTdGF0ZSB9KSlcbiAgfVxuXG4gIGNvbnN0IFtpbml0aWFsVmVyc2VUZXh0LCBzZXRJbml0aWFsVmVyc2VUZXh0XSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpXG5cbiAgbGV0IHJlc291cmNlTXNnID0gbnVsbFxuXG4gIGlmIChzYXZpbmcpIHtcbiAgICByZXNvdXJjZU1zZyA9ICdTYXZpbmcgQ2hhbmdlcy4uLidcbiAgfSBlbHNlIGlmIChkZXRlcm1pbmluZ0JyYW5jaCkge1xuICAgIHJlc291cmNlTXNnID0gJ1ByZS0nICsgTE9BRElOR19SRVNPVVJDRVxuICB9IGVsc2Uge1xuICAgIHJlc291cmNlTXNnID0gZ2V0UmVzb3VyY2VNZXNzYWdlKHJlc291cmNlU3RhdHVzLCBzZXJ2ZXIsIHJlc291cmNlTGluaywgaXNOVClcbiAgfVxuXG4gIGNvbnN0IHtcbiAgICBjaGFwdGVyLFxuICAgIHZlcnNlLFxuICAgIHByb2plY3RJZCxcbiAgfSA9IHJlZmVyZW5jZVxuICBkaXJlY3Rpb24gPSBkaXJlY3Rpb24gfHwgJ2x0cidcbiAgY29uc3QgYmFzaWNSZWZlcmVuY2UgPSB7XG4gICAgY2hhcHRlcixcbiAgICB2ZXJzZSxcbiAgICBwcm9qZWN0SWQsXG4gIH1cblxuICByZWZTdHlsZSA9IHJlZlN0eWxlIHx8IHtcbiAgICBmb250RmFtaWx5OiAnTm90byBTYW5zJyxcbiAgICBmb250U2l6ZTogJzkwJScsXG4gIH1cblxuICBjb250ZW50U3R5bGUgPSBjb250ZW50U3R5bGUgfHwge1xuICAgIGZvbnRGYW1pbHk6ICdOb3RvIFNhbnMnLFxuICAgIGZvbnRTaXplOiAnMTAwJScsXG4gIH1cblxuICBjb25zdCBfc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZyA9IHtcbiAgICAuLi5zY3JpcHR1cmVBbGlnbm1lbnRFZGl0Q29uZmlnLFxuICAgIGluaXRpYWxWZXJzZVRleHQsXG4gICAgb3JpZ2luYWxTY3JpcHR1cmVCb29rT2JqZWN0cyxcbiAgfVxuXG4gIGNvbnN0IF9zY3JpcHR1cmVBbGlnbm1lbnRFZGl0ID0gdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdChfc2NyaXB0dXJlQWxpZ25tZW50RWRpdENvbmZpZylcbiAgY29uc3Qge1xuICAgIGFjdGlvbnM6IHtcbiAgICAgIGNsZWFyQ2hhbmdlcyxcbiAgICAgIGhhbmRsZUFsaWdubWVudENsaWNrLFxuICAgICAgc2V0RWRpdGluZyxcbiAgICAgIHNldFZlcnNlQ2hhbmdlZCxcbiAgICB9LFxuICAgIHN0YXRlOiB7XG4gICAgICBhbGlnbmVkLFxuICAgICAgYWxpZ25lckRhdGEsXG4gICAgICBjdXJyZW50VmVyc2VPYmplY3RzLFxuICAgICAgaW5pdGlhbFZlcnNlT2JqZWN0cyxcbiAgICAgIGVkaXRpbmcsXG4gICAgICB1bnNhdmVkQ2hhbmdlcyxcbiAgICAgIG5ld1ZlcnNlVGV4dCxcbiAgICB9LFxuICB9ID0gX3NjcmlwdHVyZUFsaWdubWVudEVkaXRcblxuICBpZiAoaXNWZXJzZVNlbGVjdGVkRm9yQWxpZ25tZW50ICYmICFhbGlnbmVyRGF0YSAmJiAhZG9pbmdBbGlnbm1lbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgU2NyaXB0dXJlUGFuZSAtIHZlcnNlIHNlbGVjdGVkIGZvciBhbGlnbm1lbnRgLCBiYXNpY1JlZmVyZW5jZSlcbiAgICBoYW5kbGVBbGlnbm1lbnRDbGljaygpXG4gIH1cblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVwZGF0ZVZlcnNlc0FsaWdubWVudFN0YXR1cyAmJiB1cGRhdGVWZXJzZXNBbGlnbm1lbnRTdGF0dXMocmVmZXJlbmNlLCBhbGlnbmVkKVxuICB9LCBbYWxpZ25lZCwgY2hhcHRlciwgdmVyc2UsIHByb2plY3RJZF0pXG5cbiAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYWxpZ25lckRhdGEgJiYgIWRvaW5nQWxpZ25tZW50KSB7XG4gICAgICBzZXRXb3JkQWxpZ25lclN0YXR1cyAmJiBzZXRXb3JkQWxpZ25lclN0YXR1cyhfc2NyaXB0dXJlQWxpZ25tZW50RWRpdClcbiAgICAgIHNldFN0YXRlKHsgZG9pbmdBbGlnbm1lbnQ6IHRydWUgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFkb2luZ0FsaWdubWVudCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgU2NyaXB0dXJlUGFuZSAtIGFsaWduZXJEYXRhIHdlbnQgZmFsc2UgdW5leHBlY3RlZGAsIHsgYmFzaWNSZWZlcmVuY2UsIGFsaWduZXJEYXRhLCBkb2luZ0FsaWdubWVudCB9KVxuICAgICAgfVxuXG4gICAgICBzZXRXb3JkQWxpZ25lclN0YXR1cyAmJiBzZXRXb3JkQWxpZ25lclN0YXR1cyhfc2NyaXB0dXJlQWxpZ25tZW50RWRpdClcbiAgICAgIHNldFN0YXRlKHsgZG9pbmdBbGlnbm1lbnQ6IGZhbHNlIH0pXG4gICAgICBvbkFsaWdubWVudEZpbmlzaCAmJiBvbkFsaWdubWVudEZpbmlzaCgpXG4gICAgfVxuICB9LCBbX3NjcmlwdHVyZUFsaWdubWVudEVkaXQ/LnN0YXRlPy5hbGlnbmVyRGF0YV0pXG5cbiAgLy8gZHluYW1pY2FsbHkgYWRqdXN0IGZvbnQgc2l6ZVxuICBjb25zdCBjYWxjdWxhdGVkRm9udFNpemUgPSBSZWFjdC51c2VNZW1vKCgpID0+IChcbiAgICBwYXJzZUZsb2F0KFRleHRBcmVhU3R5bGUuZm9udFNpemUpICogZm9udFNpemUgLyAxMDAgKyAncHgnXG4gICksIFtmb250U2l6ZV0pXG5cbiAgY29uc3QgdGV4dEFyZWFTdHlsZSA9IHtcbiAgICAuLi5jb250ZW50U3R5bGUsXG4gICAgLi4uVGV4dEFyZWFTdHlsZSxcbiAgICBmb250U2l6ZTogY2FsY3VsYXRlZEZvbnRTaXplLFxuICB9XG5cbiAgdXNlRGVlcENvbXBhcmVFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHZlcnNlVGV4dCA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuZ2V0VXNmbUZvclZlcnNlQ29udGVudCh7IHZlcnNlT2JqZWN0czogaW5pdGlhbFZlcnNlT2JqZWN0cyB9KVxuICAgIGNsZWFyQ2hhbmdlcygpXG4gICAgc2V0SW5pdGlhbFZlcnNlVGV4dCh2ZXJzZVRleHQpXG4gICAgc2V0U3RhdGUoe25ld1RleHQ6bnVsbH0pXG4gIH0sIFt7IGJhc2ljUmVmZXJlbmNlLCBpbml0aWFsVmVyc2VPYmplY3RzIH1dKVxuXG4gIGZ1bmN0aW9uIG9uVGV4dENoYW5nZShldmVudDogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTFRleHRBcmVhRWxlbWVudD4pIHtcbiAgICBjb25zdCBuZXdWZXJzZVRleHQgPSBldmVudD8udGFyZ2V0Py52YWx1ZVxuICAgIGNvbnN0IGNoYW5nZWQgPSBuZXdWZXJzZVRleHQgIT09IGluaXRpYWxWZXJzZVRleHRcbiAgICAvLyBjb25zb2xlLmxvZyhgU1Aub25UZXh0Q2hhbmdlYCwgeyBjaGFuZ2VkLCBuZXdUZXh0OiBuZXdWZXJzZVRleHQsIGluaXRpYWxWZXJzZVRleHQgfSlcbiAgICBzZXRWZXJzZUNoYW5nZWQoY2hhbmdlZCwgbmV3VmVyc2VUZXh0LCBpbml0aWFsVmVyc2VUZXh0KVxuICAgIHNldFN0YXRlKHsgbmV3VGV4dDogbmV3VmVyc2VUZXh0IH0pXG4gIH1cblxuICBmdW5jdGlvbiBvbkJsdXIoZXZlbnQ6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxUZXh0QXJlYUVsZW1lbnQ+KSB7XG4gICAgc2V0RWRpdGluZyhmYWxzZSwgbmV3VGV4dClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lciBzdHlsZT17eyBkaXJlY3Rpb24sIHdpZHRoOiAnMTAwJScsIHBhZGRpbmdCb3R0b206ICcwLjVlbScgfX0+XG4gICAgICB7cmVzb3VyY2VNc2cgP1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIDxkaXYgc3R5bGU9e01lc3NhZ2VTdHlsZX0+XG4gICAgICAgICAgPGRpdiBzdHlsZT17eyBmb250U2l6ZTogYCR7Zm9udFNpemV9JWAgfX0+IHtyZXNvdXJjZU1zZ30gPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA6XG4gICAgICAgIDxDb250ZW50PlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtyZWZTdHlsZX0+IHtjaGFwdGVyfTp7dmVyc2V9Jm5ic3A7PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIHN0eWxlPXtjb250ZW50U3R5bGV9IG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHNldEVkaXRpbmcgJiYgc2V0RWRpdGluZyh0cnVlKVxuICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2VkaXRpbmcgP1xuICAgICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e25ld1ZlcnNlVGV4dCB8fCBpbml0aWFsVmVyc2VUZXh0fVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvblRleHRDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3RleHRBcmVhU3R5bGV9XG4gICAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgPFZlcnNlT2JqZWN0c1xuICAgICAgICAgICAgICAgIHZlcnNlS2V5PXtgJHtyZWZlcmVuY2UuY2hhcHRlcn06JHtyZWZlcmVuY2UudmVyc2V9YH1cbiAgICAgICAgICAgICAgICB2ZXJzZU9iamVjdHM9e2N1cnJlbnRWZXJzZU9iamVjdHMgfHwgaW5pdGlhbFZlcnNlT2JqZWN0c31cbiAgICAgICAgICAgICAgICBkaXNhYmxlV29yZFBvcG92ZXI9e2Rpc2FibGVXb3JkUG9wb3Zlcn1cbiAgICAgICAgICAgICAgICBnZXRMZXhpY29uRGF0YT17Z2V0TGV4aWNvbkRhdGF9XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRlPXt0cmFuc2xhdGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L0NvbnRlbnQ+XG4gICAgICB9XG4gICAgPC9Db250YWluZXI+XG4gIClcbn1cblxuU2NyaXB0dXJlUGFuZS5kZWZhdWx0UHJvcHMgPSB7IHZlcnNlT2JqZWN0czogW10gfVxuXG5leHBvcnQgZGVmYXVsdCBTY3JpcHR1cmVQYW5lXG4iXX0=
@@ -134,7 +134,8 @@ export function useScriptureAlignmentEdit(_ref) {
134
134
  }
135
135
 
136
136
  function clearChanges() {
137
- // console.log(`clearChanges() - ${JSON.stringify(basicReference)}`)
137
+ console.log("clearChanges() - ".concat(JSON.stringify(basicReference)));
138
+
138
139
  var clearState = _objectSpread(_objectSpread({}, state), {}, {
139
140
  alignerData: null,
140
141
  editing: false,
@@ -145,7 +146,7 @@ export function useScriptureAlignmentEdit(_ref) {
145
146
  });
146
147
 
147
148
  if (!isEqual(state, clearState)) {
148
- // console.log(`clearChanges() - reference changed, reset edit/alignment state variables`)
149
+ console.log("clearChanges() - reference changed, reset edit/alignment state variables");
149
150
  setState(clearState);
150
151
  }
151
152
  }
@@ -559,4 +560,4 @@ export function useScriptureAlignmentEdit(_ref) {
559
560
  }
560
561
  };
561
562
  }
562
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIkFsaWdubWVudEhlbHBlcnMiLCJVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIiwidXNmbUhlbHBlcnMiLCJpc0VxdWFsIiwiU2NyaXB0dXJlQ29uZmlnIiwiU2NyaXB0dXJlUmVmZXJlbmNlIiwiU2VydmVyQ29uZmlnIiwiZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyIsIk9SSUdJTkFMX1NPVVJDRSIsImdldFZlcnNlc0ZvclJlZiIsImlzVXNmbUFsaWduZWQiLCJ0YXJnZXRWZXJzZVVTRk0iLCJvcmlnaW5hbFZlcnNlT2JqZWN0cyIsImxlbmd0aCIsImV4dHJhY3RBbGlnbm1lbnRzRnJvbVRhcmdldFZlcnNlIiwiYWxpZ25tZW50cyIsIndvcmRCYW5rIiwiYXJlQWxnbm1lbnRzQ29tcGxldGUiLCJnZXRDdXJyZW50VmVyc2VVc2ZtIiwidXBkYXRlZFZlcnNlT2JqZWN0cyIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJ2ZXJzZVRleHRDaGFuZ2VkIiwibmV3VmVyc2VUZXh0IiwiY3VycmVudFZlcnNlT2JqZWN0c18iLCJ1cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZSIsInRhcmdldFZlcnNlVGV4dCIsImNvbnZlcnRWZXJzZURhdGFUb1VTRk0iLCJ1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0IiwiY3VycmVudEluZGV4IiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsImh0dHBDb25maWciLCJpbml0aWFsVmVyc2VUZXh0IiwiaXNOZXdUZXN0YW1lbnQiLCJvcmlnaW5hbExhbmd1YWdlT3duZXIiLCJvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzIiwib3JpZ2luYWxSZXBvVXJsIiwicmVmZXJlbmNlIiwic2NyaXB0dXJlQ29uZmlnIiwic2NyaXB0dXJlU2V0dGluZ3MiLCJzZXRTYXZlZENoYW5nZXMiLCJzb3VyY2VMYW5ndWFnZSIsInN0YXJ0RWRpdEJyYW5jaCIsInRhcmdldExhbmd1YWdlIiwidGl0bGUiLCJ3b3JraW5nUmVzb3VyY2VCcmFuY2giLCJ1c2VTdGF0ZSIsImFsaWduZWQiLCJhbGlnbmVyRGF0YSIsImVkaXRpbmciLCJuZXdBbGlnbm1lbnRzIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJjaGFwdGVyIiwidmVyc2UiLCJwcm9qZWN0SWQiLCJiYXNpY1JlZmVyZW5jZSIsInNldFN0YXRlIiwibmV3U3RhdGUiLCJwcmV2U3RhdGUiLCJjbGVhckNoYW5nZXMiLCJjbGVhclN0YXRlIiwib3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5nc18iLCJyZXNvdXJjZUlkIiwiYm9va0lkIiwib3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5ncyIsInJlc291cmNlTGluayIsInVzZU1lbW8iLCJ2ZXJzZU9iamVjdHMiLCJ2ZXJzZXMiLCJsYW5ndWFnZUlkIiwidmVyc2VSZWZlcmVuY2UiLCJvcmlnVmVyc2VPYmplY3RzIiwidmVyc2VEYXRhIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJwdXNoIiwiYXBwbHkiLCJ1c2VFZmZlY3QiLCJub3RFbXB0eSIsImFsaWduZWRfIiwicmVzdWx0cyIsImdldENoYW5nZXMiLCJjb25zb2xlIiwibG9nIiwiX25ld1N0YXRlIiwidXBkYXRlZFZlcnNlT2JqZWN0c18iLCJ1cGRhdGVWZXJzZVdpdGhOZXdBbGlnbm1lbnRzIiwidGFyZ2V0VmVyc2VPYmplY3RzIiwicmVmIiwidmVyc2VzRm9yUmVmIiwiaGFuZGxlQWxpZ25tZW50Q2xpY2siLCJfYWxpZ25lckRhdGEiLCJvcmlnaW5hbFZlcnNlVXNmbSIsInBhcnNlVXNmbVRvV29yZEFsaWduZXJEYXRhIiwidGFyZ2V0V29yZHMiLCJ2ZXJzZUFsaWdubWVudHMiLCJfbmV3QWxpZ25tZW50cyIsInZlcnNlVXNmbSIsImFkZEFsaWdubWVudHNUb1ZlcnNlVVNGTSIsImFsaWduZWRWZXJzZU9iamVjdHMiLCJ1c2ZtVmVyc2VUb0pzb24iLCJzYXZlQWxpZ25tZW50IiwiY2FsbFNldFNhdmVkU3RhdGUiLCJjYW5jZWxBbGlnbm1lbnQiLCJzZXRFZGl0aW5nIiwiZWRpdGluZ18iLCJfbmV3VmVyc2VUZXh0Iiwic2V0VmVyc2VDaGFuZ2VkIiwiY2hhbmdlZCIsIl9pbml0aWFsVmVyc2VUZXh0IiwiX2NoYW5nZWQiLCJjdXJyZW50VmVyc2VPYmplY3RzIiwidW5zYXZlZENoYW5nZXMiLCJ1bnNhdmVkQ2hhbmdlc18iLCJvbkFsaWdubWVudHNDaGFuZ2UiLCJhbGlnbm1lbnRDb21wbGV0ZSIsImFjdGlvbnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0EsT0FBTyxLQUFLQSxLQUFaLE1BQXVCLE9BQXZCO0FBQ0EsU0FDRUMsZ0JBREYsRUFFRUMseUJBRkYsRUFHRUMsV0FIRixRQUlPLGtCQUpQO0FBS0EsT0FBTyxLQUFLQyxPQUFaLE1BQXlCLFlBQXpCO0FBQ0EsU0FDRUMsZUFERixFQUVFQyxrQkFGRixFQUdFQyxZQUhGLFFBSU8sVUFKUDtBQUtBLFNBQVNDLDRCQUFULFFBQTZDLDRCQUE3QztBQUNBLFNBQVNDLGVBQVQsUUFBZ0MsVUFBaEM7QUFDQSxTQUFTQyxlQUFULFFBQWdDLGdCQUFoQzs7QUFxREE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNDLGFBQVQsQ0FBdUJDLGVBQXZCLEVBQXdDQyxvQkFBeEMsRUFBOEQ7QUFBQTs7QUFDNURBLEVBQUFBLG9CQUFvQixHQUFHLHlCQUFBQSxvQkFBb0IsVUFBcEIsOERBQXNCQyxNQUF0QixHQUErQkQsb0JBQS9CLEdBQXNELElBQTdFLENBRDRELENBQ3NCOztBQUR0Qiw4QkFFM0JaLGdCQUFnQixDQUFDYyxnQ0FBakIsQ0FBa0RILGVBQWxELEVBQW1FQyxvQkFBbkUsQ0FGMkI7QUFBQSxNQUVwREcsVUFGb0QseUJBRXBEQSxVQUZvRDtBQUFBLE1BRXhDQyxRQUZ3Qyx5QkFFeENBLFFBRndDOztBQUc1RCxTQUFPaEIsZ0JBQWdCLENBQUNpQixvQkFBakIsQ0FBc0NELFFB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ZUFBZSxFQUFmQTtBQVJPLEtBREo7QUFXTHpELElBQUFBLEtBQUssRUFBRTtBQUNMSixNQUFBQSxPQUFPLEVBQVBBLE9BREs7QUFFTEMsTUFBQUEsV0FBVyxFQUFYQSxXQUZLO0FBR0xnRSxNQUFBQSxtQkFBbUIsRUFBbkJBLG1CQUhLO0FBSUwvRCxNQUFBQSxPQUFPLEVBQVBBLE9BSks7QUFLTGpCLE1BQUFBLGdCQUFnQixFQUFoQkEsZ0JBTEs7QUFNTFosTUFBQUEsbUJBQW1CLEVBQW5CQSxtQkFOSztBQU9MRSxNQUFBQSxZQUFZLEVBQVpBLFlBUEs7QUFRTGUsTUFBQUEsU0FBUyxFQUFFbUIsY0FSTjtBQVNMZixNQUFBQSxjQUFjLEVBQWRBLGNBVEs7QUFVTEUsTUFBQUEsY0FBYyxFQUFkQSxjQVZLO0FBV0xDLE1BQUFBLEtBQUssRUFBTEEsS0FYSztBQVlMcUUsTUFBQUEsY0FBYyxFQUFkQSxjQVpLO0FBYUw1RixNQUFBQSxnQkFBZ0IsRUFBaEJBO0FBYks7QUFYRixHQUFQO0FBMkJEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWlnbm9yZVxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICBBbGlnbm1lbnRIZWxwZXJzLFxuICBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLFxuICB1c2ZtSGVscGVycyxcbn0gZnJvbSAnd29yZC1hbGlnbmVyLXJjbCdcbmltcG9ydCAqIGFzIGlzRXF1YWwgZnJvbSAnZGVlcC1lcXVhbCdcbmltcG9ydCB7XG4gIFNjcmlwdHVyZUNvbmZpZyxcbiAgU2NyaXB0dXJlUmVmZXJlbmNlLFxuICBTZXJ2ZXJDb25maWcsXG59IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyB9IGZyb20gJy4uL3V0aWxzL1NjcmlwdHVyZVNldHRpbmdzJ1xuaW1wb3J0IHsgT1JJR0lOQUxfU09VUkNFIH0gZnJvbSAnLi4vdXRpbHMnXG5pbXBvcnQgeyBnZXRWZXJzZXNGb3JSZWYgfSBmcm9tICcuL3VzZVNjcmlwdHVyZSdcblxuaW50ZXJmYWNlIFN0YXJ0RWRpdCB7XG4gICgpOiBQcm9taXNlPHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0dXJlQUxpZ25tZW50RWRpdFByb3BzIHtcbiAgLy8gaW5kZXggdG8gdXNlIGZvciBib29rIChlLmcuIGAwMWAgZm9yIGBHRU5gKVxuICBib29rSW5kZXg6IHN0cmluZyxcbiAgLy8gY3VycmVudCB2ZXJzZSBzZWxlY3RlZCBmcm9tIGluaXRpYWxWZXJzZU9iamVjdHNbXVxuICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgLy8gcmVmZXJlbmNlIGZvciB2ZXJzZSBzZWxlY3RlZCBmb3IgYWxpZ25tZW50XG4gIGN1cnJlbnRWZXJzZVJlZjogU2NyaXB0dXJlUmVmZXJlbmNlLFxuICAvLyBpZiB0cnVlIHRoZW4gZWRpdGluZyBpcyBhbGxvd2VkXG4gIGVuYWJsZUVkaXQ6IGJvb2xlYW4sXG4gIC8vIGlmIHRydWUgdGhlbiBhbGlnbm1lbnQgaXMgYWxsb3dlZFxuICBlbmFibGVBbGlnbm1lbnQ6IGJvb2xlYW4sXG4gIC8vIGNvbmZpZ3VyYXRpb24gdG8gdXNlIGZvciBodHRwIGNvbW11bmljYXRpb25cbiAgaHR0cENvbmZpZzogU2VydmVyQ29uZmlnLFxuICAvLyBhcnJheSBvZiBlYWNoIHZlcnNlIGZvciBpbiByZWZlcmVuY2UgcmFuZ2VcbiAgaW5pdGlhbFZlcnNlT2JqZWN0czogW10sXG4gIC8vIGluaXRpYWwgdGV4dCBmb3IgdmVyc2VcbiAgaW5pdGlhbFZlcnNlVGV4dDogc3RyaW5nLFxuICAvLyBmbGFnIHRoYXQgd2UgYXJlIHdvcmtpbmcgb24gTlQgYm9va1xuICBpc05ld1Rlc3RhbWVudDogYm9vbGVhbixcbiAgLy8gdXNlciBuYW1lIG9mIGxvZ2dlZCBpbiB1c2VyXG4gIGxvZ2dlZEluVXNlcjogc3RyaW5nLFxuICAvLyBvd25lciB0byB1c2Ugd2hlbiBmZXRjaGluZyBvcmlnaW5hbCBsYW5ndWFnZSByZXNvdXJjZXNcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyOiBzdHJpbmcsXG4gIC8vIHVybCBmb3IgdGhlIG9yaWdpbmFsIGxhbmd1YWdlIHJlcG9cbiAgb3JpZ2luYWxSZXBvVXJsOiBzdHJpbmcsXG4gIC8vIG9yaWdpbmFsIHNjcmlwdHVyZSBib29rT2JqZWN0cyBmb3IgY3VycmVudCBib29rXG4gIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHM6IG9iamVjdCxcbiAgLyoqIGN1cnJlbnQgcmVmZXJlbmNlICoqL1xuICByZWZlcmVuY2U6IFNjcmlwdHVyZVJlZmVyZW5jZTtcbiAgLy8gZGV0YWlscyBhYm91dCB0aGUgY3VycmVudCBzY3JpcHR1cmUgbG9hZGVkXG4gIHNjcmlwdHVyZUNvbmZpZzogU2NyaXB0dXJlQ29uZmlnLFxuICAvLyBzZXR0aW5ncyB0byBiZSB1c2VkIGZvciBzY3JpcHR1cmVcbiAgc2NyaXB0dXJlU2V0dGluZ3M6IHsgfSxcbiAgLy8gY2FsbGJhY2sgdG8gc2F2ZSBjdXJyZW50IHZlcnNlIGVkaXQgYW5kIGFsaWdubWVudCBjaGFuZ2VzXG4gIHNldFNhdmVkQ2hhbmdlczogRnVuY3Rpb24sXG4gIC8vIHNvdXJjZSBsYW5ndWFnZVxuICBzb3VyY2VMYW5ndWFnZTogc3RyaW5nLFxuICAvLyBjYWxsYmFjayB0byBjcmVhdGUgYSB1c2VyIGJyYW5jaCBmb3Igc2F2aW5nIGVkaXQgZGF0YVxuICBzdGFydEVkaXRCcmFuY2g6IFN0YXJ0RWRpdCxcbiAgLy8gY3VycmVudCB0YXJnZXQgbGFuZ3VhZ2VcbiAgdGFyZ2V0TGFuZ3VhZ2U6IG9iamVjdCxcbiAgLy8gdGl0bGUgdG8gc2hvdyBpbiBhbGlnbm1lbnRcbiAgdGl0bGU6IHN0cmluZyxcbiAgIC8vIGJyYW5jaCBuYW1lIGN1cnJlbnRseSBiZWluZyB1c2VkIChlLmcuIGBtYXN0ZXJgIG9yIHVzZXIgYnJhbmNoKVxuICB3b3JraW5nUmVzb3VyY2VCcmFuY2g6IHN0cmluZyxcbn1cblxuLyoqXG4gKiBkZXRlcm1pbmVzIGlmIGFsaWdubWVudCBpcyBjb21wbGV0ZSBiYXNlZCBvbiB0YXJnZXQgVVNGTSBhbmQgb3JpZ2luYWwgbGFuZ3VhZ2UgdmVyc2Ugb2JqZWN0c1xuICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldFZlcnNlVVNGTVxuICogQHBhcmFtIHtvYmplY3RbXX0gb3JpZ2luYWxWZXJzZU9iamVjdHNcbiAqL1xuZnVuY3Rpb24gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKSB7XG4gIG9yaWdpbmFsVmVyc2VPYmplY3RzID0gb3JpZ2luYWxWZXJzZU9iamVjdHM/Lmxlbmd0aCA/IG9yaWdpbmFsVmVyc2VPYmplY3RzIDogbnVsbCAvLyBtYWtlIHN1cmUgbm90IHBhc3NpbmcgZW1wdHkgQXJyYXlcbiAgY29uc3QgeyBhbGlnbm1lbnRzLCB3b3JkQmFuayB9ID0gQWxpZ25tZW50SGVscGVycy5leHRyYWN0QWxpZ25tZW50c0Zyb21UYXJnZXRWZXJzZSh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICByZXR1cm4gQWxpZ25tZW50SGVscGVycy5hcmVBbGdubWVudHNDb21wbGV0ZSh3b3JkQmFuaywgYWxpZ25tZW50cylcbn1cblxuLyoqXG4gKiBnZXQgdGhlIHVwZGF0ZWQgVVNGTSBmb3IgdGFyZ2V0IHZlcnNlIGZyb20gdGhlIHVwZGF0ZWQgdmVyc2Ugb2JqZWN0cyBhbmQgbGF0ZXN0IHRleHRcbiAqIEBwYXJhbSB7b2JqZWN0W119IHVwZGF0ZWRWZXJzZU9iamVjdHNcbiAqIEBwYXJhbSB7b2JqZWN0W119IGluaXRpYWxWZXJzZU9iamVjdHNcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gdmVyc2VUZXh0Q2hhbmdlZFxuICogQHBhcmFtIHtzdHJpbmd9IG5ld1ZlcnNlVGV4dFxuICovXG5mdW5jdGlvbiBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQ6IGJvb2xlYW4sIG5ld1ZlcnNlVGV4dCkge1xuICBsZXQgdGFyZ2V0VmVyc2VVU0ZNID0gbnVsbFxuICBjb25zdCBjdXJyZW50VmVyc2VPYmplY3RzXyA9IHVwZGF0ZWRWZXJzZU9iamVjdHMgfHwgaW5pdGlhbFZlcnNlT2JqZWN0c1xuXG4gIGlmICh2ZXJzZVRleHRDaGFuZ2VkICYmIG5ld1ZlcnNlVGV4dCkge1xuICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2VUZXh0IH0gPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGN1cnJlbnRWZXJzZU9iamVjdHNfLCBuZXdWZXJzZVRleHQpXG4gICAgdGFyZ2V0VmVyc2VVU0ZNID0gdGFyZ2V0VmVyc2VUZXh0XG4gIH0gZWxzZSB7XG4gICAgdGFyZ2V0VmVyc2VVU0ZNID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKGN1cnJlbnRWZXJzZU9iamVjdHNfKVxuICB9XG4gIHJldHVybiB0YXJnZXRWZXJzZVVTRk1cbn1cblxuLy8gbWFuYWdlIHZlcnNlIGVkaXQgYW5kIGFsaWdubWVudCBzdGF0ZXNcbmV4cG9ydCBmdW5jdGlvbiB1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0KHtcbiAgY3VycmVudEluZGV4LFxuICBlbmFibGVFZGl0LFxuICBlbmFibGVBbGlnbm1lbnQsXG4gIGh0dHBDb25maWcsXG4gIGluaXRpYWxWZXJzZU9iamVjdHMsXG4gIGluaXRpYWxWZXJzZVRleHQsXG4gIGlzTmV3VGVzdGFtZW50LFxuICBvcmlnaW5hbExhbmd1YWdlT3duZXIsXG4gIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMsXG4gIG9yaWdpbmFsUmVwb1VybCxcbiAgcmVmZXJlbmNlLFxuICBzY3JpcHR1cmVDb25maWcsXG4gIHNjcmlwdHVyZVNldHRpbmdzLFxuICBzZXRTYXZlZENoYW5nZXMsXG4gIHNvdXJjZUxhbmd1YWdlLFxuICBzdGFydEVkaXRCcmFuY2gsXG4gIHRhcmdldExhbmd1YWdlLFxuICB0aXRsZSxcbiAgd29ya2luZ1Jlc291cmNlQnJhbmNoLFxufSA6IFNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcykge1xuICBjb25zdCBbc3RhdGUsIHNldFN0YXRlX10gPSBSZWFjdC51c2VTdGF0ZSh7XG4gICAgYWxpZ25lZDogZmFsc2UsXG4gICAgYWxpZ25lckRhdGE6IG51bGwsXG4gICAgZWRpdGluZzogZmFsc2UsXG4gICAgbmV3QWxpZ25tZW50czogbnVsbCxcbiAgICBuZXdWZXJzZVRleHQ6IG51bGwsXG4gICAgdXBkYXRlZFZlcnNlT2JqZWN0czogbnVsbCxcbiAgICB2ZXJzZVRleHRDaGFuZ2VkOiBmYWxzZSxcbiAgfSlcblxuICBjb25zdCB7XG4gICAgYWxpZ25lZCxcbiAgICBhbGlnbmVyRGF0YSxcbiAgICBlZGl0aW5nLFxuICAgIG5ld0FsaWdubWVudHMsXG4gICAgbmV3VmVyc2VUZXh0LFxuICAgIHVwZGF0ZWRWZXJzZU9iamVjdHMsXG4gICAgdmVyc2VUZXh0Q2hhbmdlZCxcbiAgfSA9IHN0YXRlXG4gIGNvbnN0IGNoYXB0ZXIgPSByZWZlcmVuY2U/LmNoYXB0ZXJcbiAgY29uc3QgdmVyc2UgPSByZWZlcmVuY2U/LnZlcnNlXG4gIGNvbnN0IHByb2plY3RJZCA9IHJlZmVyZW5jZT8ucHJvamVjdElkXG4gIGNvbnN0IGJhc2ljUmVmZXJlbmNlID0geyAvLyBvbmx5IGhhcyB0aGUgdGhyZWUgYmFzaWMgZmllbGRzXG4gICAgY2hhcHRlcixcbiAgICB2ZXJzZSxcbiAgICBwcm9qZWN0SWQsXG4gIH1cblxuICBmdW5jdGlvbiBzZXRTdGF0ZShuZXdTdGF0ZSkge1xuICAgIHNldFN0YXRlXyhwcmV2U3RhdGUgPT4gKHsgLi4ucHJldlN0YXRlLCAuLi5uZXdTdGF0ZSB9KSlcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsZWFyQ2hhbmdlcygpIHtcbiAgICAvLyBjb25zb2xlLmxvZyhgY2xlYXJDaGFuZ2VzKCkgLSAke0pTT04uc3RyaW5naWZ5KGJhc2ljUmVmZXJlbmNlKX1gKVxuICAgIGNvbnN0IGNsZWFyU3RhdGUgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgICAgZWRpdGluZzogZmFsc2UsXG4gICAgICBuZXdBbGlnbm1lbnRzOiBudWxsLFxuICAgICAgbmV3VmVyc2VUZXh0OiBudWxsLFxuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0czogbnVsbCxcbiAgICAgIHZlcnNlVGV4dENoYW5nZWQ6IGZhbHNlLFxuICAgIH1cblxuICAgIGlmICghaXNFcXVhbChzdGF0ZSwgY2xlYXJTdGF0ZSkpIHtcbiAgICAgIC8vIGNvbnNvbGUubG9nKGBjbGVhckNoYW5nZXMoKSAtIHJlZmVyZW5jZSBjaGFuZ2VkLCByZXNldCBlZGl0L2FsaWdubWVudCBzdGF0ZSB2YXJpYWJsZXNgKVxuICAgICAgc2V0U3RhdGUoY2xlYXJTdGF0ZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzXyA9IHtcbiAgICAuLi5zY3JpcHR1cmVTZXR0aW5ncyxcbiAgICByZXNvdXJjZUlkOiBPUklHSU5BTF9TT1VSQ0UsXG4gIH1cblxuICAvLyBAdHMtaWdub3JlXG4gIGh0dHBDb25maWcgPSBodHRwQ29uZmlnIHx8IHt9XG4gIGNvbnN0IGJvb2tJZCA9IHByb2plY3RJZFxuICBjb25zdCBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzID0gZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyhcbiAgICBib29rSWQsIG9yaWdpbmFsU2NyaXB0dXJlU2V0dGluZ3NfLCBpc05ld1Rlc3RhbWVudCwgb3JpZ2luYWxSZXBvVXJsLFxuICApXG5cbiAgaWYgKCFlbmFibGVBbGlnbm1lbnQpIHsgLy8gaWYgbm90IGVuYWJsZWQsIHRoZW4gd2UgZG9uJ3QgZmV0Y2ggcmVzb3VyY2VcbiAgICBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzLnJlc291cmNlTGluayA9IG51bGxcbiAgfVxuXG4gIGNvbnN0IG9yaWdpbmFsVmVyc2VPYmplY3RzID0gUmVhY3QudXNlTWVtbygoKSA9PiB7IC8vIGdldCB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgdmVyc2VPYmplY3RzXG4gICAgY29uc3QgdmVyc2VPYmplY3RzID0gW11cblxuICAgIGlmIChvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzKSB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBjb25zdCB2ZXJzZXMgPSBnZXRWZXJzZXNGb3JSZWYoYmFzaWNSZWZlcmVuY2UsIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMsIG9yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHM/Lmxhbmd1YWdlSWQpXG5cbiAgICAgIGlmICh2ZXJzZXM/Lmxlbmd0aCkge1xuICAgICAgICBmb3IgKGNvbnN0IHZlcnNlUmVmZXJlbmNlIG9mIHZlcnNlcykge1xuICAgICAgICAgIGNvbnN0IG9yaWdWZXJzZU9iamVjdHMgPSB2ZXJzZVJlZmVyZW5jZT8udmVyc2VEYXRhPy52ZXJzZU9iamVjdHNcblxuICAgICAgICAgIGlmIChvcmlnVmVyc2VPYmplY3RzKSB7XG4gICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh2ZXJzZU9iamVjdHMsIG9yaWdWZXJzZU9iamVjdHMpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB2ZXJzZU9iamVjdHNcbiAgfSwgW29yaWdpbmFsU2NyaXB0dXJlQm9va09iamVjdHMsIGNoYXB0ZXIsIHZlcnNlLCBwcm9qZWN0SWRdKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHVwZGF0ZSBhbGlnbm1lbnQgc3RhdHVzIHdoZW4gYWxpZ25lciBpcyBoaWRkZW5cbiAgICBjb25zdCBub3RFbXB0eSA9ICEhaW5pdGlhbFZlcnNlT2JqZWN0c1xuICAgIGxldCBhbGlnbmVkXyA9IGZhbHNlXG5cbiAgICBpZiAoIWFsaWduZXJEYXRhKSB7IC8vIHNraXAgaWYgYWxpZ25lciBpcyBiZWluZyBzaG93blxuICAgICAgaWYgKG5vdEVtcHR5KSB7IC8vIHNraXAgaWYgZW1wdHlcbiAgICAgICAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcblxuICAgICAgICBpZiAoIWVuYWJsZUFsaWdubWVudCkge1xuICAgICAgICAgIGFsaWduZWRfID0gdHJ1ZVxuICAgICAgICB9IGVsc2UgaWYgKG5ld1ZlcnNlVGV4dCAmJiAobmV3VmVyc2VUZXh0ICE9PSBpbml0aWFsVmVyc2VUZXh0KSkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdHMgPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGN1cnJlbnRWZXJzZU9iamVjdHNfLCBuZXdWZXJzZVRleHQpXG4gICAgICAgICAgYWxpZ25lZF8gPSBpc1VzZm1BbGlnbmVkKHJlc3VsdHM/LnRhcmdldFZlcnNlVGV4dCwgb3JpZ2luYWxWZXJzZU9iamVjdHMpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdGFyZ2V0VmVyc2VVU0ZNID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKGN1cnJlbnRWZXJzZU9iamVjdHNfKVxuICAgICAgICAgIGFsaWduZWRfID0gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChhbGlnbmVkICE9PSBhbGlnbmVkXykge1xuICAgICAgICBzZXRTdGF0ZSh7IGFsaWduZWQ6IGFsaWduZWRfIH0pXG4gICAgICB9XG4gICAgfVxuICB9LCBbaW5pdGlhbFZlcnNlT2JqZWN0cywgYWxpZ25lckRhdGEsIG5ld1ZlcnNlVGV4dCwgaW5pdGlhbFZlcnNlVGV4dCwgZW5hYmxlQWxpZ25tZW50LCBvcmlnaW5hbFZlcnNlT2JqZWN0c10pXG5cbiAgLyoqXG4gICAqIGdldCBjaGFuZ2VzIGZvciBzYXZpbmdcbiAgICogQHBhcmFtIHtvYmplY3R9IG5ld1N0YXRlIC0gb3B0aW9uYWxseSBwYXNzIGluIG5ldyBzdGF0ZSAodG8gb3ZlcnJpZGUgc3RhdGUpXG4gICAqL1xuICBmdW5jdGlvbiBnZXRDaGFuZ2VzKG5ld1N0YXRlID0ge30pIHtcbiAgICBjb25zb2xlLmxvZyhgZ2V0Q2hhbmdlcyAtIHN0YXJ0ZWQgJHtjdXJyZW50SW5kZXh9IC0gcGFzc2VkIHN0YXRlYCwgbmV3U3RhdGUpXG4gICAgY29uc3QgX25ld1N0YXRlID0ge1xuICAgICAgc3RhdGUsXG4gICAgICAuLi5uZXdTdGF0ZSxcbiAgICB9XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIG5ld0FsaWdubWVudHMsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBuZXdWZXJzZVRleHQsXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICB1cGRhdGVkVmVyc2VPYmplY3RzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdmVyc2VUZXh0Q2hhbmdlZCxcbiAgICB9ID0gX25ld1N0YXRlXG4gICAgbGV0IHVwZGF0ZWRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0c1xuXG4gICAgaWYgKG5ld0FsaWdubWVudHMpIHsgLy8gaWYgdW5zYXZlZCBhbGlnbm1lbnQgY2hhbmdlcywgYXBwbHkgdGhlbVxuICAgICAgY29uc29sZS5sb2coYGdldENoYW5nZXMgLSBhcHBseWluZyB1bnNhdmVkIGFsaWdubWVudHN9YClcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfID0gdXBkYXRlVmVyc2VXaXRoTmV3QWxpZ25tZW50cygpXG4gICAgfVxuXG4gICAgaWYgKHZlcnNlVGV4dENoYW5nZWQgJiYgbmV3VmVyc2VUZXh0KSB7XG4gICAgICBjb25zb2xlLmxvZyhgZ2V0Q2hhbmdlcyAtIGFwcGx5aW5nIG5ldyB0ZXh0OmAsIG5ld1ZlcnNlVGV4dClcbiAgICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0c18gfHwgaW5pdGlhbFZlcnNlT2JqZWN0c1xuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0c18gJiYgY29uc29sZS5sb2coYGdldENoYW5nZXMgLSBhcHBseWluZyB1cGRhdGVkIGFsaWdubWVudHNgKVxuICAgICAgY29uc3QgeyB0YXJnZXRWZXJzZU9iamVjdHMgfSA9IEFsaWdubWVudEhlbHBlcnMudXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UoY3VycmVudFZlcnNlT2JqZWN0c18sIG5ld1ZlcnNlVGV4dClcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfID0gdGFyZ2V0VmVyc2VPYmplY3RzXG4gICAgfSBlbHNlIHsgLy8gb25seSBhbGlnbm1lbnQgY2hhbmdlcyB0byB1cGxvYWRcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfICYmIGNvbnNvbGUubG9nKGBnZXRDaGFuZ2VzIC0gYXBwbHlpbmcgdXBkYXRlZCBhbGlnbm1lbnRzYCwgeyBuZXdWZXJzZVRleHQsIHVwZGF0ZWRWZXJzZU9iamVjdHNfIH0pXG4gICAgICB1cGRhdGVkVmVyc2VPYmplY3RzXyA9IHVwZGF0ZWRWZXJzZU9iamVjdHNfIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcbiAgICB9XG5cbiAgICBpZiAodXBkYXRlZFZlcnNlT2JqZWN0c18pIHtcbiAgICAgIGNvbnN0IHJlZiA9IHNjcmlwdHVyZUNvbmZpZz8udmVyc2VzRm9yUmVmPy5bY3VycmVudEluZGV4XVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmV3VmVyc2VUZXh0LFxuICAgICAgICByZWYsXG4gICAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IHVwZGF0ZWRWZXJzZU9iamVjdHNfLFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7fVxuICB9XG5cbiAgLyoqXG4gICAqIGNhbGxiYWNrIGZvciB3aGVuIHVzZXIgY2xpY2tlZCBvbiBhbGlnbm1lbnQgYnV0dG9uIC0gd2lsbCBzaG93IGlmIG5vdCBhbHJlYWR5IHNob3duXG4gICAqL1xuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVBbGlnbm1lbnRDbGljaygpIHtcbiAgICBpZiAoZW5hYmxlQWxpZ25tZW50KSB7XG4gICAgICBsZXQgX2FsaWduZXJEYXRhID0gbnVsbFxuICAgICAgYXdhaXQgc3RhcnRFZGl0QnJhbmNoKClcblxuICAgICAgaWYgKCFhbGlnbmVyRGF0YSkgeyAvLyBpZiB3b3JkIGFsaWduZXIgbm90IHNob3duXG4gICAgICAgIGNvbnNvbGUubG9nKGBoYW5kbGVBbGlnbm1lbnRDbGljayAtIHRvZ2dsZSBPTiBhbGlnbm1lbnRgKVxuICAgICAgICBjb25zdCB0YXJnZXRWZXJzZVVTRk0gPSBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dClcbiAgICAgICAgbGV0IG9yaWdpbmFsVmVyc2VVc2ZtID0gbnVsbFxuXG4gICAgICAgIGlmIChvcmlnaW5hbFZlcnNlT2JqZWN0cykge1xuICAgICAgICAgIG9yaWdpbmFsVmVyc2VVc2ZtID0gVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycy5jb252ZXJ0VmVyc2VEYXRhVG9VU0ZNKG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge1xuICAgICAgICAgIHRhcmdldFdvcmRzOiB3b3JkQmFuayxcbiAgICAgICAgICB2ZXJzZUFsaWdubWVudHM6IGFsaWdubWVudHMsXG4gICAgICAgIH0gPSBBbGlnbm1lbnRIZWxwZXJzLnBhcnNlVXNmbVRvV29yZEFsaWduZXJEYXRhKHRhcmdldFZlcnNlVVNGTSwgb3JpZ2luYWxWZXJzZVVzZm0pXG4gICAgICAgIF9hbGlnbmVyRGF0YSA9IHsgd29yZEJhbmssIGFsaWdubWVudHMgfVxuICAgICAgfSBlbHNlIHsgLy8gd29yZCBhbGlnbmVyIGN1cnJlbnRseSBzaG93blxuICAgICAgICBjb25zb2xlLmxvZyhgaGFuZGxlQWxpZ25tZW50Q2xpY2sgLSBhbGlnbm1lbnQgYWxyZWFkeSBzaG93bmApXG4gICAgICAgIF9hbGlnbmVyRGF0YSA9IGFsaWduZXJEYXRhXG4gICAgICB9XG4gICAgICBzZXRTdGF0ZSh7IGFsaWduZXJEYXRhOiBfYWxpZ25lckRhdGEgfSlcbiAgICAgIGNvbnNvbGUubG9nKF9hbGlnbmVyRGF0YSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogZ2V0IHVwZGF0ZWQgdmVyc2Ugb2JqZWN0cyBhZnRlciBhbGlnbm1lbnRzIGNoYW5nZWRcbiAgICogQHBhcmFtIHtvYmplY3R9IF9uZXdBbGlnbm1lbnRzIC0gcmVzdWx0cyBvZiBhbGlnbmVyXG4gICAqL1xuICBmdW5jdGlvbiB1cGRhdGVWZXJzZVdpdGhOZXdBbGlnbm1lbnRzKF9uZXdBbGlnbm1lbnRzID0gbmV3QWxpZ25tZW50cykge1xuICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG4gICAgY29uc3QgdGFyZ2V0VmVyc2VUZXh0ID0gbmV3VmVyc2VUZXh0IHx8IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShjdXJyZW50VmVyc2VPYmplY3RzXylcbiAgICBjb25zdCB2ZXJzZVVzZm0gPSBBbGlnbm1lbnRIZWxwZXJzLmFkZEFsaWdubWVudHNUb1ZlcnNlVVNGTShfbmV3QWxpZ25tZW50cy50YXJnZXRXb3JkcywgX25ld0FsaWdubWVudHMudmVyc2VBbGlnbm1lbnRzLCB0YXJnZXRWZXJzZVRleHQpXG4gICAgY29uc3QgYWxpZ25lZFZlcnNlT2JqZWN0cyA9IHVzZm1IZWxwZXJzLnVzZm1WZXJzZVRvSnNvbih2ZXJzZVVzZm0pXG4gICAgcmV0dXJuIGFsaWduZWRWZXJzZU9iamVjdHNcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayBmb3Igd2hlbiB1c2VyIGNsaWNrZWQgb24gYnV0dG9uIHRvIHNhdmUgY3VycmVudCBhbGlnbm1lbnRzIGluIHdvcmQgYWxpZ25lci4gIEdlbmVyYXRlcyBuZXcgdmVyc2UgY29udGVudCBhbmQgc2F2ZXMgaW4gc3RhdGUuIENsb3NlcyBhbGlnbmVyIGRpc3BsYXlcbiAgICogQHBhcmFtIHtvYmplY3R9IF9uZXdBbGlnbm1lbnRzIC0gcmVzdWx0cyBvZiBhbGlnbmVyXG4gICAqL1xuICBmdW5jdGlvbiBzYXZlQWxpZ25tZW50KF9uZXdBbGlnbm1lbnRzID0gbmV3QWxpZ25tZW50cykge1xuICAgIGNvbnNvbGUubG9nKGBzYXZlQWxpZ25tZW50KCkgLSBuZXdBbGlnbm1lbnRzYCwgX25ld0FsaWdubWVudHMpXG5cbiAgICBpZiAoX25ld0FsaWdubWVudHMpIHtcbiAgICAgIGNvbnN0IGFsaWduZWRWZXJzZU9iamVjdHMgPSB1cGRhdGVWZXJzZVdpdGhOZXdBbGlnbm1lbnRzKF9uZXdBbGlnbm1lbnRzKVxuICAgICAgY29uc29sZS5sb2coYHNhdmVBbGlnbm1lbnQoKSAtIGFsaWduZWRWZXJzZU9iamVjdHNgLCBhbGlnbmVkVmVyc2VPYmplY3RzKVxuICAgICAgY29uc3QgbmV3U3RhdGUgPSB7XG4gICAgICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgICAgICBlZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgbmV3QWxpZ25tZW50czogbnVsbCxcbiAgICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0czogYWxpZ25lZFZlcnNlT2JqZWN0cyxcbiAgICAgIH1cbiAgICAgIHNldFN0YXRlKG5ld1N0YXRlKVxuICAgICAgY2FsbFNldFNhdmVkU3RhdGUodHJ1ZSwgbmV3U3RhdGUgKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhgc2F2ZUFsaWdubWVudCgpIC0gbm8gYWxpZ25tZW50IGNoYW5nZXNgKVxuICAgICAgc2V0U3RhdGUoe1xuICAgICAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICAgICAgZWRpdGluZzogZmFsc2UsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayBmb3Igd2hlbiB1c2VyIGNsaWNrZWQgb24gYnV0dG9uIHRvIGNhbmNlbCB3b3JrIGluIHdvcmQgYWxpZ25lci4gIENhbGN1bGF0ZXMgYW5kIGRpc3BsYXlzIGN1cnJlbnQgYWxpZ25tZW50IHZhbGlkIHN0YXRlLiBDbG9zZXMgYWxpZ25lciBkaXNwbGF5XG4gICAqL1xuICBmdW5jdGlvbiBjYW5jZWxBbGlnbm1lbnQoKSB7XG4gICAgY29uc29sZS5sb2coYGNhbmNlbEFsaWdubWVudCgpYClcbiAgICBjb25zdCB0YXJnZXRWZXJzZVVTRk0gPSBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dClcbiAgICBjb25zdCBhbGlnbmVkID0gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgIHNldFN0YXRlKHsgYWxpZ25lckRhdGE6IG51bGwsIGFsaWduZWQgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayBmb3IgYnV0dG9uIHRvIHNldCBlZGl0aW5nIHN0YXRlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZWRpdGluZ18gLSBpZiB0cnVlLCBlZGl0b3IgaXMgc2hvd24sIG90aGVyd2lzZSBlZGl0b3IgaXMgaGlkZGVuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBfbmV3VmVyc2VUZXh0IC0gb3B0aW9uYWwgdmVyc2UgdGV4dFxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlcXVpcmUtYXdhaXRcbiAgYXN5bmMgZnVuY3Rpb24gc2V0RWRpdGluZyhlZGl0aW5nXywgX25ld1ZlcnNlVGV4dCA9IG5ld1ZlcnNlVGV4dCkge1xuICAgIGlmIChlbmFibGVFZGl0KSB7XG4gICAgICBpZiAoZWRpdGluZ18gIT09IGVkaXRpbmcpIHtcbiAgICAgICAgX25ld1ZlcnNlVGV4dCA9IF9uZXdWZXJzZVRleHQgfHwgaW5pdGlhbFZlcnNlVGV4dFxuICAgICAgICBjb25zdCBuZXdTdGF0ZSA9IHsgZWRpdGluZzogZWRpdGluZ18sIG5ld1ZlcnNlVGV4dDogX25ld1ZlcnNlVGV4dCB9XG4gICAgICAgIHNldFN0YXRlKG5ld1N0YXRlKVxuICAgICAgICBjYWxsU2V0U2F2ZWRTdGF0ZSgoX25ld1ZlcnNlVGV4dCAhPT0gaW5pdGlhbFZlcnNlVGV4dCksIG5ld1N0YXRlIClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2FsbGJhY2sgZnJvbSB0aGUgZWRpdCBvbkNoYW5nZSBldmVudCB0byB1cGRhdGUgZWRpdCBzdGF0ZSB2YXJpYWJsZXNcbiAgICogQHBhcmFtIHtib29sZWFufSBjaGFuZ2VkIC0gdHJ1ZSBpZiB0aGUgbmV3VmVyc2VUZXh0IGlzIGRpZmZlcmVudCB0aGFuIHRoZSBpbml0aWFsVmVyc2VUZXh0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuZXdWZXJzZVRleHQgLSBjdXJyZW50IGNoYW5nZWQgdmVyc2UgdGV4dFxuICAgKiBAcGFyYW0ge3N0cmluZ30gX2luaXRpYWxWZXJzZVRleHQgLSBpbml0aWFsIHZlcnNlIHRleHRcbiAgICovXG4gIGZ1bmN0aW9uIHNldFZlcnNlQ2hhbmdlZChjaGFuZ2VkLCBuZXdWZXJzZVRleHQsIF9pbml0aWFsVmVyc2VUZXh0KSB7XG4gICAgY29uc3QgeyB0YXJnZXRWZXJzZVRleHQgfSA9IEFsaWdubWVudEhlbHBlcnMudXBkYXRlQWxpZ25tZW50c1RvVGFyZ2V0VmVyc2UoaW5pdGlhbFZlcnNlT2JqZWN0cywgbmV3VmVyc2VUZXh0KVxuICAgIGNvbnN0IGFsaWduZWQgPSBpc1VzZm1BbGlnbmVkKHRhcmdldFZlcnNlVGV4dCwgb3JpZ2luYWxWZXJzZU9iamVjdHMpXG4gICAgY29uc3QgX2NoYW5nZWQgPSBuZXdWZXJzZVRleHQgIT09IGluaXRpYWxWZXJzZVRleHRcblxuICAgIHNldFN0YXRlKHtcbiAgICAgIHZlcnNlVGV4dENoYW5nZWQ6IF9jaGFuZ2VkLFxuICAgICAgbmV3VmVyc2VUZXh0LFxuICAgICAgYWxpZ25lZCxcbiAgICB9KVxuICB9XG5cbiAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0cyA9IFJlYWN0LnVzZU1lbW8oICgpID0+IHsgLy8gaWYgdmVyc2UgaGFzIGJlZW4gZWRpdGVkIG9yIGFsaWdubWVudCBjaGFuZ2VkLCB0aGVuIGdlbmVyYXRlIG5ldyB2ZXJzZU9iamVjdHMgdG8gZGlzcGxheSBpbiBTY3JpcHR1cmVQYW5lXG4gICAgaWYgKGluaXRpYWxWZXJzZU9iamVjdHMpIHtcbiAgICAgIGNvbnN0IHRhcmdldFZlcnNlVVNGTSA9IGdldEN1cnJlbnRWZXJzZVVzZm0odXBkYXRlZFZlcnNlT2JqZWN0cywgaW5pdGlhbFZlcnNlT2JqZWN0cywgdmVyc2VUZXh0Q2hhbmdlZCwgbmV3VmVyc2VUZXh0KVxuICAgICAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1c2ZtSGVscGVycy51c2ZtVmVyc2VUb0pzb24odGFyZ2V0VmVyc2VVU0ZNKVxuICAgICAgcmV0dXJuIGN1cnJlbnRWZXJzZU9iamVjdHNfXG4gICAgfVxuICAgIHJldHVybiBpbml0aWFsVmVyc2VPYmplY3RzXG4gIH0sIFt1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkLCBuZXdWZXJzZVRleHRdKVxuXG4gIGNvbnN0IHVuc2F2ZWRDaGFuZ2VzOmJvb2xlYW4gPSBSZWFjdC51c2VNZW1vKCAoKSA9PiB7IC8vIGlmIHZlcnNlIGhhcyBiZWVuIGVkaXRlZCBvciBhbGlnbm1lbnQgY2hhbmdlZCwgdGhlbiBpbmRpY2F0ZSB3ZSBoYXZlIHVuc2F2ZWQgY2hhbmdlc1xuICAgIGNvbnN0IGNoYW5nZWQgPSB2ZXJzZVRleHRDaGFuZ2VkIHx8ICh1cGRhdGVkVmVyc2VPYmplY3RzICYmICFpc0VxdWFsKGluaXRpYWxWZXJzZU9iamVjdHMsIHVwZGF0ZWRWZXJzZU9iamVjdHMpKVxuICAgIHJldHVybiBjaGFuZ2VkXG4gIH0sIFt1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkXSlcblxuICAvKipcbiAgICogY2FsbGJhY2sgdG8gc2NyaXB0dXJlIGNhcmQgdG8gdXBkYXRlZCB3aXRoIGxhdGVzdCBzdGF0ZSBmb3Igc2F2aW5nXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gdW5zYXZlZENoYW5nZXNfXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBuZXdTdGF0ZVxuICAgKi9cbiAgZnVuY3Rpb24gY2FsbFNldFNhdmVkU3RhdGUodW5zYXZlZENoYW5nZXNfLCBuZXdTdGF0ZSA9IHsgfSApIHtcbiAgICBjb25zdCBfbmV3U3RhdGUgPSB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIC4uLm5ld1N0YXRlLFxuICAgIH1cblxuICAgIC8vIGNvbnNvbGUubG9nKGBjYWxsU2V0U2F2ZWRTdGF0ZSAtIG5ldyBzdGF0ZWAsIF9uZXdTdGF0ZSlcbiAgICBzZXRTYXZlZENoYW5nZXMgJiYgc2V0U2F2ZWRDaGFuZ2VzKGN1cnJlbnRJbmRleCwgIXVuc2F2ZWRDaGFuZ2VzXywge1xuICAgICAgZ2V0Q2hhbmdlcyxcbiAgICAgIGNsZWFyQ2hhbmdlcyxcbiAgICAgIHN0YXRlOiBfbmV3U3RhdGUsXG4gICAgfSlcbiAgfVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7IC8vIHNldCBzYXZlZCBjaGFuZ2VzIHdoZW5ldmVyIHVzZXIgZWRpdHMgdmVyc2UgdGV4dCBvciBhbGlnbm1lbnRzIG9yIGlmIGFsaWdubWVudHMgYXJlIG9wZW5cbiAgICBjb25zdCB1bnNhdmVkQ2hhbmdlc18gPSB1bnNhdmVkQ2hhbmdlcyB8fCBhbGlnbmVyRGF0YVxuICAgIGNhbGxTZXRTYXZlZFN0YXRlKHVuc2F2ZWRDaGFuZ2VzXylcbiAgfSwgW3Vuc2F2ZWRDaGFuZ2VzLCBhbGlnbmVyRGF0YV0pXG5cbiAgLyoqXG4gICAqIGNhbGxiYWNrIGZvciB3aGVuIGFsaWdubWVudHMgYXJlIGJlaW5nIGNoYW5nZWRcbiAgICogQHBhcmFtIHtvYmplY3R9IHJlc3VsdHNcbiAgICogQHJldHVybiB7Ym9vbGVhbn0gdHJ1ZSBpZiBhbGlnbm1lbnQgaXMgY29tcGxldGVcbiAgICovXG4gIGZ1bmN0aW9uIG9uQWxpZ25tZW50c0NoYW5nZShyZXN1bHRzKSB7XG4gICAgY29uc29sZS5sb2coYG9uQWxpZ25tZW50c0NoYW5nZSgpIC0gYWxpZ25tZW50IGNoYW5nZWQsIHJlc3VsdHNgLCByZXN1bHRzKSAvLyBtZXJnZSBhbGlnbm1lbnRzIGludG8gdGFyZ2V0IHZlcnNlIGFuZCBjb252ZXJ0IHRvIFVTRk1cbiAgICBjb25zdCB7IHRhcmdldFdvcmRzLCB2ZXJzZUFsaWdubWVudHMgfSA9IHJlc3VsdHNcbiAgICBjb25zdCBhbGlnbm1lbnRDb21wbGV0ZSA9IEFsaWdubWVudEhlbHBlcnMuYXJlQWxnbm1lbnRzQ29tcGxldGUodGFyZ2V0V29yZHMsIHZlcnNlQWxpZ25tZW50cylcbiAgICBjb25zb2xlLmxvZyhgQWxpZ25tZW50cyBhcmUgJHthbGlnbm1lbnRDb21wbGV0ZSA/ICdDT01QTEVURSEnIDogJ2luY29tcGxldGUnfWApXG4gICAgc2V0U3RhdGUoeyBuZXdBbGlnbm1lbnRzOiByZXN1bHRzLCBhbGlnbmVkOiBhbGlnbm1lbnRDb21wbGV0ZSB9KVxuICAgIHJldHVybiBhbGlnbm1lbnRDb21wbGV0ZVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhY3Rpb25zOiB7XG4gICAgICBjYW5jZWxBbGlnbm1lbnQsXG4gICAgICBjbGVhckNoYW5nZXMsXG4gICAgICBnZXRDaGFuZ2VzLFxuICAgICAgaGFuZGxlQWxpZ25tZW50Q2xpY2ssXG4gICAgICBvbkFsaWdubWVudHNDaGFuZ2UsXG4gICAgICBzYXZlQWxpZ25tZW50LFxuICAgICAgc2V0RWRpdGluZyxcbiAgICAgIHNldFZlcnNlQ2hhbmdlZCxcbiAgICB9LFxuICAgIHN0YXRlOiB7XG4gICAgICBhbGlnbmVkLFxuICAgICAgYWxpZ25lckRhdGEsXG4gICAgICBjdXJyZW50VmVyc2VPYmplY3RzLFxuICAgICAgZWRpdGluZyxcbiAgICAgIGluaXRpYWxWZXJzZVRleHQsXG4gICAgICBpbml0aWFsVmVyc2VPYmplY3RzLFxuICAgICAgbmV3VmVyc2VUZXh0LFxuICAgICAgcmVmZXJlbmNlOiBiYXNpY1JlZmVyZW5jZSxcbiAgICAgIHNvdXJjZUxhbmd1YWdlLFxuICAgICAgdGFyZ2V0TGFuZ3VhZ2UsXG4gICAgICB0aXRsZSxcbiAgICAgIHVuc2F2ZWRDaGFuZ2VzLFxuICAgICAgdmVyc2VUZXh0Q2hhbmdlZCxcbiAgICB9LFxuICB9XG59XG4iXX0=
563
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0LnRzeCJdLCJuYW1lcyI6WyJSZWFjdCIsIkFsaWdubWVudEhlbHBlcnMiLCJVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzIiwidXNmbUhlbHBlcnMiLCJpc0VxdWFsIiwiU2NyaXB0dXJlQ29uZmlnIiwiU2NyaXB0dXJlUmVmZXJlbmNlIiwiU2VydmVyQ29uZmlnIiwiZ2V0U2NyaXB0dXJlUmVzb3VyY2VTZXR0aW5ncyIsIk9SSUdJTkFMX1NPVVJDRSIsImdldFZlcnNlc0ZvclJlZiIsImlzVXNmbUFsaWduZWQiLCJ0YXJnZXRWZXJzZVVTRk0iLCJvcmlnaW5hbFZlcnNlT2JqZWN0cyIsImxlbmd0aCIsImV4dHJhY3RBbGlnbm1lbnRzRnJvbVRhcmdldFZlcnNlIiwiYWxpZ25tZW50cyIsIndvcmRCYW5rIiwiYXJlQWxnbm1lbnRzQ29tcGxldGUiLCJnZXRDdXJyZW50VmVyc2VVc2ZtIiwidXBkYXRlZFZlcnNlT2JqZWN0cyIsImluaXRpYWxWZXJzZU9iamVjdHMiLCJ2ZXJzZVRleHRDaGFuZ2VkIiwibmV3VmVyc2VUZXh0IiwiY3VycmVudFZlcnNlT2JqZWN0c18iLCJ1cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZSIsInRhcmdldFZlcnNlVGV4dCIsImNvbnZlcnRWZXJzZURhdGFUb1VTRk0iLCJ1c2VTY3JpcHR1cmVBbGlnbm1lbnRFZGl0IiwiY3VycmVudEluZGV4IiwiZW5hYmxlRWRpdCIsImVuYWJsZUFsaWdubWVudCIsImh0dHBDb25maWciLCJpbml0aWFsVmVyc2VUZXh0IiwiaXNOZXdUZXN0YW1lbnQiLCJvcmlnaW5hbExhbmd1YWdlT3duZXIiLCJvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzIiwib3JpZ2luYWxSZXBvVXJsIiwicmVmZXJlbmNlIiwic2NyaXB0dXJlQ29uZmlnIiwic2NyaXB0dXJlU2V0dGluZ3MiLCJzZXRTYXZlZENoYW5nZXMiLCJzb3VyY2VMYW5ndWFnZSIsInN0YXJ0RWRpdEJyYW5jaCIsInRhcmdldExhbmd1YWdlIiwidGl0bGUiLCJ3b3JraW5nUmVzb3VyY2VCcmFuY2giLCJ1c2VTdGF0ZSIsImFsaWduZWQiLCJhbGlnbmVyRGF0YSIsImVkaXRpbmciLCJuZXdBbGlnbm1lbnRzIiwic3RhdGUiLCJzZXRTdGF0ZV8iLCJjaGFwdGVyIiwidmVyc2UiLCJwcm9qZWN0SWQiLCJiYXNpY1JlZmVyZW5jZSIsInNldFN0YXRlIiwibmV3U3RhdGUiLCJwcmV2U3RhdGUiLCJjbGVhckNoYW5nZXMiLCJjb25zb2xlIiwibG9nIiwiSlNPTiIsInN0cmluZ2lmeSIsImNsZWFyU3RhdGUiLCJvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzXyIsInJlc291cmNlSWQiLCJib29rSWQiLCJvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzIiwicmVzb3VyY2VMaW5rIiwidXNlTWVtbyIsInZlcnNlT2JqZWN0cyIsInZlcnNlcyIsImxhbmd1YWdlSWQiLCJ2ZXJzZVJlZmVyZW5jZSIsIm9yaWdWZXJzZU9iamVjdHMiLCJ2ZXJzZURhdGEiLCJBcnJheSIsInByb3RvdHlwZSIsInB1c2giLCJhcHBseSIsInVzZUVmZmVjdCIsIm5vdEVtcHR5IiwiYWxpZ25lZF8iLCJyZXN1bHRzIiwiZ2V0Q2hhbmdlcyIsIl9uZXdTdGF0ZSIsInVwZGF0ZWRWZXJzZU9iamVjdHNfIiwidXBkYXRlVmVyc2VXaXRoTmV3QWxpZ25tZW50cyIsInRhcmdldFZlcnNlT2JqZWN0cyIsInJlZiIsInZlcnNlc0ZvclJlZiIsImhhbmRsZUFsaWdubWVudENsaWNrIiwiX2FsaWduZXJEYXRhIiwib3JpZ2luYWxWZXJzZVVzZm0iLCJwYXJzZVVzZm1Ub1dvcmRBbGlnbmVyRGF0YSIsInRhcmdldFdvcmRzIiwidmVyc2VBbGlnbm1lbnRzIiwiX25ld0FsaWdubWVudHMiLCJ2ZXJzZVVzZm0iLCJhZGRBbGlnbm1lbnRzVG9WZXJzZVVTRk0iLCJhbGlnbmVkVmVyc2VPYmplY3RzIiwidXNmbVZlcnNlVG9Kc29uIiwic2F2ZUFsaWdubWVudCIsImNhbGxTZXRTYXZlZFN0YXRlIiwiY2FuY2VsQWxpZ25tZW50Iiwic2V0RWRpdGluZyIsImVkaXRpbmdfIiwiX25ld1ZlcnNlVGV4dCIsInNldFZlcnNlQ2hhbmdlZCIsImNoYW5nZWQiLCJfaW5pdGlhbFZlcnNlVGV4dCIsIl9jaGFuZ2VkIiwiY3VycmVudFZlcnNlT2JqZWN0cyIsInVuc2F2ZWRDaGFuZ2VzIiwidW5zYXZlZENoYW5nZXNfIiwib25BbGlnbm1lbnRzQ2hhbmdlIiwiYWxpZ25tZW50Q29tcGxldGUiLCJhY3Rpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBLE9BQU8sS0FBS0EsS0FBWixNQUF1QixPQUF2QjtBQUNBLFNBQ0VDLGdCQURGLEVBRUVDLHlCQUZGLEVBR0VDLFdBSEYsUUFJTyxrQkFKUDtBQUtBLE9BQU8sS0FBS0MsT0FBWixNQUF5QixZQUF6QjtBQUNBLFNBQ0VDLGVBREYsRUFFRUMsa0JBRkYsRUFHRUMsWUFIRixRQUlPLFVBSlA7QUFLQSxTQUFTQyw0QkFBVCxRQUE2Qyw0QkFBN0M7QUFDQSxTQUFTQyxlQUFULFFBQWdDLFVBQWhDO0FBQ0EsU0FBU0MsZUFBVCxRQUFnQyxnQkFBaEM7O0FBcURBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQyxhQUFULENBQXVCQyxlQUF2QixFQUF3Q0Msb0JBQXhDLEVBQThEO0FBQUE7O0FBQzVEQSxFQUFBQSxvQkFBb0IsR0FBRyx5QkFBQUEsb0JBQW9CLFVBQXBCLDhEQUFzQkMsTUFBdEIsR0FBK0JELG9CQUEvQixHQUFzRCxJQUE3RSxDQUQ0RCxDQUNzQjs7QUFEdEIsOEJBRTNCWixnQkFBZ0IsQ0FBQ2MsZ0NBQWpCLENBQWtESCxlQUFsRCxFQUFtRUMsb0JBQW5FLENBRjJCO0FBQUEsTUFFcERHLFVBRm9ELHlCQUVwREEsVUFGb0Q7QUFBQSxNQUV4Q0MsUUFGd0MseUJBRXhDQSxRQUZ3Qzs7QUFHNUQsU0FBT2hCLGdCQUFnQixDQUFD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QXBCQSxvQkFKTztBQUtQd0IsTUFBQUEsa0JBQWtCLEVBQWxCQSxrQkFMTztBQU1QYixNQUFBQSxhQUFhLEVBQWJBLGFBTk87QUFPUEcsTUFBQUEsVUFBVSxFQUFWQSxVQVBPO0FBUVBHLE1BQUFBLGVBQWUsRUFBZkE7QUFSTyxLQURKO0FBV0wzRCxJQUFBQSxLQUFLLEVBQUU7QUFDTEosTUFBQUEsT0FBTyxFQUFQQSxPQURLO0FBRUxDLE1BQUFBLFdBQVcsRUFBWEEsV0FGSztBQUdMa0UsTUFBQUEsbUJBQW1CLEVBQW5CQSxtQkFISztBQUlMakUsTUFBQUEsT0FBTyxFQUFQQSxPQUpLO0FBS0xqQixNQUFBQSxnQkFBZ0IsRUFBaEJBLGdCQUxLO0FBTUxaLE1BQUFBLG1CQUFtQixFQUFuQkEsbUJBTks7QUFPTEUsTUFBQUEsWUFBWSxFQUFaQSxZQVBLO0FBUUxlLE1BQUFBLFNBQVMsRUFBRW1CLGNBUk47QUFTTGYsTUFBQUEsY0FBYyxFQUFkQSxjQVRLO0FBVUxFLE1BQUFBLGNBQWMsRUFBZEEsY0FWSztBQVdMQyxNQUFBQSxLQUFLLEVBQUxBLEtBWEs7QUFZTHVFLE1BQUFBLGNBQWMsRUFBZEEsY0FaSztBQWFMOUYsTUFBQUEsZ0JBQWdCLEVBQWhCQTtBQWJLO0FBWEYsR0FBUDtBQTJCRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgQWxpZ25tZW50SGVscGVycyxcbiAgVXNmbUZpbGVDb252ZXJzaW9uSGVscGVycyxcbiAgdXNmbUhlbHBlcnMsXG59IGZyb20gJ3dvcmQtYWxpZ25lci1yY2wnXG5pbXBvcnQgKiBhcyBpc0VxdWFsIGZyb20gJ2RlZXAtZXF1YWwnXG5pbXBvcnQge1xuICBTY3JpcHR1cmVDb25maWcsXG4gIFNjcmlwdHVyZVJlZmVyZW5jZSxcbiAgU2VydmVyQ29uZmlnLFxufSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MgfSBmcm9tICcuLi91dGlscy9TY3JpcHR1cmVTZXR0aW5ncydcbmltcG9ydCB7IE9SSUdJTkFMX1NPVVJDRSB9IGZyb20gJy4uL3V0aWxzJ1xuaW1wb3J0IHsgZ2V0VmVyc2VzRm9yUmVmIH0gZnJvbSAnLi91c2VTY3JpcHR1cmUnXG5cbmludGVyZmFjZSBTdGFydEVkaXQge1xuICAoKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdHVyZUFMaWdubWVudEVkaXRQcm9wcyB7XG4gIC8vIGluZGV4IHRvIHVzZSBmb3IgYm9vayAoZS5nLiBgMDFgIGZvciBgR0VOYClcbiAgYm9va0luZGV4OiBzdHJpbmcsXG4gIC8vIGN1cnJlbnQgdmVyc2Ugc2VsZWN0ZWQgZnJvbSBpbml0aWFsVmVyc2VPYmplY3RzW11cbiAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gIC8vIHJlZmVyZW5jZSBmb3IgdmVyc2Ugc2VsZWN0ZWQgZm9yIGFsaWdubWVudFxuICBjdXJyZW50VmVyc2VSZWY6IFNjcmlwdHVyZVJlZmVyZW5jZSxcbiAgLy8gaWYgdHJ1ZSB0aGVuIGVkaXRpbmcgaXMgYWxsb3dlZFxuICBlbmFibGVFZGl0OiBib29sZWFuLFxuICAvLyBpZiB0cnVlIHRoZW4gYWxpZ25tZW50IGlzIGFsbG93ZWRcbiAgZW5hYmxlQWxpZ25tZW50OiBib29sZWFuLFxuICAvLyBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3IgaHR0cCBjb21tdW5pY2F0aW9uXG4gIGh0dHBDb25maWc6IFNlcnZlckNvbmZpZyxcbiAgLy8gYXJyYXkgb2YgZWFjaCB2ZXJzZSBmb3IgaW4gcmVmZXJlbmNlIHJhbmdlXG4gIGluaXRpYWxWZXJzZU9iamVjdHM6IFtdLFxuICAvLyBpbml0aWFsIHRleHQgZm9yIHZlcnNlXG4gIGluaXRpYWxWZXJzZVRleHQ6IHN0cmluZyxcbiAgLy8gZmxhZyB0aGF0IHdlIGFyZSB3b3JraW5nIG9uIE5UIGJvb2tcbiAgaXNOZXdUZXN0YW1lbnQ6IGJvb2xlYW4sXG4gIC8vIHVzZXIgbmFtZSBvZiBsb2dnZWQgaW4gdXNlclxuICBsb2dnZWRJblVzZXI6IHN0cmluZyxcbiAgLy8gb3duZXIgdG8gdXNlIHdoZW4gZmV0Y2hpbmcgb3JpZ2luYWwgbGFuZ3VhZ2UgcmVzb3VyY2VzXG4gIG9yaWdpbmFsTGFuZ3VhZ2VPd25lcjogc3RyaW5nLFxuICAvLyB1cmwgZm9yIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSByZXBvXG4gIG9yaWdpbmFsUmVwb1VybDogc3RyaW5nLFxuICAvLyBvcmlnaW5hbCBzY3JpcHR1cmUgYm9va09iamVjdHMgZm9yIGN1cnJlbnQgYm9va1xuICBvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzOiBvYmplY3QsXG4gIC8qKiBjdXJyZW50IHJlZmVyZW5jZSAqKi9cbiAgcmVmZXJlbmNlOiBTY3JpcHR1cmVSZWZlcmVuY2U7XG4gIC8vIGRldGFpbHMgYWJvdXQgdGhlIGN1cnJlbnQgc2NyaXB0dXJlIGxvYWRlZFxuICBzY3JpcHR1cmVDb25maWc6IFNjcmlwdHVyZUNvbmZpZyxcbiAgLy8gc2V0dGluZ3MgdG8gYmUgdXNlZCBmb3Igc2NyaXB0dXJlXG4gIHNjcmlwdHVyZVNldHRpbmdzOiB7IH0sXG4gIC8vIGNhbGxiYWNrIHRvIHNhdmUgY3VycmVudCB2ZXJzZSBlZGl0IGFuZCBhbGlnbm1lbnQgY2hhbmdlc1xuICBzZXRTYXZlZENoYW5nZXM6IEZ1bmN0aW9uLFxuICAvLyBzb3VyY2UgbGFuZ3VhZ2VcbiAgc291cmNlTGFuZ3VhZ2U6IHN0cmluZyxcbiAgLy8gY2FsbGJhY2sgdG8gY3JlYXRlIGEgdXNlciBicmFuY2ggZm9yIHNhdmluZyBlZGl0IGRhdGFcbiAgc3RhcnRFZGl0QnJhbmNoOiBTdGFydEVkaXQsXG4gIC8vIGN1cnJlbnQgdGFyZ2V0IGxhbmd1YWdlXG4gIHRhcmdldExhbmd1YWdlOiBvYmplY3QsXG4gIC8vIHRpdGxlIHRvIHNob3cgaW4gYWxpZ25tZW50XG4gIHRpdGxlOiBzdHJpbmcsXG4gICAvLyBicmFuY2ggbmFtZSBjdXJyZW50bHkgYmVpbmcgdXNlZCAoZS5nLiBgbWFzdGVyYCBvciB1c2VyIGJyYW5jaClcbiAgd29ya2luZ1Jlc291cmNlQnJhbmNoOiBzdHJpbmcsXG59XG5cbi8qKlxuICogZGV0ZXJtaW5lcyBpZiBhbGlnbm1lbnQgaXMgY29tcGxldGUgYmFzZWQgb24gdGFyZ2V0IFVTRk0gYW5kIG9yaWdpbmFsIGxhbmd1YWdlIHZlcnNlIG9iamVjdHNcbiAqIEBwYXJhbSB7c3RyaW5nfSB0YXJnZXRWZXJzZVVTRk1cbiAqIEBwYXJhbSB7b2JqZWN0W119IG9yaWdpbmFsVmVyc2VPYmplY3RzXG4gKi9cbmZ1bmN0aW9uIGlzVXNmbUFsaWduZWQodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFZlcnNlT2JqZWN0cykge1xuICBvcmlnaW5hbFZlcnNlT2JqZWN0cyA9IG9yaWdpbmFsVmVyc2VPYmplY3RzPy5sZW5ndGggPyBvcmlnaW5hbFZlcnNlT2JqZWN0cyA6IG51bGwgLy8gbWFrZSBzdXJlIG5vdCBwYXNzaW5nIGVtcHR5IEFycmF5XG4gIGNvbnN0IHsgYWxpZ25tZW50cywgd29yZEJhbmsgfSA9IEFsaWdubWVudEhlbHBlcnMuZXh0cmFjdEFsaWdubWVudHNGcm9tVGFyZ2V0VmVyc2UodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFZlcnNlT2JqZWN0cylcbiAgcmV0dXJuIEFsaWdubWVudEhlbHBlcnMuYXJlQWxnbm1lbnRzQ29tcGxldGUod29yZEJhbmssIGFsaWdubWVudHMpXG59XG5cbi8qKlxuICogZ2V0IHRoZSB1cGRhdGVkIFVTRk0gZm9yIHRhcmdldCB2ZXJzZSBmcm9tIHRoZSB1cGRhdGVkIHZlcnNlIG9iamVjdHMgYW5kIGxhdGVzdCB0ZXh0XG4gKiBAcGFyYW0ge29iamVjdFtdfSB1cGRhdGVkVmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge29iamVjdFtdfSBpbml0aWFsVmVyc2VPYmplY3RzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHZlcnNlVGV4dENoYW5nZWRcbiAqIEBwYXJhbSB7c3RyaW5nfSBuZXdWZXJzZVRleHRcbiAqL1xuZnVuY3Rpb24gZ2V0Q3VycmVudFZlcnNlVXNmbSh1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkOiBib29sZWFuLCBuZXdWZXJzZVRleHQpIHtcbiAgbGV0IHRhcmdldFZlcnNlVVNGTSA9IG51bGxcbiAgY29uc3QgY3VycmVudFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcblxuICBpZiAodmVyc2VUZXh0Q2hhbmdlZCAmJiBuZXdWZXJzZVRleHQpIHtcbiAgICBjb25zdCB7IHRhcmdldFZlcnNlVGV4dCB9ID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShjdXJyZW50VmVyc2VPYmplY3RzXywgbmV3VmVyc2VUZXh0KVxuICAgIHRhcmdldFZlcnNlVVNGTSA9IHRhcmdldFZlcnNlVGV4dFxuICB9IGVsc2Uge1xuICAgIHRhcmdldFZlcnNlVVNGTSA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShjdXJyZW50VmVyc2VPYmplY3RzXylcbiAgfVxuICByZXR1cm4gdGFyZ2V0VmVyc2VVU0ZNXG59XG5cbi8vIG1hbmFnZSB2ZXJzZSBlZGl0IGFuZCBhbGlnbm1lbnQgc3RhdGVzXG5leHBvcnQgZnVuY3Rpb24gdXNlU2NyaXB0dXJlQWxpZ25tZW50RWRpdCh7XG4gIGN1cnJlbnRJbmRleCxcbiAgZW5hYmxlRWRpdCxcbiAgZW5hYmxlQWxpZ25tZW50LFxuICBodHRwQ29uZmlnLFxuICBpbml0aWFsVmVyc2VPYmplY3RzLFxuICBpbml0aWFsVmVyc2VUZXh0LFxuICBpc05ld1Rlc3RhbWVudCxcbiAgb3JpZ2luYWxMYW5ndWFnZU93bmVyLFxuICBvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzLFxuICBvcmlnaW5hbFJlcG9VcmwsXG4gIHJlZmVyZW5jZSxcbiAgc2NyaXB0dXJlQ29uZmlnLFxuICBzY3JpcHR1cmVTZXR0aW5ncyxcbiAgc2V0U2F2ZWRDaGFuZ2VzLFxuICBzb3VyY2VMYW5ndWFnZSxcbiAgc3RhcnRFZGl0QnJhbmNoLFxuICB0YXJnZXRMYW5ndWFnZSxcbiAgdGl0bGUsXG4gIHdvcmtpbmdSZXNvdXJjZUJyYW5jaCxcbn0gOiBTY3JpcHR1cmVBTGlnbm1lbnRFZGl0UHJvcHMpIHtcbiAgY29uc3QgW3N0YXRlLCBzZXRTdGF0ZV9dID0gUmVhY3QudXNlU3RhdGUoe1xuICAgIGFsaWduZWQ6IGZhbHNlLFxuICAgIGFsaWduZXJEYXRhOiBudWxsLFxuICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgIG5ld0FsaWdubWVudHM6IG51bGwsXG4gICAgbmV3VmVyc2VUZXh0OiBudWxsLFxuICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IG51bGwsXG4gICAgdmVyc2VUZXh0Q2hhbmdlZDogZmFsc2UsXG4gIH0pXG5cbiAgY29uc3Qge1xuICAgIGFsaWduZWQsXG4gICAgYWxpZ25lckRhdGEsXG4gICAgZWRpdGluZyxcbiAgICBuZXdBbGlnbm1lbnRzLFxuICAgIG5ld1ZlcnNlVGV4dCxcbiAgICB1cGRhdGVkVmVyc2VPYmplY3RzLFxuICAgIHZlcnNlVGV4dENoYW5nZWQsXG4gIH0gPSBzdGF0ZVxuICBjb25zdCBjaGFwdGVyID0gcmVmZXJlbmNlPy5jaGFwdGVyXG4gIGNvbnN0IHZlcnNlID0gcmVmZXJlbmNlPy52ZXJzZVxuICBjb25zdCBwcm9qZWN0SWQgPSByZWZlcmVuY2U/LnByb2plY3RJZFxuICBjb25zdCBiYXNpY1JlZmVyZW5jZSA9IHsgLy8gb25seSBoYXMgdGhlIHRocmVlIGJhc2ljIGZpZWxkc1xuICAgIGNoYXB0ZXIsXG4gICAgdmVyc2UsXG4gICAgcHJvamVjdElkLFxuICB9XG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUobmV3U3RhdGUpIHtcbiAgICBzZXRTdGF0ZV8ocHJldlN0YXRlID0+ICh7IC4uLnByZXZTdGF0ZSwgLi4ubmV3U3RhdGUgfSkpXG4gIH1cblxuICBmdW5jdGlvbiBjbGVhckNoYW5nZXMoKSB7XG4gICAgY29uc29sZS5sb2coYGNsZWFyQ2hhbmdlcygpIC0gJHtKU09OLnN0cmluZ2lmeShiYXNpY1JlZmVyZW5jZSl9YClcbiAgICBjb25zdCBjbGVhclN0YXRlID0ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgICAgbmV3QWxpZ25tZW50czogbnVsbCxcbiAgICAgIG5ld1ZlcnNlVGV4dDogbnVsbCxcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IG51bGwsXG4gICAgICB2ZXJzZVRleHRDaGFuZ2VkOiBmYWxzZSxcbiAgICB9XG5cbiAgICBpZiAoIWlzRXF1YWwoc3RhdGUsIGNsZWFyU3RhdGUpKSB7XG4gICAgICBjb25zb2xlLmxvZyhgY2xlYXJDaGFuZ2VzKCkgLSByZWZlcmVuY2UgY2hhbmdlZCwgcmVzZXQgZWRpdC9hbGlnbm1lbnQgc3RhdGUgdmFyaWFibGVzYClcbiAgICAgIHNldFN0YXRlKGNsZWFyU3RhdGUpXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5nc18gPSB7XG4gICAgLi4uc2NyaXB0dXJlU2V0dGluZ3MsXG4gICAgcmVzb3VyY2VJZDogT1JJR0lOQUxfU09VUkNFLFxuICB9XG5cbiAgLy8gQHRzLWlnbm9yZVxuICBodHRwQ29uZmlnID0gaHR0cENvbmZpZyB8fCB7fVxuICBjb25zdCBib29rSWQgPSBwcm9qZWN0SWRcbiAgY29uc3Qgb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5ncyA9IGdldFNjcmlwdHVyZVJlc291cmNlU2V0dGluZ3MoXG4gICAgYm9va0lkLCBvcmlnaW5hbFNjcmlwdHVyZVNldHRpbmdzXywgaXNOZXdUZXN0YW1lbnQsIG9yaWdpbmFsUmVwb1VybCxcbiAgKVxuXG4gIGlmICghZW5hYmxlQWxpZ25tZW50KSB7IC8vIGlmIG5vdCBlbmFibGVkLCB0aGVuIHdlIGRvbid0IGZldGNoIHJlc291cmNlXG4gICAgb3JpZ2luYWxTY3JpcHR1cmVTZXR0aW5ncy5yZXNvdXJjZUxpbmsgPSBudWxsXG4gIH1cblxuICBjb25zdCBvcmlnaW5hbFZlcnNlT2JqZWN0cyA9IFJlYWN0LnVzZU1lbW8oKCkgPT4geyAvLyBnZXQgdGhlIG9yaWdpbmFsIGxhbmd1YWdlIHZlcnNlT2JqZWN0c1xuICAgIGNvbnN0IHZlcnNlT2JqZWN0cyA9IFtdXG5cbiAgICBpZiAob3JpZ2luYWxTY3JpcHR1cmVCb29rT2JqZWN0cykge1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgY29uc3QgdmVyc2VzID0gZ2V0VmVyc2VzRm9yUmVmKGJhc2ljUmVmZXJlbmNlLCBvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzLCBvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzPy5sYW5ndWFnZUlkKVxuXG4gICAgICBpZiAodmVyc2VzPy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCB2ZXJzZVJlZmVyZW5jZSBvZiB2ZXJzZXMpIHtcbiAgICAgICAgICBjb25zdCBvcmlnVmVyc2VPYmplY3RzID0gdmVyc2VSZWZlcmVuY2U/LnZlcnNlRGF0YT8udmVyc2VPYmplY3RzXG5cbiAgICAgICAgICBpZiAob3JpZ1ZlcnNlT2JqZWN0cykge1xuICAgICAgICAgICAgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkodmVyc2VPYmplY3RzLCBvcmlnVmVyc2VPYmplY3RzKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmVyc2VPYmplY3RzXG4gIH0sIFtvcmlnaW5hbFNjcmlwdHVyZUJvb2tPYmplY3RzLCBjaGFwdGVyLCB2ZXJzZSwgcHJvamVjdElkXSlcblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyB1cGRhdGUgYWxpZ25tZW50IHN0YXR1cyB3aGVuIGFsaWduZXIgaXMgaGlkZGVuXG4gICAgY29uc3Qgbm90RW1wdHkgPSAhIWluaXRpYWxWZXJzZU9iamVjdHNcbiAgICBsZXQgYWxpZ25lZF8gPSBmYWxzZVxuXG4gICAgaWYgKCFhbGlnbmVyRGF0YSkgeyAvLyBza2lwIGlmIGFsaWduZXIgaXMgYmVpbmcgc2hvd25cbiAgICAgIGlmIChub3RFbXB0eSkgeyAvLyBza2lwIGlmIGVtcHR5XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXBkYXRlZFZlcnNlT2JqZWN0cyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG5cbiAgICAgICAgaWYgKCFlbmFibGVBbGlnbm1lbnQpIHtcbiAgICAgICAgICBhbGlnbmVkXyA9IHRydWVcbiAgICAgICAgfSBlbHNlIGlmIChuZXdWZXJzZVRleHQgJiYgKG5ld1ZlcnNlVGV4dCAhPT0gaW5pdGlhbFZlcnNlVGV4dCkpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHRzID0gQWxpZ25tZW50SGVscGVycy51cGRhdGVBbGlnbm1lbnRzVG9UYXJnZXRWZXJzZShjdXJyZW50VmVyc2VPYmplY3RzXywgbmV3VmVyc2VUZXh0KVxuICAgICAgICAgIGFsaWduZWRfID0gaXNVc2ZtQWxpZ25lZChyZXN1bHRzPy50YXJnZXRWZXJzZVRleHQsIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHRhcmdldFZlcnNlVVNGTSA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShjdXJyZW50VmVyc2VPYmplY3RzXylcbiAgICAgICAgICBhbGlnbmVkXyA9IGlzVXNmbUFsaWduZWQodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFZlcnNlT2JqZWN0cylcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoYWxpZ25lZCAhPT0gYWxpZ25lZF8pIHtcbiAgICAgICAgc2V0U3RhdGUoeyBhbGlnbmVkOiBhbGlnbmVkXyB9KVxuICAgICAgfVxuICAgIH1cbiAgfSwgW2luaXRpYWxWZXJzZU9iamVjdHMsIGFsaWduZXJEYXRhLCBuZXdWZXJzZVRleHQsIGluaXRpYWxWZXJzZVRleHQsIGVuYWJsZUFsaWdubWVudCwgb3JpZ2luYWxWZXJzZU9iamVjdHNdKVxuXG4gIC8qKlxuICAgKiBnZXQgY2hhbmdlcyBmb3Igc2F2aW5nXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBuZXdTdGF0ZSAtIG9wdGlvbmFsbHkgcGFzcyBpbiBuZXcgc3RhdGUgKHRvIG92ZXJyaWRlIHN0YXRlKVxuICAgKi9cbiAgZnVuY3Rpb24gZ2V0Q2hhbmdlcyhuZXdTdGF0ZSA9IHt9KSB7XG4gICAgY29uc29sZS5sb2coYGdldENoYW5nZXMgLSBzdGFydGVkICR7Y3VycmVudEluZGV4fSAtIHBhc3NlZCBzdGF0ZWAsIG5ld1N0YXRlKVxuICAgIGNvbnN0IF9uZXdTdGF0ZSA9IHtcbiAgICAgIHN0YXRlLFxuICAgICAgLi4ubmV3U3RhdGUsXG4gICAgfVxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBuZXdBbGlnbm1lbnRzLFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgbmV3VmVyc2VUZXh0LFxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0cyxcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHZlcnNlVGV4dENoYW5nZWQsXG4gICAgfSA9IF9uZXdTdGF0ZVxuICAgIGxldCB1cGRhdGVkVmVyc2VPYmplY3RzXyA9IHVwZGF0ZWRWZXJzZU9iamVjdHNcblxuICAgIGlmIChuZXdBbGlnbm1lbnRzKSB7IC8vIGlmIHVuc2F2ZWQgYWxpZ25tZW50IGNoYW5nZXMsIGFwcGx5IHRoZW1cbiAgICAgIGNvbnNvbGUubG9nKGBnZXRDaGFuZ2VzIC0gYXBwbHlpbmcgdW5zYXZlZCBhbGlnbm1lbnRzfWApXG4gICAgICB1cGRhdGVkVmVyc2VPYmplY3RzXyA9IHVwZGF0ZVZlcnNlV2l0aE5ld0FsaWdubWVudHMoKVxuICAgIH1cblxuICAgIGlmICh2ZXJzZVRleHRDaGFuZ2VkICYmIG5ld1ZlcnNlVGV4dCkge1xuICAgICAgY29uc29sZS5sb2coYGdldENoYW5nZXMgLSBhcHBseWluZyBuZXcgdGV4dDpgLCBuZXdWZXJzZVRleHQpXG4gICAgICBjb25zdCBjdXJyZW50VmVyc2VPYmplY3RzXyA9IHVwZGF0ZWRWZXJzZU9iamVjdHNfIHx8IGluaXRpYWxWZXJzZU9iamVjdHNcbiAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHNfICYmIGNvbnNvbGUubG9nKGBnZXRDaGFuZ2VzIC0gYXBwbHlpbmcgdXBkYXRlZCBhbGlnbm1lbnRzYClcbiAgICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2VPYmplY3RzIH0gPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGN1cnJlbnRWZXJzZU9iamVjdHNfLCBuZXdWZXJzZVRleHQpXG4gICAgICB1cGRhdGVkVmVyc2VPYmplY3RzXyA9IHRhcmdldFZlcnNlT2JqZWN0c1xuICAgIH0gZWxzZSB7IC8vIG9ubHkgYWxpZ25tZW50IGNoYW5nZXMgdG8gdXBsb2FkXG4gICAgICB1cGRhdGVkVmVyc2VPYmplY3RzXyAmJiBjb25zb2xlLmxvZyhgZ2V0Q2hhbmdlcyAtIGFwcGx5aW5nIHVwZGF0ZWQgYWxpZ25tZW50c2AsIHsgbmV3VmVyc2VUZXh0LCB1cGRhdGVkVmVyc2VPYmplY3RzXyB9KVxuICAgICAgdXBkYXRlZFZlcnNlT2JqZWN0c18gPSB1cGRhdGVkVmVyc2VPYmplY3RzXyB8fCBpbml0aWFsVmVyc2VPYmplY3RzXG4gICAgfVxuXG4gICAgaWYgKHVwZGF0ZWRWZXJzZU9iamVjdHNfKSB7XG4gICAgICBjb25zdCByZWYgPSBzY3JpcHR1cmVDb25maWc/LnZlcnNlc0ZvclJlZj8uW2N1cnJlbnRJbmRleF1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5ld1ZlcnNlVGV4dCxcbiAgICAgICAgcmVmLFxuICAgICAgICB1cGRhdGVkVmVyc2VPYmplY3RzOiB1cGRhdGVkVmVyc2VPYmplY3RzXyxcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge31cbiAgfVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayBmb3Igd2hlbiB1c2VyIGNsaWNrZWQgb24gYWxpZ25tZW50IGJ1dHRvbiAtIHdpbGwgc2hvdyBpZiBub3QgYWxyZWFkeSBzaG93blxuICAgKi9cbiAgYXN5bmMgZnVuY3Rpb24gaGFuZGxlQWxpZ25tZW50Q2xpY2soKSB7XG4gICAgaWYgKGVuYWJsZUFsaWdubWVudCkge1xuICAgICAgbGV0IF9hbGlnbmVyRGF0YSA9IG51bGxcbiAgICAgIGF3YWl0IHN0YXJ0RWRpdEJyYW5jaCgpXG5cbiAgICAgIGlmICghYWxpZ25lckRhdGEpIHsgLy8gaWYgd29yZCBhbGlnbmVyIG5vdCBzaG93blxuICAgICAgICBjb25zb2xlLmxvZyhgaGFuZGxlQWxpZ25tZW50Q2xpY2sgLSB0b2dnbGUgT04gYWxpZ25tZW50YClcbiAgICAgICAgY29uc3QgdGFyZ2V0VmVyc2VVU0ZNID0gZ2V0Q3VycmVudFZlcnNlVXNmbSh1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkLCBuZXdWZXJzZVRleHQpXG4gICAgICAgIGxldCBvcmlnaW5hbFZlcnNlVXNmbSA9IG51bGxcblxuICAgICAgICBpZiAob3JpZ2luYWxWZXJzZU9iamVjdHMpIHtcbiAgICAgICAgICBvcmlnaW5hbFZlcnNlVXNmbSA9IFVzZm1GaWxlQ29udmVyc2lvbkhlbHBlcnMuY29udmVydFZlcnNlRGF0YVRvVVNGTShvcmlnaW5hbFZlcnNlT2JqZWN0cylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHtcbiAgICAgICAgICB0YXJnZXRXb3Jkczogd29yZEJhbmssXG4gICAgICAgICAgdmVyc2VBbGlnbm1lbnRzOiBhbGlnbm1lbnRzLFxuICAgICAgICB9ID0gQWxpZ25tZW50SGVscGVycy5wYXJzZVVzZm1Ub1dvcmRBbGlnbmVyRGF0YSh0YXJnZXRWZXJzZVVTRk0sIG9yaWdpbmFsVmVyc2VVc2ZtKVxuICAgICAgICBfYWxpZ25lckRhdGEgPSB7IHdvcmRCYW5rLCBhbGlnbm1lbnRzIH1cbiAgICAgIH0gZWxzZSB7IC8vIHdvcmQgYWxpZ25lciBjdXJyZW50bHkgc2hvd25cbiAgICAgICAgY29uc29sZS5sb2coYGhhbmRsZUFsaWdubWVudENsaWNrIC0gYWxpZ25tZW50IGFscmVhZHkgc2hvd25gKVxuICAgICAgICBfYWxpZ25lckRhdGEgPSBhbGlnbmVyRGF0YVxuICAgICAgfVxuICAgICAgc2V0U3RhdGUoeyBhbGlnbmVyRGF0YTogX2FsaWduZXJEYXRhIH0pXG4gICAgICBjb25zb2xlLmxvZyhfYWxpZ25lckRhdGEpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGdldCB1cGRhdGVkIHZlcnNlIG9iamVjdHMgYWZ0ZXIgYWxpZ25tZW50cyBjaGFuZ2VkXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBfbmV3QWxpZ25tZW50cyAtIHJlc3VsdHMgb2YgYWxpZ25lclxuICAgKi9cbiAgZnVuY3Rpb24gdXBkYXRlVmVyc2VXaXRoTmV3QWxpZ25tZW50cyhfbmV3QWxpZ25tZW50cyA9IG5ld0FsaWdubWVudHMpIHtcbiAgICBjb25zdCBjdXJyZW50VmVyc2VPYmplY3RzXyA9IHVwZGF0ZWRWZXJzZU9iamVjdHMgfHwgaW5pdGlhbFZlcnNlT2JqZWN0c1xuICAgIGNvbnN0IHRhcmdldFZlcnNlVGV4dCA9IG5ld1ZlcnNlVGV4dCB8fCBVc2ZtRmlsZUNvbnZlcnNpb25IZWxwZXJzLmNvbnZlcnRWZXJzZURhdGFUb1VTRk0oY3VycmVudFZlcnNlT2JqZWN0c18pXG4gICAgY29uc3QgdmVyc2VVc2ZtID0gQWxpZ25tZW50SGVscGVycy5hZGRBbGlnbm1lbnRzVG9WZXJzZVVTRk0oX25ld0FsaWdubWVudHMudGFyZ2V0V29yZHMsIF9uZXdBbGlnbm1lbnRzLnZlcnNlQWxpZ25tZW50cywgdGFyZ2V0VmVyc2VUZXh0KVxuICAgIGNvbnN0IGFsaWduZWRWZXJzZU9iamVjdHMgPSB1c2ZtSGVscGVycy51c2ZtVmVyc2VUb0pzb24odmVyc2VVc2ZtKVxuICAgIHJldHVybiBhbGlnbmVkVmVyc2VPYmplY3RzXG4gIH1cblxuICAvKipcbiAgICogY2FsbGJhY2sgZm9yIHdoZW4gdXNlciBjbGlja2VkIG9uIGJ1dHRvbiB0byBzYXZlIGN1cnJlbnQgYWxpZ25tZW50cyBpbiB3b3JkIGFsaWduZXIuICBHZW5lcmF0ZXMgbmV3IHZlcnNlIGNvbnRlbnQgYW5kIHNhdmVzIGluIHN0YXRlLiBDbG9zZXMgYWxpZ25lciBkaXNwbGF5XG4gICAqIEBwYXJhbSB7b2JqZWN0fSBfbmV3QWxpZ25tZW50cyAtIHJlc3VsdHMgb2YgYWxpZ25lclxuICAgKi9cbiAgZnVuY3Rpb24gc2F2ZUFsaWdubWVudChfbmV3QWxpZ25tZW50cyA9IG5ld0FsaWdubWVudHMpIHtcbiAgICBjb25zb2xlLmxvZyhgc2F2ZUFsaWdubWVudCgpIC0gbmV3QWxpZ25tZW50c2AsIF9uZXdBbGlnbm1lbnRzKVxuXG4gICAgaWYgKF9uZXdBbGlnbm1lbnRzKSB7XG4gICAgICBjb25zdCBhbGlnbmVkVmVyc2VPYmplY3RzID0gdXBkYXRlVmVyc2VXaXRoTmV3QWxpZ25tZW50cyhfbmV3QWxpZ25tZW50cylcbiAgICAgIGNvbnNvbGUubG9nKGBzYXZlQWxpZ25tZW50KCkgLSBhbGlnbmVkVmVyc2VPYmplY3RzYCwgYWxpZ25lZFZlcnNlT2JqZWN0cylcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICBhbGlnbmVyRGF0YTogbnVsbCxcbiAgICAgICAgZWRpdGluZzogZmFsc2UsXG4gICAgICAgIG5ld0FsaWdubWVudHM6IG51bGwsXG4gICAgICAgIHVwZGF0ZWRWZXJzZU9iamVjdHM6IGFsaWduZWRWZXJzZU9iamVjdHMsXG4gICAgICB9XG4gICAgICBzZXRTdGF0ZShuZXdTdGF0ZSlcbiAgICAgIGNhbGxTZXRTYXZlZFN0YXRlKHRydWUsIG5ld1N0YXRlIClcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coYHNhdmVBbGlnbm1lbnQoKSAtIG5vIGFsaWdubWVudCBjaGFuZ2VzYClcbiAgICAgIHNldFN0YXRlKHtcbiAgICAgICAgYWxpZ25lckRhdGE6IG51bGwsXG4gICAgICAgIGVkaXRpbmc6IGZhbHNlLFxuICAgICAgfSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogY2FsbGJhY2sgZm9yIHdoZW4gdXNlciBjbGlja2VkIG9uIGJ1dHRvbiB0byBjYW5jZWwgd29yayBpbiB3b3JkIGFsaWduZXIuICBDYWxjdWxhdGVzIGFuZCBkaXNwbGF5cyBjdXJyZW50IGFsaWdubWVudCB2YWxpZCBzdGF0ZS4gQ2xvc2VzIGFsaWduZXIgZGlzcGxheVxuICAgKi9cbiAgZnVuY3Rpb24gY2FuY2VsQWxpZ25tZW50KCkge1xuICAgIGNvbnNvbGUubG9nKGBjYW5jZWxBbGlnbm1lbnQoKWApXG4gICAgY29uc3QgdGFyZ2V0VmVyc2VVU0ZNID0gZ2V0Q3VycmVudFZlcnNlVXNmbSh1cGRhdGVkVmVyc2VPYmplY3RzLCBpbml0aWFsVmVyc2VPYmplY3RzLCB2ZXJzZVRleHRDaGFuZ2VkLCBuZXdWZXJzZVRleHQpXG4gICAgY29uc3QgYWxpZ25lZCA9IGlzVXNmbUFsaWduZWQodGFyZ2V0VmVyc2VVU0ZNLCBvcmlnaW5hbFZlcnNlT2JqZWN0cylcbiAgICBzZXRTdGF0ZSh7IGFsaWduZXJEYXRhOiBudWxsLCBhbGlnbmVkIH0pXG4gIH1cblxuICAvKipcbiAgICogY2FsbGJhY2sgZm9yIGJ1dHRvbiB0byBzZXQgZWRpdGluZyBzdGF0ZVxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVkaXRpbmdfIC0gaWYgdHJ1ZSwgZWRpdG9yIGlzIHNob3duLCBvdGhlcndpc2UgZWRpdG9yIGlzIGhpZGRlblxuICAgKiBAcGFyYW0ge3N0cmluZ30gX25ld1ZlcnNlVGV4dCAtIG9wdGlvbmFsIHZlcnNlIHRleHRcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZXF1aXJlLWF3YWl0XG4gIGFzeW5jIGZ1bmN0aW9uIHNldEVkaXRpbmcoZWRpdGluZ18sIF9uZXdWZXJzZVRleHQgPSBuZXdWZXJzZVRleHQpIHtcbiAgICBpZiAoZW5hYmxlRWRpdCkge1xuICAgICAgaWYgKGVkaXRpbmdfICE9PSBlZGl0aW5nKSB7XG4gICAgICAgIF9uZXdWZXJzZVRleHQgPSBfbmV3VmVyc2VUZXh0IHx8IGluaXRpYWxWZXJzZVRleHRcbiAgICAgICAgY29uc3QgbmV3U3RhdGUgPSB7IGVkaXRpbmc6IGVkaXRpbmdfLCBuZXdWZXJzZVRleHQ6IF9uZXdWZXJzZVRleHQgfVxuICAgICAgICBzZXRTdGF0ZShuZXdTdGF0ZSlcbiAgICAgICAgY2FsbFNldFNhdmVkU3RhdGUoKF9uZXdWZXJzZVRleHQgIT09IGluaXRpYWxWZXJzZVRleHQpLCBuZXdTdGF0ZSApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIGNhbGxiYWNrIGZyb20gdGhlIGVkaXQgb25DaGFuZ2UgZXZlbnQgdG8gdXBkYXRlIGVkaXQgc3RhdGUgdmFyaWFibGVzXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gY2hhbmdlZCAtIHRydWUgaWYgdGhlIG5ld1ZlcnNlVGV4dCBpcyBkaWZmZXJlbnQgdGhhbiB0aGUgaW5pdGlhbFZlcnNlVGV4dFxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3VmVyc2VUZXh0IC0gY3VycmVudCBjaGFuZ2VkIHZlcnNlIHRleHRcbiAgICogQHBhcmFtIHtzdHJpbmd9IF9pbml0aWFsVmVyc2VUZXh0IC0gaW5pdGlhbCB2ZXJzZSB0ZXh0XG4gICAqL1xuICBmdW5jdGlvbiBzZXRWZXJzZUNoYW5nZWQoY2hhbmdlZCwgbmV3VmVyc2VUZXh0LCBfaW5pdGlhbFZlcnNlVGV4dCkge1xuICAgIGNvbnN0IHsgdGFyZ2V0VmVyc2VUZXh0IH0gPSBBbGlnbm1lbnRIZWxwZXJzLnVwZGF0ZUFsaWdubWVudHNUb1RhcmdldFZlcnNlKGluaXRpYWxWZXJzZU9iamVjdHMsIG5ld1ZlcnNlVGV4dClcbiAgICBjb25zdCBhbGlnbmVkID0gaXNVc2ZtQWxpZ25lZCh0YXJnZXRWZXJzZVRleHQsIG9yaWdpbmFsVmVyc2VPYmplY3RzKVxuICAgIGNvbnN0IF9jaGFuZ2VkID0gbmV3VmVyc2VUZXh0ICE9PSBpbml0aWFsVmVyc2VUZXh0XG5cbiAgICBzZXRTdGF0ZSh7XG4gICAgICB2ZXJzZVRleHRDaGFuZ2VkOiBfY2hhbmdlZCxcbiAgICAgIG5ld1ZlcnNlVGV4dCxcbiAgICAgIGFsaWduZWQsXG4gICAgfSlcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHMgPSBSZWFjdC51c2VNZW1vKCAoKSA9PiB7IC8vIGlmIHZlcnNlIGhhcyBiZWVuIGVkaXRlZCBvciBhbGlnbm1lbnQgY2hhbmdlZCwgdGhlbiBnZW5lcmF0ZSBuZXcgdmVyc2VPYmplY3RzIHRvIGRpc3BsYXkgaW4gU2NyaXB0dXJlUGFuZVxuICAgIGlmIChpbml0aWFsVmVyc2VPYmplY3RzKSB7XG4gICAgICBjb25zdCB0YXJnZXRWZXJzZVVTRk0gPSBnZXRDdXJyZW50VmVyc2VVc2ZtKHVwZGF0ZWRWZXJzZU9iamVjdHMsIGluaXRpYWxWZXJzZU9iamVjdHMsIHZlcnNlVGV4dENoYW5nZWQsIG5ld1ZlcnNlVGV4dClcbiAgICAgIGNvbnN0IGN1cnJlbnRWZXJzZU9iamVjdHNfID0gdXNmbUhlbHBlcnMudXNmbVZlcnNlVG9Kc29uKHRhcmdldFZlcnNlVVNGTSlcbiAgICAgIHJldHVybiBjdXJyZW50VmVyc2VPYmplY3RzX1xuICAgIH1cbiAgICByZXR1cm4gaW5pdGlhbFZlcnNlT2JqZWN0c1xuICB9LCBbdXBkYXRlZFZlcnNlT2JqZWN0cywgaW5pdGlhbFZlcnNlT2JqZWN0cywgdmVyc2VUZXh0Q2hhbmdlZCwgbmV3VmVyc2VUZXh0XSlcblxuICBjb25zdCB1bnNhdmVkQ2hhbmdlczpib29sZWFuID0gUmVhY3QudXNlTWVtbyggKCkgPT4geyAvLyBpZiB2ZXJzZSBoYXMgYmVlbiBlZGl0ZWQgb3IgYWxpZ25tZW50IGNoYW5nZWQsIHRoZW4gaW5kaWNhdGUgd2UgaGF2ZSB1bnNhdmVkIGNoYW5nZXNcbiAgICBjb25zdCBjaGFuZ2VkID0gdmVyc2VUZXh0Q2hhbmdlZCB8fCAodXBkYXRlZFZlcnNlT2JqZWN0cyAmJiAhaXNFcXVhbChpbml0aWFsVmVyc2VPYmplY3RzLCB1cGRhdGVkVmVyc2VPYmplY3RzKSlcbiAgICByZXR1cm4gY2hhbmdlZFxuICB9LCBbdXBkYXRlZFZlcnNlT2JqZWN0cywgaW5pdGlhbFZlcnNlT2JqZWN0cywgdmVyc2VUZXh0Q2hhbmdlZF0pXG5cbiAgLyoqXG4gICAqIGNhbGxiYWNrIHRvIHNjcmlwdHVyZSBjYXJkIHRvIHVwZGF0ZWQgd2l0aCBsYXRlc3Qgc3RhdGUgZm9yIHNhdmluZ1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHVuc2F2ZWRDaGFuZ2VzX1xuICAgKiBAcGFyYW0ge29iamVjdH0gbmV3U3RhdGVcbiAgICovXG4gIGZ1bmN0aW9uIGNhbGxTZXRTYXZlZFN0YXRlKHVuc2F2ZWRDaGFuZ2VzXywgbmV3U3RhdGUgPSB7IH0gKSB7XG4gICAgY29uc3QgX25ld1N0YXRlID0ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICAuLi5uZXdTdGF0ZSxcbiAgICB9XG5cbiAgICAvLyBjb25zb2xlLmxvZyhgY2FsbFNldFNhdmVkU3RhdGUgLSBuZXcgc3RhdGVgLCBfbmV3U3RhdGUpXG4gICAgc2V0U2F2ZWRDaGFuZ2VzICYmIHNldFNhdmVkQ2hhbmdlcyhjdXJyZW50SW5kZXgsICF1bnNhdmVkQ2hhbmdlc18sIHtcbiAgICAgIGdldENoYW5nZXMsXG4gICAgICBjbGVhckNoYW5nZXMsXG4gICAgICBzdGF0ZTogX25ld1N0YXRlLFxuICAgIH0pXG4gIH1cblxuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4geyAvLyBzZXQgc2F2ZWQgY2hhbmdlcyB3aGVuZXZlciB1c2VyIGVkaXRzIHZlcnNlIHRleHQgb3IgYWxpZ25tZW50cyBvciBpZiBhbGlnbm1lbnRzIGFyZSBvcGVuXG4gICAgY29uc3QgdW5zYXZlZENoYW5nZXNfID0gdW5zYXZlZENoYW5nZXMgfHwgYWxpZ25lckRhdGFcbiAgICBjYWxsU2V0U2F2ZWRTdGF0ZSh1bnNhdmVkQ2hhbmdlc18pXG4gIH0sIFt1bnNhdmVkQ2hhbmdlcywgYWxpZ25lckRhdGFdKVxuXG4gIC8qKlxuICAgKiBjYWxsYmFjayBmb3Igd2hlbiBhbGlnbm1lbnRzIGFyZSBiZWluZyBjaGFuZ2VkXG4gICAqIEBwYXJhbSB7b2JqZWN0fSByZXN1bHRzXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59IHRydWUgaWYgYWxpZ25tZW50IGlzIGNvbXBsZXRlXG4gICAqL1xuICBmdW5jdGlvbiBvbkFsaWdubWVudHNDaGFuZ2UocmVzdWx0cykge1xuICAgIGNvbnNvbGUubG9nKGBvbkFsaWdubWVudHNDaGFuZ2UoKSAtIGFsaWdubWVudCBjaGFuZ2VkLCByZXN1bHRzYCwgcmVzdWx0cykgLy8gbWVyZ2UgYWxpZ25tZW50cyBpbnRvIHRhcmdldCB2ZXJzZSBhbmQgY29udmVydCB0byBVU0ZNXG4gICAgY29uc3QgeyB0YXJnZXRXb3JkcywgdmVyc2VBbGlnbm1lbnRzIH0gPSByZXN1bHRzXG4gICAgY29uc3QgYWxpZ25tZW50Q29tcGxldGUgPSBBbGlnbm1lbnRIZWxwZXJzLmFyZUFsZ25tZW50c0NvbXBsZXRlKHRhcmdldFdvcmRzLCB2ZXJzZUFsaWdubWVudHMpXG4gICAgY29uc29sZS5sb2coYEFsaWdubWVudHMgYXJlICR7YWxpZ25tZW50Q29tcGxldGUgPyAnQ09NUExFVEUhJyA6ICdpbmNvbXBsZXRlJ31gKVxuICAgIHNldFN0YXRlKHsgbmV3QWxpZ25tZW50czogcmVzdWx0cywgYWxpZ25lZDogYWxpZ25tZW50Q29tcGxldGUgfSlcbiAgICByZXR1cm4gYWxpZ25tZW50Q29tcGxldGVcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYWN0aW9uczoge1xuICAgICAgY2FuY2VsQWxpZ25tZW50LFxuICAgICAgY2xlYXJDaGFuZ2VzLFxuICAgICAgZ2V0Q2hhbmdlcyxcbiAgICAgIGhhbmRsZUFsaWdubWVudENsaWNrLFxuICAgICAgb25BbGlnbm1lbnRzQ2hhbmdlLFxuICAgICAgc2F2ZUFsaWdubWVudCxcbiAgICAgIHNldEVkaXRpbmcsXG4gICAgICBzZXRWZXJzZUNoYW5nZWQsXG4gICAgfSxcbiAgICBzdGF0ZToge1xuICAgICAgYWxpZ25lZCxcbiAgICAgIGFsaWduZXJEYXRhLFxuICAgICAgY3VycmVudFZlcnNlT2JqZWN0cyxcbiAgICAgIGVkaXRpbmcsXG4gICAgICBpbml0aWFsVmVyc2VUZXh0LFxuICAgICAgaW5pdGlhbFZlcnNlT2JqZWN0cyxcbiAgICAgIG5ld1ZlcnNlVGV4dCxcbiAgICAgIHJlZmVyZW5jZTogYmFzaWNSZWZlcmVuY2UsXG4gICAgICBzb3VyY2VMYW5ndWFnZSxcbiAgICAgIHRhcmdldExhbmd1YWdlLFxuICAgICAgdGl0bGUsXG4gICAgICB1bnNhdmVkQ2hhbmdlcyxcbiAgICAgIHZlcnNlVGV4dENoYW5nZWQsXG4gICAgfSxcbiAgfVxufVxuIl19
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.3-patch.5",
4
+ "version": "3.3.3-patch.6",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/unfoldingWord/single-scripture-rcl.git"