@senior-gestao-empresarial/erpx-components 0.0.0-develop-3bab051d

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/bundles/senior-gestao-empresarial-erpx-components.umd.js +37665 -0
  2. package/bundles/senior-gestao-empresarial-erpx-components.umd.js.map +1 -0
  3. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js +17 -0
  4. package/bundles/senior-gestao-empresarial-erpx-components.umd.min.js.map +1 -0
  5. package/components/breadcrumb/breadcrumb.component.d.ts +21 -0
  6. package/components/breadcrumb/breadcrumb.module.d.ts +2 -0
  7. package/components/breadcrumb/index.d.ts +2 -0
  8. package/components/focus/focus.service.d.ts +4 -0
  9. package/components/lote-serie/erp-lote-serie.component.d.ts +183 -0
  10. package/components/lote-serie/erp-lote-serie.module.d.ts +2 -0
  11. package/components/lote-serie/erp-lote-serie.service.d.ts +137 -0
  12. package/components/lote-serie/index.d.ts +2 -0
  13. package/components/rateio-editor/erp-rateio-editor.component.d.ts +202 -0
  14. package/components/rateio-editor/erp-rateio-editor.converter.d.ts +18 -0
  15. package/components/rateio-editor/erp-rateio-editor.module.d.ts +2 -0
  16. package/components/rateio-editor/erp-rateio-editor.service.d.ts +17 -0
  17. package/components/rateio-editor/erp-rateio-editor.types.d.ts +171 -0
  18. package/components/rateio-editor/index.d.ts +4 -0
  19. package/components/resumo/erp-resumo.component.d.ts +17 -0
  20. package/components/resumo/erp-resumo.module.d.ts +2 -0
  21. package/components/resumo/erp-resumo.service.d.ts +2 -0
  22. package/components/resumo/index.d.ts +2 -0
  23. package/components/tributos/calculators/effective-tax-rate-calculator.d.ts +34 -0
  24. package/components/tributos/calculators/gross-amount-calculator.d.ts +20 -0
  25. package/components/tributos/calculators/tax-amount-calculator.d.ts +54 -0
  26. package/components/tributos/erp-tributos.component.d.ts +215 -0
  27. package/components/tributos/erp-tributos.module.d.ts +2 -0
  28. package/components/tributos/erp-tributos.service.d.ts +10 -0
  29. package/components/tributos/erp-tributos.types.d.ts +286 -0
  30. package/components/tributos/index.d.ts +12 -0
  31. package/components/tributos/mappings/enum-tip-imp-cst-mapping.d.ts +2 -0
  32. package/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.d.ts +15 -0
  33. package/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.d.ts +28 -0
  34. package/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.d.ts +30 -0
  35. package/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.d.ts +22 -0
  36. package/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.d.ts +22 -0
  37. package/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.d.ts +5 -0
  38. package/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.d.ts +5 -0
  39. package/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.d.ts +8 -0
  40. package/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.d.ts +8 -0
  41. package/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.d.ts +5 -0
  42. package/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.d.ts +8 -0
  43. package/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.d.ts +5 -0
  44. package/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.d.ts +6 -0
  45. package/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.d.ts +5 -0
  46. package/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.d.ts +5 -0
  47. package/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.d.ts +8 -0
  48. package/components/tributos/rules/rules.service.d.ts +19 -0
  49. package/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.d.ts +16 -0
  50. package/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.d.ts +12 -0
  51. package/components/tributos/rules/status/registries/purchase-order-status-rules.registry.d.ts +12 -0
  52. package/components/tributos/rules/status/registries/sale-order-status-rules.registry.d.ts +8 -0
  53. package/components/tributos/rules/status/registries/status-rules.registry.d.ts +15 -0
  54. package/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.d.ts +5 -0
  55. package/components/tributos/rules/status/rules/tax-classification-status-rule.d.ts +5 -0
  56. package/components/tributos/rules/status/rules/tax-rate-status-rule.d.ts +5 -0
  57. package/components/tributos/rules/status/rules/taxable-base-status-rule.d.ts +5 -0
  58. package/components/tributos/rules/types/available-fields.d.ts +2 -0
  59. package/components/tributos/rules/types/available-taxes.d.ts +1 -0
  60. package/components/tributos/rules/types/field-calculation-rule-mapping.d.ts +6 -0
  61. package/components/tributos/rules/types/field-rule-mapping.d.ts +6 -0
  62. package/components/tributos/rules/types/field-status-rule-mapping.d.ts +6 -0
  63. package/components/tributos/rules/types/rule-payload.d.ts +9 -0
  64. package/components/tributos/rules/types/schemas/incoming-invoice.schema.d.ts +235 -0
  65. package/components/tributos/rules/types/schemas/outgoing-invoice.schema.d.ts +349 -0
  66. package/components/tributos/rules/types/schemas/purchase-order.schema.d.ts +26 -0
  67. package/components/tributos/rules/types/schemas/sale-order.schema.d.ts +131 -0
  68. package/components/tributos/rules/types/strategies-by-document.d.ts +12 -0
  69. package/components/tributos/rules/types/strategies.d.ts +4 -0
  70. package/components/tributos/rules/types/tax-rule.d.ts +4 -0
  71. package/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.d.ts +20 -0
  72. package/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.d.ts +22 -0
  73. package/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.d.ts +14 -0
  74. package/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.d.ts +14 -0
  75. package/components/tributos/rules/validation/registries/validation-rules.registry.d.ts +15 -0
  76. package/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.d.ts +5 -0
  77. package/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.d.ts +5 -0
  78. package/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.d.ts +5 -0
  79. package/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.d.ts +5 -0
  80. package/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.d.ts +6 -0
  81. package/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.d.ts +6 -0
  82. package/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.d.ts +6 -0
  83. package/components/tributos/services/tax-rounding.service.d.ts +5 -0
  84. package/components/tributos/stores/tax.store.d.ts +10 -0
  85. package/components/tributos/tax-reform-utilities.d.ts +36 -0
  86. package/components/tributos/types/context.d.ts +7 -0
  87. package/components/tributos/types/controllership-incoming-invoice-context.d.ts +5 -0
  88. package/components/tributos/types/controllership-incoming-invoice.d.ts +3 -0
  89. package/components/tributos/types/controllership-outgoing-invoice-context.d.ts +5 -0
  90. package/components/tributos/types/controllership-outgoing-invoice.d.ts +3 -0
  91. package/components/tributos/types/credit-invoice-type.d.ts +1 -0
  92. package/components/tributos/types/debit-invoice-type.d.ts +1 -0
  93. package/components/tributos/types/group.d.ts +6 -0
  94. package/components/tributos/types/incoming-invoice-context.d.ts +5 -0
  95. package/components/tributos/types/incoming-invoice-item.d.ts +4 -0
  96. package/components/tributos/types/incoming-invoice-type.d.ts +1 -0
  97. package/components/tributos/types/incoming-invoice.d.ts +11 -0
  98. package/components/tributos/types/item-type.d.ts +1 -0
  99. package/components/tributos/types/outgoing-Invoice.d.ts +11 -0
  100. package/components/tributos/types/outgoing-invoice-context.d.ts +5 -0
  101. package/components/tributos/types/outgoing-invoice-item.d.ts +4 -0
  102. package/components/tributos/types/outgoing-invoice-type.d.ts +1 -0
  103. package/components/tributos/types/purchase-order-context.d.ts +5 -0
  104. package/components/tributos/types/purchase-order-type.d.ts +1 -0
  105. package/components/tributos/types/purchase-order.d.ts +8 -0
  106. package/components/tributos/types/sale-order-context.d.ts +5 -0
  107. package/components/tributos/types/sale-order-type.d.ts +1 -0
  108. package/components/tributos/types/sale-order.d.ts +8 -0
  109. package/components/tributos/types/tax.d.ts +8 -0
  110. package/components/utils/breakpoints.d.ts +10 -0
  111. package/components/utils/export-utils.d.ts +6 -0
  112. package/components/utils/index.d.ts +3 -0
  113. package/components/utils/loading-context.d.ts +7 -0
  114. package/components/utils/utils.d.ts +4 -0
  115. package/core/entities/entity-service.d.ts +32 -0
  116. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.d.ts +36 -0
  117. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.d.ts +40 -0
  118. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.d.ts +2 -0
  119. package/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.d.ts +11 -0
  120. package/core/enums/enum-classificacao-tributaria.d.ts +4 -0
  121. package/core/enums/enum-tipo-calculo-imposto.d.ts +5 -0
  122. package/core/enums/enum-tipo-documento-parametros.d.ts +7 -0
  123. package/core/enums/enum-tipo-documento.d.ts +10 -0
  124. package/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.d.ts +5 -0
  125. package/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.d.ts +8 -0
  126. package/esm2015/components/breadcrumb/breadcrumb.component.js +86 -0
  127. package/esm2015/components/breadcrumb/breadcrumb.module.js +17 -0
  128. package/esm2015/components/breadcrumb/index.js +3 -0
  129. package/esm2015/components/focus/focus.service.js +32 -0
  130. package/esm2015/components/lote-serie/erp-lote-serie.component.js +1772 -0
  131. package/esm2015/components/lote-serie/erp-lote-serie.module.js +47 -0
  132. package/esm2015/components/lote-serie/erp-lote-serie.service.js +94 -0
  133. package/esm2015/components/lote-serie/index.js +3 -0
  134. package/esm2015/components/rateio-editor/erp-rateio-editor.component.js +794 -0
  135. package/esm2015/components/rateio-editor/erp-rateio-editor.converter.js +52 -0
  136. package/esm2015/components/rateio-editor/erp-rateio-editor.module.js +40 -0
  137. package/esm2015/components/rateio-editor/erp-rateio-editor.service.js +49 -0
  138. package/esm2015/components/rateio-editor/erp-rateio-editor.types.js +5 -0
  139. package/esm2015/components/rateio-editor/index.js +4 -0
  140. package/esm2015/components/resumo/erp-resumo.component.js +19 -0
  141. package/esm2015/components/resumo/erp-resumo.module.js +25 -0
  142. package/esm2015/components/resumo/erp-resumo.service.js +13 -0
  143. package/esm2015/components/resumo/index.js +2 -0
  144. package/esm2015/components/tributos/calculators/effective-tax-rate-calculator.js +53 -0
  145. package/esm2015/components/tributos/calculators/gross-amount-calculator.js +37 -0
  146. package/esm2015/components/tributos/calculators/tax-amount-calculator.js +87 -0
  147. package/esm2015/components/tributos/erp-tributos.component.js +5176 -0
  148. package/esm2015/components/tributos/erp-tributos.module.js +33 -0
  149. package/esm2015/components/tributos/erp-tributos.service.js +23 -0
  150. package/esm2015/components/tributos/erp-tributos.types.js +268 -0
  151. package/esm2015/components/tributos/index.js +4 -0
  152. package/esm2015/components/tributos/mappings/enum-tip-imp-cst-mapping.js +33 -0
  153. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.js +45 -0
  154. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +3102 -0
  155. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +4516 -0
  156. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +294 -0
  157. package/esm2015/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.js +1464 -0
  158. package/esm2015/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.js +48 -0
  159. package/esm2015/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +55 -0
  160. package/esm2015/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.js +83 -0
  161. package/esm2015/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +74 -0
  162. package/esm2015/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.js +72 -0
  163. package/esm2015/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +244 -0
  164. package/esm2015/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.js +74 -0
  165. package/esm2015/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +170 -0
  166. package/esm2015/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +100 -0
  167. package/esm2015/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +124 -0
  168. package/esm2015/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +292 -0
  169. package/esm2015/components/tributos/rules/rules.service.js +61 -0
  170. package/esm2015/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +1076 -0
  171. package/esm2015/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +1317 -0
  172. package/esm2015/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +62 -0
  173. package/esm2015/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +18 -0
  174. package/esm2015/components/tributos/rules/status/registries/status-rules.registry.js +45 -0
  175. package/esm2015/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.js +39 -0
  176. package/esm2015/components/tributos/rules/status/rules/tax-classification-status-rule.js +94 -0
  177. package/esm2015/components/tributos/rules/status/rules/tax-rate-status-rule.js +61 -0
  178. package/esm2015/components/tributos/rules/status/rules/taxable-base-status-rule.js +65 -0
  179. package/esm2015/components/tributos/rules/types/available-fields.js +1 -0
  180. package/esm2015/components/tributos/rules/types/available-taxes.js +1 -0
  181. package/esm2015/components/tributos/rules/types/field-calculation-rule-mapping.js +1 -0
  182. package/esm2015/components/tributos/rules/types/field-rule-mapping.js +1 -0
  183. package/esm2015/components/tributos/rules/types/field-status-rule-mapping.js +1 -0
  184. package/esm2015/components/tributos/rules/types/rule-payload.js +1 -0
  185. package/esm2015/components/tributos/rules/types/schemas/incoming-invoice.schema.js +1816 -0
  186. package/esm2015/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +2750 -0
  187. package/esm2015/components/tributos/rules/types/schemas/purchase-order.schema.js +150 -0
  188. package/esm2015/components/tributos/rules/types/schemas/sale-order.schema.js +879 -0
  189. package/esm2015/components/tributos/rules/types/strategies-by-document.js +1 -0
  190. package/esm2015/components/tributos/rules/types/strategies.js +1 -0
  191. package/esm2015/components/tributos/rules/types/tax-rule.js +1 -0
  192. package/esm2015/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +3606 -0
  193. package/esm2015/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +5452 -0
  194. package/esm2015/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +270 -0
  195. package/esm2015/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +1392 -0
  196. package/esm2015/components/tributos/rules/validation/registries/validation-rules.registry.js +45 -0
  197. package/esm2015/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.js +73 -0
  198. package/esm2015/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +78 -0
  199. package/esm2015/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +902 -0
  200. package/esm2015/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +401 -0
  201. package/esm2015/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +719 -0
  202. package/esm2015/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +300 -0
  203. package/esm2015/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +717 -0
  204. package/esm2015/components/tributos/services/tax-rounding.service.js +18 -0
  205. package/esm2015/components/tributos/stores/tax.store.js +19 -0
  206. package/esm2015/components/tributos/tax-reform-utilities.js +243 -0
  207. package/esm2015/components/tributos/types/context.js +1 -0
  208. package/esm2015/components/tributos/types/controllership-incoming-invoice-context.js +1 -0
  209. package/esm2015/components/tributos/types/controllership-incoming-invoice.js +1 -0
  210. package/esm2015/components/tributos/types/controllership-outgoing-invoice-context.js +1 -0
  211. package/esm2015/components/tributos/types/controllership-outgoing-invoice.js +1 -0
  212. package/esm2015/components/tributos/types/credit-invoice-type.js +1 -0
  213. package/esm2015/components/tributos/types/debit-invoice-type.js +1 -0
  214. package/esm2015/components/tributos/types/group.js +1 -0
  215. package/esm2015/components/tributos/types/incoming-invoice-context.js +1 -0
  216. package/esm2015/components/tributos/types/incoming-invoice-item.js +1 -0
  217. package/esm2015/components/tributos/types/incoming-invoice-type.js +1 -0
  218. package/esm2015/components/tributos/types/incoming-invoice.js +1 -0
  219. package/esm2015/components/tributos/types/item-type.js +1 -0
  220. package/esm2015/components/tributos/types/outgoing-Invoice.js +1 -0
  221. package/esm2015/components/tributos/types/outgoing-invoice-context.js +1 -0
  222. package/esm2015/components/tributos/types/outgoing-invoice-item.js +1 -0
  223. package/esm2015/components/tributos/types/outgoing-invoice-type.js +1 -0
  224. package/esm2015/components/tributos/types/purchase-order-context.js +1 -0
  225. package/esm2015/components/tributos/types/purchase-order-type.js +1 -0
  226. package/esm2015/components/tributos/types/purchase-order.js +1 -0
  227. package/esm2015/components/tributos/types/sale-order-context.js +1 -0
  228. package/esm2015/components/tributos/types/sale-order-type.js +1 -0
  229. package/esm2015/components/tributos/types/sale-order.js +1 -0
  230. package/esm2015/components/tributos/types/tax.js +2 -0
  231. package/esm2015/components/utils/breakpoints.js +11 -0
  232. package/esm2015/components/utils/export-utils.js +71 -0
  233. package/esm2015/components/utils/index.js +4 -0
  234. package/esm2015/components/utils/loading-context.js +20 -0
  235. package/esm2015/components/utils/utils.js +18 -0
  236. package/esm2015/core/entities/entity-service.js +91 -0
  237. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.js +1 -0
  238. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.js +62 -0
  239. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.js +24 -0
  240. package/esm2015/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.js +24 -0
  241. package/esm2015/core/enums/enum-classificacao-tributaria.js +6 -0
  242. package/esm2015/core/enums/enum-tipo-calculo-imposto.js +7 -0
  243. package/esm2015/core/enums/enum-tipo-documento-parametros.js +9 -0
  244. package/esm2015/core/enums/enum-tipo-documento.js +12 -0
  245. package/esm2015/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.js +7 -0
  246. package/esm2015/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.js +10 -0
  247. package/esm2015/locale/fallback.js +56 -0
  248. package/esm2015/public-api.js +8 -0
  249. package/esm2015/senior-gestao-empresarial-erpx-components.js +58 -0
  250. package/esm5/components/breadcrumb/breadcrumb.component.js +91 -0
  251. package/esm5/components/breadcrumb/breadcrumb.module.js +20 -0
  252. package/esm5/components/breadcrumb/index.js +3 -0
  253. package/esm5/components/focus/focus.service.js +35 -0
  254. package/esm5/components/lote-serie/erp-lote-serie.component.js +1830 -0
  255. package/esm5/components/lote-serie/erp-lote-serie.module.js +50 -0
  256. package/esm5/components/lote-serie/erp-lote-serie.service.js +96 -0
  257. package/esm5/components/lote-serie/index.js +3 -0
  258. package/esm5/components/rateio-editor/erp-rateio-editor.component.js +861 -0
  259. package/esm5/components/rateio-editor/erp-rateio-editor.converter.js +68 -0
  260. package/esm5/components/rateio-editor/erp-rateio-editor.module.js +43 -0
  261. package/esm5/components/rateio-editor/erp-rateio-editor.service.js +51 -0
  262. package/esm5/components/rateio-editor/erp-rateio-editor.types.js +5 -0
  263. package/esm5/components/rateio-editor/index.js +4 -0
  264. package/esm5/components/resumo/erp-resumo.component.js +22 -0
  265. package/esm5/components/resumo/erp-resumo.module.js +28 -0
  266. package/esm5/components/resumo/erp-resumo.service.js +16 -0
  267. package/esm5/components/resumo/index.js +2 -0
  268. package/esm5/components/tributos/calculators/effective-tax-rate-calculator.js +58 -0
  269. package/esm5/components/tributos/calculators/gross-amount-calculator.js +39 -0
  270. package/esm5/components/tributos/calculators/tax-amount-calculator.js +91 -0
  271. package/esm5/components/tributos/erp-tributos.component.js +5296 -0
  272. package/esm5/components/tributos/erp-tributos.module.js +36 -0
  273. package/esm5/components/tributos/erp-tributos.service.js +24 -0
  274. package/esm5/components/tributos/erp-tributos.types.js +268 -0
  275. package/esm5/components/tributos/index.js +4 -0
  276. package/esm5/components/tributos/mappings/enum-tip-imp-cst-mapping.js +33 -0
  277. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/calculation-rules.registry.js +46 -0
  278. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/incoming-invoice-calculation-rules.registry.js +3104 -0
  279. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/outgoing-invoice-calculation-rules.registry.js +4518 -0
  280. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/purchase-order-calculation-rules.registry.js +296 -0
  281. package/esm5/components/tributos/rules/calculation/registries/calculation-rules-registries/sale-order-calculation-rules.registry.js +1466 -0
  282. package/esm5/components/tributos/rules/calculation/rules/apply-net-value-to-document-calculation-rule.js +60 -0
  283. package/esm5/components/tributos/rules/calculation/rules/assessment-period-calculation-rule.js +77 -0
  284. package/esm5/components/tributos/rules/calculation/rules/effective-tax-rate-calculation-rule.js +92 -0
  285. package/esm5/components/tributos/rules/calculation/rules/gross-amount-calculation-rule.js +83 -0
  286. package/esm5/components/tributos/rules/calculation/rules/manual-tax-calculation-rule.js +87 -0
  287. package/esm5/components/tributos/rules/calculation/rules/tax-amount-calculation-rule.js +286 -0
  288. package/esm5/components/tributos/rules/calculation/rules/tax-calculation-type-calculation-rule.js +89 -0
  289. package/esm5/components/tributos/rules/calculation/rules/tax-classification-calculation-rule.js +241 -0
  290. package/esm5/components/tributos/rules/calculation/rules/tax-rate-calculation-rule.js +118 -0
  291. package/esm5/components/tributos/rules/calculation/rules/tax-situation-calculation-rule.js +200 -0
  292. package/esm5/components/tributos/rules/calculation/rules/taxable-base-calculation-rule.js +330 -0
  293. package/esm5/components/tributos/rules/rules.service.js +139 -0
  294. package/esm5/components/tributos/rules/status/registries/incoming-invoice-status-rules.registry.js +1078 -0
  295. package/esm5/components/tributos/rules/status/registries/outgoing-invoice-status-rules.registry.js +1319 -0
  296. package/esm5/components/tributos/rules/status/registries/purchase-order-status-rules.registry.js +64 -0
  297. package/esm5/components/tributos/rules/status/registries/sale-order-status-rules.registry.js +19 -0
  298. package/esm5/components/tributos/rules/status/registries/status-rules.registry.js +46 -0
  299. package/esm5/components/tributos/rules/status/rules/apply-net-value-to-document-status-rule.js +43 -0
  300. package/esm5/components/tributos/rules/status/rules/tax-classification-status-rule.js +106 -0
  301. package/esm5/components/tributos/rules/status/rules/tax-rate-status-rule.js +68 -0
  302. package/esm5/components/tributos/rules/status/rules/taxable-base-status-rule.js +72 -0
  303. package/esm5/components/tributos/rules/types/available-fields.js +1 -0
  304. package/esm5/components/tributos/rules/types/available-taxes.js +1 -0
  305. package/esm5/components/tributos/rules/types/field-calculation-rule-mapping.js +1 -0
  306. package/esm5/components/tributos/rules/types/field-rule-mapping.js +1 -0
  307. package/esm5/components/tributos/rules/types/field-status-rule-mapping.js +1 -0
  308. package/esm5/components/tributos/rules/types/rule-payload.js +1 -0
  309. package/esm5/components/tributos/rules/types/schemas/incoming-invoice.schema.js +1817 -0
  310. package/esm5/components/tributos/rules/types/schemas/outgoing-invoice.schema.js +2751 -0
  311. package/esm5/components/tributos/rules/types/schemas/purchase-order.schema.js +151 -0
  312. package/esm5/components/tributos/rules/types/schemas/sale-order.schema.js +880 -0
  313. package/esm5/components/tributos/rules/types/strategies-by-document.js +1 -0
  314. package/esm5/components/tributos/rules/types/strategies.js +1 -0
  315. package/esm5/components/tributos/rules/types/tax-rule.js +1 -0
  316. package/esm5/components/tributos/rules/validation/registries/incoming-invoice-validation-rules.registry.js +3608 -0
  317. package/esm5/components/tributos/rules/validation/registries/outgoing-invoice-validation-rules.registry.js +5454 -0
  318. package/esm5/components/tributos/rules/validation/registries/purchase-order-validation-rules.registry.js +272 -0
  319. package/esm5/components/tributos/rules/validation/registries/sale-order-validation-rules.registry.js +1394 -0
  320. package/esm5/components/tributos/rules/validation/registries/validation-rules.registry.js +46 -0
  321. package/esm5/components/tributos/rules/validation/rules/required/apply-net-value-to-document-required-validation-rule.js +77 -0
  322. package/esm5/components/tributos/rules/validation/rules/required/assessment-period-required-validation-rule.js +86 -0
  323. package/esm5/components/tributos/rules/validation/rules/required/tax-amount-required-validation-rule.js +968 -0
  324. package/esm5/components/tributos/rules/validation/rules/required/tax-classification-required-validation-rule.js +433 -0
  325. package/esm5/components/tributos/rules/validation/rules/required/tax-rate-required-validation-rule.js +774 -0
  326. package/esm5/components/tributos/rules/validation/rules/required/tax-situation-required-validation-rule.js +323 -0
  327. package/esm5/components/tributos/rules/validation/rules/required/taxable-base-required-validation-rule.js +772 -0
  328. package/esm5/components/tributos/services/tax-rounding.service.js +23 -0
  329. package/esm5/components/tributos/stores/tax.store.js +26 -0
  330. package/esm5/components/tributos/tax-reform-utilities.js +249 -0
  331. package/esm5/components/tributos/types/context.js +1 -0
  332. package/esm5/components/tributos/types/controllership-incoming-invoice-context.js +1 -0
  333. package/esm5/components/tributos/types/controllership-incoming-invoice.js +1 -0
  334. package/esm5/components/tributos/types/controllership-outgoing-invoice-context.js +1 -0
  335. package/esm5/components/tributos/types/controllership-outgoing-invoice.js +1 -0
  336. package/esm5/components/tributos/types/credit-invoice-type.js +1 -0
  337. package/esm5/components/tributos/types/debit-invoice-type.js +1 -0
  338. package/esm5/components/tributos/types/group.js +1 -0
  339. package/esm5/components/tributos/types/incoming-invoice-context.js +1 -0
  340. package/esm5/components/tributos/types/incoming-invoice-item.js +1 -0
  341. package/esm5/components/tributos/types/incoming-invoice-type.js +1 -0
  342. package/esm5/components/tributos/types/incoming-invoice.js +1 -0
  343. package/esm5/components/tributos/types/item-type.js +1 -0
  344. package/esm5/components/tributos/types/outgoing-Invoice.js +1 -0
  345. package/esm5/components/tributos/types/outgoing-invoice-context.js +1 -0
  346. package/esm5/components/tributos/types/outgoing-invoice-item.js +1 -0
  347. package/esm5/components/tributos/types/outgoing-invoice-type.js +1 -0
  348. package/esm5/components/tributos/types/purchase-order-context.js +1 -0
  349. package/esm5/components/tributos/types/purchase-order-type.js +1 -0
  350. package/esm5/components/tributos/types/purchase-order.js +1 -0
  351. package/esm5/components/tributos/types/sale-order-context.js +1 -0
  352. package/esm5/components/tributos/types/sale-order-type.js +1 -0
  353. package/esm5/components/tributos/types/sale-order.js +1 -0
  354. package/esm5/components/tributos/types/tax.js +2 -0
  355. package/esm5/components/utils/breakpoints.js +11 -0
  356. package/esm5/components/utils/export-utils.js +78 -0
  357. package/esm5/components/utils/index.js +4 -0
  358. package/esm5/components/utils/loading-context.js +22 -0
  359. package/esm5/components/utils/utils.js +20 -0
  360. package/esm5/core/entities/entity-service.js +98 -0
  361. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda-dto.js +1 -0
  362. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.js +67 -0
  363. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.module.js +27 -0
  364. package/esm5/core/entities/quantidade-disponivel-demanda/quantidade-disponivel-demanda.service.js +27 -0
  365. package/esm5/core/enums/enum-classificacao-tributaria.js +6 -0
  366. package/esm5/core/enums/enum-tipo-calculo-imposto.js +7 -0
  367. package/esm5/core/enums/enum-tipo-documento-parametros.js +9 -0
  368. package/esm5/core/enums/enum-tipo-documento.js +12 -0
  369. package/esm5/core/enums/erpx-com-processo-faturamento-backend/enum-indicativo-padrao.js +7 -0
  370. package/esm5/core/enums/erpx-cpl-imp-cadastros-backend/enum-indicativo-padrao.js +10 -0
  371. package/esm5/locale/fallback.js +56 -0
  372. package/esm5/public-api.js +8 -0
  373. package/esm5/senior-gestao-empresarial-erpx-components.js +58 -0
  374. package/fesm2015/senior-gestao-empresarial-erpx-components.js +36350 -0
  375. package/fesm2015/senior-gestao-empresarial-erpx-components.js.map +1 -0
  376. package/fesm5/senior-gestao-empresarial-erpx-components.js +37396 -0
  377. package/fesm5/senior-gestao-empresarial-erpx-components.js.map +1 -0
  378. package/locale/fallback.d.ts +55 -0
  379. package/package.json +23 -0
  380. package/public-api.d.ts +7 -0
  381. package/senior-gestao-empresarial-erpx-components.d.ts +57 -0
  382. package/senior-gestao-empresarial-erpx-components.metadata.json +1 -0
@@ -0,0 +1,3102 @@
1
+ import { __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { EnumCampoTributo, EnumTipoTributo } from '../../../../erp-tributos.types';
4
+ import { ApplyNetValueToDocumentCalculationRule } from '../../rules/apply-net-value-to-document-calculation-rule';
5
+ import { EffectiveTaxRateCalculationRule } from '../../rules/effective-tax-rate-calculation-rule';
6
+ import { GrossAmountCalculationRule } from '../../rules/gross-amount-calculation-rule';
7
+ import { ManualTaxCalculationRule } from '../../rules/manual-tax-calculation-rule';
8
+ import { TaxAmountCalculationRule } from '../../rules/tax-amount-calculation-rule';
9
+ import { TaxCalculationTypeCalculationRule } from '../../rules/tax-calculation-type-calculation-rule';
10
+ import { TaxClassificationCalculationRule } from '../../rules/tax-classification-calculation-rule';
11
+ import { TaxRateCalculationRule } from '../../rules/tax-rate-calculation-rule';
12
+ import { TaxableBaseCalculationRule } from '../../rules/taxable-base-calculation-rule';
13
+ import { TaxSituationCalculationRule } from '../../rules/tax-situation-calculation-rule';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../../rules/taxable-base-calculation-rule";
16
+ import * as i2 from "../../rules/tax-rate-calculation-rule";
17
+ import * as i3 from "../../rules/effective-tax-rate-calculation-rule";
18
+ import * as i4 from "../../rules/tax-amount-calculation-rule";
19
+ import * as i5 from "../../rules/gross-amount-calculation-rule";
20
+ import * as i6 from "../../rules/tax-situation-calculation-rule";
21
+ import * as i7 from "../../rules/tax-classification-calculation-rule";
22
+ import * as i8 from "../../rules/tax-calculation-type-calculation-rule";
23
+ import * as i9 from "../../rules/apply-net-value-to-document-calculation-rule";
24
+ import * as i10 from "../../rules/manual-tax-calculation-rule";
25
+ let IncomingInvoiceCalculationRulesRegistry = class IncomingInvoiceCalculationRulesRegistry {
26
+ constructor(taxableBaseCalculationRule, taxRateCalculationRule, effectiveTaxRateCalculationRule, taxAmountCalculationRule, grossAmountCalculationRule, taxSituationCalculationRule, taxClassificationCalculationRule, taxCalculationTypeCalculationRule, applyNetValueToDocumentCalculationRule, manualTaxCalculationRule) {
27
+ this.taxableBaseCalculationRule = taxableBaseCalculationRule;
28
+ this.taxRateCalculationRule = taxRateCalculationRule;
29
+ this.effectiveTaxRateCalculationRule = effectiveTaxRateCalculationRule;
30
+ this.taxAmountCalculationRule = taxAmountCalculationRule;
31
+ this.grossAmountCalculationRule = grossAmountCalculationRule;
32
+ this.taxSituationCalculationRule = taxSituationCalculationRule;
33
+ this.taxClassificationCalculationRule = taxClassificationCalculationRule;
34
+ this.taxCalculationTypeCalculationRule = taxCalculationTypeCalculationRule;
35
+ this.applyNetValueToDocumentCalculationRule = applyNetValueToDocumentCalculationRule;
36
+ this.manualTaxCalculationRule = manualTaxCalculationRule;
37
+ this.strategies = {
38
+ Adjustment: {
39
+ [EnumTipoTributo.CBS]: [
40
+ {
41
+ field: EnumCampoTributo.AliquotaEfetiva,
42
+ rule: this.effectiveTaxRateCalculationRule
43
+ },
44
+ {
45
+ field: EnumCampoTributo.ValorBruto,
46
+ rule: this.grossAmountCalculationRule
47
+ },
48
+ {
49
+ field: EnumCampoTributo.Valor,
50
+ rule: this.taxAmountCalculationRule
51
+ },
52
+ {
53
+ field: EnumCampoTributo.ClassificacaoTributaria,
54
+ rule: this.taxClassificationCalculationRule
55
+ },
56
+ {
57
+ field: EnumCampoTributo.TipoCalculoImposto,
58
+ rule: this.taxCalculationTypeCalculationRule
59
+ },
60
+ {
61
+ field: EnumCampoTributo.ImpostoManual,
62
+ rule: this.manualTaxCalculationRule
63
+ }
64
+ ],
65
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
66
+ {
67
+ field: EnumCampoTributo.BaseCalculo,
68
+ rule: this.taxableBaseCalculationRule
69
+ },
70
+ {
71
+ field: EnumCampoTributo.Aliquota,
72
+ rule: this.taxRateCalculationRule
73
+ },
74
+ {
75
+ field: EnumCampoTributo.Valor,
76
+ rule: this.taxAmountCalculationRule
77
+ }
78
+ ],
79
+ [EnumTipoTributo.CBS_DIFERIDO]: [
80
+ {
81
+ field: EnumCampoTributo.BaseCalculo,
82
+ rule: this.taxableBaseCalculationRule
83
+ },
84
+ {
85
+ field: EnumCampoTributo.Valor,
86
+ rule: this.taxAmountCalculationRule
87
+ }
88
+ ],
89
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
90
+ {
91
+ field: EnumCampoTributo.Valor,
92
+ rule: this.taxAmountCalculationRule
93
+ }
94
+ ],
95
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
96
+ {
97
+ field: EnumCampoTributo.BaseCalculo,
98
+ rule: this.taxableBaseCalculationRule
99
+ },
100
+ {
101
+ field: EnumCampoTributo.Valor,
102
+ rule: this.taxAmountCalculationRule
103
+ },
104
+ {
105
+ field: EnumCampoTributo.ClassificacaoTributaria,
106
+ rule: this.taxClassificationCalculationRule
107
+ }
108
+ ],
109
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
110
+ {
111
+ field: EnumCampoTributo.BaseCalculo,
112
+ rule: this.taxableBaseCalculationRule
113
+ },
114
+ {
115
+ field: EnumCampoTributo.Aliquota,
116
+ rule: this.taxRateCalculationRule
117
+ },
118
+ {
119
+ field: EnumCampoTributo.Valor,
120
+ rule: this.taxAmountCalculationRule
121
+ }
122
+ ],
123
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
124
+ {
125
+ field: EnumCampoTributo.BaseCalculo,
126
+ rule: this.taxableBaseCalculationRule
127
+ },
128
+ {
129
+ field: EnumCampoTributo.Valor,
130
+ rule: this.taxAmountCalculationRule
131
+ }
132
+ ],
133
+ [EnumTipoTributo.IBS_ESTADUAL]: [
134
+ {
135
+ field: EnumCampoTributo.AliquotaEfetiva,
136
+ rule: this.effectiveTaxRateCalculationRule
137
+ },
138
+ {
139
+ field: EnumCampoTributo.ValorBruto,
140
+ rule: this.grossAmountCalculationRule
141
+ },
142
+ {
143
+ field: EnumCampoTributo.Valor,
144
+ rule: this.taxAmountCalculationRule
145
+ },
146
+ {
147
+ field: EnumCampoTributo.ClassificacaoTributaria,
148
+ rule: this.taxClassificationCalculationRule
149
+ },
150
+ {
151
+ field: EnumCampoTributo.TipoCalculoImposto,
152
+ rule: this.taxCalculationTypeCalculationRule
153
+ },
154
+ {
155
+ field: EnumCampoTributo.ImpostoManual,
156
+ rule: this.manualTaxCalculationRule
157
+ }
158
+ ],
159
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
160
+ {
161
+ field: EnumCampoTributo.BaseCalculo,
162
+ rule: this.taxableBaseCalculationRule
163
+ },
164
+ {
165
+ field: EnumCampoTributo.Aliquota,
166
+ rule: this.taxRateCalculationRule
167
+ },
168
+ {
169
+ field: EnumCampoTributo.Valor,
170
+ rule: this.taxAmountCalculationRule
171
+ }
172
+ ],
173
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
174
+ {
175
+ field: EnumCampoTributo.BaseCalculo,
176
+ rule: this.taxableBaseCalculationRule
177
+ },
178
+ {
179
+ field: EnumCampoTributo.Valor,
180
+ rule: this.taxAmountCalculationRule
181
+ }
182
+ ],
183
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
184
+ {
185
+ field: EnumCampoTributo.BaseCalculo,
186
+ rule: this.taxableBaseCalculationRule
187
+ },
188
+ {
189
+ field: EnumCampoTributo.Valor,
190
+ rule: this.taxAmountCalculationRule
191
+ },
192
+ {
193
+ field: EnumCampoTributo.ClassificacaoTributaria,
194
+ rule: this.taxClassificationCalculationRule
195
+ }
196
+ ],
197
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
198
+ {
199
+ field: EnumCampoTributo.BaseCalculo,
200
+ rule: this.taxableBaseCalculationRule
201
+ },
202
+ {
203
+ field: EnumCampoTributo.Aliquota,
204
+ rule: this.taxRateCalculationRule
205
+ },
206
+ {
207
+ field: EnumCampoTributo.Valor,
208
+ rule: this.taxAmountCalculationRule
209
+ }
210
+ ],
211
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
212
+ {
213
+ field: EnumCampoTributo.AliquotaEfetiva,
214
+ rule: this.effectiveTaxRateCalculationRule
215
+ },
216
+ {
217
+ field: EnumCampoTributo.ValorBruto,
218
+ rule: this.grossAmountCalculationRule
219
+ },
220
+ {
221
+ field: EnumCampoTributo.Valor,
222
+ rule: this.taxAmountCalculationRule
223
+ },
224
+ {
225
+ field: EnumCampoTributo.ClassificacaoTributaria,
226
+ rule: this.taxClassificationCalculationRule
227
+ },
228
+ {
229
+ field: EnumCampoTributo.TipoCalculoImposto,
230
+ rule: this.taxCalculationTypeCalculationRule
231
+ },
232
+ {
233
+ field: EnumCampoTributo.ImpostoManual,
234
+ rule: this.manualTaxCalculationRule
235
+ }
236
+ ],
237
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
238
+ {
239
+ field: EnumCampoTributo.BaseCalculo,
240
+ rule: this.taxableBaseCalculationRule
241
+ },
242
+ {
243
+ field: EnumCampoTributo.Aliquota,
244
+ rule: this.taxRateCalculationRule
245
+ },
246
+ {
247
+ field: EnumCampoTributo.Valor,
248
+ rule: this.taxAmountCalculationRule
249
+ }
250
+ ],
251
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
252
+ {
253
+ field: EnumCampoTributo.BaseCalculo,
254
+ rule: this.taxableBaseCalculationRule
255
+ },
256
+ {
257
+ field: EnumCampoTributo.Valor,
258
+ rule: this.taxAmountCalculationRule
259
+ }
260
+ ],
261
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
262
+ {
263
+ field: EnumCampoTributo.BaseCalculo,
264
+ rule: this.taxableBaseCalculationRule
265
+ },
266
+ {
267
+ field: EnumCampoTributo.Aliquota,
268
+ rule: this.taxRateCalculationRule
269
+ },
270
+ {
271
+ field: EnumCampoTributo.Valor,
272
+ rule: this.taxAmountCalculationRule
273
+ }
274
+ ],
275
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
276
+ {
277
+ field: EnumCampoTributo.BaseCalculo,
278
+ rule: this.taxableBaseCalculationRule
279
+ },
280
+ {
281
+ field: EnumCampoTributo.Valor,
282
+ rule: this.taxAmountCalculationRule
283
+ },
284
+ {
285
+ field: EnumCampoTributo.ClassificacaoTributaria,
286
+ rule: this.taxClassificationCalculationRule
287
+ }
288
+ ],
289
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
290
+ {
291
+ field: EnumCampoTributo.BaseCalculo,
292
+ rule: this.taxableBaseCalculationRule
293
+ },
294
+ {
295
+ field: EnumCampoTributo.Valor,
296
+ rule: this.taxAmountCalculationRule
297
+ },
298
+ {
299
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
300
+ rule: this.applyNetValueToDocumentCalculationRule
301
+ }
302
+ ],
303
+ [EnumTipoTributo.IS]: [
304
+ {
305
+ field: EnumCampoTributo.Valor,
306
+ rule: this.taxAmountCalculationRule
307
+ },
308
+ {
309
+ field: EnumCampoTributo.ClassificacaoTributaria,
310
+ rule: this.taxClassificationCalculationRule
311
+ }
312
+ ],
313
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
314
+ {
315
+ field: EnumCampoTributo.SituacaoTributaria,
316
+ rule: this.taxSituationCalculationRule
317
+ },
318
+ {
319
+ field: EnumCampoTributo.ClassificacaoTributaria,
320
+ rule: this.taxClassificationCalculationRule
321
+ },
322
+ {
323
+ field: EnumCampoTributo.Valor,
324
+ rule: this.taxAmountCalculationRule
325
+ }
326
+ ],
327
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
328
+ {
329
+ field: EnumCampoTributo.SituacaoTributaria,
330
+ rule: this.taxSituationCalculationRule
331
+ },
332
+ {
333
+ field: EnumCampoTributo.ClassificacaoTributaria,
334
+ rule: this.taxClassificationCalculationRule
335
+ },
336
+ {
337
+ field: EnumCampoTributo.Valor,
338
+ rule: this.taxAmountCalculationRule
339
+ }
340
+ ]
341
+ },
342
+ 'Producer Invoice': {
343
+ [EnumTipoTributo.CBS]: [
344
+ {
345
+ field: EnumCampoTributo.AliquotaEfetiva,
346
+ rule: this.effectiveTaxRateCalculationRule
347
+ },
348
+ {
349
+ field: EnumCampoTributo.ValorBruto,
350
+ rule: this.grossAmountCalculationRule
351
+ },
352
+ {
353
+ field: EnumCampoTributo.Valor,
354
+ rule: this.taxAmountCalculationRule
355
+ },
356
+ {
357
+ field: EnumCampoTributo.ClassificacaoTributaria,
358
+ rule: this.taxClassificationCalculationRule
359
+ },
360
+ {
361
+ field: EnumCampoTributo.TipoCalculoImposto,
362
+ rule: this.taxCalculationTypeCalculationRule
363
+ },
364
+ {
365
+ field: EnumCampoTributo.ImpostoManual,
366
+ rule: this.manualTaxCalculationRule
367
+ }
368
+ ],
369
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
370
+ {
371
+ field: EnumCampoTributo.BaseCalculo,
372
+ rule: this.taxableBaseCalculationRule
373
+ },
374
+ {
375
+ field: EnumCampoTributo.Aliquota,
376
+ rule: this.taxRateCalculationRule
377
+ },
378
+ {
379
+ field: EnumCampoTributo.Valor,
380
+ rule: this.taxAmountCalculationRule
381
+ }
382
+ ],
383
+ [EnumTipoTributo.CBS_DIFERIDO]: [
384
+ {
385
+ field: EnumCampoTributo.BaseCalculo,
386
+ rule: this.taxableBaseCalculationRule
387
+ },
388
+ {
389
+ field: EnumCampoTributo.Valor,
390
+ rule: this.taxAmountCalculationRule
391
+ }
392
+ ],
393
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
394
+ {
395
+ field: EnumCampoTributo.Valor,
396
+ rule: this.taxAmountCalculationRule
397
+ }
398
+ ],
399
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
400
+ {
401
+ field: EnumCampoTributo.BaseCalculo,
402
+ rule: this.taxableBaseCalculationRule
403
+ },
404
+ {
405
+ field: EnumCampoTributo.Valor,
406
+ rule: this.taxAmountCalculationRule
407
+ },
408
+ {
409
+ field: EnumCampoTributo.ClassificacaoTributaria,
410
+ rule: this.taxClassificationCalculationRule
411
+ }
412
+ ],
413
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
414
+ {
415
+ field: EnumCampoTributo.BaseCalculo,
416
+ rule: this.taxableBaseCalculationRule
417
+ },
418
+ {
419
+ field: EnumCampoTributo.Aliquota,
420
+ rule: this.taxRateCalculationRule
421
+ },
422
+ {
423
+ field: EnumCampoTributo.Valor,
424
+ rule: this.taxAmountCalculationRule
425
+ }
426
+ ],
427
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
428
+ {
429
+ field: EnumCampoTributo.BaseCalculo,
430
+ rule: this.taxableBaseCalculationRule
431
+ },
432
+ {
433
+ field: EnumCampoTributo.Valor,
434
+ rule: this.taxAmountCalculationRule
435
+ }
436
+ ],
437
+ [EnumTipoTributo.IBS_ESTADUAL]: [
438
+ {
439
+ field: EnumCampoTributo.AliquotaEfetiva,
440
+ rule: this.effectiveTaxRateCalculationRule
441
+ },
442
+ {
443
+ field: EnumCampoTributo.ValorBruto,
444
+ rule: this.grossAmountCalculationRule
445
+ },
446
+ {
447
+ field: EnumCampoTributo.Valor,
448
+ rule: this.taxAmountCalculationRule
449
+ },
450
+ {
451
+ field: EnumCampoTributo.ClassificacaoTributaria,
452
+ rule: this.taxClassificationCalculationRule
453
+ },
454
+ {
455
+ field: EnumCampoTributo.TipoCalculoImposto,
456
+ rule: this.taxCalculationTypeCalculationRule
457
+ },
458
+ {
459
+ field: EnumCampoTributo.ImpostoManual,
460
+ rule: this.manualTaxCalculationRule
461
+ }
462
+ ],
463
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
464
+ {
465
+ field: EnumCampoTributo.BaseCalculo,
466
+ rule: this.taxableBaseCalculationRule
467
+ },
468
+ {
469
+ field: EnumCampoTributo.Aliquota,
470
+ rule: this.taxRateCalculationRule
471
+ },
472
+ {
473
+ field: EnumCampoTributo.Valor,
474
+ rule: this.taxAmountCalculationRule
475
+ }
476
+ ],
477
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
478
+ {
479
+ field: EnumCampoTributo.BaseCalculo,
480
+ rule: this.taxableBaseCalculationRule
481
+ },
482
+ {
483
+ field: EnumCampoTributo.Valor,
484
+ rule: this.taxAmountCalculationRule
485
+ }
486
+ ],
487
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
488
+ {
489
+ field: EnumCampoTributo.BaseCalculo,
490
+ rule: this.taxableBaseCalculationRule
491
+ },
492
+ {
493
+ field: EnumCampoTributo.Valor,
494
+ rule: this.taxAmountCalculationRule
495
+ },
496
+ {
497
+ field: EnumCampoTributo.ClassificacaoTributaria,
498
+ rule: this.taxClassificationCalculationRule
499
+ }
500
+ ],
501
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
502
+ {
503
+ field: EnumCampoTributo.BaseCalculo,
504
+ rule: this.taxableBaseCalculationRule
505
+ },
506
+ {
507
+ field: EnumCampoTributo.Aliquota,
508
+ rule: this.taxRateCalculationRule
509
+ },
510
+ {
511
+ field: EnumCampoTributo.Valor,
512
+ rule: this.taxAmountCalculationRule
513
+ }
514
+ ],
515
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
516
+ {
517
+ field: EnumCampoTributo.AliquotaEfetiva,
518
+ rule: this.effectiveTaxRateCalculationRule
519
+ },
520
+ {
521
+ field: EnumCampoTributo.ValorBruto,
522
+ rule: this.grossAmountCalculationRule
523
+ },
524
+ {
525
+ field: EnumCampoTributo.Valor,
526
+ rule: this.taxAmountCalculationRule
527
+ },
528
+ {
529
+ field: EnumCampoTributo.ClassificacaoTributaria,
530
+ rule: this.taxClassificationCalculationRule
531
+ },
532
+ {
533
+ field: EnumCampoTributo.TipoCalculoImposto,
534
+ rule: this.taxCalculationTypeCalculationRule
535
+ },
536
+ {
537
+ field: EnumCampoTributo.ImpostoManual,
538
+ rule: this.manualTaxCalculationRule
539
+ }
540
+ ],
541
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
542
+ {
543
+ field: EnumCampoTributo.BaseCalculo,
544
+ rule: this.taxableBaseCalculationRule
545
+ },
546
+ {
547
+ field: EnumCampoTributo.Aliquota,
548
+ rule: this.taxRateCalculationRule
549
+ },
550
+ {
551
+ field: EnumCampoTributo.Valor,
552
+ rule: this.taxAmountCalculationRule
553
+ }
554
+ ],
555
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
556
+ {
557
+ field: EnumCampoTributo.BaseCalculo,
558
+ rule: this.taxableBaseCalculationRule
559
+ },
560
+ {
561
+ field: EnumCampoTributo.Valor,
562
+ rule: this.taxAmountCalculationRule
563
+ }
564
+ ],
565
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
566
+ {
567
+ field: EnumCampoTributo.BaseCalculo,
568
+ rule: this.taxableBaseCalculationRule
569
+ },
570
+ {
571
+ field: EnumCampoTributo.Aliquota,
572
+ rule: this.taxRateCalculationRule
573
+ },
574
+ {
575
+ field: EnumCampoTributo.Valor,
576
+ rule: this.taxAmountCalculationRule
577
+ }
578
+ ],
579
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
580
+ {
581
+ field: EnumCampoTributo.BaseCalculo,
582
+ rule: this.taxableBaseCalculationRule
583
+ },
584
+ {
585
+ field: EnumCampoTributo.Valor,
586
+ rule: this.taxAmountCalculationRule
587
+ },
588
+ {
589
+ field: EnumCampoTributo.ClassificacaoTributaria,
590
+ rule: this.taxClassificationCalculationRule
591
+ }
592
+ ],
593
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
594
+ {
595
+ field: EnumCampoTributo.BaseCalculo,
596
+ rule: this.taxableBaseCalculationRule
597
+ },
598
+ {
599
+ field: EnumCampoTributo.Valor,
600
+ rule: this.taxAmountCalculationRule
601
+ },
602
+ {
603
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
604
+ rule: this.applyNetValueToDocumentCalculationRule
605
+ }
606
+ ],
607
+ [EnumTipoTributo.IS]: [
608
+ {
609
+ field: EnumCampoTributo.Valor,
610
+ rule: this.taxAmountCalculationRule
611
+ },
612
+ {
613
+ field: EnumCampoTributo.ClassificacaoTributaria,
614
+ rule: this.taxClassificationCalculationRule
615
+ }
616
+ ],
617
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
618
+ {
619
+ field: EnumCampoTributo.SituacaoTributaria,
620
+ rule: this.taxSituationCalculationRule
621
+ },
622
+ {
623
+ field: EnumCampoTributo.ClassificacaoTributaria,
624
+ rule: this.taxClassificationCalculationRule
625
+ },
626
+ {
627
+ field: EnumCampoTributo.Valor,
628
+ rule: this.taxAmountCalculationRule
629
+ }
630
+ ],
631
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
632
+ {
633
+ field: EnumCampoTributo.SituacaoTributaria,
634
+ rule: this.taxSituationCalculationRule
635
+ },
636
+ {
637
+ field: EnumCampoTributo.ClassificacaoTributaria,
638
+ rule: this.taxClassificationCalculationRule
639
+ },
640
+ {
641
+ field: EnumCampoTributo.Valor,
642
+ rule: this.taxAmountCalculationRule
643
+ }
644
+ ]
645
+ },
646
+ 'Service Invoice': {
647
+ [EnumTipoTributo.CBS]: [
648
+ {
649
+ field: EnumCampoTributo.AliquotaEfetiva,
650
+ rule: this.effectiveTaxRateCalculationRule
651
+ },
652
+ {
653
+ field: EnumCampoTributo.ValorBruto,
654
+ rule: this.grossAmountCalculationRule
655
+ },
656
+ {
657
+ field: EnumCampoTributo.Valor,
658
+ rule: this.taxAmountCalculationRule
659
+ },
660
+ {
661
+ field: EnumCampoTributo.ClassificacaoTributaria,
662
+ rule: this.taxClassificationCalculationRule
663
+ },
664
+ {
665
+ field: EnumCampoTributo.TipoCalculoImposto,
666
+ rule: this.taxCalculationTypeCalculationRule
667
+ },
668
+ {
669
+ field: EnumCampoTributo.ImpostoManual,
670
+ rule: this.manualTaxCalculationRule
671
+ }
672
+ ],
673
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
674
+ {
675
+ field: EnumCampoTributo.BaseCalculo,
676
+ rule: this.taxableBaseCalculationRule
677
+ },
678
+ {
679
+ field: EnumCampoTributo.Aliquota,
680
+ rule: this.taxRateCalculationRule
681
+ },
682
+ {
683
+ field: EnumCampoTributo.Valor,
684
+ rule: this.taxAmountCalculationRule
685
+ }
686
+ ],
687
+ [EnumTipoTributo.CBS_DIFERIDO]: [
688
+ {
689
+ field: EnumCampoTributo.BaseCalculo,
690
+ rule: this.taxableBaseCalculationRule
691
+ },
692
+ {
693
+ field: EnumCampoTributo.Valor,
694
+ rule: this.taxAmountCalculationRule
695
+ }
696
+ ],
697
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
698
+ {
699
+ field: EnumCampoTributo.Valor,
700
+ rule: this.taxAmountCalculationRule
701
+ }
702
+ ],
703
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
704
+ {
705
+ field: EnumCampoTributo.BaseCalculo,
706
+ rule: this.taxableBaseCalculationRule
707
+ },
708
+ {
709
+ field: EnumCampoTributo.Valor,
710
+ rule: this.taxAmountCalculationRule
711
+ },
712
+ {
713
+ field: EnumCampoTributo.ClassificacaoTributaria,
714
+ rule: this.taxClassificationCalculationRule
715
+ }
716
+ ],
717
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
718
+ {
719
+ field: EnumCampoTributo.BaseCalculo,
720
+ rule: this.taxableBaseCalculationRule
721
+ },
722
+ {
723
+ field: EnumCampoTributo.Aliquota,
724
+ rule: this.taxRateCalculationRule
725
+ },
726
+ {
727
+ field: EnumCampoTributo.Valor,
728
+ rule: this.taxAmountCalculationRule
729
+ }
730
+ ],
731
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
732
+ {
733
+ field: EnumCampoTributo.BaseCalculo,
734
+ rule: this.taxableBaseCalculationRule
735
+ },
736
+ {
737
+ field: EnumCampoTributo.Valor,
738
+ rule: this.taxAmountCalculationRule
739
+ }
740
+ ],
741
+ [EnumTipoTributo.IBS_ESTADUAL]: [
742
+ {
743
+ field: EnumCampoTributo.AliquotaEfetiva,
744
+ rule: this.effectiveTaxRateCalculationRule
745
+ },
746
+ {
747
+ field: EnumCampoTributo.ValorBruto,
748
+ rule: this.grossAmountCalculationRule
749
+ },
750
+ {
751
+ field: EnumCampoTributo.Valor,
752
+ rule: this.taxAmountCalculationRule
753
+ },
754
+ {
755
+ field: EnumCampoTributo.ClassificacaoTributaria,
756
+ rule: this.taxClassificationCalculationRule
757
+ },
758
+ {
759
+ field: EnumCampoTributo.TipoCalculoImposto,
760
+ rule: this.taxCalculationTypeCalculationRule
761
+ },
762
+ {
763
+ field: EnumCampoTributo.ImpostoManual,
764
+ rule: this.manualTaxCalculationRule
765
+ }
766
+ ],
767
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
768
+ {
769
+ field: EnumCampoTributo.BaseCalculo,
770
+ rule: this.taxableBaseCalculationRule
771
+ },
772
+ {
773
+ field: EnumCampoTributo.Aliquota,
774
+ rule: this.taxRateCalculationRule
775
+ },
776
+ {
777
+ field: EnumCampoTributo.Valor,
778
+ rule: this.taxAmountCalculationRule
779
+ }
780
+ ],
781
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
782
+ {
783
+ field: EnumCampoTributo.BaseCalculo,
784
+ rule: this.taxableBaseCalculationRule
785
+ },
786
+ {
787
+ field: EnumCampoTributo.Valor,
788
+ rule: this.taxAmountCalculationRule
789
+ }
790
+ ],
791
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
792
+ {
793
+ field: EnumCampoTributo.BaseCalculo,
794
+ rule: this.taxableBaseCalculationRule
795
+ },
796
+ {
797
+ field: EnumCampoTributo.Valor,
798
+ rule: this.taxAmountCalculationRule
799
+ },
800
+ {
801
+ field: EnumCampoTributo.ClassificacaoTributaria,
802
+ rule: this.taxClassificationCalculationRule
803
+ }
804
+ ],
805
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
806
+ {
807
+ field: EnumCampoTributo.BaseCalculo,
808
+ rule: this.taxableBaseCalculationRule
809
+ },
810
+ {
811
+ field: EnumCampoTributo.Aliquota,
812
+ rule: this.taxRateCalculationRule
813
+ },
814
+ {
815
+ field: EnumCampoTributo.Valor,
816
+ rule: this.taxAmountCalculationRule
817
+ }
818
+ ],
819
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
820
+ {
821
+ field: EnumCampoTributo.AliquotaEfetiva,
822
+ rule: this.effectiveTaxRateCalculationRule
823
+ },
824
+ {
825
+ field: EnumCampoTributo.ValorBruto,
826
+ rule: this.grossAmountCalculationRule
827
+ },
828
+ {
829
+ field: EnumCampoTributo.Valor,
830
+ rule: this.taxAmountCalculationRule
831
+ },
832
+ {
833
+ field: EnumCampoTributo.ClassificacaoTributaria,
834
+ rule: this.taxClassificationCalculationRule
835
+ },
836
+ {
837
+ field: EnumCampoTributo.TipoCalculoImposto,
838
+ rule: this.taxCalculationTypeCalculationRule
839
+ },
840
+ {
841
+ field: EnumCampoTributo.ImpostoManual,
842
+ rule: this.manualTaxCalculationRule
843
+ }
844
+ ],
845
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
846
+ {
847
+ field: EnumCampoTributo.BaseCalculo,
848
+ rule: this.taxableBaseCalculationRule
849
+ },
850
+ {
851
+ field: EnumCampoTributo.Aliquota,
852
+ rule: this.taxRateCalculationRule
853
+ },
854
+ {
855
+ field: EnumCampoTributo.Valor,
856
+ rule: this.taxAmountCalculationRule
857
+ }
858
+ ],
859
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
860
+ {
861
+ field: EnumCampoTributo.BaseCalculo,
862
+ rule: this.taxableBaseCalculationRule
863
+ },
864
+ {
865
+ field: EnumCampoTributo.Valor,
866
+ rule: this.taxAmountCalculationRule
867
+ }
868
+ ],
869
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
870
+ {
871
+ field: EnumCampoTributo.BaseCalculo,
872
+ rule: this.taxableBaseCalculationRule
873
+ },
874
+ {
875
+ field: EnumCampoTributo.Aliquota,
876
+ rule: this.taxRateCalculationRule
877
+ },
878
+ {
879
+ field: EnumCampoTributo.Valor,
880
+ rule: this.taxAmountCalculationRule
881
+ }
882
+ ],
883
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
884
+ {
885
+ field: EnumCampoTributo.BaseCalculo,
886
+ rule: this.taxableBaseCalculationRule
887
+ },
888
+ {
889
+ field: EnumCampoTributo.Valor,
890
+ rule: this.taxAmountCalculationRule
891
+ },
892
+ {
893
+ field: EnumCampoTributo.ClassificacaoTributaria,
894
+ rule: this.taxClassificationCalculationRule
895
+ }
896
+ ],
897
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
898
+ {
899
+ field: EnumCampoTributo.BaseCalculo,
900
+ rule: this.taxableBaseCalculationRule
901
+ },
902
+ {
903
+ field: EnumCampoTributo.Valor,
904
+ rule: this.taxAmountCalculationRule
905
+ },
906
+ {
907
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
908
+ rule: this.applyNetValueToDocumentCalculationRule
909
+ }
910
+ ],
911
+ [EnumTipoTributo.IS]: [
912
+ {
913
+ field: EnumCampoTributo.Valor,
914
+ rule: this.taxAmountCalculationRule
915
+ },
916
+ {
917
+ field: EnumCampoTributo.ClassificacaoTributaria,
918
+ rule: this.taxClassificationCalculationRule
919
+ }
920
+ ],
921
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
922
+ {
923
+ field: EnumCampoTributo.SituacaoTributaria,
924
+ rule: this.taxSituationCalculationRule
925
+ },
926
+ {
927
+ field: EnumCampoTributo.ClassificacaoTributaria,
928
+ rule: this.taxClassificationCalculationRule
929
+ },
930
+ {
931
+ field: EnumCampoTributo.Valor,
932
+ rule: this.taxAmountCalculationRule
933
+ }
934
+ ],
935
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
936
+ {
937
+ field: EnumCampoTributo.SituacaoTributaria,
938
+ rule: this.taxSituationCalculationRule
939
+ },
940
+ {
941
+ field: EnumCampoTributo.ClassificacaoTributaria,
942
+ rule: this.taxClassificationCalculationRule
943
+ },
944
+ {
945
+ field: EnumCampoTributo.Valor,
946
+ rule: this.taxAmountCalculationRule
947
+ }
948
+ ]
949
+ },
950
+ 'Third Party Return': {
951
+ [EnumTipoTributo.CBS]: [
952
+ {
953
+ field: EnumCampoTributo.AliquotaEfetiva,
954
+ rule: this.effectiveTaxRateCalculationRule
955
+ },
956
+ {
957
+ field: EnumCampoTributo.ValorBruto,
958
+ rule: this.grossAmountCalculationRule
959
+ },
960
+ {
961
+ field: EnumCampoTributo.Valor,
962
+ rule: this.taxAmountCalculationRule
963
+ },
964
+ {
965
+ field: EnumCampoTributo.ClassificacaoTributaria,
966
+ rule: this.taxClassificationCalculationRule
967
+ },
968
+ {
969
+ field: EnumCampoTributo.TipoCalculoImposto,
970
+ rule: this.taxCalculationTypeCalculationRule
971
+ },
972
+ {
973
+ field: EnumCampoTributo.ImpostoManual,
974
+ rule: this.manualTaxCalculationRule
975
+ }
976
+ ],
977
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
978
+ {
979
+ field: EnumCampoTributo.BaseCalculo,
980
+ rule: this.taxableBaseCalculationRule
981
+ },
982
+ {
983
+ field: EnumCampoTributo.Aliquota,
984
+ rule: this.taxRateCalculationRule
985
+ },
986
+ {
987
+ field: EnumCampoTributo.Valor,
988
+ rule: this.taxAmountCalculationRule
989
+ }
990
+ ],
991
+ [EnumTipoTributo.CBS_DIFERIDO]: [
992
+ {
993
+ field: EnumCampoTributo.BaseCalculo,
994
+ rule: this.taxableBaseCalculationRule
995
+ },
996
+ {
997
+ field: EnumCampoTributo.Valor,
998
+ rule: this.taxAmountCalculationRule
999
+ }
1000
+ ],
1001
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
1002
+ {
1003
+ field: EnumCampoTributo.Valor,
1004
+ rule: this.taxAmountCalculationRule
1005
+ }
1006
+ ],
1007
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
1008
+ {
1009
+ field: EnumCampoTributo.BaseCalculo,
1010
+ rule: this.taxableBaseCalculationRule
1011
+ },
1012
+ {
1013
+ field: EnumCampoTributo.Valor,
1014
+ rule: this.taxAmountCalculationRule
1015
+ },
1016
+ {
1017
+ field: EnumCampoTributo.ClassificacaoTributaria,
1018
+ rule: this.taxClassificationCalculationRule
1019
+ }
1020
+ ],
1021
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
1022
+ {
1023
+ field: EnumCampoTributo.BaseCalculo,
1024
+ rule: this.taxableBaseCalculationRule
1025
+ },
1026
+ {
1027
+ field: EnumCampoTributo.Aliquota,
1028
+ rule: this.taxRateCalculationRule
1029
+ },
1030
+ {
1031
+ field: EnumCampoTributo.Valor,
1032
+ rule: this.taxAmountCalculationRule
1033
+ }
1034
+ ],
1035
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
1036
+ {
1037
+ field: EnumCampoTributo.BaseCalculo,
1038
+ rule: this.taxableBaseCalculationRule
1039
+ },
1040
+ {
1041
+ field: EnumCampoTributo.Valor,
1042
+ rule: this.taxAmountCalculationRule
1043
+ }
1044
+ ],
1045
+ [EnumTipoTributo.IBS_ESTADUAL]: [
1046
+ {
1047
+ field: EnumCampoTributo.AliquotaEfetiva,
1048
+ rule: this.effectiveTaxRateCalculationRule
1049
+ },
1050
+ {
1051
+ field: EnumCampoTributo.ValorBruto,
1052
+ rule: this.grossAmountCalculationRule
1053
+ },
1054
+ {
1055
+ field: EnumCampoTributo.Valor,
1056
+ rule: this.taxAmountCalculationRule
1057
+ },
1058
+ {
1059
+ field: EnumCampoTributo.ClassificacaoTributaria,
1060
+ rule: this.taxClassificationCalculationRule
1061
+ },
1062
+ {
1063
+ field: EnumCampoTributo.TipoCalculoImposto,
1064
+ rule: this.taxCalculationTypeCalculationRule
1065
+ },
1066
+ {
1067
+ field: EnumCampoTributo.ImpostoManual,
1068
+ rule: this.manualTaxCalculationRule
1069
+ }
1070
+ ],
1071
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
1072
+ {
1073
+ field: EnumCampoTributo.BaseCalculo,
1074
+ rule: this.taxableBaseCalculationRule
1075
+ },
1076
+ {
1077
+ field: EnumCampoTributo.Aliquota,
1078
+ rule: this.taxRateCalculationRule
1079
+ },
1080
+ {
1081
+ field: EnumCampoTributo.Valor,
1082
+ rule: this.taxAmountCalculationRule
1083
+ }
1084
+ ],
1085
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
1086
+ {
1087
+ field: EnumCampoTributo.BaseCalculo,
1088
+ rule: this.taxableBaseCalculationRule
1089
+ },
1090
+ {
1091
+ field: EnumCampoTributo.Valor,
1092
+ rule: this.taxAmountCalculationRule
1093
+ }
1094
+ ],
1095
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
1096
+ {
1097
+ field: EnumCampoTributo.BaseCalculo,
1098
+ rule: this.taxableBaseCalculationRule
1099
+ },
1100
+ {
1101
+ field: EnumCampoTributo.Valor,
1102
+ rule: this.taxAmountCalculationRule
1103
+ },
1104
+ {
1105
+ field: EnumCampoTributo.ClassificacaoTributaria,
1106
+ rule: this.taxClassificationCalculationRule
1107
+ }
1108
+ ],
1109
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
1110
+ {
1111
+ field: EnumCampoTributo.BaseCalculo,
1112
+ rule: this.taxableBaseCalculationRule
1113
+ },
1114
+ {
1115
+ field: EnumCampoTributo.Aliquota,
1116
+ rule: this.taxRateCalculationRule
1117
+ },
1118
+ {
1119
+ field: EnumCampoTributo.Valor,
1120
+ rule: this.taxAmountCalculationRule
1121
+ }
1122
+ ],
1123
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
1124
+ {
1125
+ field: EnumCampoTributo.AliquotaEfetiva,
1126
+ rule: this.effectiveTaxRateCalculationRule
1127
+ },
1128
+ {
1129
+ field: EnumCampoTributo.ValorBruto,
1130
+ rule: this.grossAmountCalculationRule
1131
+ },
1132
+ {
1133
+ field: EnumCampoTributo.Valor,
1134
+ rule: this.taxAmountCalculationRule
1135
+ },
1136
+ {
1137
+ field: EnumCampoTributo.ClassificacaoTributaria,
1138
+ rule: this.taxClassificationCalculationRule
1139
+ },
1140
+ {
1141
+ field: EnumCampoTributo.TipoCalculoImposto,
1142
+ rule: this.taxCalculationTypeCalculationRule
1143
+ },
1144
+ {
1145
+ field: EnumCampoTributo.ImpostoManual,
1146
+ rule: this.manualTaxCalculationRule
1147
+ }
1148
+ ],
1149
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
1150
+ {
1151
+ field: EnumCampoTributo.BaseCalculo,
1152
+ rule: this.taxableBaseCalculationRule
1153
+ },
1154
+ {
1155
+ field: EnumCampoTributo.Aliquota,
1156
+ rule: this.taxRateCalculationRule
1157
+ },
1158
+ {
1159
+ field: EnumCampoTributo.Valor,
1160
+ rule: this.taxAmountCalculationRule
1161
+ }
1162
+ ],
1163
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
1164
+ {
1165
+ field: EnumCampoTributo.BaseCalculo,
1166
+ rule: this.taxableBaseCalculationRule
1167
+ },
1168
+ {
1169
+ field: EnumCampoTributo.Valor,
1170
+ rule: this.taxAmountCalculationRule
1171
+ }
1172
+ ],
1173
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
1174
+ {
1175
+ field: EnumCampoTributo.BaseCalculo,
1176
+ rule: this.taxableBaseCalculationRule
1177
+ },
1178
+ {
1179
+ field: EnumCampoTributo.Aliquota,
1180
+ rule: this.taxRateCalculationRule
1181
+ },
1182
+ {
1183
+ field: EnumCampoTributo.Valor,
1184
+ rule: this.taxAmountCalculationRule
1185
+ }
1186
+ ],
1187
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
1188
+ {
1189
+ field: EnumCampoTributo.BaseCalculo,
1190
+ rule: this.taxableBaseCalculationRule
1191
+ },
1192
+ {
1193
+ field: EnumCampoTributo.Valor,
1194
+ rule: this.taxAmountCalculationRule
1195
+ },
1196
+ {
1197
+ field: EnumCampoTributo.ClassificacaoTributaria,
1198
+ rule: this.taxClassificationCalculationRule
1199
+ }
1200
+ ],
1201
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
1202
+ {
1203
+ field: EnumCampoTributo.BaseCalculo,
1204
+ rule: this.taxableBaseCalculationRule
1205
+ },
1206
+ {
1207
+ field: EnumCampoTributo.Valor,
1208
+ rule: this.taxAmountCalculationRule
1209
+ },
1210
+ {
1211
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1212
+ rule: this.applyNetValueToDocumentCalculationRule
1213
+ }
1214
+ ],
1215
+ [EnumTipoTributo.IS]: [
1216
+ {
1217
+ field: EnumCampoTributo.Valor,
1218
+ rule: this.taxAmountCalculationRule
1219
+ },
1220
+ {
1221
+ field: EnumCampoTributo.ClassificacaoTributaria,
1222
+ rule: this.taxClassificationCalculationRule
1223
+ }
1224
+ ],
1225
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
1226
+ {
1227
+ field: EnumCampoTributo.SituacaoTributaria,
1228
+ rule: this.taxSituationCalculationRule
1229
+ },
1230
+ {
1231
+ field: EnumCampoTributo.ClassificacaoTributaria,
1232
+ rule: this.taxClassificationCalculationRule
1233
+ },
1234
+ {
1235
+ field: EnumCampoTributo.Valor,
1236
+ rule: this.taxAmountCalculationRule
1237
+ }
1238
+ ],
1239
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
1240
+ {
1241
+ field: EnumCampoTributo.SituacaoTributaria,
1242
+ rule: this.taxSituationCalculationRule
1243
+ },
1244
+ {
1245
+ field: EnumCampoTributo.ClassificacaoTributaria,
1246
+ rule: this.taxClassificationCalculationRule
1247
+ },
1248
+ {
1249
+ field: EnumCampoTributo.Valor,
1250
+ rule: this.taxAmountCalculationRule
1251
+ }
1252
+ ]
1253
+ },
1254
+ Complement: {
1255
+ [EnumTipoTributo.CBS]: [
1256
+ {
1257
+ field: EnumCampoTributo.AliquotaEfetiva,
1258
+ rule: this.effectiveTaxRateCalculationRule
1259
+ },
1260
+ {
1261
+ field: EnumCampoTributo.ValorBruto,
1262
+ rule: this.grossAmountCalculationRule
1263
+ },
1264
+ {
1265
+ field: EnumCampoTributo.Valor,
1266
+ rule: this.taxAmountCalculationRule
1267
+ },
1268
+ {
1269
+ field: EnumCampoTributo.ClassificacaoTributaria,
1270
+ rule: this.taxClassificationCalculationRule
1271
+ },
1272
+ {
1273
+ field: EnumCampoTributo.TipoCalculoImposto,
1274
+ rule: this.taxCalculationTypeCalculationRule
1275
+ },
1276
+ {
1277
+ field: EnumCampoTributo.ImpostoManual,
1278
+ rule: this.manualTaxCalculationRule
1279
+ }
1280
+ ],
1281
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
1282
+ {
1283
+ field: EnumCampoTributo.BaseCalculo,
1284
+ rule: this.taxableBaseCalculationRule
1285
+ },
1286
+ {
1287
+ field: EnumCampoTributo.Aliquota,
1288
+ rule: this.taxRateCalculationRule
1289
+ },
1290
+ {
1291
+ field: EnumCampoTributo.Valor,
1292
+ rule: this.taxAmountCalculationRule
1293
+ }
1294
+ ],
1295
+ [EnumTipoTributo.CBS_DIFERIDO]: [
1296
+ {
1297
+ field: EnumCampoTributo.BaseCalculo,
1298
+ rule: this.taxableBaseCalculationRule
1299
+ },
1300
+ {
1301
+ field: EnumCampoTributo.Valor,
1302
+ rule: this.taxAmountCalculationRule
1303
+ }
1304
+ ],
1305
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
1306
+ {
1307
+ field: EnumCampoTributo.Valor,
1308
+ rule: this.taxAmountCalculationRule
1309
+ }
1310
+ ],
1311
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
1312
+ {
1313
+ field: EnumCampoTributo.BaseCalculo,
1314
+ rule: this.taxableBaseCalculationRule
1315
+ },
1316
+ {
1317
+ field: EnumCampoTributo.Valor,
1318
+ rule: this.taxAmountCalculationRule
1319
+ },
1320
+ {
1321
+ field: EnumCampoTributo.ClassificacaoTributaria,
1322
+ rule: this.taxClassificationCalculationRule
1323
+ }
1324
+ ],
1325
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
1326
+ {
1327
+ field: EnumCampoTributo.BaseCalculo,
1328
+ rule: this.taxableBaseCalculationRule
1329
+ },
1330
+ {
1331
+ field: EnumCampoTributo.Aliquota,
1332
+ rule: this.taxRateCalculationRule
1333
+ },
1334
+ {
1335
+ field: EnumCampoTributo.Valor,
1336
+ rule: this.taxAmountCalculationRule
1337
+ }
1338
+ ],
1339
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
1340
+ {
1341
+ field: EnumCampoTributo.BaseCalculo,
1342
+ rule: this.taxableBaseCalculationRule
1343
+ },
1344
+ {
1345
+ field: EnumCampoTributo.Valor,
1346
+ rule: this.taxAmountCalculationRule
1347
+ }
1348
+ ],
1349
+ [EnumTipoTributo.IBS_ESTADUAL]: [
1350
+ {
1351
+ field: EnumCampoTributo.AliquotaEfetiva,
1352
+ rule: this.effectiveTaxRateCalculationRule
1353
+ },
1354
+ {
1355
+ field: EnumCampoTributo.ValorBruto,
1356
+ rule: this.grossAmountCalculationRule
1357
+ },
1358
+ {
1359
+ field: EnumCampoTributo.Valor,
1360
+ rule: this.taxAmountCalculationRule
1361
+ },
1362
+ {
1363
+ field: EnumCampoTributo.ClassificacaoTributaria,
1364
+ rule: this.taxClassificationCalculationRule
1365
+ },
1366
+ {
1367
+ field: EnumCampoTributo.TipoCalculoImposto,
1368
+ rule: this.taxCalculationTypeCalculationRule
1369
+ },
1370
+ {
1371
+ field: EnumCampoTributo.ImpostoManual,
1372
+ rule: this.manualTaxCalculationRule
1373
+ }
1374
+ ],
1375
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
1376
+ {
1377
+ field: EnumCampoTributo.BaseCalculo,
1378
+ rule: this.taxableBaseCalculationRule
1379
+ },
1380
+ {
1381
+ field: EnumCampoTributo.Aliquota,
1382
+ rule: this.taxRateCalculationRule
1383
+ },
1384
+ {
1385
+ field: EnumCampoTributo.Valor,
1386
+ rule: this.taxAmountCalculationRule
1387
+ }
1388
+ ],
1389
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
1390
+ {
1391
+ field: EnumCampoTributo.BaseCalculo,
1392
+ rule: this.taxableBaseCalculationRule
1393
+ },
1394
+ {
1395
+ field: EnumCampoTributo.Valor,
1396
+ rule: this.taxAmountCalculationRule
1397
+ }
1398
+ ],
1399
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
1400
+ {
1401
+ field: EnumCampoTributo.BaseCalculo,
1402
+ rule: this.taxableBaseCalculationRule
1403
+ },
1404
+ {
1405
+ field: EnumCampoTributo.Valor,
1406
+ rule: this.taxAmountCalculationRule
1407
+ },
1408
+ {
1409
+ field: EnumCampoTributo.ClassificacaoTributaria,
1410
+ rule: this.taxClassificationCalculationRule
1411
+ }
1412
+ ],
1413
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
1414
+ {
1415
+ field: EnumCampoTributo.BaseCalculo,
1416
+ rule: this.taxableBaseCalculationRule
1417
+ },
1418
+ {
1419
+ field: EnumCampoTributo.Aliquota,
1420
+ rule: this.taxRateCalculationRule
1421
+ },
1422
+ {
1423
+ field: EnumCampoTributo.Valor,
1424
+ rule: this.taxAmountCalculationRule
1425
+ }
1426
+ ],
1427
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
1428
+ {
1429
+ field: EnumCampoTributo.AliquotaEfetiva,
1430
+ rule: this.effectiveTaxRateCalculationRule
1431
+ },
1432
+ {
1433
+ field: EnumCampoTributo.ValorBruto,
1434
+ rule: this.grossAmountCalculationRule
1435
+ },
1436
+ {
1437
+ field: EnumCampoTributo.Valor,
1438
+ rule: this.taxAmountCalculationRule
1439
+ },
1440
+ {
1441
+ field: EnumCampoTributo.ClassificacaoTributaria,
1442
+ rule: this.taxClassificationCalculationRule
1443
+ },
1444
+ {
1445
+ field: EnumCampoTributo.TipoCalculoImposto,
1446
+ rule: this.taxCalculationTypeCalculationRule
1447
+ },
1448
+ {
1449
+ field: EnumCampoTributo.ImpostoManual,
1450
+ rule: this.manualTaxCalculationRule
1451
+ }
1452
+ ],
1453
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
1454
+ {
1455
+ field: EnumCampoTributo.BaseCalculo,
1456
+ rule: this.taxableBaseCalculationRule
1457
+ },
1458
+ {
1459
+ field: EnumCampoTributo.Aliquota,
1460
+ rule: this.taxRateCalculationRule
1461
+ },
1462
+ {
1463
+ field: EnumCampoTributo.Valor,
1464
+ rule: this.taxAmountCalculationRule
1465
+ }
1466
+ ],
1467
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
1468
+ {
1469
+ field: EnumCampoTributo.BaseCalculo,
1470
+ rule: this.taxableBaseCalculationRule
1471
+ },
1472
+ {
1473
+ field: EnumCampoTributo.Valor,
1474
+ rule: this.taxAmountCalculationRule
1475
+ }
1476
+ ],
1477
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
1478
+ {
1479
+ field: EnumCampoTributo.BaseCalculo,
1480
+ rule: this.taxableBaseCalculationRule
1481
+ },
1482
+ {
1483
+ field: EnumCampoTributo.Aliquota,
1484
+ rule: this.taxRateCalculationRule
1485
+ },
1486
+ {
1487
+ field: EnumCampoTributo.Valor,
1488
+ rule: this.taxAmountCalculationRule
1489
+ }
1490
+ ],
1491
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
1492
+ {
1493
+ field: EnumCampoTributo.BaseCalculo,
1494
+ rule: this.taxableBaseCalculationRule
1495
+ },
1496
+ {
1497
+ field: EnumCampoTributo.Valor,
1498
+ rule: this.taxAmountCalculationRule
1499
+ },
1500
+ {
1501
+ field: EnumCampoTributo.ClassificacaoTributaria,
1502
+ rule: this.taxClassificationCalculationRule
1503
+ }
1504
+ ],
1505
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
1506
+ {
1507
+ field: EnumCampoTributo.BaseCalculo,
1508
+ rule: this.taxableBaseCalculationRule
1509
+ },
1510
+ {
1511
+ field: EnumCampoTributo.Valor,
1512
+ rule: this.taxAmountCalculationRule
1513
+ },
1514
+ {
1515
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1516
+ rule: this.applyNetValueToDocumentCalculationRule
1517
+ }
1518
+ ],
1519
+ [EnumTipoTributo.IS]: [
1520
+ {
1521
+ field: EnumCampoTributo.Valor,
1522
+ rule: this.taxAmountCalculationRule
1523
+ },
1524
+ {
1525
+ field: EnumCampoTributo.ClassificacaoTributaria,
1526
+ rule: this.taxClassificationCalculationRule
1527
+ }
1528
+ ],
1529
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
1530
+ {
1531
+ field: EnumCampoTributo.SituacaoTributaria,
1532
+ rule: this.taxSituationCalculationRule
1533
+ },
1534
+ {
1535
+ field: EnumCampoTributo.ClassificacaoTributaria,
1536
+ rule: this.taxClassificationCalculationRule
1537
+ },
1538
+ {
1539
+ field: EnumCampoTributo.Valor,
1540
+ rule: this.taxAmountCalculationRule
1541
+ }
1542
+ ],
1543
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
1544
+ {
1545
+ field: EnumCampoTributo.SituacaoTributaria,
1546
+ rule: this.taxSituationCalculationRule
1547
+ },
1548
+ {
1549
+ field: EnumCampoTributo.ClassificacaoTributaria,
1550
+ rule: this.taxClassificationCalculationRule
1551
+ },
1552
+ {
1553
+ field: EnumCampoTributo.Valor,
1554
+ rule: this.taxAmountCalculationRule
1555
+ }
1556
+ ]
1557
+ },
1558
+ Credit: {
1559
+ [EnumTipoTributo.CBS]: [
1560
+ {
1561
+ field: EnumCampoTributo.AliquotaEfetiva,
1562
+ rule: this.effectiveTaxRateCalculationRule
1563
+ },
1564
+ {
1565
+ field: EnumCampoTributo.ValorBruto,
1566
+ rule: this.grossAmountCalculationRule
1567
+ },
1568
+ {
1569
+ field: EnumCampoTributo.Valor,
1570
+ rule: this.taxAmountCalculationRule
1571
+ },
1572
+ {
1573
+ field: EnumCampoTributo.ClassificacaoTributaria,
1574
+ rule: this.taxClassificationCalculationRule
1575
+ },
1576
+ {
1577
+ field: EnumCampoTributo.TipoCalculoImposto,
1578
+ rule: this.taxCalculationTypeCalculationRule
1579
+ },
1580
+ {
1581
+ field: EnumCampoTributo.ImpostoManual,
1582
+ rule: this.manualTaxCalculationRule
1583
+ }
1584
+ ],
1585
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
1586
+ {
1587
+ field: EnumCampoTributo.BaseCalculo,
1588
+ rule: this.taxableBaseCalculationRule
1589
+ },
1590
+ {
1591
+ field: EnumCampoTributo.Aliquota,
1592
+ rule: this.taxRateCalculationRule
1593
+ },
1594
+ {
1595
+ field: EnumCampoTributo.Valor,
1596
+ rule: this.taxAmountCalculationRule
1597
+ }
1598
+ ],
1599
+ [EnumTipoTributo.CBS_DIFERIDO]: [
1600
+ {
1601
+ field: EnumCampoTributo.BaseCalculo,
1602
+ rule: this.taxableBaseCalculationRule
1603
+ },
1604
+ {
1605
+ field: EnumCampoTributo.Valor,
1606
+ rule: this.taxAmountCalculationRule
1607
+ }
1608
+ ],
1609
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
1610
+ {
1611
+ field: EnumCampoTributo.Valor,
1612
+ rule: this.taxAmountCalculationRule
1613
+ }
1614
+ ],
1615
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
1616
+ {
1617
+ field: EnumCampoTributo.BaseCalculo,
1618
+ rule: this.taxableBaseCalculationRule
1619
+ },
1620
+ {
1621
+ field: EnumCampoTributo.Valor,
1622
+ rule: this.taxAmountCalculationRule
1623
+ },
1624
+ {
1625
+ field: EnumCampoTributo.ClassificacaoTributaria,
1626
+ rule: this.taxClassificationCalculationRule
1627
+ }
1628
+ ],
1629
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
1630
+ {
1631
+ field: EnumCampoTributo.BaseCalculo,
1632
+ rule: this.taxableBaseCalculationRule
1633
+ },
1634
+ {
1635
+ field: EnumCampoTributo.Aliquota,
1636
+ rule: this.taxRateCalculationRule
1637
+ },
1638
+ {
1639
+ field: EnumCampoTributo.Valor,
1640
+ rule: this.taxAmountCalculationRule
1641
+ }
1642
+ ],
1643
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
1644
+ {
1645
+ field: EnumCampoTributo.BaseCalculo,
1646
+ rule: this.taxableBaseCalculationRule
1647
+ },
1648
+ {
1649
+ field: EnumCampoTributo.Valor,
1650
+ rule: this.taxAmountCalculationRule
1651
+ }
1652
+ ],
1653
+ [EnumTipoTributo.IBS_ESTADUAL]: [
1654
+ {
1655
+ field: EnumCampoTributo.AliquotaEfetiva,
1656
+ rule: this.effectiveTaxRateCalculationRule
1657
+ },
1658
+ {
1659
+ field: EnumCampoTributo.ValorBruto,
1660
+ rule: this.grossAmountCalculationRule
1661
+ },
1662
+ {
1663
+ field: EnumCampoTributo.Valor,
1664
+ rule: this.taxAmountCalculationRule
1665
+ },
1666
+ {
1667
+ field: EnumCampoTributo.ClassificacaoTributaria,
1668
+ rule: this.taxClassificationCalculationRule
1669
+ },
1670
+ {
1671
+ field: EnumCampoTributo.TipoCalculoImposto,
1672
+ rule: this.taxCalculationTypeCalculationRule
1673
+ },
1674
+ {
1675
+ field: EnumCampoTributo.ImpostoManual,
1676
+ rule: this.manualTaxCalculationRule
1677
+ }
1678
+ ],
1679
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
1680
+ {
1681
+ field: EnumCampoTributo.BaseCalculo,
1682
+ rule: this.taxableBaseCalculationRule
1683
+ },
1684
+ {
1685
+ field: EnumCampoTributo.Aliquota,
1686
+ rule: this.taxRateCalculationRule
1687
+ },
1688
+ {
1689
+ field: EnumCampoTributo.Valor,
1690
+ rule: this.taxAmountCalculationRule
1691
+ }
1692
+ ],
1693
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
1694
+ {
1695
+ field: EnumCampoTributo.BaseCalculo,
1696
+ rule: this.taxableBaseCalculationRule
1697
+ },
1698
+ {
1699
+ field: EnumCampoTributo.Valor,
1700
+ rule: this.taxAmountCalculationRule
1701
+ }
1702
+ ],
1703
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
1704
+ {
1705
+ field: EnumCampoTributo.BaseCalculo,
1706
+ rule: this.taxableBaseCalculationRule
1707
+ },
1708
+ {
1709
+ field: EnumCampoTributo.Valor,
1710
+ rule: this.taxAmountCalculationRule
1711
+ },
1712
+ {
1713
+ field: EnumCampoTributo.ClassificacaoTributaria,
1714
+ rule: this.taxClassificationCalculationRule
1715
+ }
1716
+ ],
1717
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
1718
+ {
1719
+ field: EnumCampoTributo.BaseCalculo,
1720
+ rule: this.taxableBaseCalculationRule
1721
+ },
1722
+ {
1723
+ field: EnumCampoTributo.Aliquota,
1724
+ rule: this.taxRateCalculationRule
1725
+ },
1726
+ {
1727
+ field: EnumCampoTributo.Valor,
1728
+ rule: this.taxAmountCalculationRule
1729
+ }
1730
+ ],
1731
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
1732
+ {
1733
+ field: EnumCampoTributo.AliquotaEfetiva,
1734
+ rule: this.effectiveTaxRateCalculationRule
1735
+ },
1736
+ {
1737
+ field: EnumCampoTributo.ValorBruto,
1738
+ rule: this.grossAmountCalculationRule
1739
+ },
1740
+ {
1741
+ field: EnumCampoTributo.Valor,
1742
+ rule: this.taxAmountCalculationRule
1743
+ },
1744
+ {
1745
+ field: EnumCampoTributo.ClassificacaoTributaria,
1746
+ rule: this.taxClassificationCalculationRule
1747
+ },
1748
+ {
1749
+ field: EnumCampoTributo.TipoCalculoImposto,
1750
+ rule: this.taxCalculationTypeCalculationRule
1751
+ },
1752
+ {
1753
+ field: EnumCampoTributo.ImpostoManual,
1754
+ rule: this.manualTaxCalculationRule
1755
+ }
1756
+ ],
1757
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
1758
+ {
1759
+ field: EnumCampoTributo.BaseCalculo,
1760
+ rule: this.taxableBaseCalculationRule
1761
+ },
1762
+ {
1763
+ field: EnumCampoTributo.Aliquota,
1764
+ rule: this.taxRateCalculationRule
1765
+ },
1766
+ {
1767
+ field: EnumCampoTributo.Valor,
1768
+ rule: this.taxAmountCalculationRule
1769
+ }
1770
+ ],
1771
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
1772
+ {
1773
+ field: EnumCampoTributo.BaseCalculo,
1774
+ rule: this.taxableBaseCalculationRule
1775
+ },
1776
+ {
1777
+ field: EnumCampoTributo.Valor,
1778
+ rule: this.taxAmountCalculationRule
1779
+ }
1780
+ ],
1781
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
1782
+ {
1783
+ field: EnumCampoTributo.BaseCalculo,
1784
+ rule: this.taxableBaseCalculationRule
1785
+ },
1786
+ {
1787
+ field: EnumCampoTributo.Aliquota,
1788
+ rule: this.taxRateCalculationRule
1789
+ },
1790
+ {
1791
+ field: EnumCampoTributo.Valor,
1792
+ rule: this.taxAmountCalculationRule
1793
+ }
1794
+ ],
1795
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
1796
+ {
1797
+ field: EnumCampoTributo.BaseCalculo,
1798
+ rule: this.taxableBaseCalculationRule
1799
+ },
1800
+ {
1801
+ field: EnumCampoTributo.Valor,
1802
+ rule: this.taxAmountCalculationRule
1803
+ },
1804
+ {
1805
+ field: EnumCampoTributo.ClassificacaoTributaria,
1806
+ rule: this.taxClassificationCalculationRule
1807
+ }
1808
+ ],
1809
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
1810
+ {
1811
+ field: EnumCampoTributo.BaseCalculo,
1812
+ rule: this.taxableBaseCalculationRule
1813
+ },
1814
+ {
1815
+ field: EnumCampoTributo.Valor,
1816
+ rule: this.taxAmountCalculationRule
1817
+ },
1818
+ {
1819
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
1820
+ rule: this.applyNetValueToDocumentCalculationRule
1821
+ }
1822
+ ],
1823
+ [EnumTipoTributo.IS]: [
1824
+ {
1825
+ field: EnumCampoTributo.Valor,
1826
+ rule: this.taxAmountCalculationRule
1827
+ },
1828
+ {
1829
+ field: EnumCampoTributo.ClassificacaoTributaria,
1830
+ rule: this.taxClassificationCalculationRule
1831
+ }
1832
+ ],
1833
+ [EnumTipoTributo.CBS_TRANSFERENCIA_CREDITO]: [
1834
+ {
1835
+ field: EnumCampoTributo.SituacaoTributaria,
1836
+ rule: this.taxSituationCalculationRule
1837
+ },
1838
+ {
1839
+ field: EnumCampoTributo.ClassificacaoTributaria,
1840
+ rule: this.taxClassificationCalculationRule
1841
+ },
1842
+ {
1843
+ field: EnumCampoTributo.Valor,
1844
+ rule: this.taxAmountCalculationRule
1845
+ }
1846
+ ],
1847
+ [EnumTipoTributo.IBS_TRANSFERENCIA_CREDITO]: [
1848
+ {
1849
+ field: EnumCampoTributo.SituacaoTributaria,
1850
+ rule: this.taxSituationCalculationRule
1851
+ },
1852
+ {
1853
+ field: EnumCampoTributo.ClassificacaoTributaria,
1854
+ rule: this.taxClassificationCalculationRule
1855
+ },
1856
+ {
1857
+ field: EnumCampoTributo.Valor,
1858
+ rule: this.taxAmountCalculationRule
1859
+ }
1860
+ ]
1861
+ },
1862
+ Freight: {
1863
+ [EnumTipoTributo.CBS]: [
1864
+ {
1865
+ field: EnumCampoTributo.AliquotaEfetiva,
1866
+ rule: this.effectiveTaxRateCalculationRule
1867
+ },
1868
+ {
1869
+ field: EnumCampoTributo.ValorBruto,
1870
+ rule: this.grossAmountCalculationRule
1871
+ },
1872
+ {
1873
+ field: EnumCampoTributo.Valor,
1874
+ rule: this.taxAmountCalculationRule
1875
+ },
1876
+ {
1877
+ field: EnumCampoTributo.ClassificacaoTributaria,
1878
+ rule: this.taxClassificationCalculationRule
1879
+ },
1880
+ {
1881
+ field: EnumCampoTributo.TipoCalculoImposto,
1882
+ rule: this.taxCalculationTypeCalculationRule
1883
+ },
1884
+ {
1885
+ field: EnumCampoTributo.ImpostoManual,
1886
+ rule: this.manualTaxCalculationRule
1887
+ }
1888
+ ],
1889
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
1890
+ {
1891
+ field: EnumCampoTributo.BaseCalculo,
1892
+ rule: this.taxableBaseCalculationRule
1893
+ },
1894
+ {
1895
+ field: EnumCampoTributo.Aliquota,
1896
+ rule: this.taxRateCalculationRule
1897
+ },
1898
+ {
1899
+ field: EnumCampoTributo.Valor,
1900
+ rule: this.taxAmountCalculationRule
1901
+ }
1902
+ ],
1903
+ [EnumTipoTributo.CBS_DIFERIDO]: [
1904
+ {
1905
+ field: EnumCampoTributo.BaseCalculo,
1906
+ rule: this.taxableBaseCalculationRule
1907
+ },
1908
+ {
1909
+ field: EnumCampoTributo.Valor,
1910
+ rule: this.taxAmountCalculationRule
1911
+ }
1912
+ ],
1913
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
1914
+ {
1915
+ field: EnumCampoTributo.Valor,
1916
+ rule: this.taxAmountCalculationRule
1917
+ }
1918
+ ],
1919
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
1920
+ {
1921
+ field: EnumCampoTributo.BaseCalculo,
1922
+ rule: this.taxableBaseCalculationRule
1923
+ },
1924
+ {
1925
+ field: EnumCampoTributo.Valor,
1926
+ rule: this.taxAmountCalculationRule
1927
+ },
1928
+ {
1929
+ field: EnumCampoTributo.ClassificacaoTributaria,
1930
+ rule: this.taxClassificationCalculationRule
1931
+ }
1932
+ ],
1933
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
1934
+ {
1935
+ field: EnumCampoTributo.BaseCalculo,
1936
+ rule: this.taxableBaseCalculationRule
1937
+ },
1938
+ {
1939
+ field: EnumCampoTributo.Aliquota,
1940
+ rule: this.taxRateCalculationRule
1941
+ },
1942
+ {
1943
+ field: EnumCampoTributo.Valor,
1944
+ rule: this.taxAmountCalculationRule
1945
+ }
1946
+ ],
1947
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
1948
+ {
1949
+ field: EnumCampoTributo.BaseCalculo,
1950
+ rule: this.taxableBaseCalculationRule
1951
+ },
1952
+ {
1953
+ field: EnumCampoTributo.Valor,
1954
+ rule: this.taxAmountCalculationRule
1955
+ }
1956
+ ],
1957
+ [EnumTipoTributo.IBS_ESTADUAL]: [
1958
+ {
1959
+ field: EnumCampoTributo.AliquotaEfetiva,
1960
+ rule: this.effectiveTaxRateCalculationRule
1961
+ },
1962
+ {
1963
+ field: EnumCampoTributo.ValorBruto,
1964
+ rule: this.grossAmountCalculationRule
1965
+ },
1966
+ {
1967
+ field: EnumCampoTributo.Valor,
1968
+ rule: this.taxAmountCalculationRule
1969
+ },
1970
+ {
1971
+ field: EnumCampoTributo.ClassificacaoTributaria,
1972
+ rule: this.taxClassificationCalculationRule
1973
+ },
1974
+ {
1975
+ field: EnumCampoTributo.TipoCalculoImposto,
1976
+ rule: this.taxCalculationTypeCalculationRule
1977
+ },
1978
+ {
1979
+ field: EnumCampoTributo.ImpostoManual,
1980
+ rule: this.manualTaxCalculationRule
1981
+ }
1982
+ ],
1983
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
1984
+ {
1985
+ field: EnumCampoTributo.BaseCalculo,
1986
+ rule: this.taxableBaseCalculationRule
1987
+ },
1988
+ {
1989
+ field: EnumCampoTributo.Aliquota,
1990
+ rule: this.taxRateCalculationRule
1991
+ },
1992
+ {
1993
+ field: EnumCampoTributo.Valor,
1994
+ rule: this.taxAmountCalculationRule
1995
+ }
1996
+ ],
1997
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
1998
+ {
1999
+ field: EnumCampoTributo.BaseCalculo,
2000
+ rule: this.taxableBaseCalculationRule
2001
+ },
2002
+ {
2003
+ field: EnumCampoTributo.Valor,
2004
+ rule: this.taxAmountCalculationRule
2005
+ }
2006
+ ],
2007
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
2008
+ {
2009
+ field: EnumCampoTributo.BaseCalculo,
2010
+ rule: this.taxableBaseCalculationRule
2011
+ },
2012
+ {
2013
+ field: EnumCampoTributo.Valor,
2014
+ rule: this.taxAmountCalculationRule
2015
+ },
2016
+ {
2017
+ field: EnumCampoTributo.ClassificacaoTributaria,
2018
+ rule: this.taxClassificationCalculationRule
2019
+ }
2020
+ ],
2021
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
2022
+ {
2023
+ field: EnumCampoTributo.BaseCalculo,
2024
+ rule: this.taxableBaseCalculationRule
2025
+ },
2026
+ {
2027
+ field: EnumCampoTributo.Aliquota,
2028
+ rule: this.taxRateCalculationRule
2029
+ },
2030
+ {
2031
+ field: EnumCampoTributo.Valor,
2032
+ rule: this.taxAmountCalculationRule
2033
+ }
2034
+ ],
2035
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
2036
+ {
2037
+ field: EnumCampoTributo.AliquotaEfetiva,
2038
+ rule: this.effectiveTaxRateCalculationRule
2039
+ },
2040
+ {
2041
+ field: EnumCampoTributo.ValorBruto,
2042
+ rule: this.grossAmountCalculationRule
2043
+ },
2044
+ {
2045
+ field: EnumCampoTributo.Valor,
2046
+ rule: this.taxAmountCalculationRule
2047
+ },
2048
+ {
2049
+ field: EnumCampoTributo.ClassificacaoTributaria,
2050
+ rule: this.taxClassificationCalculationRule
2051
+ },
2052
+ {
2053
+ field: EnumCampoTributo.TipoCalculoImposto,
2054
+ rule: this.taxCalculationTypeCalculationRule
2055
+ },
2056
+ {
2057
+ field: EnumCampoTributo.ImpostoManual,
2058
+ rule: this.manualTaxCalculationRule
2059
+ }
2060
+ ],
2061
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
2062
+ {
2063
+ field: EnumCampoTributo.BaseCalculo,
2064
+ rule: this.taxableBaseCalculationRule
2065
+ },
2066
+ {
2067
+ field: EnumCampoTributo.Aliquota,
2068
+ rule: this.taxRateCalculationRule
2069
+ },
2070
+ {
2071
+ field: EnumCampoTributo.Valor,
2072
+ rule: this.taxAmountCalculationRule
2073
+ }
2074
+ ],
2075
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
2076
+ {
2077
+ field: EnumCampoTributo.BaseCalculo,
2078
+ rule: this.taxableBaseCalculationRule
2079
+ },
2080
+ {
2081
+ field: EnumCampoTributo.Valor,
2082
+ rule: this.taxAmountCalculationRule
2083
+ }
2084
+ ],
2085
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
2086
+ {
2087
+ field: EnumCampoTributo.BaseCalculo,
2088
+ rule: this.taxableBaseCalculationRule
2089
+ },
2090
+ {
2091
+ field: EnumCampoTributo.Aliquota,
2092
+ rule: this.taxRateCalculationRule
2093
+ },
2094
+ {
2095
+ field: EnumCampoTributo.Valor,
2096
+ rule: this.taxAmountCalculationRule
2097
+ }
2098
+ ],
2099
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
2100
+ {
2101
+ field: EnumCampoTributo.BaseCalculo,
2102
+ rule: this.taxableBaseCalculationRule
2103
+ },
2104
+ {
2105
+ field: EnumCampoTributo.Valor,
2106
+ rule: this.taxAmountCalculationRule
2107
+ },
2108
+ {
2109
+ field: EnumCampoTributo.ClassificacaoTributaria,
2110
+ rule: this.taxClassificationCalculationRule
2111
+ }
2112
+ ],
2113
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
2114
+ {
2115
+ field: EnumCampoTributo.BaseCalculo,
2116
+ rule: this.taxableBaseCalculationRule
2117
+ },
2118
+ {
2119
+ field: EnumCampoTributo.Valor,
2120
+ rule: this.taxAmountCalculationRule
2121
+ },
2122
+ {
2123
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
2124
+ rule: this.applyNetValueToDocumentCalculationRule
2125
+ }
2126
+ ],
2127
+ [EnumTipoTributo.IS]: [
2128
+ {
2129
+ field: EnumCampoTributo.Valor,
2130
+ rule: this.taxAmountCalculationRule
2131
+ },
2132
+ {
2133
+ field: EnumCampoTributo.ClassificacaoTributaria,
2134
+ rule: this.taxClassificationCalculationRule
2135
+ }
2136
+ ],
2137
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
2138
+ {
2139
+ field: EnumCampoTributo.SituacaoTributaria,
2140
+ rule: this.taxSituationCalculationRule
2141
+ },
2142
+ {
2143
+ field: EnumCampoTributo.ClassificacaoTributaria,
2144
+ rule: this.taxClassificationCalculationRule
2145
+ },
2146
+ {
2147
+ field: EnumCampoTributo.Valor,
2148
+ rule: this.taxAmountCalculationRule
2149
+ }
2150
+ ],
2151
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
2152
+ {
2153
+ field: EnumCampoTributo.SituacaoTributaria,
2154
+ rule: this.taxSituationCalculationRule
2155
+ },
2156
+ {
2157
+ field: EnumCampoTributo.ClassificacaoTributaria,
2158
+ rule: this.taxClassificationCalculationRule
2159
+ },
2160
+ {
2161
+ field: EnumCampoTributo.Valor,
2162
+ rule: this.taxAmountCalculationRule
2163
+ }
2164
+ ]
2165
+ },
2166
+ Return: {
2167
+ [EnumTipoTributo.CBS]: [
2168
+ {
2169
+ field: EnumCampoTributo.AliquotaEfetiva,
2170
+ rule: this.effectiveTaxRateCalculationRule
2171
+ },
2172
+ {
2173
+ field: EnumCampoTributo.ValorBruto,
2174
+ rule: this.grossAmountCalculationRule
2175
+ },
2176
+ {
2177
+ field: EnumCampoTributo.Valor,
2178
+ rule: this.taxAmountCalculationRule
2179
+ },
2180
+ {
2181
+ field: EnumCampoTributo.ClassificacaoTributaria,
2182
+ rule: this.taxClassificationCalculationRule
2183
+ },
2184
+ {
2185
+ field: EnumCampoTributo.TipoCalculoImposto,
2186
+ rule: this.taxCalculationTypeCalculationRule
2187
+ },
2188
+ {
2189
+ field: EnumCampoTributo.ImpostoManual,
2190
+ rule: this.manualTaxCalculationRule
2191
+ }
2192
+ ],
2193
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
2194
+ {
2195
+ field: EnumCampoTributo.BaseCalculo,
2196
+ rule: this.taxableBaseCalculationRule
2197
+ },
2198
+ {
2199
+ field: EnumCampoTributo.Aliquota,
2200
+ rule: this.taxRateCalculationRule
2201
+ },
2202
+ {
2203
+ field: EnumCampoTributo.Valor,
2204
+ rule: this.taxAmountCalculationRule
2205
+ }
2206
+ ],
2207
+ [EnumTipoTributo.CBS_DIFERIDO]: [
2208
+ {
2209
+ field: EnumCampoTributo.BaseCalculo,
2210
+ rule: this.taxableBaseCalculationRule
2211
+ },
2212
+ {
2213
+ field: EnumCampoTributo.Valor,
2214
+ rule: this.taxAmountCalculationRule
2215
+ }
2216
+ ],
2217
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
2218
+ {
2219
+ field: EnumCampoTributo.Valor,
2220
+ rule: this.taxAmountCalculationRule
2221
+ }
2222
+ ],
2223
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
2224
+ {
2225
+ field: EnumCampoTributo.BaseCalculo,
2226
+ rule: this.taxableBaseCalculationRule
2227
+ },
2228
+ {
2229
+ field: EnumCampoTributo.Valor,
2230
+ rule: this.taxAmountCalculationRule
2231
+ },
2232
+ {
2233
+ field: EnumCampoTributo.ClassificacaoTributaria,
2234
+ rule: this.taxClassificationCalculationRule
2235
+ }
2236
+ ],
2237
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
2238
+ {
2239
+ field: EnumCampoTributo.BaseCalculo,
2240
+ rule: this.taxableBaseCalculationRule
2241
+ },
2242
+ {
2243
+ field: EnumCampoTributo.Aliquota,
2244
+ rule: this.taxRateCalculationRule
2245
+ },
2246
+ {
2247
+ field: EnumCampoTributo.Valor,
2248
+ rule: this.taxAmountCalculationRule
2249
+ }
2250
+ ],
2251
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
2252
+ {
2253
+ field: EnumCampoTributo.BaseCalculo,
2254
+ rule: this.taxableBaseCalculationRule
2255
+ },
2256
+ {
2257
+ field: EnumCampoTributo.Valor,
2258
+ rule: this.taxAmountCalculationRule
2259
+ }
2260
+ ],
2261
+ [EnumTipoTributo.IBS_ESTADUAL]: [
2262
+ {
2263
+ field: EnumCampoTributo.AliquotaEfetiva,
2264
+ rule: this.effectiveTaxRateCalculationRule
2265
+ },
2266
+ {
2267
+ field: EnumCampoTributo.ValorBruto,
2268
+ rule: this.grossAmountCalculationRule
2269
+ },
2270
+ {
2271
+ field: EnumCampoTributo.Valor,
2272
+ rule: this.taxAmountCalculationRule
2273
+ },
2274
+ {
2275
+ field: EnumCampoTributo.ClassificacaoTributaria,
2276
+ rule: this.taxClassificationCalculationRule
2277
+ },
2278
+ {
2279
+ field: EnumCampoTributo.TipoCalculoImposto,
2280
+ rule: this.taxCalculationTypeCalculationRule
2281
+ },
2282
+ {
2283
+ field: EnumCampoTributo.ImpostoManual,
2284
+ rule: this.manualTaxCalculationRule
2285
+ }
2286
+ ],
2287
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
2288
+ {
2289
+ field: EnumCampoTributo.BaseCalculo,
2290
+ rule: this.taxableBaseCalculationRule
2291
+ },
2292
+ {
2293
+ field: EnumCampoTributo.Aliquota,
2294
+ rule: this.taxRateCalculationRule
2295
+ },
2296
+ {
2297
+ field: EnumCampoTributo.Valor,
2298
+ rule: this.taxAmountCalculationRule
2299
+ }
2300
+ ],
2301
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
2302
+ {
2303
+ field: EnumCampoTributo.BaseCalculo,
2304
+ rule: this.taxableBaseCalculationRule
2305
+ },
2306
+ {
2307
+ field: EnumCampoTributo.Valor,
2308
+ rule: this.taxAmountCalculationRule
2309
+ }
2310
+ ],
2311
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
2312
+ {
2313
+ field: EnumCampoTributo.BaseCalculo,
2314
+ rule: this.taxableBaseCalculationRule
2315
+ },
2316
+ {
2317
+ field: EnumCampoTributo.Valor,
2318
+ rule: this.taxAmountCalculationRule
2319
+ },
2320
+ {
2321
+ field: EnumCampoTributo.ClassificacaoTributaria,
2322
+ rule: this.taxClassificationCalculationRule
2323
+ }
2324
+ ],
2325
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
2326
+ {
2327
+ field: EnumCampoTributo.BaseCalculo,
2328
+ rule: this.taxableBaseCalculationRule
2329
+ },
2330
+ {
2331
+ field: EnumCampoTributo.Aliquota,
2332
+ rule: this.taxRateCalculationRule
2333
+ },
2334
+ {
2335
+ field: EnumCampoTributo.Valor,
2336
+ rule: this.taxAmountCalculationRule
2337
+ }
2338
+ ],
2339
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
2340
+ {
2341
+ field: EnumCampoTributo.AliquotaEfetiva,
2342
+ rule: this.effectiveTaxRateCalculationRule
2343
+ },
2344
+ {
2345
+ field: EnumCampoTributo.ValorBruto,
2346
+ rule: this.grossAmountCalculationRule
2347
+ },
2348
+ {
2349
+ field: EnumCampoTributo.Valor,
2350
+ rule: this.taxAmountCalculationRule
2351
+ },
2352
+ {
2353
+ field: EnumCampoTributo.ClassificacaoTributaria,
2354
+ rule: this.taxClassificationCalculationRule
2355
+ },
2356
+ {
2357
+ field: EnumCampoTributo.TipoCalculoImposto,
2358
+ rule: this.taxCalculationTypeCalculationRule
2359
+ },
2360
+ {
2361
+ field: EnumCampoTributo.ImpostoManual,
2362
+ rule: this.manualTaxCalculationRule
2363
+ }
2364
+ ],
2365
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
2366
+ {
2367
+ field: EnumCampoTributo.BaseCalculo,
2368
+ rule: this.taxableBaseCalculationRule
2369
+ },
2370
+ {
2371
+ field: EnumCampoTributo.Aliquota,
2372
+ rule: this.taxRateCalculationRule
2373
+ },
2374
+ {
2375
+ field: EnumCampoTributo.Valor,
2376
+ rule: this.taxAmountCalculationRule
2377
+ }
2378
+ ],
2379
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
2380
+ {
2381
+ field: EnumCampoTributo.BaseCalculo,
2382
+ rule: this.taxableBaseCalculationRule
2383
+ },
2384
+ {
2385
+ field: EnumCampoTributo.Valor,
2386
+ rule: this.taxAmountCalculationRule
2387
+ }
2388
+ ],
2389
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
2390
+ {
2391
+ field: EnumCampoTributo.BaseCalculo,
2392
+ rule: this.taxableBaseCalculationRule
2393
+ },
2394
+ {
2395
+ field: EnumCampoTributo.Aliquota,
2396
+ rule: this.taxRateCalculationRule
2397
+ },
2398
+ {
2399
+ field: EnumCampoTributo.Valor,
2400
+ rule: this.taxAmountCalculationRule
2401
+ }
2402
+ ],
2403
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
2404
+ {
2405
+ field: EnumCampoTributo.BaseCalculo,
2406
+ rule: this.taxableBaseCalculationRule
2407
+ },
2408
+ {
2409
+ field: EnumCampoTributo.Valor,
2410
+ rule: this.taxAmountCalculationRule
2411
+ },
2412
+ {
2413
+ field: EnumCampoTributo.ClassificacaoTributaria,
2414
+ rule: this.taxClassificationCalculationRule
2415
+ }
2416
+ ],
2417
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
2418
+ {
2419
+ field: EnumCampoTributo.BaseCalculo,
2420
+ rule: this.taxableBaseCalculationRule
2421
+ },
2422
+ {
2423
+ field: EnumCampoTributo.Valor,
2424
+ rule: this.taxAmountCalculationRule
2425
+ },
2426
+ {
2427
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
2428
+ rule: this.applyNetValueToDocumentCalculationRule
2429
+ }
2430
+ ],
2431
+ [EnumTipoTributo.IS]: [
2432
+ {
2433
+ field: EnumCampoTributo.Valor,
2434
+ rule: this.taxAmountCalculationRule
2435
+ },
2436
+ {
2437
+ field: EnumCampoTributo.ClassificacaoTributaria,
2438
+ rule: this.taxClassificationCalculationRule
2439
+ }
2440
+ ],
2441
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
2442
+ {
2443
+ field: EnumCampoTributo.SituacaoTributaria,
2444
+ rule: this.taxSituationCalculationRule
2445
+ },
2446
+ {
2447
+ field: EnumCampoTributo.ClassificacaoTributaria,
2448
+ rule: this.taxClassificationCalculationRule
2449
+ },
2450
+ {
2451
+ field: EnumCampoTributo.Valor,
2452
+ rule: this.taxAmountCalculationRule
2453
+ }
2454
+ ],
2455
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
2456
+ {
2457
+ field: EnumCampoTributo.SituacaoTributaria,
2458
+ rule: this.taxSituationCalculationRule
2459
+ },
2460
+ {
2461
+ field: EnumCampoTributo.ClassificacaoTributaria,
2462
+ rule: this.taxClassificationCalculationRule
2463
+ },
2464
+ {
2465
+ field: EnumCampoTributo.Valor,
2466
+ rule: this.taxAmountCalculationRule
2467
+ }
2468
+ ]
2469
+ },
2470
+ Reversal: {
2471
+ [EnumTipoTributo.CBS]: [
2472
+ {
2473
+ field: EnumCampoTributo.AliquotaEfetiva,
2474
+ rule: this.effectiveTaxRateCalculationRule
2475
+ },
2476
+ {
2477
+ field: EnumCampoTributo.ValorBruto,
2478
+ rule: this.grossAmountCalculationRule
2479
+ },
2480
+ {
2481
+ field: EnumCampoTributo.Valor,
2482
+ rule: this.taxAmountCalculationRule
2483
+ },
2484
+ {
2485
+ field: EnumCampoTributo.ClassificacaoTributaria,
2486
+ rule: this.taxClassificationCalculationRule
2487
+ },
2488
+ {
2489
+ field: EnumCampoTributo.TipoCalculoImposto,
2490
+ rule: this.taxCalculationTypeCalculationRule
2491
+ },
2492
+ {
2493
+ field: EnumCampoTributo.ImpostoManual,
2494
+ rule: this.manualTaxCalculationRule
2495
+ }
2496
+ ],
2497
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
2498
+ {
2499
+ field: EnumCampoTributo.BaseCalculo,
2500
+ rule: this.taxableBaseCalculationRule
2501
+ },
2502
+ {
2503
+ field: EnumCampoTributo.Aliquota,
2504
+ rule: this.taxRateCalculationRule
2505
+ },
2506
+ {
2507
+ field: EnumCampoTributo.Valor,
2508
+ rule: this.taxAmountCalculationRule
2509
+ }
2510
+ ],
2511
+ [EnumTipoTributo.CBS_DIFERIDO]: [
2512
+ {
2513
+ field: EnumCampoTributo.BaseCalculo,
2514
+ rule: this.taxableBaseCalculationRule
2515
+ },
2516
+ {
2517
+ field: EnumCampoTributo.Valor,
2518
+ rule: this.taxAmountCalculationRule
2519
+ }
2520
+ ],
2521
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
2522
+ {
2523
+ field: EnumCampoTributo.Valor,
2524
+ rule: this.taxAmountCalculationRule
2525
+ }
2526
+ ],
2527
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
2528
+ {
2529
+ field: EnumCampoTributo.BaseCalculo,
2530
+ rule: this.taxableBaseCalculationRule
2531
+ },
2532
+ {
2533
+ field: EnumCampoTributo.Valor,
2534
+ rule: this.taxAmountCalculationRule
2535
+ },
2536
+ {
2537
+ field: EnumCampoTributo.ClassificacaoTributaria,
2538
+ rule: this.taxClassificationCalculationRule
2539
+ }
2540
+ ],
2541
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
2542
+ {
2543
+ field: EnumCampoTributo.BaseCalculo,
2544
+ rule: this.taxableBaseCalculationRule
2545
+ },
2546
+ {
2547
+ field: EnumCampoTributo.Aliquota,
2548
+ rule: this.taxRateCalculationRule
2549
+ },
2550
+ {
2551
+ field: EnumCampoTributo.Valor,
2552
+ rule: this.taxAmountCalculationRule
2553
+ }
2554
+ ],
2555
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
2556
+ {
2557
+ field: EnumCampoTributo.BaseCalculo,
2558
+ rule: this.taxableBaseCalculationRule
2559
+ },
2560
+ {
2561
+ field: EnumCampoTributo.Valor,
2562
+ rule: this.taxAmountCalculationRule
2563
+ }
2564
+ ],
2565
+ [EnumTipoTributo.IBS_ESTADUAL]: [
2566
+ {
2567
+ field: EnumCampoTributo.AliquotaEfetiva,
2568
+ rule: this.effectiveTaxRateCalculationRule
2569
+ },
2570
+ {
2571
+ field: EnumCampoTributo.ValorBruto,
2572
+ rule: this.grossAmountCalculationRule
2573
+ },
2574
+ {
2575
+ field: EnumCampoTributo.Valor,
2576
+ rule: this.taxAmountCalculationRule
2577
+ },
2578
+ {
2579
+ field: EnumCampoTributo.ClassificacaoTributaria,
2580
+ rule: this.taxClassificationCalculationRule
2581
+ },
2582
+ {
2583
+ field: EnumCampoTributo.TipoCalculoImposto,
2584
+ rule: this.taxCalculationTypeCalculationRule
2585
+ },
2586
+ {
2587
+ field: EnumCampoTributo.ImpostoManual,
2588
+ rule: this.manualTaxCalculationRule
2589
+ }
2590
+ ],
2591
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
2592
+ {
2593
+ field: EnumCampoTributo.BaseCalculo,
2594
+ rule: this.taxableBaseCalculationRule
2595
+ },
2596
+ {
2597
+ field: EnumCampoTributo.Aliquota,
2598
+ rule: this.taxRateCalculationRule
2599
+ },
2600
+ {
2601
+ field: EnumCampoTributo.Valor,
2602
+ rule: this.taxAmountCalculationRule
2603
+ }
2604
+ ],
2605
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
2606
+ {
2607
+ field: EnumCampoTributo.BaseCalculo,
2608
+ rule: this.taxableBaseCalculationRule
2609
+ },
2610
+ {
2611
+ field: EnumCampoTributo.Valor,
2612
+ rule: this.taxAmountCalculationRule
2613
+ }
2614
+ ],
2615
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
2616
+ {
2617
+ field: EnumCampoTributo.BaseCalculo,
2618
+ rule: this.taxableBaseCalculationRule
2619
+ },
2620
+ {
2621
+ field: EnumCampoTributo.Valor,
2622
+ rule: this.taxAmountCalculationRule
2623
+ },
2624
+ {
2625
+ field: EnumCampoTributo.ClassificacaoTributaria,
2626
+ rule: this.taxClassificationCalculationRule
2627
+ }
2628
+ ],
2629
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
2630
+ {
2631
+ field: EnumCampoTributo.BaseCalculo,
2632
+ rule: this.taxableBaseCalculationRule
2633
+ },
2634
+ {
2635
+ field: EnumCampoTributo.Aliquota,
2636
+ rule: this.taxRateCalculationRule
2637
+ },
2638
+ {
2639
+ field: EnumCampoTributo.Valor,
2640
+ rule: this.taxAmountCalculationRule
2641
+ }
2642
+ ],
2643
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
2644
+ {
2645
+ field: EnumCampoTributo.AliquotaEfetiva,
2646
+ rule: this.effectiveTaxRateCalculationRule
2647
+ },
2648
+ {
2649
+ field: EnumCampoTributo.ValorBruto,
2650
+ rule: this.grossAmountCalculationRule
2651
+ },
2652
+ {
2653
+ field: EnumCampoTributo.Valor,
2654
+ rule: this.taxAmountCalculationRule
2655
+ },
2656
+ {
2657
+ field: EnumCampoTributo.ClassificacaoTributaria,
2658
+ rule: this.taxClassificationCalculationRule
2659
+ },
2660
+ {
2661
+ field: EnumCampoTributo.TipoCalculoImposto,
2662
+ rule: this.taxCalculationTypeCalculationRule
2663
+ },
2664
+ {
2665
+ field: EnumCampoTributo.ImpostoManual,
2666
+ rule: this.manualTaxCalculationRule
2667
+ }
2668
+ ],
2669
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
2670
+ {
2671
+ field: EnumCampoTributo.BaseCalculo,
2672
+ rule: this.taxableBaseCalculationRule
2673
+ },
2674
+ {
2675
+ field: EnumCampoTributo.Aliquota,
2676
+ rule: this.taxRateCalculationRule
2677
+ },
2678
+ {
2679
+ field: EnumCampoTributo.Valor,
2680
+ rule: this.taxAmountCalculationRule
2681
+ }
2682
+ ],
2683
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
2684
+ {
2685
+ field: EnumCampoTributo.BaseCalculo,
2686
+ rule: this.taxableBaseCalculationRule
2687
+ },
2688
+ {
2689
+ field: EnumCampoTributo.Valor,
2690
+ rule: this.taxAmountCalculationRule
2691
+ }
2692
+ ],
2693
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
2694
+ {
2695
+ field: EnumCampoTributo.BaseCalculo,
2696
+ rule: this.taxableBaseCalculationRule
2697
+ },
2698
+ {
2699
+ field: EnumCampoTributo.Aliquota,
2700
+ rule: this.taxRateCalculationRule
2701
+ },
2702
+ {
2703
+ field: EnumCampoTributo.Valor,
2704
+ rule: this.taxAmountCalculationRule
2705
+ }
2706
+ ],
2707
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
2708
+ {
2709
+ field: EnumCampoTributo.BaseCalculo,
2710
+ rule: this.taxableBaseCalculationRule
2711
+ },
2712
+ {
2713
+ field: EnumCampoTributo.Valor,
2714
+ rule: this.taxAmountCalculationRule
2715
+ },
2716
+ {
2717
+ field: EnumCampoTributo.ClassificacaoTributaria,
2718
+ rule: this.taxClassificationCalculationRule
2719
+ }
2720
+ ],
2721
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
2722
+ {
2723
+ field: EnumCampoTributo.BaseCalculo,
2724
+ rule: this.taxableBaseCalculationRule
2725
+ },
2726
+ {
2727
+ field: EnumCampoTributo.Valor,
2728
+ rule: this.taxAmountCalculationRule
2729
+ },
2730
+ {
2731
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
2732
+ rule: this.applyNetValueToDocumentCalculationRule
2733
+ }
2734
+ ],
2735
+ [EnumTipoTributo.IS]: [
2736
+ {
2737
+ field: EnumCampoTributo.Valor,
2738
+ rule: this.taxAmountCalculationRule
2739
+ },
2740
+ {
2741
+ field: EnumCampoTributo.ClassificacaoTributaria,
2742
+ rule: this.taxClassificationCalculationRule
2743
+ }
2744
+ ],
2745
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
2746
+ {
2747
+ field: EnumCampoTributo.SituacaoTributaria,
2748
+ rule: this.taxSituationCalculationRule
2749
+ },
2750
+ {
2751
+ field: EnumCampoTributo.ClassificacaoTributaria,
2752
+ rule: this.taxClassificationCalculationRule
2753
+ },
2754
+ {
2755
+ field: EnumCampoTributo.Valor,
2756
+ rule: this.taxAmountCalculationRule
2757
+ }
2758
+ ],
2759
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
2760
+ {
2761
+ field: EnumCampoTributo.SituacaoTributaria,
2762
+ rule: this.taxSituationCalculationRule
2763
+ },
2764
+ {
2765
+ field: EnumCampoTributo.ClassificacaoTributaria,
2766
+ rule: this.taxClassificationCalculationRule
2767
+ },
2768
+ {
2769
+ field: EnumCampoTributo.Valor,
2770
+ rule: this.taxAmountCalculationRule
2771
+ }
2772
+ ]
2773
+ },
2774
+ Standard: {
2775
+ [EnumTipoTributo.CBS]: [
2776
+ {
2777
+ field: EnumCampoTributo.AliquotaEfetiva,
2778
+ rule: this.effectiveTaxRateCalculationRule
2779
+ },
2780
+ {
2781
+ field: EnumCampoTributo.ValorBruto,
2782
+ rule: this.grossAmountCalculationRule
2783
+ },
2784
+ {
2785
+ field: EnumCampoTributo.Valor,
2786
+ rule: this.taxAmountCalculationRule
2787
+ },
2788
+ {
2789
+ field: EnumCampoTributo.ClassificacaoTributaria,
2790
+ rule: this.taxClassificationCalculationRule
2791
+ },
2792
+ {
2793
+ field: EnumCampoTributo.TipoCalculoImposto,
2794
+ rule: this.taxCalculationTypeCalculationRule
2795
+ },
2796
+ {
2797
+ field: EnumCampoTributo.ImpostoManual,
2798
+ rule: this.manualTaxCalculationRule
2799
+ }
2800
+ ],
2801
+ [EnumTipoTributo.CBS_A_APROPRIAR]: [
2802
+ {
2803
+ field: EnumCampoTributo.BaseCalculo,
2804
+ rule: this.taxableBaseCalculationRule
2805
+ },
2806
+ {
2807
+ field: EnumCampoTributo.Aliquota,
2808
+ rule: this.taxRateCalculationRule
2809
+ },
2810
+ {
2811
+ field: EnumCampoTributo.Valor,
2812
+ rule: this.taxAmountCalculationRule
2813
+ }
2814
+ ],
2815
+ [EnumTipoTributo.CBS_DIFERIDO]: [
2816
+ {
2817
+ field: EnumCampoTributo.BaseCalculo,
2818
+ rule: this.taxableBaseCalculationRule
2819
+ },
2820
+ {
2821
+ field: EnumCampoTributo.Valor,
2822
+ rule: this.taxAmountCalculationRule
2823
+ }
2824
+ ],
2825
+ [EnumTipoTributo.CBS_CREDITO_PRESUMIDO]: [
2826
+ {
2827
+ field: EnumCampoTributo.Valor,
2828
+ rule: this.taxAmountCalculationRule
2829
+ }
2830
+ ],
2831
+ [EnumTipoTributo.CBS_TRIBUTACAO_REGULAR]: [
2832
+ {
2833
+ field: EnumCampoTributo.BaseCalculo,
2834
+ rule: this.taxableBaseCalculationRule
2835
+ },
2836
+ {
2837
+ field: EnumCampoTributo.Valor,
2838
+ rule: this.taxAmountCalculationRule
2839
+ },
2840
+ {
2841
+ field: EnumCampoTributo.ClassificacaoTributaria,
2842
+ rule: this.taxClassificationCalculationRule
2843
+ }
2844
+ ],
2845
+ [EnumTipoTributo.CBS_GOVERNAMENTAL]: [
2846
+ {
2847
+ field: EnumCampoTributo.BaseCalculo,
2848
+ rule: this.taxableBaseCalculationRule
2849
+ },
2850
+ {
2851
+ field: EnumCampoTributo.Aliquota,
2852
+ rule: this.taxRateCalculationRule
2853
+ },
2854
+ {
2855
+ field: EnumCampoTributo.Valor,
2856
+ rule: this.taxAmountCalculationRule
2857
+ }
2858
+ ],
2859
+ [EnumTipoTributo.CBS_ALC_ZFM]: [
2860
+ {
2861
+ field: EnumCampoTributo.BaseCalculo,
2862
+ rule: this.taxableBaseCalculationRule
2863
+ },
2864
+ {
2865
+ field: EnumCampoTributo.Valor,
2866
+ rule: this.taxAmountCalculationRule
2867
+ }
2868
+ ],
2869
+ [EnumTipoTributo.IBS_ESTADUAL]: [
2870
+ {
2871
+ field: EnumCampoTributo.AliquotaEfetiva,
2872
+ rule: this.effectiveTaxRateCalculationRule
2873
+ },
2874
+ {
2875
+ field: EnumCampoTributo.ValorBruto,
2876
+ rule: this.grossAmountCalculationRule
2877
+ },
2878
+ {
2879
+ field: EnumCampoTributo.Valor,
2880
+ rule: this.taxAmountCalculationRule
2881
+ },
2882
+ {
2883
+ field: EnumCampoTributo.ClassificacaoTributaria,
2884
+ rule: this.taxClassificationCalculationRule
2885
+ },
2886
+ {
2887
+ field: EnumCampoTributo.TipoCalculoImposto,
2888
+ rule: this.taxCalculationTypeCalculationRule
2889
+ },
2890
+ {
2891
+ field: EnumCampoTributo.ImpostoManual,
2892
+ rule: this.manualTaxCalculationRule
2893
+ }
2894
+ ],
2895
+ [EnumTipoTributo.IBS_ESTADUAL_A_APROPRIAR]: [
2896
+ {
2897
+ field: EnumCampoTributo.BaseCalculo,
2898
+ rule: this.taxableBaseCalculationRule
2899
+ },
2900
+ {
2901
+ field: EnumCampoTributo.Aliquota,
2902
+ rule: this.taxRateCalculationRule
2903
+ },
2904
+ {
2905
+ field: EnumCampoTributo.Valor,
2906
+ rule: this.taxAmountCalculationRule
2907
+ }
2908
+ ],
2909
+ [EnumTipoTributo.IBS_ESTADUAL_DIFERIDO]: [
2910
+ {
2911
+ field: EnumCampoTributo.BaseCalculo,
2912
+ rule: this.taxableBaseCalculationRule
2913
+ },
2914
+ {
2915
+ field: EnumCampoTributo.Valor,
2916
+ rule: this.taxAmountCalculationRule
2917
+ }
2918
+ ],
2919
+ [EnumTipoTributo.IBS_ESTADUAL_TRIBUTACAO_REGULAR]: [
2920
+ {
2921
+ field: EnumCampoTributo.BaseCalculo,
2922
+ rule: this.taxableBaseCalculationRule
2923
+ },
2924
+ {
2925
+ field: EnumCampoTributo.Valor,
2926
+ rule: this.taxAmountCalculationRule
2927
+ },
2928
+ {
2929
+ field: EnumCampoTributo.ClassificacaoTributaria,
2930
+ rule: this.taxClassificationCalculationRule
2931
+ }
2932
+ ],
2933
+ [EnumTipoTributo.IBS_ESTADUAL_GOVERNAMENTAL]: [
2934
+ {
2935
+ field: EnumCampoTributo.BaseCalculo,
2936
+ rule: this.taxableBaseCalculationRule
2937
+ },
2938
+ {
2939
+ field: EnumCampoTributo.Aliquota,
2940
+ rule: this.taxRateCalculationRule
2941
+ },
2942
+ {
2943
+ field: EnumCampoTributo.Valor,
2944
+ rule: this.taxAmountCalculationRule
2945
+ }
2946
+ ],
2947
+ [EnumTipoTributo.IBS_MUNICIPAL]: [
2948
+ {
2949
+ field: EnumCampoTributo.AliquotaEfetiva,
2950
+ rule: this.effectiveTaxRateCalculationRule
2951
+ },
2952
+ {
2953
+ field: EnumCampoTributo.ValorBruto,
2954
+ rule: this.grossAmountCalculationRule
2955
+ },
2956
+ {
2957
+ field: EnumCampoTributo.Valor,
2958
+ rule: this.taxAmountCalculationRule
2959
+ },
2960
+ {
2961
+ field: EnumCampoTributo.ClassificacaoTributaria,
2962
+ rule: this.taxClassificationCalculationRule
2963
+ },
2964
+ {
2965
+ field: EnumCampoTributo.TipoCalculoImposto,
2966
+ rule: this.taxCalculationTypeCalculationRule
2967
+ },
2968
+ {
2969
+ field: EnumCampoTributo.ImpostoManual,
2970
+ rule: this.manualTaxCalculationRule
2971
+ }
2972
+ ],
2973
+ [EnumTipoTributo.IBS_MUNICIPAL_A_APROPRIAR]: [
2974
+ {
2975
+ field: EnumCampoTributo.BaseCalculo,
2976
+ rule: this.taxableBaseCalculationRule
2977
+ },
2978
+ {
2979
+ field: EnumCampoTributo.Aliquota,
2980
+ rule: this.taxRateCalculationRule
2981
+ },
2982
+ {
2983
+ field: EnumCampoTributo.Valor,
2984
+ rule: this.taxAmountCalculationRule
2985
+ }
2986
+ ],
2987
+ [EnumTipoTributo.IBS_MUNICIPAL_DIFERIDO]: [
2988
+ {
2989
+ field: EnumCampoTributo.BaseCalculo,
2990
+ rule: this.taxableBaseCalculationRule
2991
+ },
2992
+ {
2993
+ field: EnumCampoTributo.Valor,
2994
+ rule: this.taxAmountCalculationRule
2995
+ }
2996
+ ],
2997
+ [EnumTipoTributo.IBS_MUNICIPAL_GOVERNAMENTAL]: [
2998
+ {
2999
+ field: EnumCampoTributo.BaseCalculo,
3000
+ rule: this.taxableBaseCalculationRule
3001
+ },
3002
+ {
3003
+ field: EnumCampoTributo.Aliquota,
3004
+ rule: this.taxRateCalculationRule
3005
+ },
3006
+ {
3007
+ field: EnumCampoTributo.Valor,
3008
+ rule: this.taxAmountCalculationRule
3009
+ }
3010
+ ],
3011
+ [EnumTipoTributo.IBS_MUNICIPAL_TRIBUTACAO_REGULAR]: [
3012
+ {
3013
+ field: EnumCampoTributo.BaseCalculo,
3014
+ rule: this.taxableBaseCalculationRule
3015
+ },
3016
+ {
3017
+ field: EnumCampoTributo.Valor,
3018
+ rule: this.taxAmountCalculationRule
3019
+ },
3020
+ {
3021
+ field: EnumCampoTributo.ClassificacaoTributaria,
3022
+ rule: this.taxClassificationCalculationRule
3023
+ }
3024
+ ],
3025
+ [EnumTipoTributo.IBS_CREDITO_PRESUMIDO]: [
3026
+ {
3027
+ field: EnumCampoTributo.BaseCalculo,
3028
+ rule: this.taxableBaseCalculationRule
3029
+ },
3030
+ {
3031
+ field: EnumCampoTributo.Valor,
3032
+ rule: this.taxAmountCalculationRule
3033
+ },
3034
+ {
3035
+ field: EnumCampoTributo.AplicarValorLiquidoDocumento,
3036
+ rule: this.applyNetValueToDocumentCalculationRule
3037
+ }
3038
+ ],
3039
+ [EnumTipoTributo.IS]: [
3040
+ {
3041
+ field: EnumCampoTributo.Valor,
3042
+ rule: this.taxAmountCalculationRule
3043
+ },
3044
+ {
3045
+ field: EnumCampoTributo.ClassificacaoTributaria,
3046
+ rule: this.taxClassificationCalculationRule
3047
+ }
3048
+ ],
3049
+ [EnumTipoTributo.CBS_ESTORNO_CREDITO]: [
3050
+ {
3051
+ field: EnumCampoTributo.SituacaoTributaria,
3052
+ rule: this.taxSituationCalculationRule
3053
+ },
3054
+ {
3055
+ field: EnumCampoTributo.ClassificacaoTributaria,
3056
+ rule: this.taxClassificationCalculationRule
3057
+ },
3058
+ {
3059
+ field: EnumCampoTributo.Valor,
3060
+ rule: this.taxAmountCalculationRule
3061
+ }
3062
+ ],
3063
+ [EnumTipoTributo.IBS_ESTORNO_CREDITO]: [
3064
+ {
3065
+ field: EnumCampoTributo.SituacaoTributaria,
3066
+ rule: this.taxSituationCalculationRule
3067
+ },
3068
+ {
3069
+ field: EnumCampoTributo.ClassificacaoTributaria,
3070
+ rule: this.taxClassificationCalculationRule
3071
+ },
3072
+ {
3073
+ field: EnumCampoTributo.Valor,
3074
+ rule: this.taxAmountCalculationRule
3075
+ }
3076
+ ]
3077
+ }
3078
+ };
3079
+ }
3080
+ get(type, taxType) {
3081
+ var _a, _b;
3082
+ return (_b = (_a = this.strategies[type]) === null || _a === void 0 ? void 0 : _a[taxType]) !== null && _b !== void 0 ? _b : [];
3083
+ }
3084
+ };
3085
+ IncomingInvoiceCalculationRulesRegistry.ctorParameters = () => [
3086
+ { type: TaxableBaseCalculationRule },
3087
+ { type: TaxRateCalculationRule },
3088
+ { type: EffectiveTaxRateCalculationRule },
3089
+ { type: TaxAmountCalculationRule },
3090
+ { type: GrossAmountCalculationRule },
3091
+ { type: TaxSituationCalculationRule },
3092
+ { type: TaxClassificationCalculationRule },
3093
+ { type: TaxCalculationTypeCalculationRule },
3094
+ { type: ApplyNetValueToDocumentCalculationRule },
3095
+ { type: ManualTaxCalculationRule }
3096
+ ];
3097
+ IncomingInvoiceCalculationRulesRegistry.ɵprov = i0.ɵɵdefineInjectable({ factory: function IncomingInvoiceCalculationRulesRegistry_Factory() { return new IncomingInvoiceCalculationRulesRegistry(i0.ɵɵinject(i1.TaxableBaseCalculationRule), i0.ɵɵinject(i2.TaxRateCalculationRule), i0.ɵɵinject(i3.EffectiveTaxRateCalculationRule), i0.ɵɵinject(i4.TaxAmountCalculationRule), i0.ɵɵinject(i5.GrossAmountCalculationRule), i0.ɵɵinject(i6.TaxSituationCalculationRule), i0.ɵɵinject(i7.TaxClassificationCalculationRule), i0.ɵɵinject(i8.TaxCalculationTypeCalculationRule), i0.ɵɵinject(i9.ApplyNetValueToDocumentCalculationRule), i0.ɵɵinject(i10.ManualTaxCalculationRule)); }, token: IncomingInvoiceCalculationRulesRegistry, providedIn: "root" });
3098
+ IncomingInvoiceCalculationRulesRegistry = __decorate([
3099
+ Injectable({ providedIn: 'root' })
3100
+ ], IncomingInvoiceCalculationRulesRegistry);
3101
+ export { IncomingInvoiceCalculationRulesRegistry };
3102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jb21pbmctaW52b2ljZS1jYWxjdWxhdGlvbi1ydWxlcy5yZWdpc3RyeS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLWVtcHJlc2FyaWFsL2VycHgtY29tcG9uZW50cy8iLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvdHJpYnV0b3MvcnVsZXMvY2FsY3VsYXRpb24vcmVnaXN0cmllcy9jYWxjdWxhdGlvbi1ydWxlcy1yZWdpc3RyaWVzL2luY29taW5nLWludm9pY2UtY2FsY3VsYXRpb24tcnVsZXMucmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUNILGdCQUFnQixFQUNoQixlQUFlLEVBQ2xCLE1BQU0sZ0NBQWdDLENBQUM7QUFLeEMsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0sMERBQTBELENBQUM7QUFDbEgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDdEcsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0saURBQWlELENBQUM7QUFDbkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDdkYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7Ozs7OztBQUd6RixJQUFhLHVDQUF1QyxHQUFwRCxNQUFhLHVDQUF1QztJQTYrRmhELFlB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QkFBMkI7cUJBQ3pDO29CQUNEO3dCQUNJLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyx1QkFBdUI7d0JBQy9DLElBQUksRUFBRSxJQUFJLENBQUMsZ0NBQWdDO3FCQUM5QztvQkFDRDt3QkFDSSxLQUFLLEVBQUUsZ0JBQWdCLENBQUMsS0FBSzt3QkFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyx3QkFBd0I7cUJBQ3RDO2lCQUNKO2FBQ0o7U0FDSixDQUFDO0lBYUMsQ0FBQztJQUVKLEdBQUcsQ0FDQyxJQUF5QixFQUN6QixPQUF3Qjs7UUFFeEIsbUJBQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsMENBQUcsT0FBTyxvQ0FBSyxFQUFFLENBQUM7SUFDbEQsQ0FBQztDQUNKLENBQUE7O1lBbEJvRCwwQkFBMEI7WUFDOUIsc0JBQXNCO1lBQ2IsK0JBQStCO1lBQ3RDLHdCQUF3QjtZQUN0QiwwQkFBMEI7WUFDekIsMkJBQTJCO1lBQ3RCLGdDQUFnQztZQUMvQixpQ0FBaUM7WUFDNUIsc0NBQXNDO1lBQ3BELHdCQUF3Qjs7O0FBdi9GOUQsdUNBQXVDO0lBRG5ELFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztHQUN0Qix1Q0FBdUMsQ0FnZ0duRDtTQWhnR1ksdUNBQXVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBFbnVtQ2FtcG9UcmlidXRvLFxuICAgIEVudW1UaXBvVHJpYnV0b1xufSBmcm9tICcuLi8uLi8uLi8uLi9lcnAtdHJpYnV0b3MudHlwZXMnO1xuaW1wb3J0IHsgSW5jb21pbmdJbnZvaWNlVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3R5cGVzL2luY29taW5nLWludm9pY2UtdHlwZSc7XG5pbXBvcnQgeyBGaWVsZENhbGN1bGF0aW9uUnVsZU1hcHBpbmcgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9maWVsZC1jYWxjdWxhdGlvbi1ydWxlLW1hcHBpbmcnO1xuaW1wb3J0IHsgU2NoZW1hIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc2NoZW1hcy9pbmNvbWluZy1pbnZvaWNlLnNjaGVtYSc7XG5pbXBvcnQgeyBTdHJhdGVnaWVzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc3RyYXRlZ2llcyc7XG5pbXBvcnQgeyBBcHBseU5ldFZhbHVlVG9Eb2N1bWVudENhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL2FwcGx5LW5ldC12YWx1ZS10by1kb2N1bWVudC1jYWxjdWxhdGlvbi1ydWxlJztcbmltcG9ydCB7IEVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy9lZmZlY3RpdmUtdGF4LXJhdGUtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBHcm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL2dyb3NzLWFtb3VudC1jYWxjdWxhdGlvbi1ydWxlJztcbmltcG9ydCB7IE1hbnVhbFRheENhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL21hbnVhbC10YXgtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBUYXhBbW91bnRDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy90YXgtYW1vdW50LWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgVGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvdGF4LWNhbGN1bGF0aW9uLXR5cGUtY2FsY3VsYXRpb24tcnVsZSc7XG5pbXBvcnQgeyBUYXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZSB9IGZyb20gJy4uLy4uL3J1bGVzL3RheC1jbGFzc2lmaWNhdGlvbi1jYWxjdWxhdGlvbi1ydWxlJztcbmltcG9ydCB7IFRheFJhdGVDYWxjdWxhdGlvblJ1bGUgfSBmcm9tICcuLi8uLi9ydWxlcy90YXgtcmF0ZS1jYWxjdWxhdGlvbi1ydWxlJztcbmltcG9ydCB7IFRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvdGF4YWJsZS1iYXNlLWNhbGN1bGF0aW9uLXJ1bGUnO1xuaW1wb3J0IHsgVGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlIH0gZnJvbSAnLi4vLi4vcnVsZXMvdGF4LXNpdHVhdGlvbi1jYWxjdWxhdGlvbi1ydWxlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbmNvbWluZ0ludm9pY2VDYWxjdWxhdGlvblJ1bGVzUmVnaXN0cnkge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RyYXRlZ2llczogU3RyYXRlZ2llczxTY2hlbWE+ID0ge1xuICAgICAgICBBZGp1c3RtZW50OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FMQ19aRk1dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uU2l0dWFjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFNpdHVhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uU2l0dWFjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFNpdHVhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgICdQcm9kdWNlciBJbnZvaWNlJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BTENfWkZNXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICAnU2VydmljZSBJbnZvaWNlJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BTENfWkZNXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICAnVGhpcmQgUGFydHkgUmV0dXJuJzoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BTENfWkZNXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBDb21wbGVtZW50OiB7XG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FMQ19aRk1dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQXBsaWNhclZhbG9yTGlxdWlkb0RvY3VtZW50byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5hcHBseU5ldFZhbHVlVG9Eb2N1bWVudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcblxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uU2l0dWFjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFNpdHVhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUT1JOT19DUkVESVRPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uU2l0dWFjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFNpdHVhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIENyZWRpdDoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BTENfWkZNXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19UUkFOU0ZFUkVOQ0lBX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19UUkFOU0ZFUkVOQ0lBX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgRnJlaWdodDoge1xuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YUVmZXRpdmEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZWZmZWN0aXZlVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvckJydXRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5UaXBvQ2FsY3Vsb0ltcG9zdG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkltcG9zdG9NYW51YWwsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMubWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQ1JFRElUT19QUkVTVU1JRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BTENfWkZNXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVEFEVUFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfRElGRVJJRE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0dPVkVSTkFNRU5UQUxdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19NVU5JQ0lQQUxfVFJJQlVUQUNBT19SRUdVTEFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFwbGljYXJWYWxvckxpcXVpZG9Eb2N1bWVudG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JU106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG5cbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX0VTVE9STk9fQ1JFRElUT106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlNpdHVhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICB9LFxuICAgICAgICBSZXR1cm46IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQUxDX1pGTV06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgUmV2ZXJzYWw6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQUxDX1pGTV06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfSxcbiAgICAgICAgU3RhbmRhcmQ6IHtcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGFFZmV0aXZhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmVmZmVjdGl2ZVRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3JCcnV0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5ncm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVGlwb0NhbGN1bG9JbXBvc3RvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENhbGN1bGF0aW9uVHlwZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5JbXBvc3RvTWFudWFsLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLm1hbnVhbFRheENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19BX0FQUk9QUklBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX0NSRURJVE9fUFJFU1VNSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uQ0JTX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5DQlNfQUxDX1pGTV06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfQV9BUFJPUFJJQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BbGlxdW90YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9ESUZFUklET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RBRFVBTF9UUklCVVRBQ0FPX1JFR1VMQVJdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5CYXNlQ2FsY3VsbyxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfRVNUQURVQUxfR09WRVJOQU1FTlRBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheFJhdGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkFsaXF1b3RhRWZldGl2YSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5lZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yQnJ1dG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMuZ3Jvc3NBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlRpcG9DYWxjdWxvSW1wb3N0byxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uSW1wb3N0b01hbnVhbCxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy5tYW51YWxUYXhDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0FfQVBST1BSSUFSXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX0RJRkVSSURPXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uVmFsb3IsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSUJTX01VTklDSVBBTF9HT1ZFUk5BTUVOVEFMXTogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQmFzZUNhbGN1bG8sXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQWxpcXVvdGEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4UmF0ZUNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgW0VudW1UaXBvVHJpYnV0by5JQlNfTVVOSUNJUEFMX1RSSUJVVEFDQU9fUkVHVUxBUl06IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5DbGFzc2lmaWNhY2FvVHJpYnV0YXJpYSxcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19DUkVESVRPX1BSRVNVTUlET106IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkJhc2VDYWxjdWxvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheGFibGVCYXNlQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5BcGxpY2FyVmFsb3JMaXF1aWRvRG9jdW1lbnRvLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLmFwcGx5TmV0VmFsdWVUb0RvY3VtZW50Q2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFtFbnVtVGlwb1RyaWJ1dG8uSVNdOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5WYWxvcixcbiAgICAgICAgICAgICAgICAgICAgcnVsZTogdGhpcy50YXhBbW91bnRDYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGQ6IEVudW1DYW1wb1RyaWJ1dG8uQ2xhc3NpZmljYWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdLFxuXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLkNCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBbRW51bVRpcG9UcmlidXRvLklCU19FU1RPUk5PX0NSRURJVE9dOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZDogRW51bUNhbXBvVHJpYnV0by5TaXR1YWNhb1RyaWJ1dGFyaWEsXG4gICAgICAgICAgICAgICAgICAgIHJ1bGU6IHRoaXMudGF4U2l0dWF0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLkNsYXNzaWZpY2FjYW9UcmlidXRhcmlhLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheENsYXNzaWZpY2F0aW9uQ2FsY3VsYXRpb25SdWxlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkOiBFbnVtQ2FtcG9UcmlidXRvLlZhbG9yLFxuICAgICAgICAgICAgICAgICAgICBydWxlOiB0aGlzLnRheEFtb3VudENhbGN1bGF0aW9uUnVsZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhhYmxlQmFzZUNhbGN1bGF0aW9uUnVsZTogVGF4YWJsZUJhc2VDYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4UmF0ZUNhbGN1bGF0aW9uUnVsZTogVGF4UmF0ZUNhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBlZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlOiBFZmZlY3RpdmVUYXhSYXRlQ2FsY3VsYXRpb25SdWxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRheEFtb3VudENhbGN1bGF0aW9uUnVsZTogVGF4QW1vdW50Q2FsY3VsYXRpb25SdWxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGdyb3NzQW1vdW50Q2FsY3VsYXRpb25SdWxlOiBHcm9zc0Ftb3VudENhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhTaXR1YXRpb25DYWxjdWxhdGlvblJ1bGU6IFRheFNpdHVhdGlvbkNhbGN1bGF0aW9uUnVsZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YXhDbGFzc2lmaWNhdGlvbkNhbGN1bGF0aW9uUnVsZTogVGF4Q2xhc3NpZmljYXRpb25DYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGF4Q2FsY3VsYXRpb25UeXBlQ2FsY3VsYXRpb25SdWxlOiBUYXhDYWxjdWxhdGlvblR5cGVDYWxjdWxhdGlvblJ1bGUsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwbHlOZXRWYWx1ZVRvRG9jdW1lbnRDYWxjdWxhdGlvblJ1bGU6IEFwcGx5TmV0VmFsdWVUb0RvY3VtZW50Q2FsY3VsYXRpb25SdWxlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1hbnVhbFRheENhbGN1bGF0aW9uUnVsZTogTWFudWFsVGF4Q2FsY3VsYXRpb25SdWxlXG4gICAgKSB7fVxuXG4gICAgZ2V0KFxuICAgICAgICB0eXBlOiBJbmNvbWluZ0ludm9pY2VUeXBlLFxuICAgICAgICB0YXhUeXBlOiBFbnVtVGlwb1RyaWJ1dG9cbiAgICApOiBGaWVsZENhbGN1bGF0aW9uUnVsZU1hcHBpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0cmF0ZWdpZXNbdHlwZV0/Llt0YXhUeXBlXSA/PyBbXTtcbiAgICB9XG59XG4iXX0=