@gravitee/ui-components 3.23.0 → 3.24.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.
Files changed (90) hide show
  1. package/package.json +22 -21
  2. package/src/atoms/gv-autocomplete.js +5 -6
  3. package/src/atoms/gv-button.js +4 -4
  4. package/src/atoms/gv-checkbox.js +3 -3
  5. package/src/atoms/gv-date-picker-calendar.js +4 -5
  6. package/src/atoms/gv-date-picker-cell.js +4 -4
  7. package/src/atoms/gv-date-picker.js +4 -5
  8. package/src/atoms/gv-file-upload.js +4 -5
  9. package/src/atoms/gv-icon.js +14 -7
  10. package/src/atoms/gv-image.js +4 -4
  11. package/src/atoms/gv-input-message.js +2 -3
  12. package/src/atoms/gv-input.js +3 -3
  13. package/src/atoms/gv-link.js +6 -6
  14. package/src/atoms/gv-message.js +3 -3
  15. package/src/atoms/gv-metric.js +3 -3
  16. package/src/atoms/gv-relative-time.js +6 -4
  17. package/src/atoms/gv-select-native.js +6 -6
  18. package/src/atoms/gv-select.js +5 -5
  19. package/src/atoms/gv-spinner.js +2 -2
  20. package/src/atoms/gv-state.js +3 -3
  21. package/src/atoms/gv-switch.js +4 -4
  22. package/src/atoms/gv-tag.js +3 -3
  23. package/src/atoms/gv-text.js +4 -4
  24. package/src/charts/gv-chart-bar.js +2 -2
  25. package/src/charts/gv-chart-gauge.js +2 -2
  26. package/src/charts/gv-chart-histogram.js +2 -2
  27. package/src/charts/gv-chart-line.js +2 -2
  28. package/src/charts/gv-chart-map.js +2 -2
  29. package/src/charts/gv-chart-pie.js +2 -2
  30. package/src/lib/item.js +2 -2
  31. package/src/lib/studio.js +3 -3
  32. package/src/mixins/chart-element.js +3 -4
  33. package/src/mixins/input-element.js +3 -3
  34. package/src/mixins/item-resource.js +3 -3
  35. package/src/mixins/with-skeleton-attribute.js +2 -2
  36. package/src/molecules/gv-card-full.js +3 -3
  37. package/src/molecules/gv-card-list.js +3 -4
  38. package/src/molecules/gv-card.js +3 -3
  39. package/src/molecules/gv-category-list.js +2 -3
  40. package/src/molecules/gv-category.js +3 -3
  41. package/src/molecules/gv-code-hint.js +2 -3
  42. package/src/molecules/gv-code.js +3 -3
  43. package/src/molecules/gv-confirm.js +2 -3
  44. package/src/molecules/gv-cron-editor.js +3 -3
  45. package/src/molecules/gv-dropdown-menu.js +2 -3
  46. package/src/molecules/gv-expandable.js +3 -3
  47. package/src/molecules/gv-expression-language.js +2 -3
  48. package/src/molecules/gv-identity-picture.js +3 -4
  49. package/src/molecules/gv-list.js +4 -4
  50. package/src/molecules/gv-metrics.js +4 -4
  51. package/src/molecules/gv-modal.js +2 -2
  52. package/src/molecules/gv-nav.js +5 -5
  53. package/src/molecules/gv-option.js +6 -6
  54. package/src/molecules/gv-plans.js +5 -6
  55. package/src/molecules/gv-popover.js +3 -4
  56. package/src/molecules/gv-promote.js +3 -3
  57. package/src/molecules/gv-rating-list.js +4 -5
  58. package/src/molecules/gv-rating.js +4 -4
  59. package/src/molecules/gv-row-expandable.js +2 -2
  60. package/src/molecules/gv-row.js +3 -3
  61. package/src/molecules/gv-stats.js +4 -4
  62. package/src/molecules/gv-stepper.js +4 -4
  63. package/src/molecules/gv-table.js +7 -8
  64. package/src/molecules/gv-tree.js +4 -4
  65. package/src/organisms/gv-documentation.js +2 -2
  66. package/src/organisms/gv-header.js +6 -6
  67. package/src/organisms/gv-http-client.js +2 -2
  68. package/src/organisms/gv-menu.js +3 -3
  69. package/src/organisms/gv-newsletter-subscription.js +2 -2
  70. package/src/organisms/gv-pagination.js +2 -2
  71. package/src/organisms/gv-properties.js +3 -3
  72. package/src/organisms/gv-resizable-views.js +3 -4
  73. package/src/organisms/gv-resources.js +2 -2
  74. package/src/organisms/gv-schema-form-array.js +5 -5
  75. package/src/organisms/gv-schema-form-control-object.js +5 -5
  76. package/src/organisms/gv-schema-form-control.js +4 -9
  77. package/src/organisms/gv-schema-form.js +8 -7
  78. package/src/organisms/gv-tabs.js +2 -3
  79. package/src/organisms/gv-user-menu.js +4 -4
  80. package/src/organisms/gv-vertical-menu.js +2 -2
  81. package/src/policy-studio/gv-flow-step.js +3 -3
  82. package/src/policy-studio/gv-flow.js +5 -5
  83. package/src/policy-studio/gv-policy-studio-menu.js +4 -4
  84. package/src/policy-studio/gv-policy-studio.js +5 -5
  85. package/src/styles/empty.js +2 -2
  86. package/src/styles/input.js +2 -2
  87. package/src/styles/link.js +2 -2
  88. package/src/styles/skeleton.js +2 -2
  89. package/src/styles/zoom.js +2 -2
  90. package/src/theme/gv-theme.js +2 -2
@@ -13,8 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, LitElement } from 'lit-element';
17
- import { html } from 'lit-html';
16
+ import { css, LitElement, html } from 'lit';
18
17
  import '../molecules/gv-code';
19
18
  import '../molecules/gv-code-hint';
20
19
  import CodeMirror from 'codemirror/lib/codemirror';
@@ -612,4 +611,4 @@ export class GvExpressionLanguage extends LitElement {
612
611
 
613
612
  }
614
613
  window.customElements.define('gv-expression-language', GvExpressionLanguage);
615
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1leHByZXNzaW9uLWxhbmd1YWdlLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwiQ29kZU1pcnJvciIsImdldCIsImlucHV0IiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsIkd2RXhwcmVzc2lvbkxhbmd1YWdlIiwicHJvcGVydGllcyIsImxhYmVsIiwidHlwZSIsIlN0cmluZyIsInBsYWNlaG9sZGVyIiwiZGVzY3JpcHRpb24iLCJ2YWx1ZSIsInJlZmxlY3QiLCJncmFtbWFyIiwiT2JqZWN0Iiwicm93cyIsIk51bWJlciIsIm9wdGlvbnMiLCJhdHRyaWJ1dGUiLCJkaXNhYmxlZCIsIkJvb2xlYW4iLCJyZXF1aXJlZCIsInJlYWRvbmx5IiwiYXV0b2ZvY3VzIiwiaW5uZXJIaW50IiwiY29uc3RydWN0b3IiLCJoaW50SWQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uUmVhZHkiLCJfb25JbnB1dCIsImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJoaW50RWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcmVudEVsZW1lbnQiLCJyZW1vdmVDaGlsZCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJjb2RlRWxlbWVudCIsIl9vbktleWRvd24iLCJjb2RlbWlycm9yIiwiZ2V0Q00iLCJzZXRPcHRpb24iLCJpbnNlcnRPclN1Z2dlc3QiLCJiaW5kIiwib24iLCJjbSIsIl9sYXN0S2V5RG93biIsImtleSIsIl9nZXRPckNyZWF0ZUhpbnQiLCJyZXF1ZXN0VXBkYXRlIiwib3JpZ2luIiwiY3Vyc29yIiwiZ2V0Q3Vyc29yIiwiY2FyZXRQb3NpdGlvbiIsImNoIiwiY3VycmVudEVMIiwiZ2V0Q3VycmVudEVsIiwibGluZSIsIm5ld1RleHQiLCJlbCIsInN1YnN0cmluZyIsImZyb20iLCJ0ZXh0IiwidXBkYXRlIiwiY3VycmVudFRhcmdldCIsImdldFByZXZpb3VzS2V5IiwiaW5kZXhPZiIsImtleXMiLCJzcGxpdCIsInNwbGljZSIsImpvaW4iLCJnZXRUeXBlIiwidHlwZUlkIiwiZ2V0RW51bSIsImlzQXJyYXkiLCJtYXRjaCIsImlzTWFwIiwiaW5jbHVkZXMiLCJidWlsZE1ldGhvZHMiLCJtZXRob2RzIiwibWV0aG9kTmFtZSIsImxpc3QiLCJmaWx0ZXIiLCJuYW1lIiwic3RhcnRzV2l0aCIsIm1hcCIsInBhcmFtcyIsInJldHVyblR5cGUiLCJkaXNwbGF5UGFyYW1zIiwicCIsImRpc3BsYXlUZXh0IiwiYnVpbGRFbnVtIiwiY2FuZGlkYXRlIiwicGFyYW1ldGVyIiwidHlwZUVudW0iLCJfdHlwZSIsInRvTG93ZXJDYXNlIiwiZyIsImlzRnVuY3Rpb24iLCJ0ZXJtIiwiZmluZE1ldGhvZCIsImZpbmQiLCJmaW5kUmV0dXJuVHlwZSIsIndvcmRzIiwiZm5zIiwiZm4iLCJsZW5ndGgiLCJmb3JFYWNoIiwibWV0aG9kIiwiZW5kc1dpdGgiLCJyZXBsYWNlQWxsIiwiX3N1Z2dlc3QiLCJwb3MiLCJkYXRhIiwicmVwbGFjZVJhbmdlIiwic2V0Q3Vyc29yIiwiaXNIdHRwSGVhZGVyIiwiZ2V0RW51bVRlcm0iLCJzcGxpdHRlZCIsImdldEdyYW1tYXIiLCJzZW50ZW5jZSIsInByZWZpeCIsInByZXZpb3VzS2V5IiwibGFzdFRlcm0iLCJlbnVtVGVybSIsInByb3AiLCJzdWZmaXgiLCJnZXRTdWZmaXgiLCJncm91cCIsInN0YXJ0IiwiZW5kIiwiYW5hbHlzZSIsImV4cHJlc3Npb25zIiwic2xpY2UiLCJ0cmltIiwiayIsInJldmVyc2UiLCJzaGFkb3dSb290IiwiY2FuTW92ZUN1cnNvciIsIl9kb1N1Z2dlc3QiLCJkZXRhaWwiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaWQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJzdWdnZXN0aW9ucyIsImNvZGUiLCJoaW50Iiwic2hvd0hpbnQiLCJ0b2tlbiIsImdldFRva2VuQXQiLCJjdXJyZW50V29yZCIsInN0cmluZyIsIl9zdWdnZXN0aW9ucyIsIml0ZW0iLCJQb3MiLCJ0byIsImNvbXBsZXRlU2luZ2xlIiwiY29udGFpbmVyIiwicmVuZGVyIiwibW9kZSIsImF1dG9DbG9zZVRhZ3MiLCJhdXRvQ2xvc2VCcmFja2V0cyIsIm1hdGNoVGFncyIsImxpbnQiLCJzdHlsZXMiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLFFBQWdDLGFBQWhDO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixVQUFyQjtBQUNBLE9BQU8sc0JBQVA7QUFDQSxPQUFPLDJCQUFQO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QiwyQkFBdkI7QUFDQSxPQUFPLGlDQUFQO0FBQ0EsU0FBU0MsR0FBVCxRQUFvQixhQUFwQjtBQUNBLFNBQVNDLEtBQVQsUUFBc0IsaUJBQXRCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0MsZUFBcEM7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLG9CQUFOLFNBQW1DTixVQUFuQyxDQUE4QztBQUM5QixhQUFWTyxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BREY7QUFFTEMsTUFBQUEsV0FBVyxFQUFFO0FBQUVGLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUZSO0FBR0xFLE1BQUFBLFdBQVcsRUFBRTtBQUFFSCxRQUFBQSxJQUFJLEVBQUVD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TixLQUpSLFlBS0UsS0FBS0ksSUFMUCxnQkFNTSxLQUFLSSxRQU5YLGdCQU9NLEtBQUtHLFFBUFgsZ0JBUU0sS0FBS0QsUUFSWCxpQkFTTyxLQUFLRSxTQVRaLG1CQVVTLEtBQUtkLFdBVmQsbUJBV1MsS0FBS0MsV0FYZCxnQkFhUCxLQUFLYyxTQUFMLEdBQWlCekIsSUFBSSxxQkFBcUIsS0FBSzJCLE1BQTFCLG1CQUFyQixHQUEyRSxFQWJwRSxTQUFYO0FBZUQ7O0FBRWdCLGFBQU5tSixNQUFNLEdBQUc7QUFDbEIsV0FBTyxDQUNMM0ssS0FESyxFQUVMO0FBQ0FMLElBQUFBLEdBQUcsbURBSEUsQ0FBUDtBQWNEOztBQWpka0Q7QUFvZHJEaUwsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2Qix3QkFBN0IsRUFBdUQ1SyxvQkFBdkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50IH0gZnJvbSAnbGl0LWVsZW1lbnQnO1xuaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdC1odG1sJztcbmltcG9ydCAnLi4vbW9sZWN1bGVzL2d2LWNvZGUnO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtY29kZS1oaW50JztcbmltcG9ydCBDb2RlTWlycm9yIGZyb20gJ2NvZGVtaXJyb3IvbGliL2NvZGVtaXJyb3InO1xuaW1wb3J0ICdjb2RlbWlycm9yL2FkZG9uL2hpbnQvc2hvdy1oaW50JztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29iamVjdC1wYXRoJztcbmltcG9ydCB7IGlucHV0IH0gZnJvbSAnLi4vc3R5bGVzL2lucHV0JztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcblxuLyoqXG4gKiBFeHByZXNzaW9uIExhbmd1YWdlIGNvbXBvbmVudFxuICpcbiAqIEBmaXJlcyBndi1leHByZXNzaW9uLWxhbmd1YWdlOmlucHV0IC0gaW5wdXQgZXZlbnRzIHdpdGggdGhlIGB2YWx1ZWAgb24gYGRldGFpbGBcbiAqIEBmaXJlcyBndi1leHByZXNzaW9uLWxhbmd1YWdlOnJlYWR5IC0gZXZlbnQgZGlzcGF0Y2ggd2hlbiBjb21wb25lbnQgaXMgcmVhZHlcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSB2YWx1ZSAtIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IGxhYmVsIC0gbGFiZWwgb2YgdGhlIGlucHV0XG4gKiBAYXR0ciB7U3RyaW5nfSBwbGFjZWhvbGRlciAtIGFuIGV4YW1wbGUgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgaW5wdXQgd2hlbiBlbXB0eVxuICogQGF0dHIge1N0cmluZ30gZGVzY3JpcHRpb24gLSBhIGRlc2NyaXB0aW9uXG4gKiBAYXR0ciB7T2JqZWN0fSBncmFtbWFyIC0gR3JhbW1hciBmb3IgZXhwcmVzc2lvbiBsYW5ndWFnZXNcbiAqIEBhdHRyIHtOdW1iZXJ9IHJvd3MgLSBOdW1iZXIgb2Ygcm93cywgaWYgcm93cz0xIHRoZSBmaWVsZCB3aWxsIGxvb2sgbGlrZSBhbiBpbnB1dCB0ZXh0XG4gKiBAYXR0ciB7T2JqZWN0fSBvcHRpb25zIC0gIG9wdGlvbnMgYmFzZWQgb24gY29kZW1pcnJvciBodHRwczovL2NvZGVtaXJyb3IubmV0L2RvYy9tYW51YWwuaHRtbCNjb25maWdcbiAqIEBhdHRyIHtCb29sZWFufSBpbm5lci1oaW50IC0gVXNlZnVsIHRvIGZvcmNlIGluZWVyIHJlbmRlcmluZyBvZiBcImhpbnRcIiBlbGVtZW50XG4gKiBAYXR0ciB7Qm9vbGVhbn0gW2F1dG9mb2N1cz1mYWxzZV0gLSB0cnVlIHRvIHB1dCB0aGUgZm9jdXMgb24gdGhlIGlucHV0XG4gKi9cbmV4cG9ydCBjbGFzcyBHdkV4cHJlc3Npb25MYW5ndWFnZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgcGxhY2Vob2xkZXI6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBkZXNjcmlwdGlvbjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgZ3JhbW1hcjogeyB0eXBlOiBPYmplY3QgfSxcbiAgICAgIHJvd3M6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBvcHRpb25zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgcmVxdWlyZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgcmVhZG9ubHk6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgYXV0b2ZvY3VzOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGlubmVySGludDogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICdpbm5lci1oaW50JyB9LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaGludElkID0gJ2d2LWV4cHJlc3Npb24tbGFuZ3VhZ2VfaGludCc7XG4gICAgdGhpcy5pbm5lckhpbnQgPSBmYWxzZTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2d2LWNvZGU6cmVhZHknLCB0aGlzLl9vblJlYWR5KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2d2LWNvZGU6aW5wdXQnLCB0aGlzLl9vbklucHV0KTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgLy8gRXhwZXJpbWVudGFsXG4gICAgLy8gQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcignbGludCcsICdqYXZhc2NyaXB0JywgdGhpcy5fbGludFZhbGlkYXRvcik7XG4gIH1cblxuICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICghdGhpcy5pbm5lckhpbnQpIHtcbiAgICAgIGNvbnN0IGhpbnRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5oaW50SWR9YCk7XG4gICAgICBpZiAoaGludEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBoaW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGhpbnRFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25SZWFkeShldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgY29kZUVsZW1lbnQgPSB0aGlzLmNvZGVFbGVtZW50O1xuICAgIGNvZGVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleWRvd24pO1xuICAgIGNvbnN0IGNvZGVtaXJyb3IgPSBjb2RlRWxlbWVudC5nZXRDTSgpO1xuICAgIGNvZGVtaXJyb3Iuc2V0T3B0aW9uKCdleHRyYUtleXMnLCB7XG4gICAgICAnQ21kLUUnOiB0aGlzLmluc2VydE9yU3VnZ2VzdC5iaW5kKHRoaXMsIGNvZGVtaXJyb3IpLFxuICAgICAgJ0N0cmwtRSc6IHRoaXMuaW5zZXJ0T3JTdWdnZXN0LmJpbmQodGhpcywgY29kZW1pcnJvciksXG4gICAgfSk7XG4gICAgY29kZW1pcnJvci5vbigna2V5ZG93bicsIChjbSwgZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuX2xhc3RLZXlEb3duID0gZXZlbnQua2V5O1xuICAgICAgdGhpcy5fZ2V0T3JDcmVhdGVIaW50KCkucmVxdWVzdFVwZGF0ZSgpO1xuICAgIH0pO1xuXG4gICAgY29kZW1pcnJvci5vbignYmVmb3JlQ2hhbmdlJywgKGNtLCBldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gJ2NvbXBsZXRlJykge1xuICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGNvbXBsZXRpb25cbiAgICAgICAgY29uc3QgY3Vyc29yID0gY20uZ2V0Q3Vyc29yKCk7XG4gICAgICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBjdXJzb3IuY2g7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFTCA9IHRoaXMuZ2V0Q3VycmVudEVsKGNhcmV0UG9zaXRpb24sIGN1cnNvci5saW5lKTtcbiAgICAgICAgY29uc3QgbmV3VGV4dCA9IGAke2N1cnJlbnRFTC5lbC5zdWJzdHJpbmcoZXZlbnQuZnJvbS5jaCwgY2FyZXRQb3NpdGlvbil9JHtldmVudC50ZXh0fWA7XG4gICAgICAgIHJldHVybiBldmVudC51cGRhdGUobnVsbCwgbnVsbCwgW25ld1RleHRdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdyZWFkeScsIHsgY3VycmVudFRhcmdldDogdGhpcyB9KTtcbiAgfVxuXG4gIC8vIEV4cGVyaW1lbnRhbFxuICAvLyBfbGludFZhbGlkYXRvciAodGV4dCwgb3B0aW9ucykge1xuICAvLyAgIGNvbnN0IGVscyA9IHRleHQubWF0Y2goRUxfUkVHRVgpO1xuICAvLyAgIGlmIChlbHMgIT0gbnVsbCkge1xuICAvLyAgICAgcmV0dXJuIGVscy5tYXAoKGVsKSA9PiB7XG4gIC8vICAgICAgIGNvbnN0IGFzc2lnbiA9IGVsLm1hdGNoKC89L2cpO1xuICAvLyAgICAgICBjb25zdCBjb21wYXJlID0gZWwubWF0Y2goLz09L2cpO1xuICAvLyAgICAgICBpZiAoYXNzaWduICE9IG51bGwgJiYgY29tcGFyZSA9PSBudWxsKSB7XG4gIC8vICAgICAgICAgY29uc3Qgc3RhcnQgPSB0ZXh0LmluZGV4T2YoZWwpICsgZWwuaW5kZXhPZignPScpO1xuICAvLyAgICAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgMTtcbiAgLy8gICAgICAgICByZXR1cm4ge1xuICAvLyAgICAgICAgICAgbWVzc2FnZTogYEV4cGVjdGVkIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBhbmQgaW5zdGVhZCBzYXcgYW4gYXNzaWdubWVudC4gKHVzZSAnPT0nIGluc3RlYWQgJz0nKWAsXG4gIC8vICAgICAgICAgICBzZXZlcml0eTogJ3dhcm5pbmcnLFxuICAvLyAgICAgICAgICAgZnJvbTogQ29kZU1pcnJvci5Qb3MoMCwgc3RhcnQpLFxuICAvLyAgICAgICAgICAgdG86IENvZGVNaXJyb3IuUG9zKDAsIGVuZCksXG4gIC8vICAgICAgICAgfTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgICByZXR1cm4gbnVsbDtcbiAgLy8gICAgIH0pXG4gIC8vICAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCAhPSBudWxsKTtcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIFtdO1xuICAvLyB9XG5cbiAgZ2V0UHJldmlvdXNLZXkoa2V5KSB7XG4gICAgaWYgKGtleSAhPSBudWxsICYmIGtleS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnLicpO1xuICAgICAgLy8gUmVtb3ZlIGxhc3QgZWxlbWVudFxuICAgICAga2V5cy5zcGxpY2UoLTEsIDEpO1xuICAgICAgcmV0dXJuIGtleXMuam9pbignLicpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldFR5cGUodHlwZUlkKSB7XG4gICAgaWYgKHRoaXMuZ3JhbW1hciAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gZ2V0KHRoaXMuZ3JhbW1hciwgYF90eXBlcy4ke3R5cGVJZH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRFbnVtKHR5cGVJZCkge1xuICAgIGlmICh0aGlzLmdyYW1tYXIgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGdldCh0aGlzLmdyYW1tYXIsIGBfZW51bXMuJHt0eXBlSWR9YCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaXNBcnJheSh0eXBlSWQpIHtcbiAgICByZXR1cm4gdHlwZUlkICYmIHR5cGVJZC5tYXRjaCgvW2EtekEtWl0qXFxbXFxdJC9nKTtcbiAgfVxuXG4gIGlzTWFwKHR5cGVJZCkge1xuICAgIHJldHVybiBbJ01hcCcsICdIdHRwSGVhZGVycycsICdNdWx0aVZhbHVlTWFwJ10uaW5jbHVkZXModHlwZUlkKTtcbiAgfVxuXG4gIGJ1aWxkTWV0aG9kcyhtZXRob2RzLCBtZXRob2ROYW1lID0gJycpIHtcbiAgICBjb25zdCBsaXN0ID0gbWV0aG9kc1xuICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWUuc3RhcnRzV2l0aChtZXRob2ROYW1lKSlcbiAgICAgIC5tYXAoKHsgbmFtZSwgcGFyYW1zID0gW10sIHJldHVyblR5cGUgfSkgPT4ge1xuICAgICAgICBjb25zdCB0ZXh0ID0gYCR7bmFtZX0oKWA7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlQYXJhbXMgPSBwYXJhbXMubWFwKChwKSA9PiBgJHtwLnR5cGV9ICR7cC5uYW1lfWApO1xuICAgICAgICBjb25zdCBkaXNwbGF5VGV4dCA9IGAke25hbWV9KCR7ZGlzcGxheVBhcmFtcy5qb2luKCcsICcpfSk6ICR7cmV0dXJuVHlwZX1gO1xuICAgICAgICByZXR1cm4geyB0ZXh0LCBkaXNwbGF5VGV4dCB9O1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHsgbGlzdCB9O1xuICB9XG5cbiAgYnVpbGRFbnVtKGNhbmRpZGF0ZSwgcGFyYW1ldGVyKSB7XG4gICAgcGFyYW1ldGVyID0gcGFyYW1ldGVyIHx8ICcnO1xuICAgIGNvbnN0IHR5cGVFbnVtID0gdGhpcy5nZXRFbnVtKGNhbmRpZGF0ZS5fdHlwZSk7XG4gICAgaWYgKHR5cGVFbnVtICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGxpc3QgPSB0eXBlRW51bVxuICAgICAgICAuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHBhcmFtZXRlci50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgLm1hcCgoZykgPT4gKHtcbiAgICAgICAgICB0ZXh0OiBgJHtnfWAsXG4gICAgICAgICAgZGlzcGxheVRleHQ6IGAke2d9YCxcbiAgICAgICAgfSkpO1xuICAgICAgcmV0dXJuIHsgbGlzdCB9O1xuICAgIH1cbiAgICByZXR1cm4geyBsaXN0OiBbXSB9O1xuICB9XG5cbiAgaXNGdW5jdGlvbih0ZXJtKSB7XG4gICAgaWYgKHRlcm0gIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRlcm0ubWF0Y2goL1xcKHsxfS4qXFwpJC9nKSAhPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmaW5kTWV0aG9kKHR5cGUsIG1ldGhvZE5hbWUpIHtcbiAgICByZXR1cm4gdHlwZS5tZXRob2RzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBtZXRob2ROYW1lKTtcbiAgfVxuXG4gIGZpbmRSZXR1cm5UeXBlKHR5cGVJZCwgd29yZHMgPSBbXSkge1xuICAgIGNvbnN0IGZucyA9IHdvcmRzLmZpbHRlcigoeyBmbiB9KSA9PiBmbik7XG4gICAgbGV0IHR5cGUgPSB0aGlzLmdldFR5cGUodHlwZUlkKTtcbiAgICBpZiAoZm5zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZucy5mb3JFYWNoKCh7IHRlcm0gfSkgPT4ge1xuICAgICAgICBjb25zdCBtZXRob2QgPSB0aGlzLmZpbmRNZXRob2QodHlwZSwgdGVybSk7XG4gICAgICAgIGlmIChtZXRob2QpIHtcbiAgICAgICAgICB0eXBlSWQgPSBtZXRob2QucmV0dXJuVHlwZTtcbiAgICAgICAgICB0eXBlID0gdGhpcy5nZXRUeXBlKG1ldGhvZC5yZXR1cm5UeXBlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh3b3Jkcy5sZW5ndGggPiAxICYmIHdvcmRzW3dvcmRzLmxlbmd0aCAtIDJdLnRlcm0uZW5kc1dpdGgoJ10nKSkge1xuICAgICAgaWYgKHRoaXMuaXNNYXAodHlwZUlkKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUeXBlKCdTdHJpbmcnKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FycmF5KHR5cGVJZCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0eXBlSWQucmVwbGFjZUFsbCgvXFxbXS9nLCAnJykpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIGluc2VydE9yU3VnZ2VzdChjb2RlbWlycm9yKSB7XG4gICAgY29uc3QgY3Vyc29yID0gY29kZW1pcnJvci5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBjYXJldFBvc2l0aW9uID0gY3Vyc29yLmNoO1xuICAgIGNvbnN0IGN1cnJlbnRFTCA9IHRoaXMuZ2V0Q3VycmVudEVsKGNhcmV0UG9zaXRpb24sIGN1cnNvci5saW5lKTtcbiAgICBpZiAoY3VycmVudEVMICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX3N1Z2dlc3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcG9zID0geyBsaW5lOiBjdXJzb3IubGluZSB9O1xuICAgICAgY29uc3QgZGF0YSA9ICd7I30nO1xuICAgICAgY29kZW1pcnJvci5yZXBsYWNlUmFuZ2UoZGF0YSwgcG9zLCBwb3MpO1xuICAgICAgY29kZW1pcnJvci5zZXRDdXJzb3IoY3Vyc29yLmxpbmUsIGNhcmV0UG9zaXRpb24gKyAyKTtcbiAgICB9XG4gIH1cblxuICBpc0h0dHBIZWFkZXIoY2FuZGlkYXRlLCBrZXkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2FuZGlkYXRlICYmXG4gICAgICBrZXkgJiZcbiAgICAgIGNhbmRpZGF0ZS5fdHlwZSA9PT0gJ0h0dHBIZWFkZXJzJyAmJlxuICAgICAga2V5Lm1hdGNoKC9oZWFkZXJzJC9nKSAmJlxuICAgICAga2V5Lm1hdGNoKCcvaGVhZGVyc1xcXFxbKC4qKVxcXFxdXFxcXFsoLiopXFxcXF0kL2cnKSA9PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGdldEVudW1UZXJtKHRlcm0pIHtcbiAgICBpZiAodGVybS5tYXRjaCgvXFxbJ1thLXotX10qJC9naSkpIHtcbiAgICAgIGNvbnN0IHNwbGl0dGVkID0gdGVybS5zcGxpdChgWydgKTtcbiAgICAgIHJldHVybiBzcGxpdHRlZFtzcGxpdHRlZC5sZW5ndGggLSAxXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRHcmFtbWFyKHsgc2VudGVuY2UgPSBudWxsLCBrZXkgPSBudWxsLCB3b3JkcyA9IFtdLCBmbiA9IFtdIH0pIHtcbiAgICBsZXQgZ3JhbW1hciA9IFtdO1xuICAgIGNvbnN0IHByZWZpeCA9ICcnO1xuICAgIGlmIChzZW50ZW5jZSAmJiBzZW50ZW5jZS5tYXRjaCgvXiNbYS16QS1aXSovZykpIHtcbiAgICAgIGdyYW1tYXIgPSB0aGlzLmdyYW1tYXI7XG4gICAgfVxuICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgY29uc3QgaXNBcnJheSA9IHNlbnRlbmNlICYmIHNlbnRlbmNlLm1hdGNoKC9bW1xcdydcIi1dKyhcXF0uKShbYS16QS1aXSopJC8pO1xuICAgICAgbGV0IGNhbmRpZGF0ZSA9IGdldCh0aGlzLmdyYW1tYXIsIGtleSk7XG4gICAgICBpZiAoY2FuZGlkYXRlICE9IG51bGwgJiYgIWtleS5lbmRzV2l0aCgnLicpICYmICFpc0FycmF5ICYmICF0aGlzLmlzSHR0cEhlYWRlcihjYW5kaWRhdGUsIGtleSkpIHtcbiAgICAgICAgcmV0dXJuIHsgbGlzdDogW10gfTtcbiAgICAgIH1cbiAgICAgIGlmIChjYW5kaWRhdGUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBwcmV2aW91c0tleSA9IHRoaXMuZ2V0UHJldmlvdXNLZXkoa2V5KTtcbiAgICAgICAgaWYgKHByZXZpb3VzS2V5ICE9IG51bGwpIHtcbiAgICAgICAgICBjYW5kaWRhdGUgPSBnZXQodGhpcy5ncmFtbWFyLCBwcmV2aW91c0tleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjYW5kaWRhdGUgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBsYXN0VGVybSA9IHdvcmRzLmxlbmd0aCA/IHdvcmRzW3dvcmRzLmxlbmd0aCAtIDFdLnRlcm0gOiAnJztcbiAgICAgICAgaWYgKHRoaXMuaXNNYXAoY2FuZGlkYXRlLl90eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGVudW1UZXJtID0gdGhpcy5nZXRFbnVtVGVybShsYXN0VGVybSk7XG4gICAgICAgICAgaWYgKGVudW1UZXJtICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkRW51bShjYW5kaWRhdGUsIGVudW1UZXJtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZmluZFJldHVyblR5cGUoY2FuZGlkYXRlLl90eXBlLCB3b3Jkcyk7XG4gICAgICAgIGlmICh0eXBlICYmIHR5cGUubWV0aG9kcyAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRNZXRob2RzKHR5cGUubWV0aG9kcywgbGFzdFRlcm0pO1xuICAgICAgICB9XG4gICAgICAgIGdyYW1tYXIgPSBjYW5kaWRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGdyYW1tYXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHsgbGlzdDogW10gfTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gT2JqZWN0LmtleXMoZ3JhbW1hcilcbiAgICAgIC5maWx0ZXIoKHByb3ApID0+ICFwcm9wLnN0YXJ0c1dpdGgoJ18nKSlcbiAgICAgIC5tYXAoKGcpID0+IHtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gdGhpcy5nZXRTdWZmaXgoZ3JhbW1hcltnXSk7XG4gICAgICAgIGNvbnN0IHRleHQgPSBgJHtwcmVmaXh9JHtnfSR7c3VmZml4fWA7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlUZXh0ID0gYCR7Z30ke3N1ZmZpeH1gO1xuICAgICAgICByZXR1cm4geyB0ZXh0LCBkaXNwbGF5VGV4dCB9O1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHsgbGlzdCB9O1xuICB9XG5cbiAgZ2V0U3VmZml4KGNhbmRpZGF0ZSkge1xuICAgIGlmICh0aGlzLmlzQXJyYXkoY2FuZGlkYXRlLl90eXBlKSkge1xuICAgICAgcmV0dXJuICdbXSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTWFwKGNhbmRpZGF0ZS5fdHlwZSkpIHtcbiAgICAgIHJldHVybiBgWycnXVswXWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBnZXRDdXJyZW50RWwoY2FyZXRQb3NpdGlvbiwgbGluZSA9IDApIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUuc3BsaXQoJ1xcbicpW2xpbmVdO1xuXG4gICAgICBjb25zdCBncm91cCA9IHZhbHVlLm1hdGNoKC8oe1sgXSojW1xcdy0uID0rLTw+IT8nXCJbXFxdIygpXSpcXH0pL2cpO1xuICAgICAgaWYgKGdyb3VwICE9IG51bGwpIHtcbiAgICAgICAgbGV0IHN0YXJ0O1xuICAgICAgICBsZXQgZW5kO1xuICAgICAgICBjb25zdCBlbCA9IGdyb3VwLmZpbmQoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgc3RhcnQgPSB2YWx1ZS5pbmRleE9mKGdyb3VwKTtcbiAgICAgICAgICBlbmQgPSBzdGFydCArIGdyb3VwLmxlbmd0aDtcbiAgICAgICAgICByZXR1cm4gY2FyZXRQb3NpdGlvbiA+IHN0YXJ0ICYmIGNhcmV0UG9zaXRpb24gPCBlbmQ7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZWwgIT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiB7IGVsLCBjYXJldFBvc2l0aW9uLCBzdGFydCwgZW5kIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBhbmFseXNlKHsgZWwsIHN0YXJ0LCBjYXJldFBvc2l0aW9uIH0pIHtcbiAgICBjb25zdCBlbmQgPSBjYXJldFBvc2l0aW9uIC0gc3RhcnQgPj0gMSA/IGNhcmV0UG9zaXRpb24gLSBzdGFydCA6IDE7XG4gICAgY29uc3QgZXhwcmVzc2lvbnMgPSBlbC5zbGljZSgxLCBlbmQpLnRyaW0oKS5zcGxpdCgnLicpO1xuICAgIGxldCBzZW50ZW5jZSA9ICcnO1xuICAgIGNvbnN0IHdvcmRzID0gZXhwcmVzc2lvbnMubWFwKChrKSA9PiB7XG4gICAgICBjb25zdCBmbiA9IHRoaXMuaXNGdW5jdGlvbihrKTtcbiAgICAgIGxldCB0ZXJtID0gJyc7XG4gICAgICBpZiAoZm4pIHtcbiAgICAgICAgdGVybSA9IGsuc3BsaXQoJygnKVswXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRlcm0gPSBrO1xuICAgICAgICBzZW50ZW5jZSArPSBgLiR7a31gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgdGVybSwgZm4gfTtcbiAgICB9KTtcbiAgICBpZiAoc2VudGVuY2UpIHtcbiAgICAgIHNlbnRlbmNlID0gc2VudGVuY2Uuc2xpY2UoMSk7XG4gICAgfVxuXG4gICAgbGV0IGtleSA9IHNlbnRlbmNlLmluZGV4T2YoJyMnKSA+IC0xID8gc2VudGVuY2Uuc3BsaXQoJyMnKS5yZXZlcnNlKClbMF0gOiBudWxsO1xuICAgIGlmIChrZXkgPT09ICcnKSB7XG4gICAgICBrZXkgPSBudWxsO1xuICAgIH1cbiAgICBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgIGtleSA9IGtleS5zcGxpdCgnWycpWzBdO1xuICAgIH1cbiAgICByZXR1cm4geyBzZW50ZW5jZSwga2V5LCB3b3JkcyB9O1xuICB9XG5cbiAgZ2V0IGNvZGVFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignZ3YtY29kZScpO1xuICB9XG5cbiAgY2FuTW92ZUN1cnNvcigpIHtcbiAgICByZXR1cm4gIVsnQmFja3NwYWNlJywgJ0RlbGV0ZSddLmluY2x1ZGVzKHRoaXMuX2xhc3RLZXlEb3duKTtcbiAgfVxuXG4gIF9zdWdnZXN0KCkge1xuICAgIGNvbnN0IGNvZGVFbGVtZW50ID0gdGhpcy5jb2RlRWxlbWVudDtcbiAgICBjb25zdCBjb2RlbWlycm9yID0gY29kZUVsZW1lbnQuZ2V0Q00oKTtcbiAgICBjb25zdCBjdXJzb3IgPSBjb2RlbWlycm9yLmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBjdXJzb3IuY2g7XG4gICAgY29uc3QgY3VycmVudEVMID0gdGhpcy5nZXRDdXJyZW50RWwoY2FyZXRQb3NpdGlvbiwgY3Vyc29yLmxpbmUpO1xuICAgIGlmIChjdXJyZW50RUwgIT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBzZW50ZW5jZSwga2V5LCB3b3JkcywgZm4gfSA9IHRoaXMuYW5hbHlzZShjdXJyZW50RUwpO1xuICAgICAgY29uc3QgeyBsaXN0IH0gPSB0aGlzLmdldEdyYW1tYXIoeyBzZW50ZW5jZSwga2V5LCB3b3JkcywgZm4gfSk7XG4gICAgICBpZiAodGhpcy5jYW5Nb3ZlQ3Vyc29yKCkgJiYgKHNlbnRlbmNlLmVuZHNXaXRoKCcoKScpIHx8IHNlbnRlbmNlLmVuZHNXaXRoKCdbXScpKSkge1xuICAgICAgICBjb2RlbWlycm9yLnNldEN1cnNvcihjdXJzb3IubGluZSwgY2FyZXRQb3NpdGlvbiAtIDEpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0KCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuTW92ZUN1cnNvcigpICYmIHNlbnRlbmNlLmVuZHNXaXRoKGBbJyddWzBdYCkpIHtcbiAgICAgICAgY29kZW1pcnJvci5zZXRDdXJzb3IoY3Vyc29yLmxpbmUsIGNhcmV0UG9zaXRpb24gLSA1KTtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZG9TdWdnZXN0KGxpc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbklucHV0KGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQuZGV0YWlsO1xuICAgIHRoaXMuX3N1Z2dlc3QoKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdpbnB1dCcsIHRoaXMudmFsdWUpO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JyksIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIF9nZXRPckNyZWF0ZUhpbnQoKSB7XG4gICAgaWYgKHRoaXMuaW5uZXJIaW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaGludElkfWApO1xuICAgICAgZWxlbWVudC5yZXF1ZXN0VXBkYXRlKCk7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9XG4gICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmhpbnRJZH1gKTtcbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZ3YtY29kZS1oaW50Jyk7XG4gICAgICBlbGVtZW50LmlkID0gdGhpcy5oaW50SWQ7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LnJlcXVlc3RVcGRhdGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICBfZG9TdWdnZXN0KHN1Z2dlc3Rpb25zID0gW10sIHByZWZpeCA9ICcjJykge1xuICAgIGlmIChzdWdnZXN0aW9ucyA9PSBudWxsKSB7XG4gICAgICBzdWdnZXN0aW9ucyA9IFtdO1xuICAgIH1cbiAgICBjb25zdCBjb2RlID0gdGhpcy5jb2RlRWxlbWVudDtcbiAgICBjb25zdCBoaW50ID0gdGhpcy5fZ2V0T3JDcmVhdGVIaW50KCk7XG4gICAgY29uc3QgY29kZW1pcnJvciA9IGNvZGUuZ2V0Q00oKTtcbiAgICBDb2RlTWlycm9yLnNob3dIaW50KFxuICAgICAgY29kZW1pcnJvcixcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgY3Vyc29yID0gY29kZW1pcnJvci5nZXRDdXJzb3IoKTtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBjb2RlbWlycm9yLmdldFRva2VuQXQoY3Vyc29yKTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0b2tlbi5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kID0gY3Vyc29yLmNoO1xuICAgICAgICBjb25zdCBsaW5lID0gY3Vyc29yLmxpbmU7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRXb3JkID0gdG9rZW4uc3RyaW5nO1xuICAgICAgICBsZXQgX3N1Z2dlc3Rpb25zID0gW107XG4gICAgICAgIGlmIChjdXJyZW50V29yZC5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICBfc3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9ucy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9zdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGlzdCA9IF9zdWdnZXN0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbS50ZXh0LmluZGV4T2YoY3VycmVudFdvcmQpID49IDA7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpc3Q6IGxpc3QubGVuZ3RoID8gbGlzdCA6IF9zdWdnZXN0aW9ucyxcbiAgICAgICAgICBmcm9tOiBDb2RlTWlycm9yLlBvcyhsaW5lLCBzdGFydCksXG4gICAgICAgICAgdG86IENvZGVNaXJyb3IuUG9zKGxpbmUsIGVuZCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgeyBjb21wbGV0ZVNpbmdsZTogZmFsc2UsIGNvbnRhaW5lcjogaGludCB9LFxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLntcbiAgICAgICAgbW9kZTogJ2phdmFzY3JpcHQnLFxuICAgICAgICBhdXRvQ2xvc2VUYWdzOiB0cnVlLFxuICAgICAgICBhdXRvQ2xvc2VCcmFja2V0czogdHJ1ZSxcbiAgICAgICAgbWF0Y2hUYWdzOiB0cnVlLFxuICAgICAgICBsaW50OiBmYWxzZSxcbiAgICAgICAgLy8gbGludDoge1xuICAgICAgICAvLyAgIHNlbGZDb250YWluOiB0cnVlLFxuICAgICAgICAvLyB9LFxuICAgICAgfSxcbiAgICAgIC4uLih0aGlzLm9wdGlvbnMgfHwge30pLFxuICAgIH07XG4gICAgcmV0dXJuIGh0bWxgPGRpdiB0aXRsZT1cIkN0cmwtRSBvciBDbWQtRSB0byBpbnNlcnQgRUxcIj5cbiAgICAgICR7dGhpcy5sYWJlbCAhPSBudWxsID8gaHRtbGA8bGFiZWw+JHt0aGlzLmxhYmVsfTwvbGFiZWw+YCA6ICcnfVxuICAgICAgPGd2LWNvZGVcbiAgICAgICAgLm9wdGlvbnM9XCIke29wdGlvbnN9XCJcbiAgICAgICAgLnZhbHVlPVwiJHt0aGlzLnZhbHVlfVwiXG4gICAgICAgIC5yb3dzPVwiJHt0aGlzLnJvd3N9XCJcbiAgICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkfVwiXG4gICAgICAgID9yZWFkb25seT1cIiR7dGhpcy5yZWFkb25seX1cIlxuICAgICAgICA/cmVxdWlyZWQ9XCIke3RoaXMucmVxdWlyZWR9XCJcbiAgICAgICAgP2F1dG9mb2N1cz1cIiR7dGhpcy5hdXRvZm9jdXN9XCJcbiAgICAgICAgLnBsYWNlaG9sZGVyPVwiJHt0aGlzLnBsYWNlaG9sZGVyfVwiXG4gICAgICAgIC5kZXNjcmlwdGlvbj1cIiR7dGhpcy5kZXNjcmlwdGlvbn1cIlxuICAgICAgPjwvZ3YtY29kZT5cbiAgICAgICR7dGhpcy5pbm5lckhpbnQgPyBodG1sYDxndi1jb2RlLWhpbnQgaWQ9XCIke3RoaXMuaGludElkfVwiPjwvZ3YtY29kZS1oaW50PmAgOiAnJ31cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGlucHV0LFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWNvZGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1leHByZXNzaW9uLWxhbmd1YWdlJywgR3ZFeHByZXNzaW9uTGFuZ3VhZ2UpO1xuIl19
614
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1leHByZXNzaW9uLWxhbmd1YWdlLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwiQ29kZU1pcnJvciIsImdldCIsImlucHV0IiwiZGlzcGF0Y2hDdXN0b21FdmVudCIsIkd2RXhwcmVzc2lvbkxhbmd1YWdlIiwicHJvcGVydGllcyIsImxhYmVsIiwidHlwZSIsIlN0cmluZyIsInBsYWNlaG9sZGVyIiwiZGVzY3JpcHRpb24iLCJ2YWx1ZSIsInJlZmxlY3QiLCJncmFtbWFyIiwiT2JqZWN0Iiwicm93cyIsIk51bWJlciIsIm9wdGlvbnMiLCJhdHRyaWJ1dGUiLCJkaXNhYmxlZCIsIkJvb2xlYW4iLCJyZXF1aXJlZCIsInJlYWRvbmx5IiwiYXV0b2ZvY3VzIiwiaW5uZXJIaW50IiwiY29uc3RydWN0b3IiLCJoaW50SWQiLCJhZGRFdmVudExpc3RlbmVyIiwiX29uUmVhZHkiLCJfb25JbnB1dCIsImNvbm5lY3RlZENhbGxiYWNrIiwiZGlzY29ubmVjdGVkQ2FsbGJhY2siLCJoaW50RWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcmVudEVsZW1lbnQiLCJyZW1vdmVDaGlsZCIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJjb2RlRWxlbWVudCIsIl9vbktleWRvd24iLCJjb2RlbWlycm9yIiwiZ2V0Q00iLCJzZXRPcHRpb24iLCJpbnNlcnRPclN1Z2dlc3QiLCJiaW5kIiwib24iLCJjbSIsIl9sYXN0S2V5RG93biIsImtleSIsIl9nZXRPckNyZWF0ZUhpbnQiLCJyZXF1ZXN0VXBkYXRlIiwib3JpZ2luIiwiY3Vyc29yIiwiZ2V0Q3Vyc29yIiwiY2FyZXRQb3NpdGlvbiIsImNoIiwiY3VycmVudEVMIiwiZ2V0Q3VycmVudEVsIiwibGluZSIsIm5ld1RleHQiLCJlbCIsInN1YnN0cmluZyIsImZyb20iLCJ0ZXh0IiwidXBkYXRlIiwiY3VycmVudFRhcmdldCIsImdldFByZXZpb3VzS2V5IiwiaW5kZXhPZiIsImtleXMiLCJzcGxpdCIsInNwbGljZSIsImpvaW4iLCJnZXRUeXBlIiwidHlwZUlkIiwiZ2V0RW51bSIsImlzQXJyYXkiLCJtYXRjaCIsImlzTWFwIiwiaW5jbHVkZXMiLCJidWlsZE1ldGhvZHMiLCJtZXRob2RzIiwibWV0aG9kTmFtZSIsImxpc3QiLCJmaWx0ZXIiLCJuYW1lIiwic3RhcnRzV2l0aCIsIm1hcCIsInBhcmFtcyIsInJldHVyblR5cGUiLCJkaXNwbGF5UGFyYW1zIiwicCIsImRpc3BsYXlUZXh0IiwiYnVpbGRFbnVtIiwiY2FuZGlkYXRlIiwicGFyYW1ldGVyIiwidHlwZUVudW0iLCJfdHlwZSIsInRvTG93ZXJDYXNlIiwiZyIsImlzRnVuY3Rpb24iLCJ0ZXJtIiwiZmluZE1ldGhvZCIsImZpbmQiLCJmaW5kUmV0dXJuVHlwZSIsIndvcmRzIiwiZm5zIiwiZm4iLCJsZW5ndGgiLCJmb3JFYWNoIiwibWV0aG9kIiwiZW5kc1dpdGgiLCJyZXBsYWNlQWxsIiwiX3N1Z2dlc3QiLCJwb3MiLCJkYXRhIiwicmVwbGFjZVJhbmdlIiwic2V0Q3Vyc29yIiwiaXNIdHRwSGVhZGVyIiwiZ2V0RW51bVRlcm0iLCJzcGxpdHRlZCIsImdldEdyYW1tYXIiLCJzZW50ZW5jZSIsInByZWZpeCIsInByZXZpb3VzS2V5IiwibGFzdFRlcm0iLCJlbnVtVGVybSIsInByb3AiLCJzdWZmaXgiLCJnZXRTdWZmaXgiLCJncm91cCIsInN0YXJ0IiwiZW5kIiwiYW5hbHlzZSIsImV4cHJlc3Npb25zIiwic2xpY2UiLCJ0cmltIiwiayIsInJldmVyc2UiLCJzaGFkb3dSb290IiwiY2FuTW92ZUN1cnNvciIsIl9kb1N1Z2dlc3QiLCJkZXRhaWwiLCJkaXNwYXRjaEV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwiY2FuY2VsYWJsZSIsImVsZW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiaWQiLCJib2R5IiwiYXBwZW5kQ2hpbGQiLCJzdWdnZXN0aW9ucyIsImNvZGUiLCJoaW50Iiwic2hvd0hpbnQiLCJ0b2tlbiIsImdldFRva2VuQXQiLCJjdXJyZW50V29yZCIsInN0cmluZyIsIl9zdWdnZXN0aW9ucyIsIml0ZW0iLCJQb3MiLCJ0byIsImNvbXBsZXRlU2luZ2xlIiwiY29udGFpbmVyIiwicmVuZGVyIiwibW9kZSIsImF1dG9DbG9zZVRhZ3MiLCJhdXRvQ2xvc2VCcmFja2V0cyIsIm1hdGNoVGFncyIsImxpbnQiLCJzdHlsZXMiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLEVBQTBCQyxJQUExQixRQUFzQyxLQUF0QztBQUNBLE9BQU8sc0JBQVA7QUFDQSxPQUFPLDJCQUFQO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QiwyQkFBdkI7QUFDQSxPQUFPLGlDQUFQO0FBQ0EsU0FBU0MsR0FBVCxRQUFvQixhQUFwQjtBQUNBLFNBQVNDLEtBQVQsUUFBc0IsaUJBQXRCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0MsZUFBcEM7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLG9CQUFOLFNBQW1DTixVQUFuQyxDQUE4QztBQUM5QixhQUFWTyxVQUFVLEdBQUc7QUFDdEIsV0FBTztBQUNMQyxNQUFBQSxLQUFLLEVBQUU7QUFBRUMsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BREY7QUFFTEMsTUFBQUEsV0FBVyxFQUFFO0FBQUVGLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUZSO0FBR0xFLE1BQUFBLFdBQVcsRUFBRTtBQUFFSCxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FIUjtBQUlM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S0ksSUFMUCxnQkFNTSxLQUFLSSxRQU5YLGdCQU9NLEtBQUtHLFFBUFgsZ0JBUU0sS0FBS0QsUUFSWCxpQkFTTyxLQUFLRSxTQVRaLG1CQVVTLEtBQUtkLFdBVmQsbUJBV1MsS0FBS0MsV0FYZCxnQkFhUCxLQUFLYyxTQUFMLEdBQWlCekIsSUFBSSxxQkFBcUIsS0FBSzJCLE1BQTFCLG1CQUFyQixHQUEyRSxFQWJwRSxTQUFYO0FBZUQ7O0FBRWdCLGFBQU5tSixNQUFNLEdBQUc7QUFDbEIsV0FBTyxDQUNMM0ssS0FESyxFQUVMO0FBQ0FMLElBQUFBLEdBQUcsbURBSEUsQ0FBUDtBQWNEOztBQWpka0Q7QUFvZHJEaUwsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2Qix3QkFBN0IsRUFBdUQ1SyxvQkFBdkQiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgY3NzLCBMaXRFbGVtZW50LCBodG1sIH0gZnJvbSAnbGl0JztcbmltcG9ydCAnLi4vbW9sZWN1bGVzL2d2LWNvZGUnO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtY29kZS1oaW50JztcbmltcG9ydCBDb2RlTWlycm9yIGZyb20gJ2NvZGVtaXJyb3IvbGliL2NvZGVtaXJyb3InO1xuaW1wb3J0ICdjb2RlbWlycm9yL2FkZG9uL2hpbnQvc2hvdy1oaW50JztcbmltcG9ydCB7IGdldCB9IGZyb20gJ29iamVjdC1wYXRoJztcbmltcG9ydCB7IGlucHV0IH0gZnJvbSAnLi4vc3R5bGVzL2lucHV0JztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcblxuLyoqXG4gKiBFeHByZXNzaW9uIExhbmd1YWdlIGNvbXBvbmVudFxuICpcbiAqIEBmaXJlcyBndi1leHByZXNzaW9uLWxhbmd1YWdlOmlucHV0IC0gaW5wdXQgZXZlbnRzIHdpdGggdGhlIGB2YWx1ZWAgb24gYGRldGFpbGBcbiAqIEBmaXJlcyBndi1leHByZXNzaW9uLWxhbmd1YWdlOnJlYWR5IC0gZXZlbnQgZGlzcGF0Y2ggd2hlbiBjb21wb25lbnQgaXMgcmVhZHlcbiAqXG4gKiBAYXR0ciB7U3RyaW5nfSB2YWx1ZSAtIHRoZSB2YWx1ZSBvZiB0aGUgaW5wdXRcbiAqIEBhdHRyIHtTdHJpbmd9IGxhYmVsIC0gbGFiZWwgb2YgdGhlIGlucHV0XG4gKiBAYXR0ciB7U3RyaW5nfSBwbGFjZWhvbGRlciAtIGFuIGV4YW1wbGUgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgaW5wdXQgd2hlbiBlbXB0eVxuICogQGF0dHIge1N0cmluZ30gZGVzY3JpcHRpb24gLSBhIGRlc2NyaXB0aW9uXG4gKiBAYXR0ciB7T2JqZWN0fSBncmFtbWFyIC0gR3JhbW1hciBmb3IgZXhwcmVzc2lvbiBsYW5ndWFnZXNcbiAqIEBhdHRyIHtOdW1iZXJ9IHJvd3MgLSBOdW1iZXIgb2Ygcm93cywgaWYgcm93cz0xIHRoZSBmaWVsZCB3aWxsIGxvb2sgbGlrZSBhbiBpbnB1dCB0ZXh0XG4gKiBAYXR0ciB7T2JqZWN0fSBvcHRpb25zIC0gIG9wdGlvbnMgYmFzZWQgb24gY29kZW1pcnJvciBodHRwczovL2NvZGVtaXJyb3IubmV0L2RvYy9tYW51YWwuaHRtbCNjb25maWdcbiAqIEBhdHRyIHtCb29sZWFufSBpbm5lci1oaW50IC0gVXNlZnVsIHRvIGZvcmNlIGluZWVyIHJlbmRlcmluZyBvZiBcImhpbnRcIiBlbGVtZW50XG4gKiBAYXR0ciB7Qm9vbGVhbn0gW2F1dG9mb2N1cz1mYWxzZV0gLSB0cnVlIHRvIHB1dCB0aGUgZm9jdXMgb24gdGhlIGlucHV0XG4gKi9cbmV4cG9ydCBjbGFzcyBHdkV4cHJlc3Npb25MYW5ndWFnZSBleHRlbmRzIExpdEVsZW1lbnQge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxhYmVsOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgcGxhY2Vob2xkZXI6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBkZXNjcmlwdGlvbjogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIHZhbHVlOiB7IHR5cGU6IFN0cmluZywgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgZ3JhbW1hcjogeyB0eXBlOiBPYmplY3QgfSxcbiAgICAgIHJvd3M6IHsgdHlwZTogTnVtYmVyIH0sXG4gICAgICBvcHRpb25zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgICAgZGlzYWJsZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgcmVxdWlyZWQ6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgcmVhZG9ubHk6IHsgdHlwZTogQm9vbGVhbiwgcmVmbGVjdDogdHJ1ZSB9LFxuICAgICAgYXV0b2ZvY3VzOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIGlubmVySGludDogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6ICdpbm5lci1oaW50JyB9LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaGludElkID0gJ2d2LWV4cHJlc3Npb24tbGFuZ3VhZ2VfaGludCc7XG4gICAgdGhpcy5pbm5lckhpbnQgPSBmYWxzZTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2d2LWNvZGU6cmVhZHknLCB0aGlzLl9vblJlYWR5KTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXIoJ2d2LWNvZGU6aW5wdXQnLCB0aGlzLl9vbklucHV0KTtcbiAgfVxuXG4gIGNvbm5lY3RlZENhbGxiYWNrKCkge1xuICAgIHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7XG4gICAgLy8gRXhwZXJpbWVudGFsXG4gICAgLy8gQ29kZU1pcnJvci5yZWdpc3RlckhlbHBlcignbGludCcsICdqYXZhc2NyaXB0JywgdGhpcy5fbGludFZhbGlkYXRvcik7XG4gIH1cblxuICBkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcbiAgICBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGlmICghdGhpcy5pbm5lckhpbnQpIHtcbiAgICAgIGNvbnN0IGhpbnRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5oaW50SWR9YCk7XG4gICAgICBpZiAoaGludEVsZW1lbnQgIT0gbnVsbCkge1xuICAgICAgICBoaW50RWxlbWVudC5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKGhpbnRFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfb25SZWFkeShldmVudCkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgY29uc3QgY29kZUVsZW1lbnQgPSB0aGlzLmNvZGVFbGVtZW50O1xuICAgIGNvZGVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLl9vbktleWRvd24pO1xuICAgIGNvbnN0IGNvZGVtaXJyb3IgPSBjb2RlRWxlbWVudC5nZXRDTSgpO1xuICAgIGNvZGVtaXJyb3Iuc2V0T3B0aW9uKCdleHRyYUtleXMnLCB7XG4gICAgICAnQ21kLUUnOiB0aGlzLmluc2VydE9yU3VnZ2VzdC5iaW5kKHRoaXMsIGNvZGVtaXJyb3IpLFxuICAgICAgJ0N0cmwtRSc6IHRoaXMuaW5zZXJ0T3JTdWdnZXN0LmJpbmQodGhpcywgY29kZW1pcnJvciksXG4gICAgfSk7XG4gICAgY29kZW1pcnJvci5vbigna2V5ZG93bicsIChjbSwgZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuX2xhc3RLZXlEb3duID0gZXZlbnQua2V5O1xuICAgICAgdGhpcy5fZ2V0T3JDcmVhdGVIaW50KCkucmVxdWVzdFVwZGF0ZSgpO1xuICAgIH0pO1xuXG4gICAgY29kZW1pcnJvci5vbignYmVmb3JlQ2hhbmdlJywgKGNtLCBldmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50Lm9yaWdpbiA9PT0gJ2NvbXBsZXRlJykge1xuICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGJlaGF2aW9yIG9mIGNvbXBsZXRpb25cbiAgICAgICAgY29uc3QgY3Vyc29yID0gY20uZ2V0Q3Vyc29yKCk7XG4gICAgICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBjdXJzb3IuY2g7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRFTCA9IHRoaXMuZ2V0Q3VycmVudEVsKGNhcmV0UG9zaXRpb24sIGN1cnNvci5saW5lKTtcbiAgICAgICAgY29uc3QgbmV3VGV4dCA9IGAke2N1cnJlbnRFTC5lbC5zdWJzdHJpbmcoZXZlbnQuZnJvbS5jaCwgY2FyZXRQb3NpdGlvbil9JHtldmVudC50ZXh0fWA7XG4gICAgICAgIHJldHVybiBldmVudC51cGRhdGUobnVsbCwgbnVsbCwgW25ld1RleHRdKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdyZWFkeScsIHsgY3VycmVudFRhcmdldDogdGhpcyB9KTtcbiAgfVxuXG4gIC8vIEV4cGVyaW1lbnRhbFxuICAvLyBfbGludFZhbGlkYXRvciAodGV4dCwgb3B0aW9ucykge1xuICAvLyAgIGNvbnN0IGVscyA9IHRleHQubWF0Y2goRUxfUkVHRVgpO1xuICAvLyAgIGlmIChlbHMgIT0gbnVsbCkge1xuICAvLyAgICAgcmV0dXJuIGVscy5tYXAoKGVsKSA9PiB7XG4gIC8vICAgICAgIGNvbnN0IGFzc2lnbiA9IGVsLm1hdGNoKC89L2cpO1xuICAvLyAgICAgICBjb25zdCBjb21wYXJlID0gZWwubWF0Y2goLz09L2cpO1xuICAvLyAgICAgICBpZiAoYXNzaWduICE9IG51bGwgJiYgY29tcGFyZSA9PSBudWxsKSB7XG4gIC8vICAgICAgICAgY29uc3Qgc3RhcnQgPSB0ZXh0LmluZGV4T2YoZWwpICsgZWwuaW5kZXhPZignPScpO1xuICAvLyAgICAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgMTtcbiAgLy8gICAgICAgICByZXR1cm4ge1xuICAvLyAgICAgICAgICAgbWVzc2FnZTogYEV4cGVjdGVkIGEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBhbmQgaW5zdGVhZCBzYXcgYW4gYXNzaWdubWVudC4gKHVzZSAnPT0nIGluc3RlYWQgJz0nKWAsXG4gIC8vICAgICAgICAgICBzZXZlcml0eTogJ3dhcm5pbmcnLFxuICAvLyAgICAgICAgICAgZnJvbTogQ29kZU1pcnJvci5Qb3MoMCwgc3RhcnQpLFxuICAvLyAgICAgICAgICAgdG86IENvZGVNaXJyb3IuUG9zKDAsIGVuZCksXG4gIC8vICAgICAgICAgfTtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgICByZXR1cm4gbnVsbDtcbiAgLy8gICAgIH0pXG4gIC8vICAgICAgIC5maWx0ZXIoKGVsKSA9PiBlbCAhPSBudWxsKTtcbiAgLy8gICB9XG4gIC8vICAgcmV0dXJuIFtdO1xuICAvLyB9XG5cbiAgZ2V0UHJldmlvdXNLZXkoa2V5KSB7XG4gICAgaWYgKGtleSAhPSBudWxsICYmIGtleS5pbmRleE9mKCcuJykgPiAtMSkge1xuICAgICAgY29uc3Qga2V5cyA9IGtleS5zcGxpdCgnLicpO1xuICAgICAgLy8gUmVtb3ZlIGxhc3QgZWxlbWVudFxuICAgICAga2V5cy5zcGxpY2UoLTEsIDEpO1xuICAgICAgcmV0dXJuIGtleXMuam9pbignLicpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGdldFR5cGUodHlwZUlkKSB7XG4gICAgaWYgKHRoaXMuZ3JhbW1hciAhPSBudWxsKSB7XG4gICAgICByZXR1cm4gZ2V0KHRoaXMuZ3JhbW1hciwgYF90eXBlcy4ke3R5cGVJZH1gKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRFbnVtKHR5cGVJZCkge1xuICAgIGlmICh0aGlzLmdyYW1tYXIgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGdldCh0aGlzLmdyYW1tYXIsIGBfZW51bXMuJHt0eXBlSWR9YCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaXNBcnJheSh0eXBlSWQpIHtcbiAgICByZXR1cm4gdHlwZUlkICYmIHR5cGVJZC5tYXRjaCgvW2EtekEtWl0qXFxbXFxdJC9nKTtcbiAgfVxuXG4gIGlzTWFwKHR5cGVJZCkge1xuICAgIHJldHVybiBbJ01hcCcsICdIdHRwSGVhZGVycycsICdNdWx0aVZhbHVlTWFwJ10uaW5jbHVkZXModHlwZUlkKTtcbiAgfVxuXG4gIGJ1aWxkTWV0aG9kcyhtZXRob2RzLCBtZXRob2ROYW1lID0gJycpIHtcbiAgICBjb25zdCBsaXN0ID0gbWV0aG9kc1xuICAgICAgLmZpbHRlcigoeyBuYW1lIH0pID0+IG5hbWUuc3RhcnRzV2l0aChtZXRob2ROYW1lKSlcbiAgICAgIC5tYXAoKHsgbmFtZSwgcGFyYW1zID0gW10sIHJldHVyblR5cGUgfSkgPT4ge1xuICAgICAgICBjb25zdCB0ZXh0ID0gYCR7bmFtZX0oKWA7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlQYXJhbXMgPSBwYXJhbXMubWFwKChwKSA9PiBgJHtwLnR5cGV9ICR7cC5uYW1lfWApO1xuICAgICAgICBjb25zdCBkaXNwbGF5VGV4dCA9IGAke25hbWV9KCR7ZGlzcGxheVBhcmFtcy5qb2luKCcsICcpfSk6ICR7cmV0dXJuVHlwZX1gO1xuICAgICAgICByZXR1cm4geyB0ZXh0LCBkaXNwbGF5VGV4dCB9O1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHsgbGlzdCB9O1xuICB9XG5cbiAgYnVpbGRFbnVtKGNhbmRpZGF0ZSwgcGFyYW1ldGVyKSB7XG4gICAgcGFyYW1ldGVyID0gcGFyYW1ldGVyIHx8ICcnO1xuICAgIGNvbnN0IHR5cGVFbnVtID0gdGhpcy5nZXRFbnVtKGNhbmRpZGF0ZS5fdHlwZSk7XG4gICAgaWYgKHR5cGVFbnVtICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGxpc3QgPSB0eXBlRW51bVxuICAgICAgICAuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHBhcmFtZXRlci50b0xvd2VyQ2FzZSgpKSlcbiAgICAgICAgLm1hcCgoZykgPT4gKHtcbiAgICAgICAgICB0ZXh0OiBgJHtnfWAsXG4gICAgICAgICAgZGlzcGxheVRleHQ6IGAke2d9YCxcbiAgICAgICAgfSkpO1xuICAgICAgcmV0dXJuIHsgbGlzdCB9O1xuICAgIH1cbiAgICByZXR1cm4geyBsaXN0OiBbXSB9O1xuICB9XG5cbiAgaXNGdW5jdGlvbih0ZXJtKSB7XG4gICAgaWYgKHRlcm0gIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRlcm0ubWF0Y2goL1xcKHsxfS4qXFwpJC9nKSAhPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmaW5kTWV0aG9kKHR5cGUsIG1ldGhvZE5hbWUpIHtcbiAgICByZXR1cm4gdHlwZS5tZXRob2RzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBtZXRob2ROYW1lKTtcbiAgfVxuXG4gIGZpbmRSZXR1cm5UeXBlKHR5cGVJZCwgd29yZHMgPSBbXSkge1xuICAgIGNvbnN0IGZucyA9IHdvcmRzLmZpbHRlcigoeyBmbiB9KSA9PiBmbik7XG4gICAgbGV0IHR5cGUgPSB0aGlzLmdldFR5cGUodHlwZUlkKTtcbiAgICBpZiAoZm5zLmxlbmd0aCA+IDApIHtcbiAgICAgIGZucy5mb3JFYWNoKCh7IHRlcm0gfSkgPT4ge1xuICAgICAgICBjb25zdCBtZXRob2QgPSB0aGlzLmZpbmRNZXRob2QodHlwZSwgdGVybSk7XG4gICAgICAgIGlmIChtZXRob2QpIHtcbiAgICAgICAgICB0eXBlSWQgPSBtZXRob2QucmV0dXJuVHlwZTtcbiAgICAgICAgICB0eXBlID0gdGhpcy5nZXRUeXBlKG1ldGhvZC5yZXR1cm5UeXBlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh3b3Jkcy5sZW5ndGggPiAxICYmIHdvcmRzW3dvcmRzLmxlbmd0aCAtIDJdLnRlcm0uZW5kc1dpdGgoJ10nKSkge1xuICAgICAgaWYgKHRoaXMuaXNNYXAodHlwZUlkKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUeXBlKCdTdHJpbmcnKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0FycmF5KHR5cGVJZCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VHlwZSh0eXBlSWQucmVwbGFjZUFsbCgvXFxbXS9nLCAnJykpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIGluc2VydE9yU3VnZ2VzdChjb2RlbWlycm9yKSB7XG4gICAgY29uc3QgY3Vyc29yID0gY29kZW1pcnJvci5nZXRDdXJzb3IoKTtcbiAgICBjb25zdCBjYXJldFBvc2l0aW9uID0gY3Vyc29yLmNoO1xuICAgIGNvbnN0IGN1cnJlbnRFTCA9IHRoaXMuZ2V0Q3VycmVudEVsKGNhcmV0UG9zaXRpb24sIGN1cnNvci5saW5lKTtcbiAgICBpZiAoY3VycmVudEVMICE9IG51bGwpIHtcbiAgICAgIHRoaXMuX3N1Z2dlc3QoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcG9zID0geyBsaW5lOiBjdXJzb3IubGluZSB9O1xuICAgICAgY29uc3QgZGF0YSA9ICd7I30nO1xuICAgICAgY29kZW1pcnJvci5yZXBsYWNlUmFuZ2UoZGF0YSwgcG9zLCBwb3MpO1xuICAgICAgY29kZW1pcnJvci5zZXRDdXJzb3IoY3Vyc29yLmxpbmUsIGNhcmV0UG9zaXRpb24gKyAyKTtcbiAgICB9XG4gIH1cblxuICBpc0h0dHBIZWFkZXIoY2FuZGlkYXRlLCBrZXkpIHtcbiAgICByZXR1cm4gKFxuICAgICAgY2FuZGlkYXRlICYmXG4gICAgICBrZXkgJiZcbiAgICAgIGNhbmRpZGF0ZS5fdHlwZSA9PT0gJ0h0dHBIZWFkZXJzJyAmJlxuICAgICAga2V5Lm1hdGNoKC9oZWFkZXJzJC9nKSAmJlxuICAgICAga2V5Lm1hdGNoKCcvaGVhZGVyc1xcXFxbKC4qKVxcXFxdXFxcXFsoLiopXFxcXF0kL2cnKSA9PSBudWxsXG4gICAgKTtcbiAgfVxuXG4gIGdldEVudW1UZXJtKHRlcm0pIHtcbiAgICBpZiAodGVybS5tYXRjaCgvXFxbJ1thLXotX10qJC9naSkpIHtcbiAgICAgIGNvbnN0IHNwbGl0dGVkID0gdGVybS5zcGxpdChgWydgKTtcbiAgICAgIHJldHVybiBzcGxpdHRlZFtzcGxpdHRlZC5sZW5ndGggLSAxXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBnZXRHcmFtbWFyKHsgc2VudGVuY2UgPSBudWxsLCBrZXkgPSBudWxsLCB3b3JkcyA9IFtdLCBmbiA9IFtdIH0pIHtcbiAgICBsZXQgZ3JhbW1hciA9IFtdO1xuICAgIGNvbnN0IHByZWZpeCA9ICcnO1xuICAgIGlmIChzZW50ZW5jZSAmJiBzZW50ZW5jZS5tYXRjaCgvXiNbYS16QS1aXSovZykpIHtcbiAgICAgIGdyYW1tYXIgPSB0aGlzLmdyYW1tYXI7XG4gICAgfVxuICAgIGlmIChrZXkgIT0gbnVsbCkge1xuICAgICAgY29uc3QgaXNBcnJheSA9IHNlbnRlbmNlICYmIHNlbnRlbmNlLm1hdGNoKC9bW1xcdydcIi1dKyhcXF0uKShbYS16QS1aXSopJC8pO1xuICAgICAgbGV0IGNhbmRpZGF0ZSA9IGdldCh0aGlzLmdyYW1tYXIsIGtleSk7XG4gICAgICBpZiAoY2FuZGlkYXRlICE9IG51bGwgJiYgIWtleS5lbmRzV2l0aCgnLicpICYmICFpc0FycmF5ICYmICF0aGlzLmlzSHR0cEhlYWRlcihjYW5kaWRhdGUsIGtleSkpIHtcbiAgICAgICAgcmV0dXJuIHsgbGlzdDogW10gfTtcbiAgICAgIH1cbiAgICAgIGlmIChjYW5kaWRhdGUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBwcmV2aW91c0tleSA9IHRoaXMuZ2V0UHJldmlvdXNLZXkoa2V5KTtcbiAgICAgICAgaWYgKHByZXZpb3VzS2V5ICE9IG51bGwpIHtcbiAgICAgICAgICBjYW5kaWRhdGUgPSBnZXQodGhpcy5ncmFtbWFyLCBwcmV2aW91c0tleSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChjYW5kaWRhdGUgIT0gbnVsbCkge1xuICAgICAgICBjb25zdCBsYXN0VGVybSA9IHdvcmRzLmxlbmd0aCA/IHdvcmRzW3dvcmRzLmxlbmd0aCAtIDFdLnRlcm0gOiAnJztcbiAgICAgICAgaWYgKHRoaXMuaXNNYXAoY2FuZGlkYXRlLl90eXBlKSkge1xuICAgICAgICAgIGNvbnN0IGVudW1UZXJtID0gdGhpcy5nZXRFbnVtVGVybShsYXN0VGVybSk7XG4gICAgICAgICAgaWYgKGVudW1UZXJtICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmJ1aWxkRW51bShjYW5kaWRhdGUsIGVudW1UZXJtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZmluZFJldHVyblR5cGUoY2FuZGlkYXRlLl90eXBlLCB3b3Jkcyk7XG4gICAgICAgIGlmICh0eXBlICYmIHR5cGUubWV0aG9kcyAhPSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuYnVpbGRNZXRob2RzKHR5cGUubWV0aG9kcywgbGFzdFRlcm0pO1xuICAgICAgICB9XG4gICAgICAgIGdyYW1tYXIgPSBjYW5kaWRhdGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGdyYW1tYXIgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHsgbGlzdDogW10gfTtcbiAgICB9XG5cbiAgICBjb25zdCBsaXN0ID0gT2JqZWN0LmtleXMoZ3JhbW1hcilcbiAgICAgIC5maWx0ZXIoKHByb3ApID0+ICFwcm9wLnN0YXJ0c1dpdGgoJ18nKSlcbiAgICAgIC5tYXAoKGcpID0+IHtcbiAgICAgICAgY29uc3Qgc3VmZml4ID0gdGhpcy5nZXRTdWZmaXgoZ3JhbW1hcltnXSk7XG4gICAgICAgIGNvbnN0IHRleHQgPSBgJHtwcmVmaXh9JHtnfSR7c3VmZml4fWA7XG4gICAgICAgIGNvbnN0IGRpc3BsYXlUZXh0ID0gYCR7Z30ke3N1ZmZpeH1gO1xuICAgICAgICByZXR1cm4geyB0ZXh0LCBkaXNwbGF5VGV4dCB9O1xuICAgICAgfSk7XG4gICAgcmV0dXJuIHsgbGlzdCB9O1xuICB9XG5cbiAgZ2V0U3VmZml4KGNhbmRpZGF0ZSkge1xuICAgIGlmICh0aGlzLmlzQXJyYXkoY2FuZGlkYXRlLl90eXBlKSkge1xuICAgICAgcmV0dXJuICdbXSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzTWFwKGNhbmRpZGF0ZS5fdHlwZSkpIHtcbiAgICAgIHJldHVybiBgWycnXVswXWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBnZXRDdXJyZW50RWwoY2FyZXRQb3NpdGlvbiwgbGluZSA9IDApIHtcbiAgICBpZiAodGhpcy52YWx1ZSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMudmFsdWUuc3BsaXQoJ1xcbicpW2xpbmVdO1xuXG4gICAgICBjb25zdCBncm91cCA9IHZhbHVlLm1hdGNoKC8oe1sgXSojW1xcdy0uID0rLTw+IT8nXCJbXFxdIygpXSpcXH0pL2cpO1xuICAgICAgaWYgKGdyb3VwICE9IG51bGwpIHtcbiAgICAgICAgbGV0IHN0YXJ0O1xuICAgICAgICBsZXQgZW5kO1xuICAgICAgICBjb25zdCBlbCA9IGdyb3VwLmZpbmQoKGdyb3VwKSA9PiB7XG4gICAgICAgICAgc3RhcnQgPSB2YWx1ZS5pbmRleE9mKGdyb3VwKTtcbiAgICAgICAgICBlbmQgPSBzdGFydCArIGdyb3VwLmxlbmd0aDtcbiAgICAgICAgICByZXR1cm4gY2FyZXRQb3NpdGlvbiA+IHN0YXJ0ICYmIGNhcmV0UG9zaXRpb24gPCBlbmQ7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoZWwgIT0gbnVsbCkge1xuICAgICAgICAgIHJldHVybiB7IGVsLCBjYXJldFBvc2l0aW9uLCBzdGFydCwgZW5kIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBhbmFseXNlKHsgZWwsIHN0YXJ0LCBjYXJldFBvc2l0aW9uIH0pIHtcbiAgICBjb25zdCBlbmQgPSBjYXJldFBvc2l0aW9uIC0gc3RhcnQgPj0gMSA/IGNhcmV0UG9zaXRpb24gLSBzdGFydCA6IDE7XG4gICAgY29uc3QgZXhwcmVzc2lvbnMgPSBlbC5zbGljZSgxLCBlbmQpLnRyaW0oKS5zcGxpdCgnLicpO1xuICAgIGxldCBzZW50ZW5jZSA9ICcnO1xuICAgIGNvbnN0IHdvcmRzID0gZXhwcmVzc2lvbnMubWFwKChrKSA9PiB7XG4gICAgICBjb25zdCBmbiA9IHRoaXMuaXNGdW5jdGlvbihrKTtcbiAgICAgIGxldCB0ZXJtID0gJyc7XG4gICAgICBpZiAoZm4pIHtcbiAgICAgICAgdGVybSA9IGsuc3BsaXQoJygnKVswXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRlcm0gPSBrO1xuICAgICAgICBzZW50ZW5jZSArPSBgLiR7a31gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgdGVybSwgZm4gfTtcbiAgICB9KTtcbiAgICBpZiAoc2VudGVuY2UpIHtcbiAgICAgIHNlbnRlbmNlID0gc2VudGVuY2Uuc2xpY2UoMSk7XG4gICAgfVxuXG4gICAgbGV0IGtleSA9IHNlbnRlbmNlLmluZGV4T2YoJyMnKSA+IC0xID8gc2VudGVuY2Uuc3BsaXQoJyMnKS5yZXZlcnNlKClbMF0gOiBudWxsO1xuICAgIGlmIChrZXkgPT09ICcnKSB7XG4gICAgICBrZXkgPSBudWxsO1xuICAgIH1cbiAgICBpZiAoa2V5ICE9IG51bGwpIHtcbiAgICAgIGtleSA9IGtleS5zcGxpdCgnWycpWzBdO1xuICAgIH1cbiAgICByZXR1cm4geyBzZW50ZW5jZSwga2V5LCB3b3JkcyB9O1xuICB9XG5cbiAgZ2V0IGNvZGVFbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcignZ3YtY29kZScpO1xuICB9XG5cbiAgY2FuTW92ZUN1cnNvcigpIHtcbiAgICByZXR1cm4gIVsnQmFja3NwYWNlJywgJ0RlbGV0ZSddLmluY2x1ZGVzKHRoaXMuX2xhc3RLZXlEb3duKTtcbiAgfVxuXG4gIF9zdWdnZXN0KCkge1xuICAgIGNvbnN0IGNvZGVFbGVtZW50ID0gdGhpcy5jb2RlRWxlbWVudDtcbiAgICBjb25zdCBjb2RlbWlycm9yID0gY29kZUVsZW1lbnQuZ2V0Q00oKTtcbiAgICBjb25zdCBjdXJzb3IgPSBjb2RlbWlycm9yLmdldEN1cnNvcigpO1xuICAgIGNvbnN0IGNhcmV0UG9zaXRpb24gPSBjdXJzb3IuY2g7XG4gICAgY29uc3QgY3VycmVudEVMID0gdGhpcy5nZXRDdXJyZW50RWwoY2FyZXRQb3NpdGlvbiwgY3Vyc29yLmxpbmUpO1xuICAgIGlmIChjdXJyZW50RUwgIT0gbnVsbCkge1xuICAgICAgY29uc3QgeyBzZW50ZW5jZSwga2V5LCB3b3JkcywgZm4gfSA9IHRoaXMuYW5hbHlzZShjdXJyZW50RUwpO1xuICAgICAgY29uc3QgeyBsaXN0IH0gPSB0aGlzLmdldEdyYW1tYXIoeyBzZW50ZW5jZSwga2V5LCB3b3JkcywgZm4gfSk7XG4gICAgICBpZiAodGhpcy5jYW5Nb3ZlQ3Vyc29yKCkgJiYgKHNlbnRlbmNlLmVuZHNXaXRoKCcoKScpIHx8IHNlbnRlbmNlLmVuZHNXaXRoKCdbXScpKSkge1xuICAgICAgICBjb2RlbWlycm9yLnNldEN1cnNvcihjdXJzb3IubGluZSwgY2FyZXRQb3NpdGlvbiAtIDEpO1xuICAgICAgICB0aGlzLl9zdWdnZXN0KCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuTW92ZUN1cnNvcigpICYmIHNlbnRlbmNlLmVuZHNXaXRoKGBbJyddWzBdYCkpIHtcbiAgICAgICAgY29kZW1pcnJvci5zZXRDdXJzb3IoY3Vyc29yLmxpbmUsIGNhcmV0UG9zaXRpb24gLSA1KTtcbiAgICAgICAgdGhpcy5fc3VnZ2VzdCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fZG9TdWdnZXN0KGxpc3QpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIF9vbklucHV0KGV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnZhbHVlID0gZXZlbnQuZGV0YWlsO1xuICAgIHRoaXMuX3N1Z2dlc3QoKTtcbiAgICBkaXNwYXRjaEN1c3RvbUV2ZW50KHRoaXMsICdpbnB1dCcsIHRoaXMudmFsdWUpO1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2lucHV0JyksIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIF9nZXRPckNyZWF0ZUhpbnQoKSB7XG4gICAgaWYgKHRoaXMuaW5uZXJIaW50KSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaGludElkfWApO1xuICAgICAgZWxlbWVudC5yZXF1ZXN0VXBkYXRlKCk7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9XG4gICAgbGV0IGVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmhpbnRJZH1gKTtcbiAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZ3YtY29kZS1oaW50Jyk7XG4gICAgICBlbGVtZW50LmlkID0gdGhpcy5oaW50SWQ7XG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LnJlcXVlc3RVcGRhdGUoKTtcbiAgICB9XG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICBfZG9TdWdnZXN0KHN1Z2dlc3Rpb25zID0gW10sIHByZWZpeCA9ICcjJykge1xuICAgIGlmIChzdWdnZXN0aW9ucyA9PSBudWxsKSB7XG4gICAgICBzdWdnZXN0aW9ucyA9IFtdO1xuICAgIH1cbiAgICBjb25zdCBjb2RlID0gdGhpcy5jb2RlRWxlbWVudDtcbiAgICBjb25zdCBoaW50ID0gdGhpcy5fZ2V0T3JDcmVhdGVIaW50KCk7XG4gICAgY29uc3QgY29kZW1pcnJvciA9IGNvZGUuZ2V0Q00oKTtcbiAgICBDb2RlTWlycm9yLnNob3dIaW50KFxuICAgICAgY29kZW1pcnJvcixcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgY3Vyc29yID0gY29kZW1pcnJvci5nZXRDdXJzb3IoKTtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBjb2RlbWlycm9yLmdldFRva2VuQXQoY3Vyc29yKTtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSB0b2tlbi5zdGFydDtcbiAgICAgICAgY29uc3QgZW5kID0gY3Vyc29yLmNoO1xuICAgICAgICBjb25zdCBsaW5lID0gY3Vyc29yLmxpbmU7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRXb3JkID0gdG9rZW4uc3RyaW5nO1xuICAgICAgICBsZXQgX3N1Z2dlc3Rpb25zID0gW107XG4gICAgICAgIGlmIChjdXJyZW50V29yZC5zdGFydHNXaXRoKHByZWZpeCkpIHtcbiAgICAgICAgICBfc3VnZ2VzdGlvbnMgPSBzdWdnZXN0aW9ucy5tYXAoKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHJldHVybiBpdGVtO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9zdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbGlzdCA9IF9zdWdnZXN0aW9ucy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgICAgICByZXR1cm4gaXRlbS50ZXh0LmluZGV4T2YoY3VycmVudFdvcmQpID49IDA7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGxpc3Q6IGxpc3QubGVuZ3RoID8gbGlzdCA6IF9zdWdnZXN0aW9ucyxcbiAgICAgICAgICBmcm9tOiBDb2RlTWlycm9yLlBvcyhsaW5lLCBzdGFydCksXG4gICAgICAgICAgdG86IENvZGVNaXJyb3IuUG9zKGxpbmUsIGVuZCksXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgeyBjb21wbGV0ZVNpbmdsZTogZmFsc2UsIGNvbnRhaW5lcjogaGludCB9LFxuICAgICk7XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIC4uLntcbiAgICAgICAgbW9kZTogJ2phdmFzY3JpcHQnLFxuICAgICAgICBhdXRvQ2xvc2VUYWdzOiB0cnVlLFxuICAgICAgICBhdXRvQ2xvc2VCcmFja2V0czogdHJ1ZSxcbiAgICAgICAgbWF0Y2hUYWdzOiB0cnVlLFxuICAgICAgICBsaW50OiBmYWxzZSxcbiAgICAgICAgLy8gbGludDoge1xuICAgICAgICAvLyAgIHNlbGZDb250YWluOiB0cnVlLFxuICAgICAgICAvLyB9LFxuICAgICAgfSxcbiAgICAgIC4uLih0aGlzLm9wdGlvbnMgfHwge30pLFxuICAgIH07XG4gICAgcmV0dXJuIGh0bWxgPGRpdiB0aXRsZT1cIkN0cmwtRSBvciBDbWQtRSB0byBpbnNlcnQgRUxcIj5cbiAgICAgICR7dGhpcy5sYWJlbCAhPSBudWxsID8gaHRtbGA8bGFiZWw+JHt0aGlzLmxhYmVsfTwvbGFiZWw+YCA6ICcnfVxuICAgICAgPGd2LWNvZGVcbiAgICAgICAgLm9wdGlvbnM9XCIke29wdGlvbnN9XCJcbiAgICAgICAgLnZhbHVlPVwiJHt0aGlzLnZhbHVlfVwiXG4gICAgICAgIC5yb3dzPVwiJHt0aGlzLnJvd3N9XCJcbiAgICAgICAgP2Rpc2FibGVkPVwiJHt0aGlzLmRpc2FibGVkfVwiXG4gICAgICAgID9yZWFkb25seT1cIiR7dGhpcy5yZWFkb25seX1cIlxuICAgICAgICA/cmVxdWlyZWQ9XCIke3RoaXMucmVxdWlyZWR9XCJcbiAgICAgICAgP2F1dG9mb2N1cz1cIiR7dGhpcy5hdXRvZm9jdXN9XCJcbiAgICAgICAgLnBsYWNlaG9sZGVyPVwiJHt0aGlzLnBsYWNlaG9sZGVyfVwiXG4gICAgICAgIC5kZXNjcmlwdGlvbj1cIiR7dGhpcy5kZXNjcmlwdGlvbn1cIlxuICAgICAgPjwvZ3YtY29kZT5cbiAgICAgICR7dGhpcy5pbm5lckhpbnQgPyBodG1sYDxndi1jb2RlLWhpbnQgaWQ9XCIke3RoaXMuaGludElkfVwiPjwvZ3YtY29kZS1oaW50PmAgOiAnJ31cbiAgICA8L2Rpdj5gO1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGlucHV0LFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGd2LWNvZGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1leHByZXNzaW9uLWxhbmd1YWdlJywgR3ZFeHByZXNzaW9uTGFuZ3VhZ2UpO1xuIl19
@@ -13,11 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, LitElement } from 'lit-element';
17
- import { html } from 'lit-html';
16
+ import { css, LitElement, html } from 'lit';
18
17
  import { toSvg } from 'jdenticon';
19
18
  import { skeleton } from '../styles/skeleton';
20
- import { styleMap } from 'lit-html/directives/style-map';
19
+ import { styleMap } from 'lit/directives/style-map';
21
20
  import '../atoms/gv-image';
22
21
  /**
23
22
  * Identity picture component
@@ -123,4 +122,4 @@ export class GvIdentityPicture extends LitElement {
123
122
 
124
123
  }
125
124
  window.customElements.define('gv-identity-picture', GvIdentityPicture);
126
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1pZGVudGl0eS1waWN0dXJlLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwidG9TdmciLCJza2VsZXRvbiIsInN0eWxlTWFwIiwiR3ZJZGVudGl0eVBpY3R1cmUiLCJwcm9wZXJ0aWVzIiwicGljdHVyZSIsInR5cGUiLCJTdHJpbmciLCJkaXNwbGF5X25hbWUiLCJfZXJyb3IiLCJCb29sZWFuIiwiYXR0cmlidXRlIiwibm90aWZpY2F0aW9uIiwicm91bmRlZCIsInJlZmxlY3QiLCJzdHlsZXMiLCJfb25FcnJvciIsIl90b051bWJlciIsInNpemUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJfb25Mb2FkZWQiLCJfZ2V0TWF4U2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiTWF0aCIsIm1pbiIsInVwZGF0ZWQiLCJoYXMiLCJyZW5kZXIiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NMaXN0IiwiYWRkIiwidGl0bGUiLCJpbm5lckhUTUwiLCJiYWNrQ29sb3IiLCJjbGFzc05hbWUiLCJzdHlsZSIsImxlZnQiLCJhcHBlbmRDaGlsZCIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLFVBQWQsUUFBZ0MsYUFBaEM7QUFDQSxTQUFTQyxJQUFULFFBQXFCLFVBQXJCO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixXQUF0QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwrQkFBekI7QUFDQSxPQUFPLG1CQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxNQUFNQyxpQkFBTixTQUFnQ0wsVUFBaEMsQ0FBMkM7QUFDM0IsYUFBVk0sVUFBVSxHQUFHO0FBQ3RCLFdBQU87QUFDTEMsTUFBQUEsT0FBTyxFQUFFO0FBQUVDLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQURKO0FBRUxDLE1BQUFBLFlBQVksRUFBRTtBQUFFRixRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FGVDtBQUdMRSxNQUFBQSxNQUFNLEVBQUU7QUFBRUgsUUFBQUEsSUFBSSxFQUFFSSxPQUFSO0FBQWlCQyxRQUFBQSxTQUFTLEVBQUU7QUFBNUIsT0FISDtBQUlMQyxNQUFBQSxZQUFZLEVBQUU7QUFBRU4sUUFBQUEsSUFBSSxFQUFFSTtBQUFSLE9BSlQ7QUFLTEcsTUFBQUEsT0FBTyxFQUFFO0FBQUVQLFFBQUFBLElBQUksRUFBRUksT0FBUjtBQUFpQkksUUFBQUEsT0FBTyxFQUFFO0FBQTFCLE9BTEo7QUFNTGIsTUFBQUEsUUFBUSxFQUFFO0FBQUVLLFFBQUFBLElBQUksRUFBRUk7QUFBUjtBQU5MLEtBQVA7QUFRRDs7QUFFZ0IsYUFBTkssTUFBTSxHQUFHO0FBQ2xCLFdBQU8sQ0FDTGQsUUFESyxFQUVMO0FBQ0FKLElBQUFBLEdBQUcseWlCQUhFLENBQVA7QUE2Q0Q7O0FBRURtQixFQUFBQSxRQUFRLEdBQUc7QUFDVCxTQUFLUCxNQUFMLEdBQWMsSUFBZDtBQUNEOztBQUVEUSxFQUFBQSxTQUFTLENBQUNDLElBQUQsRUFBTztBQUNkLFdBQU9DLFFBQVEsQ0FBQ0QsSUFBSSxDQUFDRSxPQUFMLENBQWEsSUFBYixFQUFtQixFQUFuQixDQUFELEVBQXlCLEVBQXpCLENBQWY7QUFDRDs7QUFFREMsRUFBQUEsU0FBUyxHQUFHO0FBQ1YsU0FBS1osTUFBTCxHQUFjLEtBQWQ7QUFDRDs7QUFFRGEsRUFBQUEsV0FBVyxDQUFDQyxLQUFELEVBQVFDLE1BQVIsRUFBZ0I7QUFDekIsV0FBT0MsSUFBSSxDQUFDQyxHQUFMLENBQVMsS0FBS1QsU0FBTCxDQUFlTSxLQUFmLENBQVQsRUFBZ0MsS0FBS04sU0FBTCxDQUFlTyxNQUFmLENBQWhDLENBQVA7QUFDRDs7QUFFREcsRUFBQUEsT0FBTyxDQUFDdkIsVUFBRCxFQUFhO0FBQ2xCLFFBQUlBLFVBQVUsQ0FBQ3dCLEdBQVgsQ0FBZSxTQUFmLENBQUosRUFBK0I7QUFDN0IsV0FBS25CLE1BQUwsR0FBYyxLQUFkO0FBQ0Q7QUFDRjs7QUFFRG9CLEVBQUFBLE1BQU0sR0FBRztBQUNQLFVBQU07QUFBRU4sTUFBQUEsS0FBRjtBQUFTQyxNQUFBQTtBQUFULFFBQW9CTSxNQUFNLENBQUNDLGdCQUFQLENBQXdCLElBQXhCLENBQTFCOztBQUNBLFFBQUksQ0FBQyxDQUFDLEtBQUsxQixPQUFOLElBQWlCLEtBQUtJLE1BQXZCLEtBQWtDYyxLQUFsQyxJQUEyQ0MsTUFBL0MsRUFBdUQ7QUFDckQsWUFBTU4sSUFBSSxHQUFHLEtBQUtJLFdBQUwsQ0FBaUJDLEtBQWpCLEVBQXdCQyxNQUF4QixDQUFiOztBQUNBLFlBQU1RLFNBQVMsR0FBR0MsUUFBUSxDQUFDQyxhQUFULENBQXVCLEtBQXZCLENBQWxCOztBQUNBLFVBQUksS0FBS2pDLFFBQVQsRUFBbUI7QUFDakIrQixRQUFBQSxTQUFTLENBQUNHLFNBQVYsQ0FBb0JDLEdBQXBCLENBQXdCLFVBQXhCO0FBQ0Q7O0FBQ0RKLE1BQUFBLFNBQVMsQ0FBQ0ssS0FBVixHQUFrQixLQUFLN0IsWUFBdkI7QUFDQXdCLE1BQUFBLFNBQVMsQ0FBQ00sU0FBVixHQUFzQnRDLEtBQUssQ0FBQyxLQUFLUSxZQUFOLEVBQW9CVSxJQUFwQixFQUEwQjtBQUFFcUIsUUFBQUEsU0FBUyxFQUFFO0FBQWIsT0FBMUIsQ0FBM0I7O0FBQ0EsVUFBSSxLQUFLM0IsWUFBVCxFQUF1QjtBQUNyQixjQUFNQSxZQUFZLEdBQUdxQixRQUFRLENBQUNDLGFBQVQsQ0FBdUIsTUFBdkIsQ0FBckI7QUFDQXRCLFFBQUFBLFlBQVksQ0FBQzRCLFNBQWIsR0FBeUIsY0FBekI7QUFDQTVCLFFBQUFBLFlBQVksQ0FBQzZCLEtBQWIsQ0FBbUJDLElBQW5CLEdBQTBCbkIsS0FBMUI7QUFDQVMsUUFBQUEsU0FBUyxDQUFDVyxXQUFWLENBQXNCL0IsWUFBdEI7QUFDRDs7QUFDRCxhQUFPYixJQUFJLEdBQUdpQyxTQUFILEVBQVg7QUFDRDs7QUFDRCxXQUFPakMsSUFBSSxtQkFFQSxLQUFLTSxPQUZMLFVBR0EsS0FBS0csWUFITCxZQUlFLEtBQUtBLFlBSlAsYUFLRyxLQUFLUSxRQUxSLHVCQU1hLEtBQUtLLFNBTmxCLGlCQVFQLEtBQUtULFlBQUwsR0FBb0JiLElBQUkscUNBQXFDRyxRQUFRLENBQUM7QUFBRXdDLE1BQUFBLElBQUksRUFBRW5CO0FBQVIsS0FBRCxDQUE3QyxXQUF4QixHQUFvRyxFQVI3RixHQUFYO0FBVUQ7O0FBOUcrQztBQWlIbERPLE1BQU0sQ0FBQ2MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIscUJBQTdCLEVBQW9EMUMsaUJBQXBEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNzcywgTGl0RWxlbWVudCB9IGZyb20gJ2xpdC1lbGVtZW50JztcbmltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQtaHRtbCc7XG5pbXBvcnQgeyB0b1N2ZyB9IGZyb20gJ2pkZW50aWNvbic7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvc3R5bGUtbWFwJztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaW1hZ2UnO1xuXG4vKipcbiAqIElkZW50aXR5IHBpY3R1cmUgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGF0dHIge1N0cmluZ30gcGljdHVyZSAtIHRoZSBwaWN0dXJlXG4gKiBAYXR0ciB7U3RyaW5nfSBkaXNwbGF5X25hbWUgLSB0aGUgZGlzcGxheV9uYW1lIG9mIHRoZSBwaWN0dXJlXG4gKiBAYXR0ciB7Qm9vbGVhbn0gbm90aWZpY2F0aW9uIC0gdHJ1ZSB0byBkaXNwbGF5IGEgbm90aWZpY2F0aW9uIGluZm9cbiAqIEBhdHRyIHtCb29sZWFufSByb3VuZGVkIC0gdHJ1ZSBmb3Igcm91bmRlZCBpbWFnZS9pY29uXG4gKlxuICogQGNzc3Byb3Age0NvbG9yfSBbLS1ndi1pZGVudGl0eS1waWN0dXJlLW5vdGlmaWNhdGlvbi0tYmdjPXZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjODZjM2QwKV0gLSBOb3RpZmljYXRpb24gYmFja2dyb3VuZCBjb2xvclxuICovXG5leHBvcnQgY2xhc3MgR3ZJZGVudGl0eVBpY3R1cmUgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBwaWN0dXJlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgZGlzcGxheV9uYW1lOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgX2Vycm9yOiB7IHR5cGU6IEJvb2xlYW4sIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICAgIG5vdGlmaWNhdGlvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICByb3VuZGVkOiB7IHR5cGU6IEJvb2xlYW4sIHJlZmxlY3Q6IHRydWUgfSxcbiAgICAgIHNrZWxldG9uOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHNrZWxldG9uLFxuICAgICAgLy8gbGFuZ3VhZ2U9Q1NTXG4gICAgICBjc3NgXG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICBkaXYge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIHN2ZyxcbiAgICAgICAgLnNrZWxldG9uIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIC0tZ3YtaW1hZ2UtLW9mOiBjb250YWluO1xuICAgICAgICB9XG5cbiAgICAgICAgOmhvc3QoW3JvdW5kZWRdKSBndi1pbWFnZSxcbiAgICAgICAgOmhvc3QoW3JvdW5kZWRdKSBzdmcge1xuICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlciwgI2ZhZmFmYSk7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgLS1ndi1pbWFnZS0tb2Y6IGNvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vdGlmaWNhdGlvbiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtaWRlbnRpdHktcGljdHVyZS1ub3RpZmljYXRpb24tLWJnYywgdmFyKC0tZ3YtdGhlbWUtY29sb3ItbGlnaHQsICM4NmMzZDApKTtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgX29uRXJyb3IoKSB7XG4gICAgdGhpcy5fZXJyb3IgPSB0cnVlO1xuICB9XG5cbiAgX3RvTnVtYmVyKHNpemUpIHtcbiAgICByZXR1cm4gcGFyc2VJbnQoc2l6ZS5yZXBsYWNlKCdweCcsICcnKSwgMTApO1xuICB9XG5cbiAgX29uTG9hZGVkKCkge1xuICAgIHRoaXMuX2Vycm9yID0gZmFsc2U7XG4gIH1cblxuICBfZ2V0TWF4U2l6ZSh3aWR0aCwgaGVpZ2h0KSB7XG4gICAgcmV0dXJuIE1hdGgubWluKHRoaXMuX3RvTnVtYmVyKHdpZHRoKSwgdGhpcy5fdG9OdW1iZXIoaGVpZ2h0KSk7XG4gIH1cblxuICB1cGRhdGVkKHByb3BlcnRpZXMpIHtcbiAgICBpZiAocHJvcGVydGllcy5oYXMoJ3BpY3R1cmUnKSkge1xuICAgICAgdGhpcy5fZXJyb3IgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzKTtcbiAgICBpZiAoKCF0aGlzLnBpY3R1cmUgfHwgdGhpcy5fZXJyb3IpICYmIHdpZHRoICYmIGhlaWdodCkge1xuICAgICAgY29uc3Qgc2l6ZSA9IHRoaXMuX2dldE1heFNpemUod2lkdGgsIGhlaWdodCk7XG4gICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIGlmICh0aGlzLnNrZWxldG9uKSB7XG4gICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdza2VsZXRvbicpO1xuICAgICAgfVxuICAgICAgY29udGFpbmVyLnRpdGxlID0gdGhpcy5kaXNwbGF5X25hbWU7XG4gICAgICBjb250YWluZXIuaW5uZXJIVE1MID0gdG9TdmcodGhpcy5kaXNwbGF5X25hbWUsIHNpemUsIHsgYmFja0NvbG9yOiAnI0ZGRicgfSk7XG4gICAgICBpZiAodGhpcy5ub3RpZmljYXRpb24pIHtcbiAgICAgICAgY29uc3Qgbm90aWZpY2F0aW9uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBub3RpZmljYXRpb24uY2xhc3NOYW1lID0gJ25vdGlmaWNhdGlvbic7XG4gICAgICAgIG5vdGlmaWNhdGlvbi5zdHlsZS5sZWZ0ID0gd2lkdGg7XG4gICAgICAgIGNvbnRhaW5lci5hcHBlbmRDaGlsZChub3RpZmljYXRpb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGh0bWxgJHtjb250YWluZXJ9YDtcbiAgICB9XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8Z3YtaW1hZ2VcbiAgICAgICAgc3JjPVwiJHt0aGlzLnBpY3R1cmV9XCJcbiAgICAgICAgYWx0PVwiJHt0aGlzLmRpc3BsYXlfbmFtZX1cIlxuICAgICAgICB0aXRsZT1cIiR7dGhpcy5kaXNwbGF5X25hbWV9XCJcbiAgICAgICAgQGVycm9yPVwiJHt0aGlzLl9vbkVycm9yfVwiXG4gICAgICAgIEBndi1pbWFnZTpsb2FkZWQ9XCIke3RoaXMuX29uTG9hZGVkfVwiXG4gICAgICA+PC9ndi1pbWFnZT5cbiAgICAgICR7dGhpcy5ub3RpZmljYXRpb24gPyBodG1sYDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uXCIgc3R5bGU9XCIke3N0eWxlTWFwKHsgbGVmdDogd2lkdGggfSl9XCI+PC9zcGFuPmAgOiAnJ31cbiAgICBgO1xuICB9XG59XG5cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LWlkZW50aXR5LXBpY3R1cmUnLCBHdklkZW50aXR5UGljdHVyZSk7XG4iXX0=
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1pZGVudGl0eS1waWN0dXJlLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwidG9TdmciLCJza2VsZXRvbiIsInN0eWxlTWFwIiwiR3ZJZGVudGl0eVBpY3R1cmUiLCJwcm9wZXJ0aWVzIiwicGljdHVyZSIsInR5cGUiLCJTdHJpbmciLCJkaXNwbGF5X25hbWUiLCJfZXJyb3IiLCJCb29sZWFuIiwiYXR0cmlidXRlIiwibm90aWZpY2F0aW9uIiwicm91bmRlZCIsInJlZmxlY3QiLCJzdHlsZXMiLCJfb25FcnJvciIsIl90b051bWJlciIsInNpemUiLCJwYXJzZUludCIsInJlcGxhY2UiLCJfb25Mb2FkZWQiLCJfZ2V0TWF4U2l6ZSIsIndpZHRoIiwiaGVpZ2h0IiwiTWF0aCIsIm1pbiIsInVwZGF0ZWQiLCJoYXMiLCJyZW5kZXIiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiY29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NMaXN0IiwiYWRkIiwidGl0bGUiLCJpbm5lckhUTUwiLCJiYWNrQ29sb3IiLCJjbGFzc05hbWUiLCJzdHlsZSIsImxlZnQiLCJhcHBlbmRDaGlsZCIsImN1c3RvbUVsZW1lbnRzIiwiZGVmaW5lIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxHQUFULEVBQWNDLFVBQWQsRUFBMEJDLElBQTFCLFFBQXNDLEtBQXRDO0FBQ0EsU0FBU0MsS0FBVCxRQUFzQixXQUF0QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsb0JBQXpCO0FBQ0EsU0FBU0MsUUFBVCxRQUF5QiwwQkFBekI7QUFDQSxPQUFPLG1CQUFQO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNB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LFFBQUFBLFlBQVksQ0FBQzZCLEtBQWIsQ0FBbUJDLElBQW5CLEdBQTBCbkIsS0FBMUI7QUFDQVMsUUFBQUEsU0FBUyxDQUFDVyxXQUFWLENBQXNCL0IsWUFBdEI7QUFDRDs7QUFDRCxhQUFPYixJQUFJLEdBQUdpQyxTQUFILEVBQVg7QUFDRDs7QUFDRCxXQUFPakMsSUFBSSxtQkFFQSxLQUFLTSxPQUZMLFVBR0EsS0FBS0csWUFITCxZQUlFLEtBQUtBLFlBSlAsYUFLRyxLQUFLUSxRQUxSLHVCQU1hLEtBQUtLLFNBTmxCLGlCQVFQLEtBQUtULFlBQUwsR0FBb0JiLElBQUkscUNBQXFDRyxRQUFRLENBQUM7QUFBRXdDLE1BQUFBLElBQUksRUFBRW5CO0FBQVIsS0FBRCxDQUE3QyxXQUF4QixHQUFvRyxFQVI3RixHQUFYO0FBVUQ7O0FBOUcrQztBQWlIbERPLE1BQU0sQ0FBQ2MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIscUJBQTdCLEVBQW9EMUMsaUJBQXBEIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNzcywgTGl0RWxlbWVudCwgaHRtbCB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyB0b1N2ZyB9IGZyb20gJ2pkZW50aWNvbic7XG5pbXBvcnQgeyBza2VsZXRvbiB9IGZyb20gJy4uL3N0eWxlcy9za2VsZXRvbic7XG5pbXBvcnQgeyBzdHlsZU1hcCB9IGZyb20gJ2xpdC9kaXJlY3RpdmVzL3N0eWxlLW1hcCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWltYWdlJztcblxuLyoqXG4gKiBJZGVudGl0eSBwaWN0dXJlIGNvbXBvbmVudFxuICpcbiAqICMjIERldGFpbHNcbiAqICogaGFzIEB0aGVtZSBmYWNldFxuICpcbiAqIEBhdHRyIHtTdHJpbmd9IHBpY3R1cmUgLSB0aGUgcGljdHVyZVxuICogQGF0dHIge1N0cmluZ30gZGlzcGxheV9uYW1lIC0gdGhlIGRpc3BsYXlfbmFtZSBvZiB0aGUgcGljdHVyZVxuICogQGF0dHIge0Jvb2xlYW59IG5vdGlmaWNhdGlvbiAtIHRydWUgdG8gZGlzcGxheSBhIG5vdGlmaWNhdGlvbiBpbmZvXG4gKiBAYXR0ciB7Qm9vbGVhbn0gcm91bmRlZCAtIHRydWUgZm9yIHJvdW5kZWQgaW1hZ2UvaWNvblxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtaWRlbnRpdHktcGljdHVyZS1ub3RpZmljYXRpb24tLWJnYz12YXIoLS1ndi10aGVtZS1jb2xvci1saWdodCwgIzg2YzNkMCldIC0gTm90aWZpY2F0aW9uIGJhY2tncm91bmQgY29sb3JcbiAqL1xuZXhwb3J0IGNsYXNzIEd2SWRlbnRpdHlQaWN0dXJlIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGljdHVyZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIGRpc3BsYXlfbmFtZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIF9lcnJvcjogeyB0eXBlOiBCb29sZWFuLCBhdHRyaWJ1dGU6IGZhbHNlIH0sXG4gICAgICBub3RpZmljYXRpb246IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgcm91bmRlZDogeyB0eXBlOiBCb29sZWFuLCByZWZsZWN0OiB0cnVlIH0sXG4gICAgICBza2VsZXRvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgfTtcbiAgfVxuXG4gIHN0YXRpYyBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiBbXG4gICAgICBza2VsZXRvbixcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzdmcsXG4gICAgICAgIC5za2VsZXRvbiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgZ3YtaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAtLWd2LWltYWdlLS1vZjogY29udGFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIDpob3N0KFtyb3VuZGVkXSkgZ3YtaW1hZ2UsXG4gICAgICAgIDpob3N0KFtyb3VuZGVkXSkgc3ZnIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0ZXIsICNmYWZhZmEpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIC0tZ3YtaW1hZ2UtLW9mOiBjb3ZlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3RpZmljYXRpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LWlkZW50aXR5LXBpY3R1cmUtbm90aWZpY2F0aW9uLS1iZ2MsIHZhcigtLWd2LXRoZW1lLWNvbG9yLWxpZ2h0LCAjODZjM2QwKSk7XG4gICAgICAgIH1cbiAgICAgIGAsXG4gICAgXTtcbiAgfVxuXG4gIF9vbkVycm9yKCkge1xuICAgIHRoaXMuX2Vycm9yID0gdHJ1ZTtcbiAgfVxuXG4gIF90b051bWJlcihzaXplKSB7XG4gICAgcmV0dXJuIHBhcnNlSW50KHNpemUucmVwbGFjZSgncHgnLCAnJyksIDEwKTtcbiAgfVxuXG4gIF9vbkxvYWRlZCgpIHtcbiAgICB0aGlzLl9lcnJvciA9IGZhbHNlO1xuICB9XG5cbiAgX2dldE1heFNpemUod2lkdGgsIGhlaWdodCkge1xuICAgIHJldHVybiBNYXRoLm1pbih0aGlzLl90b051bWJlcih3aWR0aCksIHRoaXMuX3RvTnVtYmVyKGhlaWdodCkpO1xuICB9XG5cbiAgdXBkYXRlZChwcm9wZXJ0aWVzKSB7XG4gICAgaWYgKHByb3BlcnRpZXMuaGFzKCdwaWN0dXJlJykpIHtcbiAgICAgIHRoaXMuX2Vycm9yID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcyk7XG4gICAgaWYgKCghdGhpcy5waWN0dXJlIHx8IHRoaXMuX2Vycm9yKSAmJiB3aWR0aCAmJiBoZWlnaHQpIHtcbiAgICAgIGNvbnN0IHNpemUgPSB0aGlzLl9nZXRNYXhTaXplKHdpZHRoLCBoZWlnaHQpO1xuICAgICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBpZiAodGhpcy5za2VsZXRvbikge1xuICAgICAgICBjb250YWluZXIuY2xhc3NMaXN0LmFkZCgnc2tlbGV0b24nKTtcbiAgICAgIH1cbiAgICAgIGNvbnRhaW5lci50aXRsZSA9IHRoaXMuZGlzcGxheV9uYW1lO1xuICAgICAgY29udGFpbmVyLmlubmVySFRNTCA9IHRvU3ZnKHRoaXMuZGlzcGxheV9uYW1lLCBzaXplLCB7IGJhY2tDb2xvcjogJyNGRkYnIH0pO1xuICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9uKSB7XG4gICAgICAgIGNvbnN0IG5vdGlmaWNhdGlvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgICAgICAgbm90aWZpY2F0aW9uLmNsYXNzTmFtZSA9ICdub3RpZmljYXRpb24nO1xuICAgICAgICBub3RpZmljYXRpb24uc3R5bGUubGVmdCA9IHdpZHRoO1xuICAgICAgICBjb250YWluZXIuYXBwZW5kQ2hpbGQobm90aWZpY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBodG1sYCR7Y29udGFpbmVyfWA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYFxuICAgICAgPGd2LWltYWdlXG4gICAgICAgIHNyYz1cIiR7dGhpcy5waWN0dXJlfVwiXG4gICAgICAgIGFsdD1cIiR7dGhpcy5kaXNwbGF5X25hbWV9XCJcbiAgICAgICAgdGl0bGU9XCIke3RoaXMuZGlzcGxheV9uYW1lfVwiXG4gICAgICAgIEBlcnJvcj1cIiR7dGhpcy5fb25FcnJvcn1cIlxuICAgICAgICBAZ3YtaW1hZ2U6bG9hZGVkPVwiJHt0aGlzLl9vbkxvYWRlZH1cIlxuICAgICAgPjwvZ3YtaW1hZ2U+XG4gICAgICAke3RoaXMubm90aWZpY2F0aW9uID8gaHRtbGA8c3BhbiBjbGFzcz1cIm5vdGlmaWNhdGlvblwiIHN0eWxlPVwiJHtzdHlsZU1hcCh7IGxlZnQ6IHdpZHRoIH0pfVwiPjwvc3Bhbj5gIDogJyd9XG4gICAgYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1pZGVudGl0eS1waWN0dXJlJywgR3ZJZGVudGl0eVBpY3R1cmUpO1xuIl19
@@ -13,9 +13,9 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, html, LitElement } from 'lit-element';
17
- import { repeat } from 'lit-html/directives/repeat';
18
- import { classMap } from 'lit-html/directives/class-map';
16
+ import { css, html, LitElement } from 'lit';
17
+ import { repeat } from 'lit/directives/repeat';
18
+ import { classMap } from 'lit/directives/class-map';
19
19
  import { i18n } from '../lib/i18n';
20
20
  import { link } from '../styles/link';
21
21
  import '../molecules/gv-identity-picture';
@@ -132,4 +132,4 @@ export class GvList extends withSkeletonAttribute(LitElement) {
132
132
 
133
133
  }
134
134
  window.customElements.define('gv-list', GvList);
135
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1saXN0LmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJMaXRFbGVtZW50IiwicmVwZWF0IiwiY2xhc3NNYXAiLCJpMThuIiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJnZXRQaWN0dXJlIiwiZ2V0UGljdHVyZURpc3BsYXlOYW1lIiwiZ2V0VmVyc2lvbiIsIndpdGhTa2VsZXRvbkF0dHJpYnV0ZSIsIkd2TGlzdCIsInByb3BlcnRpZXMiLCJzdHlsZXMiLCJpdGVtcyIsInR5cGUiLCJPYmplY3QiLCJ0aXRsZSIsIlN0cmluZyIsImNsaWNrYWJsZSIsIkJvb2xlYW4iLCJfaXRlbXMiLCJhdHRyaWJ1dGUiLCJjb25zdHJ1Y3RvciIsIl9za2VsZXRvbkF0dHJpYnV0ZSIsIl9vbkNsaWNrIiwiaXRlbSIsIl9yZW5kZXJJbWFnZSIsIl9yZW5kZXJTdGF0dXMiLCJzdWJzY3JpcHRpb25zIiwicGF1c2VkIiwiZmlsdGVyIiwic3ViIiwic3RhdHVzIiwidG9VcHBlckNhc2UiLCJsZW5ndGgiLCJwZW5kaW5nIiwiX3JlbmRlckl0ZW0iLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJfcmVuZGVySXRlbXMiLCJfZW1wdHkiLCJfc2tlbGV0b24iLCJiaW5kIiwicmVuZGVyIiwiX2Vycm9yIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsSUFBZCxFQUFvQkMsVUFBcEIsUUFBc0MsYUFBdEM7QUFDQSxTQUFTQyxNQUFULFFBQXVCLDRCQUF2QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsK0JBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixhQUFyQjtBQUNBLFNBQVND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QUFBLE1BQU0sR0FBRztBQUNQLFdBQU81QyxJQUFJLFNBQVMsS0FBSzZDLE1BQUwsR0FBYzdDLElBQUksc0JBQXNCSSxJQUFJLENBQUMsZUFBRCxDQUExQixRQUFsQixHQUF3RSxLQUFLb0MsWUFBTCxFQUFqRixTQUFYO0FBQ0Q7O0FBckwyRDtBQXdMOURNLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0NyQyxNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgeyByZXBlYXQgfSBmcm9tICdsaXQtaHRtbC9kaXJlY3RpdmVzL3JlcGVhdCc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGkxOG4gfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyBsaW5rIH0gZnJvbSAnLi4vc3R5bGVzL2xpbmsnO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtaWRlbnRpdHktcGljdHVyZSc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBnZXRQaWN0dXJlLCBnZXRQaWN0dXJlRGlzcGxheU5hbWUsIGdldFZlcnNpb24gfSBmcm9tICcuLi9saWIvaXRlbSc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1za2VsZXRvbi1hdHRyaWJ1dGUnO1xuXG4vKipcbiAqIENvbm5lY3RlZCBBcHBsaWNhdGlvbnMgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWxpc3Q6Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIGFuIGVsZW1lbnQgb2YgdGhlIGxpc3RcbiAqXG4gKiBAYXR0ciB7UHJvbWlzZTxBcnJheTx7T2JqZWN0fT4+fSBpdGVtcyAtIGEgbGlzdCBvZiBpdGVtLlxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSB0aXRsZSBvZiB0aGUgbGlzdC5cbiAqIEBhdHRyIHtCb29sZWFufSBjbGlja2FibGUgLSB0cnVlIGlmIGd2LWxpc3QgZWxlbWVudCBjYW4gYmUgY2xpY2thYmxlLlxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGlzdC0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpc3QtaWNvbi0tcz0yMHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGlzdC1pbWFnZS0taD00MHB4XSAtIEltYWdlIGhlaWdodFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGlzdC1pbWFnZS0tdz00MHB4XSAtIEltYWdlIHdpZHRoXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkxpc3QgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIGl0ZW1zOiB7IHR5cGU6IE9iamVjdCB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBjbGlja2FibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2l0ZW1zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgbGluayxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1saXN0LS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LWxpc3QtaWNvbi0tcywgMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pZGVudGl0eS1waWN0dXJlIHtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tZ3YtbGlzdC1pbWFnZS0tdywgNDBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1ndi1saXN0LWltYWdlLS1oLCA0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IpO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0pO1xuICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW46IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbV9faW1hZ2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjcm9sbGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9za2VsZXRvbkF0dHJpYnV0ZSA9ICdpdGVtcyc7XG4gIH1cblxuICBfb25DbGljayhpdGVtKSB7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xpY2snLCBpdGVtKTtcbiAgfVxuXG4gIF9yZW5kZXJJbWFnZShpdGVtKSB7XG4gICAgcmV0dXJuIGh0bWxgPGd2LWlkZW50aXR5LXBpY3R1cmUgLnBpY3R1cmU9XCIke2dldFBpY3R1cmUoaXRlbSl9XCIgLmRpc3BsYXlfbmFtZT1cIiR7Z2V0UGljdHVyZURpc3BsYXlOYW1lKGl0ZW0pfVwiPjwvZ3YtaWRlbnRpdHktcGljdHVyZT5gO1xuICB9XG5cbiAgX3JlbmRlclN0YXR1cyhzdWJzY3JpcHRpb25zKSB7XG4gICAgaWYgKHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIGNvbnN0IHBhdXNlZCA9IHN1YnNjcmlwdGlvbnMuZmlsdGVyKChzdWIpID0+IHN1Yi5zdGF0dXMudG9VcHBlckNhc2UoKSA9PT0gJ1BBVVNFRCcpO1xuICAgICAgaWYgKHBhdXNlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBodG1sYCA8Z3YtaWNvbiB0aXRsZT1cIiR7aTE4bignZ3YtbGlzdC5wYXVzZWQnKX1cIiBzaGFwZT1cIm1lZGlhOnBhdXNlXCI+PC9ndi1pY29uPmA7XG4gICAgICB9XG4gICAgICBjb25zdCBwZW5kaW5nID0gc3Vic2NyaXB0aW9ucy5maWx0ZXIoKHN1YikgPT4gc3ViLnN0YXR1cy50b1VwcGVyQ2FzZSgpID09PSAnUEVORElORycpO1xuICAgICAgaWYgKHBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gaHRtbGAgPGd2LWljb24gdGl0bGU9XCIke2kxOG4oJ2d2LWxpc3QucGVuZGluZycpfVwiIHNoYXBlPVwiaG9tZTp0aW1lclwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfcmVuZGVySXRlbShpdGVtKSB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbV9faW1hZ2VcIj4ke3RoaXMuX3JlbmRlckltYWdlKGl0ZW0uaXRlbSl9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtX19jb250ZW50XCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiaXRlbV9fdGl0bGVcIj4ke3RoaXMuX3JlbmRlclN0YXR1cyhpdGVtLnN1YnNjcmlwdGlvbnMpfSR7aXRlbS5pdGVtLm5hbWV9IDxzcGFuPiR7Z2V0VmVyc2lvbihpdGVtLml0ZW0pfTwvc3Bhbj48L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtX19kZXNjcmlwdGlvblwiPiR7aXRlbS5pdGVtLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYDxwPnh4eHgteHh4eC14eHh4LXh4eHg8L3A+YDtcbiAgfVxuXG4gIF9yZW5kZXJJdGVtcygpIHtcbiAgICBpZiAodGhpcy5fZW1wdHkgJiYgIXRoaXMuX3NrZWxldG9uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICh0aGlzLl9za2VsZXRvbikge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJza2VsZXRvblwiPnh4eHgteHh4eC14eHh4LXh4eHg8L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiaXRlbSBza2VsZXRvblwiPiR7dGhpcy5fcmVuZGVySXRlbSgpfTwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJpdGVtIHNrZWxldG9uXCI+JHt0aGlzLl9yZW5kZXJJdGVtKCl9PC9saT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC91bD5cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwibGlzdFwiPlxuICAgICAgICA8aDM+JHt0aGlzLnRpdGxlID8gdGhpcy50aXRsZSA6ICcnfSAke3RoaXMuX2l0ZW1zICYmIHRoaXMuX2l0ZW1zLmxlbmd0aCA+IDAgPyBodG1sYDxzcGFuPigke3RoaXMuX2l0ZW1zLmxlbmd0aH0pPC9zcGFuPmAgOiAnJ308L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAke3RoaXMuX2l0ZW1zXG4gICAgICAgICAgICA/IHJlcGVhdChcbiAgICAgICAgICAgICAgICB0aGlzLl9pdGVtcyxcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSxcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xpY2thYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBodG1sYDxsaSBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBpdGVtOiB0cnVlLCBsaW5rOiB0cnVlIH0pfVwiIEBjbGljaz1cIiR7dGhpcy5fb25DbGljay5iaW5kKHRoaXMsIGl0ZW0pfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySXRlbShpdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgPC9saT5gO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0bWxgPGxpIGNsYXNzPVwiJHtjbGFzc01hcCh7IGl0ZW06IHRydWUgfSl9XCI+JHt0aGlzLl9yZW5kZXJJdGVtKGl0ZW0pfTwvbGk+YDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6ICcnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gaHRtbGAgPGRpdj4ke3RoaXMuX2Vycm9yID8gaHRtbGA8ZGl2IGNsYXNzPVwiZXJyb3JcIj4ke2kxOG4oJ2d2LWxpc3QuZXJyb3InKX08L2Rpdj5gIDogdGhpcy5fcmVuZGVySXRlbXMoKX08L2Rpdj4gYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1saXN0JywgR3ZMaXN0KTtcbiJdfQ==
135
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1saXN0LmpzIl0sIm5hbWVzIjpbImNzcyIsImh0bWwiLCJMaXRFbGVtZW50IiwicmVwZWF0IiwiY2xhc3NNYXAiLCJpMThuIiwibGluayIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJnZXRQaWN0dXJlIiwiZ2V0UGljdHVyZURpc3BsYXlOYW1lIiwiZ2V0VmVyc2lvbiIsIndpdGhTa2VsZXRvbkF0dHJpYnV0ZSIsIkd2TGlzdCIsInByb3BlcnRpZXMiLCJzdHlsZXMiLCJpdGVtcyIsInR5cGUiLCJPYmplY3QiLCJ0aXRsZSIsIlN0cmluZyIsImNsaWNrYWJsZSIsIkJvb2xlYW4iLCJfaXRlbXMiLCJhdHRyaWJ1dGUiLCJjb25zdHJ1Y3RvciIsIl9za2VsZXRvbkF0dHJpYnV0ZSIsIl9vbkNsaWNrIiwiaXRlbSIsIl9yZW5kZXJJbWFnZSIsIl9yZW5kZXJTdGF0dXMiLCJzdWJzY3JpcHRpb25zIiwicGF1c2VkIiwiZmlsdGVyIiwic3ViIiwic3RhdHVzIiwidG9VcHBlckNhc2UiLCJsZW5ndGgiLCJwZW5kaW5nIiwiX3JlbmRlckl0ZW0iLCJuYW1lIiwiZGVzY3JpcHRpb24iLCJfcmVuZGVySXRlbXMiLCJfZW1wdHkiLCJfc2tlbGV0b24iLCJiaW5kIiwicmVuZGVyIiwiX2Vycm9yIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLEdBQVQsRUFBY0MsSUFBZCxFQUFvQkMsVUFBcEIsUUFBc0MsS0FBdEM7QUFDQSxTQUFTQyxNQUFULFFBQXVCLHVCQUF2QjtBQUNBLFNBQVNDLFFBQVQsUUFBeUIsMEJBQXpCO0FBQ0EsU0FBU0MsSUFBVCxRQUFxQixhQUFyQjtBQUNBLFNBQVND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QUFBLE1BQU0sR0FBRztBQUNQLFdBQU81QyxJQUFJLFNBQVMsS0FBSzZDLE1BQUwsR0FBYzdDLElBQUksc0JBQXNCSSxJQUFJLENBQUMsZUFBRCxDQUExQixRQUFsQixHQUF3RSxLQUFLb0MsWUFBTCxFQUFqRixTQUFYO0FBQ0Q7O0FBckwyRDtBQXdMOURNLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsU0FBN0IsRUFBd0NyQyxNQUF4QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIGh0bWwsIExpdEVsZW1lbnQgfSBmcm9tICdsaXQnO1xuaW1wb3J0IHsgcmVwZWF0IH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvcmVwZWF0JztcbmltcG9ydCB7IGNsYXNzTWFwIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGkxOG4gfSBmcm9tICcuLi9saWIvaTE4bic7XG5pbXBvcnQgeyBsaW5rIH0gZnJvbSAnLi4vc3R5bGVzL2xpbmsnO1xuaW1wb3J0ICcuLi9tb2xlY3VsZXMvZ3YtaWRlbnRpdHktcGljdHVyZSc7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBnZXRQaWN0dXJlLCBnZXRQaWN0dXJlRGlzcGxheU5hbWUsIGdldFZlcnNpb24gfSBmcm9tICcuLi9saWIvaXRlbSc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1za2VsZXRvbi1hdHRyaWJ1dGUnO1xuXG4vKipcbiAqIENvbm5lY3RlZCBBcHBsaWNhdGlvbnMgY29tcG9uZW50XG4gKlxuICogIyMgRGV0YWlsc1xuICogKiBoYXMgQHRoZW1lIGZhY2V0XG4gKlxuICogQGZpcmVzIGd2LWxpc3Q6Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIGFuIGVsZW1lbnQgb2YgdGhlIGxpc3RcbiAqXG4gKiBAYXR0ciB7UHJvbWlzZTxBcnJheTx7T2JqZWN0fT4+fSBpdGVtcyAtIGEgbGlzdCBvZiBpdGVtLlxuICogQGF0dHIge1N0cmluZ30gdGl0bGUgLSB0aXRsZSBvZiB0aGUgbGlzdC5cbiAqIEBhdHRyIHtCb29sZWFufSBjbGlja2FibGUgLSB0cnVlIGlmIGd2LWxpc3QgZWxlbWVudCBjYW4gYmUgY2xpY2thYmxlLlxuICpcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbGlzdC0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpXSAtIEJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LWxpc3QtaWNvbi0tcz0yMHB4XSAtIEhlaWdodCBhbmQgaWNvbiB3aWR0aFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGlzdC1pbWFnZS0taD00MHB4XSAtIEltYWdlIGhlaWdodFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbGlzdC1pbWFnZS0tdz00MHB4XSAtIEltYWdlIHdpZHRoXG4gKi9cbmV4cG9ydCBjbGFzcyBHdkxpc3QgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIGl0ZW1zOiB7IHR5cGU6IE9iamVjdCB9LFxuICAgICAgdGl0bGU6IHsgdHlwZTogU3RyaW5nIH0sXG4gICAgICBjbGlja2FibGU6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgX2l0ZW1zOiB7IHR5cGU6IE9iamVjdCwgYXR0cmlidXRlOiBmYWxzZSB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4uc3VwZXIuc3R5bGVzLFxuICAgICAgbGluayxcbiAgICAgIC8vIGxhbmd1YWdlPUNTU1xuICAgICAgY3NzYFxuICAgICAgICA6aG9zdCB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1saXN0LS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHRlc3QsICNmZmZmZmYpKTtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LWxpc3QtaWNvbi0tcywgMjBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBndi1pZGVudGl0eS1waWN0dXJlIHtcbiAgICAgICAgICB3aWR0aDogdmFyKC0tZ3YtbGlzdC1pbWFnZS0tdywgNDBweCk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1ndi1saXN0LWltYWdlLS1oLCA0MHB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0IHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3IpO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWd2LXRoZW1lLWZvbnQtc2l6ZS1tKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLW0pO1xuICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZ3YtdGhlbWUtZm9udC1zaXplLXMsIDEycHgpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBtYXJnaW46IDI0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbV9faW1hZ2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbV9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtX19kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1ndi10aGVtZS1mb250LXNpemUtbSwgMTRweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDQ7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNjcm9sbGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9za2VsZXRvbkF0dHJpYnV0ZSA9ICdpdGVtcyc7XG4gIH1cblxuICBfb25DbGljayhpdGVtKSB7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xpY2snLCBpdGVtKTtcbiAgfVxuXG4gIF9yZW5kZXJJbWFnZShpdGVtKSB7XG4gICAgcmV0dXJuIGh0bWxgPGd2LWlkZW50aXR5LXBpY3R1cmUgLnBpY3R1cmU9XCIke2dldFBpY3R1cmUoaXRlbSl9XCIgLmRpc3BsYXlfbmFtZT1cIiR7Z2V0UGljdHVyZURpc3BsYXlOYW1lKGl0ZW0pfVwiPjwvZ3YtaWRlbnRpdHktcGljdHVyZT5gO1xuICB9XG5cbiAgX3JlbmRlclN0YXR1cyhzdWJzY3JpcHRpb25zKSB7XG4gICAgaWYgKHN1YnNjcmlwdGlvbnMpIHtcbiAgICAgIGNvbnN0IHBhdXNlZCA9IHN1YnNjcmlwdGlvbnMuZmlsdGVyKChzdWIpID0+IHN1Yi5zdGF0dXMudG9VcHBlckNhc2UoKSA9PT0gJ1BBVVNFRCcpO1xuICAgICAgaWYgKHBhdXNlZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJldHVybiBodG1sYCA8Z3YtaWNvbiB0aXRsZT1cIiR7aTE4bignZ3YtbGlzdC5wYXVzZWQnKX1cIiBzaGFwZT1cIm1lZGlhOnBhdXNlXCI+PC9ndi1pY29uPmA7XG4gICAgICB9XG4gICAgICBjb25zdCBwZW5kaW5nID0gc3Vic2NyaXB0aW9ucy5maWx0ZXIoKHN1YikgPT4gc3ViLnN0YXR1cy50b1VwcGVyQ2FzZSgpID09PSAnUEVORElORycpO1xuICAgICAgaWYgKHBlbmRpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gaHRtbGAgPGd2LWljb24gdGl0bGU9XCIke2kxOG4oJ2d2LWxpc3QucGVuZGluZycpfVwiIHNoYXBlPVwiaG9tZTp0aW1lclwiPjwvZ3YtaWNvbj5gO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBfcmVuZGVySXRlbShpdGVtKSB7XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIHJldHVybiBodG1sYFxuICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbV9faW1hZ2VcIj4ke3RoaXMuX3JlbmRlckltYWdlKGl0ZW0uaXRlbSl9PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtX19jb250ZW50XCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwiaXRlbV9fdGl0bGVcIj4ke3RoaXMuX3JlbmRlclN0YXR1cyhpdGVtLnN1YnNjcmlwdGlvbnMpfSR7aXRlbS5pdGVtLm5hbWV9IDxzcGFuPiR7Z2V0VmVyc2lvbihpdGVtLml0ZW0pfTwvc3Bhbj48L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtX19kZXNjcmlwdGlvblwiPiR7aXRlbS5pdGVtLmRlc2NyaXB0aW9ufTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYDxwPnh4eHgteHh4eC14eHh4LXh4eHg8L3A+YDtcbiAgfVxuXG4gIF9yZW5kZXJJdGVtcygpIHtcbiAgICBpZiAodGhpcy5fZW1wdHkgJiYgIXRoaXMuX3NrZWxldG9uKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICh0aGlzLl9za2VsZXRvbikge1xuICAgICAgcmV0dXJuIGh0bWxgXG4gICAgICAgIDx1bCBjbGFzcz1cImxpc3RcIj5cbiAgICAgICAgICA8aDQgY2xhc3M9XCJza2VsZXRvblwiPnh4eHgteHh4eC14eHh4LXh4eHg8L2g0PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgPGxpIGNsYXNzPVwiaXRlbSBza2VsZXRvblwiPiR7dGhpcy5fcmVuZGVySXRlbSgpfTwvbGk+XG4gICAgICAgICAgICA8bGkgY2xhc3M9XCJpdGVtIHNrZWxldG9uXCI+JHt0aGlzLl9yZW5kZXJJdGVtKCl9PC9saT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC91bD5cbiAgICAgIGA7XG4gICAgfVxuICAgIHJldHVybiBodG1sYFxuICAgICAgPHVsIGNsYXNzPVwibGlzdFwiPlxuICAgICAgICA8aDM+JHt0aGlzLnRpdGxlID8gdGhpcy50aXRsZSA6ICcnfSAke3RoaXMuX2l0ZW1zICYmIHRoaXMuX2l0ZW1zLmxlbmd0aCA+IDAgPyBodG1sYDxzcGFuPigke3RoaXMuX2l0ZW1zLmxlbmd0aH0pPC9zcGFuPmAgOiAnJ308L2gzPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsYWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAke3RoaXMuX2l0ZW1zXG4gICAgICAgICAgICA/IHJlcGVhdChcbiAgICAgICAgICAgICAgICB0aGlzLl9pdGVtcyxcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbSxcbiAgICAgICAgICAgICAgICAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY2xpY2thYmxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBodG1sYDxsaSBjbGFzcz1cIiR7Y2xhc3NNYXAoeyBpdGVtOiB0cnVlLCBsaW5rOiB0cnVlIH0pfVwiIEBjbGljaz1cIiR7dGhpcy5fb25DbGljay5iaW5kKHRoaXMsIGl0ZW0pfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5fcmVuZGVySXRlbShpdGVtKX1cbiAgICAgICAgICAgICAgICAgICAgPC9saT5gO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGh0bWxgPGxpIGNsYXNzPVwiJHtjbGFzc01hcCh7IGl0ZW06IHRydWUgfSl9XCI+JHt0aGlzLl9yZW5kZXJJdGVtKGl0ZW0pfTwvbGk+YDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICA6ICcnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdWw+XG4gICAgYDtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gaHRtbGAgPGRpdj4ke3RoaXMuX2Vycm9yID8gaHRtbGA8ZGl2IGNsYXNzPVwiZXJyb3JcIj4ke2kxOG4oJ2d2LWxpc3QuZXJyb3InKX08L2Rpdj5gIDogdGhpcy5fcmVuZGVySXRlbXMoKX08L2Rpdj4gYDtcbiAgfVxufVxuXG53aW5kb3cuY3VzdG9tRWxlbWVudHMuZGVmaW5lKCdndi1saXN0JywgR3ZMaXN0KTtcbiJdfQ==
@@ -13,14 +13,14 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { css, LitElement, html } from 'lit-element';
16
+ import { css, LitElement, html } from 'lit';
17
17
  import '../atoms/gv-metric';
18
18
  import { i18n } from '../lib/i18n';
19
19
  import { link } from '../styles/link';
20
20
  import { withSkeletonAttribute } from '../mixins/with-skeleton-attribute';
21
- import { classMap } from 'lit-html/directives/class-map';
21
+ import { classMap } from 'lit/directives/class-map';
22
22
  import { dispatchCustomEvent } from '../lib/events';
23
- import { ifDefined } from 'lit-html/directives/if-defined';
23
+ import { ifDefined } from 'lit/directives/if-defined';
24
24
  /**
25
25
  * Metrics information component
26
26
  *
@@ -147,4 +147,4 @@ export class GvMetrics extends withSkeletonAttribute(LitElement) {
147
147
 
148
148
  }
149
149
  window.customElements.define('gv-metrics', GvMetrics);
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1tZXRyaWNzLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwiaTE4biIsImxpbmsiLCJ3aXRoU2tlbGV0b25BdHRyaWJ1dGUiLCJjbGFzc01hcCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpZkRlZmluZWQiLCJHdk1ldHJpY3MiLCJwcm9wZXJ0aWVzIiwibWV0cmljcyIsInR5cGUiLCJPYmplY3QiLCJfbWV0cmljcyIsImF0dHJpYnV0ZSIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3NrZWxldG9uQXR0cmlidXRlIiwic2tlbGV0b24iLCJfZXJyb3IiLCJfZW1wdHkiLCJfaXNDbGlja2FibGUiLCJtZXRyaWNOYW1lIiwiY2xpY2thYmxlIiwiX2dldFZhbHVlIiwibWV0cmljIiwidmFsdWUiLCJfZ2V0U3Vic2NyaWJlcnMiLCJzdWJzY3JpYmVycyIsIl9nZXRIaXRzIiwiaGl0cyIsIl9nZXRIZWFsdGgiLCJoZWFsdGgiLCJpc05hTiIsIkludGwiLCJOdW1iZXJGb3JtYXQiLCJjYWxsIiwibmF2aWdhdG9yIiwibGFuZ3VhZ2UiLCJzdHlsZSIsIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsImZvcm1hdCIsIl9nZXRUaXRsZSIsInRpdGxlIiwiX29uQ2xpY2siLCJrZXkiLCJfcmVuZGVyTWV0cmljIiwiaWNvbiIsIm5hbWUiLCJfc2tlbGV0b24iLCJiaW5kIiwicmVuZGVyIiwiY291bnQiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLEVBQTBCQyxJQUExQixRQUFzQyxhQUF0QztBQUNBLE9BQU8sb0JBQVA7QUFDQSxTQUFT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d0JBQUQsRUFBMkI7QUFBRWtELE1BQUFBLEtBQUssRUFBRXhCO0FBQVQsS0FBM0IsQ0FBN0QsRUFBaUhBLFdBQWpILENBRE8sSUFFUCxLQUFLa0IsYUFBTCxDQUFtQixNQUFuQixFQUEyQixnQkFBM0IsRUFBNkM1QyxJQUFJLENBQUMsaUJBQUQsRUFBb0I7QUFBRWtELE1BQUFBLEtBQUssRUFBRXRCO0FBQVQsS0FBcEIsQ0FBakQsRUFBdUZBLElBQXZGLENBRk8sSUFHUCxLQUFLZ0IsYUFBTCxDQUFtQixRQUFuQixFQUE2QixlQUE3QixFQUE4QzVDLElBQUksQ0FBQyxtQkFBRCxDQUFsRCxFQUF5RThCLE1BQXpFLENBSE8saUJBQVg7QUFNRDs7QUExSDhEO0FBNkhqRXFCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsWUFBN0IsRUFBMkMvQyxTQUEzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQtZWxlbWVudCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LW1ldHJpYyc7XG5pbXBvcnQgeyBpMThuIH0gZnJvbSAnLi4vbGliL2kxOG4nO1xuaW1wb3J0IHsgbGluayB9IGZyb20gJy4uL3N0eWxlcy9saW5rJztcbmltcG9ydCB7IHdpdGhTa2VsZXRvbkF0dHJpYnV0ZSB9IGZyb20gJy4uL21peGlucy93aXRoLXNrZWxldG9uLWF0dHJpYnV0ZSc7XG5pbXBvcnQgeyBjbGFzc01hcCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvY2xhc3MtbWFwJztcbmltcG9ydCB7IGRpc3BhdGNoQ3VzdG9tRXZlbnQgfSBmcm9tICcuLi9saWIvZXZlbnRzJztcbmltcG9ydCB7IGlmRGVmaW5lZCB9IGZyb20gJ2xpdC1odG1sL2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5cbi8qKlxuICogTWV0cmljcyBpbmZvcm1hdGlvbiBjb21wb25lbnRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqICogYXR0cmlidXRlcyBgbWV0cmljc2Agc2hvdWxkIGJlIGFuIGFycmF5IG9mIE9iamVjdCB7dmFsdWUsIGNsaWNrYWJsZX0sIG9yIGFuIGFycmF5IG9mIHZhbHVlcywgb3IgYSBtaXguXG4gKlxuICogQGZpcmVzIGd2LW1ldHJpY3M6Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIG1ldHJpYyBpZiBpcyBjbGlja2FibGVcbiAqXG4gKiBAYXR0ciB7UHJvbWlzZTx7IGhpdHM6IHZhbHVlLCBoZWFsdGg6IHt2YWx1ZSwgY2xpY2thYmxlfSwgc3Vic2NyaWJlcnM6IHt2YWx1ZSwgY2xpY2thYmxlPywgdGl0bGU/fSB9Pn0gbWV0cmljcyAtIE1ldHJpY3MuXG4gKiBAYXR0ciB7UmF0aW5nU3VtbWFyeX0gcmF0aW5nIC0gUmF0aW5ncyBvZiBhbiBBUEkuXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1ldHJpY3MgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldHJpY3M6IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICBfbWV0cmljczogeyB0eXBlOiBPYmplY3QsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIGxpbmssXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdCA+ICoge1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3NrZWxldG9uQXR0cmlidXRlID0gJ21ldHJpY3MnO1xuICAgIHRoaXMuc2tlbGV0b24gPSBmYWxzZTtcbiAgICB0aGlzLl9lcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuX2VtcHR5ID0gZmFsc2U7XG4gIH1cblxuICBfaXNDbGlja2FibGUobWV0cmljTmFtZSkge1xuICAgIGlmICh0aGlzLl9tZXRyaWNzICYmIHR5cGVvZiB0aGlzLl9tZXRyaWNzW21ldHJpY05hbWVdID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuX21ldHJpY3NbbWV0cmljTmFtZV0uY2xpY2thYmxlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBfZ2V0VmFsdWUobWV0cmljKSB7XG4gICAgaWYgKHR5cGVvZiBtZXRyaWMgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gbWV0cmljLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbWV0cmljO1xuICB9XG5cbiAgX2dldFN1YnNjcmliZXJzKCkge1xuICAgIGlmICh0aGlzLl9tZXRyaWNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUodGhpcy5fbWV0cmljcy5zdWJzY3JpYmVycyk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgX2dldEhpdHMoKSB7XG4gICAgaWYgKHRoaXMuX21ldHJpY3MpIHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9tZXRyaWNzLmhpdHMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIF9nZXRIZWFsdGgoKSB7XG4gICAgaWYgKHRoaXMuX21ldHJpY3MpIHtcbiAgICAgIGNvbnN0IGhlYWx0aCA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX21ldHJpY3MuaGVhbHRoKTtcbiAgICAgIHJldHVybiAhaXNOYU4oaGVhbHRoKVxuICAgICAgICA/IEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgbmF2aWdhdG9yLmxhbmd1YWdlLCB7XG4gICAgICAgICAgICBzdHlsZTogJ3BlcmNlbnQnLFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgICAgIH0pLmZvcm1hdChoZWFsdGgpXG4gICAgICAgIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgX2dldFRpdGxlKG1ldHJpY05hbWUpIHtcbiAgICBpZiAodGhpcy5fbWV0cmljcyAmJiB0eXBlb2YgdGhpcy5fbWV0cmljc1ttZXRyaWNOYW1lXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tZXRyaWNzW21ldHJpY05hbWVdLnRpdGxlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIF9vbkNsaWNrKGtleSkge1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2NsaWNrJywgeyBrZXkgfSk7XG4gIH1cblxuICBfcmVuZGVyTWV0cmljKGtleSwgaWNvbiwgbmFtZSwgdmFsdWUpIHtcbiAgICBjb25zdCBjbGlja2FibGUgPSB0aGlzLl9pc0NsaWNrYWJsZShrZXkpO1xuICAgIHJldHVybiB2YWx1ZSB8fCB0aGlzLl9za2VsZXRvblxuICAgICAgPyBodG1sYDxndi1tZXRyaWNcbiAgICAgICAgICBAY2xpY2s9XCIke2NsaWNrYWJsZSA/IHRoaXMuX29uQ2xpY2suYmluZCh0aGlzLCBrZXkpIDogbnVsbH1cIlxuICAgICAgICAgIC5za2VsZXRvbj1cIiR7dGhpcy5fc2tlbGV0b259XCJcbiAgICAgICAgICBpY29uPVwiJHtpY29ufVwiXG4gICAgICAgICAgbmFtZT1cIiR7bmFtZX1cIlxuICAgICAgICAgIHZhbHVlPVwiJHt2YWx1ZX1cIlxuICAgICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcCh7IGxpbms6IGNsaWNrYWJsZSB9KX1cIlxuICAgICAgICAgIHRpdGxlPVwiJHtpZkRlZmluZWQodGhpcy5fZ2V0VGl0bGUoa2V5KSl9XCJcbiAgICAgICAgPjwvZ3YtbWV0cmljPmBcbiAgICAgIDogaHRtbGBgO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLl9lcnJvcikge1xuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImVycm9yXCI+JHtpMThuKCdndi1tZXRyaWNzLmVycm9yJyl9PC9kaXY+YDtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpYmVycyA9IHRoaXMuX2dldFN1YnNjcmliZXJzKCk7XG4gICAgY29uc3QgaGl0cyA9IHRoaXMuX2dldEhpdHMoKTtcbiAgICBjb25zdCBoZWFsdGggPSB0aGlzLl9nZXRIZWFsdGgoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLl9yZW5kZXJNZXRyaWMoJ3N1YnNjcmliZXJzJywgJ2NvbW11bmljYXRpb246Z3JvdXAnLCBpMThuKCdndi1tZXRyaWNzLnN1YnNjcmliZXJzJywgeyBjb3VudDogc3Vic2NyaWJlcnMgfSksIHN1YnNjcmliZXJzKX1cbiAgICAgICR7dGhpcy5fcmVuZGVyTWV0cmljKCdoaXRzJywgJ2dlbmVyYWw6Y3Vyc29yJywgaTE4bignZ3YtbWV0cmljcy5oaXRzJywgeyBjb3VudDogaGl0cyB9KSwgaGl0cyl9XG4gICAgICAke3RoaXMuX3JlbmRlck1ldHJpYygnaGVhbHRoJywgJ2dlbmVyYWw6aGVhcnQnLCBpMThuKCdndi1tZXRyaWNzLmhlYWx0aCcpLCBoZWFsdGgpfVxuICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWV0cmljcycsIEd2TWV0cmljcyk7XG4iXX0=
150
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1tZXRyaWNzLmpzIl0sIm5hbWVzIjpbImNzcyIsIkxpdEVsZW1lbnQiLCJodG1sIiwiaTE4biIsImxpbmsiLCJ3aXRoU2tlbGV0b25BdHRyaWJ1dGUiLCJjbGFzc01hcCIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJpZkRlZmluZWQiLCJHdk1ldHJpY3MiLCJwcm9wZXJ0aWVzIiwibWV0cmljcyIsInR5cGUiLCJPYmplY3QiLCJfbWV0cmljcyIsImF0dHJpYnV0ZSIsInN0eWxlcyIsImNvbnN0cnVjdG9yIiwiX3NrZWxldG9uQXR0cmlidXRlIiwic2tlbGV0b24iLCJfZXJyb3IiLCJfZW1wdHkiLCJfaXNDbGlja2FibGUiLCJtZXRyaWNOYW1lIiwiY2xpY2thYmxlIiwiX2dldFZhbHVlIiwibWV0cmljIiwidmFsdWUiLCJfZ2V0U3Vic2NyaWJlcnMiLCJzdWJzY3JpYmVycyIsIl9nZXRIaXRzIiwiaGl0cyIsIl9nZXRIZWFsdGgiLCJoZWFsdGgiLCJpc05hTiIsIkludGwiLCJOdW1iZXJGb3JtYXQiLCJjYWxsIiwibmF2aWdhdG9yIiwibGFuZ3VhZ2UiLCJzdHlsZSIsIm1heGltdW1GcmFjdGlvbkRpZ2l0cyIsImZvcm1hdCIsIl9nZXRUaXRsZSIsInRpdGxlIiwiX29uQ2xpY2siLCJrZXkiLCJfcmVuZGVyTWV0cmljIiwiaWNvbiIsIm5hbWUiLCJfc2tlbGV0b24iLCJiaW5kIiwicmVuZGVyIiwiY291bnQiLCJ3aW5kb3ciLCJjdXN0b21FbGVtZW50cyIsImRlZmluZSJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsR0FBVCxFQUFjQyxVQUFkLEVBQTBCQyxJQUExQixRQUFzQyxLQUF0QztBQUNBLE9BQU8sb0JBQVA7QUFDQSxTQUFT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d0JBQUQsRUFBMkI7QUFBRWtELE1BQUFBLEtBQUssRUFBRXhCO0FBQVQsS0FBM0IsQ0FBN0QsRUFBaUhBLFdBQWpILENBRE8sSUFFUCxLQUFLa0IsYUFBTCxDQUFtQixNQUFuQixFQUEyQixnQkFBM0IsRUFBNkM1QyxJQUFJLENBQUMsaUJBQUQsRUFBb0I7QUFBRWtELE1BQUFBLEtBQUssRUFBRXRCO0FBQVQsS0FBcEIsQ0FBakQsRUFBdUZBLElBQXZGLENBRk8sSUFHUCxLQUFLZ0IsYUFBTCxDQUFtQixRQUFuQixFQUE2QixlQUE3QixFQUE4QzVDLElBQUksQ0FBQyxtQkFBRCxDQUFsRCxFQUF5RThCLE1BQXpFLENBSE8saUJBQVg7QUFNRDs7QUExSDhEO0FBNkhqRXFCLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkMsTUFBdEIsQ0FBNkIsWUFBN0IsRUFBMkMvQyxTQUEzQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBjc3MsIExpdEVsZW1lbnQsIGh0bWwgfSBmcm9tICdsaXQnO1xuaW1wb3J0ICcuLi9hdG9tcy9ndi1tZXRyaWMnO1xuaW1wb3J0IHsgaTE4biB9IGZyb20gJy4uL2xpYi9pMThuJztcbmltcG9ydCB7IGxpbmsgfSBmcm9tICcuLi9zdHlsZXMvbGluayc7XG5pbXBvcnQgeyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUgfSBmcm9tICcuLi9taXhpbnMvd2l0aC1za2VsZXRvbi1hdHRyaWJ1dGUnO1xuaW1wb3J0IHsgY2xhc3NNYXAgfSBmcm9tICdsaXQvZGlyZWN0aXZlcy9jbGFzcy1tYXAnO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgaWZEZWZpbmVkIH0gZnJvbSAnbGl0L2RpcmVjdGl2ZXMvaWYtZGVmaW5lZCc7XG5cbi8qKlxuICogTWV0cmljcyBpbmZvcm1hdGlvbiBjb21wb25lbnRcbiAqXG4gKiAjIyBEZXRhaWxzXG4gKiAqIGhhcyBAdGhlbWUgZmFjZXRcbiAqICogYXR0cmlidXRlcyBgbWV0cmljc2Agc2hvdWxkIGJlIGFuIGFycmF5IG9mIE9iamVjdCB7dmFsdWUsIGNsaWNrYWJsZX0sIG9yIGFuIGFycmF5IG9mIHZhbHVlcywgb3IgYSBtaXguXG4gKlxuICogQGZpcmVzIGd2LW1ldHJpY3M6Y2xpY2sgLSBDbGljayBldmVudCBmcm9tIG1ldHJpYyBpZiBpcyBjbGlja2FibGVcbiAqXG4gKiBAYXR0ciB7UHJvbWlzZTx7IGhpdHM6IHZhbHVlLCBoZWFsdGg6IHt2YWx1ZSwgY2xpY2thYmxlfSwgc3Vic2NyaWJlcnM6IHt2YWx1ZSwgY2xpY2thYmxlPywgdGl0bGU/fSB9Pn0gbWV0cmljcyAtIE1ldHJpY3MuXG4gKiBAYXR0ciB7UmF0aW5nU3VtbWFyeX0gcmF0aW5nIC0gUmF0aW5ncyBvZiBhbiBBUEkuXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1ldHJpY3MgZXh0ZW5kcyB3aXRoU2tlbGV0b25BdHRyaWJ1dGUoTGl0RWxlbWVudCkge1xuICBzdGF0aWMgZ2V0IHByb3BlcnRpZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldHJpY3M6IHsgdHlwZTogT2JqZWN0IH0sXG4gICAgICBfbWV0cmljczogeyB0eXBlOiBPYmplY3QsIGF0dHJpYnV0ZTogZmFsc2UgfSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLnN1cGVyLnN0eWxlcyxcbiAgICAgIGxpbmssXG4gICAgICAvLyBsYW5ndWFnZT1DU1NcbiAgICAgIGNzc2BcbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgbWFyZ2luOiAwLjJyZW07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiAyNXB4O1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICA6aG9zdCA+ICoge1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3NrZWxldG9uQXR0cmlidXRlID0gJ21ldHJpY3MnO1xuICAgIHRoaXMuc2tlbGV0b24gPSBmYWxzZTtcbiAgICB0aGlzLl9lcnJvciA9IGZhbHNlO1xuICAgIHRoaXMuX2VtcHR5ID0gZmFsc2U7XG4gIH1cblxuICBfaXNDbGlja2FibGUobWV0cmljTmFtZSkge1xuICAgIGlmICh0aGlzLl9tZXRyaWNzICYmIHR5cGVvZiB0aGlzLl9tZXRyaWNzW21ldHJpY05hbWVdID09PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHRoaXMuX21ldHJpY3NbbWV0cmljTmFtZV0uY2xpY2thYmxlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBfZ2V0VmFsdWUobWV0cmljKSB7XG4gICAgaWYgKHR5cGVvZiBtZXRyaWMgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gbWV0cmljLnZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gbWV0cmljO1xuICB9XG5cbiAgX2dldFN1YnNjcmliZXJzKCkge1xuICAgIGlmICh0aGlzLl9tZXRyaWNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZ2V0VmFsdWUodGhpcy5fbWV0cmljcy5zdWJzY3JpYmVycyk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgX2dldEhpdHMoKSB7XG4gICAgaWYgKHRoaXMuX21ldHJpY3MpIHtcbiAgICAgIHJldHVybiB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9tZXRyaWNzLmhpdHMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIF9nZXRIZWFsdGgoKSB7XG4gICAgaWYgKHRoaXMuX21ldHJpY3MpIHtcbiAgICAgIGNvbnN0IGhlYWx0aCA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX21ldHJpY3MuaGVhbHRoKTtcbiAgICAgIHJldHVybiAhaXNOYU4oaGVhbHRoKVxuICAgICAgICA/IEludGwuTnVtYmVyRm9ybWF0LmNhbGwodGhpcywgbmF2aWdhdG9yLmxhbmd1YWdlLCB7XG4gICAgICAgICAgICBzdHlsZTogJ3BlcmNlbnQnLFxuICAgICAgICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiAyLFxuICAgICAgICAgIH0pLmZvcm1hdChoZWFsdGgpXG4gICAgICAgIDogJyc7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgX2dldFRpdGxlKG1ldHJpY05hbWUpIHtcbiAgICBpZiAodGhpcy5fbWV0cmljcyAmJiB0eXBlb2YgdGhpcy5fbWV0cmljc1ttZXRyaWNOYW1lXSA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiB0aGlzLl9tZXRyaWNzW21ldHJpY05hbWVdLnRpdGxlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIF9vbkNsaWNrKGtleSkge1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2NsaWNrJywgeyBrZXkgfSk7XG4gIH1cblxuICBfcmVuZGVyTWV0cmljKGtleSwgaWNvbiwgbmFtZSwgdmFsdWUpIHtcbiAgICBjb25zdCBjbGlja2FibGUgPSB0aGlzLl9pc0NsaWNrYWJsZShrZXkpO1xuICAgIHJldHVybiB2YWx1ZSB8fCB0aGlzLl9za2VsZXRvblxuICAgICAgPyBodG1sYDxndi1tZXRyaWNcbiAgICAgICAgICBAY2xpY2s9XCIke2NsaWNrYWJsZSA/IHRoaXMuX29uQ2xpY2suYmluZCh0aGlzLCBrZXkpIDogbnVsbH1cIlxuICAgICAgICAgIC5za2VsZXRvbj1cIiR7dGhpcy5fc2tlbGV0b259XCJcbiAgICAgICAgICBpY29uPVwiJHtpY29ufVwiXG4gICAgICAgICAgbmFtZT1cIiR7bmFtZX1cIlxuICAgICAgICAgIHZhbHVlPVwiJHt2YWx1ZX1cIlxuICAgICAgICAgIGNsYXNzPVwiJHtjbGFzc01hcCh7IGxpbms6IGNsaWNrYWJsZSB9KX1cIlxuICAgICAgICAgIHRpdGxlPVwiJHtpZkRlZmluZWQodGhpcy5fZ2V0VGl0bGUoa2V5KSl9XCJcbiAgICAgICAgPjwvZ3YtbWV0cmljPmBcbiAgICAgIDogaHRtbGBgO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGlmICh0aGlzLl9lcnJvcikge1xuICAgICAgcmV0dXJuIGh0bWxgPGRpdiBjbGFzcz1cImVycm9yXCI+JHtpMThuKCdndi1tZXRyaWNzLmVycm9yJyl9PC9kaXY+YDtcbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpYmVycyA9IHRoaXMuX2dldFN1YnNjcmliZXJzKCk7XG4gICAgY29uc3QgaGl0cyA9IHRoaXMuX2dldEhpdHMoKTtcbiAgICBjb25zdCBoZWFsdGggPSB0aGlzLl9nZXRIZWFsdGgoKTtcblxuICAgIHJldHVybiBodG1sYFxuICAgICAgJHt0aGlzLl9yZW5kZXJNZXRyaWMoJ3N1YnNjcmliZXJzJywgJ2NvbW11bmljYXRpb246Z3JvdXAnLCBpMThuKCdndi1tZXRyaWNzLnN1YnNjcmliZXJzJywgeyBjb3VudDogc3Vic2NyaWJlcnMgfSksIHN1YnNjcmliZXJzKX1cbiAgICAgICR7dGhpcy5fcmVuZGVyTWV0cmljKCdoaXRzJywgJ2dlbmVyYWw6Y3Vyc29yJywgaTE4bignZ3YtbWV0cmljcy5oaXRzJywgeyBjb3VudDogaGl0cyB9KSwgaGl0cyl9XG4gICAgICAke3RoaXMuX3JlbmRlck1ldHJpYygnaGVhbHRoJywgJ2dlbmVyYWw6aGVhcnQnLCBpMThuKCdndi1tZXRyaWNzLmhlYWx0aCcpLCBoZWFsdGgpfVxuICAgICAgPHNsb3Q+PC9zbG90PlxuICAgIGA7XG4gIH1cbn1cblxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbWV0cmljcycsIEd2TWV0cmljcyk7XG4iXX0=
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { LitElement, html, css } from 'lit-element';
16
+ import { LitElement, html, css } from 'lit';
17
17
  import '../atoms/gv-icon';
18
18
  import { dispatchCustomEvent } from '../lib/events';
19
19
  /**
@@ -143,4 +143,4 @@ export class GvModal extends LitElement {
143
143
 
144
144
  }
145
145
  window.customElements.define('gv-modal', GvModal);
146
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1tb2RhbC5qcyJdLCJuYW1lcyI6WyJMaXRFbGVtZW50IiwiaHRtbCIsImNzcyIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJHdk1vZGFsIiwicHJvcGVydGllcyIsIl90b0NoYW5nZSIsInR5cGUiLCJCb29sZWFuIiwib3BlbmVkIiwic2hvd0Nsb3NlSWNvbiIsIm1vZGFsVGl0bGUiLCJTdHJpbmciLCJibG9ja2luZyIsImNvbnN0cnVjdG9yIiwic3R5bGVzIiwicmVuZGVyIiwiZ2V0TW9kYWxDbGFzcyIsIl9iYWNrZ3JvdW5kTW9kYWxDbGljayIsImFuaW1hdGlvbkVuZCIsImNvbnRlbnRDbGljayIsImNsb3NlIiwib3BlbiIsInNldFRpbWVvdXQiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxhQUF0QztBQUNBLE9BQU8sa0JBQVA7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLE9BQU4sU0FBc0JKLFVBQXRCLENBQWlDO0FBQ2pCLGFBQVZLLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLFNBQVMsRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FETjs7QUFFTDtBQUNOO0FBQ0E7QUFDTUMsTUFBQUEsTUFBTSxFQUFFO0FBQUVGLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUxIOztBQU1MO0FBQ047QUFDQTtBQUNNRSxNQUFBQSxhQUFhLEVBQUU7QUFBRUgsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BVFY7O0FBVUw7QUFDTjtBQUNBO0FBQ007QUFDQTtBQUNBRyxNQUFBQSxVQUFVLEVBQUU7QUFBRUosUUFBQUEsSUFBSSxFQUFFSztBQUFSLE9BZlA7O0FBZ0JMO0FBQ047QUFDQTtBQUNNQyxNQUFBQSxRQUFRLEVBQUU7QUFBRU4sUUFBQUEsSUFBSSxFQUFFQztBQUFSO0FBbkJMLEtBQVA7QUFxQkQ7O0FBRURNLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS1IsU0FBTCxHQUFpQixLQUFqQjtBQUNBLFNBQUtHLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0MsYUFBTCxHQUFxQixLQUFyQjtBQUNBLFNBQUtHLFFBQUwsR0FBZ0IsS0FBaEI7QUFDRDs7QUFFZ0IsYUFBTkUsTUFBTSxHQUFHO0FBQ2xCLFdBQU8sQ0FDTDtBQUNBYixJQUFBQSxHQUFHLGt3Q0FGRSxDQUFQO0FBd0VEOztBQUVEYyxFQUFBQSxNQUFNLEdBQUc7QUFDUCxXQUFPZixJQUFJLG9CQUVFLEtBQUtnQixhQUFMLENBQW1CLEtBQUtSLE1BQXhCLEVBQWdDLEtBQUtILFNBQXJDLENBRkYsYUFHRyxLQUFLWSxxQkFIUixxQkFJVyxLQUFLQyxZQUpoQixtQ0FNd0IsS0FBS0MsWUFON0IsK0NBUW1CLEtBQUtULFVBUnhCLFdBU0QsS0FBS0QsYUFBTCxHQUFxQlQsSUFBSSwwQ0FBMEMsS0FBS29CLEtBQS9DLGNBQXpCLEdBQThGLEVBVDdGLCtEQUFYO0FBaUJEOztBQUVESixFQUFBQSxhQUFhLENBQUNSLE1BQUQsRUFBU0gsU0FBVCxFQUFvQjtBQUMvQixRQUFJLENBQUNHLE1BQUQsSUFBVyxDQUFDSCxTQUFoQixFQUEyQjtBQUN6QixhQUFPLGFBQVA7QUFDRDs7QUFDRCxRQUFJRyxNQUFNLElBQUlILFNBQWQsRUFBeUI7QUFDdkIsYUFBTyxvQkFBUDtBQUNEOztBQUNELFFBQUlHLE1BQU0sSUFBSSxDQUFDSCxTQUFmLEVBQTBCO0FBQ3hCLGFBQU8sUUFBUDtBQUNEOztBQUNELFFBQUksQ0FBQ0csTUFBRCxJQUFXSCxTQUFmLEVBQTBCO0FBQ3hCLGFBQU8sb0JBQVA7QUFDRDtBQUNGOztBQUVEZ0IsRUFBQUEsSUFBSSxHQUFHO0FBQ0wsU0FBS2IsTUFBTCxHQUFjLElBQWQ7QUFDQSxTQUFLSCxTQUFMLEdBQWlCLElBQWpCO0FBQ0FpQixJQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmLFdBQUtqQixTQUFMLEdBQWlCLEtBQWpCO0FBQ0QsS0FGUyxFQUVQLEVBRk8sQ0FBVjtBQUdEOztBQUVEWSxFQUFBQSxxQkFBcUIsQ0FBQ00sQ0FBRCxFQUFJO0FBQ3ZCLFFBQUksQ0FBQyxLQUFLWCxRQUFWLEVBQW9CO0FBQ2xCLFdBQUtRLEtBQUw7QUFDQWxCLE1BQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxRQUFQLENBQW5CO0FBQ0Q7QUFDRjs7QUFFRGtCLEVBQUFBLEtBQUssR0FBRztBQUNOLFNBQUtaLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0gsU0FBTCxHQUFpQixJQUFqQjtBQUNBSCxJQUFBQSxtQkFBbUIsQ0FBQyxJQUFELEVBQU8sUUFBUCxDQUFuQjtBQUNEOztBQUVEZ0IsRUFBQUEsWUFBWSxHQUFHO0FBQ2IsU0FBS2IsU0FBTCxHQUFpQixLQUFqQjtBQUNEOztBQUVEYyxFQUFBQSxZQUFZLENBQUNJLENBQUQsRUFBSTtBQUNkQSxJQUFBQSxDQUFDLENBQUNDLGVBQUY7QUFDRDs7QUExS3FDO0FBNEt4Q0MsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixVQUE3QixFQUF5Q3hCLE9BQXpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IExpdEVsZW1lbnQsIGh0bWwsIGNzcyB9IGZyb20gJ2xpdC1lbGVtZW50JztcbmltcG9ydCAnLi4vYXRvbXMvZ3YtaWNvbic7XG5pbXBvcnQgeyBkaXNwYXRjaEN1c3RvbUV2ZW50IH0gZnJvbSAnLi4vbGliL2V2ZW50cyc7XG5cbi8qKlxuICogQSBtb2RhbCB0aGF0IHNob3dzIHVwIG9uIHRvcCBvZiB5b3VyIHBhZ2VcbiAqXG4gKiBAZmlyZXMgZ3YtbW9kYWw6Y2xvc2VkIC0gRXZlbnQgZmlyZWQgd2hlbiBtb2RhbCBpcyBjbG9zZWQuXG4gKlxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLWFuaW0tZHVyYXRpb249MC4zc10gLSBEdXJhdGlvbiBvZiB0aGUgYW5pbWF0aW9uXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC0tej0xMDBdIC0gei1pbmRleCBmb3IgbW9kYWxcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbW9kYWwtLWJnYz1yZ2JhKDMwLCAzMCwgMzAsIDAuNildIC0gTW9kYWwgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtY29udGVudC0tej0xMDFdIC0gei1pbmRleCBmb3IgbW9kYWwgY29udGVudFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLXc9MjgwcHhdIC0gbW9kZWwgd2lkdGhcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS1taXc9MjUwcHhdIC0gbW9kYWwgbWluLXdpZHRoXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC0tbWF3PTEwMHZ3XSAtIG1vZGFsIG1heC13aWR0aFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLWg9YXV0b10gLSBtb2RhbCBoZWlnaHRcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS1taWg9YXV0b10gLSBtb2RhbCBtaW4gaGVpZ2h0XG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC0tbWFoPTEwMHZoXSAtIG1vZGFsIG1heCBoZWlnaHRcbiAqIEBjc3Nwcm9wIHtDb2xvcn0gWy0tZ3YtbW9kYWwtY29udGVudC0tYmdjPXZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHQsICNlZmVmZWYpXSAtIE1vZGFsIGNvbnRlbnQgYmFja2dyb3VuZCBjb2xvclxuICogQGNzc3Byb3Age1N0cmluZ30gWy0tZ3YtbW9kYWwtLWJ4c2g9MHB4IDBweCAxNnB4ICMzODNlM2ZdIC0gTW9kYWwgYm94IHNoYWRvd1xuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLWJkcnM9NHB4XSAtIE1vZGFsIGJvcmRlciByYWRpdXNcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS1wPTFlbV0gLSBNb2RhbCBjb250ZW50IHBhZGRpbmdcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLWNsb3NlLWljb24tLXM9MjRweF0gLSBNb2RhbCBjbG9zZSBpY29uIHNpemVcbiAqL1xuZXhwb3J0IGNsYXNzIEd2TW9kYWwgZXh0ZW5kcyBMaXRFbGVtZW50IHtcbiAgc3RhdGljIGdldCBwcm9wZXJ0aWVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBfdG9DaGFuZ2U6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0cnVlIHRoZSBtb2RhbCBib3ggaXMgaW4gb3BlbmVkIHN0YXR1cy5cbiAgICAgICAqL1xuICAgICAgb3BlbmVkOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIC8qKlxuICAgICAgICogSWYgdHJ1ZSB0aGUgbW9kYWwgYm94IGRpc3BsYXlzIGEgY2xvc2UgaWNvblxuICAgICAgICovXG4gICAgICBzaG93Q2xvc2VJY29uOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIC8qKlxuICAgICAgICogVGhlIHRpdGxlIG9mIHRoZSBtb2RhbCBkaWFsb2dcbiAgICAgICAqL1xuICAgICAgLy8g4pqg77iPIGl0IGNhbm5vdCBiZSBzaW1wbHkgbmFtZWQgYHRpdGxlYCBvdGhlcndpc2UgdGhlIGJyb3dzZXIgY29uc2lkZXIgaXRcbiAgICAgIC8vIGFzIGEgYHRpdGxlYCBwcm9wZXJ0eSBhbmQgdXNlIGl0IHRvIGRpc3BsYXkgYSB0b29sdGlwXG4gICAgICBtb2RhbFRpdGxlOiB7IHR5cGU6IFN0cmluZyB9LFxuICAgICAgLyoqXG4gICAgICAgKiBJZiB0cnVlIHRoZSBtb2RhbCBib3ggYmxvY2tzIHRoZSBzY3JlZW4uIFRoYXQgaXMsIHdoZW4geW91IGNsaWNrIGluIHRoZSBiYWNrZ3JvdW5kIGxheWVyLCB0aGUgbW9kYWwgYm94IGRvIG5vdCBjbG9zZS5cbiAgICAgICAqL1xuICAgICAgYmxvY2tpbmc6IHsgdHlwZTogQm9vbGVhbiB9LFxuICAgIH07XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX3RvQ2hhbmdlID0gZmFsc2U7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLnNob3dDbG9zZUljb24gPSBmYWxzZTtcbiAgICB0aGlzLmJsb2NraW5nID0gZmFsc2U7XG4gIH1cblxuICBzdGF0aWMgZ2V0IHN0eWxlcygpIHtcbiAgICByZXR1cm4gW1xuICAgICAgLy8gbGFuZ3VhZ2U9Y3NzXG4gICAgICBjc3NgXG4gICAgICAgICoge1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cbiAgICAgICAgOmhvc3Qge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIHNlY3Rpb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tZ3YtbW9kYWwtLWFuaW0tZHVyYXRpb24sIDAuM3MpIGVhc2UtaW47XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWd2LW1vZGFsLS1hbmltLWR1cmF0aW9uLCAwLjNzKSBlYXNlLWluO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgei1pbmRleDogdmFyKC0tZ3YtbW9kYWwtLXosIDEwMCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZ3YtbW9kYWwtLWJnYywgcmdiYSgzMCwgMzAsIDMwLCAwLjYpKTtcbiAgICAgICAgfVxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IHZhcigtLWd2LW1vZGFsLWNvbnRlbnQtLXosIDEwMSk7XG4gICAgICAgICAgd2lkdGg6IHZhcigtLWd2LW1vZGFsLS13LCAyODBweCk7XG4gICAgICAgICAgbWluLXdpZHRoOiB2YXIoLS1ndi1tb2RhbC0tbWl3LCAyNTBweCk7XG4gICAgICAgICAgbWF4LXdpZHRoOiB2YXIoLS1ndi1tb2RhbC0tbWF3LCAxMDB2dyk7XG4gICAgICAgICAgaGVpZ2h0OiB2YXIoLS1ndi1tb2RhbC0taCwgYXV0byk7XG4gICAgICAgICAgbWluLWhlaWdodDogdmFyKC0tZ3YtbW9kYWwtLW1paCwgYXV0byk7XG4gICAgICAgICAgbWF4LWhlaWdodDogdmFyKC0tZ3YtbW9kYWwtLW1haCwgMTAwdmgpO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LW1vZGFsLWNvbnRlbnQtLWJnYywgdmFyKC0tZ3YtdGhlbWUtbmV1dHJhbC1jb2xvci1saWdodCwgI2VmZWZlZikpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IHZhcigtLWd2LW1vZGFsLS1ieHNoLCAwcHggMHB4IDE2cHggIzM4M2UzZik7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ3YtbW9kYWwtLWJkcnMsIDRweCk7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tZ3YtbW9kYWwtLXAsIDFlbSk7XG4gICAgICAgIH1cbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnRyYW5zcGFyZW50IHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgIC5vcGFxdWUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5vcGVuZWQge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBmb250LXNpemU6IGxhcmdlO1xuICAgICAgICB9XG4gICAgICAgIGd2LWljb24ge1xuICAgICAgICAgIC0tZ3YtaWNvbi0tczogdmFyKC0tZ3YtbW9kYWwtY2xvc2UtaWNvbi0tcywgMjRweCk7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDI7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICBgLFxuICAgIF07XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cIiR7dGhpcy5nZXRNb2RhbENsYXNzKHRoaXMub3BlbmVkLCB0aGlzLl90b0NoYW5nZSl9XCJcbiAgICAgICAgQGNsaWNrPVwiJHt0aGlzLl9iYWNrZ3JvdW5kTW9kYWxDbGlja31cIlxuICAgICAgICBAdHJhbnNpdGlvbmVuZD1cIiR7dGhpcy5hbmltYXRpb25FbmR9XCJcbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnRcIiBAY2xpY2s9XCIke3RoaXMuY29udGVudENsaWNrfVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIj4ke3RoaXMubW9kYWxUaXRsZX08L3NwYW4+XG4gICAgICAgICAgICAke3RoaXMuc2hvd0Nsb3NlSWNvbiA/IGh0bWxgPGd2LWljb24gc2hhcGU9XCJnZW5lcmFsOmNsb3NlXCIgQGNsaWNrPVwiJHt0aGlzLmNsb3NlfVwiPjwvZ3YtaWNvbj5gIDogJyd9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGFydGljbGU+XG4gICAgICAgICAgICA8c2xvdD48L3Nsb3Q+XG4gICAgICAgICAgPC9hcnRpY2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvc2VjdGlvbj5cbiAgICBgO1xuICB9XG5cbiAgZ2V0TW9kYWxDbGFzcyhvcGVuZWQsIF90b0NoYW5nZSkge1xuICAgIGlmICghb3BlbmVkICYmICFfdG9DaGFuZ2UpIHtcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQnO1xuICAgIH1cbiAgICBpZiAob3BlbmVkICYmIF90b0NoYW5nZSkge1xuICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCBvcGVuZWQnO1xuICAgIH1cbiAgICBpZiAob3BlbmVkICYmICFfdG9DaGFuZ2UpIHtcbiAgICAgIHJldHVybiAnb3BhcXVlJztcbiAgICB9XG4gICAgaWYgKCFvcGVuZWQgJiYgX3RvQ2hhbmdlKSB7XG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50IG9wZW5lZCc7XG4gICAgfVxuICB9XG5cbiAgb3BlbigpIHtcbiAgICB0aGlzLm9wZW5lZCA9IHRydWU7XG4gICAgdGhpcy5fdG9DaGFuZ2UgPSB0cnVlO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5fdG9DaGFuZ2UgPSBmYWxzZTtcbiAgICB9LCA1MCk7XG4gIH1cblxuICBfYmFja2dyb3VuZE1vZGFsQ2xpY2soZSkge1xuICAgIGlmICghdGhpcy5ibG9ja2luZykge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xvc2VkJyk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5vcGVuZWQgPSBmYWxzZTtcbiAgICB0aGlzLl90b0NoYW5nZSA9IHRydWU7XG4gICAgZGlzcGF0Y2hDdXN0b21FdmVudCh0aGlzLCAnY2xvc2VkJyk7XG4gIH1cblxuICBhbmltYXRpb25FbmQoKSB7XG4gICAgdGhpcy5fdG9DaGFuZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIGNvbnRlbnRDbGljayhlKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxufVxud2luZG93LmN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZ3YtbW9kYWwnLCBHdk1vZGFsKTtcbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4vbm9kZV9tb2R1bGVzL0BncmF2aXRlZS91aS1jb21wb25lbnRzL21vbGVjdWxlcy9ndi1tb2RhbC5qcyJdLCJuYW1lcyI6WyJMaXRFbGVtZW50IiwiaHRtbCIsImNzcyIsImRpc3BhdGNoQ3VzdG9tRXZlbnQiLCJHdk1vZGFsIiwicHJvcGVydGllcyIsIl90b0NoYW5nZSIsInR5cGUiLCJCb29sZWFuIiwib3BlbmVkIiwic2hvd0Nsb3NlSWNvbiIsIm1vZGFsVGl0bGUiLCJTdHJpbmciLCJibG9ja2luZyIsImNvbnN0cnVjdG9yIiwic3R5bGVzIiwicmVuZGVyIiwiZ2V0TW9kYWxDbGFzcyIsIl9iYWNrZ3JvdW5kTW9kYWxDbGljayIsImFuaW1hdGlvbkVuZCIsImNvbnRlbnRDbGljayIsImNsb3NlIiwib3BlbiIsInNldFRpbWVvdXQiLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwid2luZG93IiwiY3VzdG9tRWxlbWVudHMiLCJkZWZpbmUiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFVBQVQsRUFBcUJDLElBQXJCLEVBQTJCQyxHQUEzQixRQUFzQyxLQUF0QztBQUNBLE9BQU8sa0JBQVA7QUFDQSxTQUFTQyxtQkFBVCxRQUFvQyxlQUFwQztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxPQUFPLE1BQU1DLE9BQU4sU0FBc0JKLFVBQXRCLENBQWlDO0FBQ2pCLGFBQVZLLFVBQVUsR0FBRztBQUN0QixXQUFPO0FBQ0xDLE1BQUFBLFNBQVMsRUFBRTtBQUFFQyxRQUFBQSxJQUFJLEVBQUVDO0FBQVIsT0FETjs7QUFFTDtBQUNOO0FBQ0E7QUFDTUMsTUFBQUEsTUFBTSxFQUFFO0FBQUVGLFFBQUFBLElBQUksRUFBRUM7QUFBUixPQUxIOztBQU1MO0FBQ047QUFDQTtBQUNNRSxNQUFBQSxhQUFhLEVBQUU7QUFBRUgsUUFBQUEsSUFBSSxFQUFFQztBQUFSLE9BVFY7O0FBVUw7QUFDTjtBQUNBO0FBQ007QUFDQTtBQUNBRyxNQUFBQSxVQUFVLEVBQUU7QUFBRUosUUFBQUEsSUFBSSxFQUFFSztBQUFSLE9BZlA7O0FBZ0JMO0FBQ047QUFDQTtBQUNNQyxNQUFBQSxRQUFRLEVBQUU7QUFBRU4sUUFBQUEsSUFBSSxFQUFFQztBQUFSO0FBbkJMLEtBQVA7QUFxQkQ7O0FBRURNLEVBQUFBLFdBQVcsR0FBRztBQUNaO0FBQ0EsU0FBS1IsU0FBTCxHQUFpQixLQUFqQjtBQUNBLFNBQUtHLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0MsYUFBTCxHQUFxQixLQUFyQjtBQUNBLFNBQUtHLFFBQUwsR0FBZ0IsS0FBaEI7QUFDRDs7QUFFZ0IsYUFBTkUsTUFBTSxHQUFHO0FBQ2xCLFdBQU8sQ0FDTDtBQUNBYixJQUFBQSxHQUFHLGt3Q0FGRSxDQUFQO0FBd0VEOztBQUVEYyxFQUFBQSxNQUFNLEdBQUc7QUFDUCxXQUFPZixJQUFJLG9CQUVFLEtBQUtnQixhQUFMLENBQW1CLEtBQUtSLE1BQXhCLEVBQWdDLEtBQUtILFNBQXJDLENBRkYsYUFHRyxLQUFLWSxxQkFIUixxQkFJVyxLQUFLQyxZQUpoQixtQ0FNd0IsS0FBS0MsWUFON0IsK0NBUW1CLEtBQUtULFVBUnhCLFdBU0QsS0FBS0QsYUFBTCxHQUFxQlQsSUFBSSwwQ0FBMEMsS0FBS29CLEtBQS9DLGNBQXpCLEdBQThGLEVBVDdGLCtEQUFYO0FBaUJEOztBQUVESixFQUFBQSxhQUFhLENBQUNSLE1BQUQsRUFBU0gsU0FBVCxFQUFvQjtBQUMvQixRQUFJLENBQUNHLE1BQUQsSUFBVyxDQUFDSCxTQUFoQixFQUEyQjtBQUN6QixhQUFPLGFBQVA7QUFDRDs7QUFDRCxRQUFJRyxNQUFNLElBQUlILFNBQWQsRUFBeUI7QUFDdkIsYUFBTyxvQkFBUDtBQUNEOztBQUNELFFBQUlHLE1BQU0sSUFBSSxDQUFDSCxTQUFmLEVBQTBCO0FBQ3hCLGFBQU8sUUFBUDtBQUNEOztBQUNELFFBQUksQ0FBQ0csTUFBRCxJQUFXSCxTQUFmLEVBQTBCO0FBQ3hCLGFBQU8sb0JBQVA7QUFDRDtBQUNGOztBQUVEZ0IsRUFBQUEsSUFBSSxHQUFHO0FBQ0wsU0FBS2IsTUFBTCxHQUFjLElBQWQ7QUFDQSxTQUFLSCxTQUFMLEdBQWlCLElBQWpCO0FBQ0FpQixJQUFBQSxVQUFVLENBQUMsTUFBTTtBQUNmLFdBQUtqQixTQUFMLEdBQWlCLEtBQWpCO0FBQ0QsS0FGUyxFQUVQLEVBRk8sQ0FBVjtBQUdEOztBQUVEWSxFQUFBQSxxQkFBcUIsQ0FBQ00sQ0FBRCxFQUFJO0FBQ3ZCLFFBQUksQ0FBQyxLQUFLWCxRQUFWLEVBQW9CO0FBQ2xCLFdBQUtRLEtBQUw7QUFDQWxCLE1BQUFBLG1CQUFtQixDQUFDLElBQUQsRUFBTyxRQUFQLENBQW5CO0FBQ0Q7QUFDRjs7QUFFRGtCLEVBQUFBLEtBQUssR0FBRztBQUNOLFNBQUtaLE1BQUwsR0FBYyxLQUFkO0FBQ0EsU0FBS0gsU0FBTCxHQUFpQixJQUFqQjtBQUNBSCxJQUFBQSxtQkFBbUIsQ0FBQyxJQUFELEVBQU8sUUFBUCxDQUFuQjtBQUNEOztBQUVEZ0IsRUFBQUEsWUFBWSxHQUFHO0FBQ2IsU0FBS2IsU0FBTCxHQUFpQixLQUFqQjtBQUNEOztBQUVEYyxFQUFBQSxZQUFZLENBQUNJLENBQUQsRUFBSTtBQUNkQSxJQUFBQSxDQUFDLENBQUNDLGVBQUY7QUFDRDs7QUExS3FDO0FBNEt4Q0MsTUFBTSxDQUFDQyxjQUFQLENBQXNCQyxNQUF0QixDQUE2QixVQUE3QixFQUF5Q3hCLE9BQXpDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IExpdEVsZW1lbnQsIGh0bWwsIGNzcyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgJy4uL2F0b21zL2d2LWljb24nO1xuaW1wb3J0IHsgZGlzcGF0Y2hDdXN0b21FdmVudCB9IGZyb20gJy4uL2xpYi9ldmVudHMnO1xuXG4vKipcbiAqIEEgbW9kYWwgdGhhdCBzaG93cyB1cCBvbiB0b3Agb2YgeW91ciBwYWdlXG4gKlxuICogQGZpcmVzIGd2LW1vZGFsOmNsb3NlZCAtIEV2ZW50IGZpcmVkIHdoZW4gbW9kYWwgaXMgY2xvc2VkLlxuICpcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS1hbmltLWR1cmF0aW9uPTAuM3NdIC0gRHVyYXRpb24gb2YgdGhlIGFuaW1hdGlvblxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLXo9MTAwXSAtIHotaW5kZXggZm9yIG1vZGFsXG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LW1vZGFsLS1iZ2M9cmdiYSgzMCwgMzAsIDMwLCAwLjYpXSAtIE1vZGFsIGJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLWNvbnRlbnQtLXo9MTAxXSAtIHotaW5kZXggZm9yIG1vZGFsIGNvbnRlbnRcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS13PTI4MHB4XSAtIG1vZGVsIHdpZHRoXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC0tbWl3PTI1MHB4XSAtIG1vZGFsIG1pbi13aWR0aFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLW1hdz0xMDB2d10gLSBtb2RhbCBtYXgtd2lkdGhcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS1oPWF1dG9dIC0gbW9kYWwgaGVpZ2h0XG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC0tbWloPWF1dG9dIC0gbW9kYWwgbWluIGhlaWdodFxuICogQGNzc3Byb3Age0xlbmd0aH0gWy0tZ3YtbW9kYWwtLW1haD0xMDB2aF0gLSBtb2RhbCBtYXggaGVpZ2h0XG4gKiBAY3NzcHJvcCB7Q29sb3J9IFstLWd2LW1vZGFsLWNvbnRlbnQtLWJnYz12YXIoLS1ndi10aGVtZS1uZXV0cmFsLWNvbG9yLWxpZ2h0LCAjZWZlZmVmKV0gLSBNb2RhbCBjb250ZW50IGJhY2tncm91bmQgY29sb3JcbiAqIEBjc3Nwcm9wIHtTdHJpbmd9IFstLWd2LW1vZGFsLS1ieHNoPTBweCAwcHggMTZweCAjMzgzZTNmXSAtIE1vZGFsIGJveCBzaGFkb3dcbiAqIEBjc3Nwcm9wIHtMZW5ndGh9IFstLWd2LW1vZGFsLS1iZHJzPTRweF0gLSBNb2RhbCBib3JkZXIgcmFkaXVzXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC0tcD0xZW1dIC0gTW9kYWwgY29udGVudCBwYWRkaW5nXG4gKiBAY3NzcHJvcCB7TGVuZ3RofSBbLS1ndi1tb2RhbC1jbG9zZS1pY29uLS1zPTI0cHhdIC0gTW9kYWwgY2xvc2UgaWNvbiBzaXplXG4gKi9cbmV4cG9ydCBjbGFzcyBHdk1vZGFsIGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHN0YXRpYyBnZXQgcHJvcGVydGllcygpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX3RvQ2hhbmdlOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICAgIC8qKlxuICAgICAgICogSWYgdHJ1ZSB0aGUgbW9kYWwgYm94IGlzIGluIG9wZW5lZCBzdGF0dXMuXG4gICAgICAgKi9cbiAgICAgIG9wZW5lZDogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICAvKipcbiAgICAgICAqIElmIHRydWUgdGhlIG1vZGFsIGJveCBkaXNwbGF5cyBhIGNsb3NlIGljb25cbiAgICAgICAqL1xuICAgICAgc2hvd0Nsb3NlSWNvbjogeyB0eXBlOiBCb29sZWFuIH0sXG4gICAgICAvKipcbiAgICAgICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwgZGlhbG9nXG4gICAgICAgKi9cbiAgICAgIC8vIOKaoO+4jyBpdCBjYW5ub3QgYmUgc2ltcGx5IG5hbWVkIGB0aXRsZWAgb3RoZXJ3aXNlIHRoZSBicm93c2VyIGNvbnNpZGVyIGl0XG4gICAgICAvLyBhcyBhIGB0aXRsZWAgcHJvcGVydHkgYW5kIHVzZSBpdCB0byBkaXNwbGF5IGEgdG9vbHRpcFxuICAgICAgbW9kYWxUaXRsZTogeyB0eXBlOiBTdHJpbmcgfSxcbiAgICAgIC8qKlxuICAgICAgICogSWYgdHJ1ZSB0aGUgbW9kYWwgYm94IGJsb2NrcyB0aGUgc2NyZWVuLiBUaGF0IGlzLCB3aGVuIHlvdSBjbGljayBpbiB0aGUgYmFja2dyb3VuZCBsYXllciwgdGhlIG1vZGFsIGJveCBkbyBub3QgY2xvc2UuXG4gICAgICAgKi9cbiAgICAgIGJsb2NraW5nOiB7IHR5cGU6IEJvb2xlYW4gfSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl90b0NoYW5nZSA9IGZhbHNlO1xuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5zaG93Q2xvc2VJY29uID0gZmFsc2U7XG4gICAgdGhpcy5ibG9ja2luZyA9IGZhbHNlO1xuICB9XG5cbiAgc3RhdGljIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIC8vIGxhbmd1YWdlPWNzc1xuICAgICAgY3NzYFxuICAgICAgICAqIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB9XG4gICAgICAgIDpob3N0IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgICBzZWN0aW9uIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWd2LW1vZGFsLS1hbmltLWR1cmF0aW9uLCAwLjNzKSBlYXNlLWluO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1ndi1tb2RhbC0tYW5pbS1kdXJhdGlvbiwgMC4zcykgZWFzZS1pbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHotaW5kZXg6IHZhcigtLWd2LW1vZGFsLS16LCAxMDApO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWd2LW1vZGFsLS1iZ2MsIHJnYmEoMzAsIDMwLCAzMCwgMC42KSk7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiB2YXIoLS1ndi1tb2RhbC1jb250ZW50LS16LCAxMDEpO1xuICAgICAgICAgIHdpZHRoOiB2YXIoLS1ndi1tb2RhbC0tdywgMjgwcHgpO1xuICAgICAgICAgIG1pbi13aWR0aDogdmFyKC0tZ3YtbW9kYWwtLW1pdywgMjUwcHgpO1xuICAgICAgICAgIG1heC13aWR0aDogdmFyKC0tZ3YtbW9kYWwtLW1hdywgMTAwdncpO1xuICAgICAgICAgIGhlaWdodDogdmFyKC0tZ3YtbW9kYWwtLWgsIGF1dG8pO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWd2LW1vZGFsLS1taWgsIGF1dG8pO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLWd2LW1vZGFsLS1tYWgsIDEwMHZoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ndi1tb2RhbC1jb250ZW50LS1iZ2MsIHZhcigtLWd2LXRoZW1lLW5ldXRyYWwtY29sb3ItbGlnaHQsICNlZmVmZWYpKTtcbiAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1ndi1tb2RhbC0tYnhzaCwgMHB4IDBweCAxNnB4ICMzODNlM2YpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWd2LW1vZGFsLS1iZHJzLCA0cHgpO1xuICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWd2LW1vZGFsLS1wLCAxZW0pO1xuICAgICAgICB9XG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICAgIC50cmFuc3BhcmVudCB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAub3BhcXVlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAub3BlbmVkIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgZm9udC1zaXplOiBsYXJnZTtcbiAgICAgICAgfVxuICAgICAgICBndi1pY29uIHtcbiAgICAgICAgICAtLWd2LWljb24tLXM6IHZhcigtLWd2LW1vZGFsLWNsb3NlLWljb24tLXMsIDI0cHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB6LWluZGV4OiAxMDAyO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgICAgYCxcbiAgICBdO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNlY3Rpb25cbiAgICAgICAgY2xhc3M9XCIke3RoaXMuZ2V0TW9kYWxDbGFzcyh0aGlzLm9wZW5lZCwgdGhpcy5fdG9DaGFuZ2UpfVwiXG4gICAgICAgIEBjbGljaz1cIiR7dGhpcy5fYmFja2dyb3VuZE1vZGFsQ2xpY2t9XCJcbiAgICAgICAgQHRyYW5zaXRpb25lbmQ9XCIke3RoaXMuYW5pbWF0aW9uRW5kfVwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgQGNsaWNrPVwiJHt0aGlzLmNvbnRlbnRDbGlja31cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCI+JHt0aGlzLm1vZGFsVGl0bGV9PC9zcGFuPlxuICAgICAgICAgICAgJHt0aGlzLnNob3dDbG9zZUljb24gPyBodG1sYDxndi1pY29uIHNoYXBlPVwiZ2VuZXJhbDpjbG9zZVwiIEBjbGljaz1cIiR7dGhpcy5jbG9zZX1cIj48L2d2LWljb24+YCA6ICcnfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxhcnRpY2xlPlxuICAgICAgICAgICAgPHNsb3Q+PC9zbG90PlxuICAgICAgICAgIDwvYXJ0aWNsZT5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgYDtcbiAgfVxuXG4gIGdldE1vZGFsQ2xhc3Mob3BlbmVkLCBfdG9DaGFuZ2UpIHtcbiAgICBpZiAoIW9wZW5lZCAmJiAhX3RvQ2hhbmdlKSB7XG4gICAgICByZXR1cm4gJ3RyYW5zcGFyZW50JztcbiAgICB9XG4gICAgaWYgKG9wZW5lZCAmJiBfdG9DaGFuZ2UpIHtcbiAgICAgIHJldHVybiAndHJhbnNwYXJlbnQgb3BlbmVkJztcbiAgICB9XG4gICAgaWYgKG9wZW5lZCAmJiAhX3RvQ2hhbmdlKSB7XG4gICAgICByZXR1cm4gJ29wYXF1ZSc7XG4gICAgfVxuICAgIGlmICghb3BlbmVkICYmIF90b0NoYW5nZSkge1xuICAgICAgcmV0dXJuICd0cmFuc3BhcmVudCBvcGVuZWQnO1xuICAgIH1cbiAgfVxuXG4gIG9wZW4oKSB7XG4gICAgdGhpcy5vcGVuZWQgPSB0cnVlO1xuICAgIHRoaXMuX3RvQ2hhbmdlID0gdHJ1ZTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX3RvQ2hhbmdlID0gZmFsc2U7XG4gICAgfSwgNTApO1xuICB9XG5cbiAgX2JhY2tncm91bmRNb2RhbENsaWNrKGUpIHtcbiAgICBpZiAoIXRoaXMuYmxvY2tpbmcpIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Nsb3NlZCcpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub3BlbmVkID0gZmFsc2U7XG4gICAgdGhpcy5fdG9DaGFuZ2UgPSB0cnVlO1xuICAgIGRpc3BhdGNoQ3VzdG9tRXZlbnQodGhpcywgJ2Nsb3NlZCcpO1xuICB9XG5cbiAgYW5pbWF0aW9uRW5kKCkge1xuICAgIHRoaXMuX3RvQ2hhbmdlID0gZmFsc2U7XG4gIH1cblxuICBjb250ZW50Q2xpY2soZSkge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH1cbn1cbndpbmRvdy5jdXN0b21FbGVtZW50cy5kZWZpbmUoJ2d2LW1vZGFsJywgR3ZNb2RhbCk7XG4iXX0=