ato-water-lib 0.0.0-watch

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