@pie-lib/editable-html 12.0.0-next.0 → 12.1.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__tests__/editor-utils.test.js +164 -0
- package/lib/__tests__/serialization.test.js +242 -0
- package/lib/__tests__/utils.js +79 -0
- package/lib/block-tags.js +1 -1
- package/lib/constants.js +2 -4
- package/lib/constants.js.map +1 -1
- package/lib/editor.js +1 -1
- package/lib/index.js +1 -1
- package/lib/parse-html.js +1 -1
- package/lib/plugins/characters/custom-popper.js +1 -1
- package/lib/plugins/characters/index.js +1 -1
- package/lib/plugins/characters/utils.js +1 -1
- package/lib/plugins/css/icons/index.js +1 -1
- package/lib/plugins/css/index.js +1 -1
- package/lib/plugins/customPlugin/index.js +1 -1
- package/lib/plugins/html/icons/index.js +1 -1
- package/lib/plugins/html/index.js +1 -1
- package/lib/plugins/image/__tests__/component.test.js +96 -0
- package/lib/plugins/image/__tests__/image-toolbar-logic.test.js +131 -0
- package/lib/plugins/image/__tests__/image-toolbar.test.js +22 -0
- package/lib/plugins/image/__tests__/index.test.js +90 -0
- package/lib/plugins/image/__tests__/insert-image-handler.test.js +112 -0
- package/lib/plugins/image/__tests__/mock-change.js +22 -0
- package/lib/plugins/image/alt-dialog.js +1 -1
- package/lib/plugins/image/component.js +1 -1
- package/lib/plugins/image/image-toolbar.js +1 -1
- package/lib/plugins/image/index.js +1 -1
- package/lib/plugins/image/insert-image-handler.js +1 -1
- package/lib/plugins/index.js +1 -1
- package/lib/plugins/list/__tests__/index.test.js +64 -0
- package/lib/plugins/list/index.js +1 -1
- package/lib/plugins/math/__tests__/index.test.js +284 -0
- package/lib/plugins/math/index.js +1 -1
- package/lib/plugins/media/__tests__/index.test.js +69 -0
- package/lib/plugins/media/index.js +1 -1
- package/lib/plugins/media/media-dialog.js +1 -1
- package/lib/plugins/media/media-toolbar.js +1 -1
- package/lib/plugins/media/media-wrapper.js +1 -1
- package/lib/plugins/rendering/index.js +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/choice.js +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/index.js +1 -1
- package/lib/plugins/respArea/drag-in-the-blank/utils.js +1 -1
- package/lib/plugins/respArea/explicit-constructed-response/index.js +1 -1
- package/lib/plugins/respArea/icons/index.js +1 -1
- package/lib/plugins/respArea/index.js +1 -1
- package/lib/plugins/respArea/inline-dropdown/index.js +1 -1
- package/lib/plugins/respArea/math-templated/index.js +1 -1
- package/lib/plugins/respArea/utils.js +1 -1
- package/lib/plugins/table/CustomTablePlugin.js +1 -1
- package/lib/plugins/table/__tests__/index.test.js +416 -0
- package/lib/plugins/table/__tests__/table-toolbar.test.js +81 -0
- package/lib/plugins/table/icons/index.js +1 -1
- package/lib/plugins/table/index.js +1 -1
- package/lib/plugins/table/table-toolbar.js +1 -1
- package/lib/plugins/textAlign/icons/index.js +1 -1
- package/lib/plugins/textAlign/index.js +1 -1
- package/lib/plugins/toolbar/__tests__/default-toolbar.test.js +154 -0
- package/lib/plugins/toolbar/__tests__/editor-and-toolbar.test.js +47 -0
- package/lib/plugins/toolbar/__tests__/toolbar-buttons.test.js +112 -0
- package/lib/plugins/toolbar/__tests__/toolbar.test.js +118 -0
- package/lib/plugins/toolbar/default-toolbar.js +1 -1
- package/lib/plugins/toolbar/done-button.js +1 -1
- package/lib/plugins/toolbar/editor-and-toolbar.js +1 -1
- package/lib/plugins/toolbar/index.js +1 -1
- package/lib/plugins/toolbar/toolbar-buttons.js +1 -1
- package/lib/plugins/toolbar/toolbar.js +1 -1
- package/lib/plugins/utils.js +1 -1
- package/lib/serialization.js +1 -1
- package/lib/shared/alert-dialog.js +1 -1
- package/lib/theme.js +1 -1
- package/package.json +8 -16
- package/src/constants.js +0 -2
package/lib/editor.js
CHANGED
|
@@ -1221,4 +1221,4 @@ var StyledPreviewText = (0, _styles.styled)('div')({
|
|
|
1221
1221
|
backgroundColor: 'rgba(0,0,0,0.06)'
|
|
1222
1222
|
});
|
|
1223
1223
|
var _default = exports["default"] = Editor;
|
|
1224
|
-
//# sourceMappingURL=editor.js.map
|
|
1224
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zbGF0ZVJlYWN0IiwiX3NsYXRlUHJvcFR5cGVzIiwiX3NsYXRlIiwiX3NsYXRlUGxhaW5TZXJpYWxpemVyIiwiX3Byb3BUeXBlcyIsIl9kZWJvdW5jZSIsIl9pc0VxdWFsIiwiX2NsYXNzbmFtZXMiLCJfZGVidWciLCJfc3R5bGVzIiwiX3JlbmRlclVpIiwiX2FsZXJ0RGlhbG9nIiwiX3NlcmlhbGl6YXRpb24iLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInNlcmlhbGl6YXRpb24iLCJleHBvcnRzIiwiX2luc2VydEltYWdlSGFuZGxlciIsIl9wbHVnaW5zIiwiX2V4Y2x1ZGVkIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90MiIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX2NhbGxTdXBlciIsIl9nZXRQcm90b3R5cGVPZjIiLCJfcG9zc2libGVDb25zdHJ1Y3RvclJldHVybjIiLCJfaXNOYXRpdmVSZWZsZWN0Q29uc3RydWN0IiwiUmVmbGVjdCIsImNvbnN0cnVjdCIsImNvbnN0cnVjdG9yIiwiYXBwbHkiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImxvZyIsImRlYnVnIiwiZGVmYXVsdFRvb2xiYXJPcHRzIiwicG9zaXRpb24iLCJhbGlnbm1lbnQiLCJhbHdheXNWaXNpYmxlIiwic2hvd0RvbmUiLCJkb25lT24iLCJkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMiLCJvcHRpb25zIiwicmVzcEFyZWFUb29sYmFyIiwib25IYW5kbGVBcmVhQ2hhbmdlIiwiZGVmYXVsdExhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzIiwiY3JlYXRlVG9vbGJhck9wdHMiLCJ0b29sYmFyT3B0cyIsImVycm9yIiwiaXNIdG1sTW9kZSIsInZhbHVlVG9TaXplIiwidiIsImNhbGNSZWdleCIsImVuZHNXaXRoIiwidW5kZWZpbmVkIiwibWF0Y2giLCJ2YWx1ZSIsInBhcnNlSW50IiwiaXNOYU4iLCJjb25jYXQiLCJidWlsZFNpemVTdHlsZSIsInByb3BzIiwibWluV2lkdGgiLCJ3aWR0aCIsIm1heFdpZHRoIiwibWluSGVpZ2h0IiwiaGVpZ2h0IiwibWF4SGVpZ2h0IiwiTUFYX0NIQVJBQ1RFUlNfTElNSVQiLCJFZGl0b3IiLCJfUmVhY3QkQ29tcG9uZW50IiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiaW50ZXJhY3RlZCIsImtleXBhZEludGVyYWN0aW9uRGV0ZWN0ZWQiLCJvcGVuIiwiZXh0cmFEaWFsb2dQcm9wcyIsImNhbGxiYWNrIiwic2V0U3RhdGUiLCJkaWFsb2ciLCJwcmV2U3RhdGUiLCJpc0VkaXRlZEluSHRtbE1vZGUiLCJzdGF0ZSIsIm5ld1Rvb2xiYXJPcHRzIiwibm9ybWFsaXplZFJlc3BvbnNlQXJlYVByb3BzIiwicmVzcG9uc2VBcmVhUHJvcHMiLCJodG1sUGx1Z2luT3B0cyIsImN1cnJlbnRWYWx1ZSIsInRvZ2dsZUh0bWxNb2RlIiwiaGFuZGxlQWxlcnREaWFsb2ciLCJoYW5kbGVEaWFsb2ciLCJfcmVmIiwicGx1Z2luUHJvcHMiLCJjdXN0b21QbHVnaW5zIiwicGx1Z2lucyIsImJ1aWxkUGx1Z2lucyIsImFjdGl2ZVBsdWdpbnMiLCJtYXRoIiwib25DbGljayIsIm9uTWF0aENsaWNrIiwib25Gb2N1cyIsIm9uUGx1Z2luRm9jdXMiLCJvbkJsdXIiLCJvblBsdWdpbkJsdXIiLCJtYXRoTWxPcHRpb25zIiwidGV4dEFsaWduIiwiZ2V0VmFsdWUiLCJvbkNoYW5nZSIsImh0bWwiLCJleHRyYUNTU1J1bGVzIiwiaW1hZ2UiLCJkaXNhYmxlSW1hZ2VBbGlnbm1lbnRCdXR0b25zIiwib25EZWxldGUiLCJpbWFnZVN1cHBvcnQiLCJub2RlIiwiZG9uZSIsInNyYyIsImRhdGEiLCJuZXdQZW5kaW5nSW1hZ2VzIiwicGVuZGluZ0ltYWdlcyIsImltZyIsImtleSIsIm9sZFNjaGVkdWxlZCIsInNjaGVkdWxlZCIsIm5ld1N0YXRlIiwiaW5zZXJ0SW1hZ2VSZXF1ZXN0ZWQiLCJhZGRlZEltYWdlIiwiZ2V0SGFuZGxlciIsIm9uRmluaXNoIiwicmVzdWx0IiwiY2IiLCJvbkVkaXRpbmdEb25lIiwiYmluZCIsImhhbmRsZXIiLCJhZGQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwidG9vbGJhciIsImRpc2FibGVTY3JvbGxiYXIiLCJkaXNhYmxlVW5kZXJsaW5lIiwiYXV0b1dpZHRoIiwiYXV0b1dpZHRoVG9vbGJhciIsIm9uRG9uZSIsIl90aGlzJHN0YXRlJHZhbHVlJHN0YSIsIm5vbkVtcHR5IiwidG9vbGJhckluRm9jdXMiLCJmb2N1c2VkTm9kZSIsImZvY3VzVG9vbGJhciIsImVkaXRvciIsImJsdXIiLCJzdGFydFRleHQiLCJ0ZXh0IiwicmVzZXRWYWx1ZSIsInRoZW4iLCJ0YWJsZSIsInJlc3BvbnNlQXJlYSIsInR5cGUiLCJtYXhSZXNwb25zZUFyZWFzIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzIiwibGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHMiLCJrZXlQYWRDaGFyYWN0ZXJSZWYiLCJzZXRLZXlwYWRJbnRlcmFjdGlvbiIsIm1lZGlhIiwiZm9jdXMiLCJjcmVhdGVDaGFuZ2UiLCJjaGFuZ2UiLCJ1cGxvYWRTb3VuZFN1cHBvcnQiLCJtbWxPdXRwdXQiLCJtbWxFZGl0aW5nIiwicnVuU2VyaWFsaXphdGlvbk9uTWFya3VwIiwicmVsYXRlZFRhcmdldCIsInRhcmdldCIsImZpbmROb2RlIiwic3Rhc2hlZFZhbHVlIiwic3Rhc2hWYWx1ZSIsImMiLCJjb2xsYXBzZVRvU3RhcnRPZiIsInNlbGVjdGVkTm9kZSIsIl90aGlzJHN0YXRlIiwiaHRtbFRvVmFsdWUiLCJkb2N1bWVudCIsInByZXZpZXdUZXh0IiwicmVuZGVySHRtbFByZXZpZXdDb250ZW50Iiwib3Blbkh0bWxNb2RlQ29uZmlybWF0aW9uRGlhbG9nIiwiY3JlYXRlRWxlbWVudCIsInJlZiIsImVsZW1lbnRSZWYiLCJTdHlsZWRQcmV2aWV3VGV4dCIsIlByZXZpZXdQcm9tcHQiLCJwcm9tcHQiLCJ0aXRsZSIsIm9uQ29uZmlybVRleHQiLCJvbkNsb3NlVGV4dCIsIm9uQ29uZmlybSIsImhhbmRsZUh0bWxNb2RlU2F2ZUNvbmZpcm1hdGlvbiIsIm9uQ2xvc2UiLCJodG1sTW9kZUNvbnRpbnVlRWRpdGluZyIsInJlc29sdmUiLCJfdGhpcyRzdGF0ZSR2YWx1ZSRzdGEyIiwiZXZlbnQiLCJfdGhpcyRkb25lQnV0dG9uUmVmJGMiLCJ0b29sYmFyRWxlbWVudCIsInRvb2xiYXJSZWYiLCJjbG9zZXN0IiwiY2xhc3NOYW1lIiwiaXNSYXdEb25lQnV0dG9uIiwiZG9uZUJ1dHRvblJlZiIsImN1cnJlbnQiLCJza2lwQmx1ckhhbmRsaW5nIiwiUHJvbWlzZSIsInByZUJsdXJWYWx1ZSIsImhhbmRsZUJsdXIiLCJlZGl0b3JET00iLCJxdWVyeVNlbGVjdG9yIiwic2V0VGltZW91dCIsInN0YXRlVmFsdWUiLCJ3cmFwcGVyUmVmIiwiZWRpdG9yRWxlbWVudCIsImFjdGl2ZUVsZW1lbnQiLCJpc0luQ3VycmVudENvbXBvbmVudCIsImNvbnRhaW5zIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImhhbmRsZURvbUJsdXIiLCJpc0ZvY3VzZWQiLCJfbmF2aWdhdG9yIiwiaXNUb3VjaERldmljZSIsIndpbmRvdyIsIm5hdmlnYXRvciIsIm1heFRvdWNoUG9pbnRzIiwiX19URU1QT1JBUllfQ0hBTkdFX0RBVEEiLCJfdGhpcyRfX1RFTVBPUkFSWV9DSEEiLCJkb21FbCIsInNldE5vZGVCeUtleSIsImFkZEV2ZW50TGlzdGVuZXIiLCJzaG91bGRGb2N1c0VkaXRvciIsImZvcmNlIiwiX3RoaXMkc3RhdGUyIiwic3RvcFJlc2V0IiwicmVkdWNlIiwicyIsInAiLCJ0b09iamVjdCIsIm5ld1ZhbHVlIiwiVmFsdWUiLCJmcm9tSlNPTiIsInRvSlNPTiIsIm1lIiwiY2hhcmFjdGVyc0xpbWl0IiwibGltaXQiLCJoYW5kbGVQbHVnaW5zIiwib2JqZWN0IiwibGFzdCIsIm5vZGVzIiwicGFyZW50IiwiZ2V0UGFyZW50IiwiQmxvY2siLCJwb3MiLCJfcmVmMyIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwiZHJvcENvbnRleHQiLCJ0cmFuc2ZlciIsImZpbGUiLCJmcmFnbWVudCIsImlubGluZSIsInJhbmdlIiwiY2giLCJfY2hhbmdlJHZhbHVlIiwiX2RvY3VtZW50Iiwic2VsZWN0aW9uIiwic3RhcnRCbG9jayIsImRlZmF1bHRCbG9jayIsImRlZmF1bHRNYXJrcyIsImZyYWciLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiZ2V0RXZlbnRUcmFuc2ZlciIsImZpbGVzIiwiYWJydXB0IiwiZ2V0QmFzZTY0Iiwic2VudCIsIklubGluZSIsImNyZWF0ZSIsImlzVm9pZCIsImxvYWRpbmciLCJnZXRFdmVudFJhbmdlIiwic2VsZWN0IiwiaW5zZXJ0SW5saW5lIiwiSW5zZXJ0SW1hZ2VIYW5kbGVyIiwiZmlsZUNob3NlbiIsImluc2VydEZyYWdtZW50IiwiZ2V0SW5zZXJ0TWFya3NBdFJhbmdlIiwiUGxhaW4iLCJkZXNlcmlhbGl6ZSIsInN0b3AiLCJfeCIsIl94MiIsIl94MyIsInBsYWNlaG9sZGVyIiwic2l6ZSIsImlzRW1wdHkiLCJjb250ZW50RWRpdGFibGUiLCJzdHlsZSIsImRpc3BsYXkiLCJ3aGl0ZVNwYWNlIiwib3BhY2l0eSIsInBvaW50ZXJFdmVudHMiLCJ1c2VyU2VsZWN0IiwiUmVhY3QiLCJjcmVhdGVSZWYiLCJoYW5kbGVUb29sYmFyRm9jdXMiLCJoYW5kbGVUb29sYmFyQmx1ciIsIm9uUmVzaXplIiwiZGVib3VuY2UiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsIl90aGlzMiIsInRvb2xiYXJDb250YWluc0ZvY3VzIiwiY29tcG9uZW50RGlkTW91bnQiLCJfdGhpcyRwcm9wcyRjbGFzc05hbWUiLCJfdGhpczMiLCJvblJlZiIsImlzUmVzcG9uc2VBcmVhRWRpdG9yIiwiaW5jbHVkZXMiLCJyZXNwb25zZUFyZWFFZGl0b3IiLCJzZXRBdHRyaWJ1dGUiLCJhdXRvRm9jdXMiLCJVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5leHRQcm9wcyIsIl9uZXh0UHJvcHMkdmFsdWUiLCJfdGhpcyRwcm9wcyR2YWx1ZSIsIl90aGlzJHN0YXRlMyIsImlzRXF1YWwiLCJkaWZmZXJlbnRDaGFyYWN0ZXJQcm9wcyIsImRpZmZlcmVudE1hdGhNbFByb3BzIiwiZGlmZmVyZW50SW1hZ2VNYXhEaW1lbnNpb25zUHJvcHMiLCJlcXVhbHMiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJ6ZXJvV2lkdGhFbHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwiQXJyYXkiLCJmcm9tIiwiZWwiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsInJlbmRlciIsIl90aGlzNCIsIl92YWx1ZSRkb2N1bWVudCIsIl90aGlzJHByb3BzIiwiZGlzYWJsZWQiLCJzcGVsbENoZWNrIiwiaGlnaGxpZ2h0U2hhcGUiLCJvbktleURvd24iLCJzbGF0ZUVkaXRvckV4dHJhU3R5bGVzIiwiX3JlZjQiLCJzaG93UGFyYWdyYXBocyIsInNlcGFyYXRlUGFyYWdyYXBocyIsIm90aGVyUGx1Z2luUHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiX3RoaXMkc3RhdGU0Iiwic2l6ZVN0eWxlIiwid3JhcHBlckNsYXNzTmFtZXMiLCJjbGFzc05hbWVzIiwid2l0aEJnIiwidG9vbGJhck9uVG9wIiwiU3R5bGVkRWRpdG9yV3JhcHBlciIsImlkIiwiU3R5bGVkVXBsb2FkaW5nTWVzc2FnZSIsIlN0eWxlZFNsYXRlRWRpdG9yIiwibm9QYWRkaW5nIiwic2hvd1BhcmFncmFwaCIsInNlcGFyYXRlUGFyYWdyYXBoIiwiaW5uZXJSZWYiLCJzbGF0ZUVkaXRvciIsImVkaXRvclJlZiIsIm9uVG9vbGJhckZvY3VzIiwib25Ub29sYmFyQmx1ciIsImdldEZvY3VzZWRWYWx1ZSIsIm9uRHJvcCIsIm9uRHJvcFBhc3RlIiwib25QYXN0ZSIsIm5vcm1hbGl6ZSIsInJlYWRPbmx5IiwiYXV0b0NvcnJlY3QiLCJyZW5kZXJQbGFjZWhvbGRlciIsIm9uRGF0YUNoYW5nZSIsImNoYW5nZURhdGEiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJib29sIiwiZnVuYyIsImlzUmVxdWlyZWQiLCJhbnkiLCJTbGF0ZVR5cGVzIiwic2hhcGUiLCJudW1iZXIiLCJvbmVPZlR5cGUiLCJzdHJpbmciLCJpc0VkaXRvciIsIm9uZU9mIiwibmFtZXMiLCJhcnJheU9mIiwicnVsZXMiLCJsYW5ndWFnZSIsImNoYXJhY3Rlckljb24iLCJjaGFyYWN0ZXJzIiwidmFsdWVzIiwiYWxsVmFsaWQiLCJldmVyeSIsIkFMTF9QTFVHSU5TIiwiRXJyb3IiLCJqb2luIiwic3R5bGVkIiwiYmFja2dyb3VuZENvbG9yIiwibWFyZ2luVG9wIiwidG9wIiwibGVmdCIsInRyYW5zZm9ybSIsInRhYmxlTGF5b3V0IiwiYm9yZGVyQ29sbGFwc2UiLCJjb2xvciIsImJhY2tncm91bmQiLCJib3JkZXJUb3AiLCJwYWRkaW5nIiwiYm9yZGVyIiwiY29udGVudCIsImZvbnRTaXplIiwibWFyZ2luQm90dG9tIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvZWRpdG9yLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRWRpdG9yIGFzIFNsYXRlRWRpdG9yLCBmaW5kTm9kZSwgZ2V0RXZlbnRSYW5nZSwgZ2V0RXZlbnRUcmFuc2ZlciB9IGZyb20gJ3NsYXRlLXJlYWN0JztcbmltcG9ydCBTbGF0ZVR5cGVzIGZyb20gJ3NsYXRlLXByb3AtdHlwZXMnO1xuaW1wb3J0IHsgVmFsdWUsIEJsb2NrLCBJbmxpbmUgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgUGxhaW4gZnJvbSAnc2xhdGUtcGxhaW4tc2VyaWFsaXplcic7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IGRlYm91bmNlIGZyb20gJ2xvZGFzaC9kZWJvdW5jZSc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBkZWJ1ZyBmcm9tICdkZWJ1Zyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5cbmltcG9ydCB7IGNvbG9yIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBBbGVydERpYWxvZyBmcm9tICcuLi8uLi9jb25maWctdWkvc3JjL2FsZXJ0LWRpYWxvZyc7XG5pbXBvcnQgeyBQcmV2aWV3UHJvbXB0IH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcblxuaW1wb3J0IHsgZ2V0QmFzZTY0LCBodG1sVG9WYWx1ZSB9IGZyb20gJy4vc2VyaWFsaXphdGlvbic7XG5pbXBvcnQgSW5zZXJ0SW1hZ2VIYW5kbGVyIGZyb20gJy4vcGx1Z2lucy9pbWFnZS9pbnNlcnQtaW1hZ2UtaGFuZGxlcic7XG5pbXBvcnQgKiBhcyBzZXJpYWxpemF0aW9uIGZyb20gJy4vc2VyaWFsaXphdGlvbic7XG5pbXBvcnQgeyBidWlsZFBsdWdpbnMsIEFMTF9QTFVHSU5TLCBERUZBVUxUX1BMVUdJTlMgfSBmcm9tICcuL3BsdWdpbnMnO1xuXG5leHBvcnQgeyBBTExfUExVR0lOUywgREVGQVVMVF9QTFVHSU5TLCBzZXJpYWxpemF0aW9uIH07XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdlZGl0YWJsZS1odG1sOmVkaXRvcicpO1xuXG5jb25zdCBkZWZhdWx0VG9vbGJhck9wdHMgPSB7XG4gIHBvc2l0aW9uOiAnYm90dG9tJyxcbiAgYWxpZ25tZW50OiAnbGVmdCcsXG4gIGFsd2F5c1Zpc2libGU6IGZhbHNlLFxuICBzaG93RG9uZTogdHJ1ZSxcbiAgZG9uZU9uOiAnYmx1cicsXG59O1xuXG5jb25zdCBkZWZhdWx0UmVzcG9uc2VBcmVhUHJvcHMgPSB7XG4gIG9wdGlvbnM6IHt9LFxuICByZXNwQXJlYVRvb2xiYXI6ICgpID0+IHsgfSxcbiAgb25IYW5kbGVBcmVhQ2hhbmdlOiAoKSA9PiB7IH0sXG59O1xuXG5jb25zdCBkZWZhdWx0TGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHMgPSBbXTtcblxuY29uc3QgY3JlYXRlVG9vbGJhck9wdHMgPSAodG9vbGJhck9wdHMsIGVycm9yLCBpc0h0bWxNb2RlKSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uZGVmYXVsdFRvb2xiYXJPcHRzLFxuICAgIC4uLnRvb2xiYXJPcHRzLFxuICAgIGVycm9yLFxuICAgIGlzSHRtbE1vZGUsXG4gIH07XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgdmFsdWUgdG8gYSBDU1Mgc2l6ZSBzdHJpbmdcbiAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gdiAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0XG4gKiBAcmV0dXJucyB7c3RyaW5nfHVuZGVmaW5lZH0gQ1NTIHNpemUgc3RyaW5nIG9yIHVuZGVmaW5lZFxuICovXG5leHBvcnQgY29uc3QgdmFsdWVUb1NpemUgPSAodikgPT4ge1xuICBpZiAoIXYpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgY2FsY1JlZ2V4ID0gL15jYWxjXFwoKC4qKVxcKSQvO1xuXG4gIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycpIHtcbiAgICBpZiAodi5lbmRzV2l0aCgnJScpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICB2LmVuZHNXaXRoKCdweCcpIHx8XG4gICAgICB2LmVuZHNXaXRoKCd2aCcpIHx8XG4gICAgICB2LmVuZHNXaXRoKCd2dycpIHx8XG4gICAgICB2LmVuZHNXaXRoKCdjaCcpIHx8XG4gICAgICB2LmVuZHNXaXRoKCdlbScpIHx8XG4gICAgICB2Lm1hdGNoKGNhbGNSZWdleClcbiAgICApIHtcbiAgICAgIHJldHVybiB2O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KHYsIDEwKTtcbiAgICAgIHJldHVybiBpc05hTih2YWx1ZSkgPyB2YWx1ZSA6IGAke3ZhbHVlfXB4YDtcbiAgICB9XG4gIH1cbiAgaWYgKHR5cGVvZiB2ID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiBgJHt2fXB4YDtcbiAgfVxufTtcblxuLyoqXG4gKiBCdWlsZHMgYSBzdHlsZSBvYmplY3QgZm9yIGVkaXRvciBzaXplIGNvbnN0cmFpbnRzXG4gKiBAcGFyYW0ge09iamVjdH0gcHJvcHMgLSBFZGl0b3IgcHJvcHMgY29udGFpbmluZyBzaXplIHZhbHVlc1xuICogQHJldHVybnMge09iamVjdH0gU3R5bGUgb2JqZWN0IHdpdGggd2lkdGgvaGVpZ2h0IGNvbnN0cmFpbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBidWlsZFNpemVTdHlsZSA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IG1pbldpZHRoLCB3aWR0aCwgbWF4V2lkdGgsIG1pbkhlaWdodCwgaGVpZ2h0LCBtYXhIZWlnaHQgfSA9IHByb3BzO1xuXG4gIHJldHVybiB7XG4gICAgd2lkdGg6IHZhbHVlVG9TaXplKHdpZHRoKSxcbiAgICBtaW5XaWR0aDogdmFsdWVUb1NpemUobWluV2lkdGgpLFxuICAgIG1heFdpZHRoOiB2YWx1ZVRvU2l6ZShtYXhXaWR0aCksXG4gICAgaGVpZ2h0OiB2YWx1ZVRvU2l6ZShoZWlnaHQpLFxuICAgIG1pbkhlaWdodDogdmFsdWVUb1NpemUobWluSGVpZ2h0KSxcbiAgICBtYXhIZWlnaHQ6IHZhbHVlVG9TaXplKG1heEhlaWdodCksXG4gIH07XG59O1xuXG4vKipcbiAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIHRoZSBlZGl0b3IgY2FuIHN1cHBvcnRcbiAqIEB0eXBlIHtudW1iZXJ9XG4gKi9cbmNvbnN0IE1BWF9DSEFSQUNURVJTX0xJTUlUID0gMTAwMDAwMDtcblxuZXhwb3J0IGNsYXNzIEVkaXRvciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYXV0b0ZvY3VzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBlZGl0b3JSZWY6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgZXJyb3I6IFByb3BUeXBlcy5hbnksXG4gICAgb25SZWY6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25DaGFuZ2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgb25Gb2N1czogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25CbHVyOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbktleURvd246IFByb3BUeXBlcy5mdW5jLFxuICAgIGZvY3VzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBTbGF0ZVR5cGVzLnZhbHVlLmlzUmVxdWlyZWQsXG4gICAgaW1hZ2VTdXBwb3J0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1hdGhNbE9wdGlvbnM6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBtbWxPdXRwdXQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgbW1sRWRpdGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgfSksXG4gICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uczogUHJvcFR5cGVzLmJvb2wsXG4gICAgdXBsb2FkU291bmRTdXBwb3J0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgYWRkOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIGRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgfSksXG4gICAgY2hhcmFjdGVyc0xpbWl0OiBQcm9wVHlwZXMubnVtYmVyLFxuICAgIHdpZHRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gICAgbWluV2lkdGg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5udW1iZXJdKSxcbiAgICBtYXhXaWR0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIGhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIG1pbkhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIG1heEhlaWdodDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIHNsYXRlRWRpdG9yRXh0cmFTdHlsZXM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGlnaGxpZ2h0U2hhcGU6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBub25FbXB0eTogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzYWJsZVNjcm9sbGJhcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgZGlzYWJsZVVuZGVybGluZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgYXV0b1dpZHRoVG9vbGJhcjogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGx1Z2luUHJvcHM6IFByb3BUeXBlcy5hbnksXG4gICAgLy8gY3VzdG9tUGx1Z2lucyBzaG91bGQgYmUgaW5zaWRlIHBsdWdpblByb3BzIChhIHByb3BlcnR5IGluc2lkZSBwbHVnaW5Qcm9wcylcbiAgICAvLyAgIGN1c3RvbVBsdWdpbnM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgIC8vICAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgLy8gICAgICAgICBldmVudDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAvLyAgICAgICAgIGljb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLy8gICAgICAgICBpY29uVHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAvLyAgICAgICAgIGljb25BbHQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAvLyAgICAgICB9KSxcbiAgICAvLyAgICksXG4gICAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXNFZGl0b3I6IFByb3BUeXBlcy5ib29sLFxuICAgIHJlc3BvbnNlQXJlYVByb3BzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgdHlwZTogUHJvcFR5cGVzLm9uZU9mKFtcbiAgICAgICAgJ2V4cGxpY2l0LWNvbnN0cnVjdGVkLXJlc3BvbnNlJyxcbiAgICAgICAgJ2lubGluZS1kcm9wZG93bicsXG4gICAgICAgICdkcmFnLWluLXRoZS1ibGFuaycsXG4gICAgICAgICdtYXRoLXRlbXBsYXRlZCcsXG4gICAgICBdKSxcbiAgICAgIG9wdGlvbnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgICByZXNwQXJlYVRvb2xiYXI6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25IYW5kbGVBcmVhQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG1heFJlc3BvbnNlQXJlYXM6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgICBlcnJvcjogUHJvcFR5cGVzLmFueSxcbiAgICB9KSxcbiAgICBleHRyYUNTU1J1bGVzOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbmFtZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpLFxuICAgICAgcnVsZXM6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgfSksXG4gICAgbGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgbGFuZ3VhZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGNoYXJhY3Rlckljb246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIGNoYXJhY3RlcnM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5zdHJpbmcpKSxcbiAgICAgIH0pLFxuICAgICksXG4gICAgcnVuU2VyaWFsaXphdGlvbk9uTWFya3VwOiBQcm9wVHlwZXMuZnVuYyxcbiAgICB0b29sYmFyT3B0czogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHBvc2l0aW9uOiBQcm9wVHlwZXMub25lT2YoWydib3R0b20nLCAndG9wJ10pLFxuICAgICAgYWxpZ25tZW50OiBQcm9wVHlwZXMub25lT2YoWydsZWZ0JywgJ3JpZ2h0J10pLFxuICAgICAgYWx3YXlzVmlzaWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICBzaG93RG9uZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgICBkb25lT246IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBtaW5XaWR0aDogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIH0pLFxuICAgIGFjdGl2ZVBsdWdpbnM6IFByb3BUeXBlcy5hcnJheU9mKCh2YWx1ZXMpID0+IHtcbiAgICAgIGNvbnN0IGFsbFZhbGlkID0gdmFsdWVzLmV2ZXJ5KCh2KSA9PiBBTExfUExVR0lOUy5pbmNsdWRlcyh2KSk7XG5cbiAgICAgIHJldHVybiAhYWxsVmFsaWQgJiYgbmV3IEVycm9yKGBJbnZhbGlkIHZhbHVlczogJHt2YWx1ZXN9LCB2YWx1ZXMgbXVzdCBiZSBvbmUgb2YgWyR7QUxMX1BMVUdJTlMuam9pbignLCcpfV1gKTtcbiAgICB9KSxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbWF4SW1hZ2VXaWR0aDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBtYXhJbWFnZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGRpc2FibGVVbmRlcmxpbmU6IHRydWUsXG4gICAgb25Gb2N1czogKCkgPT4geyB9LFxuICAgIG9uQmx1cjogKCkgPT4geyB9LFxuICAgIG9uS2V5RG93bjogKCkgPT4geyB9LFxuICAgIHJ1blNlcmlhbGl6YXRpb25Pbk1hcmt1cDogKCkgPT4geyB9LFxuICAgIG1hdGhNbE9wdGlvbnM6IHtcbiAgICAgIG1tbE91dHB1dDogZmFsc2UsXG4gICAgICBtbWxFZGl0aW5nOiBmYWxzZSxcbiAgICB9LFxuICAgIHRvb2xiYXJPcHRzOiBkZWZhdWx0VG9vbGJhck9wdHMsXG4gICAgcmVzcG9uc2VBcmVhUHJvcHM6IGRlZmF1bHRSZXNwb25zZUFyZWFQcm9wcyxcbiAgICBsYW5ndWFnZUNoYXJhY3RlcnNQcm9wczogZGVmYXVsdExhbmd1YWdlQ2hhcmFjdGVyc1Byb3BzLFxuICAgIGV4dHJhQ1NTUnVsZXM6IG51bGwsXG4gICAgaXNFZGl0b3I6IGZhbHNlLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICB2YWx1ZTogcHJvcHMudmFsdWUsXG4gICAgICB0b29sYmFyT3B0czogY3JlYXRlVG9vbGJhck9wdHMocHJvcHMudG9vbGJhck9wdHMsIHByb3BzLmVycm9yKSxcbiAgICAgIHBlbmRpbmdJbWFnZXM6IFtdLFxuICAgICAgaXNIdG1sTW9kZTogZmFsc2UsXG4gICAgICBpc0VkaXRlZEluSHRtbE1vZGU6IGZhbHNlLFxuICAgICAgZm9jdXNUb29sYmFyOiBmYWxzZSxcbiAgICAgIGRpYWxvZzoge1xuICAgICAgICBvcGVuOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHRoaXMua2V5UGFkQ2hhcmFjdGVyUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5kb25lQnV0dG9uUmVmID0gUmVhY3QuY3JlYXRlUmVmKCk7XG4gICAgdGhpcy5rZXlwYWRJbnRlcmFjdGlvbkRldGVjdGVkID0gZmFsc2U7XG5cbiAgICB0aGlzLnRvZ2dsZUh0bWxNb2RlID0gdGhpcy50b2dnbGVIdG1sTW9kZS5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaGFuZGxlVG9vbGJhckZvY3VzID0gdGhpcy5oYW5kbGVUb29sYmFyRm9jdXMuYmluZCh0aGlzKTtcbiAgICB0aGlzLmhhbmRsZVRvb2xiYXJCbHVyID0gdGhpcy5oYW5kbGVUb29sYmFyQmx1ci5iaW5kKHRoaXMpO1xuXG4gICAgdGhpcy5vblJlc2l6ZSA9IGRlYm91bmNlKCgpID0+IHtcbiAgICAgIGlmICghdGhpcy5zdGF0ZS5pc0h0bWxNb2RlICYmIHByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICAgIHByb3BzLm9uQ2hhbmdlKHRoaXMuc3RhdGUudmFsdWUsIHRydWUpO1xuICAgICAgfVxuICAgIH0sIDUwKTtcblxuICAgIHRoaXMuaGFuZGxlUGx1Z2lucyh0aGlzLnByb3BzKTtcbiAgfVxuXG4gIGhhbmRsZVRvb2xiYXJGb2N1cygpIHtcbiAgICBpZiAodGhpcy5zdGF0ZS5mb2N1c1Rvb2xiYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnNldFN0YXRlKHsgZm9jdXNUb29sYmFyOiB0cnVlIH0pO1xuICB9XG5cbiAgc2V0S2V5cGFkSW50ZXJhY3Rpb24gPSAoaW50ZXJhY3RlZCkgPT4ge1xuICAgIHRoaXMua2V5cGFkSW50ZXJhY3Rpb25EZXRlY3RlZCA9IGludGVyYWN0ZWQ7XG4gIH07XG5cbiAgaGFuZGxlVG9vbGJhckJsdXIoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXRoaXMudG9vbGJhckNvbnRhaW5zRm9jdXMoKSkge1xuICAgICAgICB0aGlzLnNldFN0YXRlKHsgZm9jdXNUb29sYmFyOiBmYWxzZSB9KTtcbiAgICAgIH1cbiAgICB9LCAwKTtcbiAgfVxuXG4gIHRvb2xiYXJDb250YWluc0ZvY3VzKCkge1xuICAgIGlmICghdGhpcy50b29sYmFyUmVmKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgdG9vbGJhckVsZW1lbnQgPSB0aGlzLnRvb2xiYXJSZWY7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7XG5cbiAgICByZXR1cm4gdG9vbGJhckVsZW1lbnQgJiYgdG9vbGJhckVsZW1lbnQuY29udGFpbnMoYWN0aXZlRWxlbWVudCk7XG4gIH1cblxuICBoYW5kbGVEaWFsb2cgPSAob3BlbiwgZXh0cmFEaWFsb2dQcm9wcyA9IHt9LCBjYWxsYmFjaykgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICB7XG4gICAgICAgIGRpYWxvZzoge1xuICAgICAgICAgIG9wZW4sXG4gICAgICAgICAgLi4uZXh0cmFEaWFsb2dQcm9wcyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjYWxsYmFjayxcbiAgICApO1xuICB9O1xuXG4gIHRvZ2dsZUh0bWxNb2RlID0gKCkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoXG4gICAgICAocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICBpc0h0bWxNb2RlOiAhcHJldlN0YXRlLmlzSHRtbE1vZGUsXG4gICAgICAgIGlzRWRpdGVkSW5IdG1sTW9kZTogZmFsc2UsXG4gICAgICB9KSxcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBlcnJvciB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgY29uc3QgeyB0b29sYmFyT3B0cyB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgY29uc3QgbmV3VG9vbGJhck9wdHMgPSBjcmVhdGVUb29sYmFyT3B0cyh0b29sYmFyT3B0cywgZXJyb3IsIHRoaXMuc3RhdGUuaXNIdG1sTW9kZSk7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgIHRvb2xiYXJPcHRzOiBuZXdUb29sYmFyT3B0cyxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICk7XG4gIH07XG5cbiAgaGFuZGxlUGx1Z2lucyA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRSZXNwb25zZUFyZWFQcm9wcyA9IHtcbiAgICAgIC4uLmRlZmF1bHRSZXNwb25zZUFyZWFQcm9wcyxcbiAgICAgIC4uLnByb3BzLnJlc3BvbnNlQXJlYVByb3BzLFxuICAgIH07XG5cbiAgICBjb25zdCBodG1sUGx1Z2luT3B0cyA9IHtcbiAgICAgIGN1cnJlbnRWYWx1ZTogdGhpcy5wcm9wcy52YWx1ZSxcbiAgICAgIGlzSHRtbE1vZGU6IHRoaXMuc3RhdGUuaXNIdG1sTW9kZSxcbiAgICAgIGlzRWRpdGVkSW5IdG1sTW9kZTogdGhpcy5zdGF0ZS5pc0VkaXRlZEluSHRtbE1vZGUsXG4gICAgICB0b2dnbGVIdG1sTW9kZTogdGhpcy50b2dnbGVIdG1sTW9kZSxcbiAgICAgIGhhbmRsZUFsZXJ0RGlhbG9nOiB0aGlzLmhhbmRsZURpYWxvZyxcbiAgICB9O1xuICAgIGxldCB7IGN1c3RvbVBsdWdpbnMgfSA9IHByb3BzLnBsdWdpblByb3BzIHx8IHt9O1xuICAgIGN1c3RvbVBsdWdpbnMgPSBjdXN0b21QbHVnaW5zIHx8IFtdO1xuXG4gICAgdGhpcy5wbHVnaW5zID0gYnVpbGRQbHVnaW5zKHByb3BzLmFjdGl2ZVBsdWdpbnMsIGN1c3RvbVBsdWdpbnMsIHtcbiAgICAgIG1hdGg6IHtcbiAgICAgICAgb25DbGljazogdGhpcy5vbk1hdGhDbGljayxcbiAgICAgICAgb25Gb2N1czogdGhpcy5vblBsdWdpbkZvY3VzLFxuICAgICAgICBvbkJsdXI6IHRoaXMub25QbHVnaW5CbHVyLFxuICAgICAgICAuLi5wcm9wcy5tYXRoTWxPcHRpb25zLFxuICAgICAgfSxcbiAgICAgIHRleHRBbGlnbjoge1xuICAgICAgICBnZXRWYWx1ZTogKCkgPT4gdGhpcy5zdGF0ZS52YWx1ZSxcbiAgICAgICAgb25DaGFuZ2U6IHRoaXMub25DaGFuZ2UsXG4gICAgICB9LFxuICAgICAgaHRtbDogaHRtbFBsdWdpbk9wdHMsXG4gICAgICBleHRyYUNTU1J1bGVzOiBwcm9wcy5leHRyYUNTU1J1bGVzIHx8IHt9LFxuICAgICAgaW1hZ2U6IHtcbiAgICAgICAgZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9uczogcHJvcHMuZGlzYWJsZUltYWdlQWxpZ25tZW50QnV0dG9ucyxcbiAgICAgICAgb25EZWxldGU6XG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0ICYmXG4gICAgICAgICAgcHJvcHMuaW1hZ2VTdXBwb3J0LmRlbGV0ZSAmJlxuICAgICAgICAgICgobm9kZSwgZG9uZSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc3JjID0gbm9kZS5kYXRhLmdldCgnc3JjJyk7XG5cbiAgICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5kZWxldGUoc3JjLCAoZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBuZXdQZW5kaW5nSW1hZ2VzID0gdGhpcy5zdGF0ZS5wZW5kaW5nSW1hZ2VzLmZpbHRlcigoaW1nKSA9PiBpbWcua2V5ICE9PSBub2RlLmtleSk7XG4gICAgICAgICAgICAgIGNvbnN0IHsgc2NoZWR1bGVkOiBvbGRTY2hlZHVsZWQgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJbWFnZXM6IG5ld1BlbmRpbmdJbWFnZXMsXG4gICAgICAgICAgICAgICAgc2NoZWR1bGVkOiBvbGRTY2hlZHVsZWQgJiYgbmV3UGVuZGluZ0ltYWdlcy5sZW5ndGggPT09IDAgPyBmYWxzZSA6IG9sZFNjaGVkdWxlZCxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlLCAoKSA9PiBkb25lKGUsIHRoaXMuc3RhdGUudmFsdWUpKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pLFxuICAgICAgICBpbnNlcnRJbWFnZVJlcXVlc3RlZDpcbiAgICAgICAgICBwcm9wcy5pbWFnZVN1cHBvcnQgJiZcbiAgICAgICAgICAoKGFkZGVkSW1hZ2UsIGdldEhhbmRsZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgcGVuZGluZ0ltYWdlcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgICAgIGNvbnN0IG9uRmluaXNoID0gKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICBsZXQgY2I7XG5cbiAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUuc2NoZWR1bGVkICYmIHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIC8vIGZpbmlzaCBlZGl0aW5nIG9ubHkgb24gc3VjY2Vzc1xuICAgICAgICAgICAgICAgIGNiID0gdGhpcy5vbkVkaXRpbmdEb25lLmJpbmQodGhpcyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBuZXdQZW5kaW5nSW1hZ2VzID0gdGhpcy5zdGF0ZS5wZW5kaW5nSW1hZ2VzLmZpbHRlcigoaW1nKSA9PiBpbWcua2V5ICE9PSBhZGRlZEltYWdlLmtleSk7XG4gICAgICAgICAgICAgIGNvbnN0IG5ld1N0YXRlID0ge1xuICAgICAgICAgICAgICAgIHBlbmRpbmdJbWFnZXM6IG5ld1BlbmRpbmdJbWFnZXMsXG4gICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgaWYgKG5ld1BlbmRpbmdJbWFnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgbmV3U3RhdGUuc2NoZWR1bGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKG5ld1N0YXRlLCBjYik7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSAoKSA9PiB7XG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBUaGUgaGFuZGxlciBpcyB0aGUgb2JqZWN0IHRocm91Z2ggd2hpY2ggdGhlIG91dGVyIGNvbnRleHRcbiAgICAgICAgICAgICAgICogY29tbXVuaWNhdGVzIGZpbGUgdXBsb2FkIGV2ZW50cyBsaWtlOiBmaWxlQ2hvc2VuLCBjYW5jZWwsIHByb2dyZXNzXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gZ2V0SGFuZGxlcihvbkZpbmlzaCwgKCkgPT4gdGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgICAgICAgICAgIHByb3BzLmltYWdlU3VwcG9ydC5hZGQoaGFuZGxlcik7XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGVuZGluZ0ltYWdlczogWy4uLnBlbmRpbmdJbWFnZXMsIGFkZGVkSW1hZ2VdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjYWxsYmFjayxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSksXG4gICAgICAgIG9uRm9jdXM6IHRoaXMub25QbHVnaW5Gb2N1cyxcbiAgICAgICAgb25CbHVyOiB0aGlzLm9uUGx1Z2luQmx1cixcbiAgICAgICAgbWF4SW1hZ2VXaWR0aDogcHJvcHMubWF4SW1hZ2VXaWR0aCxcbiAgICAgICAgbWF4SW1hZ2VIZWlnaHQ6IHByb3BzLm1heEltYWdlSGVpZ2h0LFxuICAgICAgfSxcbiAgICAgIHRvb2xiYXI6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRvIG1pbmltaXplIGNvbnZlcnRpbmcgaHRtbCAtPiBzdGF0ZSAtPiBodG1sXG4gICAgICAgICAqIFdlIG9ubHkgZW1pdCBtYXJrdXAgb25jZSAnZG9uZScgaXMgY2xpY2tlZC5cbiAgICAgICAgICovXG4gICAgICAgIGRpc2FibGVTY3JvbGxiYXI6ICEhcHJvcHMuZGlzYWJsZVNjcm9sbGJhcixcbiAgICAgICAgZGlzYWJsZVVuZGVybGluZTogcHJvcHMuZGlzYWJsZVVuZGVybGluZSxcbiAgICAgICAgYXV0b1dpZHRoOiBwcm9wcy5hdXRvV2lkdGhUb29sYmFyLFxuICAgICAgICBvbkRvbmU6ICgpID0+IHtcbiAgICAgICAgICBjb25zdCB7IG5vbkVtcHR5IH0gPSBwcm9wcztcblxuICAgICAgICAgIGxvZygnW29uRG9uZV0nKTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgdG9vbGJhckluRm9jdXM6IGZhbHNlLCBmb2N1c2VkTm9kZTogbnVsbCwgZm9jdXNUb29sYmFyOiBmYWxzZSB9KTtcbiAgICAgICAgICB0aGlzLmVkaXRvci5ibHVyKCk7XG5cbiAgICAgICAgICBpZiAobm9uRW1wdHkgJiYgdGhpcy5zdGF0ZS52YWx1ZS5zdGFydFRleHQ/LnRleHQ/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5yZXNldFZhbHVlKHRydWUpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm9uRWRpdGluZ0RvbmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9uRWRpdGluZ0RvbmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgdGFibGU6IHtcbiAgICAgICAgb25Gb2N1czogKCkgPT4ge1xuICAgICAgICAgIGxvZygnW3RhYmxlOm9uRm9jdXNdLi4uJyk7XG4gICAgICAgICAgdGhpcy5vblBsdWdpbkZvY3VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQmx1cjogKCkgPT4ge1xuICAgICAgICAgIGxvZygnW3RhYmxlOm9uQmx1cl0uLi4nKTtcbiAgICAgICAgICB0aGlzLm9uUGx1Z2luQmx1cigpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlc3BvbnNlQXJlYToge1xuICAgICAgICB0eXBlOiBub3JtYWxpemVkUmVzcG9uc2VBcmVhUHJvcHMudHlwZSxcbiAgICAgICAgb3B0aW9uczogbm9ybWFsaXplZFJlc3BvbnNlQXJlYVByb3BzLm9wdGlvbnMsXG4gICAgICAgIG1heFJlc3BvbnNlQXJlYXM6IG5vcm1hbGl6ZWRSZXNwb25zZUFyZWFQcm9wcy5tYXhSZXNwb25zZUFyZWFzLFxuICAgICAgICByZXNwQXJlYVRvb2xiYXI6IG5vcm1hbGl6ZWRSZXNwb25zZUFyZWFQcm9wcy5yZXNwQXJlYVRvb2xiYXIsXG4gICAgICAgIG9uSGFuZGxlQXJlYUNoYW5nZTogbm9ybWFsaXplZFJlc3BvbnNlQXJlYVByb3BzLm9uSGFuZGxlQXJlYUNoYW5nZSxcbiAgICAgICAgZXJyb3I6IG5vcm1hbGl6ZWRSZXNwb25zZUFyZWFQcm9wcy5lcnJvcixcbiAgICAgICAgb25Gb2N1czogKCkgPT4ge1xuICAgICAgICAgIGxvZygnW3RhYmxlOm9uRm9jdXNdLi4uJyk7XG4gICAgICAgICAgdGhpcy5vblBsdWdpbkZvY3VzKCk7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQmx1cjogKCkgPT4ge1xuICAgICAgICAgIGxvZygnW3RhYmxlOm9uQmx1cl0uLi4nKTtcbiAgICAgICAgICB0aGlzLm9uUGx1Z2luQmx1cigpO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGxhbmd1YWdlQ2hhcmFjdGVyczogcHJvcHMubGFuZ3VhZ2VDaGFyYWN0ZXJzUHJvcHMsXG4gICAgICBrZXlQYWRDaGFyYWN0ZXJSZWY6IHRoaXMua2V5UGFkQ2hhcmFjdGVyUmVmLFxuICAgICAgc2V0S2V5cGFkSW50ZXJhY3Rpb246IHRoaXMuc2V0S2V5cGFkSW50ZXJhY3Rpb24sXG4gICAgICBtZWRpYToge1xuICAgICAgICBmb2N1czogdGhpcy5mb2N1cyxcbiAgICAgICAgY3JlYXRlQ2hhbmdlOiAoKSA9PiB0aGlzLnN0YXRlLnZhbHVlLmNoYW5nZSgpLFxuICAgICAgICBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSxcbiAgICAgICAgdXBsb2FkU291bmRTdXBwb3J0OiBwcm9wcy51cGxvYWRTb3VuZFN1cHBvcnQsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLm1hdGhNbE9wdGlvbnMubW1sT3V0cHV0IHx8IHByb3BzLm1hdGhNbE9wdGlvbnMubW1sRWRpdGluZykge1xuICAgICAgdGhpcy5wcm9wcy5ydW5TZXJpYWxpemF0aW9uT25NYXJrdXAoKTtcbiAgICB9XG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgLy8gb25SZWYgaXMgbmVlZGVkIHRvIGdldCB0aGUgcmVmIG9mIHRoZSBjb21wb25lbnRcbiAgICB0aGlzLnByb3BzLm9uUmVmKHRoaXMpO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMub25SZXNpemUpO1xuXG4gICAgY29uc3QgaXNSZXNwb25zZUFyZWFFZGl0b3IgPSB0aGlzLnByb3BzLmNsYXNzTmFtZT8uaW5jbHVkZXMoJ3Jlc3BvbnNlLWFyZWEtZWRpdG9yJyk7XG5cbiAgICBpZiAoaXNSZXNwb25zZUFyZWFFZGl0b3IgJiYgdGhpcy5lZGl0b3IpIHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlQXJlYUVkaXRvciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWtleT1cIiR7dGhpcy5lZGl0b3IudmFsdWUuZG9jdW1lbnQua2V5fVwiXWApO1xuXG4gICAgICBpZiAocmVzcG9uc2VBcmVhRWRpdG9yKSB7XG4gICAgICAgIHJlc3BvbnNlQXJlYUVkaXRvci5zZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnLCAnQW5zd2VyJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZWRpdG9yICYmIHRoaXMucHJvcHMuYXV0b0ZvY3VzKSB7XG4gICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuZWRpdG9yKSB7XG4gICAgICAgICAgY29uc3QgZWRpdG9yRE9NID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEta2V5PVwiJHt0aGlzLmVkaXRvci52YWx1ZS5kb2N1bWVudC5rZXl9XCJdYCk7XG5cbiAgICAgICAgICB0aGlzLmVkaXRvci5mb2N1cygpO1xuXG4gICAgICAgICAgaWYgKGVkaXRvckRPTSkge1xuICAgICAgICAgICAgZWRpdG9yRE9NLmZvY3VzKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBVTlNBRkVfY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMpIHtcbiAgICBjb25zdCB7IGlzSHRtbE1vZGUsIHRvb2xiYXJPcHRzIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IG5ld1Rvb2xiYXJPcHRzID0gY3JlYXRlVG9vbGJhck9wdHMobmV4dFByb3BzLnRvb2xiYXJPcHRzLCBuZXh0UHJvcHMuZXJyb3IsIGlzSHRtbE1vZGUpO1xuXG4gICAgaWYgKCFpc0VxdWFsKG5ld1Rvb2xiYXJPcHRzLCB0b29sYmFyT3B0cykpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICB0b29sYmFyT3B0czogbmV3VG9vbGJhck9wdHMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBkaWZmZXJlbnRDaGFyYWN0ZXJQcm9wcyA9ICFpc0VxdWFsKG5leHRQcm9wcy5sYW5ndWFnZUNoYXJhY3RlcnNQcm9wcywgdGhpcy5wcm9wcy5sYW5ndWFnZUNoYXJhY3RlcnNQcm9wcyk7XG4gICAgY29uc3QgZGlmZmVyZW50TWF0aE1sUHJvcHMgPSAhaXNFcXVhbChuZXh0UHJvcHMubWF0aE1sT3B0aW9ucywgdGhpcy5wcm9wcy5tYXRoTWxPcHRpb25zKTtcbiAgICBjb25zdCBkaWZmZXJlbnRJbWFnZU1heERpbWVuc2lvbnNQcm9wcyA9XG4gICAgICAhaXNFcXVhbChuZXh0UHJvcHMubWF4SW1hZ2VXaWR0aCwgdGhpcy5wcm9wcy5tYXhJbWFnZVdpZHRoKSB8fFxuICAgICAgIWlzRXF1YWwobmV4dFByb3BzLm1heEltYWdlSGVpZ2h0LCB0aGlzLnByb3BzLm1heEltYWdlSGVpZ2h0KTtcblxuICAgIGlmIChkaWZmZXJlbnRDaGFyYWN0ZXJQcm9wcyB8fCBkaWZmZXJlbnRNYXRoTWxQcm9wcyB8fCBkaWZmZXJlbnRJbWFnZU1heERpbWVuc2lvbnNQcm9wcykge1xuICAgICAgdGhpcy5oYW5kbGVQbHVnaW5zKG5leHRQcm9wcyk7XG4gICAgfVxuXG4gICAgaWYgKCFuZXh0UHJvcHMudmFsdWU/LmRvY3VtZW50Py5lcXVhbHModGhpcy5wcm9wcy52YWx1ZT8uZG9jdW1lbnQpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgZm9jdXM6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogbmV4dFByb3BzLnZhbHVlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcywgcHJldlN0YXRlKSB7XG4gICAgLy8gVGhlIGN1cnNvciBpcyBvbiBhIHplcm8gd2lkdGggZWxlbWVudCBhbmQgd2hlbiB0aGF0IGlzIHBsYWNlZCBuZWFyIHZvaWQgZWxlbWVudHMsIGl0IGlzIG5vdCB2aXNpYmxlXG4gICAgLy8gc28gd2UgaW5jcmVhc2UgdGhlIHdpZHRoIHRvIGF0IGxlYXN0IDJweCBpbiBvcmRlciBmb3IgdGhlIHVzZXIgdG8gc2VlIGl0XG5cbiAgICAvLyBUcmlnZ2VyIHBsdWdpbnMgYW5kIGZpbmlzaCBlZGl0aW5nIGlmOlxuICAgIC8vIDEuIFRoZSAnaXNIdG1sTW9kZScgc3RhdGUgaGFzIGJlZW4gdG9nZ2xlZC5cbiAgICAvLyAyLiBXZSdyZSBjdXJyZW50bHkgaW4gJ2lzSHRtbE1vZGUnIGFuZCB0aGUgZWRpdG9yIHZhbHVlIGhhcyBiZWVuIG1vZGlmaWVkLlxuICAgIGlmIChcbiAgICAgIHRoaXMuc3RhdGUuaXNIdG1sTW9kZSAhPT0gcHJldlN0YXRlLmlzSHRtbE1vZGUgfHxcbiAgICAgICh0aGlzLnN0YXRlLmlzSHRtbE1vZGUgJiYgIXByZXZTdGF0ZS5pc0VkaXRlZEluSHRtbE1vZGUgJiYgdGhpcy5zdGF0ZS5pc0VkaXRlZEluSHRtbE1vZGUpXG4gICAgKSB7XG4gICAgICB0aGlzLmhhbmRsZVBsdWdpbnModGhpcy5wcm9wcyk7XG4gICAgfVxuXG4gICAgY29uc3QgemVyb1dpZHRoRWxzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW2RhdGEtc2xhdGUtemVyby13aWR0aD1cInpcIl0nKTtcblxuICAgIEFycmF5LmZyb20oemVyb1dpZHRoRWxzKS5mb3JFYWNoKChlbCkgPT4ge1xuICAgICAgZWwuc3R5bGUubWluV2lkdGggPSAnMnB4JztcbiAgICAgIGVsLnN0eWxlLmRpc3BsYXkgPSAnaW5saW5lLWJsb2NrJztcbiAgICB9KTtcbiAgfVxuXG4gIG9uUGx1Z2luQmx1ciA9IChlKSA9PiB7XG4gICAgbG9nKCdbb25QbHVnaW5CbHVyXScsIGUgJiYgZS5yZWxhdGVkVGFyZ2V0KTtcbiAgICBjb25zdCB0YXJnZXQgPSBlICYmIGUucmVsYXRlZFRhcmdldDtcblxuICAgIGNvbnN0IG5vZGUgPSB0YXJnZXQgPyBmaW5kTm9kZSh0YXJnZXQsIHRoaXMuc3RhdGUudmFsdWUpIDogbnVsbDtcbiAgICBsb2coJ1tvblBsdWdpbkJsdXJdIG5vZGU6ICcsIG5vZGUpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBmb2N1c2VkTm9kZTogbm9kZSB9LCAoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0VmFsdWUoKTtcbiAgICB9KTtcbiAgfTtcblxuICBvblBsdWdpbkZvY3VzID0gKGUpID0+IHtcbiAgICBsb2coJ1tvblBsdWdpbkZvY3VzXScsIGUgJiYgZS50YXJnZXQpO1xuICAgIGNvbnN0IHRhcmdldCA9IGUgJiYgZS50YXJnZXQ7XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgY29uc3Qgbm9kZSA9IGZpbmROb2RlKHRhcmdldCwgdGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgICBsb2coJ1tvblBsdWdpbkZvY3VzXSBub2RlOiAnLCBub2RlKTtcblxuICAgICAgY29uc3Qgc3Rhc2hlZFZhbHVlID0gdGhpcy5zdGF0ZS5zdGFzaGVkVmFsdWUgfHwgdGhpcy5zdGF0ZS52YWx1ZTtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBmb2N1c2VkTm9kZTogbm9kZSwgc3Rhc2hlZFZhbHVlIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgZm9jdXNlZE5vZGU6IG51bGwgfSk7XG4gICAgfVxuICAgIHRoaXMuc3Rhc2hWYWx1ZSgpO1xuICB9O1xuXG4gIG9uTWF0aENsaWNrID0gKG5vZGUpID0+IHtcbiAgICB0aGlzLmVkaXRvci5jaGFuZ2UoKGMpID0+IGMuY29sbGFwc2VUb1N0YXJ0T2Yobm9kZSkpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RlZE5vZGU6IG5vZGUgfSk7XG4gIH07XG5cbiAgb25FZGl0aW5nRG9uZSA9ICgpID0+IHtcbiAgICBjb25zdCB7IGlzSHRtbE1vZGUsIGRpYWxvZywgdmFsdWUsIHBlbmRpbmdJbWFnZXMgfSA9IHRoaXMuc3RhdGU7XG5cbiAgICAvLyBIYW5kbGluZyBIVE1MIG1vZGUgYW5kIGRpYWxvZyBzdGF0ZVxuICAgIGlmIChpc0h0bWxNb2RlKSB7XG4gICAgICAvLyBFYXJseSByZXR1cm4gaWYgSFRNTCBtb2RlIGlzIGVuYWJsZWRcbiAgICAgIGlmIChkaWFsb2c/Lm9wZW4pIHJldHVybjtcblxuICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gaHRtbFRvVmFsdWUodmFsdWUuZG9jdW1lbnQudGV4dCk7XG4gICAgICBjb25zdCBwcmV2aWV3VGV4dCA9IHRoaXMucmVuZGVySHRtbFByZXZpZXdDb250ZW50KCk7XG5cbiAgICAgIHRoaXMub3Blbkh0bWxNb2RlQ29uZmlybWF0aW9uRGlhbG9nKGN1cnJlbnRWYWx1ZSwgcHJldmlld1RleHQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChwZW5kaW5nSW1hZ2VzLmxlbmd0aCkge1xuICAgICAgLy8gc2NoZWR1bGUgaW1hZ2UgcHJvY2Vzc2luZ1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHNjaGVkdWxlZDogdHJ1ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBGaW5hbGl6aW5nIGVkaXRpbmdcbiAgICBsb2coJ1tvbkVkaXRpbmdEb25lXScpO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBwZW5kaW5nSW1hZ2VzOiBbXSwgc3Rhc2hlZFZhbHVlOiBudWxsLCBmb2N1c2VkTm9kZTogbnVsbCB9KTtcbiAgICBsb2coJ1tvbkVkaXRpbmdEb25lXSB2YWx1ZTogJywgdGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZSh0aGlzLnN0YXRlLnZhbHVlLCB0cnVlKTtcbiAgfTtcblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgSFRNTCBwcmV2aWV3IGNvbnRlbnQgdG8gYmUgZGlzcGxheWVkIGluc2lkZSB0aGUgZGlhbG9nLlxuICAgKiBUaGlzIGNvbnRlbnQgaW5jbHVkZXMgdGhlIGVkaXRlZCBIVE1MIGFuZCBhIHByb21wdCBmb3IgdGhlIHVzZXIuXG4gICAqL1xuICByZW5kZXJIdG1sUHJldmlld0NvbnRlbnQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXYgcmVmPXsocmVmKSA9PiAodGhpcy5lbGVtZW50UmVmID0gcmVmKX0+XG4gICAgICAgIDxkaXY+UHJldmlldyBvZiBFZGl0ZWQgSHRtbDo8L2Rpdj5cbiAgICAgICAgey8qIFRPRE86IGNoZWNrIGlmIHRoaXMgd29ya3MgYW5kIHdlIGRvbid0IG5lZWQgdG8gc2VuZCBzdHlsZSBvdmVyIHRvIHByZXZpZXcgcHJvbXB0ICovfVxuICAgICAgICA8U3R5bGVkUHJldmlld1RleHQ+XG4gICAgICAgICAgPFByZXZpZXdQcm9tcHQgcHJvbXB0PXt0aGlzLnN0YXRlLnZhbHVlLmRvY3VtZW50LnRleHR9IC8+XG4gICAgICAgIDwvU3R5bGVkUHJldmlld1RleHQ+XG4gICAgICAgIDxkaXY+V291bGQgeW91IGxpa2UgdG8gc2F2ZSB0aGVzZSBjaGFuZ2VzID88L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIE9wZW5zIGEgY29uZmlybWF0aW9uIGRpYWxvZyBpbiBIVE1MIG1vZGUsIGRpc3BsYXlpbmcgdGhlIHByZXZpZXcgb2YgdGhlIGN1cnJlbnQgSFRNTCBjb250ZW50XG4gICAqIGFuZCBvZmZlcmluZyBvcHRpb25zIHRvIHNhdmUgb3IgY29udGludWUgZWRpdGluZy5cbiAgICovXG4gIG9wZW5IdG1sTW9kZUNvbmZpcm1hdGlvbkRpYWxvZyA9IChjdXJyZW50VmFsdWUsIHByZXZpZXdUZXh0KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBkaWFsb2c6IHtcbiAgICAgICAgb3BlbjogdHJ1ZSxcbiAgICAgICAgdGl0bGU6ICdDb250ZW50IFByZXZpZXcgJiBTYXZlJyxcbiAgICAgICAgdGV4dDogcHJldmlld1RleHQsXG4gICAgICAgIG9uQ29uZmlybVRleHQ6ICdTYXZlIGNoYW5nZXMnLFxuICAgICAgICBvbkNsb3NlVGV4dDogJ0NvbnRpbnVlIGVkaXRpbmcnLFxuICAgICAgICBvbkNvbmZpcm06ICgpID0+IHtcbiAgICAgICAgICB0aGlzLmhhbmRsZUh0bWxNb2RlU2F2ZUNvbmZpcm1hdGlvbihjdXJyZW50VmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNsb3NlOiB0aGlzLmh0bWxNb2RlQ29udGludWVFZGl0aW5nLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgc2F2ZSBjb25maXJtYXRpb24gYWN0aW9uIGluIEhUTUwgbW9kZS4gVGhpcyB1cGRhdGVzIHRoZSB2YWx1ZSB0byB0aGUgY29uZmlybWVkXG4gICAqIGNvbnRlbnQsIHVwZGF0ZXMgdmFsdWUgb24gcHJvcHMsIGFuZCBleGl0cyB0aGUgSFRNTCBtb2RlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3VycmVudFZhbHVlIC0gVGhlIGNvbmZpcm1lZCB2YWx1ZSBvZiB0aGUgSFRNTCBjb250ZW50IHRvIHNhdmUuXG4gICAqL1xuICBoYW5kbGVIdG1sTW9kZVNhdmVDb25maXJtYXRpb24gPSAoY3VycmVudFZhbHVlKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBjdXJyZW50VmFsdWUgfSk7XG4gICAgdGhpcy5wcm9wcy5vbkNoYW5nZShjdXJyZW50VmFsdWUsIHRydWUpO1xuICAgIHRoaXMuaGFuZGxlRGlhbG9nKGZhbHNlKTtcbiAgICB0aGlzLnRvZ2dsZUh0bWxNb2RlKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgZGlhbG9nIGluIEhUTUwgbW9kZSBhbmQgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRpbnVlIGVkaXRpbmcgdGhlIGh0bWwgY29udGVudC5cbiAgICogVGhpcyBmdW5jdGlvbiBpcyBpbnZva2VkIHdoZW4gdGhlIHVzZXIgb3B0cyB0byBub3Qgc2F2ZSB0aGUgY3VycmVudCBjaGFuZ2VzLlxuICAgKi9cbiAgaHRtbE1vZGVDb250aW51ZUVkaXRpbmcgPSAoKSA9PiB7XG4gICAgdGhpcy5oYW5kbGVEaWFsb2coZmFsc2UpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgb25SZXNpemUgZXZlbnQgbGlzdGVuZXJcbiAgICovXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB0aGlzLm9uUmVzaXplKTtcbiAgfVxuXG4gIC8vIEFsbG93aW5nIHRpbWUgZm9yIG9uQ2hhbmdlIHRvIHRha2UgZWZmZWN0IGlmIGl0IGlzIGNhbGxlZFxuICBoYW5kbGVCbHVyID0gKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCB7IG5vbkVtcHR5IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IHtcbiAgICAgIHRvb2xiYXJPcHRzOiB7IGRvbmVPbiB9LFxuICAgIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHRvb2xiYXJJbkZvY3VzOiBmYWxzZSwgZm9jdXNlZE5vZGU6IG51bGwgfSk7XG5cbiAgICBpZiAodGhpcy5lZGl0b3IpIHtcbiAgICAgIHRoaXMuZWRpdG9yLmJsdXIoKTtcbiAgICB9XG5cbiAgICBpZiAoZG9uZU9uID09PSAnYmx1cicpIHtcbiAgICAgIGlmIChub25FbXB0eSAmJiB0aGlzLnN0YXRlLnZhbHVlLnN0YXJ0VGV4dD8udGV4dD8ubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzZXRWYWx1ZSh0cnVlKS50aGVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm9uRWRpdGluZ0RvbmUoKTtcbiAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5vbkVkaXRpbmdEb25lKCk7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgb25CbHVyID0gKGV2ZW50KSA9PiB7XG4gICAgbG9nKCdbb25CbHVyXScpO1xuICAgIGNvbnN0IHJlbGF0ZWRUYXJnZXQgPSBldmVudC5yZWxhdGVkVGFyZ2V0O1xuICAgIGNvbnN0IHRvb2xiYXJFbGVtZW50ID0gdGhpcy50b29sYmFyUmVmICYmIHJlbGF0ZWRUYXJnZXQ/LmNsb3Nlc3QoYFtjbGFzcyo9XCIke3RoaXMudG9vbGJhclJlZi5jbGFzc05hbWV9XCJdYCk7XG5cbiAgICAvLyBDaGVjayBpZiByZWxhdGVkVGFyZ2V0IGlzIGEgZG9uZSBidXR0b25cbiAgICBjb25zdCBpc1Jhd0RvbmVCdXR0b24gPVxuICAgICAgdGhpcy5kb25lQnV0dG9uUmVmICYmIHJlbGF0ZWRUYXJnZXQ/LmNsb3Nlc3QoYFtjbGFzcyo9XCIke3RoaXMuZG9uZUJ1dHRvblJlZi5jdXJyZW50Py5jbGFzc05hbWV9XCJdYCk7XG5cbiAgICAvLyBTa2lwIG9uQmx1ciBoYW5kbGluZyBpZiByZWxhdGVkVGFyZ2V0IGlzIGEgYnV0dG9uIGZyb20gdGhlIEtleVBhZCBjaGFyYWN0ZXJzXG4gICAgdGhpcy5za2lwQmx1ckhhbmRsaW5nID0gdGhpcy5rZXlwYWRJbnRlcmFjdGlvbkRldGVjdGVkICYmIHJlbGF0ZWRUYXJnZXQgIT09IG51bGw7XG5cbiAgICBpZiAodG9vbGJhckVsZW1lbnQgJiYgIWlzUmF3RG9uZUJ1dHRvbiAmJiAhdGhpcy5zdGF0ZS5mb2N1c1Rvb2xiYXIpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBmb2N1c1Rvb2xiYXI6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gcmVsYXRlZFRhcmdldCA/IGZpbmROb2RlKHJlbGF0ZWRUYXJnZXQsIHRoaXMuc3RhdGUudmFsdWUpIDogbnVsbDtcblxuICAgIGxvZygnW29uQmx1cl0gbm9kZTogJywgbm9kZSk7XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGlmICghdGhpcy5za2lwQmx1ckhhbmRsaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0S2V5cGFkSW50ZXJhY3Rpb24oZmFsc2UpO1xuICAgICAgICB0aGlzLnNldFN0YXRlKFxuICAgICAgICAgIHsgcHJlQmx1clZhbHVlOiB0aGlzLnN0YXRlLnZhbHVlLCBmb2N1c2VkTm9kZTogIW5vZGUgPyBudWxsIDogbm9kZSB9LFxuICAgICAgICAgIHRoaXMuaGFuZGxlQmx1ci5iaW5kKHRoaXMsIHJlc29sdmUpLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnByb3BzLm9uQmx1cihldmVudCk7XG4gICAgfSk7XG4gIH07XG5cbiAgaGFuZGxlRG9tQmx1ciA9IChlKSA9PiB7XG4gICAgY29uc3QgZWRpdG9yRE9NID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEta2V5PVwiJHt0aGlzLnN0YXRlLnZhbHVlLmRvY3VtZW50LmtleX1cIl1gKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgeyB2YWx1ZTogc3RhdGVWYWx1ZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgICAgaWYgKCF0aGlzLndyYXBwZXJSZWYpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBlZGl0b3JFbGVtZW50ID0gIWVkaXRvckRPTSB8fCBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmNsb3Nlc3QoYFtjbGFzcyo9XCIke2VkaXRvckRPTS5jbGFzc05hbWV9XCJdYCk7XG4gICAgICBjb25zdCB0b29sYmFyRWxlbWVudCA9XG4gICAgICAgICF0aGlzLnRvb2xiYXJSZWYgfHwgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5jbG9zZXN0KGBbY2xhc3MqPVwiJHt0aGlzLnRvb2xiYXJSZWYuY2xhc3NOYW1lfVwiXWApO1xuICAgICAgY29uc3QgaXNJbkN1cnJlbnRDb21wb25lbnQgPSB0aGlzLndyYXBwZXJSZWYuY29udGFpbnMoZWRpdG9yRWxlbWVudCkgfHwgdGhpcy53cmFwcGVyUmVmLmNvbnRhaW5zKHRvb2xiYXJFbGVtZW50KTtcblxuICAgICAgaWYgKCFpc0luQ3VycmVudENvbXBvbmVudCkge1xuICAgICAgICBlZGl0b3JET00ucmVtb3ZlRXZlbnRMaXN0ZW5lcignYmx1cicsIHRoaXMuaGFuZGxlRG9tQmx1cik7XG5cbiAgICAgICAgaWYgKHN0YXRlVmFsdWUuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgdGhpcy5vbkJsdXIoZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCA1MCk7XG4gIH07XG5cbiAgLypcbiAgICogTmVlZHMgdG8gYmUgd3JhcHBlZCBvdGhlcndpc2UgaXQgY2F1c2VzIGlzc3VlcyBiZWNhdXNlIG9mIHJhY2UgY29uZGl0aW9uc1xuICAgKiBLbm93biBpc3N1ZSBmb3Igc2xhdGVqcy4gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vaWFuc3Rvcm10YXlsb3Ivc2xhdGUvaXNzdWVzLzIwOTdcbiAgICogVXNpbmcgdGltZW91dCBJIHdhc24ndCBhYmxlIHRvIHRlc3QgdGhpc1xuICAgKlxuICAgKiBOb3RlOiBUaGUgdXNlIG9mIHByb21pc2VzIGhhcyBiZWVuIGNhdXNpbmcgaXNzdWVzIHdpdGggTWF0aFF1aWxsXG4gICAqICovXG4gIG9uRm9jdXMgPSAoZXZlbnQsIGNoYW5nZSkgPT5cbiAgICBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgZWRpdG9yRE9NID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEta2V5PVwiJHt0aGlzLnN0YXRlLnZhbHVlLmRvY3VtZW50LmtleX1cIl1gKTtcbiAgICAgIGNvbnN0IGlzVG91Y2hEZXZpY2UgPVxuICAgICAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAoJ29udG91Y2hzdGFydCcgaW4gd2luZG93IHx8IG5hdmlnYXRvcj8ubWF4VG91Y2hQb2ludHMgPiAwKTtcblxuICAgICAgbG9nKCdbb25Gb2N1c10nLCBkb2N1bWVudC5hY3RpdmVFbGVtZW50KTtcblxuICAgICAgaWYgKHRoaXMua2V5cGFkSW50ZXJhY3Rpb25EZXRlY3RlZCAmJiB0aGlzLl9fVEVNUE9SQVJZX0NIQU5HRV9EQVRBKSB7XG4gICAgICAgIHRoaXMuX19URU1QT1JBUllfQ0hBTkdFX0RBVEEgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFRoaXMgaXMgYSB0ZW1wb3JhcnkgaGFjayAtIEBzZWUgY2hhbmdlRGF0YSBiZWxvdyBmb3Igc29tZSBtb3JlIGluZm9ybWF0aW9uLlxuICAgICAgICovXG4gICAgICBpZiAodGhpcy5fX1RFTVBPUkFSWV9DSEFOR0VfREFUQSkge1xuICAgICAgICBjb25zdCB7IGtleSwgZGF0YSB9ID0gdGhpcy5fX1RFTVBPUkFSWV9DSEFOR0VfREFUQTtcbiAgICAgICAgY29uc3QgZG9tRWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke2tleX1cIl1gKTtcblxuICAgICAgICBpZiAoZG9tRWwpIHtcbiAgICAgICAgICBsZXQgY2hhbmdlID0gdGhpcy5zdGF0ZS52YWx1ZS5jaGFuZ2UoKS5zZXROb2RlQnlLZXkoa2V5LCB7IGRhdGEgfSk7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBjaGFuZ2UudmFsdWUgfSwgKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fX1RFTVBPUkFSWV9DSEFOR0VfREFUQSA9IG51bGw7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUaGlzIGlzIG5lZWRlZCBqdXN0IGluIGNhc2UgdGhlIGJyb3dzZXIgZGVjaWRlcyB0byBtYWtlIHRoZSBlZGl0b3JcbiAgICAgICAqIGxvc2UgZm9jdXMgd2l0aG91dCB0cmlnZ2VyaW5nIHRoZSBvbkJsdXIgZXZlbnQgKGNhbiBoYXBwZW4gaW4gYSBmZXcgY2FzZXMpLlxuICAgICAgICogVGhpcyB3aWxsIGFsc28gdHJpZ2dlciBvbkJsdXIgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUgb2YgdGhlIHBhZ2Ugd2hlbiB0aGUgZWRpdG9yXG4gICAgICAgKiBpcyBmb2N1c2VkLlxuICAgICAgICovXG4gICAgICBpZiAoZWRpdG9yRE9NID09PSBkb2N1bWVudC5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgIGVkaXRvckRPTS5yZW1vdmVFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5oYW5kbGVEb21CbHVyKTtcbiAgICAgICAgZWRpdG9yRE9NLmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCB0aGlzLmhhbmRsZURvbUJsdXIpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnN0YXNoVmFsdWUoKTtcbiAgICAgIHRoaXMucHJvcHMub25Gb2N1cygpO1xuXG4gICAgICAvLyBBZGRlZCBmb3IgYWNjZXNzaWJpbGl0eTogRW5zdXJlcyB0aGUgZWRpdG9yIGdhaW5zIGZvY3VzIHdoZW4gdGFiYmVkIHRvIGZvciBpbXByb3ZlZCBrZXlib2FyZCBuYXZpZ2F0aW9uXG4gICAgICBjb25zdCBzaG91bGRGb2N1c0VkaXRvciA9ICF0aGlzLmtleXBhZEludGVyYWN0aW9uRGV0ZWN0ZWQgJiYgIWlzVG91Y2hEZXZpY2U7XG5cbiAgICAgIGlmIChzaG91bGRGb2N1c0VkaXRvcikge1xuICAgICAgICBjaGFuZ2U/LmZvY3VzKCk7XG4gICAgICB9XG5cbiAgICAgIHJlc29sdmUoKTtcbiAgICB9KTtcblxuICBzdGFzaFZhbHVlID0gKCkgPT4ge1xuICAgIGxvZygnW3N0YXNoVmFsdWVdJyk7XG5cbiAgICBpZiAoIXRoaXMuc3RhdGUuc3Rhc2hlZFZhbHVlKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3Rhc2hlZFZhbHVlOiB0aGlzLnN0YXRlLnZhbHVlIH0pO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogUmVzZXQgdGhlIHZhbHVlIGlmIHRoZSB1c2VyIGRpZG4ndCBjbGljayBkb25lLlxuICAgKi9cbiAgcmVzZXRWYWx1ZSA9IChmb3JjZSkgPT4ge1xuICAgIGNvbnN0IHsgdmFsdWUsIGZvY3VzZWROb2RlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgY29uc3Qgc3RvcFJlc2V0ID0gdGhpcy5wbHVnaW5zLnJlZHVjZSgocywgcCkgPT4ge1xuICAgICAgcmV0dXJuIHMgfHwgKHAuc3RvcFJlc2V0ICYmIHAuc3RvcFJlc2V0KHRoaXMuc3RhdGUudmFsdWUpKTtcbiAgICB9LCBmYWxzZSk7XG5cbiAgICBsb2coJ1tyZXNldFZhbHVlXScsIHZhbHVlLmlzRm9jdXNlZCwgZm9jdXNlZE5vZGUsICdzdG9wUmVzZXQ6ICcsIHN0b3BSZXNldCk7XG4gICAgaWYgKCh0aGlzLnN0YXRlLnN0YXNoZWRWYWx1ZSAmJiAhdmFsdWUuaXNGb2N1c2VkICYmICFmb2N1c2VkTm9kZSAmJiAhc3RvcFJlc2V0KSB8fCBmb3JjZSkge1xuICAgICAgbG9nKCdbcmVzZXRWYWx1ZV0gcmVzZXR0aW5nLi4uJyk7XG4gICAgICBsb2coJ3N0YXNoZWQnLCB0aGlzLnN0YXRlLnN0YXNoZWRWYWx1ZS5kb2N1bWVudC50b09iamVjdCgpKTtcbiAgICAgIGxvZygnY3VycmVudCcsIHRoaXMuc3RhdGUudmFsdWUuZG9jdW1lbnQudG9PYmplY3QoKSk7XG5cbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gVmFsdWUuZnJvbUpTT04odGhpcy5zdGF0ZS5zdGFzaGVkVmFsdWUudG9KU09OKCkpO1xuXG4gICAgICBsb2coJ25ld1ZhbHVlOiAnLCBuZXdWYWx1ZS5kb2N1bWVudCk7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlOiBuZXdWYWx1ZSwgc3Rhc2hlZFZhbHVlOiBudWxsIH0sICgpID0+IHtcbiAgICAgICAgICAgIGxvZygndmFsdWUgbm93OiAnLCB0aGlzLnN0YXRlLnZhbHVlLmRvY3VtZW50LnRvSlNPTigpKTtcbiAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSwgNTApO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH1cbiAgfTtcblxuICBvbkNoYW5nZSA9IChjaGFuZ2UsIGRvbmUpID0+IHtcbiAgICBsb2coJ1tvbkNoYW5nZV0nKTtcbiAgICB3aW5kb3cubWUgPSB0aGlzO1xuXG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gY2hhbmdlO1xuICAgIGNvbnN0IHsgY2hhcmFjdGVyc0xpbWl0IH0gPSB0aGlzLnByb3BzO1xuICAgIGxldCBsaW1pdCA9IGNoYXJhY3RlcnNMaW1pdDtcbiAgICBpZiAoIWxpbWl0IHx8IGxpbWl0ID4gTUFYX0NIQVJBQ1RFUlNfTElNSVQpIHtcbiAgICAgIGxpbWl0ID0gTUFYX0NIQVJBQ1RFUlNfTElNSVQ7XG4gICAgfVxuXG4gICAgaWYgKHZhbHVlICYmIHZhbHVlLmRvY3VtZW50ICYmIHZhbHVlLmRvY3VtZW50LnRleHQgJiYgdmFsdWUuZG9jdW1lbnQudGV4dC5sZW5ndGggPiBsaW1pdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIE1hcmsgdGhlIGVkaXRvciBhcyBlZGl0ZWQgd2hlbiBpbiBIVE1MIG1vZGUgYW5kIGl0cyBjb250ZW50IGhhcyBjaGFuZ2VkLlxuICAgIC8vIFRoaXMgc3RhdHVzIHdpbGwgbGF0ZXIgYmUgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0byBwcm9tcHQgYSB3YXJuaW5nIHRvIHRoZSB1c2VyIHdoZW4gZXhpdGluZyBIVE1MIG1vZGUuXG4gICAgY29uc3QgaXNFZGl0ZWRJbkh0bWxNb2RlID0gIXRoaXMuc3RhdGUuaXNIdG1sTW9kZVxuICAgICAgPyBmYWxzZVxuICAgICAgOiB0aGlzLnN0YXRlLnZhbHVlLmRvY3VtZW50LnRleHQgIT09IHZhbHVlLmRvY3VtZW50LnRleHRcbiAgICAgICAgPyB0cnVlXG4gICAgICAgIDogdGhpcy5zdGF0ZS5pc0VkaXRlZEluSHRtbE1vZGU7XG5cbiAgICBpZiAoaXNFZGl0ZWRJbkh0bWxNb2RlICE9IHRoaXMuc3RhdGUuaXNFZGl0ZWRJbkh0bWxNb2RlKSB7XG4gICAgICB0aGlzLmhhbmRsZVBsdWdpbnModGhpcy5wcm9wcyk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHZhbHVlLCBpc0VkaXRlZEluSHRtbE1vZGUgfSwgKCkgPT4ge1xuICAgICAgbG9nKCdbb25DaGFuZ2VdLCBjYWxsIGRvbmUoKScpO1xuXG4gICAgICBpZiAoZG9uZSkge1xuICAgICAgICBkb25lKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZ2V0Rm9jdXNlZFZhbHVlID0gKCkgPT4ge1xuICAgIGlmICh0aGlzLnN0YXRlLnZhbHVlLmlzRm9jdXNlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUudmFsdWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RhdGUucHJlQmx1clZhbHVlO1xuICB9O1xuXG4gIC8vIFVzZSB0aGUgZXhwb3J0ZWQgdXRpbGl0eSBmdW5jdGlvbnNcbiAgYnVpbGRTaXplU3R5bGUoKSB7XG4gICAgcmV0dXJuIGJ1aWxkU2l6ZVN0eWxlKHRoaXMucHJvcHMpO1xuICB9XG5cbiAgdmFsaWRhdGVOb2RlID0gKG5vZGUpID0+IHtcbiAgICBpZiAobm9kZS5vYmplY3QgIT09ICdibG9jaycpIHJldHVybjtcblxuICAgIGNvbnN0IGxhc3QgPSBub2RlLm5vZGVzLmxhc3QoKTtcbiAgICBpZiAoIWxhc3QpIHJldHVybjtcblxuICAgIGlmIChsYXN0LnR5cGUgIT09ICdpbWFnZScpIHJldHVybjtcblxuICAgIGxvZygnW3ZhbGlkYXRlTm9kZV0gbGFzdCBpcyBpbWFnZS4uJyk7XG5cbiAgICBjb25zdCBwYXJlbnQgPSBsYXN0LmdldFBhcmVudChsYXN0LmtleSk7XG4gICAgY29uc3QgcCA9IEJsb2NrLmdldFBhcmVudChsYXN0LmtleSk7XG4gICAgbG9nKCdbdmFsaWRhdGVOb2RlXSBwYXJlbnQ6JywgcGFyZW50LCBwKTtcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH07XG5cbiAgY2hhbmdlRGF0YSA9IChrZXksIGRhdGEpID0+IHtcbiAgICBsb2coJ1tjaGFuZ2VEYXRhXS4gLi4gJywga2V5LCBkYXRhKTtcblxuICAgIC8qKlxuICAgICAqIEhBQ0sgQUxFUlQ6IFdlIHNob3VsZCBiZSBjYWxsaW5nIHNldFN0YXRlIGhlcmUgYW5kIHN0b3JpbmcgdGhlIGNoYW5nZSBkYXRhOlxuICAgICAqXG4gICAgICogPGNvZGU+dGhpcy5zZXRTdGF0ZSh7Y2hhbmdlRGF0YTogeyBrZXksIGRhdGF9fSk8L2NvZGU+XG4gICAgICogSG93ZXZlciB0aGlzIGlzIGNhdXNpbmcgaXNzdWVzIHdpdGggdGhlIE1hdGhxdWlsbCBpbnN0YW5jZS4gVGhlICdpbnB1dCcgZXZlbnQgc3RvcHMgZmlyaW5nIG9uIHRoZSBlbGVtZW50IGFuZCBub1xuICAgICAqIG1vcmUgY2hhbmdlcyBnZXQgdGhyb3VnaC4gVGhlIGlzc3VlcyBzZWVtIHRvIGJlIHJlbGF0ZWQgdG8gdGhlIHByb21pc2VzIGluIG9uQmx1ci9vbkZvY3VzLiBCdXQgcmVtb3ZpbmcgdGhlc2VcbiAgICAgKiBicmluZ3MgaXQncyBvd24gcHJvYmxlbXMuIEEgbWFqb3IgY2xlYW4gdXAgaXMgcGxhbm5lZCBmb3IgdGhpcyBjb21wb25lbnQgc28gSSd2ZSBkZWNpZGVkIHRvIHRlbXBvcmFyaWx5IHNldHRsZVxuICAgICAqIG9uIHRoaXMgaGFjayByYXRoZXIgdGhhbiBzcGVuZCBtb3JlIHRpbWUgb24gdGhpcy5cbiAgICAgKi9cblxuICAgIC8vIFVuY29tbWVudCB0aGlzIGxpbmUgdG8gc2VlIHRoZSBidWcgZGVzY3JpYmVkIGFib3ZlLlxuICAgIC8vICAgIHRoaXMuc2V0U3RhdGUoe2NoYW5nZURhdGE6IHtrZXksIGRhdGF9fSlcblxuICAgIHRoaXMuX19URU1QT1JBUllfQ0hBTkdFX0RBVEEgPSB7IGtleSwgZGF0YSB9O1xuICB9O1xuXG4gIGZvY3VzID0gKHBvcywgbm9kZSkgPT4ge1xuICAgIGNvbnN0IHBvc2l0aW9uID0gcG9zIHx8ICdlbmQnO1xuXG4gICAgdGhpcy5wcm9wcy5mb2N1cyhwb3NpdGlvbiwgbm9kZSk7XG4gIH07XG5cbiAgb25Ecm9wUGFzdGUgPSBhc3luYyAoZXZlbnQsIGNoYW5nZSwgZHJvcENvbnRleHQpID0+IHtcbiAgICBjb25zdCBlZGl0b3IgPSBjaGFuZ2UuZWRpdG9yO1xuICAgIGNvbnN0IHRyYW5zZmVyID0gZ2V0RXZlbnRUcmFuc2ZlcihldmVudCk7XG4gICAgY29uc3QgZmlsZSA9IHRyYW5zZmVyLmZpbGVzICYmIHRyYW5zZmVyLmZpbGVzWzBdO1xuXG4gICAgY29uc3QgdHlwZSA9IHRyYW5zZmVyLnR5cGU7XG4gICAgY29uc3QgZnJhZ21lbnQgPSB0cmFuc2Zlci5mcmFnbWVudDtcbiAgICBjb25zdCB0ZXh0ID0gdHJhbnNmZXIudGV4dDtcblxuICAgIGlmIChmaWxlICYmIChmaWxlLnR5cGUgPT09ICdpbWFnZS9qcGVnJyB8fCBmaWxlLnR5cGUgPT09ICdpbWFnZS9qcGcnIHx8IGZpbGUudHlwZSA9PT0gJ2ltYWdlL3BuZycpKSB7XG4gICAgICBpZiAoIXRoaXMucHJvcHMuaW1hZ2VTdXBwb3J0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIGxvZygnW29uRHJvcFBhc3RlXScpO1xuICAgICAgICBjb25zdCBzcmMgPSBhd2FpdCBnZXRCYXNlNjQoZmlsZSk7XG4gICAgICAgIGNvbnN0IGlubGluZSA9IElubGluZS5jcmVhdGUoe1xuICAgICAgICAgIHR5cGU6ICdpbWFnZScsXG4gICAgICAgICAgaXNWb2lkOiB0cnVlLFxuICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgc3JjLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChkcm9wQ29udGV4dCkge1xuICAgICAgICAgIHRoaXMuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IGdldEV2ZW50UmFuZ2UoZXZlbnQsIGVkaXRvcik7XG4gICAgICAgICAgaWYgKHJhbmdlKSB7XG4gICAgICAgICAgICBjaGFuZ2Uuc2VsZWN0KHJhbmdlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjaCA9IGNoYW5nZS5pbnNlcnRJbmxpbmUoaW5saW5lKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZShjaCk7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgSW5zZXJ0SW1hZ2VIYW5kbGVyKFxuICAgICAgICAgIGlubGluZSxcbiAgICAgICAgICAoKSA9PiB7IH0sXG4gICAgICAgICAgKCkgPT4gdGhpcy5zdGF0ZS52YWx1ZSxcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICk7XG4gICAgICAgIGhhbmRsZXIuZmlsZUNob3NlbihmaWxlKTtcbiAgICAgICAgdGhpcy5wcm9wcy5pbWFnZVN1cHBvcnQuYWRkKGhhbmRsZXIpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGxvZygnW29uRHJvcFBhc3RlXSBlcnJvcjogJywgZXJyKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdmcmFnbWVudCcpIHtcbiAgICAgIGNoYW5nZS5pbnNlcnRGcmFnbWVudChmcmFnbWVudCk7XG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAndGV4dCcgfHwgdHlwZSA9PT0gJ2h0bWwnKSB7XG4gICAgICBpZiAoIXRleHQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3Qge1xuICAgICAgICB2YWx1ZTogeyBkb2N1bWVudCwgc2VsZWN0aW9uLCBzdGFydEJsb2NrIH0sXG4gICAgICB9ID0gY2hhbmdlO1xuXG4gICAgICBpZiAoc3RhcnRCbG9jay5pc1ZvaWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkZWZhdWx0QmxvY2sgPSBzdGFydEJsb2NrO1xuICAgICAgY29uc3QgZGVmYXVsdE1hcmtzID0gZG9jdW1lbnQuZ2V0SW5zZXJ0TWFya3NBdFJhbmdlKHNlbGVjdGlvbik7XG4gICAgICBjb25zdCBmcmFnID0gUGxhaW4uZGVzZXJpYWxpemUodGV4dCwge1xuICAgICAgICBkZWZhdWx0QmxvY2ssXG4gICAgICAgIGRlZmF1bHRNYXJrcyxcbiAgICAgIH0pLmRvY3VtZW50O1xuICAgICAgY2hhbmdlLmluc2VydEZyYWdtZW50KGZyYWcpO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXJQbGFjZWhvbGRlciA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHsgZWRpdG9yIH0gPSBwcm9wcztcbiAgICBjb25zdCB7IGRvY3VtZW50IH0gPSBlZGl0b3IudmFsdWU7XG5cbiAgICBpZiAoIWVkaXRvci5wcm9wcy5wbGFjZWhvbGRlciB8fCBkb2N1bWVudC50ZXh0ICE9PSAnJyB8fCBkb2N1bWVudC5ub2Rlcy5zaXplICE9PSAxIHx8ICFkb2N1bWVudC5pc0VtcHR5KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxzcGFuXG4gICAgICAgIGNvbnRlbnRFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2lubGluZS1ibG9jaycsXG4gICAgICAgICAgd2lkdGg6ICdmaXQtY29udGVudCcsIC8vIGZvciBjZW50ZXJpbmcgdGhlIHBsYWNlaG9sZGVyIGlmIHRleHQtYWxpZ24gaXMgc2V0IHRvIGNlbnRlclxuICAgICAgICAgIG1heFdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG4gICAgICAgICAgb3BhY2l0eTogJzAuMzMnLFxuICAgICAgICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgICAgICAgICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtlZGl0b3IucHJvcHMucGxhY2Vob2xkZXJ9XG4gICAgICA8L3NwYW4+XG4gICAgKTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGlzYWJsZWQsXG4gICAgICBzcGVsbENoZWNrLFxuICAgICAgaGlnaGxpZ2h0U2hhcGUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHBsdWdpblByb3BzLFxuICAgICAgb25LZXlEb3duLFxuICAgICAgc2xhdGVFZGl0b3JFeHRyYVN0eWxlcyxcbiAgICB9ID0gdGhpcy5wcm9wcztcbiAgICAvLyBXZSBkb24ndCB3YW50IHRvIHNlbmQgY3VzdG9tUGx1Z2lucyB0byBzbGF0ZS5cbiAgICAvLyBOb3Qgc3VyZSBpZiB0aGV5IHdvdWxkIGRvIGFueSBoYXJtLCBidXQgSSB0aGluayBpdCdzIGJldHRlciB0byBub3Qgc2VuZCB0aGVtLlxuICAgIC8vIFdlIHVzZSBjdXN0b20gcGx1Z2lucyB0byBiZSBhYmxlIHRvIGFkZCBjdXN0b20gYnV0dG9uc1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IHsgY3VzdG9tUGx1Z2lucywgc2hvd1BhcmFncmFwaHMsIHNlcGFyYXRlUGFyYWdyYXBocywgLi4ub3RoZXJQbHVnaW5Qcm9wcyB9ID0gcGx1Z2luUHJvcHMgfHwge307XG5cbiAgICBjb25zdCB7IHZhbHVlLCBmb2N1c2VkTm9kZSwgdG9vbGJhck9wdHMsIGRpYWxvZywgc2NoZWR1bGVkIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgbG9nKCdbcmVuZGVyXSB2YWx1ZTogJywgdmFsdWUpO1xuICAgIGNvbnN0IHNpemVTdHlsZSA9IHRoaXMuYnVpbGRTaXplU3R5bGUoKTtcbiAgICBjb25zdCB3cmFwcGVyQ2xhc3NOYW1lcyA9IGNsYXNzTmFtZXMoXG4gICAgICB7XG4gICAgICAgIHdpdGhCZzogaGlnaGxpZ2h0U2hhcGUsXG4gICAgICAgIHRvb2xiYXJPblRvcDogdG9vbGJhck9wdHMuYWx3YXlzVmlzaWJsZSAmJiB0b29sYmFyT3B0cy5wb3NpdGlvbiA9PT0gJ3RvcCcsXG4gICAgICAgIHNjaGVkdWxlZDogc2NoZWR1bGVkLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZSxcbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRFZGl0b3JXcmFwcGVyXG4gICAgICAgIHJlZj17KHJlZikgPT4gKHRoaXMud3JhcHBlclJlZiA9IHJlZil9XG4gICAgICAgIHN0eWxlPXt7IHdpZHRoOiBzaXplU3R5bGUud2lkdGgsIG1pbldpZHRoOiBzaXplU3R5bGUubWluV2lkdGgsIG1heFdpZHRoOiBzaXplU3R5bGUubWF4V2lkdGggfX1cbiAgICAgICAgY2xhc3NOYW1lPXt3cmFwcGVyQ2xhc3NOYW1lc31cbiAgICAgICAgaWQ9e2BlZGl0b3ItJHt2YWx1ZT8uZG9jdW1lbnQ/LmtleX1gfVxuICAgICAgPlxuICAgICAgICB7c2NoZWR1bGVkICYmIDxTdHlsZWRVcGxvYWRpbmdNZXNzYWdlPlVwbG9hZGluZyBpbWFnZSBhbmQgdGhlbiBzYXZpbmcuLi48L1N0eWxlZFVwbG9hZGluZ01lc3NhZ2U+fVxuICAgICAgICA8U3R5bGVkU2xhdGVFZGl0b3JcbiAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5vUGFkZGluZzogdG9vbGJhck9wdHM/Lm5vUGFkZGluZyxcbiAgICAgICAgICAgICAgc2hvd1BhcmFncmFwaDogc2hvd1BhcmFncmFwaHMgJiYgIXNob3dQYXJhZ3JhcGhzLmRpc2FibGVkLFxuICAgICAgICAgICAgICBzZXBhcmF0ZVBhcmFncmFwaDogc2VwYXJhdGVQYXJhZ3JhcGhzICYmICFzZXBhcmF0ZVBhcmFncmFwaHMuZGlzYWJsZWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICl9XG4gICAgICAgID5cbiAgICAgICAgICA8U2xhdGVFZGl0b3JcbiAgICAgICAgICAgIHBsdWdpbnM9e3RoaXMucGx1Z2luc31cbiAgICAgICAgICAgIGlubmVyUmVmPXsocikgPT4ge1xuICAgICAgICAgICAgICBpZiAocikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2xhdGVFZGl0b3IgPSByO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgcmVmPXsocikgPT4gKHRoaXMuZWRpdG9yID0gciAmJiB0aGlzLnByb3BzLmVkaXRvclJlZihyKSl9XG4gICAgICAgICAgICB0b29sYmFyUmVmPXsocikgPT4ge1xuICAgICAgICAgICAgICBpZiAocikge1xuICAgICAgICAgICAgICAgIHRoaXMudG9vbGJhclJlZiA9IHI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkb25lQnV0dG9uUmVmPXt0aGlzLmRvbmVCdXR0b25SZWZ9XG4gICAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgICBmb2N1c1Rvb2xiYXI9e3RoaXMuc3RhdGUuZm9jdXNUb29sYmFyfVxuICAgICAgICAgICAgb25Ub29sYmFyRm9jdXM9e3RoaXMuaGFuZGxlVG9vbGJhckZvY3VzfVxuICAgICAgICAgICAgb25Ub29sYmFyQmx1cj17dGhpcy5oYW5kbGVUb29sYmFyQmx1cn1cbiAgICAgICAgICAgIGZvY3VzPXt0aGlzLmZvY3VzfVxuICAgICAgICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5vbkNoYW5nZX1cbiAgICAgICAgICAgIGdldEZvY3VzZWRWYWx1ZT17dGhpcy5nZXRGb2N1c2VkVmFsdWV9XG4gICAgICAgICAgICBvbkJsdXI9e3RoaXMub25CbHVyfVxuICAgICAgICAgICAgb25Ecm9wPXsoZXZlbnQsIGVkaXRvcikgPT4gdGhpcy5vbkRyb3BQYXN0ZShldmVudCwgZWRpdG9yLCB0cnVlKX1cbiAgICAgICAgICAgIG9uUGFzdGU9eyhldmVudCwgZWRpdG9yKSA9PiB0aGlzLm9uRHJvcFBhc3RlKGV2ZW50LCBlZGl0b3IpfVxuICAgICAgICAgICAgb25Gb2N1cz17dGhpcy5vbkZvY3VzfVxuICAgICAgICAgICAgb25FZGl0aW5nRG9uZT17dGhpcy5vbkVkaXRpbmdEb25lfVxuICAgICAgICAgICAgZm9jdXNlZE5vZGU9e2ZvY3VzZWROb2RlfVxuICAgICAgICAgICAgbm9ybWFsaXplPXt0aGlzLm5vcm1hbGl6ZX1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHNwZWxsQ2hlY2s9e3NwZWxsQ2hlY2t9XG4gICAgICAgICAgICBhdXRvQ29ycmVjdD17c3BlbGxDaGVja31cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIG1pbkhlaWdodDogc2l6ZVN0eWxlLm1pbkhlaWdodCxcbiAgICAgICAgICAgICAgaGVpZ2h0OiBzaXplU3R5bGUuaGVpZ2h0LFxuICAgICAgICAgICAgICBtYXhIZWlnaHQ6IHNpemVTdHlsZS5tYXhIZWlnaHQsXG4gICAgICAgICAgICAgIC4uLnNsYXRlRWRpdG9yRXh0cmFTdHlsZXNcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBwbHVnaW5Qcm9wcz17b3RoZXJQbHVnaW5Qcm9wc31cbiAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt0b29sYmFyT3B0c31cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHJlbmRlclBsYWNlaG9sZGVyPXt0aGlzLnJlbmRlclBsYWNlaG9sZGVyfVxuICAgICAgICAgICAgb25EYXRhQ2hhbmdlPXt0aGlzLmNoYW5nZURhdGF9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRTbGF0ZUVkaXRvcj5cbiAgICAgICAgPEFsZXJ0RGlhbG9nXG4gICAgICAgICAgb3Blbj17ZGlhbG9nLm9wZW59XG4gICAgICAgICAgdGl0bGU9e2RpYWxvZy50aXRsZX1cbiAgICAgICAgICB0ZXh0PXtkaWFsb2cudGV4dH1cbiAgICAgICAgICBvbkNsb3NlPXtkaWFsb2cub25DbG9zZX1cbiAgICAgICAgICBvbkNvbmZpcm09e2RpYWxvZy5vbkNvbmZpcm19XG4gICAgICAgICAgb25Db25maXJtVGV4dD17ZGlhbG9nLm9uQ29uZmlybVRleHR9XG4gICAgICAgICAgb25DbG9zZVRleHQ9e2RpYWxvZy5vbkNsb3NlVGV4dH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkRWRpdG9yV3JhcHBlcj5cbiAgICApO1xuICB9XG59XG5cbi8vIFRPRE8gY29sb3IgLSBoYXJkY29kZWQgZ3JheSBiYWNrZ3JvdW5kIGFuZCBrZXlwYWQgY29sb3JzIHdpbGwgbmVlZCB0byBjaGFuZ2UgdG9vXG5jb25zdCBTdHlsZWRFZGl0b3JXcmFwcGVyID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICAnJi53aXRoQmcnOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLDAsMCwwLjA2KScsXG4gIH0sXG4gICcmLnNjaGVkdWxlZCc6IHtcbiAgICBvcGFjaXR5OiAwLjUsXG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICB9LFxuICAnJi50b29sYmFyT25Ub3AnOiB7XG4gICAgbWFyZ2luVG9wOiAnNDVweCcsXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZFVwbG9hZGluZ01lc3NhZ2UgPSBzdHlsZWQoJ2RpdicpKHtcbiAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIHRvcDogJzUwJScsXG4gIGxlZnQ6ICc1MCUnLFxuICB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknLFxufSk7XG5cbmNvbnN0IFN0eWxlZFNsYXRlRWRpdG9yID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICAnJiB0YWJsZSc6IHtcbiAgICB0YWJsZUxheW91dDogJ2ZpeGVkJyxcbiAgICB3aWR0aDogJzEwMCUnLFxuICAgIGJvcmRlckNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAgIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIH0sXG4gICcmIHRhYmxlOm5vdChbYm9yZGVyPVwiMVwiXSkgdHInOiB7XG4gICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkICNkZmUyZTUnLFxuICAgIC8vIFRPRE8gcGVyaGFwcyBzZWNvbmRhcnkgY29sb3IgZm9yIGJhY2tncm91bmQsIGZvciBub3cgZGlzYWJsZVxuICAgIC8vICcmOm50aC1jaGlsZCgybiknOiB7XG4gICAgLy8gICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjZmOGZhJ1xuICAgIC8vIH1cbiAgfSxcbiAgJyYgdGQsIHRoJzoge1xuICAgIHBhZGRpbmc6ICcuNmVtIDFlbScsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgfSxcbiAgJyYgdGFibGU6bm90KFtib3JkZXI9XCIxXCJdKSB0ZCwgdGgnOiB7XG4gICAgYm9yZGVyOiAnMXB4IHNvbGlkICNkZmUyZTUnLFxuICB9LFxuICAnJi5zaG93UGFyYWdyYXBoJzoge1xuICAgIC8vIGEgZGl2IHRoYXQgaGFzIGEgZGl2IGFmdGVyIGl0XG4gICAgJyYgPiBkaXY6aGFzKCsgZGl2KTo6YWZ0ZXInOiB7XG4gICAgICBkaXNwbGF5OiAnYmxvY2snLFxuICAgICAgY29udGVudDogJ1wiwrZcIicsXG4gICAgICBmb250U2l6ZTogJzFlbScsXG4gICAgICBjb2xvcjogJyMxNDZFQjMnLFxuICAgIH0sXG4gIH0sXG4gICcmLnNlcGFyYXRlUGFyYWdyYXBoJzoge1xuICAgIC8vIGEgZGl2IHRoYXQgaGFzIGEgZGl2IGFmdGVyIGl0XG4gICAgJyYgPiBkaXY6aGFzKCsgZGl2KSc6IHtcbiAgICAgIG1hcmdpbkJvdHRvbTogJzFlbScsXG4gICAgfSxcbiAgfSxcbiAgJyYubm9QYWRkaW5nJzoge1xuICAgIHBhZGRpbmc6ICcwICFpbXBvcnRhbnQnLFxuICB9LFxufSkpO1xuXG5jb25zdCBTdHlsZWRQcmV2aWV3VGV4dCA9IHN0eWxlZCgnZGl2Jykoe1xuICBtYXJnaW5Cb3R0b206ICczNnB4JyxcbiAgbWFyZ2luVG9wOiAnNnB4JyxcbiAgcGFkZGluZzogJzIwcHgnLFxuICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsMCwwLDAuMDYpJyxcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCBFZGl0b3I7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGVBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLE1BQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLHFCQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxVQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxRQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxXQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyxNQUFBLEdBQUFWLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBVSxPQUFBLEdBQUFWLE9BQUE7QUFFQSxJQUFBVyxTQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxZ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
|
package/lib/index.js
CHANGED
|
@@ -205,4 +205,4 @@ var EditableHtml = exports["default"] = /*#__PURE__*/function (_React$Component)
|
|
|
205
205
|
onDone: function onDone() {},
|
|
206
206
|
allowValidation: false
|
|
207
207
|
});
|
|
208
|
-
//# sourceMappingURL=index.js.map
|
|
208
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZWRpdG9yIiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfc2VyaWFsaXphdGlvbiIsIl9wYXJzZUh0bWwiLCJfY29uc3RhbnRzIiwiX3NsYXRlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImVudW1lcmFibGUiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiRWRpdGFibGVIdG1sIiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsIm1hcmt1cCIsInYiLCJodG1sVG9WYWx1ZSIsInJlZHVjZU11bHRpcGxlQnJzIiwic2V0U3RhdGUiLCJ2YWx1ZSIsImRvbmUiLCJodG1sIiwidmFsdWVUb0h0bWwiLCJodG1sUGFyc2VkIiwicGFyc2VEZWdyZWVzIiwib25DaGFuZ2UiLCJvbkRvbmUiLCJwb3NpdGlvbiIsIm5vZGUiLCJzZWxlY3QiLCJ1bmRlZmluZWQiLCJlZGl0b3JSZWYiLCJjaGFuZ2UiLCJjIiwibGFzdFRleHQiLCJkb2N1bWVudCIsImdldE5leHRUZXh0Iiwia2V5IiwiZ2V0TGFzdFRleHQiLCJlZGl0b3JET00iLCJxdWVyeVNlbGVjdG9yIiwiY29uY2F0IiwiYWN0aXZlRWxlbWVudCIsImJsdXIiLCJmb2N1cyIsIl9sYXN0VGV4dCR0ZXh0IiwiX2xhc3RUZXh0JHRleHQyIiwibW92ZUZvY3VzVG8iLCJ0ZXh0IiwibW92ZUFuY2hvclRvIiwiX2xhc3RUZXh0JHRleHQzIiwicmFuZ2UiLCJSYW5nZSIsImZyb21KU09OIiwiYW5jaG9yS2V5IiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNLZXkiLCJmb2N1c09mZnNldCIsImlzRm9jdXNlZCIsImlzQmFja3dhcmQiLCJvbkVkaXRpbmdEb25lIiwiZXh0cmFDU1NSdWxlcyIsImFzc2lnbiIsImV4dHJhQ1NTUnVsZXNPcHRzIiwic3RhdGUiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJhbGxvd1ZhbGlkYXRpb24iLCJjdXJyZW50IiwiZXF1YWxzIiwicmVuZGVyIiwiX3RoaXMyIiwiX3RoaXMkcHJvcHMiLCJ0b29sYmFyT3B0cyIsImVycm9yIiwicnVuU2VyaWFsaXphdGlvbk9uTWFya3VwIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsIm9uUmVmIiwicmVmIiwicm9vdFJlZiIsIlJlYWN0IiwiQ29tcG9uZW50IiwiUHJvcFR5cGVzIiwiYW55IiwiZnVuYyIsImlzUmVxdWlyZWQiLCJzdHJpbmciLCJib29sIiwib2JqZWN0Iiwic2hhcGUiLCJuYW1lcyIsImFycmF5T2YiLCJydWxlcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgRWRpdG9yLCB7IERFRkFVTFRfUExVR0lOUywgQUxMX1BMVUdJTlMgfSBmcm9tICcuL2VkaXRvcic7XG5pbXBvcnQgeyBleHRyYUNTU1J1bGVzT3B0cywgaHRtbFRvVmFsdWUsIHZhbHVlVG9IdG1sLCByZWR1Y2VNdWx0aXBsZUJycyB9IGZyb20gJy4vc2VyaWFsaXphdGlvbic7XG5pbXBvcnQgeyBwYXJzZURlZ3JlZXMgfSBmcm9tICcuL3BhcnNlLWh0bWwnO1xuaW1wb3J0IGNvbnN0YW50cyBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBSYW5nZSB9IGZyb20gJ3NsYXRlJztcblxuLyoqXG4gKiBXcmFwcGVyIGFyb3VuZCB0aGUgZWRpdG9yIHRoYXQgZXhwb3NlcyBhIGBtYXJrdXBgIGFuZCBgb25DaGFuZ2UobWFya3VwOnN0cmluZylgIGFwaS5cbiAqIEJlY2F1c2Ugb2YgdGhlIG1pc21hdGNoIGJldHdlZW4gdGhlIG1hcmt1cCBhbmQgdGhlIGBWYWx1ZWAgd2UgbmVlZCB0byBjb252ZXJ0IHRoZSBpbmNvbWluZyBtYXJrdXAgdG8gYSB2YWx1ZSBhbmRcbiAqIGNvbXBhcmUgaXQuIFRPRE86IFRoaXMgaXMgYW4gaW50ZXJpbSBmaXgsIHdlJ2xsIG5lZWQgdG8gc3RyaXAgYmFjayBgRWRpdG9yYCBhbmQgbG9vayBob3cgYmVzdCB0byBtYWludGFpbiB0aGVcbiAqIGBtYXJrdXBgIGFwaSB3aGlsc3QgYXZvaWRpbmcgdGhlIHNlcmlhbGl6YXRpb24gbWlzbWF0Y2guIFdlIHNob3VsZCBiZSBtYWtpbmcgYmV0dGVyIHVzZSBvZiBzY2hlbWFzIHcvIG5vcm1hbGl6ZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWRpdGFibGVIdG1sIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBlcnJvcjogUHJvcFR5cGVzLmFueSxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkRvbmU6IFByb3BUeXBlcy5mdW5jLFxuICAgIG1hcmt1cDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIGFsbG93VmFsaWRhdGlvbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgdG9vbGJhck9wdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgZXh0cmFDU1NSdWxlczogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIG5hbWVzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICAgIHJ1bGVzOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIH0pLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgb25Eb25lOiAoKSA9PiB7fSxcbiAgICBhbGxvd1ZhbGlkYXRpb246IGZhbHNlLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmV4dHJhQ1NTUnVsZXMpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oZXh0cmFDU1NSdWxlc09wdHMsIHRoaXMucHJvcHMuZXh0cmFDU1NSdWxlcyk7XG4gICAgfVxuXG4gICAgY29uc3QgdiA9IGh0bWxUb1ZhbHVlKHByb3BzLm1hcmt1cCk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHZhbHVlOiB2LFxuICAgIH07XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tZGVwcmVjYXRlZFxuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKHByb3BzKSB7XG4gICAgaWYgKCFwcm9wcy5hbGxvd1ZhbGlkYXRpb24gJiYgcHJvcHMubWFya3VwID09PSB0aGlzLnByb3BzLm1hcmt1cCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHYgPSBodG1sVG9WYWx1ZShwcm9wcy5tYXJrdXApO1xuICAgIGNvbnN0IGN1cnJlbnQgPSBodG1sVG9WYWx1ZSh0aGlzLnByb3BzLm1hcmt1cCk7XG5cbiAgICBpZiAodi5lcXVhbHMgJiYgIXYuZXF1YWxzKGN1cnJlbnQpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdmFsdWU6IHYgfSk7XG4gICAgfVxuICB9XG5cbiAgcnVuU2VyaWFsaXphdGlvbk9uTWFya3VwID0gKCkgPT4ge1xuICAgIGlmICghdGhpcy5wcm9wcy5tYXJrdXApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB2ID0gaHRtbFRvVmFsdWUocmVkdWNlTXVsdGlwbGVCcnModGhpcy5wcm9wcy5tYXJrdXApKTtcblxuICAgIHRoaXMuc2V0U3RhdGUoeyB2YWx1ZTogdiB9KTtcbiAgfTtcblxuICBvbkNoYW5nZSA9ICh2YWx1ZSwgZG9uZSkgPT4ge1xuICAgIGNvbnN0IGh0bWwgPSB2YWx1ZVRvSHRtbCh2YWx1ZSk7XG4gICAgY29uc3QgaHRtbFBhcnNlZCA9IHBhcnNlRGVncmVlcyhodG1sKTtcblxuICAgIGlmIChodG1sUGFyc2VkICE9PSB0aGlzLnByb3BzLm1hcmt1cCAmJiB0aGlzLnByb3BzLm9uQ2hhbmdlKSB7XG4gICAgICB0aGlzLnByb3BzLm9uQ2hhbmdlKGh0bWxQYXJzZWQpO1xuICAgIH1cblxuICAgIGlmIChkb25lICYmIHRoaXMucHJvcHMub25Eb25lKSB7XG4gICAgICB0aGlzLnByb3BzLm9uRG9uZShodG1sUGFyc2VkKTtcbiAgICB9XG4gIH07XG5cbiAgZm9jdXMgPSAocG9zaXRpb24sIG5vZGUsIHNlbGVjdCA9IGZhbHNlKSA9PiB7XG4gICAgaWYgKHRoaXMuZWRpdG9yUmVmKSB7XG4gICAgICB0aGlzLmVkaXRvclJlZi5jaGFuZ2UoKGMpID0+IHtcbiAgICAgICAgY29uc3QgbGFzdFRleHQgPSBub2RlID8gYy52YWx1ZS5kb2N1bWVudC5nZXROZXh0VGV4dChub2RlLmtleSkgOiBjLnZhbHVlLmRvY3VtZW50LmdldExhc3RUZXh0KCk7XG4gICAgICAgIGNvbnN0IGVkaXRvckRPTSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWtleT1cIiR7dGhpcy5lZGl0b3JSZWYudmFsdWUuZG9jdW1lbnQua2V5fVwiXWApO1xuXG4gICAgICAgIGlmIChlZGl0b3JET00gIT09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgICBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmJsdXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGMuZm9jdXMoKTtcblxuICAgICAgICBpZiAocG9zaXRpb24gPT09ICdlbmQnICYmIGxhc3RUZXh0KSB7XG4gICAgICAgICAgYy5tb3ZlRm9jdXNUbyhsYXN0VGV4dC5rZXksIGxhc3RUZXh0LnRleHQ/Lmxlbmd0aCkubW92ZUFuY2hvclRvKGxhc3RUZXh0LmtleSwgbGFzdFRleHQudGV4dD8ubGVuZ3RoKTtcbiAgICAgICAgICBpZiAoc2VsZWN0KSB7XG4gICAgICAgICAgICBjb25zdCByYW5nZSA9IFJhbmdlLmZyb21KU09OKHtcbiAgICAgICAgICAgICAgYW5jaG9yS2V5OiBsYXN0VGV4dC5rZXksXG4gICAgICAgICAgICAgIGFuY2hvck9mZnNldDogMCxcbiAgICAgICAgICAgICAgZm9jdXNLZXk6IGxhc3RUZXh0LmtleSxcbiAgICAgICAgICAgICAgZm9jdXNPZmZzZXQ6IGxhc3RUZXh0LnRleHQ/Lmxlbmd0aCxcbiAgICAgICAgICAgICAgaXNGb2N1c2VkOiB0cnVlLFxuICAgICAgICAgICAgICBpc0JhY2t3YXJkOiBmYWxzZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgYy5zZWxlY3QocmFuZ2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwb3NpdGlvbiA9PT0gJ2JlZ2lubmluZycgJiYgbGFzdFRleHQpIHtcbiAgICAgICAgICBjLm1vdmVGb2N1c1RvKGxhc3RUZXh0LmtleSwgMCkubW92ZUFuY2hvclRvKGxhc3RUZXh0LmtleSwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgZWRpdG9yRE9NLmZvY3VzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgZmluaXNoRWRpdGluZyA9ICgpID0+IHtcbiAgICBpZiAodGhpcy5lZGl0b3JSZWYpIHtcbiAgICAgIHRoaXMuZWRpdG9yUmVmLnByb3BzLm9uRWRpdGluZ0RvbmUoKTtcbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyB0b29sYmFyT3B0cywgZXJyb3IgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAodG9vbGJhck9wdHMpIHtcbiAgICAgIHRvb2xiYXJPcHRzLmVycm9yID0gZXJyb3I7XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAuLi50aGlzLnByb3BzLFxuICAgICAgbWFya3VwOiBudWxsLFxuICAgICAgdmFsdWUsXG4gICAgICBvbkNoYW5nZTogdGhpcy5vbkNoYW5nZSxcbiAgICAgIGZvY3VzOiB0aGlzLmZvY3VzLFxuICAgICAgcnVuU2VyaWFsaXphdGlvbk9uTWFya3VwOiB0aGlzLnJ1blNlcmlhbGl6YXRpb25Pbk1hcmt1cCxcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxFZGl0b3JcbiAgICAgICAgb25SZWY9eyhyZWYpID0+IHtcbiAgICAgICAgICBpZiAocmVmKSB7XG4gICAgICAgICAgICB0aGlzLnJvb3RSZWYgPSByZWY7XG4gICAgICAgICAgfVxuICAgICAgICB9fVxuICAgICAgICBlZGl0b3JSZWY9eyhyZWYpID0+IHJlZiAmJiAodGhpcy5lZGl0b3JSZWYgPSByZWYpfVxuICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAvPlxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBFeHBvcnQgbG93ZXIgbGV2ZWwgRWRpdG9yIGFuZCBzZXJpYWxpemF0aW9uIGZ1bmN0aW9ucy5cbiAqL1xuZXhwb3J0IHsgaHRtbFRvVmFsdWUsIHZhbHVlVG9IdG1sLCBFZGl0b3IsIERFRkFVTFRfUExVR0lOUywgQUxMX1BMVUdJTlMsIGNvbnN0YW50cyB9O1xuIl0sIm1h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
|
package/lib/parse-html.js
CHANGED
|
@@ -13,4 +13,4 @@ var parseDegrees = exports.parseDegrees = function parseDegrees(html) {
|
|
|
13
13
|
// removes \degree use case: 50°
|
|
14
14
|
.replace(/\\degree/g, '°');
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXJzZURlZ3JlZXMiLCJleHBvcnRzIiwiaHRtbCIsInJlcGxhY2UiXSwic291cmNlcyI6WyIuLi9zcmMvcGFyc2UtaHRtbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgcGFyc2VEZWdyZWVzID0gKGh0bWwpID0+XG4gIGh0bWxcbiAgICAvLyByZW1vdmVzIFxcKCAgIHVzZSBjYXNlOiA1MMKwXG4gICAgLnJlcGxhY2UoL1xcXFxbKF0vZywgJycpXG4gICAgLy8gcmVtb3ZlcyBcXCkgICB1c2UgY2FzZTogNTDCsCttPDFcbiAgICAucmVwbGFjZSgvXFxcXFspXS9nLCAnJylcbiAgICAvLyByZW1vdmVzIFxcZGVncmVlICB1c2UgY2FzZTogNTDCsFxuICAgIC5yZXBsYWNlKC9cXFxcZGVncmVlL2csICcmZGVnOycpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBTyxJQUFNQSxZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSxHQUFHLFNBQWZBLFlBQVlBLENBQUlFLElBQUk7RUFBQSxPQUMvQkE7RUFDRTtFQUFBLENBQ0NDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRTtFQUNyQjtFQUFBLENBQ0NBLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRTtFQUNyQjtFQUFBLENBQ0NBLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -54,4 +54,4 @@ CustomPopper.propTypes = {
|
|
|
54
54
|
children: _propTypes["default"].node.isRequired
|
|
55
55
|
};
|
|
56
56
|
var _default = exports["default"] = CustomPopper;
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX1BvcHBlciIsIl9UeXBvZ3JhcGh5IiwiX2V4Y2x1ZGVkIiwiU3R5bGVkUG9wcGVyIiwic3R5bGVkIiwiUG9wcGVyIiwiYmFja2dyb3VuZCIsInBhZGRpbmciLCJwb2ludGVyRXZlbnRzIiwiekluZGV4IiwiaGVpZ2h0Iiwid2lkdGgiLCJTdHlsZWRUeXBvZ3JhcGh5IiwiVHlwb2dyYXBoeSIsImZvbnRTaXplIiwidGV4dEFsaWduIiwiQ3VzdG9tUG9wcGVyIiwiX3JlZiIsImNoaWxkcmVuIiwicHJvcHMiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwiY3JlYXRlRWxlbWVudCIsIl9leHRlbmRzMiIsImlkIiwib3BlbiIsImFuY2hvck9yaWdpbiIsInZlcnRpY2FsIiwiaG9yaXpvbnRhbCIsInRyYW5zZm9ybU9yaWdpbiIsImRpc2FibGVSZXN0b3JlRm9jdXMiLCJkaXNhYmxlQXV0b0ZvY3VzIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwibm9kZSIsImlzUmVxdWlyZWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9jaGFyYWN0ZXJzL2N1c3RvbS1wb3BwZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgUG9wcGVyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvUG9wcGVyJztcbmltcG9ydCBUeXBvZ3JhcGh5IGZyb20gJ0BtdWkvbWF0ZXJpYWwvVHlwb2dyYXBoeSc7XG5cbmNvbnN0IFN0eWxlZFBvcHBlciA9IHN0eWxlZChQb3BwZXIpKCgpID0+ICh7XG4gIGJhY2tncm91bmQ6ICcjZmZmJyxcbiAgcGFkZGluZzogJzEwcHgnLFxuICBwb2ludGVyRXZlbnRzOiAnbm9uZScsXG4gIHpJbmRleDogOTk5OTksXG4gICcmIC5NdWlQYXBlci1yb290Jzoge1xuICAgIHBhZGRpbmc6IDIwLFxuICAgIGhlaWdodDogJ2F1dG8nLFxuICAgIHdpZHRoOiAnYXV0bycsXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZFR5cG9ncmFwaHkgPSBzdHlsZWQoVHlwb2dyYXBoeSkoKCkgPT4gKHtcbiAgZm9udFNpemU6IDUwLFxuICB0ZXh0QWxpZ246ICdjZW50ZXInLFxufSkpO1xuXG5jb25zdCBDdXN0b21Qb3BwZXIgPSAoeyBjaGlsZHJlbiwgLi4ucHJvcHMgfSkgPT4gKFxuICA8U3R5bGVkUG9wcGVyXG4gICAgaWQ9XCJtb3VzZS1vdmVyLXBvcG92ZXJcIlxuICAgIG9wZW5cbiAgICBhbmNob3JPcmlnaW49e3tcbiAgICAgIHZlcnRpY2FsOiAnYm90dG9tJyxcbiAgICAgIGhvcml6b250YWw6ICdsZWZ0JyxcbiAgICB9fVxuICAgIHRyYW5zZm9ybU9yaWdpbj17e1xuICAgICAgdmVydGljYWw6ICd0b3AnLFxuICAgICAgaG9yaXpvbnRhbDogJ2xlZnQnLFxuICAgIH19XG4gICAgZGlzYWJsZVJlc3RvcmVGb2N1c1xuICAgIGRpc2FibGVBdXRvRm9jdXNcbiAgICB7Li4ucHJvcHN9XG4gID5cbiAgICA8U3R5bGVkVHlwb2dyYXBoeT57Y2hpbGRyZW59PC9TdHlsZWRUeXBvZ3JhcGh5PlxuICA8L1N0eWxlZFBvcHBlcj5cbik7XG5cbkN1c3RvbVBvcHBlci5wcm9wVHlwZXMgPSB7XG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZS5pc1JlcXVpcmVkLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQ3VzdG9tUG9wcGVyO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxXQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFBa0QsSUFBQUssU0FBQTtBQUVsRCxJQUFNQyxZQUFZLEdBQUcsSUFBQUMsY0FBTSxFQUFDQyxrQkFBTSxDQUFDLENBQUM7RUFBQSxPQUFPO0lBQ3pDQyxVQUFVLEVBQUUsTUFBTTtJQUNsQkMsT0FBTyxFQUFFLE1BQU07SUFDZkMsYUFBYSxFQUFFLE1BQU07SUFDckJDLE1BQU0sRUFBRSxLQUFLO0lBQ2Isa0JBQWtCLEVBQUU7TUFDbEJGLE9BQU8sRUFBRSxFQUFFO01BQ1hHLE1BQU0sRUFBRSxNQUFNO01BQ2RDLEtBQUssRUFBRTtJQUNUO0VBQ0YsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVILElBQU1DLGdCQUFnQixHQUFHLElBQUFSLGNBQU0sRUFBQ1Msc0JBQVUsQ0FBQyxDQUFDO0VBQUEsT0FBTztJQUNqREMsUUFBUSxFQUFFLEVBQUU7SUFDWkMsU0FBUyxFQUFFO0VBQ2IsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVILElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBQyxJQUFBO0VBQUEsSUFBTUMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFBS0MsS0FBSyxPQUFBQyx5QkFBQSxhQUFBSCxJQUFBLEVBQUFmLFNBQUE7RUFBQSxvQkFDeENQLE1BQUEsWUFBQTBCLGFBQUEsQ0FBQ2xCLFlBQVksTUFBQW1CLFNBQUE7SUFDWEMsRUFBRSxFQUFDLG9CQUFvQjtJQUN2QkMsSUFBSTtJQUNKQyxZQUFZLEVBQUU7TUFDWkMsUUFBUSxFQUFFLFFBQVE7TUFDbEJDLFVBQVUsRUFBRTtJQUNkLENBQUU7SUFDRkMsZUFBZSxFQUFFO01BQ2ZGLFFBQVEsRUFBRSxLQUFLO01BQ2ZDLFVBQVUsRUFBRTtJQUNkLENBQUU7SUFDRkUsbUJBQW1CO0lBQ25CQyxnQkFBZ0I7RUFBQSxHQUNaWCxLQUFLLGdCQUVUeEIsTUFBQSxZQUFBMEIsYUFBQSxDQUFDVCxnQkFBZ0IsUUFBRU0sUUFBMkIsQ0FDbEMsQ0FBQztBQUFBLENBQ2hCO0FBRURGLFlBQVksQ0FBQ2UsU0FBUyxHQUFHO0VBQ3ZCYixRQUFRLEVBQUVjLHFCQUFTLENBQUNDLElBQUksQ0FBQ0M7QUFDM0IsQ0FBQztBQUFDLElBQUFDLFFBQUEsR0FBQUMsT0FBQSxjQUVhcEIsWUFBWSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -262,4 +262,4 @@ function CharactersPlugin(opts) {
|
|
|
262
262
|
}
|
|
263
263
|
};
|
|
264
264
|
}
|
|
265
|
-
//# sourceMappingURL=index.js.map
|
|
265
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfZGVidWciLCJfZ2V0IiwiX21hdGhUb29sYmFyIiwiX2N1c3RvbVBvcHBlciIsIl91dGlscyIsIl91dGlsczIiLCJfcHJvcFR5cGVzIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJsb2ciLCJkZWJ1ZyIsInJlbW92ZVBvcE92ZXJzIiwicHJldlBvcE92ZXJzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwicyIsInJlbW92ZSIsInJlbW92ZURpYWxvZ3MiLCJleHBvcnRzIiwicHJldkRpYWxvZ3MiLCJpbnNlcnREaWFsb2ciLCJfcmVmIiwiZWRpdG9yRE9NIiwidmFsdWUiLCJjYWxsYmFjayIsIm9wdHMiLCJuZXdFbCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjb25maWdUb1VzZSIsImxhbmd1YWdlIiwic3BhbmlzaENvbmZpZyIsInNwZWNpYWxDb25maWciLCJjaGFyYWN0ZXJzIiwiaW5zZXJ0U25hY2tCYXIiLCJsYXlvdXRGb3JDaGFyYWN0ZXJzIiwicmVkdWNlIiwib2JqIiwiYXJyIiwiY29sdW1ucyIsInJvd3MiLCJwb3BvdmVyRWwiLCJwb3BvdmVyUm9vdCIsImNsb3NlUG9wT3ZlciIsInVubW91bnQiLCJyZW5kZXJQb3BPdmVyIiwiZXZlbnQiLCJlbCIsImluZm9TdHlsZSIsImZvbnRTaXplIiwibGluZUhlaWdodCIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJvbkNsb3NlIiwiYW5jaG9yRWwiLCJjdXJyZW50VGFyZ2V0IiwibGFiZWwiLCJzdHlsZSIsImRlc2NyaXB0aW9uIiwidW5pY29kZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsImZpcnN0Q2FsbE1hZGUiLCJsaXN0ZW5lciIsImZvY3VzSXNJbk1vZGFscyIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZm9jdXNJc0luRWRpdG9yIiwiaGFuZGxlQ2xvc2UiLCJ1bmRlZmluZWQiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlQ2hhbmdlIiwidmFsIiwiUHVyZVRvb2xiYXIiLCJrZXlQYWRDaGFyYWN0ZXJSZWYiLCJzZXRLZXlwYWRJbnRlcmFjdGlvbiIsImF1dG9Gb2N1cyIsIm5vRGVjaW1hbCIsImhpZGVJbnB1dCIsIm5vTGF0ZXhIYW5kbGluZyIsImhpZGVEb25lQnV0dG9uQmFja2dyb3VuZCIsImxheW91dEZvcktleVBhZCIsImFkZGl0aW9uYWxLZXlzIiwibiIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJtYXAiLCJrIiwibmFtZSIsImdldCIsIndyaXRlIiwiY2F0ZWdvcnkiLCJleHRyYUNsYXNzIiwiZXh0cmFQcm9wcyIsImJvcmRlciIsImhhc1ByZXZpZXciLCJhY3Rpb25zIiwib25Nb3VzZUVudGVyIiwiZXYiLCJvbk1vdXNlTGVhdmUiLCJrZXlwYWRNb2RlIiwib25DaGFuZ2UiLCJvbkRvbmUiLCJkaWFsb2dSb290Iiwic2V0VGltZW91dCIsImN1cnNvckl0ZW0iLCJxdWVyeVNlbGVjdG9yIiwiYW5jaG9yS2V5IiwiYm9keVJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZFJlY3QiLCJhZGRpdGlvbmFsVG9wT2Zmc2V0IiwieSIsIm9mZnNldEhlaWdodCIsIm1heFdpZHRoIiwicG9zaXRpb24iLCJ0b3AiLCJNYXRoIiwiYWJzIiwiekluZGV4IiwibGVmdFZhbHVlIiwibGVmdCIsIm9mZnNldFdpZHRoIiwicmlnaHRWYWx1ZSIsIngiLCJsZWZ0QWxpZ25lZFdpZHRoIiwicmlnaHQiLCJyaWdodEFsaWduZWRXaWR0aCIsImFkZEV2ZW50TGlzdGVuZXIiLCJDaGFyYWN0ZXJJY29uIiwiX3JlZjIiLCJsZXR0ZXIiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJDaGFyYWN0ZXJzUGx1Z2luIiwidG9vbGJhciIsImljb24iLCJjaGFyYWN0ZXJJY29uIiwiY2hhcmFjdGVySWNvbnMiLCJhcmlhTGFiZWwiLCJvbkNsaWNrIiwiZ2V0Rm9jdXNlZFZhbHVlIiwia2V5IiwidmFsdWVUb1VzZSIsImNoYXIiLCJmb2N1cyIsImNoYW5nZSIsImluc2VydFRleHRCeUtleSIsImFuY2hvck9mZnNldCIsInBsdWdpblN0eWxlcyIsIm5vZGUiLCJwYXJlbnROb2RlIiwicCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2NoYXJhY3RlcnMvaW5kZXguanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjcmVhdGVSb290IH0gZnJvbSAncmVhY3QtZG9tL2NsaWVudCc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IGdldCBmcm9tICdsb2Rhc2gvZ2V0JztcblxuaW1wb3J0IHsgUHVyZVRvb2xiYXIgfSBmcm9tICdAcGllLWxpYi9tYXRoLXRvb2xiYXInO1xuXG5pbXBvcnQgQ3VzdG9tUG9wcGVyIGZyb20gJy4vY3VzdG9tLXBvcHBlcic7XG5pbXBvcnQgeyBpbnNlcnRTbmFja0JhciB9IGZyb20gJy4uL3Jlc3BBcmVhL3V0aWxzJztcbmltcG9ydCB7IGNoYXJhY3Rlckljb25zLCBzcGFuaXNoQ29uZmlnLCBzcGVjaWFsQ29uZmlnIH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmNoYXJhY3RlcnMnKTtcblxuY29uc3QgcmVtb3ZlUG9wT3ZlcnMgPSAoKSA9PiB7XG4gIGNvbnN0IHByZXZQb3BPdmVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJyNtb3VzZS1vdmVyLXBvcG92ZXInKTtcblxuICBsb2coJ1tjaGFyYWN0ZXJzOnJlbW92ZVBvcE92ZXJzXScpO1xuICBwcmV2UG9wT3ZlcnMuZm9yRWFjaCgocykgPT4gcy5yZW1vdmUoKSk7XG59O1xuXG5leHBvcnQgY29uc3QgcmVtb3ZlRGlhbG9ncyA9ICgpID0+IHtcbiAgY29uc3QgcHJldkRpYWxvZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaW5zZXJ0LWNoYXJhY3Rlci1kaWFsb2cnKTtcblxuICBsb2coJ1tjaGFyYWN0ZXJzOnJlbW92ZURpYWxvZ3NdJyk7XG4gIHByZXZEaWFsb2dzLmZvckVhY2goKHMpID0+IHMucmVtb3ZlKCkpO1xuICByZW1vdmVQb3BPdmVycygpO1xufTtcblxuY29uc3QgaW5zZXJ0RGlhbG9nID0gKHsgZWRpdG9yRE9NLCB2YWx1ZSwgY2FsbGJhY2ssIG9wdHMgfSkgPT4ge1xuICBjb25zdCBuZXdFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuXG4gIGxvZygnW2NoYXJhY3RlcnM6aW5zZXJ0RGlhbG9nXScpO1xuXG4gIHJlbW92ZURpYWxvZ3MoKTtcblxuICBuZXdFbC5jbGFzc05hbWUgPSAnaW5zZXJ0LWNoYXJhY3Rlci1kaWFsb2cnO1xuXG4gIGxldCBjb25maWdUb1VzZTtcblxuICBzd2l0Y2ggKHRydWUpIHtcbiAgICBjYXNlIG9wdHMubGFuZ3VhZ2UgPT09ICdzcGFuaXNoJzpcbiAgICAgIGNvbmZpZ1RvVXNlID0gc3BhbmlzaENvbmZpZztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2Ugb3B0cy5sYW5ndWFnZSA9PT0gJ3NwZWNpYWwnOlxuICAgICAgY29uZmlnVG9Vc2UgPSBzcGVjaWFsQ29uZmlnO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIGNvbmZpZ1RvVXNlID0gb3B0cztcbiAgfVxuXG4gIGlmICghY29uZmlnVG9Vc2UuY2hhcmFjdGVycykge1xuICAgIGluc2VydFNuYWNrQmFyKCdObyBjaGFyYWN0ZXJzIHByb3ZpZGVkIG9yIGxhbmd1YWdlIG5vdCByZWNvZ25pemVkJyk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgbGF5b3V0Rm9yQ2hhcmFjdGVycyA9IGNvbmZpZ1RvVXNlLmNoYXJhY3RlcnMucmVkdWNlKFxuICAgIChvYmosIGFycikgPT4ge1xuICAgICAgaWYgKGFyci5sZW5ndGggPj0gb2JqLmNvbHVtbnMpIHtcbiAgICAgICAgb2JqLmNvbHVtbnMgPSBhcnIubGVuZ3RoO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gb2JqO1xuICAgIH0sXG4gICAgeyByb3dzOiBjb25maWdUb1VzZS5jaGFyYWN0ZXJzLmxlbmd0aCwgY29sdW1uczogMCB9LFxuICApO1xuXG4gIGxldCBwb3BvdmVyRWw7XG4gIGxldCBwb3BvdmVyUm9vdDtcblxuICBjb25zdCBjbG9zZVBvcE92ZXIgPSAoKSA9PiB7XG4gICAgaWYgKHBvcG92ZXJSb290KSB7XG4gICAgICBwb3BvdmVyUm9vdC51bm1vdW50KCk7XG4gICAgICBwb3BvdmVyUm9vdCA9IG51bGw7XG4gICAgfVxuICAgIGlmIChwb3BvdmVyRWwpIHtcbiAgICAgIHBvcG92ZXJFbC5yZW1vdmUoKTtcbiAgICAgIHBvcG92ZXJFbCA9IG51bGw7XG4gICAgfVxuXG4gICAgcmVtb3ZlUG9wT3ZlcnMoKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJQb3BPdmVyID0gKGV2ZW50LCBlbCkgPT4ge1xuICAgIGlmICghZXZlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbmZvU3R5bGUgPSB7IGZvbnRTaXplOiAnMjBweCcsIGxpbmVIZWlnaHQ6ICcyMHB4JyB9O1xuXG4gICAgY2xvc2VQb3BPdmVyKCk7XG5cbiAgICBwb3BvdmVyRWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICBwb3BvdmVyUm9vdCA9IGNyZWF0ZVJvb3QocG9wb3ZlckVsKTtcbiAgICBwb3BvdmVyUm9vdC5yZW5kZXIoXG4gICAgICA8Q3VzdG9tUG9wcGVyIG9uQ2xvc2U9e2Nsb3NlUG9wT3Zlcn0gYW5jaG9yRWw9e2V2ZW50LmN1cnJlbnRUYXJnZXR9PlxuICAgICAgICA8ZGl2PntlbC5sYWJlbH08L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPXtpbmZvU3R5bGV9PntlbC5kZXNjcmlwdGlvbn08L2Rpdj5cblxuICAgICAgICA8ZGl2IHN0eWxlPXtpbmZvU3R5bGV9PntlbC51bmljb2RlfTwvZGl2PlxuICAgICAgPC9DdXN0b21Qb3BwZXI+LFxuICAgICk7XG5cbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG5ld0VsKTtcbiAgfTtcblxuICBsZXQgZmlyc3RDYWxsTWFkZSA9IGZhbHNlO1xuXG4gIGNvbnN0IGxpc3RlbmVyID0gKGUpID0+IHtcbiAgICAvLyB0aGlzIHdpbGwgYmUgdHJpZ2dlcmVkIHJpZ2h0IGFmdGVyIHNldHRpbmcgaXQgYmVjYXVzZVxuICAgIC8vIHRoaXMgdG9vbGJhciBpcyBhZGRlZCBvbiB0aGUgbW91c2Vkb3duIGV2ZW50XG4gICAgLy8gc28gcmlnaHQgYWZ0ZXIgbW91c2V1cCwgdGhlIGNsaWNrIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAgaWYgKGZpcnN0Q2FsbE1hZGUpIHtcbiAgICAgIGNvbnN0IGZvY3VzSXNJbk1vZGFscyA9IG5ld0VsLmNvbnRhaW5zKGUudGFyZ2V0KSB8fCAocG9wb3ZlckVsICYmIHBvcG92ZXJFbC5jb250YWlucyhlLnRhcmdldCkpO1xuICAgICAgY29uc3QgZm9jdXNJc0luRWRpdG9yID0gZWRpdG9yRE9NLmNvbnRhaW5zKGUudGFyZ2V0KTtcblxuICAgICAgaWYgKCEoZm9jdXNJc0luTW9kYWxzIHx8IGZvY3VzSXNJbkVkaXRvcikpIHtcbiAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZmlyc3RDYWxsTWFkZSA9IHRydWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIGNhbGxiYWNrKHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgbmV3RWwucmVtb3ZlKCk7XG4gICAgY2xvc2VQb3BPdmVyKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGxpc3RlbmVyKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAodmFsKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjYWxsYmFjayh2YWwsIHRydWUpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBlbCA9IChcbiAgICA8UHVyZVRvb2xiYXJcbiAgICAgIGtleVBhZENoYXJhY3RlclJlZj17b3B0cy5rZXlQYWRDaGFyYWN0ZXJSZWZ9XG4gICAgICBzZXRLZXlwYWRJbnRlcmFjdGlvbj17b3B0cy5zZXRLZXlwYWRJbnRlcmFjdGlvbn1cbiAgICAgIGF1dG9Gb2N1c1xuICAgICAgbm9EZWNpbWFsXG4gICAgICBoaWRlSW5wdXRcbiAgICAgIG5vTGF0ZXhIYW5kbGluZ1xuICAgICAgaGlkZURvbmVCdXR0b25CYWNrZ3JvdW5kXG4gICAgICBsYXlvdXRGb3JLZXlQYWQ9e2xheW91dEZvckNoYXJhY3RlcnN9XG4gICAgICBhZGRpdGlvbmFsS2V5cz17Y29uZmlnVG9Vc2UuY2hhcmFjdGVycy5yZWR1Y2UoKGFyciwgbikgPT4ge1xuICAgICAgICBhcnIgPSBbXG4gICAgICAgICAgLi4uYXJyLFxuICAgICAgICAgIC4uLm4ubWFwKChrKSA9PiAoe1xuICAgICAgICAgICAgbmFtZTogZ2V0KGssICduYW1lJykgfHwgayxcbiAgICAgICAgICAgIHdyaXRlOiBnZXQoaywgJ3dyaXRlJykgfHwgayxcbiAgICAgICAgICAgIGxhYmVsOiBnZXQoaywgJ2xhYmVsJykgfHwgayxcbiAgICAgICAgICAgIGNhdGVnb3J5OiAnY2hhcmFjdGVyJyxcbiAgICAgICAgICAgIGV4dHJhQ2xhc3M6ICdjaGFyYWN0ZXInLFxuICAgICAgICAgICAgZXh0cmFQcm9wczoge1xuICAgICAgICAgICAgICAuLi4oay5leHRyYVByb3BzIHx8IHt9KSxcbiAgICAgICAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICAgICAgICAuLi4oay5leHRyYVByb3BzIHx8IHt9KS5zdHlsZSxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgIzAwMCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgLi4uKGNvbmZpZ1RvVXNlLmhhc1ByZXZpZXdcbiAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb25zOiB7IG9uTW91c2VFbnRlcjogKGV2KSA9PiByZW5kZXJQb3BPdmVyKGV2LCBrKSwgb25Nb3VzZUxlYXZlOiBjbG9zZVBvcE92ZXIgfSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgXTtcblxuICAgICAgICByZXR1cm4gYXJyO1xuICAgICAgfSwgW10pfVxuICAgICAga2V5cGFkTW9kZT1cImxhbmd1YWdlXCJcbiAgICAgIG9uQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICBvbkRvbmU9e2hhbmRsZUNsb3NlfVxuICAgIC8+XG4gICk7XG5cbiAgY29uc3QgZGlhbG9nUm9vdCA9IGNyZWF0ZVJvb3QobmV3RWwpO1xuICBkaWFsb2dSb290LnJlbmRlcihlbCk7XG5cbiAgLy8gVXNlIHNldFRpbWVvdXQgdG8gZW5zdXJlIHRoZSBlbGVtZW50IGlzIHJlbmRlcmVkIGJlZm9yZSBwb3NpdGlvbmluZ1xuICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICBjb25zdCBjdXJzb3JJdGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEta2V5PVwiJHt2YWx1ZS5hbmNob3JLZXl9XCJdYCk7XG5cbiAgICBpZiAoY3Vyc29ySXRlbSkge1xuICAgICAgY29uc3QgYm9keVJlY3QgPSBkb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgYm91bmRSZWN0ID0gY3Vyc29ySXRlbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChuZXdFbCk7XG5cbiAgICAgIC8vIHdoZW4gaGVpZ2h0IG9mIHRvb2xiYXIgZXhjZWVkcyBzY3JlZW4gLSBjYW4gaGFwcGVuIGluIHNjcm9sbGFibGUgY29udGV4dHNcbiAgICAgIGxldCBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gMDtcbiAgICAgIGlmIChib3VuZFJlY3QueSA8IG5ld0VsLm9mZnNldEhlaWdodCkge1xuICAgICAgICBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gbmV3RWwub2Zmc2V0SGVpZ2h0IC0gYm91bmRSZWN0LnkgKyAxMDtcbiAgICAgIH1cblxuICAgICAgbmV3RWwuc3R5bGUubWF4V2lkdGggPSAnNTAwcHgnO1xuICAgICAgbmV3RWwuc3R5bGUucG9zaXRpb24gPSAnYWJzb2x1dGUnO1xuICAgICAgbmV3RWwuc3R5bGUudG9wID0gYCR7Ym91bmRSZWN0LnRvcCArIE1hdGguYWJzKGJvZHlSZWN0LnRvcCkgLSBuZXdFbC5vZmZzZXRIZWlnaHQgLSAxMCArIGFkZGl0aW9uYWxUb3BPZmZzZXR9cHhgO1xuICAgICAgbmV3RWwuc3R5bGUuekluZGV4ID0gOTk5OTk7XG5cbiAgICAgIGNvbnN0IGxlZnRWYWx1ZSA9IGAke2JvdW5kUmVjdC5sZWZ0ICsgTWF0aC5hYnMoYm9keVJlY3QubGVmdCkgKyBjdXJzb3JJdGVtLm9mZnNldFdpZHRoICsgMTB9cHhgO1xuXG4gICAgICBjb25zdCByaWdodFZhbHVlID0gYCR7Ym91bmRSZWN0Lnh9cHhgO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gbGVmdFZhbHVlO1xuXG4gICAgICBjb25zdCBsZWZ0QWxpZ25lZFdpZHRoID0gbmV3RWwub2Zmc2V0V2lkdGg7XG5cbiAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSAndW5zZXQnO1xuICAgICAgbmV3RWwuc3R5bGUucmlnaHQgPSByaWdodFZhbHVlO1xuXG4gICAgICBjb25zdCByaWdodEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gJ3Vuc2V0JztcblxuICAgICAgaWYgKGxlZnRBbGlnbmVkV2lkdGggPj0gcmlnaHRBbGlnbmVkV2lkdGgpIHtcbiAgICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcbiAgICAgIH1cblxuICAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGxpc3RlbmVyKTtcbiAgICB9XG4gIH0sIDApO1xufTtcblxuY29uc3QgQ2hhcmFjdGVySWNvbiA9ICh7IGxldHRlciB9KSA9PiAoXG4gIDxkaXZcbiAgICBzdHlsZT17e1xuICAgICAgZm9udFNpemU6ICcyNHB4JyxcbiAgICAgIGxpbmVIZWlnaHQ6ICcyNHB4JyxcbiAgICB9fVxuICA+XG4gICAge2xldHRlcn1cbiAgPC9kaXY+XG4pO1xuXG5DaGFyYWN0ZXJJY29uLnByb3BUeXBlcyA9IHtcbiAgbGV0dGVyOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2hhcmFjdGVyc1BsdWdpbihvcHRzKSB7XG4gIHJlbW92ZURpYWxvZ3MoKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6ICdjaGFyYWN0ZXJzJyxcbiAgICB0b29sYmFyOiB7XG4gICAgICBpY29uOiA8Q2hhcmFjdGVySWNvbiBsZXR0ZXI9e29wdHMuY2hhcmFjdGVySWNvbiB8fCBjaGFyYWN0ZXJJY29uc1tvcHRzLmxhbmd1YWdlXSB8fCAnw7EnfSAvPixcbiAgICAgIGFyaWFMYWJlbDogYCR7b3B0cy5sYW5ndWFnZX0gY2hhcmFjdGVycyBUb29sYmFyYCxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UsIGdldEZvY3VzZWRWYWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBlZGl0b3JET00gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmRvY3VtZW50LmtleX1cIl1gKTtcbiAgICAgICAgbGV0IHZhbHVlVG9Vc2UgPSB2YWx1ZTtcblxuICAgICAgICBjb25zdCBjYWxsYmFjayA9IChjaGFyLCBmb2N1cykgPT4ge1xuICAgICAgICAgIGlmIChnZXRGb2N1c2VkVmFsdWUpIHtcbiAgICAgICAgICAgIHZhbHVlVG9Vc2UgPSBnZXRGb2N1c2VkVmFsdWUoKSB8fCB2YWx1ZVRvVXNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChjaGFyKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2UgPSB2YWx1ZVRvVXNlLmNoYW5nZSgpLmluc2VydFRleHRCeUtleSh2YWx1ZVRvVXNlLmFuY2hvcktleSwgdmFsdWVUb1VzZS5hbmNob3JPZmZzZXQsIGNoYXIpO1xuXG4gICAgICAgICAgICB2YWx1ZVRvVXNlID0gY2hhbmdlLnZhbHVlO1xuICAgICAgICAgICAgbG9nKCdbY2hhcmFjdGVyczppbnNlcnRdOiAnLCB2YWx1ZSk7XG4gICAgICAgICAgICBvbkNoYW5nZShjaGFuZ2UpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxvZygnW2NoYXJhY3RlcnM6Y2xpY2tdJyk7XG5cbiAgICAgICAgICBpZiAoZm9jdXMpIHtcbiAgICAgICAgICAgIGlmIChlZGl0b3JET00pIHtcbiAgICAgICAgICAgICAgZWRpdG9yRE9NLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGluc2VydERpYWxvZyh7IGVkaXRvckRPTSwgdmFsdWU6IHZhbHVlVG9Vc2UsIGNhbGxiYWNrLCBvcHRzIH0pO1xuICAgICAgfSxcbiAgICB9LFxuXG4gICAgcGx1Z2luU3R5bGVzOiAobm9kZSwgcGFyZW50Tm9kZSwgcCkgPT4ge1xuICAgICAgaWYgKHApIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICB0b3A6ICdpbml0aWFsJyxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9LFxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsSUFBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUksWUFBQSxHQUFBSixPQUFBO0FBRUEsSUFBQUssYUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sT0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsVUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQW1DLFNBQUFTLFFBQUFDLENBQUEsRUFBQUMsQ0FBQSxRQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsSUFBQSxDQUFBSixDQUFBLE9BQUFHLE1BQUEsQ0FBQUUscUJBQUEsUUFBQUMsQ0FBQSxHQUFBSCxNQUFBLENBQUFFLHFCQUFBLENBQUFMLENBQUEsR0FBQUMsQ0FBQSxLQUFBSyxDQUFBLEdBQUFBLENBQUEsQ0FBQUMsTUFBQSxXQUFBTixDQUFBLFdBQUFFLE1BQUEsQ0FBQUssd0JBQUEsQ0FBQVIsQ0FBQSxFQUFBQyxDQUFBLEVBQUFRLFVBQUEsT0FBQVAsQ0FBQSxDQUFBUSxJQUFBLENBQUFDLEtBQUEsQ0FBQVQsQ0FBQSxFQUFBSSxDQUFBLFlBQUFKLENBQUE7QUFBQSxTQUFBVSxjQUFBWixD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
|
|
@@ -375,4 +375,4 @@ var characterIcons = exports.characterIcons = {
|
|
|
375
375
|
spanish: 'ñ',
|
|
376
376
|
special: '€'
|
|
377
377
|
};
|
|
378
|
-
//# sourceMappingURL=utils.js.map
|
|
378
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzcGFuaXNoQ29uZmlnIiwiZXhwb3J0cyIsImNoYXJhY3RlcnMiLCJzcGVjaWFsQ29uZmlnIiwiaGFzUHJldmlldyIsInVuaWNvZGUiLCJkZXNjcmlwdGlvbiIsIndyaXRlIiwibGFiZWwiLCJleHRyYVByb3BzIiwic3R5bGUiLCJncmlkUm93IiwiU3RyaW5nIiwiZnJvbUNvZGVQb2ludCIsImNoYXJhY3Rlckljb25zIiwic3BhbmlzaCIsInNwZWNpYWwiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2lucy9jaGFyYWN0ZXJzL3V0aWxzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBzcGFuaXNoQ29uZmlnID0ge1xuICBjaGFyYWN0ZXJzOiBbXG4gICAgWyfDoScsICfDqScsICfDrScsICfDsycsICfDuiddLFxuICAgIFsnw4EnLCAnw4knLCAnw40nLCAnw5MnLCAnw5onXSxcbiAgICBbJ+KAlCcsICfCqycsICfCuycsICfDsScsICfDvCddLFxuICAgIFsnLScsICfCvycsICfCoScsICfDkScsICfDnCddLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IHNwZWNpYWxDb25maWcgPSB7XG4gIGhhc1ByZXZpZXc6IHRydWUsXG4gIGNoYXJhY3RlcnM6IFtcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0NFTlQgU0lHTicsXG4gICAgICAgIHdyaXRlOiAnwqInLFxuICAgICAgICBsYWJlbDogJ8KiJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQkYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0lOVkVSVEVEIFFVRVNUSU9OIE1BUksnLFxuICAgICAgICB3cml0ZTogJ8K/JyxcbiAgICAgICAgbGFiZWw6ICfCvycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEI0JyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdBQ1VURSBBQ0NFTlQnLFxuICAgICAgICB3cml0ZTogJ8K0JyxcbiAgICAgICAgbGFiZWw6ICfCtCcsXG4gICAgICAgIGV4dHJhUHJvcHM6IHsgc3R5bGU6IHsgZ3JpZFJvdzogJ3NwYW4gMicgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw6EnLFxuICAgICAgICBsYWJlbDogJ8OhJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQUNVVEUnLFxuICAgICAgICB3cml0ZTogJ8OpJyxcbiAgICAgICAgbGFiZWw6ICfDqScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVEJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDrScsXG4gICAgICAgIGxhYmVsOiAnw60nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBBQ1VURScsXG4gICAgICAgIHdyaXRlOiAnw7MnLFxuICAgICAgICBsYWJlbDogJ8OzJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRkEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQUNVVEUnLFxuICAgICAgICB3cml0ZTogJ8O6JyxcbiAgICAgICAgbGFiZWw6ICfDuicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEYxJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgTiBXSVRIIFRJTERFJyxcbiAgICAgICAgd3JpdGU6ICfDsScsXG4gICAgICAgIGxhYmVsOiAnw7EnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjBBQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRVVSTyBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfigqwnLFxuICAgICAgICBsYWJlbDogJ+KCrCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEExJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdJTlZFUlRFRCBFWENMQU1BVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCoScsXG4gICAgICAgIGxhYmVsOiAnwqEnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDgScsXG4gICAgICAgIGxhYmVsOiAnw4EnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDiScsXG4gICAgICAgIGxhYmVsOiAnw4knLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDRCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDjScsXG4gICAgICAgIGxhYmVsOiAnw40nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDkycsXG4gICAgICAgIGxhYmVsOiAnw5MnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEQScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEFDVVRFJyxcbiAgICAgICAgd3JpdGU6ICfDmicsXG4gICAgICAgIGxhYmVsOiAnw5onLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTiBXSVRIIFRJTERFJyxcbiAgICAgICAgd3JpdGU6ICfDkScsXG4gICAgICAgIGxhYmVsOiAnw5EnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBMycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUE9VTkQgU0lHTicsXG4gICAgICAgIHdyaXRlOiAnwqMnLFxuICAgICAgICBsYWJlbDogJ8KjJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQUInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xFRlQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCqycsXG4gICAgICAgIGxhYmVsOiAnwqsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDA1RScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnQ0lSQ1VNRkxFWCBBQ0NFTlQnLFxuICAgICAgICB3cml0ZTogJ14nLFxuICAgICAgICBsYWJlbDogJ14nLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw6InLFxuICAgICAgICBsYWJlbDogJ8OiJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRUEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw6onLFxuICAgICAgICBsYWJlbDogJ8OqJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRUUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBJIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw64nLFxuICAgICAgICBsYWJlbDogJ8OuJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw7QnLFxuICAgICAgICBsYWJlbDogJ8O0JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRkInLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw7snLFxuICAgICAgICBsYWJlbDogJ8O7JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBDIFdJVEggQ0VESUxMQScsXG4gICAgICAgIHdyaXRlOiAnw6cnLFxuICAgICAgICBsYWJlbDogJ8OnJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQTUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1lFTiBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfCpScsXG4gICAgICAgIGxhYmVsOiAnwqUnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBCQicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnUklHSFQtUE9JTlRJTkcgRE9VQkxFIEFOR0xFIFFVT1RBVElPTiBNQVJLJyxcbiAgICAgICAgd3JpdGU6ICfCuycsXG4gICAgICAgIGxhYmVsOiAnwrsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8OCJyxcbiAgICAgICAgbGFiZWw6ICfDgicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMENBJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw4onLFxuICAgICAgICBsYWJlbDogJ8OKJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQ0UnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEkgV0lUSCBDSVJDVU1GTEVYJyxcbiAgICAgICAgd3JpdGU6ICfDjicsXG4gICAgICAgIGxhYmVsOiAnw44nLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBENCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIENJUkNVTUZMRVgnLFxuICAgICAgICB3cml0ZTogJ8OUJyxcbiAgICAgICAgbGFiZWw6ICfDlCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggQ0lSQ1VNRkxFWCcsXG4gICAgICAgIHdyaXRlOiAnw5snLFxuICAgICAgICBsYWJlbDogJ8ObJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzcnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEMgV0lUSCBDRURJTExBJyxcbiAgICAgICAgd3JpdGU6ICfDhycsXG4gICAgICAgIGxhYmVsOiAnw4cnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjAwQScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnSEFJUiBTUEFDRScsXG4gICAgICAgIHdyaXRlOiBTdHJpbmcuZnJvbUNvZGVQb2ludCgnMHgyMDBBJyksXG4gICAgICAgIGxhYmVsOiAnJmhhaXJzcDsnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBNycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnU0VDVElPTiBTSUdOJyxcbiAgICAgICAgd3JpdGU6ICfCpycsXG4gICAgICAgIGxhYmVsOiAnwqcnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBOCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfCqCcsXG4gICAgICAgIGxhYmVsOiAnwqgnLFxuICAgICAgICBleHRyYVByb3BzOiB7IHN0eWxlOiB7IGdyaWRSb3c6ICdzcGFuIDInIH0gfSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBBIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDpCcsXG4gICAgICAgIGxhYmVsOiAnw6QnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFQicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEUgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OrJyxcbiAgICAgICAgbGFiZWw6ICfDqycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVGJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnw68nLFxuICAgICAgICBsYWJlbDogJ8OvJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBPIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDticsXG4gICAgICAgIGxhYmVsOiAnw7YnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIFUgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8O8JyxcbiAgICAgICAgbGFiZWw6ICfDvCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERGJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgU0hBUlAgUycsXG4gICAgICAgIHdyaXRlOiAnw58nLFxuICAgICAgICBsYWJlbDogJ8OfJyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzIwMDknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RISU4gU1BBQ0UnLFxuICAgICAgICB3cml0ZTogU3RyaW5nLmZyb21Db2RlUG9pbnQoJzB4MjAwOScpLFxuICAgICAgICBsYWJlbDogJyZ0aGluc3A7JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzIwMjYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0hPUklaT05UQUwgRUxMSVBTSVMnLFxuICAgICAgICB3cml0ZTogJ+KApicsXG4gICAgICAgIGxhYmVsOiAn4oCmJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwQzQnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIEEgV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OEJyxcbiAgICAgICAgbGFiZWw6ICfDhCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMENCJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBFIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDiycsXG4gICAgICAgIGxhYmVsOiAnw4snLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDRicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIERJQUVSRVNJUycsXG4gICAgICAgIHdyaXRlOiAnw48nLFxuICAgICAgICBsYWJlbDogJ8OPJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRDYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIENBUElUQUwgTEVUVEVSIE8gV0lUSCBESUFFUkVTSVMnLFxuICAgICAgICB3cml0ZTogJ8OWJyxcbiAgICAgICAgbGFiZWw6ICfDlicsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMERDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBDQVBJVEFMIExFVFRFUiBVIFdJVEggRElBRVJFU0lTJyxcbiAgICAgICAgd3JpdGU6ICfDnCcsXG4gICAgICAgIGxhYmVsOiAnw5wnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjIxMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTUlOVVMgU0lHTicsXG4gICAgICAgIHdyaXRlOiAn4oiSJyxcbiAgICAgICAgbGFiZWw6ICfiiJInLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBBMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTk8tQlJFQUsgU1BBQ0UnLFxuICAgICAgICB3cml0ZTogU3RyaW5nLmZyb21Db2RlUG9pbnQoJzB4MDBBMCcpLFxuICAgICAgICBsYWJlbDogJyZuYnNwOycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDIyJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdCVUxMRVQnLFxuICAgICAgICB3cml0ZTogJ+KAoicsXG4gICAgICAgIGxhYmVsOiAn4oCiJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwNjAnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0dSQVZFIEFDQ0VOVCcsXG4gICAgICAgIHdyaXRlOiAnYCcsXG4gICAgICAgIGxhYmVsOiAnYCcsXG4gICAgICAgIGV4dHJhUHJvcHM6IHsgc3R5bGU6IHsgZ3JpZFJvdzogJ3NwYW4gMicgfSB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBFMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIEEgV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw6AnLFxuICAgICAgICBsYWJlbDogJ8OgJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRTgnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBFIFdJVEggR1JBVkUnLFxuICAgICAgICB3cml0ZTogJ8OoJyxcbiAgICAgICAgbGFiZWw6ICfDqCcsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSswMEVDJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdMQVRJTiBTTUFMTCBMRVRURVIgSSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDrCcsXG4gICAgICAgIGxhYmVsOiAnw6wnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBGMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gU01BTEwgTEVUVEVSIE8gV0lUSCBHUkFWRScsXG4gICAgICAgIHdyaXRlOiAnw7InLFxuICAgICAgICBsYWJlbDogJ8OyJyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzAwRjknLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ0xBVElOIFNNQUxMIExFVFRFUiBVIFdJVEggR1JBVkUnLFxuICAgICAgICB3cml0ZTogJ8O5JyxcbiAgICAgICAgbGFiZWw6ICfDuScsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDEzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFTiBEQVNIJyxcbiAgICAgICAgd3JpdGU6ICfigJMnLFxuICAgICAgICBsYWJlbDogJ+KAkycsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAge1xuICAgICAgICB1bmljb2RlOiAnVSsyMDAzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdFTSBTUEFDRScsXG4gICAgICAgIHdyaXRlOiBTdHJpbmcuZnJvbUNvZGVQb2ludCgnMHgyMDAzJyksXG4gICAgICAgIGxhYmVsOiAnJmVtc3A7JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVuaWNvZGU6ICdVKzI1RTYnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1dISVRFIEJVTExFVCcsXG4gICAgICAgIHdyaXRlOiAn4pemJyxcbiAgICAgICAgbGFiZWw6ICfil6YnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDMCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgQSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDgCcsXG4gICAgICAgIGxhYmVsOiAnw4AnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDOCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgRSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDiCcsXG4gICAgICAgIGxhYmVsOiAnw4gnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBDQycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgSSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDjCcsXG4gICAgICAgIGxhYmVsOiAnw4wnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEMicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgTyBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDkicsXG4gICAgICAgIGxhYmVsOiAnw5InLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMDBEOScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnTEFUSU4gQ0FQSVRBTCBMRVRURVIgVSBXSVRIIEdSQVZFJyxcbiAgICAgICAgd3JpdGU6ICfDmScsXG4gICAgICAgIGxhYmVsOiAnw5knLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdW5pY29kZTogJ1UrMjAxNCcsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnRU0gREFTSCcsXG4gICAgICAgIHdyaXRlOiAn4oCUJyxcbiAgICAgICAgbGFiZWw6ICfigJQnLFxuICAgICAgfSxcbiAgICBdLFxuICBdLFxufTtcblxuZXhwb3J0IGNvbnN0IGNoYXJhY3Rlckljb25zID0ge1xuICBzcGFuaXNoOiAnw7EnLFxuICBzcGVjaWFsOiAn4oKsJyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFPLElBQU1BLGFBQWEsR0FBQUMsT0FBQSxDQUFBRCxhQUFBLEdBQUc7RUFDM0JFLFVBQVUsRUFBRSxDQUNWLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUN6QixDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFDekIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQ3pCLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUU3QixDQUFDO0FBRU0sSUFBTUMsYUFBYSxHQUFBRixPQUFBLENBQUFFLGFBQUEsR0FBRztFQUMzQkMsVUFBVSxFQUFFLElBQUk7RUFDaEJGLFVBQVUsRUFBRSxDQUNWLENBQ0U7SUFDRUcsT0FBTyxFQUFFLFFBQVE7SUFDakJDLFdBQVcsRUFBRSxXQUFXO0lBQ3hCQyxLQUFLLEVBQUUsR0FBRztJQUNWQyxLQUFLLEVBQUU7RUFDVCxDQUFDLEVBQ0Q7SUFDRUgsT0FBTyxFQUFFLFFBQVE7SUFDakJDLFdBQVcsRUFBRSx3QkFBd0I7SUFDckNDLEtBQUssRUFBRSxHQUFHO0lBQ1ZDLEtBQUssRUFBRTtFQUNULENBQUMsRUFDRDtJQUNFSCxPQUFPLEVBQUUsUUFBUTtJQUNqQkMsV0FBVyxFQUFFLGNBQWM7SUFDM0JDLEtBQUssRUFBRSxHQUFHO0lBQ1ZDLEtBQUssRUFBRSxHQUFHO0lBQ1ZDLFVBQVUsRUFBRTtNQUFFQyxLQUFLLEVBQUU7UUFBRUMsT0FB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
|
|
@@ -22,4 +22,4 @@ var CssIcon = function CssIcon() {
|
|
|
22
22
|
return /*#__PURE__*/_react["default"].createElement(StyledCssIcon, null, "CSS");
|
|
23
23
|
};
|
|
24
24
|
var _default = exports["default"] = CssIcon;
|
|
25
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJTdHlsZWRDc3NJY29uIiwic3R5bGVkIiwiX3JlZiIsInRoZW1lIiwiZm9udEZhbWlseSIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0IiwicG9zaXRpb24iLCJ3aGl0ZVNwYWNlIiwiQ3NzSWNvbiIsImNyZWF0ZUVsZW1lbnQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy9jc3MvaWNvbnMvaW5kZXguanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5cbmNvbnN0IFN0eWxlZENzc0ljb24gPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUsXG4gIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgbGluZUhlaWdodDogJzE0cHgnLFxuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG59KSk7XG5cbmNvbnN0IENzc0ljb24gPSAoKSA9PiA8U3R5bGVkQ3NzSWNvbj5DU1M8L1N0eWxlZENzc0ljb24+O1xuXG5leHBvcnQgZGVmYXVsdCBDc3NJY29uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBTUUsYUFBYSxHQUFHLElBQUFDLGNBQU0sRUFBQyxLQUFLLENBQUMsQ0FBQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFRO0lBQ2xEQyxVQUFVLEVBQUUsaUNBQWlDO0lBQzdDQyxRQUFRLEVBQUVGLEtBQUssQ0FBQ0csVUFBVSxDQUFDRCxRQUFRO0lBQ25DRSxVQUFVLEVBQUUsTUFBTTtJQUNsQkMsVUFBVSxFQUFFLE1BQU07SUFDbEJDLFFBQVEsRUFBRSxVQUFVO0lBQ3BCQyxVQUFVLEVBQUU7RUFDZCxDQUFDO0FBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQU9BLENBQUE7RUFBQSxvQkFBU2YsTUFBQSxZQUFBZ0IsYUFBQSxDQUFDWixhQUFhLFFBQUMsS0FBa0IsQ0FBQztBQUFBO0FBQUMsSUFBQWEsUUFBQSxHQUFBQyxPQUFBLGNBRTFDSCxPQUFPIiwiaWdub3JlTGlzdCI6W119
|
package/lib/plugins/css/index.js
CHANGED
|
@@ -335,4 +335,4 @@ function CSSPlugin(opts) {
|
|
|
335
335
|
};
|
|
336
336
|
return plugin;
|
|
337
337
|
}
|
|
338
|
-
//# sourceMappingURL=index.js.map
|
|
338
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9jbGllbnQiLCJfTGlzdCIsIl9zbGF0ZSIsIl9MaXN0SXRlbSIsIl9kZWJ1ZyIsIl9pY29ucyIsImxvZyIsImRlYnVnIiwicmVtb3ZlRGlhbG9ncyIsImV4cG9ydHMiLCJwcmV2RGlhbG9ncyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImZvckVhY2giLCJzIiwicmVtb3ZlIiwiaW5zZXJ0RGlhbG9nIiwiX3JlZiIsIl9wYXJlbnROb2RlJGRhdGEiLCJlZGl0b3JET00iLCJ2YWx1ZSIsImNhbGxiYWNrIiwib3B0cyIsInRleHROb2RlIiwicGFyZW50Tm9kZSIsIm5ld0VsIiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsInBvcG92ZXJFbCIsImNsb3NlUG9wT3ZlciIsImZpcnN0Q2FsbE1hZGUiLCJsaXN0ZW5lciIsImUiLCJmb2N1c0lzSW5Nb2RhbHMiLCJjb250YWlucyIsInRhcmdldCIsImZvY3VzSXNJbkVkaXRvciIsImhhbmRsZUNsb3NlIiwidW5kZWZpbmVkIiwiYm9keSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVDaGFuZ2UiLCJuYW1lIiwic2VsZWN0ZWRUZXh0IiwidGV4dCIsInNsaWNlIiwic2VsZWN0aW9uIiwiYW5jaG9yT2Zmc2V0IiwiZm9jdXNPZmZzZXQiLCJwYXJlbnROb2RlQ2xhc3MiLCJkYXRhIiwiZ2V0IiwiY3JlYXRlSFRNTCIsImh0bWwiLCJjb25jYXQiLCJ0YWciLCJvYmplY3QiLCJlbCIsInN0eWxlIiwiYmFja2dyb3VuZCIsImhlaWdodCIsInBhZGRpbmciLCJvdmVyZmxvdyIsImRpc3BsYXkiLCJmbGV4RmxvdyIsImNvbXBvbmVudCIsIm5hbWVzIiwibWFwIiwiaSIsImtleSIsImJ1dHRvbiIsIm9uQ2xpY2siLCJtYXJnaW5SaWdodCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiZGlhbG9nUm9vdCIsImNyZWF0ZVJvb3QiLCJyZW5kZXIiLCJzZXRUaW1lb3V0IiwiY3Vyc29ySXRlbSIsInF1ZXJ5U2VsZWN0b3IiLCJhbmNob3JLZXkiLCJib2R5UmVjdCIsInBhcmVudEVsZW1lbnQiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZFJlY3QiLCJhcHBlbmRDaGlsZCIsInkiLCJvZmZzZXRIZWlnaHQiLCJhZGRpdGlvbmFsVG9wT2Zmc2V0IiwidG9wIiwibWF4V2lkdGgiLCJwb3NpdGlvbiIsInpJbmRleCIsImxlZnRWYWx1ZSIsImxlZnQiLCJNYXRoIiwiYWJzIiwib2Zmc2V0V2lkdGgiLCJyaWdodFZhbHVlIiwieCIsImxlZnRBbGlnbmVkV2lkdGgiLCJyaWdodCIsInJpZ2h0QWxpZ25lZFdpZHRoIiwiYWRkRXZlbnRMaXN0ZW5lciIsImZpbmRQYXJlbnROb2RlSW5mbyIsIl9jbG9zZXN0SW5saW5lJG5vZGVzIiwiX2Nsb3Nlc3RCbG9jayRub2RlcyIsImNsb3Nlc3RJbmxpbmUiLCJnZXRDbG9zZXN0SW5saW5lIiwiZW5kS2V5IiwiY2xvc2VzdEJsb2NrIiwiZ2V0Q2xvc2VzdEJsb2NrIiwibm9kZVRvVXNlIiwibm9kZXMiLCJmaW5kIiwibiIsImdldE5vZGVXaXRoQ2xhc3MiLCJfYmxvY2tzQXRSYW5nZSQiLCJfaW5saW5lc0F0UmFuZ2UkIiwiX2Jsb2NrRGF0YSRhdHRyaWJ1dGVzIiwiX2lubGluZURhdGEkYXR0cmlidXRlIiwiYmxvY2tzQXRSYW5nZSIsImdldEJsb2Nrc0F0UmFuZ2VBc0FycmF5IiwiaW5saW5lc0F0UmFuZ2UiLCJnZXRJbmxpbmVzQXRSYW5nZUFzQXJyYXkiLCJibG9ja0RhdGEiLCJ0b0pTT04iLCJpbmxpbmVEYXRhIiwiYXR0cmlidXRlcyIsIl9yZWYyIiwiYmxvY2tDbGFzcyIsIl9yZWYzIiwiaW5saW5lQ2xhc3MiLCJpbmxpbmVIYXNDbGFzcyIsImluY2x1ZGVzIiwiYmxvY2tIYXNDbGFzcyIsIkNTU1BsdWdpbiIsInBsdWdpbiIsInRvb2xiYXIiLCJpc01hcmsiLCJpY29uIiwiYXJpYUxhYmVsIiwidHlwZSIsIm9uVG9nZ2xlIiwiY2hhbmdlIiwiaGFzTWFyayIsImFjdGl2ZU1hcmtzIiwiZW50cnkiLCJyZW1vdmVNYXJrIiwibmV3TWFyayIsIk1hcmsiLCJjcmVhdGUiLCJhZGRNYXJrIiwib25DaGFuZ2UiLCJnZXRGb2N1c2VkVmFsdWUiLCJ2YWx1ZVRvVXNlIiwiZm9jdXMiLCJnZXRUZXh0c0F0UmFuZ2VBc0FycmF5IiwicmVuZGVyTWFyayIsInByb3BzIiwibWFyayIsIl9yZWY0IiwianNvbkRhdGEiLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW5zL2Nzcy9pbmRleC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNyZWF0ZVJvb3QgfSBmcm9tICdyZWFjdC1kb20vY2xpZW50JztcbmltcG9ydCBMaXN0IGZyb20gJ0BtdWkvbWF0ZXJpYWwvTGlzdCc7XG5pbXBvcnQgeyBNYXJrIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTGlzdEl0ZW0nO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCBDc3NJY29uIGZyb20gJy4vaWNvbnMnO1xuXG5jb25zdCBsb2cgPSBkZWJ1ZygnQHBpZS1saWI6ZWRpdGFibGUtaHRtbDpwbHVnaW5zOmNoYXJhY3RlcnMnKTtcblxuZXhwb3J0IGNvbnN0IHJlbW92ZURpYWxvZ3MgPSAoKSA9PiB7XG4gIGNvbnN0IHByZXZEaWFsb2dzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmluc2VydC1jc3MtZGlhbG9nJyk7XG5cbiAgbG9nKCdbY2hhcmFjdGVyczpyZW1vdmVEaWFsb2dzXScpO1xuICBwcmV2RGlhbG9ncy5mb3JFYWNoKChzKSA9PiBzLnJlbW92ZSgpKTtcbn07XG5cbmNvbnN0IGluc2VydERpYWxvZyA9ICh7IGVkaXRvckRPTSwgdmFsdWUsIGNhbGxiYWNrLCBvcHRzLCB0ZXh0Tm9kZSwgcGFyZW50Tm9kZSB9KSA9PiB7XG4gIGNvbnN0IG5ld0VsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG5cbiAgbG9nKCdbY2hhcmFjdGVyczppbnNlcnREaWFsb2ddJyk7XG5cbiAgcmVtb3ZlRGlhbG9ncygpO1xuXG4gIG5ld0VsLmNsYXNzTmFtZSA9ICdpbnNlcnQtY3NzLWRpYWxvZyc7XG5cbiAgbGV0IHBvcG92ZXJFbDtcblxuICBjb25zdCBjbG9zZVBvcE92ZXIgPSAoKSA9PiB7XG4gICAgaWYgKHBvcG92ZXJFbCkge1xuICAgICAgcG9wb3ZlckVsLnJlbW92ZSgpO1xuICAgIH1cbiAgfTtcblxuICBsZXQgZmlyc3RDYWxsTWFkZSA9IGZhbHNlO1xuXG4gIGNvbnN0IGxpc3RlbmVyID0gKGUpID0+IHtcbiAgICAvLyB0aGlzIHdpbGwgYmUgdHJpZ2dlcmVkIHJpZ2h0IGFmdGVyIHNldHRpbmcgaXQgYmVjYXVzZVxuICAgIC8vIHRoaXMgdG9vbGJhciBpcyBhZGRlZCBvbiB0aGUgbW91c2Vkb3duIGV2ZW50XG4gICAgLy8gc28gcmlnaHQgYWZ0ZXIgbW91c2V1cCwgdGhlIGNsaWNrIHdpbGwgYmUgdHJpZ2dlcmVkXG4gICAgaWYgKGZpcnN0Q2FsbE1hZGUpIHtcbiAgICAgIGNvbnN0IGZvY3VzSXNJbk1vZGFscyA9IG5ld0VsLmNvbnRhaW5zKGUudGFyZ2V0KSB8fCAocG9wb3ZlckVsICYmIHBvcG92ZXJFbC5jb250YWlucyhlLnRhcmdldCkpO1xuICAgICAgY29uc3QgZm9jdXNJc0luRWRpdG9yID0gZWRpdG9yRE9NLmNvbnRhaW5zKGUudGFyZ2V0KTtcblxuICAgICAgaWYgKCEoZm9jdXNJc0luTW9kYWxzIHx8IGZvY3VzSXNJbkVkaXRvcikpIHtcbiAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgZmlyc3RDYWxsTWFkZSA9IHRydWU7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIGNhbGxiYWNrKHVuZGVmaW5lZCwgdHJ1ZSk7XG4gICAgbmV3RWwucmVtb3ZlKCk7XG4gICAgY2xvc2VQb3BPdmVyKCk7XG4gICAgZG9jdW1lbnQuYm9keS5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGxpc3RlbmVyKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSAobmFtZSkgPT4ge1xuICAgIGNhbGxiYWNrKG5hbWUsIHRydWUpO1xuICAgIG5ld0VsLnJlbW92ZSgpO1xuICAgIGNsb3NlUG9wT3ZlcigpO1xuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gIH07XG5cbiAgY29uc3Qgc2VsZWN0ZWRUZXh0ID0gdGV4dE5vZGUudGV4dC5zbGljZSh2YWx1ZS5zZWxlY3Rpb24uYW5jaG9yT2Zmc2V0LCB2YWx1ZS5zZWxlY3Rpb24uZm9jdXNPZmZzZXQpO1xuICBjb25zdCBwYXJlbnROb2RlQ2xhc3MgPSBwYXJlbnROb2RlPy5kYXRhPy5nZXQoJ2F0dHJpYnV0ZXMnKT8uY2xhc3M7XG4gIGNvbnN0IGNyZWF0ZUhUTUwgPSAobmFtZSkgPT4ge1xuICAgIGxldCBodG1sID0gYDxzcGFuIGNsYXNzPVwiJHtuYW1lfVwiPiR7c2VsZWN0ZWRUZXh0fTwvc3Bhbj5gO1xuXG4gICAgaWYgKHBhcmVudE5vZGUpIHtcbiAgICAgIGxldCB0YWc7XG5cbiAgICAgIGlmIChwYXJlbnROb2RlPy5vYmplY3QgPT09ICdpbmxpbmUnKSB7XG4gICAgICAgIHRhZyA9ICdzcGFuJztcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcmVudE5vZGU/Lm9iamVjdCA9PT0gJ2Jsb2NrJykge1xuICAgICAgICB0YWcgPSAnZGl2JztcbiAgICAgIH1cblxuICAgICAgaHRtbCA9IGA8JHt0YWd9IGNsYXNzPVwiJHtwYXJlbnROb2RlQ2xhc3N9XCI+JHtwYXJlbnROb2RlLnRleHQuc2xpY2UoXG4gICAgICAgIDAsXG4gICAgICAgIHZhbHVlLnNlbGVjdGlvbi5hbmNob3JPZmZzZXQsXG4gICAgICApfSR7aHRtbH0ke3BhcmVudE5vZGUudGV4dC5zbGljZSh2YWx1ZS5zZWxlY3Rpb24uZm9jdXNPZmZzZXQpfTwvJHt0YWd9PmA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH07XG5cbiAgY29uc3QgZWwgPSAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3sgYmFja2dyb3VuZDogJ3doaXRlJywgaGVpZ2h0OiA1MDAsIHBhZGRpbmc6IDIwLCBvdmVyZmxvdzogJ2hpZGRlbicsIGRpc3BsYXk6ICdmbGV4JywgZmxleEZsb3c6ICdjb2x1bW4nIH19XG4gICAgPlxuICAgICAgPGgyPlBsZWFzZSBjaG9vc2UgYSBjc3MgY2xhc3M8L2gyPlxuICAgICAge3BhcmVudE5vZGVDbGFzcyAmJiA8ZGl2PlRoZSBjdXJyZW50IHBhcmVudCBoYXMgdGhpcyBjbGFzcyB7cGFyZW50Tm9kZUNsYXNzfTwvZGl2Pn1cbiAgICAgIDxMaXN0IGNvbXBvbmVudD1cIm5hdlwiIHN0eWxlPXt7IG92ZXJmbG93OiAnc2Nyb2xsJyB9fT5cbiAgICAgICAge29wdHMubmFtZXMubWFwKChuYW1lLCBpKSA9PiAoXG4gICAgICAgICAgPExpc3RJdGVtIGtleT17YHJ1bGUtJHtpfWB9IGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBoYW5kbGVDaGFuZ2UobmFtZSl9PlxuICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5SaWdodDogMjAgfX0+e25hbWV9PC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBjcmVhdGVIVE1MKG5hbWUpLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0xpc3RJdGVtPlxuICAgICAgICApKX1cbiAgICAgIDwvTGlzdD5cbiAgICA8L2Rpdj5cbiAgKTtcblxuICBjb25zdCBkaWFsb2dSb290ID0gY3JlYXRlUm9vdChuZXdFbCk7XG4gIGRpYWxvZ1Jvb3QucmVuZGVyKGVsKTtcblxuICAvLyBVc2Ugc2V0VGltZW91dCB0byBlbnN1cmUgdGhlIGVsZW1lbnQgaXMgcmVuZGVyZWQgYmVmb3JlIHBvc2l0aW9uaW5nXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIGNvbnN0IGN1cnNvckl0ZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1rZXk9XCIke3ZhbHVlLmFuY2hvcktleX1cIl1gKTtcblxuICAgIGlmIChjdXJzb3JJdGVtKSB7XG4gICAgICBjb25zdCBib2R5UmVjdCA9IGVkaXRvckRPTS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IGJvdW5kUmVjdCA9IGN1cnNvckl0ZW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICAgIGVkaXRvckRPTS5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5hcHBlbmRDaGlsZChuZXdFbCk7XG5cbiAgICAgIC8vIHdoZW4gaGVpZ2h0IG9mIHRvb2xiYXIgZXhjZWVkcyBzY3JlZW4gLSBjYW4gaGFwcGVuIGluIHNjcm9sbGFibGUgY29udGV4dHNcbiAgICAgIGlmIChib3VuZFJlY3QueSA8IG5ld0VsLm9mZnNldEhlaWdodCkge1xuICAgICAgICBjb25zdCBhZGRpdGlvbmFsVG9wT2Zmc2V0ID0gbmV3RWwub2Zmc2V0SGVpZ2h0IC0gYm91bmRSZWN0LnkgKyAxMDtcbiAgICAgICAgbmV3RWwuc3R5bGUudG9wID0gYCR7YWRkaXRpb25hbFRvcE9mZnNldH1weGA7XG4gICAgICB9XG5cbiAgICAgIG5ld0VsLnN0eWxlLm1heFdpZHRoID0gJzUwMHB4JztcbiAgICAgIG5ld0VsLnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAgICAgIGlmICghbmV3RWwuc3R5bGUudG9wKSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLnRvcCA9ICcwJztcbiAgICAgIH1cbiAgICAgIG5ld0VsLnN0eWxlLnpJbmRleCA9IDk5OTk5O1xuXG4gICAgICBjb25zdCBsZWZ0VmFsdWUgPSBgJHtib3VuZFJlY3QubGVmdCArIE1hdGguYWJzKGJvZHlSZWN0LmxlZnQpICsgY3Vyc29ySXRlbS5vZmZzZXRXaWR0aCArIDEwfXB4YDtcblxuICAgICAgY29uc3QgcmlnaHRWYWx1ZSA9IGAke2JvdW5kUmVjdC54fXB4YDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9IGxlZnRWYWx1ZTtcblxuICAgICAgY29uc3QgbGVmdEFsaWduZWRXaWR0aCA9IG5ld0VsLm9mZnNldFdpZHRoO1xuXG4gICAgICBuZXdFbC5zdHlsZS5sZWZ0ID0gJ3Vuc2V0JztcbiAgICAgIG5ld0VsLnN0eWxlLnJpZ2h0ID0gcmlnaHRWYWx1ZTtcblxuICAgICAgY29uc3QgcmlnaHRBbGlnbmVkV2lkdGggPSBuZXdFbC5vZmZzZXRXaWR0aDtcblxuICAgICAgbmV3RWwuc3R5bGUubGVmdCA9ICd1bnNldCc7XG4gICAgICBuZXdFbC5zdHlsZS5yaWdodCA9ICd1bnNldCc7XG5cbiAgICAgIGlmIChsZWZ0QWxpZ25lZFdpZHRoID49IHJpZ2h0QWxpZ25lZFdpZHRoKSB7XG4gICAgICAgIG5ld0VsLnN0eWxlLmxlZnQgPSBsZWZ0VmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdFbC5zdHlsZS5yaWdodCA9IHJpZ2h0VmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBsaXN0ZW5lcik7XG4gICAgfVxuICB9LCAwKTtcbn07XG5cbmNvbnN0IGZpbmRQYXJlbnROb2RlSW5mbyA9ICh2YWx1ZSwgdGV4dE5vZGUpID0+IHtcbiAgY29uc3QgY2xvc2VzdElubGluZSA9IHZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RJbmxpbmUodmFsdWUuc2VsZWN0aW9uLmVuZEtleSk7XG4gIGNvbnN0IGNsb3Nlc3RCbG9jayA9IHZhbHVlLmRvY3VtZW50LmdldENsb3Nlc3RCbG9jayh2YWx1ZS5zZWxlY3Rpb24uZW5kS2V5KTtcbiAgbGV0IG5vZGVUb1VzZSA9IG51bGw7XG5cbiAgaWYgKGNsb3Nlc3RJbmxpbmU/Lm5vZGVzPy5maW5kKChuKSA9PiBuLmtleSA9PT0gdGV4dE5vZGUua2V5KSkge1xuICAgIG5vZGVUb1VzZSA9IGNsb3Nlc3RJbmxpbmU7XG4gIH1cblxuICBpZiAoY2xvc2VzdEJsb2NrPy5ub2Rlcz8uZmluZCgobikgPT4gbi5rZXkgPT09IHRleHROb2RlLmtleSkpIHtcbiAgICBub2RlVG9Vc2UgPSBjbG9zZXN0QmxvY2s7XG4gIH1cblxuICByZXR1cm4gbm9kZVRvVXNlO1xufTtcblxuLyoqXG4gKiBGaW5kIHRoZSBub2RlIHRoYXQgaGFzIGEgY2xhc3MgYXR0cmlidXRlIGFuZCByZXR1cm4gaXQuXG4gKiBLZWVwaW5nIHRoaXMgaW4gY2FzZSB0aGUgaW1wbGVtZW50YXRpb24gb2YgY2xhc3NlcyBuZWVkcyB0byBiZSBjaGFuZ2VkXG4gKiBAcGFyYW0gdmFsdWVcbiAqIEBwYXJhbSBvcHRzXG4gKiBAcmV0dXJucyB7Kn1cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXG5jb25zdCBnZXROb2RlV2l0aENsYXNzID0gKHZhbHVlLCBvcHRzKSA9PiB7XG4gIGNvbnN0IGJsb2Nrc0F0UmFuZ2UgPSB2YWx1ZS5kb2N1bWVudC5nZXRCbG9ja3NBdFJhbmdlQXNBcnJheSh2YWx1ZS5zZWxlY3Rpb24pO1xuICBjb25zdCBpbmxpbmVzQXRSYW5nZSA9IHZhbHVlLmRvY3VtZW50LmdldElubGluZXNBdFJhbmdlQXNBcnJheSh2YWx1ZS5zZWxlY3Rpb24pO1xuICBjb25zdCBibG9ja0RhdGEgPSBibG9ja3NBdFJhbmdlWzBdPy5kYXRhLnRvSlNPTigpIHx8IHt9O1xuICBjb25zdCBpbmxpbmVEYXRhID0gaW5saW5lc0F0UmFuZ2VbMF0/LmRhdGEudG9KU09OKCkgfHwge307XG5cbiAgaWYgKCFibG9ja0RhdGEuYXR0cmlidXRlcz8uY2xhc3MgJiYgIWlubGluZURhdGEuYXR0cmlidXRlcz8uY2xhc3MpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHsgY2xhc3M6IGJsb2NrQ2xhc3MgfSA9IGJsb2NrRGF0YS5hdHRyaWJ1dGVzIHx8IHt9O1xuICBjb25zdCB7IGNsYXNzOiBpbmxpbmVDbGFzcyB9ID0gaW5saW5lRGF0YS5hdHRyaWJ1dGVzIHx8IHt9O1xuICBjb25zdCBpbmxpbmVIYXNDbGFzcyA9IG9wdHMubmFtZXMuZmluZCgobmFtZSkgPT4gaW5saW5lQ2xhc3MuaW5jbHVkZXMobmFtZSkpO1xuXG4gIGlmIChpbmxpbmVIYXNDbGFzcykge1xuICAgIHJldHVybiBpbmxpbmVzQXRSYW5nZVswXTtcbiAgfVxuXG4gIGNvbnN0IGJsb2NrSGFzQ2xhc3MgPSBvcHRzLm5hbWVzLmZpbmQoKG5hbWUpID0+IGJsb2NrQ2xhc3MuaW5jbHVkZXMobmFtZSkpO1xuXG4gIGlmIChibG9ja0hhc0NsYXNzKSB7XG4gICAgcmV0dXJuIGJsb2Nrc0F0UmFuZ2VbMF07XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn07XG5cbi8qKlxuICogUGx1Z2luIGluIG9yZGVyIHRvIGJlIGFibGUgdG8gYWRkIGEgY3NzIGNsYXMgdGhhdCBpcyBwcm92aWRlZCB0aHJvdWdoIHRoZSBtb2RlbFxuICogb24gYSB0ZXh0IGVsZW1lbnQuIFdvcmtzIGxpa2UgYSBtYXJrIChib2xkLCBpdGFsaWMgZXRjLikuXG4gKiBAcGFyYW0gb3B0c1xuICogQGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIENTU1BsdWdpbihvcHRzKSB7XG4gIGNvbnN0IHBsdWdpbiA9IHtcbiAgICBuYW1lOiAnZXh0cmFDU1NSdWxlcycsXG4gICAgdG9vbGJhcjoge1xuICAgICAgaXNNYXJrOiB0cnVlLFxuICAgICAgaWNvbjogPENzc0ljb24gLz4sXG4gICAgICBhcmlhTGFiZWw6ICdDU1MgZWRpdG9yJyxcbiAgICAgIHR5cGU6ICdjc3MnLFxuICAgICAgb25Ub2dnbGU6IChjaGFuZ2UpID0+IHtcbiAgICAgICAgY29uc3QgdHlwZSA9ICdjc3MnO1xuICAgICAgICBjb25zdCBoYXNNYXJrID0gY2hhbmdlLnZhbHVlLmFjdGl2ZU1hcmtzLmZpbmQoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGVudHJ5LnR5cGUgPT09IHR5cGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChoYXNNYXJrKSB7XG4gICAgICAgICAgY2hhbmdlLnJlbW92ZU1hcmsoaGFzTWFyayk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgbmV3TWFyayA9IE1hcmsuY3JlYXRlKHR5cGUpO1xuXG4gICAgICAgICAgY2hhbmdlLmFkZE1hcmsobmV3TWFyayk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2hhbmdlO1xuICAgICAgfSxcbiAgICAgIG9uQ2xpY2s6ICh2YWx1ZSwgb25DaGFuZ2UsIGdldEZvY3VzZWRWYWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCB0eXBlID0gJ2Nzcyc7XG4gICAgICAgIGNvbnN0IGhhc01hcmsgPSB2YWx1ZS5hY3RpdmVNYXJrcy5maW5kKChlbnRyeSkgPT4ge1xuICAgICAgICAgIHJldHVybiBlbnRyeS50eXBlID09PSB0eXBlO1xuICAgICAgICB9KTtcblxuICAgICAgICBsZXQgY2hhbmdlID0gdmFsdWUuY2hhbmdlKCk7XG5cbiAgICAgICAgaWYgKGhhc01hcmspIHtcbiAgICAgICAgICBjaGFuZ2UucmVtb3ZlTWFyayhoYXNNYXJrKTtcbiAgICAgICAgICBvbkNoYW5nZShjaGFuZ2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGtlZXBpbmcgdGhpcyBpZiBpbXBsZW1lbnRhdGlvbiBuZWVkcyB0byBiZSBjaGFuZ2VkIHRvIHJlZ3VsYXIgYmxvY2tzIGluc3RlYWQgb2YgbWFya3NcbiAgICAgICAgLy8gbGV0IG5vZGVXaXRoQ2xhc3MgPSBnZXROb2RlV2l0aENsYXNzKHZhbHVlLCBvcHRzKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gaWYgKG5vZGVXaXRoQ2xhc3MpIHtcbiAgICAgICAgLy8gICBjb25zdCBub2RlQXR0cmlidXRlcyA9IG5vZGVXaXRoQ2xhc3MuZGF0YS5nZXQoJ2F0dHJpYnV0ZXMnKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICBvcHRzLm5hbWVzLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgLy8gICAgIGlmIChub2RlQXR0cmlidXRlcy5jbGFzcy5pbmNsdWRlcyhuYW1lKSkge1xuICAgICAgICAvLyAgICAgICBub2RlQXR0cmlidXRlcy5jbGFzcyA9IG5vZGVBdHRyaWJ1dGVzLmNsYXNzLnJlcGxhY2UobmFtZSwgJycpO1xuICAgICAgICAvLyAgICAgfVxuICAgICAgICAvLyAgIH0pO1xuICAgICAgICAvL1xuICAgICAgICAvLyAgIC8vIGtlZXBpbmcgb25seSBvbmUgc3BhY2UgYmV0d2VlbiBjbGFzc2VzXG4gICAgICAgIC8vICAgbm9kZUF0dHJpYnV0ZXMuY2xhc3MgPSBub2RlQXR0cmlidXRlcy5jbGFzcy5yZXBsYWNlKC8gKy9nLCAnICcpO1xuICAgICAgICAvL1xuICAgICAgICAvLyAgIG5vZGVXaXRoQ2xhc3MuZGF0YS5zZXQoJ2F0dHJpYnV0ZXMnLCBub2RlQXR0cmlidXRlcyk7XG4gICAgICAgIC8vXG4gICAgICAgIC8vICAgbGV0IGNoYW5nZSA9IHZhbHVlLmNoYW5nZSgpO1xuICAgICAgICAvLyAgIGNoYW5nZS5yZXBsYWNlTm9kZUJ5S2V5KG5vZGVXaXRoQ2xhc3Mua2V5LCBub2RlV2l0aENsYXNzKTtcbiAgICAgICAgLy9cbiAgICAgICAgLy8gICBvbkNoYW5nZShjaGFuZ2UpO1xuICAgICAgICAvLyAgIHJldHVybjtcbiAgICAgICAgLy8gfVxuXG4gICAgICAgIGNvbnN0IGVkaXRvckRPTSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWtleT1cIiR7dmFsdWUuZG9jdW1lbnQua2V5fVwiXWApO1xuICAgICAgICBsZXQgdmFsdWVUb1VzZSA9IHZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGNhbGxiYWNrID0gKGNsYXNzTmFtZSwgZm9jdXMpID0+IHtcbiAgICAgICAgICBpZiAoZ2V0Rm9jdXNlZFZhbHVlKSB7XG4gICAgICAgICAgICB2YWx1ZVRvVXNlID0gZ2V0Rm9jdXNlZFZhbHVlKCkgfHwgdmFsdWVUb1VzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoY2xhc3NOYW1lKSB7XG4gICAgICAgICAgICBsZXQgY2hhbmdlID0gdmFsdWVUb1VzZS5jaGFuZ2UoKTtcblxuICAgICAgICAgICAgY29uc3QgbmV3TWFyayA9IE1hcmsuY3JlYXRlKHtcbiAgICAgICAgICAgICAgb2JqZWN0OiAnbWFyaycsXG4gICAgICAgICAgICAgIHR5cGU6ICdjc3MnLFxuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgICAgICAgICAgY2xhc3M6IGNsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNoYW5nZS5hZGRNYXJrKG5ld01hcmspO1xuICAgICAgICAgICAgLy8ga2VlcGluZyB0aGlzIGlmIGltcGxlbWVudGF0aW9uIG5lZWRzIHRvIGJlIGNoYW5nZWQgdG8gcmVndWxhciBibG9ja3MgaW5zdGVhZCBvZiBtYXJrc1xuICAgICAgICAgICAgLy8gY2hhbmdlID0gY2hhbmdlLndyYXBJbmxpbmUoeyB0eXBlOiAnc3BhbicsIGRhdGE6IHsgYXR0cmlidXRlczogeyBjbGFzczogY2xhc3NOYW1lIH0gfSB9KTtcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyAvLyBjaGFuZ2UgPSBjaGFuZ2Uuc3BsaXRCbG9ja0F0UmFuZ2UoYWRhcHRlZFJhbmdlKTtcbiAgICAgICAgICAgIC8vIC8vXG4gICAgICAgICAgICAvLyAvLyBjb25zdCBuZXdCbG9jayA9IGNoYW5nZS52YWx1ZS5kb2N1bWVudC5nZXRGdXJ0aGVzdEJsb2NrKGNoYW5nZS52YWx1ZS5zZWxlY3Rpb24uZW5kS2V5KTtcbiAgICAgICAgICAgIC8vIC8vXG4gICAgICAgICAgICAvLyAvLyBjaGFuZ2UgPSBjaGFuZ2Uuc2V0Tm9kZUJ5S2V5KG5ld0Jsb2NrLmtleSwgeyBkYXRhOiB7IGF0dHJpYnV0ZXM6IHsgY2xhc3M6IGNsYXNzTmFtZSB9IH0gfSk7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gdmFsdWVUb1VzZSA9IGNoYW5nZS52YWx1ZTtcbiAgICAgICAgICAgIC8vIGxvZygnW2NoYXJhY3RlcnM6aW5zZXJ0XTogJywgdmFsdWUpO1xuICAgICAgICAgICAgb25DaGFuZ2UoY2hhbmdlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsb2coJ1tjaGFyYWN0ZXJzOmNsaWNrXScpO1xuXG4gICAgICAgICAgaWYgKGZvY3VzKSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKGVkaXRvckRPTSkge1xuICAgICAgICAgICAgICAgIGVkaXRvckRPTS5mb2N1cygpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHRleHROb2RlID0gdmFsdWUuZG9jdW1lbnQuZ2V0VGV4dHNBdFJhbmdlQXNBcnJheSh2YWx1ZS5zZWxlY3Rpb24pWzBdO1xuXG4gICAgICAgIGlmICh0ZXh0Tm9kZSkge1xuICAgICAgICAgIGNvbnN0IHBhcmVudE5vZGUgPSBmaW5kUGFyZW50Tm9kZUluZm8odmFsdWUsIHRleHROb2RlLCBvcHRzKTtcblxuICAgICAgICAgIGluc2VydERpYWxvZyh7IGVkaXRvckRPTSwgdmFsdWU6IHZhbHVlVG9Vc2UsIGNhbGxiYWNrLCBvcHRzLCB0ZXh0Tm9kZSwgcGFyZW50Tm9kZSB9KTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlbmRlck1hcmsocHJvcHMpIHtcbiAgICAgIGlmIChwcm9wcy5tYXJrLnR5cGUgPT09ICdjc3MnKSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gcHJvcHMubWFyayB8fCB7fTtcbiAgICAgICAgY29uc3QganNvbkRhdGEgPSBkYXRhPy50b0pTT04oKSB8fCB7fTtcblxuICAgICAgICByZXR1cm4gPHNwYW4gey4uLmpzb25EYXRhLmF0dHJpYnV0ZXN9Pntwcm9wcy5jaGlsZHJlbn08L3NwYW4+O1xuICAgICAgfVxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIHBsdWdpbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxPQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxLQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxNQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxTQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxNQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFNTyxHQUFHLEdBQUcsSUFBQUMsaUJBQUssRUFBQywyQ0FBMkMsQ0FBQztBQUV2RCxJQUFNQyxhQUFhLEdBQUFDLE9BQUEsQ0FBQUQsYUFBQSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFBLEVBQVM7RUFDakMsSUFBTUUsV0FBVyxHQUFHQyxRQUFRLENBQUNDLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO0VBRW5FTixHQUFHLENBQUMsNEJBQTRCLENBQUM7RUFDakNJLFdBQVcsQ0FBQ0csT0FBTyxDQUFDLFVBQUNDLENBQUM7SUFBQSxPQUFLQSxDQUFDLENBQUNDLE1BQU0sQ0FBQyxDQUFDO0VBQUEsRUFBQztBQUN4QyxDQUFDO0FBRUQsSUFBTUMs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
|
|
@@ -95,4 +95,4 @@ function CustomPlugin(type, customPluginProps) {
|
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
|
-
//# sourceMappingURL=
|
|
98
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zZXJpYWxpemF0aW9uIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJDT05URU5UX1RZUEUiLCJleHBvcnRzIiwiRlJBR01FTlQiLCJJQ09OX1RZUEUiLCJTVkciLCJnZXRJY29uIiwiY3VzdG9tUGx1Z2luUHJvcHMiLCJzdmciLCJpY29uIiwiaWNvblR5cGUiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJ3aWR0aCIsImhlaWdodCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiaWNvbkFsdCIsIkN1c3RvbVBsdWdpbiIsInR5cGUiLCJ0b29sYmFyIiwib25DbGljayIsInZhbHVlIiwib25DaGFuZ2UiLCJnZXRGb2N1c2VkVmFsdWUiLCJlZGl0b3JET00iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjb25jYXQiLCJrZXkiLCJ2YWx1ZVRvVXNlIiwiY2FsbGJhY2siLCJfcmVmIiwiZm9jdXMiLCJjdXN0b21Db250ZW50IiwiY29udGVudFR5cGUiLCJjb250ZW50VmFsdWUiLCJodG1sVG9WYWx1ZSIsImNoYW5nZSIsImluc2VydEZyYWdtZW50Iiwid2luZG93IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZXZlbnQiLCJkZXRhaWwiLCJzdXBwb3J0cyIsIm5vZGUiLCJvYmplY3QiLCJuYW1lIiwicmVuZGVyTm9kZSIsInByb3BzIiwiZGF0YSIsImpzb25EYXRhIiwidG9KU09OIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BsdWdpbnMvY3VzdG9tUGx1Z2luL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgaHRtbFRvVmFsdWUgfSBmcm9tICcuLi8uLi9zZXJpYWxpemF0aW9uJztcblxuLy8gV2UncmUgcG9zc2libHkgZ29pbmcgdG8gaGF2ZSB0byBzdXBwb3J0IGNvbnRlbnQgdHlwZXMsIHNvIHN0YXJ0aW5nIGl0IGFzIGFuIGVudW1cbmV4cG9ydCBjb25zdCBDT05URU5UX1RZUEUgPSB7XG4gIEZSQUdNRU5UOiAnRlJBR01FTlQnLFxufTtcblxuLy8gV2UncmUgcG9zc2libHkgZ29pbmcgdG8gaGF2ZSB0byBzdXBwb3J0IG11bHRpcGxlIGljb24gdHlwZXMsIHNvIHN0YXJ0aW5nIGl0IGFzIGFuIGVudW1cbmV4cG9ydCBjb25zdCBJQ09OX1RZUEUgPSB7XG4gIFNWRzogJ1NWRycsXG59O1xuXG5jb25zdCBnZXRJY29uID0gKGN1c3RvbVBsdWdpblByb3BzKSA9PiB7XG4gIGNvbnN0IHN2ZyA9IGN1c3RvbVBsdWdpblByb3BzLmljb247XG5cbiAgc3dpdGNoIChjdXN0b21QbHVnaW5Qcm9wcy5pY29uVHlwZSkge1xuICAgIGNhc2UgSUNPTl9UWVBFLlNWRzpcbiAgICAgIHJldHVybiA8c3BhbiBzdHlsZT17eyB3aWR0aDogMjgsIGhlaWdodDogMjggfX0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3sgX19odG1sOiBzdmcgfX0gLz47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8c3Bhbj57Y3VzdG9tUGx1Z2luUHJvcHMuaWNvbkFsdH08L3NwYW4+O1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBDdXN0b21QbHVnaW4odHlwZSwgY3VzdG9tUGx1Z2luUHJvcHMpIHtcbiAgY29uc3QgdG9vbGJhciA9IHtcbiAgICBpY29uOiBnZXRJY29uKGN1c3RvbVBsdWdpblByb3BzKSxcbiAgICBvbkNsaWNrOiAodmFsdWUsIG9uQ2hhbmdlLCBnZXRGb2N1c2VkVmFsdWUpID0+IHtcbiAgICAgIGNvbnN0IGVkaXRvckRPTSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWtleT1cIiR7dmFsdWUuZG9jdW1lbnQua2V5fVwiXWApO1xuICAgICAgbGV0IHZhbHVlVG9Vc2UgPSB2YWx1ZTtcbiAgICAgIGNvbnN0IGNhbGxiYWNrID0gKHsgY3VzdG9tQ29udGVudCwgY29udGVudFR5cGUgfSwgZm9jdXMpID0+IHtcbiAgICAgICAgdmFsdWVUb1VzZSA9IGdldEZvY3VzZWRWYWx1ZSgpO1xuXG4gICAgICAgIHN3aXRjaCAoY29udGVudFR5cGUpIHtcbiAgICAgICAgICBjYXNlIENPTlRFTlRfVFlQRS5GUkFHTUVOVDpcbiAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBjb250ZW50VmFsdWUgPSBodG1sVG9WYWx1ZShjdXN0b21Db250ZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5nZSA9IHZhbHVlVG9Vc2UuY2hhbmdlKCkuaW5zZXJ0RnJhZ21lbnQoY29udGVudFZhbHVlLmRvY3VtZW50KTtcblxuICAgICAgICAgICAgdmFsdWVUb1VzZSA9IGNoYW5nZS52YWx1ZTtcbiAgICAgICAgICAgIG9uQ2hhbmdlKGNoYW5nZSk7XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmb2N1cykge1xuICAgICAgICAgIGlmIChlZGl0b3JET00pIHtcbiAgICAgICAgICAgIGVkaXRvckRPTS5mb2N1cygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgLy8gTk9URTogdGhlIGVtaXR0ZWQgZXZlbnQgKGN1c3RvbSBldmVudCBuYW1lZCBieSBjbGllbnQpIHdpbGwgYmUgc3VmZml4ZWQgd2l0aCBcIlBJRS1cIlxuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudChgUElFLSR7Y3VzdG9tUGx1Z2luUHJvcHMuZXZlbnR9YCwge1xuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgLi4uY3VzdG9tUGx1Z2luUHJvcHMsXG4gICAgICAgICAgICBjYWxsYmFjayxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSxcbiAgICBzdXBwb3J0czogKG5vZGUpID0+IG5vZGUub2JqZWN0ID09PSAnaW5saW5lJyAmJiBub2RlLnR5cGUgPT09IHR5cGUsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lOiB0eXBlLFxuICAgIHRvb2xiYXIsXG4gICAgcmVuZGVyTm9kZShwcm9wcykge1xuICAgICAgaWYgKHByb3BzLm5vZGUudHlwZSA9PT0gdHlwZSkge1xuICAgICAgICBjb25zdCB7IG5vZGUgfSA9IHByb3BzO1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IG5vZGU7XG4gICAgICAgIGNvbnN0IGpzb25EYXRhID0gZGF0YS50b0pTT04oKTtcbiAgICAgICAgY29uc3QgeyBjdXN0b21Db250ZW50LCBjb250ZW50VHlwZSB9ID0ganNvbkRhdGE7XG5cbiAgICAgICAgc3dpdGNoIChjb250ZW50VHlwZSkge1xuICAgICAgICAgIGNhc2UgQ09OVEVOVF9UWVBFLkZSQUdNRU5UOlxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gY3VzdG9tQ29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGNBQUEsR0FBQUQsT0FBQTtBQUFrRCxTQUFBRSxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FBQUYsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsT0FBQWEsT0FBQSxXQUFBZCxDQUFBLFFBQUFlLGdCQUFBLGFBQUFoQixDQUFBLEVBQUFDLENBQUEsRUFBQUMsQ0FBQSxDQUFBRCxDQUFBLFNBQUFFLE1BQUEsQ0FBQWMseUJBQUEsR0FBQWQsTUFBQSxDQUFBZSxnQkFBQSxDQUFBbEIsQ0FBQSxFQUFBRyxNQUFBLENBQUFjLHlCQUFBLENBQUFmLENBQUEsS0FBQUgsT0FBQSxDQUFBSSxNQUFBLENBQUFELENBQUEsR0FBQWEsT0FBQSxXQUFBZCxDQUFBLElBQUFFLE1BQUEsQ0FBQWdCLGNBQUEsQ0FBQW5CLENBQUEsRUFBQUMsQ0FBQSxFQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFOLENBQUEsRUFBQUQsQ0FBQSxpQkFBQUQsQ0FBQTtBQUVsRDtBQUNPLElBQU1vQixZQUFZLEdBQUFDLE9BQUEsQ0FBQUQsWUFBQSxHQUFHO0VBQzFCRSxRQUFRLEVBQUU7QUFDWixDQUFDOztBQUVEO0FBQ08sSUFBTUMsU0FBUyxHQUFBRixPQUFBLENBQUFFLFNBQUEsR0FBRztFQUN2QkMsR0FBRyxFQUFFO0FBQ1AsQ0FBQztBQUVELElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPQSxDQUFJQyxpQkFBaUIsRUFBSztFQUNyQyxJQUFNQyxHQUFHLEdBQUdELGlCQUFpQixDQUFDRSxJQUFJO0VBRWxDLFFBQVFGLGlCQUFpQixDQUFDRyxRQUFRO0lBQ2hDLEtBQUtOLFNBQVMsQ0FBQ0MsR0FBRztNQUNoQixvQkFBTzdCLE1BQUEsWUFBQW1DLGFBQUE7UUFBTUMsS0FBSyxFQUFFO1VBQUVDLEtBQUssRUFBRSxFQUFFO1VBQUVDLE1BQU0sRUFBRTtRQUFHLENBQUU7UUFBQ0MsdUJBQXVCLEVBQUU7VUFBRUMsTUFBTSxFQUFFUjtRQUFJO01BQUUsQ0FBRSxDQUFDO0lBQzdGO01BQ0Usb0JBQU9oQyxNQUFBLFlBQUFtQyxhQUFBLGVBQU9KLGlCQUFpQixDQUFDVSxPQUFjLENBQUM7RUFDbkQ7QUFDRixDQUFDO0FBRWMsU0FBU0MsWUFBWUEsQ0FBQ0MsSUFBSSxFQUFFWixpQkFBaUIsRUFBRTtFQUM1RCxJQUFNYSxPQUFPLEdBQUc7SUFDZFgsSUFBSSxFQUFFSCxPQUFPLENBQUNDLGlCQUFpQixDQUFDO0lBQ2hDYyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBR0MsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLGVBQWUsRUFBSztNQUM3QyxJQUFNQyxTQUFTLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBYSxnQkFBQUMsTUFBQSxDQUFlTixLQUFLLENBQUNJLFFBQVEsQ0FBQ0csR0FBRyxRQUFJLENBQUM7TUFDOUUsSUFBSUMsVUFBVSxHQUFHUixLQUFLO01BQ3RCLElBQU1TLFFBQVEsR0FBRyxTQUFYQSxRQUFRQSxDQUFBQyxJQUFBLEVBQW9DQyxLQUFLLEVBQUs7UUFBQSxJQUF4Q0MsYUFBYSxHQUFBRixJQUFBLENBQWJFLGFBQWE7VUFBRUMsV0FBVyxHQUFBSCxJQUFBLENBQVhHLFdBQVc7UUFDNUNMLFVBQVUsR0FBR04sZUFBZSxDQUFDLENBQUM7UUFFOUIsUUFBUVcsV0FBVztVQUNqQixLQUFLbEMsWUFBWSxDQUFDRSxRQUFRO1VBQzFCO1lBQVM7Y0FDUCxJQUFNaUMsWUFBWSxHQUFHLElBQUFDLDBCQUFXLEVBQUNILGFBQWEsQ0FBQztjQUMvQyxJQUFNSSxNQUFNLEdBQUdSLFVBQVUsQ0FBQ1EsTUFBTSxDQUFDLENBQUMsQ0FBQ0MsY0FBYyxDQUFDSCxZQUFZLENBQUNWLFFBQVEsQ0FBQztjQUV4RUksVUFBVSxHQUFHUSxNQUFNLENBQUNoQixLQUFLO2NBQ3pCQyxRQUFRLENBQUNlLE1BQU0sQ0FBQztjQUVoQjtZQUNGO1FBQ0Y7UUFFQSxJQUFJTCxLQUFLLEVBQUU7VUFDVCxJQUFJUixTQUFTLEVBQUU7WUFDYkEsU0FBUyxDQUFDUSxLQUFLLENBQUMsQ0FBQztVQUNuQjtRQUNGO01BQ0YsQ0FBQzs7TUFFRDtNQUNBTyxNQUFNLENBQUNDLGFBQWEsQ0FDbEIsSUFBSUMsV0FBVyxRQUFBZCxNQUFBLENBQVFyQixpQkFBaUIsQ0FBQ29DLEtBQUssR0FBSTtRQUNoREMsTUFBTSxFQUFBbkQsYUFBQSxDQUFBQSxhQUFBLEtBQ0RjLGlCQUFpQjtVQUNwQndCLFFBQVEsRUFBUkE7UUFBUTtNQUVaLENBQUMsQ0FDSCxDQUFDO0lBQ0gsQ0FBQztJQUNEYyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR0MsSUFBSTtNQUFBLE9BQUtBLElBQUksQ0FBQ0MsTUFBTSxLQUFLLFFBQVEsSUFBSUQsSUFBSSxDQUFDM0IsSUFBSSxLQUFLQSxJQUFJO0lBQUE7RUFDcEUsQ0FBQztFQUVELE9BQU87SUFDTDZCLElBQUksRUFBRTdCLElBQUk7SUFDVkMsT0FBTyxFQUFQQSxPQUFPO0lBQ1A2QixVQUFVLFdBQVZBLFVBQVVBLENBQUNDLEtBQUssRUFBRTtNQUNoQixJQUFJQSxLQUFLLENBQUNKLElBQUksQ0FBQzNCLElBQUksS0FBS0EsSUFBSSxFQUFFO1FBQzVCLElBQVEyQixJQUFJLEdBQUtJLEtBQUssQ0FBZEosSUFBSTtRQUNaLElBQVFLLElBQUksR0FBS0wsSUFBSSxDQUFiSyxJQUFJO1FBQ1osSUFBTUMsUUFBUSxHQUFHRCxJQUFJLENBQUNFLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQVFuQixhQUFhLEdBQWtCa0IsUUFBUSxDQUF2Q2xCLGFBQWE7VUFBRUMsV0FBVyxHQUFLaUIsUUFBUSxDQUF4QmpCLFdBQVc7UUFFbEMsUUFBUUEsV0FBVztVQUNqQixLQUFLbEMsWUFBWSxDQUFDRSxRQUFRO1VBQzFCO1lBQ0UsT0FBTytCLGFBQWE7UUFDeEI7TUFDRjtJQUNGO0VBQ0YsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -27,4 +27,4 @@ HtmlModeIcon.propTypes = {
|
|
|
27
27
|
isHtmlMode: _propTypes["default"].bool.isRequired
|
|
28
28
|
};
|
|
29
29
|
var _default = exports["default"] = HtmlModeIcon;
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiU3R5bGVkSHRtbEljb24iLCJzdHlsZWQiLCJfcmVmIiwidGhlbWUiLCJmb250RmFtaWx5IiwiZm9udFNpemUiLCJ0eXBvZ3JhcGh5IiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJwb3NpdGlvbiIsIndoaXRlU3BhY2UiLCJIdG1sTW9kZUljb24iLCJfcmVmMiIsImlzSHRtbE1vZGUiLCJjcmVhdGVFbGVtZW50IiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsImlzUmVxdWlyZWQiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGx1Z2lucy9odG1sL2ljb25zL2luZGV4LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcblxuY29uc3QgU3R5bGVkSHRtbEljb24gPSBzdHlsZWQoJ2RpdicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGZvbnRGYW1pbHk6ICdDZXJlYnJpIFNhbnMsIEFyaWFsLCBzYW5zLXNlcmlmJyxcbiAgZm9udFNpemU6IHRoZW1lLnR5cG9ncmFwaHkuZm9udFNpemUsXG4gIGZvbnRXZWlnaHQ6ICdib2xkJyxcbiAgbGluZUhlaWdodDogJzE0cHgnLFxuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgd2hpdGVTcGFjZTogJ25vd3JhcCcsXG59KSk7XG5cbmNvbnN0IEh0bWxNb2RlSWNvbiA9ICh7IGlzSHRtbE1vZGUgfSkgPT4gKFxuICA8U3R5bGVkSHRtbEljb24+e2lzSHRtbE1vZGUgPyAnRXhpdCA8SFRNTD4gbW9kZScgOiAnPEhUTUw+J308L1N0eWxlZEh0bWxJY29uPlxuKTtcblxuSHRtbE1vZGVJY29uLnByb3BUeXBlcyA9IHtcbiAgaXNIdG1sTW9kZTogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEh0bWxNb2RlSWNvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUVBLElBQU1HLGNBQWMsR0FBRyxJQUFBQyxjQUFNLEVBQUMsS0FBSyxDQUFDLENBQUMsVUFBQUMsSUFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQUEsT0FBUTtJQUNuREMsVUFBVSxFQUFFLGlDQUFpQztJQUM3Q0MsUUFBUSxFQUFFRixLQUFLLENBQUNHLFVBQVUsQ0FBQ0QsUUFBUTtJQUNuQ0UsVUFBVSxFQUFFLE1BQU07SUFDbEJDLFVBQVUsRUFBRSxNQUFNO0lBQ2xCQyxRQUFRLEVBQUUsVUFBVTtJQUNwQkMsVUFBVSxFQUFFO0VBQ2QsQ0FBQztBQUFBLENBQUMsQ0FBQztBQUVILElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBQyxLQUFBO0VBQUEsSUFBTUMsVUFBVSxHQUFBRCxLQUFBLENBQVZDLFVBQVU7RUFBQSxvQkFDaENsQixNQUFBLFlBQUFtQixhQUFBLENBQUNkLGNBQWMsUUFBRWEsVUFBVSxHQUFHLGtCQUFrQixHQUFHLFFBQXlCLENBQUM7QUFBQSxDQUM5RTtBQUVERixZQUFZLENBQUNJLFNBQVMsR0FBRztFQUN2QkYsVUFBVSxFQUFFRyxxQkFBUyxDQUFDQyxJQUFJLENBQUNDO0FBQzdCLENBQUM7QUFBQyxJQUFBQyxRQUFBLEdBQUFDLE9BQUEsY0FFYVQsWUFBWSIsImlnbm9yZUxpc3QiOltdfQ==
|