@cdk_utils/iam 1.24.0 → 1.25.0

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 (462) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +4 -4
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +6 -5
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.js +4 -4
  127. package/lib/generated/services/dax.js +4 -4
  128. package/lib/generated/services/dbqms.js +1 -1
  129. package/lib/generated/services/deadline.js +4 -4
  130. package/lib/generated/services/detective.js +4 -4
  131. package/lib/generated/services/devicefarm.js +4 -4
  132. package/lib/generated/services/devops-guru.js +4 -4
  133. package/lib/generated/services/directconnect.js +4 -4
  134. package/lib/generated/services/discovery.js +3 -3
  135. package/lib/generated/services/dlm.js +4 -4
  136. package/lib/generated/services/dms.js +4 -4
  137. package/lib/generated/services/docdb-elastic.js +4 -4
  138. package/lib/generated/services/drs.js +4 -4
  139. package/lib/generated/services/ds-data.js +4 -4
  140. package/lib/generated/services/ds.js +4 -4
  141. package/lib/generated/services/dsql.js +4 -4
  142. package/lib/generated/services/dynamodb.js +4 -4
  143. package/lib/generated/services/ebs.js +4 -4
  144. package/lib/generated/services/ec2-instance-connect.js +4 -4
  145. package/lib/generated/services/ec2.js +4 -4
  146. package/lib/generated/services/ec2messages.js +2 -2
  147. package/lib/generated/services/ecr-public.js +4 -4
  148. package/lib/generated/services/ecr.js +4 -4
  149. package/lib/generated/services/ecs-mcp.js +1 -1
  150. package/lib/generated/services/ecs.js +4 -4
  151. package/lib/generated/services/eks-auth.js +4 -4
  152. package/lib/generated/services/eks-mcp.js +1 -1
  153. package/lib/generated/services/eks.js +4 -4
  154. package/lib/generated/services/elasticache.js +4 -4
  155. package/lib/generated/services/elasticbeanstalk.js +4 -4
  156. package/lib/generated/services/elasticfilesystem.js +4 -4
  157. package/lib/generated/services/elasticloadbalancing.js +4 -4
  158. package/lib/generated/services/elasticmapreduce.js +4 -4
  159. package/lib/generated/services/elastictranscoder.js +2 -2
  160. package/lib/generated/services/elemental-activations.js +1 -1
  161. package/lib/generated/services/elemental-appliances-software.js +2 -2
  162. package/lib/generated/services/elemental-inference.js +4 -4
  163. package/lib/generated/services/elemental-support-cases.js +3 -3
  164. package/lib/generated/services/elemental-support-content.js +1 -1
  165. package/lib/generated/services/emr-containers.js +4 -4
  166. package/lib/generated/services/emr-serverless.js +4 -4
  167. package/lib/generated/services/entityresolution.js +4 -4
  168. package/lib/generated/services/es.js +4 -4
  169. package/lib/generated/services/events.js +4 -4
  170. package/lib/generated/services/eventsbilltoaws.js +3 -3
  171. package/lib/generated/services/evidently.js +3 -3
  172. package/lib/generated/services/evs.js +4 -4
  173. package/lib/generated/services/execute-api.js +4 -4
  174. package/lib/generated/services/finops-agent.js +1 -1
  175. package/lib/generated/services/finspace-api.js +3 -3
  176. package/lib/generated/services/finspace.js +4 -4
  177. package/lib/generated/services/firehose.js +4 -4
  178. package/lib/generated/services/fis.js +4 -4
  179. package/lib/generated/services/fms.js +4 -4
  180. package/lib/generated/services/forecast.js +4 -4
  181. package/lib/generated/services/frauddetector.js +4 -4
  182. package/lib/generated/services/freertos.js +3 -3
  183. package/lib/generated/services/freetier.js +2 -2
  184. package/lib/generated/services/fsx.js +4 -4
  185. package/lib/generated/services/gamelift.js +4 -4
  186. package/lib/generated/services/gameliftstreams.js +4 -4
  187. package/lib/generated/services/geo-maps.js +3 -3
  188. package/lib/generated/services/geo-places.js +3 -3
  189. package/lib/generated/services/geo-routes.js +3 -3
  190. package/lib/generated/services/geo.js +4 -4
  191. package/lib/generated/services/glacier.js +4 -4
  192. package/lib/generated/services/globalaccelerator.js +4 -4
  193. package/lib/generated/services/glue.js +4 -4
  194. package/lib/generated/services/grafana.js +4 -4
  195. package/lib/generated/services/greengrass.js +4 -4
  196. package/lib/generated/services/groundstation.js +4 -4
  197. package/lib/generated/services/groundtruthlabeling.js +1 -1
  198. package/lib/generated/services/guardduty.js +4 -4
  199. package/lib/generated/services/health-agent.js +4 -4
  200. package/lib/generated/services/health.js +4 -4
  201. package/lib/generated/services/healthlake.d.ts +4 -0
  202. package/lib/generated/services/healthlake.js +11 -5
  203. package/lib/generated/services/honeycode.js +2 -2
  204. package/lib/generated/services/iam.js +4 -4
  205. package/lib/generated/services/identity-sync.js +2 -2
  206. package/lib/generated/services/identitystore-auth.js +1 -1
  207. package/lib/generated/services/identitystore.js +4 -4
  208. package/lib/generated/services/imagebuilder.js +4 -4
  209. package/lib/generated/services/importexport.js +2 -2
  210. package/lib/generated/services/inspector-scan.js +2 -2
  211. package/lib/generated/services/inspector.js +2 -2
  212. package/lib/generated/services/inspector2-telemetry.js +1 -1
  213. package/lib/generated/services/inspector2.js +4 -4
  214. package/lib/generated/services/interconnect.js +4 -4
  215. package/lib/generated/services/internetmonitor.js +4 -4
  216. package/lib/generated/services/invoicing.js +4 -4
  217. package/lib/generated/services/iot-device-tester.js +1 -1
  218. package/lib/generated/services/iot.js +4 -4
  219. package/lib/generated/services/iotanalytics.js +3 -3
  220. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  221. package/lib/generated/services/iotevents.js +3 -3
  222. package/lib/generated/services/iotfleethub.js +3 -3
  223. package/lib/generated/services/iotfleetwise.js +4 -4
  224. package/lib/generated/services/iotjobsdata.js +4 -4
  225. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  226. package/lib/generated/services/iotsitewise.js +4 -4
  227. package/lib/generated/services/iottwinmaker.js +4 -4
  228. package/lib/generated/services/iotwireless.js +4 -4
  229. package/lib/generated/services/iq-permission.js +2 -2
  230. package/lib/generated/services/iq.js +2 -2
  231. package/lib/generated/services/ivs.js +4 -4
  232. package/lib/generated/services/ivschat.js +4 -4
  233. package/lib/generated/services/kafka-cluster.js +3 -3
  234. package/lib/generated/services/kafka.js +4 -4
  235. package/lib/generated/services/kafkaconnect.js +4 -4
  236. package/lib/generated/services/kendra-ranking.js +4 -4
  237. package/lib/generated/services/kendra.js +4 -4
  238. package/lib/generated/services/kinesis.js +4 -4
  239. package/lib/generated/services/kinesisanalytics.js +4 -4
  240. package/lib/generated/services/kinesisvideo.js +4 -4
  241. package/lib/generated/services/kms.js +4 -4
  242. package/lib/generated/services/lakeformation.js +3 -3
  243. package/lib/generated/services/lambda.js +4 -4
  244. package/lib/generated/services/launchwizard.js +4 -4
  245. package/lib/generated/services/lex.js +4 -4
  246. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  247. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  248. package/lib/generated/services/license-manager.js +4 -4
  249. package/lib/generated/services/lightsail.js +4 -4
  250. package/lib/generated/services/logs.js +4 -4
  251. package/lib/generated/services/lookoutequipment.js +4 -4
  252. package/lib/generated/services/lookoutmetrics.js +3 -3
  253. package/lib/generated/services/lookoutvision.js +3 -3
  254. package/lib/generated/services/m2.js +4 -4
  255. package/lib/generated/services/machinelearning.js +3 -3
  256. package/lib/generated/services/macie2.js +4 -4
  257. package/lib/generated/services/managedblockchain-query.js +2 -2
  258. package/lib/generated/services/managedblockchain.js +4 -4
  259. package/lib/generated/services/mapcredits.js +2 -2
  260. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  261. package/lib/generated/services/mechanicalturk.js +2 -2
  262. package/lib/generated/services/mediaconnect.js +4 -4
  263. package/lib/generated/services/mediaconvert.js +4 -4
  264. package/lib/generated/services/mediaimport.js +1 -1
  265. package/lib/generated/services/medialive.js +4 -4
  266. package/lib/generated/services/mediapackage-vod.js +4 -4
  267. package/lib/generated/services/mediapackage.js +4 -4
  268. package/lib/generated/services/mediapackagev2.js +4 -4
  269. package/lib/generated/services/mediastore.js +4 -4
  270. package/lib/generated/services/mediatailor.js +4 -4
  271. package/lib/generated/services/medical-imaging.js +4 -4
  272. package/lib/generated/services/memorydb.js +4 -4
  273. package/lib/generated/services/mgh.js +4 -4
  274. package/lib/generated/services/mgn.js +4 -4
  275. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  276. package/lib/generated/services/migrationhub-strategy.js +2 -2
  277. package/lib/generated/services/mobileanalytics.js +1 -1
  278. package/lib/generated/services/mobiletargeting.js +4 -4
  279. package/lib/generated/services/monitron.js +3 -3
  280. package/lib/generated/services/mpa.js +4 -4
  281. package/lib/generated/services/mq.js +4 -4
  282. package/lib/generated/services/neptune-db.js +4 -4
  283. package/lib/generated/services/neptune-graph.js +4 -4
  284. package/lib/generated/services/network-firewall.js +4 -4
  285. package/lib/generated/services/network-security-director.js +1 -1
  286. package/lib/generated/services/networkflowmonitor.js +4 -4
  287. package/lib/generated/services/networkmanager-chat.js +1 -1
  288. package/lib/generated/services/networkmanager.js +4 -4
  289. package/lib/generated/services/networkmonitor.js +4 -4
  290. package/lib/generated/services/nimble.js +3 -3
  291. package/lib/generated/services/notifications-contacts.js +4 -4
  292. package/lib/generated/services/notifications.d.ts +6 -0
  293. package/lib/generated/services/notifications.js +18 -5
  294. package/lib/generated/services/nova-act.js +3 -3
  295. package/lib/generated/services/oam.js +4 -4
  296. package/lib/generated/services/observabilityadmin.js +4 -4
  297. package/lib/generated/services/odb.js +4 -4
  298. package/lib/generated/services/omics.js +4 -4
  299. package/lib/generated/services/one.js +3 -3
  300. package/lib/generated/services/opensearch.js +3 -3
  301. package/lib/generated/services/opsworks-cm.js +2 -2
  302. package/lib/generated/services/opsworks.js +2 -2
  303. package/lib/generated/services/organizations.js +4 -4
  304. package/lib/generated/services/osis.js +4 -4
  305. package/lib/generated/services/outposts.js +4 -4
  306. package/lib/generated/services/panorama.js +3 -3
  307. package/lib/generated/services/partnercentral-account-management.js +2 -2
  308. package/lib/generated/services/partnercentral.js +4 -4
  309. package/lib/generated/services/payment-cryptography.js +4 -4
  310. package/lib/generated/services/payments.js +3 -3
  311. package/lib/generated/services/pca-connector-ad.js +4 -4
  312. package/lib/generated/services/pca-connector-scep.js +4 -4
  313. package/lib/generated/services/pcs.js +4 -4
  314. package/lib/generated/services/personalize.js +4 -4
  315. package/lib/generated/services/pi.js +4 -4
  316. package/lib/generated/services/pipes.js +4 -4
  317. package/lib/generated/services/polly.js +3 -3
  318. package/lib/generated/services/pricing.js +2 -2
  319. package/lib/generated/services/pricingplanmanager.js +3 -3
  320. package/lib/generated/services/private-networks.js +3 -3
  321. package/lib/generated/services/profile.d.ts +2 -0
  322. package/lib/generated/services/profile.js +7 -5
  323. package/lib/generated/services/proton.js +4 -4
  324. package/lib/generated/services/purchase-orders.js +3 -3
  325. package/lib/generated/services/q.js +3 -3
  326. package/lib/generated/services/qapps.js +4 -4
  327. package/lib/generated/services/qbusiness.js +4 -4
  328. package/lib/generated/services/qdeveloper.js +3 -3
  329. package/lib/generated/services/qldb.js +3 -3
  330. package/lib/generated/services/quicksight.js +4 -4
  331. package/lib/generated/services/ram.js +4 -4
  332. package/lib/generated/services/rbin.js +4 -4
  333. package/lib/generated/services/rds-data.js +4 -4
  334. package/lib/generated/services/rds-db.js +2 -2
  335. package/lib/generated/services/rds.js +4 -4
  336. package/lib/generated/services/redshift-data.js +4 -4
  337. package/lib/generated/services/redshift-serverless.js +4 -4
  338. package/lib/generated/services/redshift.js +4 -4
  339. package/lib/generated/services/refactor-spaces.js +4 -4
  340. package/lib/generated/services/rekognition.js +4 -4
  341. package/lib/generated/services/repostspace.js +4 -4
  342. package/lib/generated/services/researchstudio.js +1 -1
  343. package/lib/generated/services/resiliencehub.d.ts +6 -0
  344. package/lib/generated/services/resiliencehub.js +11 -5
  345. package/lib/generated/services/resource-explorer-2.js +4 -4
  346. package/lib/generated/services/resource-explorer.js +1 -1
  347. package/lib/generated/services/resource-groups.js +4 -4
  348. package/lib/generated/services/rhelkb.js +1 -1
  349. package/lib/generated/services/robomaker.js +3 -3
  350. package/lib/generated/services/rolesanywhere.js +4 -4
  351. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  352. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  353. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  354. package/lib/generated/services/route53.js +4 -4
  355. package/lib/generated/services/route53domains.js +2 -2
  356. package/lib/generated/services/route53globalresolver.js +4 -4
  357. package/lib/generated/services/route53profiles.js +4 -4
  358. package/lib/generated/services/route53resolver.js +4 -4
  359. package/lib/generated/services/rtbfabric.js +4 -4
  360. package/lib/generated/services/rum.js +4 -4
  361. package/lib/generated/services/s3-object-lambda.js +3 -3
  362. package/lib/generated/services/s3-outposts.js +4 -4
  363. package/lib/generated/services/s3.js +4 -4
  364. package/lib/generated/services/s3express.js +3 -3
  365. package/lib/generated/services/s3files.js +4 -4
  366. package/lib/generated/services/s3tables.js +4 -4
  367. package/lib/generated/services/s3vectors.js +4 -4
  368. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  369. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  370. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  371. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  372. package/lib/generated/services/sagemaker.js +4 -4
  373. package/lib/generated/services/savingsplans.js +4 -4
  374. package/lib/generated/services/scheduler.js +4 -4
  375. package/lib/generated/services/schemas.js +4 -4
  376. package/lib/generated/services/scn.js +4 -4
  377. package/lib/generated/services/sdb.js +3 -3
  378. package/lib/generated/services/secretsmanager.js +4 -4
  379. package/lib/generated/services/security-ir.js +4 -4
  380. package/lib/generated/services/securityagent.js +4 -4
  381. package/lib/generated/services/securityhub.js +4 -4
  382. package/lib/generated/services/securitylake.js +4 -4
  383. package/lib/generated/services/serverlessrepo.js +4 -4
  384. package/lib/generated/services/servicecatalog.js +4 -4
  385. package/lib/generated/services/servicediscovery.js +4 -4
  386. package/lib/generated/services/serviceextract.js +1 -1
  387. package/lib/generated/services/servicequotas.js +4 -4
  388. package/lib/generated/services/ses.js +4 -4
  389. package/lib/generated/services/shield.js +4 -4
  390. package/lib/generated/services/signer.js +4 -4
  391. package/lib/generated/services/signin.js +4 -4
  392. package/lib/generated/services/simspaceweaver.js +3 -3
  393. package/lib/generated/services/sms-voice.js +4 -4
  394. package/lib/generated/services/sms.js +1 -1
  395. package/lib/generated/services/snow-device-management.js +4 -4
  396. package/lib/generated/services/snowball.js +2 -2
  397. package/lib/generated/services/sns.js +4 -4
  398. package/lib/generated/services/social-messaging.js +4 -4
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.d.ts +12 -0
  438. package/lib/generated/services/user-subscriptions.js +21 -3
  439. package/lib/generated/services/uxc.js +2 -2
  440. package/lib/generated/services/vendor-insights.js +3 -3
  441. package/lib/generated/services/verified-access.js +1 -1
  442. package/lib/generated/services/verifiedpermissions.js +4 -4
  443. package/lib/generated/services/voiceid.js +4 -4
  444. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  445. package/lib/generated/services/vpc-lattice.js +4 -4
  446. package/lib/generated/services/vpce.js +2 -2
  447. package/lib/generated/services/waf-regional.js +4 -4
  448. package/lib/generated/services/waf.js +4 -4
  449. package/lib/generated/services/wafv2.js +4 -4
  450. package/lib/generated/services/wam.js +1 -1
  451. package/lib/generated/services/wellarchitected.js +4 -4
  452. package/lib/generated/services/wickr.js +4 -4
  453. package/lib/generated/services/wisdom.js +4 -4
  454. package/lib/generated/services/workdocs.js +3 -3
  455. package/lib/generated/services/worklink.js +3 -3
  456. package/lib/generated/services/workmail.js +4 -4
  457. package/lib/generated/services/workmailmessageflow.js +3 -3
  458. package/lib/generated/services/workspaces-instances.js +4 -4
  459. package/lib/generated/services/workspaces-web.js +4 -4
  460. package/lib/generated/services/workspaces.js +4 -4
  461. package/lib/generated/services/xray.js +4 -4
  462. package/package.json +1 -1
@@ -16,7 +16,7 @@ class ConfigActions {
16
16
  }
17
17
  exports.ConfigActions = ConfigActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ConfigActions[_a] = { fqn: "@cdk_utils/iam.config.ConfigActions", version: "1.24.0" };
19
+ ConfigActions[_a] = { fqn: "@cdk_utils/iam.config.ConfigActions", version: "1.25.0" };
20
20
  /** The IAM service prefix. */
21
21
  ConfigActions.SERVICE_PREFIX = "config";
22
22
  /** [Write] config:AssociateResourceTypes */
@@ -642,7 +642,7 @@ class ConfigResources {
642
642
  }
643
643
  exports.ConfigResources = ConfigResources;
644
644
  _b = JSII_RTTI_SYMBOL_1;
645
- ConfigResources[_b] = { fqn: "@cdk_utils/iam.config.ConfigResources", version: "1.24.0" };
645
+ ConfigResources[_b] = { fqn: "@cdk_utils/iam.config.ConfigResources", version: "1.25.0" };
646
646
  /**
647
647
  * API operation to required IAM actions mapping for config.
648
648
  */
@@ -650,7 +650,7 @@ class ConfigOperations {
650
650
  }
651
651
  exports.ConfigOperations = ConfigOperations;
652
652
  _c = JSII_RTTI_SYMBOL_1;
653
- ConfigOperations[_c] = { fqn: "@cdk_utils/iam.config.ConfigOperations", version: "1.24.0" };
653
+ ConfigOperations[_c] = { fqn: "@cdk_utils/iam.config.ConfigOperations", version: "1.25.0" };
654
654
  /** IAM actions required for the AssociateResourceTypes API call. */
655
655
  ConfigOperations.AssociateResourceTypes = [
656
656
  "config:AssociateResourceTypes",
@@ -981,6 +981,7 @@ ConfigOperations.PutExternalEvaluation = [
981
981
  /** IAM actions required for the PutOrganizationConfigRule API call. */
982
982
  ConfigOperations.PutOrganizationConfigRule = [
983
983
  "config:PutOrganizationConfigRule",
984
+ "config:TagResource",
984
985
  ];
985
986
  /** IAM actions required for the PutOrganizationConformancePack API call. */
986
987
  ConfigOperations.PutOrganizationConformancePack = [
@@ -1082,7 +1083,7 @@ class ConfigConditions {
1082
1083
  }
1083
1084
  exports.ConfigConditions = ConfigConditions;
1084
1085
  _d = JSII_RTTI_SYMBOL_1;
1085
- ConfigConditions[_d] = { fqn: "@cdk_utils/iam.config.ConfigConditions", version: "1.24.0" };
1086
+ ConfigConditions[_d] = { fqn: "@cdk_utils/iam.config.ConfigConditions", version: "1.25.0" };
1086
1087
  /** Condition keys applicable to the DeleteServiceLinkedConfigurationRecorder action. */
1087
1088
  ConfigConditions.DeleteServiceLinkedConfigurationRecorderConditionKeys = ["config:ConfigurationRecorderServicePrincipal"];
1088
1089
  /** Condition keys applicable to the DescribeConfigurationRecorderStatus action. */
@@ -1150,4 +1151,4 @@ ConfigConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1150
1151
  ConfigConditions.AWS_TAG_KEYS = "aws:TagKeys";
1151
1152
  /** Condition key: config:ConfigurationRecorderServicePrincipal (String) */
1152
1153
  ConfigConditions.CONFIGURATION_RECORDER_SERVICE_PRINCIPAL = "config:ConfigurationRecorderServicePrincipal";
1153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCw2Q0FBNkM7QUFDN0Msb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsYUFBYTs7QUFBMUIsc0NBd1lDOzs7QUF2WUEsOEJBQThCO0FBQ2QsNEJBQWMsR0FBRyxRQUFRLENBQUM7QUFFMUMsNENBQTRDO0FBQzVCLG9DQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLG9EQUFvRDtBQUNwQyw2Q0FBK0IsR0FDOUMsd0NBQXdDLENBQUM7QUFDMUMsMkNBQTJDO0FBQzNCLG9DQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLG9EQUFvRDtBQUNwQyw0Q0FBOEIsR0FDN0MsdUNBQXVDLENBQUM7QUFDekMsc0NBQXNDO0FBQ3RCLDhCQUFnQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELG1EQUFtRDtBQUNuQywyQ0FBNkIsR0FDNUMsc0NBQXNDLENBQUM7QUFDeEMsaURBQWlEO0FBQ2pDLHlDQUEyQixHQUMxQyxvQ0FBb0MsQ0FBQztBQUN0QywyQ0FBMkM7QUFDM0IsbUNBQXFCLEdBQUcsOEJBQThCLENBQUM7QUFDdkUscUNBQXFDO0FBQ3JCLDZCQUFlLEdBQUcsd0JBQXdCLENBQUM7QUFDM0QsMkNBQTJDO0FBQzNCLG1DQUFxQixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLDZDQUE2QztBQUM3QixxQ0FBdUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMzRSxrREFBa0Q7QUFDbEMsMENBQTRCLEdBQzNDLHFDQUFxQyxDQUFDO0FBQ3ZDLHVEQUF1RDtBQUN2QywrQ0FBaUMsR0FDaEQsMENBQTBDLENBQUM7QUFDNUMscURBQXFEO0FBQ3JDLDZDQUErQixHQUM5Qyx3Q0FBd0MsQ0FBQztB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YTtDQUNiLENBQUM7QUFDRiw0REFBNEQ7QUFDNUMsMENBQXlCLEdBQWE7SUFDckQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YscUZBQXFGO0FBQ3JFLG1FQUFrRCxHQUNqRTtJQUNDLDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsOENBQThDO0NBQzlDLENBQUM7QUFDSCw4REFBOEQ7QUFDOUMsNENBQTJCLEdBQWE7SUFDdkQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsK0ZBQStGO0FBQy9FLDZFQUE0RCxHQUMzRTtJQUNDLDBCQUEwQjtJQUMxQixhQUFhO0lBQ2IsOENBQThDO0NBQzlDLENBQUM7QUFDSCwyREFBMkQ7QUFDM0MseUNBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLDJDQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLGdDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLGlDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyw2QkFBWSxHQUFHLGFBQWEsQ0FBQztBQUM3QywyRUFBMkU7QUFDM0QseURBQXdDLEdBQ3ZELDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvY29uZmlnLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBjb25maWcgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbmZpZ0FjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJjb25maWdcIjtcblxuXHQvKiogW1dyaXRlXSBjb25maWc6QXNzb2NpYXRlUmVzb3VyY2VUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUmVzb3VyY2VUeXBlcyA9IFwiY29uZmlnOkFzc29jaWF0ZVJlc291cmNlVHlwZXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6QmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyA9XG5cdFx0XCJjb25maWc6QmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZ1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpCYXRjaEdldFJlc291cmNlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaEdldFJlc291cmNlQ29uZmlnID0gXCJjb25maWc6QmF0Y2hHZXRSZXNvdXJjZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlQWdncmVnYXRpb25BdXRob3JpemF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gPVxuXHRcdFwiY29uZmlnOkRlbGV0ZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlQ29uZmlnUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlnUnVsZSA9IFwiY29uZmlnOkRlbGV0ZUNvbmZpZ1J1bGVcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uQWdncmVnYXRvciA9XG5cdFx0XCJjb25maWc6RGVsZXRlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZUNvbmZpZ3VyYXRpb25SZWNvcmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblJlY29yZGVyID1cblx0XHRcImNvbmZpZzpEZWxldGVDb25maWd1cmF0aW9uUmVjb3JkZXJcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZUNvbmZvcm1hbmNlUGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZm9ybWFuY2VQYWNrID0gXCJjb25maWc6RGVsZXRlQ29uZm9ybWFuY2VQYWNrXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3RvciA9IFwiY29uZmlnOkRlbGV0ZUNvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlRGVsaXZlcnlDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZWxpdmVyeUNoYW5uZWwgPSBcImNvbmZpZzpEZWxldGVEZWxpdmVyeUNoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZUV2YWx1YXRpb25SZXN1bHRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmFsdWF0aW9uUmVzdWx0cyA9IFwiY29uZmlnOkRlbGV0ZUV2YWx1YXRpb25SZXN1bHRzXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlID1cblx0XHRcImNvbmZpZzpEZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayA9XG5cdFx0XCJjb25maWc6RGVsZXRlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0ID1cblx0XHRcImNvbmZpZzpEZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJjb25maWc6RGVsZXRlUmVtZWRpYXRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbWVkaWF0aW9uRXhjZXB0aW9ucyA9XG5cdFx0XCJjb25maWc6RGVsZXRlUmVtZWRpYXRpb25FeGNlcHRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVSZXNvdXJjZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VDb25maWcgPSBcImNvbmZpZzpEZWxldGVSZXNvdXJjZUNvbmZpZ1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlUmV0ZW50aW9uQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmV0ZW50aW9uQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJjb25maWc6RGVsZXRlUmV0ZW50aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlU2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlciA9XG5cdFx0XCJjb25maWc6RGVsZXRlU2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlclwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlU3RvcmVkUXVlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN0b3JlZFF1ZXJ5ID0gXCJjb25maWc6RGVsZXRlU3RvcmVkUXVlcnlcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVsaXZlckNvbmZpZ1NuYXBzaG90ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxpdmVyQ29uZmlnU25hcHNob3QgPSBcImNvbmZpZzpEZWxpdmVyQ29uZmlnU25hcHNob3RcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25maWdSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25maWdSdWxlcyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25maWdSdWxlc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZvcm1hbmNlUGFja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZm9ybWFuY2VQYWNrcyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25mb3JtYW5jZVBhY2tzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlQWdncmVnYXRpb25BdXRob3JpemF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25zID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVDb21wbGlhbmNlQnlDb25maWdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGUgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZUNvbXBsaWFuY2VCeVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXBsaWFuY2VCeVJlc291cmNlID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbXBsaWFuY2VCeVJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQ29uZmlnUnVsZUV2YWx1YXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlnUnVsZUV2YWx1YXRpb25TdGF0dXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlnUnVsZUV2YWx1YXRpb25TdGF0dXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVDb25maWdSdWxlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWdSdWxlcyA9IFwiY29uZmlnOkRlc2NyaWJlQ29uZmlnUnVsZXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvclNvdXJjZXNTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JTb3VyY2VzU3RhdHVzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yU291cmNlc1N0YXR1c1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9ycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvcnMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVyU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1cyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVyc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZSA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja1N0YXR1cyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25mb3JtYW5jZVBhY2tTdGF0dXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVDb25mb3JtYW5jZVBhY2tzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja3MgPSBcImNvbmZpZzpEZXNjcmliZUNvbmZvcm1hbmNlUGFja3NcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGVsaXZlcnlDaGFubmVsU3RhdHVzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbFN0YXR1c1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGVsaXZlcnlDaGFubmVscyA9IFwiY29uZmlnOkRlc2NyaWJlRGVsaXZlcnlDaGFubmVsc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVTdGF0dXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlU3RhdHVzZXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZVN0YXR1c2VzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlcyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrcyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdHMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdHNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25Db25maWd1cmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uRXhjZXB0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25FeGNlcHRpb25zXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25FeGVjdXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVtZWRpYXRpb25FeGVjdXRpb25TdGF0dXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25FeGVjdXRpb25TdGF0dXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9ucyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlcyA9XG5cdFx0XCJjb25maWc6RGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRBZ2dyZWdhdGVDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdncmVnYXRlQ29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGUgPVxuXHRcdFwiY29uZmlnOkdldEFnZ3JlZ2F0ZUNvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldEFnZ3JlZ2F0ZUNvbmZpZ1J1bGVDb21wbGlhbmNlU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdncmVnYXRlQ29uZmlnUnVsZUNvbXBsaWFuY2VTdW1tYXJ5ID1cblx0XHRcImNvbmZpZzpHZXRBZ2dyZWdhdGVDb25maWdSdWxlQ29tcGxpYW5jZVN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0QWdncmVnYXRlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZ3JlZ2F0ZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5ID1cblx0XHRcImNvbmZpZzpHZXRBZ2dyZWdhdGVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZUNvdW50cyA9XG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlQ291bnRzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyA9XG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0Q29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlID1cblx0XHRcImNvbmZpZzpHZXRDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRDb21wbGlhbmNlRGV0YWlsc0J5UmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbXBsaWFuY2VEZXRhaWxzQnlSZXNvdXJjZSA9XG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZURldGFpbHNCeVJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldENvbXBsaWFuY2VTdW1tYXJ5QnlDb25maWdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb21wbGlhbmNlU3VtbWFyeUJ5Q29uZmlnUnVsZSA9XG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZVN1bW1hcnlCeUNvbmZpZ1J1bGVcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZSA9XG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlRGV0YWlscyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZURldGFpbHMgPVxuXHRcdFwiY29uZmlnOkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VEZXRhaWxzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeSA9XG5cdFx0XCJjb25maWc6R2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0Q29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0b3IgPSBcImNvbmZpZzpHZXRDb25uZWN0b3JcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0Q3VzdG9tUnVsZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q3VzdG9tUnVsZVBvbGljeSA9IFwiY29uZmlnOkdldEN1c3RvbVJ1bGVQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0RGlzY292ZXJlZFJlc291cmNlQ291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXREaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMgPVxuXHRcdFwiY29uZmlnOkdldERpc2NvdmVyZWRSZXNvdXJjZUNvdW50c1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRPcmdhbml6YXRpb25Db25maWdSdWxlRGV0YWlsZWRTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVEZXRhaWxlZFN0YXR1cyA9XG5cdFx0XCJjb25maWc6R2V0T3JnYW5pemF0aW9uQ29uZmlnUnVsZURldGFpbGVkU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0RldGFpbGVkU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tEZXRhaWxlZFN0YXR1cyA9XG5cdFx0XCJjb25maWc6R2V0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrRGV0YWlsZWRTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0T3JnYW5pemF0aW9uQ3VzdG9tUnVsZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3JnYW5pemF0aW9uQ3VzdG9tUnVsZVBvbGljeSA9XG5cdFx0XCJjb25maWc6R2V0T3JnYW5pemF0aW9uQ3VzdG9tUnVsZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRSZXNvdXJjZUNvbmZpZ0hpc3RvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlQ29uZmlnSGlzdG9yeSA9XG5cdFx0XCJjb25maWc6R2V0UmVzb3VyY2VDb25maWdIaXN0b3J5XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldFJlc291cmNlRXZhbHVhdGlvblN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlRXZhbHVhdGlvblN1bW1hcnkgPVxuXHRcdFwiY29uZmlnOkdldFJlc291cmNlRXZhbHVhdGlvblN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0U3RvcmVkUXVlcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN0b3JlZFF1ZXJ5ID0gXCJjb25maWc6R2V0U3RvcmVkUXVlcnlcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6TGlzdEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VzID1cblx0XHRcImNvbmZpZzpMaXN0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpMaXN0Q29uZmlndXJhdGlvblJlY29yZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25SZWNvcmRlcnMgPVxuXHRcdFwiY29uZmlnOkxpc3RDb25maWd1cmF0aW9uUmVjb3JkZXJzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkxpc3RDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU2NvcmVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVNjb3JlcyA9XG5cdFx0XCJjb25maWc6TGlzdENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTY29yZXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6TGlzdENvbm5lY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0b3JzID0gXCJjb25maWc6TGlzdENvbm5lY3RvcnNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6TGlzdERpc2NvdmVyZWRSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REaXNjb3ZlcmVkUmVzb3VyY2VzID0gXCJjb25maWc6TGlzdERpc2NvdmVyZWRSZXNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6TGlzdFJlc291cmNlRXZhbHVhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUV2YWx1YXRpb25zID0gXCJjb25maWc6TGlzdFJlc291cmNlRXZhbHVhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6TGlzdFN0b3JlZFF1ZXJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTdG9yZWRRdWVyaWVzID0gXCJjb25maWc6TGlzdFN0b3JlZFF1ZXJpZXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiY29uZmlnOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWdncmVnYXRpb25BdXRob3JpemF0aW9uID1cblx0XHRcImNvbmZpZzpQdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dENvbmZpZ1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ1J1bGUgPSBcImNvbmZpZzpQdXRDb25maWdSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRDb25maWd1cmF0aW9uQWdncmVnYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgPVxuXHRcdFwiY29uZmlnOlB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRDb25maWd1cmF0aW9uUmVjb3JkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyYXRpb25SZWNvcmRlciA9IFwiY29uZmlnOlB1dENvbmZpZ3VyYXRpb25SZWNvcmRlclwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0Q29uZm9ybWFuY2VQYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25mb3JtYW5jZVBhY2sgPSBcImNvbmZpZzpQdXRDb25mb3JtYW5jZVBhY2tcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dENvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29ubmVjdG9yID0gXCJjb25maWc6UHV0Q29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXREZWxpdmVyeUNoYW5uZWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERlbGl2ZXJ5Q2hhbm5lbCA9IFwiY29uZmlnOlB1dERlbGl2ZXJ5Q2hhbm5lbFwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0RXZhbHVhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEV2YWx1YXRpb25zID0gXCJjb25maWc6UHV0RXZhbHVhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dEV4dGVybmFsRXZhbHVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RXh0ZXJuYWxFdmFsdWF0aW9uID0gXCJjb25maWc6UHV0RXh0ZXJuYWxFdmFsdWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRPcmdhbml6YXRpb25Db25maWdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRPcmdhbml6YXRpb25Db25maWdSdWxlID1cblx0XHRcImNvbmZpZzpQdXRPcmdhbml6YXRpb25Db25maWdSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayA9XG5cdFx0XCJjb25maWc6UHV0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zID1cblx0XHRcImNvbmZpZzpQdXRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlbWVkaWF0aW9uRXhjZXB0aW9ucyA9IFwiY29uZmlnOlB1dFJlbWVkaWF0aW9uRXhjZXB0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0UmVzb3VyY2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlQ29uZmlnID0gXCJjb25maWc6UHV0UmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dFJldGVudGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJldGVudGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiY29uZmlnOlB1dFJldGVudGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgPVxuXHRcdFwiY29uZmlnOlB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dFN0b3JlZFF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTdG9yZWRRdWVyeSA9IFwiY29uZmlnOlB1dFN0b3JlZFF1ZXJ5XCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRUaGlyZFBhcnR5U2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgPVxuXHRcdFwiY29uZmlnOlB1dFRoaXJkUGFydHlTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOlNlbGVjdEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBTZWxlY3RBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyA9XG5cdFx0XCJjb25maWc6U2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6U2VsZWN0UmVzb3VyY2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbGVjdFJlc291cmNlQ29uZmlnID0gXCJjb25maWc6U2VsZWN0UmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlN0YXJ0Q29uZmlnUnVsZXNFdmFsdWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ1J1bGVzRXZhbHVhdGlvbiA9XG5cdFx0XCJjb25maWc6U3RhcnRDb25maWdSdWxlc0V2YWx1YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlN0YXJ0Q29uZmlndXJhdGlvblJlY29yZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ3VyYXRpb25SZWNvcmRlciA9XG5cdFx0XCJjb25maWc6U3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXJcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb24gPVxuXHRcdFwiY29uZmlnOlN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlN0YXJ0UmVzb3VyY2VFdmFsdWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlRXZhbHVhdGlvbiA9IFwiY29uZmlnOlN0YXJ0UmVzb3VyY2VFdmFsdWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpTdG9wQ29uZmlndXJhdGlvblJlY29yZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBTdG9wQ29uZmlndXJhdGlvblJlY29yZGVyID1cblx0XHRcImNvbmZpZzpTdG9wQ29uZmlndXJhdGlvblJlY29yZGVyXCI7XG5cdC8qKiBbVGFnZ2luZ10gY29uZmlnOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiY29uZmlnOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gY29uZmlnOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImNvbmZpZzpVbnRhZ1Jlc291cmNlXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q29uZmlnQWN0aW9ucy5CYXRjaEdldEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnLFxuXHRcdENvbmZpZ0FjdGlvbnMuQmF0Y2hHZXRSZXNvdXJjZUNvbmZpZyxcblx0XHRDb25maWdBY3Rpb25zLkRlbGl2ZXJDb25maWdTbmFwc2hvdCxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZvcm1hbmNlUGFja3MsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGUsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbXBsaWFuY2VCeVJlc291cmNlLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb25maWdSdWxlRXZhbHVhdGlvblN0YXR1cyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JTb3VyY2VzU3RhdHVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJTdGF0dXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2UsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZvcm1hbmNlUGFja1N0YXR1cyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlRGVsaXZlcnlDaGFubmVsU3RhdHVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlU3RhdHVzZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1N0YXR1c2VzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVSZW1lZGlhdGlvbkV4ZWN1dGlvblN0YXR1cyxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldEFnZ3JlZ2F0ZUNvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0QWdncmVnYXRlQ29uZmlnUnVsZUNvbXBsaWFuY2VTdW1tYXJ5LFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0QWdncmVnYXRlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnksXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldENvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0Q29tcGxpYW5jZURldGFpbHNCeVJlc291cmNlLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0Q29tcGxpYW5jZVN1bW1hcnlCeUNvbmZpZ1J1bGUsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRDb21wbGlhbmNlU3VtbWFyeUJ5UmVzb3VyY2VUeXBlLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZURldGFpbHMsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rvcixcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldEN1c3RvbVJ1bGVQb2xpY3ksXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXREaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRPcmdhbml6YXRpb25Db25maWdSdWxlRGV0YWlsZWRTdGF0dXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tEZXRhaWxlZFN0YXR1cyxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldE9yZ2FuaXphdGlvbkN1c3RvbVJ1bGVQb2xpY3ksXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZUNvbmZpZ0hpc3RvcnksXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZUV2YWx1YXRpb25TdW1tYXJ5LFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0U3RvcmVkUXVlcnksXG5cdFx0Q29uZmlnQWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdENvbmZpZ0FjdGlvbnMuU2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWcsXG5cdFx0Q29uZmlnQWN0aW9ucy5TZWxlY3RSZXNvdXJjZUNvbmZpZyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb25maWdBY3Rpb25zLkFzc29jaWF0ZVJlc291cmNlVHlwZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24sXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVDb25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVDb25maWd1cmF0aW9uUmVjb3JkZXIsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVDb25mb3JtYW5jZVBhY2ssXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVDb25uZWN0b3IsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVEZWxpdmVyeUNoYW5uZWwsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVFdmFsdWF0aW9uUmVzdWx0cyxcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2ssXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0LFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlUmVtZWRpYXRpb25Db25maWd1cmF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlUmVtZWRpYXRpb25FeGNlcHRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlUmVzb3VyY2VDb25maWcsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVSZXRlbnRpb25Db25maWd1cmF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlU2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlcixcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZVN0b3JlZFF1ZXJ5LFxuXHRcdENvbmZpZ0FjdGlvbnMuRGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlcyxcblx0XHRDb25maWdBY3Rpb25zLlB1dEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbixcblx0XHRDb25maWdBY3Rpb25zLlB1dENvbmZpZ1J1bGUsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRDb25maWd1cmF0aW9uQWdncmVnYXRvcixcblx0XHRDb25maWdBY3Rpb25zLlB1dENvbmZpZ3VyYXRpb25SZWNvcmRlcixcblx0XHRDb25maWdBY3Rpb25zLlB1dENvbmZvcm1hbmNlUGFjayxcblx0XHRDb25maWdBY3Rpb25zLlB1dENvbm5lY3Rvcixcblx0XHRDb25maWdBY3Rpb25zLlB1dERlbGl2ZXJ5Q2hhbm5lbCxcblx0XHRDb25maWdBY3Rpb25zLlB1dEV2YWx1YXRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0RXh0ZXJuYWxFdmFsdWF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0T3JnYW5pemF0aW9uQ29uZmlnUnVsZSxcblx0XHRDb25maWdBY3Rpb25zLlB1dE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayxcblx0XHRDb25maWdBY3Rpb25zLlB1dFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRSZW1lZGlhdGlvbkV4Y2VwdGlvbnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRSZXNvdXJjZUNvbmZpZyxcblx0XHRDb25maWdBY3Rpb25zLlB1dFJldGVudGlvbkNvbmZpZ3VyYXRpb24sXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0U3RvcmVkUXVlcnksXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRUaGlyZFBhcnR5U2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlcixcblx0XHRDb25maWdBY3Rpb25zLlN0YXJ0Q29uZmlnUnVsZXNFdmFsdWF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuU3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXIsXG5cdFx0Q29uZmlnQWN0aW9ucy5TdGFydFJlbWVkaWF0aW9uRXhlY3V0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuU3RhcnRSZXNvdXJjZUV2YWx1YXRpb24sXG5cdFx0Q29uZmlnQWN0aW9ucy5TdG9wQ29uZmlndXJhdGlvblJlY29yZGVyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQWdncmVnYXRpb25BdXRob3JpemF0aW9ucyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQ29uZmlnUnVsZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9ycyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrcyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlRGVsaXZlcnlDaGFubmVscyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja3MsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZVBlbmRpbmdBZ2dyZWdhdGlvblJlcXVlc3RzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZVJldGVudGlvbkNvbmZpZ3VyYXRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuTGlzdEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5MaXN0Q29uZmlndXJhdGlvblJlY29yZGVycyxcblx0XHRDb25maWdBY3Rpb25zLkxpc3RDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU2NvcmVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuTGlzdENvbm5lY3RvcnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5MaXN0RGlzY292ZXJlZFJlc291cmNlcyxcblx0XHRDb25maWdBY3Rpb25zLkxpc3RSZXNvdXJjZUV2YWx1YXRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuTGlzdFN0b3JlZFF1ZXJpZXMsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvbmZpZ0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0Q29uZmlnQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQWdncmVnYXRpb25BdXRob3JpemF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdncmVnYXRvckFjY291bnQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JBY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdncmVnYXRvclJlZ2lvbiBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYWdncmVnYXRvclJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBZ2dyZWdhdG9yQWNjb3VudCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JBY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdncmVnYXRvclJlZ2lvbiBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JSZWdpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbmZpZ1J1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0NvbmZpZ1J1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29uZmlnUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25maWdSdWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25maWdSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25maWdSdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25maWdSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25maWdSdWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25maWd1cmF0aW9uQWdncmVnYXRvckFyblByb3BzIHtcblx0LyoqIFRoZSBBZ2dyZWdhdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25maWd1cmF0aW9uQWdncmVnYXRvckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdncmVnYXRvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYWdncmVnYXRvcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25maWd1cmF0aW9uUmVjb3JkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0NvbmZpZ3VyYXRpb25SZWNvcmRlckFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvcmRlck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29yZGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29yZGVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29yZGVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25maWd1cmF0aW9uUmVjb3JkZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0NvbmZpZ3VyYXRpb25SZWNvcmRlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb3JkZXJOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb3JkZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb3JkZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29yZGVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbmZvcm1hbmNlUGFjayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQ29uZm9ybWFuY2VQYWNrQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbmZvcm1hbmNlUGFja05hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZvcm1hbmNlUGFja05hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25mb3JtYW5jZVBhY2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZm9ybWFuY2VQYWNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25mb3JtYW5jZVBhY2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0NvbmZvcm1hbmNlUGFja0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZm9ybWFuY2VQYWNrTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZvcm1hbmNlUGFja05hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25mb3JtYW5jZVBhY2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZvcm1hbmNlUGFja0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0Nvbm5lY3RvckFyblByb3BzIHtcblx0LyoqIFRoZSBQcm92aWRlciBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvdmlkZXI6IHN0cmluZztcblx0LyoqIFRoZSBQcm92aWRlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm92aWRlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdG9ySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25uZWN0b3JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb3ZpZGVyIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvdmlkZXI6IHN0cmluZztcblx0LyoqIFRoZSBQcm92aWRlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcHJvdmlkZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3RvcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ09yZ2FuaXphdGlvbkNvbmZpZ1J1bGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgT3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvcmdhbml6YXRpb25Db25maWdSdWxlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcmdhbml6YXRpb25Db25maWdSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdPcmdhbml6YXRpb25Db25maWdSdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPcmdhbml6YXRpb25Db25maWdSdWxlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcmdhbml6YXRpb25Db25maWdSdWxlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuUHJvcHMge1xuXHQvKiogVGhlIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0lkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1JlbWVkaWF0aW9uQ29uZmlndXJhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVtZWRpYXRpb25Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1JlbWVkaWF0aW9uQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgU3RvcmVkUXVlcnkgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ1N0b3JlZFF1ZXJ5QXJuUHJvcHMge1xuXHQvKiogVGhlIFN0b3JlZFF1ZXJ5TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3RvcmVkUXVlcnlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RvcmVkUXVlcnlJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3RvcmVkUXVlcnlJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFN0b3JlZFF1ZXJ5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdTdG9yZWRRdWVyeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RvcmVkUXVlcnlOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3RvcmVkUXVlcnlOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgU3RvcmVkUXVlcnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0b3JlZFF1ZXJ5SWQ6IHN0cmluZztcbn1cblxuY29uc3QgQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFnZ3JlZ2F0aW9uLWF1dGhvcml6YXRpb25cXC8oPzxhZ2dyZWdhdG9yQWNjb3VudD5bXjovP10rKVxcLyg/PGFnZ3JlZ2F0b3JSZWdpb24+W146Lz9dKykkLztcbmNvbnN0IENvbmZpZ1J1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZmlnLXJ1bGVcXC8oPzxjb25maWdSdWxlSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZy1hZ2dyZWdhdG9yXFwvKD88YWdncmVnYXRvcklkPlteOi8/XSspJC87XG5jb25zdCBDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZmlndXJhdGlvbi1yZWNvcmRlclxcLyg/PHJlY29yZGVyTmFtZT5bXjovP10rKVxcLyg/PHJlY29yZGVySWQ+W146Lz9dKykkLztcbmNvbnN0IENvbmZvcm1hbmNlUGFja0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb25maWc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25mb3JtYW5jZS1wYWNrXFwvKD88Y29uZm9ybWFuY2VQYWNrTmFtZT5bXjovP10rKVxcLyg/PGNvbmZvcm1hbmNlUGFja0lkPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0b3JBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdG9yXFwvKD88cHJvdmlkZXI+W146Lz9dKylcXC8oPzxwcm92aWRlcklkPlteOi8/XSspXFwvKD88Y29ubmVjdG9ySWQ+W146Lz9dKykkLztcbmNvbnN0IE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3JnYW5pemF0aW9uLWNvbmZpZy1ydWxlXFwvKD88b3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkPlteOi8/XSspJC87XG5jb25zdCBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3JnYW5pemF0aW9uLWNvbmZvcm1hbmNlLXBhY2tcXC8oPzxvcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZD5bXjovP10rKSQvO1xuY29uc3QgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlbWVkaWF0aW9uLWNvbmZpZ3VyYXRpb25cXC8oPzxyZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgU3RvcmVkUXVlcnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3RvcmVkLXF1ZXJ5XFwvKD88c3RvcmVkUXVlcnlOYW1lPlteOi8/XSspXFwvKD88c3RvcmVkUXVlcnlJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGNvbmZpZyByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWdSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24oXG5cdFx0cHJvcHM6IENvbmZpZ0FnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbmZpZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphZ2dyZWdhdGlvbi1hdXRob3JpemF0aW9uLyR7cHJvcHMuYWdncmVnYXRvckFjY291bnR9LyR7cHJvcHMuYWdncmVnYXRvclJlZ2lvbn1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQWdncmVnYXRpb25BdXRob3JpemF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbmZpZ0FnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2dyZWdhdG9yQWNjb3VudDogbWF0Y2guZ3JvdXBzIS5hZ2dyZWdhdG9yQWNjb3VudCxcblx0XHRcdGFnZ3JlZ2F0b3JSZWdpb246IG1hdGNoLmdyb3VwcyEuYWdncmVnYXRvclJlZ2lvbixcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25maWdSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ1J1bGUocHJvcHM6IENvbmZpZ0NvbmZpZ1J1bGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZy1ydWxlLyR7cHJvcHMuY29uZmlnUnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25maWdSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25maWdSdWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ1J1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29uZmlnUnVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25maWdSdWxlQXJuKGFybjogc3RyaW5nKTogQ29uZmlnQ29uZmlnUnVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlnUnVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25maWdSdWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbmZpZ1J1bGVJZDogbWF0Y2guZ3JvdXBzIS5jb25maWdSdWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IoXG5cdFx0cHJvcHM6IENvbmZpZ0NvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZy1hZ2dyZWdhdG9yLyR7cHJvcHMuYWdncmVnYXRvcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25maWd1cmF0aW9uQWdncmVnYXRvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbmZpZ0NvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25maWd1cmF0aW9uQWdncmVnYXRvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25maWd1cmF0aW9uQWdncmVnYXRvciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhZ2dyZWdhdG9ySWQ6IG1hdGNoLmdyb3VwcyEuYWdncmVnYXRvcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25SZWNvcmRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmF0aW9uUmVjb3JkZXIoXG5cdFx0cHJvcHM6IENvbmZpZ0NvbmZpZ3VyYXRpb25SZWNvcmRlckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbmZpZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLXJlY29yZGVyLyR7cHJvcHMucmVjb3JkZXJOYW1lfS8ke3Byb3BzLnJlY29yZGVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25SZWNvcmRlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlndXJhdGlvblJlY29yZGVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb25SZWNvcmRlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25maWd1cmF0aW9uUmVjb3JkZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlndXJhdGlvblJlY29yZGVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb25maWdDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ3VyYXRpb25SZWNvcmRlckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25maWd1cmF0aW9uUmVjb3JkZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVjb3JkZXJOYW1lOiBtYXRjaC5ncm91cHMhLnJlY29yZGVyTmFtZSxcblx0XHRcdHJlY29yZGVySWQ6IG1hdGNoLmdyb3VwcyEucmVjb3JkZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25mb3JtYW5jZVBhY2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZm9ybWFuY2VQYWNrKHByb3BzOiBDb25maWdDb25mb3JtYW5jZVBhY2tBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZvcm1hbmNlLXBhY2svJHtwcm9wcy5jb25mb3JtYW5jZVBhY2tOYW1lfS8ke3Byb3BzLmNvbmZvcm1hbmNlUGFja0lkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25mb3JtYW5jZVBhY2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZvcm1hbmNlUGFja0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25mb3JtYW5jZVBhY2tBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29uZm9ybWFuY2VQYWNrIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZvcm1hbmNlUGFja0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29uZmlnQ29uZm9ybWFuY2VQYWNrQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25mb3JtYW5jZVBhY2tBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29uZm9ybWFuY2VQYWNrIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbmZvcm1hbmNlUGFja05hbWU6IG1hdGNoLmdyb3VwcyEuY29uZm9ybWFuY2VQYWNrTmFtZSxcblx0XHRcdGNvbmZvcm1hbmNlUGFja0lkOiBtYXRjaC5ncm91cHMhLmNvbmZvcm1hbmNlUGFja0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbm5lY3RvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0b3IocHJvcHM6IENvbmZpZ0Nvbm5lY3RvckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdG9yLyR7cHJvcHMucHJvdmlkZXJ9LyR7cHJvcHMucHJvdmlkZXJJZH0vJHtwcm9wcy5jb25uZWN0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29ubmVjdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0b3JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdG9yQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbm5lY3RvciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0b3JBcm4oYXJuOiBzdHJpbmcpOiBDb25maWdDb25uZWN0b3JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3RvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25uZWN0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cHJvdmlkZXI6IG1hdGNoLmdyb3VwcyEucHJvdmlkZXIsXG5cdFx0XHRwcm92aWRlcklkOiBtYXRjaC5ncm91cHMhLnByb3ZpZGVySWQsXG5cdFx0XHRjb25uZWN0b3JJZDogbWF0Y2guZ3JvdXBzIS5jb25uZWN0b3JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcmdhbml6YXRpb25Db25maWdSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUoXG5cdFx0cHJvcHM6IENvbmZpZ09yZ2FuaXphdGlvbkNvbmZpZ1J1bGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b3JnYW5pemF0aW9uLWNvbmZpZy1ydWxlLyR7cHJvcHMub3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcmdhbml6YXRpb25Db25maWdSdWxlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcmdhbml6YXRpb25Db25maWdSdWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3JnYW5pemF0aW9uQ29uZmlnUnVsZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcmdhbml6YXRpb25Db25maWdSdWxlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb25maWdPcmdhbml6YXRpb25Db25maWdSdWxlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcmdhbml6YXRpb25Db25maWdSdWxlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkOiBtYXRjaC5ncm91cHMhLm9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgb3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrKFxuXHRcdHByb3BzOiBDb25maWdPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b3JnYW5pemF0aW9uLWNvbmZvcm1hbmNlLXBhY2svJHtwcm9wcy5vcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbmZpZ09yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRvcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZDpcblx0XHRcdFx0bWF0Y2guZ3JvdXBzIS5vcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVtZWRpYXRpb25Db25maWd1cmF0aW9uKFxuXHRcdHByb3BzOiBDb25maWdSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVtZWRpYXRpb24tY29uZmlndXJhdGlvbi8ke3Byb3BzLnJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29uZmlnUmVtZWRpYXRpb25Db25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLnJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFN0b3JlZFF1ZXJ5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN0b3JlZFF1ZXJ5KHByb3BzOiBDb25maWdTdG9yZWRRdWVyeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c3RvcmVkLXF1ZXJ5LyR7cHJvcHMuc3RvcmVkUXVlcnlOYW1lfS8ke3Byb3BzLnN0b3JlZFF1ZXJ5SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFN0b3JlZFF1ZXJ5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTdG9yZWRRdWVyeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTdG9yZWRRdWVyeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTdG9yZWRRdWVyeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTdG9yZWRRdWVyeUFybihhcm46IHN0cmluZyk6IENvbmZpZ1N0b3JlZFF1ZXJ5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTdG9yZWRRdWVyeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTdG9yZWRRdWVyeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzdG9yZWRRdWVyeU5hbWU6IG1hdGNoLmdyb3VwcyEuc3RvcmVkUXVlcnlOYW1lLFxuXHRcdFx0c3RvcmVkUXVlcnlJZDogbWF0Y2guZ3JvdXBzIS5zdG9yZWRRdWVyeUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGNvbmZpZy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbmZpZ09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVSZXNvdXJjZVR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUmVzb3VyY2VUeXBlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6QXNzb2NpYXRlUmVzb3VyY2VUeXBlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6QmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBCYXRjaEdldFJlc291cmNlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6QmF0Y2hHZXRSZXNvdXJjZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25maWdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlnUnVsZTogc3RyaW5nW10gPSBbXCJjb25maWc6RGVsZXRlQ29uZmlnUnVsZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uQWdncmVnYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvblJlY29yZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblJlY29yZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZm9ybWFuY2VQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZm9ybWFuY2VQYWNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVDb25mb3JtYW5jZVBhY2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcImNvbmZpZzpEZWxldGVDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURlbGl2ZXJ5Q2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlbGl2ZXJ5Q2hhbm5lbDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlRGVsaXZlcnlDaGFubmVsXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2YWx1YXRpb25SZXN1bHRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZhbHVhdGlvblJlc3VsdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZUV2YWx1YXRpb25SZXN1bHRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBlbmRpbmdBZ2dyZWdhdGlvblJlcXVlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlUmVtZWRpYXRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlbWVkaWF0aW9uRXhjZXB0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlbWVkaWF0aW9uRXhjZXB0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlUmVtZWRpYXRpb25FeGNlcHRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZVJlc291cmNlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJldGVudGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXRlbnRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVSZXRlbnRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVN0b3JlZFF1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3RvcmVkUXVlcnk6IHN0cmluZ1tdID0gW1wiY29uZmlnOkRlbGV0ZVN0b3JlZFF1ZXJ5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxpdmVyQ29uZmlnU25hcHNob3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxpdmVyQ29uZmlnU25hcHNob3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGl2ZXJDb25maWdTbmFwc2hvdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25maWdSdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25maWdSdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZvcm1hbmNlUGFja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZvcm1hbmNlUGFja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZm9ybWFuY2VQYWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQWdncmVnYXRpb25BdXRob3JpemF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbXBsaWFuY2VCeVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ1J1bGVFdmFsdWF0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWdSdWxlRXZhbHVhdGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWdSdWxlRXZhbHVhdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWdSdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWdSdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yU291cmNlc1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JTb3VyY2VzU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yU291cmNlc1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVyU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZm9ybWFuY2VQYWNrU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZvcm1hbmNlUGFja1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbFN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRGVsaXZlcnlDaGFubmVsU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbFN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlRGVsaXZlcnlDaGFubmVsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVTdGF0dXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZVN0YXR1c2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVTdGF0dXNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1N0YXR1c2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja3M6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBlbmRpbmdBZ2dyZWdhdGlvblJlcXVlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25Db25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlbWVkaWF0aW9uRXhjZXB0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVtZWRpYXRpb25FeGNlcHRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uRXhjZXB0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlbWVkaWF0aW9uRXhlY3V0aW9uU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZW1lZGlhdGlvbkV4ZWN1dGlvblN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVSZW1lZGlhdGlvbkV4ZWN1dGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJldGVudGlvbkNvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVSZXNvdXJjZVR5cGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2dyZWdhdGVDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdncmVnYXRlQ29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldEFnZ3JlZ2F0ZUNvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZ3JlZ2F0ZUNvbmZpZ1J1bGVDb21wbGlhbmNlU3VtbWFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdncmVnYXRlQ29uZmlnUnVsZUNvbXBsaWFuY2VTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRBZ2dyZWdhdGVDb25maWdSdWxlQ29tcGxpYW5jZVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdncmVnYXRlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZ3JlZ2F0ZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRBZ2dyZWdhdGVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZUNvdW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlQ291bnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb21wbGlhbmNlRGV0YWlsc0J5UmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbXBsaWFuY2VEZXRhaWxzQnlSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZURldGFpbHNCeVJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbXBsaWFuY2VTdW1tYXJ5QnlDb25maWdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb21wbGlhbmNlU3VtbWFyeUJ5Q29uZmlnUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZVN1bW1hcnlCeUNvbmZpZ1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlRGV0YWlscyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZURldGFpbHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VEZXRhaWxzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1wiY29uZmlnOkdldENvbm5lY3RvclwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q3VzdG9tUnVsZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q3VzdG9tUnVsZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q3VzdG9tUnVsZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXREaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldERpc2NvdmVyZWRSZXNvdXJjZUNvdW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0RGlzY292ZXJlZFJlc291cmNlQ291bnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVEZXRhaWxlZFN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3JnYW5pemF0aW9uQ29uZmlnUnVsZURldGFpbGVkU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRPcmdhbml6YXRpb25Db25maWdSdWxlRGV0YWlsZWRTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrRGV0YWlsZWRTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0RldGFpbGVkU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tEZXRhaWxlZFN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcmdhbml6YXRpb25DdXN0b21SdWxlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcmdhbml6YXRpb25DdXN0b21SdWxlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRPcmdhbml6YXRpb25DdXN0b21SdWxlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlQ29uZmlnSGlzdG9yeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VDb25maWdIaXN0b3J5OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRSZXNvdXJjZUNvbmZpZ0hpc3RvcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VFdmFsdWF0aW9uU3VtbWFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VFdmFsdWF0aW9uU3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0UmVzb3VyY2VFdmFsdWF0aW9uU3VtbWFyeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTdG9yZWRRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0U3RvcmVkUXVlcnk6IHN0cmluZ1tdID0gW1wiY29uZmlnOkdldFN0b3JlZFF1ZXJ5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpMaXN0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29uZmlndXJhdGlvblJlY29yZGVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uUmVjb3JkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpMaXN0Q29uZmlndXJhdGlvblJlY29yZGVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVNjb3JlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU2NvcmVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpMaXN0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVNjb3Jlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q29ubmVjdG9ycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0b3JzOiBzdHJpbmdbXSA9IFtcImNvbmZpZzpMaXN0Q29ubmVjdG9yc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERpc2NvdmVyZWRSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGlzY292ZXJlZFJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6TGlzdERpc2NvdmVyZWRSZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlRXZhbHVhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VFdmFsdWF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6TGlzdFJlc291cmNlRXZhbHVhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN0b3JlZFF1ZXJpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RvcmVkUXVlcmllczogc3RyaW5nW10gPSBbXCJjb25maWc6TGlzdFN0b3JlZFF1ZXJpZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6UHV0QWdncmVnYXRpb25BdXRob3JpemF0aW9uXCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Q29uZmlnUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlB1dENvbmZpZ1J1bGVcIixcblx0XHRcImNvbmZpZzpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRDb25maWd1cmF0aW9uQWdncmVnYXRvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29uZmlnOlB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yXCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Q29uZmlndXJhdGlvblJlY29yZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29uZmlndXJhdGlvblJlY29yZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29uZmlnOlB1dENvbmZpZ3VyYXRpb25SZWNvcmRlclwiLFxuXHRcdFwiY29uZmlnOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dENvbmZvcm1hbmNlUGFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZvcm1hbmNlUGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbmZpZzpQdXRDb25mb3JtYW5jZVBhY2tcIixcblx0XHRcImNvbmZpZzpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlB1dENvbm5lY3RvclwiLFxuXHRcdFwiY29uZmlnOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dERlbGl2ZXJ5Q2hhbm5lbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERlbGl2ZXJ5Q2hhbm5lbDogc3RyaW5nW10gPSBbXCJjb25maWc6UHV0RGVsaXZlcnlDaGFubmVsXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRFdmFsdWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEV2YWx1YXRpb25zOiBzdHJpbmdbXSA9IFtcImNvbmZpZzpQdXRFdmFsdWF0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RXh0ZXJuYWxFdmFsdWF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RXh0ZXJuYWxFdmFsdWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRFeHRlcm5hbEV2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0T3JnYW5pemF0aW9uQ29uZmlnUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlB1dE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29uZmlnOlB1dE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1wiLFxuXHRcdFwiY29uZmlnOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29uZmlnOlB1dFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVtZWRpYXRpb25FeGNlcHRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVtZWRpYXRpb25FeGNlcHRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRSZW1lZGlhdGlvbkV4Y2VwdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXCJjb25maWc6UHV0UmVzb3VyY2VDb25maWdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJldGVudGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFN0b3JlZFF1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3RvcmVkUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlB1dFN0b3JlZFF1ZXJ5XCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUaGlyZFBhcnR5U2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29ubmVjdG9yXCIsXG5cdFx0XCJjb25maWc6UHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWxlY3RBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VsZWN0UmVzb3VyY2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWxlY3RSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U2VsZWN0UmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDb25maWdSdWxlc0V2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ1J1bGVzRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U3RhcnRDb25maWdSdWxlc0V2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZW1lZGlhdGlvbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXNvdXJjZUV2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U3RhcnRSZXNvdXJjZUV2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcENvbmZpZ3VyYXRpb25SZWNvcmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BDb25maWd1cmF0aW9uUmVjb3JkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlN0b3BDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjb25maWc6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImNvbmZpZzpVbnRhZ1Jlc291cmNlXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgY29uZmlnLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlnQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWdncmVnYXRpb25BdXRob3JpemF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb25maWdSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ1J1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb25maWd1cmF0aW9uUmVjb3JkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29uZmlndXJhdGlvblJlY29yZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0U3RvcmVkUXVlcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3RvcmVkUXVlcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dFRoaXJkUGFydHlTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRoaXJkUGFydHlTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XHRcImNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDT05GSUdVUkFUSU9OX1JFQ09SREVSX1NFUlZJQ0VfUFJJTkNJUEFMID1cblx0XHRcImNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsYC5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG59XG4iXX0=
1154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCw2Q0FBNkM7QUFDN0Msb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsYUFBYTs7QUFBMUIsc0NBd1lDOzs7QUF2WUEsOEJBQThCO0FBQ2QsNEJBQWMsR0FBRyxRQUFRLENBQUM7QUFFMUMsNENBQTRDO0FBQzVCLG9DQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLG9EQUFvRDtBQUNwQyw2Q0FBK0IsR0FDOUMsd0NBQXdDLENBQUM7QUFDMUMsMkNBQTJDO0FBQzNCLG9DQUFzQixHQUFHLCtCQUErQixDQUFDO0FBQ3pFLG9EQUFvRDtBQUNwQyw0Q0FBOEIsR0FDN0MsdUNBQXVDLENBQUM7QUFDekMsc0NBQXNDO0FBQ3RCLDhCQUFnQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELG1EQUFtRDtBQUNuQywyQ0FBNkIsR0FDNUMsc0NBQXNDLENBQUM7QUFDeEMsaURBQWlEO0FBQ2pDLHlDQUEyQixHQUMxQyxvQ0FBb0MsQ0FBQztBQUN0QywyQ0FBMkM7QUFDM0IsbUNBQXFCLEdBQUcsOEJBQThCLENBQUM7QUFDdkUscUNBQXFDO0FBQ3JCLDZCQUFlLEdBQUcsd0JBQXdCLENBQUM7QUFDM0QsMkNBQTJDO0FBQzNCLG1DQUFxQixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLDZDQUE2QztBQUM3QixxQ0FBdUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMzRSxrREFBa0Q7QUFDbEMsMENBQTRCLEdBQzNDLHFDQUFxQyxDQUFDO0FBQ3ZDLHVEQUF1RDtBQUN2QywrQ0FBaUMsR0FDaEQsMENBQTBDLENBQUM7QUFDNUMscURBQXFEO0FBQ3JDLDZDQUErQixHQUM5Qyx3Q0FBd0MsQ0FBQztB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QTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNERBQTREO0FBQzVDLDBDQUF5QixHQUFhO0lBQ3JELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHFGQUFxRjtBQUNyRSxtRUFBa0QsR0FDakU7SUFDQywwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDhDQUE4QztDQUM5QyxDQUFDO0FBQ0gsOERBQThEO0FBQzlDLDRDQUEyQixHQUFhO0lBQ3ZELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLCtGQUErRjtBQUMvRSw2RUFBNEQsR0FDM0U7SUFDQywwQkFBMEI7SUFDMUIsYUFBYTtJQUNiLDhDQUE4QztDQUM5QyxDQUFDO0FBQ0gsMkRBQTJEO0FBQzNDLHlDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QywyQ0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxnQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxpQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsNkJBQVksR0FBRyxhQUFhLENBQUM7QUFDN0MsMkVBQTJFO0FBQzNELHlEQUF3QyxHQUN2RCw4Q0FBOEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2NvbmZpZy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgY29uZmlnIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWdBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiY29uZmlnXCI7XG5cblx0LyoqIFtXcml0ZV0gY29uZmlnOkFzc29jaWF0ZVJlc291cmNlVHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVJlc291cmNlVHlwZXMgPSBcImNvbmZpZzpBc3NvY2lhdGVSZXNvdXJjZVR5cGVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkJhdGNoR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWcgPVxuXHRcdFwiY29uZmlnOkJhdGNoR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6QmF0Y2hHZXRSZXNvdXJjZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQmF0Y2hHZXRSZXNvdXJjZUNvbmZpZyA9IFwiY29uZmlnOkJhdGNoR2V0UmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdncmVnYXRpb25BdXRob3JpemF0aW9uID1cblx0XHRcImNvbmZpZzpEZWxldGVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZUNvbmZpZ1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ1J1bGUgPSBcImNvbmZpZzpEZWxldGVDb25maWdSdWxlXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVDb25maWd1cmF0aW9uQWdncmVnYXRvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgPVxuXHRcdFwiY29uZmlnOkRlbGV0ZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVDb25maWd1cmF0aW9uUmVjb3JkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25SZWNvcmRlciA9XG5cdFx0XCJjb25maWc6RGVsZXRlQ29uZmlndXJhdGlvblJlY29yZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVDb25mb3JtYW5jZVBhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZvcm1hbmNlUGFjayA9IFwiY29uZmlnOkRlbGV0ZUNvbmZvcm1hbmNlUGFja1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0b3IgPSBcImNvbmZpZzpEZWxldGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZURlbGl2ZXJ5Q2hhbm5lbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVsaXZlcnlDaGFubmVsID0gXCJjb25maWc6RGVsZXRlRGVsaXZlcnlDaGFubmVsXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpEZWxldGVFdmFsdWF0aW9uUmVzdWx0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZhbHVhdGlvblJlc3VsdHMgPSBcImNvbmZpZzpEZWxldGVFdmFsdWF0aW9uUmVzdWx0c1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlT3JnYW5pemF0aW9uQ29uZmlnUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3JnYW5pemF0aW9uQ29uZmlnUnVsZSA9XG5cdFx0XCJjb25maWc6RGVsZXRlT3JnYW5pemF0aW9uQ29uZmlnUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgPVxuXHRcdFwiY29uZmlnOkRlbGV0ZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdCA9XG5cdFx0XCJjb25maWc6RGVsZXRlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdFwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlUmVtZWRpYXRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiY29uZmlnOkRlbGV0ZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlUmVtZWRpYXRpb25FeGNlcHRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgPVxuXHRcdFwiY29uZmlnOkRlbGV0ZVJlbWVkaWF0aW9uRXhjZXB0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6RGVsZXRlUmVzb3VyY2VDb25maWcgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlQ29uZmlnID0gXCJjb25maWc6RGVsZXRlUmVzb3VyY2VDb25maWdcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZVJldGVudGlvbkNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJldGVudGlvbkNvbmZpZ3VyYXRpb24gPVxuXHRcdFwiY29uZmlnOkRlbGV0ZVJldGVudGlvbkNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgPVxuXHRcdFwiY29uZmlnOkRlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRlbGV0ZVN0b3JlZFF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTdG9yZWRRdWVyeSA9IFwiY29uZmlnOkRlbGV0ZVN0b3JlZFF1ZXJ5XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlbGl2ZXJDb25maWdTbmFwc2hvdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsaXZlckNvbmZpZ1NuYXBzaG90ID0gXCJjb25maWc6RGVsaXZlckNvbmZpZ1NuYXBzaG90XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25mb3JtYW5jZVBhY2tzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZvcm1hbmNlUGFja3MgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZm9ybWFuY2VQYWNrc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWdncmVnYXRpb25BdXRob3JpemF0aW9ucyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wbGlhbmNlQnlDb25maWdSdWxlID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGVcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZSA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZUNvbmZpZ1J1bGVFdmFsdWF0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ1J1bGVFdmFsdWF0aW9uU3RhdHVzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ1J1bGVFdmFsdWF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlQ29uZmlnUnVsZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlnUnVsZXMgPSBcImNvbmZpZzpEZXNjcmliZUNvbmZpZ1J1bGVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JTb3VyY2VzU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yU291cmNlc1N0YXR1cyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvclNvdXJjZXNTdGF0dXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJTdGF0dXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVyU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2UgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZUNvbmZvcm1hbmNlUGFja1N0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tTdGF0dXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrU3RhdHVzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlQ29uZm9ybWFuY2VQYWNrcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tzID0gXCJjb25maWc6RGVzY3JpYmVDb25mb3JtYW5jZVBhY2tzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlRGVsaXZlcnlDaGFubmVsU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbFN0YXR1cyA9XG5cdFx0XCJjb25maWc6RGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxTdGF0dXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHMgPSBcImNvbmZpZzpEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlU3RhdHVzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZVN0YXR1c2VzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVTdGF0dXNlc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrU3RhdHVzZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrU3RhdHVzZXMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrU3RhdHVzZXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja3MgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpEZXNjcmliZVBlbmRpbmdBZ2dyZWdhdGlvblJlcXVlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBlbmRpbmdBZ2dyZWdhdGlvblJlcXVlc3RzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZVBlbmRpbmdBZ2dyZWdhdGlvblJlcXVlc3RzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25Db25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zID1cblx0XHRcImNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6RGVzY3JpYmVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVtZWRpYXRpb25FeGNlcHRpb25zID1cblx0XHRcImNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uRXhjZXB0aW9uc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uRXhlY3V0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlbWVkaWF0aW9uRXhlY3V0aW9uU3RhdHVzID1cblx0XHRcImNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uRXhlY3V0aW9uU3RhdHVzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkRlc2NyaWJlUmV0ZW50aW9uQ29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmV0ZW50aW9uQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmV0ZW50aW9uQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOkRpc2Fzc29jaWF0ZVJlc291cmNlVHlwZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVJlc291cmNlVHlwZXMgPVxuXHRcdFwiY29uZmlnOkRpc2Fzc29jaWF0ZVJlc291cmNlVHlwZXNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0QWdncmVnYXRlQ29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZ3JlZ2F0ZUNvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlID1cblx0XHRcImNvbmZpZzpHZXRBZ2dyZWdhdGVDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRBZ2dyZWdhdGVDb25maWdSdWxlQ29tcGxpYW5jZVN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEFnZ3JlZ2F0ZUNvbmZpZ1J1bGVDb21wbGlhbmNlU3VtbWFyeSA9XG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlQ29uZmlnUnVsZUNvbXBsaWFuY2VTdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldEFnZ3JlZ2F0ZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2dyZWdhdGVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeSA9XG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlQ291bnRzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHMgPVxuXHRcdFwiY29uZmlnOkdldEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZUNvdW50c1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWcgPVxuXHRcdFwiY29uZmlnOkdldEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldENvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZSA9XG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGVcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0Q29tcGxpYW5jZURldGFpbHNCeVJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb21wbGlhbmNlRGV0YWlsc0J5UmVzb3VyY2UgPVxuXHRcdFwiY29uZmlnOkdldENvbXBsaWFuY2VEZXRhaWxzQnlSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRDb21wbGlhbmNlU3VtbWFyeUJ5Q29uZmlnUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29tcGxpYW5jZVN1bW1hcnlCeUNvbmZpZ1J1bGUgPVxuXHRcdFwiY29uZmlnOkdldENvbXBsaWFuY2VTdW1tYXJ5QnlDb25maWdSdWxlXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldENvbXBsaWFuY2VTdW1tYXJ5QnlSZXNvdXJjZVR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbXBsaWFuY2VTdW1tYXJ5QnlSZXNvdXJjZVR5cGUgPVxuXHRcdFwiY29uZmlnOkdldENvbXBsaWFuY2VTdW1tYXJ5QnlSZXNvdXJjZVR5cGVcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZURldGFpbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VEZXRhaWxzID1cblx0XHRcImNvbmZpZzpHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlRGV0YWlsc1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnkgPVxuXHRcdFwiY29uZmlnOkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldENvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdG9yID0gXCJjb25maWc6R2V0Q29ubmVjdG9yXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldEN1c3RvbVJ1bGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEN1c3RvbVJ1bGVQb2xpY3kgPSBcImNvbmZpZzpHZXRDdXN0b21SdWxlUG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldERpc2NvdmVyZWRSZXNvdXJjZUNvdW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RGlzY292ZXJlZFJlc291cmNlQ291bnRzID1cblx0XHRcImNvbmZpZzpHZXREaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHNcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0T3JnYW5pemF0aW9uQ29uZmlnUnVsZURldGFpbGVkU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRPcmdhbml6YXRpb25Db25maWdSdWxlRGV0YWlsZWRTdGF0dXMgPVxuXHRcdFwiY29uZmlnOkdldE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVEZXRhaWxlZFN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tEZXRhaWxlZFN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrRGV0YWlsZWRTdGF0dXMgPVxuXHRcdFwiY29uZmlnOkdldE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0RldGFpbGVkU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldE9yZ2FuaXphdGlvbkN1c3RvbVJ1bGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldE9yZ2FuaXphdGlvbkN1c3RvbVJ1bGVQb2xpY3kgPVxuXHRcdFwiY29uZmlnOkdldE9yZ2FuaXphdGlvbkN1c3RvbVJ1bGVQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBjb25maWc6R2V0UmVzb3VyY2VDb25maWdIaXN0b3J5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZUNvbmZpZ0hpc3RvcnkgPVxuXHRcdFwiY29uZmlnOkdldFJlc291cmNlQ29uZmlnSGlzdG9yeVwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpHZXRSZXNvdXJjZUV2YWx1YXRpb25TdW1tYXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZUV2YWx1YXRpb25TdW1tYXJ5ID1cblx0XHRcImNvbmZpZzpHZXRSZXNvdXJjZUV2YWx1YXRpb25TdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkdldFN0b3JlZFF1ZXJ5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTdG9yZWRRdWVyeSA9IFwiY29uZmlnOkdldFN0b3JlZFF1ZXJ5XCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkxpc3RBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlcyA9XG5cdFx0XCJjb25maWc6TGlzdEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSBjb25maWc6TGlzdENvbmZpZ3VyYXRpb25SZWNvcmRlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25maWd1cmF0aW9uUmVjb3JkZXJzID1cblx0XHRcImNvbmZpZzpMaXN0Q29uZmlndXJhdGlvblJlY29yZGVyc1wiO1xuXHQvKiogW0xpc3RdIGNvbmZpZzpMaXN0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVNjb3JlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTY29yZXMgPVxuXHRcdFwiY29uZmlnOkxpc3RDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU2NvcmVzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkxpc3RDb25uZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9ycyA9IFwiY29uZmlnOkxpc3RDb25uZWN0b3JzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkxpc3REaXNjb3ZlcmVkUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGlzY292ZXJlZFJlc291cmNlcyA9IFwiY29uZmlnOkxpc3REaXNjb3ZlcmVkUmVzb3VyY2VzXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkxpc3RSZXNvdXJjZUV2YWx1YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VFdmFsdWF0aW9ucyA9IFwiY29uZmlnOkxpc3RSZXNvdXJjZUV2YWx1YXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gY29uZmlnOkxpc3RTdG9yZWRRdWVyaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3RvcmVkUXVlcmllcyA9IFwiY29uZmlnOkxpc3RTdG9yZWRRdWVyaWVzXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImNvbmZpZzpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiA9XG5cdFx0XCJjb25maWc6UHV0QWdncmVnYXRpb25BdXRob3JpemF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRDb25maWdSdWxlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25maWdSdWxlID0gXCJjb25maWc6UHV0Q29uZmlnUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0Q29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yID1cblx0XHRcImNvbmZpZzpQdXRDb25maWd1cmF0aW9uQWdncmVnYXRvclwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0Q29uZmlndXJhdGlvblJlY29yZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25maWd1cmF0aW9uUmVjb3JkZXIgPSBcImNvbmZpZzpQdXRDb25maWd1cmF0aW9uUmVjb3JkZXJcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dENvbmZvcm1hbmNlUGFjayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29uZm9ybWFuY2VQYWNrID0gXCJjb25maWc6UHV0Q29uZm9ybWFuY2VQYWNrXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbm5lY3RvciA9IFwiY29uZmlnOlB1dENvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0RGVsaXZlcnlDaGFubmVsICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREZWxpdmVyeUNoYW5uZWwgPSBcImNvbmZpZzpQdXREZWxpdmVyeUNoYW5uZWxcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dEV2YWx1YXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRFdmFsdWF0aW9ucyA9IFwiY29uZmlnOlB1dEV2YWx1YXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRFeHRlcm5hbEV2YWx1YXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEV4dGVybmFsRXZhbHVhdGlvbiA9IFwiY29uZmlnOlB1dEV4dGVybmFsRXZhbHVhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0T3JnYW5pemF0aW9uQ29uZmlnUnVsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3JnYW5pemF0aW9uQ29uZmlnUnVsZSA9XG5cdFx0XCJjb25maWc6UHV0T3JnYW5pemF0aW9uQ29uZmlnUnVsZVwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgPVxuXHRcdFwiY29uZmlnOlB1dE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0UmVtZWRpYXRpb25Db25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVtZWRpYXRpb25Db25maWd1cmF0aW9ucyA9XG5cdFx0XCJjb25maWc6UHV0UmVtZWRpYXRpb25Db25maWd1cmF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0UmVtZWRpYXRpb25FeGNlcHRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgPSBcImNvbmZpZzpQdXRSZW1lZGlhdGlvbkV4Y2VwdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gY29uZmlnOlB1dFJlc291cmNlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZUNvbmZpZyA9IFwiY29uZmlnOlB1dFJlc291cmNlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uID1cblx0XHRcImNvbmZpZzpQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyID1cblx0XHRcImNvbmZpZzpQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpQdXRTdG9yZWRRdWVyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3RvcmVkUXVlcnkgPSBcImNvbmZpZzpQdXRTdG9yZWRRdWVyeVwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6UHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRoaXJkUGFydHlTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyID1cblx0XHRcImNvbmZpZzpQdXRUaGlyZFBhcnR5U2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlclwiO1xuXHQvKiogW1JlYWRdIGNvbmZpZzpTZWxlY3RBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWcgPVxuXHRcdFwiY29uZmlnOlNlbGVjdEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnXCI7XG5cdC8qKiBbUmVhZF0gY29uZmlnOlNlbGVjdFJlc291cmNlQ29uZmlnICovXG5cdHN0YXRpYyByZWFkb25seSBTZWxlY3RSZXNvdXJjZUNvbmZpZyA9IFwiY29uZmlnOlNlbGVjdFJlc291cmNlQ29uZmlnXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpTdGFydENvbmZpZ1J1bGVzRXZhbHVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb25maWdSdWxlc0V2YWx1YXRpb24gPVxuXHRcdFwiY29uZmlnOlN0YXJ0Q29uZmlnUnVsZXNFdmFsdWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpTdGFydENvbmZpZ3VyYXRpb25SZWNvcmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXIgPVxuXHRcdFwiY29uZmlnOlN0YXJ0Q29uZmlndXJhdGlvblJlY29yZGVyXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpTdGFydFJlbWVkaWF0aW9uRXhlY3V0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlbWVkaWF0aW9uRXhlY3V0aW9uID1cblx0XHRcImNvbmZpZzpTdGFydFJlbWVkaWF0aW9uRXhlY3V0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvbmZpZzpTdGFydFJlc291cmNlRXZhbHVhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXNvdXJjZUV2YWx1YXRpb24gPSBcImNvbmZpZzpTdGFydFJlc291cmNlRXZhbHVhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb25maWc6U3RvcENvbmZpZ3VyYXRpb25SZWNvcmRlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcENvbmZpZ3VyYXRpb25SZWNvcmRlciA9XG5cdFx0XCJjb25maWc6U3RvcENvbmZpZ3VyYXRpb25SZWNvcmRlclwiO1xuXHQvKiogW1RhZ2dpbmddIGNvbmZpZzpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImNvbmZpZzpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGNvbmZpZzpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJjb25maWc6VW50YWdSZXNvdXJjZVwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvbmZpZ0FjdGlvbnMuQmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyxcblx0XHRDb25maWdBY3Rpb25zLkJhdGNoR2V0UmVzb3VyY2VDb25maWcsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxpdmVyQ29uZmlnU25hcHNob3QsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25mb3JtYW5jZVBhY2tzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb21wbGlhbmNlQnlDb25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZSxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQ29uZmlnUnVsZUV2YWx1YXRpb25TdGF0dXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yU291cmNlc1N0YXR1cyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVyU3RhdHVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tTdGF0dXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbFN0YXR1cyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZVN0YXR1c2VzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlcyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlUmVtZWRpYXRpb25FeGVjdXRpb25TdGF0dXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRBZ2dyZWdhdGVDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldEFnZ3JlZ2F0ZUNvbmZpZ1J1bGVDb21wbGlhbmNlU3VtbWFyeSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldEFnZ3JlZ2F0ZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5LFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlQ291bnRzLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWcsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldENvbXBsaWFuY2VEZXRhaWxzQnlSZXNvdXJjZSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldENvbXBsaWFuY2VTdW1tYXJ5QnlDb25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0Q29tcGxpYW5jZVN1bW1hcnlCeVJlc291cmNlVHlwZSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VEZXRhaWxzLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnksXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRDb25uZWN0b3IsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRDdXN0b21SdWxlUG9saWN5LFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0RGlzY292ZXJlZFJlc291cmNlQ291bnRzLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0T3JnYW5pemF0aW9uQ29uZmlnUnVsZURldGFpbGVkU3RhdHVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrRGV0YWlsZWRTdGF0dXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5hY3Rpb25HZXRPcmdhbml6YXRpb25DdXN0b21SdWxlUG9saWN5LFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VDb25maWdIaXN0b3J5LFxuXHRcdENvbmZpZ0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VFdmFsdWF0aW9uU3VtbWFyeSxcblx0XHRDb25maWdBY3Rpb25zLmFjdGlvbkdldFN0b3JlZFF1ZXJ5LFxuXHRcdENvbmZpZ0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRDb25maWdBY3Rpb25zLlNlbGVjdEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnLFxuXHRcdENvbmZpZ0FjdGlvbnMuU2VsZWN0UmVzb3VyY2VDb25maWcsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q29uZmlnQWN0aW9ucy5Bc3NvY2lhdGVSZXNvdXJjZVR5cGVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlQWdncmVnYXRpb25BdXRob3JpemF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlQ29uZmlnUnVsZSxcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlQ29uZmlndXJhdGlvblJlY29yZGVyLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlQ29uZm9ybWFuY2VQYWNrLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlQ29ubmVjdG9yLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlRGVsaXZlcnlDaGFubmVsLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlRXZhbHVhdGlvblJlc3VsdHMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdCxcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbixcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZVJlbWVkaWF0aW9uRXhjZXB0aW9ucyxcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZVJlc291cmNlQ29uZmlnLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVsZXRlUmV0ZW50aW9uQ29uZmlndXJhdGlvbixcblx0XHRDb25maWdBY3Rpb25zLkRlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZWxldGVTdG9yZWRRdWVyeSxcblx0XHRDb25maWdBY3Rpb25zLkRpc2Fzc29jaWF0ZVJlc291cmNlVHlwZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24sXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRDb25maWdSdWxlLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0Q29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRDb25maWd1cmF0aW9uUmVjb3JkZXIsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRDb25mb3JtYW5jZVBhY2ssXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRDb25uZWN0b3IsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXREZWxpdmVyeUNoYW5uZWwsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRFdmFsdWF0aW9ucyxcblx0XHRDb25maWdBY3Rpb25zLlB1dEV4dGVybmFsRXZhbHVhdGlvbixcblx0XHRDb25maWdBY3Rpb25zLlB1dE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2ssXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0UmVtZWRpYXRpb25FeGNlcHRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0UmVzb3VyY2VDb25maWcsXG5cdFx0Q29uZmlnQWN0aW9ucy5QdXRSZXRlbnRpb25Db25maWd1cmF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0U2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlcixcblx0XHRDb25maWdBY3Rpb25zLlB1dFN0b3JlZFF1ZXJ5LFxuXHRcdENvbmZpZ0FjdGlvbnMuUHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIsXG5cdFx0Q29uZmlnQWN0aW9ucy5TdGFydENvbmZpZ1J1bGVzRXZhbHVhdGlvbixcblx0XHRDb25maWdBY3Rpb25zLlN0YXJ0Q29uZmlndXJhdGlvblJlY29yZGVyLFxuXHRcdENvbmZpZ0FjdGlvbnMuU3RhcnRSZW1lZGlhdGlvbkV4ZWN1dGlvbixcblx0XHRDb25maWdBY3Rpb25zLlN0YXJ0UmVzb3VyY2VFdmFsdWF0aW9uLFxuXHRcdENvbmZpZ0FjdGlvbnMuU3RvcENvbmZpZ3VyYXRpb25SZWNvcmRlcixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZpZ1J1bGVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvcnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZUNvbmZvcm1hbmNlUGFja3MsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHMsXG5cdFx0Q29uZmlnQWN0aW9ucy5EZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tzLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0cyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlUmVtZWRpYXRpb25Db25maWd1cmF0aW9ucyxcblx0XHRDb25maWdBY3Rpb25zLkRlc2NyaWJlUmVtZWRpYXRpb25FeGNlcHRpb25zLFxuXHRcdENvbmZpZ0FjdGlvbnMuRGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9ucyxcblx0XHRDb25maWdBY3Rpb25zLkxpc3RBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VzLFxuXHRcdENvbmZpZ0FjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25SZWNvcmRlcnMsXG5cdFx0Q29uZmlnQWN0aW9ucy5MaXN0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVNjb3Jlcyxcblx0XHRDb25maWdBY3Rpb25zLkxpc3RDb25uZWN0b3JzLFxuXHRcdENvbmZpZ0FjdGlvbnMuTGlzdERpc2NvdmVyZWRSZXNvdXJjZXMsXG5cdFx0Q29uZmlnQWN0aW9ucy5MaXN0UmVzb3VyY2VFdmFsdWF0aW9ucyxcblx0XHRDb25maWdBY3Rpb25zLkxpc3RTdG9yZWRRdWVyaWVzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb25maWdBY3Rpb25zLlRhZ1Jlc291cmNlLFxuXHRcdENvbmZpZ0FjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFnZ3JlZ2F0b3JBY2NvdW50IGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2dyZWdhdG9yQWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZ3JlZ2F0b3JSZWdpb24gY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JSZWdpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0FnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQWdncmVnYXRvckFjY291bnQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2dyZWdhdG9yQWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZ3JlZ2F0b3JSZWdpb24gY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhZ2dyZWdhdG9yUmVnaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25maWdSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25maWdSdWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbmZpZ1J1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZmlnUnVsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29uZmlnUnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQ29uZmlnUnVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZmlnUnVsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlnUnVsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25maWd1cmF0aW9uQWdncmVnYXRvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQWdncmVnYXRvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhZ2dyZWdhdG9ySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25maWd1cmF0aW9uQWdncmVnYXRvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFnZ3JlZ2F0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGFnZ3JlZ2F0b3JJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29uZmlndXJhdGlvblJlY29yZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVjb3JkZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvcmRlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvcmRlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWNvcmRlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29uZmlndXJhdGlvblJlY29yZGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29yZGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlY29yZGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFJlY29yZGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvcmRlcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25mb3JtYW5jZVBhY2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ0NvbmZvcm1hbmNlUGFja0FyblByb3BzIHtcblx0LyoqIFRoZSBDb25mb3JtYW5jZVBhY2tOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25mb3JtYW5jZVBhY2tOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZm9ybWFuY2VQYWNrSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZvcm1hbmNlUGFja0lkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29uZm9ybWFuY2VQYWNrIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25mb3JtYW5jZVBhY2tBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZvcm1hbmNlUGFja05hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25mb3JtYW5jZVBhY2tOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29uZm9ybWFuY2VQYWNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25mb3JtYW5jZVBhY2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdDb25uZWN0b3JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUHJvdmlkZXIgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb3ZpZGVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvdmlkZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvdmlkZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3RvcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3RvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnQ29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm92aWRlciBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3ZpZGVyOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvdmlkZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3ZpZGVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvcklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBPcmdhbml6YXRpb25Db25maWdSdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdPcmdhbml6YXRpb25Db25maWdSdWxlQXJuUHJvcHMge1xuXHQvKiogVGhlIE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgT3JnYW5pemF0aW9uQ29uZmlnUnVsZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnT3JnYW5pemF0aW9uQ29uZmlnUnVsZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb3JnYW5pemF0aW9uQ29uZmlnUnVsZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ09yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0FyblByb3BzIHtcblx0LyoqIFRoZSBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ09yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVtZWRpYXRpb25Db25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFN0b3JlZFF1ZXJ5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maWdTdG9yZWRRdWVyeUFyblByb3BzIHtcblx0LyoqIFRoZSBTdG9yZWRRdWVyeU5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0b3JlZFF1ZXJ5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFN0b3JlZFF1ZXJ5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN0b3JlZFF1ZXJ5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTdG9yZWRRdWVyeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlnU3RvcmVkUXVlcnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN0b3JlZFF1ZXJ5TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN0b3JlZFF1ZXJ5TmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFN0b3JlZFF1ZXJ5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzdG9yZWRRdWVyeUlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb25maWc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphZ2dyZWdhdGlvbi1hdXRob3JpemF0aW9uXFwvKD88YWdncmVnYXRvckFjY291bnQ+W146Lz9dKylcXC8oPzxhZ2dyZWdhdG9yUmVnaW9uPlteOi8/XSspJC87XG5jb25zdCBDb25maWdSdWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZy1ydWxlXFwvKD88Y29uZmlnUnVsZUlkPlteOi8/XSspJC87XG5jb25zdCBDb25maWd1cmF0aW9uQWdncmVnYXRvckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb25maWc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25maWctYWdncmVnYXRvclxcLyg/PGFnZ3JlZ2F0b3JJZD5bXjovP10rKSQvO1xuY29uc3QgQ29uZmlndXJhdGlvblJlY29yZGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbmZpZ3VyYXRpb24tcmVjb3JkZXJcXC8oPzxyZWNvcmRlck5hbWU+W146Lz9dKylcXC8oPzxyZWNvcmRlcklkPlteOi8/XSspJC87XG5jb25zdCBDb25mb3JtYW5jZVBhY2tBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29uZmlnOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZm9ybWFuY2UtcGFja1xcLyg/PGNvbmZvcm1hbmNlUGFja05hbWU+W146Lz9dKylcXC8oPzxjb25mb3JtYW5jZVBhY2tJZD5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbm5lY3RvclxcLyg/PHByb3ZpZGVyPlteOi8/XSspXFwvKD88cHJvdmlkZXJJZD5bXjovP10rKVxcLyg/PGNvbm5lY3RvcklkPlteOi8/XSspJC87XG5jb25zdCBPcmdhbml6YXRpb25Db25maWdSdWxlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9yZ2FuaXphdGlvbi1jb25maWctcnVsZVxcLyg/PG9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVJZD5bXjovP10rKSQvO1xuY29uc3QgT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9yZ2FuaXphdGlvbi1jb25mb3JtYW5jZS1wYWNrXFwvKD88b3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb25maWc6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZW1lZGlhdGlvbi1jb25maWd1cmF0aW9uXFwvKD88cmVtZWRpYXRpb25Db25maWd1cmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFN0b3JlZFF1ZXJ5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvbmZpZzooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN0b3JlZC1xdWVyeVxcLyg/PHN0b3JlZFF1ZXJ5TmFtZT5bXjovP10rKVxcLyg/PHN0b3JlZFF1ZXJ5SWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBjb25maWcgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlnUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYWdncmVnYXRpb25BdXRob3JpemF0aW9uKFxuXHRcdHByb3BzOiBDb25maWdBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06YWdncmVnYXRpb24tYXV0aG9yaXphdGlvbi8ke3Byb3BzLmFnZ3JlZ2F0b3JBY2NvdW50fS8ke3Byb3BzLmFnZ3JlZ2F0b3JSZWdpb259YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQWdncmVnYXRpb25BdXRob3JpemF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb25maWdBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdncmVnYXRvckFjY291bnQ6IG1hdGNoLmdyb3VwcyEuYWdncmVnYXRvckFjY291bnQsXG5cdFx0XHRhZ2dyZWdhdG9yUmVnaW9uOiBtYXRjaC5ncm91cHMhLmFnZ3JlZ2F0b3JSZWdpb24sXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29uZmlnUnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25maWdSdWxlKHByb3BzOiBDb25maWdDb25maWdSdWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbmZpZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWctcnVsZS8ke3Byb3BzLmNvbmZpZ1J1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29uZmlnUnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29uZmlnUnVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWdSdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbmZpZ1J1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29uZmlnUnVsZUFybihhcm46IHN0cmluZyk6IENvbmZpZ0NvbmZpZ1J1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ1J1bGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29uZmlnUnVsZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25maWdSdWxlSWQ6IG1hdGNoLmdyb3VwcyEuY29uZmlnUnVsZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yKFxuXHRcdHByb3BzOiBDb25maWdDb25maWd1cmF0aW9uQWdncmVnYXRvckFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbmZpZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWctYWdncmVnYXRvci8ke3Byb3BzLmFnZ3JlZ2F0b3JJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb25maWdDb25maWd1cmF0aW9uQWdncmVnYXRvckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YWdncmVnYXRvcklkOiBtYXRjaC5ncm91cHMhLmFnZ3JlZ2F0b3JJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25maWd1cmF0aW9uUmVjb3JkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJhdGlvblJlY29yZGVyKFxuXHRcdHByb3BzOiBDb25maWdDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb25maWc6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29uZmlndXJhdGlvbi1yZWNvcmRlci8ke3Byb3BzLnJlY29yZGVyTmFtZX0vJHtwcm9wcy5yZWNvcmRlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25maWd1cmF0aW9uUmVjb3JkZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyYXRpb25SZWNvcmRlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29uZmlndXJhdGlvblJlY29yZGVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyYXRpb25SZWNvcmRlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29uZmlnQ29uZmlndXJhdGlvblJlY29yZGVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25maWd1cmF0aW9uUmVjb3JkZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29uZmlndXJhdGlvblJlY29yZGVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY29yZGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5yZWNvcmRlck5hbWUsXG5cdFx0XHRyZWNvcmRlcklkOiBtYXRjaC5ncm91cHMhLnJlY29yZGVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29uZm9ybWFuY2VQYWNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbmZvcm1hbmNlUGFjayhwcm9wczogQ29uZmlnQ29uZm9ybWFuY2VQYWNrQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvbmZpZzoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25mb3JtYW5jZS1wYWNrLyR7cHJvcHMuY29uZm9ybWFuY2VQYWNrTmFtZX0vJHtwcm9wcy5jb25mb3JtYW5jZVBhY2tJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgQ29uZm9ybWFuY2VQYWNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25mb3JtYW5jZVBhY2tBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZm9ybWFuY2VQYWNrQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIENvbmZvcm1hbmNlUGFjayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25mb3JtYW5jZVBhY2tBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbmZpZ0NvbmZvcm1hbmNlUGFja0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZm9ybWFuY2VQYWNrQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbmZvcm1hbmNlUGFjayBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25mb3JtYW5jZVBhY2tOYW1lOiBtYXRjaC5ncm91cHMhLmNvbmZvcm1hbmNlUGFja05hbWUsXG5cdFx0XHRjb25mb3JtYW5jZVBhY2tJZDogbWF0Y2guZ3JvdXBzIS5jb25mb3JtYW5jZVBhY2tJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25uZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdG9yKHByb3BzOiBDb25maWdDb25uZWN0b3JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbm5lY3Rvci8ke3Byb3BzLnByb3ZpZGVyfS8ke3Byb3BzLnByb3ZpZGVySWR9LyR7cHJvcHMuY29ubmVjdG9ySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3RvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29ubmVjdG9yQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3RvckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0b3IgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdG9yQXJuKGFybjogc3RyaW5nKTogQ29uZmlnQ29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0b3JBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdG9yIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb3ZpZGVyOiBtYXRjaC5ncm91cHMhLnByb3ZpZGVyLFxuXHRcdFx0cHJvdmlkZXJJZDogbWF0Y2guZ3JvdXBzIS5wcm92aWRlcklkLFxuXHRcdFx0Y29ubmVjdG9ySWQ6IG1hdGNoLmdyb3VwcyEuY29ubmVjdG9ySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgT3JnYW5pemF0aW9uQ29uZmlnUnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcmdhbml6YXRpb25Db25maWdSdWxlKFxuXHRcdHByb3BzOiBDb25maWdPcmdhbml6YXRpb25Db25maWdSdWxlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9yZ2FuaXphdGlvbi1jb25maWctcnVsZS8ke3Byb3BzLm9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgT3JnYW5pemF0aW9uQ29uZmlnUnVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3JnYW5pemF0aW9uQ29uZmlnUnVsZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBPcmdhbml6YXRpb25Db25maWdSdWxlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3JnYW5pemF0aW9uQ29uZmlnUnVsZUFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29uZmlnT3JnYW5pemF0aW9uQ29uZmlnUnVsZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gT3JnYW5pemF0aW9uQ29uZmlnUnVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBPcmdhbml6YXRpb25Db25maWdSdWxlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVJZDogbWF0Y2guZ3JvdXBzIS5vcmdhbml6YXRpb25Db25maWdSdWxlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayhcblx0XHRwcm9wczogQ29uZmlnT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9yZ2FuaXphdGlvbi1jb25mb3JtYW5jZS1wYWNrLyR7cHJvcHMub3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFjayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb25maWdPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0FyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrSWQ6XG5cdFx0XHRcdG1hdGNoLmdyb3VwcyEub3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbihcblx0XHRwcm9wczogQ29uZmlnUmVtZWRpYXRpb25Db25maWd1cmF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlbWVkaWF0aW9uLWNvbmZpZ3VyYXRpb24vJHtwcm9wcy5yZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVtZWRpYXRpb25Db25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVtZWRpYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvbmZpZ1JlbWVkaWF0aW9uQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVtZWRpYXRpb25Db25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5yZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTdG9yZWRRdWVyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzdG9yZWRRdWVyeShwcm9wczogQ29uZmlnU3RvcmVkUXVlcnlBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29uZmlnOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN0b3JlZC1xdWVyeS8ke3Byb3BzLnN0b3JlZFF1ZXJ5TmFtZX0vJHtwcm9wcy5zdG9yZWRRdWVyeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTdG9yZWRRdWVyeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU3RvcmVkUXVlcnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3RvcmVkUXVlcnlBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU3RvcmVkUXVlcnkgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU3RvcmVkUXVlcnlBcm4oYXJuOiBzdHJpbmcpOiBDb25maWdTdG9yZWRRdWVyeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU3RvcmVkUXVlcnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgU3RvcmVkUXVlcnkgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3RvcmVkUXVlcnlOYW1lOiBtYXRjaC5ncm91cHMhLnN0b3JlZFF1ZXJ5TmFtZSxcblx0XHRcdHN0b3JlZFF1ZXJ5SWQ6IG1hdGNoLmdyb3VwcyEuc3RvcmVkUXVlcnlJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBjb25maWcuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWdPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQXNzb2NpYXRlUmVzb3VyY2VUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVJlc291cmNlVHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkFzc29jaWF0ZVJlc291cmNlVHlwZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkJhdGNoR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hHZXRSZXNvdXJjZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoR2V0UmVzb3VyY2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkJhdGNoR2V0UmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWdncmVnYXRpb25BdXRob3JpemF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQWdncmVnYXRpb25BdXRob3JpemF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlnUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ1J1bGU6IHN0cmluZ1tdID0gW1wiY29uZmlnOkRlbGV0ZUNvbmZpZ1J1bGVcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvbkFnZ3JlZ2F0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25SZWNvcmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlQ29uZmlndXJhdGlvblJlY29yZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZvcm1hbmNlUGFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZvcm1hbmNlUGFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlQ29uZm9ybWFuY2VQYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJjb25maWc6RGVsZXRlQ29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVEZWxpdmVyeUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZWxpdmVyeUNoYW5uZWw6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZURlbGl2ZXJ5Q2hhbm5lbFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVFdmFsdWF0aW9uUmVzdWx0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2YWx1YXRpb25SZXN1bHRzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVFdmFsdWF0aW9uUmVzdWx0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcmdhbml6YXRpb25Db25maWdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3JnYW5pemF0aW9uQ29uZmlnUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlT3JnYW5pemF0aW9uQ29uZmlnUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZW1lZGlhdGlvbkV4Y2VwdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlbGV0ZVJlbWVkaWF0aW9uRXhjZXB0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlQ29uZmlnOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxldGVSZXNvdXJjZUNvbmZpZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXRlbnRpb25Db25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmV0ZW50aW9uQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlUmV0ZW50aW9uQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVsZXRlU2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTdG9yZWRRdWVyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN0b3JlZFF1ZXJ5OiBzdHJpbmdbXSA9IFtcImNvbmZpZzpEZWxldGVTdG9yZWRRdWVyeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsaXZlckNvbmZpZ1NuYXBzaG90IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsaXZlckNvbmZpZ1NuYXBzaG90OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZWxpdmVyQ29uZmlnU25hcHNob3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25maWdSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQWdncmVnYXRlQ29tcGxpYW5jZUJ5Q29uZmlnUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25mb3JtYW5jZVBhY2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBZ2dyZWdhdGVDb21wbGlhbmNlQnlDb25mb3JtYW5jZVBhY2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUFnZ3JlZ2F0ZUNvbXBsaWFuY2VCeUNvbmZvcm1hbmNlUGFja3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21wbGlhbmNlQnlDb25maWdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb21wbGlhbmNlQnlDb25maWdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbXBsaWFuY2VCeUNvbmZpZ1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb21wbGlhbmNlQnlSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29tcGxpYW5jZUJ5UmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29tcGxpYW5jZUJ5UmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25maWdSdWxlRXZhbHVhdGlvblN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlnUnVsZUV2YWx1YXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlnUnVsZUV2YWx1YXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25maWdSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlnUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlQ29uZmlnUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvclNvdXJjZXNTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yU291cmNlc1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvclNvdXJjZXNTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uQWdncmVnYXRvcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uUmVjb3JkZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZvcm1hbmNlUGFja1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVDb25mb3JtYW5jZVBhY2tTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25mb3JtYW5jZVBhY2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZUNvbmZvcm1hbmNlUGFja3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEZWxpdmVyeUNoYW5uZWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZURlbGl2ZXJ5Q2hhbm5lbHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlU3RhdHVzZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVTdGF0dXNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlU3RhdHVzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcmdhbml6YXRpb25Db25maWdSdWxlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZmlnUnVsZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tTdGF0dXNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrU3RhdHVzZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlT3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrU3RhdHVzZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZU9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQZW5kaW5nQWdncmVnYXRpb25SZXF1ZXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlUGVuZGluZ0FnZ3JlZ2F0aW9uUmVxdWVzdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpEZXNjcmliZVJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZW1lZGlhdGlvbkV4Y2VwdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlbWVkaWF0aW9uRXhjZXB0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6RGVzY3JpYmVSZW1lZGlhdGlvbkV4Y2VwdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZW1lZGlhdGlvbkV4ZWN1dGlvblN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVtZWRpYXRpb25FeGVjdXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmVtZWRpYXRpb25FeGVjdXRpb25TdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXRlbnRpb25Db25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmV0ZW50aW9uQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRlc2NyaWJlUmV0ZW50aW9uQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlUmVzb3VyY2VUeXBlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVJlc291cmNlVHlwZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkRpc2Fzc29jaWF0ZVJlc291cmNlVHlwZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdncmVnYXRlQ29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZ3JlZ2F0ZUNvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRBZ2dyZWdhdGVDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2dyZWdhdGVDb25maWdSdWxlQ29tcGxpYW5jZVN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEFnZ3JlZ2F0ZUNvbmZpZ1J1bGVDb21wbGlhbmNlU3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlQ29uZmlnUnVsZUNvbXBsaWFuY2VTdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEFnZ3JlZ2F0ZUNvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2dyZWdhdGVDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0QWdncmVnYXRlQ29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlQ291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRBZ2dyZWdhdGVEaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZUNvdW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0QWdncmVnYXRlUmVzb3VyY2VDb25maWc6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldEFnZ3JlZ2F0ZVJlc291cmNlQ29uZmlnXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbXBsaWFuY2VEZXRhaWxzQnlDb25maWdSdWxlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb21wbGlhbmNlRGV0YWlsc0J5Q29uZmlnUnVsZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29tcGxpYW5jZURldGFpbHNCeUNvbmZpZ1J1bGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29tcGxpYW5jZURldGFpbHNCeVJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb21wbGlhbmNlRGV0YWlsc0J5UmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldENvbXBsaWFuY2VEZXRhaWxzQnlSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb21wbGlhbmNlU3VtbWFyeUJ5Q29uZmlnUnVsZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29tcGxpYW5jZVN1bW1hcnlCeUNvbmZpZ1J1bGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldENvbXBsaWFuY2VTdW1tYXJ5QnlDb25maWdSdWxlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbXBsaWFuY2VTdW1tYXJ5QnlSZXNvdXJjZVR5cGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbXBsaWFuY2VTdW1tYXJ5QnlSZXNvdXJjZVR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldENvbXBsaWFuY2VTdW1tYXJ5QnlSZXNvdXJjZVR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZURldGFpbHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VEZXRhaWxzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlRGV0YWlsc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25mb3JtYW5jZVBhY2tDb21wbGlhbmNlU3VtbWFyeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcImNvbmZpZzpHZXRDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEN1c3RvbVJ1bGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldEN1c3RvbVJ1bGVQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldEN1c3RvbVJ1bGVQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RGlzY292ZXJlZFJlc291cmNlQ291bnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXREaXNjb3ZlcmVkUmVzb3VyY2VDb3VudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldERpc2NvdmVyZWRSZXNvdXJjZUNvdW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRPcmdhbml6YXRpb25Db25maWdSdWxlRGV0YWlsZWRTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGVEZXRhaWxlZFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0T3JnYW5pemF0aW9uQ29uZmlnUnVsZURldGFpbGVkU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja0RldGFpbGVkU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRPcmdhbml6YXRpb25Db25mb3JtYW5jZVBhY2tEZXRhaWxlZFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrRGV0YWlsZWRTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0T3JnYW5pemF0aW9uQ3VzdG9tUnVsZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0T3JnYW5pemF0aW9uQ3VzdG9tUnVsZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0T3JnYW5pemF0aW9uQ3VzdG9tUnVsZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZUNvbmZpZ0hpc3RvcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlQ29uZmlnSGlzdG9yeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0UmVzb3VyY2VDb25maWdIaXN0b3J5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlRXZhbHVhdGlvblN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlRXZhbHVhdGlvblN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkdldFJlc291cmNlRXZhbHVhdGlvblN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3RvcmVkUXVlcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFN0b3JlZFF1ZXJ5OiBzdHJpbmdbXSA9IFtcImNvbmZpZzpHZXRTdG9yZWRRdWVyeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWdncmVnYXRlRGlzY292ZXJlZFJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6TGlzdEFnZ3JlZ2F0ZURpc2NvdmVyZWRSZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25SZWNvcmRlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblJlY29yZGVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6TGlzdENvbmZpZ3VyYXRpb25SZWNvcmRlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTY29yZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZm9ybWFuY2VQYWNrQ29tcGxpYW5jZVNjb3Jlczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6TGlzdENvbmZvcm1hbmNlUGFja0NvbXBsaWFuY2VTY29yZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yczogc3RyaW5nW10gPSBbXCJjb25maWc6TGlzdENvbm5lY3RvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REaXNjb3ZlcmVkUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERpc2NvdmVyZWRSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkxpc3REaXNjb3ZlcmVkUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUV2YWx1YXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlRXZhbHVhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkxpc3RSZXNvdXJjZUV2YWx1YXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdG9yZWRRdWVyaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN0b3JlZFF1ZXJpZXM6IHN0cmluZ1tdID0gW1wiY29uZmlnOkxpc3RTdG9yZWRRdWVyaWVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlB1dEFnZ3JlZ2F0aW9uQXV0aG9yaXphdGlvblwiLFxuXHRcdFwiY29uZmlnOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dENvbmZpZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25maWdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRDb25maWdSdWxlXCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Q29uZmlndXJhdGlvbkFnZ3JlZ2F0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25maWd1cmF0aW9uQWdncmVnYXRvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbmZpZzpQdXRDb25maWd1cmF0aW9uQWdncmVnYXRvclwiLFxuXHRcdFwiY29uZmlnOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dENvbmZpZ3VyYXRpb25SZWNvcmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvbmZpZzpQdXRDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XHRcImNvbmZpZzpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRDb25mb3JtYW5jZVBhY2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRDb25mb3JtYW5jZVBhY2s6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJjb25maWc6UHV0Q29uZm9ybWFuY2VQYWNrXCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0Q29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRDb25uZWN0b3JcIixcblx0XHRcImNvbmZpZzpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREZWxpdmVyeUNoYW5uZWwgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXREZWxpdmVyeUNoYW5uZWw6IHN0cmluZ1tdID0gW1wiY29uZmlnOlB1dERlbGl2ZXJ5Q2hhbm5lbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0RXZhbHVhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRFdmFsdWF0aW9uczogc3RyaW5nW10gPSBbXCJjb25maWc6UHV0RXZhbHVhdGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dEV4dGVybmFsRXZhbHVhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEV4dGVybmFsRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6UHV0RXh0ZXJuYWxFdmFsdWF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE9yZ2FuaXphdGlvbkNvbmZpZ1J1bGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRPcmdhbml6YXRpb25Db25maWdSdWxlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRPcmdhbml6YXRpb25Db25maWdSdWxlXCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3JnYW5pemF0aW9uQ29uZm9ybWFuY2VQYWNrOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29uZmlnOlB1dE9yZ2FuaXphdGlvbkNvbmZvcm1hbmNlUGFja1wiLFxuXHRcdFwiY29uZmlnOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZW1lZGlhdGlvbkNvbmZpZ3VyYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwiY29uZmlnOlB1dFJlbWVkaWF0aW9uQ29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVtZWRpYXRpb25FeGNlcHRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVtZWRpYXRpb25FeGNlcHRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRSZW1lZGlhdGlvbkV4Y2VwdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0UmVzb3VyY2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXCJjb25maWc6UHV0UmVzb3VyY2VDb25maWdcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFJldGVudGlvbkNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRSZXRlbnRpb25Db25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dFN0b3JlZFF1ZXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3RvcmVkUXVlcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlB1dFN0b3JlZFF1ZXJ5XCIsXG5cdFx0XCJjb25maWc6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUaGlyZFBhcnR5U2VydmljZUxpbmtlZENvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6R2V0Q29ubmVjdG9yXCIsXG5cdFx0XCJjb25maWc6UHV0VGhpcmRQYXJ0eVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWxlY3RBZ2dyZWdhdGVSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U2VsZWN0QWdncmVnYXRlUmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VsZWN0UmVzb3VyY2VDb25maWcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZWxlY3RSZXNvdXJjZUNvbmZpZzogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U2VsZWN0UmVzb3VyY2VDb25maWdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDb25maWdSdWxlc0V2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ1J1bGVzRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U3RhcnRDb25maWdSdWxlc0V2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydENvbmZpZ3VyYXRpb25SZWNvcmRlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U3RhcnRDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZW1lZGlhdGlvbkV4ZWN1dGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlN0YXJ0UmVtZWRpYXRpb25FeGVjdXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRSZXNvdXJjZUV2YWx1YXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlRXZhbHVhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb25maWc6U3RhcnRSZXNvdXJjZUV2YWx1YXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RvcENvbmZpZ3VyYXRpb25SZWNvcmRlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BDb25maWd1cmF0aW9uUmVjb3JkZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOlN0b3BDb25maWd1cmF0aW9uUmVjb3JkZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJjb25maWc6VGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVudGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImNvbmZpZzpVbnRhZ1Jlc291cmNlXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3IgY29uZmlnLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlnQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZWxldGVTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1wiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIl07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlclN0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIERlc2NyaWJlQ29uZmlndXJhdGlvblJlY29yZGVycyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25SZWNvcmRlcnNDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRBZ2dyZWdhdGlvbkF1dGhvcml6YXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0QWdncmVnYXRpb25BdXRob3JpemF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb25maWdSdWxlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ1J1bGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dENvbmZpZ3VyYXRpb25BZ2dyZWdhdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb25maWd1cmF0aW9uUmVjb3JkZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29uZmlndXJhdGlvblJlY29yZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRDb25uZWN0b3IgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0Q29ubmVjdG9yQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBQdXRTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFNlcnZpY2VMaW5rZWRDb25maWd1cmF0aW9uUmVjb3JkZXJDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9XG5cdFx0W1xuXHRcdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcdFwiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIixcblx0XHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUHV0U3RvcmVkUXVlcnkgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0U3RvcmVkUXVlcnlDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFB1dFRoaXJkUGFydHlTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRoaXJkUGFydHlTZXJ2aWNlTGlua2VkQ29uZmlndXJhdGlvblJlY29yZGVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPVxuXHRcdFtcblx0XHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XHRcImNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsXCIsXG5cdFx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVFVRVNUX1RBRyA9IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6VGFnS2V5cyAoQXJyYXlPZlN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19UQUdfS0VZUyA9IFwiYXdzOlRhZ0tleXNcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBDT05GSUdVUkFUSU9OX1JFQ09SREVSX1NFUlZJQ0VfUFJJTkNJUEFMID1cblx0XHRcImNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvbmZpZzpDb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsYC5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmF0aW9uUmVjb3JkZXJTZXJ2aWNlUHJpbmNpcGFsKFxuXHRcdHZhbHVlOiBzdHJpbmcsXG5cdCk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0U3RyaW5nRXF1YWxzOiB7IFwiY29uZmlnOkNvbmZpZ3VyYXRpb25SZWNvcmRlclNlcnZpY2VQcmluY2lwYWxcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG59XG4iXX0=