@cdk_utils/iam 1.17.0 → 1.19.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 +2794 -2241
  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.d.ts +10 -0
  64. package/lib/generated/services/bedrock-agentcore.js +18 -5
  65. package/lib/generated/services/bedrock-mantle.js +3 -3
  66. package/lib/generated/services/bedrock-websearch.js +2 -2
  67. package/lib/generated/services/bedrock.js +6 -9
  68. package/lib/generated/services/billing.js +4 -4
  69. package/lib/generated/services/billingconductor.js +4 -4
  70. package/lib/generated/services/braket.js +4 -4
  71. package/lib/generated/services/budgets.js +4 -4
  72. package/lib/generated/services/bugbust.js +3 -3
  73. package/lib/generated/services/cases.js +4 -4
  74. package/lib/generated/services/cassandra.js +4 -4
  75. package/lib/generated/services/ce.js +4 -4
  76. package/lib/generated/services/chatbot.js +4 -4
  77. package/lib/generated/services/chime.js +4 -4
  78. package/lib/generated/services/cleanrooms-ml.js +4 -4
  79. package/lib/generated/services/cleanrooms.js +4 -4
  80. package/lib/generated/services/cloud9.js +4 -4
  81. package/lib/generated/services/clouddirectory.js +3 -3
  82. package/lib/generated/services/cloudformation.js +4 -4
  83. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  84. package/lib/generated/services/cloudfront.js +4 -4
  85. package/lib/generated/services/cloudhsm.js +4 -4
  86. package/lib/generated/services/cloudsearch.js +3 -3
  87. package/lib/generated/services/cloudshell.js +3 -3
  88. package/lib/generated/services/cloudtrail-data.js +4 -4
  89. package/lib/generated/services/cloudtrail.js +4 -4
  90. package/lib/generated/services/cloudwatch.js +4 -4
  91. package/lib/generated/services/codeartifact.js +4 -4
  92. package/lib/generated/services/codebuild.js +4 -4
  93. package/lib/generated/services/codecatalyst.js +4 -4
  94. package/lib/generated/services/codecommit.js +4 -4
  95. package/lib/generated/services/codeconnections.js +4 -4
  96. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  97. package/lib/generated/services/codedeploy.js +4 -4
  98. package/lib/generated/services/codeguru-profiler.js +4 -4
  99. package/lib/generated/services/codeguru-reviewer.js +4 -4
  100. package/lib/generated/services/codeguru-security.js +4 -4
  101. package/lib/generated/services/codeguru.js +1 -1
  102. package/lib/generated/services/codepipeline.js +4 -4
  103. package/lib/generated/services/codestar-connections.js +4 -4
  104. package/lib/generated/services/codestar-notifications.js +4 -4
  105. package/lib/generated/services/codestar.js +3 -3
  106. package/lib/generated/services/codewhisperer.js +3 -3
  107. package/lib/generated/services/cognito-identity.js +4 -4
  108. package/lib/generated/services/cognito-idp.js +4 -4
  109. package/lib/generated/services/cognito-sync.js +3 -3
  110. package/lib/generated/services/comprehend.js +6 -5
  111. package/lib/generated/services/comprehendmedical.js +3 -3
  112. package/lib/generated/services/compute-optimizer.js +3 -3
  113. package/lib/generated/services/config.js +4 -4
  114. package/lib/generated/services/connect-campaigns.js +4 -4
  115. package/lib/generated/services/connect.js +4 -4
  116. package/lib/generated/services/consoleapp.js +2 -2
  117. package/lib/generated/services/consolidatedbilling.js +1 -1
  118. package/lib/generated/services/controlcatalog.js +3 -3
  119. package/lib/generated/services/controltower.js +4 -4
  120. package/lib/generated/services/cost-optimization-hub.js +2 -2
  121. package/lib/generated/services/cur.js +4 -4
  122. package/lib/generated/services/customer-verification.js +1 -1
  123. package/lib/generated/services/databrew.js +4 -4
  124. package/lib/generated/services/dataexchange.js +4 -4
  125. package/lib/generated/services/datapipeline.js +4 -4
  126. package/lib/generated/services/datasync.js +4 -4
  127. package/lib/generated/services/datazone.js +4 -4
  128. package/lib/generated/services/dax.js +4 -4
  129. package/lib/generated/services/dbqms.js +1 -1
  130. package/lib/generated/services/deadline.js +4 -4
  131. package/lib/generated/services/detective.js +4 -4
  132. package/lib/generated/services/devicefarm.js +4 -4
  133. package/lib/generated/services/devops-guru.js +4 -4
  134. package/lib/generated/services/directconnect.js +4 -4
  135. package/lib/generated/services/discovery.js +3 -3
  136. package/lib/generated/services/dlm.js +4 -4
  137. package/lib/generated/services/dms.js +4 -4
  138. package/lib/generated/services/docdb-elastic.js +4 -4
  139. package/lib/generated/services/drs.js +4 -4
  140. package/lib/generated/services/ds-data.js +4 -4
  141. package/lib/generated/services/ds.js +4 -4
  142. package/lib/generated/services/dsql.js +4 -4
  143. package/lib/generated/services/dynamodb.js +4 -4
  144. package/lib/generated/services/ebs.js +4 -4
  145. package/lib/generated/services/ec2-instance-connect.js +4 -4
  146. package/lib/generated/services/ec2.d.ts +2 -0
  147. package/lib/generated/services/ec2.js +7 -5
  148. package/lib/generated/services/ec2messages.js +2 -2
  149. package/lib/generated/services/ecr-public.js +4 -4
  150. package/lib/generated/services/ecr.js +4 -4
  151. package/lib/generated/services/ecs-mcp.js +1 -1
  152. package/lib/generated/services/ecs.js +4 -4
  153. package/lib/generated/services/eks-auth.js +4 -4
  154. package/lib/generated/services/eks-mcp.js +1 -1
  155. package/lib/generated/services/eks.js +4 -4
  156. package/lib/generated/services/elasticache.js +4 -4
  157. package/lib/generated/services/elasticbeanstalk.js +4 -4
  158. package/lib/generated/services/elasticfilesystem.js +4 -4
  159. package/lib/generated/services/elasticloadbalancing.js +4 -4
  160. package/lib/generated/services/elasticmapreduce.js +4 -4
  161. package/lib/generated/services/elastictranscoder.js +2 -2
  162. package/lib/generated/services/elemental-activations.js +1 -1
  163. package/lib/generated/services/elemental-appliances-software.js +2 -2
  164. package/lib/generated/services/elemental-inference.js +4 -4
  165. package/lib/generated/services/elemental-support-cases.js +3 -3
  166. package/lib/generated/services/elemental-support-content.js +1 -1
  167. package/lib/generated/services/emr-containers.js +4 -4
  168. package/lib/generated/services/emr-serverless.js +4 -4
  169. package/lib/generated/services/entityresolution.js +4 -4
  170. package/lib/generated/services/es.js +4 -4
  171. package/lib/generated/services/events.js +4 -4
  172. package/lib/generated/services/eventsbilltoaws.js +3 -3
  173. package/lib/generated/services/evidently.js +3 -3
  174. package/lib/generated/services/evs.d.ts +8 -0
  175. package/lib/generated/services/evs.js +15 -5
  176. package/lib/generated/services/execute-api.js +4 -4
  177. package/lib/generated/services/finops-agent.js +1 -1
  178. package/lib/generated/services/finspace-api.js +3 -3
  179. package/lib/generated/services/finspace.js +4 -4
  180. package/lib/generated/services/firehose.js +4 -4
  181. package/lib/generated/services/fis.js +4 -4
  182. package/lib/generated/services/fms.js +4 -4
  183. package/lib/generated/services/forecast.js +4 -4
  184. package/lib/generated/services/frauddetector.js +4 -4
  185. package/lib/generated/services/freertos.js +3 -3
  186. package/lib/generated/services/freetier.js +2 -2
  187. package/lib/generated/services/fsx.js +4 -4
  188. package/lib/generated/services/gamelift.js +4 -4
  189. package/lib/generated/services/gameliftstreams.js +4 -4
  190. package/lib/generated/services/geo-maps.js +3 -3
  191. package/lib/generated/services/geo-places.js +3 -3
  192. package/lib/generated/services/geo-routes.js +3 -3
  193. package/lib/generated/services/geo.js +4 -4
  194. package/lib/generated/services/glacier.js +4 -4
  195. package/lib/generated/services/globalaccelerator.js +4 -4
  196. package/lib/generated/services/glue.js +4 -4
  197. package/lib/generated/services/grafana.js +4 -4
  198. package/lib/generated/services/greengrass.js +4 -4
  199. package/lib/generated/services/groundstation.js +4 -4
  200. package/lib/generated/services/groundtruthlabeling.js +1 -1
  201. package/lib/generated/services/guardduty.js +4 -4
  202. package/lib/generated/services/health-agent.js +4 -4
  203. package/lib/generated/services/health.js +4 -4
  204. package/lib/generated/services/healthlake.js +6 -5
  205. package/lib/generated/services/honeycode.js +2 -2
  206. package/lib/generated/services/iam.js +4 -4
  207. package/lib/generated/services/identity-sync.js +2 -2
  208. package/lib/generated/services/identitystore-auth.js +1 -1
  209. package/lib/generated/services/identitystore.js +4 -4
  210. package/lib/generated/services/imagebuilder.js +4 -4
  211. package/lib/generated/services/importexport.js +2 -2
  212. package/lib/generated/services/inspector-scan.js +2 -2
  213. package/lib/generated/services/inspector.js +2 -2
  214. package/lib/generated/services/inspector2-telemetry.js +1 -1
  215. package/lib/generated/services/inspector2.js +4 -4
  216. package/lib/generated/services/interconnect.js +4 -4
  217. package/lib/generated/services/internetmonitor.js +4 -4
  218. package/lib/generated/services/invoicing.js +4 -4
  219. package/lib/generated/services/iot-device-tester.js +1 -1
  220. package/lib/generated/services/iot.js +4 -4
  221. package/lib/generated/services/iotanalytics.js +3 -3
  222. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  223. package/lib/generated/services/iotevents.js +3 -3
  224. package/lib/generated/services/iotfleethub.js +3 -3
  225. package/lib/generated/services/iotfleetwise.js +4 -4
  226. package/lib/generated/services/iotjobsdata.js +4 -4
  227. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  228. package/lib/generated/services/iotsitewise.js +4 -4
  229. package/lib/generated/services/iottwinmaker.js +4 -4
  230. package/lib/generated/services/iotwireless.js +4 -4
  231. package/lib/generated/services/iq-permission.js +2 -2
  232. package/lib/generated/services/iq.js +2 -2
  233. package/lib/generated/services/ivs.js +4 -4
  234. package/lib/generated/services/ivschat.js +4 -4
  235. package/lib/generated/services/kafka-cluster.js +3 -3
  236. package/lib/generated/services/kafka.js +4 -4
  237. package/lib/generated/services/kafkaconnect.js +4 -4
  238. package/lib/generated/services/kendra-ranking.js +4 -4
  239. package/lib/generated/services/kendra.js +4 -4
  240. package/lib/generated/services/kinesis.js +4 -4
  241. package/lib/generated/services/kinesisanalytics.js +4 -4
  242. package/lib/generated/services/kinesisvideo.js +4 -4
  243. package/lib/generated/services/kms.js +4 -4
  244. package/lib/generated/services/lakeformation.js +3 -3
  245. package/lib/generated/services/lambda.js +4 -4
  246. package/lib/generated/services/launchwizard.js +4 -4
  247. package/lib/generated/services/lex.js +4 -4
  248. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  249. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  250. package/lib/generated/services/license-manager.js +4 -4
  251. package/lib/generated/services/lightsail.js +4 -4
  252. package/lib/generated/services/logs.js +4 -4
  253. package/lib/generated/services/lookoutequipment.js +4 -4
  254. package/lib/generated/services/lookoutmetrics.js +3 -3
  255. package/lib/generated/services/lookoutvision.js +3 -3
  256. package/lib/generated/services/m2.js +4 -4
  257. package/lib/generated/services/machinelearning.js +3 -3
  258. package/lib/generated/services/macie2.js +4 -4
  259. package/lib/generated/services/managedblockchain-query.js +2 -2
  260. package/lib/generated/services/managedblockchain.js +4 -4
  261. package/lib/generated/services/mapcredits.js +2 -2
  262. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  263. package/lib/generated/services/mechanicalturk.js +2 -2
  264. package/lib/generated/services/mediaconnect.js +4 -4
  265. package/lib/generated/services/mediaconvert.js +4 -4
  266. package/lib/generated/services/mediaimport.js +1 -1
  267. package/lib/generated/services/medialive.js +4 -4
  268. package/lib/generated/services/mediapackage-vod.js +4 -4
  269. package/lib/generated/services/mediapackage.js +4 -4
  270. package/lib/generated/services/mediapackagev2.js +4 -4
  271. package/lib/generated/services/mediastore.js +4 -4
  272. package/lib/generated/services/mediatailor.js +4 -4
  273. package/lib/generated/services/medical-imaging.js +4 -4
  274. package/lib/generated/services/memorydb.js +4 -4
  275. package/lib/generated/services/mgh.js +4 -4
  276. package/lib/generated/services/mgn.js +4 -4
  277. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  278. package/lib/generated/services/migrationhub-strategy.js +2 -2
  279. package/lib/generated/services/mobileanalytics.js +1 -1
  280. package/lib/generated/services/mobiletargeting.js +4 -4
  281. package/lib/generated/services/monitron.js +3 -3
  282. package/lib/generated/services/mpa.js +4 -4
  283. package/lib/generated/services/mq.js +4 -4
  284. package/lib/generated/services/neptune-db.js +4 -4
  285. package/lib/generated/services/neptune-graph.js +4 -4
  286. package/lib/generated/services/network-firewall.js +4 -4
  287. package/lib/generated/services/network-security-director.js +1 -1
  288. package/lib/generated/services/networkflowmonitor.js +4 -4
  289. package/lib/generated/services/networkmanager-chat.js +1 -1
  290. package/lib/generated/services/networkmanager.js +4 -4
  291. package/lib/generated/services/networkmonitor.js +4 -4
  292. package/lib/generated/services/nimble.js +3 -3
  293. package/lib/generated/services/notifications-contacts.js +4 -4
  294. package/lib/generated/services/notifications.js +4 -4
  295. package/lib/generated/services/nova-act.js +3 -3
  296. package/lib/generated/services/oam.js +4 -4
  297. package/lib/generated/services/observabilityadmin.js +4 -4
  298. package/lib/generated/services/odb.js +8 -6
  299. package/lib/generated/services/omics.js +6 -9
  300. package/lib/generated/services/one.js +3 -3
  301. package/lib/generated/services/opensearch.js +3 -3
  302. package/lib/generated/services/opsworks-cm.js +2 -2
  303. package/lib/generated/services/opsworks.js +2 -2
  304. package/lib/generated/services/organizations.js +4 -4
  305. package/lib/generated/services/osis.js +4 -4
  306. package/lib/generated/services/outposts.js +4 -4
  307. package/lib/generated/services/panorama.js +3 -3
  308. package/lib/generated/services/partnercentral-account-management.js +2 -2
  309. package/lib/generated/services/partnercentral.js +4 -4
  310. package/lib/generated/services/payment-cryptography.d.ts +34 -0
  311. package/lib/generated/services/payment-cryptography.js +64 -5
  312. package/lib/generated/services/payments.js +3 -3
  313. package/lib/generated/services/pca-connector-ad.js +4 -4
  314. package/lib/generated/services/pca-connector-scep.js +4 -4
  315. package/lib/generated/services/pcs.js +4 -4
  316. package/lib/generated/services/personalize.js +4 -4
  317. package/lib/generated/services/pi.js +4 -4
  318. package/lib/generated/services/pipes.js +4 -4
  319. package/lib/generated/services/polly.js +3 -3
  320. package/lib/generated/services/pricing.js +2 -2
  321. package/lib/generated/services/pricingplanmanager.js +3 -3
  322. package/lib/generated/services/private-networks.js +3 -3
  323. package/lib/generated/services/profile.js +4 -4
  324. package/lib/generated/services/proton.js +4 -4
  325. package/lib/generated/services/purchase-orders.js +3 -3
  326. package/lib/generated/services/q.js +3 -3
  327. package/lib/generated/services/qapps.js +4 -4
  328. package/lib/generated/services/qbusiness.js +4 -4
  329. package/lib/generated/services/qdeveloper.js +3 -3
  330. package/lib/generated/services/qldb.js +3 -3
  331. package/lib/generated/services/quicksight.js +4 -4
  332. package/lib/generated/services/ram.js +4 -4
  333. package/lib/generated/services/rbin.js +4 -4
  334. package/lib/generated/services/rds-data.js +4 -4
  335. package/lib/generated/services/rds-db.js +2 -2
  336. package/lib/generated/services/rds.js +4 -4
  337. package/lib/generated/services/redshift-data.js +4 -4
  338. package/lib/generated/services/redshift-serverless.js +4 -4
  339. package/lib/generated/services/redshift.js +4 -4
  340. package/lib/generated/services/refactor-spaces.js +4 -4
  341. package/lib/generated/services/rekognition.js +4 -4
  342. package/lib/generated/services/repostspace.js +4 -4
  343. package/lib/generated/services/researchstudio.js +1 -1
  344. package/lib/generated/services/resiliencehub.js +13 -7
  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.d.ts +4 -0
  399. package/lib/generated/services/social-messaging.js +9 -5
  400. package/lib/generated/services/sqlworkbench.js +3 -3
  401. package/lib/generated/services/sqs.js +4 -4
  402. package/lib/generated/services/ssm-contacts.js +4 -4
  403. package/lib/generated/services/ssm-guiconnect.js +2 -2
  404. package/lib/generated/services/ssm-incidents.js +4 -4
  405. package/lib/generated/services/ssm-quicksetup.js +4 -4
  406. package/lib/generated/services/ssm-sap.js +4 -4
  407. package/lib/generated/services/ssm.js +4 -4
  408. package/lib/generated/services/ssmmessages.js +2 -2
  409. package/lib/generated/services/sso-directory.js +1 -1
  410. package/lib/generated/services/sso-oauth.js +3 -3
  411. package/lib/generated/services/sso.js +4 -4
  412. package/lib/generated/services/states.js +4 -4
  413. package/lib/generated/services/storagegateway.js +4 -4
  414. package/lib/generated/services/sts.js +4 -4
  415. package/lib/generated/services/support-console.js +1 -1
  416. package/lib/generated/services/support.js +2 -2
  417. package/lib/generated/services/supportapp.js +2 -2
  418. package/lib/generated/services/supportauthz.js +4 -4
  419. package/lib/generated/services/supportplans.js +1 -1
  420. package/lib/generated/services/sustainability.js +2 -2
  421. package/lib/generated/services/swf.js +4 -4
  422. package/lib/generated/services/synthetics.js +4 -4
  423. package/lib/generated/services/tag.js +2 -2
  424. package/lib/generated/services/tax.js +2 -2
  425. package/lib/generated/services/textract.js +4 -4
  426. package/lib/generated/services/thinclient.js +4 -4
  427. package/lib/generated/services/timestream-influxdb.js +4 -4
  428. package/lib/generated/services/timestream.js +4 -4
  429. package/lib/generated/services/tiros.js +1 -1
  430. package/lib/generated/services/tnb.js +4 -4
  431. package/lib/generated/services/transcribe.js +4 -4
  432. package/lib/generated/services/transfer.js +4 -4
  433. package/lib/generated/services/transform-custom.js +3 -3
  434. package/lib/generated/services/transform.js +3 -3
  435. package/lib/generated/services/translate.js +4 -4
  436. package/lib/generated/services/trustedadvisor.js +3 -3
  437. package/lib/generated/services/ts.js +3 -3
  438. package/lib/generated/services/user-subscriptions.js +2 -2
  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 ResiliencehubActions {
16
16
  }
17
17
  exports.ResiliencehubActions = ResiliencehubActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- ResiliencehubActions[_a] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubActions", version: "1.17.0" };
19
+ ResiliencehubActions[_a] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubActions", version: "1.19.0" };
20
20
  /** The IAM service prefix. */
21
21
  ResiliencehubActions.SERVICE_PREFIX = "resiliencehub";
22
22
  /** [Write] resiliencehub:AcceptResourceGroupingRecommendations */
@@ -656,7 +656,7 @@ class ResiliencehubResources {
656
656
  }
657
657
  exports.ResiliencehubResources = ResiliencehubResources;
658
658
  _b = JSII_RTTI_SYMBOL_1;
659
- ResiliencehubResources[_b] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubResources", version: "1.17.0" };
659
+ ResiliencehubResources[_b] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubResources", version: "1.19.0" };
660
660
  /**
661
661
  * API operation to required IAM actions mapping for resiliencehub.
662
662
  */
@@ -664,7 +664,7 @@ class ResiliencehubOperations {
664
664
  }
665
665
  exports.ResiliencehubOperations = ResiliencehubOperations;
666
666
  _c = JSII_RTTI_SYMBOL_1;
667
- ResiliencehubOperations[_c] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubOperations", version: "1.17.0" };
667
+ ResiliencehubOperations[_c] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubOperations", version: "1.19.0" };
668
668
  /** IAM actions required for the AcceptResourceGroupingRecommendations API call. */
669
669
  ResiliencehubOperations.AcceptResourceGroupingRecommendations = [
670
670
  "resiliencehub:AcceptResourceGroupingRecommendations",
@@ -734,7 +734,10 @@ ResiliencehubOperations.CreateSystem = [
734
734
  "resiliencehub:TagResource",
735
735
  ];
736
736
  /** IAM actions required for the CreateTest API call. */
737
- ResiliencehubOperations.CreateTest = ["resiliencehub:CreateTest"];
737
+ ResiliencehubOperations.CreateTest = [
738
+ "resiliencehub:CreateTest",
739
+ "iam:PassRole",
740
+ ];
738
741
  /** IAM actions required for the CreateUserJourney API call. */
739
742
  ResiliencehubOperations.CreateUserJourney = [
740
743
  "resiliencehub:CreateUserJourney",
@@ -1105,7 +1108,10 @@ ResiliencehubOperations.UpdateServiceFunction = [
1105
1108
  /** IAM actions required for the UpdateSystem API call. */
1106
1109
  ResiliencehubOperations.UpdateSystem = ["resiliencehub:UpdateSystem"];
1107
1110
  /** IAM actions required for the UpdateTest API call. */
1108
- ResiliencehubOperations.UpdateTest = ["resiliencehub:UpdateTest"];
1111
+ ResiliencehubOperations.UpdateTest = [
1112
+ "iam:PassRole",
1113
+ "resiliencehub:UpdateTest",
1114
+ ];
1109
1115
  /** IAM actions required for the UpdateUserJourney API call. */
1110
1116
  ResiliencehubOperations.UpdateUserJourney = [
1111
1117
  "resiliencehub:UpdateUserJourney",
@@ -1135,7 +1141,7 @@ class ResiliencehubConditions {
1135
1141
  }
1136
1142
  exports.ResiliencehubConditions = ResiliencehubConditions;
1137
1143
  _d = JSII_RTTI_SYMBOL_1;
1138
- ResiliencehubConditions[_d] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubConditions", version: "1.17.0" };
1144
+ ResiliencehubConditions[_d] = { fqn: "@cdk_utils/iam.resiliencehub.ResiliencehubConditions", version: "1.19.0" };
1139
1145
  /** Condition keys applicable to the CreateApp action. */
1140
1146
  ResiliencehubConditions.CreateAppConditionKeys = [
1141
1147
  "aws:RequestTag/${TagKey}",
@@ -1169,4 +1175,4 @@ ResiliencehubConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
1169
1175
  ResiliencehubConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1170
1176
  /** Condition key: aws:TagKeys (ArrayOfString) */
1171
1177
  ResiliencehubConditions.AWS_TAG_KEYS = "aws:TagKeys";
1172
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaWxpZW5jZWh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcmVzaWxpZW5jZWh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNjQzs7O0FBcmNBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELGtFQUFrRTtBQUNsRCwwREFBcUMsR0FDcEQscURBQXFELENBQUM7QUFDdkQsK0RBQStEO0FBQy9DLHVEQUFrQyxHQUNqRCxrREFBa0QsQ0FBQztBQUNwRCw0REFBNEQ7QUFDNUMsb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELHNDQUFzQztBQUN0Qiw4QkFBUyxHQUFHLHlCQUF5QixDQUFDO0FBQ3RELHlEQUF5RDtBQUN6QyxpREFBNEIsR0FDM0MsNENBQTRDLENBQUM7QUFDOUMscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFZLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGlEQUE0QixHQUMzQyw0Q0FBNEMsQ0FBQztBQUM5Qyx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCxtREFBbUQ7QUFDbkMsMkNBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxx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Q0FDYixDQUFDO0FBQ0Ysc0VBQXNFO0FBQ3RELDJEQUFtQyxHQUFhO0lBQy9ELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCx1REFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwyREFBMkQ7QUFDM0MsZ0RBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGtEQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLHVDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHdDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxvQ0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL3Jlc2lsaWVuY2VodWIuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHJlc2lsaWVuY2VodWIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlc2lsaWVuY2VodWJBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwicmVzaWxpZW5jZWh1YlwiO1xuXG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6QWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6QWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHAgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUFzc2VydGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXJ0aW9uID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZUFzc2VydGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUlucHV0U291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnB1dFNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVJbnB1dFNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5ID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlUmVwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBvcnQgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlUmVzaWxpZW5jeVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlc2lsaWVuY3lQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VGdW5jdGlvbiA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVN5c3RlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3lzdGVtID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVN5c3RlbVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVRlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRlc3QgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlVGVzdFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVVzZXJKb3VybmV5ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VySm91cm5leSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVVc2VySm91cm5leVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcEFzc2Vzc21lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcEFzc2Vzc21lbnQgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwQXNzZXNzbWVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcElucHV0U291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBJbnB1dFNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBJbnB1dFNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXBwVmVyc2lvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBWZXJzaW9uUmVzb3VyY2UgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc2VydGlvbiA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVJbnB1dFNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5wdXRTb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlSW5wdXRTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc2lsaWVuY3lQb2xpY3kgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVSZXNpbGllbmN5UG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb24gPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVTeXN0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN5c3RlbSA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVTeXN0ZW1cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVUZXN0ID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVRlc3RcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGVzdFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlVXNlckpvdXJuZXlcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcCA9IFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEFzc2Vzc21lbnQgPSBcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbiA9IFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25cIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVNZXRyaWNzRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU1ldHJpY3NFeHBvcnQgPSBcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVNZXRyaWNzRXhwb3J0XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlUmVzaWxpZW5jeVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldEZhaWx1cmVNb2RlRmluZGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0RmFpbHVyZU1vZGVGaW5kaW5nID1cblx0XHRcInJlc2lsaWVuY2VodWI6R2V0RmFpbHVyZU1vZGVGaW5kaW5nXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpHZXRQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFNlcnZpY2UgPSBcInJlc2lsaWVuY2VodWI6R2V0U2VydmljZVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0U3lzdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTeXN0ZW0gPSBcInJlc2lsaWVuY2VodWI6R2V0U3lzdGVtXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUZXN0ID0gXCJyZXNpbGllbmNlaHViOkdldFRlc3RcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFRlc3RSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFRlc3RSdW4gPSBcInJlc2lsaWVuY2VodWI6R2V0VGVzdFJ1blwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0VGVzdFRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUZXN0VGVtcGxhdGUgPSBcInJlc2lsaWVuY2VodWI6R2V0VGVzdFRlbXBsYXRlXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6R2V0VXNlckpvdXJuZXlcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpJbXBvcnRBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEFwcCA9IFwicmVzaWxpZW5jZWh1YjpJbXBvcnRBcHBcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpJbXBvcnRQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydFBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpJbXBvcnRQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb24gPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvblwiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFsYXJtUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQ29tcG9uZW50Q29tcGxpYW5jZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBJbnB1dFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbnB1dFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcElucHV0U291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvbkFwcENvbXBvbmVudHMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvbkFwcENvbXBvbmVudHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvbnMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25zXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFwcHNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RBc3NlcnRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXNzZXJ0aW9ucyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0QXNzZXJ0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdERlcGVuZGVuY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdERlcGVuZGVuY2llcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0RGVwZW5kZW5jaWVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlRmluZGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUZpbmRpbmdzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlRmluZGluZ3NcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RJbnB1dFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnB1dFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdElucHV0U291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdE1ldHJpY3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRyaWNzID0gXCJyZXNpbGllbmNlaHViOkxpc3RNZXRyaWNzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0UG9saWNpZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RSZWNvbW1lbmRhdGlvblRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVwb3J0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9ydHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFJlcG9ydHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RSZXNpbGllbmN5UG9saWNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNpbGllbmN5UG9saWNpZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzaWxpZW5jeVBvbGljaWVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RSZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VFdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRXZlbnRzID0gXCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZUZ1bmN0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VGdW5jdGlvbnMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VGdW5jdGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RTb3BSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb3BSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U29wUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFN5c3RlbUV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbUV2ZW50cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtRXZlbnRzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFN5c3RlbXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSZWNvbW1lbmRhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJ1bkV2ZW50cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bkV2ZW50c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJ1blNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVucyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0U291cmNlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RUZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0VGVtcGxhdGVzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0VGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VXNlckpvdXJuZXlzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VXNlckpvdXJuZXlzID0gXCJyZXNpbGllbmNlaHViOkxpc3RVc2VySm91cm5leXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpQdWJsaXNoQXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaEFwcFZlcnNpb24gPSBcInJlc2lsaWVuY2VodWI6UHVibGlzaEFwcFZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGUgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlB1dFRlc3RTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUZXN0U291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpQdXRUZXN0U291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0QXBwQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBcHBBc3Nlc3NtZW50ID0gXCJyZXNpbGllbmNlaHViOlN0YXJ0QXBwQXNzZXNzbWVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRNZXRyaWNzRXhwb3J0ICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE1ldHJpY3NFeHBvcnQgPSBcInJlc2lsaWVuY2VodWI6U3RhcnRNZXRyaWNzRXhwb3J0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdGFydFRlc3RSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0VGVzdFJ1biA9IFwicmVzaWxpZW5jZWh1YjpTdGFydFRlc3RSdW5cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdG9wVGVzdFJ1biAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRlc3RSdW4gPSBcInJlc2lsaWVuY2VodWI6U3RvcFRlc3RSdW5cIjtcblx0LyoqIFtUYWdnaW5nXSByZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIHJlc2lsaWVuY2VodWI6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwicmVzaWxpZW5jZWh1YjpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHAgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbiA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUFzc2VydGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXNzZXJ0aW9uID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZUFzc2VydGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZURlcGVuZGVuY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURlcGVuZGVuY3kgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlRGVwZW5kZW5jeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlRmFpbHVyZU1vZGVGaW5kaW5nID1cblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlRmFpbHVyZU1vZGVGaW5kaW5nXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQb2xpY3kgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlUmVzaWxpZW5jeVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzaWxpZW5jeVBvbGljeSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlRnVuY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2VGdW5jdGlvbiA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlRnVuY3Rpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVTeXN0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5c3RlbSA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVTeXN0ZW1cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVUZXN0ID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVRlc3RcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXlcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcEFzc2Vzc21lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBWZXJzaW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlTWV0cmljc0V4cG9ydCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZVJlc2lsaWVuY3lQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldEZhaWx1cmVNb2RlRmluZGluZyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0U2VydmljZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0VGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRUZXN0UnVuLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFRlc3RUZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRVc2VySm91cm5leSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXNzZXJ0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0RGVwZW5kZW5jaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RJbnB1dFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFBvbGljaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXBvcnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZUV2ZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZUZ1bmN0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U2VydmljZVRvcG9sb2d5RWRnZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFNlcnZpY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTeXN0ZW1FdmVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFN5c3RlbXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJ1bkV2ZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJ1blNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RSdW5zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFRlbXBsYXRlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFVzZXJKb3VybmV5cyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5BY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlQXNzZXJ0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZUlucHV0U291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVJlcG9ydCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVSZXNpbGllbmN5UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVNlcnZpY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlU2VydmljZUZ1bmN0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlVGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVVc2VySm91cm5leSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXBwQXNzZXNzbWVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHBJbnB1dFNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBc3NlcnRpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlSW5wdXRTb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlUG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlUmVzaWxpZW5jeVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVTZXJ2aWNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVNlcnZpY2VGdW5jdGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlU3lzdGVtLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVRlc3QsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlVGVzdFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlVXNlckpvdXJuZXksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuSW1wb3J0QXBwLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkltcG9ydFBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5JbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5QdWJsaXNoQXBwVmVyc2lvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5QdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5QdXRUZXN0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5SZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRBcHBBc3Nlc3NtZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0TWV0cmljc0V4cG9ydCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2ssXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRUZXN0UnVuLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0b3BUZXN0UnVuLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVBcHBWZXJzaW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlQXBwVmVyc2lvblJlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFzc2VydGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVEZXBlbmRlbmN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlUmVzaWxpZW5jeVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVTZXJ2aWNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVNlcnZpY2VGdW5jdGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVTeXN0ZW0sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlVGVzdCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVVc2VySm91cm5leSxcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBBc3Nlc3NtZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQ29tcG9uZW50Q29tcGxpYW5jZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwSW5wdXRTb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcFZlcnNpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RNZXRyaWNzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZWNvbW1lbmRhdGlvblRlbXBsYXRlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVzaWxpZW5jeVBvbGljaWVzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTb3BSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFJlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXBwLWFzc2Vzc21lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcEFzc2Vzc21lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXBwQXNzZXNzbWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwLWFzc2Vzc21lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBcHBBc3Nlc3NtZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBBc3Nlc3NtZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcGxpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViQXBwbGljYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXBwbGljYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUG9saWN5QXJuUHJvcHMge1xuXHQvKiogVGhlIFBvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlBvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9saWN5SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb2xpY3lJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlc2lsaWVuY3ktcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUmVzaWxpZW5jeVBvbGljeUFyblByb3BzIHtcblx0LyoqIFRoZSBSZXNpbGllbmN5UG9saWN5SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlc2lsaWVuY3lQb2xpY3lJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlc2lsaWVuY3ktcG9saWN5IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUmVzaWxpZW5jeVBvbGljeUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVzaWxpZW5jeVBvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVzaWxpZW5jeVBvbGljeUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViU2VydmljZUFyblByb3BzIHtcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHNlcnZpY2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHNlcnZpY2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJTZXJ2aWNlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZXJ2aWNlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHN5c3RlbSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlN5c3RlbUFyblByb3BzIHtcblx0LyoqIFRoZSBTeXN0ZW1JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc3lzdGVtSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzeXN0ZW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJTeXN0ZW1Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFN5c3RlbUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc3lzdGVtSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHRlc3QtdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgVGVzdFRlbXBsYXRlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHRlc3RUZW1wbGF0ZUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdGVzdC10ZW1wbGF0ZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlRlc3RUZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVGVzdFRlbXBsYXRlSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0ZXN0VGVtcGxhdGVJZDogc3RyaW5nO1xufVxuXG5jb25zdCBBcHBBc3Nlc3NtZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHAtYXNzZXNzbWVudFxcLyg/PGFwcEFzc2Vzc21lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQXBwbGljYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmFwcFxcLyg/PGFwcElkPlteOi8/XSspJC87XG5jb25zdCBQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBvbGljeVxcLyg/PHBvbGljeUlkPlteOi8/XSspJC87XG5jb25zdCBSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZVxcLyg/PHJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZD5bXjovP10rKSQvO1xuY29uc3QgUmVzaWxpZW5jeVBvbGljeUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVzaWxpZW5jeS1wb2xpY3lcXC8oPzxyZXNpbGllbmN5UG9saWN5SWQ+W146Lz9dKykkLztcbmNvbnN0IFNlcnZpY2VBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnNlcnZpY2VcXC8oPzxzZXJ2aWNlSWQ+W146Lz9dKykkLztcbmNvbnN0IFN5c3RlbUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c3lzdGVtXFwvKD88c3lzdGVtSWQ+W146Lz9dKykkLztcbmNvbnN0IFRlc3RUZW1wbGF0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dGVzdC10ZW1wbGF0ZVxcLyg/PHRlc3RUZW1wbGF0ZUlkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgcmVzaWxpZW5jZWh1YiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhcHAtYXNzZXNzbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBhcHBBc3Nlc3NtZW50KHByb3BzOiBSZXNpbGllbmNlaHViQXBwQXNzZXNzbWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC1hc3Nlc3NtZW50LyR7cHJvcHMuYXBwQXNzZXNzbWVudElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHAtYXNzZXNzbWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwQXNzZXNzbWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBBcHBBc3Nlc3NtZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcC1hc3Nlc3NtZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcEFzc2Vzc21lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJBcHBBc3Nlc3NtZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBBcHBBc3Nlc3NtZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcC1hc3Nlc3NtZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcEFzc2Vzc21lbnRJZDogbWF0Y2guZ3JvdXBzIS5hcHBBc3Nlc3NtZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwbGljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwbGljYXRpb24ocHJvcHM6IFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmFwcC8ke3Byb3BzLmFwcElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBhcHBsaWNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQXBwbGljYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwbGljYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYXBwbGljYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQXBwbGljYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJBcHBsaWNhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwbGljYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXBwbGljYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0YXBwSWQ6IG1hdGNoLmdyb3VwcyEuYXBwSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvbGljeShwcm9wczogUmVzaWxpZW5jZWh1YlBvbGljeUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBvbGljeS8ke3Byb3BzLnBvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBwb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb2xpY3lBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBvbGljeUFybihhcm46IHN0cmluZyk6IFJlc2lsaWVuY2VodWJQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwb2xpY3kgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEucG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVjb21tZW5kYXRpb25UZW1wbGF0ZShcblx0XHRwcm9wczogUmVzaWxpZW5jZWh1YlJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlY29tbWVuZGF0aW9uLXRlbXBsYXRlLyR7cHJvcHMucmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZDogbWF0Y2guZ3JvdXBzIS5yZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVzaWxpZW5jeS1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVzaWxpZW5jeVBvbGljeShcblx0XHRwcm9wczogUmVzaWxpZW5jZWh1YlJlc2lsaWVuY3lQb2xpY3lBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlc2lsaWVuY3ktcG9saWN5LyR7cHJvcHMucmVzaWxpZW5jeVBvbGljeUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXNpbGllbmN5LXBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVzaWxpZW5jeVBvbGljeUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXNpbGllbmN5UG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHJlc2lsaWVuY3ktcG9saWN5IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlc2lsaWVuY3lQb2xpY3lBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJSZXNpbGllbmN5UG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXNpbGllbmN5UG9saWN5QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlc2lsaWVuY3ktcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlc2lsaWVuY3lQb2xpY3lJZDogbWF0Y2guZ3JvdXBzIS5yZXNpbGllbmN5UG9saWN5SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc2VydmljZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZXJ2aWNlKHByb3BzOiBSZXNpbGllbmNlaHViU2VydmljZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlcnZpY2UvJHtwcm9wcy5zZXJ2aWNlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VydmljZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBzZXJ2aWNlIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVNlcnZpY2VBcm4oYXJuOiBzdHJpbmcpOiBSZXNpbGllbmNlaHViU2VydmljZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VydmljZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzZXJ2aWNlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlcnZpY2VJZDogbWF0Y2guZ3JvdXBzIS5zZXJ2aWNlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgc3lzdGVtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHN5c3RlbShwcm9wczogUmVzaWxpZW5jZWh1YlN5c3RlbUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpyZXNpbGllbmNlaHViOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnN5c3RlbS8ke3Byb3BzLnN5c3RlbUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzeXN0ZW0gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFN5c3RlbUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTeXN0ZW1Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc3lzdGVtIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVN5c3RlbUFybihhcm46IHN0cmluZyk6IFJlc2lsaWVuY2VodWJTeXN0ZW1Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFN5c3RlbUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzeXN0ZW0gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0c3lzdGVtSWQ6IG1hdGNoLmdyb3VwcyEuc3lzdGVtSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgdGVzdC10ZW1wbGF0ZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB0ZXN0VGVtcGxhdGUocHJvcHM6IFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0ZXN0LXRlbXBsYXRlLyR7cHJvcHMudGVzdFRlbXBsYXRlSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHRlc3QtdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRlc3RUZW1wbGF0ZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBUZXN0VGVtcGxhdGVBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdGVzdC10ZW1wbGF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VUZXN0VGVtcGxhdGVBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRlc3RUZW1wbGF0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0ZXN0LXRlbXBsYXRlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHRlc3RUZW1wbGF0ZUlkOiBtYXRjaC5ncm91cHMhLnRlc3RUZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHJlc2lsaWVuY2VodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6QWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXNzZXJ0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXNzZXJ0aW9uOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXNzZXJ0aW9uXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVJbnB1dFNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUlucHV0U291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlSW5wdXRTb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUG9saWN5XCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBvcnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBvcnQ6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpDcmVhdGVSZXBvcnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXNpbGllbmN5UG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVzaWxpZW5jeVBvbGljeVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN5c3RlbTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVN5c3RlbVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVUZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVGVzdDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkNyZWF0ZVRlc3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVVzZXJKb3VybmV5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckpvdXJuZXk6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVVc2VySm91cm5leVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHA6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwQXNzZXNzbWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHBJbnB1dFNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcElucHV0U291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwSW5wdXRTb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUlucHV0U291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSW5wdXRTb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVJbnB1dFNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3k6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlRnVuY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZVN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUZXN0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlVXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVVc2VySm91cm5leTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVVzZXJKb3VybmV5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHA6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBBc3Nlc3NtZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlTWV0cmljc0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTWV0cmljc0V4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlTWV0cmljc0V4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldEZhaWx1cmVNb2RlRmluZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0RmFpbHVyZU1vZGVGaW5kaW5nOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6R2V0RmFpbHVyZU1vZGVGaW5kaW5nXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTZXJ2aWNlOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0U2VydmljZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3lzdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTeXN0ZW06IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRTeXN0ZW1cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRlc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0VGVzdFJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGVzdFRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRUZXN0VGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpHZXRUZXN0VGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6R2V0VXNlckpvdXJuZXlcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydEFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydEFwcDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkltcG9ydEFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6SW1wb3J0UG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6SW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFsYXJtUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEFzc2Vzc21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRDb21wbGlhbmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcElucHV0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBJbnB1dFNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwSW5wdXRTb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcFZlcnNpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RBcHBzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXNzZXJ0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBc3NlcnRpb25zOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdEFzc2VydGlvbnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3REZXBlbmRlbmNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RGVwZW5kZW5jaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdERlcGVuZGVuY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEZhaWx1cmVNb2RlRmluZGluZ3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmFpbHVyZU1vZGVGaW5kaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RJbnB1dFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5wdXRTb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdElucHV0U291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0TWV0cmljcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RNZXRyaWNzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdE1ldHJpY3NcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb2xpY2llczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RQb2xpY2llc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlY29tbWVuZGF0aW9uVGVtcGxhdGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXBvcnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9ydHM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0UmVwb3J0c1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc2lsaWVuY3lQb2xpY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNpbGllbmN5UG9saWNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzaWxpZW5jeVBvbGljaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VFdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VGdW5jdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZUZ1bmN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRnVuY3Rpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTb3BSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29wUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNvcFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN5c3RlbUV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtRXZlbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTeXN0ZW1zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0U3lzdGVtc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFJ1bkV2ZW50cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuRXZlbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5FdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RSdW5Tb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5Tb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5Tb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UnVucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0UnVuczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFVzZXJKb3VybmV5cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RVc2VySm91cm5leXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VXNlckpvdXJuZXlzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1Ymxpc2hBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHVibGlzaEFwcFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpQdWJsaXNoQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6UHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0VGVzdFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRUZXN0U291cmNlczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlB1dFRlc3RTb3VyY2VzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEFwcEFzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydEFwcEFzc2Vzc21lbnRcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0TWV0cmljc0V4cG9ydCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0TWV0cmljc0V4cG9ydDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0TWV0cmljc0V4cG9ydFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6U3RhcnRUZXN0UnVuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdG9wVGVzdFJ1biBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUZXN0UnVuOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6U3RvcFRlc3RSdW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVbnRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBc3NlcnRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBc3NlcnRpb246IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVBc3NlcnRpb25cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZURlcGVuZGVuY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXBlbmRlbmN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlRGVwZW5kZW5jeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmcgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6VXBkYXRlUG9saWN5XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZVNlcnZpY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VydmljZUZ1bmN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZUZ1bmN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZUZ1bmN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVN5c3RlbSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlVwZGF0ZVN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVRlc3Q6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVUZXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVVc2VySm91cm5leSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXlcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHJlc2lsaWVuY2VodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRBcHBBc3Nlc3NtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwQXNzZXNzbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19
1178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaWxpZW5jZWh1Yi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMvcmVzaWxpZW5jZWh1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxvQkFBb0I7O0FBQWpDLG9EQXNjQzs7O0FBcmNBLDhCQUE4QjtBQUNkLG1DQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELGtFQUFrRTtBQUNsRCwwREFBcUMsR0FDcEQscURBQXFELENBQUM7QUFDdkQsK0RBQStEO0FBQy9DLHVEQUFrQyxHQUNqRCxrREFBa0QsQ0FBQztBQUNwRCw0REFBNEQ7QUFDNUMsb0RBQStCLEdBQzlDLCtDQUErQyxDQUFDO0FBQ2pELHNDQUFzQztBQUN0Qiw4QkFBUyxHQUFHLHlCQUF5QixDQUFDO0FBQ3RELHlEQUF5RDtBQUN6QyxpREFBNEIsR0FDM0MsNENBQTRDLENBQUM7QUFDOUMscURBQXFEO0FBQ3JDLDZDQUF3QixHQUN2Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIsb0NBQWUsR0FBRywrQkFBK0IsQ0FBQztBQUNsRSw4Q0FBOEM7QUFDOUIsc0NBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFZLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQseURBQXlEO0FBQ3pDLGlEQUE0QixHQUMzQyw0Q0FBNEMsQ0FBQztBQUM5Qyx5Q0FBeUM7QUFDekIsaUNBQVksR0FBRyw0QkFBNEIsQ0FBQztBQUM1RCxtREFBbUQ7QUFDbkMsMkNBQXNCLEdBQ3JDLHNDQUFzQyxDQUFDO0FBQ3hDLDBDQUEwQztBQUMxQixrQ0FBYSxHQUFHLDZCQUE2QixDQUFDO0FBQzlELGtEQUFrRDtBQUNsQywwQ0FBcUIsR0FBRyxx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Q3JFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLHNFQUFzRTtBQUN0RCwyREFBbUMsR0FBYTtJQUMvRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRixrRUFBa0U7QUFDbEQsdURBQStCLEdBQWE7SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLGdEQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3QyxrREFBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2Qyx1Q0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4Qyx3Q0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsb0NBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9yZXNpbGllbmNlaHViLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSByZXNpbGllbmNlaHViIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInJlc2lsaWVuY2VodWJcIjtcblxuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6QWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6QmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1c1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2UgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBWZXJzaW9uUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVBc3NlcnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2VydGlvbiA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBc3NlcnRpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVJbnB1dFNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSW5wdXRTb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlSW5wdXRTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvbGljeSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVQb2xpY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlID1cblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVJlcG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwb3J0ID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlcG9ydFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkNyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVSZXNpbGllbmN5UG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb24gPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVTeXN0ZW0gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN5c3RlbSA9IFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTeXN0ZW1cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVUZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVUZXN0ID0gXCJyZXNpbGllbmNlaHViOkNyZWF0ZVRlc3RcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpDcmVhdGVVc2VySm91cm5leSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVXNlckpvdXJuZXkgPSBcInJlc2lsaWVuY2VodWI6Q3JlYXRlVXNlckpvdXJuZXlcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBcHAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcCA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBcHBBc3Nlc3NtZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBBc3Nlc3NtZW50ID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcEFzc2Vzc21lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBcHBJbnB1dFNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwSW5wdXRTb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwSW5wdXRTb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50ID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25SZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwVmVyc2lvblJlc291cmNlID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwVmVyc2lvblJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlQXNzZXJ0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBc3NlcnRpb24gPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlQXNzZXJ0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlSW5wdXRTb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUlucHV0U291cmNlID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZUlucHV0U291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb2xpY3kgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpEZWxldGVSZXNpbGllbmN5UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNpbGllbmN5UG9saWN5ID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVzaWxpZW5jeVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2UgPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VGdW5jdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUZ1bmN0aW9uID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VGdW5jdGlvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlU3lzdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTeXN0ZW0gPSBcInJlc2lsaWVuY2VodWI6RGVsZXRlU3lzdGVtXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGVzdCA9IFwicmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlVGVzdFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRlc3RTb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVRlc3RTb3VyY2VzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6RGVsZXRlVXNlckpvdXJuZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJKb3VybmV5ID0gXCJyZXNpbGllbmNlaHViOkRlbGV0ZVVzZXJKb3VybmV5XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHAgPSBcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBBc3Nlc3NtZW50ID0gXCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwQXNzZXNzbWVudFwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcFZlcnNpb24gPSBcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudCA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGUgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlTWV0cmljc0V4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRyaWNzRXhwb3J0ID0gXCJyZXNpbGllbmNlaHViOkRlc2NyaWJlTWV0cmljc0V4cG9ydFwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNpbGllbmN5UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3kgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc2lsaWVuY3lQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkRlc2NyaWJlUmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrID1cblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRGYWlsdXJlTW9kZUZpbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEZhaWx1cmVNb2RlRmluZGluZyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkdldEZhaWx1cmVNb2RlRmluZGluZ1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRQb2xpY3kgPSBcInJlc2lsaWVuY2VodWI6R2V0UG9saWN5XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRTZXJ2aWNlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTZXJ2aWNlID0gXCJyZXNpbGllbmNlaHViOkdldFNlcnZpY2VcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFN5c3RlbSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U3lzdGVtID0gXCJyZXNpbGllbmNlaHViOkdldFN5c3RlbVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0VGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGVzdCA9IFwicmVzaWxpZW5jZWh1YjpHZXRUZXN0XCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpHZXRUZXN0UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRUZXN0UnVuID0gXCJyZXNpbGllbmNlaHViOkdldFRlc3RSdW5cIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkdldFRlc3RUZW1wbGF0ZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0VGVzdFRlbXBsYXRlID0gXCJyZXNpbGllbmNlaHViOkdldFRlc3RUZW1wbGF0ZVwiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6R2V0VXNlckpvdXJuZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFVzZXJKb3VybmV5ID0gXCJyZXNpbGllbmNlaHViOkdldFVzZXJKb3VybmV5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6SW1wb3J0QXBwICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRBcHAgPSBcInJlc2lsaWVuY2VodWI6SW1wb3J0QXBwXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6SW1wb3J0UG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRQb2xpY3kgPSBcInJlc2lsaWVuY2VodWI6SW1wb3J0UG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6SW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uID1cblx0XHRcInJlc2lsaWVuY2VodWI6SW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb25cIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBbGFybVJlY29tbWVuZGF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFsYXJtUmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFsYXJtUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudENvbXBsaWFuY2VEcmlmdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50Q29tcGxpYW5jZURyaWZ0c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0cyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRzID0gXCJyZXNpbGllbmNlaHViOkxpc3RBcHBBc3Nlc3NtZW50c1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQ29tcG9uZW50Q29tcGxpYW5jZXMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwQ29tcG9uZW50Q29tcGxpYW5jZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnMgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwSW5wdXRTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwSW5wdXRTb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RBcHBJbnB1dFNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uQXBwQ29tcG9uZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uUmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25SZXNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25zID0gXCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdEFwcHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBzID0gXCJyZXNpbGllbmNlaHViOkxpc3RBcHBzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0QXNzZXJ0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2VydGlvbnMgPSBcInJlc2lsaWVuY2VodWI6TGlzdEFzc2VydGlvbnNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3REZXBlbmRlbmNpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXBlbmRlbmNpZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdERlcGVuZGVuY2llc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0RmFpbHVyZU1vZGVGaW5kaW5ncyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RGYWlsdXJlTW9kZUZpbmRpbmdzXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0SW5wdXRTb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SW5wdXRTb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RJbnB1dFNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RNZXRyaWNzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TWV0cmljcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0TWV0cmljc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9saWNpZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFBvbGljaWVzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWNvbW1lbmRhdGlvblRlbXBsYXRlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RSZWNvbW1lbmRhdGlvblRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFJlcG9ydHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXBvcnRzID0gXCJyZXNpbGllbmNlaHViOkxpc3RSZXBvcnRzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVzaWxpZW5jeVBvbGljaWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzaWxpZW5jeVBvbGljaWVzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFJlc2lsaWVuY3lQb2xpY2llc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXNcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVzb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RSZXNvdXJjZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRXZlbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZUV2ZW50cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZUV2ZW50c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VGdW5jdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRnVuY3Rpb25zID0gXCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlRnVuY3Rpb25zXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZVRvcG9sb2d5RWRnZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlVG9wb2xvZ3lFZGdlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U2VydmljZXMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0U29wUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U29wUmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNvcFJlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIHJlc2lsaWVuY2VodWI6TGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llcyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RTeXN0ZW1FdmVudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1FdmVudHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFN5c3RlbUV2ZW50c1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFN5c3RlbXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeXN0ZW1zID0gXCJyZXNpbGllbmNlaHViOkxpc3RTeXN0ZW1zXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJyZXNpbGllbmNlaHViOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtMaXN0XSByZXNpbGllbmNlaHViOkxpc3RUZXN0UmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJlY29tbWVuZGF0aW9ucyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UmVjb21tZW5kYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bkV2ZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5FdmVudHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5FdmVudHNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuU291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5Tb3VyY2VzID0gXCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UnVuU291cmNlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJ1bnMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5zXCI7XG5cdC8qKiBbUmVhZF0gcmVzaWxpZW5jZWh1YjpMaXN0VGVzdFNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUZXN0U291cmNlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFNvdXJjZXNcIjtcblx0LyoqIFtSZWFkXSByZXNpbGllbmNlaHViOkxpc3RUZXN0VGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFRlbXBsYXRlcyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFRlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdHMgPSBcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RzXCI7XG5cdC8qKiBbTGlzdF0gcmVzaWxpZW5jZWh1YjpMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlc1wiO1xuXHQvKiogW1JlYWRdIHJlc2lsaWVuY2VodWI6TGlzdFVzZXJKb3VybmV5cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJKb3VybmV5cyA9IFwicmVzaWxpZW5jZWh1YjpMaXN0VXNlckpvdXJuZXlzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UHVibGlzaEFwcFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1Ymxpc2hBcHBWZXJzaW9uID0gXCJyZXNpbGllbmNlaHViOlB1Ymxpc2hBcHBWZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlID1cblx0XHRcInJlc2lsaWVuY2VodWI6UHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGVcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpQdXRUZXN0U291cmNlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0VGVzdFNvdXJjZXMgPSBcInJlc2lsaWVuY2VodWI6UHV0VGVzdFNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zID1cblx0XHRcInJlc2lsaWVuY2VodWI6UmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3MgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6UmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzID1cblx0XHRcInJlc2lsaWVuY2VodWI6UmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXNcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdGFydEFwcEFzc2Vzc21lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwQXNzZXNzbWVudCA9IFwicmVzaWxpZW5jZWh1YjpTdGFydEFwcEFzc2Vzc21lbnRcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnQgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0TWV0cmljc0V4cG9ydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRyaWNzRXhwb3J0ID0gXCJyZXNpbGllbmNlaHViOlN0YXJ0TWV0cmljc0V4cG9ydFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrID1cblx0XHRcInJlc2lsaWVuY2VodWI6U3RhcnRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RhcnRUZXN0UnVuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RSdW4gPSBcInJlc2lsaWVuY2VodWI6U3RhcnRUZXN0UnVuXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6U3RvcFRlc3RSdW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0b3BUZXN0UnVuID0gXCJyZXNpbGllbmNlaHViOlN0b3BUZXN0UnVuXCI7XG5cdC8qKiBbVGFnZ2luZ10gcmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSByZXNpbGllbmNlaHViOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcInJlc2lsaWVuY2VodWI6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUFwcCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb24gPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvblwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvblJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBWZXJzaW9uUmVzb3VyY2UgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBcHBWZXJzaW9uUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVBc3NlcnRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2VydGlvbiA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVBc3NlcnRpb25cIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVEZXBlbmRlbmN5ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVEZXBlbmRlbmN5ID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZURlcGVuZGVuY3lcIjtcblx0LyoqIFtXcml0ZV0gcmVzaWxpZW5jZWh1YjpVcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZyA9XG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZ1wiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9saWN5ID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSByZXNpbGllbmNlaHViOlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlc2lsaWVuY3lQb2xpY3kgPVxuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVSZXNpbGllbmN5UG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZSA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZUZ1bmN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlRnVuY3Rpb24gPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZUZ1bmN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlU3lzdGVtICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTeXN0ZW0gPSBcInJlc2lsaWVuY2VodWI6VXBkYXRlU3lzdGVtXCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlVGVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGVzdCA9IFwicmVzaWxpZW5jZWh1YjpVcGRhdGVUZXN0XCI7XG5cdC8qKiBbV3JpdGVdIHJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJKb3VybmV5ID0gXCJyZXNpbGllbmNlaHViOlVwZGF0ZVVzZXJKb3VybmV5XCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBBc3Nlc3NtZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlQXBwVmVyc2lvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb25BcHBDb21wb25lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZXNjcmliZU1ldHJpY3NFeHBvcnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVzY3JpYmVSZXNpbGllbmN5UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlc2NyaWJlUmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRGYWlsdXJlTW9kZUZpbmRpbmcsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0UG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFNlcnZpY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0U3lzdGVtLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLmFjdGlvbkdldFRlc3QsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0VGVzdFJ1bixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5hY3Rpb25HZXRUZXN0VGVtcGxhdGUsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuYWN0aW9uR2V0VXNlckpvdXJuZXksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFzc2VydGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdERlcGVuZGVuY2llcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0RmFpbHVyZU1vZGVGaW5kaW5ncyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0SW5wdXRTb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RQb2xpY2llcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVwb3J0cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RSZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFNlcnZpY2VFdmVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFNlcnZpY2VGdW5jdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTZXJ2aWNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U3lzdGVtRXZlbnRzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTeXN0ZW1zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RSdW5FdmVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RSdW5Tb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RUZXN0UnVucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0VGVzdFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RUZW1wbGF0ZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RVc2VySm91cm5leXMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5BZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlQXBwLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlQXBwVmVyc2lvblJlc291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZUFzc2VydGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVJbnB1dFNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVSZXBvcnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlUmVzaWxpZW5jeVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVTZXJ2aWNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVNlcnZpY2VGdW5jdGlvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5DcmVhdGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlU3lzdGVtLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkNyZWF0ZVRlc3QsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuQ3JlYXRlVXNlckpvdXJuZXksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXBwLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUFwcEFzc2Vzc21lbnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXBwSW5wdXRTb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVBcHBWZXJzaW9uUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlQXNzZXJ0aW9uLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZUlucHV0U291cmNlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVBvbGljeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVJlc2lsaWVuY3lQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlU2VydmljZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVTZXJ2aWNlRnVuY3Rpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuRGVsZXRlU2VydmljZUZ1bmN0aW9uUmVzb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVN5c3RlbSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5EZWxldGVUZXN0LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVRlc3RTb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkRlbGV0ZVVzZXJKb3VybmV5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkltcG9ydEFwcCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5JbXBvcnRQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuSW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUHVibGlzaEFwcFZlcnNpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGUsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUHV0VGVzdFNvdXJjZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuUmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5SZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0QXBwQXNzZXNzbWVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudCxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdGFydE1ldHJpY3NFeHBvcnQsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuU3RhcnRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25UYXNrLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlN0YXJ0VGVzdFJ1bixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5TdG9wVGVzdFJ1bixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVBcHAsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlQXBwVmVyc2lvbixcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZUFwcFZlcnNpb25SZXNvdXJjZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVBc3NlcnRpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlRGVwZW5kZW5jeSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVGYWlsdXJlTW9kZUZpbmRpbmcsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlUG9saWN5LFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVJlc2lsaWVuY3lQb2xpY3ksXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlU2VydmljZSxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5VcGRhdGVTZXJ2aWNlRnVuY3Rpb24sXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlU3lzdGVtLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLlVwZGF0ZVRlc3QsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVXBkYXRlVXNlckpvdXJuZXksXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBbGFybVJlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQXNzZXNzbWVudENvbXBsaWFuY2VEcmlmdHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0cyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwQXNzZXNzbWVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcElucHV0U291cmNlcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwVmVyc2lvbkFwcENvbXBvbmVudHMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VzLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RBcHBWZXJzaW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0QXBwcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0TWV0cmljcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFJlc2lsaWVuY3lQb2xpY2llcyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9ucyxcblx0XHRSZXNpbGllbmNlaHViQWN0aW9ucy5MaXN0U29wUmVjb21tZW5kYXRpb25zLFxuXHRcdFJlc2lsaWVuY2VodWJBY3Rpb25zLkxpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFRlc3RSZWNvbW1lbmRhdGlvbnMsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuTGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlcyxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0UmVzaWxpZW5jZWh1YkFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGFwcC1hc3Nlc3NtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViQXBwQXNzZXNzbWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBBcHBBc3Nlc3NtZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGFwcEFzc2Vzc21lbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcC1hc3Nlc3NtZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViQXBwQXNzZXNzbWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQXBwQXNzZXNzbWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwQXNzZXNzbWVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBhcHBsaWNhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YkFwcGxpY2F0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIEFwcElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBhcHBJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGFwcGxpY2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViQXBwbGljYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEFwcElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgYXBwSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlBvbGljeUFyblByb3BzIHtcblx0LyoqIFRoZSBQb2xpY3lJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcG9saWN5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwb2xpY3kgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFBvbGljeUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcG9saWN5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFyblByb3BzIHtcblx0LyoqIFRoZSBSZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSByZXNpbGllbmN5LXBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlJlc2lsaWVuY3lQb2xpY3lBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVzaWxpZW5jeVBvbGljeUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZXNpbGllbmN5UG9saWN5SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSByZXNpbGllbmN5LXBvbGljeSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlJlc2lsaWVuY3lQb2xpY3lBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlc2lsaWVuY3lQb2xpY3lJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlc2lsaWVuY3lQb2xpY3lJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgc2VydmljZSBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzaWxpZW5jZWh1YlNlcnZpY2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZXJ2aWNlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBzZXJ2aWNlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViU2VydmljZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VydmljZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VydmljZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzeXN0ZW0gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJTeXN0ZW1Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgU3lzdGVtSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHN5c3RlbUlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc3lzdGVtIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViU3lzdGVtQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTeXN0ZW1JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHN5c3RlbUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0ZXN0LXRlbXBsYXRlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNpbGllbmNlaHViVGVzdFRlbXBsYXRlQXJuUHJvcHMge1xuXHQvKiogVGhlIFRlc3RUZW1wbGF0ZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0ZXN0VGVtcGxhdGVJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHRlc3QtdGVtcGxhdGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc2lsaWVuY2VodWJUZXN0VGVtcGxhdGVBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRlc3RUZW1wbGF0ZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdGVzdFRlbXBsYXRlSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQXBwQXNzZXNzbWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6YXBwLWFzc2Vzc21lbnRcXC8oPzxhcHBBc3Nlc3NtZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IEFwcGxpY2F0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTphcHBcXC8oPzxhcHBJZD5bXjovP10rKSQvO1xuY29uc3QgUG9saWN5QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwb2xpY3lcXC8oPzxwb2xpY3lJZD5bXjovP10rKSQvO1xuY29uc3QgUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpyZXNpbGllbmNlaHViOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmVjb21tZW5kYXRpb24tdGVtcGxhdGVcXC8oPzxyZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQ+W146Lz9dKykkLztcbmNvbnN0IFJlc2lsaWVuY3lQb2xpY3lBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlc2lsaWVuY3ktcG9saWN5XFwvKD88cmVzaWxpZW5jeVBvbGljeUlkPlteOi8/XSspJC87XG5jb25zdCBTZXJ2aWNlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnJlc2lsaWVuY2VodWI6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZXJ2aWNlXFwvKD88c2VydmljZUlkPlteOi8/XSspJC87XG5jb25zdCBTeXN0ZW1Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnN5c3RlbVxcLyg/PHN5c3RlbUlkPlteOi8/XSspJC87XG5jb25zdCBUZXN0VGVtcGxhdGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6cmVzaWxpZW5jZWh1YjooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRlc3QtdGVtcGxhdGVcXC8oPzx0ZXN0VGVtcGxhdGVJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHJlc2lsaWVuY2VodWIgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgUmVzaWxpZW5jZWh1YlJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgYXBwLWFzc2Vzc21lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgYXBwQXNzZXNzbWVudChwcm9wczogUmVzaWxpZW5jZWh1YkFwcEFzc2Vzc21lbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAtYXNzZXNzbWVudC8ke3Byb3BzLmFwcEFzc2Vzc21lbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwLWFzc2Vzc21lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcEFzc2Vzc21lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXBwQXNzZXNzbWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhcHAtYXNzZXNzbWVudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VBcHBBc3Nlc3NtZW50QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBSZXNpbGllbmNlaHViQXBwQXNzZXNzbWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQXBwQXNzZXNzbWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcHAtYXNzZXNzbWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhcHBBc3Nlc3NtZW50SWQ6IG1hdGNoLmdyb3VwcyEuYXBwQXNzZXNzbWVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGFwcGxpY2F0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGFwcGxpY2F0aW9uKHByb3BzOiBSZXNpbGllbmNlaHViQXBwbGljYXRpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTphcHAvJHtwcm9wcy5hcHBJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgYXBwbGljYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEFwcGxpY2F0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEFwcGxpY2F0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGFwcGxpY2F0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUFwcGxpY2F0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBSZXNpbGllbmNlaHViQXBwbGljYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEFwcGxpY2F0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFwcGxpY2F0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGFwcElkOiBtYXRjaC5ncm91cHMhLmFwcElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBvbGljeSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwb2xpY3kocHJvcHM6IFJlc2lsaWVuY2VodWJQb2xpY3lBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwb2xpY3kvJHtwcm9wcy5wb2xpY3lJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQb2xpY3lBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUG9saWN5QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBvbGljeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQb2xpY3lBcm4oYXJuOiBzdHJpbmcpOiBSZXNpbGllbmNlaHViUG9saWN5QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQb2xpY3lBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcG9saWN5IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvbGljeUlkOiBtYXRjaC5ncm91cHMhLnBvbGljeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlY29tbWVuZGF0aW9uLXRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlY29tbWVuZGF0aW9uVGVtcGxhdGUoXG5cdFx0cHJvcHM6IFJlc2lsaWVuY2VodWJSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZS8ke3Byb3BzLnJlY29tbWVuZGF0aW9uVGVtcGxhdGVJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVjb21tZW5kYXRpb24tdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlY29tbWVuZGF0aW9uVGVtcGxhdGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWNvbW1lbmRhdGlvblRlbXBsYXRlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBSZXNpbGllbmNlaHViUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVjb21tZW5kYXRpb25UZW1wbGF0ZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZWNvbW1lbmRhdGlvbi10ZW1wbGF0ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWNvbW1lbmRhdGlvblRlbXBsYXRlSWQ6IG1hdGNoLmdyb3VwcyEucmVjb21tZW5kYXRpb25UZW1wbGF0ZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHJlc2lsaWVuY3ktcG9saWN5IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlc2lsaWVuY3lQb2xpY3koXG5cdFx0cHJvcHM6IFJlc2lsaWVuY2VodWJSZXNpbGllbmN5UG9saWN5QXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZXNpbGllbmN5LXBvbGljeS8ke3Byb3BzLnJlc2lsaWVuY3lQb2xpY3lJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcmVzaWxpZW5jeS1wb2xpY3kgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlc2lsaWVuY3lQb2xpY3lBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVzaWxpZW5jeVBvbGljeUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSByZXNpbGllbmN5LXBvbGljeSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXNpbGllbmN5UG9saWN5QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBSZXNpbGllbmNlaHViUmVzaWxpZW5jeVBvbGljeUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVzaWxpZW5jeVBvbGljeUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCByZXNpbGllbmN5LXBvbGljeSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZXNpbGllbmN5UG9saWN5SWQ6IG1hdGNoLmdyb3VwcyEucmVzaWxpZW5jeVBvbGljeUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHNlcnZpY2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VydmljZShwcm9wczogUmVzaWxpZW5jZWh1YlNlcnZpY2VBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzZXJ2aWNlLyR7cHJvcHMuc2VydmljZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBzZXJ2aWNlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFNlcnZpY2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgc2VydmljZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZXJ2aWNlQXJuKGFybjogc3RyaW5nKTogUmVzaWxpZW5jZWh1YlNlcnZpY2VBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlcnZpY2VBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc2VydmljZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZXJ2aWNlSWQ6IG1hdGNoLmdyb3VwcyEuc2VydmljZUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHN5c3RlbSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzeXN0ZW0ocHJvcHM6IFJlc2lsaWVuY2VodWJTeXN0ZW1Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06cmVzaWxpZW5jZWh1Yjoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpzeXN0ZW0vJHtwcm9wcy5zeXN0ZW1JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc3lzdGVtIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTeXN0ZW1Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU3lzdGVtQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHN5c3RlbSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTeXN0ZW1Bcm4oYXJuOiBzdHJpbmcpOiBSZXNpbGllbmNlaHViU3lzdGVtQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTeXN0ZW1Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3lzdGVtIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHN5c3RlbUlkOiBtYXRjaC5ncm91cHMhLnN5c3RlbUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRlc3QtdGVtcGxhdGUgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdGVzdFRlbXBsYXRlKHByb3BzOiBSZXNpbGllbmNlaHViVGVzdFRlbXBsYXRlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnJlc2lsaWVuY2VodWI6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dGVzdC10ZW1wbGF0ZS8ke3Byb3BzLnRlc3RUZW1wbGF0ZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0ZXN0LXRlbXBsYXRlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRUZXN0VGVtcGxhdGVBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVGVzdFRlbXBsYXRlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRlc3QtdGVtcGxhdGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVGVzdFRlbXBsYXRlQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBSZXNpbGllbmNlaHViVGVzdFRlbXBsYXRlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUZXN0VGVtcGxhdGVBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdGVzdC10ZW1wbGF0ZSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0ZXN0VGVtcGxhdGVJZDogbWF0Y2guZ3JvdXBzIS50ZXN0VGVtcGxhdGVJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciByZXNpbGllbmNlaHViLlxuICovXG5leHBvcnQgY2xhc3MgUmVzaWxpZW5jZWh1Yk9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBY2NlcHRSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWNjZXB0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkFjY2VwdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQWRkRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFkZERyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3M6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpBZGREcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEJhdGNoVXBkYXRlUmVjb21tZW5kYXRpb25TdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBCYXRjaFVwZGF0ZVJlY29tbWVuZGF0aW9uU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6QmF0Y2hVcGRhdGVSZWNvbW1lbmRhdGlvblN0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVBcHA6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVBcHBcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQXBwVmVyc2lvblJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwVmVyc2lvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlQXBwVmVyc2lvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUFzc2VydGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUFzc2VydGlvbjogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkNyZWF0ZUFzc2VydGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSW5wdXRTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVJbnB1dFNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZUlucHV0U291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVBvbGljeVwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwb3J0OiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6Q3JlYXRlUmVwb3J0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXNpbGllbmN5UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVJlc2lsaWVuY3lQb2xpY3lcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTZXJ2aWNlXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlU2VydmljZUZ1bmN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU2VydmljZUZ1bmN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6Q3JlYXRlU2VydmljZUZ1bmN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVNlcnZpY2VGdW5jdGlvblJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTeXN0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTeXN0ZW06IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVTeXN0ZW1cIixcblx0XHRcInJlc2lsaWVuY2VodWI6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRlc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpDcmVhdGVUZXN0XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlVXNlckpvdXJuZXkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVVc2VySm91cm5leTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkNyZWF0ZVVzZXJKb3VybmV5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwQXNzZXNzbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFwcEFzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBBc3Nlc3NtZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFwcElucHV0U291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwSW5wdXRTb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVBcHBJbnB1dFNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQXBwVmVyc2lvblJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXBwVmVyc2lvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlQXBwVmVyc2lvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFzc2VydGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFzc2VydGlvbjogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZUFzc2VydGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlSW5wdXRTb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVJbnB1dFNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZUlucHV0U291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvbGljeTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmVjb21tZW5kYXRpb25UZW1wbGF0ZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNpbGllbmN5UG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlUmVzaWxpZW5jeVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU2VydmljZTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVNlcnZpY2VGdW5jdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVNlcnZpY2VGdW5jdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlbGV0ZVNlcnZpY2VGdW5jdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVTZXJ2aWNlRnVuY3Rpb25SZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3lzdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3lzdGVtOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6RGVsZXRlU3lzdGVtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGVzdDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlbGV0ZVRlc3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRlc3RTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGVzdFNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZWxldGVUZXN0U291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVVc2VySm91cm5leSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVsZXRlVXNlckpvdXJuZXlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcEFzc2Vzc21lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFwcEFzc2Vzc21lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcEFzc2Vzc21lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlQXBwVmVyc2lvbkFwcENvbXBvbmVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVBcHBWZXJzaW9uUmVzb3VyY2VzUmVzb2x1dGlvblN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQXBwVmVyc2lvblJlc291cmNlc1Jlc29sdXRpb25TdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25SZXNvdXJjZXNSZXNvbHV0aW9uU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQXBwVmVyc2lvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBcHBWZXJzaW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZUFwcFZlcnNpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZURyYWZ0QXBwVmVyc2lvblJlc291cmNlc0ltcG9ydFN0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VzSW1wb3J0U3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZXNJbXBvcnRTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVNZXRyaWNzRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVNZXRyaWNzRXhwb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6RGVzY3JpYmVNZXRyaWNzRXhwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVzaWxpZW5jeVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVzaWxpZW5jeVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkRlc2NyaWJlUmVzaWxpZW5jeVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2sgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2s6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpEZXNjcmliZVJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvblRhc2tcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0RmFpbHVyZU1vZGVGaW5kaW5nIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRGYWlsdXJlTW9kZUZpbmRpbmc6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpHZXRGYWlsdXJlTW9kZUZpbmRpbmdcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQb2xpY3k6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFNlcnZpY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFNlcnZpY2U6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRTZXJ2aWNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTeXN0ZW0gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFN5c3RlbTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkdldFN5c3RlbVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0VGVzdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VGVzdDogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkdldFRlc3RcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFRlc3RSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRlc3RSdW46IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRUZXN0UnVuXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRUZXN0VGVtcGxhdGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFRlc3RUZW1wbGF0ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkdldFRlc3RUZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRVc2VySm91cm5leSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0VXNlckpvdXJuZXk6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpHZXRVc2VySm91cm5leVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgSW1wb3J0QXBwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0QXBwOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6SW1wb3J0QXBwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBJbXBvcnRQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBJbXBvcnRQb2xpY3k6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpJbXBvcnRQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEltcG9ydFJlc291cmNlc1RvRHJhZnRBcHBWZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSW1wb3J0UmVzb3VyY2VzVG9EcmFmdEFwcFZlcnNpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpJbXBvcnRSZXNvdXJjZXNUb0RyYWZ0QXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QWxhcm1SZWNvbW1lbmRhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRDb21wbGlhbmNlRHJpZnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBBc3Nlc3NtZW50UmVzb3VyY2VEcmlmdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudFJlc291cmNlRHJpZnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcEFzc2Vzc21lbnRSZXNvdXJjZURyaWZ0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwQXNzZXNzbWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQXNzZXNzbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0QXBwQXNzZXNzbWVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudENvbXBsaWFuY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBDb21wb25lbnRSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXBwQ29tcG9uZW50UmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcENvbXBvbmVudFJlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwSW5wdXRTb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcElucHV0U291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBJbnB1dFNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25BcHBDb21wb25lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwVmVyc2lvblJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBWZXJzaW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25SZXNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEFwcFZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFwcFZlcnNpb25zOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdEFwcFZlcnNpb25zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXBwcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBcHBzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdEFwcHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RBc3NlcnRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEFzc2VydGlvbnM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0QXNzZXJ0aW9uc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdERlcGVuZGVuY2llcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3REZXBlbmRlbmNpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0RGVwZW5kZW5jaWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RGYWlsdXJlTW9kZUFzc2Vzc21lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEZhaWx1cmVNb2RlQXNzZXNzbWVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0RmFpbHVyZU1vZGVBc3Nlc3NtZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0RmFpbHVyZU1vZGVGaW5kaW5ncyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RGYWlsdXJlTW9kZUZpbmRpbmdzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdEZhaWx1cmVNb2RlRmluZGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdElucHV0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnB1dFNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0SW5wdXRTb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RNZXRyaWNzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE1ldHJpY3M6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0TWV0cmljc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFBvbGljaWVzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFBvbGljaWVzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVjb21tZW5kYXRpb25UZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlcG9ydHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVwb3J0czogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RSZXBvcnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzaWxpZW5jeVBvbGljaWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc2lsaWVuY3lQb2xpY2llczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RSZXNpbGllbmN5UG9saWNpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlc29sdmVkVGVzdFJ1blRhcmdldFJlc291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXNvbHZlZFRlc3RSdW5UYXJnZXRSZXNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzb2x2ZWRUZXN0UnVuVGFyZ2V0UmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVzb3VyY2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlc291cmNlczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RSZXNvdXJjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VFdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U2VydmljZUV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U2VydmljZUZ1bmN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlRnVuY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VGdW5jdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFNlcnZpY2VUb3BvbG9neUVkZ2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTZXJ2aWNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTZXJ2aWNlczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RTZXJ2aWNlc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFNvcFJlY29tbWVuZGF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTb3BSZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0U29wUmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RTdWdnZXN0ZWRSZXNpbGllbmN5UG9saWNpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3VnZ2VzdGVkUmVzaWxpZW5jeVBvbGljaWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFN1Z2dlc3RlZFJlc2lsaWVuY3lQb2xpY2llc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3lzdGVtRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5c3RlbUV2ZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RTeXN0ZW1FdmVudHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFN5c3RlbXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0U3lzdGVtczogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOkxpc3RTeXN0ZW1zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJlY29tbWVuZGF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RUZXN0UmVjb21tZW5kYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0UnVuRXZlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5FdmVudHM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1bkV2ZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFJ1blNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFJ1blNvdXJjZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFJ1blNvdXJjZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRlc3RSdW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RSdW5zOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6TGlzdFRlc3RSdW5zXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdFNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdFNvdXJjZXM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFNvdXJjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUZXN0VGVtcGxhdGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRlc3RUZW1wbGF0ZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpMaXN0VGVzdFRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGVzdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGVzdHM6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpMaXN0VGVzdHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RVbnN1cHBvcnRlZEFwcFZlcnNpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VW5zdXBwb3J0ZWRBcHBWZXJzaW9uUmVzb3VyY2VzOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6TGlzdFVuc3VwcG9ydGVkQXBwVmVyc2lvblJlc291cmNlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VXNlckpvdXJuZXlzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFVzZXJKb3VybmV5czogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOkxpc3RVc2VySm91cm5leXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHVibGlzaEFwcFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBQdWJsaXNoQXBwVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlB1Ymxpc2hBcHBWZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dERyYWZ0QXBwVmVyc2lvblRlbXBsYXRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0RHJhZnRBcHBWZXJzaW9uVGVtcGxhdGU6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpQdXREcmFmdEFwcFZlcnNpb25UZW1wbGF0ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRUZXN0U291cmNlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFRlc3RTb3VyY2VzOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6UHV0VGVzdFNvdXJjZXNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlamVjdFJlc291cmNlR3JvdXBpbmdSZWNvbW1lbmRhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RSZXNvdXJjZUdyb3VwaW5nUmVjb21tZW5kYXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6UmVqZWN0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBSZW1vdmVEcmFmdEFwcFZlcnNpb25SZXNvdXJjZU1hcHBpbmdzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVtb3ZlRHJhZnRBcHBWZXJzaW9uUmVzb3VyY2VNYXBwaW5nczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlJlbW92ZURyYWZ0QXBwVmVyc2lvblJlc291cmNlTWFwcGluZ3NcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVzb2x2ZUFwcFZlcnNpb25SZXNvdXJjZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXNvbHZlQXBwVmVyc2lvblJlc291cmNlczogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlJlc29sdmVBcHBWZXJzaW9uUmVzb3VyY2VzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0QXBwQXNzZXNzbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwQXNzZXNzbWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0QXBwQXNzZXNzbWVudFwiLFxuXHRcdFwicmVzaWxpZW5jZWh1YjpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydEZhaWx1cmVNb2RlQXNzZXNzbWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0RmFpbHVyZU1vZGVBc3Nlc3NtZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6U3RhcnRGYWlsdXJlTW9kZUFzc2Vzc21lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU3RhcnRNZXRyaWNzRXhwb3J0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRNZXRyaWNzRXhwb3J0OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6U3RhcnRNZXRyaWNzRXhwb3J0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFzazogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlN0YXJ0UmVzb3VyY2VHcm91cGluZ1JlY29tbWVuZGF0aW9uVGFza1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdGFydFRlc3RSdW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydFRlc3RSdW46IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpTdGFydFRlc3RSdW5cIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFN0b3BUZXN0UnVuIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RvcFRlc3RSdW46IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpTdG9wVGVzdFJ1blwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVGFnUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlRhZ1Jlc291cmNlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVbnRhZ1Jlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZTogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFwcDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFwcFZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVBcHBWZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVBcHBWZXJzaW9uQXBwQ29tcG9uZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvbkFwcENvbXBvbmVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUFwcFZlcnNpb25BcHBDb21wb25lbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlQXBwVmVyc2lvblJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQXBwVmVyc2lvblJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlQXBwVmVyc2lvblJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUFzc2VydGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUFzc2VydGlvbjogc3RyaW5nW10gPSBbXCJyZXNpbGllbmNlaHViOlVwZGF0ZUFzc2VydGlvblwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlRGVwZW5kZW5jeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZURlcGVuZGVuY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVEZXBlbmRlbmN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZzogc3RyaW5nW10gPSBbXG5cdFx0XCJyZXNpbGllbmNlaHViOlVwZGF0ZUZhaWx1cmVNb2RlRmluZGluZ1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQb2xpY3k6IHN0cmluZ1tdID0gW1wicmVzaWxpZW5jZWh1YjpVcGRhdGVQb2xpY3lcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJlc2lsaWVuY3lQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXNpbGllbmN5UG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlUmVzaWxpZW5jeVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VydmljZTogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlU2VydmljZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTZXJ2aWNlRnVuY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZXJ2aWNlRnVuY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwicmVzaWxpZW5jZWh1YjpVcGRhdGVTZXJ2aWNlRnVuY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3lzdGVtIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3lzdGVtOiBzdHJpbmdbXSA9IFtcInJlc2lsaWVuY2VodWI6VXBkYXRlU3lzdGVtXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVUZXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlVGVzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlVGVzdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVVc2VySm91cm5leSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVVzZXJKb3VybmV5OiBzdHJpbmdbXSA9IFtcblx0XHRcInJlc2lsaWVuY2VodWI6VXBkYXRlVXNlckpvdXJuZXlcIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIHJlc2lsaWVuY2VodWIuXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpbGllbmNlaHViQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVBcHAgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQXBwQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVSZWNvbW1lbmRhdGlvblRlbXBsYXRlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlY29tbWVuZGF0aW9uVGVtcGxhdGVDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlc2lsaWVuY3lQb2xpY3kgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVzaWxpZW5jeVBvbGljeUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRBcHBBc3Nlc3NtZW50IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwQXNzZXNzbWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVudGFnUmVzb3VyY2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiYXdzOlRhZ0tleXNcIl07XG5cblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFUVVFU1RfVEFHID0gXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX0gKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFXU19SRVNPVVJDRV9UQUcgPSBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGF3czpUYWdLZXlzIChBcnJheU9mU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1RBR19LRVlTID0gXCJhd3M6VGFnS2V5c1wiO1xuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlcXVlc3RUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlRhZ0tleXNgLlxuXHQgKi9cblx0c3RhdGljIHRhZ0tleXModmFsdWVzOiBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPj4ge1xuXHRcdHJldHVybiB7IFwiRm9yQWxsVmFsdWVzOlN0cmluZ0VxdWFsc1wiOiB7IFwiYXdzOlRhZ0tleXNcIjogdmFsdWVzIH0gfTtcblx0fVxufVxuIl19