@coolon/angular-ui-powerups 0.0.67 → 0.0.68

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 (121) hide show
  1. package/bundles/coolon-angular-ui-powerups.umd.js +2712 -2285
  2. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  3. package/bundles/coolon-angular-ui-powerups.umd.min.js +1 -1
  4. package/bundles/coolon-angular-ui-powerups.umd.min.js.map +1 -1
  5. package/coolon-angular-ui-powerups.d.ts +24 -22
  6. package/coolon-angular-ui-powerups.metadata.json +1 -1
  7. package/esm2015/coolon-angular-ui-powerups.js +24 -22
  8. package/esm2015/index.js +2 -2
  9. package/esm2015/lib/angular-ui-powerups.module.js +6 -3
  10. package/esm2015/lib/components/index.js +2 -1
  11. package/esm2015/lib/components/noop/noop.component.js +19 -0
  12. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  13. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  14. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  15. package/esm2015/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +19 -0
  16. package/esm2015/lib/interaction/guards/interaction-guard.service.js +85 -0
  17. package/esm2015/lib/interaction/index.js +3 -2
  18. package/esm2015/lib/interaction/interaction.module.js +8 -3
  19. package/esm2015/lib/interaction/services/dialog-interaction.service.js +30 -5
  20. package/esm2015/lib/place/components/abstract-place-navigation.component.js +5 -5
  21. package/esm2015/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  22. package/esm2015/lib/place/components/place-outlet/place-outlet.component.js +60 -66
  23. package/esm2015/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  24. package/esm2015/lib/place/index.js +9 -8
  25. package/esm2015/lib/place/navigation-session.js +147 -0
  26. package/esm2015/lib/place/place-component.js +18 -14
  27. package/esm2015/lib/place/place-definition.js +197 -5
  28. package/esm2015/lib/place/place-history.js +3 -2
  29. package/esm2015/lib/place/place-router.js +183 -89
  30. package/esm2015/lib/place/route/formatter.js +63 -0
  31. package/esm2015/lib/place/route/guards/leave-place.guard.js +193 -0
  32. package/esm2015/lib/place/route/guards/place-route.guard.js +243 -0
  33. package/esm2015/lib/place/route/parameter-decorators.js +35 -18
  34. package/esm2015/lib/place/route/parameter-definition.class.js +123 -67
  35. package/esm2015/lib/place/route/parameter-sanitiser.js +4 -3
  36. package/esm2015/lib/place/route/parameter-snapshot.js +11 -388
  37. package/esm2015/lib/place/route/visit-sanitiser.js +88 -0
  38. package/esm2015/lib/place/visit.js +107 -8
  39. package/esm2015/public_api.js +4 -4
  40. package/esm5/coolon-angular-ui-powerups.js +24 -22
  41. package/esm5/index.js +2 -2
  42. package/esm5/lib/angular-ui-powerups.module.js +6 -3
  43. package/esm5/lib/components/index.js +2 -1
  44. package/esm5/lib/components/noop/noop.component.js +21 -0
  45. package/esm5/lib/interaction/components/alert-dialog/alert-dialog.component.js +2 -2
  46. package/esm5/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +2 -2
  47. package/esm5/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +2 -2
  48. package/esm5/lib/interaction/components/interaction-outlet/interaction-outlet.component.js +21 -0
  49. package/esm5/lib/interaction/guards/interaction-guard.service.js +94 -0
  50. package/esm5/lib/interaction/index.js +3 -2
  51. package/esm5/lib/interaction/interaction.module.js +8 -3
  52. package/esm5/lib/interaction/services/dialog-interaction.service.js +28 -5
  53. package/esm5/lib/place/components/abstract-place-navigation.component.js +5 -5
  54. package/esm5/lib/place/components/list-place-nav/list-place-nav.component.js +2 -2
  55. package/esm5/lib/place/components/place-outlet/place-outlet.component.js +70 -82
  56. package/esm5/lib/place/components/tabbed-place-navigation/tabbed-place-navigation.component.js +2 -2
  57. package/esm5/lib/place/index.js +9 -8
  58. package/esm5/lib/place/navigation-session.js +193 -0
  59. package/esm5/lib/place/place-component.js +19 -15
  60. package/esm5/lib/place/place-definition.js +253 -5
  61. package/esm5/lib/place/place-history.js +7 -3
  62. package/esm5/lib/place/place-router.js +240 -108
  63. package/esm5/lib/place/route/formatter.js +96 -0
  64. package/esm5/lib/place/route/guards/leave-place.guard.js +152 -0
  65. package/esm5/lib/place/route/guards/place-route.guard.js +273 -0
  66. package/esm5/lib/place/route/parameter-decorators.js +35 -18
  67. package/esm5/lib/place/route/parameter-definition.class.js +179 -76
  68. package/esm5/lib/place/route/parameter-sanitiser.js +4 -3
  69. package/esm5/lib/place/route/parameter-snapshot.js +11 -480
  70. package/esm5/lib/place/route/visit-sanitiser.js +99 -0
  71. package/esm5/lib/place/visit.js +160 -8
  72. package/esm5/public_api.js +4 -4
  73. package/fesm2015/coolon-angular-ui-powerups.js +1441 -1108
  74. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  75. package/fesm5/coolon-angular-ui-powerups.js +2705 -2282
  76. package/fesm5/coolon-angular-ui-powerups.js.map +1 -1
  77. package/lib/components/index.d.ts +1 -0
  78. package/lib/components/noop/noop.component.d.ts +3 -0
  79. package/lib/interaction/components/interaction-outlet/interaction-outlet.component.d.ts +3 -0
  80. package/lib/interaction/guards/interaction-guard.service.d.ts +13 -0
  81. package/lib/interaction/index.d.ts +2 -1
  82. package/lib/interaction/services/dialog-interaction.service.d.ts +5 -1
  83. package/lib/place/components/place-outlet/place-outlet.component.d.ts +12 -12
  84. package/lib/place/index.d.ts +5 -4
  85. package/lib/place/navigation-session.d.ts +26 -0
  86. package/lib/place/place-component.d.ts +3 -3
  87. package/lib/place/place-definition.d.ts +30 -3
  88. package/lib/place/place-history.d.ts +3 -3
  89. package/lib/place/place-router.d.ts +25 -19
  90. package/lib/place/route/{parameter-type.d.ts → formatter.d.ts} +5 -5
  91. package/lib/place/{guards → route/guards}/leave-place.guard.d.ts +3 -3
  92. package/lib/place/route/guards/place-route.guard.d.ts +27 -0
  93. package/lib/place/route/parameter-decorators.d.ts +14 -6
  94. package/lib/place/route/parameter-definition.class.d.ts +21 -17
  95. package/lib/place/route/parameter-sanitiser.d.ts +3 -2
  96. package/lib/place/route/parameter-snapshot.d.ts +4 -26
  97. package/lib/place/route/visit-sanitiser.d.ts +12 -0
  98. package/lib/place/visit.d.ts +24 -3
  99. package/package.json +1 -1
  100. package/schematics/place-routes/place-class-scanner.d.ts +2 -2
  101. package/schematics/place-routes/place-class-scanner.js +7 -7
  102. package/schematics/place-routes/place-class-scanner.js.map +1 -1
  103. package/schematics/place-routes/place-def.d.ts +3 -2
  104. package/schematics/place-routes/place-def.js +21 -12
  105. package/schematics/place-routes/place-def.js.map +1 -1
  106. package/schematics/place-routes/templates/place-destinations.ts.template +5 -3
  107. package/schematics/place-routes/templates/place-routes.ts.template +10 -1
  108. package/schematics/place-routes/templates/place-visits.ts.template +21 -0
  109. package/esm2015/lib/interaction/guards/close-interaction.guard.js +0 -62
  110. package/esm2015/lib/place/guards/leave-place.guard.js +0 -194
  111. package/esm2015/lib/place/guards/place-route.guard.js +0 -74
  112. package/esm2015/lib/place/route/parameter-type.js +0 -61
  113. package/esm2015/lib/place/route/route-parameter-value.js +0 -230
  114. package/esm5/lib/interaction/guards/close-interaction.guard.js +0 -66
  115. package/esm5/lib/place/guards/leave-place.guard.js +0 -159
  116. package/esm5/lib/place/guards/place-route.guard.js +0 -78
  117. package/esm5/lib/place/route/parameter-type.js +0 -94
  118. package/esm5/lib/place/route/route-parameter-value.js +0 -316
  119. package/lib/interaction/guards/close-interaction.guard.d.ts +0 -12
  120. package/lib/place/guards/place-route.guard.d.ts +0 -10
  121. package/lib/place/route/route-parameter-value.d.ts +0 -42
@@ -2,39 +2,79 @@
2
2
  * @fileoverview added by tsickle
3
3
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
4
  */
5
+ import * as tslib_1 from "tslib";
5
6
  import { Opts } from '@coolon/typescript-utilities';
6
7
  import _ from 'lodash';
7
- import { PlaceHistory } from '../place-history';
8
8
  /**
9
9
  * @abstract
10
- * @template T, S
10
+ * @template T, E
11
11
  */
12
12
  export class ParameterDefinition {
13
13
  /**
14
14
  * @param {?} propertyName
15
- * @param {?} type
16
15
  * @param {?} options
16
+ * @param {?=} urlFormat
17
17
  */
18
- constructor(propertyName, type, options) {
18
+ constructor(propertyName, options, urlFormat) {
19
19
  this.propertyName = propertyName;
20
- this.type = type;
21
- /** @type {?} */
22
- const opts = Opts.get(options);
23
- this.name = opts.getOptional('as', propertyName);
24
- this.remember = opts.getOptional('remember', false);
25
- this.defaultValue = opts.getOptional('defaultValue', null);
20
+ this.urlFormat = urlFormat;
21
+ this.options = Opts.get(options);
22
+ this.remember = this.options.getOptional('remember', false);
23
+ this.defaultValue = this.options.getOptional('defaultValue', null);
24
+ }
25
+ /**
26
+ * @return {?}
27
+ */
28
+ get name() {
29
+ return this.options.getOptional('as', this.propertyName);
26
30
  }
31
+ // @Trace()
27
32
  /**
33
+ * @return {?}
34
+ */
35
+ get isRouteParameter() {
36
+ return !!this.urlFormat;
37
+ }
38
+ /**
39
+ * @protected
40
+ * @template K
41
+ * @param {?} key
42
+ * @return {?}
43
+ */
44
+ getOptionValue(key) {
45
+ return this.options.getOptional(key, null);
46
+ }
47
+ // @Trace()
48
+ /**
49
+ * @param {?} value
50
+ * @param {?} visit
51
+ * @param {?} placeHistory
28
52
  * @param {?} injector
29
53
  * @return {?}
30
54
  */
31
- getSanitiser(injector) {
32
- if (this.remember || !_.isNil(this.defaultValue)) {
33
- return new ParameterDefinition.DefaultParameterSanitiser(this.remember, this.defaultValue, injector.get(PlaceHistory));
34
- }
35
- else {
36
- return null;
37
- }
55
+ sanitise(value, visit, placeHistory, injector) {
56
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
57
+ if (this.isMissingFrom(visit)) {
58
+ /** @type {?} */
59
+ const previousVisit = _.first(placeHistory.getHistory(visit.placeDefinition));
60
+ if (this.remember && previousVisit) {
61
+ value = previousVisit.getParameter(this.name);
62
+ }
63
+ return this.isEmptyValue(value) ? this.defaultValue : value;
64
+ }
65
+ else {
66
+ // todo: add custom sanitiser
67
+ return value;
68
+ }
69
+ });
70
+ }
71
+ /**
72
+ * @private
73
+ * @param {?} visit
74
+ * @return {?}
75
+ */
76
+ isMissingFrom(visit) {
77
+ return !visit.hasParameter(this.name) || (this.isRouteId && !visit.hasRouteId());
38
78
  }
39
79
  }
40
80
  if (false) {
@@ -43,21 +83,31 @@ if (false) {
43
83
  /** @type {?} */
44
84
  ParameterDefinition.prototype.isArray;
45
85
  /** @type {?} */
46
- ParameterDefinition.prototype.name;
47
- /**
48
- * @type {?}
49
- * @private
50
- */
51
86
  ParameterDefinition.prototype.remember;
87
+ /** @type {?} */
88
+ ParameterDefinition.prototype.defaultValue;
52
89
  /**
53
90
  * @type {?}
54
91
  * @private
55
92
  */
56
- ParameterDefinition.prototype.defaultValue;
93
+ ParameterDefinition.prototype.options;
57
94
  /** @type {?} */
58
95
  ParameterDefinition.prototype.propertyName;
59
96
  /** @type {?} */
60
- ParameterDefinition.prototype.type;
97
+ ParameterDefinition.prototype.urlFormat;
98
+ /**
99
+ * @abstract
100
+ * @param {?} value
101
+ * @return {?}
102
+ */
103
+ ParameterDefinition.prototype.isEmptyValue = function (value) { };
104
+ /**
105
+ * @abstract
106
+ * @param {?} a
107
+ * @param {?} b
108
+ * @return {?}
109
+ */
110
+ ParameterDefinition.prototype.hasChanged = function (a, b) { };
61
111
  }
62
112
  (function (ParameterDefinition) {
63
113
  /**
@@ -85,6 +135,21 @@ if (false) {
85
135
  this.isRouteId = true;
86
136
  this.isArray = false;
87
137
  }
138
+ /**
139
+ * @param {?} value
140
+ * @return {?}
141
+ */
142
+ isEmptyValue(value) {
143
+ return _.isNil(value);
144
+ }
145
+ /**
146
+ * @param {?} a
147
+ * @param {?} b
148
+ * @return {?}
149
+ */
150
+ hasChanged(a, b) {
151
+ return a !== b;
152
+ }
88
153
  }
89
154
  ParameterDefinition.RouteId = RouteId;
90
155
  if (false) {
@@ -102,6 +167,21 @@ if (false) {
102
167
  this.isRouteId = false;
103
168
  this.isArray = false;
104
169
  }
170
+ /**
171
+ * @param {?} value
172
+ * @return {?}
173
+ */
174
+ isEmptyValue(value) {
175
+ return _.isNil(value);
176
+ }
177
+ /**
178
+ * @param {?} a
179
+ * @param {?} b
180
+ * @return {?}
181
+ */
182
+ hasChanged(a, b) {
183
+ return a !== b;
184
+ }
105
185
  }
106
186
  ParameterDefinition.ValueParameter = ValueParameter;
107
187
  if (false) {
@@ -114,62 +194,38 @@ if (false) {
114
194
  * @template T
115
195
  */
116
196
  class ArrayParameter extends ParameterDefinition {
117
- constructor() {
118
- super(...arguments);
197
+ /**
198
+ * @param {?} parameterName
199
+ * @param {?} options
200
+ * @param {?} urlFormat
201
+ */
202
+ constructor(parameterName, options, urlFormat) {
203
+ super(parameterName, options, urlFormat);
119
204
  this.isRouteId = false;
120
205
  this.isArray = true;
121
206
  }
122
- }
123
- ParameterDefinition.ArrayParameter = ArrayParameter;
124
- if (false) {
125
- /** @type {?} */
126
- ArrayParameter.prototype.isRouteId;
127
- /** @type {?} */
128
- ArrayParameter.prototype.isArray;
129
- }
130
- /**
131
- * @template T, S
132
- */
133
- class DefaultParameterSanitiser {
134
207
  /**
135
- * @param {?} remember
136
- * @param {?} defaultValue
137
- * @param {?} placeHistory
208
+ * @param {?} value
209
+ * @return {?}
138
210
  */
139
- constructor(remember, defaultValue, placeHistory) {
140
- this.remember = remember;
141
- this.defaultValue = defaultValue;
142
- this.placeHistory = placeHistory;
211
+ isEmptyValue(value) {
212
+ return _.isNil(value) || value.length < 1;
143
213
  }
144
214
  /**
145
- * @param {?} parameter
146
- * @param {?=} visit
215
+ * @param {?} a
216
+ * @param {?} b
147
217
  * @return {?}
148
218
  */
149
- sanitise(parameter, visit) {
150
- /** @type {?} */
151
- let value = parameter.value;
152
- if (parameter.isMissing()) {
153
- /** @type {?} */
154
- const previousVisit = _.first(this.placeHistory.getHistory(visit.placeDefinition));
155
- if (this.remember && previousVisit) {
156
- value = previousVisit.getValueOf(parameter.definition);
157
- }
158
- return parameter.isEmptyValue(value) ? this.defaultValue : value;
159
- }
160
- else {
161
- return value;
162
- }
219
+ hasChanged(a, b) {
220
+ return !_.isEqual(a, b);
163
221
  }
164
222
  }
165
- ParameterDefinition.DefaultParameterSanitiser = DefaultParameterSanitiser;
223
+ ParameterDefinition.ArrayParameter = ArrayParameter;
166
224
  if (false) {
167
225
  /** @type {?} */
168
- DefaultParameterSanitiser.prototype.remember;
169
- /** @type {?} */
170
- DefaultParameterSanitiser.prototype.defaultValue;
226
+ ArrayParameter.prototype.isRouteId;
171
227
  /** @type {?} */
172
- DefaultParameterSanitiser.prototype.placeHistory;
228
+ ArrayParameter.prototype.isArray;
173
229
  }
174
230
  })(ParameterDefinition || (ParameterDefinition = {}));
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNwRCxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQU9oRCxNQUFNLE9BQWdCLG1CQUFtQjs7Ozs7O0lBUXZDLFlBQXFCLFlBQW9CLEVBQVcsSUFBc0IsRUFBRSxPQUF1QztRQUE5RixpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFXLFNBQUksR0FBSixJQUFJLENBQWtCOztjQUNsRSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsQ0FBQzs7Ozs7SUFFRCxZQUFZLENBQUMsUUFBa0I7UUFDN0IsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDaEQsT0FBTyxJQUFJLG1CQUFtQixDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7U0FDeEg7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0NBQ0Y7OztJQXJCQyx3Q0FBcUM7O0lBQ3JDLHNDQUFtQzs7SUFFbkMsbUNBQXNCOzs7OztJQUN0Qix1Q0FBMEI7Ozs7O0lBQzFCLDJDQUF3Qjs7SUFFWiwyQ0FBNkI7O0lBQUUsbUNBQStCOztBQWdCNUUsV0FBaUIsbUJBQW1COzs7OztJQUVsQyxzQkFNQzs7OztRQUxDLHFCQUFZOztRQUNaLDJCQUFtQjs7UUFDbkIsMkJBQW1COztRQUNuQiwrQkFBaUI7Ozs7O0lBSW5CLE1BQWEsT0FBVyxTQUFRLG1CQUFzQjtRQUF0RDs7WUFDVyxjQUFTLEdBQUcsSUFBSSxDQUFDO1lBQ2pCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQztLQUFBO0lBSFksMkJBQU8sVUFHbkIsQ0FBQTs7O1FBRkMsNEJBQTBCOztRQUMxQiwwQkFBeUI7Ozs7O0lBRzNCLE1BQWEsY0FBa0IsU0FBUSxtQkFBc0I7UUFBN0Q7O1lBQ1csY0FBUyxHQUFHLEtBQUssQ0FBQztZQUNsQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzNCLENBQUM7S0FBQTtJQUhZLGtDQUFjLGlCQUcxQixDQUFBOzs7UUFGQyxtQ0FBMkI7O1FBQzNCLGlDQUF5Qjs7Ozs7SUFHM0IsTUFBYSxjQUFrQixTQUFRLG1CQUEyQjtRQUFsRTs7WUFDVyxjQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLFlBQU8sR0FBRyxJQUFJLENBQUM7UUFDMUIsQ0FBQztLQUFBO0lBSFksa0NBQWMsaUJBRzFCLENBQUE7OztRQUZDLG1DQUEyQjs7UUFDM0IsaUNBQXdCOzs7OztJQUkxQixNQUFhLHlCQUF5Qjs7Ozs7O1FBRXBDLFlBQXFCLFFBQWlCLEVBQVcsWUFBZSxFQUFXLFlBQTBCO1lBQWhGLGFBQVEsR0FBUixRQUFRLENBQVM7WUFBVyxpQkFBWSxHQUFaLFlBQVksQ0FBRztZQUFXLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3JHLENBQUM7Ozs7OztRQUVELFFBQVEsQ0FBQyxTQUEyQyxFQUFFLEtBQWE7O2dCQUM3RCxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUs7WUFDM0IsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEVBQUU7O3NCQUNuQixhQUFhLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ2xGLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxhQUFhLEVBQUU7b0JBQ2xDLEtBQUssR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztpQkFDeEQ7Z0JBQ0QsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDbEU7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFDZDtRQUNILENBQUM7S0FDRjtJQWpCWSw2Q0FBeUIsNEJBaUJyQyxDQUFBOzs7UUFmYSw2Q0FBMEI7O1FBQUUsaURBQXdCOztRQUFFLGlEQUFtQzs7QUFpQnpHLENBQUMsRUE3Q2dCLG1CQUFtQixLQUFuQixtQkFBbUIsUUE2Q25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYWNlIH0gZnJvbSAnQGNvb2xvbi9wZWN0aW4nO1xuaW1wb3J0IHsgT3B0cyB9IGZyb20gJ0Bjb29sb24vdHlwZXNjcmlwdC11dGlsaXRpZXMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFBsYWNlSGlzdG9yeSB9IGZyb20gJy4uL3BsYWNlLWhpc3RvcnknO1xuaW1wb3J0IHsgVmlzaXQgfSBmcm9tICcuLi92aXNpdCc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTYW5pdGlzZXIgfSBmcm9tICcuL3BhcmFtZXRlci1zYW5pdGlzZXInO1xuaW1wb3J0IHsgUGFyYW1ldGVyVHlwZSB9IGZyb20gJy4vcGFyYW1ldGVyLXR5cGUnO1xuaW1wb3J0IHsgUm91dGVQYXJhbWV0ZXJWYWx1ZSB9IGZyb20gJy4vcm91dGUtcGFyYW1ldGVyLXZhbHVlJztcblxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBTID0gVD4ge1xuICBhYnN0cmFjdCByZWFkb25seSBpc1JvdXRlSWQ6IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzQXJyYXk6IGJvb2xlYW47XG5cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlbWVtYmVyOiBib29sZWFuO1xuICBwcml2YXRlIGRlZmF1bHRWYWx1ZTogUztcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZywgcmVhZG9ubHkgdHlwZTogUGFyYW1ldGVyVHlwZTxUPiwgb3B0aW9uczogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFM+KSB7XG4gICAgY29uc3Qgb3B0cyA9IE9wdHMuZ2V0KG9wdGlvbnMpO1xuICAgIHRoaXMubmFtZSA9IG9wdHMuZ2V0T3B0aW9uYWwoJ2FzJywgcHJvcGVydHlOYW1lKTtcbiAgICB0aGlzLnJlbWVtYmVyID0gb3B0cy5nZXRPcHRpb25hbCgncmVtZW1iZXInLCBmYWxzZSk7XG4gICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBvcHRzLmdldE9wdGlvbmFsKCdkZWZhdWx0VmFsdWUnLCBudWxsKTtcbiAgfVxuXG4gIGdldFNhbml0aXNlcihpbmplY3RvcjogSW5qZWN0b3IpOiBQYXJhbWV0ZXJTYW5pdGlzZXI8Uz4ge1xuICAgIGlmICh0aGlzLnJlbWVtYmVyIHx8ICFfLmlzTmlsKHRoaXMuZGVmYXVsdFZhbHVlKSkge1xuICAgICAgcmV0dXJuIG5ldyBQYXJhbWV0ZXJEZWZpbml0aW9uLkRlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXIodGhpcy5yZW1lbWJlciwgdGhpcy5kZWZhdWx0VmFsdWUsIGluamVjdG9yLmdldChQbGFjZUhpc3RvcnkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUGFyYW1ldGVyRGVmaW5pdGlvbiB7XG5cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zPFQ+IHtcbiAgICBhcz86IHN0cmluZztcbiAgICBvcHRpb25hbD86IGJvb2xlYW47XG4gICAgcmVtZW1iZXI/OiBib29sZWFuO1xuICAgIGRlZmF1bHRWYWx1ZT86IFQ7XG4gICAgLy8gc2FuaXRpc2VyPzogQ29uc3RydWN0YWJsZTxQYXJhbWV0ZXJTYW5pdGlzZXI8VD4+IHwgUGFyYW1ldGVyU2FuaXRpc2VyLk9wdGlvbnM8VD47XG4gIH1cblxuICBleHBvcnQgY2xhc3MgUm91dGVJZDxUPiBleHRlbmRzIFBhcmFtZXRlckRlZmluaXRpb248VD4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IHRydWU7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IGZhbHNlO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFZhbHVlUGFyYW1ldGVyPFQ+IGV4dGVuZHMgUGFyYW1ldGVyRGVmaW5pdGlvbjxUPiB7XG4gICAgcmVhZG9ubHkgaXNSb3V0ZUlkID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IGZhbHNlO1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIEFycmF5UGFyYW1ldGVyPFQ+IGV4dGVuZHMgUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBUW10+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSBmYWxzZTtcbiAgICByZWFkb25seSBpc0FycmF5ID0gdHJ1ZTtcbiAgfVxuXG5cbiAgZXhwb3J0IGNsYXNzIERlZmF1bHRQYXJhbWV0ZXJTYW5pdGlzZXI8VCwgUz4gaW1wbGVtZW50cyBQYXJhbWV0ZXJTYW5pdGlzZXI8Uz4ge1xuXG4gICAgY29uc3RydWN0b3IocmVhZG9ubHkgcmVtZW1iZXI6IGJvb2xlYW4sIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZTogUywgcmVhZG9ubHkgcGxhY2VIaXN0b3J5OiBQbGFjZUhpc3RvcnkpIHtcbiAgICB9XG5cbiAgICBzYW5pdGlzZShwYXJhbWV0ZXI6IFJvdXRlUGFyYW1ldGVyVmFsdWU8UywgYW55LCBhbnk+LCB2aXNpdD86IFZpc2l0KTogUHJvbWlzZTxTPiB8IFMge1xuICAgICAgbGV0IHZhbHVlID0gcGFyYW1ldGVyLnZhbHVlO1xuICAgICAgaWYgKHBhcmFtZXRlci5pc01pc3NpbmcoKSkge1xuICAgICAgICBjb25zdCBwcmV2aW91c1Zpc2l0ID0gXy5maXJzdCh0aGlzLnBsYWNlSGlzdG9yeS5nZXRIaXN0b3J5KHZpc2l0LnBsYWNlRGVmaW5pdGlvbikpO1xuICAgICAgICBpZiAodGhpcy5yZW1lbWJlciAmJiBwcmV2aW91c1Zpc2l0KSB7XG4gICAgICAgICAgdmFsdWUgPSBwcmV2aW91c1Zpc2l0LmdldFZhbHVlT2YocGFyYW1ldGVyLmRlZmluaXRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJhbWV0ZXIuaXNFbXB0eVZhbHVlKHZhbHVlKSA/IHRoaXMuZGVmYXVsdFZhbHVlIDogdmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==
231
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY29vbG9uL2FuZ3VsYXItdWktcG93ZXJ1cHMvIiwic291cmNlcyI6WyJsaWIvcGxhY2Uvcm91dGUvcGFyYW1ldGVyLWRlZmluaXRpb24uY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDcEQsT0FBTyxDQUFDLE1BQU0sUUFBUSxDQUFDOzs7OztBQUt2QixNQUFNLE9BQWdCLG1CQUFtQjs7Ozs7O0lBU3ZDLFlBQXFCLFlBQW9CLEVBQUUsT0FBdUMsRUFBVyxTQUF3QjtRQUFoRyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtRQUFvRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQ25ILElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7O0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzNELENBQUM7Ozs7O0lBR0QsSUFBSSxnQkFBZ0I7UUFDbEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDOzs7Ozs7O0lBTVMsY0FBYyxDQUFpRCxHQUFNO1FBQzdFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdDLENB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RCxVQUFVLENBQUMsQ0FBTSxFQUFFLENBQU07WUFDdkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFCLENBQUM7S0FFRjtJQWhCWSxrQ0FBYyxpQkFnQjFCLENBQUE7OztRQWZDLG1DQUEyQjs7UUFDM0IsaUNBQXdCOztBQWU1QixDQUFDLEVBckRnQixtQkFBbUIsS0FBbkIsbUJBQW1CLFFBcURuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFjZSB9IGZyb20gJ0Bjb29sb24vcGVjdGluJztcbmltcG9ydCB7IE9wdHMgfSBmcm9tICdAY29vbG9uL3R5cGVzY3JpcHQtdXRpbGl0aWVzJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBQbGFjZUhpc3RvcnkgfSBmcm9tICcuLi9wbGFjZS1oaXN0b3J5JztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgRm9ybWF0dGVyIH0gZnJvbSAnLi9mb3JtYXR0ZXInO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGFyYW1ldGVyRGVmaW5pdGlvbjxULCBFID0gVD4ge1xuXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzUm91dGVJZDogYm9vbGVhbjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgaXNBcnJheTogYm9vbGVhbjtcblxuICByZWFkb25seSByZW1lbWJlcjogYm9vbGVhbjtcbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlOiBUO1xuICBwcml2YXRlIG9wdGlvbnM6IE9wdHM8UGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+PjtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBwcm9wZXJ0eU5hbWU6IHN0cmluZywgb3B0aW9uczogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+LCByZWFkb25seSB1cmxGb3JtYXQ/OiBGb3JtYXR0ZXI8RT4pIHtcbiAgICB0aGlzLm9wdGlvbnMgPSBPcHRzLmdldChvcHRpb25zKTtcbiAgICB0aGlzLnJlbWVtYmVyID0gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdyZW1lbWJlcicsIGZhbHNlKTtcbiAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IHRoaXMub3B0aW9ucy5nZXRPcHRpb25hbCgnZGVmYXVsdFZhbHVlJywgbnVsbCk7XG4gIH1cblxuICBnZXQgbmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKCdhcycsIHRoaXMucHJvcGVydHlOYW1lKTtcbiAgfVxuXG4gIC8vIEBUcmFjZSgpXG4gIGdldCBpc1JvdXRlUGFyYW1ldGVyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIXRoaXMudXJsRm9ybWF0O1xuICB9XG5cbiAgYWJzdHJhY3QgaXNFbXB0eVZhbHVlKHZhbHVlOiBUKTogYm9vbGVhbjtcblxuICBhYnN0cmFjdCBoYXNDaGFuZ2VkKGE6IGFueSwgYjogYW55KTogYm9vbGVhbjtcblxuICBwcm90ZWN0ZWQgZ2V0T3B0aW9uVmFsdWU8SyBleHRlbmRzIGtleW9mIFBhcmFtZXRlckRlZmluaXRpb24uT3B0aW9uczxUPj4oa2V5OiBLKTogUGFyYW1ldGVyRGVmaW5pdGlvbi5PcHRpb25zPFQ+W0tdIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldE9wdGlvbmFsKGtleSwgbnVsbCk7XG4gIH1cblxuICAvLyBAVHJhY2UoKVxuICBhc3luYyBzYW5pdGlzZSh2YWx1ZTpULCB2aXNpdDogVmlzaXQsIHBsYWNlSGlzdG9yeTogUGxhY2VIaXN0b3J5LCBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICBpZiAodGhpcy5pc01pc3NpbmdGcm9tKHZpc2l0KSkge1xuICAgICAgY29uc3QgcHJldmlvdXNWaXNpdCA9IF8uZmlyc3QocGxhY2VIaXN0b3J5LmdldEhpc3RvcnkodmlzaXQucGxhY2VEZWZpbml0aW9uKSk7XG4gICAgICBpZiAodGhpcy5yZW1lbWJlciAmJiBwcmV2aW91c1Zpc2l0KSB7XG4gICAgICAgIHZhbHVlID0gcHJldmlvdXNWaXNpdC5nZXRQYXJhbWV0ZXIodGhpcy5uYW1lKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmlzRW1wdHlWYWx1ZSh2YWx1ZSkgPyB0aGlzLmRlZmF1bHRWYWx1ZSA6IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB0b2RvOiBhZGQgY3VzdG9tIHNhbml0aXNlclxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNNaXNzaW5nRnJvbSh2aXNpdDogVmlzaXQpIHtcbiAgICByZXR1cm4gIXZpc2l0Lmhhc1BhcmFtZXRlcih0aGlzLm5hbWUpIHx8ICh0aGlzLmlzUm91dGVJZCAmJiAhdmlzaXQuaGFzUm91dGVJZCgpKTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIFBhcmFtZXRlckRlZmluaXRpb24ge1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uczxUPiB7XG4gICAgYXM/OiBzdHJpbmc7XG4gICAgb3B0aW9uYWw/OiBib29sZWFuO1xuICAgIHJlbWVtYmVyPzogYm9vbGVhbjtcbiAgICBkZWZhdWx0VmFsdWU/OiBUO1xuICAgIC8vIHNhbml0aXNlcj86IENvbnN0cnVjdGFibGU8UGFyYW1ldGVyU2FuaXRpc2VyPFQ+PiB8IFBhcmFtZXRlclNhbml0aXNlci5PcHRpb25zPFQ+O1xuICB9XG5cbiAgZXhwb3J0IGNsYXNzIFJvdXRlSWQ8VD4gZXh0ZW5kcyBQYXJhbWV0ZXJEZWZpbml0aW9uPFQ+IHtcbiAgICByZWFkb25seSBpc1JvdXRlSWQgPSB0cnVlO1xuICAgIHJlYWRvbmx5IGlzQXJyYXkgPSBmYWxzZTtcblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIF8uaXNOaWwodmFsdWUpO1xuICAgIH1cblxuICAgIGhhc0NoYW5nZWQoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBhICE9PSBiO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBWYWx1ZVBhcmFtZXRlcjxUPiBleHRlbmRzIFBhcmFtZXRlckRlZmluaXRpb248VD4ge1xuICAgIHJlYWRvbmx5IGlzUm91dGVJZCA9IGZhbHNlO1xuICAgIHJlYWRvbmx5IGlzQXJyYXkgPSBmYWxzZTtcblxuICAgIGlzRW1wdHlWYWx1ZSh2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIF8uaXNOaWwodmFsdWUpO1xuICAgIH1cblxuICAgIGhhc0NoYW5nZWQoYTogYW55LCBiOiBhbnkpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBhICE9PSBiO1xuICAgIH1cbiAgfVxuXG4gIGV4cG9ydCBjbGFzcyBBcnJheVBhcmFtZXRlcjxUPiBleHRlbmRzIFBhcmFtZXRlckRlZmluaXRpb248VFtdLCBUPiB7XG4gICAgcmVhZG9ubHkgaXNSb3V0ZUlkID0gZmFsc2U7XG4gICAgcmVhZG9ubHkgaXNBcnJheSA9IHRydWU7XG5cbiAgICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJOYW1lOiBzdHJpbmcsIG9wdGlvbnM6IE9wdGlvbnM8VFtdPiwgdXJsRm9ybWF0OiBGb3JtYXR0ZXI8VD4pIHtcbiAgICAgIHN1cGVyKHBhcmFtZXRlck5hbWUsIG9wdGlvbnMsIHVybEZvcm1hdCk7XG4gICAgfVxuXG4gICAgaXNFbXB0eVZhbHVlKHZhbHVlOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiBfLmlzTmlsKHZhbHVlKSB8fCB2YWx1ZS5sZW5ndGggPCAxO1xuICAgIH1cblxuICAgIGhhc0NoYW5nZWQoYTogVFtdLCBiOiBUW10pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiAhXy5pc0VxdWFsKGEsIGIpO1xuICAgIH1cblxuICB9XG59XG4iXX0=
@@ -9,10 +9,11 @@
9
9
  export function ParameterSanitiser() { }
10
10
  if (false) {
11
11
  /**
12
- * @param {?} paramter
12
+ * @param {?} parameterValue
13
13
  * @param {?=} visit
14
+ * @param {?=} injector
14
15
  * @return {?}
15
16
  */
16
- ParameterSanitiser.prototype.sanitise = function (paramter, visit) { };
17
+ ParameterSanitiser.prototype.sanitise = function (parameterValue, visit, injector) { };
17
18
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBR0Esd0NBRUM7Ozs7Ozs7SUFEQyx1RUFBb0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBWaXNpdCB9IGZyb20gJy4uL3Zpc2l0JztcbmltcG9ydCB7IFJvdXRlUGFyYW1ldGVyVmFsdWUgfSBmcm9tICcuL3JvdXRlLXBhcmFtZXRlci12YWx1ZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgc2FuaXRpc2UocGFyYW10ZXI6IFJvdXRlUGFyYW1ldGVyVmFsdWU8UywgYW55LCBhbnk+LCB2aXNpdD86IFZpc2l0KTogUHJvbWlzZTxTPiB8IFM7XG59XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVyLXNhbml0aXNlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb29sb24vYW5ndWxhci11aS1wb3dlcnVwcy8iLCJzb3VyY2VzIjpbImxpYi9wbGFjZS9yb3V0ZS9wYXJhbWV0ZXItc2FuaXRpc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBSUEsd0NBRUM7Ozs7Ozs7O0lBREMsdUZBQW1HIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZpc2l0IH0gZnJvbSAnLi4vdmlzaXQnO1xuaW1wb3J0IHsgUGFyYW1ldGVyU25hcHNob3QgfSBmcm9tICcuL3BhcmFtZXRlci1zbmFwc2hvdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFyYW1ldGVyU2FuaXRpc2VyPFM+IHtcbiAgc2FuaXRpc2UocGFyYW1ldGVyVmFsdWU6IFBhcmFtZXRlclNuYXBzaG90PFM+LCB2aXNpdD86IFZpc2l0LCBpbmplY3Rvcj86IEluamVjdG9yKTogUHJvbWlzZTxTPiB8IFM7XG59XG4iXX0=