@angular/cdk 9.2.0 → 9.2.4

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 (241) hide show
  1. package/_text-field.scss +19 -4
  2. package/a11y/focus-monitor/focus-monitor.d.ts +15 -2
  3. package/a11y/high-contrast-mode/high-contrast-mode-detector.d.ts +2 -2
  4. package/a11y/index.metadata.json +1 -1
  5. package/bundles/cdk-a11y.umd.js +133 -86
  6. package/bundles/cdk-a11y.umd.js.map +1 -1
  7. package/bundles/cdk-a11y.umd.min.js +13 -6
  8. package/bundles/cdk-a11y.umd.min.js.map +1 -1
  9. package/bundles/cdk-drag-drop.umd.js +292 -179
  10. package/bundles/cdk-drag-drop.umd.js.map +1 -1
  11. package/bundles/cdk-drag-drop.umd.min.js +23 -9
  12. package/bundles/cdk-drag-drop.umd.min.js.map +1 -1
  13. package/bundles/cdk-overlay.umd.js +2 -12
  14. package/bundles/cdk-overlay.umd.js.map +1 -1
  15. package/bundles/cdk-overlay.umd.min.js +2 -2
  16. package/bundles/cdk-overlay.umd.min.js.map +1 -1
  17. package/bundles/cdk-platform.umd.js +3 -1
  18. package/bundles/cdk-platform.umd.js.map +1 -1
  19. package/bundles/cdk-platform.umd.min.js +4 -4
  20. package/bundles/cdk-platform.umd.min.js.map +1 -1
  21. package/bundles/cdk-scrolling.umd.js +18 -3
  22. package/bundles/cdk-scrolling.umd.js.map +1 -1
  23. package/bundles/cdk-scrolling.umd.min.js +2 -2
  24. package/bundles/cdk-scrolling.umd.min.js.map +1 -1
  25. package/bundles/cdk-table.umd.js +8 -0
  26. package/bundles/cdk-table.umd.js.map +1 -1
  27. package/bundles/cdk-table.umd.min.js +1 -1
  28. package/bundles/cdk-table.umd.min.js.map +1 -1
  29. package/bundles/cdk-testing-protractor.umd.js +14 -10
  30. package/bundles/cdk-testing-protractor.umd.js.map +1 -1
  31. package/bundles/cdk-testing-protractor.umd.min.js +1 -1
  32. package/bundles/cdk-testing-protractor.umd.min.js.map +1 -1
  33. package/bundles/cdk-testing-testbed.umd.js +71 -16
  34. package/bundles/cdk-testing-testbed.umd.js.map +1 -1
  35. package/bundles/cdk-testing-testbed.umd.min.js +6 -6
  36. package/bundles/cdk-testing-testbed.umd.min.js.map +1 -1
  37. package/bundles/cdk-testing.umd.js.map +1 -1
  38. package/bundles/cdk-text-field.umd.js +7 -4
  39. package/bundles/cdk-text-field.umd.js.map +1 -1
  40. package/bundles/cdk-text-field.umd.min.js +2 -2
  41. package/bundles/cdk-text-field.umd.min.js.map +1 -1
  42. package/bundles/cdk-tree.umd.js +9 -4
  43. package/bundles/cdk-tree.umd.js.map +1 -1
  44. package/bundles/cdk-tree.umd.min.js +1 -1
  45. package/bundles/cdk-tree.umd.min.js.map +1 -1
  46. package/bundles/cdk.umd.js +1 -1
  47. package/bundles/cdk.umd.js.map +1 -1
  48. package/bundles/cdk.umd.min.js +1 -1
  49. package/bundles/cdk.umd.min.js.map +1 -1
  50. package/drag-drop/client-rect.d.ts +31 -0
  51. package/drag-drop/directives/config.d.ts +1 -0
  52. package/drag-drop/directives/drop-list.d.ts +4 -3
  53. package/drag-drop/drag-ref.d.ts +8 -2
  54. package/drag-drop/drop-list-ref.d.ts +9 -8
  55. package/drag-drop/index.metadata.json +1 -1
  56. package/drag-drop/parent-position-tracker.d.ts +31 -0
  57. package/drag-drop/public-api.d.ts +1 -1
  58. package/esm2015/a11y/aria-describer/aria-reference.js +6 -6
  59. package/esm2015/a11y/focus-monitor/focus-monitor.js +151 -82
  60. package/esm2015/a11y/high-contrast-mode/high-contrast-mode-detector.js +10 -6
  61. package/esm2015/drag-drop/client-rect.js +75 -0
  62. package/esm2015/drag-drop/directives/config.js +3 -1
  63. package/esm2015/drag-drop/directives/drag.js +3 -2
  64. package/esm2015/drag-drop/directives/drop-list.js +24 -18
  65. package/esm2015/drag-drop/drag-drop-module.js +3 -1
  66. package/esm2015/drag-drop/drag-ref.js +97 -43
  67. package/esm2015/drag-drop/drop-list-ref.js +119 -187
  68. package/esm2015/drag-drop/parent-position-tracker.js +141 -0
  69. package/esm2015/drag-drop/public-api.js +1 -1
  70. package/esm2015/overlay/keyboard/overlay-keyboard-dispatcher.js +2 -2
  71. package/esm2015/overlay/overlay-ref.js +3 -33
  72. package/esm2015/overlay/position/flexible-connected-position-strategy.js +1 -1
  73. package/esm2015/platform/features/shadow-dom.js +4 -2
  74. package/esm2015/scrolling/public-api.js +2 -2
  75. package/esm2015/scrolling/scrolling-module.js +15 -4
  76. package/esm2015/table/row.js +9 -1
  77. package/esm2015/testing/protractor/protractor-element.js +7 -3
  78. package/esm2015/testing/test-element.js +1 -1
  79. package/esm2015/testing/testbed/fake-events/dispatch-events.js +11 -4
  80. package/esm2015/testing/testbed/fake-events/event-objects.js +37 -3
  81. package/esm2015/testing/testbed/unit-test-element.js +17 -5
  82. package/esm2015/text-field/autosize.js +14 -5
  83. package/esm2015/tree/padding.js +9 -10
  84. package/esm2015/tree/tree.js +2 -1
  85. package/esm2015/version.js +1 -1
  86. package/esm5/a11y/aria-describer/aria-reference.js +6 -6
  87. package/esm5/a11y/focus-monitor/focus-monitor.js +105 -60
  88. package/esm5/a11y/high-contrast-mode/high-contrast-mode-detector.js +9 -6
  89. package/esm5/drag-drop/client-rect.js +60 -0
  90. package/esm5/drag-drop/directives/config.js +1 -1
  91. package/esm5/drag-drop/directives/drag.js +3 -2
  92. package/esm5/drag-drop/directives/drop-list.js +13 -10
  93. package/esm5/drag-drop/drag-drop-module.js +3 -1
  94. package/esm5/drag-drop/drag-ref.js +62 -33
  95. package/esm5/drag-drop/drop-list-ref.js +89 -139
  96. package/esm5/drag-drop/parent-position-tracker.js +74 -0
  97. package/esm5/drag-drop/public-api.js +1 -1
  98. package/esm5/overlay/keyboard/overlay-keyboard-dispatcher.js +2 -2
  99. package/esm5/overlay/overlay-ref.js +3 -13
  100. package/esm5/overlay/position/flexible-connected-position-strategy.js +1 -1
  101. package/esm5/platform/features/shadow-dom.js +4 -2
  102. package/esm5/scrolling/scrolling-module.js +19 -4
  103. package/esm5/table/row.js +9 -1
  104. package/esm5/testing/protractor/protractor-element.js +15 -11
  105. package/esm5/testing/test-element.js +1 -1
  106. package/esm5/testing/testbed/fake-events/dispatch-events.js +15 -7
  107. package/esm5/testing/testbed/fake-events/event-objects.js +43 -5
  108. package/esm5/testing/testbed/unit-test-element.js +19 -9
  109. package/esm5/text-field/autosize.js +8 -5
  110. package/esm5/tree/padding.js +9 -5
  111. package/esm5/tree/tree.js +2 -1
  112. package/esm5/version.js +1 -1
  113. package/fesm2015/a11y.js +188 -116
  114. package/fesm2015/a11y.js.map +1 -1
  115. package/fesm2015/cdk.js +1 -1
  116. package/fesm2015/cdk.js.map +1 -1
  117. package/fesm2015/drag-drop.js +448 -247
  118. package/fesm2015/drag-drop.js.map +1 -1
  119. package/fesm2015/overlay.js +3 -33
  120. package/fesm2015/overlay.js.map +1 -1
  121. package/fesm2015/platform.js +3 -1
  122. package/fesm2015/platform.js.map +1 -1
  123. package/fesm2015/scrolling.js +15 -4
  124. package/fesm2015/scrolling.js.map +1 -1
  125. package/fesm2015/table.js +8 -0
  126. package/fesm2015/table.js.map +1 -1
  127. package/fesm2015/testing/protractor.js +6 -2
  128. package/fesm2015/testing/protractor.js.map +1 -1
  129. package/fesm2015/testing/testbed.js +60 -7
  130. package/fesm2015/testing/testbed.js.map +1 -1
  131. package/fesm2015/testing.js.map +1 -1
  132. package/fesm2015/text-field.js +13 -4
  133. package/fesm2015/text-field.js.map +1 -1
  134. package/fesm2015/tree.js +9 -9
  135. package/fesm2015/tree.js.map +1 -1
  136. package/fesm5/a11y.js +134 -87
  137. package/fesm5/a11y.js.map +1 -1
  138. package/fesm5/cdk.js +1 -1
  139. package/fesm5/cdk.js.map +1 -1
  140. package/fesm5/drag-drop.js +294 -181
  141. package/fesm5/drag-drop.js.map +1 -1
  142. package/fesm5/overlay.js +3 -13
  143. package/fesm5/overlay.js.map +1 -1
  144. package/fesm5/platform.js +3 -1
  145. package/fesm5/platform.js.map +1 -1
  146. package/fesm5/scrolling.js +18 -4
  147. package/fesm5/scrolling.js.map +1 -1
  148. package/fesm5/table.js +8 -0
  149. package/fesm5/table.js.map +1 -1
  150. package/fesm5/testing/protractor.js +14 -10
  151. package/fesm5/testing/protractor.js.map +1 -1
  152. package/fesm5/testing/testbed.js +72 -17
  153. package/fesm5/testing/testbed.js.map +1 -1
  154. package/fesm5/testing.js.map +1 -1
  155. package/fesm5/text-field.js +7 -4
  156. package/fesm5/text-field.js.map +1 -1
  157. package/fesm5/tree.js +9 -4
  158. package/fesm5/tree.js.map +1 -1
  159. package/overlay/index.metadata.json +1 -1
  160. package/overlay/overlay-ref.d.ts +0 -3
  161. package/overlay/position/flexible-connected-position-strategy.d.ts +1 -1
  162. package/package.json +1 -1
  163. package/schematics/ng-add/index.js +1 -1
  164. package/schematics/ng-update/devkit-file-system.d.ts +29 -0
  165. package/schematics/ng-update/devkit-file-system.js +67 -0
  166. package/schematics/ng-update/devkit-migration-rule.d.ts +25 -0
  167. package/schematics/ng-update/devkit-migration-rule.js +152 -0
  168. package/schematics/ng-update/devkit-migration.d.ts +37 -0
  169. package/schematics/ng-update/devkit-migration.js +29 -0
  170. package/schematics/ng-update/index.js +7 -7
  171. package/schematics/ng-update/{upgrade-rules/attribute-selectors-rule.d.ts → migrations/attribute-selectors.d.ts} +6 -6
  172. package/schematics/ng-update/migrations/attribute-selectors.js +76 -0
  173. package/schematics/ng-update/{upgrade-rules/class-inheritance-rule.d.ts → migrations/class-inheritance.d.ts} +6 -6
  174. package/schematics/ng-update/migrations/class-inheritance.js +67 -0
  175. package/schematics/ng-update/{upgrade-rules/class-names-rule.d.ts → migrations/class-names.d.ts} +6 -6
  176. package/schematics/ng-update/migrations/class-names.js +98 -0
  177. package/schematics/ng-update/{upgrade-rules/constructor-signature-rule.d.ts → migrations/constructor-signature.d.ts} +6 -6
  178. package/schematics/ng-update/migrations/constructor-signature.js +144 -0
  179. package/schematics/ng-update/{upgrade-rules/css-selectors-rule.d.ts → migrations/css-selectors.d.ts} +6 -6
  180. package/schematics/ng-update/migrations/css-selectors.js +83 -0
  181. package/schematics/ng-update/{upgrade-rules/element-selectors-rule.d.ts → migrations/element-selectors.d.ts} +6 -6
  182. package/schematics/ng-update/migrations/element-selectors.js +74 -0
  183. package/schematics/ng-update/{upgrade-rules/input-names-rule.d.ts → migrations/input-names.d.ts} +6 -6
  184. package/schematics/ng-update/migrations/input-names.js +69 -0
  185. package/schematics/ng-update/{upgrade-rules/method-call-arguments-rule.d.ts → migrations/method-call-arguments.d.ts} +6 -6
  186. package/schematics/ng-update/migrations/method-call-arguments.js +70 -0
  187. package/schematics/ng-update/{upgrade-rules/misc-template-rule.d.ts → migrations/misc-template.d.ts} +6 -6
  188. package/schematics/ng-update/migrations/misc-template.js +47 -0
  189. package/schematics/ng-update/{upgrade-rules/output-names-rule.d.ts → migrations/output-names.d.ts} +6 -6
  190. package/schematics/ng-update/migrations/output-names.js +56 -0
  191. package/schematics/ng-update/{upgrade-rules/property-names-rule.d.ts → migrations/property-names.d.ts} +6 -6
  192. package/schematics/ng-update/migrations/property-names.js +56 -0
  193. package/schematics/ng-update/public-api.d.ts +3 -2
  194. package/schematics/ng-update/public-api.js +5 -4
  195. package/schematics/ng-update/upgrade-data.d.ts +7 -8
  196. package/schematics/ng-update/upgrade-data.js +6 -7
  197. package/schematics/update-tool/component-resource-collector.d.ts +3 -1
  198. package/schematics/update-tool/component-resource-collector.js +8 -8
  199. package/schematics/update-tool/file-system.d.ts +38 -0
  200. package/schematics/update-tool/file-system.js +20 -0
  201. package/schematics/update-tool/index.d.ts +41 -11
  202. package/schematics/update-tool/index.js +135 -106
  203. package/schematics/update-tool/logger.d.ts +16 -0
  204. package/schematics/update-tool/logger.js +27 -0
  205. package/schematics/update-tool/{migration-rule.d.ts → migration.d.ts} +23 -45
  206. package/schematics/update-tool/migration.js +76 -0
  207. package/schematics/update-tool/public-api.d.ts +5 -4
  208. package/schematics/update-tool/public-api.js +6 -6
  209. package/schematics/update-tool/update-recorder.d.ts +14 -0
  210. package/schematics/update-tool/update-recorder.js +20 -0
  211. package/schematics/update-tool/utils/parse-tsconfig.js +1 -1
  212. package/schematics/update-tool/version-changes.js +3 -4
  213. package/schematics/utils/build-component.js +15 -4
  214. package/scrolling/index.metadata.json +1 -1
  215. package/scrolling/scrolling-module.d.ts +2 -0
  216. package/table/index.metadata.json +1 -1
  217. package/testing/protractor/protractor-element.d.ts +1 -1
  218. package/testing/test-element.d.ts +4 -2
  219. package/testing/testbed/fake-events/dispatch-events.d.ts +8 -3
  220. package/testing/testbed/fake-events/event-objects.d.ts +12 -1
  221. package/testing/testbed/unit-test-element.d.ts +1 -1
  222. package/text-field/_text-field.scss +19 -4
  223. package/text-field/autosize.d.ts +2 -0
  224. package/text-field/index.metadata.json +1 -1
  225. package/text-field-prebuilt.css +1 -1
  226. package/tree/index.metadata.json +1 -1
  227. package/tree/padding.d.ts +6 -2
  228. package/schematics/ng-update/upgrade-rules/attribute-selectors-rule.js +0 -76
  229. package/schematics/ng-update/upgrade-rules/class-inheritance-rule.js +0 -67
  230. package/schematics/ng-update/upgrade-rules/class-names-rule.js +0 -98
  231. package/schematics/ng-update/upgrade-rules/constructor-signature-rule.js +0 -144
  232. package/schematics/ng-update/upgrade-rules/css-selectors-rule.js +0 -83
  233. package/schematics/ng-update/upgrade-rules/element-selectors-rule.js +0 -74
  234. package/schematics/ng-update/upgrade-rules/index.d.ts +0 -22
  235. package/schematics/ng-update/upgrade-rules/index.js +0 -116
  236. package/schematics/ng-update/upgrade-rules/input-names-rule.js +0 -69
  237. package/schematics/ng-update/upgrade-rules/method-call-arguments-rule.js +0 -70
  238. package/schematics/ng-update/upgrade-rules/misc-template-rule.js +0 -47
  239. package/schematics/ng-update/upgrade-rules/output-names-rule.js +0 -56
  240. package/schematics/ng-update/upgrade-rules/property-names-rule.js +0 -56
  241. package/schematics/update-tool/migration-rule.js +0 -101
@@ -1,101 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- (function (factory) {
9
- if (typeof module === "object" && typeof module.exports === "object") {
10
- var v = factory(require, exports);
11
- if (v !== undefined) module.exports = v;
12
- }
13
- else if (typeof define === "function" && define.amd) {
14
- define("@angular/cdk/schematics/update-tool/migration-rule", ["require", "exports", "typescript"], factory);
15
- }
16
- })(function (require, exports) {
17
- "use strict";
18
- Object.defineProperty(exports, "__esModule", { value: true });
19
- const ts = require("typescript");
20
- class MigrationRule {
21
- constructor(
22
- /** Workspace project the migration rule runs against. */
23
- project,
24
- /** TypeScript program for the migration. */
25
- program,
26
- /** TypeChecker instance for the analysis program. */
27
- typeChecker,
28
- /** Version for which the migration rule should run. */
29
- targetVersion,
30
- /** Upgrade data passed to the migration. */
31
- upgradeData,
32
- /** Devkit tree for the current migration. Can be used to insert/remove files. */
33
- tree,
34
- /** Gets the update recorder for a given source file or resolved template. */
35
- getUpdateRecorder,
36
- /** Base directory of the virtual file system tree. */
37
- basePath,
38
- /** Logger that can be used to print messages as part of the migration. */
39
- logger,
40
- /** Whether the migration runs for a test target. */
41
- isTestTarget,
42
- /** Path to the tsconfig that is migrated. */
43
- tsconfigPath) {
44
- this.project = project;
45
- this.program = program;
46
- this.typeChecker = typeChecker;
47
- this.targetVersion = targetVersion;
48
- this.upgradeData = upgradeData;
49
- this.tree = tree;
50
- this.getUpdateRecorder = getUpdateRecorder;
51
- this.basePath = basePath;
52
- this.logger = logger;
53
- this.isTestTarget = isTestTarget;
54
- this.tsconfigPath = tsconfigPath;
55
- /** List of migration failures that need to be reported. */
56
- this.failures = [];
57
- /** Whether the migration rule is enabled or not. */
58
- this.ruleEnabled = true;
59
- }
60
- /** Method can be used to perform global analysis of the program. */
61
- init() { }
62
- /**
63
- * Method that will be called once all nodes, templates and stylesheets
64
- * have been visited.
65
- */
66
- postAnalysis() { }
67
- /**
68
- * Method that will be called for each node in a given source file. Unlike tslint, this
69
- * function will only retrieve TypeScript nodes that need to be casted manually. This
70
- * allows us to only walk the program source files once per program and not per
71
- * migration rule (significant performance boost).
72
- */
73
- visitNode(node) { }
74
- /** Method that will be called for each Angular template in the program. */
75
- visitTemplate(template) { }
76
- /** Method that will be called for each stylesheet in the program. */
77
- visitStylesheet(stylesheet) { }
78
- /** Creates a failure with a specified message at the given node location. */
79
- createFailureAtNode(node, message) {
80
- const sourceFile = node.getSourceFile();
81
- this.failures.push({
82
- filePath: sourceFile.fileName,
83
- position: ts.getLineAndCharacterOfPosition(sourceFile, node.getStart()),
84
- message: message,
85
- });
86
- }
87
- /** Prints the specified message with "info" loglevel. */
88
- printInfo(text) {
89
- this.logger.info(`- ${this.tsconfigPath}: ${text}`);
90
- }
91
- /**
92
- * Static method that will be called once the migration of all project targets
93
- * has been performed. This method can be used to make changes respecting the
94
- * migration result of all individual targets. e.g. removing HammerJS if it
95
- * is not needed in any project target.
96
- */
97
- static globalPostMigration(tree, context) { }
98
- }
99
- exports.MigrationRule = MigrationRule;
100
- });
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0aW9uLXJ1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvY2RrL3NjaGVtYXRpY3MvdXBkYXRlLXRvb2wvbWlncmF0aW9uLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7SUFLSCxpQ0FBaUM7SUFnQmpDLE1BQWEsYUFBYTtRQU94QjtRQUNJLHlEQUF5RDtRQUNsRCxPQUF5QjtRQUNoQyw0Q0FBNEM7UUFDckMsT0FBbUI7UUFDMUIscURBQXFEO1FBQzlDLFdBQTJCO1FBQ2xDLHVEQUF1RDtRQUNoRCxhQUE0QjtRQUNuQyw0Q0FBNEM7UUFDckMsV0FBYztRQUNyQixpRkFBaUY7UUFDMUUsSUFBVTtRQUNqQiw2RUFBNkU7UUFDdEUsaUJBQXVEO1FBQzlELHNEQUFzRDtRQUMvQyxRQUFnQjtRQUN2QiwwRUFBMEU7UUFDbkUsTUFBeUI7UUFDaEMsb0RBQW9EO1FBQzdDLFlBQXFCO1FBQzVCLDZDQUE2QztRQUN0QyxZQUFvQjtZQXBCcEIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7WUFFekIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtZQUVuQixnQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7WUFFM0Isa0JBQWEsR0FBYixhQUFhLENBQWU7WUFFNUIsZ0JBQVcsR0FBWCxXQUFXLENBQUc7WUFFZCxTQUFJLEdBQUosSUFBSSxDQUFNO1lBRVYsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQztZQUV2RCxhQUFRLEdBQVIsUUFBUSxDQUFRO1lBRWhCLFdBQU0sR0FBTixNQUFNLENBQW1CO1lBRXpCLGlCQUFZLEdBQVosWUFBWSxDQUFTO1lBRXJCLGlCQUFZLEdBQVosWUFBWSxDQUFRO1lBNUIvQiwyREFBMkQ7WUFDM0QsYUFBUSxHQUF1QixFQUFFLENBQUM7WUFFbEMsb0RBQW9EO1lBQ3BELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBd0JlLENBQUM7UUFFbkMsb0VBQW9FO1FBQ3BFLElBQUksS0FBVSxDQUFDO1FBRWY7OztXQUdHO1FBQ0gsWUFBWSxLQUFVLENBQUM7UUFFdkI7Ozs7O1dBS0c7UUFDSCxTQUFTLENBQUMsSUFBYSxJQUFTLENBQUM7UUFFakMsMkVBQTJFO1FBQzNFLGFBQWEsQ0FBQyxRQUEwQixJQUFTLENBQUM7UUFFbEQscUVBQXFFO1FBQ3JFLGVBQWUsQ0FBQyxVQUE0QixJQUFTLENBQUM7UUFFdEQsNkVBQTZFO1FBQzdFLG1CQUFtQixDQUFDLElBQWEsRUFBRSxPQUFlO1lBQ2hELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDakIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO2dCQUM3QixRQUFRLEVBQUUsRUFBRSxDQUFDLDZCQUE2QixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ3ZFLE9BQU8sRUFBRSxPQUFPO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCx5REFBeUQ7UUFDekQsU0FBUyxDQUFDLElBQVk7WUFDcEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEQsQ0FBQztRQUVEOzs7OztXQUtHO1FBQ0gsTUFBTSxDQUFDLG1CQUFtQixDQUFDLElBQVUsRUFBRSxPQUF5QixJQUF3QixDQUFDO0tBQzFGO0lBNUVELHNDQTRFQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge2xvZ2dpbmd9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9jb3JlJztcbmltcG9ydCB7U2NoZW1hdGljQ29udGV4dCwgVHJlZSwgVXBkYXRlUmVjb3JkZXJ9IGZyb20gJ0Bhbmd1bGFyLWRldmtpdC9zY2hlbWF0aWNzJztcbmltcG9ydCB7V29ya3NwYWNlUHJvamVjdH0gZnJvbSAnQHNjaGVtYXRpY3MvYW5ndWxhci91dGlsaXR5L3dvcmtzcGFjZS1tb2RlbHMnO1xuaW1wb3J0ICogYXMgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQge1Jlc29sdmVkUmVzb3VyY2V9IGZyb20gJy4vY29tcG9uZW50LXJlc291cmNlLWNvbGxlY3Rvcic7XG5pbXBvcnQge1RhcmdldFZlcnNpb259IGZyb20gJy4vdGFyZ2V0LXZlcnNpb24nO1xuaW1wb3J0IHtMaW5lQW5kQ2hhcmFjdGVyfSBmcm9tICcuL3V0aWxzL2xpbmUtbWFwcGluZ3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1pZ3JhdGlvbkZhaWx1cmUge1xuICBmaWxlUGF0aDogc3RyaW5nO1xuICBtZXNzYWdlOiBzdHJpbmc7XG4gIHBvc2l0aW9uPzogTGluZUFuZENoYXJhY3Rlcjtcbn1cblxuZXhwb3J0IHR5cGUgUG9zdE1pZ3JhdGlvbkFjdGlvbiA9IHZvaWQgfCB7XG4gIC8qKiBXaGV0aGVyIHRoZSBwYWNrYWdlIG1hbmFnZXIgc2hvdWxkIHJ1biB1cG9uIG1pZ3JhdGlvbiBjb21wbGV0aW9uLiAqL1xuICBydW5QYWNrYWdlTWFuYWdlcjogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCBjbGFzcyBNaWdyYXRpb25SdWxlPFQ+IHtcbiAgLyoqIExpc3Qgb2YgbWlncmF0aW9uIGZhaWx1cmVzIHRoYXQgbmVlZCB0byBiZSByZXBvcnRlZC4gKi9cbiAgZmFpbHVyZXM6IE1pZ3JhdGlvbkZhaWx1cmVbXSA9IFtdO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBtaWdyYXRpb24gcnVsZSBpcyBlbmFibGVkIG9yIG5vdC4gKi9cbiAgcnVsZUVuYWJsZWQgPSB0cnVlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgLyoqIFdvcmtzcGFjZSBwcm9qZWN0IHRoZSBtaWdyYXRpb24gcnVsZSBydW5zIGFnYWluc3QuICovXG4gICAgICBwdWJsaWMgcHJvamVjdDogV29ya3NwYWNlUHJvamVjdCxcbiAgICAgIC8qKiBUeXBlU2NyaXB0IHByb2dyYW0gZm9yIHRoZSBtaWdyYXRpb24uICovXG4gICAgICBwdWJsaWMgcHJvZ3JhbTogdHMuUHJvZ3JhbSxcbiAgICAgIC8qKiBUeXBlQ2hlY2tlciBpbnN0YW5jZSBmb3IgdGhlIGFuYWx5c2lzIHByb2dyYW0uICovXG4gICAgICBwdWJsaWMgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICAgICAgLyoqIFZlcnNpb24gZm9yIHdoaWNoIHRoZSBtaWdyYXRpb24gcnVsZSBzaG91bGQgcnVuLiAqL1xuICAgICAgcHVibGljIHRhcmdldFZlcnNpb246IFRhcmdldFZlcnNpb24sXG4gICAgICAvKiogVXBncmFkZSBkYXRhIHBhc3NlZCB0byB0aGUgbWlncmF0aW9uLiAqL1xuICAgICAgcHVibGljIHVwZ3JhZGVEYXRhOiBULFxuICAgICAgLyoqIERldmtpdCB0cmVlIGZvciB0aGUgY3VycmVudCBtaWdyYXRpb24uIENhbiBiZSB1c2VkIHRvIGluc2VydC9yZW1vdmUgZmlsZXMuICovXG4gICAgICBwdWJsaWMgdHJlZTogVHJlZSxcbiAgICAgIC8qKiBHZXRzIHRoZSB1cGRhdGUgcmVjb3JkZXIgZm9yIGEgZ2l2ZW4gc291cmNlIGZpbGUgb3IgcmVzb2x2ZWQgdGVtcGxhdGUuICovXG4gICAgICBwdWJsaWMgZ2V0VXBkYXRlUmVjb3JkZXI6IChmaWxlUGF0aDogc3RyaW5nKSA9PiBVcGRhdGVSZWNvcmRlcixcbiAgICAgIC8qKiBCYXNlIGRpcmVjdG9yeSBvZiB0aGUgdmlydHVhbCBmaWxlIHN5c3RlbSB0cmVlLiAqL1xuICAgICAgcHVibGljIGJhc2VQYXRoOiBzdHJpbmcsXG4gICAgICAvKiogTG9nZ2VyIHRoYXQgY2FuIGJlIHVzZWQgdG8gcHJpbnQgbWVzc2FnZXMgYXMgcGFydCBvZiB0aGUgbWlncmF0aW9uLiAqL1xuICAgICAgcHVibGljIGxvZ2dlcjogbG9nZ2luZy5Mb2dnZXJBcGksXG4gICAgICAvKiogV2hldGhlciB0aGUgbWlncmF0aW9uIHJ1bnMgZm9yIGEgdGVzdCB0YXJnZXQuICovXG4gICAgICBwdWJsaWMgaXNUZXN0VGFyZ2V0OiBib29sZWFuLFxuICAgICAgLyoqIFBhdGggdG8gdGhlIHRzY29uZmlnIHRoYXQgaXMgbWlncmF0ZWQuICovXG4gICAgICBwdWJsaWMgdHNjb25maWdQYXRoOiBzdHJpbmcpIHt9XG5cbiAgLyoqIE1ldGhvZCBjYW4gYmUgdXNlZCB0byBwZXJmb3JtIGdsb2JhbCBhbmFseXNpcyBvZiB0aGUgcHJvZ3JhbS4gKi9cbiAgaW5pdCgpOiB2b2lkIHt9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uY2UgYWxsIG5vZGVzLCB0ZW1wbGF0ZXMgYW5kIHN0eWxlc2hlZXRzXG4gICAqIGhhdmUgYmVlbiB2aXNpdGVkLlxuICAgKi9cbiAgcG9zdEFuYWx5c2lzKCk6IHZvaWQge31cblxuICAvKipcbiAgICogTWV0aG9kIHRoYXQgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2ggbm9kZSBpbiBhIGdpdmVuIHNvdXJjZSBmaWxlLiBVbmxpa2UgdHNsaW50LCB0aGlzXG4gICAqIGZ1bmN0aW9uIHdpbGwgb25seSByZXRyaWV2ZSBUeXBlU2NyaXB0IG5vZGVzIHRoYXQgbmVlZCB0byBiZSBjYXN0ZWQgbWFudWFsbHkuIFRoaXNcbiAgICogYWxsb3dzIHVzIHRvIG9ubHkgd2FsayB0aGUgcHJvZ3JhbSBzb3VyY2UgZmlsZXMgb25jZSBwZXIgcHJvZ3JhbSBhbmQgbm90IHBlclxuICAgKiBtaWdyYXRpb24gcnVsZSAoc2lnbmlmaWNhbnQgcGVyZm9ybWFuY2UgYm9vc3QpLlxuICAgKi9cbiAgdmlzaXROb2RlKG5vZGU6IHRzLk5vZGUpOiB2b2lkIHt9XG5cbiAgLyoqIE1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIEFuZ3VsYXIgdGVtcGxhdGUgaW4gdGhlIHByb2dyYW0uICovXG4gIHZpc2l0VGVtcGxhdGUodGVtcGxhdGU6IFJlc29sdmVkUmVzb3VyY2UpOiB2b2lkIHt9XG5cbiAgLyoqIE1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIHN0eWxlc2hlZXQgaW4gdGhlIHByb2dyYW0uICovXG4gIHZpc2l0U3R5bGVzaGVldChzdHlsZXNoZWV0OiBSZXNvbHZlZFJlc291cmNlKTogdm9pZCB7fVxuXG4gIC8qKiBDcmVhdGVzIGEgZmFpbHVyZSB3aXRoIGEgc3BlY2lmaWVkIG1lc3NhZ2UgYXQgdGhlIGdpdmVuIG5vZGUgbG9jYXRpb24uICovXG4gIGNyZWF0ZUZhaWx1cmVBdE5vZGUobm9kZTogdHMuTm9kZSwgbWVzc2FnZTogc3RyaW5nKSB7XG4gICAgY29uc3Qgc291cmNlRmlsZSA9IG5vZGUuZ2V0U291cmNlRmlsZSgpO1xuICAgIHRoaXMuZmFpbHVyZXMucHVzaCh7XG4gICAgICBmaWxlUGF0aDogc291cmNlRmlsZS5maWxlTmFtZSxcbiAgICAgIHBvc2l0aW9uOiB0cy5nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihzb3VyY2VGaWxlLCBub2RlLmdldFN0YXJ0KCkpLFxuICAgICAgbWVzc2FnZTogbWVzc2FnZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBQcmludHMgdGhlIHNwZWNpZmllZCBtZXNzYWdlIHdpdGggXCJpbmZvXCIgbG9nbGV2ZWwuICovXG4gIHByaW50SW5mbyh0ZXh0OiBzdHJpbmcpIHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKGAtICR7dGhpcy50c2NvbmZpZ1BhdGh9OiAke3RleHR9YCk7XG4gIH1cblxuICAvKipcbiAgICogU3RhdGljIG1ldGhvZCB0aGF0IHdpbGwgYmUgY2FsbGVkIG9uY2UgdGhlIG1pZ3JhdGlvbiBvZiBhbGwgcHJvamVjdCB0YXJnZXRzXG4gICAqIGhhcyBiZWVuIHBlcmZvcm1lZC4gVGhpcyBtZXRob2QgY2FuIGJlIHVzZWQgdG8gbWFrZSBjaGFuZ2VzIHJlc3BlY3RpbmcgdGhlXG4gICAqIG1pZ3JhdGlvbiByZXN1bHQgb2YgYWxsIGluZGl2aWR1YWwgdGFyZ2V0cy4gZS5nLiByZW1vdmluZyBIYW1tZXJKUyBpZiBpdFxuICAgKiBpcyBub3QgbmVlZGVkIGluIGFueSBwcm9qZWN0IHRhcmdldC5cbiAgICovXG4gIHN0YXRpYyBnbG9iYWxQb3N0TWlncmF0aW9uKHRyZWU6IFRyZWUsIGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQpOiBQb3N0TWlncmF0aW9uQWN0aW9uIHt9XG59XG4iXX0=