ato-water-lib 0.0.34 → 0.0.37

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