ato-water-lib 0.0.90 → 0.0.92

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. package/{esm2022 → esm2020}/lib/ato-water-lib.component.mjs +5 -5
  2. package/{esm2022 → esm2020}/lib/ato-water-lib.module.mjs +15 -15
  3. package/{esm2022 → esm2020}/lib/ato-water-lib.service.mjs +5 -5
  4. package/esm2020/lib/components/asset-flow/asset-flow.component.mjs +165 -0
  5. package/{esm2022 → esm2020}/lib/components/asset-params-view/asset-params-view.component.mjs +9 -7
  6. package/esm2020/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +54 -0
  7. package/esm2020/lib/constants/components-group-const.mjs +3687 -0
  8. package/esm2020/lib/directive/ato-loading.directive.mjs +55 -0
  9. package/esm2020/lib/directive/ng-var.directive.mjs +31 -0
  10. package/esm2020/lib/models/default-gojs-editor.model.mjs +3589 -0
  11. package/esm2020/lib/models/gojs-data.model.mjs +6 -0
  12. package/esm2020/lib/models/gojs-editor.model.mjs +1822 -0
  13. package/esm2020/lib/services/utils/utils.service.mjs +133 -0
  14. package/fesm2015/ato-water-lib.mjs +9810 -0
  15. package/fesm2015/ato-water-lib.mjs.map +1 -0
  16. package/{fesm2022 → fesm2020}/ato-water-lib.mjs +1980 -568
  17. package/fesm2020/ato-water-lib.mjs.map +1 -0
  18. package/lib/components/asset-flow/asset-flow.component.d.ts +1 -1
  19. package/lib/components/asset-params-view/asset-params-view.component.d.ts +1 -1
  20. package/lib/components/flow-diagram-lib/flow-diagram-lib.component.d.ts +1 -1
  21. package/lib/constants/components-group-const.d.ts +710 -115
  22. package/lib/directive/ato-loading.directive.d.ts +1 -1
  23. package/lib/directive/ng-var.directive.d.ts +1 -1
  24. package/lib/models/default-gojs-editor.model.d.ts +2 -2
  25. package/lib/models/gojs-editor.model.d.ts +12 -5
  26. package/package.json +13 -7
  27. package/esm2022/lib/components/asset-flow/asset-flow.component.mjs +0 -174
  28. package/esm2022/lib/components/flow-diagram-lib/flow-diagram-lib.component.mjs +0 -55
  29. package/esm2022/lib/constants/components-group-const.mjs +0 -2291
  30. package/esm2022/lib/directive/ato-loading.directive.mjs +0 -59
  31. package/esm2022/lib/directive/ng-var.directive.mjs +0 -33
  32. package/esm2022/lib/models/default-gojs-editor.model.mjs +0 -3582
  33. package/esm2022/lib/models/gojs-data.model.mjs +0 -10
  34. package/esm2022/lib/models/gojs-editor.model.mjs +0 -1799
  35. package/esm2022/lib/services/utils/utils.service.mjs +0 -133
  36. package/fesm2022/ato-water-lib.mjs.map +0 -1
  37. /package/{esm2022 → esm2020}/ato-water-lib.mjs +0 -0
  38. /package/{esm2022 → esm2020}/lib/constants/applicable-prefixes-const.mjs +0 -0
  39. /package/{esm2022 → esm2020}/lib/constants/base64.const.mjs +0 -0
  40. /package/{esm2022 → esm2020}/lib/constants/icon-base64.const.mjs +0 -0
  41. /package/{esm2022 → esm2020}/lib/constants/key.const.mjs +0 -0
  42. /package/{esm2022 → esm2020}/lib/constants/plant.constant.mjs +0 -0
  43. /package/{esm2022 → esm2020}/lib/constants/value.const.mjs +0 -0
  44. /package/{esm2022 → esm2020}/lib/models/ato-asset-flow.model.mjs +0 -0
  45. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
@@ -0,0 +1,1822 @@
1
+ import { ATO_ECOMPONENT_PLANT_TYPE } from '../constants/value.const';
2
+ export class AtoGojsEditorModel {
3
+ constructor(data) {
4
+ this.data = data;
5
+ }
6
+ }
7
+ (function (AtoGojsEditorModel) {
8
+ AtoGojsEditorModel.GRID_SIZE = 20;
9
+ AtoGojsEditorModel.BASIC_GRID_INTERVAL_X = 24;
10
+ AtoGojsEditorModel.BASIC_GRID_INTERVAL_Y = 10;
11
+ AtoGojsEditorModel.BASIC_GRID_SIZE_WIDTH = AtoGojsEditorModel.GRID_SIZE * AtoGojsEditorModel.BASIC_GRID_INTERVAL_X;
12
+ AtoGojsEditorModel.BASIC_GRID_SIZE_HEIGHT = AtoGojsEditorModel.GRID_SIZE * AtoGojsEditorModel.BASIC_GRID_INTERVAL_Y;
13
+ AtoGojsEditorModel.DISTANCE_LAST_TO_ADD = 50;
14
+ AtoGojsEditorModel.PLANT_CELL_HEIGHT = 160;
15
+ let ENUM_LAYOUT_EDITOR;
16
+ (function (ENUM_LAYOUT_EDITOR) {
17
+ ENUM_LAYOUT_EDITOR["AUTO"] = "AUTO ALIGN";
18
+ ENUM_LAYOUT_EDITOR["GRID"] = "GRID SUPPORTED";
19
+ ENUM_LAYOUT_EDITOR["FREEFORM"] = "FREE FORM";
20
+ })(ENUM_LAYOUT_EDITOR = AtoGojsEditorModel.ENUM_LAYOUT_EDITOR || (AtoGojsEditorModel.ENUM_LAYOUT_EDITOR = {}));
21
+ AtoGojsEditorModel.LAYOUT_LIST = [
22
+ {
23
+ name: 'Auto-align',
24
+ key: ENUM_LAYOUT_EDITOR.AUTO,
25
+ },
26
+ {
27
+ name: 'Grid Supported',
28
+ key: ENUM_LAYOUT_EDITOR.GRID,
29
+ },
30
+ {
31
+ name: 'Freeform',
32
+ key: ENUM_LAYOUT_EDITOR.FREEFORM,
33
+ },
34
+ ];
35
+ let ENUM_COLORS;
36
+ (function (ENUM_COLORS) {
37
+ ENUM_COLORS["RED"] = "#EC7C4E";
38
+ ENUM_COLORS["ORANGE"] = "#EBB868";
39
+ ENUM_COLORS["BLUE"] = "#81B8FF";
40
+ ENUM_COLORS["LIGHT_BLUE"] = "#F4F6FB";
41
+ ENUM_COLORS["LIGHT_SKY_BLUE"] = "#cfe7fd";
42
+ ENUM_COLORS["WHITE"] = "#FFFFFF";
43
+ ENUM_COLORS["GRAY"] = "#919CA5";
44
+ ENUM_COLORS["CERULEAN"] = "#0062A9";
45
+ ENUM_COLORS["VIVID_VIOLET"] = "#804180";
46
+ ENUM_COLORS["RESOLUTION_BLUE"] = "#2D3B77";
47
+ ENUM_COLORS["CASHMERE"] = "#D6AB95";
48
+ ENUM_COLORS["GALLIANO"] = "#E09F25";
49
+ ENUM_COLORS["FOUNTAIN_BLUE"] = "#54BBBA";
50
+ ENUM_COLORS["ELF_GREEN"] = "#199C69";
51
+ ENUM_COLORS["MEDIUM_RED_VIOLET"] = "#A8438D";
52
+ ENUM_COLORS["GRANDIS"] = "#FBC96C";
53
+ ENUM_COLORS["SALMON"] = "#F47769";
54
+ ENUM_COLORS["NIGHT_RIDER"] = "#2C2C2C";
55
+ ENUM_COLORS["ALIZARIN"] = "#EC1B24";
56
+ ENUM_COLORS["LINK_WATER"] = "#CAD3DB";
57
+ ENUM_COLORS["ZIRCON"] = "#E5EBEB";
58
+ ENUM_COLORS["CERULEAN_ALICE_BLUE"] = "#E6F0F7";
59
+ ENUM_COLORS["DANUBE"] = "#7197CA";
60
+ ENUM_COLORS["DANUBE_ALICE_BLUE"] = "#F1F5FA";
61
+ ENUM_COLORS["AZURE"] = "#EEF8F8";
62
+ ENUM_COLORS["OLD_LACE"] = "#FCF6EA";
63
+ ENUM_COLORS["CARROT_ORANGE"] = "#F69122";
64
+ ENUM_COLORS["FLAMINGO"] = "#E95F47";
65
+ ENUM_COLORS["SNOW"] = "#FEF7F6";
66
+ ENUM_COLORS["LIGHT_SKY_BLUE_2"] = "#92B9F9";
67
+ ENUM_COLORS["REGENT_ST_BLUE"] = "#87cee7";
68
+ ENUM_COLORS["SELAGO"] = "#F6F3F6";
69
+ ENUM_COLORS["ICE_COLD"] = "#ABE0D9";
70
+ ENUM_COLORS["MINT_CREAM"] = "#F8FCFB";
71
+ // 98CDE0
72
+ })(ENUM_COLORS = AtoGojsEditorModel.ENUM_COLORS || (AtoGojsEditorModel.ENUM_COLORS = {}));
73
+ let ENUM_LINK_TYPES;
74
+ (function (ENUM_LINK_TYPES) {
75
+ ENUM_LINK_TYPES["SIMPLE"] = "simple";
76
+ ENUM_LINK_TYPES["PIPE_ANIMATION"] = "pipe animation";
77
+ ENUM_LINK_TYPES["PIPE"] = "pipe";
78
+ ENUM_LINK_TYPES["PIPE_HIDDEN"] = "pipe hidden";
79
+ })(ENUM_LINK_TYPES = AtoGojsEditorModel.ENUM_LINK_TYPES || (AtoGojsEditorModel.ENUM_LINK_TYPES = {}));
80
+ // Components types
81
+ let ENUM_TEMPLATES;
82
+ (function (ENUM_TEMPLATES) {
83
+ ENUM_TEMPLATES["STORAGE"] = "Storage";
84
+ ENUM_TEMPLATES["COOLING_TOWER"] = "Cooling Tower";
85
+ ENUM_TEMPLATES["WATER_TREATMENT"] = "Water Treatment";
86
+ ENUM_TEMPLATES["DEMIN_WATER_TREATMENT"] = "Demin Water Treatment";
87
+ ENUM_TEMPLATES["RO_WATER_TREATMENT"] = "RO Water Treatment";
88
+ ENUM_TEMPLATES["DOMESTIC_USE"] = "Domestic Use";
89
+ ENUM_TEMPLATES["PROCESS"] = "Process";
90
+ ENUM_TEMPLATES["BOILER"] = "Boiler";
91
+ ENUM_TEMPLATES["WASTEWATER_TREATMENT"] = "Wastewater Treatment";
92
+ ENUM_TEMPLATES["DAF_WASTEWATER_TREATMENT"] = "DAF Wastewater Treatment";
93
+ ENUM_TEMPLATES["ETP_WASTEWATER_TREATMENT"] = "ETP Wastewater Treatment";
94
+ ENUM_TEMPLATES["MBR_WASTEWATER_TREATMENT"] = "MBR Wastewater Treatment";
95
+ ENUM_TEMPLATES["ZLD_WASTEWATER_TREATMENT"] = "ZLD Wastewater Treatment";
96
+ ENUM_TEMPLATES["OTHER"] = "Other";
97
+ ENUM_TEMPLATES["LANDSCAPING_IRRIGATION"] = "Landscaping/Irrigation";
98
+ ENUM_TEMPLATES["TEXT_NODE"] = "TextNode";
99
+ ENUM_TEMPLATES["VALUE_NODE"] = "ValueNode";
100
+ ENUM_TEMPLATES["DATA_BOX"] = "DataBox";
101
+ ENUM_TEMPLATES["VALUE_LABEL"] = "ValueLabel";
102
+ ENUM_TEMPLATES["EMPTY"] = "Empty";
103
+ ENUM_TEMPLATES["SPECIAL_PROCESS"] = "SPECIAL_PROCESS";
104
+ ENUM_TEMPLATES["SPECIAL_STORE"] = "SPECIAL_STORE";
105
+ ENUM_TEMPLATES["SPECIAL_STORAGE"] = "STORAGE";
106
+ ENUM_TEMPLATES["SPECIAL_DISCHARGE"] = "SPECIAL_DISCHARGE";
107
+ ENUM_TEMPLATES["SPECIAL_OTHER"] = "SPECIAL_OTHER";
108
+ // TANKER = 'Tanker',
109
+ // RAIN_WATER = 'Rainwater',
110
+ ENUM_TEMPLATES["FRESH_SURFACE_WATER"] = "Fresh surface water";
111
+ ENUM_TEMPLATES["THIRD_PARTY_SOURCES"] = "Third party sources";
112
+ ENUM_TEMPLATES["THIRD_PARTY_DESTINATIONS"] = "Third party destinations";
113
+ ENUM_TEMPLATES["GROUND_WATER_NON_RENEWABLE"] = "Groundwater - non-renewable";
114
+ ENUM_TEMPLATES["PRODUCED_ENTRAINED"] = "Produced / entrained water";
115
+ ENUM_TEMPLATES["BRACKISH_SURFACE_WATER"] = "Brackish surface water/ seawater";
116
+ ENUM_TEMPLATES["UTILITY"] = "UTILITY";
117
+ ENUM_TEMPLATES["GROUND_WATER_RENEWABLE"] = "Groundwater - Renewable";
118
+ // Energy
119
+ ENUM_TEMPLATES["ZONE"] = "EnergyZones";
120
+ ENUM_TEMPLATES["ZONE_ENERGY_ITEM"] = "SubSystem";
121
+ //Electric
122
+ ENUM_TEMPLATES["GRID"] = "Grid";
123
+ ENUM_TEMPLATES["DIESEL_GENERATORS"] = "Diesel Generators";
124
+ ENUM_TEMPLATES["ELECTRIC_METERS"] = "Electric Meters";
125
+ ENUM_TEMPLATES["BATTERY_ENERGY_STORAGE"] = "Battery energy storage";
126
+ ENUM_TEMPLATES["TRANSFORMERS"] = "Transformers";
127
+ ENUM_TEMPLATES["LIGHTING_SYSTEMS"] = "Lighting systems";
128
+ ENUM_TEMPLATES["LIGHTINGS"] = "Lightings";
129
+ ENUM_TEMPLATES["ELECTRIC_FLYWHEEL_ENERGY_STORAGE"] = "Flywheel energy storage";
130
+ ENUM_TEMPLATES["PUMPED_HYDRO_STORAGE"] = "Pumped hydro storage";
131
+ ENUM_TEMPLATES["THERMAL_ENERGY_STORAGE"] = "Thermal energy storage";
132
+ ENUM_TEMPLATES["SUPER_CAPACITOR_ENERGY_STORAGE"] = "Supercapacitor energy storage";
133
+ ENUM_TEMPLATES["SWITCH_GEARS"] = "Switchgears";
134
+ ENUM_TEMPLATES["MOTOR_CONTROLS"] = "MotorControls";
135
+ ENUM_TEMPLATES["VARIABLE_FREQUENCY_DRIVERS"] = "VariableFrequencyDrives";
136
+ ENUM_TEMPLATES["ELECTRIC_HVAC"] = "Heating, ventilation, and air conditioning (HVAC) systems";
137
+ ENUM_TEMPLATES["COMPRESSED_AIR_SYSTEMS"] = "Compressed air";
138
+ ENUM_TEMPLATES["REFRIGERATION_COOLING_SYSTEMS"] = "Refrigeration and cooling";
139
+ ENUM_TEMPLATES["PROCESS_CONTROL_AUTOMATION_SYSTEMS"] = "Process control and automation";
140
+ ENUM_TEMPLATES["OFFICE_EQUIPMENT"] = "Office equipment";
141
+ ENUM_TEMPLATES["PROCESS_EQUIPMENT_MACHINES"] = "Process equipment and machines";
142
+ ENUM_TEMPLATES["MATERIAL_HANDLING_EQUIPMENT"] = "Material handling equipment";
143
+ ENUM_TEMPLATES["POWER_DISTRIBUTION_CONTROL_SYSTEMS"] = "Power distribution and control";
144
+ ENUM_TEMPLATES["PUMP"] = "Pump";
145
+ ENUM_TEMPLATES["POWER_DISTRIBUTION_SYSTEMS"] = "Power distribution systems";
146
+ ENUM_TEMPLATES["WIND_POWER"] = "Wind Power";
147
+ ENUM_TEMPLATES["NATURAL_GAS_GENERATORS"] = "Natural gas generators";
148
+ ENUM_TEMPLATES["ELECTRIC_INDUSTRIAL_MOTORS"] = "Industrial motors";
149
+ ENUM_TEMPLATES["GROUNDING"] = "Grounding";
150
+ // Fuel
151
+ ENUM_TEMPLATES["FUELS"] = "Fuels";
152
+ ENUM_TEMPLATES["DIESEL_FUELS"] = "DieselFuels";
153
+ ENUM_TEMPLATES["GASON_LINES"] = "Gasonlines";
154
+ ENUM_TEMPLATES["BIODIESELS"] = "Biodiesels";
155
+ ENUM_TEMPLATES["KEROSENSE"] = "Kerosenes";
156
+ ENUM_TEMPLATES["PROPANES"] = "Propanes";
157
+ ENUM_TEMPLATES["TANKER_TRUCKS"] = "Tanker Trucks";
158
+ ENUM_TEMPLATES["PIPELINE"] = "Pipeline";
159
+ ENUM_TEMPLATES["INDUSTRIAL_BOILERS"] = "Industrial boilers";
160
+ ENUM_TEMPLATES["GENERATORS"] = "Generators";
161
+ ENUM_TEMPLATES["INDUSTRIAL_FURNACES"] = "Industrial furnaces";
162
+ ENUM_TEMPLATES["INDUSTRIAL_OVENS"] = "Industrial ovens";
163
+ ENUM_TEMPLATES["INDUSTRIAL_VEHICLES_AND_EQUIPMENT"] = "Industrial vehicles and equipment";
164
+ ENUM_TEMPLATES["FUEL_METERS"] = "FuelMeters";
165
+ ENUM_TEMPLATES["FUEL_DISPENSERS"] = "FuelDispensers";
166
+ ENUM_TEMPLATES["FUEL_STRORAGE_TANKS"] = "FuelStorageTanks";
167
+ ENUM_TEMPLATES["FUEL_FILTRATIONS"] = "FuelFiltrations";
168
+ ENUM_TEMPLATES["FUEL_MANAGEMENTS"] = "FuelManagements";
169
+ // Gas
170
+ ENUM_TEMPLATES["NATURAL_GAS_PIPELINES"] = "Natural gas pipelines";
171
+ ENUM_TEMPLATES["LIQUEFIED_NATURAL_GAS"] = "Liquefied natural gas";
172
+ ENUM_TEMPLATES["COMPRESSED_NATURAL_GAS_PIPELINE"] = "Compressed natural gas pipeline";
173
+ ENUM_TEMPLATES["ON_SITE_PRODUCTION"] = "On-site production";
174
+ ENUM_TEMPLATES["COMPRESSED_NATURAL_GAS_PRODUCTION"] = "Compressed natural gas production";
175
+ ENUM_TEMPLATES["BOILERS_AND_HEATERS"] = "Boilers and heaters";
176
+ ENUM_TEMPLATES["FURNACES"] = "Furnaces";
177
+ ENUM_TEMPLATES["POWER_GENERATION"] = "Power generation";
178
+ ENUM_TEMPLATES["COGENERATION"] = "Cogeneration";
179
+ ENUM_TEMPLATES["COMBINED_CYCLE_POWER_PLANTS"] = "Combined cycle power plants";
180
+ ENUM_TEMPLATES["FUEL_FOR_VEHICLES_AND_EQUIPMENT"] = "Fuel for vehicles and equipment";
181
+ ENUM_TEMPLATES["GAS_METERS"] = "Gas meters";
182
+ ENUM_TEMPLATES["BURNERS"] = "Burners";
183
+ ENUM_TEMPLATES["FLUE_GAS_ANALYZERS"] = "Flue gas analyzers";
184
+ ENUM_TEMPLATES["COMBUSTION_CONTROL_SYSTEMS"] = "Combustion control systems";
185
+ ENUM_TEMPLATES["GAS_STORAGE_TANKS"] = "Gas storage tanks";
186
+ ENUM_TEMPLATES["GAS_PRESSURE_REGULATORS"] = "Gas pressure regulators";
187
+ ENUM_TEMPLATES["NATURAL_GAS"] = "Natural Gas";
188
+ // Solar
189
+ ENUM_TEMPLATES["SOLAR_POWER"] = "Solar Power";
190
+ ENUM_TEMPLATES["POWER_CONDITIONING_UNIT"] = "Power conditioning unit (PCU)";
191
+ ENUM_TEMPLATES["INVERTERS"] = "Inverters";
192
+ ENUM_TEMPLATES["BATTERIES"] = "Batteries";
193
+ // Uncategorized of Proxy Plant
194
+ ENUM_TEMPLATES["UNCATEGORIZED"] = "Uncategorized";
195
+ // Plant Cell
196
+ ENUM_TEMPLATES["PLANT_CELL"] = "Plant Cell";
197
+ ENUM_TEMPLATES["INPUT_PLANT_CELL"] = "Input Plant Cell";
198
+ ENUM_TEMPLATES["OUTPUT_PLANT_CELL"] = "Output Plant Cell";
199
+ ENUM_TEMPLATES["PLANT_CELL_INPUT_GROUP"] = "PC Input Group";
200
+ ENUM_TEMPLATES["PLANT_CELL_OUTPUT_GROUP"] = "PC Output Group";
201
+ // Image
202
+ ENUM_TEMPLATES["IMAGE_TEMPLATE"] = "Image Template";
203
+ ENUM_TEMPLATES["PARAM_TABLE"] = "Param Table";
204
+ ENUM_TEMPLATES["MASS_BALANCE"] = "Mass Balance";
205
+ // Steam Type
206
+ ENUM_TEMPLATES["STEAM_PIPELINE"] = "Steam pipeline";
207
+ ENUM_TEMPLATES["VALUES"] = "Valves";
208
+ ENUM_TEMPLATES["STEAM_TRAPS"] = "Steam Traps";
209
+ ENUM_TEMPLATES["PRESSURE_REGULATORS"] = "Pressure Regulator";
210
+ ENUM_TEMPLATES["SAFETY_VALUES_AND_EQUIPMENT"] = "Safety Valves and Equipment";
211
+ ENUM_TEMPLATES["CONDENSATE_RETURN_SYSTEM"] = "Condensate Return System";
212
+ ENUM_TEMPLATES["DEAERATORS"] = "Deaerators";
213
+ ENUM_TEMPLATES["FEEDWATER_PUMPS"] = "Feedwater Pumps";
214
+ ENUM_TEMPLATES["BLOWDOWN_TANKS"] = "Blowdown Tanks";
215
+ ENUM_TEMPLATES["EXPANSION_TANKS"] = "Expansion Tanks";
216
+ ENUM_TEMPLATES["HEAT_EXCHANGERS"] = "Heat Exchangers";
217
+ ENUM_TEMPLATES["TURBINES"] = "Turbines";
218
+ // Plant Basic
219
+ ENUM_TEMPLATES["GROUP_BASIC_COMPONENT"] = "Group Basic Component";
220
+ ENUM_TEMPLATES["TEXT_LABEL"] = "label";
221
+ ENUM_TEMPLATES["PRESSURIZED_UF_WATER_TREATMENTS"] = "Pressurized UF";
222
+ ENUM_TEMPLATES["IMMERSED_UF_WATER_TREATMENTS"] = "Immersed UF";
223
+ // Type Group duplicate Energy with Water
224
+ ENUM_TEMPLATES["BOILER_ENERGY"] = "Boiler Energy";
225
+ ENUM_TEMPLATES["COOLING_TOWER_ENERGY"] = "Cooling Tower Energy";
226
+ })(ENUM_TEMPLATES = AtoGojsEditorModel.ENUM_TEMPLATES || (AtoGojsEditorModel.ENUM_TEMPLATES = {}));
227
+ // System Types
228
+ let ENUM_TYPES;
229
+ (function (ENUM_TYPES) {
230
+ ENUM_TYPES["STORAGE"] = "WaterStorageTanks";
231
+ ENUM_TYPES["WATER_TREATMENT"] = "WaterTreatmentProcesses";
232
+ ENUM_TYPES["DEMIN_WATER_TREATMENT"] = "DeminWaterTreatments";
233
+ ENUM_TYPES["RO_WATER_TREATMENT"] = "ROWaterTreatments";
234
+ ENUM_TYPES["PROCESS"] = "GenericProcesses";
235
+ ENUM_TYPES["SPECIAL_STORAGE"] = "STORAGE";
236
+ ENUM_TYPES["WASTEWATER_TREATMENT"] = "WasteWaterTreatmentProcesses";
237
+ ENUM_TYPES["DAF_WASTEWATER_TREATMENT"] = "DAFWasteWaterTreatments";
238
+ ENUM_TYPES["ETP_WASTEWATER_TREATMENT"] = "ETPWasteWaterTreatments";
239
+ ENUM_TYPES["MBR_WASTEWATER_TREATMENT"] = "MBRWasteWaterTreatments";
240
+ ENUM_TYPES["ZLD_WASTEWATER_TREATMENT"] = "ZLDWasteWaterTreatments";
241
+ ENUM_TYPES["DOMESTIC_USE"] = "DomesticUse";
242
+ ENUM_TYPES["COOLING_TOWER"] = "CoolingTowers";
243
+ ENUM_TYPES["BOILER"] = "Boilers";
244
+ ENUM_TYPES["OTHER"] = "OtherWaterUse";
245
+ ENUM_TYPES["LANDSCAPING_IRRIGATION"] = "IrrigationUse";
246
+ ENUM_TYPES["FRESH_SURFACE_WATER"] = "Fresh surface water";
247
+ ENUM_TYPES["THIRD_PARTY_SOURCES"] = "Third party sources";
248
+ ENUM_TYPES["THIRD_PARTY_DESTINATIONS"] = "Third party destinations";
249
+ ENUM_TYPES["GROUND_WATER_NON_RENEWABLE"] = "Groundwater - non-renewable";
250
+ ENUM_TYPES["PRODUCED_ENTRAINED"] = "Produced / entrained water";
251
+ // FRESH_SURFACE_WAER = 'Fresh surface water',
252
+ ENUM_TYPES["BRACKISH_SURFACE_WATER"] = "Brackish surface water/ seawater";
253
+ ENUM_TYPES["GROUND_WATER_RENEWABLE"] = "Groundwater - Renewable";
254
+ ENUM_TYPES["TANKER_WATER"] = "Tanker Water";
255
+ // ENERGY
256
+ ENUM_TYPES["ZONE"] = "EnergyZones";
257
+ // Electric
258
+ ENUM_TYPES["ELECTRIC_SOURCES"] = "ElectricSources";
259
+ ENUM_TYPES["GRID"] = "Grid Power";
260
+ ENUM_TYPES["DIESEL_GENERATORS"] = "Diesel Generators";
261
+ ENUM_TYPES["ELECTRIC_METERS"] = "ElectricMeters";
262
+ ENUM_TYPES["TRANSFORMERS"] = "Transformers";
263
+ // Electric New
264
+ ENUM_TYPES["BATTERY_ENERGY_STORAGE"] = "Battery energy storage";
265
+ ENUM_TYPES["ELECTRIC_PRODUCTIONS"] = "ElectricProductions";
266
+ ENUM_TYPES["ELECTRIC_COMSUMINGS"] = "ElectricConsumings";
267
+ ENUM_TYPES["ELECTRIC_STORAGES"] = "ElectricityStorages";
268
+ ENUM_TYPES["ELECTRIC_FLYWHEEL_ENERGY_STORAGE"] = "Flywheel energy storage";
269
+ ENUM_TYPES["PUMPED_HYDRO_STORAGE"] = "Pumped hydro storage";
270
+ ENUM_TYPES["THERMAL_ENERGY_STORAGE"] = "Thermal energy storage";
271
+ ENUM_TYPES["SUPER_CAPACITOR_ENERGY_STORAGE"] = "Supercapacitor energy storage";
272
+ ENUM_TYPES["SWITCH_GEARS"] = "Switchgears";
273
+ ENUM_TYPES["MOTOR_CONTROLS"] = "MotorControls";
274
+ ENUM_TYPES["VARIABLE_FREQUENCY_DRIVERS"] = "VariableFrequencyDrives";
275
+ ENUM_TYPES["LIGHTING_SYSTEMS"] = "Lighting systems";
276
+ ENUM_TYPES["LIGHTINGS"] = "Lightings";
277
+ ENUM_TYPES["ELECTRIC_HVAC"] = "Heating, ventilation, and air conditioning (HVAC) systems";
278
+ ENUM_TYPES["COMPRESSED_AIR_SYSTEMS"] = "Compressed air";
279
+ ENUM_TYPES["REFRIGERATION_COOLING_SYSTEMS"] = "Refrigeration and cooling";
280
+ ENUM_TYPES["PROCESS_CONTROL_AUTOMATION_SYSTEMS"] = "Process control and automation";
281
+ ENUM_TYPES["PROCESS_EQUIPMENT_MACHINES"] = "Process equipment and machines";
282
+ ENUM_TYPES["OFFICE_EQUIPMENT"] = "Office equipment";
283
+ ENUM_TYPES["MATERIAL_HANDLING_EQUIPMENT"] = "Material handling equipment";
284
+ ENUM_TYPES["POWER_DISTRIBUTION_CONTROL_SYSTEMS"] = "Power distribution and control";
285
+ ENUM_TYPES["PUMP"] = "Pump";
286
+ ENUM_TYPES["POWER_DISTRIBUTION_SYSTEMS"] = "PowerDistributions";
287
+ ENUM_TYPES["WIND_POWER"] = "Wind Power";
288
+ ENUM_TYPES["NATURAL_GAS_GENERATORS"] = "Natural gas generators";
289
+ ENUM_TYPES["ELECTRIC_INDUSTRIAL_MOTORS"] = "Industrial motors";
290
+ ENUM_TYPES["GROUNDING"] = "Groundings";
291
+ ENUM_TYPES["Electricals"] = "Electricals";
292
+ // Gas
293
+ ENUM_TYPES["NATURAL_GAS_PIPELINES"] = "Natural gas pipelines";
294
+ ENUM_TYPES["LIQUEFIED_NATURAL_GAS"] = "Liquefied natural gas (LNG) shipments";
295
+ ENUM_TYPES["COMPRESSED_NATURAL_GAS_PIPELINE"] = "Compressed natural gas pipeline (CNG)";
296
+ ENUM_TYPES["ON_SITE_PRODUCTION"] = "On-site production";
297
+ ENUM_TYPES["COMPRESSED_NATURAL_GAS_PRODUCTION"] = "Compressed natural gas production (CNG)";
298
+ ENUM_TYPES["BOILERS_AND_HEATERS"] = "Boilers and heaters";
299
+ ENUM_TYPES["FURNACES"] = "Furnaces";
300
+ ENUM_TYPES["POWER_GENERATION"] = "Power generation";
301
+ ENUM_TYPES["COGENERATION"] = "Cogeneration";
302
+ ENUM_TYPES["COMBINED_CYCLE_POWER_PLANTS"] = "Combined cycle power plants";
303
+ ENUM_TYPES["FUEL_FOR_VEHICLES_AND_EQUIPMENT"] = "Fuel for vehicles and equipment";
304
+ ENUM_TYPES["GAS_METERS"] = "GasMeters";
305
+ ENUM_TYPES["BURNERS"] = "Burners";
306
+ ENUM_TYPES["FLUE_GAS_ANALYZERS"] = "FlueGasAnalyzers";
307
+ ENUM_TYPES["COMBUSTION_CONTROL_SYSTEMS"] = "ConbustionControls";
308
+ ENUM_TYPES["GAS_STORAGE_TANKS"] = "GasStorageTanks";
309
+ ENUM_TYPES["GAS_PRESSURE_REGULATORS"] = "GasPressureRegulators";
310
+ ENUM_TYPES["NATURAL_GAS"] = "Natural Gas";
311
+ // TYPE_COMPONENT Gas
312
+ ENUM_TYPES["GAS_SOURCE"] = "GasSources";
313
+ ENUM_TYPES["GAS_PRODUCTION"] = "GasProductions";
314
+ ENUM_TYPES["GAS_CONSUMINGS"] = "GasConsumings";
315
+ ENUM_TYPES["NATURAL_GAS_SPECIAL"] = "NaturalGases";
316
+ // Fuel
317
+ ENUM_TYPES["FUELS"] = "Fuels";
318
+ ENUM_TYPES["DIESEL_FUELS"] = "DieselFuels";
319
+ ENUM_TYPES["GASON_LINES"] = "Gasonlines";
320
+ ENUM_TYPES["BIODIESELS"] = "Biodiesels";
321
+ ENUM_TYPES["KEROSENSE"] = "Kerosenes";
322
+ ENUM_TYPES["PROPANES"] = "Propanes";
323
+ ENUM_TYPES["FUEL_SOURCES"] = "FuelSources";
324
+ ENUM_TYPES["TANKER_TRUCKS"] = "Tanker Trucks";
325
+ ENUM_TYPES["PIPELINE"] = "Pipeline";
326
+ ENUM_TYPES["FUEL_CONSUMINGS"] = "FuelConsumings";
327
+ ENUM_TYPES["INDUSTRIAL_BOILERS"] = "Industrial boilers";
328
+ ENUM_TYPES["GENERATORS"] = "Generators";
329
+ ENUM_TYPES["INDUSTRIAL_FURNACES"] = "Industrial furnaces";
330
+ ENUM_TYPES["INDUSTRIAL_OVENS"] = "Industrial ovens";
331
+ ENUM_TYPES["INDUSTRIAL_VEHICLES_AND_EQUIPMENT"] = "Industrial vehicles and equipment";
332
+ ENUM_TYPES["FUEL_METERS"] = "FuelMeters";
333
+ ENUM_TYPES["FUEL_DISPENSERS"] = "FuelDispensers";
334
+ ENUM_TYPES["FUEL_STRORAGE_TANKS"] = "FuelStorageTanks";
335
+ ENUM_TYPES["FUEL_FILTRATIONS"] = "FuelFiltrations";
336
+ ENUM_TYPES["FUEL_MANAGEMENTS"] = "FuelManagements";
337
+ // Solar
338
+ ENUM_TYPES["SOLAR_POWER"] = "Solar Power";
339
+ ENUM_TYPES["POWER_CONDITIONING_UNIT"] = "Power conditioning unit (PCU)";
340
+ ENUM_TYPES["INVERTERS"] = "Inverters";
341
+ ENUM_TYPES["BATTERIES"] = "Batteries";
342
+ // Plant Cell
343
+ ENUM_TYPES["PLANT_CELL"] = "PlantCells";
344
+ ENUM_TYPES["PLANT_CELL_INPUT_GROUP"] = "PC Input Group";
345
+ ENUM_TYPES["PLANT_CELL_OUTPUT_GROUP"] = "PC Output Group";
346
+ // Steam
347
+ ENUM_TYPES["STEAM_SOURCES"] = "SteamSources";
348
+ ENUM_TYPES["STEAM_PIPELINE"] = "Steam pipeline";
349
+ ENUM_TYPES["VALUES"] = "Valves";
350
+ ENUM_TYPES["STEAM_TRAPS"] = "Steam Traps";
351
+ ENUM_TYPES["PRESSURE_REGULATORS"] = "Pressure Regulator";
352
+ ENUM_TYPES["SAFETY_VALUES_AND_EQUIPMENT"] = "Safety Valves and Equipment";
353
+ ENUM_TYPES["CONDENSATE_RETURN_SYSTEM"] = "Condensate Return System";
354
+ ENUM_TYPES["DEAERATORS"] = "Deaerators";
355
+ ENUM_TYPES["FEEDWATER_PUMPS"] = "Feedwater Pumps";
356
+ ENUM_TYPES["BLOWDOWN_TANKS"] = "Blowdown Tanks";
357
+ ENUM_TYPES["EXPANSION_TANKS"] = "Expansion Tanks";
358
+ ENUM_TYPES["HEAT_EXCHANGERS"] = "SteamConsumings";
359
+ ENUM_TYPES["TURBINES"] = "EnergyConverters";
360
+ ENUM_TYPES["STEAM_COMPONENT"] = "SteamComponents";
361
+ ENUM_TYPES["STEAM_CONSUMING_SYSTEM"] = "SteamConsumings";
362
+ ENUM_TYPES["ENERGY_CONVERTER"] = "EnergyConverters";
363
+ ENUM_TYPES["PRESSURIZED_UF_WATER_TREATMENTS"] = "PressurizedUFWaterTreatments";
364
+ ENUM_TYPES["IMMERSED_UF_WATER_TREATMENTS"] = "ImmersedUFWaterTreatments";
365
+ // System Type Group duplicate Energy with Water
366
+ ENUM_TYPES["BOILER_ENERGY"] = "Boiler Energy";
367
+ ENUM_TYPES["COOLING_TOWER_ENERGY"] = "CoolingTowers Energy";
368
+ })(ENUM_TYPES = AtoGojsEditorModel.ENUM_TYPES || (AtoGojsEditorModel.ENUM_TYPES = {}));
369
+ let ENUM_CATEGORY;
370
+ (function (ENUM_CATEGORY) {
371
+ })(ENUM_CATEGORY = AtoGojsEditorModel.ENUM_CATEGORY || (AtoGojsEditorModel.ENUM_CATEGORY = {}));
372
+ let DATA_COLLECTION_METHOD;
373
+ (function (DATA_COLLECTION_METHOD) {
374
+ DATA_COLLECTION_METHOD["MEASURED"] = "Measured";
375
+ DATA_COLLECTION_METHOD["MANUAL"] = "Manual";
376
+ DATA_COLLECTION_METHOD["COMPUTED"] = "Computed";
377
+ DATA_COLLECTION_METHOD["ESTIMATED"] = "Estimated";
378
+ DATA_COLLECTION_METHOD["WATER_CAPACITY"] = "Water Capacity";
379
+ DATA_COLLECTION_METHOD["KEY_MODEL_COMPUTED"] = "M";
380
+ })(DATA_COLLECTION_METHOD = AtoGojsEditorModel.DATA_COLLECTION_METHOD || (AtoGojsEditorModel.DATA_COLLECTION_METHOD = {}));
381
+ AtoGojsEditorModel.COLOR_COLLECTION_METHOD = {
382
+ [DATA_COLLECTION_METHOD.MEASURED]: {
383
+ name: DATA_COLLECTION_METHOD.MEASURED,
384
+ color: ENUM_COLORS.RED,
385
+ classNameColor: 'color-burnt-sienna',
386
+ },
387
+ [DATA_COLLECTION_METHOD.MANUAL]: {
388
+ name: DATA_COLLECTION_METHOD.MANUAL,
389
+ color: ENUM_COLORS.ELF_GREEN,
390
+ classNameColor: 'color-elf-green',
391
+ },
392
+ [DATA_COLLECTION_METHOD.COMPUTED]: {
393
+ name: DATA_COLLECTION_METHOD.COMPUTED,
394
+ color: ENUM_COLORS.CERULEAN,
395
+ classNameColor: 'color-cerulean',
396
+ },
397
+ [DATA_COLLECTION_METHOD.ESTIMATED]: {
398
+ name: DATA_COLLECTION_METHOD.ESTIMATED,
399
+ color: ENUM_COLORS.MEDIUM_RED_VIOLET,
400
+ classNameColor: 'color-medium-red-violet',
401
+ },
402
+ [DATA_COLLECTION_METHOD.WATER_CAPACITY]: {
403
+ name: DATA_COLLECTION_METHOD.WATER_CAPACITY,
404
+ color: ENUM_COLORS.VIVID_VIOLET,
405
+ classNameColor: 'color-vivid-violet',
406
+ },
407
+ [DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED]: {
408
+ name: DATA_COLLECTION_METHOD.KEY_MODEL_COMPUTED,
409
+ color: ENUM_COLORS.GRAY,
410
+ classNameColor: 'color-bali-hai',
411
+ },
412
+ };
413
+ // export enum WITH_DRAW_TYPES {
414
+ // TANKER = 'Tanker',
415
+ // RAIN_WATER = 'Rainwater',
416
+ // }
417
+ let WITH_DRAW_SYSTEM_TYPES;
418
+ (function (WITH_DRAW_SYSTEM_TYPES) {
419
+ WITH_DRAW_SYSTEM_TYPES["WATER_SOURCE"] = "WaterSource";
420
+ })(WITH_DRAW_SYSTEM_TYPES = AtoGojsEditorModel.WITH_DRAW_SYSTEM_TYPES || (AtoGojsEditorModel.WITH_DRAW_SYSTEM_TYPES = {}));
421
+ // export enum DISCHARGE_TYPES {
422
+ // GROUND_WATER_RENEWABLE = 'Ground Water Renewable',
423
+ // }
424
+ let DISCHARGE_TYPES_SYSTEM_TYPES;
425
+ (function (DISCHARGE_TYPES_SYSTEM_TYPES) {
426
+ DISCHARGE_TYPES_SYSTEM_TYPES["GROUND_WATER_RANEWABLE"] = "GroundWaterRenewable";
427
+ })(DISCHARGE_TYPES_SYSTEM_TYPES = AtoGojsEditorModel.DISCHARGE_TYPES_SYSTEM_TYPES || (AtoGojsEditorModel.DISCHARGE_TYPES_SYSTEM_TYPES = {}));
428
+ AtoGojsEditorModel.WaterWithdrawSources = 'WaterWithdrawSources';
429
+ AtoGojsEditorModel.WaterWithdrawSourcesPath = 'GetFlowTopology.Plant.WaterWithdrawSources.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';
430
+ AtoGojsEditorModel.WaterDischargeDestinations = 'WaterDischargeDestinations';
431
+ AtoGojsEditorModel.WaterDischargeDestinationsPath = 'GetFlowTopology.Plant.WaterDischargeDestinations.ComponentWaterFlow.InFlows.InflowWaterRecord.QuantityParams';
432
+ AtoGojsEditorModel.SOURCES_COMPONENTS = [
433
+ AtoGojsEditorModel.WaterWithdrawSources,
434
+ AtoGojsEditorModel.WaterDischargeDestinations,
435
+ ENUM_TYPES.ELECTRIC_SOURCES,
436
+ ENUM_TYPES.ELECTRIC_PRODUCTIONS,
437
+ ENUM_TYPES.GAS_SOURCE,
438
+ ENUM_TYPES.GAS_PRODUCTION,
439
+ ENUM_TYPES.FUEL_SOURCES,
440
+ // ENUM_TYPES.FUEL_STORAGE_TANKS,
441
+ ];
442
+ AtoGojsEditorModel.SOURCES_WITHDRAW = [
443
+ AtoGojsEditorModel.WaterWithdrawSources,
444
+ ENUM_TYPES.ELECTRIC_SOURCES,
445
+ ENUM_TYPES.ELECTRIC_PRODUCTIONS,
446
+ ENUM_TYPES.GAS_SOURCE,
447
+ ENUM_TYPES.GAS_PRODUCTION,
448
+ ENUM_TYPES.FUEL_SOURCES,
449
+ // ENUM_TYPES.FUEL_STORAGE_TANKS,
450
+ ];
451
+ AtoGojsEditorModel.SOURCES_DISCHARGE = [
452
+ AtoGojsEditorModel.WaterDischargeDestinations,
453
+ // ENUM_TYPES.ELECTRIC_SOURCES,
454
+ // ENUM_TYPES.ELECTRIC_PRODUCTIONS,
455
+ // ENUM_TYPES.GAS_SOURCE,
456
+ // ENUM_TYPES.GAS_PRODUCTION,
457
+ // ENUM_TYPES.FUEL_SOURCES,
458
+ ];
459
+ AtoGojsEditorModel.COMPONENTS_HAVE_SPECIAL_CATEGORY = [
460
+ // Water
461
+ AtoGojsEditorModel.WaterWithdrawSources,
462
+ AtoGojsEditorModel.WaterDischargeDestinations,
463
+ // ENUM_TYPES.FRESH_SURFACE_WAER,
464
+ // ENUM_TYPES.THIRD_PARTY_SOURCES,
465
+ // ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,
466
+ // ENUM_TYPES.PRODUCED_ENTRAINED,
467
+ // ENUM_TYPES.BRACKISH_SURFACE_WATER,
468
+ // ENUM_TYPES.GROUND_WATER_RENEWABLE,
469
+ // Energy
470
+ ENUM_TYPES.ZONE,
471
+ // Electric===================
472
+ ENUM_TYPES.GRID,
473
+ ENUM_TYPES.ELECTRIC_PRODUCTIONS,
474
+ ENUM_TYPES.DIESEL_GENERATORS,
475
+ ENUM_TYPES.NATURAL_GAS_GENERATORS,
476
+ ENUM_TYPES.SOLAR_POWER,
477
+ ENUM_TYPES.ELECTRIC_SOURCES,
478
+ ENUM_TYPES.Electricals,
479
+ // ENUM_TYPES.ELECTRIC_COMSUMINGS,
480
+ // ENUM_TYPES.ELECTRIC_STORAGES,
481
+ // ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,
482
+ // ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,
483
+ // Gas========================
484
+ // ENUM_TYPES.NATURAL_GAS_PIPELINES,
485
+ ENUM_TYPES.GAS_SOURCE,
486
+ ENUM_TYPES.GAS_PRODUCTION,
487
+ ENUM_TYPES.LIQUEFIED_NATURAL_GAS,
488
+ ENUM_TYPES.ON_SITE_PRODUCTION,
489
+ ENUM_TYPES.NATURAL_GAS_PIPELINES,
490
+ ENUM_TYPES.LIQUEFIED_NATURAL_GAS,
491
+ ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,
492
+ // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,
493
+ // ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,
494
+ // ENUM_TYPES.FURNACES,
495
+ // ENUM_TYPES.POWER_GENERATION,
496
+ // ENUM_TYPES.COGENERATION,
497
+ // ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,
498
+ // ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,
499
+ ENUM_TYPES.NATURAL_GAS_SPECIAL,
500
+ //Fuel========================
501
+ ENUM_TYPES.FUEL_SOURCES,
502
+ ENUM_TYPES.TANKER_TRUCKS,
503
+ ENUM_TYPES.PIPELINE,
504
+ ENUM_TYPES.FUELS,
505
+ ];
506
+ AtoGojsEditorModel.WITH_DRAW_TYPE_LIST = [
507
+ ENUM_TYPES.THIRD_PARTY_SOURCES,
508
+ ENUM_TYPES.FRESH_SURFACE_WATER,
509
+ ENUM_TYPES.BRACKISH_SURFACE_WATER,
510
+ ENUM_TYPES.GROUND_WATER_RENEWABLE,
511
+ ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,
512
+ ENUM_TYPES.PRODUCED_ENTRAINED,
513
+ ];
514
+ AtoGojsEditorModel.DISCHARGE_TYPE_LIST = [
515
+ ENUM_TYPES.FRESH_SURFACE_WATER,
516
+ ENUM_TYPES.BRACKISH_SURFACE_WATER,
517
+ ENUM_TYPES.GROUND_WATER_RENEWABLE,
518
+ ENUM_TYPES.THIRD_PARTY_DESTINATIONS,
519
+ ];
520
+ AtoGojsEditorModel.WITH_DRAW_SYSTEM_TYPE_LIST = [
521
+ WITH_DRAW_SYSTEM_TYPES.WATER_SOURCE,
522
+ ];
523
+ AtoGojsEditorModel.DISCHARGE_SYSTEM_TYPE_LIST = [
524
+ DISCHARGE_TYPES_SYSTEM_TYPES.GROUND_WATER_RANEWABLE,
525
+ ];
526
+ // system type
527
+ AtoGojsEditorModel.TYPE_COMPONENT = [
528
+ ENUM_TYPES.STORAGE,
529
+ ENUM_TYPES.WATER_TREATMENT,
530
+ ENUM_TYPES.DEMIN_WATER_TREATMENT,
531
+ ENUM_TYPES.RO_WATER_TREATMENT,
532
+ ENUM_TYPES.PROCESS,
533
+ ENUM_TYPES.WASTEWATER_TREATMENT,
534
+ ENUM_TYPES.DAF_WASTEWATER_TREATMENT,
535
+ ENUM_TYPES.ETP_WASTEWATER_TREATMENT,
536
+ ENUM_TYPES.MBR_WASTEWATER_TREATMENT,
537
+ ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,
538
+ ENUM_TYPES.DOMESTIC_USE,
539
+ ENUM_TYPES.COOLING_TOWER,
540
+ ENUM_TYPES.BOILER,
541
+ ENUM_TYPES.OTHER,
542
+ ENUM_TYPES.LANDSCAPING_IRRIGATION,
543
+ AtoGojsEditorModel.WaterWithdrawSources,
544
+ AtoGojsEditorModel.WaterDischargeDestinations,
545
+ // Energy
546
+ ENUM_TYPES.ZONE,
547
+ // Electricity==========================
548
+ ENUM_TYPES.GRID,
549
+ ENUM_TYPES.DIESEL_GENERATORS,
550
+ ENUM_TYPES.BATTERY_ENERGY_STORAGE,
551
+ ENUM_TYPES.LIGHTING_SYSTEMS,
552
+ ENUM_TYPES.LIGHTINGS,
553
+ ENUM_TYPES.ELECTRIC_METERS,
554
+ ENUM_TYPES.TRANSFORMERS,
555
+ ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,
556
+ ENUM_TYPES.PUMPED_HYDRO_STORAGE,
557
+ ENUM_TYPES.THERMAL_ENERGY_STORAGE,
558
+ ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,
559
+ ENUM_TYPES.SWITCH_GEARS,
560
+ ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,
561
+ ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,
562
+ ENUM_TYPES.OFFICE_EQUIPMENT,
563
+ ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,
564
+ ENUM_TYPES.PUMP,
565
+ ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,
566
+ ENUM_TYPES.NATURAL_GAS_GENERATORS,
567
+ ENUM_TYPES.MOTOR_CONTROLS,
568
+ ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,
569
+ ENUM_TYPES.ELECTRIC_HVAC,
570
+ ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,
571
+ ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,
572
+ ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,
573
+ ENUM_TYPES.WIND_POWER,
574
+ ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,
575
+ ENUM_TYPES.GROUNDING,
576
+ ENUM_TYPES.ELECTRIC_STORAGES,
577
+ ENUM_TYPES.ELECTRIC_COMSUMINGS,
578
+ // TEST
579
+ ENUM_TYPES.ELECTRIC_SOURCES,
580
+ // Gas==========================
581
+ ENUM_TYPES.NATURAL_GAS_PIPELINES,
582
+ ENUM_TYPES.LIQUEFIED_NATURAL_GAS,
583
+ ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,
584
+ ENUM_TYPES.ON_SITE_PRODUCTION,
585
+ ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,
586
+ ENUM_TYPES.BOILERS_AND_HEATERS,
587
+ ENUM_TYPES.FURNACES,
588
+ ENUM_TYPES.POWER_GENERATION,
589
+ ENUM_TYPES.COGENERATION,
590
+ ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,
591
+ ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,
592
+ ENUM_TYPES.GAS_METERS,
593
+ ENUM_TYPES.BURNERS,
594
+ ENUM_TYPES.FLUE_GAS_ANALYZERS,
595
+ ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,
596
+ ENUM_TYPES.GAS_STORAGE_TANKS,
597
+ ENUM_TYPES.GAS_PRESSURE_REGULATORS,
598
+ ENUM_TYPES.NATURAL_GAS,
599
+ ENUM_TYPES.GAS_SOURCE,
600
+ // ENUM_TYPES.GAS_PRODUCTION,
601
+ ENUM_TYPES.GAS_CONSUMINGS,
602
+ // Fuel==========================
603
+ ENUM_TYPES.DIESEL_FUELS,
604
+ ENUM_TYPES.GASON_LINES,
605
+ ENUM_TYPES.BIODIESELS,
606
+ ENUM_TYPES.KEROSENSE,
607
+ ENUM_TYPES.PROPANES,
608
+ ENUM_TYPES.FUEL_CONSUMINGS,
609
+ ENUM_TYPES.INDUSTRIAL_BOILERS,
610
+ ENUM_TYPES.GENERATORS,
611
+ ENUM_TYPES.INDUSTRIAL_FURNACES,
612
+ ENUM_TYPES.INDUSTRIAL_OVENS,
613
+ ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,
614
+ ENUM_TYPES.FUEL_METERS,
615
+ ENUM_TYPES.FUEL_DISPENSERS,
616
+ ENUM_TYPES.FUEL_STRORAGE_TANKS,
617
+ ENUM_TYPES.FUEL_FILTRATIONS,
618
+ ENUM_TYPES.FUEL_MANAGEMENTS,
619
+ ENUM_TYPES.FUELS,
620
+ // Solar =============================
621
+ ENUM_TYPES.SOLAR_POWER,
622
+ ENUM_TYPES.BATTERIES,
623
+ ENUM_TYPES.INVERTERS,
624
+ ENUM_TYPES.POWER_CONDITIONING_UNIT,
625
+ // Plant Cell
626
+ ENUM_TYPES.PLANT_CELL,
627
+ // Copy form ENUM_TYPES
628
+ ENUM_TYPES.STORAGE,
629
+ ENUM_TYPES.WATER_TREATMENT,
630
+ ENUM_TYPES.DEMIN_WATER_TREATMENT,
631
+ ENUM_TYPES.RO_WATER_TREATMENT,
632
+ ENUM_TYPES.PROCESS,
633
+ ENUM_TYPES.SPECIAL_STORAGE,
634
+ ENUM_TYPES.WASTEWATER_TREATMENT,
635
+ ENUM_TYPES.DAF_WASTEWATER_TREATMENT,
636
+ ENUM_TYPES.ETP_WASTEWATER_TREATMENT,
637
+ ENUM_TYPES.MBR_WASTEWATER_TREATMENT,
638
+ ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,
639
+ ENUM_TYPES.IMMERSED_UF_WATER_TREATMENTS,
640
+ ENUM_TYPES.PRESSURIZED_UF_WATER_TREATMENTS,
641
+ ENUM_TYPES.DOMESTIC_USE,
642
+ ENUM_TYPES.COOLING_TOWER,
643
+ ENUM_TYPES.BOILER,
644
+ ENUM_TYPES.OTHER,
645
+ ENUM_TYPES.LANDSCAPING_IRRIGATION,
646
+ ENUM_TYPES.FRESH_SURFACE_WATER,
647
+ ENUM_TYPES.THIRD_PARTY_SOURCES,
648
+ ENUM_TYPES.THIRD_PARTY_DESTINATIONS,
649
+ ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,
650
+ ENUM_TYPES.PRODUCED_ENTRAINED,
651
+ // FRESH_SURFACE_WAER = 'Fresh surface water',
652
+ ENUM_TYPES.BRACKISH_SURFACE_WATER,
653
+ ENUM_TYPES.GROUND_WATER_RENEWABLE,
654
+ ENUM_TYPES.TANKER_WATER,
655
+ // ENERGY
656
+ ENUM_TYPES.ZONE,
657
+ // Electric
658
+ ENUM_TYPES.ELECTRIC_SOURCES,
659
+ ENUM_TYPES.GRID,
660
+ ENUM_TYPES.DIESEL_GENERATORS,
661
+ ENUM_TYPES.ELECTRIC_METERS,
662
+ ENUM_TYPES.TRANSFORMERS,
663
+ // Electric New
664
+ ENUM_TYPES.BATTERY_ENERGY_STORAGE,
665
+ ENUM_TYPES.ELECTRIC_PRODUCTIONS,
666
+ ENUM_TYPES.ELECTRIC_COMSUMINGS,
667
+ ENUM_TYPES.ELECTRIC_STORAGES,
668
+ ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,
669
+ ENUM_TYPES.PUMPED_HYDRO_STORAGE,
670
+ ENUM_TYPES.THERMAL_ENERGY_STORAGE,
671
+ ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,
672
+ ENUM_TYPES.SWITCH_GEARS,
673
+ ENUM_TYPES.MOTOR_CONTROLS,
674
+ ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,
675
+ ENUM_TYPES.LIGHTING_SYSTEMS,
676
+ ENUM_TYPES.LIGHTINGS,
677
+ ENUM_TYPES.ELECTRIC_HVAC,
678
+ ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,
679
+ ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,
680
+ ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,
681
+ ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,
682
+ ENUM_TYPES.OFFICE_EQUIPMENT,
683
+ ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,
684
+ ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,
685
+ ENUM_TYPES.PUMP,
686
+ ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,
687
+ ENUM_TYPES.WIND_POWER,
688
+ ENUM_TYPES.NATURAL_GAS_GENERATORS,
689
+ ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,
690
+ ENUM_TYPES.GROUNDING,
691
+ ENUM_TYPES.Electricals,
692
+ // Gas
693
+ ENUM_TYPES.NATURAL_GAS_PIPELINES,
694
+ ENUM_TYPES.LIQUEFIED_NATURAL_GAS,
695
+ ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,
696
+ ENUM_TYPES.ON_SITE_PRODUCTION,
697
+ ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,
698
+ ENUM_TYPES.BOILERS_AND_HEATERS,
699
+ ENUM_TYPES.FURNACES,
700
+ ENUM_TYPES.POWER_GENERATION,
701
+ ENUM_TYPES.COGENERATION,
702
+ ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,
703
+ ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,
704
+ ENUM_TYPES.GAS_METERS,
705
+ ENUM_TYPES.BURNERS,
706
+ ENUM_TYPES.FLUE_GAS_ANALYZERS,
707
+ ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,
708
+ ENUM_TYPES.GAS_STORAGE_TANKS,
709
+ ENUM_TYPES.GAS_PRESSURE_REGULATORS,
710
+ ENUM_TYPES.NATURAL_GAS,
711
+ // TYPE_COMPONENT Gas
712
+ ENUM_TYPES.GAS_SOURCE,
713
+ ENUM_TYPES.GAS_PRODUCTION,
714
+ ENUM_TYPES.GAS_CONSUMINGS,
715
+ ENUM_TYPES.NATURAL_GAS_SPECIAL,
716
+ // Fuel
717
+ ENUM_TYPES.FUELS,
718
+ ENUM_TYPES.DIESEL_FUELS,
719
+ ENUM_TYPES.GASON_LINES,
720
+ ENUM_TYPES.BIODIESELS,
721
+ ENUM_TYPES.KEROSENSE,
722
+ ENUM_TYPES.PROPANES,
723
+ ENUM_TYPES.FUEL_SOURCES,
724
+ ENUM_TYPES.TANKER_TRUCKS,
725
+ ENUM_TYPES.PIPELINE,
726
+ ENUM_TYPES.FUEL_CONSUMINGS,
727
+ ENUM_TYPES.INDUSTRIAL_BOILERS,
728
+ ENUM_TYPES.GENERATORS,
729
+ ENUM_TYPES.INDUSTRIAL_FURNACES,
730
+ ENUM_TYPES.INDUSTRIAL_OVENS,
731
+ ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,
732
+ ENUM_TYPES.FUEL_METERS,
733
+ ENUM_TYPES.FUEL_DISPENSERS,
734
+ ENUM_TYPES.FUEL_STRORAGE_TANKS,
735
+ ENUM_TYPES.FUEL_FILTRATIONS,
736
+ ENUM_TYPES.FUEL_MANAGEMENTS,
737
+ // Solar
738
+ ENUM_TYPES.SOLAR_POWER,
739
+ ENUM_TYPES.POWER_CONDITIONING_UNIT,
740
+ ENUM_TYPES.INVERTERS,
741
+ ENUM_TYPES.BATTERIES,
742
+ // Plant Cell
743
+ ENUM_TYPES.PLANT_CELL,
744
+ ENUM_TYPES.PLANT_CELL_INPUT_GROUP,
745
+ ENUM_TYPES.PLANT_CELL_OUTPUT_GROUP,
746
+ // Steam
747
+ ENUM_TYPES.VALUES,
748
+ ENUM_TYPES.STEAM_TRAPS,
749
+ ENUM_TYPES.PRESSURE_REGULATORS,
750
+ ENUM_TYPES.SAFETY_VALUES_AND_EQUIPMENT,
751
+ ENUM_TYPES.CONDENSATE_RETURN_SYSTEM,
752
+ ENUM_TYPES.DEAERATORS,
753
+ ENUM_TYPES.FEEDWATER_PUMPS,
754
+ ENUM_TYPES.BLOWDOWN_TANKS,
755
+ ENUM_TYPES.EXPANSION_TANKS,
756
+ ENUM_TYPES.HEAT_EXCHANGERS,
757
+ ENUM_TYPES.TURBINES,
758
+ ENUM_TYPES.STEAM_COMPONENT,
759
+ ENUM_TYPES.STEAM_CONSUMING_SYSTEM,
760
+ ENUM_TYPES.ENERGY_CONVERTER,
761
+ ];
762
+ AtoGojsEditorModel.ICON_ASSET_PATH = 'assets/images/editor/icons';
763
+ AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON = '/assets/images/icons/hoskote_plant';
764
+ AtoGojsEditorModel.IMAGE_RO_WATER_TREATMENT_PATH = '/assets/images/ro-water-treatment/RO_WATER_TREATMENT_BG.png';
765
+ AtoGojsEditorModel.IMAGE_BOILER_PATH = 'assets/images/boiler/cms_boiler.png';
766
+ AtoGojsEditorModel.IMAGE_COOLING_TOWER_PATH = 'assets/images/process-water/cooling-tower-4.png';
767
+ AtoGojsEditorModel.SPECIAL_ICON_ASSET_PATH = 'assets/images/editor/special';
768
+ AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH = 'assets/images/editor/energy';
769
+ AtoGojsEditorModel.GAS_ICON_ASSET_PATH = 'assets/images/editor/gas';
770
+ AtoGojsEditorModel.FUEL_ICON_ASSET_PATH = 'assets/images/editor/fuel';
771
+ AtoGojsEditorModel.STEAM_ICON_ASSET_PATH = 'assets/images/editor/steam';
772
+ AtoGojsEditorModel.PLANT_CELL_PATH = 'assets/images/editor/plant-cell';
773
+ AtoGojsEditorModel.DATA_BOX = 'assets/images/editor/data-box';
774
+ AtoGojsEditorModel.LINK_TEMPLATES = {
775
+ [ENUM_LINK_TYPES.SIMPLE]: {
776
+ toShortLength: 8,
777
+ strokeWidth: 8,
778
+ arrow: {
779
+ toArrow: 'Triangle',
780
+ visible: true,
781
+ stroke: AtoGojsEditorModel.ENUM_COLORS.GRAY,
782
+ fill: AtoGojsEditorModel.ENUM_COLORS.GRAY,
783
+ scale: 1.7,
784
+ },
785
+ },
786
+ [ENUM_LINK_TYPES.PIPE]: {
787
+ strokeWidth: 8,
788
+ },
789
+ [ENUM_LINK_TYPES.PIPE_ANIMATION]: {
790
+ strokeWidth: 8,
791
+ animation: {
792
+ isPanelMain: true,
793
+ stroke: 'white',
794
+ strokeWidth: 2,
795
+ name: 'PIPE',
796
+ strokeDashArray: [10, 20],
797
+ visible: false,
798
+ },
799
+ },
800
+ [ENUM_LINK_TYPES.PIPE_HIDDEN]: {
801
+ strokeWidth: 0,
802
+ selectable: false,
803
+ arrow: {
804
+ visible: false,
805
+ },
806
+ },
807
+ };
808
+ AtoGojsEditorModel.ATTRNAME_COMPONENT = [
809
+ 'waterWithdrawName',
810
+ 'waterDischargeName',
811
+ 'wasteWaterProcessName',
812
+ 'waterTreatmentName',
813
+ 'waterStorageTankName',
814
+ 'genericProcessName',
815
+ 'boilerName',
816
+ 'coolingTowerName',
817
+ 'facilityFunctionName',
818
+ 'miscWaterUseName',
819
+ 'plantTopologyName',
820
+ ];
821
+ // export enum GROUP_COMPONENT_TYPE {
822
+ // WITHDRAW_SOURCES = 'Withdraw Sources',
823
+ // PROCESSE = 'Processe',
824
+ // WASTEWATER_TREATEMENTS = 'WasteWater Treatements',
825
+ // WATER_TREATMENT = 'Water Treatments',
826
+ // DISCHARGE_DESTINATIONS = 'Discharge Destinations',
827
+ // WATER_STORAGE = 'Water Storage',
828
+ // FACILITY_FUNCTIONS = 'Facility functions',
829
+ // OTHER = 'Other',
830
+ // }
831
+ AtoGojsEditorModel.NODE_TEMPLATES = {
832
+ [ENUM_TEMPLATES.STORAGE]: {
833
+ name: ENUM_TEMPLATES.STORAGE,
834
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Raw Water Tank.svg`,
835
+ systemType: ENUM_TYPES.STORAGE,
836
+ },
837
+ [ENUM_TEMPLATES.COOLING_TOWER]: {
838
+ name: ENUM_TEMPLATES.COOLING_TOWER,
839
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/cooling_tower.svg`,
840
+ systemType: ENUM_TYPES.COOLING_TOWER,
841
+ },
842
+ // WATER_TREATMENT
843
+ [ENUM_TEMPLATES.WATER_TREATMENT]: {
844
+ name: ENUM_TEMPLATES.WATER_TREATMENT,
845
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/water_treatment.svg`,
846
+ systemType: ENUM_TYPES.WATER_TREATMENT,
847
+ },
848
+ [ENUM_TEMPLATES.IMMERSED_UF_WATER_TREATMENTS]: {
849
+ name: ENUM_TEMPLATES.IMMERSED_UF_WATER_TREATMENTS,
850
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/water_treatment.svg`,
851
+ systemType: ENUM_TYPES.IMMERSED_UF_WATER_TREATMENTS,
852
+ },
853
+ [ENUM_TEMPLATES.PRESSURIZED_UF_WATER_TREATMENTS]: {
854
+ name: ENUM_TEMPLATES.PRESSURIZED_UF_WATER_TREATMENTS,
855
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/water_treatment.svg`,
856
+ systemType: ENUM_TYPES.PRESSURIZED_UF_WATER_TREATMENTS,
857
+ },
858
+ [ENUM_TEMPLATES.DEMIN_WATER_TREATMENT]: {
859
+ name: ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,
860
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Demin.svg`,
861
+ systemType: ENUM_TYPES.DEMIN_WATER_TREATMENT,
862
+ },
863
+ [ENUM_TEMPLATES.RO_WATER_TREATMENT]: {
864
+ name: ENUM_TEMPLATES.RO_WATER_TREATMENT,
865
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/RO.svg`,
866
+ systemType: ENUM_TYPES.RO_WATER_TREATMENT,
867
+ },
868
+ [ENUM_TEMPLATES.DOMESTIC_USE]: {
869
+ name: ENUM_TEMPLATES.DOMESTIC_USE,
870
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Domestic_new.svg`,
871
+ systemType: ENUM_TYPES.DOMESTIC_USE,
872
+ },
873
+ [ENUM_TEMPLATES.PROCESS]: {
874
+ name: ENUM_TEMPLATES.PROCESS,
875
+ // icon: `${ICON_ASSET_PATH}/process.svg`,
876
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Generic Process.svg`,
877
+ systemType: ENUM_TYPES.PROCESS,
878
+ },
879
+ [ENUM_TEMPLATES.SPECIAL_STORAGE]: {
880
+ name: ENUM_TEMPLATES.SPECIAL_STORAGE,
881
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/process.svg`,
882
+ systemType: ENUM_TYPES.SPECIAL_STORAGE,
883
+ },
884
+ [ENUM_TEMPLATES.BOILER]: {
885
+ name: ENUM_TEMPLATES.BOILER,
886
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Boiler.svg`,
887
+ systemType: ENUM_TYPES.BOILER,
888
+ },
889
+ // WASTEWATER_TREATMENT
890
+ [ENUM_TEMPLATES.WASTEWATER_TREATMENT]: {
891
+ name: ENUM_TEMPLATES.WASTEWATER_TREATMENT,
892
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/wastewater_treatment.svg`,
893
+ // size: {
894
+ // w: GRID_SIZE * 8,
895
+ // h: GRID_SIZE * 6,
896
+ // },
897
+ systemType: ENUM_TYPES.WASTEWATER_TREATMENT,
898
+ },
899
+ [ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT]: {
900
+ name: ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,
901
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/DAF.svg`,
902
+ // size: {
903
+ // w: GRID_SIZE * 8,
904
+ // h: GRID_SIZE * 6,
905
+ // },
906
+ systemType: ENUM_TYPES.DAF_WASTEWATER_TREATMENT,
907
+ },
908
+ [ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT]: {
909
+ name: ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,
910
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/water_treatment.svg`,
911
+ systemType: ENUM_TYPES.ETP_WASTEWATER_TREATMENT,
912
+ },
913
+ [ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT]: {
914
+ name: ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,
915
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/MBR.svg`,
916
+ // size: {
917
+ // w: GRID_SIZE * 8,
918
+ // h: GRID_SIZE * 6,
919
+ // },
920
+ systemType: ENUM_TYPES.MBR_WASTEWATER_TREATMENT,
921
+ },
922
+ [ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT]: {
923
+ name: ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,
924
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/ZLD.svg`,
925
+ // size: {
926
+ // w: GRID_SIZE * 8,
927
+ // h: GRID_SIZE * 6,
928
+ // },
929
+ systemType: ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,
930
+ },
931
+ [ENUM_TEMPLATES.LANDSCAPING_IRRIGATION]: {
932
+ name: ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,
933
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Irrigation.svg`,
934
+ // size: {
935
+ // w: GRID_SIZE * 8,
936
+ // h: GRID_SIZE * 6,
937
+ // },
938
+ systemType: ENUM_TYPES.LANDSCAPING_IRRIGATION,
939
+ },
940
+ [ENUM_TEMPLATES.OTHER]: {
941
+ name: ENUM_TEMPLATES.OTHER,
942
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/other.svg`,
943
+ systemType: ENUM_TYPES.OTHER,
944
+ },
945
+ [ENUM_TEMPLATES.TEXT_NODE]: {
946
+ name: ENUM_TEMPLATES.TEXT_NODE,
947
+ },
948
+ [ENUM_TEMPLATES.EMPTY]: {
949
+ name: ENUM_TEMPLATES.EMPTY,
950
+ },
951
+ [ENUM_TEMPLATES.VALUE_NODE]: {
952
+ name: ENUM_TEMPLATES.VALUE_NODE,
953
+ },
954
+ [ENUM_TEMPLATES.VALUE_LABEL]: {
955
+ name: ENUM_TEMPLATES.VALUE_LABEL,
956
+ },
957
+ [ENUM_TEMPLATES.TEXT_LABEL]: {
958
+ name: ENUM_TEMPLATES.TEXT_LABEL,
959
+ },
960
+ [ENUM_TEMPLATES.DATA_BOX]: {
961
+ name: ENUM_TEMPLATES.DATA_BOX,
962
+ },
963
+ [ENUM_TEMPLATES.SPECIAL_PROCESS]: {
964
+ name: ENUM_TEMPLATES.SPECIAL_PROCESS,
965
+ icon: `${AtoGojsEditorModel.SPECIAL_ICON_ASSET_PATH}/process.svg`,
966
+ },
967
+ [ENUM_TEMPLATES.SPECIAL_STORE]: {
968
+ name: ENUM_TEMPLATES.SPECIAL_STORE,
969
+ icon: `${AtoGojsEditorModel.SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,
970
+ },
971
+ [ENUM_TEMPLATES.SPECIAL_DISCHARGE]: {
972
+ name: ENUM_TEMPLATES.SPECIAL_DISCHARGE,
973
+ icon: `${AtoGojsEditorModel.SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,
974
+ },
975
+ [ENUM_TEMPLATES.THIRD_PARTY_SOURCES]: {
976
+ name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,
977
+ // icon: `${ICON_ASSET_PATH}/Intake.svg`,
978
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Third Party Sources.svg`,
979
+ systemType: ENUM_TYPES.THIRD_PARTY_SOURCES,
980
+ },
981
+ [ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS]: {
982
+ name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,
983
+ // icon: `${ICON_ASSET_PATH}/Intake.svg`,
984
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Third party destinations.svg`,
985
+ systemType: ENUM_TYPES.THIRD_PARTY_DESTINATIONS,
986
+ },
987
+ [ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE]: {
988
+ name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,
989
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Groundwater - Non-Renewable.svg`,
990
+ systemType: ENUM_TYPES.GROUND_WATER_NON_RENEWABLE,
991
+ },
992
+ [ENUM_TEMPLATES.PRODUCED_ENTRAINED]: {
993
+ name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,
994
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Produced Entrained Water.svg`,
995
+ systemType: ENUM_TYPES.PRODUCED_ENTRAINED,
996
+ },
997
+ [ENUM_TEMPLATES.BRACKISH_SURFACE_WATER]: {
998
+ name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,
999
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Brackisk Surface Water Seawater.svg`,
1000
+ systemType: ENUM_TYPES.BRACKISH_SURFACE_WATER,
1001
+ },
1002
+ [ENUM_TEMPLATES.FRESH_SURFACE_WATER]: {
1003
+ name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,
1004
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Fresh Surface Water.svg`,
1005
+ systemType: ENUM_TYPES.FRESH_SURFACE_WATER,
1006
+ },
1007
+ [ENUM_TEMPLATES.UTILITY]: {
1008
+ name: ENUM_TEMPLATES.UTILITY,
1009
+ icon: '',
1010
+ // `${ICON_ASSET_PATH}/rain.svg`,
1011
+ },
1012
+ [ENUM_TEMPLATES.GROUND_WATER_RENEWABLE]: {
1013
+ name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,
1014
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Groundwater - Renewable.svg`,
1015
+ systemType: ENUM_TYPES.GROUND_WATER_RENEWABLE,
1016
+ },
1017
+ [ENUM_TEMPLATES.SPECIAL_OTHER]: {
1018
+ name: ENUM_TEMPLATES.SPECIAL_OTHER,
1019
+ icon: `${AtoGojsEditorModel.SPECIAL_ICON_ASSET_PATH}/Discharge.svg`,
1020
+ },
1021
+ // Energy
1022
+ // Electric Node Template ====================================================================
1023
+ [ENUM_TEMPLATES.GRID]: {
1024
+ name: ENUM_TEMPLATES.GRID,
1025
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Grid.svg`,
1026
+ systemType: ENUM_TYPES.GRID,
1027
+ // size: {
1028
+ // h: GRID_SIZE * 8,
1029
+ // w: GRID_SIZE * 6,
1030
+ // },
1031
+ },
1032
+ [ENUM_TEMPLATES.DIESEL_GENERATORS]: {
1033
+ name: ENUM_TEMPLATES.DIESEL_GENERATORS,
1034
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Diesel Generators.svg`,
1035
+ systemType: ENUM_TYPES.DIESEL_GENERATORS,
1036
+ // size: {
1037
+ // h: GRID_SIZE * 8,
1038
+ // w: GRID_SIZE * 6,
1039
+ // },
1040
+ },
1041
+ [ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE]: {
1042
+ name: ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,
1043
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Battery.svg`,
1044
+ systemType: ENUM_TYPES.BATTERY_ENERGY_STORAGE,
1045
+ },
1046
+ [ENUM_TEMPLATES.LIGHTING_SYSTEMS]: {
1047
+ name: ENUM_TEMPLATES.LIGHTING_SYSTEMS,
1048
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Lighting systems.svg`,
1049
+ systemType: ENUM_TYPES.LIGHTING_SYSTEMS,
1050
+ },
1051
+ [ENUM_TEMPLATES.LIGHTINGS]: {
1052
+ name: ENUM_TEMPLATES.LIGHTINGS,
1053
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Lights.svg`,
1054
+ systemType: ENUM_TYPES.LIGHTINGS,
1055
+ },
1056
+ [ENUM_TEMPLATES.ELECTRIC_METERS]: {
1057
+ name: ENUM_TEMPLATES.ELECTRIC_METERS,
1058
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Meter.svg`,
1059
+ systemType: ENUM_TYPES.ELECTRIC_METERS,
1060
+ },
1061
+ [ENUM_TEMPLATES.TRANSFORMERS]: {
1062
+ name: ENUM_TEMPLATES.TRANSFORMERS,
1063
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Transformer.svg`,
1064
+ systemType: ENUM_TYPES.TRANSFORMERS,
1065
+ },
1066
+ [ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE]: {
1067
+ name: ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,
1068
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,
1069
+ systemType: ENUM_TYPES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,
1070
+ },
1071
+ [ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE]: {
1072
+ name: ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,
1073
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Pumped hydro storage systems.svg`,
1074
+ systemType: ENUM_TYPES.PUMPED_HYDRO_STORAGE,
1075
+ },
1076
+ [ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE]: {
1077
+ name: ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,
1078
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Thermal energy storage systems.svg`,
1079
+ systemType: ENUM_TYPES.THERMAL_ENERGY_STORAGE,
1080
+ },
1081
+ [ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE]: {
1082
+ name: ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,
1083
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Supercapacitor energy storage systems.svg`,
1084
+ systemType: ENUM_TYPES.SUPER_CAPACITOR_ENERGY_STORAGE,
1085
+ },
1086
+ [ENUM_TEMPLATES.SWITCH_GEARS]: {
1087
+ name: ENUM_TEMPLATES.SWITCH_GEARS,
1088
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Switchgear.svg`,
1089
+ systemType: ENUM_TYPES.SWITCH_GEARS,
1090
+ },
1091
+ [ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS]: {
1092
+ name: ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,
1093
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Process control and automation systems.svg`,
1094
+ systemType: ENUM_TYPES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,
1095
+ },
1096
+ [ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES]: {
1097
+ name: ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,
1098
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Process equipment and machines.svg`,
1099
+ systemType: ENUM_TYPES.PROCESS_EQUIPMENT_MACHINES,
1100
+ },
1101
+ [ENUM_TEMPLATES.OFFICE_EQUIPMENT]: {
1102
+ name: ENUM_TEMPLATES.OFFICE_EQUIPMENT,
1103
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Office equipment.svg`,
1104
+ systemType: ENUM_TYPES.OFFICE_EQUIPMENT,
1105
+ },
1106
+ [ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS]: {
1107
+ name: ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,
1108
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Power distribution and control systems.svg`,
1109
+ systemType: ENUM_TYPES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,
1110
+ },
1111
+ [ENUM_TEMPLATES.PUMP]: {
1112
+ name: ENUM_TEMPLATES.PUMP,
1113
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Pump.svg`,
1114
+ systemType: ENUM_TYPES.PUMP,
1115
+ },
1116
+ [ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS]: {
1117
+ name: ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,
1118
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Power distribution systems.svg`,
1119
+ systemType: ENUM_TYPES.POWER_DISTRIBUTION_SYSTEMS,
1120
+ },
1121
+ [ENUM_TEMPLATES.NATURAL_GAS_GENERATORS]: {
1122
+ name: ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,
1123
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,
1124
+ systemType: ENUM_TYPES.NATURAL_GAS_GENERATORS,
1125
+ },
1126
+ [ENUM_TEMPLATES.MOTOR_CONTROLS]: {
1127
+ name: ENUM_TEMPLATES.MOTOR_CONTROLS,
1128
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Motor control centers (MCCs).svg`,
1129
+ systemType: ENUM_TYPES.MOTOR_CONTROLS,
1130
+ },
1131
+ [ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS]: {
1132
+ name: ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,
1133
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Variable frequency drives (VFDs).svg`,
1134
+ systemType: ENUM_TYPES.VARIABLE_FREQUENCY_DRIVERS,
1135
+ },
1136
+ [ENUM_TEMPLATES.ELECTRIC_HVAC]: {
1137
+ name: ENUM_TEMPLATES.ELECTRIC_HVAC,
1138
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Gas HVAC.svg`,
1139
+ systemType: ENUM_TYPES.ELECTRIC_HVAC,
1140
+ },
1141
+ [ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS]: {
1142
+ name: ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,
1143
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Compressed air.svg`,
1144
+ systemType: ENUM_TYPES.COMPRESSED_AIR_SYSTEMS,
1145
+ },
1146
+ [ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS]: {
1147
+ name: ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,
1148
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Refrigeration and cooling systems.svg`,
1149
+ systemType: ENUM_TYPES.REFRIGERATION_COOLING_SYSTEMS,
1150
+ },
1151
+ [ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT]: {
1152
+ name: ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,
1153
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Material handling equipment.svg`,
1154
+ systemType: ENUM_TYPES.MATERIAL_HANDLING_EQUIPMENT,
1155
+ },
1156
+ [ENUM_TEMPLATES.WIND_POWER]: {
1157
+ name: ENUM_TEMPLATES.WIND_POWER,
1158
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Wind Power.svg`,
1159
+ systemType: ENUM_TYPES.WIND_POWER,
1160
+ },
1161
+ [ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS]: {
1162
+ name: ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,
1163
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Industrial motors.svg`,
1164
+ systemType: ENUM_TYPES.ELECTRIC_INDUSTRIAL_MOTORS,
1165
+ },
1166
+ [ENUM_TEMPLATES.GROUNDING]: {
1167
+ name: ENUM_TEMPLATES.GROUNDING,
1168
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Grounding systems.svg`,
1169
+ systemType: ENUM_TYPES.GROUNDING,
1170
+ },
1171
+ // Gas ================================================================================
1172
+ [ENUM_TEMPLATES.NATURAL_GAS_PIPELINES]: {
1173
+ name: ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,
1174
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Natural gas pipelines.svg`,
1175
+ systemType: ENUM_TYPES.NATURAL_GAS_PIPELINES,
1176
+ },
1177
+ // [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {
1178
+ // name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,
1179
+ // icon: `${GAS_ICON_ASSET_PATH}/Liquefied natural gas (LNG) shipments.svg`,
1180
+ // systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,
1181
+ // },
1182
+ [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE]: {
1183
+ name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,
1184
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,
1185
+ systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PIPELINE,
1186
+ },
1187
+ // [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {
1188
+ // name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,
1189
+ // icon: `${GAS_ICON_ASSET_PATH}/On-site production.svg`,
1190
+ // systemType: ENUM_TYPES.ON_SITE_PRODUCTION,
1191
+ // },
1192
+ [ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION]: {
1193
+ name: ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,
1194
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Compressed natural gas pipeline (CNG).svg`,
1195
+ systemType: ENUM_TYPES.COMPRESSED_NATURAL_GAS_PRODUCTION,
1196
+ },
1197
+ [ENUM_TEMPLATES.BOILERS_AND_HEATERS]: {
1198
+ name: ENUM_TEMPLATES.BOILERS_AND_HEATERS,
1199
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Boilers and heaters.svg`,
1200
+ systemType: ENUM_TYPES.BOILERS_AND_HEATERS,
1201
+ },
1202
+ [ENUM_TEMPLATES.FURNACES]: {
1203
+ name: ENUM_TEMPLATES.FURNACES,
1204
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Furnaces.svg`,
1205
+ systemType: ENUM_TYPES.FURNACES,
1206
+ },
1207
+ [ENUM_TEMPLATES.POWER_GENERATION]: {
1208
+ name: ENUM_TEMPLATES.POWER_GENERATION,
1209
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Power generation.svg`,
1210
+ systemType: ENUM_TYPES.POWER_GENERATION,
1211
+ },
1212
+ [ENUM_TEMPLATES.COGENERATION]: {
1213
+ name: ENUM_TEMPLATES.COGENERATION,
1214
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Cogeneration.svg`,
1215
+ systemType: ENUM_TYPES.COGENERATION,
1216
+ },
1217
+ [ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS]: {
1218
+ name: ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,
1219
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Combined cycle power plants.svg`,
1220
+ systemType: ENUM_TYPES.COMBINED_CYCLE_POWER_PLANTS,
1221
+ },
1222
+ [ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT]: {
1223
+ name: ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,
1224
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Fuel for vehicles and equipment.svg`,
1225
+ systemType: ENUM_TYPES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,
1226
+ },
1227
+ [ENUM_TEMPLATES.GAS_METERS]: {
1228
+ name: ENUM_TEMPLATES.GAS_METERS,
1229
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Gas meters.svg`,
1230
+ systemType: ENUM_TYPES.GAS_METERS,
1231
+ },
1232
+ // [ENUM_TEMPLATES.BURNERS]: {
1233
+ // name: ENUM_TEMPLATES.BURNERS,
1234
+ // icon: `${GAS_ICON_ASSET_PATH}/Burners.svg`,
1235
+ // systemType: ENUM_TYPES.BURNERS,
1236
+ // },
1237
+ // [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {
1238
+ // name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,
1239
+ // icon: `${GAS_ICON_ASSET_PATH}/Flue gas analyzers.svg`,
1240
+ // systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,
1241
+ // },
1242
+ [ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS]: {
1243
+ name: ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,
1244
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Combustion control systems.svg`,
1245
+ systemType: ENUM_TYPES.COMBUSTION_CONTROL_SYSTEMS,
1246
+ },
1247
+ [ENUM_TEMPLATES.GAS_STORAGE_TANKS]: {
1248
+ name: ENUM_TEMPLATES.GAS_STORAGE_TANKS,
1249
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Gas storage tanks.svg`,
1250
+ systemType: ENUM_TYPES.GAS_STORAGE_TANKS,
1251
+ },
1252
+ [ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS]: {
1253
+ name: ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,
1254
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Gas pressure regulators.svg`,
1255
+ systemType: ENUM_TYPES.GAS_PRESSURE_REGULATORS,
1256
+ },
1257
+ [ENUM_TEMPLATES.NATURAL_GAS]: {
1258
+ name: ENUM_TEMPLATES.NATURAL_GAS,
1259
+ icon: `${AtoGojsEditorModel.GAS_ICON_ASSET_PATH}/Natural Gas.svg`,
1260
+ systemType: ENUM_TYPES.NATURAL_GAS,
1261
+ },
1262
+ // Fuel==========================================================
1263
+ [ENUM_TEMPLATES.DIESEL_FUELS]: {
1264
+ name: ENUM_TEMPLATES.DIESEL_FUELS,
1265
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,
1266
+ systemType: ENUM_TYPES.DIESEL_FUELS,
1267
+ },
1268
+ [ENUM_TEMPLATES.GASON_LINES]: {
1269
+ name: ENUM_TEMPLATES.GASON_LINES,
1270
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Gasoline.svg`,
1271
+ systemType: ENUM_TYPES.GASON_LINES,
1272
+ },
1273
+ [ENUM_TEMPLATES.BIODIESELS]: {
1274
+ name: ENUM_TEMPLATES.BIODIESELS,
1275
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Biodiesel.svg`,
1276
+ systemType: ENUM_TYPES.BIODIESELS,
1277
+ },
1278
+ [ENUM_TEMPLATES.KEROSENSE]: {
1279
+ name: ENUM_TEMPLATES.KEROSENSE,
1280
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Kerosene.svg`,
1281
+ systemType: ENUM_TYPES.KEROSENSE,
1282
+ },
1283
+ [ENUM_TEMPLATES.PROPANES]: {
1284
+ name: ENUM_TEMPLATES.PROPANES,
1285
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Propane.svg`,
1286
+ systemType: ENUM_TYPES.PROPANES,
1287
+ },
1288
+ [ENUM_TEMPLATES.TANKER_TRUCKS]: {
1289
+ name: ENUM_TEMPLATES.TANKER_TRUCKS,
1290
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Tanker Trucks.svg`,
1291
+ systemType: ENUM_TYPES.TANKER_TRUCKS,
1292
+ },
1293
+ [ENUM_TEMPLATES.PIPELINE]: {
1294
+ name: ENUM_TEMPLATES.PIPELINE,
1295
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Pipeline.svg`,
1296
+ systemType: ENUM_TYPES.PIPELINE,
1297
+ },
1298
+ [ENUM_TEMPLATES.INDUSTRIAL_BOILERS]: {
1299
+ name: ENUM_TEMPLATES.INDUSTRIAL_BOILERS,
1300
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Industrial boilers.svg`,
1301
+ systemType: ENUM_TYPES.INDUSTRIAL_BOILERS,
1302
+ },
1303
+ [ENUM_TEMPLATES.GENERATORS]: {
1304
+ name: ENUM_TEMPLATES.GENERATORS,
1305
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Generators.svg`,
1306
+ systemType: ENUM_TYPES.GENERATORS,
1307
+ },
1308
+ [ENUM_TEMPLATES.INDUSTRIAL_FURNACES]: {
1309
+ name: ENUM_TEMPLATES.INDUSTRIAL_FURNACES,
1310
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Industrial furnaces.svg`,
1311
+ systemType: ENUM_TYPES.INDUSTRIAL_FURNACES,
1312
+ },
1313
+ [ENUM_TEMPLATES.INDUSTRIAL_OVENS]: {
1314
+ name: ENUM_TEMPLATES.INDUSTRIAL_OVENS,
1315
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Industrial ovens.svg`,
1316
+ systemType: ENUM_TYPES.INDUSTRIAL_OVENS,
1317
+ },
1318
+ [ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT]: {
1319
+ name: ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,
1320
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Industrial vehicles and equipment.svg`,
1321
+ systemType: ENUM_TYPES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,
1322
+ },
1323
+ [ENUM_TEMPLATES.FUEL_METERS]: {
1324
+ name: ENUM_TEMPLATES.FUEL_METERS,
1325
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Fuel meters.svg`,
1326
+ systemType: ENUM_TYPES.FUEL_METERS,
1327
+ },
1328
+ [ENUM_TEMPLATES.FUEL_DISPENSERS]: {
1329
+ name: ENUM_TEMPLATES.FUEL_DISPENSERS,
1330
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Fuel dispensers.svg`,
1331
+ systemType: ENUM_TYPES.FUEL_DISPENSERS,
1332
+ },
1333
+ [ENUM_TEMPLATES.FUEL_STRORAGE_TANKS]: {
1334
+ name: ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,
1335
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Fuel storage tanks.svg`,
1336
+ systemType: ENUM_TYPES.FUEL_STRORAGE_TANKS,
1337
+ },
1338
+ [ENUM_TEMPLATES.FUEL_FILTRATIONS]: {
1339
+ name: ENUM_TEMPLATES.FUEL_FILTRATIONS,
1340
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Fuel filtration systems.svg`,
1341
+ systemType: ENUM_TYPES.FUEL_FILTRATIONS,
1342
+ },
1343
+ [ENUM_TEMPLATES.FUEL_MANAGEMENTS]: {
1344
+ name: ENUM_TEMPLATES.FUEL_MANAGEMENTS,
1345
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Fuel management systems.svg`,
1346
+ systemType: ENUM_TYPES.FUEL_MANAGEMENTS,
1347
+ },
1348
+ [ENUM_TEMPLATES.FUELS]: {
1349
+ name: ENUM_TEMPLATES.FUELS,
1350
+ icon: `${AtoGojsEditorModel.FUEL_ICON_ASSET_PATH}/Diesel fuel.svg`,
1351
+ systemType: ENUM_TYPES.FUELS,
1352
+ },
1353
+ // Gas new
1354
+ [ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS]: {
1355
+ name: ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,
1356
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,
1357
+ systemType: ENUM_TYPES.LIQUEFIED_NATURAL_GAS,
1358
+ },
1359
+ [ENUM_TEMPLATES.ON_SITE_PRODUCTION]: {
1360
+ name: ENUM_TEMPLATES.ON_SITE_PRODUCTION,
1361
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Natural gas generators.svg`,
1362
+ systemType: ENUM_TYPES.ON_SITE_PRODUCTION,
1363
+ },
1364
+ [ENUM_TEMPLATES.BURNERS]: {
1365
+ name: ENUM_TEMPLATES.BURNERS,
1366
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,
1367
+ systemType: ENUM_TYPES.BURNERS,
1368
+ },
1369
+ [ENUM_TEMPLATES.FLUE_GAS_ANALYZERS]: {
1370
+ name: ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,
1371
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,
1372
+ systemType: ENUM_TYPES.FLUE_GAS_ANALYZERS,
1373
+ },
1374
+ // Solar ==========================================================
1375
+ [ENUM_TEMPLATES.SOLAR_POWER]: {
1376
+ name: ENUM_TEMPLATES.SOLAR_POWER,
1377
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Solar.svg`,
1378
+ systemType: ENUM_TYPES.SOLAR_POWER,
1379
+ },
1380
+ [ENUM_TEMPLATES.POWER_CONDITIONING_UNIT]: {
1381
+ name: ENUM_TEMPLATES.POWER_CONDITIONING_UNIT,
1382
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Power conditioning unit (PCU).svg`,
1383
+ systemType: ENUM_TYPES.POWER_CONDITIONING_UNIT,
1384
+ },
1385
+ [ENUM_TEMPLATES.INVERTERS]: {
1386
+ name: ENUM_TEMPLATES.INVERTERS,
1387
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Inverter.svg`,
1388
+ systemType: ENUM_TYPES.INVERTERS,
1389
+ },
1390
+ [ENUM_TEMPLATES.BATTERIES]: {
1391
+ name: ENUM_TEMPLATES.BATTERIES,
1392
+ icon: `${AtoGojsEditorModel.ENERGY_ICON_ASSET_PATH}/Battery.svg`,
1393
+ systemType: ENUM_TYPES.BATTERIES,
1394
+ },
1395
+ [ENUM_TEMPLATES.ZONE]: {
1396
+ name: ENUM_TEMPLATES.ZONE,
1397
+ // icon: `${ENERGY_ICON_ASSET_PATH}/Battery.svg`,
1398
+ },
1399
+ [ENUM_TEMPLATES.ZONE_ENERGY_ITEM]: {
1400
+ name: ENUM_TEMPLATES.ZONE_ENERGY_ITEM,
1401
+ },
1402
+ // UNCATEGORIZED
1403
+ [ENUM_TEMPLATES.UNCATEGORIZED]: {
1404
+ name: ENUM_TEMPLATES.UNCATEGORIZED,
1405
+ icon: '',
1406
+ // `${ICON_ASSET_PATH}/rain.svg`,
1407
+ },
1408
+ // Plant Cell
1409
+ [ENUM_TEMPLATES.PLANT_CELL]: {
1410
+ name: ENUM_TEMPLATES.PLANT_CELL,
1411
+ icon: `${AtoGojsEditorModel.PLANT_CELL_PATH}/Cell.svg`,
1412
+ systemType: ENUM_TYPES.PLANT_CELL,
1413
+ },
1414
+ [ENUM_TEMPLATES.INPUT_PLANT_CELL]: {
1415
+ name: ENUM_TEMPLATES.INPUT_PLANT_CELL,
1416
+ icon: '',
1417
+ },
1418
+ [ENUM_TEMPLATES.OUTPUT_PLANT_CELL]: {
1419
+ name: ENUM_TEMPLATES.OUTPUT_PLANT_CELL,
1420
+ icon: '',
1421
+ },
1422
+ [ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP]: {
1423
+ name: ENUM_TEMPLATES.PLANT_CELL_INPUT_GROUP,
1424
+ icon: ``,
1425
+ },
1426
+ [ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP]: {
1427
+ name: ENUM_TEMPLATES.PLANT_CELL_OUTPUT_GROUP,
1428
+ icon: ``,
1429
+ },
1430
+ [ENUM_TEMPLATES.IMAGE_TEMPLATE]: {
1431
+ name: ENUM_TEMPLATES.IMAGE_TEMPLATE,
1432
+ icon: ``,
1433
+ },
1434
+ [ENUM_TEMPLATES.PARAM_TABLE]: {
1435
+ name: ENUM_TEMPLATES.PARAM_TABLE,
1436
+ icon: ``,
1437
+ },
1438
+ [ENUM_TEMPLATES.MASS_BALANCE]: {
1439
+ name: ENUM_TEMPLATES.MASS_BALANCE,
1440
+ icon: ``,
1441
+ },
1442
+ // STEAM
1443
+ [ENUM_TEMPLATES.STEAM_PIPELINE]: {
1444
+ name: ENUM_TEMPLATES.STEAM_PIPELINE,
1445
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Pipeline.svg`,
1446
+ },
1447
+ [ENUM_TEMPLATES.VALUES]: {
1448
+ name: ENUM_TEMPLATES.VALUES,
1449
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Steam_Valve.png`,
1450
+ },
1451
+ [ENUM_TEMPLATES.STEAM_TRAPS]: {
1452
+ name: ENUM_TEMPLATES.STEAM_TRAPS,
1453
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Trap.png`,
1454
+ },
1455
+ [ENUM_TEMPLATES.PRESSURE_REGULATORS]: {
1456
+ name: ENUM_TEMPLATES.PRESSURE_REGULATORS,
1457
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Pressure_Regulator.png`,
1458
+ },
1459
+ [ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT]: {
1460
+ name: ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,
1461
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/safety valve.png`,
1462
+ },
1463
+ [ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM]: {
1464
+ name: ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,
1465
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Condensate Return System.png`,
1466
+ },
1467
+ [ENUM_TEMPLATES.DEAERATORS]: {
1468
+ name: ENUM_TEMPLATES.DEAERATORS,
1469
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Deaerators.png`,
1470
+ },
1471
+ [ENUM_TEMPLATES.FEEDWATER_PUMPS]: {
1472
+ name: ENUM_TEMPLATES.FEEDWATER_PUMPS,
1473
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Feed Water Pump.png`,
1474
+ },
1475
+ [ENUM_TEMPLATES.BLOWDOWN_TANKS]: {
1476
+ name: ENUM_TEMPLATES.BLOWDOWN_TANKS,
1477
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Blowdown tank.png`,
1478
+ },
1479
+ [ENUM_TEMPLATES.EXPANSION_TANKS]: {
1480
+ name: ENUM_TEMPLATES.EXPANSION_TANKS,
1481
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/Expansion Tanks.png`,
1482
+ },
1483
+ [ENUM_TEMPLATES.HEAT_EXCHANGERS]: {
1484
+ name: ENUM_TEMPLATES.HEAT_EXCHANGERS,
1485
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/heat exchangers.png`,
1486
+ },
1487
+ [ENUM_TEMPLATES.TURBINES]: {
1488
+ name: ENUM_TEMPLATES.TURBINES,
1489
+ icon: `${AtoGojsEditorModel.STEAM_ICON_ASSET_PATH}/steam turbine.png`,
1490
+ },
1491
+ // Plant Basic
1492
+ [ENUM_TEMPLATES.GROUP_BASIC_COMPONENT]: {
1493
+ name: ENUM_TEMPLATES.GROUP_BASIC_COMPONENT,
1494
+ icon: ``,
1495
+ },
1496
+ // System Type Group duplicate Energy with Water
1497
+ [ENUM_TEMPLATES.BOILER_ENERGY]: {
1498
+ name: ENUM_TEMPLATES.BOILER_ENERGY,
1499
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/Boiler.svg`,
1500
+ systemType: ENUM_TYPES.BOILER,
1501
+ },
1502
+ [ENUM_TEMPLATES.COOLING_TOWER_ENERGY]: {
1503
+ name: ENUM_TEMPLATES.COOLING_TOWER_ENERGY,
1504
+ icon: `${AtoGojsEditorModel.ICON_ASSET_PATH}/cooling_tower.svg`,
1505
+ systemType: ENUM_TYPES.COOLING_TOWER,
1506
+ },
1507
+ };
1508
+ AtoGojsEditorModel.WITHDRAW_DISCHARGE_ICON = {
1509
+ [ENUM_TYPES.FRESH_SURFACE_WATER]: {
1510
+ name: ENUM_TEMPLATES.FRESH_SURFACE_WATER,
1511
+ iconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water - Duo.svg`,
1512
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Fresh surface water.svg`,
1513
+ },
1514
+ [ENUM_TYPES.THIRD_PARTY_SOURCES]: {
1515
+ name: ENUM_TEMPLATES.THIRD_PARTY_SOURCES,
1516
+ iconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,
1517
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,
1518
+ isHasWaterCapcity: true,
1519
+ },
1520
+ [ENUM_TYPES.THIRD_PARTY_DESTINATIONS]: {
1521
+ name: ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,
1522
+ iconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources - Duo.svg`,
1523
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Third party sources.svg`,
1524
+ isHasWaterCapcity: true,
1525
+ },
1526
+ [ENUM_TYPES.GROUND_WATER_NON_RENEWABLE]: {
1527
+ name: ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,
1528
+ iconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable - Duo.svg`,
1529
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - non-renewable.svg`,
1530
+ },
1531
+ [ENUM_TYPES.PRODUCED_ENTRAINED]: {
1532
+ name: ENUM_TEMPLATES.PRODUCED_ENTRAINED,
1533
+ iconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,
1534
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,
1535
+ },
1536
+ [ENUM_TYPES.BRACKISH_SURFACE_WATER]: {
1537
+ name: ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,
1538
+ iconiconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface - Duo.svg`,
1539
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Brackish surface.svg`,
1540
+ },
1541
+ [ENUM_TYPES.GROUND_WATER_RENEWABLE]: {
1542
+ name: ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,
1543
+ iconActive: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable - Duo.svg`,
1544
+ iconDisabled: `${AtoGojsEditorModel.ICON_ASSET_WITHDRAW_DISCHARGE_ICON}/Groundwater - renewable.svg`,
1545
+ },
1546
+ };
1547
+ AtoGojsEditorModel.WITHDRAW_DISCHARGE_DIAGRAM_HOME = {
1548
+ withdrawSourcesChildren: [
1549
+ ENUM_TYPES.WATER_TREATMENT,
1550
+ ENUM_TYPES.DEMIN_WATER_TREATMENT,
1551
+ ENUM_TYPES.RO_WATER_TREATMENT,
1552
+ ],
1553
+ dischargeDestinationsChildren: [
1554
+ ENUM_TYPES.WASTEWATER_TREATMENT,
1555
+ ENUM_TYPES.DAF_WASTEWATER_TREATMENT,
1556
+ ENUM_TYPES.ETP_WASTEWATER_TREATMENT,
1557
+ ENUM_TYPES.MBR_WASTEWATER_TREATMENT,
1558
+ ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,
1559
+ ],
1560
+ };
1561
+ let ACTION_RIGHT_MENU_GROUP;
1562
+ (function (ACTION_RIGHT_MENU_GROUP) {
1563
+ ACTION_RIGHT_MENU_GROUP["PLANT_TEMPLATES"] = "Plant Templates";
1564
+ ACTION_RIGHT_MENU_GROUP["PLANT_CELLS"] = "Plant Cell";
1565
+ ACTION_RIGHT_MENU_GROUP["DATA_BOX"] = "Measurement";
1566
+ ACTION_RIGHT_MENU_GROUP["SYSTEM_TEMPLATES"] = "System Templates";
1567
+ ACTION_RIGHT_MENU_GROUP["WATER_COMPONENT"] = "Water Components";
1568
+ })(ACTION_RIGHT_MENU_GROUP = AtoGojsEditorModel.ACTION_RIGHT_MENU_GROUP || (AtoGojsEditorModel.ACTION_RIGHT_MENU_GROUP = {}));
1569
+ let DATA_BOX_NAME_OF_COMPONENT;
1570
+ (function (DATA_BOX_NAME_OF_COMPONENT) {
1571
+ DATA_BOX_NAME_OF_COMPONENT["INFLOW"] = "Inflow Of";
1572
+ DATA_BOX_NAME_OF_COMPONENT["OUTFLOW"] = "Outflow From";
1573
+ })(DATA_BOX_NAME_OF_COMPONENT = AtoGojsEditorModel.DATA_BOX_NAME_OF_COMPONENT || (AtoGojsEditorModel.DATA_BOX_NAME_OF_COMPONENT = {}));
1574
+ let ACTION_RIGHT_MENU;
1575
+ (function (ACTION_RIGHT_MENU) {
1576
+ ACTION_RIGHT_MENU["APPLY_TEMPLATE"] = "ApplyTemplate";
1577
+ ACTION_RIGHT_MENU["NEW_PLANT_CELL"] = "NewPlantCell";
1578
+ ACTION_RIGHT_MENU["NAME_PLANT_CELL"] = "NamePlantCell";
1579
+ ACTION_RIGHT_MENU["ADD_COMPONENT"] = "AddComponent";
1580
+ })(ACTION_RIGHT_MENU = AtoGojsEditorModel.ACTION_RIGHT_MENU || (AtoGojsEditorModel.ACTION_RIGHT_MENU = {}));
1581
+ AtoGojsEditorModel.DATA_MENU = [
1582
+ {
1583
+ name: 'Plant Templates',
1584
+ componentType: ATO_ECOMPONENT_PLANT_TYPE.WATER,
1585
+ isFilterType: true,
1586
+ groupType: ACTION_RIGHT_MENU_GROUP.PLANT_TEMPLATES,
1587
+ children: [
1588
+ {
1589
+ name: 'Food and Beverages',
1590
+ children: [],
1591
+ actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,
1592
+ isDrag: true,
1593
+ },
1594
+ {
1595
+ name: 'Power plant',
1596
+ children: [],
1597
+ actionType: ACTION_RIGHT_MENU.APPLY_TEMPLATE,
1598
+ isDrag: true,
1599
+ },
1600
+ ],
1601
+ },
1602
+ // {
1603
+ // name: 'Plant Cells',
1604
+ // groupType: ACTION_RIGHT_MENU_GROUP.PLANT_CELLS,
1605
+ // componentType: E_COMPONENT_PLANT_TYPE.WATER,
1606
+ // isFilterType: true,
1607
+ // children: [
1608
+ // {
1609
+ // name: 'Beer Production cell',
1610
+ // children: [],
1611
+ // actionType: ACTION_RIGHT_MENU.NAME_PLANT_CELL,
1612
+ // isDrag: true,
1613
+ // isViewMode: true,
1614
+ // systemType: ENUM_TYPES.PLANT_CELL,
1615
+ // type: ENUM_TYPES.PLANT_CELL,
1616
+ // inputType: TYPE_INPUT.TEXT,
1617
+ // fc: new FormControl('Beer Production cell', Validators.required),
1618
+ // fcBackup: new FormControl('Beer Production cell', Validators.required),
1619
+ // },
1620
+ // {
1621
+ // name: 'New Plant Cell',
1622
+ // children: [],
1623
+ // actionType: ACTION_RIGHT_MENU.NEW_PLANT_CELL,
1624
+ // isDrag: false,
1625
+ // },
1626
+ // ],
1627
+ // },
1628
+ ];
1629
+ AtoGojsEditorModel.WATER_USING_SYSTEM = [
1630
+ ENUM_TYPES.COOLING_TOWER,
1631
+ ENUM_TYPES.BOILER,
1632
+ ENUM_TYPES.OTHER,
1633
+ ENUM_TYPES.PROCESS,
1634
+ ENUM_TYPES.DOMESTIC_USE,
1635
+ ENUM_TYPES.LANDSCAPING_IRRIGATION,
1636
+ ];
1637
+ AtoGojsEditorModel.PARAM_TABLE_STYLE = {
1638
+ [ENUM_COLORS.CERULEAN]: {
1639
+ borderTable: ENUM_COLORS.CERULEAN,
1640
+ bgColor: ENUM_COLORS.CERULEAN_ALICE_BLUE,
1641
+ },
1642
+ [ENUM_COLORS.DANUBE]: {
1643
+ borderTable: ENUM_COLORS.DANUBE,
1644
+ bgColor: ENUM_COLORS.DANUBE_ALICE_BLUE,
1645
+ },
1646
+ [ENUM_COLORS.FOUNTAIN_BLUE]: {
1647
+ borderTable: ENUM_COLORS.FOUNTAIN_BLUE,
1648
+ bgColor: ENUM_COLORS.AZURE,
1649
+ },
1650
+ [ENUM_COLORS.GALLIANO]: {
1651
+ borderTable: ENUM_COLORS.GALLIANO,
1652
+ bgColor: ENUM_COLORS.OLD_LACE,
1653
+ },
1654
+ [ENUM_COLORS.WHITE]: {
1655
+ borderTable: ENUM_COLORS.WHITE,
1656
+ bgColor: ENUM_COLORS.WHITE,
1657
+ },
1658
+ };
1659
+ // System type include Water
1660
+ AtoGojsEditorModel.TYPE_COMPONENT_WATER = [
1661
+ ENUM_TYPES.STORAGE,
1662
+ ENUM_TYPES.WATER_TREATMENT,
1663
+ ENUM_TYPES.DEMIN_WATER_TREATMENT,
1664
+ ENUM_TYPES.RO_WATER_TREATMENT,
1665
+ ENUM_TYPES.IMMERSED_UF_WATER_TREATMENTS,
1666
+ ENUM_TYPES.PRESSURIZED_UF_WATER_TREATMENTS,
1667
+ ENUM_TYPES.PROCESS,
1668
+ ENUM_TYPES.WASTEWATER_TREATMENT,
1669
+ ENUM_TYPES.DAF_WASTEWATER_TREATMENT,
1670
+ ENUM_TYPES.ETP_WASTEWATER_TREATMENT,
1671
+ ENUM_TYPES.MBR_WASTEWATER_TREATMENT,
1672
+ ENUM_TYPES.ZLD_WASTEWATER_TREATMENT,
1673
+ ENUM_TYPES.DOMESTIC_USE,
1674
+ ENUM_TYPES.COOLING_TOWER,
1675
+ ENUM_TYPES.BOILER,
1676
+ ENUM_TYPES.OTHER,
1677
+ ENUM_TYPES.LANDSCAPING_IRRIGATION,
1678
+ AtoGojsEditorModel.WaterWithdrawSources,
1679
+ AtoGojsEditorModel.WaterDischargeDestinations,
1680
+ ];
1681
+ // Template type includes Water
1682
+ AtoGojsEditorModel.TYPE_TEMPLATE_WATER_NORMAL = [
1683
+ AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS,
1684
+ AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,
1685
+ AtoGojsEditorModel.ENUM_TEMPLATES.IMMERSED_UF_WATER_TREATMENTS,
1686
+ AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURIZED_UF_WATER_TREATMENTS,
1687
+ AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,
1688
+ AtoGojsEditorModel.ENUM_TEMPLATES.ETP_WASTEWATER_TREATMENT,
1689
+ AtoGojsEditorModel.ENUM_TEMPLATES.ZLD_WASTEWATER_TREATMENT,
1690
+ AtoGojsEditorModel.ENUM_TEMPLATES.MBR_WASTEWATER_TREATMENT,
1691
+ AtoGojsEditorModel.ENUM_TEMPLATES.DAF_WASTEWATER_TREATMENT,
1692
+ AtoGojsEditorModel.ENUM_TEMPLATES.RO_WATER_TREATMENT,
1693
+ AtoGojsEditorModel.ENUM_TEMPLATES.DEMIN_WATER_TREATMENT,
1694
+ AtoGojsEditorModel.ENUM_TEMPLATES.STORAGE,
1695
+ AtoGojsEditorModel.ENUM_TEMPLATES.DOMESTIC_USE,
1696
+ AtoGojsEditorModel.ENUM_TEMPLATES.LANDSCAPING_IRRIGATION,
1697
+ AtoGojsEditorModel.ENUM_TEMPLATES.OTHER,
1698
+ ];
1699
+ // ['Process', 'Boiler', 'Cooling Tower', 'ETP Wastewater Treatment', 'ZLD Wastewater Treatment', 'MBR Wastewater Treatment', 'DAF Wastewater Treatment',
1700
+ // 'RO Water Treatment', 'Demin Water Treatment', 'Storage', 'Domestic Use', 'Landscaping/Irrigation', 'Other'];
1701
+ AtoGojsEditorModel.TYPE_TEMPLATE_WATER_WITHDRAW_OR_DISCHARGE = [
1702
+ AtoGojsEditorModel.ENUM_TEMPLATES.FRESH_SURFACE_WATER,
1703
+ AtoGojsEditorModel.ENUM_TEMPLATES.BRACKISH_SURFACE_WATER,
1704
+ AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_RENEWABLE,
1705
+ AtoGojsEditorModel.ENUM_TEMPLATES.GROUND_WATER_NON_RENEWABLE,
1706
+ AtoGojsEditorModel.ENUM_TEMPLATES.PRODUCED_ENTRAINED,
1707
+ AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_SOURCES,
1708
+ AtoGojsEditorModel.ENUM_TEMPLATES.THIRD_PARTY_DESTINATIONS,
1709
+ ];
1710
+ // ['Fresh surface water', 'Brackish surface water/ seawater', 'Groundwater - Renewable', 'Groundwater - non-renewable', 'Produced / entrained water', 'Third party sources', 'Third party destinations'];
1711
+ AtoGojsEditorModel.TYPE_TEMPLATE_ELECTRICITY = [
1712
+ AtoGojsEditorModel.ENUM_TEMPLATES.GRID,
1713
+ AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_GENERATORS,
1714
+ AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_GENERATORS,
1715
+ AtoGojsEditorModel.ENUM_TEMPLATES.SOLAR_POWER,
1716
+ AtoGojsEditorModel.ENUM_TEMPLATES.TRANSFORMERS,
1717
+ AtoGojsEditorModel.ENUM_TEMPLATES.SWITCH_GEARS,
1718
+ AtoGojsEditorModel.ENUM_TEMPLATES.MOTOR_CONTROLS,
1719
+ AtoGojsEditorModel.ENUM_TEMPLATES.VARIABLE_FREQUENCY_DRIVERS,
1720
+ AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_SYSTEMS,
1721
+ AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTINGS,
1722
+ AtoGojsEditorModel.ENUM_TEMPLATES.GROUNDING,
1723
+ AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_METERS,
1724
+ AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_INDUSTRIAL_MOTORS,
1725
+ AtoGojsEditorModel.ENUM_TEMPLATES.LIGHTING_SYSTEMS,
1726
+ AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_HVAC,
1727
+ AtoGojsEditorModel.ENUM_TEMPLATES.REFRIGERATION_COOLING_SYSTEMS,
1728
+ AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_CONTROL_AUTOMATION_SYSTEMS,
1729
+ AtoGojsEditorModel.ENUM_TEMPLATES.OFFICE_EQUIPMENT,
1730
+ AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_AIR_SYSTEMS,
1731
+ AtoGojsEditorModel.ENUM_TEMPLATES.PROCESS_EQUIPMENT_MACHINES,
1732
+ AtoGojsEditorModel.ENUM_TEMPLATES.MATERIAL_HANDLING_EQUIPMENT,
1733
+ AtoGojsEditorModel.ENUM_TEMPLATES.POWER_DISTRIBUTION_CONTROL_SYSTEMS,
1734
+ AtoGojsEditorModel.ENUM_TEMPLATES.PUMP,
1735
+ AtoGojsEditorModel.ENUM_TEMPLATES.BATTERY_ENERGY_STORAGE,
1736
+ AtoGojsEditorModel.ENUM_TEMPLATES.ELECTRIC_FLYWHEEL_ENERGY_STORAGE,
1737
+ AtoGojsEditorModel.ENUM_TEMPLATES.PUMPED_HYDRO_STORAGE,
1738
+ AtoGojsEditorModel.ENUM_TEMPLATES.THERMAL_ENERGY_STORAGE,
1739
+ AtoGojsEditorModel.ENUM_TEMPLATES.SUPER_CAPACITOR_ENERGY_STORAGE,
1740
+ ];
1741
+ // ['Grid', 'Diesel Generators', 'Natural gas generators', 'Solar Power', 'Transformers', 'Switchgears', 'MotorControls', 'VariableFrequencyDrives',
1742
+ // 'Power distribution systems', 'Lightings', 'Grounding', 'Electric Meters', 'Industrial motors',
1743
+ // 'Lighting systems', 'Heating, ventilation, and air conditioning (HVAC) systems', 'Refrigeration and cooling', 'Process control and automation', 'Office equipment', 'Compressed air',
1744
+ // 'Process equipment and machines', 'Material handling equipment', 'Power distribution and control', 'Battery energy storage', 'Flywheel energy storage',
1745
+ // 'Pumped hydro storage', 'Thermal energy storage', 'Supercapacitor energy storage'];
1746
+ AtoGojsEditorModel.TYPE_TEMPLATE_NATURAL_GAS = [
1747
+ AtoGojsEditorModel.ENUM_TEMPLATES.NATURAL_GAS_PIPELINES,
1748
+ AtoGojsEditorModel.ENUM_TEMPLATES.LIQUEFIED_NATURAL_GAS,
1749
+ AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PIPELINE,
1750
+ AtoGojsEditorModel.ENUM_TEMPLATES.ON_SITE_PRODUCTION,
1751
+ AtoGojsEditorModel.ENUM_TEMPLATES.COMPRESSED_NATURAL_GAS_PRODUCTION,
1752
+ AtoGojsEditorModel.ENUM_TEMPLATES.BOILERS_AND_HEATERS,
1753
+ AtoGojsEditorModel.ENUM_TEMPLATES.FURNACES,
1754
+ AtoGojsEditorModel.ENUM_TEMPLATES.POWER_GENERATION,
1755
+ AtoGojsEditorModel.ENUM_TEMPLATES.COGENERATION,
1756
+ AtoGojsEditorModel.ENUM_TEMPLATES.COMBINED_CYCLE_POWER_PLANTS,
1757
+ AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FOR_VEHICLES_AND_EQUIPMENT,
1758
+ AtoGojsEditorModel.ENUM_TEMPLATES.GAS_METERS,
1759
+ AtoGojsEditorModel.ENUM_TEMPLATES.BURNERS,
1760
+ AtoGojsEditorModel.ENUM_TEMPLATES.FLUE_GAS_ANALYZERS,
1761
+ AtoGojsEditorModel.ENUM_TEMPLATES.COMBUSTION_CONTROL_SYSTEMS,
1762
+ AtoGojsEditorModel.ENUM_TEMPLATES.GAS_STORAGE_TANKS,
1763
+ AtoGojsEditorModel.ENUM_TEMPLATES.GAS_PRESSURE_REGULATORS,
1764
+ ];
1765
+ // ['Natural gas pipelines', 'Liquefied natural gas', 'Compressed natural gas pipeline', 'On-site production',
1766
+ // 'Compressed natural gas production', 'Boilers and heaters', 'Furnaces', 'Power generation', 'Cogeneration', 'Combined cycle power plants',
1767
+ // 'Fuel for vehicles and equipment', 'Gas meters', 'Burners', 'Flue gas analyzers', 'Combustion control systems', 'Gas storage tanks',
1768
+ // 'Gas pressure regulators'];
1769
+ AtoGojsEditorModel.TYPE_TEMPLATE_FUEL = [
1770
+ AtoGojsEditorModel.ENUM_TEMPLATES.DIESEL_FUELS,
1771
+ AtoGojsEditorModel.ENUM_TEMPLATES.GASON_LINES,
1772
+ AtoGojsEditorModel.ENUM_TEMPLATES.BIODIESELS,
1773
+ AtoGojsEditorModel.ENUM_TEMPLATES.KEROSENSE,
1774
+ AtoGojsEditorModel.ENUM_TEMPLATES.PROPANES,
1775
+ AtoGojsEditorModel.ENUM_TEMPLATES.TANKER_TRUCKS,
1776
+ AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,
1777
+ AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_BOILERS,
1778
+ AtoGojsEditorModel.ENUM_TEMPLATES.GENERATORS,
1779
+ AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_FURNACES,
1780
+ AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_OVENS,
1781
+ AtoGojsEditorModel.ENUM_TEMPLATES.INDUSTRIAL_VEHICLES_AND_EQUIPMENT,
1782
+ AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_METERS,
1783
+ AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_DISPENSERS,
1784
+ AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_STRORAGE_TANKS,
1785
+ AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_FILTRATIONS,
1786
+ AtoGojsEditorModel.ENUM_TEMPLATES.FUEL_MANAGEMENTS,
1787
+ ];
1788
+ // ['DieselFuels', 'Gasonlines', 'Biodiesels', 'Kerosenes', 'Propanes', 'Tanker Trucks',
1789
+ // 'Pipeline', 'Industrial boilers', 'Generators', 'Industrial furnaces', 'Industrial ovens', 'Industrial vehicles and equipment',
1790
+ // 'FuelMeters', 'FuelDispensers', 'FuelStorageTanks', 'FuelFiltrations', 'FuelManagements'];
1791
+ AtoGojsEditorModel.TYPE_TEMPLATE_STEAM = [
1792
+ AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE,
1793
+ AtoGojsEditorModel.ENUM_TEMPLATES.VALUES,
1794
+ AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_TRAPS,
1795
+ AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURE_REGULATORS,
1796
+ AtoGojsEditorModel.ENUM_TEMPLATES.SAFETY_VALUES_AND_EQUIPMENT,
1797
+ AtoGojsEditorModel.ENUM_TEMPLATES.CONDENSATE_RETURN_SYSTEM,
1798
+ AtoGojsEditorModel.ENUM_TEMPLATES.DEAERATORS,
1799
+ AtoGojsEditorModel.ENUM_TEMPLATES.FEEDWATER_PUMPS,
1800
+ AtoGojsEditorModel.ENUM_TEMPLATES.BLOWDOWN_TANKS,
1801
+ AtoGojsEditorModel.ENUM_TEMPLATES.EXPANSION_TANKS,
1802
+ AtoGojsEditorModel.ENUM_TEMPLATES.HEAT_EXCHANGERS,
1803
+ AtoGojsEditorModel.ENUM_TEMPLATES.TURBINES,
1804
+ ];
1805
+ // ['Valves', 'Steam Traps', 'Pressure Regulator', 'Safety Valves and Equipment', 'Condensate Return System', 'Deaerators',
1806
+ // 'Feedwater Pumps', 'Blowdown Tanks', 'Expansion Tanks', 'Heat Exchangers', 'Turbines'];
1807
+ AtoGojsEditorModel.TYPE_TEMPLATE_SPECIAL = [
1808
+ AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_PROCESS,
1809
+ AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORAGE,
1810
+ AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_STORE,
1811
+ AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_DISCHARGE,
1812
+ AtoGojsEditorModel.ENUM_TEMPLATES.SPECIAL_OTHER,
1813
+ ];
1814
+ AtoGojsEditorModel.TEMPLATE_DUPLICATE = {
1815
+ [AtoGojsEditorModel.ENUM_TEMPLATES.STEAM_PIPELINE]: AtoGojsEditorModel.ENUM_TEMPLATES.PIPELINE,
1816
+ [AtoGojsEditorModel.ENUM_TEMPLATES.BOILER_ENERGY]: AtoGojsEditorModel.ENUM_TEMPLATES.BOILER,
1817
+ [AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER_ENERGY]: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,
1818
+ [AtoGojsEditorModel.ENUM_TEMPLATES.IMMERSED_UF_WATER_TREATMENTS]: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,
1819
+ [AtoGojsEditorModel.ENUM_TEMPLATES.PRESSURIZED_UF_WATER_TREATMENTS]: AtoGojsEditorModel.ENUM_TEMPLATES.COOLING_TOWER,
1820
+ };
1821
+ })(AtoGojsEditorModel || (AtoGojsEditorModel = {}));
1822
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29qcy1lZGl0b3IubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hdG8td2F0ZXItbGliL3NyYy9saWIvbW9kZWxzL2dvanMtZWRpdG9yLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXJFLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFBWSxJQUFTO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQUVELFdBQWlCLGtCQUFrQjtJQUNwQiw0QkFBUyxHQUFHLEVBQUUsQ0FBQztJQUNmLHdDQUFxQixHQUFHLEVBQUUsQ0FBQztJQUMzQix3Q0FBcUIsR0FBRyxFQUFFLENBQUM7SUFDM0Isd0NBQXFCLEdBQUcsbUJBQUEsU0FBUyxHQUFHLG1CQUFBLHFCQUFxQixDQUFDO0lBQzFELHlDQUFzQixHQUFHLG1CQUFBLFNBQVMsR0FBRyxtQkFBQSxxQkFBcUIsQ0FBQztJQUMzRCx1Q0FBb0IsR0FBRyxFQUFFLENBQUM7SUFDMUIsb0NBQWlCLEdBQUcsR0FBRyxDQUFDO0lBQ3JDLElBQVksa0JBSVg7SUFKRCxXQUFZLGtCQUFrQjtRQUM1Qix5Q0FBbUIsQ0FBQTtRQUNuQiw2Q0FBdUIsQ0FBQTtRQUN2Qiw0Q0FBc0IsQ0FBQTtJQUN4QixDQUFDLEVBSlcsa0JBQWtCLEdBQWxCLHFDQUFrQixLQUFsQixxQ0FBa0IsUUFJN0I7SUFFWSw4QkFBVyxHQUFHO1FBQ3pCO1lBQ0UsSUFBSSxFQUFFLFlBQVk7WUFDbEIsR0FBRyxFQUFFLGtCQUFrQixDQUFDLElBQUk7U0FDN0I7UUFDRDtZQUNFLElBQUksRUFBRSxnQkFBZ0I7WUFDdEIsR0FBRyxFQUFFLGtCQUFrQixDQUFDLElBQUk7U0FDN0I7UUFDRDtZQUNFLElBQUksRUFBRSxVQUFVO1lBQ2hCLEdBQUcsRUFBRSxrQkFB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QUFjLENBQUMsUUFBUTtRQUM1QyxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFDL0Msa0JBQWtCLENBQUMsY0FBYyxDQUFDLE1BQU07UUFDMUMsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsRUFDdEQsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGFBQWE7UUFDakQsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsNEJBQTRCLENBQUMsRUFDOUQsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGFBQWE7UUFDakQsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMsK0JBQStCLENBQUMsRUFDakUsa0JBQWtCLENBQUMsY0FBYyxDQUFDLGFBQWE7S0FDbEQsQ0FBQztBQUNKLENBQUMsRUEvNkRnQixrQkFBa0IsS0FBbEIsa0JBQWtCLFFBKzZEbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBVE9fRUNPTVBPTkVOVF9QTEFOVF9UWVBFIH0gZnJvbSAnLi4vY29uc3RhbnRzL3ZhbHVlLmNvbnN0JztcblxuZXhwb3J0IGNsYXNzIEF0b0dvanNFZGl0b3JNb2RlbCB7XG4gIGluaXRpYWxPcHRpb25zOiBhbnk7XG4gIGRhdGE6IGFueTsgLy8gRmxvd0dvSnNDb21wb25lbnRNb2RlbFxuXG4gIGNvbnN0cnVjdG9yKGRhdGE6IGFueSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBdG9Hb2pzRWRpdG9yTW9kZWwge1xuICBleHBvcnQgY29uc3QgR1JJRF9TSVpFID0gMjA7XG4gIGV4cG9ydCBjb25zdCBCQVNJQ19HUklEX0lOVEVSVkFMX1ggPSAyNDtcbiAgZXhwb3J0IGNvbnN0IEJBU0lDX0dSSURfSU5URVJWQUxfWSA9IDEwO1xuICBleHBvcnQgY29uc3QgQkFTSUNfR1JJRF9TSVpFX1dJRFRIID0gR1JJRF9TSVpFICogQkFTSUNfR1JJRF9JTlRFUlZBTF9YO1xuICBleHBvcnQgY29uc3QgQkFTSUNfR1JJRF9TSVpFX0hFSUdIVCA9IEdSSURfU0laRSAqIEJBU0lDX0dSSURfSU5URVJWQUxfWTtcbiAgZXhwb3J0IGNvbnN0IERJU1RBTkNFX0xBU1RfVE9fQUREID0gNTA7XG4gIGV4cG9ydCBjb25zdCBQTEFOVF9DRUxMX0hFSUdIVCA9IDE2MDtcbiAgZXhwb3J0IGVudW0gRU5VTV9MQVlPVVRfRURJVE9SIHtcbiAgICBBVVRPID0gJ0FVVE8gQUxJR04nLFxuICAgIEdSSUQgPSAnR1JJRCBTVVBQT1JURUQnLFxuICAgIEZSRUVGT1JNID0gJ0ZSRUUgRk9STScsXG4gIH1cblxuICBleHBvcnQgY29uc3QgTEFZT1VUX0xJU1QgPSBbXG4gICAge1xuICAgICAgbmFtZTogJ0F1dG8tYWxpZ24nLFxuICAgICAga2V5OiBFTlVNX0xBWU9VVF9FRElUT1IuQVVUTyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6ICdHcmlkIFN1cHBvcnRlZCcsXG4gICAgICBrZXk6IEVOVU1fTEFZT1VUX0VESVRPUi5HUklELFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogJ0ZyZWVmb3JtJyxcbiAgICAgIGtleTogRU5VTV9MQVlPVVRfRURJVE9SLkZSRUVGT1JNLFxuICAgIH0sXG4gIF07XG5cbiAgZXhwb3J0IGVudW0gRU5VTV9DT0xPUlMge1xuICAgIFJFRCA9ICcjRUM3QzRFJyxcbiAgICBPUkFOR0UgPSAnI0VCQjg2OCcsXG4gICAgQkxVRSA9ICcjODFCOEZGJyxcbiAgICBMSUdIVF9CTFVFID0gJyNGNEY2RkInLFxuICAgIExJR0hUX1NLWV9CTFVFID0gJyNjZmU3ZmQnLFxuICAgIFdISVRFID0gJyNGRkZGRkYnLFxuICAgIEdSQVkgPSAnIzkxOUNBNScsXG4gICAgQ0VSVUxFQU4gPSAnIzAwNjJBOScsXG4gICAgVklWSURfVklPTEVUID0gJyM4MDQxODAnLFxuICAgIFJFU09MVVRJT05fQkxVRSA9ICcjMkQzQjc3JyxcbiAgICBDQVNITUVSRSA9ICcjRDZBQjk1JyxcbiAgICBHQUxMSUFOTyA9ICcjRTA5RjI1JyxcbiAgICBGT1VOVEFJTl9CTFVFID0gJyM1NEJCQkEnLFxuICAgIEVMRl9HUkVFTiA9ICcjMTk5QzY5JyxcbiAgICBNRURJVU1fUkVEX1ZJT0xFVCA9ICcjQTg0MzhEJyxcbiAgICBHUkFORElTID0gJyNGQkM5NkMnLFxuICAgIFNBTE1PTiA9ICcjRjQ3NzY5JyxcbiAgICBOSUdIVF9SSURFUiA9ICcjMkMyQzJDJyxcbiAgICBBTElaQVJJTiA9ICcjRUMxQjI0JyxcbiAgICBMSU5LX1dBVEVSID0gJyNDQUQzREInLFxuICAgIFpJUkNPTiA9ICcjRTVFQkVCJyxcbiAgICBDRVJVTEVBTl9BTElDRV9CTFVFID0gJyNFNkYwRjcnLFxuICAgIERBTlVCRSA9ICcjNzE5N0NBJyxcbiAgICBEQU5VQkVfQUxJQ0VfQkxVRSA9ICcjRjFGNUZBJyxcbiAgICBBWlVSRSA9ICcjRUVGOEY4JyxcbiAgICBPTERfTEFDRSA9ICcjRkNGNkVBJyxcbiAgICBDQVJST1RfT1JBTkdFID0gJyNGNjkxMjInLFxuICAgIEZMQU1JTkdPID0gJyNFOTVGNDcnLFxuICAgIFNOT1cgPSAnI0ZFRjdGNicsXG4gICAgTElHSFRfU0tZX0JMVUVfMiA9ICcjOTJCOUY5JyxcbiAgICBSRUdFTlRfU1RfQkxVRSA9ICcjODdjZWU3JyxcbiAgICBTRUxBR08gPSAnI0Y2RjNGNicsXG4gICAgSUNFX0NPTEQgPSAnI0FCRTBEOScsXG4gICAgTUlOVF9DUkVBTSA9ICcjRjhGQ0ZCJ1xuICAgIC8vICA5OENERTBcbiAgfVxuXG4gIGV4cG9ydCBlbnVtIEVOVU1fTElOS19UWVBFUyB7XG4gICAgU0lNUExFID0gJ3NpbXBsZScsXG4gICAgUElQRV9BTklNQVRJT04gPSAncGlwZSBhbmltYXRpb24nLFxuICAgIFBJUEUgPSAncGlwZScsXG4gICAgUElQRV9ISURERU4gPSAncGlwZSBoaWRkZW4nLFxuICB9XG5cbiAgLy8gQ29tcG9uZW50cyB0eXBlc1xuICBleHBvcnQgZW51bSBFTlVNX1RFTVBMQVRFUyB7XG4gICAgU1RPUkFHRSA9ICdTdG9yYWdlJyxcbiAgICBDT09MSU5HX1RPV0VSID0gJ0Nvb2xpbmcgVG93ZXInLFxuXG4gICAgV0FURVJfVFJFQVRNRU5UID0gJ1dhdGVyIFRyZWF0bWVudCcsXG4gICAgREVNSU5fV0FURVJfVFJFQVRNRU5UID0gJ0RlbWluIFdhdGVyIFRyZWF0bWVudCcsXG4gICAgUk9fV0FURVJfVFJFQVRNRU5UID0gJ1JPIFdhdGVyIFRyZWF0bWVudCcsXG5cbiAgICBET01FU1RJQ19VU0UgPSAnRG9tZXN0aWMgVXNlJyxcbiAgICBQUk9DRVNTID0gJ1Byb2Nlc3MnLFxuICAgIEJPSUxFUiA9ICdCb2lsZXInLFxuXG4gICAgV0FTVEVXQVRFUl9UUkVBVE1FTlQgPSAnV2FzdGV3YXRlciBUcmVhdG1lbnQnLFxuICAgIERBRl9XQVNURVdBVEVSX1RSRUFUTUVOVCA9ICdEQUYgV2FzdGV3YXRlciBUcmVhdG1lbnQnLFxuICAgIEVUUF9XQVNURVdBVEVSX1RSRUFUTUVOVCA9ICdFVFAgV2FzdGV3YXRlciBUcmVhdG1lbnQnLFxuICAgIE1CUl9XQVNURVdBVEVSX1RSRUFUTUVOVCA9ICdNQlIgV2FzdGV3YXRlciBUcmVhdG1lbnQnLFxuICAgIFpMRF9XQVNURVdBVEVSX1RSRUFUTUVOVCA9ICdaTEQgV2FzdGV3YXRlciBUcmVhdG1lbnQnLFxuXG4gICAgT1RIRVIgPSAnT3RoZXInLFxuICAgIExBTkRTQ0FQSU5HX0lSUklHQVRJT04gPSAnTGFuZHNjYXBpbmcvSXJyaWdhdGlvbicsXG4gICAgVEVYVF9OT0RFID0gJ1RleHROb2RlJyxcbiAgICBWQUxVRV9OT0RFID0gJ1ZhbHVlTm9kZScsXG4gICAgREFUQV9CT1ggPSAnRGF0YUJveCcsXG4gICAgVkFMVUVfTEFCRUwgPSAnVmFsdWVMYWJlbCcsXG4gICAgRU1QVFkgPSAnRW1wdHknLFxuXG4gICAgU1BFQ0lBTF9QUk9DRVNTID0gJ1NQRUNJQUxfUFJPQ0VTUycsXG4gICAgU1BFQ0lBTF9TVE9SRSA9ICdTUEVDSUFMX1NUT1JFJyxcbiAgICBTUEVDSUFMX1NUT1JBR0UgPSAnU1RPUkFHRScsXG4gICAgU1BFQ0lBTF9ESVNDSEFSR0UgPSAnU1BFQ0lBTF9ESVNDSEFSR0UnLFxuICAgIFNQRUNJQUxfT1RIRVIgPSAnU1BFQ0lBTF9PVEhFUicsXG5cbiAgICAvLyBUQU5LRVIgPSAnVGFua2VyJyxcbiAgICAvLyBSQUlOX1dBVEVSID0gJ1JhaW53YXRlcicsXG4gICAgRlJFU0hfU1VSRkFDRV9XQVRFUiA9ICdGcmVzaCBzdXJmYWNlIHdhdGVyJywgLy8gJ1JBSU5fV0FURVInLFxuICAgIFRISVJEX1BBUlRZX1NPVVJDRVMgPSAnVGhpcmQgcGFydHkgc291cmNlcycsIC8vIFRBTktFUlxuICAgIFRISVJEX1BBUlRZX0RFU1RJTkFUSU9OUyA9ICdUaGlyZCBwYXJ0eSBkZXN0aW5hdGlvbnMnLFxuICAgIEdST1VORF9XQVRFUl9OT05fUkVORVdBQkxFID0gJ0dyb3VuZHdhdGVyIC0gbm9uLXJlbmV3YWJsZScsXG4gICAgUFJPRFVDRURfRU5UUkFJTkVEID0gJ1Byb2R1Y2VkIC8gZW50cmFpbmVkIHdhdGVyJyxcbiAgICBCUkFDS0lTSF9TVVJGQUNFX1dBVEVSID0gJ0JyYWNraXNoIHN1cmZhY2Ugd2F0ZXIvIHNlYXdhdGVyJyxcblxuICAgIFVUSUxJVFkgPSAnVVRJTElUWScsXG4gICAgR1JPVU5EX1dBVEVSX1JFTkVXQUJMRSA9ICdHcm91bmR3YXRlciAtIFJlbmV3YWJsZScsXG4gICAgLy8gRW5lcmd5XG4gICAgWk9ORSA9ICdFbmVyZ3lab25lcycsXG4gICAgWk9ORV9FTkVSR1lfSVRFTSA9ICdTdWJTeXN0ZW0nLFxuICAgIC8vRWxlY3RyaWNcbiAgICBHUklEID0gJ0dyaWQnLFxuICAgIERJRVNFTF9HRU5FUkFUT1JTID0gJ0RpZXNlbCBHZW5lcmF0b3JzJyxcbiAgICBFTEVDVFJJQ19NRVRFUlMgPSAnRWxlY3RyaWMgTWV0ZXJzJyxcblxuICAgIEJBVFRFUllfRU5FUkdZX1NUT1JBR0UgPSAnQmF0dGVyeSBlbmVyZ3kgc3RvcmFnZScsXG4gICAgVFJBTlNGT1JNRVJTID0gJ1RyYW5zZm9ybWVycycsXG4gICAgTElHSFRJTkdfU1lTVEVNUyA9ICdMaWdodGluZyBzeXN0ZW1zJyxcbiAgICBMSUdIVElOR1MgPSAnTGlnaHRpbmdzJyxcblxuICAgIEVMRUNUUklDX0ZMWVdIRUVMX0VORVJHWV9TVE9SQUdFID0gJ0ZseXdoZWVsIGVuZXJneSBzdG9yYWdlJyxcbiAgICBQVU1QRURfSFlEUk9fU1RPUkFHRSA9ICdQdW1wZWQgaHlkcm8gc3RvcmFnZScsXG4gICAgVEhFUk1BTF9FTkVSR1lfU1RPUkFHRSA9ICdUaGVybWFsIGVuZXJneSBzdG9yYWdlJyxcbiAgICBTVVBFUl9DQVBBQ0lUT1JfRU5FUkdZX1NUT1JBR0UgPSAnU3VwZXJjYXBhY2l0b3IgZW5lcmd5IHN0b3JhZ2UnLFxuICAgIFNXSVRDSF9HRUFSUyA9ICdTd2l0Y2hnZWFycycsXG4gICAgTU9UT1JfQ09OVFJPTFMgPSAnTW90b3JDb250cm9scycsXG4gICAgVkFSSUFCTEVfRlJFUVVFTkNZX0RSSVZFUlMgPSAnVmFyaWFibGVGcmVxdWVuY3lEcml2ZXMnLFxuICAgIEVMRUNUUklDX0hWQUMgPSAnSGVhdGluZywgdmVudGlsYXRpb24sIGFuZCBhaXIgY29uZGl0aW9uaW5nIChIVkFDKSBzeXN0ZW1zJyxcbiAgICBDT01QUkVTU0VEX0FJUl9TWVNURU1TID0gJ0NvbXByZXNzZWQgYWlyJyxcbiAgICBSRUZSSUdFUkFUSU9OX0NPT0xJTkdfU1lTVEVNUyA9ICdSZWZyaWdlcmF0aW9uIGFuZCBjb29saW5nJyxcbiAgICBQUk9DRVNTX0NPTlRST0xfQVVUT01BVElPTl9TWVNURU1TID0gJ1Byb2Nlc3MgY29udHJvbCBhbmQgYXV0b21hdGlvbicsXG4gICAgT0ZGSUNFX0VRVUlQTUVOVCA9ICdPZmZpY2UgZXF1aXBtZW50JyxcbiAgICBQUk9DRVNTX0VRVUlQTUVOVF9NQUNISU5FUyA9ICdQcm9jZXNzIGVxdWlwbWVudCBhbmQgbWFjaGluZXMnLFxuICAgIE1BVEVSSUFMX0hBTkRMSU5HX0VRVUlQTUVOVCA9ICdNYXRlcmlhbCBoYW5kbGluZyBlcXVpcG1lbnQnLFxuICAgIFBPV0VSX0RJU1RSSUJVVElPTl9DT05UUk9MX1NZU1RFTVMgPSAnUG93ZXIgZGlzdHJpYnV0aW9uIGFuZCBjb250cm9sJyxcbiAgICBQVU1QID0gJ1B1bXAnLFxuICAgIFBPV0VSX0RJU1RSSUJVVElPTl9TWVNURU1TID0gJ1Bvd2VyIGRpc3RyaWJ1dGlvbiBzeXN0ZW1zJyxcbiAgICBXSU5EX1BPV0VSID0gJ1dpbmQgUG93ZXInLFxuICAgIE5BVFVSQUxfR0FTX0dFTkVSQVRPUlMgPSAnTmF0dXJhbCBnYXMgZ2VuZXJhdG9ycycsXG4gICAgRUxFQ1RSSUNfSU5EVVNUUklBTF9NT1RPUlMgPSAnSW5kdXN0cmlhbCBtb3RvcnMnLFxuICAgIEdST1VORElORyA9ICdHcm91bmRpbmcnLFxuXG4gICAgLy8gRnVlbFxuICAgIEZVRUxTID0gJ0Z1ZWxzJyxcbiAgICBESUVTRUxfRlVFTFMgPSAnRGllc2VsRnVlbHMnLFxuICAgIEdBU09OX0xJTkVTID0gJ0dhc29ubGluZXMnLFxuICAgIEJJT0RJRVNFTFMgPSAnQmlvZGllc2VscycsXG4gICAgS0VST1NFTlNFID0gJ0tlcm9zZW5lcycsXG4gICAgUFJPUEFORVMgPSAnUHJvcGFuZXMnLFxuXG4gICAgVEFOS0VSX1RSVUNLUyA9ICdUYW5rZXIgVHJ1Y2tzJyxcbiAgICBQSVBFTElORSA9ICdQaXBlbGluZScsXG5cbiAgICBJTkRVU1RSSUFMX0JPSUxFUlMgPSAnSW5kdXN0cmlhbCBib2lsZXJzJyxcbiAgICBHRU5FUkFUT1JTID0gJ0dlbmVyYXRvcnMnLFxuICAgIElORFVTVFJJQUxfRlVSTkFDRVMgPSAnSW5kdXN0cmlhbCBmdXJuYWNlcycsXG4gICAgSU5EVVNUUklBTF9PVkVOUyA9ICdJbmR1c3RyaWFsIG92ZW5zJyxcbiAgICBJTkRVU1RSSUFMX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQgPSAnSW5kdXN0cmlhbCB2ZWhpY2xlcyBhbmQgZXF1aXBtZW50JyxcblxuICAgIEZVRUxfTUVURVJTID0gJ0Z1ZWxNZXRlcnMnLFxuICAgIEZVRUxfRElTUEVOU0VSUyA9ICdGdWVsRGlzcGVuc2VycycsXG4gICAgRlVFTF9TVFJPUkFHRV9UQU5LUyA9ICdGdWVsU3RvcmFnZVRhbmtzJyxcbiAgICBGVUVMX0ZJTFRSQVRJT05TID0gJ0Z1ZWxGaWx0cmF0aW9ucycsXG4gICAgRlVFTF9NQU5BR0VNRU5UUyA9ICdGdWVsTWFuYWdlbWVudHMnLFxuXG4gICAgLy8gR2FzXG4gICAgTkFUVVJBTF9HQVNfUElQRUxJTkVTID0gJ05hdHVyYWwgZ2FzIHBpcGVsaW5lcycsXG4gICAgTElRVUVGSUVEX05BVFVSQUxfR0FTID0gJ0xpcXVlZmllZCBuYXR1cmFsIGdhcycsXG4gICAgQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QSVBFTElORSA9ICdDb21wcmVzc2VkIG5hdHVyYWwgZ2FzIHBpcGVsaW5lJyxcbiAgICBPTl9TSVRFX1BST0RVQ1RJT04gPSAnT24tc2l0ZSBwcm9kdWN0aW9uJyxcbiAgICBDT01QUkVTU0VEX05BVFVSQUxfR0FTX1BST0RVQ1RJT04gPSAnQ29tcHJlc3NlZCBuYXR1cmFsIGdhcyBwcm9kdWN0aW9uJyxcbiAgICBCT0lMRVJTX0FORF9IRUFURVJTID0gJ0JvaWxlcnMgYW5kIGhlYXRlcnMnLFxuICAgIEZVUk5BQ0VTID0gJ0Z1cm5hY2VzJyxcbiAgICBQT1dFUl9HRU5FUkFUSU9OID0gJ1Bvd2VyIGdlbmVyYXRpb24nLFxuICAgIENPR0VORVJBVElPTiA9ICdDb2dlbmVyYXRpb24nLFxuICAgIENPTUJJTkVEX0NZQ0xFX1BPV0VSX1BMQU5UUyA9ICdDb21iaW5lZCBjeWNsZSBwb3dlciBwbGFudHMnLFxuICAgIEZVRUxfRk9SX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQgPSAnRnVlbCBmb3IgdmVoaWNsZXMgYW5kIGVxdWlwbWVudCcsXG4gICAgR0FTX01FVEVSUyA9ICdHYXMgbWV0ZXJzJyxcbiAgICBCVVJORVJTID0gJ0J1cm5lcnMnLFxuICAgIEZMVUVfR0FTX0FOQUxZWkVSUyA9ICdGbHVlIGdhcyBhbmFseXplcnMnLFxuICAgIENPTUJVU1RJT05fQ09OVFJPTF9TWVNURU1TID0gJ0NvbWJ1c3Rpb24gY29udHJvbCBzeXN0ZW1zJyxcbiAgICBHQVNfU1RPUkFHRV9UQU5LUyA9ICdHYXMgc3RvcmFnZSB0YW5rcycsXG4gICAgR0FTX1BSRVNTVVJFX1JFR1VMQVRPUlMgPSAnR2FzIHByZXNzdXJlIHJlZ3VsYXRvcnMnLFxuICAgIE5BVFVSQUxfR0FTID0gJ05hdHVyYWwgR2FzJyxcbiAgICAvLyBTb2xhclxuICAgIFNPTEFSX1BPV0VSID0gJ1NvbGFyIFBvd2VyJyxcbiAgICBQT1dFUl9DT05ESVRJT05JTkdfVU5JVCA9ICdQb3dlciBjb25kaXRpb25pbmcgdW5pdCAoUENVKScsXG4gICAgSU5WRVJURVJTID0gJ0ludmVydGVycycsXG4gICAgQkFUVEVSSUVTID0gJ0JhdHRlcmllcycsXG5cbiAgICAvLyBVbmNhdGVnb3JpemVkIG9mIFByb3h5IFBsYW50XG4gICAgVU5DQVRFR09SSVpFRCA9ICdVbmNhdGVnb3JpemVkJyxcblxuICAgIC8vIFBsYW50IENlbGxcbiAgICBQTEFOVF9DRUxMID0gJ1BsYW50IENlbGwnLFxuICAgIElOUFVUX1BMQU5UX0NFTEwgPSAnSW5wdXQgUGxhbnQgQ2VsbCcsXG4gICAgT1VUUFVUX1BMQU5UX0NFTEwgPSAnT3V0cHV0IFBsYW50IENlbGwnLFxuXG4gICAgUExBTlRfQ0VMTF9JTlBVVF9HUk9VUCA9ICdQQyBJbnB1dCBHcm91cCcsXG4gICAgUExBTlRfQ0VMTF9PVVRQVVRfR1JPVVAgPSAnUEMgT3V0cHV0IEdyb3VwJyxcblxuICAgIC8vIEltYWdlXG4gICAgSU1BR0VfVEVNUExBVEUgPSAnSW1hZ2UgVGVtcGxhdGUnLFxuICAgIFBBUkFNX1RBQkxFID0gJ1BhcmFtIFRhYmxlJyxcbiAgICBNQVNTX0JBTEFOQ0UgPSAnTWFzcyBCYWxhbmNlJyxcblxuICAgIC8vIFN0ZWFtIFR5cGVcbiAgICBTVEVBTV9QSVBFTElORSA9ICdTdGVhbSBwaXBlbGluZScsXG4gICAgVkFMVUVTID0gJ1ZhbHZlcycsXG4gICAgU1RFQU1fVFJBUFMgPSAnU3RlYW0gVHJhcHMnLFxuICAgIFBSRVNTVVJFX1JFR1VMQVRPUlMgPSAnUHJlc3N1cmUgUmVndWxhdG9yJyxcbiAgICBTQUZFVFlfVkFMVUVTX0FORF9FUVVJUE1FTlQgPSAnU2FmZXR5IFZhbHZlcyBhbmQgRXF1aXBtZW50JyxcbiAgICBDT05ERU5TQVRFX1JFVFVSTl9TWVNURU0gPSAnQ29uZGVuc2F0ZSBSZXR1cm4gU3lzdGVtJyxcbiAgICBERUFFUkFUT1JTID0gJ0RlYWVyYXRvcnMnLFxuICAgIEZFRURXQVRFUl9QVU1QUyA9ICdGZWVkd2F0ZXIgUHVtcHMnLFxuICAgIEJMT1dET1dOX1RBTktTID0gJ0Jsb3dkb3duIFRhbmtzJyxcbiAgICBFWFBBTlNJT05fVEFOS1MgPSAnRXhwYW5zaW9uIFRhbmtzJyxcbiAgICBIRUFUX0VYQ0hBTkdFUlMgPSAnSGVhdCBFeGNoYW5nZXJzJyxcbiAgICBUVVJCSU5FUyA9ICdUdXJiaW5lcycsXG5cbiAgICAvLyBQbGFudCBCYXNpY1xuICAgIEdST1VQX0JBU0lDX0NPTVBPTkVOVCA9ICdHcm91cCBCYXNpYyBDb21wb25lbnQnLFxuICAgIFRFWFRfTEFCRUwgPSAnbGFiZWwnLFxuXG4gICAgUFJFU1NVUklaRURfVUZfV0FURVJfVFJFQVRNRU5UUyA9ICdQcmVzc3VyaXplZCBVRicsXG4gICAgSU1NRVJTRURfVUZfV0FURVJfVFJFQVRNRU5UUyA9ICdJbW1lcnNlZCBVRicsXG4gICAgLy8gVHlwZSBHcm91cCBkdXBsaWNhdGUgRW5lcmd5IHdpdGggV2F0ZXJcbiAgICBCT0lMRVJfRU5FUkdZID0gJ0JvaWxlciBFbmVyZ3knLFxuICAgIENPT0xJTkdfVE9XRVJfRU5FUkdZID0gJ0Nvb2xpbmcgVG93ZXIgRW5lcmd5JyxcbiAgfVxuXG4gIC8vIFN5c3RlbSBUeXBlc1xuICBleHBvcnQgZW51bSBFTlVNX1RZUEVTIHtcbiAgICBTVE9SQUdFID0gJ1dhdGVyU3RvcmFnZVRhbmtzJyxcblxuICAgIFdBVEVSX1RSRUFUTUVOVCA9ICdXYXRlclRyZWF0bWVudFByb2Nlc3NlcycsXG4gICAgREVNSU5fV0FURVJfVFJFQVRNRU5UID0gJ0RlbWluV2F0ZXJUcmVhdG1lbnRzJyxcbiAgICBST19XQVRFUl9UUkVBVE1FTlQgPSAnUk9XYXRlclRyZWF0bWVudHMnLFxuXG4gICAgUFJPQ0VTUyA9ICdHZW5lcmljUHJvY2Vzc2VzJyxcbiAgICBTUEVDSUFMX1NUT1JBR0UgPSAnU1RPUkFHRScsXG5cbiAgICBXQVNURVdBVEVSX1RSRUFUTUVOVCA9ICdXYXN0ZVdhdGVyVHJlYXRtZW50UHJvY2Vzc2VzJyxcbiAgICBEQUZfV0FTVEVXQVRFUl9UUkVBVE1FTlQgPSAnREFGV2FzdGVXYXRlclRyZWF0bWVudHMnLFxuICAgIEVUUF9XQVNURVdBVEVSX1RSRUFUTUVOVCA9ICdFVFBXYXN0ZVdhdGVyVHJlYXRtZW50cycsXG4gICAgTUJSX1dBU1RFV0FURVJfVFJFQVRNRU5UID0gJ01CUldhc3RlV2F0ZXJUcmVhdG1lbnRzJyxcbiAgICBaTERfV0FTVEVXQVRFUl9UUkVBVE1FTlQgPSAnWkxEV2FzdGVXYXRlclRyZWF0bWVudHMnLFxuXG4gICAgRE9NRVNUSUNfVVNFID0gJ0RvbWVzdGljVXNlJyxcbiAgICBDT09MSU5HX1RPV0VSID0gJ0Nvb2xpbmdUb3dlcnMnLFxuICAgIEJPSUxFUiA9ICdCb2lsZXJzJyxcbiAgICBPVEhFUiA9ICdPdGhlcldhdGVyVXNlJyxcbiAgICBMQU5EU0NBUElOR19JUlJJR0FUSU9OID0gJ0lycmlnYXRpb25Vc2UnLFxuXG4gICAgRlJFU0hfU1VSRkFDRV9XQVRFUiA9ICdGcmVzaCBzdXJmYWNlIHdhdGVyJywgLy8gJ1JBSU5fV0FURVInLFxuICAgIFRISVJEX1BBUlRZX1NPVVJDRVMgPSAnVGhpcmQgcGFydHkgc291cmNlcycsIC8vIFRBTktFUlxuICAgIFRISVJEX1BBUlRZX0RFU1RJTkFUSU9OUyA9ICdUaGlyZCBwYXJ0eSBkZXN0aW5hdGlvbnMnLFxuICAgIEdST1VORF9XQVRFUl9OT05fUkVORVdBQkxFID0gJ0dyb3VuZHdhdGVyIC0gbm9uLXJlbmV3YWJsZScsXG4gICAgUFJPRFVDRURfRU5UUkFJTkVEID0gJ1Byb2R1Y2VkIC8gZW50cmFpbmVkIHdhdGVyJyxcblxuICAgIC8vIEZSRVNIX1NVUkZBQ0VfV0FFUiA9ICdGcmVzaCBzdXJmYWNlIHdhdGVyJyxcbiAgICBCUkFDS0lTSF9TVVJGQUNFX1dBVEVSID0gJ0JyYWNraXNoIHN1cmZhY2Ugd2F0ZXIvIHNlYXdhdGVyJyxcbiAgICBHUk9VTkRfV0FURVJfUkVORVdBQkxFID0gJ0dyb3VuZHdhdGVyIC0gUmVuZXdhYmxlJyxcblxuICAgIFRBTktFUl9XQVRFUiA9ICdUYW5rZXIgV2F0ZXInLFxuICAgIC8vIEVORVJHWVxuICAgIFpPTkUgPSAnRW5lcmd5Wm9uZXMnLFxuICAgIC8vIEVsZWN0cmljXG4gICAgRUxFQ1RSSUNfU09VUkNFUyA9ICdFbGVjdHJpY1NvdXJjZXMnLFxuICAgIEdSSUQgPSAnR3JpZCBQb3dlcicsXG4gICAgRElFU0VMX0dFTkVSQVRPUlMgPSAnRGllc2VsIEdlbmVyYXRvcnMnLFxuICAgIEVMRUNUUklDX01FVEVSUyA9ICdFbGVjdHJpY01ldGVycycsXG4gICAgVFJBTlNGT1JNRVJTID0gJ1RyYW5zZm9ybWVycycsXG4gICAgLy8gRWxlY3RyaWMgTmV3XG4gICAgQkFUVEVSWV9FTkVSR1lfU1RPUkFHRSA9ICdCYXR0ZXJ5IGVuZXJneSBzdG9yYWdlJyxcbiAgICBFTEVDVFJJQ19QUk9EVUNUSU9OUyA9ICdFbGVjdHJpY1Byb2R1Y3Rpb25zJyxcbiAgICBFTEVDVFJJQ19DT01TVU1JTkdTID0gJ0VsZWN0cmljQ29uc3VtaW5ncycsXG4gICAgRUxFQ1RSSUNfU1RPUkFHRVMgPSAnRWxlY3RyaWNpdHlTdG9yYWdlcycsXG4gICAgRUxFQ1RSSUNfRkxZV0hFRUxfRU5FUkdZX1NUT1JBR0UgPSAnRmx5d2hlZWwgZW5lcmd5IHN0b3JhZ2UnLFxuICAgIFBVTVBFRF9IWURST19TVE9SQUdFID0gJ1B1bXBlZCBoeWRybyBzdG9yYWdlJyxcbiAgICBUSEVSTUFMX0VORVJHWV9TVE9SQUdFID0gJ1RoZXJtYWwgZW5lcmd5IHN0b3JhZ2UnLFxuICAgIFNVUEVSX0NBUEFDSVRPUl9FTkVSR1lfU1RPUkFHRSA9ICdTdXBlcmNhcGFjaXRvciBlbmVyZ3kgc3RvcmFnZScsXG4gICAgU1dJVENIX0dFQVJTID0gJ1N3aXRjaGdlYXJzJyxcbiAgICBNT1RPUl9DT05UUk9MUyA9ICdNb3RvckNvbnRyb2xzJyxcbiAgICBWQVJJQUJMRV9GUkVRVUVOQ1lfRFJJVkVSUyA9ICdWYXJpYWJsZUZyZXF1ZW5jeURyaXZlcycsXG4gICAgTElHSFRJTkdfU1lTVEVNUyA9ICdMaWdodGluZyBzeXN0ZW1zJyxcbiAgICBMSUdIVElOR1MgPSAnTGlnaHRpbmdzJyxcbiAgICBFTEVDVFJJQ19IVkFDID0gJ0hlYXRpbmcsIHZlbnRpbGF0aW9uLCBhbmQgYWlyIGNvbmRpdGlvbmluZyAoSFZBQykgc3lzdGVtcycsXG4gICAgQ09NUFJFU1NFRF9BSVJfU1lTVEVNUyA9ICdDb21wcmVzc2VkIGFpcicsXG4gICAgUkVGUklHRVJBVElPTl9DT09MSU5HX1NZU1RFTVMgPSAnUmVmcmlnZXJhdGlvbiBhbmQgY29vbGluZycsXG4gICAgUFJPQ0VTU19DT05UUk9MX0FVVE9NQVRJT05fU1lTVEVNUyA9ICdQcm9jZXNzIGNvbnRyb2wgYW5kIGF1dG9tYXRpb24nLFxuICAgIFBST0NFU1NfRVFVSVBNRU5UX01BQ0hJTkVTID0gJ1Byb2Nlc3MgZXF1aXBtZW50IGFuZCBtYWNoaW5lcycsXG4gICAgT0ZGSUNFX0VRVUlQTUVOVCA9ICdPZmZpY2UgZXF1aXBtZW50JyxcbiAgICBNQVRFUklBTF9IQU5ETElOR19FUVVJUE1FTlQgPSAnTWF0ZXJpYWwgaGFuZGxpbmcgZXF1aXBtZW50JyxcbiAgICBQT1dFUl9ESVNUUklCVVRJT05fQ09OVFJPTF9TWVNURU1TID0gJ1Bvd2VyIGRpc3RyaWJ1dGlvbiBhbmQgY29udHJvbCcsXG4gICAgUFVNUCA9ICdQdW1wJyxcbiAgICBQT1dFUl9ESVNUUklCVVRJT05fU1lTVEVNUyA9ICdQb3dlckRpc3RyaWJ1dGlvbnMnLFxuICAgIFdJTkRfUE9XRVIgPSAnV2luZCBQb3dlcicsXG4gICAgTkFUVVJBTF9HQVNfR0VORVJBVE9SUyA9ICdOYXR1cmFsIGdhcyBnZW5lcmF0b3JzJyxcbiAgICBFTEVDVFJJQ19JTkRVU1RSSUFMX01PVE9SUyA9ICdJbmR1c3RyaWFsIG1vdG9ycycsXG4gICAgR1JPVU5ESU5HID0gJ0dyb3VuZGluZ3MnLFxuICAgIEVsZWN0cmljYWxzID0gJ0VsZWN0cmljYWxzJyxcblxuICAgIC8vIEdhc1xuICAgIE5BVFVSQUxfR0FTX1BJUEVMSU5FUyA9ICdOYXR1cmFsIGdhcyBwaXBlbGluZXMnLFxuICAgIExJUVVFRklFRF9OQVRVUkFMX0dBUyA9ICdMaXF1ZWZpZWQgbmF0dXJhbCBnYXMgKExORykgc2hpcG1lbnRzJyxcbiAgICBDT01QUkVTU0VEX05BVFVSQUxfR0FTX1BJUEVMSU5FID0gJ0NvbXByZXNzZWQgbmF0dXJhbCBnYXMgcGlwZWxpbmUgKENORyknLFxuICAgIE9OX1NJVEVfUFJPRFVDVElPTiA9ICdPbi1zaXRlIHByb2R1Y3Rpb24nLFxuICAgIENPTVBSRVNTRURfTkFUVVJBTF9HQVNfUFJPRFVDVElPTiA9ICdDb21wcmVzc2VkIG5hdHVyYWwgZ2FzIHByb2R1Y3Rpb24gKENORyknLFxuICAgIEJPSUxFUlNfQU5EX0hFQVRFUlMgPSAnQm9pbGVycyBhbmQgaGVhdGVycycsXG4gICAgRlVSTkFDRVMgPSAnRnVybmFjZXMnLFxuICAgIFBPV0VSX0dFTkVSQVRJT04gPSAnUG93ZXIgZ2VuZXJhdGlvbicsXG4gICAgQ09HRU5FUkFUSU9OID0gJ0NvZ2VuZXJhdGlvbicsXG4gICAgQ09NQklORURfQ1lDTEVfUE9XRVJfUExBTlRTID0gJ0NvbWJpbmVkIGN5Y2xlIHBvd2VyIHBsYW50cycsXG4gICAgRlVFTF9GT1JfVkVISUNMRVNfQU5EX0VRVUlQTUVOVCA9ICdGdWVsIGZvciB2ZWhpY2xlcyBhbmQgZXF1aXBtZW50JyxcbiAgICBHQVNfTUVURVJTID0gJ0dhc01ldGVycycsXG4gICAgQlVSTkVSUyA9ICdCdXJuZXJzJyxcbiAgICBGTFVFX0dBU19BTkFMWVpFUlMgPSAnRmx1ZUdhc0FuYWx5emVycycsXG4gICAgQ09NQlVTVElPTl9DT05UUk9MX1NZU1RFTVMgPSAnQ29uYnVzdGlvbkNvbnRyb2xzJyxcbiAgICBHQVNfU1RPUkFHRV9UQU5LUyA9ICdHYXNTdG9yYWdlVGFua3MnLFxuICAgIEdBU19QUkVTU1VSRV9SRUdVTEFUT1JTID0gJ0dhc1ByZXNzdXJlUmVndWxhdG9ycycsXG4gICAgTkFUVVJBTF9HQVMgPSAnTmF0dXJhbCBHYXMnLFxuICAgIC8vIFRZUEVfQ09NUE9ORU5UIEdhc1xuICAgIEdBU19TT1VSQ0UgPSAnR2FzU291cmNlcycsXG4gICAgR0FTX1BST0RVQ1RJT04gPSAnR2FzUHJvZHVjdGlvbnMnLFxuICAgIEdBU19DT05TVU1JTkdTID0gJ0dhc0NvbnN1bWluZ3MnLFxuICAgIE5BVFVSQUxfR0FTX1NQRUNJQUwgPSAnTmF0dXJhbEdhc2VzJyxcblxuICAgIC8vIEZ1ZWxcbiAgICBGVUVMUyA9ICdGdWVscycsXG4gICAgRElFU0VMX0ZVRUxTID0gJ0RpZXNlbEZ1ZWxzJyxcbiAgICBHQVNPTl9MSU5FUyA9ICdHYXNvbmxpbmVzJyxcbiAgICBCSU9ESUVTRUxTID0gJ0Jpb2RpZXNlbHMnLFxuICAgIEtFUk9TRU5TRSA9ICdLZXJvc2VuZXMnLFxuICAgIFBST1BBTkVTID0gJ1Byb3BhbmVzJyxcblxuICAgIEZVRUxfU09VUkNFUyA9ICdGdWVsU291cmNlcycsXG5cbiAgICBUQU5LRVJfVFJVQ0tTID0gJ1RhbmtlciBUcnVja3MnLFxuICAgIFBJUEVMSU5FID0gJ1BpcGVsaW5lJyxcblxuICAgIEZVRUxfQ09OU1VNSU5HUyA9ICdGdWVsQ29uc3VtaW5ncycsXG5cbiAgICBJTkRVU1RSSUFMX0JPSUxFUlMgPSAnSW5kdXN0cmlhbCBib2lsZXJzJyxcbiAgICBHRU5FUkFUT1JTID0gJ0dlbmVyYXRvcnMnLFxuICAgIElORFVTVFJJQUxfRlVSTkFDRVMgPSAnSW5kdXN0cmlhbCBmdXJuYWNlcycsXG4gICAgSU5EVVNUUklBTF9PVkVOUyA9ICdJbmR1c3RyaWFsIG92ZW5zJyxcbiAgICBJTkRVU1RSSUFMX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQgPSAnSW5kdXN0cmlhbCB2ZWhpY2xlcyBhbmQgZXF1aXBtZW50JyxcblxuICAgIEZVRUxfTUVURVJTID0gJ0Z1ZWxNZXRlcnMnLFxuICAgIEZVRUxfRElTUEVOU0VSUyA9ICdGdWVsRGlzcGVuc2VycycsXG4gICAgRlVFTF9TVFJPUkFHRV9UQU5LUyA9ICdGdWVsU3RvcmFnZVRhbmtzJyxcbiAgICBGVUVMX0ZJTFRSQVRJT05TID0gJ0Z1ZWxGaWx0cmF0aW9ucycsXG4gICAgRlVFTF9NQU5BR0VNRU5UUyA9ICdGdWVsTWFuYWdlbWVudHMnLFxuXG4gICAgLy8gU29sYXJcbiAgICBTT0xBUl9QT1dFUiA9ICdTb2xhciBQb3dlcicsXG4gICAgUE9XRVJfQ09ORElUSU9OSU5HX1VOSVQgPSAnUG93ZXIgY29uZGl0aW9uaW5nIHVuaXQgKFBDVSknLFxuICAgIElOVkVSVEVSUyA9ICdJbnZlcnRlcnMnLFxuICAgIEJBVFRFUklFUyA9ICdCYXR0ZXJpZXMnLFxuXG4gICAgLy8gUGxhbnQgQ2VsbFxuICAgIFBMQU5UX0NFTEwgPSAnUGxhbnRDZWxscycsXG4gICAgUExBTlRfQ0VMTF9JTlBVVF9HUk9VUCA9ICdQQyBJbnB1dCBHcm91cCcsXG4gICAgUExBTlRfQ0VMTF9PVVRQVVRfR1JPVVAgPSAnUEMgT3V0cHV0IEdyb3VwJyxcblxuICAgIC8vIFN0ZWFtXG4gICAgU1RFQU1fU09VUkNFUyA9ICdTdGVhbVNvdXJjZXMnLFxuICAgIFNURUFNX1BJUEVMSU5FID0gJ1N0ZWFtIHBpcGVsaW5lJyxcbiAgICBWQUxVRVMgPSAnVmFsdmVzJyxcbiAgICBTVEVBTV9UUkFQUyA9ICdTdGVhbSBUcmFwcycsXG4gICAgUFJFU1NVUkVfUkVHVUxBVE9SUyA9ICdQcmVzc3VyZSBSZWd1bGF0b3InLFxuICAgIFNBRkVUWV9WQUxVRVNfQU5EX0VRVUlQTUVOVCA9ICdTYWZldHkgVmFsdmVzIGFuZCBFcXVpcG1lbnQnLFxuICAgIENPTkRFTlNBVEVfUkVUVVJOX1NZU1RFTSA9ICdDb25kZW5zYXRlIFJldHVybiBTeXN0ZW0nLFxuICAgIERFQUVSQVRPUlMgPSAnRGVhZXJhdG9ycycsXG4gICAgRkVFRFdBVEVSX1BVTVBTID0gJ0ZlZWR3YXRlciBQdW1wcycsXG4gICAgQkxPV0RPV05fVEFOS1MgPSAnQmxvd2Rvd24gVGFua3MnLFxuICAgIEVYUEFOU0lPTl9UQU5LUyA9ICdFeHBhbnNpb24gVGFua3MnLFxuICAgIEhFQVRfRVhDSEFOR0VSUyA9ICdTdGVhbUNvbnN1bWluZ3MnLFxuICAgIFRVUkJJTkVTID0gJ0VuZXJneUNvbnZlcnRlcnMnLFxuXG4gICAgU1RFQU1fQ09NUE9ORU5UID0gJ1N0ZWFtQ29tcG9uZW50cycsXG4gICAgU1RFQU1fQ09OU1VNSU5HX1NZU1RFTSA9ICdTdGVhbUNvbnN1bWluZ3MnLFxuICAgIEVORVJHWV9DT05WRVJURVIgPSAnRW5lcmd5Q29udmVydGVycycsXG5cbiAgICBQUkVTU1VSSVpFRF9VRl9XQVRFUl9UUkVBVE1FTlRTID0gJ1ByZXNzdXJpemVkVUZXYXRlclRyZWF0bWVudHMnLFxuICAgIElNTUVSU0VEX1VGX1dBVEVSX1RSRUFUTUVOVFMgPSAnSW1tZXJzZWRVRldhdGVyVHJlYXRtZW50cycsXG4gICAgLy8gU3lzdGVtIFR5cGUgR3JvdXAgZHVwbGljYXRlIEVuZXJneSB3aXRoIFdhdGVyXG4gICAgQk9JTEVSX0VORVJHWSA9ICdCb2lsZXIgRW5lcmd5JyxcbiAgICBDT09MSU5HX1RPV0VSX0VORVJHWSA9ICdDb29saW5nVG93ZXJzIEVuZXJneScsXG4gIH1cblxuICBleHBvcnQgZW51bSBFTlVNX0NBVEVHT1JZIHt9XG5cbiAgZXhwb3J0IGVudW0gREFUQV9DT0xMRUNUSU9OX01FVEhPRCB7XG4gICAgTUVBU1VSRUQgPSAnTWVhc3VyZWQnLFxuICAgIE1BTlVBTCA9ICdNYW51YWwnLFxuICAgIENPTVBVVEVEID0gJ0NvbXB1dGVkJyxcbiAgICBFU1RJTUFURUQgPSAnRXN0aW1hdGVkJyxcbiAgICBXQVRFUl9DQVBBQ0lUWSA9ICdXYXRlciBDYXBhY2l0eScsXG4gICAgS0VZX01PREVMX0NPTVBVVEVEID0gJ00nLFxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IENPTE9SX0NPTExFQ1RJT05fTUVUSE9EOiB7XG4gICAgW2tleSBpbiBBdG9Hb2pzRWRpdG9yTW9kZWwuREFUQV9DT0xMRUNUSU9OX01FVEhPRF06IGFueTtcbiAgfSA9IHtcbiAgICBbREFUQV9DT0xMRUNUSU9OX01FVEhPRC5NRUFTVVJFRF06IHtcbiAgICAgIG5hbWU6IERBVEFfQ09MTEVDVElPTl9NRVRIT0QuTUVBU1VSRUQsXG4gICAgICBjb2xvcjogRU5VTV9DT0xPUlMuUkVELFxuICAgICAgY2xhc3NOYW1lQ29sb3I6ICdjb2xvci1idXJudC1zaWVubmEnLFxuICAgIH0sXG4gICAgW0RBVEFfQ09MTEVDVElPTl9NRVRIT0QuTUFOVUFMXToge1xuICAgICAgbmFtZTogREFUQV9DT0xMRUNUSU9OX01FVEhPRC5NQU5VQUwsXG4gICAgICBjb2xvcjogRU5VTV9DT0xPUlMuRUxGX0dSRUVOLFxuICAgICAgY2xhc3NOYW1lQ29sb3I6ICdjb2xvci1lbGYtZ3JlZW4nLFxuICAgIH0sXG4gICAgW0RBVEFfQ09MTEVDVElPTl9NRVRIT0QuQ09NUFVURURdOiB7XG4gICAgICBuYW1lOiBEQVRBX0NPTExFQ1RJT05fTUVUSE9ELkNPTVBVVEVELFxuICAgICAgY29sb3I6IEVOVU1fQ09MT1JTLkNFUlVMRUFOLFxuICAgICAgY2xhc3NOYW1lQ29sb3I6ICdjb2xvci1jZXJ1bGVhbicsXG4gICAgfSxcbiAgICBbREFUQV9DT0xMRUNUSU9OX01FVEhPRC5FU1RJTUFURURdOiB7XG4gICAgICBuYW1lOiBEQVRBX0NPTExFQ1RJT05fTUVUSE9ELkVTVElNQVRFRCxcbiAgICAgIGNvbG9yOiBFTlVNX0NPTE9SUy5NRURJVU1fUkVEX1ZJT0xFVCxcbiAgICAgIGNsYXNzTmFtZUNvbG9yOiAnY29sb3ItbWVkaXVtLXJlZC12aW9sZXQnLFxuICAgIH0sXG4gICAgW0RBVEFfQ09MTEVDVElPTl9NRVRIT0QuV0FURVJfQ0FQQUNJVFldOiB7XG4gICAgICBuYW1lOiBEQVRBX0NPTExFQ1RJT05fTUVUSE9ELldBVEVSX0NBUEFDSVRZLFxuICAgICAgY29sb3I6IEVOVU1fQ09MT1JTLlZJVklEX1ZJT0xFVCxcbiAgICAgIGNsYXNzTmFtZUNvbG9yOiAnY29sb3Itdml2aWQtdmlvbGV0JyxcbiAgICB9LFxuICAgIFtEQVRBX0NPTExFQ1RJT05fTUVUSE9ELktFWV9NT0RFTF9DT01QVVRFRF06IHtcbiAgICAgIG5hbWU6IERBVEFfQ09MTEVDVElPTl9NRVRIT0QuS0VZX01PREVMX0NPTVBVVEVELFxuICAgICAgY29sb3I6IEVOVU1fQ09MT1JTLkdSQVksXG4gICAgICBjbGFzc05hbWVDb2xvcjogJ2NvbG9yLWJhbGktaGFpJyxcbiAgICB9LFxuICB9O1xuXG4gIC8vIGV4cG9ydCBlbnVtIFdJVEhfRFJBV19UWVBFUyB7XG4gIC8vICAgICBUQU5LRVIgPSAnVGFua2VyJyxcbiAgLy8gICAgIFJBSU5fV0FURVIgPSAnUmFpbndhdGVyJyxcbiAgLy8gfVxuXG4gIGV4cG9ydCBlbnVtIFdJVEhfRFJBV19TWVNURU1fVFlQRVMge1xuICAgIFdBVEVSX1NPVVJDRSA9ICdXYXRlclNvdXJjZScsXG4gIH1cblxuICAvLyBleHBvcnQgZW51bSBESVNDSEFSR0VfVFlQRVMge1xuICAvLyAgICAgR1JPVU5EX1dBVEVSX1JFTkVXQUJMRSA9ICdHcm91bmQgV2F0ZXIgUmVuZXdhYmxlJyxcbiAgLy8gfVxuXG4gIGV4cG9ydCBlbnVtIERJU0NIQVJHRV9UWVBFU19TWVNURU1fVFlQRVMge1xuICAgIEdST1VORF9XQVRFUl9SQU5FV0FCTEUgPSAnR3JvdW5kV2F0ZXJSZW5ld2FibGUnLFxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IFdhdGVyV2l0aGRyYXdTb3VyY2VzID0gJ1dhdGVyV2l0aGRyYXdTb3VyY2VzJztcbiAgZXhwb3J0IGNvbnN0IFdhdGVyV2l0aGRyYXdTb3VyY2VzUGF0aCA9XG4gICAgJ0dldEZsb3dUb3BvbG9neS5QbGFudC5XYXRlcldpdGhkcmF3U291cmNlcy5Db21wb25lbnRXYXRlckZsb3cuSW5GbG93cy5JbmZsb3dXYXRlclJlY29yZC5RdWFudGl0eVBhcmFtcyc7XG5cbiAgZXhwb3J0IGNvbnN0IFdhdGVyRGlzY2hhcmdlRGVzdGluYXRpb25zID0gJ1dhdGVyRGlzY2hhcmdlRGVzdGluYXRpb25zJztcbiAgZXhwb3J0IGNvbnN0IFdhdGVyRGlzY2hhcmdlRGVzdGluYXRpb25zUGF0aCA9XG4gICAgJ0dldEZsb3dUb3BvbG9neS5QbGFudC5XYXRlckRpc2NoYXJnZURlc3RpbmF0aW9ucy5Db21wb25lbnRXYXRlckZsb3cuSW5GbG93cy5JbmZsb3dXYXRlclJlY29yZC5RdWFudGl0eVBhcmFtcyc7XG5cbiAgZXhwb3J0IGNvbnN0IFNPVVJDRVNfQ09NUE9ORU5UUyA9IFtcbiAgICBXYXRlcldpdGhkcmF3U291cmNlcyxcbiAgICBXYXRlckRpc2NoYXJnZURlc3RpbmF0aW9ucyxcbiAgICBFTlVNX1RZUEVTLkVMRUNUUklDX1NPVVJDRVMsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19QUk9EVUNUSU9OUyxcbiAgICBFTlVNX1RZUEVTLkdBU19TT1VSQ0UsXG4gICAgRU5VTV9UWVBFUy5HQVNfUFJPRFVDVElPTixcbiAgICBFTlVNX1RZUEVTLkZVRUxfU09VUkNFUyxcbiAgICAvLyBFTlVNX1RZUEVTLkZVRUxfU1RPUkFHRV9UQU5LUyxcbiAgXTtcblxuICBleHBvcnQgY29uc3QgU09VUkNFU19XSVRIRFJBVyA9IFtcbiAgICBXYXRlcldpdGhkcmF3U291cmNlcyxcbiAgICBFTlVNX1RZUEVTLkVMRUNUUklDX1NPVVJDRVMsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19QUk9EVUNUSU9OUyxcbiAgICBFTlVNX1RZUEVTLkdBU19TT1VSQ0UsXG4gICAgRU5VTV9UWVBFUy5HQVNfUFJPRFVDVElPTixcbiAgICBFTlVNX1RZUEVTLkZVRUxfU09VUkNFUyxcbiAgICAvLyBFTlVNX1RZUEVTLkZVRUxfU1RPUkFHRV9UQU5LUyxcbiAgXTtcblxuICBleHBvcnQgY29uc3QgU09VUkNFU19ESVNDSEFSR0UgPSBbXG4gICAgV2F0ZXJEaXNjaGFyZ2VEZXN0aW5hdGlvbnMsXG4gICAgLy8gRU5VTV9UWVBFUy5FTEVDVFJJQ19TT1VSQ0VTLFxuICAgIC8vIEVOVU1fVFlQRVMuRUxFQ1RSSUNfUFJPRFVDVElPTlMsXG4gICAgLy8gRU5VTV9UWVBFUy5HQVNfU09VUkNFLFxuICAgIC8vIEVOVU1fVFlQRVMuR0FTX1BST0RVQ1RJT04sXG4gICAgLy8gRU5VTV9UWVBFUy5GVUVMX1NPVVJDRVMsXG4gIF07XG5cbiAgZXhwb3J0IGNvbnN0IENPTVBPTkVOVFNfSEFWRV9TUEVDSUFMX0NBVEVHT1JZID0gW1xuICAgIC8vIFdhdGVyXG4gICAgV2F0ZXJXaXRoZHJhd1NvdXJjZXMsXG4gICAgV2F0ZXJEaXNjaGFyZ2VEZXN0aW5hdGlvbnMsXG5cbiAgICAvLyBFTlVNX1RZUEVTLkZSRVNIX1NVUkZBQ0VfV0FFUixcbiAgICAvLyBFTlVNX1RZUEVTLlRISVJEX1BBUlRZX1NPVVJDRVMsXG4gICAgLy8gRU5VTV9UWVBFUy5HUk9VTkRfV0FURVJfTk9OX1JFTkVXQUJMRSxcbiAgICAvLyBFTlVNX1RZUEVTLlBST0RVQ0VEX0VOVFJBSU5FRCxcbiAgICAvLyBFTlVNX1RZUEVTLkJSQUNLSVNIX1NVUkZBQ0VfV0FURVIsXG4gICAgLy8gRU5VTV9UWVBFUy5HUk9VTkRfV0FURVJfUkVORVdBQkxFLFxuXG4gICAgLy8gRW5lcmd5XG4gICAgRU5VTV9UWVBFUy5aT05FLFxuICAgIC8vIEVsZWN0cmljPT09PT09PT09PT09PT09PT09PVxuICAgIEVOVU1fVFlQRVMuR1JJRCxcbiAgICBFTlVNX1RZUEVTLkVMRUNUUklDX1BST0RVQ1RJT05TLFxuICAgIEVOVU1fVFlQRVMuRElFU0VMX0dFTkVSQVRPUlMsXG4gICAgRU5VTV9UWVBFUy5OQVRVUkFMX0dBU19HRU5FUkFUT1JTLFxuICAgIEVOVU1fVFlQRVMuU09MQVJfUE9XRVIsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19TT1VSQ0VTLFxuICAgIEVOVU1fVFlQRVMuRWxlY3RyaWNhbHMsXG4gICAgLy8gRU5VTV9UWVBFUy5FTEVDVFJJQ19DT01TVU1JTkdTLFxuICAgIC8vIEVOVU1fVFlQRVMuRUxFQ1RSSUNfU1RPUkFHRVMsXG4gICAgLy8gRU5VTV9UWVBFUy5QUk9DRVNTX0NPTlRST0xfQVVUT01BVElPTl9TWVNURU1TLFxuICAgIC8vIEVOVU1fVFlQRVMuUE9XRVJfRElTVFJJQlVUSU9OX0NPTlRST0xfU1lTVEVNUyxcblxuICAgIC8vIEdhcz09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIEVOVU1fVFlQRVMuTkFUVVJBTF9HQVNfUElQRUxJTkVTLFxuICAgIEVOVU1fVFlQRVMuR0FTX1NPVVJDRSxcbiAgICBFTlVNX1RZUEVTLkdBU19QUk9EVUNUSU9OLFxuICAgIEVOVU1fVFlQRVMuTElRVUVGSUVEX05BVFVSQUxfR0FTLFxuICAgIEVOVU1fVFlQRVMuT05fU0lURV9QUk9EVUNUSU9OLFxuICAgIEVOVU1fVFlQRVMuTkFUVVJBTF9HQVNfUElQRUxJTkVTLFxuICAgIEVOVU1fVFlQRVMuTElRVUVGSUVEX05BVFVSQUxfR0FTLFxuICAgIEVOVU1fVFlQRVMuQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QUk9EVUNUSU9OLFxuICAgIC8vIEVOVU1fVFlQRVMuQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QSVBFTElORSxcbiAgICAvLyBFTlVNX1RZUEVTLkNPTVBSRVNTRURfTkFUVVJBTF9HQVNfUFJPRFVDVElPTixcbiAgICAvLyBFTlVNX1RZUEVTLkZVUk5BQ0VTLFxuICAgIC8vIEVOVU1fVFlQRVMuUE9XRVJfR0VORVJBVElPTixcbiAgICAvLyBFTlVNX1RZUEVTLkNPR0VORVJBVElPTixcbiAgICAvLyBFTlVNX1RZUEVTLkNPTUJJTkVEX0NZQ0xFX1BPV0VSX1BMQU5UUyxcbiAgICAvLyBFTlVNX1RZUEVTLkZVRUxfRk9SX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQsXG4gICAgRU5VTV9UWVBFUy5OQVRVUkFMX0dBU19TUEVDSUFMLFxuICAgIC8vRnVlbD09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEVOVU1fVFlQRVMuRlVFTF9TT1VSQ0VTLFxuICAgIEVOVU1fVFlQRVMuVEFOS0VSX1RSVUNLUyxcbiAgICBFTlVNX1RZUEVTLlBJUEVMSU5FLFxuICAgIEVOVU1fVFlQRVMuRlVFTFMsXG4gIF07XG5cbiAgZXhwb3J0IGNvbnN0IFdJVEhfRFJBV19UWVBFX0xJU1QgPSBbXG4gICAgRU5VTV9UWVBFUy5USElSRF9QQVJUWV9TT1VSQ0VTLFxuICAgIEVOVU1fVFlQRVMuRlJFU0hfU1VSRkFDRV9XQVRFUixcbiAgICBFTlVNX1RZUEVTLkJSQUNLSVNIX1NVUkZBQ0VfV0FURVIsXG4gICAgRU5VTV9UWVBFUy5HUk9VTkRfV0FURVJfUkVORVdBQkxFLFxuICAgIEVOVU1fVFlQRVMuR1JPVU5EX1dBVEVSX05PTl9SRU5FV0FCTEUsXG4gICAgRU5VTV9UWVBFUy5QUk9EVUNFRF9FTlRSQUlORUQsXG4gIF0gYXMgc3RyaW5nW107XG4gIGV4cG9ydCBjb25zdCBESVNDSEFSR0VfVFlQRV9MSVNUID0gW1xuICAgIEVOVU1fVFlQRVMuRlJFU0hfU1VSRkFDRV9XQVRFUixcbiAgICBFTlVNX1RZUEVTLkJSQUNLSVNIX1NVUkZBQ0VfV0FURVIsXG4gICAgRU5VTV9UWVBFUy5HUk9VTkRfV0FURVJfUkVORVdBQkxFLFxuICAgIEVOVU1fVFlQRVMuVEhJUkRfUEFSVFlfREVTVElOQVRJT05TLFxuICBdIGFzIHN0cmluZ1tdO1xuXG4gIGV4cG9ydCBjb25zdCBXSVRIX0RSQVdfU1lTVEVNX1RZUEVfTElTVCA9IFtcbiAgICBXSVRIX0RSQVdfU1lTVEVNX1RZUEVTLldBVEVSX1NPVVJDRSxcbiAgXTtcbiAgZXhwb3J0IGNvbnN0IERJU0NIQVJHRV9TWVNURU1fVFlQRV9MSVNUID0gW1xuICAgIERJU0NIQVJHRV9UWVBFU19TWVNURU1fVFlQRVMuR1JPVU5EX1dBVEVSX1JBTkVXQUJMRSxcbiAgXTtcblxuICAvLyBzeXN0ZW0gdHlwZVxuICBleHBvcnQgY29uc3QgVFlQRV9DT01QT05FTlQgPSBbXG4gICAgRU5VTV9UWVBFUy5TVE9SQUdFLFxuXG4gICAgRU5VTV9UWVBFUy5XQVRFUl9UUkVBVE1FTlQsXG4gICAgRU5VTV9UWVBFUy5ERU1JTl9XQVRFUl9UUkVBVE1FTlQsXG4gICAgRU5VTV9UWVBFUy5ST19XQVRFUl9UUkVBVE1FTlQsXG5cbiAgICBFTlVNX1RZUEVTLlBST0NFU1MsXG5cbiAgICBFTlVNX1RZUEVTLldBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuREFGX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuRVRQX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuTUJSX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuWkxEX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuXG4gICAgRU5VTV9UWVBFUy5ET01FU1RJQ19VU0UsXG4gICAgRU5VTV9UWVBFUy5DT09MSU5HX1RPV0VSLFxuICAgIEVOVU1fVFlQRVMuQk9JTEVSLFxuICAgIEVOVU1fVFlQRVMuT1RIRVIsXG4gICAgRU5VTV9UWVBFUy5MQU5EU0NBUElOR19JUlJJR0FUSU9OLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5XYXRlcldpdGhkcmF3U291cmNlcyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuV2F0ZXJEaXNjaGFyZ2VEZXN0aW5hdGlvbnMsXG4gICAgLy8gRW5lcmd5XG4gICAgRU5VTV9UWVBFUy5aT05FLFxuICAgIC8vIEVsZWN0cmljaXR5PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBFTlVNX1RZUEVTLkdSSUQsXG4gICAgRU5VTV9UWVBFUy5ESUVTRUxfR0VORVJBVE9SUyxcbiAgICBFTlVNX1RZUEVTLkJBVFRFUllfRU5FUkdZX1NUT1JBR0UsXG4gICAgRU5VTV9UWVBFUy5MSUdIVElOR19TWVNURU1TLFxuICAgIEVOVU1fVFlQRVMuTElHSFRJTkdTLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfTUVURVJTLFxuICAgIEVOVU1fVFlQRVMuVFJBTlNGT1JNRVJTLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfRkxZV0hFRUxfRU5FUkdZX1NUT1JBR0UsXG4gICAgRU5VTV9UWVBFUy5QVU1QRURfSFlEUk9fU1RPUkFHRSxcbiAgICBFTlVNX1RZUEVTLlRIRVJNQUxfRU5FUkdZX1NUT1JBR0UsXG4gICAgRU5VTV9UWVBFUy5TVVBFUl9DQVBBQ0lUT1JfRU5FUkdZX1NUT1JBR0UsXG4gICAgRU5VTV9UWVBFUy5TV0lUQ0hfR0VBUlMsXG4gICAgRU5VTV9UWVBFUy5QUk9DRVNTX0NPTlRST0xfQVVUT01BVElPTl9TWVNURU1TLFxuICAgIEVOVU1fVFlQRVMuUFJPQ0VTU19FUVVJUE1FTlRfTUFDSElORVMsXG4gICAgRU5VTV9UWVBFUy5PRkZJQ0VfRVFVSVBNRU5ULFxuICAgIEVOVU1fVFlQRVMuUE9XRVJfRElTVFJJQlVUSU9OX0NPTlRST0xfU1lTVEVNUyxcbiAgICBFTlVNX1RZUEVTLlBVTVAsXG4gICAgRU5VTV9UWVBFUy5QT1dFUl9ESVNUUklCVVRJT05fU1lTVEVNUyxcbiAgICBFTlVNX1RZUEVTLk5BVFVSQUxfR0FTX0dFTkVSQVRPUlMsXG4gICAgRU5VTV9UWVBFUy5NT1RPUl9DT05UUk9MUyxcbiAgICBFTlVNX1RZUEVTLlZBUklBQkxFX0ZSRVFVRU5DWV9EUklWRVJTLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfSFZBQyxcbiAgICBFTlVNX1RZUEVTLkNPTVBSRVNTRURfQUlSX1NZU1RFTVMsXG4gICAgRU5VTV9UWVBFUy5SRUZSSUdFUkFUSU9OX0NPT0xJTkdfU1lTVEVNUyxcbiAgICBFTlVNX1RZUEVTLk1BVEVSSUFMX0hBTkRMSU5HX0VRVUlQTUVOVCxcbiAgICBFTlVNX1RZUEVTLldJTkRfUE9XRVIsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19JTkRVU1RSSUFMX01PVE9SUyxcbiAgICBFTlVNX1RZUEVTLkdST1VORElORyxcbiAgICBFTlVNX1RZUEVTLkVMRUNUUklDX1NUT1JBR0VTLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfQ09NU1VNSU5HUyxcblxuICAgIC8vIFRFU1RcbiAgICBFTlVNX1RZUEVTLkVMRUNUUklDX1NPVVJDRVMsXG4gICAgLy8gR2FzPT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBFTlVNX1RZUEVTLk5BVFVSQUxfR0FTX1BJUEVMSU5FUyxcbiAgICBFTlVNX1RZUEVTLkxJUVVFRklFRF9OQVRVUkFMX0dBUyxcbiAgICBFTlVNX1RZUEVTLkNPTVBSRVNTRURfTkFUVVJBTF9HQVNfUElQRUxJTkUsXG4gICAgRU5VTV9UWVBFUy5PTl9TSVRFX1BST0RVQ1RJT04sXG4gICAgRU5VTV9UWVBFUy5DT01QUkVTU0VEX05BVFVSQUxfR0FTX1BST0RVQ1RJT04sXG4gICAgRU5VTV9UWVBFUy5CT0lMRVJTX0FORF9IRUFURVJTLFxuICAgIEVOVU1fVFlQRVMuRlVSTkFDRVMsXG4gICAgRU5VTV9UWVBFUy5QT1dFUl9HRU5FUkFUSU9OLFxuICAgIEVOVU1fVFlQRVMuQ09HRU5FUkFUSU9OLFxuICAgIEVOVU1fVFlQRVMuQ09NQklORURfQ1lDTEVfUE9XRVJfUExBTlRTLFxuICAgIEVOVU1fVFlQRVMuRlVFTF9GT1JfVkVISUNMRVNfQU5EX0VRVUlQTUVOVCxcbiAgICBFTlVNX1RZUEVTLkdBU19NRVRFUlMsXG4gICAgRU5VTV9UWVBFUy5CVVJORVJTLFxuICAgIEVOVU1fVFlQRVMuRkxVRV9HQVNfQU5BTFlaRVJTLFxuICAgIEVOVU1fVFlQRVMuQ09NQlVTVElPTl9DT05UUk9MX1NZU1RFTVMsXG4gICAgRU5VTV9UWVBFUy5HQVNfU1RPUkFHRV9UQU5LUyxcbiAgICBFTlVNX1RZUEVTLkdBU19QUkVTU1VSRV9SRUdVTEFUT1JTLFxuICAgIEVOVU1fVFlQRVMuTkFUVVJBTF9HQVMsXG5cbiAgICBFTlVNX1RZUEVTLkdBU19TT1VSQ0UsXG4gICAgLy8gRU5VTV9UWVBFUy5HQVNfUFJPRFVDVElPTixcbiAgICBFTlVNX1RZUEVTLkdBU19DT05TVU1JTkdTLFxuXG4gICAgLy8gRnVlbD09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgRU5VTV9UWVBFUy5ESUVTRUxfRlVFTFMsXG4gICAgRU5VTV9UWVBFUy5HQVNPTl9MSU5FUyxcbiAgICBFTlVNX1RZUEVTLkJJT0RJRVNFTFMsXG4gICAgRU5VTV9UWVBFUy5LRVJPU0VOU0UsXG4gICAgRU5VTV9UWVBFUy5QUk9QQU5FUyxcbiAgICBFTlVNX1RZUEVTLkZVRUxfQ09OU1VNSU5HUyxcbiAgICBFTlVNX1RZUEVTLklORFVTVFJJQUxfQk9JTEVSUyxcbiAgICBFTlVNX1RZUEVTLkdFTkVSQVRPUlMsXG4gICAgRU5VTV9UWVBFUy5JTkRVU1RSSUFMX0ZVUk5BQ0VTLFxuICAgIEVOVU1fVFlQRVMuSU5EVVNUUklBTF9PVkVOUyxcbiAgICBFTlVNX1RZUEVTLklORFVTVFJJQUxfVkVISUNMRVNfQU5EX0VRVUlQTUVOVCxcbiAgICBFTlVNX1RZUEVTLkZVRUxfTUVURVJTLFxuICAgIEVOVU1fVFlQRVMuRlVFTF9ESVNQRU5TRVJTLFxuICAgIEVOVU1fVFlQRVMuRlVFTF9TVFJPUkFHRV9UQU5LUyxcbiAgICBFTlVNX1RZUEVTLkZVRUxfRklMVFJBVElPTlMsXG4gICAgRU5VTV9UWVBFUy5GVUVMX01BTkFHRU1FTlRTLFxuICAgIEVOVU1fVFlQRVMuRlVFTFMsXG5cbiAgICAvLyBTb2xhciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIEVOVU1fVFlQRVMuU09MQVJfUE9XRVIsXG4gICAgRU5VTV9UWVBFUy5CQVRURVJJRVMsXG4gICAgRU5VTV9UWVBFUy5JTlZFUlRFUlMsXG4gICAgRU5VTV9UWVBFUy5QT1dFUl9DT05ESVRJT05JTkdfVU5JVCxcblxuICAgIC8vIFBsYW50IENlbGxcbiAgICBFTlVNX1RZUEVTLlBMQU5UX0NFTEwsXG5cbiAgICAvLyBDb3B5IGZvcm0gRU5VTV9UWVBFU1xuICAgIEVOVU1fVFlQRVMuU1RPUkFHRSxcblxuICAgIEVOVU1fVFlQRVMuV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuREVNSU5fV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuUk9fV0FURVJfVFJFQVRNRU5ULFxuXG4gICAgRU5VTV9UWVBFUy5QUk9DRVNTLFxuICAgIEVOVU1fVFlQRVMuU1BFQ0lBTF9TVE9SQUdFLFxuXG4gICAgRU5VTV9UWVBFUy5XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBFTlVNX1RZUEVTLkRBRl9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBFTlVNX1RZUEVTLkVUUF9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBFTlVNX1RZUEVTLk1CUl9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBFTlVNX1RZUEVTLlpMRF9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBFTlVNX1RZUEVTLklNTUVSU0VEX1VGX1dBVEVSX1RSRUFUTUVOVFMsXG4gICAgRU5VTV9UWVBFUy5QUkVTU1VSSVpFRF9VRl9XQVRFUl9UUkVBVE1FTlRTLFxuXG4gICAgRU5VTV9UWVBFUy5ET01FU1RJQ19VU0UsXG4gICAgRU5VTV9UWVBFUy5DT09MSU5HX1RPV0VSLFxuICAgIEVOVU1fVFlQRVMuQk9JTEVSLFxuICAgIEVOVU1fVFlQRVMuT1RIRVIsXG4gICAgRU5VTV9UWVBFUy5MQU5EU0NBUElOR19JUlJJR0FUSU9OLFxuXG4gICAgRU5VTV9UWVBFUy5GUkVTSF9TVVJGQUNFX1dBVEVSLFxuICAgIEVOVU1fVFlQRVMuVEhJUkRfUEFSVFlfU09VUkNFUyxcbiAgICBFTlVNX1RZUEVTLlRISVJEX1BBUlRZX0RFU1RJTkFUSU9OUyxcbiAgICBFTlVNX1RZUEVTLkdST1VORF9XQVRFUl9OT05fUkVORVdBQkxFLFxuICAgIEVOVU1fVFlQRVMuUFJPRFVDRURfRU5UUkFJTkVELFxuXG4gICAgLy8gRlJFU0hfU1VSRkFDRV9XQUVSID0gJ0ZyZXNoIHN1cmZhY2Ugd2F0ZXInLFxuICAgIEVOVU1fVFlQRVMuQlJBQ0tJU0hfU1VSRkFDRV9XQVRFUixcbiAgICBFTlVNX1RZUEVTLkdST1VORF9XQVRFUl9SRU5FV0FCTEUsXG5cbiAgICBFTlVNX1RZUEVTLlRBTktFUl9XQVRFUixcbiAgICAvLyBFTkVSR1lcbiAgICBFTlVNX1RZUEVTLlpPTkUsXG4gICAgLy8gRWxlY3RyaWNcbiAgICBFTlVNX1RZUEVTLkVMRUNUUklDX1NPVVJDRVMsXG4gICAgRU5VTV9UWVBFUy5HUklELFxuICAgIEVOVU1fVFlQRVMuRElFU0VMX0dFTkVSQVRPUlMsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19NRVRFUlMsXG4gICAgRU5VTV9UWVBFUy5UUkFOU0ZPUk1FUlMsXG4gICAgLy8gRWxlY3RyaWMgTmV3XG4gICAgRU5VTV9UWVBFUy5CQVRURVJZX0VORVJHWV9TVE9SQUdFLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfUFJPRFVDVElPTlMsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19DT01TVU1JTkdTLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfU1RPUkFHRVMsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19GTFlXSEVFTF9FTkVSR1lfU1RPUkFHRSxcbiAgICBFTlVNX1RZUEVTLlBVTVBFRF9IWURST19TVE9SQUdFLFxuICAgIEVOVU1fVFlQRVMuVEhFUk1BTF9FTkVSR1lfU1RPUkFHRSxcbiAgICBFTlVNX1RZUEVTLlNVUEVSX0NBUEFDSVRPUl9FTkVSR1lfU1RPUkFHRSxcbiAgICBFTlVNX1RZUEVTLlNXSVRDSF9HRUFSUyxcbiAgICBFTlVNX1RZUEVTLk1PVE9SX0NPTlRST0xTLFxuICAgIEVOVU1fVFlQRVMuVkFSSUFCTEVfRlJFUVVFTkNZX0RSSVZFUlMsXG4gICAgRU5VTV9UWVBFUy5MSUdIVElOR19TWVNURU1TLFxuICAgIEVOVU1fVFlQRVMuTElHSFRJTkdTLFxuICAgIEVOVU1fVFlQRVMuRUxFQ1RSSUNfSFZBQyxcbiAgICBFTlVNX1RZUEVTLkNPTVBSRVNTRURfQUlSX1NZU1RFTVMsXG4gICAgRU5VTV9UWVBFUy5SRUZSSUdFUkFUSU9OX0NPT0xJTkdfU1lTVEVNUyxcbiAgICBFTlVNX1RZUEVTLlBST0NFU1NfRVFVSVBNRU5UX01BQ0hJTkVTLFxuICAgIEVOVU1fVFlQRVMuUFJPQ0VTU19DT05UUk9MX0FVVE9NQVRJT05fU1lTVEVNUyxcbiAgICBFTlVNX1RZUEVTLk9GRklDRV9FUVVJUE1FTlQsXG4gICAgRU5VTV9UWVBFUy5NQVRFUklBTF9IQU5ETElOR19FUVVJUE1FTlQsXG4gICAgRU5VTV9UWVBFUy5QT1dFUl9ESVNUUklCVVRJT05fQ09OVFJPTF9TWVNURU1TLFxuICAgIEVOVU1fVFlQRVMuUFVNUCxcbiAgICBFTlVNX1RZUEVTLlBPV0VSX0RJU1RSSUJVVElPTl9TWVNURU1TLFxuICAgIEVOVU1fVFlQRVMuV0lORF9QT1dFUixcbiAgICBFTlVNX1RZUEVTLk5BVFVSQUxfR0FTX0dFTkVSQVRPUlMsXG4gICAgRU5VTV9UWVBFUy5FTEVDVFJJQ19JTkRVU1RSSUFMX01PVE9SUyxcbiAgICBFTlVNX1RZUEVTLkdST1VORElORyxcbiAgICBFTlVNX1RZUEVTLkVsZWN0cmljYWxzLFxuXG4gICAgLy8gR2FzXG4gICAgRU5VTV9UWVBFUy5OQVRVUkFMX0dBU19QSVBFTElORVMsXG4gICAgRU5VTV9UWVBFUy5MSVFVRUZJRURfTkFUVVJBTF9HQVMsXG4gICAgRU5VTV9UWVBFUy5DT01QUkVTU0VEX05BVFVSQUxfR0FTX1BJUEVMSU5FLFxuICAgIEVOVU1fVFlQRVMuT05fU0lURV9QUk9EVUNUSU9OLFxuICAgIEVOVU1fVFlQRVMuQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QUk9EVUNUSU9OLFxuICAgIEVOVU1fVFlQRVMuQk9JTEVSU19BTkRfSEVBVEVSUyxcbiAgICBFTlVNX1RZUEVTLkZVUk5BQ0VTLFxuICAgIEVOVU1fVFlQRVMuUE9XRVJfR0VORVJBVElPTixcbiAgICBFTlVNX1RZUEVTLkNPR0VORVJBVElPTixcbiAgICBFTlVNX1RZUEVTLkNPTUJJTkVEX0NZQ0xFX1BPV0VSX1BMQU5UUyxcbiAgICBFTlVNX1RZUEVTLkZVRUxfRk9SX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQsXG4gICAgRU5VTV9UWVBFUy5HQVNfTUVURVJTLFxuICAgIEVOVU1fVFlQRVMuQlVSTkVSUyxcbiAgICBFTlVNX1RZUEVTLkZMVUVfR0FTX0FOQUxZWkVSUyxcbiAgICBFTlVNX1RZUEVTLkNPTUJVU1RJT05fQ09OVFJPTF9TWVNURU1TLFxuICAgIEVOVU1fVFlQRVMuR0FTX1NUT1JBR0VfVEFOS1MsXG4gICAgRU5VTV9UWVBFUy5HQVNfUFJFU1NVUkVfUkVHVUxBVE9SUyxcbiAgICBFTlVNX1RZUEVTLk5BVFVSQUxfR0FTLFxuICAgIC8vIFRZUEVfQ09NUE9ORU5UIEdhc1xuICAgIEVOVU1fVFlQRVMuR0FTX1NPVVJDRSxcbiAgICBFTlVNX1RZUEVTLkdBU19QUk9EVUNUSU9OLFxuICAgIEVOVU1fVFlQRVMuR0FTX0NPTlNVTUlOR1MsXG4gICAgRU5VTV9UWVBFUy5OQVRVUkFMX0dBU19TUEVDSUFMLFxuXG4gICAgLy8gRnVlbFxuICAgIEVOVU1fVFlQRVMuRlVFTFMsXG4gICAgRU5VTV9UWVBFUy5ESUVTRUxfRlVFTFMsXG4gICAgRU5VTV9UWVBFUy5HQVNPTl9MSU5FUyxcbiAgICBFTlVNX1RZUEVTLkJJT0RJRVNFTFMsXG4gICAgRU5VTV9UWVBFUy5LRVJPU0VOU0UsXG4gICAgRU5VTV9UWVBFUy5QUk9QQU5FUyxcblxuICAgIEVOVU1fVFlQRVMuRlVFTF9TT1VSQ0VTLFxuXG4gICAgRU5VTV9UWVBFUy5UQU5LRVJfVFJVQ0tTLFxuICAgIEVOVU1fVFlQRVMuUElQRUxJTkUsXG5cbiAgICBFTlVNX1RZUEVTLkZVRUxfQ09OU1VNSU5HUyxcblxuICAgIEVOVU1fVFlQRVMuSU5EVVNUUklBTF9CT0lMRVJTLFxuICAgIEVOVU1fVFlQRVMuR0VORVJBVE9SUyxcbiAgICBFTlVNX1RZUEVTLklORFVTVFJJQUxfRlVSTkFDRVMsXG4gICAgRU5VTV9UWVBFUy5JTkRVU1RSSUFMX09WRU5TLFxuICAgIEVOVU1fVFlQRVMuSU5EVVNUUklBTF9WRUhJQ0xFU19BTkRfRVFVSVBNRU5ULFxuXG4gICAgRU5VTV9UWVBFUy5GVUVMX01FVEVSUyxcbiAgICBFTlVNX1RZUEVTLkZVRUxfRElTUEVOU0VSUyxcbiAgICBFTlVNX1RZUEVTLkZVRUxfU1RST1JBR0VfVEFOS1MsXG4gICAgRU5VTV9UWVBFUy5GVUVMX0ZJTFRSQVRJT05TLFxuICAgIEVOVU1fVFlQRVMuRlVFTF9NQU5BR0VNRU5UUyxcblxuICAgIC8vIFNvbGFyXG4gICAgRU5VTV9UWVBFUy5TT0xBUl9QT1dFUixcbiAgICBFTlVNX1RZUEVTLlBPV0VSX0NPTkRJVElPTklOR19VTklULFxuICAgIEVOVU1fVFlQRVMuSU5WRVJURVJTLFxuICAgIEVOVU1fVFlQRVMuQkFUVEVSSUVTLFxuXG4gICAgLy8gUGxhbnQgQ2VsbFxuICAgIEVOVU1fVFlQRVMuUExBTlRfQ0VMTCxcbiAgICBFTlVNX1RZUEVTLlBMQU5UX0NFTExfSU5QVVRfR1JPVVAsXG4gICAgRU5VTV9UWVBFUy5QTEFOVF9DRUxMX09VVFBVVF9HUk9VUCxcblxuICAgIC8vIFN0ZWFtXG4gICAgRU5VTV9UWVBFUy5WQUxVRVMsXG4gICAgRU5VTV9UWVBFUy5TVEVBTV9UUkFQUyxcbiAgICBFTlVNX1RZUEVTLlBSRVNTVVJFX1JFR1VMQVRPUlMsXG4gICAgRU5VTV9UWVBFUy5TQUZFVFlfVkFMVUVTX0FORF9FUVVJUE1FTlQsXG4gICAgRU5VTV9UWVBFUy5DT05ERU5TQVRFX1JFVFVSTl9TWVNURU0sXG4gICAgRU5VTV9UWVBFUy5ERUFFUkFUT1JTLFxuICAgIEVOVU1fVFlQRVMuRkVFRFdBVEVSX1BVTVBTLFxuICAgIEVOVU1fVFlQRVMuQkxPV0RPV05fVEFOS1MsXG4gICAgRU5VTV9UWVBFUy5FWFBBTlNJT05fVEFOS1MsXG4gICAgRU5VTV9UWVBFUy5IRUFUX0VYQ0hBTkdFUlMsXG4gICAgRU5VTV9UWVBFUy5UVVJCSU5FUyxcbiAgICBFTlVNX1RZUEVTLlNURUFNX0NPTVBPTkVOVCxcbiAgICBFTlVNX1RZUEVTLlNURUFNX0NPTlNVTUlOR19TWVNURU0sXG4gICAgRU5VTV9UWVBFUy5FTkVSR1lfQ09OVkVSVEVSLFxuICBdIGFzIHN0cmluZ1tdO1xuXG4gIGV4cG9ydCBjb25zdCBJQ09OX0FTU0VUX1BBVEg6IHN0cmluZyA9ICdhc3NldHMvaW1hZ2VzL2VkaXRvci9pY29ucyc7XG4gIGV4cG9ydCBjb25zdCBJQ09OX0FTU0VUX1dJVEhEUkFXX0RJU0NIQVJHRV9JQ09OOiBzdHJpbmcgPVxuICAgICcvYXNzZXRzL2ltYWdlcy9pY29ucy9ob3Nrb3RlX3BsYW50JztcbiAgZXhwb3J0IGNvbnN0IElNQUdFX1JPX1dBVEVSX1RSRUFUTUVOVF9QQVRIID1cbiAgICAnL2Fzc2V0cy9pbWFnZXMvcm8td2F0ZXItdHJlYXRtZW50L1JPX1dBVEVSX1RSRUFUTUVOVF9CRy5wbmcnO1xuICBleHBvcnQgY29uc3QgSU1BR0VfQk9JTEVSX1BBVEggPSAnYXNzZXRzL2ltYWdlcy9ib2lsZXIvY21zX2JvaWxlci5wbmcnO1xuICBleHBvcnQgY29uc3QgSU1BR0VfQ09PTElOR19UT1dFUl9QQVRIID1cbiAgICAnYXNzZXRzL2ltYWdlcy9wcm9jZXNzLXdhdGVyL2Nvb2xpbmctdG93ZXItNC5wbmcnO1xuICBleHBvcnQgY29uc3QgU1BFQ0lBTF9JQ09OX0FTU0VUX1BBVEg6IHN0cmluZyA9ICdhc3NldHMvaW1hZ2VzL2VkaXRvci9zcGVjaWFsJztcbiAgZXhwb3J0IGNvbnN0IEVORVJHWV9JQ09OX0FTU0VUX1BBVEggPSAnYXNzZXRzL2ltYWdlcy9lZGl0b3IvZW5lcmd5JztcbiAgZXhwb3J0IGNvbnN0IEdBU19JQ09OX0FTU0VUX1BBVEggPSAnYXNzZXRzL2ltYWdlcy9lZGl0b3IvZ2FzJztcbiAgZXhwb3J0IGNvbnN0IEZVRUxfSUNPTl9BU1NFVF9QQVRIID0gJ2Fzc2V0cy9pbWFnZXMvZWRpdG9yL2Z1ZWwnO1xuICBleHBvcnQgY29uc3QgU1RFQU1fSUNPTl9BU1NFVF9QQVRIID0gJ2Fzc2V0cy9pbWFnZXMvZWRpdG9yL3N0ZWFtJztcbiAgZXhwb3J0IGNvbnN0IFBMQU5UX0NFTExfUEFUSCA9ICdhc3NldHMvaW1hZ2VzL2VkaXRvci9wbGFudC1jZWxsJztcbiAgZXhwb3J0IGNvbnN0IERBVEFfQk9YID0gJ2Fzc2V0cy9pbWFnZXMvZWRpdG9yL2RhdGEtYm94JztcblxuICBleHBvcnQgY29uc3QgTElOS19URU1QTEFURVM6IHtcbiAgICBba2V5IGluIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX0xJTktfVFlQRVNdOiBhbnk7XG4gIH0gPSB7XG4gICAgW0VOVU1fTElOS19UWVBFUy5TSU1QTEVdOiB7XG4gICAgICB0b1Nob3J0TGVuZ3RoOiA4LFxuICAgICAgc3Ryb2tlV2lkdGg6IDgsXG4gICAgICBhcnJvdzoge1xuICAgICAgICB0b0Fycm93OiAnVHJpYW5nbGUnLFxuICAgICAgICB2aXNpYmxlOiB0cnVlLFxuICAgICAgICBzdHJva2U6IEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX0NPTE9SUy5HUkFZLFxuICAgICAgICBmaWxsOiBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9DT0xPUlMuR1JBWSxcbiAgICAgICAgc2NhbGU6IDEuNyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBbRU5VTV9MSU5LX1RZUEVTLlBJUEVdOiB7XG4gICAgICBzdHJva2VXaWR0aDogOCxcbiAgICB9LFxuICAgIFtFTlVNX0xJTktfVFlQRVMuUElQRV9BTklNQVRJT05dOiB7XG4gICAgICBzdHJva2VXaWR0aDogOCxcbiAgICAgIGFuaW1hdGlvbjoge1xuICAgICAgICBpc1BhbmVsTWFpbjogdHJ1ZSxcbiAgICAgICAgc3Ryb2tlOiAnd2hpdGUnLFxuICAgICAgICBzdHJva2VXaWR0aDogMixcbiAgICAgICAgbmFtZTogJ1BJUEUnLFxuICAgICAgICBzdHJva2VEYXNoQXJyYXk6IFsxMCwgMjBdLFxuICAgICAgICB2aXNpYmxlOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBbRU5VTV9MSU5LX1RZUEVTLlBJUEVfSElEREVOXToge1xuICAgICAgc3Ryb2tlV2lkdGg6IDAsXG4gICAgICBzZWxlY3RhYmxlOiBmYWxzZSxcbiAgICAgIGFycm93OiB7XG4gICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIGV4cG9ydCBpbnRlcmZhY2UgSV9URU1QTEFURV9JVEVNIHtcbiAgICBuYW1lOiBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVM7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBzaXplPzogeyB3OiBudW1iZXI7IGg6IG51bWJlciB9O1xuICAgIHN5c3RlbVR5cGU/OiBzdHJpbmc7XG4gIH1cblxuICBleHBvcnQgY29uc3QgQVRUUk5BTUVfQ09NUE9ORU5UOiBhbnlbXSA9IFtcbiAgICAnd2F0ZXJXaXRoZHJhd05hbWUnLFxuICAgICd3YXRlckRpc2NoYXJnZU5hbWUnLFxuICAgICd3YXN0ZVdhdGVyUHJvY2Vzc05hbWUnLFxuICAgICd3YXRlclRyZWF0bWVudE5hbWUnLFxuICAgICd3YXRlclN0b3JhZ2VUYW5rTmFtZScsXG4gICAgJ2dlbmVyaWNQcm9jZXNzTmFtZScsXG4gICAgJ2JvaWxlck5hbWUnLFxuICAgICdjb29saW5nVG93ZXJOYW1lJyxcbiAgICAnZmFjaWxpdHlGdW5jdGlvbk5hbWUnLFxuICAgICdtaXNjV2F0ZXJVc2VOYW1lJyxcbiAgICAncGxhbnRUb3BvbG9neU5hbWUnLFxuICBdO1xuXG4gIC8vIGV4cG9ydCBlbnVtIEdST1VQX0NPTVBPTkVOVF9UWVBFIHtcbiAgLy8gICAgIFdJVEhEUkFXX1NPVVJDRVMgPSAnV2l0aGRyYXcgU291cmNlcycsXG4gIC8vICAgICBQUk9DRVNTRSA9ICdQcm9jZXNzZScsXG4gIC8vICAgICBXQVNURVdBVEVSX1RSRUFURU1FTlRTID0gJ1dhc3RlV2F0ZXIgVHJlYXRlbWVudHMnLFxuICAvLyAgICAgV0FURVJfVFJFQVRNRU5UID0gJ1dhdGVyIFRyZWF0bWVudHMnLFxuICAvLyAgICAgRElTQ0hBUkdFX0RFU1RJTkFUSU9OUyA9ICdEaXNjaGFyZ2UgRGVzdGluYXRpb25zJyxcbiAgLy8gICAgIFdBVEVSX1NUT1JBR0UgPSAnV2F0ZXIgU3RvcmFnZScsXG4gIC8vICAgICBGQUNJTElUWV9GVU5DVElPTlMgPSAnRmFjaWxpdHkgZnVuY3Rpb25zJyxcbiAgLy8gICAgIE9USEVSID0gJ090aGVyJyxcbiAgLy8gfVxuXG4gIGV4cG9ydCBjb25zdCBOT0RFX1RFTVBMQVRFUzoge1xuICAgIFtrZXkgaW4gQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTXTogSV9URU1QTEFURV9JVEVNO1xuICB9ID0ge1xuICAgIFtFTlVNX1RFTVBMQVRFUy5TVE9SQUdFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1RPUkFHRSxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vUmF3IFdhdGVyIFRhbmsuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuU1RPUkFHRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5DT09MSU5HX1RPV0VSXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQ09PTElOR19UT1dFUixcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vY29vbGluZ190b3dlci5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5DT09MSU5HX1RPV0VSLFxuICAgIH0sXG5cbiAgICAvLyBXQVRFUl9UUkVBVE1FTlRcbiAgICBbRU5VTV9URU1QTEFURVMuV0FURVJfVFJFQVRNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuV0FURVJfVFJFQVRNRU5ULFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS93YXRlcl90cmVhdG1lbnQuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuV0FURVJfVFJFQVRNRU5ULFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLklNTUVSU0VEX1VGX1dBVEVSX1RSRUFUTUVOVFNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5JTU1FUlNFRF9VRl9XQVRFUl9UUkVBVE1FTlRTLFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS93YXRlcl90cmVhdG1lbnQuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuSU1NRVJTRURfVUZfV0FURVJfVFJFQVRNRU5UUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QUkVTU1VSSVpFRF9VRl9XQVRFUl9UUkVBVE1FTlRTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUFJFU1NVUklaRURfVUZfV0FURVJfVFJFQVRNRU5UUyxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vd2F0ZXJfdHJlYXRtZW50LnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlBSRVNTVVJJWkVEX1VGX1dBVEVSX1RSRUFUTUVOVFMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuREVNSU5fV0FURVJfVFJFQVRNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuREVNSU5fV0FURVJfVFJFQVRNRU5ULFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS9EZW1pbi5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5ERU1JTl9XQVRFUl9UUkVBVE1FTlQsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuUk9fV0FURVJfVFJFQVRNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUk9fV0FURVJfVFJFQVRNRU5ULFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS9STy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5ST19XQVRFUl9UUkVBVE1FTlQsXG4gICAgfSxcblxuICAgIFtFTlVNX1RFTVBMQVRFUy5ET01FU1RJQ19VU0VdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5ET01FU1RJQ19VU0UsXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L0RvbWVzdGljX25ldy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5ET01FU1RJQ19VU0UsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuUFJPQ0VTU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBST0NFU1MsXG4gICAgICAvLyBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L3Byb2Nlc3Muc3ZnYCxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vR2VuZXJpYyBQcm9jZXNzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlBST0NFU1MsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9TVE9SQUdFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9TVE9SQUdFLFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS9wcm9jZXNzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlNQRUNJQUxfU1RPUkFHRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5CT0lMRVJdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5CT0lMRVIsXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L0JvaWxlci5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5CT0lMRVIsXG4gICAgfSxcblxuICAgIC8vIFdBU1RFV0FURVJfVFJFQVRNRU5UXG4gICAgW0VOVU1fVEVNUExBVEVTLldBU1RFV0FURVJfVFJFQVRNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuV0FTVEVXQVRFUl9UUkVBVE1FTlQsXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L3dhc3Rld2F0ZXJfdHJlYXRtZW50LnN2Z2AsXG4gICAgICAvLyBzaXplOiB7XG4gICAgICAvLyAgICAgdzogR1JJRF9TSVpFICogOCxcbiAgICAgIC8vICAgICBoOiBHUklEX1NJWkUgKiA2LFxuICAgICAgLy8gfSxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuV0FTVEVXQVRFUl9UUkVBVE1FTlQsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuREFGX1dBU1RFV0FURVJfVFJFQVRNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuREFGX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS9EQUYuc3ZnYCxcbiAgICAgIC8vIHNpemU6IHtcbiAgICAgIC8vICAgICB3OiBHUklEX1NJWkUgKiA4LFxuICAgICAgLy8gICAgIGg6IEdSSURfU0laRSAqIDYsXG4gICAgICAvLyB9LFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5EQUZfV0FTVEVXQVRFUl9UUkVBVE1FTlQsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRVRQX1dBU1RFV0FURVJfVFJFQVRNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRVRQX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS93YXRlcl90cmVhdG1lbnQuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRVRQX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLk1CUl9XQVNURVdBVEVSX1RSRUFUTUVOVF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLk1CUl9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vTUJSLnN2Z2AsXG4gICAgICAvLyBzaXplOiB7XG4gICAgICAvLyAgICAgdzogR1JJRF9TSVpFICogOCxcbiAgICAgIC8vICAgICBoOiBHUklEX1NJWkUgKiA2LFxuICAgICAgLy8gfSxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuTUJSX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlpMRF9XQVNURVdBVEVSX1RSRUFUTUVOVF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlpMRF9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vWkxELnN2Z2AsXG4gICAgICAvLyBzaXplOiB7XG4gICAgICAvLyAgICAgdzogR1JJRF9TSVpFICogOCxcbiAgICAgIC8vICAgICBoOiBHUklEX1NJWkUgKiA2LFxuICAgICAgLy8gfSxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuWkxEX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuTEFORFNDQVBJTkdfSVJSSUdBVElPTl06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkxBTkRTQ0FQSU5HX0lSUklHQVRJT04sXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L0lycmlnYXRpb24uc3ZnYCxcbiAgICAgIC8vIHNpemU6IHtcbiAgICAgIC8vICAgICB3OiBHUklEX1NJWkUgKiA4LFxuICAgICAgLy8gICAgIGg6IEdSSURfU0laRSAqIDYsXG4gICAgICAvLyB9LFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5MQU5EU0NBUElOR19JUlJJR0FUSU9OLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLk9USEVSXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuT1RIRVIsXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L290aGVyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLk9USEVSLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlRFWFRfTk9ERV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlRFWFRfTk9ERSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5FTVBUWV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkVNUFRZLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuVkFMVUVfTk9ERV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlZBTFVFX05PREUsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuVkFMVUVfTEFCRUxdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5WQUxVRV9MQUJFTCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5URVhUX0xBQkVMXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuVEVYVF9MQUJFTCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5EQVRBX0JPWF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkRBVEFfQk9YLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9QUk9DRVNTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9QUk9DRVNTLFxuICAgICAgaWNvbjogYCR7U1BFQ0lBTF9JQ09OX0FTU0VUX1BBVEh9L3Byb2Nlc3Muc3ZnYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5TUEVDSUFMX1NUT1JFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9TVE9SRSxcbiAgICAgIGljb246IGAke1NQRUNJQUxfSUNPTl9BU1NFVF9QQVRIfS9EaXNjaGFyZ2Uuc3ZnYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5TUEVDSUFMX0RJU0NIQVJHRV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlNQRUNJQUxfRElTQ0hBUkdFLFxuICAgICAgaWNvbjogYCR7U1BFQ0lBTF9JQ09OX0FTU0VUX1BBVEh9L0Rpc2NoYXJnZS5zdmdgLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuVEhJUkRfUEFSVFlfU09VUkNFU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlRISVJEX1BBUlRZX1NPVVJDRVMsXG4gICAgICAvLyBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L0ludGFrZS5zdmdgLFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS9UaGlyZCBQYXJ0eSBTb3VyY2VzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlRISVJEX1BBUlRZX1NPVVJDRVMsXG4gICAgfSxcblxuICAgIFtFTlVNX1RFTVBMQVRFUy5USElSRF9QQVJUWV9ERVNUSU5BVElPTlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5USElSRF9QQVJUWV9ERVNUSU5BVElPTlMsXG4gICAgICAvLyBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L0ludGFrZS5zdmdgLFxuICAgICAgaWNvbjogYCR7SUNPTl9BU1NFVF9QQVRIfS9UaGlyZCBwYXJ0eSBkZXN0aW5hdGlvbnMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuVEhJUkRfUEFSVFlfREVTVElOQVRJT05TLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuR1JPVU5EX1dBVEVSX05PTl9SRU5FV0FCTEVdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5HUk9VTkRfV0FURVJfTk9OX1JFTkVXQUJMRSxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vR3JvdW5kd2F0ZXIgLSBOb24tUmVuZXdhYmxlLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkdST1VORF9XQVRFUl9OT05fUkVORVdBQkxFLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlBST0RVQ0VEX0VOVFJBSU5FRF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBST0RVQ0VEX0VOVFJBSU5FRCxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vUHJvZHVjZWQgRW50cmFpbmVkIFdhdGVyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlBST0RVQ0VEX0VOVFJBSU5FRCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5CUkFDS0lTSF9TVVJGQUNFX1dBVEVSXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQlJBQ0tJU0hfU1VSRkFDRV9XQVRFUixcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vQnJhY2tpc2sgU3VyZmFjZSBXYXRlciBTZWF3YXRlci5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5CUkFDS0lTSF9TVVJGQUNFX1dBVEVSLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuRlJFU0hfU1VSRkFDRV9XQVRFUl06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkZSRVNIX1NVUkZBQ0VfV0FURVIsXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L0ZyZXNoIFN1cmZhY2UgV2F0ZXIuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRlJFU0hfU1VSRkFDRV9XQVRFUixcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5VVElMSVRZXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuVVRJTElUWSxcbiAgICAgIGljb246ICcnLFxuICAgICAgLy8gYCR7SUNPTl9BU1NFVF9QQVRIfS9yYWluLnN2Z2AsXG4gICAgfSxcblxuICAgIFtFTlVNX1RFTVBMQVRFUy5HUk9VTkRfV0FURVJfUkVORVdBQkxFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuR1JPVU5EX1dBVEVSX1JFTkVXQUJMRSxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vR3JvdW5kd2F0ZXIgLSBSZW5ld2FibGUuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuR1JPVU5EX1dBVEVSX1JFTkVXQUJMRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5TUEVDSUFMX09USEVSXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9PVEhFUixcbiAgICAgIGljb246IGAke1NQRUNJQUxfSUNPTl9BU1NFVF9QQVRIfS9EaXNjaGFyZ2Uuc3ZnYCxcbiAgICB9LFxuICAgIC8vIEVuZXJneVxuICAgIC8vIEVsZWN0cmljIE5vZGUgVGVtcGxhdGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICBbRU5VTV9URU1QTEFURVMuR1JJRF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkdSSUQsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9HcmlkLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkdSSUQsXG4gICAgICAvLyBzaXplOiB7XG4gICAgICAvLyAgICAgaDogR1JJRF9TSVpFICogOCxcbiAgICAgIC8vICAgICB3OiBHUklEX1NJWkUgKiA2LFxuICAgICAgLy8gfSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5ESUVTRUxfR0VORVJBVE9SU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkRJRVNFTF9HRU5FUkFUT1JTLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vRGllc2VsIEdlbmVyYXRvcnMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRElFU0VMX0dFTkVSQVRPUlMsXG4gICAgICAvLyBzaXplOiB7XG4gICAgICAvLyAgICAgaDogR1JJRF9TSVpFICogOCxcbiAgICAgIC8vICAgICB3OiBHUklEX1NJWkUgKiA2LFxuICAgICAgLy8gfSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5CQVRURVJZX0VORVJHWV9TVE9SQUdFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQkFUVEVSWV9FTkVSR1lfU1RPUkFHRSxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L0JhdHRlcnkuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQkFUVEVSWV9FTkVSR1lfU1RPUkFHRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5MSUdIVElOR19TWVNURU1TXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuTElHSFRJTkdfU1lTVEVNUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L0xpZ2h0aW5nIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuTElHSFRJTkdfU1lTVEVNUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5MSUdIVElOR1NdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5MSUdIVElOR1MsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9MaWdodHMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuTElHSFRJTkdTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkVMRUNUUklDX01FVEVSU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkVMRUNUUklDX01FVEVSUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L01ldGVyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkVMRUNUUklDX01FVEVSUyxcbiAgICB9LFxuXG4gICAgW0VOVU1fVEVNUExBVEVTLlRSQU5TRk9STUVSU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlRSQU5TRk9STUVSUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1RyYW5zZm9ybWVyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlRSQU5TRk9STUVSUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5FTEVDVFJJQ19GTFlXSEVFTF9FTkVSR1lfU1RPUkFHRV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkVMRUNUUklDX0ZMWVdIRUVMX0VORVJHWV9TVE9SQUdFLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUHVtcGVkIGh5ZHJvIHN0b3JhZ2Ugc3lzdGVtcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5FTEVDVFJJQ19GTFlXSEVFTF9FTkVSR1lfU1RPUkFHRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QVU1QRURfSFlEUk9fU1RPUkFHRV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBVTVBFRF9IWURST19TVE9SQUdFLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUHVtcGVkIGh5ZHJvIHN0b3JhZ2Ugc3lzdGVtcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5QVU1QRURfSFlEUk9fU1RPUkFHRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5USEVSTUFMX0VORVJHWV9TVE9SQUdFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuVEhFUk1BTF9FTkVSR1lfU1RPUkFHRSxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1RoZXJtYWwgZW5lcmd5IHN0b3JhZ2Ugc3lzdGVtcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5USEVSTUFMX0VORVJHWV9TVE9SQUdFLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlNVUEVSX0NBUEFDSVRPUl9FTkVSR1lfU1RPUkFHRV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlNVUEVSX0NBUEFDSVRPUl9FTkVSR1lfU1RPUkFHRSxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1N1cGVyY2FwYWNpdG9yIGVuZXJneSBzdG9yYWdlIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuU1VQRVJfQ0FQQUNJVE9SX0VORVJHWV9TVE9SQUdFLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlNXSVRDSF9HRUFSU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlNXSVRDSF9HRUFSUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1N3aXRjaGdlYXIuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuU1dJVENIX0dFQVJTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlBST0NFU1NfQ09OVFJPTF9BVVRPTUFUSU9OX1NZU1RFTVNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5QUk9DRVNTX0NPTlRST0xfQVVUT01BVElPTl9TWVNURU1TLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUHJvY2VzcyBjb250cm9sIGFuZCBhdXRvbWF0aW9uIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUFJPQ0VTU19DT05UUk9MX0FVVE9NQVRJT05fU1lTVEVNUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QUk9DRVNTX0VRVUlQTUVOVF9NQUNISU5FU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBST0NFU1NfRVFVSVBNRU5UX01BQ0hJTkVTLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUHJvY2VzcyBlcXVpcG1lbnQgYW5kIG1hY2hpbmVzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlBST0NFU1NfRVFVSVBNRU5UX01BQ0hJTkVTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLk9GRklDRV9FUVVJUE1FTlRdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5PRkZJQ0VfRVFVSVBNRU5ULFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vT2ZmaWNlIGVxdWlwbWVudC5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5PRkZJQ0VfRVFVSVBNRU5ULFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlBPV0VSX0RJU1RSSUJVVElPTl9DT05UUk9MX1NZU1RFTVNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5QT1dFUl9ESVNUUklCVVRJT05fQ09OVFJPTF9TWVNURU1TLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUG93ZXIgZGlzdHJpYnV0aW9uIGFuZCBjb250cm9sIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUE9XRVJfRElTVFJJQlVUSU9OX0NPTlRST0xfU1lTVEVNUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QVU1QXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUFVNUCxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1B1bXAuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUFVNUCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QT1dFUl9ESVNUUklCVVRJT05fU1lTVEVNU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBPV0VSX0RJU1RSSUJVVElPTl9TWVNURU1TLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUG93ZXIgZGlzdHJpYnV0aW9uIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUE9XRVJfRElTVFJJQlVUSU9OX1NZU1RFTVMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuTkFUVVJBTF9HQVNfR0VORVJBVE9SU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLk5BVFVSQUxfR0FTX0dFTkVSQVRPUlMsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9OYXR1cmFsIGdhcyBnZW5lcmF0b3JzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLk5BVFVSQUxfR0FTX0dFTkVSQVRPUlMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuTU9UT1JfQ09OVFJPTFNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5NT1RPUl9DT05UUk9MUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L01vdG9yIGNvbnRyb2wgY2VudGVycyAoTUNDcykuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuTU9UT1JfQ09OVFJPTFMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuVkFSSUFCTEVfRlJFUVVFTkNZX0RSSVZFUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5WQVJJQUJMRV9GUkVRVUVOQ1lfRFJJVkVSUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1ZhcmlhYmxlIGZyZXF1ZW5jeSBkcml2ZXMgKFZGRHMpLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlZBUklBQkxFX0ZSRVFVRU5DWV9EUklWRVJTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkVMRUNUUklDX0hWQUNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5FTEVDVFJJQ19IVkFDLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vR2FzIEhWQUMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRUxFQ1RSSUNfSFZBQyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5DT01QUkVTU0VEX0FJUl9TWVNURU1TXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQ09NUFJFU1NFRF9BSVJfU1lTVEVNUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L0NvbXByZXNzZWQgYWlyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkNPTVBSRVNTRURfQUlSX1NZU1RFTVMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuUkVGUklHRVJBVElPTl9DT09MSU5HX1NZU1RFTVNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5SRUZSSUdFUkFUSU9OX0NPT0xJTkdfU1lTVEVNUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L1JlZnJpZ2VyYXRpb24gYW5kIGNvb2xpbmcgc3lzdGVtcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5SRUZSSUdFUkFUSU9OX0NPT0xJTkdfU1lTVEVNUyxcbiAgICB9LFxuXG4gICAgW0VOVU1fVEVNUExBVEVTLk1BVEVSSUFMX0hBTkRMSU5HX0VRVUlQTUVOVF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLk1BVEVSSUFMX0hBTkRMSU5HX0VRVUlQTUVOVCxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L01hdGVyaWFsIGhhbmRsaW5nIGVxdWlwbWVudC5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5NQVRFUklBTF9IQU5ETElOR19FUVVJUE1FTlQsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuV0lORF9QT1dFUl06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLldJTkRfUE9XRVIsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9XaW5kIFBvd2VyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLldJTkRfUE9XRVIsXG4gICAgfSxcblxuICAgIFtFTlVNX1RFTVBMQVRFUy5FTEVDVFJJQ19JTkRVU1RSSUFMX01PVE9SU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkVMRUNUUklDX0lORFVTVFJJQUxfTU9UT1JTLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vSW5kdXN0cmlhbCBtb3RvcnMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRUxFQ1RSSUNfSU5EVVNUUklBTF9NT1RPUlMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuR1JPVU5ESU5HXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuR1JPVU5ESU5HLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vR3JvdW5kaW5nIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuR1JPVU5ESU5HLFxuICAgIH0sXG4gICAgLy8gR2FzID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgICBbRU5VTV9URU1QTEFURVMuTkFUVVJBTF9HQVNfUElQRUxJTkVTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuTkFUVVJBTF9HQVNfUElQRUxJTkVTLFxuICAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vTmF0dXJhbCBnYXMgcGlwZWxpbmVzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLk5BVFVSQUxfR0FTX1BJUEVMSU5FUyxcbiAgICB9LFxuICAgIC8vIFtFTlVNX1RFTVBMQVRFUy5MSVFVRUZJRURfTkFUVVJBTF9HQVNdOiB7XG4gICAgLy8gICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkxJUVVFRklFRF9OQVRVUkFMX0dBUyxcbiAgICAvLyAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vTGlxdWVmaWVkIG5hdHVyYWwgZ2FzIChMTkcpIHNoaXBtZW50cy5zdmdgLFxuICAgIC8vICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkxJUVVFRklFRF9OQVRVUkFMX0dBUyxcbiAgICAvLyB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5DT01QUkVTU0VEX05BVFVSQUxfR0FTX1BJUEVMSU5FXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QSVBFTElORSxcbiAgICAgIGljb246IGAke0dBU19JQ09OX0FTU0VUX1BBVEh9L0NvbXByZXNzZWQgbmF0dXJhbCBnYXMgcGlwZWxpbmUgKENORykuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QSVBFTElORSxcbiAgICB9LFxuICAgIC8vIFtFTlVNX1RFTVBMQVRFUy5PTl9TSVRFX1BST0RVQ1RJT05dOiB7XG4gICAgLy8gICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLk9OX1NJVEVfUFJPRFVDVElPTixcbiAgICAvLyAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vT24tc2l0ZSBwcm9kdWN0aW9uLnN2Z2AsXG4gICAgLy8gICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuT05fU0lURV9QUk9EVUNUSU9OLFxuICAgIC8vIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkNPTVBSRVNTRURfTkFUVVJBTF9HQVNfUFJPRFVDVElPTl06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkNPTVBSRVNTRURfTkFUVVJBTF9HQVNfUFJPRFVDVElPTixcbiAgICAgIGljb246IGAke0dBU19JQ09OX0FTU0VUX1BBVEh9L0NvbXByZXNzZWQgbmF0dXJhbCBnYXMgcGlwZWxpbmUgKENORykuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQ09NUFJFU1NFRF9OQVRVUkFMX0dBU19QUk9EVUNUSU9OLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkJPSUxFUlNfQU5EX0hFQVRFUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5CT0lMRVJTX0FORF9IRUFURVJTLFxuICAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vQm9pbGVycyBhbmQgaGVhdGVycy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5CT0lMRVJTX0FORF9IRUFURVJTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkZVUk5BQ0VTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRlVSTkFDRVMsXG4gICAgICBpY29uOiBgJHtHQVNfSUNPTl9BU1NFVF9QQVRIfS9GdXJuYWNlcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5GVVJOQUNFUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QT1dFUl9HRU5FUkFUSU9OXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUE9XRVJfR0VORVJBVElPTixcbiAgICAgIGljb246IGAke0dBU19JQ09OX0FTU0VUX1BBVEh9L1Bvd2VyIGdlbmVyYXRpb24uc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUE9XRVJfR0VORVJBVElPTixcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5DT0dFTkVSQVRJT05dOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5DT0dFTkVSQVRJT04sXG4gICAgICBpY29uOiBgJHtHQVNfSUNPTl9BU1NFVF9QQVRIfS9Db2dlbmVyYXRpb24uc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQ09HRU5FUkFUSU9OLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkNPTUJJTkVEX0NZQ0xFX1BPV0VSX1BMQU5UU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkNPTUJJTkVEX0NZQ0xFX1BPV0VSX1BMQU5UUyxcbiAgICAgIGljb246IGAke0dBU19JQ09OX0FTU0VUX1BBVEh9L0NvbWJpbmVkIGN5Y2xlIHBvd2VyIHBsYW50cy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5DT01CSU5FRF9DWUNMRV9QT1dFUl9QTEFOVFMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRlVFTF9GT1JfVkVISUNMRVNfQU5EX0VRVUlQTUVOVF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkZVRUxfRk9SX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQsXG4gICAgICBpY29uOiBgJHtHQVNfSUNPTl9BU1NFVF9QQVRIfS9GdWVsIGZvciB2ZWhpY2xlcyBhbmQgZXF1aXBtZW50LnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkZVRUxfRk9SX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuR0FTX01FVEVSU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkdBU19NRVRFUlMsXG4gICAgICBpY29uOiBgJHtHQVNfSUNPTl9BU1NFVF9QQVRIfS9HYXMgbWV0ZXJzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkdBU19NRVRFUlMsXG4gICAgfSxcbiAgICAvLyBbRU5VTV9URU1QTEFURVMuQlVSTkVSU106IHtcbiAgICAvLyAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQlVSTkVSUyxcbiAgICAvLyAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vQnVybmVycy5zdmdgLFxuICAgIC8vICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkJVUk5FUlMsXG4gICAgLy8gfSxcbiAgICAvLyBbRU5VTV9URU1QTEFURVMuRkxVRV9HQVNfQU5BTFlaRVJTXToge1xuICAgIC8vICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5GTFVFX0dBU19BTkFMWVpFUlMsXG4gICAgLy8gICAgIGljb246IGAke0dBU19JQ09OX0FTU0VUX1BBVEh9L0ZsdWUgZ2FzIGFuYWx5emVycy5zdmdgLFxuICAgIC8vICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkZMVUVfR0FTX0FOQUxZWkVSUyxcbiAgICAvLyB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5DT01CVVNUSU9OX0NPTlRST0xfU1lTVEVNU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkNPTUJVU1RJT05fQ09OVFJPTF9TWVNURU1TLFxuICAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vQ29tYnVzdGlvbiBjb250cm9sIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQ09NQlVTVElPTl9DT05UUk9MX1NZU1RFTVMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuR0FTX1NUT1JBR0VfVEFOS1NdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5HQVNfU1RPUkFHRV9UQU5LUyxcbiAgICAgIGljb246IGAke0dBU19JQ09OX0FTU0VUX1BBVEh9L0dhcyBzdG9yYWdlIHRhbmtzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkdBU19TVE9SQUdFX1RBTktTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkdBU19QUkVTU1VSRV9SRUdVTEFUT1JTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuR0FTX1BSRVNTVVJFX1JFR1VMQVRPUlMsXG4gICAgICBpY29uOiBgJHtHQVNfSUNPTl9BU1NFVF9QQVRIfS9HYXMgcHJlc3N1cmUgcmVndWxhdG9ycy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5HQVNfUFJFU1NVUkVfUkVHVUxBVE9SUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5OQVRVUkFMX0dBU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLk5BVFVSQUxfR0FTLFxuICAgICAgaWNvbjogYCR7R0FTX0lDT05fQVNTRVRfUEFUSH0vTmF0dXJhbCBHYXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuTkFUVVJBTF9HQVMsXG4gICAgfSxcbiAgICAvLyBGdWVsPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIFtFTlVNX1RFTVBMQVRFUy5ESUVTRUxfRlVFTFNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5ESUVTRUxfRlVFTFMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vRGllc2VsIGZ1ZWwuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRElFU0VMX0ZVRUxTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkdBU09OX0xJTkVTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuR0FTT05fTElORVMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vR2Fzb2xpbmUuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuR0FTT05fTElORVMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuQklPRElFU0VMU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkJJT0RJRVNFTFMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vQmlvZGllc2VsLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkJJT0RJRVNFTFMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuS0VST1NFTlNFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuS0VST1NFTlNFLFxuICAgICAgaWNvbjogYCR7RlVFTF9JQ09OX0FTU0VUX1BBVEh9L0tlcm9zZW5lLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLktFUk9TRU5TRSxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QUk9QQU5FU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBST1BBTkVTLFxuICAgICAgaWNvbjogYCR7RlVFTF9JQ09OX0FTU0VUX1BBVEh9L1Byb3BhbmUuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUFJPUEFORVMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuVEFOS0VSX1RSVUNLU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlRBTktFUl9UUlVDS1MsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vVGFua2VyIFRydWNrcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5UQU5LRVJfVFJVQ0tTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlBJUEVMSU5FXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUElQRUxJTkUsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vUGlwZWxpbmUuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUElQRUxJTkUsXG4gICAgfSxcblxuICAgIFtFTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX0JPSUxFUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX0JPSUxFUlMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vSW5kdXN0cmlhbCBib2lsZXJzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLklORFVTVFJJQUxfQk9JTEVSUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5HRU5FUkFUT1JTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuR0VORVJBVE9SUyxcbiAgICAgIGljb246IGAke0ZVRUxfSUNPTl9BU1NFVF9QQVRIfS9HZW5lcmF0b3JzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkdFTkVSQVRPUlMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuSU5EVVNUUklBTF9GVVJOQUNFU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLklORFVTVFJJQUxfRlVSTkFDRVMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vSW5kdXN0cmlhbCBmdXJuYWNlcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5JTkRVU1RSSUFMX0ZVUk5BQ0VTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLklORFVTVFJJQUxfT1ZFTlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX09WRU5TLFxuICAgICAgaWNvbjogYCR7RlVFTF9JQ09OX0FTU0VUX1BBVEh9L0luZHVzdHJpYWwgb3ZlbnMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuSU5EVVNUUklBTF9PVkVOUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX1ZFSElDTEVTX0FORF9FUVVJUE1FTlRdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vSW5kdXN0cmlhbCB2ZWhpY2xlcyBhbmQgZXF1aXBtZW50LnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLklORFVTVFJJQUxfVkVISUNMRVNfQU5EX0VRVUlQTUVOVCxcbiAgICB9LFxuXG4gICAgW0VOVU1fVEVNUExBVEVTLkZVRUxfTUVURVJTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRlVFTF9NRVRFUlMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vRnVlbCBtZXRlcnMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRlVFTF9NRVRFUlMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRlVFTF9ESVNQRU5TRVJTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRlVFTF9ESVNQRU5TRVJTLFxuICAgICAgaWNvbjogYCR7RlVFTF9JQ09OX0FTU0VUX1BBVEh9L0Z1ZWwgZGlzcGVuc2Vycy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5GVUVMX0RJU1BFTlNFUlMsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRlVFTF9TVFJPUkFHRV9UQU5LU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkZVRUxfU1RST1JBR0VfVEFOS1MsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vRnVlbCBzdG9yYWdlIHRhbmtzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkZVRUxfU1RST1JBR0VfVEFOS1MsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRlVFTF9GSUxUUkFUSU9OU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkZVRUxfRklMVFJBVElPTlMsXG4gICAgICBpY29uOiBgJHtGVUVMX0lDT05fQVNTRVRfUEFUSH0vRnVlbCBmaWx0cmF0aW9uIHN5c3RlbXMuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuRlVFTF9GSUxUUkFUSU9OUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5GVUVMX01BTkFHRU1FTlRTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRlVFTF9NQU5BR0VNRU5UUyxcbiAgICAgIGljb246IGAke0ZVRUxfSUNPTl9BU1NFVF9QQVRIfS9GdWVsIG1hbmFnZW1lbnQgc3lzdGVtcy5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5GVUVMX01BTkFHRU1FTlRTLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuRlVFTFNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5GVUVMUyxcbiAgICAgIGljb246IGAke0ZVRUxfSUNPTl9BU1NFVF9QQVRIfS9EaWVzZWwgZnVlbC5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5GVUVMUyxcbiAgICB9LFxuXG4gICAgLy8gR2FzIG5ld1xuICAgIFtFTlVNX1RFTVBMQVRFUy5MSVFVRUZJRURfTkFUVVJBTF9HQVNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5MSVFVRUZJRURfTkFUVVJBTF9HQVMsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9OYXR1cmFsIGdhcyBnZW5lcmF0b3JzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkxJUVVFRklFRF9OQVRVUkFMX0dBUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5PTl9TSVRFX1BST0RVQ1RJT05dOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5PTl9TSVRFX1BST0RVQ1RJT04sXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9OYXR1cmFsIGdhcyBnZW5lcmF0b3JzLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLk9OX1NJVEVfUFJPRFVDVElPTixcbiAgICB9LFxuXG4gICAgW0VOVU1fVEVNUExBVEVTLkJVUk5FUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5CVVJORVJTLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUG93ZXIgY29uZGl0aW9uaW5nIHVuaXQgKFBDVSkuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQlVSTkVSUyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5GTFVFX0dBU19BTkFMWVpFUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5GTFVFX0dBU19BTkFMWVpFUlMsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9Qb3dlciBjb25kaXRpb25pbmcgdW5pdCAoUENVKS5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5GTFVFX0dBU19BTkFMWVpFUlMsXG4gICAgfSxcbiAgICAvLyBTb2xhciA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgW0VOVU1fVEVNUExBVEVTLlNPTEFSX1BPV0VSXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU09MQVJfUE9XRVIsXG4gICAgICBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9Tb2xhci5zdmdgLFxuICAgICAgc3lzdGVtVHlwZTogRU5VTV9UWVBFUy5TT0xBUl9QT1dFUixcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QT1dFUl9DT05ESVRJT05JTkdfVU5JVF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBPV0VSX0NPTkRJVElPTklOR19VTklULFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vUG93ZXIgY29uZGl0aW9uaW5nIHVuaXQgKFBDVSkuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUE9XRVJfQ09ORElUSU9OSU5HX1VOSVQsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuSU5WRVJURVJTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuSU5WRVJURVJTLFxuICAgICAgaWNvbjogYCR7RU5FUkdZX0lDT05fQVNTRVRfUEFUSH0vSW52ZXJ0ZXIuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuSU5WRVJURVJTLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkJBVFRFUklFU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkJBVFRFUklFUyxcbiAgICAgIGljb246IGAke0VORVJHWV9JQ09OX0FTU0VUX1BBVEh9L0JhdHRlcnkuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQkFUVEVSSUVTLFxuICAgIH0sXG5cbiAgICBbRU5VTV9URU1QTEFURVMuWk9ORV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlpPTkUsXG4gICAgICAvLyBpY29uOiBgJHtFTkVSR1lfSUNPTl9BU1NFVF9QQVRIfS9CYXR0ZXJ5LnN2Z2AsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuWk9ORV9FTkVSR1lfSVRFTV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlpPTkVfRU5FUkdZX0lURU0sXG4gICAgfSxcblxuICAgIC8vIFVOQ0FURUdPUklaRURcbiAgICBbRU5VTV9URU1QTEFURVMuVU5DQVRFR09SSVpFRF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlVOQ0FURUdPUklaRUQsXG4gICAgICBpY29uOiAnJyxcbiAgICAgIC8vIGAke0lDT05fQVNTRVRfUEFUSH0vcmFpbi5zdmdgLFxuICAgIH0sXG5cbiAgICAvLyBQbGFudCBDZWxsXG4gICAgW0VOVU1fVEVNUExBVEVTLlBMQU5UX0NFTExdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5QTEFOVF9DRUxMLFxuICAgICAgaWNvbjogYCR7UExBTlRfQ0VMTF9QQVRIfS9DZWxsLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLlBMQU5UX0NFTEwsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuSU5QVVRfUExBTlRfQ0VMTF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLklOUFVUX1BMQU5UX0NFTEwsXG4gICAgICBpY29uOiAnJyxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5PVVRQVVRfUExBTlRfQ0VMTF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLk9VVFBVVF9QTEFOVF9DRUxMLFxuICAgICAgaWNvbjogJycsXG4gICAgfSxcblxuICAgIFtFTlVNX1RFTVBMQVRFUy5QTEFOVF9DRUxMX0lOUFVUX0dST1VQXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUExBTlRfQ0VMTF9JTlBVVF9HUk9VUCxcbiAgICAgIGljb246IGBgLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlBMQU5UX0NFTExfT1VUUFVUX0dST1VQXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUExBTlRfQ0VMTF9PVVRQVVRfR1JPVVAsXG4gICAgICBpY29uOiBgYCxcbiAgICB9LFxuXG4gICAgW0VOVU1fVEVNUExBVEVTLklNQUdFX1RFTVBMQVRFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuSU1BR0VfVEVNUExBVEUsXG4gICAgICBpY29uOiBgYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QQVJBTV9UQUJMRV06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBBUkFNX1RBQkxFLFxuICAgICAgaWNvbjogYGAsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuTUFTU19CQUxBTkNFXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuTUFTU19CQUxBTkNFLFxuICAgICAgaWNvbjogYGAsXG4gICAgfSxcblxuICAgIC8vIFNURUFNXG4gICAgW0VOVU1fVEVNUExBVEVTLlNURUFNX1BJUEVMSU5FXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1RFQU1fUElQRUxJTkUsXG4gICAgICBpY29uOiBgJHtTVEVBTV9JQ09OX0FTU0VUX1BBVEh9L1BpcGVsaW5lLnN2Z2AsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuVkFMVUVTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuVkFMVUVTLFxuICAgICAgaWNvbjogYCR7U1RFQU1fSUNPTl9BU1NFVF9QQVRIfS9TdGVhbV9WYWx2ZS5wbmdgLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlNURUFNX1RSQVBTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU1RFQU1fVFJBUFMsXG4gICAgICBpY29uOiBgJHtTVEVBTV9JQ09OX0FTU0VUX1BBVEh9L1RyYXAucG5nYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5QUkVTU1VSRV9SRUdVTEFUT1JTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuUFJFU1NVUkVfUkVHVUxBVE9SUyxcbiAgICAgIGljb246IGAke1NURUFNX0lDT05fQVNTRVRfUEFUSH0vUHJlc3N1cmVfUmVndWxhdG9yLnBuZ2AsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuU0FGRVRZX1ZBTFVFU19BTkRfRVFVSVBNRU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuU0FGRVRZX1ZBTFVFU19BTkRfRVFVSVBNRU5ULFxuICAgICAgaWNvbjogYCR7U1RFQU1fSUNPTl9BU1NFVF9QQVRIfS9zYWZldHkgdmFsdmUucG5nYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5DT05ERU5TQVRFX1JFVFVSTl9TWVNURU1dOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5DT05ERU5TQVRFX1JFVFVSTl9TWVNURU0sXG4gICAgICBpY29uOiBgJHtTVEVBTV9JQ09OX0FTU0VUX1BBVEh9L0NvbmRlbnNhdGUgUmV0dXJuIFN5c3RlbS5wbmdgLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLkRFQUVSQVRPUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5ERUFFUkFUT1JTLFxuICAgICAgaWNvbjogYCR7U1RFQU1fSUNPTl9BU1NFVF9QQVRIfS9EZWFlcmF0b3JzLnBuZ2AsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRkVFRFdBVEVSX1BVTVBTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRkVFRFdBVEVSX1BVTVBTLFxuICAgICAgaWNvbjogYCR7U1RFQU1fSUNPTl9BU1NFVF9QQVRIfS9GZWVkIFdhdGVyIFB1bXAucG5nYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5CTE9XRE9XTl9UQU5LU106IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLkJMT1dET1dOX1RBTktTLFxuICAgICAgaWNvbjogYCR7U1RFQU1fSUNPTl9BU1NFVF9QQVRIfS9CbG93ZG93biB0YW5rLnBuZ2AsXG4gICAgfSxcbiAgICBbRU5VTV9URU1QTEFURVMuRVhQQU5TSU9OX1RBTktTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuRVhQQU5TSU9OX1RBTktTLFxuICAgICAgaWNvbjogYCR7U1RFQU1fSUNPTl9BU1NFVF9QQVRIfS9FeHBhbnNpb24gVGFua3MucG5nYCxcbiAgICB9LFxuICAgIFtFTlVNX1RFTVBMQVRFUy5IRUFUX0VYQ0hBTkdFUlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5IRUFUX0VYQ0hBTkdFUlMsXG4gICAgICBpY29uOiBgJHtTVEVBTV9JQ09OX0FTU0VUX1BBVEh9L2hlYXQgZXhjaGFuZ2Vycy5wbmdgLFxuICAgIH0sXG4gICAgW0VOVU1fVEVNUExBVEVTLlRVUkJJTkVTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuVFVSQklORVMsXG4gICAgICBpY29uOiBgJHtTVEVBTV9JQ09OX0FTU0VUX1BBVEh9L3N0ZWFtIHR1cmJpbmUucG5nYCxcbiAgICB9LFxuXG4gICAgLy8gUGxhbnQgQmFzaWNcbiAgICBbRU5VTV9URU1QTEFURVMuR1JPVVBfQkFTSUNfQ09NUE9ORU5UXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuR1JPVVBfQkFTSUNfQ09NUE9ORU5ULFxuICAgICAgaWNvbjogYGAsXG4gICAgfSxcblxuICAgIC8vIFN5c3RlbSBUeXBlIEdyb3VwIGR1cGxpY2F0ZSBFbmVyZ3kgd2l0aCBXYXRlclxuICAgIFtFTlVNX1RFTVBMQVRFUy5CT0lMRVJfRU5FUkdZXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQk9JTEVSX0VORVJHWSxcbiAgICAgIGljb246IGAke0lDT05fQVNTRVRfUEFUSH0vQm9pbGVyLnN2Z2AsXG4gICAgICBzeXN0ZW1UeXBlOiBFTlVNX1RZUEVTLkJPSUxFUixcbiAgICB9LFxuXG4gICAgW0VOVU1fVEVNUExBVEVTLkNPT0xJTkdfVE9XRVJfRU5FUkdZXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQ09PTElOR19UT1dFUl9FTkVSR1ksXG4gICAgICBpY29uOiBgJHtJQ09OX0FTU0VUX1BBVEh9L2Nvb2xpbmdfdG93ZXIuc3ZnYCxcbiAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuQ09PTElOR19UT1dFUixcbiAgICB9LFxuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBXSVRIRFJBV19ESVNDSEFSR0VfSUNPTjoge1xuICAgIFtrZXkgaW4gc3RyaW5nXTogYW55O1xuICB9ID0ge1xuICAgIFtFTlVNX1RZUEVTLkZSRVNIX1NVUkZBQ0VfV0FURVJdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5GUkVTSF9TVVJGQUNFX1dBVEVSLFxuICAgICAgaWNvbkFjdGl2ZTogYCR7SUNPTl9BU1NFVF9XSVRIRFJBV19ESVNDSEFSR0VfSUNPTn0vRnJlc2ggc3VyZmFjZSB3YXRlciAtIER1by5zdmdgLFxuICAgICAgaWNvbkRpc2FibGVkOiBgJHtJQ09OX0FTU0VUX1dJVEhEUkFXX0RJU0NIQVJHRV9JQ09OfS9GcmVzaCBzdXJmYWNlIHdhdGVyLnN2Z2AsXG4gICAgfSxcbiAgICBbRU5VTV9UWVBFUy5USElSRF9QQVJUWV9TT1VSQ0VTXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuVEhJUkRfUEFSVFlfU09VUkNFUyxcbiAgICAgIGljb25BY3RpdmU6IGAke0lDT05fQVNTRVRfV0lUSERSQVdfRElTQ0hBUkdFX0lDT059L1RoaXJkIHBhcnR5IHNvdXJjZXMgLSBEdW8uc3ZnYCxcbiAgICAgIGljb25EaXNhYmxlZDogYCR7SUNPTl9BU1NFVF9XSVRIRFJBV19ESVNDSEFSR0VfSUNPTn0vVGhpcmQgcGFydHkgc291cmNlcy5zdmdgLFxuICAgICAgaXNIYXNXYXRlckNhcGNpdHk6IHRydWUsXG4gICAgfSxcbiAgICBbRU5VTV9UWVBFUy5USElSRF9QQVJUWV9ERVNUSU5BVElPTlNdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5USElSRF9QQVJUWV9ERVNUSU5BVElPTlMsXG4gICAgICBpY29uQWN0aXZlOiBgJHtJQ09OX0FTU0VUX1dJVEhEUkFXX0RJU0NIQVJHRV9JQ09OfS9UaGlyZCBwYXJ0eSBzb3VyY2VzIC0gRHVvLnN2Z2AsXG4gICAgICBpY29uRGlzYWJsZWQ6IGAke0lDT05fQVNTRVRfV0lUSERSQVdfRElTQ0hBUkdFX0lDT059L1RoaXJkIHBhcnR5IHNvdXJjZXMuc3ZnYCxcbiAgICAgIGlzSGFzV2F0ZXJDYXBjaXR5OiB0cnVlLFxuICAgIH0sXG4gICAgW0VOVU1fVFlQRVMuR1JPVU5EX1dBVEVSX05PTl9SRU5FV0FCTEVdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5HUk9VTkRfV0FURVJfTk9OX1JFTkVXQUJMRSxcbiAgICAgIGljb25BY3RpdmU6IGAke0lDT05fQVNTRVRfV0lUSERSQVdfRElTQ0hBUkdFX0lDT059L0dyb3VuZHdhdGVyIC0gbm9uLXJlbmV3YWJsZSAtIER1by5zdmdgLFxuICAgICAgaWNvbkRpc2FibGVkOiBgJHtJQ09OX0FTU0VUX1dJVEhEUkFXX0RJU0NIQVJHRV9JQ09OfS9Hcm91bmR3YXRlciAtIG5vbi1yZW5ld2FibGUuc3ZnYCxcbiAgICB9LFxuICAgIFtFTlVNX1RZUEVTLlBST0RVQ0VEX0VOVFJBSU5FRF06IHtcbiAgICAgIG5hbWU6IEVOVU1fVEVNUExBVEVTLlBST0RVQ0VEX0VOVFJBSU5FRCxcbiAgICAgIGljb25BY3RpdmU6IGAke0lDT05fQVNTRVRfV0lUSERSQVdfRElTQ0hBUkdFX0lDT059L0dyb3VuZHdhdGVyIC0gcmVuZXdhYmxlIC0gRHVvLnN2Z2AsXG4gICAgICBpY29uRGlzYWJsZWQ6IGAke0lDT05fQVNTRVRfV0lUSERSQVdfRElTQ0hBUkdFX0lDT059L0dyb3VuZHdhdGVyIC0gcmVuZXdhYmxlLnN2Z2AsXG4gICAgfSxcbiAgICBbRU5VTV9UWVBFUy5CUkFDS0lTSF9TVVJGQUNFX1dBVEVSXToge1xuICAgICAgbmFtZTogRU5VTV9URU1QTEFURVMuQlJBQ0tJU0hfU1VSRkFDRV9XQVRFUixcbiAgICAgIGljb25pY29uQWN0aXZlOiBgJHtJQ09OX0FTU0VUX1dJVEhEUkFXX0RJU0NIQVJHRV9JQ09OfS9CcmFja2lzaCBzdXJmYWNlIC0gRHVvLnN2Z2AsXG4gICAgICBpY29uRGlzYWJsZWQ6IGAke0lDT05fQVNTRVRfV0lUSERSQVdfRElTQ0hBUkdFX0lDT059L0JyYWNraXNoIHN1cmZhY2Uuc3ZnYCxcbiAgICB9LFxuICAgIFtFTlVNX1RZUEVTLkdST1VORF9XQVRFUl9SRU5FV0FCTEVdOiB7XG4gICAgICBuYW1lOiBFTlVNX1RFTVBMQVRFUy5HUk9VTkRfV0FURVJfUkVORVdBQkxFLFxuICAgICAgaWNvbkFjdGl2ZTogYCR7SUNPTl9BU1NFVF9XSVRIRFJBV19ESVNDSEFSR0VfSUNPTn0vR3JvdW5kd2F0ZXIgLSByZW5ld2FibGUgLSBEdW8uc3ZnYCxcbiAgICAgIGljb25EaXNhYmxlZDogYCR7SUNPTl9BU1NFVF9XSVRIRFJBV19ESVNDSEFSR0VfSUNPTn0vR3JvdW5kd2F0ZXIgLSByZW5ld2FibGUuc3ZnYCxcbiAgICB9LFxuICB9O1xuXG4gIGV4cG9ydCBjb25zdCBXSVRIRFJBV19ESVNDSEFSR0VfRElBR1JBTV9IT01FID0ge1xuICAgIHdpdGhkcmF3U291cmNlc0NoaWxkcmVuOiBbXG4gICAgICBFTlVNX1RZUEVTLldBVEVSX1RSRUFUTUVOVCxcbiAgICAgIEVOVU1fVFlQRVMuREVNSU5fV0FURVJfVFJFQVRNRU5ULFxuICAgICAgRU5VTV9UWVBFUy5ST19XQVRFUl9UUkVBVE1FTlQsXG4gICAgXSxcbiAgICBkaXNjaGFyZ2VEZXN0aW5hdGlvbnNDaGlsZHJlbjogW1xuICAgICAgRU5VTV9UWVBFUy5XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICAgIEVOVU1fVFlQRVMuREFGX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgICAgRU5VTV9UWVBFUy5FVFBfV0FTVEVXQVRFUl9UUkVBVE1FTlQsXG4gICAgICBFTlVNX1RZUEVTLk1CUl9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICAgIEVOVU1fVFlQRVMuWkxEX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIF0sXG4gIH07XG5cbiAgZXhwb3J0IGVudW0gQUNUSU9OX1JJR0hUX01FTlVfR1JPVVAge1xuICAgIFBMQU5UX1RFTVBMQVRFUyA9ICdQbGFudCBUZW1wbGF0ZXMnLFxuICAgIFBMQU5UX0NFTExTID0gJ1BsYW50IENlbGwnLFxuICAgIERBVEFfQk9YID0gJ01lYXN1cmVtZW50JyxcbiAgICBTWVNURU1fVEVNUExBVEVTID0gJ1N5c3RlbSBUZW1wbGF0ZXMnLFxuICAgIFdBVEVSX0NPTVBPTkVOVCA9ICdXYXRlciBDb21wb25lbnRzJyxcbiAgfVxuXG4gIGV4cG9ydCBlbnVtIERBVEFfQk9YX05BTUVfT0ZfQ09NUE9ORU5UIHtcbiAgICBJTkZMT1cgPSAnSW5mbG93IE9mJyxcbiAgICBPVVRGTE9XID0gJ091dGZsb3cgRnJvbScsXG4gIH1cblxuICBleHBvcnQgZW51bSBBQ1RJT05fUklHSFRfTUVOVSB7XG4gICAgQVBQTFlfVEVNUExBVEUgPSAnQXBwbHlUZW1wbGF0ZScsXG4gICAgTkVXX1BMQU5UX0NFTEwgPSAnTmV3UGxhbnRDZWxsJyxcbiAgICBOQU1FX1BMQU5UX0NFTEwgPSAnTmFtZVBsYW50Q2VsbCcsXG4gICAgQUREX0NPTVBPTkVOVCA9ICdBZGRDb21wb25lbnQnLFxuICB9XG5cbiAgZXhwb3J0IGNvbnN0IERBVEFfTUVOVSA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnUGxhbnQgVGVtcGxhdGVzJyxcbiAgICAgIGNvbXBvbmVudFR5cGU6IEFUT19FQ09NUE9ORU5UX1BMQU5UX1RZUEUuV0FURVIsXG4gICAgICBpc0ZpbHRlclR5cGU6IHRydWUsXG4gICAgICBncm91cFR5cGU6IEFDVElPTl9SSUdIVF9NRU5VX0dST1VQLlBMQU5UX1RFTVBMQVRFUyxcbiAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnRm9vZCBhbmQgQmV2ZXJhZ2VzJyxcbiAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgYWN0aW9uVHlwZTogQUNUSU9OX1JJR0hUX01FTlUuQVBQTFlfVEVNUExBVEUsXG4gICAgICAgICAgaXNEcmFnOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ1Bvd2VyIHBsYW50JyxcbiAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgICAgYWN0aW9uVHlwZTogQUNUSU9OX1JJR0hUX01FTlUuQVBQTFlfVEVNUExBVEUsXG4gICAgICAgICAgaXNEcmFnOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuXG4gICAgLy8ge1xuICAgIC8vICAgICBuYW1lOiAnUGxhbnQgQ2VsbHMnLFxuICAgIC8vICAgICBncm91cFR5cGU6IEFDVElPTl9SSUdIVF9NRU5VX0dST1VQLlBMQU5UX0NFTExTLFxuICAgIC8vICAgICBjb21wb25lbnRUeXBlOiBFX0NPTVBPTkVOVF9QTEFOVF9UWVBFLldBVEVSLFxuICAgIC8vICAgICBpc0ZpbHRlclR5cGU6IHRydWUsXG4gICAgLy8gICAgIGNoaWxkcmVuOiBbXG4gICAgLy8gICAgICAgICB7XG4gICAgLy8gICAgICAgICAgICAgbmFtZTogJ0JlZXIgUHJvZHVjdGlvbiBjZWxsJyxcbiAgICAvLyAgICAgICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgLy8gICAgICAgICAgICAgYWN0aW9uVHlwZTogQUNUSU9OX1JJR0hUX01FTlUuTkFNRV9QTEFOVF9DRUxMLFxuICAgIC8vICAgICAgICAgICAgIGlzRHJhZzogdHJ1ZSxcbiAgICAvLyAgICAgICAgICAgICBpc1ZpZXdNb2RlOiB0cnVlLFxuICAgIC8vICAgICAgICAgICAgIHN5c3RlbVR5cGU6IEVOVU1fVFlQRVMuUExBTlRfQ0VMTCxcbiAgICAvLyAgICAgICAgICAgICB0eXBlOiBFTlVNX1RZUEVTLlBMQU5UX0NFTEwsXG4gICAgLy8gICAgICAgICAgICAgaW5wdXRUeXBlOiBUWVBFX0lOUFVULlRFWFQsXG4gICAgLy8gICAgICAgICAgICAgZmM6IG5ldyBGb3JtQ29udHJvbCgnQmVlciBQcm9kdWN0aW9uIGNlbGwnLCBWYWxpZGF0b3JzLnJlcXVpcmVkKSxcbiAgICAvLyAgICAgICAgICAgICBmY0JhY2t1cDogbmV3IEZvcm1Db250cm9sKCdCZWVyIFByb2R1Y3Rpb24gY2VsbCcsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgIC8vICAgICAgICAgfSxcbiAgICAvLyAgICAgICAgIHtcbiAgICAvLyAgICAgICAgICAgICBuYW1lOiAnTmV3IFBsYW50IENlbGwnLFxuICAgIC8vICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSxcbiAgICAvLyAgICAgICAgICAgICBhY3Rpb25UeXBlOiBBQ1RJT05fUklHSFRfTUVOVS5ORVdfUExBTlRfQ0VMTCxcbiAgICAvLyAgICAgICAgICAgICBpc0RyYWc6IGZhbHNlLFxuICAgIC8vICAgICAgICAgfSxcbiAgICAvLyAgICAgXSxcbiAgICAvLyB9LFxuICBdO1xuXG4gIGV4cG9ydCBjb25zdCBXQVRFUl9VU0lOR19TWVNURU0gPSBbXG4gICAgRU5VTV9UWVBFUy5DT09MSU5HX1RPV0VSLFxuICAgIEVOVU1fVFlQRVMuQk9JTEVSLFxuICAgIEVOVU1fVFlQRVMuT1RIRVIsXG4gICAgRU5VTV9UWVBFUy5QUk9DRVNTLFxuICAgIEVOVU1fVFlQRVMuRE9NRVNUSUNfVVNFLFxuICAgIEVOVU1fVFlQRVMuTEFORFNDQVBJTkdfSVJSSUdBVElPTixcbiAgXTtcblxuICBleHBvcnQgY29uc3QgUEFSQU1fVEFCTEVfU1RZTEUgPSB7XG4gICAgW0VOVU1fQ09MT1JTLkNFUlVMRUFOXToge1xuICAgICAgYm9yZGVyVGFibGU6IEVOVU1fQ09MT1JTLkNFUlVMRUFOLFxuICAgICAgYmdDb2xvcjogRU5VTV9DT0xPUlMuQ0VSVUxFQU5fQUxJQ0VfQkxVRSxcbiAgICB9LFxuICAgIFtFTlVNX0NPTE9SUy5EQU5VQkVdOiB7XG4gICAgICBib3JkZXJUYWJsZTogRU5VTV9DT0xPUlMuREFOVUJFLFxuICAgICAgYmdDb2xvcjogRU5VTV9DT0xPUlMuREFOVUJFX0FMSUNFX0JMVUUsXG4gICAgfSxcbiAgICBbRU5VTV9DT0xPUlMuRk9VTlRBSU5fQkxVRV06IHtcbiAgICAgIGJvcmRlclRhYmxlOiBFTlVNX0NPTE9SUy5GT1VOVEFJTl9CTFVFLFxuICAgICAgYmdDb2xvcjogRU5VTV9DT0xPUlMuQVpVUkUsXG4gICAgfSxcbiAgICBbRU5VTV9DT0xPUlMuR0FMTElBTk9dOiB7XG4gICAgICBib3JkZXJUYWJsZTogRU5VTV9DT0xPUlMuR0FMTElBTk8sXG4gICAgICBiZ0NvbG9yOiBFTlVNX0NPTE9SUy5PTERfTEFDRSxcbiAgICB9LFxuICAgIFtFTlVNX0NPTE9SUy5XSElURV06IHtcbiAgICAgIGJvcmRlclRhYmxlOiBFTlVNX0NPTE9SUy5XSElURSxcbiAgICAgIGJnQ29sb3I6IEVOVU1fQ09MT1JTLldISVRFLFxuICAgIH0sXG4gIH07XG5cbiAgLy8gU3lzdGVtIHR5cGUgaW5jbHVkZSBXYXRlclxuICBleHBvcnQgY29uc3QgVFlQRV9DT01QT05FTlRfV0FURVI6IHN0cmluZ1tdID0gW1xuICAgIEVOVU1fVFlQRVMuU1RPUkFHRSxcblxuICAgIEVOVU1fVFlQRVMuV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuREVNSU5fV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuUk9fV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuSU1NRVJTRURfVUZfV0FURVJfVFJFQVRNRU5UUyxcbiAgICBFTlVNX1RZUEVTLlBSRVNTVVJJWkVEX1VGX1dBVEVSX1RSRUFUTUVOVFMsXG5cbiAgICBFTlVNX1RZUEVTLlBST0NFU1MsXG5cbiAgICBFTlVNX1RZUEVTLldBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuREFGX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuRVRQX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuTUJSX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEVOVU1fVFlQRVMuWkxEX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuXG4gICAgRU5VTV9UWVBFUy5ET01FU1RJQ19VU0UsXG4gICAgRU5VTV9UWVBFUy5DT09MSU5HX1RPV0VSLFxuICAgIEVOVU1fVFlQRVMuQk9JTEVSLFxuICAgIEVOVU1fVFlQRVMuT1RIRVIsXG4gICAgRU5VTV9UWVBFUy5MQU5EU0NBUElOR19JUlJJR0FUSU9OLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5XYXRlcldpdGhkcmF3U291cmNlcyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuV2F0ZXJEaXNjaGFyZ2VEZXN0aW5hdGlvbnMsXG4gIF07XG5cbiAgLy8gVGVtcGxhdGUgdHlwZSBpbmNsdWRlcyBXYXRlclxuICBleHBvcnQgY29uc3QgVFlQRV9URU1QTEFURV9XQVRFUl9OT1JNQUw6IHN0cmluZ1tdID0gW1xuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5QUk9DRVNTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5CT0lMRVIsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLklNTUVSU0VEX1VGX1dBVEVSX1RSRUFUTUVOVFMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBSRVNTVVJJWkVEX1VGX1dBVEVSX1RSRUFUTUVOVFMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPT0xJTkdfVE9XRVIsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkVUUF9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuWkxEX1dBU1RFV0FURVJfVFJFQVRNRU5ULFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5NQlJfV0FTVEVXQVRFUl9UUkVBVE1FTlQsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkRBRl9XQVNURVdBVEVSX1RSRUFUTUVOVCxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuUk9fV0FURVJfVFJFQVRNRU5ULFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5ERU1JTl9XQVRFUl9UUkVBVE1FTlQsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlNUT1JBR0UsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkRPTUVTVElDX1VTRSxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuTEFORFNDQVBJTkdfSVJSSUdBVElPTixcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuT1RIRVIsXG4gIF07XG4gIC8vIFsnUHJvY2VzcycsICdCb2lsZXInLCAnQ29vbGluZyBUb3dlcicsICdFVFAgV2FzdGV3YXRlciBUcmVhdG1lbnQnLCAnWkxEIFdhc3Rld2F0ZXIgVHJlYXRtZW50JywgJ01CUiBXYXN0ZXdhdGVyIFRyZWF0bWVudCcsICdEQUYgV2FzdGV3YXRlciBUcmVhdG1lbnQnLFxuICAvLyAnUk8gV2F0ZXIgVHJlYXRtZW50JywgJ0RlbWluIFdhdGVyIFRyZWF0bWVudCcsICdTdG9yYWdlJywgJ0RvbWVzdGljIFVzZScsICdMYW5kc2NhcGluZy9JcnJpZ2F0aW9uJywgJ090aGVyJ107XG4gIGV4cG9ydCBjb25zdCBUWVBFX1RFTVBMQVRFX1dBVEVSX1dJVEhEUkFXX09SX0RJU0NIQVJHRTogc3RyaW5nW10gPSBbXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkZSRVNIX1NVUkZBQ0VfV0FURVIsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkJSQUNLSVNIX1NVUkZBQ0VfV0FURVIsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkdST1VORF9XQVRFUl9SRU5FV0FCTEUsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkdST1VORF9XQVRFUl9OT05fUkVORVdBQkxFLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5QUk9EVUNFRF9FTlRSQUlORUQsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlRISVJEX1BBUlRZX1NPVVJDRVMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlRISVJEX1BBUlRZX0RFU1RJTkFUSU9OUyxcbiAgXTtcbiAgLy8gIFsnRnJlc2ggc3VyZmFjZSB3YXRlcicsICdCcmFja2lzaCBzdXJmYWNlIHdhdGVyLyBzZWF3YXRlcicsICdHcm91bmR3YXRlciAtIFJlbmV3YWJsZScsICdHcm91bmR3YXRlciAtIG5vbi1yZW5ld2FibGUnLCAnUHJvZHVjZWQgLyBlbnRyYWluZWQgd2F0ZXInLCAnVGhpcmQgcGFydHkgc291cmNlcycsICdUaGlyZCBwYXJ0eSBkZXN0aW5hdGlvbnMnXTtcbiAgZXhwb3J0IGNvbnN0IFRZUEVfVEVNUExBVEVfRUxFQ1RSSUNJVFk6IHN0cmluZ1tdID0gW1xuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5HUklELFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5ESUVTRUxfR0VORVJBVE9SUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuTkFUVVJBTF9HQVNfR0VORVJBVE9SUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuU09MQVJfUE9XRVIsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlRSQU5TRk9STUVSUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuU1dJVENIX0dFQVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5NT1RPUl9DT05UUk9MUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuVkFSSUFCTEVfRlJFUVVFTkNZX0RSSVZFUlMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBPV0VSX0RJU1RSSUJVVElPTl9TWVNURU1TLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5MSUdIVElOR1MsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkdST1VORElORyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuRUxFQ1RSSUNfTUVURVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5FTEVDVFJJQ19JTkRVU1RSSUFMX01PVE9SUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuTElHSFRJTkdfU1lTVEVNUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuRUxFQ1RSSUNfSFZBQyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuUkVGUklHRVJBVElPTl9DT09MSU5HX1NZU1RFTVMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBST0NFU1NfQ09OVFJPTF9BVVRPTUFUSU9OX1NZU1RFTVMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLk9GRklDRV9FUVVJUE1FTlQsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPTVBSRVNTRURfQUlSX1NZU1RFTVMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBST0NFU1NfRVFVSVBNRU5UX01BQ0hJTkVTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5NQVRFUklBTF9IQU5ETElOR19FUVVJUE1FTlQsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBPV0VSX0RJU1RSSUJVVElPTl9DT05UUk9MX1NZU1RFTVMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBVTVAsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkJBVFRFUllfRU5FUkdZX1NUT1JBR0UsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkVMRUNUUklDX0ZMWVdIRUVMX0VORVJHWV9TVE9SQUdFLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5QVU1QRURfSFlEUk9fU1RPUkFHRSxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuVEhFUk1BTF9FTkVSR1lfU1RPUkFHRSxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuU1VQRVJfQ0FQQUNJVE9SX0VORVJHWV9TVE9SQUdFLFxuICBdO1xuICAvLyBbJ0dyaWQnLCAnRGllc2VsIEdlbmVyYXRvcnMnLCAnTmF0dXJhbCBnYXMgZ2VuZXJhdG9ycycsICdTb2xhciBQb3dlcicsICdUcmFuc2Zvcm1lcnMnLCAnU3dpdGNoZ2VhcnMnLCAnTW90b3JDb250cm9scycsICdWYXJpYWJsZUZyZXF1ZW5jeURyaXZlcycsXG4gIC8vICdQb3dlciBkaXN0cmlidXRpb24gc3lzdGVtcycsICdMaWdodGluZ3MnLCAnR3JvdW5kaW5nJywgJ0VsZWN0cmljIE1ldGVycycsICdJbmR1c3RyaWFsIG1vdG9ycycsXG4gIC8vICdMaWdodGluZyBzeXN0ZW1zJywgJ0hlYXRpbmcsIHZlbnRpbGF0aW9uLCBhbmQgYWlyIGNvbmRpdGlvbmluZyAoSFZBQykgc3lzdGVtcycsICdSZWZyaWdlcmF0aW9uIGFuZCBjb29saW5nJywgJ1Byb2Nlc3MgY29udHJvbCBhbmQgYXV0b21hdGlvbicsICdPZmZpY2UgZXF1aXBtZW50JywgJ0NvbXByZXNzZWQgYWlyJyxcbiAgLy8gJ1Byb2Nlc3MgZXF1aXBtZW50IGFuZCBtYWNoaW5lcycsICdNYXRlcmlhbCBoYW5kbGluZyBlcXVpcG1lbnQnLCAnUG93ZXIgZGlzdHJpYnV0aW9uIGFuZCBjb250cm9sJywgJ0JhdHRlcnkgZW5lcmd5IHN0b3JhZ2UnLCAnRmx5d2hlZWwgZW5lcmd5IHN0b3JhZ2UnLFxuICAvLyAnUHVtcGVkIGh5ZHJvIHN0b3JhZ2UnLCAnVGhlcm1hbCBlbmVyZ3kgc3RvcmFnZScsICdTdXBlcmNhcGFjaXRvciBlbmVyZ3kgc3RvcmFnZSddO1xuICBleHBvcnQgY29uc3QgVFlQRV9URU1QTEFURV9OQVRVUkFMX0dBUzogc3RyaW5nW10gPSBbXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLk5BVFVSQUxfR0FTX1BJUEVMSU5FUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuTElRVUVGSUVEX05BVFVSQUxfR0FTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5DT01QUkVTU0VEX05BVFVSQUxfR0FTX1BJUEVMSU5FLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5PTl9TSVRFX1BST0RVQ1RJT04sXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPTVBSRVNTRURfTkFUVVJBTF9HQVNfUFJPRFVDVElPTixcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuQk9JTEVSU19BTkRfSEVBVEVSUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuRlVSTkFDRVMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBPV0VSX0dFTkVSQVRJT04sXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPR0VORVJBVElPTixcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuQ09NQklORURfQ1lDTEVfUE9XRVJfUExBTlRTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5GVUVMX0ZPUl9WRUhJQ0xFU19BTkRfRVFVSVBNRU5ULFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5HQVNfTUVURVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5CVVJORVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5GTFVFX0dBU19BTkFMWVpFUlMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPTUJVU1RJT05fQ09OVFJPTF9TWVNURU1TLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5HQVNfU1RPUkFHRV9UQU5LUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuR0FTX1BSRVNTVVJFX1JFR1VMQVRPUlMsXG4gIF07XG4gIC8vIFsnTmF0dXJhbCBnYXMgcGlwZWxpbmVzJywgJ0xpcXVlZmllZCBuYXR1cmFsIGdhcycsICdDb21wcmVzc2VkIG5hdHVyYWwgZ2FzIHBpcGVsaW5lJywgJ09uLXNpdGUgcHJvZHVjdGlvbicsXG4gIC8vICdDb21wcmVzc2VkIG5hdHVyYWwgZ2FzIHByb2R1Y3Rpb24nLCAnQm9pbGVycyBhbmQgaGVhdGVycycsICdGdXJuYWNlcycsICdQb3dlciBnZW5lcmF0aW9uJywgJ0NvZ2VuZXJhdGlvbicsICdDb21iaW5lZCBjeWNsZSBwb3dlciBwbGFudHMnLFxuICAvLyAnRnVlbCBmb3IgdmVoaWNsZXMgYW5kIGVxdWlwbWVudCcsICdHYXMgbWV0ZXJzJywgJ0J1cm5lcnMnLCAnRmx1ZSBnYXMgYW5hbHl6ZXJzJywgJ0NvbWJ1c3Rpb24gY29udHJvbCBzeXN0ZW1zJywgJ0dhcyBzdG9yYWdlIHRhbmtzJyxcbiAgLy8gJ0dhcyBwcmVzc3VyZSByZWd1bGF0b3JzJ107XG4gIGV4cG9ydCBjb25zdCBUWVBFX1RFTVBMQVRFX0ZVRUw6IHN0cmluZ1tdID0gW1xuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5ESUVTRUxfRlVFTFMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkdBU09OX0xJTkVTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5CSU9ESUVTRUxTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5LRVJPU0VOU0UsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBST1BBTkVTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5UQU5LRVJfVFJVQ0tTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5QSVBFTElORSxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuSU5EVVNUUklBTF9CT0lMRVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5HRU5FUkFUT1JTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX0ZVUk5BQ0VTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX09WRU5TLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5JTkRVU1RSSUFMX1ZFSElDTEVTX0FORF9FUVVJUE1FTlQsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkZVRUxfTUVURVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5GVUVMX0RJU1BFTlNFUlMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkZVRUxfU1RST1JBR0VfVEFOS1MsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkZVRUxfRklMVFJBVElPTlMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkZVRUxfTUFOQUdFTUVOVFMsXG4gIF07XG4gIC8vIFsnRGllc2VsRnVlbHMnLCAnR2Fzb25saW5lcycsICdCaW9kaWVzZWxzJywgJ0tlcm9zZW5lcycsICdQcm9wYW5lcycsICdUYW5rZXIgVHJ1Y2tzJyxcbiAgLy8gJ1BpcGVsaW5lJywgJ0luZHVzdHJpYWwgYm9pbGVycycsICdHZW5lcmF0b3JzJywgJ0luZHVzdHJpYWwgZnVybmFjZXMnLCAnSW5kdXN0cmlhbCBvdmVucycsICdJbmR1c3RyaWFsIHZlaGljbGVzIGFuZCBlcXVpcG1lbnQnLFxuICAvLyAnRnVlbE1ldGVycycsICdGdWVsRGlzcGVuc2VycycsICdGdWVsU3RvcmFnZVRhbmtzJywgJ0Z1ZWxGaWx0cmF0aW9ucycsICdGdWVsTWFuYWdlbWVudHMnXTtcbiAgZXhwb3J0IGNvbnN0IFRZUEVfVEVNUExBVEVfU1RFQU06IHN0cmluZ1tdID0gW1xuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5TVEVBTV9QSVBFTElORSxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuVkFMVUVTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5TVEVBTV9UUkFQUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuUFJFU1NVUkVfUkVHVUxBVE9SUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuU0FGRVRZX1ZBTFVFU19BTkRfRVFVSVBNRU5ULFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5DT05ERU5TQVRFX1JFVFVSTl9TWVNURU0sXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkRFQUVSQVRPUlMsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkZFRURXQVRFUl9QVU1QUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuQkxPV0RPV05fVEFOS1MsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkVYUEFOU0lPTl9UQU5LUyxcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuSEVBVF9FWENIQU5HRVJTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5UVVJCSU5FUyxcbiAgXTtcbiAgLy8gWydWYWx2ZXMnLCAnU3RlYW0gVHJhcHMnLCAnUHJlc3N1cmUgUmVndWxhdG9yJywgJ1NhZmV0eSBWYWx2ZXMgYW5kIEVxdWlwbWVudCcsICdDb25kZW5zYXRlIFJldHVybiBTeXN0ZW0nLCAnRGVhZXJhdG9ycycsXG4gIC8vICdGZWVkd2F0ZXIgUHVtcHMnLCAnQmxvd2Rvd24gVGFua3MnLCAnRXhwYW5zaW9uIFRhbmtzJywgJ0hlYXQgRXhjaGFuZ2VycycsICdUdXJiaW5lcyddO1xuICBleHBvcnQgY29uc3QgVFlQRV9URU1QTEFURV9TUEVDSUFMOiBzdHJpbmdbXSA9IFtcbiAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuU1BFQ0lBTF9QUk9DRVNTLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5TUEVDSUFMX1NUT1JBR0UsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlNQRUNJQUxfU1RPUkUsXG4gICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlNQRUNJQUxfRElTQ0hBUkdFLFxuICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5TUEVDSUFMX09USEVSLFxuICBdO1xuXG4gIGV4cG9ydCBjb25zdCBURU1QTEFURV9EVVBMSUNBVEU6IGFueSA9IHtcbiAgICBbQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlNURUFNX1BJUEVMSU5FXTpcbiAgICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5QSVBFTElORSxcbiAgICBbQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkJPSUxFUl9FTkVSR1ldOlxuICAgICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkJPSUxFUixcbiAgICBbQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPT0xJTkdfVE9XRVJfRU5FUkdZXTpcbiAgICAgIEF0b0dvanNFZGl0b3JNb2RlbC5FTlVNX1RFTVBMQVRFUy5DT09MSU5HX1RPV0VSLFxuICAgIFtBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuSU1NRVJTRURfVUZfV0FURVJfVFJFQVRNRU5UU106XG4gICAgICBBdG9Hb2pzRWRpdG9yTW9kZWwuRU5VTV9URU1QTEFURVMuQ09PTElOR19UT1dFUixcbiAgICBbQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLlBSRVNTVVJJWkVEX1VGX1dBVEVSX1RSRUFUTUVOVFNdOlxuICAgICAgQXRvR29qc0VkaXRvck1vZGVsLkVOVU1fVEVNUExBVEVTLkNPT0xJTkdfVE9XRVIsXG4gIH07XG59XG4iXX0=