@dcl/asset-packs 2.11.6 → 2.11.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/enums.js CHANGED
@@ -1,19 +1,21 @@
1
- export var ComponentName;
2
- (function (ComponentName) {
3
- ComponentName["ACTION_TYPES"] = "asset-packs::ActionTypes";
4
- ComponentName["ACTIONS"] = "asset-packs::Actions";
5
- ComponentName["COUNTER"] = "asset-packs::Counter";
6
- ComponentName["TRIGGERS"] = "asset-packs::Triggers";
7
- ComponentName["STATES"] = "asset-packs::States";
8
- ComponentName["COUNTER_BAR"] = "asset-packs::CounterBar";
9
- ComponentName["ADMIN_TOOLS"] = "asset-packs::AdminTools";
10
- ComponentName["VIDEO_SCREEN"] = "asset-packs::VideoScreen";
11
- ComponentName["REWARDS"] = "asset-packs::Rewards";
12
- ComponentName["TEXT_ANNOUNCEMENTS"] = "asset-packs::TextAnnouncements";
13
- ComponentName["VIDEO_CONTROL_STATE"] = "asset-packs::VideoControlState";
14
- ComponentName["SCRIPT"] = "asset-packs::Script";
15
- ComponentName["PLACEHOLDER"] = "asset-packs::Placeholder";
16
- })(ComponentName || (ComponentName = {}));
1
+ import { getLatestVersionName } from './versioning/registry';
2
+ import { BaseComponentNames } from './constants';
3
+ export { BaseComponentNames } from './constants';
4
+ export const ComponentName = {
5
+ ACTION_TYPES: getLatestVersionName(BaseComponentNames.ACTION_TYPES),
6
+ ACTIONS: getLatestVersionName(BaseComponentNames.ACTIONS),
7
+ COUNTER: getLatestVersionName(BaseComponentNames.COUNTER),
8
+ TRIGGERS: getLatestVersionName(BaseComponentNames.TRIGGERS),
9
+ STATES: getLatestVersionName(BaseComponentNames.STATES),
10
+ COUNTER_BAR: getLatestVersionName(BaseComponentNames.COUNTER_BAR),
11
+ ADMIN_TOOLS: getLatestVersionName(BaseComponentNames.ADMIN_TOOLS),
12
+ VIDEO_SCREEN: getLatestVersionName(BaseComponentNames.VIDEO_SCREEN),
13
+ REWARDS: getLatestVersionName(BaseComponentNames.REWARDS),
14
+ TEXT_ANNOUNCEMENTS: getLatestVersionName(BaseComponentNames.TEXT_ANNOUNCEMENTS),
15
+ VIDEO_CONTROL_STATE: getLatestVersionName(BaseComponentNames.VIDEO_CONTROL_STATE),
16
+ SCRIPT: getLatestVersionName(BaseComponentNames.SCRIPT),
17
+ PLACEHOLDER: getLatestVersionName(BaseComponentNames.PLACEHOLDER),
18
+ };
17
19
  export var TweenType;
18
20
  (function (TweenType) {
19
21
  TweenType["MOVE_ITEM"] = "move_item";
@@ -110,45 +112,7 @@ export var ActionType;
110
112
  ActionType["LOG_TO_CONSOLE"] = "log_to_console";
111
113
  ActionType["DELETE"] = "delete";
112
114
  })(ActionType || (ActionType = {}));
113
- export var TriggerType;
114
- (function (TriggerType) {
115
- TriggerType["ON_CLICK"] = "on_click";
116
- TriggerType["ON_INPUT_ACTION"] = "on_input_action";
117
- TriggerType["ON_STATE_CHANGE"] = "on_state_change";
118
- TriggerType["ON_SPAWN"] = "on_spawn";
119
- TriggerType["ON_TWEEN_END"] = "on_tween_end";
120
- TriggerType["ON_COUNTER_CHANGE"] = "on_counter_change";
121
- TriggerType["ON_PLAYER_ENTERS_AREA"] = "on_player_enters_area";
122
- TriggerType["ON_PLAYER_LEAVES_AREA"] = "on_player_leaves_area";
123
- TriggerType["ON_DELAY"] = "on_delay";
124
- TriggerType["ON_LOOP"] = "on_loop";
125
- TriggerType["ON_CLONE"] = "on_clone";
126
- TriggerType["ON_CLICK_IMAGE"] = "on_click_image";
127
- TriggerType["ON_DAMAGE"] = "on_damage";
128
- TriggerType["ON_GLOBAL_CLICK"] = "on_global_click";
129
- TriggerType["ON_GLOBAL_PRIMARY"] = "on_global_primary";
130
- TriggerType["ON_GLOBAL_SECONDARY"] = "on_global_secondary";
131
- TriggerType["ON_TICK"] = "on_tick";
132
- TriggerType["ON_HEAL_PLAYER"] = "on_heal_player";
133
- TriggerType["ON_PLAYER_SPAWN"] = "on_player_spawn";
134
- })(TriggerType || (TriggerType = {}));
135
- export var TriggerConditionType;
136
- (function (TriggerConditionType) {
137
- TriggerConditionType["WHEN_STATE_IS"] = "when_state_is";
138
- TriggerConditionType["WHEN_STATE_IS_NOT"] = "when_state_is_not";
139
- TriggerConditionType["WHEN_COUNTER_EQUALS"] = "when_counter_equals";
140
- TriggerConditionType["WHEN_COUNTER_IS_GREATER_THAN"] = "when_counter_is_greater_than";
141
- TriggerConditionType["WHEN_COUNTER_IS_LESS_THAN"] = "when_counter_is_less_than";
142
- TriggerConditionType["WHEN_DISTANCE_TO_PLAYER_LESS_THAN"] = "when_distance_to_player_less_than";
143
- TriggerConditionType["WHEN_DISTANCE_TO_PLAYER_GREATER_THAN"] = "when_distance_to_player_greater_than";
144
- TriggerConditionType["WHEN_PREVIOUS_STATE_IS"] = "when_previous_state_is";
145
- TriggerConditionType["WHEN_PREVIOUS_STATE_IS_NOT"] = "when_previous_state_is_not";
146
- })(TriggerConditionType || (TriggerConditionType = {}));
147
- export var TriggerConditionOperation;
148
- (function (TriggerConditionOperation) {
149
- TriggerConditionOperation["AND"] = "and";
150
- TriggerConditionOperation["OR"] = "or";
151
- })(TriggerConditionOperation || (TriggerConditionOperation = {}));
115
+ export { TriggerType, TriggerConditionType, TriggerConditionOperation } from './trigger-enums';
152
116
  export var AlignMode;
153
117
  (function (AlignMode) {
154
118
  AlignMode[AlignMode["TAM_TOP_LEFT"] = 0] = "TAM_TOP_LEFT";
@@ -198,14 +162,5 @@ export var ProximityLayer;
198
162
  ProximityLayer["PLAYER"] = "player";
199
163
  ProximityLayer["NON_PLAYER"] = "non_player";
200
164
  })(ProximityLayer || (ProximityLayer = {}));
201
- export var AdminPermissions;
202
- (function (AdminPermissions) {
203
- AdminPermissions["PUBLIC"] = "PUBLIC";
204
- AdminPermissions["PRIVATE"] = "PRIVATE";
205
- })(AdminPermissions || (AdminPermissions = {}));
206
- export var MediaSource;
207
- (function (MediaSource) {
208
- MediaSource[MediaSource["VideoURL"] = 0] = "VideoURL";
209
- MediaSource[MediaSource["LiveStream"] = 1] = "LiveStream";
210
- })(MediaSource || (MediaSource = {}));
211
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFOLElBQVksYUFjWDtBQWRELFdBQVksYUFBYTtJQUN2QiwwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxpREFBZ0MsQ0FBQTtJQUNoQyxtREFBa0MsQ0FBQTtJQUNsQywrQ0FBOEIsQ0FBQTtJQUM5Qix3REFBdUMsQ0FBQTtJQUN2Qyx3REFBdUMsQ0FBQTtJQUN2QywwREFBeUMsQ0FBQTtJQUN6QyxpREFBZ0MsQ0FBQTtJQUNoQyxzRUFBcUQsQ0FBQTtJQUNyRCx1RUFBc0QsQ0FBQTtJQUN0RCwrQ0FBOEIsQ0FBQTtJQUM5Qix5REFBd0MsQ0FBQTtBQUMxQyxDQUFDLEVBZFcsYUFBYSxLQUFiLGFBQWEsUUFjeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxTQUtYO0FBTEQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLHdDQUEyQixDQUFBO0lBQzNCLHNDQUF5QixDQUFBO0lBQ3pCLHNEQUF5QyxDQUFBO0FBQzNDLENBQUMsRUFMVyxTQUFTLEtBQVQsU0FBUyxRQUtwQjtBQUVELE1BQU0sQ0FBTixJQUFZLFlBR1g7QUFIRCxXQUFZLFlBQVk7SUFDdEIsaURBQWlDLENBQUE7SUFDakMscUNBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBaUJYO0FBakJELFdBQVksaUJBQWlCO0lBQzNCLHNDQUFpQixDQUFBO0lBQ2pCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLDBDQUFxQixDQUFBO0lBQ3JCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lBQzFCLDhDQUF5QixDQUFBO0lBQ3pCLGdEQUEyQixDQUFBO0lBQzNCLCtDQUEwQixDQUFBO0lB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LHVEQUFnQixDQUFBO0lBQ2hCLHVEQUFnQixDQUFBO0lBQ2hCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHdEQUFpQixDQUFBO0lBQ2pCLHlEQUFrQixDQUFBO0lBQ2xCLHlEQUFrQixDQUFBO0FBQ3BCLENBQUMsRUFyQlcsU0FBUyxLQUFULFNBQVMsUUFxQnBCO0FBR0QsTUFBTSxDQUFOLElBQVksbUJBSVg7QUFKRCxXQUFZLG1CQUFtQjtJQUU3Qix5RUFBYyxDQUFBO0lBQ2QseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0lBQ2pCLDJDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUVELE1BQU0sQ0FBTixJQUFZLGdCQUdYO0FBSEQsV0FBWSxnQkFBZ0I7SUFDMUIscUNBQWlCLENBQUE7SUFDakIsdUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUhXLGdCQUFnQixLQUFoQixnQkFBZ0IsUUFHM0I7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHFEQUFRLENBQUE7SUFDUix5REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUhXLFdBQVcsS0FBWCxXQUFXLFFBR3RCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBZR0FsaWduLCBZR0p1c3RpZnkgfSBmcm9tICdAZGNsL2Vjcyc7XG5cbmV4cG9ydCBlbnVtIENvbXBvbmVudE5hbWUge1xuICBBQ1RJT05fVFlQRVMgPSAnYXNzZXQtcGFja3M6OkFjdGlvblR5cGVzJyxcbiAgQUNUSU9OUyA9ICdhc3NldC1wYWNrczo6QWN0aW9ucycsXG4gIENPVU5URVIgPSAnYXNzZXQtcGFja3M6OkNvdW50ZXInLFxuICBUUklHR0VSUyA9ICdhc3NldC1wYWNrczo6VHJpZ2dlcnMnLFxuICBTVEFURVMgPSAnYXNzZXQtcGFja3M6OlN0YXRlcycsXG4gIENPVU5URVJfQkFSID0gJ2Fzc2V0LXBhY2tzOjpDb3VudGVyQmFyJyxcbiAgQURNSU5fVE9PTFMgPSAnYXNzZXQtcGFja3M6OkFkbWluVG9vbHMnLFxuICBWSURFT19TQ1JFRU4gPSAnYXNzZXQtcGFja3M6OlZpZGVvU2NyZWVuJyxcbiAgUkVXQVJEUyA9ICdhc3NldC1wYWNrczo6UmV3YXJkcycsXG4gIFRFWFRfQU5OT1VOQ0VNRU5UUyA9ICdhc3NldC1wYWNrczo6VGV4dEFubm91bmNlbWVudHMnLFxuICBWSURFT19DT05UUk9MX1NUQVRFID0gJ2Fzc2V0LXBhY2tzOjpWaWRlb0NvbnRyb2xTdGF0ZScsXG4gIFNDUklQVCA9ICdhc3NldC1wYWNrczo6U2NyaXB0JyxcbiAgUExBQ0VIT0xERVIgPSAnYXNzZXQtcGFja3M6OlBsYWNlaG9sZGVyJyxcbn1cblxuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbiAgS0VFUF9ST1RBVElOR19JVEVNID0gJ2tlZXBfcm90YXRpbmdfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIFRlbGVwb3J0TW9kZSB7XG4gIFRPX0NPT1JESU5BVEVTID0gJ3RvX2Nvb3JkaW5hdGVzJyxcbiAgVE9fV09STEQgPSAndG9fd29ybGQnLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFZRVJfRkFDRV9JVEVNID0gJ3BsYXllcl9mYWNlX2l0ZW0nLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG4gIEZSRUVaRV9QTEFZRVIgPSAnZnJlZXplX3BsYXllcicsXG4gIFVORlJFRVpFX1BMQVlFUiA9ICd1bmZyZWV6ZV9wbGF5ZXInLFxuICBDSEFOR0VfQ09MTElTSU9OUyA9ICdjaGFuZ2VfY29sbGlzaW9ucycsXG4gIENIQU5HRV9TS1lCT1ggPSAnY2hhbmdlX3NreWJveCcsXG4gIFJFU0VUX1NLWUJPWCA9ICdyZXNldF9za3lib3gnLFxuICBDQUxMX1NDUklQVF9NRVRIT0QgPSAnY2FsbF9zY3JpcHRfbWV0aG9kJyxcbiAgTE9HX1RPX0NPTlNPTEUgPSAnbG9nX3RvX2NvbnNvbGUnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlclR5cGUge1xuICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gIE9OX0NMSUNLID0gJ29uX2NsaWNrJyxcbiAgT05fSU5QVVRfQUNUSU9OID0gJ29uX2lucHV0X2FjdGlvbicsXG4gIE9OX1NUQVRFX0NIQU5HRSA9ICdvbl9zdGF0ZV9jaGFuZ2UnLFxuICBPTl9TUEFXTiA9ICdvbl9zcGF3bicsXG4gIE9OX1RXRUVOX0VORCA9ICdvbl90d2Vlbl9lbmQnLFxuICBPTl9DT1VOVEVSX0NIQU5HRSA9ICdvbl9jb3VudGVyX2NoYW5nZScsXG4gIE9OX1BMQVlFUl9FTlRFUlNfQVJFQSA9ICdvbl9wbGF5ZXJfZW50ZXJzX2FyZWEnLFxuICBPTl9QTEFZRVJfTEVBVkVTX0FSRUEgPSAnb25fcGxheWVyX2xlYXZlc19hcmVhJyxcbiAgT05fREVMQVkgPSAnb25fZGVsYXknLFxuICBPTl9MT09QID0gJ29uX2xvb3AnLFxuICBPTl9DTE9ORSA9ICdvbl9jbG9uZScsXG4gIE9OX0NMSUNLX0lNQUdFID0gJ29uX2NsaWNrX2ltYWdlJyxcbiAgT05fREFNQUdFID0gJ29uX2RhbWFnZScsXG4gIE9OX0dMT0JBTF9DTElDSyA9ICdvbl9nbG9iYWxfY2xpY2snLFxuICBPTl9HTE9CQUxfUFJJTUFSWSA9ICdvbl9nbG9iYWxfcHJpbWFyeScsXG4gIE9OX0dMT0JBTF9TRUNPTkRBUlkgPSAnb25fZ2xvYmFsX3NlY29uZGFyeScsXG4gIE9OX1RJQ0sgPSAnb25fdGljaycsXG4gIE9OX0hFQUxfUExBWUVSID0gJ29uX2hlYWxfcGxheWVyJyxcbiAgT05fUExBWUVSX1NQQVdOID0gJ29uX3BsYXllcl9zcGF3bicsXG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJDb25kaXRpb25UeXBlIHtcbiAgV0hFTl9TVEFURV9JUyA9ICd3aGVuX3N0YXRlX2lzJyxcbiAgV0hFTl9TVEFURV9JU19OT1QgPSAnd2hlbl9zdGF0ZV9pc19ub3QnLFxuICBXSEVOX0NPVU5URVJfRVFVQUxTID0gJ3doZW5fY291bnRlcl9lcXVhbHMnLFxuICBXSEVOX0NPVU5URVJfSVNfR1JFQVRFUl9USEFOID0gJ3doZW5fY291bnRlcl9pc19ncmVhdGVyX3RoYW4nLFxuICBXSEVOX0NPVU5URVJfSVNfTEVTU19USEFOID0gJ3doZW5fY291bnRlcl9pc19sZXNzX3RoYW4nLFxuICBXSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9MRVNTX1RIQU4gPSAnd2hlbl9kaXN0YW5jZV90b19wbGF5ZXJfbGVzc190aGFuJyxcbiAgV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfR1JFQVRFUl9USEFOID0gJ3doZW5fZGlzdGFuY2VfdG9fcGxheWVyX2dyZWF0ZXJfdGhhbicsXG4gIFdIRU5fUFJFVklPVVNfU1RBVEVfSVMgPSAnd2hlbl9wcmV2aW91c19zdGF0ZV9pcycsXG4gIFdIRU5fUFJFVklPVVNfU1RBVEVfSVNfTk9UID0gJ3doZW5fcHJldmlvdXNfc3RhdGVfaXNfbm90Jyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbiB7XG4gIEFORCA9ICdhbmQnLFxuICBPUiA9ICdvcicsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBBbGlnbk1vZGUge1xuICBUQU1fVE9QX0xFRlQgPSAwLFxuICBUQU1fVE9QX0NFTlRFUiA9IDEsXG4gIFRBTV9UT1BfUklHSFQgPSAyLFxuICBUQU1fTUlERExFX0xFRlQgPSAzLFxuICBUQU1fTUlERExFX0NFTlRFUiA9IDQsXG4gIFRBTV9NSURETEVfUklHSFQgPSA1LFxuICBUQU1fQk9UVE9NX0xFRlQgPSA2LFxuICBUQU1fQk9UVE9NX0NFTlRFUiA9IDcsXG4gIFRBTV9CT1RUT01fUklHSFQgPSA4LFxufVxuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gRm9udCB7XG4gIEZfU0FOU19TRVJJRiA9IDAsXG4gIEZfU0VSSUYgPSAxLFxuICBGX01PTk9TUEFDRSA9IDIsXG59XG5cbmV4cG9ydCB0eXBlIFNjcmVlbkFsaWduTW9kZSA9IHtcbiAgYWxpZ25JdGVtczogWUdBbGlnbjtcbiAganVzdGlmeUNvbnRlbnQ6IFlHSnVzdGlmeTtcbn07XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBDb2xsaWRlcnMge1xuICAvKiogQ0xfTk9ORSAtIG5vIGNvbGxpc2lvbnMgKi9cbiAgQ0xfTk9ORSA9IDAsXG4gIC8qKiBDTF9QT0lOVEVSIC0gY29sbGlzaW9ucyB3aXRoIHRoZSBwbGF5ZXIncyBwb2ludGVyIHJheSAoZS5nLiBtb3VzZSBjdXJzb3IgaG92ZXJpbmcpICovXG4gIENMX1BPSU5URVIgPSAxLFxuICAvKiogQ0xfUEhZU0lDUyAtIGNvbGxpc2lvbiBhZmZlY3RpbmcgeW91ciBwbGF5ZXIncyBwaHlzaWNzIGkuZS4gd2FsbHMsIGZsb29yLCBtb3ZpbmcgcGxhdGZyb21zICovXG4gIENMX1BIWVNJQ1MgPSAyLFxuICBDTF9SRVNFUlZFRDEgPSA0LFxuICBDTF9SRVNFUlZFRDIgPSA4LFxuICBDTF9SRVNFUlZFRDMgPSAxNixcbiAgQ0xfUkVTRVJWRUQ0ID0gMzIsXG4gIENMX1JFU0VSVkVENSA9IDY0LFxuICBDTF9SRVNFUlZFRDYgPSAxMjgsXG4gIENMX0NVU1RPTTEgPSAyNTYsXG4gIENMX0NVU1RPTTIgPSA1MTIsXG4gIENMX0NVU1RPTTMgPSAxMDI0LFxuICBDTF9DVVNUT000ID0gMjA0OCxcbiAgQ0xfQ1VTVE9NNSA9IDQwOTYsXG4gIENMX0NVU1RPTTYgPSA4MTkyLFxuICBDTF9DVVNUT003ID0gMTYzODQsXG4gIENMX0NVU1RPTTggPSAzMjc2OCxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIFRleHR1cmVNb3ZlbWVudFR5cGUge1xuICAvKiogZGVmYXVsdCA9IFRleHR1cmVNb3ZlbWVudFR5cGUuVE1UX09GRlNFVCAqL1xuICBUTVRfT0ZGU0VUID0gMCxcbiAgVE1UX1RJTElORyA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIFByb3hpbWl0eUxheWVyIHtcbiAgQUxMID0gJ2FsbCcsXG4gIFBMQVlFUiA9ICdwbGF5ZXInLFxuICBOT05fUExBWUVSID0gJ25vbl9wbGF5ZXInLFxufVxuXG5leHBvcnQgZW51bSBBZG1pblBlcm1pc3Npb25zIHtcbiAgUFVCTElDID0gJ1BVQkxJQycsXG4gIFBSSVZBVEUgPSAnUFJJVkFURScsXG59XG5cbmV4cG9ydCBlbnVtIE1lZGlhU291cmNlIHtcbiAgVmlkZW9VUkwsXG4gIExpdmVTdHJlYW0sXG59XG4iXX0=
165
+ export { AdminPermissions, MediaSource } from './constants';
166
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZW51bXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7SUFDM0IsWUFBWSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQztJQUNuRSxPQUFPLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDO0lBQ3pELE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDekQsUUFBUSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUMzRCxNQUFNLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDO0lBQ3ZELFdBQVcsRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7SUFDakUsV0FBVyxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQztJQUNqRSxZQUFZLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO0lBQ25FLE9BQU8sRUFBRSxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDekQsa0JBQWtCLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7SUFDL0UsbUJBQW1CLEVBQUUsb0JBQW9CLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUM7SUFDakYsTUFBTSxFQUFFLG9CQUFvQixDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQztJQUN2RCxXQUFXLEVBQUUsb0JBQW9CLENBQUMsa0JB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SVg7QUFKRCxXQUFZLG1CQUFtQjtJQUU3Qix5RUFBYyxDQUFBO0lBQ2QseUVBQWMsQ0FBQTtBQUNoQixDQUFDLEVBSlcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUk5QjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBSVg7QUFKRCxXQUFZLGNBQWM7SUFDeEIsNkJBQVcsQ0FBQTtJQUNYLG1DQUFpQixDQUFBO0lBQ2pCLDJDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxjQUFjLEtBQWQsY0FBYyxRQUl6QjtBQUdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFlHQWxpZ24sIFlHSnVzdGlmeSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IGdldExhdGVzdFZlcnNpb25OYW1lIH0gZnJvbSAnLi92ZXJzaW9uaW5nL3JlZ2lzdHJ5JztcbmltcG9ydCB7IEJhc2VDb21wb25lbnROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuLy8gUmUtZXhwb3J0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgeyBCYXNlQ29tcG9uZW50TmFtZXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5cbmV4cG9ydCBjb25zdCBDb21wb25lbnROYW1lID0ge1xuICBBQ1RJT05fVFlQRVM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5BQ1RJT05fVFlQRVMpLFxuICBBQ1RJT05TOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuQUNUSU9OUyksXG4gIENPVU5URVI6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5DT1VOVEVSKSxcbiAgVFJJR0dFUlM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5UUklHR0VSUyksXG4gIFNUQVRFUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlNUQVRFUyksXG4gIENPVU5URVJfQkFSOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuQ09VTlRFUl9CQVIpLFxuICBBRE1JTl9UT09MUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLkFETUlOX1RPT0xTKSxcbiAgVklERU9fU0NSRUVOOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fU0NSRUVOKSxcbiAgUkVXQVJEUzogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlJFV0FSRFMpLFxuICBURVhUX0FOTk9VTkNFTUVOVFM6IGdldExhdGVzdFZlcnNpb25OYW1lKEJhc2VDb21wb25lbnROYW1lcy5URVhUX0FOTk9VTkNFTUVOVFMpLFxuICBWSURFT19DT05UUk9MX1NUQVRFOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuVklERU9fQ09OVFJPTF9TVEFURSksXG4gIFNDUklQVDogZ2V0TGF0ZXN0VmVyc2lvbk5hbWUoQmFzZUNvbXBvbmVudE5hbWVzLlNDUklQVCksXG4gIFBMQUNFSE9MREVSOiBnZXRMYXRlc3RWZXJzaW9uTmFtZShCYXNlQ29tcG9uZW50TmFtZXMuUExBQ0VIT0xERVIpLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50TmFtZSA9ICh0eXBlb2YgQ29tcG9uZW50TmFtZSlba2V5b2YgdHlwZW9mIENvbXBvbmVudE5hbWVdO1xuZXhwb3J0IGVudW0gVHdlZW5UeXBlIHtcbiAgTU9WRV9JVEVNID0gJ21vdmVfaXRlbScsXG4gIFJPVEFURV9JVEVNID0gJ3JvdGF0ZV9pdGVtJyxcbiAgU0NBTEVfSVRFTSA9ICdzY2FsZV9pdGVtJyxcbiAgS0VFUF9ST1RBVElOR19JVEVNID0gJ2tlZXBfcm90YXRpbmdfaXRlbScsXG59XG5cbmV4cG9ydCBlbnVtIFRlbGVwb3J0TW9kZSB7XG4gIFRPX0NPT1JESU5BVEVTID0gJ3RvX2Nvb3JkaW5hdGVzJyxcbiAgVE9fV09STEQgPSAndG9fd29ybGQnLFxufVxuXG5leHBvcnQgZW51bSBJbnRlcnBvbGF0aW9uVHlwZSB7XG4gIExJTkVBUiA9ICdsaW5lYXInLFxuICBFQVNFSU5RVUFEID0gJ2Vhc2VpbnF1YWQnLFxuICBFQVNFT1VUUVVBRCA9ICdlYXNlb3V0cXVhZCcsXG4gIEVBU0VRVUFEID0gJ2Vhc2VxdWFkJyxcbiAgRUFTRUlOU0lORSA9ICdlYXNlaW5zaW5lJyxcbiAgRUFTRU9VVFNJTkUgPSAnZWFzZW91dHNpbmUnLFxuICBFQVNFU0lORSA9ICdlYXNlaW5vdXRzaW5lJyxcbiAgRUFTRUlORVhQTyA9ICdlYXNlaW5leHBvJyxcbiAgRUFTRU9VVEVYUE8gPSAnZWFzZW91dGV4cG8nLFxuICBFQVNFRVhQTyA9ICdlYXNlaW5vdXRleHBvJyxcbiAgRUFTRUlORUxBU1RJQyA9ICdlYXNlaW5lbGFzdGljJyxcbiAgRUFTRU9VVEVMQVNUSUMgPSAnZWFzZW91dGVsYXN0aWMnLFxuICBFQVNFRUxBU1RJQyA9ICdlYXNlaW5vdXRlbGFzdGljJyxcbiAgRUFTRUlOQk9VTkNFID0gJ2Vhc2VpbmJvdW5jZScsXG4gIEVBU0VPVVRFQk9VTkNFID0gJ2Vhc2VvdXRib3VuY2UnLFxuICBFQVNFQk9VTkNFID0gJ2Vhc2Vpbm91dGJvdW5jZScsXG59XG5cbmV4cG9ydCBlbnVtIEFjdGlvblR5cGUge1xuICBQTEFZX0FOSU1BVElPTiA9ICdwbGF5X2FuaW1hdGlvbicsXG4gIFNUT1BfQU5JTUFUSU9OID0gJ3N0b3BfYW5pbWF0aW9uJyxcbiAgU0VUX1NUQVRFID0gJ3NldF9zdGF0ZScsXG4gIFNUQVJUX1RXRUVOID0gJ3N0YXJ0X3R3ZWVuJyxcbiAgU0VUX0NPVU5URVIgPSAnc2V0X2NvdW50ZXInLFxuICBJTkNSRU1FTlRfQ09VTlRFUiA9ICdpbmNyZW1lbnRfY291bnRlcicsXG4gIERFQ1JFQVNFX0NPVU5URVIgPSAnZGVjcmVhc2VfY291bnRlcicsXG4gIFBMQVlfU09VTkQgPSAncGxheV9zb3VuZCcsXG4gIFNUT1BfU09VTkQgPSAnc3RvcF9zb3VuZCcsXG4gIFNFVF9WSVNJQklMSVRZID0gJ3NldF92aXNpYmlsaXR5JyxcbiAgQVRUQUNIX1RPX1BMQVlFUiA9ICdhdHRhY2hfdG9fcGxheWVyJyxcbiAgREVUQUNIX0ZST01fUExBWUVSID0gJ2RldGFjaF9mcm9tX3BsYXllcicsXG4gIFBMQVlfVklERU9fU1RSRUFNID0gJ3BsYXlfdmlkZW9fc3RyZWFtJyxcbiAgU1RPUF9WSURFT19TVFJFQU0gPSAnc3RvcF92aWRlb19zdHJlYW0nLFxuICBQTEFZX0FVRElPX1NUUkVBTSA9ICdwbGF5X2F1ZGlvX3N0cmVhbScsXG4gIFNUT1BfQVVESU9fU1RSRUFNID0gJ3N0b3BfYXVkaW9fc3RyZWFtJyxcbiAgVEVMRVBPUlRfUExBWUVSID0gJ3RlbGVwb3J0X3BsYXllcicsXG4gIE1PVkVfUExBWUVSID0gJ21vdmVfcGxheWVyJyxcbiAgUExBWV9ERUZBVUxUX0VNT1RFID0gJ3BsYXlfZGVmYXVsdF9lbW90ZScsXG4gIFBMQVlfQ1VTVE9NX0VNT1RFID0gJ3BsYXlfY3VzdG9tX2Vtb3RlJyxcbiAgT1BFTl9MSU5LID0gJ29wZW5fbGluaycsXG4gIFNIT1dfVEVYVCA9ICdzaG93X3RleHQnLFxuICBISURFX1RFWFQgPSAnaGlkZV90ZXh0JyxcbiAgU1RBUlRfREVMQVkgPSAnc3RhcnRfZGVsYXknLFxuICBTVE9QX0RFTEFZID0gJ3N0b3BfZGVsYXknLFxuICBTVEFSVF9MT09QID0gJ3N0YXJ0X2xvb3AnLFxuICBTVE9QX0xPT1AgPSAnc3RvcF9sb29wJyxcbiAgQ0xPTkVfRU5USVRZID0gJ2Nsb25lX2VudGl0eScsXG4gIFJFTU9WRV9FTlRJVFkgPSAncmVtb3ZlX2VudGl0eScsXG4gIFNIT1dfSU1BR0UgPSAnc2hvd19pbWFnZScsXG4gIEhJREVfSU1BR0UgPSAnaGlkZV9pbWFnZScsXG4gIERBTUFHRSA9ICdkYW1hZ2UnLFxuICBNT1ZFX1BMQVlFUl9IRVJFID0gJ21vdmVfcGxheWVyX2hlcmUnLFxuICBQTEFZRVJfRkFDRV9JVEVNID0gJ3BsYXllcl9mYWNlX2l0ZW0nLFxuICBQTEFDRV9PTl9QTEFZRVIgPSAncGxhY2Vfb25fcGxheWVyJyxcbiAgUk9UQVRFX0FTX1BMQVlFUiA9ICdyb3RhdGVfYXNfcGxheWVyJyxcbiAgUExBQ0VfT05fQ0FNRVJBID0gJ3BsYWNlX29uX2NhbWVyYScsXG4gIFJPVEFURV9BU19DQU1FUkEgPSAncm90YXRlX2FzX2NhbWVyYScsXG4gIFNFVF9QT1NJVElPTiA9ICdzZXRfcG9zaXRpb24nLFxuICBTRVRfUk9UQVRJT04gPSAnc2V0X3JvdGF0aW9uJyxcbiAgU0VUX1NDQUxFID0gJ3NldF9zY2FsZScsXG4gIEZPTExPV19QTEFZRVIgPSAnZm9sbG93X3BsYXllcicsXG4gIFNUT1BfRk9MTE9XSU5HX1BMQVlFUiA9ICdzdG9wX2ZvbGxvd2luZ19wbGF5ZXInLFxuICBSQU5ET00gPSAncmFuZG9tJyxcbiAgQkFUQ0ggPSAnYmF0Y2gnLFxuICBIRUFMX1BMQVlFUiA9ICdoZWFsX3BsYXllcicsXG4gIENMQUlNX0FJUkRST1AgPSAnY2xhaW1fYWlyZHJvcCcsXG4gIExJR0hUU19PTiA9ICdsaWdodHNfb24nLFxuICBMSUdIVFNfT0ZGID0gJ2xpZ2h0c19vZmYnLFxuICBMSUdIVFNfTU9ESUZZID0gJ2xpZ2h0c19tb2RpZnknLFxuICBDSEFOR0VfQ0FNRVJBID0gJ2NoYW5nZV9jYW1lcmEnLFxuICBDSEFOR0VfVEVYVCA9ICdjaGFuZ2VfdGV4dCcsXG4gIFNUT1BfVFdFRU4gPSAnc3RvcF90d2VlbicsXG4gIFNMSURFX1RFWFRVUkUgPSAnc2xpZGVfdGV4dHVyZScsXG4gIEZSRUVaRV9QTEFZRVIgPSAnZnJlZXplX3BsYXllcicsXG4gIFVORlJFRVpFX1BMQVlFUiA9ICd1bmZyZWV6ZV9wbGF5ZXInLFxuICBDSEFOR0VfQ09MTElTSU9OUyA9ICdjaGFuZ2VfY29sbGlzaW9ucycsXG4gIENIQU5HRV9TS1lCT1ggPSAnY2hhbmdlX3NreWJveCcsXG4gIFJFU0VUX1NLWUJPWCA9ICdyZXNldF9za3lib3gnLFxuICBDQUxMX1NDUklQVF9NRVRIT0QgPSAnY2FsbF9zY3JpcHRfbWV0aG9kJyxcbiAgTE9HX1RPX0NPTlNPTEUgPSAnbG9nX3RvX2NvbnNvbGUnLFxuICBERUxFVEUgPSAnZGVsZXRlJyxcbn1cblxuLy8gUmUtZXhwb3J0IHRyaWdnZXIgZW51bXMgZnJvbSB2ZXJzaW9uaW5nIChzb3VyY2Ugb2YgdHJ1dGgpXG5leHBvcnQgeyBUcmlnZ2VyVHlwZSwgVHJpZ2dlckNvbmRpdGlvblR5cGUsIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24gfSBmcm9tICcuL3RyaWdnZXItZW51bXMnO1xuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gQWxpZ25Nb2RlIHtcbiAgVEFNX1RPUF9MRUZUID0gMCxcbiAgVEFNX1RPUF9DRU5URVIgPSAxLFxuICBUQU1fVE9QX1JJR0hUID0gMixcbiAgVEFNX01JRERMRV9MRUZUID0gMyxcbiAgVEFNX01JRERMRV9DRU5URVIgPSA0LFxuICBUQU1fTUlERExFX1JJR0hUID0gNSxcbiAgVEFNX0JPVFRPTV9MRUZUID0gNixcbiAgVEFNX0JPVFRPTV9DRU5URVIgPSA3LFxuICBUQU1fQk9UVE9NX1JJR0hUID0gOCxcbn1cblxuLy8gRGVmaW5lZCB2YWx1ZXMgaW5zdGVhZCBvZiB1c2luZyBmcm9tIEBkY2wvZWNzIGJlY2F1c2UgU2NoZW1hcyBkb2Vzbid0IHN1cHBvcnQgY29uc3QgZW51bXNcbmV4cG9ydCBlbnVtIEZvbnQge1xuICBGX1NBTlNfU0VSSUYgPSAwLFxuICBGX1NFUklGID0gMSxcbiAgRl9NT05PU1BBQ0UgPSAyLFxufVxuXG5leHBvcnQgdHlwZSBTY3JlZW5BbGlnbk1vZGUgPSB7XG4gIGFsaWduSXRlbXM6IFlHQWxpZ247XG4gIGp1c3RpZnlDb250ZW50OiBZR0p1c3RpZnk7XG59O1xuXG4vLyBEZWZpbmVkIHZhbHVlcyBpbnN0ZWFkIG9mIHVzaW5nIGZyb20gQGRjbC9lY3MgYmVjYXVzZSBTY2hlbWFzIGRvZXNuJ3Qgc3VwcG9ydCBjb25zdCBlbnVtc1xuZXhwb3J0IGVudW0gQ29sbGlkZXJzIHtcbiAgLyoqIENMX05PTkUgLSBubyBjb2xsaXNpb25zICovXG4gIENMX05PTkUgPSAwLFxuICAvKiogQ0xfUE9JTlRFUiAtIGNvbGxpc2lvbnMgd2l0aCB0aGUgcGxheWVyJ3MgcG9pbnRlciByYXkgKGUuZy4gbW91c2UgY3Vyc29yIGhvdmVyaW5nKSAqL1xuICBDTF9QT0lOVEVSID0gMSxcbiAgLyoqIENMX1BIWVNJQ1MgLSBjb2xsaXNpb24gYWZmZWN0aW5nIHlvdXIgcGxheWVyJ3MgcGh5c2ljcyBpLmUuIHdhbGxzLCBmbG9vciwgbW92aW5nIHBsYXRmcm9tcyAqL1xuICBDTF9QSFlTSUNTID0gMixcbiAgQ0xfUkVTRVJWRUQxID0gNCxcbiAgQ0xfUkVTRVJWRUQyID0gOCxcbiAgQ0xfUkVTRVJWRUQzID0gMTYsXG4gIENMX1JFU0VSVkVENCA9IDMyLFxuICBDTF9SRVNFUlZFRDUgPSA2NCxcbiAgQ0xfUkVTRVJWRUQ2ID0gMTI4LFxuICBDTF9DVVNUT00xID0gMjU2LFxuICBDTF9DVVNUT00yID0gNTEyLFxuICBDTF9DVVNUT00zID0gMTAyNCxcbiAgQ0xfQ1VTVE9NNCA9IDIwNDgsXG4gIENMX0NVU1RPTTUgPSA0MDk2LFxuICBDTF9DVVNUT002ID0gODE5MixcbiAgQ0xfQ1VTVE9NNyA9IDE2Mzg0LFxuICBDTF9DVVNUT004ID0gMzI3NjgsXG59XG5cbi8vIERlZmluZWQgdmFsdWVzIGluc3RlYWQgb2YgdXNpbmcgZnJvbSBAZGNsL2VjcyBiZWNhdXNlIFNjaGVtYXMgZG9lc24ndCBzdXBwb3J0IGNvbnN0IGVudW1zXG5leHBvcnQgZW51bSBUZXh0dXJlTW92ZW1lbnRUeXBlIHtcbiAgLyoqIGRlZmF1bHQgPSBUZXh0dXJlTW92ZW1lbnRUeXBlLlRNVF9PRkZTRVQgKi9cbiAgVE1UX09GRlNFVCA9IDAsXG4gIFRNVF9USUxJTkcgPSAxLFxufVxuXG5leHBvcnQgZW51bSBQcm94aW1pdHlMYXllciB7XG4gIEFMTCA9ICdhbGwnLFxuICBQTEFZRVIgPSAncGxheWVyJyxcbiAgTk9OX1BMQVlFUiA9ICdub25fcGxheWVyJyxcbn1cblxuLy8gUmUtZXhwb3J0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG5leHBvcnQgeyBBZG1pblBlcm1pc3Npb25zLCBNZWRpYVNvdXJjZSB9IGZyb20gJy4vY29uc3RhbnRzJztcbiJdfQ==
@@ -0,0 +1,36 @@
1
+ export declare enum TriggerType {
2
+ ON_CLICK = "on_click",
3
+ ON_INPUT_ACTION = "on_input_action",
4
+ ON_STATE_CHANGE = "on_state_change",
5
+ ON_SPAWN = "on_spawn",
6
+ ON_TWEEN_END = "on_tween_end",
7
+ ON_COUNTER_CHANGE = "on_counter_change",
8
+ ON_PLAYER_ENTERS_AREA = "on_player_enters_area",
9
+ ON_PLAYER_LEAVES_AREA = "on_player_leaves_area",
10
+ ON_DELAY = "on_delay",
11
+ ON_LOOP = "on_loop",
12
+ ON_CLONE = "on_clone",
13
+ ON_CLICK_IMAGE = "on_click_image",
14
+ ON_DAMAGE = "on_damage",
15
+ ON_GLOBAL_CLICK = "on_global_click",
16
+ ON_GLOBAL_PRIMARY = "on_global_primary",
17
+ ON_GLOBAL_SECONDARY = "on_global_secondary",
18
+ ON_TICK = "on_tick",
19
+ ON_HEAL_PLAYER = "on_heal_player",
20
+ ON_PLAYER_SPAWN = "on_player_spawn"
21
+ }
22
+ export declare enum TriggerConditionType {
23
+ WHEN_STATE_IS = "when_state_is",
24
+ WHEN_STATE_IS_NOT = "when_state_is_not",
25
+ WHEN_COUNTER_EQUALS = "when_counter_equals",
26
+ WHEN_COUNTER_IS_GREATER_THAN = "when_counter_is_greater_than",
27
+ WHEN_COUNTER_IS_LESS_THAN = "when_counter_is_less_than",
28
+ WHEN_DISTANCE_TO_PLAYER_LESS_THAN = "when_distance_to_player_less_than",
29
+ WHEN_DISTANCE_TO_PLAYER_GREATER_THAN = "when_distance_to_player_greater_than",
30
+ WHEN_PREVIOUS_STATE_IS = "when_previous_state_is",
31
+ WHEN_PREVIOUS_STATE_IS_NOT = "when_previous_state_is_not"
32
+ }
33
+ export declare enum TriggerConditionOperation {
34
+ AND = "and",
35
+ OR = "or"
36
+ }
@@ -0,0 +1,40 @@
1
+ export var TriggerType;
2
+ (function (TriggerType) {
3
+ TriggerType["ON_CLICK"] = "on_click";
4
+ TriggerType["ON_INPUT_ACTION"] = "on_input_action";
5
+ TriggerType["ON_STATE_CHANGE"] = "on_state_change";
6
+ TriggerType["ON_SPAWN"] = "on_spawn";
7
+ TriggerType["ON_TWEEN_END"] = "on_tween_end";
8
+ TriggerType["ON_COUNTER_CHANGE"] = "on_counter_change";
9
+ TriggerType["ON_PLAYER_ENTERS_AREA"] = "on_player_enters_area";
10
+ TriggerType["ON_PLAYER_LEAVES_AREA"] = "on_player_leaves_area";
11
+ TriggerType["ON_DELAY"] = "on_delay";
12
+ TriggerType["ON_LOOP"] = "on_loop";
13
+ TriggerType["ON_CLONE"] = "on_clone";
14
+ TriggerType["ON_CLICK_IMAGE"] = "on_click_image";
15
+ TriggerType["ON_DAMAGE"] = "on_damage";
16
+ TriggerType["ON_GLOBAL_CLICK"] = "on_global_click";
17
+ TriggerType["ON_GLOBAL_PRIMARY"] = "on_global_primary";
18
+ TriggerType["ON_GLOBAL_SECONDARY"] = "on_global_secondary";
19
+ TriggerType["ON_TICK"] = "on_tick";
20
+ TriggerType["ON_HEAL_PLAYER"] = "on_heal_player";
21
+ TriggerType["ON_PLAYER_SPAWN"] = "on_player_spawn";
22
+ })(TriggerType || (TriggerType = {}));
23
+ export var TriggerConditionType;
24
+ (function (TriggerConditionType) {
25
+ TriggerConditionType["WHEN_STATE_IS"] = "when_state_is";
26
+ TriggerConditionType["WHEN_STATE_IS_NOT"] = "when_state_is_not";
27
+ TriggerConditionType["WHEN_COUNTER_EQUALS"] = "when_counter_equals";
28
+ TriggerConditionType["WHEN_COUNTER_IS_GREATER_THAN"] = "when_counter_is_greater_than";
29
+ TriggerConditionType["WHEN_COUNTER_IS_LESS_THAN"] = "when_counter_is_less_than";
30
+ TriggerConditionType["WHEN_DISTANCE_TO_PLAYER_LESS_THAN"] = "when_distance_to_player_less_than";
31
+ TriggerConditionType["WHEN_DISTANCE_TO_PLAYER_GREATER_THAN"] = "when_distance_to_player_greater_than";
32
+ TriggerConditionType["WHEN_PREVIOUS_STATE_IS"] = "when_previous_state_is";
33
+ TriggerConditionType["WHEN_PREVIOUS_STATE_IS_NOT"] = "when_previous_state_is_not";
34
+ })(TriggerConditionType || (TriggerConditionType = {}));
35
+ export var TriggerConditionOperation;
36
+ (function (TriggerConditionOperation) {
37
+ TriggerConditionOperation["AND"] = "and";
38
+ TriggerConditionOperation["OR"] = "or";
39
+ })(TriggerConditionOperation || (TriggerConditionOperation = {}));
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlci1lbnVtcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90cmlnZ2VyLWVudW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFdBcUJYO0FBckJELFdBQVksV0FBVztJQUVyQixvQ0FBcUIsQ0FBQTtJQUNyQixrREFBbUMsQ0FBQTtJQUNuQyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQiw0Q0FBNkIsQ0FBQTtJQUM3QixzREFBdUMsQ0FBQTtJQUN2Qyw4REFBK0MsQ0FBQTtJQUMvQyw4REFBK0MsQ0FBQTtJQUMvQyxvQ0FBcUIsQ0FBQTtJQUNyQixrQ0FBbUIsQ0FBQTtJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQixnREFBaUMsQ0FBQTtJQUNqQyxzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyxzREFBdUMsQ0FBQTtJQUN2QywwREFBMkMsQ0FBQTtJQUMzQyxrQ0FBbUIsQ0FBQTtJQUNuQixnREFBaUMsQ0FBQTtJQUNqQyxrREFBbUMsQ0FBQTtBQUNyQyxDQUFDLEVBckJXLFdBQVcsS0FBWCxXQUFXLFFBcUJ0QjtBQUVELE1BQU0sQ0FBTixJQUFZLG9CQVVYO0FBVkQsV0FBWSxvQkFBb0I7SUFDOUIsdURBQStCLENBQUE7SUFDL0IsK0RBQXVDLENBQUE7SUFDdkMsbUVBQTJDLENBQUE7SUFDM0MscUZBQTZELENBQUE7SUFDN0QsK0VBQXVELENBQUE7SUFDdkQsK0ZBQXVFLENBQUE7SUFDdkUscUdBQTZFLENBQUE7SUFDN0UseUVBQWlELENBQUE7SUFDakQsaUZBQXlELENBQUE7QUFDM0QsQ0FBQyxFQVZXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFVL0I7QUFFRCxNQUFNLENBQU4sSUFBWSx5QkFHWDtBQUhELFdBQVkseUJBQXlCO0lBQ25DLHdDQUFXLENBQUE7SUFDWCxzQ0FBUyxDQUFBO0FBQ1gsQ0FBQyxFQUhXLHlCQUF5QixLQUF6Qix5QkFBeUIsUUFHcEMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBUcmlnZ2VyVHlwZSB7XG4gIC8qKiBAZGVwcmVjYXRlZCB1c2UgT05fSU5QVVRfQUNUSU9OIGluc3RlYWQgKi9cbiAgT05fQ0xJQ0sgPSAnb25fY2xpY2snLFxuICBPTl9JTlBVVF9BQ1RJT04gPSAnb25faW5wdXRfYWN0aW9uJyxcbiAgT05fU1RBVEVfQ0hBTkdFID0gJ29uX3N0YXRlX2NoYW5nZScsXG4gIE9OX1NQQVdOID0gJ29uX3NwYXduJyxcbiAgT05fVFdFRU5fRU5EID0gJ29uX3R3ZWVuX2VuZCcsXG4gIE9OX0NPVU5URVJfQ0hBTkdFID0gJ29uX2NvdW50ZXJfY2hhbmdlJyxcbiAgT05fUExBWUVSX0VOVEVSU19BUkVBID0gJ29uX3BsYXllcl9lbnRlcnNfYXJlYScsXG4gIE9OX1BMQVlFUl9MRUFWRVNfQVJFQSA9ICdvbl9wbGF5ZXJfbGVhdmVzX2FyZWEnLFxuICBPTl9ERUxBWSA9ICdvbl9kZWxheScsXG4gIE9OX0xPT1AgPSAnb25fbG9vcCcsXG4gIE9OX0NMT05FID0gJ29uX2Nsb25lJyxcbiAgT05fQ0xJQ0tfSU1BR0UgPSAnb25fY2xpY2tfaW1hZ2UnLFxuICBPTl9EQU1BR0UgPSAnb25fZGFtYWdlJyxcbiAgT05fR0xPQkFMX0NMSUNLID0gJ29uX2dsb2JhbF9jbGljaycsXG4gIE9OX0dMT0JBTF9QUklNQVJZID0gJ29uX2dsb2JhbF9wcmltYXJ5JyxcbiAgT05fR0xPQkFMX1NFQ09OREFSWSA9ICdvbl9nbG9iYWxfc2Vjb25kYXJ5JyxcbiAgT05fVElDSyA9ICdvbl90aWNrJyxcbiAgT05fSEVBTF9QTEFZRVIgPSAnb25faGVhbF9wbGF5ZXInLFxuICBPTl9QTEFZRVJfU1BBV04gPSAnb25fcGxheWVyX3NwYXduJyxcbn1cblxuZXhwb3J0IGVudW0gVHJpZ2dlckNvbmRpdGlvblR5cGUge1xuICBXSEVOX1NUQVRFX0lTID0gJ3doZW5fc3RhdGVfaXMnLFxuICBXSEVOX1NUQVRFX0lTX05PVCA9ICd3aGVuX3N0YXRlX2lzX25vdCcsXG4gIFdIRU5fQ09VTlRFUl9FUVVBTFMgPSAnd2hlbl9jb3VudGVyX2VxdWFscycsXG4gIFdIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU4gPSAnd2hlbl9jb3VudGVyX2lzX2dyZWF0ZXJfdGhhbicsXG4gIFdIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU4gPSAnd2hlbl9jb3VudGVyX2lzX2xlc3NfdGhhbicsXG4gIFdIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0xFU1NfVEhBTiA9ICd3aGVuX2Rpc3RhbmNlX3RvX3BsYXllcl9sZXNzX3RoYW4nLFxuICBXSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9HUkVBVEVSX1RIQU4gPSAnd2hlbl9kaXN0YW5jZV90b19wbGF5ZXJfZ3JlYXRlcl90aGFuJyxcbiAgV0hFTl9QUkVWSU9VU19TVEFURV9JUyA9ICd3aGVuX3ByZXZpb3VzX3N0YXRlX2lzJyxcbiAgV0hFTl9QUkVWSU9VU19TVEFURV9JU19OT1QgPSAnd2hlbl9wcmV2aW91c19zdGF0ZV9pc19ub3QnLFxufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uIHtcbiAgQU5EID0gJ2FuZCcsXG4gIE9SID0gJ29yJyxcbn1cbiJdfQ==
package/dist/triggers.js CHANGED
@@ -91,7 +91,7 @@ export function createTriggersSystem(engine, components, pointerEventsSystem, tw
91
91
  if (entity) {
92
92
  const actions = Actions.getOrNull(entity);
93
93
  if (actions) {
94
- const action = actions.value.find($ => $.name === triggerAction.name);
94
+ const action = actions.value.find(($) => $.name === triggerAction.name);
95
95
  if (action) {
96
96
  actionQueue.push({ entity, action });
97
97
  }
@@ -250,7 +250,7 @@ export function createTriggersSystem(engine, components, pointerEventsSystem, tw
250
250
  const pointerEvent = PointerEvents.getMutableOrNull(entity);
251
251
  let opts = { button: 0, hoverText: 'Click' };
252
252
  if (pointerEvent) {
253
- const existingIndex = pointerEvent.pointerEvents.findIndex($ => $.eventInfo?.button === opts.button);
253
+ const existingIndex = pointerEvent.pointerEvents.findIndex(($) => $.eventInfo?.button === opts.button);
254
254
  if (existingIndex !== -1) {
255
255
  const eventInfo = pointerEvent.pointerEvents[existingIndex].eventInfo;
256
256
  opts = { ...opts, ...eventInfo };
@@ -269,7 +269,7 @@ export function createTriggersSystem(engine, components, pointerEventsSystem, tw
269
269
  const pointerEvent = PointerEvents.getMutableOrNull(entity);
270
270
  let opts = { button: 1, hoverText: 'Press' };
271
271
  if (pointerEvent) {
272
- const existingIndex = pointerEvent.pointerEvents.findIndex($ => $.eventInfo?.button === opts.button);
272
+ const existingIndex = pointerEvent.pointerEvents.findIndex(($) => $.eventInfo?.button === opts.button);
273
273
  if (existingIndex !== -1) {
274
274
  const eventInfo = pointerEvent.pointerEvents[existingIndex].eventInfo;
275
275
  opts = { ...opts, ...eventInfo };
@@ -335,4 +335,4 @@ export function createTriggersSystem(engine, components, pointerEventsSystem, tw
335
335
  }
336
336
  }
337
337
  }
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUVMLFVBQVUsRUFFVixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBUWhFLE9BQU8sRUFDTCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsZ0NBQWdDLEVBQ2hDLGFBQWEsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUN6QyxNQUFNLFdBQVcsR0FBeUMsRUFBRSxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBRTdDLElBQUksb0JBQW9CLEdBQXNDLElBQUksQ0FBQztBQUVuRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDekMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxDQUFD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LENBQUM7SUFDdEIsQ0FBQztJQUdELFNBQVMsZ0JBQWdCLENBQUMsTUFBYztRQUN0QyxJQUNFLGNBQWMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQ2hDLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxNQUFrQztZQUNyRSxXQUFXLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxFQUNsQyxDQUFDO1lBQ0QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDL0MsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBJRW5naW5lLFxuICBFbnRpdHksXG4gIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uLFxuICBEZWVwUmVhZG9ubHlPYmplY3QsXG4gIFBvaW50ZXJFdmVudHNTeXN0ZW0sXG4gIFR3ZWVuU3lzdGVtLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQge1xuICBJbnB1dEFjdGlvbixcbiAgVHdlZW5TdGF0ZSxcbiAgVHdlZW5TdGF0ZVN0YXR1cyxcbiAgVHJpZ2dlckFyZWEsXG4gIHRyaWdnZXJBcmVhRXZlbnRzU3lzdGVtLFxufSBmcm9tICdAZGNsL2Vjcyc7XG5pbXBvcnQgeyBWZWN0b3IzIH0gZnJvbSAnQGRjbC9zZGsvbWF0aCc7XG5pbXBvcnQgeyBnZXRQbGF5ZXJQb3NpdGlvbiwgZ2V0V29ybGRQb3NpdGlvbiB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGlvbixcbiAgVHJpZ2dlcixcbiAgVHJpZ2dlckFjdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvbixcbiAgRW5naW5lQ29tcG9uZW50cyxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQge1xuICBDb21wb25lbnROYW1lLFxuICBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLFxuICBUcmlnZ2VyQ29uZGl0aW9uVHlwZSxcbiAgVHJpZ2dlclR5cGUsXG4gIGdldENvbmRpdGlvblR5cGVzQnlDb21wb25lbnROYW1lLFxuICBnZXRDb21wb25lbnRzLFxufSBmcm9tICcuL2RlZmluaXRpb25zJztcbmltcG9ydCB7IGdldEN1cnJlbnRWYWx1ZSwgZ2V0UHJldmlvdXNWYWx1ZSB9IGZyb20gJy4vc3RhdGVzJztcbmltcG9ydCB7IGdldEFjdGlvbkV2ZW50cywgZ2V0VHJpZ2dlckV2ZW50cyB9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB7IGdldFBheWxvYWQgfSBmcm9tICcuL2FjdGlvbi10eXBlcyc7XG5pbXBvcnQgeyBnbG9iYWxJbnB1dEFjdGlvbnMgfSBmcm9tICcuL2lucHV0LWFjdGlvbnMnO1xuaW1wb3J0IHsgdGlja1NldCB9IGZyb20gJy4vdGltZXInO1xuXG5jb25zdCBpbml0ZWRFbnRpdGllcyA9IG5ldyBTZXQ8RW50aXR5PigpO1xuY29uc3QgYWN0aW9uUXVldWU6IHsgZW50aXR5OiBFbnRpdHk7IGFjdGlvbjogQWN0aW9uIH1bXSA9IFtdO1xuXG5leHBvcnQgY29uc3QgZGFtYWdlVGFyZ2V0cyA9IG5ldyBTZXQ8RW50aXR5PigpO1xuZXhwb3J0IGNvbnN0IGhlYWxUYXJnZXRzID0gbmV3IFNldDxFbnRpdHk+KCk7XG5cbmxldCBpbnRlcm5hbEluaXRUcmlnZ2VyczogKChlbnRpdHk6IEVudGl0eSkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGZ1bmN0aW9uIGluaXRUcmlnZ2VycyhlbnRpdHk6IEVudGl0eSkge1xuICBpZiAoaW50ZXJuYWxJbml0VHJpZ2dlcnMpIHtcbiAgICByZXR1cm4gaW50ZXJuYWxJbml0VHJpZ2dlcnMoZW50aXR5KTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBjYWxsIGluaXRUcmlnZ2VycyB3aGlsZSB0cmlnZ2Vyc1N5c3RlbSBoYXMgbm90IGJlZW4gY3JlYXRlZCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVHJpZ2dlcnNTeXN0ZW0oXG4gIGVuZ2luZTogSUVuZ2luZSxcbiAgY29tcG9uZW50czogRW5naW5lQ29tcG9uZW50cyxcbiAgcG9pbnRlckV2ZW50c1N5c3RlbTogUG9pbnRlckV2ZW50c1N5c3RlbSxcbiAgdHdlZW5TeXN0ZW06IFR3ZWVuU3lzdGVtLFxuKSB7XG4gIGNvbnN0IHsgVHdlZW46IFR3ZWVuQ29tcG9uZW50LCBQb2ludGVyRXZlbnRzIH0gPSBjb21wb25lbnRzO1xuICBjb25zdCB7IEFjdGlvbnMsIFN0YXRlcywgQ291bnRlciwgVHJpZ2dlcnMgfSA9IGdldENvbXBvbmVudHMoZW5naW5lKTtcblxuICAvLyBzYXZlIHJlZmVyZW5jZSB0byB0aGUgaW5pdCBmdW5jdGlvblxuICBpbnRlcm5hbEluaXRUcmlnZ2VycyA9IGluaXRFbnRpdHlUcmlnZ2VycztcblxuICByZXR1cm4gZnVuY3Rpb24gdHJpZ2dlcnNTeXN0ZW0oX2R0OiBudW1iZXIpIHtcbiAgICAvLyBwcm9jZXNzIGFjdGlvbiBxdWV1ZVxuICAgIHdoaWxlIChhY3Rpb25RdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCB7IGVudGl0eSwgYWN0aW9uIH0gPSBhY3Rpb25RdWV1ZS5zaGlmdCgpITtcbiAgICAgIGNvbnN0IGFjdGlvbkV2ZW50cyA9IGdldEFjdGlvbkV2ZW50cyhlbnRpdHkpO1xuICAgICAgYWN0aW9uRXZlbnRzLmVtaXQoYWN0aW9uLm5hbWUsIGdldFBheWxvYWQoYWN0aW9uKSk7XG4gICAgfVxuXG4gICAgY29uc3QgZW50aXRpZXNXaXRoVHJpZ2dlcnMgPSBBcnJheS5mcm9tKGVuZ2luZS5nZXRFbnRpdGllc1dpdGgoVHJpZ2dlcnMpKTtcbiAgICBmb3IgKGNvbnN0IFtlbnRpdHldIG9mIGVudGl0aWVzV2l0aFRyaWdnZXJzKSB7XG4gICAgICBpbml0RW50aXR5VHJpZ2dlcnMoZW50aXR5KTtcbiAgICAgIGhhbmRsZU9uVHdlZW5FbmQoZW50aXR5KTtcbiAgICB9XG4gIH07XG5cbiAgZnVuY3Rpb24gaW5pdEVudGl0eVRyaWdnZXJzKGVudGl0eTogRW50aXR5KSB7XG4gICAgaWYgKCFUcmlnZ2Vycy5oYXMoZW50aXR5KSB8fCBpbml0ZWRFbnRpdGllcy5oYXMoZW50aXR5KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIGdldCB0cmlnZ2VycyBkYXRhXG4gICAgY29uc3QgdHJpZ2dlcnMgPSBUcmlnZ2Vycy5nZXQoZW50aXR5KTtcblxuICAgIC8vIGluaXRpYWxpemUgdHJpZ2dlcnMgZm9yIGdpdmVuIGVudGl0eVxuICAgIGNvbnN0IHR5cGVzID0gdHJpZ2dlcnMudmFsdWUucmVkdWNlKFxuICAgICAgKHR5cGVzLCB0cmlnZ2VyKSA9PiB0eXBlcy5hZGQodHJpZ2dlci50eXBlKSxcbiAgICAgIG5ldyBTZXQ8VHJpZ2dlclR5cGU+KCksXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgdHlwZXMpIHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fQ0xJQ0s6IHtcbiAgICAgICAgICBpbml0T25DbGlja1RyaWdnZXIoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0lOUFVUX0FDVElPTjoge1xuICAgICAgICAgIGluaXRPbklucHV0QWN0aW9uVHJpZ2dlcihlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fUExBWUVSX0VOVEVSU19BUkVBOlxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9MRUFWRVNfQVJFQToge1xuICAgICAgICAgIGluaXRPblBsYXllclRyaWdnZXJBcmVhKGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9EQU1BR0U6IHtcbiAgICAgICAgICBpbml0T25EYW1hZ2UoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0hFQUxfUExBWUVSOiB7XG4gICAgICAgICAgaW5pdE9uSGVhbFBsYXllcihlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX0NMSUNLOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsQ2ljayhlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX1BSSU1BUlk6IHtcbiAgICAgICAgICBpbml0T25HbG9iYWxQcmltYXJ5KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfU0VDT05EQVJZOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsU2Vjb25kYXJ5KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9USUNLOiB7XG4gICAgICAgICAgaW5pdE9uVGljayhlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYmluZCB0cmlnZ2Vyc1xuICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzLnZhbHVlKSB7XG4gICAgICB0cmlnZ2VyRXZlbnRzLm9uKHRyaWdnZXIudHlwZSwgKCkgPT4ge1xuICAgICAgICBpZiAoY2hlY2tDb25kaXRpb25zKHRyaWdnZXIpKSB7XG4gICAgICAgICAgZm9yIChjb25zdCB0cmlnZ2VyQWN0aW9uIG9mIHRyaWdnZXIuYWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRBY3Rpb24odHJpZ2dlckFjdGlvbikpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlBY3Rpb24odHJpZ2dlckFjdGlvbik7XG4gICAgICAgICAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25zID0gQWN0aW9ucy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gYWN0aW9ucy52YWx1ZS5maW5kKCQgPT4gJC5uYW1lID09PSB0cmlnZ2VyQWN0aW9uLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBhY3Rpb25zIGFyZSBlbnF1ZXVlZCB0byBiZSBleGVjdXRlZCBvbiB0aGUgbmV4dCB0aWNrIGFmdGVyIGFsbCB0aGUgdHJpZ2dlcnMgaGF2ZSBiZWVuIHByb2Nlc3NlZCxcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyB0byBhdm9pZCBvbmUgdHJpZ2dlciBtZXNzaW5nIHdpdGggb3RoZXIgdHJpZ2dlcidzIGNvbmRpdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgYWN0aW9uUXVldWUucHVzaCh7IGVudGl0eSwgYWN0aW9uIH0pO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9TUEFXTik7XG5cbiAgICBpbml0ZWRFbnRpdGllcy5hZGQoZW50aXR5KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzVmFsaWRBY3Rpb24oYWN0aW9uOiBUcmlnZ2VyQWN0aW9uKSB7XG4gICAgY29uc3QgeyBpZCwgbmFtZSB9ID0gYWN0aW9uO1xuICAgIHJldHVybiAhIWlkICYmICEhbmFtZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNoZWNrQ29uZGl0aW9ucyh0cmlnZ2VyOiBEZWVwUmVhZG9ubHlPYmplY3Q8VHJpZ2dlcj4pIHtcbiAgICBpZiAodHJpZ2dlci5jb25kaXRpb25zICYmIHRyaWdnZXIuY29uZGl0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjb25kaXRpb25zID0gdHJpZ2dlci5jb25kaXRpb25zLm1hcChjaGVja0NvbmRpdGlvbik7XG4gICAgICBjb25zdCBpc1RydWUgPSAocmVzdWx0PzogYm9vbGVhbikgPT4gISFyZXN1bHQ7XG4gICAgICBjb25zdCBvcGVyYXRpb24gPSB0cmlnZ2VyLm9wZXJhdGlvbiB8fCBUcmlnZ2VyQ29uZGl0aW9uT3BlcmF0aW9uLkFORDtcbiAgICAgIHN3aXRjaCAob3BlcmF0aW9uKSB7XG4gICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkQ6IHtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5ldmVyeShpc1RydWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5PUjoge1xuICAgICAgICAgIHJldHVybiBjb25kaXRpb25zLnNvbWUoaXNUcnVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBpZiB0aGVyZSBhcmUgbm8gY29uZGl0aW9ucywgdGhlIHRyaWdnZXIgY2FuIGNvbnRpbnVlXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbihjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUNvbmRpdGlvbihjb25kaXRpb24pO1xuICAgIGlmIChlbnRpdHkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHN3aXRjaCAoY29uZGl0aW9uLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVM6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlcyA9IFN0YXRlcy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgIGlmIChzdGF0ZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gZ2V0Q3VycmVudFZhbHVlKHN0YXRlcyk7XG4gICAgICAgICAgICAgIHJldHVybiBjdXJyZW50VmFsdWUgPT09IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fU1RBVEVfSVNfTk9UOiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldEN1cnJlbnRWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlICE9PSBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHByZXZpb3VzVmFsdWUgPSBnZXRQcmV2aW91c1ZhbHVlKHN0YXRlcyk7XG4gICAgICAgICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlID09PSBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1BSRVZJT1VTX1NUQVRFX0lTX05PVDoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gZ2V0UHJldmlvdXNWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSAhPT0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0VRVUFMUzoge1xuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoY291bnRlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA9PT0gbnVtZXJpYztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9DT1VOVEVSX0lTX0dSRUFURVJfVEhBTjoge1xuICAgICAgICAgICAgY29uc3QgY291bnRlciA9IENvdW50ZXIuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoY291bnRlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgIGlmICghaXNOYU4obnVtZXJpYykpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY291bnRlci52YWx1ZSA+IG51bWVyaWM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19MRVNTX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPCBudW1lcmljO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9MRVNTX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0V29ybGRQb3NpdGlvbihlbnRpdHkpO1xuXG4gICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBWZWN0b3IzLmRpc3RhbmNlKHBvc2l0aW9uLCBnZXRQbGF5ZXJQb3NpdGlvbigpKSA8IG51bWVyaWM7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fRElTVEFOQ0VfVE9fUExBWUVSX0dSRUFURVJfVEhBTjoge1xuICAgICAgICAgICAgY29uc3QgcG9zaXRpb24gPSBnZXRXb3JsZFBvc2l0aW9uKGVudGl0eSk7XG4gICAgICAgICAgICBjb25zdCBudW1lcmljID0gTnVtYmVyKGNvbmRpdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBWZWN0b3IzLmRpc3RhbmNlKHBvc2l0aW9uLCBnZXRQbGF5ZXJQb3NpdGlvbigpKSA+IG51bWVyaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGluIGNvbmRpdGlvbicsIGNvbmRpdGlvbik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGdldEVudGl0eUJ5SWQ8VCBleHRlbmRzIHsgaWQ6IG51bWJlciB9Pihjb21wb25lbnROYW1lOiBzdHJpbmcsIGlkOiBudW1iZXIpIHtcbiAgICBjb25zdCBDb21wb25lbnQgPSBlbmdpbmUuZ2V0Q29tcG9uZW50KFxuICAgICAgY29tcG9uZW50TmFtZSxcbiAgICApIGFzIExhc3RXcml0ZVdpbkVsZW1lbnRTZXRDb21wb25lbnREZWZpbml0aW9uPFQ+O1xuICAgIGNvbnN0IGVudGl0aWVzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKENvbXBvbmVudCkpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGVudGl0aWVzLmZpbmQoKFtfZW50aXR5LCB2YWx1ZV0pID0+IHZhbHVlLmlkID09PSBpZCk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkocmVzdWx0KSAmJiByZXN1bHQubGVuZ3RoID4gMCA/IHJlc3VsdFswXSA6IG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUFjdGlvbihhY3Rpb246IFRyaWdnZXJBY3Rpb24pIHtcbiAgICBpZiAoYWN0aW9uLmlkKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUlkKENvbXBvbmVudE5hbWUuQUNUSU9OUywgYWN0aW9uLmlkKTtcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUNvbmRpdGlvbihjb25kaXRpb246IFRyaWdnZXJDb25kaXRpb24pIHtcbiAgICBjb25zdCBjb21wb25lbnROYW1lID0gT2JqZWN0LnZhbHVlcyhDb21wb25lbnROYW1lKVxuICAgICAgLm1hcChjb21wb25lbnROYW1lID0+ICh7XG4gICAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgICAgIGNvbmRpdGlvblR5cGVzOiBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZShjb21wb25lbnROYW1lKSxcbiAgICAgIH0pKVxuICAgICAgLnJlZHVjZTxDb21wb25lbnROYW1lIHwgbnVsbD4oXG4gICAgICAgIChyZXN1bHQsIHsgY29tcG9uZW50TmFtZSwgY29uZGl0aW9uVHlwZXMgfSkgPT5cbiAgICAgICAgICBjb25kaXRpb25UeXBlcy5pbmNsdWRlcyhjb25kaXRpb24udHlwZSkgPyBjb21wb25lbnROYW1lIDogcmVzdWx0LFxuICAgICAgICBudWxsLFxuICAgICAgKTtcbiAgICBpZiAoY29tcG9uZW50TmFtZSAmJiBjb25kaXRpb24uaWQpIHtcbiAgICAgIGNvbnN0IGVudGl0eSA9IGdldEVudGl0eUJ5SWQoY29tcG9uZW50TmFtZSwgY29uZGl0aW9uLmlkKTtcbiAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgcmV0dXJuIGVudGl0eTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gIC8vIE9OX0NMSUNLXG4gIGZ1bmN0aW9uIGluaXRPbkNsaWNrVHJpZ2dlcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGNvbnN0IHBvaW50ZXJFdmVudCA9IFBvaW50ZXJFdmVudHMuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpO1xuICAgIGxldCBvcHRzID0geyBidXR0b246IElucHV0QWN0aW9uLklBX1BPSU5URVIsIGhvdmVyVGV4dDogJ0NsaWNrJyB9O1xuXG4gICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgLy8gQXZvaWQgY3JlYXRpbmcgZHVwbGljYXRlcyBvZiB0aGUgc2FtZSBwb2ludGVyRXZlbnQuXG4gICAgICAvLyBUaGlzIHVzdWFsbHkgaGFwcGVucyB3aXRoIGVudGl0aWVzIHRoYXQgYXJlIGNyZWF0ZWQgYXQgcnVudGltZSBhbmQgYXJlIGJlaW5nIHN5bmNyb25pemVkLlxuICAgICAgLy8gSWYgeW91IHJlY2VpdmUgYW4gZW50aXR5IHdpdGggcG9pbnRlckV2ZW50IHRoaXMgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVUcmlnZ2VyU3lzdGVtIGlzIGdlbmVyYXRpbmcgYW5vdGhlciBvbmUgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuXG4gICAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuZmluZEluZGV4KFxuICAgICAgICAkID0+ICQuZXZlbnRJbmZvPy5idXR0b24gPT09IG9wdHMuYnV0dG9uLFxuICAgICAgKTtcbiAgICAgIGlmIChleGlzdGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBldmVudEluZm8gPSBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50c1tleGlzdGluZ0luZGV4XS5ldmVudEluZm87XG4gICAgICAgIG9wdHMgPSB7IC4uLm9wdHMsIC4uLmV2ZW50SW5mbyB9OyAvLyBNZXJnZSBkZWZhdWx0IG9wdHMgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnRlckV2ZW50LlxuICAgICAgICBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50cy5zcGxpY2UoZXhpc3RpbmdJbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgICAge1xuICAgICAgICBlbnRpdHksXG4gICAgICAgIG9wdHMsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fQ0xJQ0spO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gT05fSU5QVVRfQUNUSU9OXG4gIGZ1bmN0aW9uIGluaXRPbklucHV0QWN0aW9uVHJpZ2dlcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGNvbnN0IHBvaW50ZXJFdmVudCA9IFBvaW50ZXJFdmVudHMuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpO1xuICAgIGxldCBvcHRzID0geyBidXR0b246IElucHV0QWN0aW9uLklBX1BSSU1BUlksIGhvdmVyVGV4dDogJ1ByZXNzJyB9O1xuXG4gICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgLy8gQXZvaWQgY3JlYXRpbmcgZHVwbGljYXRlcyBvZiB0aGUgc2FtZSBwb2ludGVyRXZlbnQuXG4gICAgICAvLyBUaGlzIHVzdWFsbHkgaGFwcGVucyB3aXRoIGVudGl0aWVzIHRoYXQgYXJlIGNyZWF0ZWQgYXQgcnVudGltZSBhbmQgYXJlIGJlaW5nIHN5bmNyb25pemVkLlxuICAgICAgLy8gSWYgeW91IHJlY2VpdmUgYW4gZW50aXR5IHdpdGggcG9pbnRlckV2ZW50IHRoaXMgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVUcmlnZ2VyU3lzdGVtIGlzIGdlbmVyYXRpbmcgYW5vdGhlciBvbmUgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuXG4gICAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuZmluZEluZGV4KFxuICAgICAgICAkID0+ICQuZXZlbnRJbmZvPy5idXR0b24gPT09IG9wdHMuYnV0dG9uLFxuICAgICAgKTtcbiAgICAgIGlmIChleGlzdGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBldmVudEluZm8gPSBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50c1tleGlzdGluZ0luZGV4XS5ldmVudEluZm87XG4gICAgICAgIG9wdHMgPSB7IC4uLm9wdHMsIC4uLmV2ZW50SW5mbyB9OyAvLyBNZXJnZSBkZWZhdWx0IG9wdHMgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnRlckV2ZW50LlxuICAgICAgICBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50cy5zcGxpY2UoZXhpc3RpbmdJbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgICAge1xuICAgICAgICBlbnRpdHksXG4gICAgICAgIG9wdHMsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fSU5QVVRfQUNUSU9OKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9OX1BMQVlFUl9FTlRFUlNfQVJFQSAvIE9OX1BMQVlFUl9MRUFWRVNfQVJFQVxuICBmdW5jdGlvbiBpbml0T25QbGF5ZXJUcmlnZ2VyQXJlYShlbnRpdHk6IEVudGl0eSkge1xuICAgIFRyaWdnZXJBcmVhLnNldEJveChlbnRpdHkpO1xuXG4gICAgdHJpZ2dlckFyZWFFdmVudHNTeXN0ZW0ub25UcmlnZ2VyRW50ZXIoZW50aXR5LCBmdW5jdGlvbiAocmVzdWx0KSB7XG4gICAgICBpZiAocmVzdWx0LnRyaWdnZXI/LmVudGl0eSAhPT0gZW5naW5lLlBsYXllckVudGl0eSkgcmV0dXJuO1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9QTEFZRVJfRU5URVJTX0FSRUEpO1xuICAgIH0pO1xuXG4gICAgdHJpZ2dlckFyZWFFdmVudHNTeXN0ZW0ub25UcmlnZ2VyRXhpdChlbnRpdHksIGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgIGlmIChyZXN1bHQudHJpZ2dlcj8uZW50aXR5ICE9PSBlbmdpbmUuUGxheWVyRW50aXR5KSByZXR1cm47XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9MRUFWRVNfQVJFQSk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25EYW1hZ2UoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBkYW1hZ2VUYXJnZXRzLmFkZChlbnRpdHkpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uSGVhbFBsYXllcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGhlYWxUYXJnZXRzLmFkZChlbnRpdHkpO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uR2xvYmFsQ2ljayhlbnRpdHk6IEVudGl0eSkge1xuICAgIGdsb2JhbElucHV0QWN0aW9ucy5vbihJbnB1dEFjdGlvbi5JQV9QT0lOVEVSLCAoKSA9PiB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0dMT0JBTF9DTElDSyk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25HbG9iYWxQcmltYXJ5KGVudGl0eTogRW50aXR5KSB7XG4gICAgZ2xvYmFsSW5wdXRBY3Rpb25zLm9uKElucHV0QWN0aW9uLklBX1BSSU1BUlksICgpID0+IHtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fR0xPQkFMX1BSSU1BUlkpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uR2xvYmFsU2Vjb25kYXJ5KGVudGl0eTogRW50aXR5KSB7XG4gICAgZ2xvYmFsSW5wdXRBY3Rpb25zLm9uKElucHV0QWN0aW9uLklBX1NFQ09OREFSWSwgKCkgPT4ge1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfU0VDT05EQVJZKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPblRpY2soZW50aXR5OiBFbnRpdHkpIHtcbiAgICB0aWNrU2V0LmFkZChlbnRpdHkpO1xuICB9XG5cbiAgLy8gT05fVFdFRU5fRU5EXG4gIGZ1bmN0aW9uIGhhbmRsZU9uVHdlZW5FbmQoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBpZiAoXG4gICAgICBUd2VlbkNvbXBvbmVudC5nZXRPck51bGwoZW50aXR5KSAmJlxuICAgICAgVHdlZW5TdGF0ZS5nZXRPck51bGwoZW50aXR5KT8uc3RhdGUgPT09IFR3ZWVuU3RhdGVTdGF0dXMuVFNfQ09NUExFVEVEICYmXG4gICAgICB0d2VlblN5c3RlbS50d2VlbkNvbXBsZXRlZChlbnRpdHkpXG4gICAgKSB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1RXRUVOX0VORCk7XG4gICAgfVxuICB9XG59XG4iXX0=
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJpZ2dlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHJpZ2dlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUVMLFVBQVUsRUFFVixXQUFXLEVBQ1gsdUJBQXVCLEdBQ3hCLE1BQU0sVUFBVSxDQUFDO0FBQ2xCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBUWhFLE9BQU8sRUFDTCxhQUFhLEVBQ2IseUJBQXlCLEVBQ3pCLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsZ0NBQWdDLEVBQ2hDLGFBQWEsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFbEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxHQUFHLEVBQVUsQ0FBQztBQUN6QyxNQUFNLFdBQVcsR0FBeUMsRUFBRSxDQUFDO0FBRTdELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0FBRTdDLElBQUksb0JBQW9CLEdBQXNDLElBQUksQ0FBQztBQUVuRSxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWM7SUFDekMsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBQ3pCLE9BQU8sb0JBQW9CLENBQUMsTUFBTSxDQUFD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R0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFHRCxTQUFTLGdCQUFnQixDQUFDLE1BQWM7UUFDdEMsSUFDRSxjQUFjLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztZQUNoQyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssTUFBa0M7WUFDckUsV0FBVyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDbEMsQ0FBQztZQUNELE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLGFBQWEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQy9DLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgSUVuZ2luZSxcbiAgRW50aXR5LFxuICBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbixcbiAgRGVlcFJlYWRvbmx5T2JqZWN0LFxuICBQb2ludGVyRXZlbnRzU3lzdGVtLFxuICBUd2VlblN5c3RlbSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHtcbiAgSW5wdXRBY3Rpb24sXG4gIFR3ZWVuU3RhdGUsXG4gIFR3ZWVuU3RhdGVTdGF0dXMsXG4gIFRyaWdnZXJBcmVhLFxuICB0cmlnZ2VyQXJlYUV2ZW50c1N5c3RlbSxcbn0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgVmVjdG9yMyB9IGZyb20gJ0BkY2wvc2RrL21hdGgnO1xuaW1wb3J0IHsgZ2V0UGxheWVyUG9zaXRpb24sIGdldFdvcmxkUG9zaXRpb24gfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHR5cGUge1xuICBBY3Rpb24sXG4gIFRyaWdnZXIsXG4gIFRyaWdnZXJBY3Rpb24sXG4gIFRyaWdnZXJDb25kaXRpb24sXG4gIEVuZ2luZUNvbXBvbmVudHMsXG59IGZyb20gJy4vZGVmaW5pdGlvbnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50TmFtZSxcbiAgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbixcbiAgVHJpZ2dlckNvbmRpdGlvblR5cGUsXG4gIFRyaWdnZXJUeXBlLFxuICBnZXRDb25kaXRpb25UeXBlc0J5Q29tcG9uZW50TmFtZSxcbiAgZ2V0Q29tcG9uZW50cyxcbn0gZnJvbSAnLi9kZWZpbml0aW9ucyc7XG5pbXBvcnQgeyBnZXRDdXJyZW50VmFsdWUsIGdldFByZXZpb3VzVmFsdWUgfSBmcm9tICcuL3N0YXRlcyc7XG5pbXBvcnQgeyBnZXRBY3Rpb25FdmVudHMsIGdldFRyaWdnZXJFdmVudHMgfSBmcm9tICcuL2V2ZW50cyc7XG5pbXBvcnQgeyBnZXRQYXlsb2FkIH0gZnJvbSAnLi9hY3Rpb24tdHlwZXMnO1xuaW1wb3J0IHsgZ2xvYmFsSW5wdXRBY3Rpb25zIH0gZnJvbSAnLi9pbnB1dC1hY3Rpb25zJztcbmltcG9ydCB7IHRpY2tTZXQgfSBmcm9tICcuL3RpbWVyJztcblxuY29uc3QgaW5pdGVkRW50aXRpZXMgPSBuZXcgU2V0PEVudGl0eT4oKTtcbmNvbnN0IGFjdGlvblF1ZXVlOiB7IGVudGl0eTogRW50aXR5OyBhY3Rpb246IEFjdGlvbiB9W10gPSBbXTtcblxuZXhwb3J0IGNvbnN0IGRhbWFnZVRhcmdldHMgPSBuZXcgU2V0PEVudGl0eT4oKTtcbmV4cG9ydCBjb25zdCBoZWFsVGFyZ2V0cyA9IG5ldyBTZXQ8RW50aXR5PigpO1xuXG5sZXQgaW50ZXJuYWxJbml0VHJpZ2dlcnM6ICgoZW50aXR5OiBFbnRpdHkpID0+IHZvaWQpIHwgbnVsbCA9IG51bGw7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VHJpZ2dlcnMoZW50aXR5OiBFbnRpdHkpIHtcbiAgaWYgKGludGVybmFsSW5pdFRyaWdnZXJzKSB7XG4gICAgcmV0dXJuIGludGVybmFsSW5pdFRyaWdnZXJzKGVudGl0eSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgY2FsbCBpbml0VHJpZ2dlcnMgd2hpbGUgdHJpZ2dlcnNTeXN0ZW0gaGFzIG5vdCBiZWVuIGNyZWF0ZWQnKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRyaWdnZXJzU3lzdGVtKFxuICBlbmdpbmU6IElFbmdpbmUsXG4gIGNvbXBvbmVudHM6IEVuZ2luZUNvbXBvbmVudHMsXG4gIHBvaW50ZXJFdmVudHNTeXN0ZW06IFBvaW50ZXJFdmVudHNTeXN0ZW0sXG4gIHR3ZWVuU3lzdGVtOiBUd2VlblN5c3RlbSxcbikge1xuICBjb25zdCB7IFR3ZWVuOiBUd2VlbkNvbXBvbmVudCwgUG9pbnRlckV2ZW50cyB9ID0gY29tcG9uZW50cztcbiAgY29uc3QgeyBBY3Rpb25zLCBTdGF0ZXMsIENvdW50ZXIsIFRyaWdnZXJzIH0gPSBnZXRDb21wb25lbnRzKGVuZ2luZSk7XG5cbiAgLy8gc2F2ZSByZWZlcmVuY2UgdG8gdGhlIGluaXQgZnVuY3Rpb25cbiAgaW50ZXJuYWxJbml0VHJpZ2dlcnMgPSBpbml0RW50aXR5VHJpZ2dlcnM7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uIHRyaWdnZXJzU3lzdGVtKF9kdDogbnVtYmVyKSB7XG4gICAgLy8gcHJvY2VzcyBhY3Rpb24gcXVldWVcbiAgICB3aGlsZSAoYWN0aW9uUXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgeyBlbnRpdHksIGFjdGlvbiB9ID0gYWN0aW9uUXVldWUuc2hpZnQoKSE7XG4gICAgICBjb25zdCBhY3Rpb25FdmVudHMgPSBnZXRBY3Rpb25FdmVudHMoZW50aXR5KTtcbiAgICAgIGFjdGlvbkV2ZW50cy5lbWl0KGFjdGlvbi5uYW1lLCBnZXRQYXlsb2FkKGFjdGlvbikpO1xuICAgIH1cblxuICAgIGNvbnN0IGVudGl0aWVzV2l0aFRyaWdnZXJzID0gQXJyYXkuZnJvbShlbmdpbmUuZ2V0RW50aXRpZXNXaXRoKFRyaWdnZXJzKSk7XG4gICAgZm9yIChjb25zdCBbZW50aXR5XSBvZiBlbnRpdGllc1dpdGhUcmlnZ2Vycykge1xuICAgICAgaW5pdEVudGl0eVRyaWdnZXJzKGVudGl0eSk7XG4gICAgICBoYW5kbGVPblR3ZWVuRW5kKGVudGl0eSk7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIGluaXRFbnRpdHlUcmlnZ2VycyhlbnRpdHk6IEVudGl0eSkge1xuICAgIGlmICghVHJpZ2dlcnMuaGFzKGVudGl0eSkgfHwgaW5pdGVkRW50aXRpZXMuaGFzKGVudGl0eSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBnZXQgdHJpZ2dlcnMgZGF0YVxuICAgIGNvbnN0IHRyaWdnZXJzID0gVHJpZ2dlcnMuZ2V0KGVudGl0eSk7XG5cbiAgICAvLyBpbml0aWFsaXplIHRyaWdnZXJzIGZvciBnaXZlbiBlbnRpdHlcbiAgICBjb25zdCB0eXBlcyA9IHRyaWdnZXJzLnZhbHVlLnJlZHVjZShcbiAgICAgICh0eXBlczogU2V0PFRyaWdnZXJUeXBlPiwgdHJpZ2dlcjogeyB0eXBlOiBUcmlnZ2VyVHlwZSB9KSA9PiB0eXBlcy5hZGQodHJpZ2dlci50eXBlKSxcbiAgICAgIG5ldyBTZXQ8VHJpZ2dlclR5cGU+KCksXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgdHlwZXMpIHtcbiAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAvKiogQGRlcHJlY2F0ZWQgdXNlIE9OX0lOUFVUX0FDVElPTiBpbnN0ZWFkICovXG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fQ0xJQ0s6IHtcbiAgICAgICAgICBpbml0T25DbGlja1RyaWdnZXIoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0lOUFVUX0FDVElPTjoge1xuICAgICAgICAgIGluaXRPbklucHV0QWN0aW9uVHJpZ2dlcihlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fUExBWUVSX0VOVEVSU19BUkVBOlxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9MRUFWRVNfQVJFQToge1xuICAgICAgICAgIGluaXRPblBsYXllclRyaWdnZXJBcmVhKGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9EQU1BR0U6IHtcbiAgICAgICAgICBpbml0T25EYW1hZ2UoZW50aXR5KTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJUeXBlLk9OX0hFQUxfUExBWUVSOiB7XG4gICAgICAgICAgaW5pdE9uSGVhbFBsYXllcihlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX0NMSUNLOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsQ2ljayhlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgVHJpZ2dlclR5cGUuT05fR0xPQkFMX1BSSU1BUlk6IHtcbiAgICAgICAgICBpbml0T25HbG9iYWxQcmltYXJ5KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfU0VDT05EQVJZOiB7XG4gICAgICAgICAgaW5pdE9uR2xvYmFsU2Vjb25kYXJ5KGVudGl0eSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBUcmlnZ2VyVHlwZS5PTl9USUNLOiB7XG4gICAgICAgICAgaW5pdE9uVGljayhlbnRpdHkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYmluZCB0cmlnZ2Vyc1xuICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgZm9yIChjb25zdCB0cmlnZ2VyIG9mIHRyaWdnZXJzLnZhbHVlKSB7XG4gICAgICB0cmlnZ2VyRXZlbnRzLm9uKHRyaWdnZXIudHlwZSwgKCkgPT4ge1xuICAgICAgICBpZiAoY2hlY2tDb25kaXRpb25zKHRyaWdnZXIpKSB7XG4gICAgICAgICAgZm9yIChjb25zdCB0cmlnZ2VyQWN0aW9uIG9mIHRyaWdnZXIuYWN0aW9ucykge1xuICAgICAgICAgICAgaWYgKGlzVmFsaWRBY3Rpb24odHJpZ2dlckFjdGlvbikpIHtcbiAgICAgICAgICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlBY3Rpb24odHJpZ2dlckFjdGlvbik7XG4gICAgICAgICAgICAgIGlmIChlbnRpdHkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25zID0gQWN0aW9ucy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9ucykge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gYWN0aW9ucy52YWx1ZS5maW5kKCgkOiBBY3Rpb24pID0+ICQubmFtZSA9PT0gdHJpZ2dlckFjdGlvbi5uYW1lKTtcbiAgICAgICAgICAgICAgICAgIGlmIChhY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gYWN0aW9ucyBhcmUgZW5xdWV1ZWQgdG8gYmUgZXhlY3V0ZWQgb24gdGhlIG5leHQgdGljayBhZnRlciBhbGwgdGhlIHRyaWdnZXJzIGhhdmUgYmVlbiBwcm9jZXNzZWQsXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgdG8gYXZvaWQgb25lIHRyaWdnZXIgbWVzc2luZyB3aXRoIG90aGVyIHRyaWdnZXIncyBjb25kaXRpb25zXG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblF1ZXVlLnB1c2goeyBlbnRpdHksIGFjdGlvbiB9KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fU1BBV04pO1xuXG4gICAgaW5pdGVkRW50aXRpZXMuYWRkKGVudGl0eSk7XG4gIH1cblxuICBmdW5jdGlvbiBpc1ZhbGlkQWN0aW9uKGFjdGlvbjogVHJpZ2dlckFjdGlvbikge1xuICAgIGNvbnN0IHsgaWQsIG5hbWUgfSA9IGFjdGlvbjtcbiAgICByZXR1cm4gISFpZCAmJiAhIW5hbWU7XG4gIH1cblxuICBmdW5jdGlvbiBjaGVja0NvbmRpdGlvbnModHJpZ2dlcjogRGVlcFJlYWRvbmx5T2JqZWN0PFRyaWdnZXI+KSB7XG4gICAgaWYgKHRyaWdnZXIuY29uZGl0aW9ucyAmJiB0cmlnZ2VyLmNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgY29uZGl0aW9ucyA9IHRyaWdnZXIuY29uZGl0aW9ucy5tYXAoY2hlY2tDb25kaXRpb24pO1xuICAgICAgY29uc3QgaXNUcnVlID0gKHJlc3VsdD86IGJvb2xlYW4pID0+ICEhcmVzdWx0O1xuICAgICAgY29uc3Qgb3BlcmF0aW9uID0gdHJpZ2dlci5vcGVyYXRpb24gfHwgVHJpZ2dlckNvbmRpdGlvbk9wZXJhdGlvbi5BTkQ7XG4gICAgICBzd2l0Y2ggKG9wZXJhdGlvbikge1xuICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uQU5EOiB7XG4gICAgICAgICAgcmV0dXJuIGNvbmRpdGlvbnMuZXZlcnkoaXNUcnVlKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25PcGVyYXRpb24uT1I6IHtcbiAgICAgICAgICByZXR1cm4gY29uZGl0aW9ucy5zb21lKGlzVHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gaWYgdGhlcmUgYXJlIG5vIGNvbmRpdGlvbnMsIHRoZSB0cmlnZ2VyIGNhbiBjb250aW51ZVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgZnVuY3Rpb24gY2hlY2tDb25kaXRpb24oY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlDb25kaXRpb24oY29uZGl0aW9uKTtcbiAgICBpZiAoZW50aXR5KSB7XG4gICAgICB0cnkge1xuICAgICAgICBzd2l0Y2ggKGNvbmRpdGlvbi50eXBlKSB7XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTOiB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZXMgPSBTdGF0ZXMuZ2V0T3JOdWxsKGVudGl0eSk7XG4gICAgICAgICAgICBpZiAoc3RhdGVzICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZSA9IGdldEN1cnJlbnRWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gY3VycmVudFZhbHVlID09PSBjb25kaXRpb24udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX1NUQVRFX0lTX05PVDoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBjdXJyZW50VmFsdWUgPSBnZXRDdXJyZW50VmFsdWUoc3RhdGVzKTtcbiAgICAgICAgICAgICAgcmV0dXJuIGN1cnJlbnRWYWx1ZSAhPT0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9QUkVWSU9VU19TVEFURV9JUzoge1xuICAgICAgICAgICAgY29uc3Qgc3RhdGVzID0gU3RhdGVzLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKHN0YXRlcyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbHVlID0gZ2V0UHJldmlvdXNWYWx1ZShzdGF0ZXMpO1xuICAgICAgICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZSA9PT0gY29uZGl0aW9uLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9QUkVWSU9VU19TVEFURV9JU19OT1Q6IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRlcyA9IFN0YXRlcy5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgIGlmIChzdGF0ZXMgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgcHJldmlvdXNWYWx1ZSA9IGdldFByZXZpb3VzVmFsdWUoc3RhdGVzKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHByZXZpb3VzVmFsdWUgIT09IGNvbmRpdGlvbi52YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9FUVVBTFM6IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPT09IG51bWVyaWM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFRyaWdnZXJDb25kaXRpb25UeXBlLldIRU5fQ09VTlRFUl9JU19HUkVBVEVSX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50ZXIgPSBDb3VudGVyLmdldE9yTnVsbChlbnRpdHkpO1xuICAgICAgICAgICAgaWYgKGNvdW50ZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgICBpZiAoIWlzTmFOKG51bWVyaWMpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50ZXIudmFsdWUgPiBudW1lcmljO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0NPVU5URVJfSVNfTEVTU19USEFOOiB7XG4gICAgICAgICAgICBjb25zdCBjb3VudGVyID0gQ291bnRlci5nZXRPck51bGwoZW50aXR5KTtcbiAgICAgICAgICAgIGlmIChjb3VudGVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgIGNvbnN0IG51bWVyaWMgPSBOdW1iZXIoY29uZGl0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjb3VudGVyLnZhbHVlIDwgbnVtZXJpYztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgVHJpZ2dlckNvbmRpdGlvblR5cGUuV0hFTl9ESVNUQU5DRV9UT19QTEFZRVJfTEVTU19USEFOOiB7XG4gICAgICAgICAgICBjb25zdCBwb3NpdGlvbiA9IGdldFdvcmxkUG9zaXRpb24oZW50aXR5KTtcblxuICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yMy5kaXN0YW5jZShwb3NpdGlvbiwgZ2V0UGxheWVyUG9zaXRpb24oKSkgPCBudW1lcmljO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBUcmlnZ2VyQ29uZGl0aW9uVHlwZS5XSEVOX0RJU1RBTkNFX1RPX1BMQVlFUl9HUkVBVEVSX1RIQU46IHtcbiAgICAgICAgICAgIGNvbnN0IHBvc2l0aW9uID0gZ2V0V29ybGRQb3NpdGlvbihlbnRpdHkpO1xuICAgICAgICAgICAgY29uc3QgbnVtZXJpYyA9IE51bWJlcihjb25kaXRpb24udmFsdWUpO1xuICAgICAgICAgICAgaWYgKCFpc05hTihudW1lcmljKSkge1xuICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yMy5kaXN0YW5jZShwb3NpdGlvbiwgZ2V0UGxheWVyUG9zaXRpb24oKSkgPiBudW1lcmljO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBpbiBjb25kaXRpb24nLCBjb25kaXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmdW5jdGlvbiBnZXRFbnRpdHlCeUlkPFQgZXh0ZW5kcyB7IGlkOiBudW1iZXIgfT4oY29tcG9uZW50TmFtZTogc3RyaW5nLCBpZDogbnVtYmVyKSB7XG4gICAgY29uc3QgQ29tcG9uZW50ID0gZW5naW5lLmdldENvbXBvbmVudChcbiAgICAgIGNvbXBvbmVudE5hbWUsXG4gICAgKSBhcyBMYXN0V3JpdGVXaW5FbGVtZW50U2V0Q29tcG9uZW50RGVmaW5pdGlvbjxUPjtcbiAgICBjb25zdCBlbnRpdGllcyA9IEFycmF5LmZyb20oZW5naW5lLmdldEVudGl0aWVzV2l0aChDb21wb25lbnQpKTtcbiAgICBjb25zdCByZXN1bHQgPSBlbnRpdGllcy5maW5kKChbX2VudGl0eSwgdmFsdWVdKSA9PiB2YWx1ZS5pZCA9PT0gaWQpO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHJlc3VsdCkgJiYgcmVzdWx0Lmxlbmd0aCA+IDAgPyByZXN1bHRbMF0gOiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0RW50aXR5QnlBY3Rpb24oYWN0aW9uOiBUcmlnZ2VyQWN0aW9uKSB7XG4gICAgaWYgKGFjdGlvbi5pZCkge1xuICAgICAgY29uc3QgZW50aXR5ID0gZ2V0RW50aXR5QnlJZChDb21wb25lbnROYW1lLkFDVElPTlMsIGFjdGlvbi5pZCk7XG4gICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgZnVuY3Rpb24gZ2V0RW50aXR5QnlDb25kaXRpb24oY29uZGl0aW9uOiBUcmlnZ2VyQ29uZGl0aW9uKSB7XG4gICAgY29uc3QgY29tcG9uZW50TmFtZSA9IE9iamVjdC52YWx1ZXMoQ29tcG9uZW50TmFtZSlcbiAgICAgIC5tYXAoY29tcG9uZW50TmFtZSA9PiAoe1xuICAgICAgICBjb21wb25lbnROYW1lLFxuICAgICAgICBjb25kaXRpb25UeXBlczogZ2V0Q29uZGl0aW9uVHlwZXNCeUNvbXBvbmVudE5hbWUoY29tcG9uZW50TmFtZSksXG4gICAgICB9KSlcbiAgICAgIC5yZWR1Y2U8Q29tcG9uZW50TmFtZSB8IG51bGw+KFxuICAgICAgICAocmVzdWx0LCB7IGNvbXBvbmVudE5hbWUsIGNvbmRpdGlvblR5cGVzIH0pID0+XG4gICAgICAgICAgY29uZGl0aW9uVHlwZXMuaW5jbHVkZXMoY29uZGl0aW9uLnR5cGUpID8gY29tcG9uZW50TmFtZSA6IHJlc3VsdCxcbiAgICAgICAgbnVsbCxcbiAgICAgICk7XG4gICAgaWYgKGNvbXBvbmVudE5hbWUgJiYgY29uZGl0aW9uLmlkKSB7XG4gICAgICBjb25zdCBlbnRpdHkgPSBnZXRFbnRpdHlCeUlkKGNvbXBvbmVudE5hbWUsIGNvbmRpdGlvbi5pZCk7XG4gICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIEBkZXByZWNhdGVkIHVzZSBPTl9JTlBVVF9BQ1RJT04gaW5zdGVhZCAqL1xuICAvLyBPTl9DTElDS1xuICBmdW5jdGlvbiBpbml0T25DbGlja1RyaWdnZXIoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBjb25zdCBwb2ludGVyRXZlbnQgPSBQb2ludGVyRXZlbnRzLmdldE11dGFibGVPck51bGwoZW50aXR5KTtcbiAgICBsZXQgb3B0cyA9IHsgYnV0dG9uOiBJbnB1dEFjdGlvbi5JQV9QT0lOVEVSLCBob3ZlclRleHQ6ICdDbGljaycgfTtcblxuICAgIGlmIChwb2ludGVyRXZlbnQpIHtcbiAgICAgIC8vIEF2b2lkIGNyZWF0aW5nIGR1cGxpY2F0ZXMgb2YgdGhlIHNhbWUgcG9pbnRlckV2ZW50LlxuICAgICAgLy8gVGhpcyB1c3VhbGx5IGhhcHBlbnMgd2l0aCBlbnRpdGllcyB0aGF0IGFyZSBjcmVhdGVkIGF0IHJ1bnRpbWUgYW5kIGFyZSBiZWluZyBzeW5jcm9uaXplZC5cbiAgICAgIC8vIElmIHlvdSByZWNlaXZlIGFuIGVudGl0eSB3aXRoIHBvaW50ZXJFdmVudCB0aGlzIGZ1bmN0aW9uIGluc2lkZSB0aGUgY3JlYXRlVHJpZ2dlclN5c3RlbSBpcyBnZW5lcmF0aW5nIGFub3RoZXIgb25lIHdpdGggdGhlIHNhbWUgdmFsdWVzLlxuICAgICAgY29uc3QgZXhpc3RpbmdJbmRleCA9IHBvaW50ZXJFdmVudC5wb2ludGVyRXZlbnRzLmZpbmRJbmRleChcbiAgICAgICAgKCQ6IHsgZXZlbnRJbmZvPzogeyBidXR0b24/OiBJbnB1dEFjdGlvbiB9IH0pID0+ICQuZXZlbnRJbmZvPy5idXR0b24gPT09IG9wdHMuYnV0dG9uLFxuICAgICAgKTtcbiAgICAgIGlmIChleGlzdGluZ0luZGV4ICE9PSAtMSkge1xuICAgICAgICBjb25zdCBldmVudEluZm8gPSBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50c1tleGlzdGluZ0luZGV4XS5ldmVudEluZm87XG4gICAgICAgIG9wdHMgPSB7IC4uLm9wdHMsIC4uLmV2ZW50SW5mbyB9OyAvLyBNZXJnZSBkZWZhdWx0IG9wdHMgd2l0aCB0aGUgZXhpc3RpbmcgcG9pbnRlckV2ZW50LlxuICAgICAgICBwb2ludGVyRXZlbnQucG9pbnRlckV2ZW50cy5zcGxpY2UoZXhpc3RpbmdJbmRleCwgMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcG9pbnRlckV2ZW50c1N5c3RlbS5vblBvaW50ZXJEb3duKFxuICAgICAge1xuICAgICAgICBlbnRpdHksXG4gICAgICAgIG9wdHMsXG4gICAgICB9LFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fQ0xJQ0spO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gT05fSU5QVVRfQUNUSU9OXG4gIGZ1bmN0aW9uIGluaXRPbklucHV0QWN0aW9uVHJpZ2dlcihlbnRpdHk6IEVudGl0eSkge1xuICAgIGNvbnN0IHBvaW50ZXJFdmVudCA9IFBvaW50ZXJFdmVudHMuZ2V0TXV0YWJsZU9yTnVsbChlbnRpdHkpO1xuICAgIGxldCBvcHRzID0geyBidXR0b246IElucHV0QWN0aW9uLklBX1BSSU1BUlksIGhvdmVyVGV4dDogJ1ByZXNzJyB9O1xuXG4gICAgaWYgKHBvaW50ZXJFdmVudCkge1xuICAgICAgLy8gQXZvaWQgY3JlYXRpbmcgZHVwbGljYXRlcyBvZiB0aGUgc2FtZSBwb2ludGVyRXZlbnQuXG4gICAgICAvLyBUaGlzIHVzdWFsbHkgaGFwcGVucyB3aXRoIGVudGl0aWVzIHRoYXQgYXJlIGNyZWF0ZWQgYXQgcnVudGltZSBhbmQgYXJlIGJlaW5nIHN5bmNyb25pemVkLlxuICAgICAgLy8gSWYgeW91IHJlY2VpdmUgYW4gZW50aXR5IHdpdGggcG9pbnRlckV2ZW50IHRoaXMgZnVuY3Rpb24gaW5zaWRlIHRoZSBjcmVhdGVUcmlnZ2VyU3lzdGVtIGlzIGdlbmVyYXRpbmcgYW5vdGhlciBvbmUgd2l0aCB0aGUgc2FtZSB2YWx1ZXMuXG4gICAgICBjb25zdCBleGlzdGluZ0luZGV4ID0gcG9pbnRlckV2ZW50LnBvaW50ZXJFdmVudHMuZmluZEluZGV4KFxuICAgICAgICAoJDogeyBldmVudEluZm8/OiB7IGJ1dHRvbj86IElucHV0QWN0aW9uIH0gfSkgPT4gJC5ldmVudEluZm8/LmJ1dHRvbiA9PT0gb3B0cy5idXR0b24sXG4gICAgICApO1xuICAgICAgaWYgKGV4aXN0aW5nSW5kZXggIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IGV2ZW50SW5mbyA9IHBvaW50ZXJFdmVudC5wb2ludGVyRXZlbnRzW2V4aXN0aW5nSW5kZXhdLmV2ZW50SW5mbztcbiAgICAgICAgb3B0cyA9IHsgLi4ub3B0cywgLi4uZXZlbnRJbmZvIH07IC8vIE1lcmdlIGRlZmF1bHQgb3B0cyB3aXRoIHRoZSBleGlzdGluZyBwb2ludGVyRXZlbnQuXG4gICAgICAgIHBvaW50ZXJFdmVudC5wb2ludGVyRXZlbnRzLnNwbGljZShleGlzdGluZ0luZGV4LCAxKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwb2ludGVyRXZlbnRzU3lzdGVtLm9uUG9pbnRlckRvd24oXG4gICAgICB7XG4gICAgICAgIGVudGl0eSxcbiAgICAgICAgb3B0cyxcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9JTlBVVF9BQ1RJT04pO1xuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgLy8gT05fUExBWUVSX0VOVEVSU19BUkVBIC8gT05fUExBWUVSX0xFQVZFU19BUkVBXG4gIGZ1bmN0aW9uIGluaXRPblBsYXllclRyaWdnZXJBcmVhKGVudGl0eTogRW50aXR5KSB7XG4gICAgVHJpZ2dlckFyZWEuc2V0Qm94KGVudGl0eSk7XG5cbiAgICB0cmlnZ2VyQXJlYUV2ZW50c1N5c3RlbS5vblRyaWdnZXJFbnRlcihlbnRpdHksIGZ1bmN0aW9uIChyZXN1bHQpIHtcbiAgICAgIGlmIChyZXN1bHQudHJpZ2dlcj8uZW50aXR5ICE9PSBlbmdpbmUuUGxheWVyRW50aXR5KSByZXR1cm47XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX1BMQVlFUl9FTlRFUlNfQVJFQSk7XG4gICAgfSk7XG5cbiAgICB0cmlnZ2VyQXJlYUV2ZW50c1N5c3RlbS5vblRyaWdnZXJFeGl0KGVudGl0eSwgZnVuY3Rpb24gKHJlc3VsdCkge1xuICAgICAgaWYgKHJlc3VsdC50cmlnZ2VyPy5lbnRpdHkgIT09IGVuZ2luZS5QbGF5ZXJFbnRpdHkpIHJldHVybjtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fUExBWUVSX0xFQVZFU19BUkVBKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPbkRhbWFnZShlbnRpdHk6IEVudGl0eSkge1xuICAgIGRhbWFnZVRhcmdldHMuYWRkKGVudGl0eSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25IZWFsUGxheWVyKGVudGl0eTogRW50aXR5KSB7XG4gICAgaGVhbFRhcmdldHMuYWRkKGVudGl0eSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25HbG9iYWxDaWNrKGVudGl0eTogRW50aXR5KSB7XG4gICAgZ2xvYmFsSW5wdXRBY3Rpb25zLm9uKElucHV0QWN0aW9uLklBX1BPSU5URVIsICgpID0+IHtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fR0xPQkFMX0NMSUNLKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRPbkdsb2JhbFByaW1hcnkoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBnbG9iYWxJbnB1dEFjdGlvbnMub24oSW5wdXRBY3Rpb24uSUFfUFJJTUFSWSwgKCkgPT4ge1xuICAgICAgY29uc3QgdHJpZ2dlckV2ZW50cyA9IGdldFRyaWdnZXJFdmVudHMoZW50aXR5KTtcbiAgICAgIHRyaWdnZXJFdmVudHMuZW1pdChUcmlnZ2VyVHlwZS5PTl9HTE9CQUxfUFJJTUFSWSk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBpbml0T25HbG9iYWxTZWNvbmRhcnkoZW50aXR5OiBFbnRpdHkpIHtcbiAgICBnbG9iYWxJbnB1dEFjdGlvbnMub24oSW5wdXRBY3Rpb24uSUFfU0VDT05EQVJZLCAoKSA9PiB7XG4gICAgICBjb25zdCB0cmlnZ2VyRXZlbnRzID0gZ2V0VHJpZ2dlckV2ZW50cyhlbnRpdHkpO1xuICAgICAgdHJpZ2dlckV2ZW50cy5lbWl0KFRyaWdnZXJUeXBlLk9OX0dMT0JBTF9TRUNPTkRBUlkpO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdE9uVGljayhlbnRpdHk6IEVudGl0eSkge1xuICAgIHRpY2tTZXQuYWRkKGVudGl0eSk7XG4gIH1cblxuICAvLyBPTl9UV0VFTl9FTkRcbiAgZnVuY3Rpb24gaGFuZGxlT25Ud2VlbkVuZChlbnRpdHk6IEVudGl0eSkge1xuICAgIGlmIChcbiAgICAgIFR3ZWVuQ29tcG9uZW50LmdldE9yTnVsbChlbnRpdHkpICYmXG4gICAgICBUd2VlblN0YXRlLmdldE9yTnVsbChlbnRpdHkpPy5zdGF0ZSA9PT0gVHdlZW5TdGF0ZVN0YXR1cy5UU19DT01QTEVURUQgJiZcbiAgICAgIHR3ZWVuU3lzdGVtLnR3ZWVuQ29tcGxldGVkKGVudGl0eSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHRyaWdnZXJFdmVudHMgPSBnZXRUcmlnZ2VyRXZlbnRzKGVudGl0eSk7XG4gICAgICB0cmlnZ2VyRXZlbnRzLmVtaXQoVHJpZ2dlclR5cGUuT05fVFdFRU5fRU5EKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
package/dist/types.js CHANGED
@@ -1,4 +1,4 @@
1
- import { ComponentName } from './enums';
1
+ import { BaseComponentNames } from './constants';
2
2
  export function isAssetPackData(value) {
3
3
  return (typeof value === 'object' &&
4
4
  value !== null &&
@@ -39,7 +39,8 @@ export function isLegacyAssetData(value) {
39
39
  value.components !== null);
40
40
  }
41
41
  export function getTriggerComponent(value) {
42
- return value.composite.components.find(c => c.name === ComponentName.TRIGGERS)?.data[0]?.json;
42
+ return value.composite.components.find(c => c.name === BaseComponentNames.TRIGGERS)?.data[0]
43
+ ?.json;
43
44
  }
44
45
  export function assertValidTriggerComponent(assetName, trigger) {
45
46
  trigger.value.forEach(({ type, actions }) => {
@@ -50,4 +51,4 @@ export function assertValidTriggerComponent(assetName, trigger) {
50
51
  });
51
52
  });
52
53
  }
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU94QyxNQUFNLFVBQVUsZUFBZSxDQUFDLEtBQVU7SUFDeEMsT0FBTyxDQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsS0FBSyxLQUFLLElBQUk7UUFDZCxPQUFPLEtBQUssQ0FBQyxFQUFFLEtBQUssUUFBUTtRQUM1QixPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUMvQixDQUFDO0FBQ0osQ0FBQztBQTRDRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsS0FBVTtJQUNwRCxJQUFJLFdBQVcsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN6QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLENBQ0wsS0FBSztRQUNMLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFDekIsSUFBSSxJQUFJLEtBQUs7UUFDYixPQUFPLEtBQUssQ0FBQyxFQUFFLEtBQUssUUFBUTtRQUM1QixNQUFNLElBQUksS0FBSztRQUNmLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQzlCLFVBQVUsSUFBSSxLQUFLO1FBQ25CLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRO1FBQ2xDLE1BQU0sSUFBSSxLQUFLO1FBQ2YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQzFCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFVO0lBQ3BDLE9BQU8sQ0FDTCxLQUFLO1FBQ0wsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixXQUFXLElBQUksS0FBSztRQUNwQixPQUFPLEtBQUssQ0FBQyxTQUFTLEtBQUssUUFBUTtRQUNuQyxTQUFTLElBQUksS0FBSyxDQUFDLFNBQVM7UUFDNUIsWUFBWSxJQUFJLEtBQUssQ0FBQyxTQUFTO1FBQy9CLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FDMUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBVTtJQUMxQyxPQUFPLENBQ0wsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixLQUFLLEtBQUssSUFBSTtRQUNkLE9BQU8sS0FBSyxDQUFDLEVBQUUsS0FBSyxRQUFRO1FBQzVCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRO1FBQzlCLE9BQU8sS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRO1FBQ2xDLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRO1FBQ3BDLEtBQUssQ0FBQyxVQUFVLEtBQUssSUFBSSxDQUMxQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxLQUFnQjtJQUNsRCxPQUFPLEtBQUssQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUU1RSxDQUFDO0FBQ2hCLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsU0FBaUIsRUFBRSxPQUFvQjtJQUNqRixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7UUFDMUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDL0IsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixTQUFTLDRCQUE0QixJQUFJLEdBQUcsQ0FBQyxDQUFDO1lBQzdGLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5LCBQQkF2YXRhckJhc2UsIFBCQXZhdGFyRXF1aXBwZWREYXRhLCBUcmFuc2Zvcm1UeXBlIH0gZnJvbSAnQGRjbC9lY3MnO1xuaW1wb3J0IHsgQ29tcG9uZW50TmFtZSB9IGZyb20gJy4vZW51bXMnO1xuXG5leHBvcnQgdHlwZSBBc3NldFBhY2tEYXRhID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBc3NldFBhY2tEYXRhKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBBc3NldFBhY2tEYXRhIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgdmFsdWUuaWQgPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIHZhbHVlLm5hbWUgPT09ICdzdHJpbmcnXG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIExlZ2FjeUFzc2V0RGF0YSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICB0YWdzOiBzdHJpbmdbXTtcbiAgY29tcG9uZW50czogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc2V0Q29tcG9zaXRlID0ge1xuICB2ZXJzaW9uOiBudW1iZXI7XG4gIGNvbXBvbmVudHM6IEFycmF5PHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZGF0YToge1xuICAgICAgW2tleTogc3RyaW5nXToge1xuICAgICAgICBqc29uOiBhbnk7XG4gICAgICB9O1xuICAgIH07XG4gIH0+O1xufTtcblxuZXhwb3J0IHR5cGUgQXNzZXREYXRhID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIHRhZ3M6IHN0cmluZ1tdO1xuICBjb21wb3NpdGU6IEFzc2V0Q29tcG9zaXRlO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgYXV0aG9yPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQXNzZXREYXRhV2l0aG91dENvbXBvc2l0ZSA9IE9taXQ8QXNzZXREYXRhLCAnY29tcG9zaXRlJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlckRhdGEge1xuICB2YWx1ZToge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBhY3Rpb25zOiB7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgbmFtZTogc3RyaW5nO1xuICAgIH1bXTtcbiAgfVtdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBc3NldERhdGFXaXRob3V0Q29tcG9zaXRlKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBBc3NldERhdGFXaXRob3V0Q29tcG9zaXRlIHtcbiAgaWYgKCdjb21wb3NpdGUnIGluIHZhbHVlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAoXG4gICAgdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgJ2lkJyBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZS5pZCA9PT0gJ3N0cmluZycgJiZcbiAgICAnbmFtZScgaW4gdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUubmFtZSA9PT0gJ3N0cmluZycgJiZcbiAgICAnY2F0ZWdvcnknIGluIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlLmNhdGVnb3J5ID09PSAnc3RyaW5nJyAmJlxuICAgICd0YWdzJyBpbiB2YWx1ZSAmJlxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUudGFncylcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXNzZXREYXRhKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBBc3NldERhdGEge1xuICByZXR1cm4gKFxuICAgIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICdjb21wb3NpdGUnIGluIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlLmNvbXBvc2l0ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAndmVyc2lvbicgaW4gdmFsdWUuY29tcG9zaXRlICYmXG4gICAgJ2NvbXBvbmVudHMnIGluIHZhbHVlLmNvbXBvc2l0ZSAmJlxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUuY29tcG9zaXRlLmNvbXBvbmVudHMpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xlZ2FjeUFzc2V0RGF0YSh2YWx1ZTogYW55KTogdmFsdWUgaXMgTGVnYWN5QXNzZXREYXRhIHtcbiAgcmV0dXJuIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmXG4gICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICB0eXBlb2YgdmFsdWUuaWQgPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIHZhbHVlLm5hbWUgPT09ICdzdHJpbmcnICYmXG4gICAgdHlwZW9mIHZhbHVlLmNhdGVnb3J5ID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiB2YWx1ZS5jb21wb25lbnRzID09PSAnb2JqZWN0JyAmJlxuICAgIHZhbHVlLmNvbXBvbmVudHMgIT09IG51bGxcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRyaWdnZXJDb21wb25lbnQodmFsdWU6IEFzc2V0RGF0YSk6IFRyaWdnZXJEYXRhIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHZhbHVlLmNvbXBvc2l0ZS5jb21wb25lbnRzLmZpbmQoYyA9PiBjLm5hbWUgPT09IENvbXBvbmVudE5hbWUuVFJJR0dFUlMpPy5kYXRhWzBdPy5qc29uIGFzXG4gICAgfCBUcmlnZ2VyRGF0YVxuICAgIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRUcmlnZ2VyQ29tcG9uZW50KGFzc2V0TmFtZTogc3RyaW5nLCB0cmlnZ2VyOiBUcmlnZ2VyRGF0YSkge1xuICB0cmlnZ2VyLnZhbHVlLmZvckVhY2goKHsgdHlwZSwgYWN0aW9ucyB9KSA9PiB7XG4gICAgYWN0aW9ucy5mb3JFYWNoKCh7IGlkLCBuYW1lIH0pID0+IHtcbiAgICAgIGlmICghaWQgfHwgIW5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFjdGlvbnMgZm91bmQgb24gXCIke2Fzc2V0TmFtZX1cIiBmb3IgdHJpZ2dlciB3aXRoIHR5cGUgXCIke3R5cGV9XCJgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCB0eXBlIEFzc2V0ID0gQXNzZXREYXRhICYgeyBjb250ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9O1xuZXhwb3J0IHR5cGUgQXNzZXRQYWNrID0gQXNzZXRQYWNrRGF0YSAmIHsgdGh1bWJuYWlsOiBzdHJpbmc7IGFzc2V0czogQXNzZXRbXSB9O1xuZXhwb3J0IHR5cGUgQ2F0YWxvZyA9IHsgYXNzZXRQYWNrczogQXNzZXRQYWNrW10gfTtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50ID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGE6IHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICBqc29uOiBhbnk7XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIElTREtIZWxwZXJzID0ge1xuICAvLyBTeW5jRW50aXR5IGhlbHBlciB0byBjcmVhdGUgbmV0d29yayBlbnRpdGllcyBhdCBydW50aW1lLlxuICBzeW5jRW50aXR5PzogU3luY0VudGl0eVNESztcbn07XG5cbmV4cG9ydCB0eXBlIFN5bmNFbnRpdHlTREsgPSAoXG4gIGVudGl0eUlkOiBFbnRpdHksXG4gIGNvbXBvbmVudElkczogbnVtYmVyW10sXG4gIGVudGl0eUVudW1JZD86IG51bWJlciB8IHVuZGVmaW5lZCxcbikgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgSVBsYXllcnNIZWxwZXIgPSB7XG4gIG9uRW50ZXJTY2VuZShjYjogKHBsYXllcjogR2V0UGxheWVyRGF0YVJlcykgPT4gdm9pZCk6IHZvaWQ7XG4gIG9uTGVhdmVTY2VuZShjYjogKHVzZXJJZDogc3RyaW5nKSA9PiB2b2lkKTogdm9pZDtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGluZm8gb2YgdGhlIHBsYXllciBpZiBpdCdzIGluIHRoZSBzY2VuZS5cbiAgICovXG4gIGdldFBsYXllcih1c2VyPzogR2V0UGxheWVyRGF0YVJlcSk6IEdldFBsYXllckRhdGFSZXMgfCBudWxsO1xufTtcblxudHlwZSBHZXRQbGF5ZXJEYXRhUmVxID0ge1xuICB1c2VySWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdldFBsYXllckRhdGFSZXMgPSB7XG4gIGVudGl0eTogRW50aXR5O1xuICBuYW1lOiBzdHJpbmc7XG4gIGlzR3Vlc3Q6IGJvb2xlYW47XG4gIHVzZXJJZDogc3RyaW5nO1xuICBhdmF0YXI/OiBQQkF2YXRhckJhc2U7XG4gIHdlYXJhYmxlczogUEJBdmF0YXJFcXVpcHBlZERhdGFbJ3dlYXJhYmxlVXJucyddO1xuICBlbW90ZXM6IFBCQXZhdGFyRXF1aXBwZWREYXRhWydlbW90ZVVybnMnXTtcbiAgcG9zaXRpb246IFRyYW5zZm9ybVR5cGVbJ3Bvc2l0aW9uJ10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDYXB0Y2hhRGF0YSA9IHtcbiAgY2FtcGFpZ25JZDogc3RyaW5nO1xuICBkaXNwZW5zZXJLZXk6IHN0cmluZztcbiAgY2FwdGNoYToge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2U6IHN0cmluZztcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICB9O1xufTtcblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYW4gYWN0aW9uIG9uIGFuIGVudGl0eS5cbiAqIFVzZWQgdG8gc3RvcmUgYWN0aW9uIHJlZmVyZW5jZXMgaW4gc2NyaXB0IHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvblJlZiA9IHtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIGFjdGlvbjogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcnMgYW4gYWN0aW9uLlxuICogU2NyaXB0cyByZWNlaXZlIHRoaXMgYXMgYSBwYXJhbWV0ZXIgYW5kIGNhbiBjYWxsIGl0IHRvIHRyaWdnZXIgdGhlIHJlZmVyZW5jZWQgYWN0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY2xhc3MgUGFkbG9jayB7XG4gKiAgIGNvbnN0cnVjdG9yKFxuICogICAgIHB1YmxpYyBzcmM6IHN0cmluZyxcbiAqICAgICBwdWJsaWMgZW50aXR5OiBFbnRpdHksXG4gKiAgICAgcHVibGljIG9uVW5sb2NrOiBBY3Rpb25DYWxsYmFja1xuICogICApIHt9XG4gKlxuICogICBzb2x2ZSgpIHtcbiAqICAgICB0aGlzLm9uVW5sb2NrKCk7IC8vIFRyaWdnZXJzIHRoZSBhY3Rpb24gc2VsZWN0ZWQgaW4gdGhlIGVkaXRvclxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uQ2FsbGJhY2sgPSAoKSA9PiB2b2lkO1xuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT2pELE1BQU0sVUFBVSxlQUFlLENBQUMsS0FBVTtJQUN4QyxPQUFPLENBQ0wsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixLQUFLLEtBQUssSUFBSTtRQUNkLE9BQU8sS0FBSyxDQUFDLEVBQUUsS0FBSyxRQUFRO1FBQzVCLE9BQU8sS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLENBQy9CLENBQUM7QUFDSixDQUFDO0FBNENELE1BQU0sVUFBVSwyQkFBMkIsQ0FBQyxLQUFVO0lBQ3BELElBQUksV0FBVyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sQ0FDTCxLQUFLO1FBQ0wsT0FBTyxLQUFLLEtBQUssUUFBUTtRQUN6QixJQUFJLElBQUksS0FBSztRQUNiLE9BQU8sS0FBSyxDQUFDLEVBQUUsS0FBSyxRQUFRO1FBQzVCLE1BQU0sSUFBSSxLQUFLO1FBQ2YsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDOUIsVUFBVSxJQUFJLEtBQUs7UUFDbkIsT0FBTyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVE7UUFDbEMsTUFBTSxJQUFJLEtBQUs7UUFDZixLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEtBQVU7SUFDcEMsT0FBTyxDQUNMLEtBQUs7UUFDTCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLFdBQVcsSUFBSSxLQUFLO1FBQ3BCLE9BQU8sS0FBSyxDQUFDLFNBQVMsS0FBSyxRQUFRO1FBQ25DLFNBQVMsSUFBSSxLQUFLLENBQUMsU0FBUztRQUM1QixZQUFZLElBQUksS0FBSyxDQUFDLFNBQVM7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUMxQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUFVO0lBQzFDLE9BQU8sQ0FDTCxPQUFPLEtBQUssS0FBSyxRQUFRO1FBQ3pCLEtBQUssS0FBSyxJQUFJO1FBQ2QsT0FBTyxLQUFLLENBQUMsRUFBRSxLQUFLLFFBQVE7UUFDNUIsT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVE7UUFDOUIsT0FBTyxLQUFLLENBQUMsUUFBUSxLQUFLLFFBQVE7UUFDbEMsT0FBTyxLQUFLLENBQUMsVUFBVSxLQUFLLFFBQVE7UUFDcEMsS0FBSyxDQUFDLFVBQVUsS0FBSyxJQUFJLENBQzFCLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEtBQWdCO0lBQ2xELE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFGLEVBQUUsSUFBK0IsQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUFDLFNBQWlCLEVBQUUsT0FBb0I7SUFDakYsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO1FBQzFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQy9CLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsU0FBUyw0QkFBNEIsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUM3RixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eSwgUEJBdmF0YXJCYXNlLCBQQkF2YXRhckVxdWlwcGVkRGF0YSwgVHJhbnNmb3JtVHlwZSB9IGZyb20gJ0BkY2wvZWNzJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnROYW1lcyB9IGZyb20gJy4vY29uc3RhbnRzJztcblxuZXhwb3J0IHR5cGUgQXNzZXRQYWNrRGF0YSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXNzZXRQYWNrRGF0YSh2YWx1ZTogYW55KTogdmFsdWUgaXMgQXNzZXRQYWNrRGF0YSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdHlwZW9mIHZhbHVlLmlkID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiB2YWx1ZS5uYW1lID09PSAnc3RyaW5nJ1xuICApO1xufVxuXG5leHBvcnQgdHlwZSBMZWdhY3lBc3NldERhdGEgPSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgdGFnczogc3RyaW5nW107XG4gIGNvbXBvbmVudHM6IFJlY29yZDxzdHJpbmcsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBBc3NldENvbXBvc2l0ZSA9IHtcbiAgdmVyc2lvbjogbnVtYmVyO1xuICBjb21wb25lbnRzOiBBcnJheTx7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRhdGE6IHtcbiAgICAgIFtrZXk6IHN0cmluZ106IHtcbiAgICAgICAganNvbjogYW55O1xuICAgICAgfTtcbiAgICB9O1xuICB9Pjtcbn07XG5cbmV4cG9ydCB0eXBlIEFzc2V0RGF0YSA9IHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBjYXRlZ29yeTogc3RyaW5nO1xuICB0YWdzOiBzdHJpbmdbXTtcbiAgY29tcG9zaXRlOiBBc3NldENvbXBvc2l0ZTtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGF1dGhvcj86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEFzc2V0RGF0YVdpdGhvdXRDb21wb3NpdGUgPSBPbWl0PEFzc2V0RGF0YSwgJ2NvbXBvc2l0ZSc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXJEYXRhIHtcbiAgdmFsdWU6IHtcbiAgICB0eXBlOiBzdHJpbmc7XG4gICAgYWN0aW9uczoge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICB9W107XG4gIH1bXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXNzZXREYXRhV2l0aG91dENvbXBvc2l0ZSh2YWx1ZTogYW55KTogdmFsdWUgaXMgQXNzZXREYXRhV2l0aG91dENvbXBvc2l0ZSB7XG4gIGlmICgnY29tcG9zaXRlJyBpbiB2YWx1ZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gKFxuICAgIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgICdpZCcgaW4gdmFsdWUgJiZcbiAgICB0eXBlb2YgdmFsdWUuaWQgPT09ICdzdHJpbmcnICYmXG4gICAgJ25hbWUnIGluIHZhbHVlICYmXG4gICAgdHlwZW9mIHZhbHVlLm5hbWUgPT09ICdzdHJpbmcnICYmXG4gICAgJ2NhdGVnb3J5JyBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZS5jYXRlZ29yeSA9PT0gJ3N0cmluZycgJiZcbiAgICAndGFncycgaW4gdmFsdWUgJiZcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlLnRhZ3MpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Fzc2V0RGF0YSh2YWx1ZTogYW55KTogdmFsdWUgaXMgQXNzZXREYXRhIHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgICAnY29tcG9zaXRlJyBpbiB2YWx1ZSAmJlxuICAgIHR5cGVvZiB2YWx1ZS5jb21wb3NpdGUgPT09ICdvYmplY3QnICYmXG4gICAgJ3ZlcnNpb24nIGluIHZhbHVlLmNvbXBvc2l0ZSAmJlxuICAgICdjb21wb25lbnRzJyBpbiB2YWx1ZS5jb21wb3NpdGUgJiZcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlLmNvbXBvc2l0ZS5jb21wb25lbnRzKVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMZWdhY3lBc3NldERhdGEodmFsdWU6IGFueSk6IHZhbHVlIGlzIExlZ2FjeUFzc2V0RGF0YSB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICAgIHZhbHVlICE9PSBudWxsICYmXG4gICAgdHlwZW9mIHZhbHVlLmlkID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiB2YWx1ZS5uYW1lID09PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiB2YWx1ZS5jYXRlZ29yeSA9PT0gJ3N0cmluZycgJiZcbiAgICB0eXBlb2YgdmFsdWUuY29tcG9uZW50cyA9PT0gJ29iamVjdCcgJiZcbiAgICB2YWx1ZS5jb21wb25lbnRzICE9PSBudWxsXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmlnZ2VyQ29tcG9uZW50KHZhbHVlOiBBc3NldERhdGEpOiBUcmlnZ2VyRGF0YSB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB2YWx1ZS5jb21wb3NpdGUuY29tcG9uZW50cy5maW5kKGMgPT4gYy5uYW1lID09PSBCYXNlQ29tcG9uZW50TmFtZXMuVFJJR0dFUlMpPy5kYXRhWzBdXG4gICAgPy5qc29uIGFzIFRyaWdnZXJEYXRhIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0VmFsaWRUcmlnZ2VyQ29tcG9uZW50KGFzc2V0TmFtZTogc3RyaW5nLCB0cmlnZ2VyOiBUcmlnZ2VyRGF0YSkge1xuICB0cmlnZ2VyLnZhbHVlLmZvckVhY2goKHsgdHlwZSwgYWN0aW9ucyB9KSA9PiB7XG4gICAgYWN0aW9ucy5mb3JFYWNoKCh7IGlkLCBuYW1lIH0pID0+IHtcbiAgICAgIGlmICghaWQgfHwgIW5hbWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFjdGlvbnMgZm91bmQgb24gXCIke2Fzc2V0TmFtZX1cIiBmb3IgdHJpZ2dlciB3aXRoIHR5cGUgXCIke3R5cGV9XCJgKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmV4cG9ydCB0eXBlIEFzc2V0ID0gQXNzZXREYXRhICYgeyBjb250ZW50czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9O1xuZXhwb3J0IHR5cGUgQXNzZXRQYWNrID0gQXNzZXRQYWNrRGF0YSAmIHsgdGh1bWJuYWlsOiBzdHJpbmc7IGFzc2V0czogQXNzZXRbXSB9O1xuZXhwb3J0IHR5cGUgQ2F0YWxvZyA9IHsgYXNzZXRQYWNrczogQXNzZXRQYWNrW10gfTtcblxuZXhwb3J0IHR5cGUgQ29tcG9uZW50ID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRhdGE6IHtcbiAgICBba2V5OiBzdHJpbmddOiB7XG4gICAgICBqc29uOiBhbnk7XG4gICAgfTtcbiAgfTtcbn07XG5cbmV4cG9ydCB0eXBlIElTREtIZWxwZXJzID0ge1xuICAvLyBTeW5jRW50aXR5IGhlbHBlciB0byBjcmVhdGUgbmV0d29yayBlbnRpdGllcyBhdCBydW50aW1lLlxuICBzeW5jRW50aXR5PzogU3luY0VudGl0eVNESztcbn07XG5cbmV4cG9ydCB0eXBlIFN5bmNFbnRpdHlTREsgPSAoXG4gIGVudGl0eUlkOiBFbnRpdHksXG4gIGNvbXBvbmVudElkczogbnVtYmVyW10sXG4gIGVudGl0eUVudW1JZD86IG51bWJlciB8IHVuZGVmaW5lZCxcbikgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgSVBsYXllcnNIZWxwZXIgPSB7XG4gIG9uRW50ZXJTY2VuZShjYjogKHBsYXllcjogR2V0UGxheWVyRGF0YVJlcykgPT4gdm9pZCk6IHZvaWQ7XG4gIG9uTGVhdmVTY2VuZShjYjogKHVzZXJJZDogc3RyaW5nKSA9PiB2b2lkKTogdm9pZDtcbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGluZm8gb2YgdGhlIHBsYXllciBpZiBpdCdzIGluIHRoZSBzY2VuZS5cbiAgICovXG4gIGdldFBsYXllcih1c2VyPzogR2V0UGxheWVyRGF0YVJlcSk6IEdldFBsYXllckRhdGFSZXMgfCBudWxsO1xufTtcblxudHlwZSBHZXRQbGF5ZXJEYXRhUmVxID0ge1xuICB1c2VySWQ6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEdldFBsYXllckRhdGFSZXMgPSB7XG4gIGVudGl0eTogRW50aXR5O1xuICBuYW1lOiBzdHJpbmc7XG4gIGlzR3Vlc3Q6IGJvb2xlYW47XG4gIHVzZXJJZDogc3RyaW5nO1xuICBhdmF0YXI/OiBQQkF2YXRhckJhc2U7XG4gIHdlYXJhYmxlczogUEJBdmF0YXJFcXVpcHBlZERhdGFbJ3dlYXJhYmxlVXJucyddO1xuICBlbW90ZXM6IFBCQXZhdGFyRXF1aXBwZWREYXRhWydlbW90ZVVybnMnXTtcbiAgcG9zaXRpb246IFRyYW5zZm9ybVR5cGVbJ3Bvc2l0aW9uJ10gfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBDYXB0Y2hhRGF0YSA9IHtcbiAgY2FtcGFpZ25JZDogc3RyaW5nO1xuICBkaXNwZW5zZXJLZXk6IHN0cmluZztcbiAgY2FwdGNoYToge1xuICAgIGlkOiBzdHJpbmc7XG4gICAgaW1hZ2U6IHN0cmluZztcbiAgICBoZWlnaHQ6IG51bWJlcjtcbiAgICB3aWR0aDogbnVtYmVyO1xuICB9O1xufTtcblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYW4gYWN0aW9uIG9uIGFuIGVudGl0eS5cbiAqIFVzZWQgdG8gc3RvcmUgYWN0aW9uIHJlZmVyZW5jZXMgaW4gc2NyaXB0IHBhcmFtZXRlcnMuXG4gKi9cbmV4cG9ydCB0eXBlIEFjdGlvblJlZiA9IHtcbiAgZW50aXR5OiBFbnRpdHk7XG4gIGFjdGlvbjogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgdHJpZ2dlcnMgYW4gYWN0aW9uLlxuICogU2NyaXB0cyByZWNlaXZlIHRoaXMgYXMgYSBwYXJhbWV0ZXIgYW5kIGNhbiBjYWxsIGl0IHRvIHRyaWdnZXIgdGhlIHJlZmVyZW5jZWQgYWN0aW9uLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBleHBvcnQgY2xhc3MgUGFkbG9jayB7XG4gKiAgIGNvbnN0cnVjdG9yKFxuICogICAgIHB1YmxpYyBzcmM6IHN0cmluZyxcbiAqICAgICBwdWJsaWMgZW50aXR5OiBFbnRpdHksXG4gKiAgICAgcHVibGljIG9uVW5sb2NrOiBBY3Rpb25DYWxsYmFja1xuICogICApIHt9XG4gKlxuICogICBzb2x2ZSgpIHtcbiAqICAgICB0aGlzLm9uVW5sb2NrKCk7IC8vIFRyaWdnZXJzIHRoZSBhY3Rpb24gc2VsZWN0ZWQgaW4gdGhlIGVkaXRvclxuICogICB9XG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IHR5cGUgQWN0aW9uQ2FsbGJhY2sgPSAoKSA9PiB2b2lkO1xuIl19
@@ -0,0 +1,20 @@
1
+ import type { IEngine, ISchema, LastWriteWinElementSetComponentDefinition } from '@dcl/ecs';
2
+ import type { MapResult } from '@dcl/ecs/dist/schemas/Map';
3
+ export type VersionedComponent = {
4
+ versionName: string;
5
+ component: Record<string, ISchema>;
6
+ };
7
+ type SchemaRegistry = Record<string, readonly Record<string, ISchema>[]>;
8
+ type MergeAll<T extends readonly any[]> = T extends readonly [infer First, ...infer Rest] ? First & MergeAll<Rest> : {};
9
+ type MergedSchema<T extends readonly any[]> = MergeAll<T> extends Record<string, any> ? MapResult<MergeAll<T>> : never;
10
+ export type VersionedComponents<T extends SchemaRegistry> = {
11
+ [K in keyof T]: LastWriteWinElementSetComponentDefinition<MergedSchema<T[K]>>;
12
+ };
13
+ export declare function createComponentFramework<T extends SchemaRegistry>(registry: T): {
14
+ VERSIONS_REGISTRY: Record<string, VersionedComponent[]>;
15
+ getLatestVersionName: (baseName: string) => string;
16
+ defineAllComponents: (engine: IEngine) => Record<string, any>;
17
+ migrateAll: (engine: IEngine) => void;
18
+ };
19
+ export declare function migrateVersionedComponent(engine: IEngine, baseName: string, versionedComponents: VersionedComponent[]): void;
20
+ export {};