@mnaoumov/obsidian-lib 10.7.0 → 10.9.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 (69) hide show
  1. package/README.md +4 -0
  2. package/data-stores/data-store-locations/package.json +6 -0
  3. package/dist/lib/cjs/__merged.cjs +18 -1
  4. package/dist/lib/cjs/__merged.d.cts +4 -1
  5. package/dist/lib/cjs/code-block-render-handoff.cjs +2 -5
  6. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +2 -2
  7. package/dist/lib/cjs/community-plugins.cjs +2 -2
  8. package/dist/lib/cjs/components/all-windows-event-component.cjs +86 -14
  9. package/dist/lib/cjs/components/all-windows-event-component.d.cts +54 -3
  10. package/dist/lib/cjs/components/monkey-around-component.cjs +1 -1
  11. package/dist/lib/cjs/components/plugin-notice-component.cjs +2 -6
  12. package/dist/lib/cjs/components/style-sheet-component.cjs +1 -4
  13. package/dist/lib/cjs/data-stores/data-store-locations.cjs +248 -0
  14. package/dist/lib/cjs/data-stores/data-store-locations.d.cts +60 -0
  15. package/dist/lib/cjs/data-stores/data-store-seeds.cjs +2 -2
  16. package/dist/lib/cjs/data-stores/data-store-seeds.d.cts +1 -1
  17. package/dist/lib/cjs/data-stores/data-store-transport.cjs +126 -21
  18. package/dist/lib/cjs/data-stores/data-store-transport.d.cts +38 -4
  19. package/dist/lib/cjs/data-stores/index.cjs +4 -1
  20. package/dist/lib/cjs/data-stores/index.d.cts +1 -0
  21. package/dist/lib/cjs/data-stores/shared-data-store.cjs +145 -22
  22. package/dist/lib/cjs/data-stores/shared-data-store.d.cts +53 -1
  23. package/dist/lib/cjs/desktop-bulk-operation-git.cjs +5 -5
  24. package/dist/lib/cjs/folder-note.cjs +5 -5
  25. package/dist/lib/cjs/formula-function.cjs +152 -0
  26. package/dist/lib/cjs/formula-function.d.cts +98 -0
  27. package/dist/lib/cjs/frontmatter-formatting.cjs +2 -2
  28. package/dist/lib/cjs/generated-during-build.cjs +1 -1
  29. package/dist/lib/cjs/index.cjs +7 -1
  30. package/dist/lib/cjs/index.d.cts +2 -0
  31. package/dist/lib/cjs/link.cjs +12 -12
  32. package/dist/lib/cjs/markdown.cjs +7 -7
  33. package/dist/lib/cjs/vault.cjs +2 -2
  34. package/dist/lib/cjs/virtual-file.cjs +340 -0
  35. package/dist/lib/cjs/virtual-file.d.cts +48 -0
  36. package/dist/lib/esm/__merged.d.mts +4 -1
  37. package/dist/lib/esm/__merged.mjs +20 -2
  38. package/dist/lib/esm/code-block-render-handoff.mjs +2 -5
  39. package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +2 -2
  40. package/dist/lib/esm/community-plugins.mjs +2 -2
  41. package/dist/lib/esm/components/all-windows-event-component.d.mts +54 -3
  42. package/dist/lib/esm/components/all-windows-event-component.mjs +87 -14
  43. package/dist/lib/esm/components/monkey-around-component.mjs +1 -1
  44. package/dist/lib/esm/components/plugin-notice-component.mjs +2 -6
  45. package/dist/lib/esm/components/style-sheet-component.mjs +1 -4
  46. package/dist/lib/esm/data-stores/data-store-locations.d.mts +60 -0
  47. package/dist/lib/esm/data-stores/data-store-locations.mjs +160 -0
  48. package/dist/lib/esm/data-stores/data-store-seeds.d.mts +1 -1
  49. package/dist/lib/esm/data-stores/data-store-seeds.mjs +2 -2
  50. package/dist/lib/esm/data-stores/data-store-transport.d.mts +38 -4
  51. package/dist/lib/esm/data-stores/data-store-transport.mjs +126 -21
  52. package/dist/lib/esm/data-stores/index.d.mts +1 -0
  53. package/dist/lib/esm/data-stores/index.mjs +3 -1
  54. package/dist/lib/esm/data-stores/shared-data-store.d.mts +53 -1
  55. package/dist/lib/esm/data-stores/shared-data-store.mjs +145 -22
  56. package/dist/lib/esm/desktop-bulk-operation-git.mjs +5 -5
  57. package/dist/lib/esm/folder-note.mjs +5 -5
  58. package/dist/lib/esm/formula-function.d.mts +98 -0
  59. package/dist/lib/esm/formula-function.mjs +62 -0
  60. package/dist/lib/esm/frontmatter-formatting.mjs +2 -2
  61. package/dist/lib/esm/generated-during-build.mjs +1 -1
  62. package/dist/lib/esm/index.d.mts +2 -0
  63. package/dist/lib/esm/index.mjs +5 -1
  64. package/dist/lib/esm/link.mjs +12 -12
  65. package/dist/lib/esm/markdown.mjs +7 -7
  66. package/dist/lib/esm/vault.mjs +2 -2
  67. package/dist/lib/esm/virtual-file.d.mts +48 -0
  68. package/dist/lib/esm/virtual-file.mjs +264 -0
  69. package/package.json +5 -5
package/README.md CHANGED
@@ -14,6 +14,10 @@ npm install @mnaoumov/obsidian-lib
14
14
 
15
15
  The guides and the API reference are at [mnaoumov.dev/obsidian-lib](https://mnaoumov.dev/obsidian-lib/).
16
16
 
17
+ Register custom global and instance functions for Bases with the [formula-function helpers](./docs/src/content/docs/guides/bases-formula-functions.md).
18
+
19
+ Apply behavior and body classes to the main window and existing or future popouts with the [window helpers](./docs/src/content/docs/guides/windows.md), with cleanup when the window closes or the owner unloads.
20
+
17
21
  ## Where it fits
18
22
 
19
23
  It is one of five packages that replace [`obsidian-dev-utils`](https://github.com/mnaoumov/obsidian-dev-utils): [`@mnaoumov/typescript-lib`](https://github.com/mnaoumov/typescript-lib), [`@mnaoumov/typescript-test-toolkit`](https://github.com/mnaoumov/typescript-test-toolkit), [`@mnaoumov/typescript-dev-toolkit`](https://github.com/mnaoumov/typescript-dev-toolkit), [`@mnaoumov/obsidian-lib`](https://github.com/mnaoumov/obsidian-lib) and [`@mnaoumov/obsidian-dev-toolkit`](https://github.com/mnaoumov/obsidian-dev-toolkit). It depends on [`@mnaoumov/typescript-lib`](https://github.com/mnaoumov/typescript-lib). It moved here from that repository with its history.
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../dist/lib/cjs/data-stores/data-store-locations.cjs",
3
+ "module": "../../dist/lib/esm/data-stores/data-store-locations.mjs",
4
+ "type": "module",
5
+ "types": "../../dist/lib/cjs/data-stores/data-store-locations.d.cts"
6
+ }
@@ -174,6 +174,7 @@ __export(merged_exports, {
174
174
  DEFAULT_LANGUAGE: () => import_translations_map.DEFAULT_LANGUAGE,
175
175
  DEFAULT_NS: () => import_i18n.DEFAULT_NS,
176
176
  DUMMY_PATH: () => import_attachment_path.DUMMY_PATH,
177
+ DataStoreLocations: () => import_data_store_locations.DataStoreLocations,
177
178
  DataStoreReplica: () => import_data_store_replica.DataStoreReplica,
178
179
  DataStoreSeeds: () => import_data_store_seeds.DataStoreSeeds,
179
180
  DataStoreTransport: () => import_data_store_transport.DataStoreTransport,
@@ -436,6 +437,8 @@ __export(merged_exports, {
436
437
  createElAsync: () => import_html_element2.createElAsync,
437
438
  createExpectedTypeGuard: () => import_api_contract.createExpectedTypeGuard,
438
439
  createFolderSafe: () => import_vault.createFolderSafe,
440
+ createFormulaFunction: () => import_formula_function.createFormulaFunction,
441
+ createFormulaFunctionParameter: () => import_formula_function.createFormulaFunctionParameter,
439
442
  createFragmentAsync: () => import_html_element2.createFragmentAsync,
440
443
  createFragmentWithCodeBlocks: () => import_html_element.createFragmentWithCodeBlocks,
441
444
  createFunction: () => import_function.createFunction,
@@ -506,6 +509,7 @@ __export(merged_exports, {
506
509
  findPluginApi: () => import_plugin_api.findPluginApi,
507
510
  fixTitle: () => import_dataview_link.fixTitle,
508
511
  flushQueue: () => import_queue.flushQueue,
512
+ forEachWindow: () => import_all_windows_event_component.forEachWindow,
509
513
  format: () => import_path.format,
510
514
  formatBugReportEnvironment: () => import_bug_report.formatBugReportEnvironment,
511
515
  formatBytes: () => import_bytes.formatBytes,
@@ -805,16 +809,19 @@ __export(merged_exports, {
805
809
  referenceToFileChange: () => import_reference.referenceToFileChange,
806
810
  registerAsyncErrorEventHandler: () => import_error.registerAsyncErrorEventHandler,
807
811
  registerAsyncEvent: () => import_async_events_component.registerAsyncEvent,
812
+ registerBodyClass: () => import_all_windows_event_component.registerBodyClass,
808
813
  registerBulkOperationProgressListener: () => import_bulk_operation_progress.registerBulkOperationProgressListener,
809
814
  registerDebugSwitch: () => import_debug_switches.registerDebugSwitch,
810
815
  registerFileCacheForNonExistingFile: () => import_metadata_cache.registerFileCacheForNonExistingFile,
811
816
  registerFiles: () => import_metadata_cache.registerFiles,
812
817
  registerFoldHandlers: () => import_rendered_markdown.registerFoldHandlers,
813
818
  registerFootnoteLinkHandler: () => import_rendered_markdown.registerFootnoteLinkHandler,
819
+ registerFormulaFunction: () => import_formula_function.registerFormulaFunction,
814
820
  registerFrontmatterFormattingPreserver: () => import_frontmatter.registerFrontmatterFormattingPreserver,
815
821
  registerInlineTokenRenderer: () => import_inline_token_renderer.registerInlineTokenRenderer,
816
822
  registerLinkHandlers: () => import_markdown.registerLinkHandlers,
817
823
  registerStyle: () => import_style_sheet_component.registerStyle,
824
+ registerVirtualFile: () => import_virtual_file.registerVirtualFile,
818
825
  relative: () => import_path.relative,
819
826
  relativePathToResourceUrl: () => import_resource_url.relativePathToResourceUrl,
820
827
  reloadCurrentFileCache: () => import_dataview.reloadCurrentFileCache,
@@ -1024,6 +1031,7 @@ var import_templates_language_component = require('./components/templates-langua
1024
1031
  var import_get_dom_events_handlers_constructor = require('./constructors/get-dom-events-handlers-constructor.cjs');
1025
1032
  var import_css_class = require('./css-class.cjs');
1026
1033
  var import_data_handler = require('./data-handler.cjs');
1034
+ var import_data_store_locations = require('./data-stores/data-store-locations.cjs');
1027
1035
  var import_data_store_replica = require('./data-stores/data-store-replica.cjs');
1028
1036
  var import_data_store_seeds = require('./data-stores/data-store-seeds.cjs');
1029
1037
  var import_data_store_transport = require('./data-stores/data-store-transport.cjs');
@@ -1051,6 +1059,7 @@ var import_file_explorer = require('./file-explorer.cjs');
1051
1059
  var import_file_manager = require('./file-manager.cjs');
1052
1060
  var import_file_system = require('./file-system.cjs');
1053
1061
  var import_folder_note = require('./folder-note.cjs');
1062
+ var import_formula_function = require('./formula-function.cjs');
1054
1063
  var import_frontmatter_formatting = require('./frontmatter-formatting.cjs');
1055
1064
  var import_frontmatter_link_cache_with_offsets = require('./frontmatter-link-cache-with-offsets.cjs');
1056
1065
  var import_frontmatter = require('./frontmatter.cjs');
@@ -1162,6 +1171,7 @@ var import_vault_delete = require('./vault-delete.cjs');
1162
1171
  var import_vault_transaction = require('./vault-transaction.cjs');
1163
1172
  var import_vault = require('./vault.cjs');
1164
1173
  var import_view_registrar = require('./view-registrar.cjs');
1174
+ var import_virtual_file = require('./virtual-file.cjs');
1165
1175
  var import_workspace = require('./workspace.cjs');
1166
1176
  var import_abort_controller = require('@mnaoumov/typescript-lib/abort-controller');
1167
1177
  var import_aggregate_error = require('@mnaoumov/typescript-lib/aggregate-error');
@@ -1266,6 +1276,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1266
1276
  DEFAULT_LANGUAGE,
1267
1277
  DEFAULT_NS,
1268
1278
  DUMMY_PATH,
1279
+ DataStoreLocations,
1269
1280
  DataStoreReplica,
1270
1281
  DataStoreSeeds,
1271
1282
  DataStoreTransport,
@@ -1528,6 +1539,8 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1528
1539
  createElAsync,
1529
1540
  createExpectedTypeGuard,
1530
1541
  createFolderSafe,
1542
+ createFormulaFunction,
1543
+ createFormulaFunctionParameter,
1531
1544
  createFragmentAsync,
1532
1545
  createFragmentWithCodeBlocks,
1533
1546
  createFunction,
@@ -1598,6 +1611,7 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1598
1611
  findPluginApi,
1599
1612
  fixTitle,
1600
1613
  flushQueue,
1614
+ forEachWindow,
1601
1615
  format,
1602
1616
  formatBugReportEnvironment,
1603
1617
  formatBytes,
@@ -1897,16 +1911,19 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
1897
1911
  referenceToFileChange,
1898
1912
  registerAsyncErrorEventHandler,
1899
1913
  registerAsyncEvent,
1914
+ registerBodyClass,
1900
1915
  registerBulkOperationProgressListener,
1901
1916
  registerDebugSwitch,
1902
1917
  registerFileCacheForNonExistingFile,
1903
1918
  registerFiles,
1904
1919
  registerFoldHandlers,
1905
1920
  registerFootnoteLinkHandler,
1921
+ registerFormulaFunction,
1906
1922
  registerFrontmatterFormattingPreserver,
1907
1923
  registerInlineTokenRenderer,
1908
1924
  registerLinkHandlers,
1909
1925
  registerStyle,
1926
+ registerVirtualFile,
1910
1927
  relative,
1911
1928
  relativePathToResourceUrl,
1912
1929
  reloadCurrentFileCache,
@@ -2036,4 +2053,4 @@ var import_value_wrapper = require('@mnaoumov/typescript-lib/value-wrapper');
2036
2053
  watchPluginApi,
2037
2054
  wrapForCallout
2038
2055
  });
2039
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX21lcmdlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBBbmNob3JlZFN1Z2dlc3QgfSBmcm9tICcuL2FuY2hvcmVkLXN1Z2dlc3QudHMnO1xuZXhwb3J0IHsgZ2V0QXBwIH0gZnJvbSAnLi9hcHAudHMnO1xuZXhwb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dE5vdGljZSxcbiAgcnVuV2l0aFRpbWVvdXROb3RpY2Vcbn0gZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQge1xuICBBdHRhY2htZW50UGF0aENvbnRleHQsXG4gIENVU1RPTV9BVFRBQ0hNRU5UX0xPQ0FUSU9OX1BMVUdJTl9JRCxcbiAgRFVNTVlfUEFUSCxcbiAgZ2V0QXR0YWNobWVudEZpbGVQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgZ2V0QXR0YWNobWVudEZvbGRlclBhdGhGb3JBdHRhY2htZW50LFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aFN5bmNPck51bGwsXG4gIGdldEF2YWlsYWJsZVBhdGhGb3JBdHRhY2htZW50cyxcbiAgZ2V0Q2hlY2tJc0F0dGFjaG1lbnRVbml0Rm9sZGVyRnVuY3Rpb24sXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXIsXG4gIGlzQXRQcm9wZXJBdHRhY2htZW50UGF0aFxufSBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQge1xuICBmaW5kQXR0YWNobWVudFVuaXRGb2xkZXJQYXRoLFxuICByZWJhc2VQYXRoT250b0ZvbGRlclxufSBmcm9tICcuL2F0dGFjaG1lbnQtdW5pdC1mb2xkZXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0SW5kZXhlZEJhY2tsaW5rc0ZvckZpbGUsXG4gIGl0ZXJhdGVSZWZlcmVuY2VzQWZmZWN0ZWRCeVJlbmFtZVxufSBmcm9tICcuL2JhY2tsaW5rLWluZGV4LnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBCcm9rZW5MaW5rQ2FuZGlkYXRlRmluZGVyLFxuICBCcm9rZW5MaW5rRXZpZGVuY2VLaW5kLFxuICBnZXRQYXJlbnRQYXRoLFxuICBnZXRQYXRoTWFwcGluZ1xufSBmcm9tICcuL2Jyb2tlbi1saW5rLWNhbmRpZGF0ZXMudHMnO1xuZXhwb3J0IHtcbiAgQlVHX1JFUE9SVF9JU1NVRV9GT1JNX1RFTVBMQVRFLFxuICBCdWdSZXBvcnRJc3N1ZUZvcm1GaWVsZElkLFxuICBmb3JtYXRCdWdSZXBvcnRFbnZpcm9ubWVudCxcbiAgZ2V0QnVnUmVwb3J0RW52aXJvbm1lbnQsXG4gIGdldEJ1Z1JlcG9ydElzc3VlRm9ybVVybCxcbiAgZ2V0R2l0SHViSXNzdWVGb3JtVXJsXG59IGZyb20gJy4vYnVnLXJlcG9ydC50cyc7XG5leHBvcnQge1xuICBCVUxLX09QRVJBVElPTl9IT0xEX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyxcbiAgaG9sZEJ1bGtPcGVyYXRpb25XaGlsZSxcbiAgcmVnaXN0ZXJCdWxrT3BlcmF0aW9uUHJvZ3Jlc3NMaXN0ZW5lcixcbiAgcmVwb3J0QnVsa09wZXJhdGlvblByb2dyZXNzXG59IGZyb20gJy4vYnVsay1vcGVyYXRpb24tcHJvZ3Jlc3MudHMnO1xuZXhwb3J0IHtcbiAgYnVpbGRCZWZvcmVPcGVyYXRpb25Db21taXRTdWJqZWN0LFxuICBidWlsZE9wZXJhdGlvbkNvbW1pdE1lc3NhZ2UsXG4gIEJVTEtfT1BFUkFUSU9OX0xPQ0tfRklMRV9OQU1FLFxuICBCVUxLX09QRVJBVElPTl9MT0NLX1NUQUxFX0FGVEVSX0lOX01JTExJU0VDT05EUyxcbiAgZm9ybWF0T3BlcmF0aW9uSWQsXG4gIGdldE5leHRPcGVyYXRpb25JZCxcbiAgaXNCdWxrT3BlcmF0aW9uTG9jayxcbiAgaXNCdWxrT3BlcmF0aW9uTG9ja1N0YWxlLFxuICBPUEVSQVRJT05fVFJBSUxFUl9LRVksXG4gIHBhcnNlQnVsa09wZXJhdGlvbkNvbW1pdCxcbiAgcGFyc2VPcGVyYXRpb25OdW1iZXIsXG4gIFBMVUdJTl9UUkFJTEVSX0tFWVxufSBmcm9tICcuL2J1bGstb3BlcmF0aW9uLnRzJztcbmV4cG9ydCB7XG4gIENhbGxvdXRNb2RlLFxuICByZW5kZXJDYWxsb3V0LFxuICB3cmFwRm9yQ2FsbG91dFxufSBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0IHsgZ2V0Q2FudmFzUmVmZXJlbmNlcyB9IGZyb20gJy4vY2FudmFzLnRzJztcbmV4cG9ydCB7XG4gIENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgZ2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICBzZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIHVuc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4XG59IGZyb20gJy4vY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LnRzJztcbmV4cG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmV4cG9ydCB7XG4gIGNhcHR1cmVDb2RlQmxvY2tGb2N1cyxcbiAgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmLFxuICBDT0RFX0JMT0NLX1JFTkRFUl9IQU5ET0ZGX0xJRkVUSU1FX0lOX01JTExJU0VDT05EUyxcbiAgcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZixcbiAgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzXG59IGZyb20gJy4vY29kZS1ibG9jay1yZW5kZXItaGFuZG9mZi50cyc7XG5leHBvcnQgeyBjcmVhdGVJbmNyZW1lbnRhbFBhcnNlU3RhdGVGaWVsZCB9IGZyb20gJy4vY29kZW1pcnJvci9pbmNyZW1lbnRhbC1wYXJzZS1zdGF0ZS1maWVsZC50cyc7XG5leHBvcnQge1xuICBjcmVhdGVJbmxpbmVUb2tlbldpZGdldHNFeHRlbnNpb24sXG4gIGV4ZWNBbGwsXG4gIHRvR2xvYmFsUmVnRXhwXG59IGZyb20gJy4vY29kZW1pcnJvci9pbmxpbmUtdG9rZW4td2lkZ2V0cy50cyc7XG5leHBvcnQge1xuICBkaXNwYXRjaFRvQWxsTWFya2Rvd25FZGl0b3JWaWV3cyxcbiAgZ2V0QWxsTWFya2Rvd25FZGl0b3JWaWV3c1xufSBmcm9tICcuL2NvZGVtaXJyb3IvbWFya2Rvd24tZWRpdG9yLXZpZXdzLnRzJztcbmV4cG9ydCB7IHJhbmdlU2V0VG9BcnJheSB9IGZyb20gJy4vY29kZW1pcnJvci9yYW5nZS1zZXQudHMnO1xuZXhwb3J0IHsgY3JlYXRlU2V0dGluZ3NGYWNldCB9IGZyb20gJy4vY29kZW1pcnJvci9zZXR0aW5ncy1mYWNldC50cyc7XG5leHBvcnQgeyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9hYnN0cmFjdC1maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9jb21tYW5kLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBFZGl0b3JDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9lZGl0b3ItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBGb2xkZXJDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEdsb2JhbENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkJ1Z1JlcG9ydENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tYnVnLXJlcG9ydC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZGVtby12YXVsdC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRpc2N1c3Npb25Db21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLWRpc2N1c3Npb24tY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IE9wZW5GZWF0dXJlUmVxdWVzdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZmVhdHVyZS1yZXF1ZXN0LWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuR2l0SHViQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1naXQtaHViLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuU2V0dGluZ3NDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLXNldHRpbmdzLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBVbmRvQnVsa09wZXJhdGlvbkNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL3VuZG8tYnVsay1vcGVyYXRpb24tY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy91bmxvY2stYWN0aXZlLW5vdGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IFBsdWdpbkNvbW1hbmRSZWdpc3RyYXIgfSBmcm9tICcuL2NvbW1hbmQtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbixcbiAgQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LFxuICBkaXNhYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBlbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBQbHVnaW5FbmFibGVSZWZ1c2VkRXJyb3IsXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICB1cGRhdGVDb21tdW5pdHlQbHVnaW4sXG4gIFVwZGF0ZUNvbW11bml0eVBsdWdpblJlc3VsdFxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmV4cG9ydCB7IEFib3J0U2lnbmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyByZWdpc3RlckFzeW5jRXZlbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXN5bmMtZXZlbnRzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBCdWxrT3BlcmF0aW9uQ29tbWl0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2J1bGstb3BlcmF0aW9uLWNvbW1pdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Nhc2UtaW5zZW5zaXRpdmUtZmlsZS1pbmRleC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzJztcbmV4cG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb3JlUGx1Z2luVG9nZ2xlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUtcGx1Z2luLXRvZ2dsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgYXNEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYmVkRXh0ZW5zaW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbWJlZC1leHRlbnNpb25zLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBFbWJlZGRhYmxlTWFya2Rvd25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZW1iZWRkYWJsZS1tYXJrZG93bi1lZGl0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEZpbGVFeHBsb3JlclJvb3RNZW51Q29tcG9uZW50LFxuICBGaWxlRXhwbG9yZXJSb290TWVudVNwb3QsXG4gIFZBVUxUX05BTUVfU0VMRUNUT1JTXG59IGZyb20gJy4vY29tcG9uZW50cy9maWxlLWV4cGxvcmVyLXJvb3QtbWVudS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgR2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0UGFyYW1zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2dlbmVyYXRlLW1hcmtkb3duLWxpbmstZGVmYXVsdC1wYXJhbXMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEluY3JlbWVudGFsRmlsZUluZGV4Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2luY3JlbWVudGFsLWZpbGUtaW5kZXgtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIENhbGxiYWNrTGF5b3V0UmVhZHlDb21wb25lbnQsXG4gIExheW91dFJlYWR5Q29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9sYXlvdXQtcmVhZHktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgYXJvdW5kLFxuICBoYXNQYXRjaFRva2VuLFxuICBNb25rZXlBcm91bmRDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25vdGVib29rLW5hdmlnYXRvci1tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tY29udGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luQ29uZmxpY3RTZXZlcml0eSxcbiAgUGx1Z2luR2F0ZUNvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWdhdGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgUGx1Z2luTm90aWNlTW9kZVxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luU2V0dGluZ3NDb21wb25lbnRCYXNlIH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGx1Z2luU2V0dGluZ3NUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU3VnZ2VzdGlvbkNvbXBvbmVudCxcbiAgU3VnZ2VzdGVkUGx1Z2luU3RhdGVcbn0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zdWdnZXN0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQb2ludGVyUG9zaXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcG9pbnRlci1wb3NpdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVjb25maWd1cmFibGVFZGl0b3JFeHRlbnNpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVjb25maWd1cmFibGUtZWRpdG9yLWV4dGVuc2lvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVnaXN0cnlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcmVnaXN0cnktY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFJlbGVhc2VOb3Rlc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWxlYXNlLW5vdGVzLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBFbXB0eUZvbGRlckJlaGF2aW9yLFxuICBSZW5hbWVEZWxldGVIYW5kbGVyQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9yZW5hbWUtZGVsZXRlLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIE5PVF9FTVBUWV9ESVJFQ1RPUllfRVJST1JfQ09ERSxcbiAgUm1kaXJHdWFyZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvcm1kaXItZ3VhcmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFNldHRpbmdzRmFjZXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3MtZmFjZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFNldHRpbmdzTWlncmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3NldHRpbmdzLW1pZ3JhdGlvbi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJTdHlsZSxcbiAgU3R5bGVTaGVldENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvc3R5bGUtc2hlZXQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFN5bnRheEhpZ2hsaWdodGluZ0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zeW50YXgtaGlnaGxpZ2h0aW5nLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZW1wbGF0ZXNMYW5ndWFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy90ZW1wbGF0ZXMtbGFuZ3VhZ2UtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldERvbUV2ZW50c0hhbmRsZXJzQ29uc3RydWN0b3IgfSBmcm9tICcuL2NvbnN0cnVjdG9ycy9nZXQtZG9tLWV2ZW50cy1oYW5kbGVycy1jb25zdHJ1Y3Rvci50cyc7XG5leHBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4vY3NzLWNsYXNzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkRhdGFIYW5kbGVyIH0gZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0IHtcbiAgRGF0YVN0b3JlUmVwbGljYSxcbiAgaXNEYXRhU3RvcmVKc29uVmFsdWUsXG4gIGlzRGF0YVN0b3JlT3BlcmF0aW9uXG59IGZyb20gJy4vZGF0YS1zdG9yZXMvZGF0YS1zdG9yZS1yZXBsaWNhLnRzJztcbmV4cG9ydCB7XG4gIERhdGFTdG9yZVNlZWRzLFxuICB2YWxpZGF0ZURhdGFTdG9yZVNlZWRcbn0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXNlZWRzLnRzJztcbmV4cG9ydCB7IERhdGFTdG9yZVRyYW5zcG9ydCB9IGZyb20gJy4vZGF0YS1zdG9yZXMvZGF0YS1zdG9yZS10cmFuc3BvcnQudHMnO1xuZXhwb3J0IHsgTG9jYWxEYXRhU3RvcmUgfSBmcm9tICcuL2RhdGEtc3RvcmVzL2xvY2FsLWRhdGEtc3RvcmUudHMnO1xuZXhwb3J0IHsgU2hhcmVkRGF0YVN0b3JlIH0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9zaGFyZWQtZGF0YS1zdG9yZS50cyc7XG5leHBvcnQge1xuICBmaXhUaXRsZSxcbiAgbWFrZUxpbmtXaXRoUGF0aFxufSBmcm9tICcuL2RhdGF2aWV3LWxpbmsudHMnO1xuZXhwb3J0IHtcbiAgZ2V0UmVuZGVyZWRDb250YWluZXIsXG4gIGluc2VydENvZGVCbG9jayxcbiAgcmVsb2FkQ3VycmVudEZpbGVDYWNoZSxcbiAgcmVuZGVySWZyYW1lLFxuICByZW5kZXJQYWdpbmF0ZWRMaXN0LFxuICByZW5kZXJQYWdpbmF0ZWRUYWJsZVxufSBmcm9tICcuL2RhdGF2aWV3LnRzJztcbmV4cG9ydCB7XG4gIGdldE9ic2lkaWFuTGliRGVidWdnZXIsXG4gIHNob3dJbml0aWFsRGVidWdNZXNzYWdlXG59IGZyb20gJy4vZGVidWcudHMnO1xuZXhwb3J0IHsgYm9vdHN0cmFwRGVtb1ZhdWx0IH0gZnJvbSAnLi9kZW1vLXZhdWx0LWhlbHBlci50cyc7XG5leHBvcnQge1xuICBnZXREZW1vVmF1bHRBcmNoaXZlRmlsZU5hbWUsXG4gIGdldERlbW9WYXVsdEZvbGRlck5hbWVcbn0gZnJvbSAnLi9kZW1vLXZhdWx0LW5hbWluZy50cyc7XG5leHBvcnQge1xuICBCdWxrT3BlcmF0aW9uR2l0UmVwbyxcbiAgR2l0Q29tbWFuZEVycm9yXG59IGZyb20gJy4vZGVza3RvcC1idWxrLW9wZXJhdGlvbi1naXQudHMnO1xuZXhwb3J0IHsgb3BlbkRlbW9WYXVsdCB9IGZyb20gJy4vZGVza3RvcC1kZW1vLXZhdWx0LW9wZW5lci50cyc7XG5leHBvcnQgeyBjcmVhdGVEZXNrdG9wR2l0UnVubmVyIH0gZnJvbSAnLi9kZXNrdG9wLWdpdC1ydW5uZXIudHMnO1xuZXhwb3J0IHsgZ2V0RGVza3RvcE9wZXJhdGluZ1N5c3RlbSB9IGZyb20gJy4vZGVza3RvcC1vcGVyYXRpbmctc3lzdGVtLnRzJztcbmV4cG9ydCB7IG9wZW5EZXNrdG9wUmVxdWVzdFVybFN0cmVhbSB9IGZyb20gJy4vZGVza3RvcC1yZXF1ZXN0LXVybC1zdHJlYW0udHMnO1xuZXhwb3J0IHsgUGx1Z2luRWRpdG9yRXh0ZW5zaW9uUmVnaXN0cmFyIH0gZnJvbSAnLi9lZGl0b3ItZXh0ZW5zaW9uLXJlZ2lzdHJhci50cyc7XG5leHBvcnQgeyBQbHVnaW5FZGl0b3JTdWdnZXN0UmVnaXN0cmFyIH0gZnJvbSAnLi9lZGl0b3Itc3VnZ2VzdC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgQ29tbWFuZEVkaXRvclN1Z2dlc3QsXG4gIHByaW9yaXRpemVFZGl0b3JTdWdnZXN0XG59IGZyb20gJy4vZWRpdG9yLXN1Z2dlc3QudHMnO1xuZXhwb3J0IHtcbiAgc3luY09wZW5FZGl0b3JCdWZmZXJzRm9yUGF0aCxcbiAgdG9nZ2xlRWRpdG9yUmVhZE9ubHlcbn0gZnJvbSAnLi9lZGl0b3IudHMnO1xuZXhwb3J0IHtcbiAgRXZlbnRSZWZEaXNwb3NhYmxlLFxuICBzdWJzY3JpYmVEaXNwb3NhYmxlRXZlbnQsXG4gIHN1YnNjcmliZUV2ZW50XG59IGZyb20gJy4vZXZlbnRzLnRzJztcbmV4cG9ydCB7IFBsdWdpbkV4dGVuc2lvbnNSZWdpc3RyYXIgfSBmcm9tICcuL2V4dGVuc2lvbnMtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIEZFQVRVUkVfUkVRVUVTVF9JU1NVRV9GT1JNX1RFTVBMQVRFLFxuICBGZWF0dXJlUmVxdWVzdElzc3VlRm9ybUZpZWxkSWQsXG4gIGdldEZlYXR1cmVSZXF1ZXN0SXNzdWVGb3JtVXJsXG59IGZyb20gJy4vZmVhdHVyZS1yZXF1ZXN0LnRzJztcbmV4cG9ydCB7XG4gIGFwcGx5Q29udGVudENoYW5nZXMsXG4gIGFwcGx5RmlsZUNoYW5nZXMsXG4gIGlzQ2FudmFzQ2hhbmdlLFxuICBpc0NhbnZhc0ZpbGVOb2RlQ2hhbmdlLFxuICBpc0NhbnZhc1RleHROb2RlQ2hhbmdlLFxuICBpc0NvbnRlbnRDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2UsXG4gIGlzRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0cyxcbiAgdG9Gcm9udG1hdHRlckNoYW5nZVdpdGhPZmZzZXRzXG59IGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0IHsgcmV2ZWFsSW5GaWxlRXhwbG9yZXIgfSBmcm9tICcuL2ZpbGUtZXhwbG9yZXIudHMnO1xuZXhwb3J0IHtcbiAgYWRkQWxpYXMsXG4gIGRlbGV0ZUFsaWFzLFxuICBwcm9jZXNzRnJvbnRtYXR0ZXIsXG4gIHdhaXRGb3JQZW5kaW5nTGlua1VwZGF0ZXNcbn0gZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0IHtcbiAgYXNBcnJheU9mRmlsZXMsXG4gIGFzQXJyYXlPZkZvbGRlcnMsXG4gIGFzRmlsZSxcbiAgYXNGaWxlT3JOdWxsLFxuICBhc0ZvbGRlcixcbiAgYXNGb2xkZXJPck51bGwsXG4gIEJBU0VfRklMRV9FWFRFTlNJT04sXG4gIENBTlZBU19GSUxFX0VYVEVOU0lPTixcbiAgY2hlY2tFeHRlbnNpb24sXG4gIGRvZXNFeGlzdCxcbiAgRmlsZVN5c3RlbVR5cGUsXG4gIGdldEFic3RyYWN0RmlsZSxcbiAgZ2V0QWJzdHJhY3RGaWxlT3JOdWxsLFxuICBnZXRCYXNlbmFtZSxcbiAgZ2V0RXh0ZW5zaW9uLFxuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICBnZXRGaWxlU3lzdGVtVHlwZSxcbiAgZ2V0Rm9sZGVyLFxuICBnZXRGb2xkZXJPck51bGwsXG4gIGdldE1hcmtkb3duRmlsZXMsXG4gIGdldE9yQ3JlYXRlRmlsZSxcbiAgZ2V0T3JDcmVhdGVGb2xkZXIsXG4gIGdldFBhdGgsXG4gIGlzQWJzdHJhY3RGaWxlLFxuICBpc0Jhc2VGaWxlLFxuICBpc0NhbnZhc0ZpbGUsXG4gIGlzRmlsZSxcbiAgaXNGb2xkZXIsXG4gIGlzTWFya2Rvd25GaWxlLFxuICBpc05vdGUsXG4gIGlzUGF0aE9yRmlsZSxcbiAgaXNUcmVhdGVkQXNBdHRhY2htZW50LFxuICBNQVJLRE9XTl9GSUxFX0VYVEVOU0lPTixcbiAgTWlzc2luZ1BhdGhUcmVhdG1lbnQsXG4gIHRyaW1NYXJrZG93bkV4dGVuc2lvblxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmV4cG9ydCB7XG4gIEZPTERFUl9OT1RFU19QTFVHSU5fSUQsXG4gIEZvbGRlck5vdGVMb2NhdGlvbixcbiAgZ2V0Rm9sZGVyTm90ZUZvbGRlcixcbiAgcmVzb2x2ZUZvbGRlck5vdGUsXG4gIHJlc29sdmVGb2xkZXJOb3RlQ29uZmlnXG59IGZyb20gJy4vZm9sZGVyLW5vdGUudHMnO1xuZXhwb3J0IHtcbiAgZW5hYmxlRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmF0aW9uLFxuICBwcmVzZXJ2ZUZyb250bWF0dGVyRm9ybWF0dGluZ1xufSBmcm9tICcuL2Zyb250bWF0dGVyLWZvcm1hdHRpbmcudHMnO1xuZXhwb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5leHBvcnQge1xuICBjaGVja0lzUGxhaW5PYmplY3QsXG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHJlZ2lzdGVyRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmVyLFxuICByZW1vdmVFbXB0eUZyb250bWF0dGVyVmFsdWVzLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi9nZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkLnRzJztcbmV4cG9ydCB7IGdldEdpdEh1YkRpc2N1c3Npb25VcmwgfSBmcm9tICcuL2dpdC1odWItZGlzY3Vzc2lvbi50cyc7XG5leHBvcnQge1xuICBsb2FkR2l0UmVuYW1lcyxcbiAgcGFyc2VHaXRSZW5hbWVMb2dcbn0gZnJvbSAnLi9naXQtcmVuYW1lLWhpc3RvcnkudHMnO1xuZXhwb3J0IHtcbiAgZm9ybWF0SG90a2V5LFxuICBnZXRIb3RrZXlGcm9tS2V5Ym9hcmRFdmVudCxcbiAgaXNTYW1lSG90a2V5XG59IGZyb20gJy4vaG90a2V5LnRzJztcbmV4cG9ydCB7IFBsdWdpbkhvdmVyTGlua1NvdXJjZVJlZ2lzdHJhciB9IGZyb20gJy4vaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGVuZENvZGVCbG9jayxcbiAgYXBwZW5kVGV4dE9yRnJhZ21lbnRDbG9uZSxcbiAgYXBwbHlTcGVsbGNoZWNrTW9kZSxcbiAgYXNDb2RlQmxvY2ssXG4gIGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3Ncbn0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9OUyxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlSW5saW5lVG9rZW5Qb3N0UHJvY2Vzc29yLFxuICBERUZBVUxUX0lOTElORV9UT0tFTl9TS0lQX1NFTEVDVE9SLFxuICByZWdpc3RlcklubGluZVRva2VuUmVuZGVyZXJcbn0gZnJvbSAnLi9pbmxpbmUtdG9rZW4tcmVuZGVyZXIudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBpbmplY3RMaWJyYXJ5U3R5bGVzLFxuICBMQVNUX0xJQlJBUllfVkVSU0lPTl9LRVksXG4gIExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSURcbn0gZnJvbSAnLi9saWJyYXJ5LXN0eWxlcy50cyc7XG5leHBvcnQge1xuICBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gIE9ic2lkaWFuTGlicmFyeVxufSBmcm9tICcuL2xpYnJhcnkudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TGlua0FuZFRhZ0NvbXBsZXRpb25UcmlnZ2VyLFxuICBnZXRWYXVsdFRhZ1N1Z2dlc3Rpb25zLFxuICBMaW5rQW5kVGFnQ29tcGxldGlvbktpbmQsXG4gIExpbmtBbmRUYWdJbnB1dFN1Z2dlc3Rcbn0gZnJvbSAnLi9saW5rLWFuZC10YWctaW5wdXQtc3VnZ2VzdC50cyc7XG5leHBvcnQgeyBub3JtYWxpemVMaW5rTmFtZSB9IGZyb20gJy4vbGluay1uYW1lLnRzJztcbmV4cG9ydCB7XG4gIGJ1aWxkQmFja2xpbmtzU25hcHNob3QsXG4gIGNvbnZlcnRMaW5rLFxuICBlZGl0QmFja2xpbmtzLFxuICBlZGl0QmFja2xpbmtzU25hcHNob3QsXG4gIGVkaXRSZWZlcmVuY2VzLFxuICBlZGl0UmVmZXJlbmNlc0luQ29udGVudCxcbiAgZXh0cmFjdFJlZmVyZW5jZUZpbGUsXG4gIGdlbmVyYXRlTWFya2Rvd25MaW5rLFxuICBnZW5lcmF0ZVJhd01hcmtkb3duTGluayxcbiAgZ2V0R2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0UGFyYW1zRm5zLFxuICBoYXNBbmdsZUJyYWNrZXRzLFxuICBoYXNFbWJlZFN5bnRheCxcbiAgaGFzTGVhZGluZ0RvdCxcbiAgaGFzTGVhZGluZ1NsYXNoLFxuICBoYXNXaWtpbGlua1N5bnRheCxcbiAgTGlua1BhdGhTdHlsZSxcbiAgTGlua1N0eWxlLFxuICBzaG91bGRSZXNldEFsaWFzLFxuICBzcGxpdFN1YnBhdGgsXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlRmlsZVVybExpbmtzSW5GaWxlLFxuICB1cGRhdGVMaW5rLFxuICB1cGRhdGVSZWZlcmVuY2VzSW5Db250ZW50LFxuICB1cGRhdGVSZWZlcmVuY2VzSW5GaWxlXG59IGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCB7IGxvb3AgfSBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3JSZWdpc3RyYXIgfSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8sXG4gIGluc2VydEFmdGVyQ29kZUJsb2NrLFxuICBpbnNlcnRCZWZvcmVDb2RlQmxvY2ssXG4gIHJlbW92ZUNvZGVCbG9jayxcbiAgcmVwbGFjZUNvZGVCbG9ja1xufSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCB7IFBsdWdpbk1hcmtkb3duUG9zdFByb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IGdldEZ1bGxDb250ZW50SHRtbCB9IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQge1xuICBmdWxsUmVuZGVyLFxuICBtYXJrZG93blRvSHRtbCxcbiAgcmVnaXN0ZXJMaW5rSGFuZGxlcnMsXG4gIHJlbmRlckV4dGVybmFsTGluayxcbiAgcmVuZGVySW50ZXJuYWxMaW5rXG59IGZyb20gJy4vbWFya2Rvd24udHMnO1xuZXhwb3J0IHsgYWRkU2luZ2xlQ2hvaWNlTWVudUl0ZW1zIH0gZnJvbSAnLi9tZW51LnRzJztcbmV4cG9ydCB7XG4gIEFEVkFOQ0VEX01FVEFEQVRBX0NBQ0hFX1BMVUdJTl9JRCxcbiAgQkFDS0xJTktfQ0FDSEVfUExVR0lOX0lELFxuICBDYWNoZWRNZXRhZGF0YUV4RmVhdHVyZSxcbiAgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5LFxuICBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICBnZXRGcm9udG1hdHRlclNhZmUsXG4gIGdldFJlZmVyZW5jZXMsXG4gIGhhc0JhY2tsaW5rQ2FjaGVQbHVnaW4sXG4gIGlzQ2FjaGVkTWV0YWRhdGFFeCxcbiAgcGFyc2VNZXRhZGF0YSxcbiAgcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHJlZ2lzdGVyRmlsZXMsXG4gIHVucmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHVucmVnaXN0ZXJGaWxlc1xufSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmV4cG9ydCB7IGdldE1vYmlsZUFwcEluZm8gfSBmcm9tICcuL21vYmlsZS1hcHAtaW5mby50cyc7XG5leHBvcnQgeyBhbGVydCB9IGZyb20gJy4vbW9kYWxzL2FsZXJ0LnRzJztcbmV4cG9ydCB7IGNvbmZpcm0gfSBmcm9tICcuL21vZGFscy9jb25maXJtLnRzJztcbmV4cG9ydCB7IE1pbmltaXphYmxlTW9kYWwgfSBmcm9tICcuL21vZGFscy9taW5pbWl6YWJsZS1tb2RhbC50cyc7XG5leHBvcnQge1xuICBNb2RhbENvbW1hbmRCdWlsZGVyLFxuICBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZVxufSBmcm9tICcuL21vZGFscy9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuZXhwb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbHMvbW9kYWwudHMnO1xuZXhwb3J0IHsgcHJvbXB0IH0gZnJvbSAnLi9tb2RhbHMvcHJvbXB0LnRzJztcbmV4cG9ydCB7IHNlbGVjdEl0ZW0gfSBmcm9tICcuL21vZGFscy9zZWxlY3QtaXRlbS50cyc7XG5leHBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcbmV4cG9ydCB7IFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyIH0gZnJvbSAnLi9tb2RhbHMvc3VnZ2VzdC1tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuZXhwb3J0IHtcbiAgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzLFxuICBmaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvbixcbiAgZmluZE5vdGVQcmlvcml0eVJhbmssXG4gIE5PX1BSSU9SSVRZX01BVENILFxuICBOb1ByaW9yaXR5V2lubmVyUmVhc29uLFxuICBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhcbn0gZnJvbSAnLi9ub3RlLXByaW9yaXR5LnRzJztcbmV4cG9ydCB7XG4gIE5PVEVCT09LX05BVklHQVRPUl9NRU5VX1NPVVJDRSxcbiAgTk9URUJPT0tfTkFWSUdBVE9SX1BMVUdJTl9JRCxcbiAgcmVzb2x2ZU5vdGVib29rTmF2aWdhdG9yQXBpXG59IGZyb20gJy4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcbmV4cG9ydCB7XG4gIGdldE9ic2lkaWFuTGliU3RhdGUsXG4gIHJlc2V0T2JzaWRpYW5MaWJTdGF0ZVxufSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5leHBvcnQgeyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TmV3TGlua0Zvcm1hdCxcbiAgaXNTcGVsbGNoZWNrRW5hYmxlZCxcbiAgaXNTcGVsbGNoZWNrRW5hYmxlZEZvck1vZGUsXG4gIHNob3VsZFVzZVdpa2lsaW5rcyxcbiAgU3BlbGxjaGVja01vZGVcbn0gZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQge1xuICBjYW5vbmljYWxpemVPYnNpZGlhblRleHQsXG4gIGNyZWF0ZU9ic2lkaWFuTWVudGlvblJlZ0V4cCxcbiAgZ2V0T2JzaWRpYW5OYW1lVG9rZW5zLFxuICBpc09ic2lkaWFuV29yZENoYXJhY3RlcixcbiAgdG9rZW5pemVPYnNpZGlhbldvcmRzXG59IGZyb20gJy4vb2JzaWRpYW4td29yZC1jaGFyYWN0ZXJzLnRzJztcbmV4cG9ydCB7XG4gIGVzY2FwZUFsaWFzLFxuICBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlLFxuICBpc1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgcGFyc2VGcm9udG1hdHRlckxpbmtzLFxuICBwYXJzZUxpbmssXG4gIHBhcnNlTGlua3MsXG4gIHRvUGFyc2VMaW5rUmVmZXJlbmNlLFxuICB1bmVzY2FwZUFsaWFzXG59IGZyb20gJy4vcGFyc2UtbGluay50cyc7XG5leHBvcnQge1xuICBQYXRoU2V0dGluZ3MsXG4gIHBhdGhzVmFsaWRhdG9yXG59IGZyb20gJy4vcGF0aC1zZXR0aW5ncy50cyc7XG5leHBvcnQgeyBwcmludFRvUGRmIH0gZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ2xpSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBmaW5kUGx1Z2luQXBpLFxuICBnZXRWYWxpZGF0ZVBsdWdpbkFwaVBheWxvYWRzRGVidWdTd2l0Y2gsXG4gIFBsdWdpbkFwaVBheWxvYWRLaW5kLFxuICBQbHVnaW5BcGlSZXZva2VkRXJyb3IsXG4gIFBsdWdpbkFwaVVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBQbHVnaW5BcGlVbmF2YWlsYWJsZUVycm9yLFxuICBQbHVnaW5BcGlWYWxpZGF0aW9uRXJyb3IsXG4gIHB1Ymxpc2hQbHVnaW5BcGksXG4gIHdhdGNoUGx1Z2luQXBpXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1hcGkudHMnO1xuZXhwb3J0IHtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3NlcyxcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXZlbnRTb3VyY2VJbXBsIH0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWV2ZW50LXNvdXJjZS50cyc7XG5leHBvcnQge1xuICBnZXRJbnN0YWxsZWRQbHVnaW5TdGF0ZSxcbiAgZ2V0SW5zdGFsbGVkUGx1Z2luVmVyc2lvbixcbiAgaW5zdGFsbEFuZEVuYWJsZVBsdWdpbixcbiAgSW5zdGFsbGVkUGx1Z2luU3RhdGUsXG4gIHVwZGF0ZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4taW5zdGFsbC1zdGF0ZS50cyc7XG5leHBvcnQge1xuICBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUsXG4gIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FLFxuICB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU2V0dGluZ3NUYWJCYXNlLFxuICBTQVZFX1RPX0ZJTEVfQ09OVEVYVFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtdGFiLnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbkJhc2UsXG4gIHJlbG9hZFBsdWdpbixcbiAgc2hvd0Vycm9yQW5kRGlzYWJsZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4udHMnO1xuZXhwb3J0IHsgZ2V0U2V0dGluZ3NNaWdyYXRpb25BcGlDb250cmFjdCB9IGZyb20gJy4vcGx1Z2luL3NldHRpbmdzLW1pZ3JhdGlvbi1hcGkudHMnO1xuZXhwb3J0IHsgZWRpdEZpZWxkc0luUG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvZmllbGQtcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBjcmVhdGVBbmNob3JGcm9tRG9jdW1lbnRDZW50ZXIsXG4gIGNyZWF0ZUFuY2hvckZyb21FbGVtZW50LFxuICBjcmVhdGVBbmNob3JGcm9tUG9pbnQsXG4gIGNyZWF0ZUFuY2hvckZyb21TZWxlY3Rpb25cbn0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLWFuY2hvci50cyc7XG5leHBvcnQgeyBzaG93UG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBpc1Bvc2l0aW9uSW5PZmZzZXRSYW5nZSxcbiAgaXNQb3NpdGlvbkluc2lkZSxcbiAgaXNQb3NpdGlvbkluc2lkZVNvbWVcbn0gZnJvbSAnLi9wb3NpdGlvbi50cyc7XG5leHBvcnQge1xuICBjaGVja1Byb3BlcnR5RW50cnlNYXRjaGVzLFxuICBpc1Byb3BlcnR5RW50cnksXG4gIFBST1BFUlRZX0VOVFJZX1BSRUZJWFxufSBmcm9tICcuL3Byb3BlcnR5LWVudHJ5LnRzJztcbmV4cG9ydCB7XG4gIGFkZFRvUXVldWUsXG4gIGFkZFRvUXVldWVBbmRXYWl0LFxuICBmbHVzaFF1ZXVlXG59IGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0IHtcbiAgQXBwQ29udGV4dCxcbiAgdXNlQXBwXG59IGZyb20gJy4vcmVhY3QvYXBwLWNvbnRleHQudHMnO1xuZXhwb3J0IHtcbiAgZ2V0UmVmZXJlbmNlTGlua1RleHQsXG4gIGlzQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlLFxuICBpc1JlZmVyZW5jZUluSGVhZGluZyxcbiAgaXNSZWZlcmVuY2VJbk9mZnNldFJhbmdlLFxuICByZWZlcmVuY2VUb0ZpbGVDaGFuZ2UsXG4gIHNvcnRSZWZlcmVuY2VzXG59IGZyb20gJy4vcmVmZXJlbmNlLnRzJztcbmV4cG9ydCB7XG4gIGlzT3duZWRCeVJlbmRlcmVkTWFya2Rvd24sXG4gIHJlZ2lzdGVyRm9sZEhhbmRsZXJzLFxuICByZWdpc3RlckZvb3Rub3RlTGlua0hhbmRsZXJcbn0gZnJvbSAnLi9yZW5kZXJlZC1tYXJrZG93bi50cyc7XG5leHBvcnQge1xuICBjcmVhdGVSZXF1ZXN0VXJsRmV0Y2gsXG4gIGVuY29kZVJlcXVlc3RVcmxSZXF1ZXN0LFxuICBSZXF1ZXN0VXJsRXJyb3IsXG4gIHJlcXVlc3RVcmxFeCxcbiAgcmVxdWVzdFVybFN0cmVhbVxufSBmcm9tICcuL3JlcXVlc3QtdXJsLnRzJztcbmV4cG9ydCB7XG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoLFxuICBpc1Jlc291cmNlTG9ja2VkRm9yUGF0aEJ5QW5jZXN0b3IsXG4gIGxvY2tSZXNvdXJjZUZvclBhdGgsXG4gIHJlcXVlc3RSZXNvdXJjZVVubG9ja0ZvclBhdGgsXG4gIFJlc291cmNlTG9ja0NvbXBvbmVudCxcbiAgUmVzb3VyY2VMb2NrZWRFcnJvcixcbiAgdW5sb2NrUmVzb3VyY2VGb3JQYXRoXG59IGZyb20gJy4vcmVzb3VyY2UtbG9jay50cyc7XG5leHBvcnQgeyByZWxhdGl2ZVBhdGhUb1Jlc291cmNlVXJsIH0gZnJvbSAnLi9yZXNvdXJjZS11cmwudHMnO1xuZXhwb3J0IHsgUGx1Z2luUmliYm9uSWNvblJlZ2lzdHJhciB9IGZyb20gJy4vcmliYm9uLWljb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvZGVIaWdobGlnaHRlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtdGltZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRW1haWxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2ZpbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEZvbGRlcklucHV0U3VnZ2VzdCxcbiAgRm9sZGVyTGlzdENvbXBvbmVudFxufSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9mb2xkZXItbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgSG90a2V5Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvaG90a2V5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tb250aC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZUVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZW1haWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWZpbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLXRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL251bWJlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9wYXNzd29yZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZW5zdXJlV3JhcHBlZCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3NldHRpbmctY29tcG9uZW50LXdyYXBwZXIudHMnO1xuZXhwb3J0IHtcbiAgVGFnSW5wdXRTdWdnZXN0LFxuICBUYWdMaXN0Q29tcG9uZW50XG59IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RhZy1saXN0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZWxlcGhvbmVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90ZWxlcGhvbmUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlIH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtcmFuZ2UtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFdlZWtDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy93ZWVrLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBhZG9wdFNldHRpbmdFeCxcbiAgU2V0dGluZ0V4XG59IGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5leHBvcnQgeyBTZXR0aW5nR3JvdXBFeCB9IGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgeyBvcGVuU2V0dGluZ1RhYiB9IGZyb20gJy4vc2V0dGluZ3MtbW9kYWwudHMnO1xuZXhwb3J0IHsgU2V0dGluZ3NUYWJzIH0gZnJvbSAnLi9zZXR0aW5ncy10YWJzLnRzJztcbmV4cG9ydCB7IFBsdWdpblN0YXR1c0Jhckl0ZW1SZWdpc3RyYXIgfSBmcm9tICcuL3N0YXR1cy1iYXItaXRlbS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0VGVtcGxhdGVyRnVuY3Rpb25zLFxuICBnZXRUZW1wbGF0ZXJSZW5kZXJUYXJnZXRGaWxlLFxuICBwYXJzZVRlbXBsYXRlLFxuICByZXF1aXJlVGVtcGxhdGVyQXBpLFxuICByZXNvbHZlVGVtcGxhdGVyQXBpLFxuICBURU1QTEFURVJfUExVR0lOX0lELFxuICBUZW1wbGF0ZXJBY3RpdmVGaWxlUHJvdmlkZXIsXG4gIFRlbXBsYXRlclJ1bk1vZGUsXG4gIFRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yXG59IGZyb20gJy4vdGVtcGxhdGVyLnRzJztcbmV4cG9ydCB7IER1cmF0aW9uVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG5leHBvcnQge1xuICBjbGlja0VsZW1lbnQsXG4gIGNsaWNrTW91c2UsXG4gIGhvdmVyRWxlbWVudCxcbiAgbW92ZU1vdXNlLFxuICBwcmVzc0tleSxcbiAgdHlwZUludG9FZGl0b3IsXG4gIHVuaG92ZXJFbGVtZW50XG59IGZyb20gJy4vdHJ1c3RlZC1pbnB1dC50cyc7XG5leHBvcnQge1xuICBBTkRST0lEX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBnZXRGaWxlTmFtZVZhbGlkYXRpb25NZXNzYWdlLFxuICBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cCxcbiAgZ2V0UGF0aFZhbGlkYXRpb25NZXNzYWdlLFxuICBoYXNXaW5kb3dzVHJhaWxpbmdDaGFycyxcbiAgaXNWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcixcbiAgaXNXaW5kb3dzUmVzZXJ2ZWROYW1lLFxuICBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlMsXG4gIHRyaW1XaW5kb3dzVHJhaWxpbmdDaGFycyxcbiAgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyxcbiAgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSU1xufSBmcm9tICcuL3ZhbGlkYXRpb24udHMnO1xuZXhwb3J0IHtcbiAgZGVsZXRlSWZOb3RVc2VkLFxuICBEZWxldGVJZk5vdFVzZWRSZXN1bHRcbn0gZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0IHsgVmF1bHRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdmF1bHQtdHJhbnNhY3Rpb24udHMnO1xuZXhwb3J0IHtcbiAgY2xlYW51cEVtcHR5Rm9sZGVycyxcbiAgY29weVNhZmUsXG4gIGNyZWF0ZUZvbGRlclNhZmUsXG4gIENyZWF0ZUZvbGRlclNhZmVSZXN1bHQsXG4gIGNyZWF0ZVRlbXBvcmFyeUZpbGUsXG4gIGNyZWF0ZVRlbXBvcmFyeUZvbGRlcixcbiAgZGVsZXRlRW1wdHlGb2xkZXIsXG4gIGRlbGV0ZUVtcHR5Rm9sZGVySGllcmFyY2h5LFxuICBnZXRBYnN0cmFjdEZpbGVQYXRoU2FmZSxcbiAgZ2V0QXZhaWxhYmxlUGF0aCxcbiAgZ2V0RmlsZVBhdGhTYWZlLFxuICBnZXRGb2xkZXJQYXRoU2FmZSxcbiAgZ2V0TWFya2Rvd25GaWxlc1NvcnRlZCxcbiAgZ2V0Tm90ZUZpbGVzU29ydGVkLFxuICBnZXRPckNyZWF0ZUFic3RyYWN0RmlsZVNhZmUsXG4gIGdldE9yQ3JlYXRlRmlsZVNhZmUsXG4gIGdldE9yQ3JlYXRlRm9sZGVyU2FmZSxcbiAgZ2V0U2FmZVJlbmFtZVBhdGgsXG4gIEludm9rZUZpbGVBY3Rpb25TYWZlUmVzdWx0LFxuICBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2ssXG4gIGlzQ2hpbGQsXG4gIGlzQ2hpbGRPclNlbGYsXG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZSxcbiAgc2F2ZU5vdGUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcbmV4cG9ydCB7IFBsdWdpblZpZXdSZWdpc3RyYXIgfSBmcm9tICcuL3ZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGVuc3VyZUxheW91dFJlYWR5LFxuICBnZXRBbGxDb250YWluZXJzLFxuICBnZXRBbGxEb21XaW5kb3dzLFxuICBnZXRNYWluV2luZG93LFxuICBzd2l0Y2hUb01haW5XaW5kb3csXG4gIHN3aXRjaFRvV2luZG93XG59IGZyb20gJy4vd29ya3NwYWNlLnRzJztcbmV4cG9ydCB7XG4gIGFib3J0U2lnbmFsQW55LFxuICBhYm9ydFNpZ25hbE5ldmVyLFxuICBhYm9ydFNpZ25hbFRpbWVvdXQsXG4gIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcixcbiAgZ2V0U2hhcmVkQWJvcnRTaWduYWwsXG4gIElORklOSVRFX1RJTUVPVVQsXG4gIG9uQWJvcnQsXG4gIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIsXG4gIHdhaXRGb3JBYm9ydFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWJvcnQtY29udHJvbGxlcic7XG5leHBvcnQgeyBjcmVhdGVBZ2dyZWdhdGVFcnJvciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hZ2dyZWdhdGUtZXJyb3InO1xuZXhwb3J0IHtcbiAgYXJyYXlHdWFyZCxcbiAgQk9PTEVBTl9HVUFSRCxcbiAgY3JlYXRlQXBpQ29udHJhY3RTY2hlbWFCdWlsZGVycyxcbiAgY3JlYXRlQXJndW1lbnRzU2NoZW1hLFxuICBjcmVhdGVFeHBlY3RlZFR5cGVHdWFyZCxcbiAgY3JlYXRlVHlwZUd1YXJkU2NoZW1hLFxuICBkZWZpbmVBcGlDb250cmFjdCxcbiAgaW5zdGFuY2VPZkd1YXJkLFxuICBsaXRlcmFsR3VhcmQsXG4gIG51bGxhYmxlR3VhcmQsXG4gIE5VTUJFUl9HVUFSRCxcbiAgb2JqZWN0R3VhcmQsXG4gIG9wdGlvbmFsR3VhcmQsXG4gIG9wdGlvbnNHdWFyZCxcbiAgU1RSSU5HX0FSUkFZX0dVQVJELFxuICBTVFJJTkdfR1VBUkQsXG4gIFVOREVGSU5FRF9HVUFSRCxcbiAgdW5pb25HdWFyZFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXBpLWNvbnRyYWN0JztcbmV4cG9ydCB7XG4gIHZhbGlkYXRlU3luYyxcbiAgdmVyaWZ5QXBpQ29udHJhY3Rcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FwaS1jb250cmFjdC12ZXJpZmllcic7XG5leHBvcnQge1xuICBmaWx0ZXJJblBsYWNlLFxuICBzbmFwc2hvdCxcbiAgdW5pcXVlLFxuICB1bmlxdWVJblBsYWNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcnJheSc7XG5leHBvcnQgeyB0b0FycmF5QnVmZmVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FycmF5LWJ1ZmZlcic7XG5leHBvcnQge1xuICBhZGRFcnJvckhhbmRsZXIsXG4gIGFzeW5jRmlsdGVyLFxuICBhc3luY0ZpbHRlckluUGxhY2UsXG4gIGFzeW5jRmxhdE1hcCxcbiAgYXN5bmNNYXAsXG4gIGNoYWluLFxuICBjb252ZXJ0QXN5bmNUb1N5bmMsXG4gIGNvbnZlcnRTeW5jVG9Bc3luYyxcbiAgaGFuZGxlU2lsZW50RXJyb3IsXG4gIGlnbm9yZUVycm9yLFxuICBpbnZva2VBc3luY1NhZmVseSxcbiAgaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5LFxuICBpc1Rlcm1pbmF0aW9uT25UaW1lb3V0RW5hYmxlZCxcbiAgbWFya3NBc1Rlcm1pbmF0ZVJldHJ5LFxuICBuZXZlckVuZHMsXG4gIG5leHRUaWNrQXN5bmMsXG4gIG5vcm1hbGl6ZVByb21pc2FibGUsXG4gIHByb21pc2VBbGxBc3luY0Zuc1NlcXVlbnRpYWxseSxcbiAgcHJvbWlzZUFsbFNlcXVlbnRpYWxseSxcbiAgcXVldWVNaWNyb3Rhc2tBc3luYyxcbiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMsXG4gIHJldHJ5V2l0aFRpbWVvdXQsXG4gIHJ1bldpdGhUaW1lb3V0LFxuICBzZXRJbW1lZGlhdGVBc3luYyxcbiAgc2V0VGVybWluYXRpb25PblRpbWVvdXRFbmFibGVkLFxuICBzZXRUaW1lb3V0QXN5bmMsXG4gIHNsZWVwLFxuICB0aW1lb3V0LFxuICB0b0FycmF5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5leHBvcnQge1xuICBBc3luY0V2ZW50UmVmRGlzcG9zYWJsZSxcbiAgQXN5bmNFdmVudHMsXG4gIEFzeW5jRXZlbnRzQmFzZSxcbiAgbWl4aW5Bc3luY0V2ZW50cyxcbiAgc3Vic2NyaWJlQXN5bmNEaXNwb3NhYmxlRXZlbnRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jLWV2ZW50cyc7XG5leHBvcnQge1xuICBBU1lOQ19PUEVSQVRJT05fSE9PS19LRVksXG4gIEFTWU5DX09QRVJBVElPTl9IT09LX1ZFUlNJT04sXG4gIGdldEFzeW5jT3BlcmF0aW9uSG9vayxcbiAgbm90aWZ5QXN5bmNPcGVyYXRpb25TdGFydGVkLFxuICBzZXRBc3luY09wZXJhdGlvbkhvb2tcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jLW9wZXJhdGlvbi1ob29rJztcbmV4cG9ydCB7IEJlZXBlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9iZWVwZXInO1xuZXhwb3J0IHtcbiAgYmxvYlRvQXJyYXlCdWZmZXIsXG4gIGJsb2JUb0RhdGFVcmwsXG4gIGJsb2JUb0pwZWdBcnJheUJ1ZmZlcixcbiAgZGF0YVVybFRvQXJyYXlCdWZmZXIsXG4gIGlzSW1hZ2VGaWxlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9ibG9iJztcbmV4cG9ydCB7IGZvcm1hdEJ5dGVzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2J5dGVzJztcbmV4cG9ydCB7XG4gIGVuYWJsZUxpYnJhcnlEZWJ1Z2dlcnMsXG4gIGZvcm1hdERlYnVnR3VpZGVSZWZlcmVuY2UsXG4gIGdldERlYnVnQ29udHJvbGxlcixcbiAgZ2V0RGVidWdnZXIsXG4gIGdldExpYkRlYnVnZ2VyLFxuICBpc0RlYnVnTmFtZXNwYWNlRW5hYmxlZCxcbiAgcHJpbnRXaXRoU3RhY2tUcmFjZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGVidWcnO1xuZXhwb3J0IHtcbiAgZ2V0RGVidWdTd2l0Y2gsXG4gIGdldERlYnVnU3dpdGNoZXMsXG4gIGdldFRlcm1pbmF0ZU9uVGltZW91dERlYnVnU3dpdGNoLFxuICBvbkRlYnVnU3dpdGNoQ2hhbmdlZCxcbiAgcmVnaXN0ZXJEZWJ1Z1N3aXRjaCxcbiAgc2V0RGVidWdTd2l0Y2hcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnLXN3aXRjaGVzJztcbmV4cG9ydCB7IGV4dHJhY3RaaXBBcmNoaXZlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rlc2t0b3AtemlwLWV4dHJhY3Rvcic7XG5leHBvcnQge1xuICBBc3luY0NhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQXN5bmNEaXNwb3NhYmxlQmFzZSxcbiAgQ2FsbGJhY2tEaXNwb3NhYmxlLFxuICBDb21iaW5lQXN5bmNEaXNwb3NhYmxlLFxuICBDb21iaW5lRGlzcG9zYWJsZSxcbiAgRGlzcG9zYWJsZUJhc2UsXG4gIGRpc3Bvc2UsXG4gIGRpc3Bvc2VBc3luYyxcbiAgRGlzcG9zZUVycm9yQmVoYXZpb3IsXG4gIERpc3Bvc2VPcmRlcixcbiAgaXNBc3luY0Rpc3Bvc2FibGUsXG4gIGlzQXN5bmNEaXNwb3NhYmxlRXgsXG4gIGlzRGlzcG9zYWJsZSxcbiAgaXNEaXNwb3NhYmxlRXgsXG4gIE11bHRpcGxlRGlzcG9zZUJlaGF2aW9yLFxuICB0b0FzeW5jRGlzcG9zYWJsZUV4LFxuICB0b0Rpc3Bvc2FibGVFeFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5leHBvcnQge1xuICBnZXRFbnVtS2V5LFxuICBnZXRFbnVtVmFsdWVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2VudW0nO1xuZXhwb3J0IHtcbiAgQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLFxuICBDdXN0b21TdGFja1RyYWNlRXJyb3IsXG4gIGRyYWluQ29sbGVjdGVkVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIGVtaXRBc3luY0Vycm9yRXZlbnQsXG4gIGVycm9yVG9TdHJpbmcsXG4gIEVycm9yV3JhcHBlcixcbiAgZ2V0U3RhY2tUcmFjZSxcbiAgaXNBc3luY0Vycm9ySWdub3JlQ29udGV4dEFjdGl2ZSxcbiAgcHJpbnRFcnJvcixcbiAgcmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyLFxuICBTaWxlbnRFcnJvcixcbiAgc3RhcnRBc3luY0Vycm9ySWdub3JlQ29udGV4dCxcbiAgc3RhcnRDb2xsZWN0aW5nVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIHN0b3BDb2xsZWN0aW5nVW5oYW5kbGVkQXN5bmNFcnJvcnMsXG4gIHRocm93RXhwcmVzc2lvblxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZXJyb3InO1xuZXhwb3J0IHtcbiAgY2xvbmVGdW5jdGlvbixcbiAgY3JlYXRlRnVuY3Rpb24sXG4gIGdldEZ1bmN0aW9uRXhwcmVzc2lvblN0cmluZyxcbiAgbm9vcCxcbiAgbm9vcEFzeW5jLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlLFxuICBvbWl0QXN5bmNSZXR1cm5UeXBlLFxuICBvbWl0UmV0dXJuVHlwZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZnVuY3Rpb24nO1xuZXhwb3J0IHtcbiAgY3JlYXRlRGl2QXN5bmMsXG4gIGNyZWF0ZUVsQXN5bmMsXG4gIGNyZWF0ZUZyYWdtZW50QXN5bmMsXG4gIGNyZWF0ZVNwYW5Bc3luYyxcbiAgY3JlYXRlU3ZnQXN5bmMsXG4gIGVuc3VyZUxvYWRlZCxcbiAgZ2V0RG9jdW1lbnRXaW5kb3csXG4gIGdldFpJbmRleCxcbiAgaXNFbGVtZW50VmlzaWJsZUluT2Zmc2V0UGFyZW50LFxuICBpc0xvYWRlZCxcbiAgb25BbmNlc3RvclNjcm9sbE9yUmVzaXplLFxuICB0b1B4LFxuICB3YWl0VW50aWxDb25uZWN0ZWRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2h0bWwtZWxlbWVudCc7XG5leHBvcnQge1xuICBleHRyYWN0SnBlZ01ldGFkYXRhU2VnbWVudHMsXG4gIGluamVjdEpwZWdNZXRhZGF0YVNlZ21lbnRzXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9qcGVnLW1ldGFkYXRhJztcbmV4cG9ydCB7XG4gIERFRkFVTFRfREVCVUdfTkFNRVNQQUNFLFxuICBMaWJyYXJ5LFxuICBMSUJSQVJZX05BTUVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2xpYnJhcnknO1xuZXhwb3J0IHtcbiAgYXNzaWduV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzLFxuICBjYXN0VG8sXG4gIGNsb25lV2l0aE5vbkVudW1lcmFibGVQcm9wZXJ0aWVzLFxuICBkZWxldGVQcm9wZXJ0aWVzLFxuICBkZWxldGVQcm9wZXJ0eSxcbiAgZXh0cmFjdERlZmF1bHRFeHBvcnRJbnRlcm9wLFxuICBGdW5jdGlvbkhhbmRsaW5nTW9kZSxcbiAgZ2V0QWxsRW50cmllcyxcbiAgZ2V0QWxsS2V5cyxcbiAgZ2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgZ2V0UHJvdG90eXBlT2YsXG4gIGlzRGVlcEVxdWFsLFxuICBuYW1lb2YsXG4gIG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyxcbiAgcmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyxcbiAgc2V0TmVzdGVkUHJvcGVydHlWYWx1ZSxcbiAgdG9Kc29uXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuZXhwb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGRlbGltaXRlcixcbiAgZGlybmFtZSxcbiAgZXh0bmFtZSxcbiAgZm9ybWF0LFxuICBnZXRGaWxlTmFtZSxcbiAgZ2V0Rm9sZGVyTmFtZSxcbiAgaXNBYnNvbHV0ZSxcbiAgam9pbixcbiAgbWFrZUZpbGVOYW1lLFxuICBub3JtYWxpemVJZlJlbGF0aXZlLFxuICBub3JtYWxpemVQYXRoLFxuICBwYXJzZSxcbiAgcG9zaXgsXG4gIHJlbGF0aXZlLFxuICByZXNvbHZlLFxuICBzZXBhcmF0b3IsXG4gIHRvUG9zaXhCdWZmZXIsXG4gIHRvUG9zaXhQYXRoXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9wYXRoJztcbmV4cG9ydCB7XG4gIEFMV0FZU19NQVRDSF9SRUdfRVhQLFxuICBlc2NhcGVSZWdFeHAsXG4gIGdldE1hbmRhdG9yeU5hbWVkR3JvdXAsXG4gIGdldE9wdGlvbmFsTmFtZWRHcm91cCxcbiAgaXNWYWxpZFJlZ0V4cCxcbiAgTkVWRVJfTUFUQ0hfUkVHX0VYUCxcbiAgb25lT2YsXG4gIFJlZ0V4cE1lcmdlRmxhZ3NDb25mbGljdFN0cmF0ZWd5XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmV4cG9ydCB7XG4gIEVNUFRZLFxuICBlbnN1cmVFbmRzV2l0aCxcbiAgZW5zdXJlTGZFbmRpbmdzLFxuICBlbnN1cmVTdGFydHNXaXRoLFxuICBlc2NhcGUsXG4gIGdldExmTm9ybWFsaXplZE9mZnNldFRvT3JpZ2luYWxPZmZzZXRNYXBwZXIsXG4gIGhhc1NpbmdsZU9jY3VycmVuY2UsXG4gIGluZGVudCxcbiAgaW5zZXJ0QXQsXG4gIG1ha2VWYWxpZFZhcmlhYmxlTmFtZSxcbiAgbm9ybWFsaXplU3RyaW5nLFxuICByZXBsYWNlLFxuICByZXBsYWNlQWxsLFxuICByZXBsYWNlQWxsQXN5bmMsXG4gIHRyaW1FbmQsXG4gIHRyaW1TdGFydCxcbiAgdW5lc2NhcGUsXG4gIHVuaW5kZW50XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdHJpbmcnO1xuZXhwb3J0IHsgRGF0ZVRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9kYXRlLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IEdyb3VwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL2dyb3VwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IE1hcFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9tYXAtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgU2V0VHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3NldC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBTa2lwUHJpdmF0ZVByb3BlcnR5VHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3NraXAtcHJpdmF0ZS1wcm9wZXJ0eS10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHdvV2F5TWFwVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3R3by13YXktbWFwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR5cGVkVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3R5cGVkLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR3b1dheU1hcCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90d28td2F5LW1hcCc7XG5leHBvcnQgeyBUeXBlQXNzZXJ0ZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZSc7XG5leHBvcnQge1xuICBhcnJheVR5cGVHdWFyZCxcbiAgYXNzZXJ0LFxuICBhc3NlcnRHZW5lcmljT2JqZWN0LFxuICBhc3NlcnROZXZlcixcbiAgYXNzZXJ0Tm9uTnVsbGFibGUsXG4gIGVuc3VyZUdlbmVyaWNPYmplY3QsXG4gIGVuc3VyZU5vbk51bGxhYmxlLFxuICBmdW5jdGlvblR5cGVHdWFyZCxcbiAgaW5zdGFuY2VPZlR5cGVHdWFyZCxcbiAgaXNCb29sZWFuLFxuICBpc0Z1bmN0aW9uLFxuICBpc051bGwsXG4gIGlzTnVtYmVyLFxuICBpc09iamVjdCxcbiAgaXNTdHJpbmcsXG4gIGlzU3RyaW5nQXJyYXksXG4gIGlzVW5kZWZpbmVkLFxuICBsaXRlcmFsVHlwZUd1YXJkLFxuICBudWxsYWJsZVR5cGVHdWFyZCxcbiAgb2JqZWN0VHlwZUd1YXJkLFxuICBvcHRpb25hbFR5cGVHdWFyZCxcbiAgdW5pb25UeXBlR3VhcmRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmV4cG9ydCB7XG4gIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSxcbiAgZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCxcbiAgcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUsXG4gIFRZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWSxcbiAgVFlQRVNDUklQVF9MSUJfU1RBVEVfVkVSU0lPTlxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHlwZXNjcmlwdC1saWItc3RhdGUnO1xuZXhwb3J0IHtcbiAgZW5jb2RlVXJsLFxuICBpc0ZpbGVVcmwsXG4gIGlzVXJsLFxuICBub3JtYWxpemVGaWxlVXJsLFxuICBwYXRoVG9GaWxlVXJsXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi91cmwnO1xuZXhwb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXByb3ZpZGVyJztcbmV4cG9ydCB7IFZhbHVlV3JhcHBlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi92YWx1ZS13cmFwcGVyJztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FB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QUE4QjtBQUM5QixpQ0FBa0M7QUFDbEMsNkJBQStCO0FBQy9CLDRCQUE4QjtBQUM5QixtQ0FHTztBQUNQLDhCQUFnQztBQUNoQyw0QkFBOEI7QUFDOUIsNkJBQStCO0FBQy9CLHlDQUEwQztBQUMxQyxzQ0FBdUM7QUFDdkMscUNBQXNDO0FBQ3RDLHFDQUFzQztBQUN0Qyw4QkFBZ0M7QUFDaEMsZ0NBQWtDO0FBQ2xDLHVDQUE4QjtBQUM5QixnQ0FHTztBQUNQLGlDQUFtQztBQUNuQyxrQ0FBMkM7QUFDM0MsNEJBQThCO0FBQzlCLDBDQUEwQztBQUMxQyxzQ0FBdUM7QUFDdkMsK0NBQStDO0FBQy9DLHdDQUF3QztBQUN4QyxrQ0FBbUM7QUFDbkMsMkJBQTZCO0FBQzdCLGlDQUFzQztBQUN0Qyw0QkFBOEI7QUFDOUIsd0JBR087QUFDUCw4QkFBK0I7QUFDL0IsNEJBQStCO0FBQy9CLDJCQUE2QjtBQUM3Qix1Q0FBNkM7QUFDN0MsdUJBV087QUFDUCxrQ0FBb0M7QUFDcEMsMkJBUU87QUFDUCx3QkFhTztBQUNQLDBCQUdPO0FBQ1AsK0JBQWlDO0FBQ2pDLG1CQThCTztBQUNQLDRCQUFvQztBQUNwQyx1QkFPTztBQUNQLDhCQVVPO0FBQ1AsNkJBQXFDO0FBQ3JDLDBCQW1CTztBQUNQLG1DQUdPO0FBQ1AsbUJBS087QUFDUCwwQkFBOEI7QUFDOUIsbUJBOEJPO0FBQ1AsMEJBTU87QUFDUCxrQ0FNTztBQUNQLG9CQUF1QjtBQUN2QixrQkFNTztBQUNQLG1CQUE0QjtBQUM1QixJQUFBQSxnQkFRTztBQUNQLDRCQU9PO0FBQ1AsbUNBQWtDO0FBQ2xDLHdCQWtCTztBQUNQLGtCQUdPO0FBQ1AsbUJBZ0JPO0FBQ1Asc0JBU087QUFDUCxJQUFBQyx1QkFjTztBQUNQLDJCQUdPO0FBQ1AsSUFBQUMsa0JBSU87QUFDUCwwQkFrQk87QUFDUCxrQkFvQk87QUFDUCxxQkFTTztBQUNQLG9CQW1CTztBQUNQLDhCQUFnQztBQUNoQywrQkFBaUM7QUFDakMsNkJBQStCO0FBQy9CLDZCQUErQjtBQUMvQiwrQ0FBK0M7QUFDL0MseUJBQTRCO0FBQzVCLHFDQUFxQztBQUNyQywrQkFBaUM7QUFDakMseUJBQTBCO0FBQzFCLGtCQUE2QjtBQUM3Qix5QkF1Qk87QUFDUCxrQ0FNTztBQUNQLGlCQU1PO0FBQ1AsNEJBQTZCO0FBQzdCLDJCQUE2QjsiLCJuYW1lcyI6WyJpbXBvcnRfZGVidWciLCJpbXBvcnRfaHRtbF9lbGVtZW50IiwiaW1wb3J0X2xpYnJhcnkiXX0=
2056
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9fX21lcmdlZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0IHsgQXBwQWN0aXZlRmlsZVByb3ZpZGVyIH0gZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgeyBBbmNob3JlZFN1Z2dlc3QgfSBmcm9tICcuL2FuY2hvcmVkLXN1Z2dlc3QudHMnO1xuZXhwb3J0IHsgZ2V0QXBwIH0gZnJvbSAnLi9hcHAudHMnO1xuZXhwb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dE5vdGljZSxcbiAgcnVuV2l0aFRpbWVvdXROb3RpY2Vcbn0gZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQge1xuICBBdHRhY2htZW50UGF0aENvbnRleHQsXG4gIENVU1RPTV9BVFRBQ0hNRU5UX0xPQ0FUSU9OX1BMVUdJTl9JRCxcbiAgRFVNTVlfUEFUSCxcbiAgZ2V0QXR0YWNobWVudEZpbGVQYXRoLFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aCxcbiAgZ2V0QXR0YWNobWVudEZvbGRlclBhdGhGb3JBdHRhY2htZW50LFxuICBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aFN5bmNPck51bGwsXG4gIGdldEF2YWlsYWJsZVBhdGhGb3JBdHRhY2htZW50cyxcbiAgZ2V0Q2hlY2tJc0F0dGFjaG1lbnRVbml0Rm9sZGVyRnVuY3Rpb24sXG4gIGhhc093bkF0dGFjaG1lbnRGb2xkZXIsXG4gIGlzQXRQcm9wZXJBdHRhY2htZW50UGF0aFxufSBmcm9tICcuL2F0dGFjaG1lbnQtcGF0aC50cyc7XG5leHBvcnQge1xuICBmaW5kQXR0YWNobWVudFVuaXRGb2xkZXJQYXRoLFxuICByZWJhc2VQYXRoT250b0ZvbGRlclxufSBmcm9tICcuL2F0dGFjaG1lbnQtdW5pdC1mb2xkZXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0SW5kZXhlZEJhY2tsaW5rc0ZvckZpbGUsXG4gIGl0ZXJhdGVSZWZlcmVuY2VzQWZmZWN0ZWRCeVJlbmFtZVxufSBmcm9tICcuL2JhY2tsaW5rLWluZGV4LnRzJztcbmV4cG9ydCB7XG4gIHJlbmRlckJhY2tsaW5rc1RhYmxlLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzLFxuICByZW5kZXJEZWxheWVkQmFja2xpbmtzRm9yRm9sZGVyXG59IGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0IHsgUGx1Z2luQmFzZXNWaWV3UmVnaXN0cmFyIH0gZnJvbSAnLi9iYXNlcy12aWV3LXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBCcm9rZW5MaW5rQ2FuZGlkYXRlRmluZGVyLFxuICBCcm9rZW5MaW5rRXZpZGVuY2VLaW5kLFxuICBnZXRQYXJlbnRQYXRoLFxuICBnZXRQYXRoTWFwcGluZ1xufSBmcm9tICcuL2Jyb2tlbi1saW5rLWNhbmRpZGF0ZXMudHMnO1xuZXhwb3J0IHtcbiAgQlVHX1JFUE9SVF9JU1NVRV9GT1JNX1RFTVBMQVRFLFxuICBCdWdSZXBvcnRJc3N1ZUZvcm1GaWVsZElkLFxuICBmb3JtYXRCdWdSZXBvcnRFbnZpcm9ubWVudCxcbiAgZ2V0QnVnUmVwb3J0RW52aXJvbm1lbnQsXG4gIGdldEJ1Z1JlcG9ydElzc3VlRm9ybVVybCxcbiAgZ2V0R2l0SHViSXNzdWVGb3JtVXJsXG59IGZyb20gJy4vYnVnLXJlcG9ydC50cyc7XG5leHBvcnQge1xuICBCVUxLX09QRVJBVElPTl9IT0xEX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyxcbiAgaG9sZEJ1bGtPcGVyYXRpb25XaGlsZSxcbiAgcmVnaXN0ZXJCdWxrT3BlcmF0aW9uUHJvZ3Jlc3NMaXN0ZW5lcixcbiAgcmVwb3J0QnVsa09wZXJhdGlvblByb2dyZXNzXG59IGZyb20gJy4vYnVsay1vcGVyYXRpb24tcHJvZ3Jlc3MudHMnO1xuZXhwb3J0IHtcbiAgYnVpbGRCZWZvcmVPcGVyYXRpb25Db21taXRTdWJqZWN0LFxuICBidWlsZE9wZXJhdGlvbkNvbW1pdE1lc3NhZ2UsXG4gIEJVTEtfT1BFUkFUSU9OX0xPQ0tfRklMRV9OQU1FLFxuICBCVUxLX09QRVJBVElPTl9MT0NLX1NUQUxFX0FGVEVSX0lOX01JTExJU0VDT05EUyxcbiAgZm9ybWF0T3BlcmF0aW9uSWQsXG4gIGdldE5leHRPcGVyYXRpb25JZCxcbiAgaXNCdWxrT3BlcmF0aW9uTG9jayxcbiAgaXNCdWxrT3BlcmF0aW9uTG9ja1N0YWxlLFxuICBPUEVSQVRJT05fVFJBSUxFUl9LRVksXG4gIHBhcnNlQnVsa09wZXJhdGlvbkNvbW1pdCxcbiAgcGFyc2VPcGVyYXRpb25OdW1iZXIsXG4gIFBMVUdJTl9UUkFJTEVSX0tFWVxufSBmcm9tICcuL2J1bGstb3BlcmF0aW9uLnRzJztcbmV4cG9ydCB7XG4gIENhbGxvdXRNb2RlLFxuICByZW5kZXJDYWxsb3V0LFxuICB3cmFwRm9yQ2FsbG91dFxufSBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0IHsgZ2V0Q2FudmFzUmVmZXJlbmNlcyB9IGZyb20gJy4vY2FudmFzLnRzJztcbmV4cG9ydCB7XG4gIENhc2VJbnNlbnNpdGl2ZUZpbGVJbmRleCxcbiAgZ2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4LFxuICBzZXRDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXgsXG4gIHVuc2V0Q2FzZUluc2Vuc2l0aXZlRmlsZUluZGV4XG59IGZyb20gJy4vY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LnRzJztcbmV4cG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmV4cG9ydCB7XG4gIGNhcHR1cmVDb2RlQmxvY2tGb2N1cyxcbiAgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmLFxuICBDT0RFX0JMT0NLX1JFTkRFUl9IQU5ET0ZGX0xJRkVUSU1FX0lOX01JTExJU0VDT05EUyxcbiAgcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZixcbiAgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzXG59IGZyb20gJy4vY29kZS1ibG9jay1yZW5kZXItaGFuZG9mZi50cyc7XG5leHBvcnQgeyBjcmVhdGVJbmNyZW1lbnRhbFBhcnNlU3RhdGVGaWVsZCB9IGZyb20gJy4vY29kZW1pcnJvci9pbmNyZW1lbnRhbC1wYXJzZS1zdGF0ZS1maWVsZC50cyc7XG5leHBvcnQge1xuICBjcmVhdGVJbmxpbmVUb2tlbldpZGdldHNFeHRlbnNpb24sXG4gIGV4ZWNBbGwsXG4gIHRvR2xvYmFsUmVnRXhwXG59IGZyb20gJy4vY29kZW1pcnJvci9pbmxpbmUtdG9rZW4td2lkZ2V0cy50cyc7XG5leHBvcnQge1xuICBkaXNwYXRjaFRvQWxsTWFya2Rvd25FZGl0b3JWaWV3cyxcbiAgZ2V0QWxsTWFya2Rvd25FZGl0b3JWaWV3c1xufSBmcm9tICcuL2NvZGVtaXJyb3IvbWFya2Rvd24tZWRpdG9yLXZpZXdzLnRzJztcbmV4cG9ydCB7IHJhbmdlU2V0VG9BcnJheSB9IGZyb20gJy4vY29kZW1pcnJvci9yYW5nZS1zZXQudHMnO1xuZXhwb3J0IHsgY3JlYXRlU2V0dGluZ3NGYWNldCB9IGZyb20gJy4vY29kZW1pcnJvci9zZXR0aW5ncy1mYWNldC50cyc7XG5leHBvcnQgeyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9hYnN0cmFjdC1maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBDb21tYW5kSGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9jb21tYW5kLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2NvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBFZGl0b3JDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9lZGl0b3ItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9maWxlLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBGb2xkZXJDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9mb2xkZXItY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IEdsb2JhbENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkJ1Z1JlcG9ydENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tYnVnLXJlcG9ydC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRlbW9WYXVsdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZGVtby12YXVsdC1jb21tYW5kLWhhbmRsZXIudHMnO1xuZXhwb3J0IHsgT3BlbkRpc2N1c3Npb25Db21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLWRpc2N1c3Npb24tY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IE9wZW5GZWF0dXJlUmVxdWVzdENvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL29wZW4tZmVhdHVyZS1yZXF1ZXN0LWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuR2l0SHViQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvb3Blbi1naXQtaHViLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBPcGVuU2V0dGluZ3NDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9vcGVuLXNldHRpbmdzLWNvbW1hbmQtaGFuZGxlci50cyc7XG5leHBvcnQgeyBVbmRvQnVsa09wZXJhdGlvbkNvbW1hbmRIYW5kbGVyIH0gZnJvbSAnLi9jb21tYW5kLWhhbmRsZXJzL3VuZG8tYnVsay1vcGVyYXRpb24tY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy91bmxvY2stYWN0aXZlLW5vdGUtY29tbWFuZC1oYW5kbGVyLnRzJztcbmV4cG9ydCB7IFBsdWdpbkNvbW1hbmRSZWdpc3RyYXIgfSBmcm9tICcuL2NvbW1hbmQtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGNvbmZpZ3VyZUNvbW11bml0eVBsdWdpbixcbiAgQ29uZmlndXJlQ29tbXVuaXR5UGx1Z2luUmVzdWx0LFxuICBkaXNhYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBlbmFibGVDb21tdW5pdHlQbHVnaW4sXG4gIGdldENvbW11bml0eVBsdWdpblJlcG8sXG4gIGdldExhdGVzdFJlbGVhc2VWZXJzaW9uLFxuICBpbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICBpbnN0YWxsQ29uZmlndXJlRW5hYmxlQ29tbXVuaXR5UGx1Z2luLFxuICBQbHVnaW5FbmFibGVSZWZ1c2VkRXJyb3IsXG4gIHNlYXJjaENvbW11bml0eVBsdWdpbnMsXG4gIHRvZ2dsZUVuYWJsZUNvbW11bml0eVBsdWdpbixcbiAgdG9nZ2xlSW5zdGFsbENvbW11bml0eVBsdWdpbixcbiAgdW5pbnN0YWxsQ29tbXVuaXR5UGx1Z2luLFxuICB1cGRhdGVDb21tdW5pdHlQbHVnaW4sXG4gIFVwZGF0ZUNvbW11bml0eVBsdWdpblJlc3VsdFxufSBmcm9tICcuL2NvbW11bml0eS1wbHVnaW5zLnRzJztcbmV4cG9ydCB7IEFib3J0U2lnbmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgQWxsV2luZG93c0V2ZW50Q29tcG9uZW50LFxuICBmb3JFYWNoV2luZG93LFxuICByZWdpc3RlckJvZHlDbGFzc1xufSBmcm9tICcuL2NvbXBvbmVudHMvYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IHJlZ2lzdGVyQXN5bmNFdmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEJ1bGtPcGVyYXRpb25Db21taXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYnVsay1vcGVyYXRpb24tY29tbWl0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDYXNlSW5zZW5zaXRpdmVGaWxlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY2FzZS1pbnNlbnNpdGl2ZS1maWxlLWluZGV4LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50cy9jb21wb25lbnQtZXgudHMnO1xuZXhwb3J0IHsgQ29uc29sZURlYnVnQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvcmVQbHVnaW5Ub2dnbGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS1wbHVnaW4tdG9nZ2xlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBhc0Rpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRW1iZWRFeHRlbnNpb25zQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2VtYmVkLWV4dGVuc2lvbnMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IEVtYmVkZGFibGVNYXJrZG93bkVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9lbWJlZGRhYmxlLW1hcmtkb3duLWVkaXRvci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgRmlsZUV4cGxvcmVyUm9vdE1lbnVDb21wb25lbnQsXG4gIEZpbGVFeHBsb3JlclJvb3RNZW51U3BvdCxcbiAgVkFVTFRfTkFNRV9TRUxFQ1RPUlNcbn0gZnJvbSAnLi9jb21wb25lbnRzL2ZpbGUtZXhwbG9yZXItcm9vdC1tZW51LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBHZW5lcmF0ZU1hcmtkb3duTGlua0RlZmF1bHRQYXJhbXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvZ2VuZXJhdGUtbWFya2Rvd24tbGluay1kZWZhdWx0LXBhcmFtcy1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgSW5jcmVtZW50YWxGaWxlSW5kZXhDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaW5jcmVtZW50YWwtZmlsZS1pbmRleC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgQ2FsbGJhY2tMYXlvdXRSZWFkeUNvbXBvbmVudCxcbiAgTGF5b3V0UmVhZHlDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBhcm91bmQsXG4gIGhhc1BhdGNoVG9rZW4sXG4gIE1vbmtleUFyb3VuZENvbXBvbmVudFxufSBmcm9tICcuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTm90ZWJvb2tOYXZpZ2F0b3JNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQbHVnaW5Db250ZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1jb250ZXh0LWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBQbHVnaW5Db25mbGljdFNldmVyaXR5LFxuICBQbHVnaW5HYXRlQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tZ2F0ZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICBQbHVnaW5Ob3RpY2VNb2RlXG59IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQbHVnaW5TZXR0aW5nc0NvbXBvbmVudEJhc2UgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBQbHVnaW5TZXR0aW5nc1RhYkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBQbHVnaW5TdWdnZXN0aW9uQ29tcG9uZW50LFxuICBTdWdnZXN0ZWRQbHVnaW5TdGF0ZVxufSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLXN1Z2dlc3Rpb24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFBvaW50ZXJQb3NpdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wb2ludGVyLXBvc2l0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBSZWNvbmZpZ3VyYWJsZUVkaXRvckV4dGVuc2lvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWNvbmZpZ3VyYWJsZS1lZGl0b3ItZXh0ZW5zaW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBSZWdpc3RyeUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9yZWdpc3RyeS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUmVsZWFzZU5vdGVzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3JlbGVhc2Utbm90ZXMtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEVtcHR5Rm9sZGVyQmVoYXZpb3IsXG4gIFJlbmFtZURlbGV0ZUhhbmRsZXJDb21wb25lbnRcbn0gZnJvbSAnLi9jb21wb25lbnRzL3JlbmFtZS1kZWxldGUtaGFuZGxlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHtcbiAgTk9UX0VNUFRZX0RJUkVDVE9SWV9FUlJPUl9DT0RFLFxuICBSbWRpckd1YXJkQ29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9ybWRpci1ndWFyZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgU2V0dGluZ3NGYWNldENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9zZXR0aW5ncy1mYWNldC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgU2V0dGluZ3NNaWdyYXRpb25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvc2V0dGluZ3MtbWlncmF0aW9uLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICByZWdpc3RlclN0eWxlLFxuICBTdHlsZVNoZWV0Q29tcG9uZW50XG59IGZyb20gJy4vY29tcG9uZW50cy9zdHlsZS1zaGVldC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgU3ludGF4SGlnaGxpZ2h0aW5nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3N5bnRheC1oaWdobGlnaHRpbmctY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRlbXBsYXRlc0xhbmd1YWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RlbXBsYXRlcy1sYW5ndWFnZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZ2V0RG9tRXZlbnRzSGFuZGxlcnNDb25zdHJ1Y3RvciB9IGZyb20gJy4vY29uc3RydWN0b3JzL2dldC1kb20tZXZlbnRzLWhhbmRsZXJzLWNvbnN0cnVjdG9yLnRzJztcbmV4cG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi9jc3MtY2xhc3MudHMnO1xuZXhwb3J0IHsgUGx1Z2luRGF0YUhhbmRsZXIgfSBmcm9tICcuL2RhdGEtaGFuZGxlci50cyc7XG5leHBvcnQgeyBEYXRhU3RvcmVMb2NhdGlvbnMgfSBmcm9tICcuL2RhdGEtc3RvcmVzL2RhdGEtc3RvcmUtbG9jYXRpb25zLnRzJztcbmV4cG9ydCB7XG4gIERhdGFTdG9yZVJlcGxpY2EsXG4gIGlzRGF0YVN0b3JlSnNvblZhbHVlLFxuICBpc0RhdGFTdG9yZU9wZXJhdGlvblxufSBmcm9tICcuL2RhdGEtc3RvcmVzL2RhdGEtc3RvcmUtcmVwbGljYS50cyc7XG5leHBvcnQge1xuICBEYXRhU3RvcmVTZWVkcyxcbiAgdmFsaWRhdGVEYXRhU3RvcmVTZWVkXG59IGZyb20gJy4vZGF0YS1zdG9yZXMvZGF0YS1zdG9yZS1zZWVkcy50cyc7XG5leHBvcnQgeyBEYXRhU3RvcmVUcmFuc3BvcnQgfSBmcm9tICcuL2RhdGEtc3RvcmVzL2RhdGEtc3RvcmUtdHJhbnNwb3J0LnRzJztcbmV4cG9ydCB7IExvY2FsRGF0YVN0b3JlIH0gZnJvbSAnLi9kYXRhLXN0b3Jlcy9sb2NhbC1kYXRhLXN0b3JlLnRzJztcbmV4cG9ydCB7IFNoYXJlZERhdGFTdG9yZSB9IGZyb20gJy4vZGF0YS1zdG9yZXMvc2hhcmVkLWRhdGEtc3RvcmUudHMnO1xuZXhwb3J0IHtcbiAgZml4VGl0bGUsXG4gIG1ha2VMaW5rV2l0aFBhdGhcbn0gZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCB7XG4gIGdldFJlbmRlcmVkQ29udGFpbmVyLFxuICBpbnNlcnRDb2RlQmxvY2ssXG4gIHJlbG9hZEN1cnJlbnRGaWxlQ2FjaGUsXG4gIHJlbmRlcklmcmFtZSxcbiAgcmVuZGVyUGFnaW5hdGVkTGlzdCxcbiAgcmVuZGVyUGFnaW5hdGVkVGFibGVcbn0gZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQge1xuICBnZXRPYnNpZGlhbkxpYkRlYnVnZ2VyLFxuICBzaG93SW5pdGlhbERlYnVnTWVzc2FnZVxufSBmcm9tICcuL2RlYnVnLnRzJztcbmV4cG9ydCB7IGJvb3RzdHJhcERlbW9WYXVsdCB9IGZyb20gJy4vZGVtby12YXVsdC1oZWxwZXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0RGVtb1ZhdWx0QXJjaGl2ZUZpbGVOYW1lLFxuICBnZXREZW1vVmF1bHRGb2xkZXJOYW1lXG59IGZyb20gJy4vZGVtby12YXVsdC1uYW1pbmcudHMnO1xuZXhwb3J0IHtcbiAgQnVsa09wZXJhdGlvbkdpdFJlcG8sXG4gIEdpdENvbW1hbmRFcnJvclxufSBmcm9tICcuL2Rlc2t0b3AtYnVsay1vcGVyYXRpb24tZ2l0LnRzJztcbmV4cG9ydCB7IG9wZW5EZW1vVmF1bHQgfSBmcm9tICcuL2Rlc2t0b3AtZGVtby12YXVsdC1vcGVuZXIudHMnO1xuZXhwb3J0IHsgY3JlYXRlRGVza3RvcEdpdFJ1bm5lciB9IGZyb20gJy4vZGVza3RvcC1naXQtcnVubmVyLnRzJztcbmV4cG9ydCB7IGdldERlc2t0b3BPcGVyYXRpbmdTeXN0ZW0gfSBmcm9tICcuL2Rlc2t0b3Atb3BlcmF0aW5nLXN5c3RlbS50cyc7XG5leHBvcnQgeyBvcGVuRGVza3RvcFJlcXVlc3RVcmxTdHJlYW0gfSBmcm9tICcuL2Rlc2t0b3AtcmVxdWVzdC11cmwtc3RyZWFtLnRzJztcbmV4cG9ydCB7IFBsdWdpbkVkaXRvckV4dGVuc2lvblJlZ2lzdHJhciB9IGZyb20gJy4vZWRpdG9yLWV4dGVuc2lvbi1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHsgUGx1Z2luRWRpdG9yU3VnZ2VzdFJlZ2lzdHJhciB9IGZyb20gJy4vZWRpdG9yLXN1Z2dlc3QtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIENvbW1hbmRFZGl0b3JTdWdnZXN0LFxuICBwcmlvcml0aXplRWRpdG9yU3VnZ2VzdFxufSBmcm9tICcuL2VkaXRvci1zdWdnZXN0LnRzJztcbmV4cG9ydCB7XG4gIHN5bmNPcGVuRWRpdG9yQnVmZmVyc0ZvclBhdGgsXG4gIHRvZ2dsZUVkaXRvclJlYWRPbmx5XG59IGZyb20gJy4vZWRpdG9yLnRzJztcbmV4cG9ydCB7XG4gIEV2ZW50UmVmRGlzcG9zYWJsZSxcbiAgc3Vic2NyaWJlRGlzcG9zYWJsZUV2ZW50LFxuICBzdWJzY3JpYmVFdmVudFxufSBmcm9tICcuL2V2ZW50cy50cyc7XG5leHBvcnQgeyBQbHVnaW5FeHRlbnNpb25zUmVnaXN0cmFyIH0gZnJvbSAnLi9leHRlbnNpb25zLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBGRUFUVVJFX1JFUVVFU1RfSVNTVUVfRk9STV9URU1QTEFURSxcbiAgRmVhdHVyZVJlcXVlc3RJc3N1ZUZvcm1GaWVsZElkLFxuICBnZXRGZWF0dXJlUmVxdWVzdElzc3VlRm9ybVVybFxufSBmcm9tICcuL2ZlYXR1cmUtcmVxdWVzdC50cyc7XG5leHBvcnQge1xuICBhcHBseUNvbnRlbnRDaGFuZ2VzLFxuICBhcHBseUZpbGVDaGFuZ2VzLFxuICBpc0NhbnZhc0NoYW5nZSxcbiAgaXNDYW52YXNGaWxlTm9kZUNoYW5nZSxcbiAgaXNDYW52YXNUZXh0Tm9kZUNoYW5nZSxcbiAgaXNDb250ZW50Q2hhbmdlLFxuICBpc0Zyb250bWF0dGVyQ2hhbmdlLFxuICBpc0Zyb250bWF0dGVyQ2hhbmdlV2l0aE9mZnNldHMsXG4gIHRvRnJvbnRtYXR0ZXJDaGFuZ2VXaXRoT2Zmc2V0c1xufSBmcm9tICcuL2ZpbGUtY2hhbmdlLnRzJztcbmV4cG9ydCB7IHJldmVhbEluRmlsZUV4cGxvcmVyIH0gZnJvbSAnLi9maWxlLWV4cGxvcmVyLnRzJztcbmV4cG9ydCB7XG4gIGFkZEFsaWFzLFxuICBkZWxldGVBbGlhcyxcbiAgcHJvY2Vzc0Zyb250bWF0dGVyLFxuICB3YWl0Rm9yUGVuZGluZ0xpbmtVcGRhdGVzXG59IGZyb20gJy4vZmlsZS1tYW5hZ2VyLnRzJztcbmV4cG9ydCB7XG4gIGFzQXJyYXlPZkZpbGVzLFxuICBhc0FycmF5T2ZGb2xkZXJzLFxuICBhc0ZpbGUsXG4gIGFzRmlsZU9yTnVsbCxcbiAgYXNGb2xkZXIsXG4gIGFzRm9sZGVyT3JOdWxsLFxuICBCQVNFX0ZJTEVfRVhURU5TSU9OLFxuICBDQU5WQVNfRklMRV9FWFRFTlNJT04sXG4gIGNoZWNrRXh0ZW5zaW9uLFxuICBkb2VzRXhpc3QsXG4gIEZpbGVTeXN0ZW1UeXBlLFxuICBnZXRBYnN0cmFjdEZpbGUsXG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgZ2V0QmFzZW5hbWUsXG4gIGdldEV4dGVuc2lvbixcbiAgZ2V0RmlsZSxcbiAgZ2V0RmlsZU9yTnVsbCxcbiAgZ2V0RmlsZVN5c3RlbVR5cGUsXG4gIGdldEZvbGRlcixcbiAgZ2V0Rm9sZGVyT3JOdWxsLFxuICBnZXRNYXJrZG93bkZpbGVzLFxuICBnZXRPckNyZWF0ZUZpbGUsXG4gIGdldE9yQ3JlYXRlRm9sZGVyLFxuICBnZXRQYXRoLFxuICBpc0Fic3RyYWN0RmlsZSxcbiAgaXNCYXNlRmlsZSxcbiAgaXNDYW52YXNGaWxlLFxuICBpc0ZpbGUsXG4gIGlzRm9sZGVyLFxuICBpc01hcmtkb3duRmlsZSxcbiAgaXNOb3RlLFxuICBpc1BhdGhPckZpbGUsXG4gIGlzVHJlYXRlZEFzQXR0YWNobWVudCxcbiAgTUFSS0RPV05fRklMRV9FWFRFTlNJT04sXG4gIE1pc3NpbmdQYXRoVHJlYXRtZW50LFxuICB0cmltTWFya2Rvd25FeHRlbnNpb25cbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5leHBvcnQge1xuICBGT0xERVJfTk9URVNfUExVR0lOX0lELFxuICBGb2xkZXJOb3RlTG9jYXRpb24sXG4gIGdldEZvbGRlck5vdGVGb2xkZXIsXG4gIHJlc29sdmVGb2xkZXJOb3RlLFxuICByZXNvbHZlRm9sZGVyTm90ZUNvbmZpZ1xufSBmcm9tICcuL2ZvbGRlci1ub3RlLnRzJztcbmV4cG9ydCB7XG4gIGNyZWF0ZUZvcm11bGFGdW5jdGlvbixcbiAgY3JlYXRlRm9ybXVsYUZ1bmN0aW9uUGFyYW1ldGVyLFxuICByZWdpc3RlckZvcm11bGFGdW5jdGlvblxufSBmcm9tICcuL2Zvcm11bGEtZnVuY3Rpb24udHMnO1xuZXhwb3J0IHtcbiAgZW5hYmxlRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmF0aW9uLFxuICBwcmVzZXJ2ZUZyb250bWF0dGVyRm9ybWF0dGluZ1xufSBmcm9tICcuL2Zyb250bWF0dGVyLWZvcm1hdHRpbmcudHMnO1xuZXhwb3J0IHtcbiAgaXNGcm9udG1hdHRlckxpbmtDYWNoZVdpdGhPZmZzZXRzLFxuICB0b0Zyb250bWF0dGVyTGlua0NhY2hlV2l0aE9mZnNldHNcbn0gZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5leHBvcnQge1xuICBjaGVja0lzUGxhaW5PYmplY3QsXG4gIHBhcnNlRnJvbnRtYXR0ZXIsXG4gIHJlZ2lzdGVyRnJvbnRtYXR0ZXJGb3JtYXR0aW5nUHJlc2VydmVyLFxuICByZW1vdmVFbXB0eUZyb250bWF0dGVyVmFsdWVzLFxuICBzZXRGcm9udG1hdHRlclxufSBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCB7XG4gIExJQlJBUllfU1RZTEVTLFxuICBMSUJSQVJZX1ZFUlNJT05cbn0gZnJvbSAnLi9nZW5lcmF0ZWQtZHVyaW5nLWJ1aWxkLnRzJztcbmV4cG9ydCB7IGdldEdpdEh1YkRpc2N1c3Npb25VcmwgfSBmcm9tICcuL2dpdC1odWItZGlzY3Vzc2lvbi50cyc7XG5leHBvcnQge1xuICBsb2FkR2l0UmVuYW1lcyxcbiAgcGFyc2VHaXRSZW5hbWVMb2dcbn0gZnJvbSAnLi9naXQtcmVuYW1lLWhpc3RvcnkudHMnO1xuZXhwb3J0IHtcbiAgZm9ybWF0SG90a2V5LFxuICBnZXRIb3RrZXlGcm9tS2V5Ym9hcmRFdmVudCxcbiAgaXNTYW1lSG90a2V5XG59IGZyb20gJy4vaG90a2V5LnRzJztcbmV4cG9ydCB7IFBsdWdpbkhvdmVyTGlua1NvdXJjZVJlZ2lzdHJhciB9IGZyb20gJy4vaG92ZXItbGluay1zb3VyY2UtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7XG4gIGFwcGVuZENvZGVCbG9jayxcbiAgYXBwZW5kVGV4dE9yRnJhZ21lbnRDbG9uZSxcbiAgYXBwbHlTcGVsbGNoZWNrTW9kZSxcbiAgYXNDb2RlQmxvY2ssXG4gIGNyZWF0ZUZyYWdtZW50V2l0aENvZGVCbG9ja3Ncbn0gZnJvbSAnLi9odG1sLWVsZW1lbnQudHMnO1xuZXhwb3J0IHtcbiAgREVGQVVMVF9OUyxcbiAgaW5pdEkxOE4sXG4gIHRcbn0gZnJvbSAnLi9pMThuL2kxOG4udHMnO1xuZXhwb3J0IHsgZW4gfSBmcm9tICcuL2kxOG4vbG9jYWxlcy9lbi50cyc7XG5leHBvcnQge1xuICBERUZBVUxUX0xBTkdVQUdFLFxuICBkZWZhdWx0VHJhbnNsYXRpb25zTWFwXG59IGZyb20gJy4vaTE4bi9sb2NhbGVzL3RyYW5zbGF0aW9ucy1tYXAudHMnO1xuZXhwb3J0IHtcbiAgY3JlYXRlSW5saW5lVG9rZW5Qb3N0UHJvY2Vzc29yLFxuICBERUZBVUxUX0lOTElORV9UT0tFTl9TS0lQX1NFTEVDVE9SLFxuICByZWdpc3RlcklubGluZVRva2VuUmVuZGVyZXJcbn0gZnJvbSAnLi9pbmxpbmUtdG9rZW4tcmVuZGVyZXIudHMnO1xuZXhwb3J0IHsgaXNJbk9ic2lkaWFuIH0gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQge1xuICBpbmplY3RMaWJyYXJ5U3R5bGVzLFxuICBMQVNUX0xJQlJBUllfVkVSU0lPTl9LRVksXG4gIExJQlJBUllfU1RZTEVTX0VMRU1FTlRfSURcbn0gZnJvbSAnLi9saWJyYXJ5LXN0eWxlcy50cyc7XG5leHBvcnQge1xuICBPQlNJRElBTl9MSUJSQVJZX05BTUUsXG4gIE9ic2lkaWFuTGlicmFyeVxufSBmcm9tICcuL2xpYnJhcnkudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TGlua0FuZFRhZ0NvbXBsZXRpb25UcmlnZ2VyLFxuICBnZXRWYXVsdFRhZ1N1Z2dlc3Rpb25zLFxuICBMaW5rQW5kVGFnQ29tcGxldGlvbktpbmQsXG4gIExpbmtBbmRUYWdJbnB1dFN1Z2dlc3Rcbn0gZnJvbSAnLi9saW5rLWFuZC10YWctaW5wdXQtc3VnZ2VzdC50cyc7XG5leHBvcnQgeyBub3JtYWxpemVMaW5rTmFtZSB9IGZyb20gJy4vbGluay1uYW1lLnRzJztcbmV4cG9ydCB7XG4gIGJ1aWxkQmFja2xpbmtzU25hcHNob3QsXG4gIGNvbnZlcnRMaW5rLFxuICBlZGl0QmFja2xpbmtzLFxuICBlZGl0QmFja2xpbmtzU25hcHNob3QsXG4gIGVkaXRSZWZlcmVuY2VzLFxuICBlZGl0UmVmZXJlbmNlc0luQ29udGVudCxcbiAgZXh0cmFjdFJlZmVyZW5jZUZpbGUsXG4gIGdlbmVyYXRlTWFya2Rvd25MaW5rLFxuICBnZW5lcmF0ZVJhd01hcmtkb3duTGluayxcbiAgZ2V0R2VuZXJhdGVNYXJrZG93bkxpbmtEZWZhdWx0UGFyYW1zRm5zLFxuICBoYXNBbmdsZUJyYWNrZXRzLFxuICBoYXNFbWJlZFN5bnRheCxcbiAgaGFzTGVhZGluZ0RvdCxcbiAgaGFzTGVhZGluZ1NsYXNoLFxuICBoYXNXaWtpbGlua1N5bnRheCxcbiAgTGlua1BhdGhTdHlsZSxcbiAgTGlua1N0eWxlLFxuICBzaG91bGRSZXNldEFsaWFzLFxuICBzcGxpdFN1YnBhdGgsXG4gIHVwZGF0ZUZpbGVVcmxMaW5rc0luQ29udGVudCxcbiAgdXBkYXRlRmlsZVVybExpbmtzSW5GaWxlLFxuICB1cGRhdGVMaW5rLFxuICB1cGRhdGVSZWZlcmVuY2VzSW5Db250ZW50LFxuICB1cGRhdGVSZWZlcmVuY2VzSW5GaWxlXG59IGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgeyBpbnZva2VBc3luY0FuZExvZyB9IGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCB7IGxvb3AgfSBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0IHsgUGx1Z2luTWFya2Rvd25Db2RlQmxvY2tQcm9jZXNzb3JSZWdpc3RyYXIgfSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8sXG4gIGluc2VydEFmdGVyQ29kZUJsb2NrLFxuICBpbnNlcnRCZWZvcmVDb2RlQmxvY2ssXG4gIHJlbW92ZUNvZGVCbG9jayxcbiAgcmVwbGFjZUNvZGVCbG9ja1xufSBmcm9tICcuL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzJztcbmV4cG9ydCB7IFBsdWdpbk1hcmtkb3duUG9zdFByb2Nlc3NvclJlZ2lzdHJhciB9IGZyb20gJy4vbWFya2Rvd24tcG9zdC1wcm9jZXNzb3ItcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IGdldEZ1bGxDb250ZW50SHRtbCB9IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQge1xuICBmdWxsUmVuZGVyLFxuICBtYXJrZG93blRvSHRtbCxcbiAgcmVnaXN0ZXJMaW5rSGFuZGxlcnMsXG4gIHJlbmRlckV4dGVybmFsTGluayxcbiAgcmVuZGVySW50ZXJuYWxMaW5rXG59IGZyb20gJy4vbWFya2Rvd24udHMnO1xuZXhwb3J0IHsgYWRkU2luZ2xlQ2hvaWNlTWVudUl0ZW1zIH0gZnJvbSAnLi9tZW51LnRzJztcbmV4cG9ydCB7XG4gIEFEVkFOQ0VEX01FVEFEQVRBX0NBQ0hFX1BMVUdJTl9JRCxcbiAgQkFDS0xJTktfQ0FDSEVfUExVR0lOX0lELFxuICBDYWNoZWRNZXRhZGF0YUV4RmVhdHVyZSxcbiAgZW5zdXJlTWV0YWRhdGFDYWNoZVJlYWR5LFxuICBnZXRCYWNrbGlua3NGb3JGaWxlT3JQYXRoLFxuICBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSxcbiAgZ2V0Q2FjaGVTYWZlLFxuICBnZXRGcm9udG1hdHRlclNhZmUsXG4gIGdldFJlZmVyZW5jZXMsXG4gIGhhc0JhY2tsaW5rQ2FjaGVQbHVnaW4sXG4gIGlzQ2FjaGVkTWV0YWRhdGFFeCxcbiAgcGFyc2VNZXRhZGF0YSxcbiAgcmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHJlZ2lzdGVyRmlsZXMsXG4gIHVucmVnaXN0ZXJGaWxlQ2FjaGVGb3JOb25FeGlzdGluZ0ZpbGUsXG4gIHVucmVnaXN0ZXJGaWxlc1xufSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmV4cG9ydCB7IGdldE1vYmlsZUFwcEluZm8gfSBmcm9tICcuL21vYmlsZS1hcHAtaW5mby50cyc7XG5leHBvcnQgeyBhbGVydCB9IGZyb20gJy4vbW9kYWxzL2FsZXJ0LnRzJztcbmV4cG9ydCB7IGNvbmZpcm0gfSBmcm9tICcuL21vZGFscy9jb25maXJtLnRzJztcbmV4cG9ydCB7IE1pbmltaXphYmxlTW9kYWwgfSBmcm9tICcuL21vZGFscy9taW5pbWl6YWJsZS1tb2RhbC50cyc7XG5leHBvcnQge1xuICBNb2RhbENvbW1hbmRCdWlsZGVyLFxuICBNb2RhbENvbW1hbmRzUmVuZGVyTW9kZVxufSBmcm9tICcuL21vZGFscy9tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuZXhwb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbHMvbW9kYWwudHMnO1xuZXhwb3J0IHsgcHJvbXB0IH0gZnJvbSAnLi9tb2RhbHMvcHJvbXB0LnRzJztcbmV4cG9ydCB7IHNlbGVjdEl0ZW0gfSBmcm9tICcuL21vZGFscy9zZWxlY3QtaXRlbS50cyc7XG5leHBvcnQgeyBzZWxlY3RPcHRpb24gfSBmcm9tICcuL21vZGFscy9zZWxlY3Qtb3B0aW9uLnRzJztcbmV4cG9ydCB7IFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyIH0gZnJvbSAnLi9tb2RhbHMvc3VnZ2VzdC1tb2RhbC1jb21tYW5kLWJ1aWxkZXIudHMnO1xuZXhwb3J0IHtcbiAgZmlsdGVySGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhzLFxuICBmaW5kTm9Qcmlvcml0eVdpbm5lclJlYXNvbixcbiAgZmluZE5vdGVQcmlvcml0eVJhbmssXG4gIE5PX1BSSU9SSVRZX01BVENILFxuICBOb1ByaW9yaXR5V2lubmVyUmVhc29uLFxuICBwaWNrSGlnaGVzdFByaW9yaXR5Tm90ZVBhdGhcbn0gZnJvbSAnLi9ub3RlLXByaW9yaXR5LnRzJztcbmV4cG9ydCB7XG4gIE5PVEVCT09LX05BVklHQVRPUl9NRU5VX1NPVVJDRSxcbiAgTk9URUJPT0tfTkFWSUdBVE9SX1BMVUdJTl9JRCxcbiAgcmVzb2x2ZU5vdGVib29rTmF2aWdhdG9yQXBpXG59IGZyb20gJy4vbm90ZWJvb2stbmF2aWdhdG9yLnRzJztcbmV4cG9ydCB7XG4gIGdldE9ic2lkaWFuTGliU3RhdGUsXG4gIHJlc2V0T2JzaWRpYW5MaWJTdGF0ZVxufSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5leHBvcnQgeyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vb2JzaWRpYW4tcHJvdG9jb2wtaGFuZGxlci1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0TmV3TGlua0Zvcm1hdCxcbiAgaXNTcGVsbGNoZWNrRW5hYmxlZCxcbiAgaXNTcGVsbGNoZWNrRW5hYmxlZEZvck1vZGUsXG4gIHNob3VsZFVzZVdpa2lsaW5rcyxcbiAgU3BlbGxjaGVja01vZGVcbn0gZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQge1xuICBjYW5vbmljYWxpemVPYnNpZGlhblRleHQsXG4gIGNyZWF0ZU9ic2lkaWFuTWVudGlvblJlZ0V4cCxcbiAgZ2V0T2JzaWRpYW5OYW1lVG9rZW5zLFxuICBpc09ic2lkaWFuV29yZENoYXJhY3RlcixcbiAgdG9rZW5pemVPYnNpZGlhbldvcmRzXG59IGZyb20gJy4vb2JzaWRpYW4td29yZC1jaGFyYWN0ZXJzLnRzJztcbmV4cG9ydCB7XG4gIGVzY2FwZUFsaWFzLFxuICBpc1BhcnNlTGlua0Zyb250bWF0dGVyUmVmZXJlbmNlLFxuICBpc1BhcnNlTGlua1JlZmVyZW5jZSxcbiAgcGFyc2VGcm9udG1hdHRlckxpbmtzLFxuICBwYXJzZUxpbmssXG4gIHBhcnNlTGlua3MsXG4gIHRvUGFyc2VMaW5rUmVmZXJlbmNlLFxuICB1bmVzY2FwZUFsaWFzXG59IGZyb20gJy4vcGFyc2UtbGluay50cyc7XG5leHBvcnQge1xuICBQYXRoU2V0dGluZ3MsXG4gIHBhdGhzVmFsaWRhdG9yXG59IGZyb20gJy4vcGF0aC1zZXR0aW5ncy50cyc7XG5leHBvcnQgeyBwcmludFRvUGRmIH0gZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0IHsgUGx1Z2luQ2xpSGFuZGxlclJlZ2lzdHJhciB9IGZyb20gJy4vcGx1Z2luLWNsaS1oYW5kbGVyLXJlZ2lzdHJhci50cyc7XG5leHBvcnQge1xuICBmaW5kUGx1Z2luQXBpLFxuICBnZXRWYWxpZGF0ZVBsdWdpbkFwaVBheWxvYWRzRGVidWdTd2l0Y2gsXG4gIFBsdWdpbkFwaVBheWxvYWRLaW5kLFxuICBQbHVnaW5BcGlSZXZva2VkRXJyb3IsXG4gIFBsdWdpbkFwaVVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBQbHVnaW5BcGlVbmF2YWlsYWJsZUVycm9yLFxuICBQbHVnaW5BcGlWYWxpZGF0aW9uRXJyb3IsXG4gIHB1Ymxpc2hQbHVnaW5BcGksXG4gIHdhdGNoUGx1Z2luQXBpXG59IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1hcGkudHMnO1xuZXhwb3J0IHtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3NlcyxcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuZXhwb3J0IHsgUGx1Z2luRXZlbnRTb3VyY2VJbXBsIH0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWV2ZW50LXNvdXJjZS50cyc7XG5leHBvcnQge1xuICBnZXRJbnN0YWxsZWRQbHVnaW5TdGF0ZSxcbiAgZ2V0SW5zdGFsbGVkUGx1Z2luVmVyc2lvbixcbiAgaW5zdGFsbEFuZEVuYWJsZVBsdWdpbixcbiAgSW5zdGFsbGVkUGx1Z2luU3RhdGUsXG4gIHVwZGF0ZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4taW5zdGFsbC1zdGF0ZS50cyc7XG5leHBvcnQge1xuICBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUsXG4gIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FLFxuICB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRcbn0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMnO1xuZXhwb3J0IHtcbiAgUGx1Z2luU2V0dGluZ3NUYWJCYXNlLFxuICBTQVZFX1RPX0ZJTEVfQ09OVEVYVFxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtdGFiLnRzJztcbmV4cG9ydCB7XG4gIFBsdWdpbkJhc2UsXG4gIHJlbG9hZFBsdWdpbixcbiAgc2hvd0Vycm9yQW5kRGlzYWJsZVBsdWdpblxufSBmcm9tICcuL3BsdWdpbi9wbHVnaW4udHMnO1xuZXhwb3J0IHsgZ2V0U2V0dGluZ3NNaWdyYXRpb25BcGlDb250cmFjdCB9IGZyb20gJy4vcGx1Z2luL3NldHRpbmdzLW1pZ3JhdGlvbi1hcGkudHMnO1xuZXhwb3J0IHsgZWRpdEZpZWxkc0luUG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvZmllbGQtcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBjcmVhdGVBbmNob3JGcm9tRG9jdW1lbnRDZW50ZXIsXG4gIGNyZWF0ZUFuY2hvckZyb21FbGVtZW50LFxuICBjcmVhdGVBbmNob3JGcm9tUG9pbnQsXG4gIGNyZWF0ZUFuY2hvckZyb21TZWxlY3Rpb25cbn0gZnJvbSAnLi9wb3BvdmVycy9wb3BvdmVyLWFuY2hvci50cyc7XG5leHBvcnQgeyBzaG93UG9wb3ZlciB9IGZyb20gJy4vcG9wb3ZlcnMvcG9wb3Zlci50cyc7XG5leHBvcnQge1xuICBpc1Bvc2l0aW9uSW5PZmZzZXRSYW5nZSxcbiAgaXNQb3NpdGlvbkluc2lkZSxcbiAgaXNQb3NpdGlvbkluc2lkZVNvbWVcbn0gZnJvbSAnLi9wb3NpdGlvbi50cyc7XG5leHBvcnQge1xuICBjaGVja1Byb3BlcnR5RW50cnlNYXRjaGVzLFxuICBpc1Byb3BlcnR5RW50cnksXG4gIFBST1BFUlRZX0VOVFJZX1BSRUZJWFxufSBmcm9tICcuL3Byb3BlcnR5LWVudHJ5LnRzJztcbmV4cG9ydCB7XG4gIGFkZFRvUXVldWUsXG4gIGFkZFRvUXVldWVBbmRXYWl0LFxuICBmbHVzaFF1ZXVlXG59IGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0IHtcbiAgQXBwQ29udGV4dCxcbiAgdXNlQXBwXG59IGZyb20gJy4vcmVhY3QvYXBwLWNvbnRleHQudHMnO1xuZXhwb3J0IHtcbiAgZ2V0UmVmZXJlbmNlTGlua1RleHQsXG4gIGlzQ2FudmFzRmlsZU5vZGVSZWZlcmVuY2UsXG4gIGlzQ2FudmFzUmVmZXJlbmNlLFxuICBpc0NhbnZhc1RleHROb2RlUmVmZXJlbmNlLFxuICBpc1JlZmVyZW5jZUluSGVhZGluZyxcbiAgaXNSZWZlcmVuY2VJbk9mZnNldFJhbmdlLFxuICByZWZlcmVuY2VUb0ZpbGVDaGFuZ2UsXG4gIHNvcnRSZWZlcmVuY2VzXG59IGZyb20gJy4vcmVmZXJlbmNlLnRzJztcbmV4cG9ydCB7XG4gIGlzT3duZWRCeVJlbmRlcmVkTWFya2Rvd24sXG4gIHJlZ2lzdGVyRm9sZEhhbmRsZXJzLFxuICByZWdpc3RlckZvb3Rub3RlTGlua0hhbmRsZXJcbn0gZnJvbSAnLi9yZW5kZXJlZC1tYXJrZG93bi50cyc7XG5leHBvcnQge1xuICBjcmVhdGVSZXF1ZXN0VXJsRmV0Y2gsXG4gIGVuY29kZVJlcXVlc3RVcmxSZXF1ZXN0LFxuICBSZXF1ZXN0VXJsRXJyb3IsXG4gIHJlcXVlc3RVcmxFeCxcbiAgcmVxdWVzdFVybFN0cmVhbVxufSBmcm9tICcuL3JlcXVlc3QtdXJsLnRzJztcbmV4cG9ydCB7XG4gIGlzUmVzb3VyY2VMb2NrZWRGb3JQYXRoLFxuICBpc1Jlc291cmNlTG9ja2VkRm9yUGF0aEJ5QW5jZXN0b3IsXG4gIGxvY2tSZXNvdXJjZUZvclBhdGgsXG4gIHJlcXVlc3RSZXNvdXJjZVVubG9ja0ZvclBhdGgsXG4gIFJlc291cmNlTG9ja0NvbXBvbmVudCxcbiAgUmVzb3VyY2VMb2NrZWRFcnJvcixcbiAgdW5sb2NrUmVzb3VyY2VGb3JQYXRoXG59IGZyb20gJy4vcmVzb3VyY2UtbG9jay50cyc7XG5leHBvcnQgeyByZWxhdGl2ZVBhdGhUb1Jlc291cmNlVXJsIH0gZnJvbSAnLi9yZXNvdXJjZS11cmwudHMnO1xuZXhwb3J0IHsgUGx1Z2luUmliYm9uSWNvblJlZ2lzdHJhciB9IGZyb20gJy4vcmliYm9uLWljb24tcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IENvZGVIaWdobGlnaHRlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9kYXRlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2RhdGUtdGltZS1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRW1haWxDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9lbWFpbC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL2ZpbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7XG4gIEZvbGRlcklucHV0U3VnZ2VzdCxcbiAgRm9sZGVyTGlzdENvbXBvbmVudFxufSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9mb2xkZXItbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgSG90a2V5Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvaG90a2V5LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbGlzdC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9tb250aC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWRyb3Bkb3duLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBNdWx0aXBsZUVtYWlsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvbXVsdGlwbGUtZW1haWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlRmlsZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLWZpbGUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL211bHRpcGxlLXRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL251bWJlci1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgUGFzc3dvcmRDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy9wYXNzd29yZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgZW5zdXJlV3JhcHBlZCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3NldHRpbmctY29tcG9uZW50LXdyYXBwZXIudHMnO1xuZXhwb3J0IHtcbiAgVGFnSW5wdXRTdWdnZXN0LFxuICBUYWdMaXN0Q29tcG9uZW50XG59IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RhZy1saXN0LWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBUZWxlcGhvbmVDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90ZWxlcGhvbmUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IGdldFRleHRCYXNlZENvbXBvbmVudFZhbHVlIH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJy4vc2V0dGluZy1jb21wb25lbnRzL3RpbWUtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFRyaVN0YXRlQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90cmktc3RhdGUtY2hlY2tib3gtY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy90eXBlZC1kcm9wZG93bi1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtbXVsdGlwbGUtZHJvcGRvd24tY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFR5cGVkUmFuZ2VUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtcmFuZ2UtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVHlwZWRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdHlwZWQtdGV4dC1jb21wb25lbnQudHMnO1xuZXhwb3J0IHsgVXJsQ29tcG9uZW50IH0gZnJvbSAnLi9zZXR0aW5nLWNvbXBvbmVudHMvdXJsLWNvbXBvbmVudC50cyc7XG5leHBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy92YWxpZGF0b3ItY29tcG9uZW50LnRzJztcbmV4cG9ydCB7IFdlZWtDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctY29tcG9uZW50cy93ZWVrLWNvbXBvbmVudC50cyc7XG5leHBvcnQge1xuICBhZG9wdFNldHRpbmdFeCxcbiAgU2V0dGluZ0V4XG59IGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5leHBvcnQgeyBTZXR0aW5nR3JvdXBFeCB9IGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgeyBvcGVuU2V0dGluZ1RhYiB9IGZyb20gJy4vc2V0dGluZ3MtbW9kYWwudHMnO1xuZXhwb3J0IHsgU2V0dGluZ3NUYWJzIH0gZnJvbSAnLi9zZXR0aW5ncy10YWJzLnRzJztcbmV4cG9ydCB7IFBsdWdpblN0YXR1c0Jhckl0ZW1SZWdpc3RyYXIgfSBmcm9tICcuL3N0YXR1cy1iYXItaXRlbS1yZWdpc3RyYXIudHMnO1xuZXhwb3J0IHtcbiAgZ2V0VGVtcGxhdGVyRnVuY3Rpb25zLFxuICBnZXRUZW1wbGF0ZXJSZW5kZXJUYXJnZXRGaWxlLFxuICBwYXJzZVRlbXBsYXRlLFxuICByZXF1aXJlVGVtcGxhdGVyQXBpLFxuICByZXNvbHZlVGVtcGxhdGVyQXBpLFxuICBURU1QTEFURVJfUExVR0lOX0lELFxuICBUZW1wbGF0ZXJBY3RpdmVGaWxlUHJvdmlkZXIsXG4gIFRlbXBsYXRlclJ1bk1vZGUsXG4gIFRlbXBsYXRlclVuYXZhaWxhYmlsaXR5UmVhc29uLFxuICBUZW1wbGF0ZXJVbmF2YWlsYWJsZUVycm9yXG59IGZyb20gJy4vdGVtcGxhdGVyLnRzJztcbmV4cG9ydCB7IER1cmF0aW9uVHJhbnNmb3JtZXIgfSBmcm9tICcuL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG5leHBvcnQge1xuICBjbGlja0VsZW1lbnQsXG4gIGNsaWNrTW91c2UsXG4gIGhvdmVyRWxlbWVudCxcbiAgbW92ZU1vdXNlLFxuICBwcmVzc0tleSxcbiAgdHlwZUludG9FZGl0b3IsXG4gIHVuaG92ZXJFbGVtZW50XG59IGZyb20gJy4vdHJ1c3RlZC1pbnB1dC50cyc7XG5leHBvcnQge1xuICBBTkRST0lEX1VOU0FGRV9QQVRIX0NIQVJTLFxuICBnZXRGaWxlTmFtZVZhbGlkYXRpb25NZXNzYWdlLFxuICBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwLFxuICBnZXRPc1Vuc2FmZVBhdGhDaGFyc1JlZ0V4cCxcbiAgZ2V0UGF0aFZhbGlkYXRpb25NZXNzYWdlLFxuICBoYXNXaW5kb3dzVHJhaWxpbmdDaGFycyxcbiAgaXNWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcixcbiAgaXNXaW5kb3dzUmVzZXJ2ZWROYW1lLFxuICBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlMsXG4gIHRyaW1XaW5kb3dzVHJhaWxpbmdDaGFycyxcbiAgVU5JWF9VTlNBRkVfUEFUSF9DSEFSUyxcbiAgV0lORE9XU19VTlNBRkVfUEFUSF9DSEFSU1xufSBmcm9tICcuL3ZhbGlkYXRpb24udHMnO1xuZXhwb3J0IHtcbiAgZGVsZXRlSWZOb3RVc2VkLFxuICBEZWxldGVJZk5vdFVzZWRSZXN1bHRcbn0gZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0IHsgVmF1bHRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdmF1bHQtdHJhbnNhY3Rpb24udHMnO1xuZXhwb3J0IHtcbiAgY2xlYW51cEVtcHR5Rm9sZGVycyxcbiAgY29weVNhZmUsXG4gIGNyZWF0ZUZvbGRlclNhZmUsXG4gIENyZWF0ZUZvbGRlclNhZmVSZXN1bHQsXG4gIGNyZWF0ZVRlbXBvcmFyeUZpbGUsXG4gIGNyZWF0ZVRlbXBvcmFyeUZvbGRlcixcbiAgZGVsZXRlRW1wdHlGb2xkZXIsXG4gIGRlbGV0ZUVtcHR5Rm9sZGVySGllcmFyY2h5LFxuICBnZXRBYnN0cmFjdEZpbGVQYXRoU2FmZSxcbiAgZ2V0QXZhaWxhYmxlUGF0aCxcbiAgZ2V0RmlsZVBhdGhTYWZlLFxuICBnZXRGb2xkZXJQYXRoU2FmZSxcbiAgZ2V0TWFya2Rvd25GaWxlc1NvcnRlZCxcbiAgZ2V0Tm90ZUZpbGVzU29ydGVkLFxuICBnZXRPckNyZWF0ZUFic3RyYWN0RmlsZVNhZmUsXG4gIGdldE9yQ3JlYXRlRmlsZVNhZmUsXG4gIGdldE9yQ3JlYXRlRm9sZGVyU2FmZSxcbiAgZ2V0U2FmZVJlbmFtZVBhdGgsXG4gIEludm9rZUZpbGVBY3Rpb25TYWZlUmVzdWx0LFxuICBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2ssXG4gIGlzQ2hpbGQsXG4gIGlzQ2hpbGRPclNlbGYsXG4gIGlzRW1wdHlGb2xkZXIsXG4gIGxpc3RTYWZlLFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZSxcbiAgc2F2ZU5vdGUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcbmV4cG9ydCB7IFBsdWdpblZpZXdSZWdpc3RyYXIgfSBmcm9tICcuL3ZpZXctcmVnaXN0cmFyLnRzJztcbmV4cG9ydCB7IHJlZ2lzdGVyVmlydHVhbEZpbGUgfSBmcm9tICcuL3ZpcnR1YWwtZmlsZS50cyc7XG5leHBvcnQge1xuICBlbnN1cmVMYXlvdXRSZWFkeSxcbiAgZ2V0QWxsQ29udGFpbmVycyxcbiAgZ2V0QWxsRG9tV2luZG93cyxcbiAgZ2V0TWFpbldpbmRvdyxcbiAgc3dpdGNoVG9NYWluV2luZG93LFxuICBzd2l0Y2hUb1dpbmRvd1xufSBmcm9tICcuL3dvcmtzcGFjZS50cyc7XG5leHBvcnQge1xuICBhYm9ydFNpZ25hbEFueSxcbiAgYWJvcnRTaWduYWxOZXZlcixcbiAgYWJvcnRTaWduYWxUaW1lb3V0LFxuICBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIsXG4gIGdldFNoYXJlZEFib3J0U2lnbmFsLFxuICBJTkZJTklURV9USU1FT1VULFxuICBvbkFib3J0LFxuICBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLFxuICB3YWl0Rm9yQWJvcnRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Fib3J0LWNvbnRyb2xsZXInO1xuZXhwb3J0IHsgY3JlYXRlQWdncmVnYXRlRXJyb3IgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWdncmVnYXRlLWVycm9yJztcbmV4cG9ydCB7XG4gIGFycmF5R3VhcmQsXG4gIEJPT0xFQU5fR1VBUkQsXG4gIGNyZWF0ZUFwaUNvbnRyYWN0U2NoZW1hQnVpbGRlcnMsXG4gIGNyZWF0ZUFyZ3VtZW50c1NjaGVtYSxcbiAgY3JlYXRlRXhwZWN0ZWRUeXBlR3VhcmQsXG4gIGNyZWF0ZVR5cGVHdWFyZFNjaGVtYSxcbiAgZGVmaW5lQXBpQ29udHJhY3QsXG4gIGluc3RhbmNlT2ZHdWFyZCxcbiAgbGl0ZXJhbEd1YXJkLFxuICBudWxsYWJsZUd1YXJkLFxuICBOVU1CRVJfR1VBUkQsXG4gIG9iamVjdEd1YXJkLFxuICBvcHRpb25hbEd1YXJkLFxuICBvcHRpb25zR3VhcmQsXG4gIFNUUklOR19BUlJBWV9HVUFSRCxcbiAgU1RSSU5HX0dVQVJELFxuICBVTkRFRklORURfR1VBUkQsXG4gIHVuaW9uR3VhcmRcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FwaS1jb250cmFjdCc7XG5leHBvcnQge1xuICB2YWxpZGF0ZVN5bmMsXG4gIHZlcmlmeUFwaUNvbnRyYWN0XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcGktY29udHJhY3QtdmVyaWZpZXInO1xuZXhwb3J0IHtcbiAgZmlsdGVySW5QbGFjZSxcbiAgc25hcHNob3QsXG4gIHVuaXF1ZSxcbiAgdW5pcXVlSW5QbGFjZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXJyYXknO1xuZXhwb3J0IHsgdG9BcnJheUJ1ZmZlciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hcnJheS1idWZmZXInO1xuZXhwb3J0IHtcbiAgYWRkRXJyb3JIYW5kbGVyLFxuICBhc3luY0ZpbHRlcixcbiAgYXN5bmNGaWx0ZXJJblBsYWNlLFxuICBhc3luY0ZsYXRNYXAsXG4gIGFzeW5jTWFwLFxuICBjaGFpbixcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBjb252ZXJ0U3luY1RvQXN5bmMsXG4gIGhhbmRsZVNpbGVudEVycm9yLFxuICBpZ25vcmVFcnJvcixcbiAgaW52b2tlQXN5bmNTYWZlbHksXG4gIGludm9rZUFzeW5jU2FmZWx5QWZ0ZXJEZWxheSxcbiAgaXNUZXJtaW5hdGlvbk9uVGltZW91dEVuYWJsZWQsXG4gIG1hcmtzQXNUZXJtaW5hdGVSZXRyeSxcbiAgbmV2ZXJFbmRzLFxuICBuZXh0VGlja0FzeW5jLFxuICBub3JtYWxpemVQcm9taXNhYmxlLFxuICBwcm9taXNlQWxsQXN5bmNGbnNTZXF1ZW50aWFsbHksXG4gIHByb21pc2VBbGxTZXF1ZW50aWFsbHksXG4gIHF1ZXVlTWljcm90YXNrQXN5bmMsXG4gIHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jLFxuICByZXRyeVdpdGhUaW1lb3V0LFxuICBydW5XaXRoVGltZW91dCxcbiAgc2V0SW1tZWRpYXRlQXN5bmMsXG4gIHNldFRlcm1pbmF0aW9uT25UaW1lb3V0RW5hYmxlZCxcbiAgc2V0VGltZW91dEFzeW5jLFxuICBzbGVlcCxcbiAgdGltZW91dCxcbiAgdG9BcnJheVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYXN5bmMnO1xuZXhwb3J0IHtcbiAgQXN5bmNFdmVudFJlZkRpc3Bvc2FibGUsXG4gIEFzeW5jRXZlbnRzLFxuICBBc3luY0V2ZW50c0Jhc2UsXG4gIG1peGluQXN5bmNFdmVudHMsXG4gIHN1YnNjcmliZUFzeW5jRGlzcG9zYWJsZUV2ZW50XG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYy1ldmVudHMnO1xuZXhwb3J0IHtcbiAgQVNZTkNfT1BFUkFUSU9OX0hPT0tfS0VZLFxuICBBU1lOQ19PUEVSQVRJT05fSE9PS19WRVJTSU9OLFxuICBnZXRBc3luY09wZXJhdGlvbkhvb2ssXG4gIG5vdGlmeUFzeW5jT3BlcmF0aW9uU3RhcnRlZCxcbiAgc2V0QXN5bmNPcGVyYXRpb25Ib29rXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYy1vcGVyYXRpb24taG9vayc7XG5leHBvcnQgeyBCZWVwZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYmVlcGVyJztcbmV4cG9ydCB7XG4gIGJsb2JUb0FycmF5QnVmZmVyLFxuICBibG9iVG9EYXRhVXJsLFxuICBibG9iVG9KcGVnQXJyYXlCdWZmZXIsXG4gIGRhdGFVcmxUb0FycmF5QnVmZmVyLFxuICBpc0ltYWdlRmlsZVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYmxvYic7XG5leHBvcnQgeyBmb3JtYXRCeXRlcyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9ieXRlcyc7XG5leHBvcnQge1xuICBlbmFibGVMaWJyYXJ5RGVidWdnZXJzLFxuICBmb3JtYXREZWJ1Z0d1aWRlUmVmZXJlbmNlLFxuICBnZXREZWJ1Z0NvbnRyb2xsZXIsXG4gIGdldERlYnVnZ2VyLFxuICBnZXRMaWJEZWJ1Z2dlcixcbiAgaXNEZWJ1Z05hbWVzcGFjZUVuYWJsZWQsXG4gIHByaW50V2l0aFN0YWNrVHJhY2Vcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2RlYnVnJztcbmV4cG9ydCB7XG4gIGdldERlYnVnU3dpdGNoLFxuICBnZXREZWJ1Z1N3aXRjaGVzLFxuICBnZXRUZXJtaW5hdGVPblRpbWVvdXREZWJ1Z1N3aXRjaCxcbiAgb25EZWJ1Z1N3aXRjaENoYW5nZWQsXG4gIHJlZ2lzdGVyRGVidWdTd2l0Y2gsXG4gIHNldERlYnVnU3dpdGNoXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kZWJ1Zy1zd2l0Y2hlcyc7XG5leHBvcnQgeyBleHRyYWN0WmlwQXJjaGl2ZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kZXNrdG9wLXppcC1leHRyYWN0b3InO1xuZXhwb3J0IHtcbiAgQXN5bmNDYWxsYmFja0Rpc3Bvc2FibGUsXG4gIEFzeW5jRGlzcG9zYWJsZUJhc2UsXG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZUFzeW5jRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGUsXG4gIERpc3Bvc2FibGVCYXNlLFxuICBkaXNwb3NlLFxuICBkaXNwb3NlQXN5bmMsXG4gIERpc3Bvc2VFcnJvckJlaGF2aW9yLFxuICBEaXNwb3NlT3JkZXIsXG4gIGlzQXN5bmNEaXNwb3NhYmxlLFxuICBpc0FzeW5jRGlzcG9zYWJsZUV4LFxuICBpc0Rpc3Bvc2FibGUsXG4gIGlzRGlzcG9zYWJsZUV4LFxuICBNdWx0aXBsZURpc3Bvc2VCZWhhdmlvcixcbiAgdG9Bc3luY0Rpc3Bvc2FibGVFeCxcbiAgdG9EaXNwb3NhYmxlRXhcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuZXhwb3J0IHtcbiAgZ2V0RW51bUtleSxcbiAgZ2V0RW51bVZhbHVlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9lbnVtJztcbmV4cG9ydCB7XG4gIEFTWU5DX1dSQVBQRVJfRVJST1JfTUVTU0FHRSxcbiAgQ3VzdG9tU3RhY2tUcmFjZUVycm9yLFxuICBkcmFpbkNvbGxlY3RlZFVuaGFuZGxlZEFzeW5jRXJyb3JzLFxuICBlbWl0QXN5bmNFcnJvckV2ZW50LFxuICBlcnJvclRvU3RyaW5nLFxuICBFcnJvcldyYXBwZXIsXG4gIGdldFN0YWNrVHJhY2UsXG4gIGlzQXN5bmNFcnJvcklnbm9yZUNvbnRleHRBY3RpdmUsXG4gIHByaW50RXJyb3IsXG4gIHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcixcbiAgU2lsZW50RXJyb3IsXG4gIHN0YXJ0QXN5bmNFcnJvcklnbm9yZUNvbnRleHQsXG4gIHN0YXJ0Q29sbGVjdGluZ1VuaGFuZGxlZEFzeW5jRXJyb3JzLFxuICBzdG9wQ29sbGVjdGluZ1VuaGFuZGxlZEFzeW5jRXJyb3JzLFxuICB0aHJvd0V4cHJlc3Npb25cbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Vycm9yJztcbmV4cG9ydCB7XG4gIGNsb25lRnVuY3Rpb24sXG4gIGNyZWF0ZUZ1bmN0aW9uLFxuICBnZXRGdW5jdGlvbkV4cHJlc3Npb25TdHJpbmcsXG4gIG5vb3AsXG4gIG5vb3BBc3luYyxcbiAgbm9vcEFzeW5jU2luZ2xldG9uUHJvbWlzZSxcbiAgb21pdEFzeW5jUmV0dXJuVHlwZSxcbiAgb21pdFJldHVyblR5cGVcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Z1bmN0aW9uJztcbmV4cG9ydCB7XG4gIGNyZWF0ZURpdkFzeW5jLFxuICBjcmVhdGVFbEFzeW5jLFxuICBjcmVhdGVGcmFnbWVudEFzeW5jLFxuICBjcmVhdGVTcGFuQXN5bmMsXG4gIGNyZWF0ZVN2Z0FzeW5jLFxuICBlbnN1cmVMb2FkZWQsXG4gIGdldERvY3VtZW50V2luZG93LFxuICBnZXRaSW5kZXgsXG4gIGlzRWxlbWVudFZpc2libGVJbk9mZnNldFBhcmVudCxcbiAgaXNMb2FkZWQsXG4gIG9uQW5jZXN0b3JTY3JvbGxPclJlc2l6ZSxcbiAgdG9QeCxcbiAgd2FpdFVudGlsQ29ubmVjdGVkXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9odG1sLWVsZW1lbnQnO1xuZXhwb3J0IHtcbiAgZXh0cmFjdEpwZWdNZXRhZGF0YVNlZ21lbnRzLFxuICBpbmplY3RKcGVnTWV0YWRhdGFTZWdtZW50c1xufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvanBlZy1tZXRhZGF0YSc7XG5leHBvcnQge1xuICBERUZBVUxUX0RFQlVHX05BTUVTUEFDRSxcbiAgTGlicmFyeSxcbiAgTElCUkFSWV9OQU1FXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9saWJyYXJ5JztcbmV4cG9ydCB7XG4gIGFzc2lnbldpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyxcbiAgY2FzdFRvLFxuICBjbG9uZVdpdGhOb25FbnVtZXJhYmxlUHJvcGVydGllcyxcbiAgZGVsZXRlUHJvcGVydGllcyxcbiAgZGVsZXRlUHJvcGVydHksXG4gIGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCxcbiAgRnVuY3Rpb25IYW5kbGluZ01vZGUsXG4gIGdldEFsbEVudHJpZXMsXG4gIGdldEFsbEtleXMsXG4gIGdldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIGdldFByb3RvdHlwZU9mLFxuICBpc0RlZXBFcXVhbCxcbiAgbmFtZW9mLFxuICBub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXMsXG4gIHJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXMsXG4gIHNldE5lc3RlZFByb3BlcnR5VmFsdWUsXG4gIHRvSnNvblxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmV4cG9ydCB7XG4gIGJhc2VuYW1lLFxuICBkZWxpbWl0ZXIsXG4gIGRpcm5hbWUsXG4gIGV4dG5hbWUsXG4gIGZvcm1hdCxcbiAgZ2V0RmlsZU5hbWUsXG4gIGdldEZvbGRlck5hbWUsXG4gIGlzQWJzb2x1dGUsXG4gIGpvaW4sXG4gIG1ha2VGaWxlTmFtZSxcbiAgbm9ybWFsaXplSWZSZWxhdGl2ZSxcbiAgbm9ybWFsaXplUGF0aCxcbiAgcGFyc2UsXG4gIHBvc2l4LFxuICByZWxhdGl2ZSxcbiAgcmVzb2x2ZSxcbiAgc2VwYXJhdG9yLFxuICB0b1Bvc2l4QnVmZmVyLFxuICB0b1Bvc2l4UGF0aFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5leHBvcnQge1xuICBBTFdBWVNfTUFUQ0hfUkVHX0VYUCxcbiAgZXNjYXBlUmVnRXhwLFxuICBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwLFxuICBnZXRPcHRpb25hbE5hbWVkR3JvdXAsXG4gIGlzVmFsaWRSZWdFeHAsXG4gIE5FVkVSX01BVENIX1JFR19FWFAsXG4gIG9uZU9mLFxuICBSZWdFeHBNZXJnZUZsYWdzQ29uZmxpY3RTdHJhdGVneVxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcmVnLWV4cCc7XG5leHBvcnQge1xuICBFTVBUWSxcbiAgZW5zdXJlRW5kc1dpdGgsXG4gIGVuc3VyZUxmRW5kaW5ncyxcbiAgZW5zdXJlU3RhcnRzV2l0aCxcbiAgZXNjYXBlLFxuICBnZXRMZk5vcm1hbGl6ZWRPZmZzZXRUb09yaWdpbmFsT2Zmc2V0TWFwcGVyLFxuICBoYXNTaW5nbGVPY2N1cnJlbmNlLFxuICBpbmRlbnQsXG4gIGluc2VydEF0LFxuICBtYWtlVmFsaWRWYXJpYWJsZU5hbWUsXG4gIG5vcm1hbGl6ZVN0cmluZyxcbiAgcmVwbGFjZSxcbiAgcmVwbGFjZUFsbCxcbiAgcmVwbGFjZUFsbEFzeW5jLFxuICB0cmltRW5kLFxuICB0cmltU3RhcnQsXG4gIHVuZXNjYXBlLFxuICB1bmluZGVudFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmV4cG9ydCB7IERhdGVUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvZGF0ZS10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBHcm91cFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9ncm91cC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBNYXBUcmFuc2Zvcm1lciB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90cmFuc2Zvcm1lcnMvbWFwLXRyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFNldFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9zZXQtdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgU2tpcFByaXZhdGVQcm9wZXJ0eVRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy9za2lwLXByaXZhdGUtcHJvcGVydHktdHJhbnNmb3JtZXInO1xuZXhwb3J0IHsgVHJhbnNmb3JtZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHJhbnNmb3JtZXJzL3RyYW5zZm9ybWVyJztcbmV4cG9ydCB7IFR3b1dheU1hcFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy90d28td2F5LW1hcC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUeXBlZFRyYW5zZm9ybWVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3RyYW5zZm9ybWVycy90eXBlZC10cmFuc2Zvcm1lcic7XG5leHBvcnQgeyBUd29XYXlNYXAgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdHdvLXdheS1tYXAnO1xuZXhwb3J0IHsgVHlwZUFzc2VydGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUnO1xuZXhwb3J0IHtcbiAgYXJyYXlUeXBlR3VhcmQsXG4gIGFzc2VydCxcbiAgYXNzZXJ0R2VuZXJpY09iamVjdCxcbiAgYXNzZXJ0TmV2ZXIsXG4gIGFzc2VydE5vbk51bGxhYmxlLFxuICBlbnN1cmVHZW5lcmljT2JqZWN0LFxuICBlbnN1cmVOb25OdWxsYWJsZSxcbiAgZnVuY3Rpb25UeXBlR3VhcmQsXG4gIGluc3RhbmNlT2ZUeXBlR3VhcmQsXG4gIGlzQm9vbGVhbixcbiAgaXNGdW5jdGlvbixcbiAgaXNOdWxsLFxuICBpc051bWJlcixcbiAgaXNPYmplY3QsXG4gIGlzU3RyaW5nLFxuICBpc1N0cmluZ0FycmF5LFxuICBpc1VuZGVmaW5lZCxcbiAgbGl0ZXJhbFR5cGVHdWFyZCxcbiAgbnVsbGFibGVUeXBlR3VhcmQsXG4gIG9iamVjdFR5cGVHdWFyZCxcbiAgb3B0aW9uYWxUeXBlR3VhcmQsXG4gIHVuaW9uVHlwZUd1YXJkXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5leHBvcnQge1xuICBnZXRUeXBlc2NyaXB0TGliU3RhdGUsXG4gIGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QsXG4gIHJlc2V0VHlwZXNjcmlwdExpYlN0YXRlLFxuICBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVksXG4gIFRZUEVTQ1JJUFRfTElCX1NUQVRFX1ZFUlNJT05cbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGVzY3JpcHQtbGliLXN0YXRlJztcbmV4cG9ydCB7XG4gIGVuY29kZVVybCxcbiAgaXNGaWxlVXJsLFxuICBpc1VybCxcbiAgbm9ybWFsaXplRmlsZVVybCxcbiAgcGF0aFRvRmlsZVVybFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdXJsJztcbmV4cG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi92YWx1ZS1wcm92aWRlcic7XG5leHBvcnQgeyBWYWx1ZVdyYXBwZXIgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvdmFsdWUtd3JhcHBlcic7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLGtD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QUFDUCw2QkFBcUM7QUFDckMsMEJBbUJPO0FBQ1AsbUNBR087QUFDUCxtQkFLTztBQUNQLDBCQUE4QjtBQUM5QixtQkE4Qk87QUFDUCwwQkFNTztBQUNQLGtDQU1PO0FBQ1Asb0JBQXVCO0FBQ3ZCLGtCQU1PO0FBQ1AsbUJBQTRCO0FBQzVCLElBQUFBLGdCQVFPO0FBQ1AsNEJBT087QUFDUCxtQ0FBa0M7QUFDbEMsd0JBa0JPO0FBQ1Asa0JBR087QUFDUCxtQkFnQk87QUFDUCxzQkFTTztBQUNQLElBQUFDLHVCQWNPO0FBQ1AsMkJBR087QUFDUCxJQUFBQyxrQkFJTztBQUNQLDBCQWtCTztBQUNQLGtCQW9CTztBQUNQLHFCQVNPO0FBQ1Asb0JBbUJPO0FBQ1AsOEJBQWdDO0FBQ2hDLCtCQUFpQztBQUNqQyw2QkFBK0I7QUFDL0IsNkJBQStCO0FBQy9CLCtDQUErQztBQUMvQyx5QkFBNEI7QUFDNUIscUNBQXFDO0FBQ3JDLCtCQUFpQztBQUNqQyx5QkFBMEI7QUFDMUIsa0JBQTZCO0FBQzdCLHlCQXVCTztBQUNQLGtDQU1PO0FBQ1AsaUJBTU87QUFDUCw0QkFBNkI7QUFDN0IsMkJBQTZCOyIsIm5hbWVzIjpbImltcG9ydF9kZWJ1ZyIsImltcG9ydF9odG1sX2VsZW1lbnQiLCJpbXBvcnRfbGlicmFyeSJdfQ==
@@ -40,7 +40,7 @@ export { UnlockActiveNoteCommandHandler } from './command-handlers/unlock-active
40
40
  export { PluginCommandRegistrar } from './command-registrar.cjs';
41
41
  export { configureCommunityPlugin, ConfigureCommunityPluginResult, disableCommunityPlugin, enableCommunityPlugin, getCommunityPluginRepo, getLatestReleaseVersion, installCommunityPlugin, installConfigureEnableCommunityPlugin, PluginEnableRefusedError, searchCommunityPlugins, toggleEnableCommunityPlugin, toggleInstallCommunityPlugin, uninstallCommunityPlugin, updateCommunityPlugin, UpdateCommunityPluginResult } from './community-plugins.cjs';
42
42
  export { AbortSignalComponent } from './components/abort-signal-component.cjs';
43
- export { AllWindowsEventComponent } from './components/all-windows-event-component.cjs';
43
+ export { AllWindowsEventComponent, forEachWindow, registerBodyClass } from './components/all-windows-event-component.cjs';
44
44
  export { AsyncErrorHandlerComponent } from './components/async-error-handler-component.cjs';
45
45
  export { registerAsyncEvent } from './components/async-events-component.cjs';
46
46
  export { BulkOperationCommitComponent } from './components/bulk-operation-commit-component.cjs';
@@ -78,6 +78,7 @@ export { TemplatesLanguageComponent } from './components/templates-language-comp
78
78
  export { getDomEventsHandlersConstructor } from './constructors/get-dom-events-handlers-constructor.cjs';
79
79
  export { CssClass } from './css-class.cjs';
80
80
  export { PluginDataHandler } from './data-handler.cjs';
81
+ export { DataStoreLocations } from './data-stores/data-store-locations.cjs';
81
82
  export { DataStoreReplica, isDataStoreJsonValue, isDataStoreOperation } from './data-stores/data-store-replica.cjs';
82
83
  export { DataStoreSeeds, validateDataStoreSeed } from './data-stores/data-store-seeds.cjs';
83
84
  export { DataStoreTransport } from './data-stores/data-store-transport.cjs';
@@ -105,6 +106,7 @@ export { revealInFileExplorer } from './file-explorer.cjs';
105
106
  export { addAlias, deleteAlias, processFrontmatter, waitForPendingLinkUpdates } from './file-manager.cjs';
106
107
  export { asArrayOfFiles, asArrayOfFolders, asFile, asFileOrNull, asFolder, asFolderOrNull, BASE_FILE_EXTENSION, CANVAS_FILE_EXTENSION, checkExtension, doesExist, FileSystemType, getAbstractFile, getAbstractFileOrNull, getBasename, getExtension, getFile, getFileOrNull, getFileSystemType, getFolder, getFolderOrNull, getMarkdownFiles, getOrCreateFile, getOrCreateFolder, getPath, isAbstractFile, isBaseFile, isCanvasFile, isFile, isFolder, isMarkdownFile, isNote, isPathOrFile, isTreatedAsAttachment, MARKDOWN_FILE_EXTENSION, MissingPathTreatment, trimMarkdownExtension } from './file-system.cjs';
107
108
  export { FOLDER_NOTES_PLUGIN_ID, FolderNoteLocation, getFolderNoteFolder, resolveFolderNote, resolveFolderNoteConfig } from './folder-note.cjs';
109
+ export { createFormulaFunction, createFormulaFunctionParameter, registerFormulaFunction } from './formula-function.cjs';
108
110
  export { enableFrontmatterFormattingPreservation, preserveFrontmatterFormatting } from './frontmatter-formatting.cjs';
109
111
  export { isFrontmatterLinkCacheWithOffsets, toFrontmatterLinkCacheWithOffsets } from './frontmatter-link-cache-with-offsets.cjs';
110
112
  export { checkIsPlainObject, parseFrontmatter, registerFrontmatterFormattingPreserver, removeEmptyFrontmatterValues, setFrontmatter } from './frontmatter.cjs';
@@ -216,6 +218,7 @@ export { deleteIfNotUsed, DeleteIfNotUsedResult } from './vault-delete.cjs';
216
218
  export { VaultTransaction } from './vault-transaction.cjs';
217
219
  export { cleanupEmptyFolders, copySafe, createFolderSafe, CreateFolderSafeResult, createTemporaryFile, createTemporaryFolder, deleteEmptyFolder, deleteEmptyFolderHierarchy, getAbstractFilePathSafe, getAvailablePath, getFilePathSafe, getFolderPathSafe, getMarkdownFilesSorted, getNoteFilesSorted, getOrCreateAbstractFileSafe, getOrCreateFileSafe, getOrCreateFolderSafe, getSafeRenamePath, InvokeFileActionSafeResult, invokeWithFileSystemLock, isChild, isChildOrSelf, isEmptyFolder, listSafe, process, readSafe, renameSafe, saveNote, trashSafe } from './vault.cjs';
218
220
  export { PluginViewRegistrar } from './view-registrar.cjs';
221
+ export { registerVirtualFile } from './virtual-file.cjs';
219
222
  export { ensureLayoutReady, getAllContainers, getAllDomWindows, getMainWindow, switchToMainWindow, switchToWindow } from './workspace.cjs';
220
223
  export { abortSignalAny, abortSignalNever, abortSignalTimeout, getSharedAbortController, getSharedAbortSignal, INFINITE_TIMEOUT, onAbort, ResettableAbortController, waitForAbort } from '@mnaoumov/typescript-lib/abort-controller';
221
224
  export { createAggregateError } from '@mnaoumov/typescript-lib/aggregate-error';
@@ -232,10 +232,7 @@ function getLanguageFromElement(element) {
232
232
  return [...element.classList].find((cls) => cls.startsWith(BLOCK_LANGUAGE_PREFIX))?.slice(BLOCK_LANGUAGE_PREFIX.length) ?? "";
233
233
  }
234
234
  function getTextSelection(element) {
235
- if (!isTextSelectionElement(element)) {
236
- return null;
237
- }
238
- if (element.selectionStart === null || element.selectionEnd === null) {
235
+ if (!isTextSelectionElement(element) || element.selectionStart === null || element.selectionEnd === null) {
239
236
  return null;
240
237
  }
241
238
  return {
@@ -269,4 +266,4 @@ function pruneExpiredEntries(entries) {
269
266
  recordCodeBlockRenderHandoff,
270
267
  restoreCodeBlockFocus
271
268
  });
272
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlLWJsb2NrLXJlbmRlci1oYW5kb2ZmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDYXJyaWVzIGZvY3VzIGFuZCBwbHVnaW4gc3RhdGUgZnJvbSBhIGNvZGUgYmxvY2sgdG8gaXRzIG5leHQgcmVuZGVyLlxuICpcbiAqIE9ic2lkaWFuIHJlbmRlcnMgYSBjb2RlIGJsb2NrIGFnYWluIHdoZW5ldmVyIGl0cyBzb3VyY2UgdGV4dCBjaGFuZ2VzOiBSZWFkaW5nIHZpZXcgcmUtcmVuZGVycyB0aGUgc2VjdGlvbiBhbmQgTGl2ZVxuICogUHJldmlldyByZXBsYWNlcyB0aGUgd2lkZ2V0LiBTbyBhIGJsb2NrIHRoYXQgZWRpdHMgaXRzIG93biBzb3VyY2UgKGEgY291bnRlciwgYSBjaGVja2JveCwgYSBzZXR0aW5ncyBmb3JtKSBsb3NlcyB0aGVcbiAqIGVsZW1lbnQgdGhlIHVzZXIgd2FzIGludGVyYWN0aW5nIHdpdGgsIGl0cyBmb2N1cyBhbmQgd2hhdGV2ZXIgdGhlIHBsdWdpbiBrZXB0IG9uIGl0LiBUaGUgZWxlbWVudCBpdHNlbGYgY2Fubm90IGJlXG4gKiBrZXB0IHdpdGhvdXQgcGF0Y2hpbmcgT2JzaWRpYW4ncyByZW5kZXJlcnMsIHNvIHRoZSB3cml0ZSByZWNvcmRzIGEgaGFuZG9mZiBpbnN0ZWFkLCBhbmQgdGhlIHByb2Nlc3NvciByZW5kZXJpbmcgdGhlXG4gKiBuZXcgc291cmNlIGNsYWltcyBpdDogaXQgZ2V0cyBiYWNrIHRoZSBzdGF0ZSB0aGUgd3JpdGUgcGFzc2VkIGFuZCBjYW4gcHV0IHRoZSBmb2N1cyBiYWNrIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG4gKlxuICogVGhlIGhhbmRvZmYgaXMgbWF0Y2hlZCBieSBzb3VyY2UgcGF0aCwgbGFuZ3VhZ2UgYW5kIHRoZSBuZXcgYmxvY2sgY29udGVudCwgYW5kIGl0IGxpdmVzIGZvclxuICoge0BsaW5rIENPREVfQkxPQ0tfUkVOREVSX0hBTkRPRkZfTElGRVRJTUVfSU5fTUlMTElTRUNPTkRTfS4gVGhlIGZpcnN0IHJlbmRlciB0byBjbGFpbSBpdCBjb25zdW1lcyBpdCwgc28gd2hlbiB0aGVcbiAqIG5vdGUgaXMgb3BlbiBpbiB0d28gcGFuZXMgb25seSBvbmUgb2YgdGhlIG5ldyByZW5kZXJzIGdldHMgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQge1xuICBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwLFxuICBnZXRPcHRpb25hbE5hbWVkR3JvdXBcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuaW1wb3J0IHsgZW5zdXJlTGZFbmRpbmdzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuTGliU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogSG93IGxvbmcgYSByZWNvcmRlZCBoYW5kb2ZmIHdhaXRzIGZvciB0aGUgcmVuZGVyIHRoYXQgY2xhaW1zIGl0LlxuICovXG5leHBvcnQgY29uc3QgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMgPSAxMF8wMDA7XG5cbmNvbnN0IEhBTkRPRkZfU1RBVEVfS0VZID0gJ2NvZGVCbG9ja1JlbmRlckhhbmRvZmZWMSc7XG5jb25zdCBNQVhfRlJBTUVTX1RPX1dBSVRfRk9SX0NPTk5FQ1RJT04gPSA2MDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHtAbGluayBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0fSB0aGUgcHJvY2Vzc29yIHJlY2VpdmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhlIHByb2Nlc3NvciByZW5kZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgdGhlIHByb2Nlc3NvciByZWNlaXZlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoZXJlIHRoZSBmb2N1cyB3YXMgaW5zaWRlIGEgcmVuZGVyZWQgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQmxvY2tGb2N1c1NuYXBzaG90IHtcbiAgLyoqXG4gICAqIFRoZSBjaGlsZCBpbmRpY2VzIGxlYWRpbmcgZnJvbSB0aGUgY29kZSBibG9jayBlbGVtZW50IHRvIHRoZSBmb2N1c2VkIGVsZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBjaGlsZEluZGV4UGF0aDogcmVhZG9ubHkgbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHNlbGVjdGlvbiBvZiBhIGZvY3VzZWQgaW5wdXQgb3IgdGV4dCBhcmVhLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0aW9uOiBudWxsIHwgVGV4dFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIGhhbmRvZmYgY2xhaW1lZCBieSB0aGUgcmVuZGVyIG9mIGEgY29kZSBibG9jayB3aG9zZSBzb3VyY2UgYSB3cml0ZSBqdXN0IGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJsb2NrUmVuZGVySGFuZG9mZiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3cml0ZSByZWNvcmRlZCBhIGZvY3VzZWQgZWxlbWVudCB0byByZXN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzRm9jdXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW5zaWRlIHRoZSBuZXcgcmVuZGVyLCB3aXRoIHRoZSBzYW1lIHRleHQgc2VsZWN0aW9uLlxuICAgKlxuICAgKiBDYWxsIGl0IG9uY2UgdGhlIHByb2Nlc3NvciBoYXMgcmVuZGVyZWQgdGhlIGJsb2NrLiBJdCB3YWl0cyBmb3IgdGhlIGVsZW1lbnQgdG8gYmUgYXR0YWNoZWQgdG8gYSBkb2N1bWVudC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciBhbiBlbGVtZW50IHdhcyBmb2N1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdG9yZUZvY3VzOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgcGFzc2VkIHRvIHRoZSB3cml0ZSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBub25lIHdhcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2N1cyBjYXB0dXJlZCBmcm9tIHRoZSBvbGQgcmVuZGVyIHdpdGgge0BsaW5rIGNhcHR1cmVDb2RlQmxvY2tGb2N1c30uXG4gICAqL1xuICByZWFkb25seSBmb2N1czogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2RlIGJsb2NrIHdyaXR0ZW4gdG8gdGhlIG5vdGUsIGZlbmNlcyBpbmNsdWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG5ld0NvZGVCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgbm90ZSB0aGUgY29kZSBibG9jayBpcyBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHBhc3MgdG8gdGhlIG5leHQgcmVuZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU6IHVua25vd247XG59XG5cbmludGVyZmFjZSBIYW5kb2ZmRW50cnkge1xuICByZWFkb25seSBleHBpcmVzQXQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgZm9jdXM6IENvZGVCbG9ja0ZvY3VzU25hcHNob3QgfCBudWxsO1xuICByZWFkb25seSBzdGF0ZTogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIFRleHRTZWxlY3Rpb24ge1xuICByZWFkb25seSBkaXJlY3Rpb246ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZSc7XG4gIHJlYWRvbmx5IGVuZDogbnVtYmVyO1xuICByZWFkb25seSBzdGFydDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVGV4dFNlbGVjdGlvbkVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkRpcmVjdGlvbjogJ2JhY2t3YXJkJyB8ICdmb3J3YXJkJyB8ICdub25lJyB8IG51bGw7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkVuZDogbnVsbCB8IG51bWJlcjtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU3RhcnQ6IG51bGwgfCBudW1iZXI7XG4gIHJlYWRvbmx5IHNldFNlbGVjdGlvblJhbmdlOiAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIGRpcmVjdGlvbj86ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZScpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQ2FwdHVyZXMgd2hlcmUgdGhlIGZvY3VzIGlzIGluc2lkZSBhIHJlbmRlcmVkIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGVsIC0gVGhlIGNvZGUgYmxvY2sgZWxlbWVudC5cbiAqIEByZXR1cm5zIFRoZSBzbmFwc2hvdCwgb3IgYG51bGxgIHdoZW4gdGhlIGZvY3VzIGlzIG5vdCBpbnNpZGUgdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlQ29kZUJsb2NrRm9jdXMoZWw6IEhUTUxFbGVtZW50KTogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGwge1xuICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZWwub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgYWN0aXZlRWxlbWVudCA9PT0gZWwgfHwgIWVsLmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaGlsZEluZGV4UGF0aDogbnVtYmVyW10gPSBbXTtcbiAgbGV0IGN1cnJlbnQ6IEVsZW1lbnQgfCBudWxsID0gYWN0aXZlRWxlbWVudDtcbiAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gZWwpIHtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAobGV0IHNpYmxpbmcgPSBjdXJyZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIGNoaWxkSW5kZXhQYXRoLnVuc2hpZnQoaW5kZXgpO1xuICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudEVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoaWxkSW5kZXhQYXRoLFxuICAgIHNlbGVjdGlvbjogZ2V0VGV4dFNlbGVjdGlvbihhY3RpdmVFbGVtZW50KVxuICB9O1xufVxuXG4vKipcbiAqIENsYWltcyB0aGUgaGFuZG9mZiBhIHdyaXRlIHJlY29yZGVkIGZvciB0aGUgY29kZSBibG9jayBiZWluZyByZW5kZXJlZC5cbiAqXG4gKiBDYWxsIGl0IGZyb20gYSBjb2RlIGJsb2NrIHByb2Nlc3Nvci4gSXQgcmV0dXJucyBgbnVsbGAgd2hlbiBubyB3cml0ZSBpcyB3YWl0aW5nIGZvciB0aGlzIHJlbmRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBoYW5kb2ZmLCBvciBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmYocGFyYW1zOiBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmIHwgbnVsbCB7XG4gIGNvbnN0IHsgY29udGV4dCwgZWwsIHNvdXJjZSB9ID0gcGFyYW1zO1xuICBjb25zdCBlbnRyaWVzID0gZ2V0SGFuZG9mZkVudHJpZXMoKTtcbiAgcHJ1bmVFeHBpcmVkRW50cmllcyhlbnRyaWVzKTtcblxuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KGNvbnRleHQuc291cmNlUGF0aCwgZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbCksIGVuc3VyZUxmRW5kaW5ncyhzb3VyY2UpKTtcbiAgY29uc3QgcXVldWUgPSBlbnRyaWVzLmdldChrZXkpO1xuICBjb25zdCBlbnRyeSA9IHF1ZXVlPy5zaGlmdCgpO1xuICBpZiAoIXF1ZXVlIHx8ICFlbnRyeSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgIGVudHJpZXMuZGVsZXRlKGtleSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhhc0ZvY3VzOiBlbnRyeS5mb2N1cyAhPT0gbnVsbCxcbiAgICBhc3luYyByZXN0b3JlRm9jdXMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICByZXR1cm4gZW50cnkuZm9jdXMgPyAoYXdhaXQgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzKGVsLCBlbnRyeS5mb2N1cykpIDogZmFsc2U7XG4gICAgfSxcbiAgICBzdGF0ZTogZW50cnkuc3RhdGVcbiAgfTtcbn1cblxuLyoqXG4gKiBSZWNvcmRzIGEgaGFuZG9mZiBmb3IgdGhlIG5leHQgcmVuZGVyIG9mIGEgY29kZSBibG9jayBhIHdyaXRlIGlzIGFib3V0IHRvIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFdoZXRoZXIgYSBoYW5kb2ZmIHdhcyByZWNvcmRlZDogYGZhbHNlYCB3aGVuIHRoZSBuZXcgdGV4dCBpcyBub3QgZXhhY3RseSBvbmUgY29kZSBibG9jay5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vY29uc2lzdGVudC1ib29sZWFuLW5hbWUgLS0gQSB2ZXJiIG5hbWVzIHRoZSBhY3Rpb247IHRoZSBib29sZWFuIG9ubHkgcmVwb3J0cyB3aGV0aGVyIGl0IHRvb2sgcGxhY2UuXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZihwYXJhbXM6IFJlY29yZENvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyBmb2N1cywgbmV3Q29kZUJsb2NrLCBzb3VyY2VQYXRoLCBzdGF0ZSB9ID0gcGFyYW1zO1xuICBjb25zdCBtYXRjaGVzID0gWy4uLmVuc3VyZUxmRW5kaW5ncyhuZXdDb2RlQmxvY2spLm1hdGNoQWxsKGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCgpKV07XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlc1swXTtcbiAgaWYgKG1hdGNoZXMubGVuZ3RoICE9PSAxIHx8ICFtYXRjaCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnTGluZVByZWZpeCcpO1xuICBjb25zdCBsYW5ndWFnZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdDb2RlQmxvY2tMYW5ndWFnZScpO1xuICBjb25zdCBjb250ZW50ID0gKGdldE9wdGlvbmFsTmFtZWRHcm91cChtYXRjaCwgJ0NvZGVCbG9ja0NvbnRlbnQnKSA/PyAnJykuc3BsaXQoJ1xcbicpLm1hcCgobGluZSkgPT4gbGluZS5zbGljZShsaW5lUHJlZml4Lmxlbmd0aCkpLmpvaW4oJ1xcbicpO1xuXG4gIGNvbnN0IGVudHJpZXMgPSBnZXRIYW5kb2ZmRW50cmllcygpO1xuICBwcnVuZUV4cGlyZWRFbnRyaWVzKGVudHJpZXMpO1xuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KHNvdXJjZVBhdGgsIGxhbmd1YWdlLCBjb250ZW50KTtcbiAgbGV0IHF1ZXVlID0gZW50cmllcy5nZXQoa2V5KTtcbiAgaWYgKCFxdWV1ZSkge1xuICAgIHF1ZXVlID0gW107XG4gICAgZW50cmllcy5zZXQoa2V5LCBxdWV1ZSk7XG4gIH1cbiAgcXVldWUucHVzaCh7XG4gICAgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMsXG4gICAgZm9jdXMsXG4gICAgc3RhdGVcbiAgfSk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYSB7QGxpbmsgQ29kZUJsb2NrRm9jdXNTbmFwc2hvdH0gZGVzY3JpYmVzLlxuICpcbiAqIEBwYXJhbSBlbCAtIFRoZSBuZXcgY29kZSBibG9jayBlbGVtZW50LlxuICogQHBhcmFtIGZvY3VzIC0gVGhlIHNuYXBzaG90IGNhcHR1cmVkIGZyb20gdGhlIG9sZCByZW5kZXIuXG4gKiBAcmV0dXJucyBXaGV0aGVyIGFuIGVsZW1lbnQgd2FzIGZvY3VzZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL2NvbnNpc3RlbnQtYm9vbGVhbi1uYW1lIC0tIEEgdmVyYiBuYW1lcyB0aGUgYWN0aW9uOyB0aGUgYm9vbGVhbiBvbmx5IHJlcG9ydHMgd2hldGhlciBpdCB0b29rIHBsYWNlLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc3RvcmVDb2RlQmxvY2tGb2N1cyhlbDogSFRNTEVsZW1lbnQsIGZvY3VzOiBDb2RlQmxvY2tGb2N1c1NuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGZvciAobGV0IGZyYW1lID0gMDsgIWVsLmlzQ29ubmVjdGVkICYmIGZyYW1lIDwgTUFYX0ZSQU1FU19UT19XQUlUX0ZPUl9DT05ORUNUSU9OOyBmcmFtZSsrKSB7XG4gICAgYXdhaXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMoKTtcbiAgfVxuXG4gIGlmICghZWwuaXNDb25uZWN0ZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgdGFyZ2V0OiBFbGVtZW50IHwgdW5kZWZpbmVkID0gZWw7XG4gIGZvciAoY29uc3QgaW5kZXggb2YgZm9jdXMuY2hpbGRJbmRleFBhdGgpIHtcbiAgICB0YXJnZXQgPSB0YXJnZXQuY2hpbGRyZW5baW5kZXhdO1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc0hUTUxFbGVtZW50TGlrZSh0YXJnZXQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdGFyZ2V0LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgaWYgKGVsLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gdGFyZ2V0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGZvY3VzLnNlbGVjdGlvbiAmJiBpc1RleHRTZWxlY3Rpb25FbGVtZW50KHRhcmdldCkpIHtcbiAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2UoZm9jdXMuc2VsZWN0aW9uLnN0YXJ0LCBmb2N1cy5zZWxlY3Rpb24uZW5kLCBmb2N1cy5zZWxlY3Rpb24uZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBnZXRIYW5kb2ZmRW50cmllcygpOiBNYXA8c3RyaW5nLCBIYW5kb2ZmRW50cnlbXT4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5MaWJTdGF0ZShIQU5ET0ZGX1NUQVRFX0tFWSwgbmV3IE1hcDxzdHJpbmcsIEhhbmRvZmZFbnRyeVtdPigpKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SGFuZG9mZktleShzb3VyY2VQYXRoOiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShbc291cmNlUGF0aCwgbGFuZ3VhZ2UsIGNvbnRlbnRdKTtcbn1cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gIGNvbnN0IEJMT0NLX0xBTkdVQUdFX1BSRUZJWCA9ICdibG9jay1sYW5ndWFnZS0nO1xuICByZXR1cm4gWy4uLmVsZW1lbnQuY2xhc3NMaXN0XS5maW5kKChjbHMpID0+IGNscy5zdGFydHNXaXRoKEJMT0NLX0xBTkdVQUdFX1BSRUZJWCkpPy5zbGljZShCTE9DS19MQU5HVUFHRV9QUkVGSVgubGVuZ3RoKSA/PyAnJztcbn1cblxuZnVuY3Rpb24gZ2V0VGV4dFNlbGVjdGlvbihlbGVtZW50OiBFbGVtZW50KTogbnVsbCB8IFRleHRTZWxlY3Rpb24ge1xuICBpZiAoIWlzVGV4dFNlbGVjdGlvbkVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIEFuIGlucHV0IHR5cGUgd2l0aG91dCBhIHRleHQgc2VsZWN0aW9uIChhIGNoZWNrYm94LCBhIG51bWJlciBmaWVsZCkgcmVhZHMgYG51bGxgIGhlcmUuXG4gIGlmIChlbGVtZW50LnNlbGVjdGlvblN0YXJ0ID09PSBudWxsIHx8IGVsZW1lbnQuc2VsZWN0aW9uRW5kID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGRpcmVjdGlvbjogZWxlbWVudC5zZWxlY3Rpb25EaXJlY3Rpb24gPz8gJ25vbmUnLFxuICAgIGVuZDogZWxlbWVudC5zZWxlY3Rpb25FbmQsXG4gICAgc3RhcnQ6IGVsZW1lbnQuc2VsZWN0aW9uU3RhcnRcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNIVE1MRWxlbWVudExpa2UoZWxlbWVudDogRWxlbWVudCk6IGVsZW1lbnQgaXMgSFRNTEVsZW1lbnQge1xuICByZXR1cm4gdHlwZW9mIChlbGVtZW50IGFzIFBhcnRpYWw8SFRNTEVsZW1lbnQ+KS5mb2N1cyA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZnVuY3Rpb24gaXNUZXh0U2VsZWN0aW9uRWxlbWVudChlbGVtZW50OiBFbGVtZW50KTogZWxlbWVudCBpcyBUZXh0U2VsZWN0aW9uRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50LnRhZ05hbWUgPT09ICdJTlBVVCcgfHwgZWxlbWVudC50YWdOYW1lID09PSAnVEVYVEFSRUEnO1xufVxuXG5mdW5jdGlvbiBwcnVuZUV4cGlyZWRFbnRyaWVzKGVudHJpZXM6IE1hcDxzdHJpbmcsIEhhbmRvZmZFbnRyeVtdPik6IHZvaWQge1xuICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICBmb3IgKGNvbnN0IFtrZXksIHF1ZXVlXSBvZiBlbnRyaWVzKSB7XG4gICAgY29uc3QgbGl2ZUVudHJpZXMgPSBxdWV1ZS5maWx0ZXIoKGVudHJ5KSA9PiBlbnRyeS5leHBpcmVzQXQgPiBub3cpO1xuICAgIGlmIChsaXZlRW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGVudHJpZXMuZGVsZXRlKGtleSk7XG4gICAgfSBlbHNlIGlmIChsaXZlRW50cmllcy5sZW5ndGggIT09IHF1ZXVlLmxlbmd0aCkge1xuICAgICAgZW50cmllcy5zZXQoa2V5LCBsaXZlRW50cmllcyk7XG4gICAgfVxuICB9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
269
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2RlLWJsb2NrLXJlbmRlci1oYW5kb2ZmLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDYXJyaWVzIGZvY3VzIGFuZCBwbHVnaW4gc3RhdGUgZnJvbSBhIGNvZGUgYmxvY2sgdG8gaXRzIG5leHQgcmVuZGVyLlxuICpcbiAqIE9ic2lkaWFuIHJlbmRlcnMgYSBjb2RlIGJsb2NrIGFnYWluIHdoZW5ldmVyIGl0cyBzb3VyY2UgdGV4dCBjaGFuZ2VzOiBSZWFkaW5nIHZpZXcgcmUtcmVuZGVycyB0aGUgc2VjdGlvbiBhbmQgTGl2ZVxuICogUHJldmlldyByZXBsYWNlcyB0aGUgd2lkZ2V0LiBTbyBhIGJsb2NrIHRoYXQgZWRpdHMgaXRzIG93biBzb3VyY2UgKGEgY291bnRlciwgYSBjaGVja2JveCwgYSBzZXR0aW5ncyBmb3JtKSBsb3NlcyB0aGVcbiAqIGVsZW1lbnQgdGhlIHVzZXIgd2FzIGludGVyYWN0aW5nIHdpdGgsIGl0cyBmb2N1cyBhbmQgd2hhdGV2ZXIgdGhlIHBsdWdpbiBrZXB0IG9uIGl0LiBUaGUgZWxlbWVudCBpdHNlbGYgY2Fubm90IGJlXG4gKiBrZXB0IHdpdGhvdXQgcGF0Y2hpbmcgT2JzaWRpYW4ncyByZW5kZXJlcnMsIHNvIHRoZSB3cml0ZSByZWNvcmRzIGEgaGFuZG9mZiBpbnN0ZWFkLCBhbmQgdGhlIHByb2Nlc3NvciByZW5kZXJpbmcgdGhlXG4gKiBuZXcgc291cmNlIGNsYWltcyBpdDogaXQgZ2V0cyBiYWNrIHRoZSBzdGF0ZSB0aGUgd3JpdGUgcGFzc2VkIGFuZCBjYW4gcHV0IHRoZSBmb2N1cyBiYWNrIG9uIHRoZSBzYW1lIGVsZW1lbnQuXG4gKlxuICogVGhlIGhhbmRvZmYgaXMgbWF0Y2hlZCBieSBzb3VyY2UgcGF0aCwgbGFuZ3VhZ2UgYW5kIHRoZSBuZXcgYmxvY2sgY29udGVudCwgYW5kIGl0IGxpdmVzIGZvclxuICoge0BsaW5rIENPREVfQkxPQ0tfUkVOREVSX0hBTkRPRkZfTElGRVRJTUVfSU5fTUlMTElTRUNPTkRTfS4gVGhlIGZpcnN0IHJlbmRlciB0byBjbGFpbSBpdCBjb25zdW1lcyBpdCwgc28gd2hlbiB0aGVcbiAqIG5vdGUgaXMgb3BlbiBpbiB0d28gcGFuZXMgb25seSBvbmUgb2YgdGhlIG5ldyByZW5kZXJzIGdldHMgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQge1xuICBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwLFxuICBnZXRPcHRpb25hbE5hbWVkR3JvdXBcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3JlZy1leHAnO1xuaW1wb3J0IHsgZW5zdXJlTGZFbmRpbmdzIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0cmluZyc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCB9IGZyb20gJy4vY29kZS1ibG9jay1yZWctZXhwLnRzJztcbmltcG9ydCB7IGdldE9ic2lkaWFuTGliU3RhdGUgfSBmcm9tICcuL29ic2lkaWFuLWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogSG93IGxvbmcgYSByZWNvcmRlZCBoYW5kb2ZmIHdhaXRzIGZvciB0aGUgcmVuZGVyIHRoYXQgY2xhaW1zIGl0LlxuICovXG5leHBvcnQgY29uc3QgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMgPSAxMF8wMDA7XG5cbmNvbnN0IEhBTkRPRkZfU1RBVEVfS0VZID0gJ2NvZGVCbG9ja1JlbmRlckhhbmRvZmZWMSc7XG5jb25zdCBNQVhfRlJBTUVTX1RPX1dBSVRfRk9SX0NPTk5FQ1RJT04gPSA2MDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgY2xhaW1Db2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHtAbGluayBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0fSB0aGUgcHJvY2Vzc29yIHJlY2VpdmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIGVsZW1lbnQgdGhlIHByb2Nlc3NvciByZW5kZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSBlbDogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBzb3VyY2UgdGhlIHByb2Nlc3NvciByZWNlaXZlZC5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFdoZXJlIHRoZSBmb2N1cyB3YXMgaW5zaWRlIGEgcmVuZGVyZWQgY29kZSBibG9jay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQmxvY2tGb2N1c1NuYXBzaG90IHtcbiAgLyoqXG4gICAqIFRoZSBjaGlsZCBpbmRpY2VzIGxlYWRpbmcgZnJvbSB0aGUgY29kZSBibG9jayBlbGVtZW50IHRvIHRoZSBmb2N1c2VkIGVsZW1lbnQuXG4gICAqL1xuICByZWFkb25seSBjaGlsZEluZGV4UGF0aDogcmVhZG9ubHkgbnVtYmVyW107XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IHNlbGVjdGlvbiBvZiBhIGZvY3VzZWQgaW5wdXQgb3IgdGV4dCBhcmVhLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VsZWN0aW9uOiBudWxsIHwgVGV4dFNlbGVjdGlvbjtcbn1cblxuLyoqXG4gKiBBIGhhbmRvZmYgY2xhaW1lZCBieSB0aGUgcmVuZGVyIG9mIGEgY29kZSBibG9jayB3aG9zZSBzb3VyY2UgYSB3cml0ZSBqdXN0IGNoYW5nZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJsb2NrUmVuZGVySGFuZG9mZiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB3cml0ZSByZWNvcmRlZCBhIGZvY3VzZWQgZWxlbWVudCB0byByZXN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzRm9jdXM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYXQgdGhlIHNhbWUgcG9zaXRpb24gaW5zaWRlIHRoZSBuZXcgcmVuZGVyLCB3aXRoIHRoZSBzYW1lIHRleHQgc2VsZWN0aW9uLlxuICAgKlxuICAgKiBDYWxsIGl0IG9uY2UgdGhlIHByb2Nlc3NvciBoYXMgcmVuZGVyZWQgdGhlIGJsb2NrLiBJdCB3YWl0cyBmb3IgdGhlIGVsZW1lbnQgdG8gYmUgYXR0YWNoZWQgdG8gYSBkb2N1bWVudC5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciBhbiBlbGVtZW50IHdhcyBmb2N1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzdG9yZUZvY3VzOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdGUgcGFzc2VkIHRvIHRoZSB3cml0ZSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBub25lIHdhcy5cbiAgICovXG4gIHJlYWRvbmx5IHN0YXRlOiB1bmtub3duO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWNvcmRDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBmb2N1cyBjYXB0dXJlZCBmcm9tIHRoZSBvbGQgcmVuZGVyIHdpdGgge0BsaW5rIGNhcHR1cmVDb2RlQmxvY2tGb2N1c30uXG4gICAqL1xuICByZWFkb25seSBmb2N1czogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBjb2RlIGJsb2NrIHdyaXR0ZW4gdG8gdGhlIG5vdGUsIGZlbmNlcyBpbmNsdWRlZC5cbiAgICovXG4gIHJlYWRvbmx5IG5ld0NvZGVCbG9jazogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBvZiB0aGUgbm90ZSB0aGUgY29kZSBibG9jayBpcyBpbi5cbiAgICovXG4gIHJlYWRvbmx5IHNvdXJjZVBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN0YXRlIHRvIHBhc3MgdG8gdGhlIG5leHQgcmVuZGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGU6IHVua25vd247XG59XG5cbmludGVyZmFjZSBIYW5kb2ZmRW50cnkge1xuICByZWFkb25seSBleHBpcmVzQXQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgZm9jdXM6IENvZGVCbG9ja0ZvY3VzU25hcHNob3QgfCBudWxsO1xuICByZWFkb25seSBzdGF0ZTogdW5rbm93bjtcbn1cblxuaW50ZXJmYWNlIFRleHRTZWxlY3Rpb24ge1xuICByZWFkb25seSBkaXJlY3Rpb246ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZSc7XG4gIHJlYWRvbmx5IGVuZDogbnVtYmVyO1xuICByZWFkb25seSBzdGFydDogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgVGV4dFNlbGVjdGlvbkVsZW1lbnQgZXh0ZW5kcyBIVE1MRWxlbWVudCB7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkRpcmVjdGlvbjogJ2JhY2t3YXJkJyB8ICdmb3J3YXJkJyB8ICdub25lJyB8IG51bGw7XG4gIHJlYWRvbmx5IHNlbGVjdGlvbkVuZDogbnVsbCB8IG51bWJlcjtcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU3RhcnQ6IG51bGwgfCBudW1iZXI7XG4gIHJlYWRvbmx5IHNldFNlbGVjdGlvblJhbmdlOiAoc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIGRpcmVjdGlvbj86ICdiYWNrd2FyZCcgfCAnZm9yd2FyZCcgfCAnbm9uZScpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogQ2FwdHVyZXMgd2hlcmUgdGhlIGZvY3VzIGlzIGluc2lkZSBhIHJlbmRlcmVkIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIGVsIC0gVGhlIGNvZGUgYmxvY2sgZWxlbWVudC5cbiAqIEByZXR1cm5zIFRoZSBzbmFwc2hvdCwgb3IgYG51bGxgIHdoZW4gdGhlIGZvY3VzIGlzIG5vdCBpbnNpZGUgdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjYXB0dXJlQ29kZUJsb2NrRm9jdXMoZWw6IEhUTUxFbGVtZW50KTogQ29kZUJsb2NrRm9jdXNTbmFwc2hvdCB8IG51bGwge1xuICBjb25zdCBhY3RpdmVFbGVtZW50ID0gZWwub3duZXJEb2N1bWVudC5hY3RpdmVFbGVtZW50O1xuICBpZiAoIWFjdGl2ZUVsZW1lbnQgfHwgYWN0aXZlRWxlbWVudCA9PT0gZWwgfHwgIWVsLmNvbnRhaW5zKGFjdGl2ZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBjaGlsZEluZGV4UGF0aDogbnVtYmVyW10gPSBbXTtcbiAgbGV0IGN1cnJlbnQ6IEVsZW1lbnQgfCBudWxsID0gYWN0aXZlRWxlbWVudDtcbiAgd2hpbGUgKGN1cnJlbnQgJiYgY3VycmVudCAhPT0gZWwpIHtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIGZvciAobGV0IHNpYmxpbmcgPSBjdXJyZW50LnByZXZpb3VzRWxlbWVudFNpYmxpbmc7IHNpYmxpbmc7IHNpYmxpbmcgPSBzaWJsaW5nLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgfVxuICAgIGNoaWxkSW5kZXhQYXRoLnVuc2hpZnQoaW5kZXgpO1xuICAgIGN1cnJlbnQgPSBjdXJyZW50LnBhcmVudEVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNoaWxkSW5kZXhQYXRoLFxuICAgIHNlbGVjdGlvbjogZ2V0VGV4dFNlbGVjdGlvbihhY3RpdmVFbGVtZW50KVxuICB9O1xufVxuXG4vKipcbiAqIENsYWltcyB0aGUgaGFuZG9mZiBhIHdyaXRlIHJlY29yZGVkIGZvciB0aGUgY29kZSBibG9jayBiZWluZyByZW5kZXJlZC5cbiAqXG4gKiBDYWxsIGl0IGZyb20gYSBjb2RlIGJsb2NrIHByb2Nlc3Nvci4gSXQgcmV0dXJucyBgbnVsbGAgd2hlbiBubyB3cml0ZSBpcyB3YWl0aW5nIGZvciB0aGlzIHJlbmRlci5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFRoZSBoYW5kb2ZmLCBvciBgbnVsbGAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmYocGFyYW1zOiBDbGFpbUNvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBDb2RlQmxvY2tSZW5kZXJIYW5kb2ZmIHwgbnVsbCB7XG4gIGNvbnN0IHsgY29udGV4dCwgZWwsIHNvdXJjZSB9ID0gcGFyYW1zO1xuICBjb25zdCBlbnRyaWVzID0gZ2V0SGFuZG9mZkVudHJpZXMoKTtcbiAgcHJ1bmVFeHBpcmVkRW50cmllcyhlbnRyaWVzKTtcblxuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KGNvbnRleHQuc291cmNlUGF0aCwgZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbCksIGVuc3VyZUxmRW5kaW5ncyhzb3VyY2UpKTtcbiAgY29uc3QgcXVldWUgPSBlbnRyaWVzLmdldChrZXkpO1xuICBjb25zdCBlbnRyeSA9IHF1ZXVlPy5zaGlmdCgpO1xuICBpZiAoIXF1ZXVlIHx8ICFlbnRyeSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgIGVudHJpZXMuZGVsZXRlKGtleSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGhhc0ZvY3VzOiBlbnRyeS5mb2N1cyAhPT0gbnVsbCxcbiAgICBhc3luYyByZXN0b3JlRm9jdXMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICByZXR1cm4gZW50cnkuZm9jdXMgPyAoYXdhaXQgcmVzdG9yZUNvZGVCbG9ja0ZvY3VzKGVsLCBlbnRyeS5mb2N1cykpIDogZmFsc2U7XG4gICAgfSxcbiAgICBzdGF0ZTogZW50cnkuc3RhdGVcbiAgfTtcbn1cblxuLyoqXG4gKiBSZWNvcmRzIGEgaGFuZG9mZiBmb3IgdGhlIG5leHQgcmVuZGVyIG9mIGEgY29kZSBibG9jayBhIHdyaXRlIGlzIGFib3V0IHRvIGNoYW5nZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIFdoZXRoZXIgYSBoYW5kb2ZmIHdhcyByZWNvcmRlZDogYGZhbHNlYCB3aGVuIHRoZSBuZXcgdGV4dCBpcyBub3QgZXhhY3RseSBvbmUgY29kZSBibG9jay5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vY29uc2lzdGVudC1ib29sZWFuLW5hbWUgLS0gQSB2ZXJiIG5hbWVzIHRoZSBhY3Rpb247IHRoZSBib29sZWFuIG9ubHkgcmVwb3J0cyB3aGV0aGVyIGl0IHRvb2sgcGxhY2UuXG5leHBvcnQgZnVuY3Rpb24gcmVjb3JkQ29kZUJsb2NrUmVuZGVySGFuZG9mZihwYXJhbXM6IFJlY29yZENvZGVCbG9ja1JlbmRlckhhbmRvZmZQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyBmb2N1cywgbmV3Q29kZUJsb2NrLCBzb3VyY2VQYXRoLCBzdGF0ZSB9ID0gcGFyYW1zO1xuICBjb25zdCBtYXRjaGVzID0gWy4uLmVuc3VyZUxmRW5kaW5ncyhuZXdDb2RlQmxvY2spLm1hdGNoQWxsKGNyZWF0ZUNvZGVCbG9ja1JlZ0V4cCgpKV07XG4gIGNvbnN0IG1hdGNoID0gbWF0Y2hlc1swXTtcbiAgaWYgKG1hdGNoZXMubGVuZ3RoICE9PSAxIHx8ICFtYXRjaCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnTGluZVByZWZpeCcpO1xuICBjb25zdCBsYW5ndWFnZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICdDb2RlQmxvY2tMYW5ndWFnZScpO1xuICBjb25zdCBjb250ZW50ID0gKGdldE9wdGlvbmFsTmFtZWRHcm91cChtYXRjaCwgJ0NvZGVCbG9ja0NvbnRlbnQnKSA/PyAnJykuc3BsaXQoJ1xcbicpLm1hcCgobGluZSkgPT4gbGluZS5zbGljZShsaW5lUHJlZml4Lmxlbmd0aCkpLmpvaW4oJ1xcbicpO1xuXG4gIGNvbnN0IGVudHJpZXMgPSBnZXRIYW5kb2ZmRW50cmllcygpO1xuICBwcnVuZUV4cGlyZWRFbnRyaWVzKGVudHJpZXMpO1xuICBjb25zdCBrZXkgPSBnZXRIYW5kb2ZmS2V5KHNvdXJjZVBhdGgsIGxhbmd1YWdlLCBjb250ZW50KTtcbiAgbGV0IHF1ZXVlID0gZW50cmllcy5nZXQoa2V5KTtcbiAgaWYgKCFxdWV1ZSkge1xuICAgIHF1ZXVlID0gW107XG4gICAgZW50cmllcy5zZXQoa2V5LCBxdWV1ZSk7XG4gIH1cbiAgcXVldWUucHVzaCh7XG4gICAgZXhwaXJlc0F0OiBEYXRlLm5vdygpICsgQ09ERV9CTE9DS19SRU5ERVJfSEFORE9GRl9MSUZFVElNRV9JTl9NSUxMSVNFQ09ORFMsXG4gICAgZm9jdXMsXG4gICAgc3RhdGVcbiAgfSk7XG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFB1dHMgdGhlIGZvY3VzIGJhY2sgb24gdGhlIGVsZW1lbnQgYSB7QGxpbmsgQ29kZUJsb2NrRm9jdXNTbmFwc2hvdH0gZGVzY3JpYmVzLlxuICpcbiAqIEBwYXJhbSBlbCAtIFRoZSBuZXcgY29kZSBibG9jayBlbGVtZW50LlxuICogQHBhcmFtIGZvY3VzIC0gVGhlIHNuYXBzaG90IGNhcHR1cmVkIGZyb20gdGhlIG9sZCByZW5kZXIuXG4gKiBAcmV0dXJucyBXaGV0aGVyIGFuIGVsZW1lbnQgd2FzIGZvY3VzZWQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL2NvbnNpc3RlbnQtYm9vbGVhbi1uYW1lIC0tIEEgdmVyYiBuYW1lcyB0aGUgYWN0aW9uOyB0aGUgYm9vbGVhbiBvbmx5IHJlcG9ydHMgd2hldGhlciBpdCB0b29rIHBsYWNlLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlc3RvcmVDb2RlQmxvY2tGb2N1cyhlbDogSFRNTEVsZW1lbnQsIGZvY3VzOiBDb2RlQmxvY2tGb2N1c1NuYXBzaG90KTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGZvciAobGV0IGZyYW1lID0gMDsgIWVsLmlzQ29ubmVjdGVkICYmIGZyYW1lIDwgTUFYX0ZSQU1FU19UT19XQUlUX0ZPUl9DT05ORUNUSU9OOyBmcmFtZSsrKSB7XG4gICAgYXdhaXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMoKTtcbiAgfVxuXG4gIGlmICghZWwuaXNDb25uZWN0ZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBsZXQgdGFyZ2V0OiBFbGVtZW50IHwgdW5kZWZpbmVkID0gZWw7XG4gIGZvciAoY29uc3QgaW5kZXggb2YgZm9jdXMuY2hpbGRJbmRleFBhdGgpIHtcbiAgICB0YXJnZXQgPSB0YXJnZXQuY2hpbGRyZW5baW5kZXhdO1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc0hUTUxFbGVtZW50TGlrZSh0YXJnZXQpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdGFyZ2V0LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgaWYgKGVsLm93bmVyRG9jdW1lbnQuYWN0aXZlRWxlbWVudCAhPT0gdGFyZ2V0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGZvY3VzLnNlbGVjdGlvbiAmJiBpc1RleHRTZWxlY3Rpb25FbGVtZW50KHRhcmdldCkpIHtcbiAgICB0YXJnZXQuc2V0U2VsZWN0aW9uUmFuZ2UoZm9jdXMuc2VsZWN0aW9uLnN0YXJ0LCBmb2N1cy5zZWxlY3Rpb24uZW5kLCBmb2N1cy5zZWxlY3Rpb24uZGlyZWN0aW9uKTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBnZXRIYW5kb2ZmRW50cmllcygpOiBNYXA8c3RyaW5nLCBIYW5kb2ZmRW50cnlbXT4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5MaWJTdGF0ZShIQU5ET0ZGX1NUQVRFX0tFWSwgbmV3IE1hcDxzdHJpbmcsIEhhbmRvZmZFbnRyeVtdPigpKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gZ2V0SGFuZG9mZktleShzb3VyY2VQYXRoOiBzdHJpbmcsIGxhbmd1YWdlOiBzdHJpbmcsIGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeShbc291cmNlUGF0aCwgbGFuZ3VhZ2UsIGNvbnRlbnRdKTtcbn1cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gIGNvbnN0IEJMT0NLX0xBTkdVQUdFX1BSRUZJWCA9ICdibG9jay1sYW5ndWFnZS0nO1xuICByZXR1cm4gWy4uLmVsZW1lbnQuY2xhc3NMaXN0XS5maW5kKChjbHMpID0+IGNscy5zdGFydHNXaXRoKEJMT0NLX0xBTkdVQUdFX1BSRUZJWCkpPy5zbGljZShCTE9DS19MQU5HVUFHRV9QUkVGSVgubGVuZ3RoKSA/PyAnJztcbn1cblxuZnVuY3Rpb24gZ2V0VGV4dFNlbGVjdGlvbihlbGVtZW50OiBFbGVtZW50KTogbnVsbCB8IFRleHRTZWxlY3Rpb24ge1xuICAvLyBBbiBpbnB1dCB0eXBlIHdpdGhvdXQgYSB0ZXh0IHNlbGVjdGlvbiAoYSBjaGVja2JveCwgYSBudW1iZXIgZmllbGQpIHJlYWRzIGBudWxsYCBoZXJlLlxuICBpZiAoIWlzVGV4dFNlbGVjdGlvbkVsZW1lbnQoZWxlbWVudCkgfHwgZWxlbWVudC5zZWxlY3Rpb25TdGFydCA9PT0gbnVsbCB8fCBlbGVtZW50LnNlbGVjdGlvbkVuZCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkaXJlY3Rpb246IGVsZW1lbnQuc2VsZWN0aW9uRGlyZWN0aW9uID8/ICdub25lJyxcbiAgICBlbmQ6IGVsZW1lbnQuc2VsZWN0aW9uRW5kLFxuICAgIHN0YXJ0OiBlbGVtZW50LnNlbGVjdGlvblN0YXJ0XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzSFRNTEVsZW1lbnRMaWtlKGVsZW1lbnQ6IEVsZW1lbnQpOiBlbGVtZW50IGlzIEhUTUxFbGVtZW50IHtcbiAgcmV0dXJuIHR5cGVvZiAoZWxlbWVudCBhcyBQYXJ0aWFsPEhUTUxFbGVtZW50PikuZm9jdXMgPT09ICdmdW5jdGlvbic7XG59XG5cbmZ1bmN0aW9uIGlzVGV4dFNlbGVjdGlvbkVsZW1lbnQoZWxlbWVudDogRWxlbWVudCk6IGVsZW1lbnQgaXMgVGV4dFNlbGVjdGlvbkVsZW1lbnQge1xuICByZXR1cm4gZWxlbWVudC50YWdOYW1lID09PSAnSU5QVVQnIHx8IGVsZW1lbnQudGFnTmFtZSA9PT0gJ1RFWFRBUkVBJztcbn1cblxuZnVuY3Rpb24gcHJ1bmVFeHBpcmVkRW50cmllcyhlbnRyaWVzOiBNYXA8c3RyaW5nLCBIYW5kb2ZmRW50cnlbXT4pOiB2b2lkIHtcbiAgY29uc3Qgbm93ID0gRGF0ZS5ub3coKTtcbiAgZm9yIChjb25zdCBba2V5LCBxdWV1ZV0gb2YgZW50cmllcykge1xuICAgIGNvbnN0IGxpdmVFbnRyaWVzID0gcXVldWUuZmlsdGVyKChlbnRyeSkgPT4gZW50cnkuZXhwaXJlc0F0ID4gbm93KTtcbiAgICBpZiAobGl2ZUVudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICBlbnRyaWVzLmRlbGV0ZShrZXkpO1xuICAgIH0gZWxzZSBpZiAobGl2ZUVudHJpZXMubGVuZ3RoICE9PSBxdWV1ZS5sZW5ndGgpIHtcbiAgICAgIGVudHJpZXMuc2V0KGtleSwgbGl2ZUVudHJpZXMpO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7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
@@ -132,11 +132,11 @@ class UnlockActiveNoteCommandHandler extends import_global_command_handler.Globa
132
132
  */
133
133
  canExecute() {
134
134
  const activeFile = this.app.workspace.getActiveFile();
135
- return activeFile ? this.resourceLockComponent.isLockedByAncestorForPath(activeFile) : false;
135
+ return !!activeFile && this.resourceLockComponent.isLockedByAncestorForPath(activeFile);
136
136
  }
137
137
  }
138
138
  // Annotate the CommonJS export names for ESM import in node:
139
139
  0 && (module.exports = {
140
140
  UnlockActiveNoteCommandHandler
141
141
  });
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kLWhhbmRsZXJzL3VubG9jay1hY3RpdmUtbm90ZS1jb21tYW5kLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhhbmRsZXMgdGhlIFwiVW5sb2NrIGFjdGl2ZSBub3RlXCIgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUxvY2tDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvdXJjZS1sb2NrLnRzJztcblxuaW1wb3J0IHsgR2xvYmFsQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMgZm9yIHtAbGluayBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlLWxvY2sgY29tcG9uZW50IHdob3NlIGxvY2sgY292ZXJpbmcgdGhlIGFjdGl2ZSBub3RlIHRoZSBjb21tYW5kIHJlbGVhc2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VMb2NrQ29tcG9uZW50OiBSZXNvdXJjZUxvY2tDb21wb25lbnQ7XG59XG5cbi8qKlxuICogQSBjb21tYW5kIGhhbmRsZXIgdGhhdCB1bmxvY2tzIHRoZSBhY3RpdmUgbm90ZS4gSXQgY2FuY2VscyB0aGUgb3BlcmF0aW9uIHRoYXQgdG9vayB0aGUgbG9jayBhbmRcbiAqIHJlbGVhc2VzIHRoZSBsb2NrIGNvdmVyaW5nIHRoZSBub3RlIOKAlCB3aGV0aGVyIHRoZSBub3RlIGlzIGxvY2tlZCBkaXJlY3RseSBvciBieSBhIGBzdWJ0cmVlYC1sb2NrZWRcbiAqIGFuY2VzdG9yIGZvbGRlci4gT25seSBhdmFpbGFibGUgd2hpbGUgdGhlIGFjdGl2ZSBub3RlIGlzIGxvY2tlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlciBleHRlbmRzIEdsb2JhbENvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZS1sb2NrIGNvbXBvbmVudCB3aG9zZSBsb2NrIGNvdmVyaW5nIHRoZSBhY3RpdmUgbm90ZSB0aGUgY29tbWFuZCByZWxlYXNlcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZUxvY2tDb21wb25lbnQ6IFJlc291cmNlTG9ja0NvbXBvbmVudDtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKHtcbiAgICAgIGljb246ICd1bmxvY2snLFxuICAgICAgaWQ6ICd1bmxvY2stYWN0aXZlLW5vdGUnLFxuICAgICAgbmFtZTogJ1VubG9jayBhY3RpdmUgbm90ZSdcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwID0gcGFyYW1zLmFwcDtcbiAgICB0aGlzLnJlc291cmNlTG9ja0NvbXBvbmVudCA9IHBhcmFtcy5yZXNvdXJjZUxvY2tDb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQsIHVubG9ja2luZyB0aGUgYWN0aXZlIG5vdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZXhlY3V0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVGaWxlID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKTtcbiAgICBpZiAoIWFjdGl2ZUZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNvdXJjZUxvY2tDb21wb25lbnQucmVxdWVzdFVubG9ja0ZvclBhdGgoYWN0aXZlRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGN1cnJlbnRseSBleGVjdXRlOiBvbmx5IHdoZW4gdGhlcmUgaXMgYW4gYWN0aXZlIG5vdGUgY292ZXJlZCBieSBhXG4gICAqIGxvY2sgKGRpcmVjdGx5IG9yIGJ5IGEgYHN1YnRyZWVgLWxvY2tlZCBhbmNlc3RvciBmb2xkZXIpLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBhY3RpdmUgbm90ZSBpcyBsb2NrZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBhY3RpdmVGaWxlID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKTtcbiAgICByZXR1cm4gYWN0aXZlRmlsZSA/IHRoaXMucmVzb3VyY2VMb2NrQ29tcG9uZW50LmlzTG9ja2VkQnlBbmNlc3RvckZvclBhdGgoYWN0aXZlRmlsZSkgOiBmYWxzZTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsb0NBQXFDO0FBc0I5QixNQUFNLHVDQUF1QyxtREFBcUI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUlwRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPWixZQUFZLFFBQXlEO0FBQzFFLFVBQU07QUFBQSxNQUNKLE1BQU07QUFBQSxNQUNOLElBQUk7QUFBQSxNQUNKLE1BQU07QUFBQSxJQUNSLENBQUM7QUFFRCxTQUFLLE1BQU0sT0FBTztBQUNsQixTQUFLLHdCQUF3QixPQUFPO0FBQUEsRUFDdEM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixVQUFnQjtBQUM5QixVQUFNLGFBQWEsS0FBSyxJQUFJLFVBQVUsY0FBYztBQUNwRCxRQUFJLENBQUMsWUFBWTtBQUNmO0FBQUEsSUFDRjtBQUNBLFNBQUssc0JBQXNCLHFCQUFxQixVQUFVO0FBQUEsRUFDNUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQixhQUFzQjtBQUN2QyxVQUFNLGFBQWEsS0FBSyxJQUFJLFVBQVUsY0FBYztBQUNwRCxXQUFPLGFBQWEsS0FBSyxzQkFBc0IsMEJBQTBCLFVBQVUsSUFBSTtBQUFBLEVBQ3pGO0FBQ0Y7IiwibmFtZXMiOltdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kLWhhbmRsZXJzL3VubG9jay1hY3RpdmUtbm90ZS1jb21tYW5kLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEhhbmRsZXMgdGhlIFwiVW5sb2NrIGFjdGl2ZSBub3RlXCIgY29tbWFuZC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBSZXNvdXJjZUxvY2tDb21wb25lbnQgfSBmcm9tICcuLi9yZXNvdXJjZS1sb2NrLnRzJztcblxuaW1wb3J0IHsgR2xvYmFsQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2dsb2JhbC1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMgZm9yIHtAbGluayBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXJ9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlLWxvY2sgY29tcG9uZW50IHdob3NlIGxvY2sgY292ZXJpbmcgdGhlIGFjdGl2ZSBub3RlIHRoZSBjb21tYW5kIHJlbGVhc2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VMb2NrQ29tcG9uZW50OiBSZXNvdXJjZUxvY2tDb21wb25lbnQ7XG59XG5cbi8qKlxuICogQSBjb21tYW5kIGhhbmRsZXIgdGhhdCB1bmxvY2tzIHRoZSBhY3RpdmUgbm90ZS4gSXQgY2FuY2VscyB0aGUgb3BlcmF0aW9uIHRoYXQgdG9vayB0aGUgbG9jayBhbmRcbiAqIHJlbGVhc2VzIHRoZSBsb2NrIGNvdmVyaW5nIHRoZSBub3RlIOKAlCB3aGV0aGVyIHRoZSBub3RlIGlzIGxvY2tlZCBkaXJlY3RseSBvciBieSBhIGBzdWJ0cmVlYC1sb2NrZWRcbiAqIGFuY2VzdG9yIGZvbGRlci4gT25seSBhdmFpbGFibGUgd2hpbGUgdGhlIGFjdGl2ZSBub3RlIGlzIGxvY2tlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFVubG9ja0FjdGl2ZU5vdGVDb21tYW5kSGFuZGxlciBleHRlbmRzIEdsb2JhbENvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZS1sb2NrIGNvbXBvbmVudCB3aG9zZSBsb2NrIGNvdmVyaW5nIHRoZSBhY3RpdmUgbm90ZSB0aGUgY29tbWFuZCByZWxlYXNlcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSByZXNvdXJjZUxvY2tDb21wb25lbnQ6IFJlc291cmNlTG9ja0NvbXBvbmVudDtcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIENvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBVbmxvY2tBY3RpdmVOb3RlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKHtcbiAgICAgIGljb246ICd1bmxvY2snLFxuICAgICAgaWQ6ICd1bmxvY2stYWN0aXZlLW5vdGUnLFxuICAgICAgbmFtZTogJ1VubG9jayBhY3RpdmUgbm90ZSdcbiAgICB9KTtcblxuICAgIHRoaXMuYXBwID0gcGFyYW1zLmFwcDtcbiAgICB0aGlzLnJlc291cmNlTG9ja0NvbXBvbmVudCA9IHBhcmFtcy5yZXNvdXJjZUxvY2tDb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQsIHVubG9ja2luZyB0aGUgYWN0aXZlIG5vdGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgZXhlY3V0ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBhY3RpdmVGaWxlID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKTtcbiAgICBpZiAoIWFjdGl2ZUZpbGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5yZXNvdXJjZUxvY2tDb21wb25lbnQucmVxdWVzdFVubG9ja0ZvclBhdGgoYWN0aXZlRmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGN1cnJlbnRseSBleGVjdXRlOiBvbmx5IHdoZW4gdGhlcmUgaXMgYW4gYWN0aXZlIG5vdGUgY292ZXJlZCBieSBhXG4gICAqIGxvY2sgKGRpcmVjdGx5IG9yIGJ5IGEgYHN1YnRyZWVgLWxvY2tlZCBhbmNlc3RvciBmb2xkZXIpLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBhY3RpdmUgbm90ZSBpcyBsb2NrZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBhY3RpdmVGaWxlID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZUZpbGUoKTtcbiAgICByZXR1cm4gISFhY3RpdmVGaWxlICYmIHRoaXMucmVzb3VyY2VMb2NrQ29tcG9uZW50LmlzTG9ja2VkQnlBbmNlc3RvckZvclBhdGgoYWN0aXZlRmlsZSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLG9DQUFxQztBQXNCOUIsTUFBTSx1Q0FBdUMsbURBQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJcEQ7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1osWUFBWSxRQUF5RDtBQUMxRSxVQUFNO0FBQUEsTUFDSixNQUFNO0FBQUEsTUFDTixJQUFJO0FBQUEsTUFDSixNQUFNO0FBQUEsSUFDUixDQUFDO0FBRUQsU0FBSyxNQUFNLE9BQU87QUFDbEIsU0FBSyx3QkFBd0IsT0FBTztBQUFBLEVBQ3RDO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLZ0IsVUFBZ0I7QUFDOUIsVUFBTSxhQUFhLEtBQUssSUFBSSxVQUFVLGNBQWM7QUFDcEQsUUFBSSxDQUFDLFlBQVk7QUFDZjtBQUFBLElBQ0Y7QUFDQSxTQUFLLHNCQUFzQixxQkFBcUIsVUFBVTtBQUFBLEVBQzVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbUIsYUFBc0I7QUFDdkMsVUFBTSxhQUFhLEtBQUssSUFBSSxVQUFVLGNBQWM7QUFDcEQsV0FBTyxDQUFDLENBQUMsY0FBYyxLQUFLLHNCQUFzQiwwQkFBMEIsVUFBVTtBQUFBLEVBQ3hGO0FBQ0Y7IiwibmFtZXMiOltdfQ==