@cdk_utils/iam 1.25.0 → 1.26.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 (461) hide show
  1. package/.jsii +2 -2
  2. package/lib/generated/services/a2c.js +1 -1
  3. package/lib/generated/services/a4b.js +3 -3
  4. package/lib/generated/services/access-analyzer.js +4 -4
  5. package/lib/generated/services/account-access.js +4 -4
  6. package/lib/generated/services/account.js +4 -4
  7. package/lib/generated/services/acm-pca.js +4 -4
  8. package/lib/generated/services/acm.js +4 -4
  9. package/lib/generated/services/aco-automation.js +4 -4
  10. package/lib/generated/services/action-recommendations.js +1 -1
  11. package/lib/generated/services/activate.js +1 -1
  12. package/lib/generated/services/agent-registry.js +4 -4
  13. package/lib/generated/services/agentaccess-mcp.js +2 -2
  14. package/lib/generated/services/aidevops.js +4 -4
  15. package/lib/generated/services/aiops.js +4 -4
  16. package/lib/generated/services/airflow-serverless.js +4 -4
  17. package/lib/generated/services/airflow.js +4 -4
  18. package/lib/generated/services/amplify.js +4 -4
  19. package/lib/generated/services/amplifybackend.js +3 -3
  20. package/lib/generated/services/amplifyuibuilder.js +4 -4
  21. package/lib/generated/services/aoss.js +4 -4
  22. package/lib/generated/services/apigateway.js +4 -4
  23. package/lib/generated/services/app-integrations.js +4 -4
  24. package/lib/generated/services/appconfig.js +4 -4
  25. package/lib/generated/services/appfabric.js +4 -4
  26. package/lib/generated/services/appflow.js +4 -4
  27. package/lib/generated/services/application-autoscaling.js +4 -4
  28. package/lib/generated/services/application-signals-mcp.js +3 -3
  29. package/lib/generated/services/application-signals.js +4 -4
  30. package/lib/generated/services/application-transformation.js +1 -1
  31. package/lib/generated/services/applicationinsights.js +3 -3
  32. package/lib/generated/services/appmesh-preview.js +2 -2
  33. package/lib/generated/services/appmesh.js +4 -4
  34. package/lib/generated/services/apprunner.js +4 -4
  35. package/lib/generated/services/appstream.js +4 -4
  36. package/lib/generated/services/appstudio.js +2 -2
  37. package/lib/generated/services/appsync.js +4 -4
  38. package/lib/generated/services/apptest.js +3 -3
  39. package/lib/generated/services/aps.js +4 -4
  40. package/lib/generated/services/arc-region-switch.js +4 -4
  41. package/lib/generated/services/arc-zonal-shift.js +4 -4
  42. package/lib/generated/services/arsenal.js +1 -1
  43. package/lib/generated/services/artifact.js +4 -4
  44. package/lib/generated/services/athena.js +4 -4
  45. package/lib/generated/services/auditmanager.js +4 -4
  46. package/lib/generated/services/autoscaling-plans.js +2 -2
  47. package/lib/generated/services/autoscaling.js +4 -4
  48. package/lib/generated/services/aws-external-anthropic.js +3 -3
  49. package/lib/generated/services/aws-marketplace-management.js +1 -1
  50. package/lib/generated/services/aws-marketplace.js +4 -4
  51. package/lib/generated/services/aws-portal.js +1 -1
  52. package/lib/generated/services/awsconnector.js +1 -1
  53. package/lib/generated/services/b2bi.js +4 -4
  54. package/lib/generated/services/backup-gateway.js +4 -4
  55. package/lib/generated/services/backup-search.js +10 -6
  56. package/lib/generated/services/backup-storage.js +1 -1
  57. package/lib/generated/services/backup.js +4 -4
  58. package/lib/generated/services/batch.js +4 -4
  59. package/lib/generated/services/bcm-dashboards.js +4 -4
  60. package/lib/generated/services/bcm-data-exports.js +4 -4
  61. package/lib/generated/services/bcm-pricing-calculator.js +4 -4
  62. package/lib/generated/services/bcm-recommended-actions.js +2 -2
  63. package/lib/generated/services/bedrock-agentcore.js +4 -4
  64. package/lib/generated/services/bedrock-mantle.js +3 -3
  65. package/lib/generated/services/bedrock-websearch.js +2 -2
  66. package/lib/generated/services/bedrock.js +4 -4
  67. package/lib/generated/services/billing.js +4 -4
  68. package/lib/generated/services/billingconductor.js +4 -4
  69. package/lib/generated/services/braket.js +4 -4
  70. package/lib/generated/services/budgets.js +4 -4
  71. package/lib/generated/services/bugbust.js +3 -3
  72. package/lib/generated/services/cases.js +4 -4
  73. package/lib/generated/services/cassandra.js +4 -4
  74. package/lib/generated/services/ce.js +4 -4
  75. package/lib/generated/services/chatbot.js +4 -4
  76. package/lib/generated/services/chime.js +4 -4
  77. package/lib/generated/services/cleanrooms-ml.js +4 -4
  78. package/lib/generated/services/cleanrooms.js +4 -4
  79. package/lib/generated/services/cloud9.js +4 -4
  80. package/lib/generated/services/clouddirectory.js +3 -3
  81. package/lib/generated/services/cloudformation.js +4 -4
  82. package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
  83. package/lib/generated/services/cloudfront.js +4 -4
  84. package/lib/generated/services/cloudhsm.js +4 -4
  85. package/lib/generated/services/cloudsearch.js +3 -3
  86. package/lib/generated/services/cloudshell.js +3 -3
  87. package/lib/generated/services/cloudtrail-data.js +4 -4
  88. package/lib/generated/services/cloudtrail.js +4 -4
  89. package/lib/generated/services/cloudwatch.js +4 -4
  90. package/lib/generated/services/codeartifact.js +4 -4
  91. package/lib/generated/services/codebuild.js +4 -4
  92. package/lib/generated/services/codecatalyst.js +4 -4
  93. package/lib/generated/services/codecommit.js +4 -4
  94. package/lib/generated/services/codeconnections.js +4 -4
  95. package/lib/generated/services/codedeploy-commands-secure.js +1 -1
  96. package/lib/generated/services/codedeploy.js +4 -4
  97. package/lib/generated/services/codeguru-profiler.js +4 -4
  98. package/lib/generated/services/codeguru-reviewer.js +4 -4
  99. package/lib/generated/services/codeguru-security.js +4 -4
  100. package/lib/generated/services/codeguru.js +1 -1
  101. package/lib/generated/services/codepipeline.js +4 -4
  102. package/lib/generated/services/codestar-connections.js +4 -4
  103. package/lib/generated/services/codestar-notifications.js +4 -4
  104. package/lib/generated/services/codestar.js +3 -3
  105. package/lib/generated/services/codewhisperer.js +3 -3
  106. package/lib/generated/services/cognito-identity.js +4 -4
  107. package/lib/generated/services/cognito-idp.js +4 -4
  108. package/lib/generated/services/cognito-sync.js +3 -3
  109. package/lib/generated/services/comprehend.js +4 -4
  110. package/lib/generated/services/comprehendmedical.js +3 -3
  111. package/lib/generated/services/compute-optimizer.js +3 -3
  112. package/lib/generated/services/config.js +4 -4
  113. package/lib/generated/services/connect-campaigns.js +4 -4
  114. package/lib/generated/services/connect.js +4 -4
  115. package/lib/generated/services/consoleapp.js +2 -2
  116. package/lib/generated/services/consolidatedbilling.js +1 -1
  117. package/lib/generated/services/controlcatalog.js +3 -3
  118. package/lib/generated/services/controltower.js +4 -4
  119. package/lib/generated/services/cost-optimization-hub.js +2 -2
  120. package/lib/generated/services/cur.js +4 -4
  121. package/lib/generated/services/customer-verification.js +1 -1
  122. package/lib/generated/services/databrew.js +4 -4
  123. package/lib/generated/services/dataexchange.js +4 -4
  124. package/lib/generated/services/datapipeline.js +4 -4
  125. package/lib/generated/services/datasync.js +4 -4
  126. package/lib/generated/services/datazone.js +4 -4
  127. package/lib/generated/services/dax.js +4 -4
  128. package/lib/generated/services/dbqms.js +1 -1
  129. package/lib/generated/services/deadline.js +4 -4
  130. package/lib/generated/services/detective.js +4 -4
  131. package/lib/generated/services/devicefarm.js +4 -4
  132. package/lib/generated/services/devops-guru.js +4 -4
  133. package/lib/generated/services/directconnect.js +9 -6
  134. package/lib/generated/services/discovery.js +3 -3
  135. package/lib/generated/services/dlm.js +4 -4
  136. package/lib/generated/services/dms.js +4 -4
  137. package/lib/generated/services/docdb-elastic.js +4 -4
  138. package/lib/generated/services/drs.js +4 -4
  139. package/lib/generated/services/ds-data.js +4 -4
  140. package/lib/generated/services/ds.js +4 -4
  141. package/lib/generated/services/dsql.js +4 -4
  142. package/lib/generated/services/dynamodb.js +4 -4
  143. package/lib/generated/services/ebs.js +4 -4
  144. package/lib/generated/services/ec2-instance-connect.js +4 -4
  145. package/lib/generated/services/ec2.js +4 -4
  146. package/lib/generated/services/ec2messages.js +2 -2
  147. package/lib/generated/services/ecr-public.js +4 -4
  148. package/lib/generated/services/ecr.js +4 -4
  149. package/lib/generated/services/ecs-mcp.js +1 -1
  150. package/lib/generated/services/ecs.js +4 -4
  151. package/lib/generated/services/eks-auth.js +4 -4
  152. package/lib/generated/services/eks-mcp.js +1 -1
  153. package/lib/generated/services/eks.js +4 -4
  154. package/lib/generated/services/elasticache.js +4 -4
  155. package/lib/generated/services/elasticbeanstalk.js +4 -4
  156. package/lib/generated/services/elasticfilesystem.js +4 -4
  157. package/lib/generated/services/elasticloadbalancing.js +4 -4
  158. package/lib/generated/services/elasticmapreduce.js +4 -4
  159. package/lib/generated/services/elastictranscoder.js +2 -2
  160. package/lib/generated/services/elemental-activations.js +1 -1
  161. package/lib/generated/services/elemental-appliances-software.js +2 -2
  162. package/lib/generated/services/elemental-inference.js +4 -4
  163. package/lib/generated/services/elemental-support-cases.js +3 -3
  164. package/lib/generated/services/elemental-support-content.js +1 -1
  165. package/lib/generated/services/emr-containers.js +4 -4
  166. package/lib/generated/services/emr-serverless.js +4 -4
  167. package/lib/generated/services/entityresolution.js +4 -4
  168. package/lib/generated/services/es.js +4 -4
  169. package/lib/generated/services/events.js +4 -4
  170. package/lib/generated/services/eventsbilltoaws.js +3 -3
  171. package/lib/generated/services/evidently.js +3 -3
  172. package/lib/generated/services/evs.js +4 -4
  173. package/lib/generated/services/execute-api.js +4 -4
  174. package/lib/generated/services/finops-agent.js +1 -1
  175. package/lib/generated/services/finspace-api.js +3 -3
  176. package/lib/generated/services/finspace.js +4 -4
  177. package/lib/generated/services/firehose.js +4 -4
  178. package/lib/generated/services/fis.js +4 -4
  179. package/lib/generated/services/fms.js +4 -4
  180. package/lib/generated/services/forecast.js +4 -4
  181. package/lib/generated/services/frauddetector.js +4 -4
  182. package/lib/generated/services/freertos.js +3 -3
  183. package/lib/generated/services/freetier.js +2 -2
  184. package/lib/generated/services/fsx.js +4 -4
  185. package/lib/generated/services/gamelift.js +4 -4
  186. package/lib/generated/services/gameliftstreams.js +4 -4
  187. package/lib/generated/services/geo-maps.js +3 -3
  188. package/lib/generated/services/geo-places.js +3 -3
  189. package/lib/generated/services/geo-routes.js +3 -3
  190. package/lib/generated/services/geo.js +4 -4
  191. package/lib/generated/services/glacier.js +4 -4
  192. package/lib/generated/services/globalaccelerator.js +4 -4
  193. package/lib/generated/services/glue.js +8 -6
  194. package/lib/generated/services/grafana.js +4 -4
  195. package/lib/generated/services/greengrass.js +4 -4
  196. package/lib/generated/services/groundstation.js +9 -6
  197. package/lib/generated/services/groundtruthlabeling.js +1 -1
  198. package/lib/generated/services/guardduty.js +4 -4
  199. package/lib/generated/services/health-agent.js +4 -4
  200. package/lib/generated/services/health.js +4 -4
  201. package/lib/generated/services/healthlake.js +4 -4
  202. package/lib/generated/services/honeycode.js +2 -2
  203. package/lib/generated/services/iam.js +4 -4
  204. package/lib/generated/services/identity-sync.js +2 -2
  205. package/lib/generated/services/identitystore-auth.js +1 -1
  206. package/lib/generated/services/identitystore.js +4 -4
  207. package/lib/generated/services/imagebuilder.js +4 -4
  208. package/lib/generated/services/importexport.js +2 -2
  209. package/lib/generated/services/inspector-scan.js +2 -2
  210. package/lib/generated/services/inspector.js +2 -2
  211. package/lib/generated/services/inspector2-telemetry.js +1 -1
  212. package/lib/generated/services/inspector2.js +4 -4
  213. package/lib/generated/services/interconnect.js +4 -4
  214. package/lib/generated/services/internetmonitor.js +4 -4
  215. package/lib/generated/services/invoicing.js +11 -38
  216. package/lib/generated/services/iot-device-tester.js +1 -1
  217. package/lib/generated/services/iot.js +4 -4
  218. package/lib/generated/services/iotanalytics.js +3 -3
  219. package/lib/generated/services/iotdeviceadvisor.js +4 -4
  220. package/lib/generated/services/iotevents.js +3 -3
  221. package/lib/generated/services/iotfleethub.js +3 -3
  222. package/lib/generated/services/iotfleetwise.js +4 -4
  223. package/lib/generated/services/iotjobsdata.js +4 -4
  224. package/lib/generated/services/iotmanagedintegrations.js +4 -4
  225. package/lib/generated/services/iotsitewise.js +4 -4
  226. package/lib/generated/services/iottwinmaker.js +4 -4
  227. package/lib/generated/services/iotwireless.js +4 -4
  228. package/lib/generated/services/iq-permission.js +2 -2
  229. package/lib/generated/services/iq.js +2 -2
  230. package/lib/generated/services/ivs.js +4 -4
  231. package/lib/generated/services/ivschat.js +4 -4
  232. package/lib/generated/services/kafka-cluster.js +3 -3
  233. package/lib/generated/services/kafka.js +4 -4
  234. package/lib/generated/services/kafkaconnect.js +4 -4
  235. package/lib/generated/services/kendra-ranking.js +4 -4
  236. package/lib/generated/services/kendra.js +4 -4
  237. package/lib/generated/services/kinesis.js +4 -4
  238. package/lib/generated/services/kinesisanalytics.js +4 -4
  239. package/lib/generated/services/kinesisvideo.js +4 -4
  240. package/lib/generated/services/kms.js +4 -4
  241. package/lib/generated/services/lakeformation.js +3 -3
  242. package/lib/generated/services/lambda.js +4 -4
  243. package/lib/generated/services/launchwizard.js +4 -4
  244. package/lib/generated/services/lex.js +4 -4
  245. package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
  246. package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
  247. package/lib/generated/services/license-manager.js +4 -4
  248. package/lib/generated/services/lightsail.js +4 -4
  249. package/lib/generated/services/logs.js +4 -4
  250. package/lib/generated/services/lookoutequipment.js +4 -4
  251. package/lib/generated/services/lookoutmetrics.js +3 -3
  252. package/lib/generated/services/lookoutvision.js +3 -3
  253. package/lib/generated/services/m2.js +4 -4
  254. package/lib/generated/services/machinelearning.js +3 -3
  255. package/lib/generated/services/macie2.js +4 -4
  256. package/lib/generated/services/managedblockchain-query.js +2 -2
  257. package/lib/generated/services/managedblockchain.js +4 -4
  258. package/lib/generated/services/mapcredits.js +2 -2
  259. package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
  260. package/lib/generated/services/mechanicalturk.js +2 -2
  261. package/lib/generated/services/mediaconnect.js +4 -4
  262. package/lib/generated/services/mediaconvert.js +4 -4
  263. package/lib/generated/services/mediaimport.js +1 -1
  264. package/lib/generated/services/medialive.js +4 -4
  265. package/lib/generated/services/mediapackage-vod.js +4 -4
  266. package/lib/generated/services/mediapackage.js +4 -4
  267. package/lib/generated/services/mediapackagev2.js +4 -4
  268. package/lib/generated/services/mediastore.js +4 -4
  269. package/lib/generated/services/mediatailor.js +4 -4
  270. package/lib/generated/services/medical-imaging.js +4 -4
  271. package/lib/generated/services/memorydb.js +4 -4
  272. package/lib/generated/services/mgh.js +4 -4
  273. package/lib/generated/services/mgn.js +4 -4
  274. package/lib/generated/services/migrationhub-orchestrator.js +4 -4
  275. package/lib/generated/services/migrationhub-strategy.js +2 -2
  276. package/lib/generated/services/mobileanalytics.js +1 -1
  277. package/lib/generated/services/mobiletargeting.js +4 -4
  278. package/lib/generated/services/monitron.js +3 -3
  279. package/lib/generated/services/mpa.js +4 -4
  280. package/lib/generated/services/mq.js +4 -4
  281. package/lib/generated/services/neptune-db.js +4 -4
  282. package/lib/generated/services/neptune-graph.js +4 -4
  283. package/lib/generated/services/network-firewall.js +4 -4
  284. package/lib/generated/services/network-security-director.js +1 -1
  285. package/lib/generated/services/networkflowmonitor.js +4 -4
  286. package/lib/generated/services/networkmanager-chat.js +1 -1
  287. package/lib/generated/services/networkmanager.js +4 -4
  288. package/lib/generated/services/networkmonitor.js +4 -4
  289. package/lib/generated/services/nimble.js +3 -3
  290. package/lib/generated/services/notifications-contacts.js +4 -4
  291. package/lib/generated/services/notifications.d.ts +2 -0
  292. package/lib/generated/services/notifications.js +7 -5
  293. package/lib/generated/services/nova-act.js +3 -3
  294. package/lib/generated/services/oam.js +4 -4
  295. package/lib/generated/services/observabilityadmin.js +4 -4
  296. package/lib/generated/services/odb.js +4 -4
  297. package/lib/generated/services/omics.js +4 -4
  298. package/lib/generated/services/one.js +3 -3
  299. package/lib/generated/services/opensearch.js +3 -3
  300. package/lib/generated/services/opsworks-cm.js +2 -2
  301. package/lib/generated/services/opsworks.js +2 -2
  302. package/lib/generated/services/organizations.js +4 -4
  303. package/lib/generated/services/osis.js +4 -4
  304. package/lib/generated/services/outposts.js +4 -4
  305. package/lib/generated/services/panorama.js +3 -3
  306. package/lib/generated/services/partnercentral-account-management.js +2 -2
  307. package/lib/generated/services/partnercentral.js +4 -4
  308. package/lib/generated/services/payment-cryptography.js +4 -4
  309. package/lib/generated/services/payments.js +3 -3
  310. package/lib/generated/services/pca-connector-ad.js +4 -4
  311. package/lib/generated/services/pca-connector-scep.js +4 -4
  312. package/lib/generated/services/pcs.js +4 -4
  313. package/lib/generated/services/personalize.js +4 -4
  314. package/lib/generated/services/pi.js +4 -4
  315. package/lib/generated/services/pipes.js +4 -4
  316. package/lib/generated/services/polly.js +3 -3
  317. package/lib/generated/services/pricing.js +2 -2
  318. package/lib/generated/services/pricingplanmanager.js +3 -3
  319. package/lib/generated/services/private-networks.js +3 -3
  320. package/lib/generated/services/profile.js +4 -4
  321. package/lib/generated/services/proton.js +4 -4
  322. package/lib/generated/services/purchase-orders.js +3 -3
  323. package/lib/generated/services/q.js +3 -3
  324. package/lib/generated/services/qapps.js +4 -4
  325. package/lib/generated/services/qbusiness.js +4 -4
  326. package/lib/generated/services/qdeveloper.js +3 -3
  327. package/lib/generated/services/qldb.js +3 -3
  328. package/lib/generated/services/quicksight.js +4 -4
  329. package/lib/generated/services/ram.js +4 -4
  330. package/lib/generated/services/rbin.js +4 -4
  331. package/lib/generated/services/rds-data.js +4 -4
  332. package/lib/generated/services/rds-db.js +2 -2
  333. package/lib/generated/services/rds.js +4 -4
  334. package/lib/generated/services/redshift-data.js +4 -4
  335. package/lib/generated/services/redshift-serverless.js +4 -4
  336. package/lib/generated/services/redshift.js +4 -4
  337. package/lib/generated/services/refactor-spaces.js +4 -4
  338. package/lib/generated/services/rekognition.js +4 -4
  339. package/lib/generated/services/repostspace.js +4 -4
  340. package/lib/generated/services/researchstudio.js +1 -1
  341. package/lib/generated/services/resiliencehub.js +4 -4
  342. package/lib/generated/services/resource-explorer-2.js +4 -4
  343. package/lib/generated/services/resource-explorer.js +1 -1
  344. package/lib/generated/services/resource-groups.js +4 -4
  345. package/lib/generated/services/rhelkb.js +1 -1
  346. package/lib/generated/services/robomaker.js +3 -3
  347. package/lib/generated/services/rolesanywhere.js +4 -4
  348. package/lib/generated/services/route53-recovery-cluster.js +4 -4
  349. package/lib/generated/services/route53-recovery-control-config.js +4 -4
  350. package/lib/generated/services/route53-recovery-readiness.js +4 -4
  351. package/lib/generated/services/route53.js +4 -4
  352. package/lib/generated/services/route53domains.js +2 -2
  353. package/lib/generated/services/route53globalresolver.js +4 -4
  354. package/lib/generated/services/route53profiles.js +4 -4
  355. package/lib/generated/services/route53resolver.js +4 -4
  356. package/lib/generated/services/rtbfabric.js +4 -4
  357. package/lib/generated/services/rum.js +4 -4
  358. package/lib/generated/services/s3-object-lambda.js +3 -3
  359. package/lib/generated/services/s3-outposts.js +4 -4
  360. package/lib/generated/services/s3.js +4 -4
  361. package/lib/generated/services/s3express.js +3 -3
  362. package/lib/generated/services/s3files.js +4 -4
  363. package/lib/generated/services/s3tables.js +4 -4
  364. package/lib/generated/services/s3vectors.js +4 -4
  365. package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
  366. package/lib/generated/services/sagemaker-geospatial.js +4 -4
  367. package/lib/generated/services/sagemaker-mlflow.js +3 -3
  368. package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
  369. package/lib/generated/services/sagemaker.js +6 -6
  370. package/lib/generated/services/savingsplans.js +4 -4
  371. package/lib/generated/services/scheduler.js +4 -4
  372. package/lib/generated/services/schemas.js +4 -4
  373. package/lib/generated/services/scn.js +4 -4
  374. package/lib/generated/services/sdb.js +3 -3
  375. package/lib/generated/services/secretsmanager.js +4 -4
  376. package/lib/generated/services/security-ir.js +4 -4
  377. package/lib/generated/services/securityagent.d.ts +8 -0
  378. package/lib/generated/services/securityagent.js +17 -5
  379. package/lib/generated/services/securityhub.js +4 -4
  380. package/lib/generated/services/securitylake.js +4 -4
  381. package/lib/generated/services/serverlessrepo.js +4 -4
  382. package/lib/generated/services/servicecatalog.js +4 -4
  383. package/lib/generated/services/servicediscovery.js +4 -4
  384. package/lib/generated/services/serviceextract.js +1 -1
  385. package/lib/generated/services/servicequotas.js +4 -4
  386. package/lib/generated/services/ses.js +4 -4
  387. package/lib/generated/services/shield.js +4 -4
  388. package/lib/generated/services/signer.js +4 -4
  389. package/lib/generated/services/signin.js +4 -4
  390. package/lib/generated/services/simspaceweaver.js +3 -3
  391. package/lib/generated/services/sms-voice.d.ts +2 -0
  392. package/lib/generated/services/sms-voice.js +11 -6
  393. package/lib/generated/services/sms.js +1 -1
  394. package/lib/generated/services/snow-device-management.js +4 -4
  395. package/lib/generated/services/snowball.js +2 -2
  396. package/lib/generated/services/sns.js +4 -4
  397. package/lib/generated/services/social-messaging.d.ts +6 -0
  398. package/lib/generated/services/social-messaging.js +11 -5
  399. package/lib/generated/services/sqlworkbench.js +3 -3
  400. package/lib/generated/services/sqs.js +4 -4
  401. package/lib/generated/services/ssm-contacts.js +4 -4
  402. package/lib/generated/services/ssm-guiconnect.js +2 -2
  403. package/lib/generated/services/ssm-incidents.js +4 -4
  404. package/lib/generated/services/ssm-quicksetup.js +4 -4
  405. package/lib/generated/services/ssm-sap.js +4 -4
  406. package/lib/generated/services/ssm.js +4 -4
  407. package/lib/generated/services/ssmmessages.js +2 -2
  408. package/lib/generated/services/sso-directory.js +1 -1
  409. package/lib/generated/services/sso-oauth.js +3 -3
  410. package/lib/generated/services/sso.js +4 -4
  411. package/lib/generated/services/states.js +4 -4
  412. package/lib/generated/services/storagegateway.js +4 -4
  413. package/lib/generated/services/sts.js +4 -4
  414. package/lib/generated/services/support-console.js +1 -1
  415. package/lib/generated/services/support.js +2 -2
  416. package/lib/generated/services/supportapp.js +2 -2
  417. package/lib/generated/services/supportauthz.js +4 -4
  418. package/lib/generated/services/supportplans.js +1 -1
  419. package/lib/generated/services/sustainability.js +2 -2
  420. package/lib/generated/services/swf.js +4 -4
  421. package/lib/generated/services/synthetics.js +4 -4
  422. package/lib/generated/services/tag.js +2 -2
  423. package/lib/generated/services/tax.js +2 -2
  424. package/lib/generated/services/textract.js +4 -4
  425. package/lib/generated/services/thinclient.js +4 -4
  426. package/lib/generated/services/timestream-influxdb.js +4 -4
  427. package/lib/generated/services/timestream.js +4 -4
  428. package/lib/generated/services/tiros.js +1 -1
  429. package/lib/generated/services/tnb.js +4 -4
  430. package/lib/generated/services/transcribe.js +4 -4
  431. package/lib/generated/services/transfer.js +4 -4
  432. package/lib/generated/services/transform-custom.js +3 -3
  433. package/lib/generated/services/transform.js +3 -3
  434. package/lib/generated/services/translate.js +4 -4
  435. package/lib/generated/services/trustedadvisor.js +3 -3
  436. package/lib/generated/services/ts.js +3 -3
  437. package/lib/generated/services/user-subscriptions.js +2 -2
  438. package/lib/generated/services/uxc.js +2 -2
  439. package/lib/generated/services/vendor-insights.js +3 -3
  440. package/lib/generated/services/verified-access.js +1 -1
  441. package/lib/generated/services/verifiedpermissions.js +4 -4
  442. package/lib/generated/services/voiceid.js +4 -4
  443. package/lib/generated/services/vpc-lattice-svcs.js +3 -3
  444. package/lib/generated/services/vpc-lattice.js +4 -4
  445. package/lib/generated/services/vpce.js +2 -2
  446. package/lib/generated/services/waf-regional.js +4 -4
  447. package/lib/generated/services/waf.js +4 -4
  448. package/lib/generated/services/wafv2.js +4 -4
  449. package/lib/generated/services/wam.js +1 -1
  450. package/lib/generated/services/wellarchitected.js +4 -4
  451. package/lib/generated/services/wickr.js +4 -4
  452. package/lib/generated/services/wisdom.js +4 -4
  453. package/lib/generated/services/workdocs.js +3 -3
  454. package/lib/generated/services/worklink.js +3 -3
  455. package/lib/generated/services/workmail.js +4 -4
  456. package/lib/generated/services/workmailmessageflow.js +3 -3
  457. package/lib/generated/services/workspaces-instances.js +4 -4
  458. package/lib/generated/services/workspaces-web.js +4 -4
  459. package/lib/generated/services/workspaces.js +4 -4
  460. package/lib/generated/services/xray.js +4 -4
  461. package/package.json +1 -1
@@ -16,7 +16,7 @@ class SMSVoiceActions {
16
16
  }
17
17
  exports.SMSVoiceActions = SMSVoiceActions;
18
18
  _a = JSII_RTTI_SYMBOL_1;
19
- SMSVoiceActions[_a] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceActions", version: "1.25.0" };
19
+ SMSVoiceActions[_a] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceActions", version: "1.26.0" };
20
20
  /** The IAM service prefix. */
21
21
  SMSVoiceActions.SERVICE_PREFIX = "sms-voice";
22
22
  /** [Write] sms-voice:AssociateOriginationIdentity */
@@ -157,6 +157,8 @@ SMSVoiceActions.actionGetConfigurationSetEventDestinations = "sms-voice:GetConfi
157
157
  SMSVoiceActions.actionGetProtectConfigurationCountryRuleSet = "sms-voice:GetProtectConfigurationCountryRuleSet";
158
158
  /** [Read] sms-voice:GetResourcePolicy */
159
159
  SMSVoiceActions.actionGetResourcePolicy = "sms-voice:GetResourcePolicy";
160
+ /** [Read] sms-voice:ListAvailablePhoneNumbers */
161
+ SMSVoiceActions.ListAvailablePhoneNumbers = "sms-voice:ListAvailablePhoneNumbers";
160
162
  /** [Read] sms-voice:ListConfigurationSets */
161
163
  SMSVoiceActions.ListConfigurationSets = "sms-voice:ListConfigurationSets";
162
164
  /** [Read] sms-voice:ListNotifyCountries */
@@ -276,6 +278,7 @@ SMSVoiceActions.AllReadActions = [
276
278
  SMSVoiceActions.actionGetConfigurationSetEventDestinations,
277
279
  SMSVoiceActions.actionGetProtectConfigurationCountryRuleSet,
278
280
  SMSVoiceActions.actionGetResourcePolicy,
281
+ SMSVoiceActions.ListAvailablePhoneNumbers,
279
282
  SMSVoiceActions.ListConfigurationSets,
280
283
  SMSVoiceActions.ListNotifyCountries,
281
284
  SMSVoiceActions.ListPoolOriginationIdentities,
@@ -731,7 +734,7 @@ class SMSVoiceResources {
731
734
  }
732
735
  exports.SMSVoiceResources = SMSVoiceResources;
733
736
  _b = JSII_RTTI_SYMBOL_1;
734
- SMSVoiceResources[_b] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceResources", version: "1.25.0" };
737
+ SMSVoiceResources[_b] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceResources", version: "1.26.0" };
735
738
  /**
736
739
  * API operation to required IAM actions mapping for sms-voice.
737
740
  */
@@ -739,7 +742,7 @@ class SMSVoiceOperations {
739
742
  }
740
743
  exports.SMSVoiceOperations = SMSVoiceOperations;
741
744
  _c = JSII_RTTI_SYMBOL_1;
742
- SMSVoiceOperations[_c] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceOperations", version: "1.25.0" };
745
+ SMSVoiceOperations[_c] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceOperations", version: "1.26.0" };
743
746
  /** IAM actions required for the AssociateOriginationIdentity API call. */
744
747
  SMSVoiceOperations.AssociateOriginationIdentity = [
745
748
  "sms-voice:AssociateOriginationIdentity",
@@ -1010,7 +1013,9 @@ SMSVoiceOperations.opGetResourcePolicy = [
1010
1013
  "sms-voice:GetResourcePolicy",
1011
1014
  ];
1012
1015
  /** IAM actions required for the ListAvailablePhoneNumbers API call. */
1013
- SMSVoiceOperations.ListAvailablePhoneNumbers = [];
1016
+ SMSVoiceOperations.ListAvailablePhoneNumbers = [
1017
+ "sms-voice:ListAvailablePhoneNumbers",
1018
+ ];
1014
1019
  /** IAM actions required for the ListConfigurationSets API call. */
1015
1020
  SMSVoiceOperations.ListConfigurationSets = [
1016
1021
  "sms-voice:ListConfigurationSets",
@@ -1203,7 +1208,7 @@ class SMSVoiceConditions {
1203
1208
  }
1204
1209
  exports.SMSVoiceConditions = SMSVoiceConditions;
1205
1210
  _d = JSII_RTTI_SYMBOL_1;
1206
- SMSVoiceConditions[_d] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceConditions", version: "1.25.0" };
1211
+ SMSVoiceConditions[_d] = { fqn: "@cdk_utils/iam.sms_voice.SMSVoiceConditions", version: "1.26.0" };
1207
1212
  /** Condition keys applicable to the CreateConfigurationSet action. */
1208
1213
  SMSVoiceConditions.CreateConfigurationSetConditionKeys = [
1209
1214
  "aws:RequestTag/${TagKey}",
@@ -1272,4 +1277,4 @@ SMSVoiceConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
1272
1277
  SMSVoiceConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
1273
1278
  /** Condition key: aws:TagKeys (ArrayOfString) */
1274
1279
  SMSVoiceConditions.AWS_TAG_KEYS = "aws:TagKeys";
1275
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLXZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zbXMtdm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZUFBZTs7QUFBNUIsMENBb2FDOzs7QUFuYUEsOEJBQThCO0FBQ2QsOEJBQWMsR0FBRyxXQUFXLENBQUM7QUFFN0MscURBQXFEO0FBQ3JDLDRDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFDQUFxQztBQUNyQiw2QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwrREFBK0Q7QUFDL0Msc0RBQXNDLEdBQ3JELGtEQUFrRCxDQUFDO0FBQ3BELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSxrREFBa0Q7QUFDbEMseUNBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLHlDQUF5QztBQUN6QixnQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxtQ0FBbUM7QUFDbkIsMEJBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCxtREFBbUQ7QUFDbkMsMENBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLHVDQUF1QztBQUN2Qiw4QkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDJDQUEyQztBQUMzQixrQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFEQUFxRDtBQUNyQyw0Q0FBNEIsR0FDM0Msd0NBQXdDLENB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SUFDM0QsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsK0RBQStEO0FBQy9DLCtDQUE0QixHQUFhO0lBQ3hELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDJEQUEyRDtBQUMzQywyQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsNkNBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsa0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsbUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLCtCQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uvc21zLXZvaWNlLmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBzbXMtdm9pY2Ugc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNNU1ZvaWNlQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcInNtcy12b2ljZVwiO1xuXG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5ID1cblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkNhcnJpZXJMb29rdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IENhcnJpZXJMb29rdXAgPSBcInNtcy12b2ljZTpDYXJyaWVyTG9va3VwXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0ID0gXCJzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlRXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXZlbnREZXN0aW5hdGlvbiA9IFwic21zLXZvaWNlOkNyZWF0ZUV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZU9wdE91dExpc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU9wdE91dExpc3QgPSBcInNtcy12b2ljZTpDcmVhdGVPcHRPdXRMaXN0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sID0gXCJzbXMtdm9pY2U6Q3JlYXRlUG9vbFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUmNzQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJjc0FnZW50ID0gXCJzbXMtdm9pY2U6Q3JlYXRlUmNzQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uID0gXCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50ID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyID1cblx0XHRcInNtcy12b2ljZTpDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0ID0gXCJzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZWZhdWx0TWVzc2FnZVR5cGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdFNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVEZWZhdWx0U2VuZGVySWQgPSBcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0U2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZUV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50RGVzdGluYXRpb24gPSBcInNtcy12b2ljZTpEZWxldGVFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVLZXl3b3JkICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLZXl3b3JkID0gXCJzbXMtdm9pY2U6RGVsZXRlS2V5d29yZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlT3B0T3V0TGlzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0T3V0TGlzdCA9IFwic21zLXZvaWNlOkRlbGV0ZU9wdE91dExpc3RcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZU9wdGVkT3V0TnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRlZE91dE51bWJlciA9IFwic21zLXZvaWNlOkRlbGV0ZU9wdGVkT3V0TnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVQb29sICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQb29sID0gXCJzbXMtdm9pY2U6RGVsZXRlUG9vbFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUmNzQWdlbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJjc0FnZW50ID0gXCJzbXMtdm9pY2U6RGVsZXRlUmNzQWdlbnRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uID0gXCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50ID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNtcy12b2ljZTpEZWxldGVSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3kgPSBcInNtcy12b2ljZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudExpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50TGltaXRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50TGltaXRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlQ29uZmlndXJhdGlvblNldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29uZmlndXJhdGlvblNldHMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlQ29uZmlndXJhdGlvblNldHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVLZXl3b3JkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVLZXl3b3JkcyA9IFwic21zLXZvaWNlOkRlc2NyaWJlS2V5d29yZHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU5vdGlmeVRlbXBsYXRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMgPSBcInNtcy12b2ljZTpEZXNjcmliZU5vdGlmeVRlbXBsYXRlc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU9wdE91dExpc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdE91dExpc3RzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRPdXRMaXN0c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU9wdGVkT3V0TnVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRlZE91dE51bWJlcnMgPSBcInNtcy12b2ljZTpEZXNjcmliZU9wdGVkT3V0TnVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVBob25lTnVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQaG9uZU51bWJlcnMgPSBcInNtcy12b2ljZTpEZXNjcmliZVBob25lTnVtYmVyc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVBvb2xzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBvb2xzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVQb29sc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50Q291bnRyeUxhdW5jaFN0YXR1cyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmNzQWdlbnRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50cyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25TZWN0aW9uRGVmaW5pdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbnMgPSBcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVTZW5kZXJJZHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VuZGVySWRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVTZW5kZXJJZHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVTcGVuZExpbWl0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTcGVuZExpbWl0cyA9IFwic21zLXZvaWNlOkRlc2NyaWJlU3BlbmRMaW1pdHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyc1wiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSA9XG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uID1cblx0XHRcInNtcy12b2ljZTpEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvblwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgPVxuXHRcdFwic21zLXZvaWNlOkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXRcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6R2V0UmVzb3VyY2VQb2xpY3kgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlUG9saWN5ID0gXCJzbXMtdm9pY2U6R2V0UmVzb3VyY2VQb2xpY3lcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdENvbmZpZ3VyYXRpb25TZXRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29uZmlndXJhdGlvblNldHMgPSBcInNtcy12b2ljZTpMaXN0Q29uZmlndXJhdGlvblNldHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdE5vdGlmeUNvdW50cmllcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdE5vdGlmeUNvdW50cmllcyA9IFwic21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQb29sT3JpZ2luYXRpb25JZGVudGl0aWVzID1cblx0XHRcInNtcy12b2ljZTpMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpMaXN0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVzID1cblx0XHRcInNtcy12b2ljZTpMaXN0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwic21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dEtleXdvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEtleXdvcmQgPSBcInNtcy12b2ljZTpQdXRLZXl3b3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRNZXNzYWdlRmVlZGJhY2sgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1lc3NhZ2VGZWVkYmFjayA9IFwic21zLXZvaWNlOlB1dE1lc3NhZ2VGZWVkYmFja1wiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UHV0T3B0ZWRPdXROdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE9wdGVkT3V0TnVtYmVyID0gXCJzbXMtdm9pY2U6UHV0T3B0ZWRPdXROdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6UHV0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dFJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgPVxuXHRcdFwic21zLXZvaWNlOlB1dFJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gc21zLXZvaWNlOlB1dFJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZXNvdXJjZVBvbGljeSA9IFwic21zLXZvaWNlOlB1dFJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlbGVhc2VQaG9uZU51bWJlciA9IFwic21zLXZvaWNlOlJlbGVhc2VQaG9uZU51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UmVsZWFzZVNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxlYXNlU2VuZGVySWQgPSBcInNtcy12b2ljZTpSZWxlYXNlU2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFBob25lTnVtYmVyID0gXCJzbXMtdm9pY2U6UmVxdWVzdFBob25lTnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpSZXF1ZXN0U2VuZGVySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RTZW5kZXJJZCA9IFwic21zLXZvaWNlOlJlcXVlc3RTZW5kZXJJZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZE1lZGlhTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE1lZGlhTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRNZWRpYU1lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVRleHRNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZE5vdGlmeVRleHRNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZFJjc01lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRSY3NNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZFJjc01lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmRUZXh0TWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFRleHRNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZFRleHRNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9pY2VNZXNzYWdlID0gXCJzbXMtdm9pY2U6U2VuZFZvaWNlTWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkID1cblx0XHRcInNtcy12b2ljZTpTZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VUeXBlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXREZWZhdWx0TWVzc2FnZVR5cGUgPVxuXHRcdFwic21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXREZWZhdWx0U2VuZGVySWQgPSBcInNtcy12b2ljZTpTZXREZWZhdWx0U2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb24gPVxuXHRcdFwic21zLXZvaWNlOlN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb25cIjtcblx0LyoqIFtUYWdnaW5nXSBzbXMtdm9pY2U6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBzbXMtdm9pY2U6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwic21zLXZvaWNlOlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZUV2ZW50RGVzdGluYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUV2ZW50RGVzdGluYXRpb24gPSBcInNtcy12b2ljZTpVcGRhdGVFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpVcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUGhvbmVOdW1iZXIgPSBcInNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlUG9vbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9vbCA9IFwic21zLXZvaWNlOlVwZGF0ZVBvb2xcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgPVxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVJjc0FnZW50ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSY3NBZ2VudCA9IFwic21zLXZvaWNlOlVwZGF0ZVJjc0FnZW50XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU2VuZGVySWQgPSBcInNtcy12b2ljZTpVcGRhdGVTZW5kZXJJZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VmVyaWZ5RGVzdGluYXRpb25OdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFZlcmlmeURlc3RpbmF0aW9uTnVtYmVyID0gXCJzbXMtdm9pY2U6VmVyaWZ5RGVzdGluYXRpb25OdW1iZXJcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ2Fycmllckxvb2t1cCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVBY2NvdW50TGltaXRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZUtleXdvcmRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZU5vdGlmeVRlbXBsYXRlcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVPcHRPdXRMaXN0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVPcHRlZE91dE51bWJlcnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUGhvbmVOdW1iZXJzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVBvb2xzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmNzQWdlbnRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVNlbmRlcklkcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVTcGVuZExpbWl0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uR2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25HZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVBvbGljeSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdENvbmZpZ3VyYXRpb25TZXRzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5MaXN0Tm90aWZ5Q291bnRyaWVzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5MaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFJlZ2lzdHJhdGlvbkFzc29jaWF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuQXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuQXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVPcHRPdXRMaXN0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVQb29sLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUmNzQWdlbnQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVEZWZhdWx0TWVzc2FnZVR5cGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZURlZmF1bHRTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlRXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlS2V5d29yZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVOb3RpZnlDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVPcHRPdXRMaXN0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVPcHRlZE91dE51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUG9vbCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSY3NBZ2VudCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVnaXN0cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dEtleXdvcmQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dE1lc3NhZ2VGZWVkYmFjayxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUHV0T3B0ZWRPdXROdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5SZWxlYXNlUGhvbmVOdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlJlbGVhc2VTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUmVxdWVzdFBob25lTnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5SZXF1ZXN0U2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRNZWRpYU1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmROb3RpZnlUZXh0TWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuU2VuZE5vdGlmeVZvaWNlTWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuU2VuZFJjc01lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRUZXh0TWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuU2VuZFZvaWNlTWVzc2FnZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0QWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldERlZmF1bHRNZXNzYWdlVHlwZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0RGVmYXVsdFNlbmRlcklkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldE5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldFJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlN1Ym1pdFJlZ2lzdHJhdGlvblZlcnNpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVFdmVudERlc3RpbmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVOb3RpZnlDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVQaG9uZU51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlUG9vbCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVJjc0FnZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVmVyaWZ5RGVzdGluYXRpb25OdW1iZXIsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVSZXNvdXJjZVBvbGljeSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUHV0UmVzb3VyY2VQb2xpY3ksXG5cdF07XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFNNU1ZvaWNlQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVW50YWdSZXNvdXJjZSxcblx0XTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIENvbmZpZ3VyYXRpb25TZXQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlQ29uZmlndXJhdGlvblNldEFyblByb3BzIHtcblx0LyoqIFRoZSBDb25maWd1cmF0aW9uU2V0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBDb25maWd1cmF0aW9uU2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbmZpZ3VyYXRpb25TZXROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29uZmlndXJhdGlvblNldE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE1lc3NhZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlTWVzc2FnZUFyblByb3BzIHtcblx0LyoqIFRoZSBNZXNzYWdlSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IG1lc3NhZ2VJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE1lc3NhZ2UgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlTWVzc2FnZUFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTWVzc2FnZUlkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbWVzc2FnZUlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBOb3RpZnlDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTm90aWZ5Q29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBub3RpZnlDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBOb3RpZnlDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE5vdGlmeUNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG5vdGlmeUNvbmZpZ3VyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgT3B0T3V0TGlzdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VPcHRPdXRMaXN0QXJuUHJvcHMge1xuXHQvKiogVGhlIE9wdE91dExpc3ROYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBvcHRPdXRMaXN0TmFtZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIE9wdE91dExpc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlT3B0T3V0TGlzdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgT3B0T3V0TGlzdE5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBvcHRPdXRMaXN0TmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUGhvbmVOdW1iZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUGhvbmVOdW1iZXJBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUGhvbmVOdW1iZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGhvbmVOdW1iZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFBob25lTnVtYmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVBob25lTnVtYmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQaG9uZU51bWJlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGhvbmVOdW1iZXJJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQb29sQXJuUHJvcHMge1xuXHQvKiogVGhlIFBvb2xJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcG9vbElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUG9vbCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQb29sQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQb29sSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwb29sSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFByb3RlY3RDb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVByb3RlY3RDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFByb3RlY3RDb25maWd1cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHByb3RlY3RDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQcm90ZWN0Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQcm90ZWN0Q29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvdGVjdENvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3RlY3RDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJjc0FnZW50IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVJjc0FnZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFJjc0FnZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJjc0FnZW50SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSY3NBZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSY3NBZ2VudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmNzQWdlbnRJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJjc0FnZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlZ2lzdHJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVnaXN0cmF0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVnaXN0cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVJlZ2lzdHJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVnaXN0cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWdpc3RyYXRpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVnaXN0cmF0aW9uQXR0YWNobWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cmF0aW9uQXR0YWNobWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmVnaXN0cmF0aW9uQXR0YWNobWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBSZWdpc3RyYXRpb25BdHRhY2htZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZWdpc3RyYXRpb25BdHRhY2htZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFNlbmRlcklkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVNlbmRlcklkQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlbmRlcklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBzZW5kZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIElzb0NvdW50cnlDb2RlIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBpc29Db3VudHJ5Q29kZTogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFNlbmRlcklkIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVNlbmRlcklkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBTZW5kZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHNlbmRlcklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgSXNvQ291bnRyeUNvZGUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBpc29Db3VudHJ5Q29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ29uZmlndXJhdGlvblNldEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25maWd1cmF0aW9uLXNldFxcLyg/PGNvbmZpZ3VyYXRpb25TZXROYW1lPlteOi8/XSspJC87XG5jb25zdCBNZXNzYWdlQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm1lc3NhZ2VcXC8oPzxtZXNzYWdlSWQ+W146Lz9dKykkLztcbmNvbnN0IE5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6bm90aWZ5LWNvbmZpZ3VyYXRpb25cXC8oPzxub3RpZnlDb25maWd1cmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IE9wdE91dExpc3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6b3B0LW91dC1saXN0XFwvKD88b3B0T3V0TGlzdE5hbWU+W146Lz9dKykkLztcbmNvbnN0IFBob25lTnVtYmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBob25lLW51bWJlclxcLyg/PHBob25lTnVtYmVySWQ+W146Lz9dKykkLztcbmNvbnN0IFBvb2xBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cG9vbFxcLyg/PHBvb2xJZD5bXjovP10rKSQvO1xuY29uc3QgUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cHJvdGVjdC1jb25maWd1cmF0aW9uXFwvKD88cHJvdGVjdENvbmZpZ3VyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmNzQWdlbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6cmNzLWFnZW50XFwvKD88cmNzQWdlbnRJZD5bXjovP10rKSQvO1xuY29uc3QgUmVnaXN0cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZ2lzdHJhdGlvblxcLyg/PHJlZ2lzdHJhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlZ2lzdHJhdGlvbi1hdHRhY2htZW50XFwvKD88cmVnaXN0cmF0aW9uQXR0YWNobWVudElkPlteOi8/XSspJC87XG5jb25zdCBTZW5kZXJJZEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpzZW5kZXItaWRcXC8oPzxzZW5kZXJJZD5bXjovP10rKVxcLyg/PGlzb0NvdW50cnlDb2RlPlteOi8/XSspJC87XG5jb25zdCBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnZlcmlmaWVkLWRlc3RpbmF0aW9uLW51bWJlclxcLyg/PHZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIHNtcy12b2ljZSByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZVJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29uZmlndXJhdGlvblNldCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25maWd1cmF0aW9uU2V0KHByb3BzOiBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbmZpZ3VyYXRpb24tc2V0LyR7cHJvcHMuY29uZmlndXJhdGlvblNldE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25TZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbmZpZ3VyYXRpb25TZXRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29uZmlndXJhdGlvblNldEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25maWd1cmF0aW9uU2V0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbmZpZ3VyYXRpb25TZXRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlQ29uZmlndXJhdGlvblNldEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29uZmlndXJhdGlvblNldEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBDb25maWd1cmF0aW9uU2V0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbmZpZ3VyYXRpb25TZXROYW1lOiBtYXRjaC5ncm91cHMhLmNvbmZpZ3VyYXRpb25TZXROYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIE1lc3NhZ2UgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgbWVzc2FnZShwcm9wczogU01TVm9pY2VNZXNzYWdlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTptZXNzYWdlLyR7cHJvcHMubWVzc2FnZUlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBNZXNzYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRNZXNzYWdlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE1lc3NhZ2VBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgTWVzc2FnZSBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VNZXNzYWdlQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VNZXNzYWdlQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBNZXNzYWdlQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE1lc3NhZ2UgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bWVzc2FnZUlkOiBtYXRjaC5ncm91cHMhLm1lc3NhZ2VJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBOb3RpZnlDb25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG5vdGlmeUNvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IFNNU1ZvaWNlTm90aWZ5Q29uZmlndXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpub3RpZnktY29uZmlndXJhdGlvbi8ke3Byb3BzLm5vdGlmeUNvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTm90aWZ5Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTm90aWZ5Q29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBOb3RpZnlDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE5vdGlmeUNvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTm90aWZ5Q29uZmlndXJhdGlvbkFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU01TVm9pY2VOb3RpZnlDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBOb3RpZnlDb25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE5vdGlmeUNvbmZpZ3VyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0bm90aWZ5Q29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLm5vdGlmeUNvbmZpZ3VyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBPcHRPdXRMaXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG9wdE91dExpc3QocHJvcHM6IFNNU1ZvaWNlT3B0T3V0TGlzdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06b3B0LW91dC1saXN0LyR7cHJvcHMub3B0T3V0TGlzdE5hbWV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE9wdE91dExpc3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE9wdE91dExpc3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gT3B0T3V0TGlzdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBPcHRPdXRMaXN0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU9wdE91dExpc3RBcm4oYXJuOiBzdHJpbmcpOiBTTVNWb2ljZU9wdE91dExpc3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IE9wdE91dExpc3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgT3B0T3V0TGlzdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRvcHRPdXRMaXN0TmFtZTogbWF0Y2guZ3JvdXBzIS5vcHRPdXRMaXN0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQaG9uZU51bWJlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwaG9uZU51bWJlcihwcm9wczogU01TVm9pY2VQaG9uZU51bWJlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cGhvbmUtbnVtYmVyLyR7cHJvcHMucGhvbmVOdW1iZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUGhvbmVOdW1iZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFBob25lTnVtYmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBob25lTnVtYmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFBob25lTnVtYmVyIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVBob25lTnVtYmVyQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VQaG9uZU51bWJlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGhvbmVOdW1iZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUGhvbmVOdW1iZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cGhvbmVOdW1iZXJJZDogbWF0Y2guZ3JvdXBzIS5waG9uZU51bWJlcklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFBvb2wgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcG9vbChwcm9wczogU01TVm9pY2VQb29sQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwb29sLyR7cHJvcHMucG9vbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQb29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQb29sQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBvb2xBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUG9vbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQb29sQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VQb29sQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQb29sQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFBvb2wgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cG9vbElkOiBtYXRjaC5ncm91cHMhLnBvb2xJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQcm90ZWN0Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm90ZWN0Q29uZmlndXJhdGlvbihcblx0XHRwcm9wczogU01TVm9pY2VQcm90ZWN0Q29uZmlndXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpwcm90ZWN0LWNvbmZpZ3VyYXRpb24vJHtwcm9wcy5wcm90ZWN0Q29uZmlndXJhdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBQcm90ZWN0Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgUHJvdGVjdENvbmZpZ3VyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFByb3RlY3RDb25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFByb3RlY3RDb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHByb3RlY3RDb25maWd1cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucHJvdGVjdENvbmZpZ3VyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSY3NBZ2VudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByY3NBZ2VudChwcm9wczogU01TVm9pY2VSY3NBZ2VudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmNzLWFnZW50LyR7cHJvcHMucmNzQWdlbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmNzQWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJjc0FnZW50QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJjc0FnZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJjc0FnZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJjc0FnZW50QXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VSY3NBZ2VudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmNzQWdlbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmNzQWdlbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmNzQWdlbnRJZDogbWF0Y2guZ3JvdXBzIS5yY3NBZ2VudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlZ2lzdHJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWdpc3RyYXRpb24ocHJvcHM6IFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWdpc3RyYXRpb24vJHtwcm9wcy5yZWdpc3RyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVnaXN0cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZWdpc3RyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVnaXN0cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlZ2lzdHJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZWdpc3RyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBTTVNWb2ljZVJlZ2lzdHJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVnaXN0cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlZ2lzdHJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRyZWdpc3RyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5yZWdpc3RyYXRpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWdpc3RyYXRpb25BdHRhY2htZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQoXG5cdFx0cHJvcHM6IFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpyZWdpc3RyYXRpb24tYXR0YWNobWVudC8ke3Byb3BzLnJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVnaXN0cmF0aW9uQXR0YWNobWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU01TVm9pY2VSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZWdpc3RyYXRpb25BdHRhY2htZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVnaXN0cmF0aW9uQXR0YWNobWVudElkOiBtYXRjaC5ncm91cHMhLnJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBTZW5kZXJJZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBzZW5kZXJJZChwcm9wczogU01TVm9pY2VTZW5kZXJJZEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06c2VuZGVyLWlkLyR7cHJvcHMuc2VuZGVySWR9LyR7cHJvcHMuaXNvQ291bnRyeUNvZGV9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFNlbmRlcklkIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZW5kZXJJZEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBTZW5kZXJJZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBTZW5kZXJJZCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZW5kZXJJZEFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlU2VuZGVySWRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFNlbmRlcklkQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFNlbmRlcklkIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHNlbmRlcklkOiBtYXRjaC5ncm91cHMhLnNlbmRlcklkLFxuXHRcdFx0aXNvQ291bnRyeUNvZGU6IG1hdGNoLmdyb3VwcyEuaXNvQ291bnRyeUNvZGUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyKFxuXHRcdHByb3BzOiBTTVNWb2ljZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dmVyaWZpZWQtZGVzdGluYXRpb24tbnVtYmVyLyR7cHJvcHMudmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTTVNWb2ljZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQ6IG1hdGNoLmdyb3VwcyEudmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIHNtcy12b2ljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNNU1ZvaWNlT3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENhcnJpZXJMb29rdXAgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDYXJyaWVyTG9va3VwOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpDYXJyaWVyTG9va3VwXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmF0aW9uU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvblNldDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlQ29uZmlndXJhdGlvblNldFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlRXZlbnREZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvblwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZU9wdE91dExpc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVPcHRPdXRMaXN0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVPcHRPdXRMaXN0XCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvb2w6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVBvb2xcIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJjc0FnZW50XCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25cIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQWNjb3VudERlZmF1bHRQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvblNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0TWVzc2FnZVR5cGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRGVmYXVsdFNlbmRlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRGVmYXVsdFNlbmRlcklkOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVEZWZhdWx0U2VuZGVySWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlRXZlbnREZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlS2V5d29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleXdvcmQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlbGV0ZUtleXdvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGlmeUNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU5vdGlmeU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZU9wdE91dExpc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRPdXRMaXN0OiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZWxldGVPcHRPdXRMaXN0XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHRlZE91dE51bWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGVkT3V0TnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVPcHRlZE91dE51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUG9vbDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVsZXRlUG9vbFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUmNzQWdlbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSY3NBZ2VudDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVsZXRlUmNzQWdlbnRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVzb3VyY2VQb2xpY3k6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJlc291cmNlUG9saWN5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQWNjb3VudExpbWl0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudExpbWl0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50TGltaXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29uZmlndXJhdGlvblNldHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlS2V5d29yZHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUtleXdvcmRzOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZXNjcmliZUtleXdvcmRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU5vdGlmeVRlbXBsYXRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90aWZ5VGVtcGxhdGVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZU5vdGlmeVRlbXBsYXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wdE91dExpc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVPcHRPdXRMaXN0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRPdXRMaXN0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZU9wdGVkT3V0TnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0ZWRPdXROdW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZU9wdGVkT3V0TnVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBob25lTnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUGhvbmVOdW1iZXJzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVBob25lTnVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVBvb2xzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQb29sczogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVzY3JpYmVQb29sc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50Q291bnRyeUxhdW5jaFN0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVSY3NBZ2VudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJjc0FnZW50czogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uQXR0YWNobWVudHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25TZWN0aW9uRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmVnaXN0cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlU2VuZGVySWRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZW5kZXJJZHM6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlc2NyaWJlU2VuZGVySWRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNwZW5kTGltaXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTcGVuZExpbWl0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVTcGVuZExpbWl0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6R2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkdldFByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0UmVzb3VyY2VQb2xpY3kgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpHZXRSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0QXZhaWxhYmxlUGhvbmVOdW1iZXJzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEF2YWlsYWJsZVBob25lTnVtYmVyczogc3RyaW5nW10gPSBbXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25TZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25TZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpMaXN0Q29uZmlndXJhdGlvblNldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGlmeUNvdW50cmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZnlDb3VudHJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlZ2lzdHJhdGlvbkFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0S2V5d29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEtleXdvcmQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dEtleXdvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE1lc3NhZ2VGZWVkYmFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1lc3NhZ2VGZWVkYmFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0TWVzc2FnZUZlZWRiYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE9wdGVkT3V0TnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3B0ZWRPdXROdW1iZXI6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVBob25lTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVBob25lTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVNlbmRlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVNlbmRlcklkOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpSZWxlYXNlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RQaG9uZU51bWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRcdFwic21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlclwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RTZW5kZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UmVxdWVzdFNlbmRlcklkXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGVcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRNZWRpYU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVkaWFNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kTWVkaWFNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVZvaWNlTWVzc2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kUmNzTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRSY3NNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kUmNzTWVzc2FnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFRleHRNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFRleHRNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRWb2ljZU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9pY2VNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0RGVmYXVsdE1lc3NhZ2VUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZVR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXREZWZhdWx0U2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldERlZmF1bHRTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGhvbmVOdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlUmNzQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZW5kZXJJZDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeURlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5RGVzdGluYXRpb25OdW1iZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzbXMtdm9pY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wdE91dExpc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUG9vbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmNzQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0UGhvbmVOdW1iZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFBob25lTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0U2VuZGVySWQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFNlbmRlcklkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
1280
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLXZvaWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9zbXMtdm9pY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxnREFBZ0Q7QUFDaEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsZUFBZTs7QUFBNUIsMENBd2FDOzs7QUF2YUEsOEJBQThCO0FBQ2QsOEJBQWMsR0FBRyxXQUFXLENBQUM7QUFFN0MscURBQXFEO0FBQ3JDLDRDQUE0QixHQUMzQyx3Q0FBd0MsQ0FBQztBQUMxQyxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFDQUFxQztBQUNyQiw2QkFBYSxHQUFHLHlCQUF5QixDQUFDO0FBQzFELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSwrREFBK0Q7QUFDL0Msc0RBQXNDLEdBQ3JELGtEQUFrRCxDQUFDO0FBQ3BELCtDQUErQztBQUMvQixzQ0FBc0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUM1RSxrREFBa0Q7QUFDbEMseUNBQXlCLEdBQ3hDLHFDQUFxQyxDQUFDO0FBQ3ZDLHlDQUF5QztBQUN6QixnQ0FBZ0IsR0FBRyw0QkFBNEIsQ0FBQztBQUNoRSxtQ0FBbUM7QUFDbkIsMEJBQVUsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCxtREFBbUQ7QUFDbkMsMENBQTBCLEdBQ3pDLHNDQUFzQyxDQUFDO0FBQ3hDLHVDQUF1QztBQUN2Qiw4QkFBYyxHQUFHLDBCQUEwQixDQUFDO0FBQzVELDJDQUEyQztBQUMzQixrQ0FBa0IsR0FBRyw4QkFBOEIsQ0FBQztBQUNwRSxzREFBc0Q7QUFDdEMsNkNBQTZCLEdBQzVDLHlDQUF5QyxDQUFDO0FBQzNDLHFEQUFxRDtBQUNyQyw0Q0FBNEIsR0FDM0Msd0NBQXdDLENB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Qy9ELCtEQUE0QyxHQUFhO0lBQ3hFLDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLGtFQUFrRTtBQUNsRCxrREFBK0IsR0FBYTtJQUMzRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiwrREFBK0Q7QUFDL0MsK0NBQTRCLEdBQWE7SUFDeEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsMkRBQTJEO0FBQzNDLDJDQUF3QixHQUFhO0lBQ3BELDBCQUEwQjtJQUMxQixhQUFhO0NBQ2IsQ0FBQztBQUNGLDZEQUE2RDtBQUM3Qyw2Q0FBMEIsR0FBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRXZFLHVEQUF1RDtBQUN2QyxrQ0FBZSxHQUFHLDBCQUEwQixDQUFDO0FBQzdELHdEQUF3RDtBQUN4QyxtQ0FBZ0IsR0FBRywyQkFBMkIsQ0FBQztBQUMvRCxpREFBaUQ7QUFDakMsK0JBQVksR0FBRyxhQUFhLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9zbXMtdm9pY2UuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIHNtcy12b2ljZSBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgU01TVm9pY2VBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwic21zLXZvaWNlXCI7XG5cblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHkgPVxuXHRcdFwic21zLXZvaWNlOkFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHlcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6Q2Fycmllckxvb2t1cCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2Fycmllckxvb2t1cCA9IFwic21zLXZvaWNlOkNhcnJpZXJMb29rdXBcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXQgPSBcInNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudERlc3RpbmF0aW9uID0gXCJzbXMtdm9pY2U6Q3JlYXRlRXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlT3B0T3V0TGlzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdCA9IFwic21zLXZvaWNlOkNyZWF0ZU9wdE91dExpc3RcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVBvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVBvb2wgPSBcInNtcy12b2ljZTpDcmVhdGVQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpDcmVhdGVSY3NBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnQgPSBcInNtcy12b2ljZTpDcmVhdGVSY3NBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb24gPSBcInNtcy12b2ljZTpDcmVhdGVSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb24gPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvblZlcnNpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkNyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgPVxuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbmZpZ3VyYXRpb25TZXQgPSBcInNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVEZWZhdWx0TWVzc2FnZVR5cGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVEZWZhdWx0U2VuZGVySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlZmF1bHRTZW5kZXJJZCA9IFwic21zLXZvaWNlOkRlbGV0ZURlZmF1bHRTZW5kZXJJZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlRXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlRXZlbnREZXN0aW5hdGlvbiA9IFwic21zLXZvaWNlOkRlbGV0ZUV2ZW50RGVzdGluYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZUtleXdvcmQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUtleXdvcmQgPSBcInNtcy12b2ljZTpEZWxldGVLZXl3b3JkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVPcHRPdXRMaXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRPdXRMaXN0ID0gXCJzbXMtdm9pY2U6RGVsZXRlT3B0T3V0TGlzdFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlT3B0ZWRPdXROdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZU9wdGVkT3V0TnVtYmVyID0gXCJzbXMtdm9pY2U6RGVsZXRlT3B0ZWRPdXROdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVBvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvb2wgPSBcInNtcy12b2ljZTpEZWxldGVQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVSY3NBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmNzQWdlbnQgPSBcInNtcy12b2ljZTpEZWxldGVSY3NBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb24gPSBcInNtcy12b2ljZTpEZWxldGVSZWdpc3RyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVcIjtcblx0LyoqIFtQZXJtaXNzaW9uTWFuYWdlbWVudF0gc21zLXZvaWNlOkRlbGV0ZVJlc291cmNlUG9saWN5ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXNvdXJjZVBvbGljeSA9IFwic21zLXZvaWNlOkRlbGV0ZVJlc291cmNlUG9saWN5XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyID1cblx0XHRcInNtcy12b2ljZTpEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50TGltaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRMaW1pdHMgPSBcInNtcy12b2ljZTpEZXNjcmliZUFjY291bnRMaW1pdHNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVDb25maWd1cmF0aW9uU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0cyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVDb25maWd1cmF0aW9uU2V0c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZUtleXdvcmRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUtleXdvcmRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVLZXl3b3Jkc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZU5vdGlmeUNvbmZpZ3VyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlTm90aWZ5VGVtcGxhdGVzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGlmeVRlbXBsYXRlcyA9IFwic21zLXZvaWNlOkRlc2NyaWJlTm90aWZ5VGVtcGxhdGVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlT3B0T3V0TGlzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0T3V0TGlzdHMgPSBcInNtcy12b2ljZTpEZXNjcmliZU9wdE91dExpc3RzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlT3B0ZWRPdXROdW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdGVkT3V0TnVtYmVycyA9IFwic21zLXZvaWNlOkRlc2NyaWJlT3B0ZWRPdXROdW1iZXJzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUGhvbmVOdW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBob25lTnVtYmVycyA9IFwic21zLXZvaWNlOkRlc2NyaWJlUGhvbmVOdW1iZXJzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUG9vbHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUG9vbHMgPSBcInNtcy12b2ljZTpEZXNjcmliZVBvb2xzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVByb3RlY3RDb25maWd1cmF0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJjc0FnZW50Q291bnRyeUxhdW5jaFN0YXR1c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJjc0FnZW50cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSY3NBZ2VudHMgPSBcInNtcy12b2ljZTpEZXNjcmliZVJjc0FnZW50c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlcyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25TZWN0aW9uRGVmaW5pdGlvbnMgPVxuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9ucyA9XG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9ucyA9IFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVNlbmRlcklkcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVTZW5kZXJJZHMgPSBcInNtcy12b2ljZTpEZXNjcmliZVNlbmRlcklkc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVNwZW5kTGltaXRzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVNwZW5kTGltaXRzID0gXCJzbXMtdm9pY2U6RGVzY3JpYmVTcGVuZExpbWl0c1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpEZXNjcmliZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJzID1cblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJzXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5ICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5ID1cblx0XHRcInNtcy12b2ljZTpEaXNhc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOkRpc2Fzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24gPVxuXHRcdFwic21zLXZvaWNlOkRpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zID1cblx0XHRcInNtcy12b2ljZTpHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6R2V0UHJvdGVjdENvbmZpZ3VyYXRpb25Db3VudHJ5UnVsZVNldCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UHJvdGVjdENvbmZpZ3VyYXRpb25Db3VudHJ5UnVsZVNldCA9XG5cdFx0XCJzbXMtdm9pY2U6R2V0UHJvdGVjdENvbmZpZ3VyYXRpb25Db3VudHJ5UnVsZVNldFwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpHZXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3kgPSBcInNtcy12b2ljZTpHZXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpMaXN0QXZhaWxhYmxlUGhvbmVOdW1iZXJzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXZhaWxhYmxlUGhvbmVOdW1iZXJzID1cblx0XHRcInNtcy12b2ljZTpMaXN0QXZhaWxhYmxlUGhvbmVOdW1iZXJzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RDb25maWd1cmF0aW9uU2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25TZXRzID0gXCJzbXMtdm9pY2U6TGlzdENvbmZpZ3VyYXRpb25TZXRzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZnlDb3VudHJpZXMgPSBcInNtcy12b2ljZTpMaXN0Tm90aWZ5Q291bnRyaWVzXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RQb29sT3JpZ2luYXRpb25JZGVudGl0aWVzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllcyA9XG5cdFx0XCJzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXNcIjtcblx0LyoqIFtSZWFkXSBzbXMtdm9pY2U6TGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyA9XG5cdFx0XCJzbXMtdm9pY2U6TGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlc1wiO1xuXHQvKiogW1JlYWRdIHNtcy12b2ljZTpMaXN0UmVnaXN0cmF0aW9uQXNzb2NpYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVnaXN0cmF0aW9uQXNzb2NpYXRpb25zID1cblx0XHRcInNtcy12b2ljZTpMaXN0UmVnaXN0cmF0aW9uQXNzb2NpYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0gc21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcInNtcy12b2ljZTpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRLZXl3b3JkICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRLZXl3b3JkID0gXCJzbXMtdm9pY2U6UHV0S2V5d29yZFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UHV0TWVzc2FnZUZlZWRiYWNrICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRNZXNzYWdlRmVlZGJhY2sgPSBcInNtcy12b2ljZTpQdXRNZXNzYWdlRmVlZGJhY2tcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRPcHRlZE91dE51bWJlciA9IFwic21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlICovXG5cdHN0YXRpYyByZWFkb25seSBQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlID1cblx0XHRcInNtcy12b2ljZTpQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlXCI7XG5cdC8qKiBbUGVybWlzc2lvbk1hbmFnZW1lbnRdIHNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVzb3VyY2VQb2xpY3kgPSBcInNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UmVsZWFzZVBob25lTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBSZWxlYXNlUGhvbmVOdW1iZXIgPSBcInNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlJlbGVhc2VTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVNlbmRlcklkID0gXCJzbXMtdm9pY2U6UmVsZWFzZVNlbmRlcklkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpSZXF1ZXN0UGhvbmVOdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RQaG9uZU51bWJlciA9IFwic21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlclwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6UmVxdWVzdFNlbmRlcklkICovXG5cdHN0YXRpYyByZWFkb25seSBSZXF1ZXN0U2VuZGVySWQgPSBcInNtcy12b2ljZTpSZXF1ZXN0U2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGUgPVxuXHRcdFwic21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmRNZWRpYU1lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRNZWRpYU1lc3NhZ2UgPSBcInNtcy12b2ljZTpTZW5kTWVkaWFNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kTm90aWZ5VGV4dE1lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmROb3RpZnlUZXh0TWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVZvaWNlTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmROb3RpZnlWb2ljZU1lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNlbmRSY3NNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kUmNzTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRSY3NNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRUZXh0TWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRUZXh0TWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6U2VuZFZvaWNlTWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFZvaWNlTWVzc2FnZSA9IFwic21zLXZvaWNlOlNlbmRWb2ljZU1lc3NhZ2VcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOlNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZCA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0RGVmYXVsdE1lc3NhZ2VUeXBlID1cblx0XHRcInNtcy12b2ljZTpTZXREZWZhdWx0TWVzc2FnZVR5cGVcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlNldERlZmF1bHRTZW5kZXJJZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0RGVmYXVsdFNlbmRlcklkID0gXCJzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25TZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlID1cblx0XHRcInNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uU2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgPVxuXHRcdFwic21zLXZvaWNlOlNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvblNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSA9XG5cdFx0XCJzbXMtdm9pY2U6U2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uICovXG5cdHN0YXRpYyByZWFkb25seSBTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uID1cblx0XHRcInNtcy12b2ljZTpTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uXCI7XG5cdC8qKiBbVGFnZ2luZ10gc21zLXZvaWNlOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gc21zLXZvaWNlOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcInNtcy12b2ljZTpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVFdmVudERlc3RpbmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudERlc3RpbmF0aW9uID0gXCJzbXMtdm9pY2U6VXBkYXRlRXZlbnREZXN0aW5hdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiA9XG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlUGhvbmVOdW1iZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBob25lTnVtYmVyID0gXCJzbXMtdm9pY2U6VXBkYXRlUGhvbmVOdW1iZXJcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlVwZGF0ZVBvb2wgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVBvb2wgPSBcInNtcy12b2ljZTpVcGRhdGVQb29sXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gPVxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0ID1cblx0XHRcInNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCI7XG5cdC8qKiBbV3JpdGVdIHNtcy12b2ljZTpVcGRhdGVSY3NBZ2VudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmNzQWdlbnQgPSBcInNtcy12b2ljZTpVcGRhdGVSY3NBZ2VudFwiO1xuXHQvKiogW1dyaXRlXSBzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVNlbmRlcklkID0gXCJzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWRcIjtcblx0LyoqIFtXcml0ZV0gc21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyICovXG5cdHN0YXRpYyByZWFkb25seSBWZXJpZnlEZXN0aW5hdGlvbk51bWJlciA9IFwic21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNhcnJpZXJMb29rdXAsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlQWNjb3VudEF0dHJpYnV0ZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlQWNjb3VudExpbWl0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVLZXl3b3Jkcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlT3B0T3V0TGlzdHMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlT3B0ZWRPdXROdW1iZXJzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVBob25lTnVtYmVycyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVQb29scyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJjc0FnZW50cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZERlZmluaXRpb25zLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVSZWdpc3RyYXRpb25UeXBlRGVmaW5pdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9uVmVyc2lvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlUmVnaXN0cmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVzY3JpYmVTZW5kZXJJZHMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlU3BlbmRMaW1pdHMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvbkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9ucyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uR2V0UHJvdGVjdENvbmZpZ3VyYXRpb25Db3VudHJ5UnVsZVNldCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VQb2xpY3ksXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RBdmFpbGFibGVQaG9uZU51bWJlcnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RDb25maWd1cmF0aW9uU2V0cyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdE5vdGlmeUNvdW50cmllcyxcblx0XHRTTVNWb2ljZUFjdGlvbnMuTGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnMsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0U01TVm9pY2VBY3Rpb25zLkFzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHksXG5cdFx0U01TVm9pY2VBY3Rpb25zLkFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVDb25maWd1cmF0aW9uU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlRXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlT3B0T3V0TGlzdCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUG9vbCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuQ3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJjc0FnZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVSZWdpc3RyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkNyZWF0ZVJlZ2lzdHJhdGlvbkFzc29jaWF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVSZWdpc3RyYXRpb25BdHRhY2htZW50LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5DcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVDb25maWd1cmF0aW9uU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVEZWZhdWx0U2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUV2ZW50RGVzdGluYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZUtleXdvcmQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlT3B0T3V0TGlzdCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlT3B0ZWRPdXROdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVBvb2wsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5EZWxldGVQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmNzQWdlbnQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVJjc01lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVJlZ2lzdHJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlVGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLkRpc2NhcmRSZWdpc3RyYXRpb25WZXJzaW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRLZXl3b3JkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRNZXNzYWdlRmVlZGJhY2ssXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dE9wdGVkT3V0TnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5QdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuUmVsZWFzZVBob25lTnVtYmVyLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5SZWxlYXNlU2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlJlcXVlc3RQaG9uZU51bWJlcixcblx0XHRTTVNWb2ljZUFjdGlvbnMuUmVxdWVzdFNlbmRlcklkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kRGVzdGluYXRpb25OdW1iZXJWZXJpZmljYXRpb25Db2RlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kTWVkaWFNZXNzYWdlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kTm90aWZ5VGV4dE1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmROb3RpZnlWb2ljZU1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRSY3NNZXNzYWdlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TZW5kVGV4dE1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlNlbmRWb2ljZU1lc3NhZ2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldEFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24sXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXREZWZhdWx0TWVzc2FnZVR5cGUsXG5cdFx0U01TVm9pY2VBY3Rpb25zLmFjdGlvblNldERlZmF1bHRTZW5kZXJJZCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXROb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5hY3Rpb25TZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSxcblx0XHRTTVNWb2ljZUFjdGlvbnMuYWN0aW9uU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5TdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlRXZlbnREZXN0aW5hdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbixcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlUGhvbmVOdW1iZXIsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVBvb2wsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uLFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0LFxuXHRcdFNNU1ZvaWNlQWN0aW9ucy5VcGRhdGVSY3NBZ2VudCxcblx0XHRTTVNWb2ljZUFjdGlvbnMuVXBkYXRlU2VuZGVySWQsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuRGVsZXRlUmVzb3VyY2VQb2xpY3ksXG5cdFx0U01TVm9pY2VBY3Rpb25zLlB1dFJlc291cmNlUG9saWN5LFxuXHRdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRTTVNWb2ljZUFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0U01TVm9pY2VBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25maWd1cmF0aW9uU2V0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29uZmlndXJhdGlvblNldE5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25TZXROYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29uZmlndXJhdGlvblNldCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VDb25maWd1cmF0aW9uU2V0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25maWd1cmF0aW9uU2V0TmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25TZXROYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBNZXNzYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU1lc3NhZ2VBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgTWVzc2FnZUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBtZXNzYWdlSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBNZXNzYWdlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU1lc3NhZ2VBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE1lc3NhZ2VJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IG1lc3NhZ2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgTm90aWZ5Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VOb3RpZnlDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIE5vdGlmeUNvbmZpZ3VyYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgbm90aWZ5Q29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgTm90aWZ5Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VOb3RpZnlDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBOb3RpZnlDb25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBub3RpZnlDb25maWd1cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIE9wdE91dExpc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlT3B0T3V0TGlzdEFyblByb3BzIHtcblx0LyoqIFRoZSBPcHRPdXRMaXN0TmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgb3B0T3V0TGlzdE5hbWU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBPcHRPdXRMaXN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZU9wdE91dExpc3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIE9wdE91dExpc3ROYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgb3B0T3V0TGlzdE5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFBob25lTnVtYmVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTTVNWb2ljZVBob25lTnVtYmVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFBob25lTnVtYmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBob25lTnVtYmVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBQaG9uZU51bWJlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQaG9uZU51bWJlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUGhvbmVOdW1iZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHBob25lTnVtYmVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFBvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUG9vbEFyblByb3BzIHtcblx0LyoqIFRoZSBQb29sSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHBvb2xJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFBvb2wgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUG9vbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUG9vbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcG9vbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBQcm90ZWN0Q29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VQcm90ZWN0Q29uZmlndXJhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQcm90ZWN0Q29uZmlndXJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm90ZWN0Q29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUHJvdGVjdENvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFByb3RlY3RDb25maWd1cmF0aW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBwcm90ZWN0Q29uZmlndXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSY3NBZ2VudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSY3NBZ2VudEFyblByb3BzIHtcblx0LyoqIFRoZSBSY3NBZ2VudElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByY3NBZ2VudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgUmNzQWdlbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmNzQWdlbnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJjc0FnZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByY3NBZ2VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZWdpc3RyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlZ2lzdHJhdGlvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSByZWdpc3RyYXRpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlZ2lzdHJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VSZWdpc3RyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlZ2lzdHJhdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cmF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblByb3BzIHtcblx0LyoqIFRoZSBSZWdpc3RyYXRpb25BdHRhY2htZW50SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVnaXN0cmF0aW9uQXR0YWNobWVudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVnaXN0cmF0aW9uQXR0YWNobWVudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBTZW5kZXJJZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VTZW5kZXJJZEFyblByb3BzIHtcblx0LyoqIFRoZSBTZW5kZXJJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VuZGVySWQ6IHN0cmluZztcblx0LyoqIFRoZSBJc29Db3VudHJ5Q29kZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaXNvQ291bnRyeUNvZGU6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBTZW5kZXJJZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU01TVm9pY2VTZW5kZXJJZEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VuZGVySWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBzZW5kZXJJZDogc3RyaW5nO1xuXHQvKiogVGhlIElzb0NvdW50cnlDb2RlIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaXNvQ291bnRyeUNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFyblByb3BzIHtcblx0LyoqIFRoZSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNNU1ZvaWNlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbmZpZ3VyYXRpb25TZXRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29uZmlndXJhdGlvbi1zZXRcXC8oPzxjb25maWd1cmF0aW9uU2V0TmFtZT5bXjovP10rKSQvO1xuY29uc3QgTWVzc2FnZUFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTptZXNzYWdlXFwvKD88bWVzc2FnZUlkPlteOi8/XSspJC87XG5jb25zdCBOb3RpZnlDb25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm5vdGlmeS1jb25maWd1cmF0aW9uXFwvKD88bm90aWZ5Q29uZmlndXJhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBPcHRPdXRMaXN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOm9wdC1vdXQtbGlzdFxcLyg/PG9wdE91dExpc3ROYW1lPlteOi8/XSspJC87XG5jb25zdCBQaG9uZU51bWJlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpwaG9uZS1udW1iZXJcXC8oPzxwaG9uZU51bWJlcklkPlteOi8/XSspJC87XG5jb25zdCBQb29sQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnBvb2xcXC8oPzxwb29sSWQ+W146Lz9dKykkLztcbmNvbnN0IFByb3RlY3RDb25maWd1cmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnByb3RlY3QtY29uZmlndXJhdGlvblxcLyg/PHByb3RlY3RDb25maWd1cmF0aW9uSWQ+W146Lz9dKykkLztcbmNvbnN0IFJjc0FnZW50QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOnNtcy12b2ljZTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJjcy1hZ2VudFxcLyg/PHJjc0FnZW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFJlZ2lzdHJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWdpc3RyYXRpb25cXC8oPzxyZWdpc3RyYXRpb25JZD5bXjovP10rKSQvO1xuY29uc3QgUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZWdpc3RyYXRpb24tYXR0YWNobWVudFxcLyg/PHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgU2VuZGVySWRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6c21zLXZvaWNlOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6c2VuZGVyLWlkXFwvKD88c2VuZGVySWQ+W146Lz9dKylcXC8oPzxpc29Db3VudHJ5Q29kZT5bXjovP10rKSQvO1xuY29uc3QgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpzbXMtdm9pY2U6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp2ZXJpZmllZC1kZXN0aW5hdGlvbi1udW1iZXJcXC8oPzx2ZXJpZmllZERlc3RpbmF0aW9uTnVtYmVySWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBzbXMtdm9pY2UgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgU01TVm9pY2VSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIENvbmZpZ3VyYXRpb25TZXQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29uZmlndXJhdGlvblNldChwcm9wczogU01TVm9pY2VDb25maWd1cmF0aW9uU2V0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OnNtcy12b2ljZToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25maWd1cmF0aW9uLXNldC8ke3Byb3BzLmNvbmZpZ3VyYXRpb25TZXROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25maWd1cmF0aW9uU2V0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25maWd1cmF0aW9uU2V0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbmZpZ3VyYXRpb25TZXRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29uZmlndXJhdGlvblNldCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25maWd1cmF0aW9uU2V0QXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTTVNWb2ljZUNvbmZpZ3VyYXRpb25TZXRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbmZpZ3VyYXRpb25TZXRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29uZmlndXJhdGlvblNldCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25maWd1cmF0aW9uU2V0TmFtZTogbWF0Y2guZ3JvdXBzIS5jb25maWd1cmF0aW9uU2V0TmFtZSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBNZXNzYWdlIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIG1lc3NhZ2UocHJvcHM6IFNNU1ZvaWNlTWVzc2FnZUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bWVzc2FnZS8ke3Byb3BzLm1lc3NhZ2VJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgTWVzc2FnZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkTWVzc2FnZUFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBNZXNzYWdlQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIE1lc3NhZ2UgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlTWVzc2FnZUFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlTWVzc2FnZUFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTWVzc2FnZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBNZXNzYWdlIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG1lc3NhZ2VJZDogbWF0Y2guZ3JvdXBzIS5tZXNzYWdlSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgTm90aWZ5Q29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBub3RpZnlDb25maWd1cmF0aW9uKFxuXHRcdHByb3BzOiBTTVNWb2ljZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06bm90aWZ5LWNvbmZpZ3VyYXRpb24vJHtwcm9wcy5ub3RpZnlDb25maWd1cmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIE5vdGlmeUNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZE5vdGlmeUNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTm90aWZ5Q29uZmlndXJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBOb3RpZnlDb25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZU5vdGlmeUNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlTm90aWZ5Q29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gTm90aWZ5Q29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBOb3RpZnlDb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdG5vdGlmeUNvbmZpZ3VyYXRpb25JZDogbWF0Y2guZ3JvdXBzIS5ub3RpZnlDb25maWd1cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgT3B0T3V0TGlzdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBvcHRPdXRMaXN0KHByb3BzOiBTTVNWb2ljZU9wdE91dExpc3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Om9wdC1vdXQtbGlzdC8ke3Byb3BzLm9wdE91dExpc3ROYW1lfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBPcHRPdXRMaXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRPcHRPdXRMaXN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIE9wdE91dExpc3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgT3B0T3V0TGlzdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VPcHRPdXRMaXN0QXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VPcHRPdXRMaXN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBPcHRPdXRMaXN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIE9wdE91dExpc3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0b3B0T3V0TGlzdE5hbWU6IG1hdGNoLmdyb3VwcyEub3B0T3V0TGlzdE5hbWUsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUGhvbmVOdW1iZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGhvbmVOdW1iZXIocHJvcHM6IFNNU1ZvaWNlUGhvbmVOdW1iZXJBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnBob25lLW51bWJlci8ke3Byb3BzLnBob25lTnVtYmVySWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFBob25lTnVtYmVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQaG9uZU51bWJlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQaG9uZU51bWJlckFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBQaG9uZU51bWJlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQaG9uZU51bWJlckFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlUGhvbmVOdW1iZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBob25lTnVtYmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFBob25lTnVtYmVyIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBob25lTnVtYmVySWQ6IG1hdGNoLmdyb3VwcyEucGhvbmVOdW1iZXJJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBQb29sIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBvb2wocHJvcHM6IFNNU1ZvaWNlUG9vbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cG9vbC8ke3Byb3BzLnBvb2xJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUG9vbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUG9vbEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQb29sQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFBvb2wgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUG9vbEFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlUG9vbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUG9vbEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQb29sIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBvb2xJZDogbWF0Y2guZ3JvdXBzIS5wb29sSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUHJvdGVjdENvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdGVjdENvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IFNNU1ZvaWNlUHJvdGVjdENvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cHJvdGVjdC1jb25maWd1cmF0aW9uLyR7cHJvcHMucHJvdGVjdENvbmZpZ3VyYXRpb25JZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUHJvdGVjdENvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb3RlY3RDb25maWd1cmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb3RlY3RDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFByb3RlY3RDb25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3RlY3RDb25maWd1cmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBTTVNWb2ljZVByb3RlY3RDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBQcm90ZWN0Q29uZmlndXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBQcm90ZWN0Q29uZmlndXJhdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRwcm90ZWN0Q29uZmlndXJhdGlvbklkOiBtYXRjaC5ncm91cHMhLnByb3RlY3RDb25maWd1cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmNzQWdlbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmNzQWdlbnQocHJvcHM6IFNNU1ZvaWNlUmNzQWdlbnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJjcy1hZ2VudC8ke3Byb3BzLnJjc0FnZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJjc0FnZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSY3NBZ2VudEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSY3NBZ2VudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSY3NBZ2VudCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSY3NBZ2VudEFybihhcm46IHN0cmluZyk6IFNNU1ZvaWNlUmNzQWdlbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJjc0FnZW50QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJjc0FnZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJjc0FnZW50SWQ6IG1hdGNoLmdyb3VwcyEucmNzQWdlbnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZWdpc3RyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcmVnaXN0cmF0aW9uKHByb3BzOiBTTVNWb2ljZVJlZ2lzdHJhdGlvbkFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVnaXN0cmF0aW9uLyR7cHJvcHMucmVnaXN0cmF0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlZ2lzdHJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUmVnaXN0cmF0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlZ2lzdHJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWdpc3RyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUmVnaXN0cmF0aW9uQXJuKGFybjogc3RyaW5nKTogU01TVm9pY2VSZWdpc3RyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlZ2lzdHJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWdpc3RyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVnaXN0cmF0aW9uSWQ6IG1hdGNoLmdyb3VwcyEucmVnaXN0cmF0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgUmVnaXN0cmF0aW9uQXR0YWNobWVudCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZWdpc3RyYXRpb25BdHRhY2htZW50KFxuXHRcdHByb3BzOiBTTVNWb2ljZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRBcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpzbXMtdm9pY2U6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVnaXN0cmF0aW9uLWF0dGFjaG1lbnQvJHtwcm9wcy5yZWdpc3RyYXRpb25BdHRhY2htZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZWdpc3RyYXRpb25BdHRhY2htZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRBcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IFNNU1ZvaWNlUmVnaXN0cmF0aW9uQXR0YWNobWVudEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVnaXN0cmF0aW9uQXR0YWNobWVudEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBSZWdpc3RyYXRpb25BdHRhY2htZW50IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRJZDogbWF0Y2guZ3JvdXBzIS5yZWdpc3RyYXRpb25BdHRhY2htZW50SWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgU2VuZGVySWQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VuZGVySWQocHJvcHM6IFNNU1ZvaWNlU2VuZGVySWRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnNlbmRlci1pZC8ke3Byb3BzLnNlbmRlcklkfS8ke3Byb3BzLmlzb0NvdW50cnlDb2RlfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBTZW5kZXJJZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkU2VuZGVySWRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VuZGVySWRBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgU2VuZGVySWQgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlU2VuZGVySWRBcm4oYXJuOiBzdHJpbmcpOiBTTVNWb2ljZVNlbmRlcklkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBTZW5kZXJJZEFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBTZW5kZXJJZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZW5kZXJJZDogbWF0Y2guZ3JvdXBzIS5zZW5kZXJJZCxcblx0XHRcdGlzb0NvdW50cnlDb2RlOiBtYXRjaC5ncm91cHMhLmlzb0NvdW50cnlDb2RlLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcihcblx0XHRwcm9wczogU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06c21zLXZvaWNlOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnZlcmlmaWVkLWRlc3RpbmF0aW9uLW51bWJlci8ke3Byb3BzLnZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlckFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogU01TVm9pY2VWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXIgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0dmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcklkOiBtYXRjaC5ncm91cHMhLnZlcmlmaWVkRGVzdGluYXRpb25OdW1iZXJJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBzbXMtdm9pY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZU9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVPcmlnaW5hdGlvbklkZW50aXR5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFzc29jaWF0ZVByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpBc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDYXJyaWVyTG9va3VwIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ2Fycmllckxvb2t1cDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6Q2Fycmllckxvb2t1cFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZUNvbmZpZ3VyYXRpb25TZXRcIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvblwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVFdmVudERlc3RpbmF0aW9uXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlTm90aWZ5Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVPcHRPdXRMaXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlT3B0T3V0TGlzdFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVBvb2wgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVQb29sXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSY3NBZ2VudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJjc0FnZW50OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpDcmVhdGVSY3NBZ2VudFwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uQXNzb2NpYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkNyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRcIixcblx0XHRcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZWdpc3RyYXRpb25WZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlUmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6Q3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUFjY291bnREZWZhdWx0UHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25maWd1cmF0aW9uU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVDb25maWd1cmF0aW9uU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlZmF1bHRNZXNzYWdlVHlwZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdE1lc3NhZ2VUeXBlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZURlZmF1bHRTZW5kZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZURlZmF1bHRTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlRGVmYXVsdFNlbmRlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUtleXdvcmQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVLZXl3b3JkOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZWxldGVLZXl3b3JkXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZU1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RpZnlDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5Q29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVOb3RpZnlNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlTm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVPcHRPdXRMaXN0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlT3B0T3V0TGlzdDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVsZXRlT3B0T3V0TGlzdFwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlT3B0ZWRPdXROdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVPcHRlZE91dE51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlT3B0ZWRPdXROdW1iZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlUG9vbCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVBvb2w6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlbGV0ZVBvb2xcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUHJvdGVjdENvbmZpZ3VyYXRpb25SdWxlU2V0TnVtYmVyT3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlbGV0ZVJjc0FnZW50XCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmNzTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZWdpc3RyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVJlZ2lzdHJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyYXRpb25BdHRhY2htZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZWdpc3RyYXRpb25GaWVsZFZhbHVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlUmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVSZXNvdXJjZVBvbGljeVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZWxldGVUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVsZXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGUgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlbGV0ZVZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjY291bnRBdHRyaWJ1dGVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVBY2NvdW50QXR0cmlidXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVBY2NvdW50QXR0cmlidXRlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUFjY291bnRMaW1pdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUFjY291bnRMaW1pdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlQWNjb3VudExpbWl0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbmZpZ3VyYXRpb25TZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25maWd1cmF0aW9uU2V0czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVDb25maWd1cmF0aW9uU2V0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUtleXdvcmRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVLZXl3b3Jkczogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6RGVzY3JpYmVLZXl3b3Jkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVOb3RpZnlDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlTm90aWZ5Q29uZmlndXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU5vdGlmeVRlbXBsYXRlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVOb3RpZnlUZW1wbGF0ZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcHRPdXRMaXN0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlT3B0T3V0TGlzdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlT3B0T3V0TGlzdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVPcHRlZE91dE51bWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZU9wdGVkT3V0TnVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVPcHRlZE91dE51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQaG9uZU51bWJlcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVBob25lTnVtYmVyczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVQaG9uZU51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVQb29scyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUG9vbHM6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlc2NyaWJlUG9vbHNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVQcm90ZWN0Q29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUHJvdGVjdENvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSY3NBZ2VudENvdW50cnlMYXVuY2hTdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRDb3VudHJ5TGF1bmNoU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlUmNzQWdlbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSY3NBZ2VudHM6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOkRlc2NyaWJlUmNzQWdlbnRzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50czogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25BdHRhY2htZW50c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uRmllbGREZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbkZpZWxkVmFsdWVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25GaWVsZFZhbHVlc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uU2VjdGlvbkRlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblNlY3Rpb25EZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlUmVnaXN0cmF0aW9uVHlwZURlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpEZXNjcmliZVJlZ2lzdHJhdGlvblR5cGVEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvblZlcnNpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGVzY3JpYmVSZWdpc3RyYXRpb25WZXJzaW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVJlZ2lzdHJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVJlZ2lzdHJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlUmVnaXN0cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZVNlbmRlcklkcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU2VuZGVySWRzOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpEZXNjcmliZVNlbmRlcklkc1wiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVTcGVuZExpbWl0cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlU3BlbmRMaW1pdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlU3BlbmRMaW1pdHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRlc2NyaWJlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHk6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkRpc2Fzc29jaWF0ZU9yaWdpbmF0aW9uSWRlbnRpdHlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNhc3NvY2lhdGVQcm90ZWN0Q29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGlzYXNzb2NpYXRlUHJvdGVjdENvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEaXNjYXJkUmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6RGlzY2FyZFJlZ2lzdHJhdGlvblZlcnNpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRDb25maWd1cmF0aW9uU2V0RXZlbnREZXN0aW5hdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkdldENvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpHZXRQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlUG9saWN5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXNvdXJjZVBvbGljeTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6R2V0UmVzb3VyY2VQb2xpY3lcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEF2YWlsYWJsZVBob25lTnVtYmVycyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RBdmFpbGFibGVQaG9uZU51bWJlcnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RBdmFpbGFibGVQaG9uZU51bWJlcnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbmZpZ3VyYXRpb25TZXRzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbmZpZ3VyYXRpb25TZXRzOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpMaXN0Q29uZmlndXJhdGlvblNldHNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdE5vdGlmeUNvdW50cmllcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3ROb3RpZnlDb3VudHJpZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3ROb3RpZnlDb3VudHJpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UG9vbE9yaWdpbmF0aW9uSWRlbnRpdGllczogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6TGlzdFBvb2xPcmlnaW5hdGlvbklkZW50aXRpZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlcyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFJlZ2lzdHJhdGlvbkFzc29jaWF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RSZWdpc3RyYXRpb25Bc3NvY2lhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdFRhZ3NGb3JSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOkxpc3RUYWdzRm9yUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUHV0S2V5d29yZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dEtleXdvcmQ6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dEtleXdvcmRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE1lc3NhZ2VGZWVkYmFjayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dE1lc3NhZ2VGZWVkYmFjazogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0TWVzc2FnZUZlZWRiYWNrXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFB1dE9wdGVkT3V0TnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0T3B0ZWRPdXROdW1iZXI6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlB1dE9wdGVkT3V0TnVtYmVyXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFByb3RlY3RDb25maWd1cmF0aW9uUnVsZVNldE51bWJlck92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpQdXRQcm90ZWN0Q29uZmlndXJhdGlvblJ1bGVTZXROdW1iZXJPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZWdpc3RyYXRpb25GaWVsZFZhbHVlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UHV0UmVnaXN0cmF0aW9uRmllbGRWYWx1ZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBQdXRSZXNvdXJjZVBvbGljeSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFB1dFJlc291cmNlUG9saWN5OiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpQdXRSZXNvdXJjZVBvbGljeVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVBob25lTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVBob25lTnVtYmVyOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpSZWxlYXNlUGhvbmVOdW1iZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgUmVsZWFzZVNlbmRlcklkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVsZWFzZVNlbmRlcklkOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpSZWxlYXNlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RQaG9uZU51bWJlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6QXNzb2NpYXRlT3JpZ2luYXRpb25JZGVudGl0eVwiLFxuXHRcdFwic21zLXZvaWNlOlJlcXVlc3RQaG9uZU51bWJlclwiLFxuXHRcdFwic21zLXZvaWNlOlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlcXVlc3RTZW5kZXJJZCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlcXVlc3RTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6UmVxdWVzdFNlbmRlcklkXCIsXG5cdFx0XCJzbXMtdm9pY2U6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZERlc3RpbmF0aW9uTnVtYmVyVmVyaWZpY2F0aW9uQ29kZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmREZXN0aW5hdGlvbk51bWJlclZlcmlmaWNhdGlvbkNvZGVcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIixcblx0XHRcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRNZWRpYU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTWVkaWFNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kTWVkaWFNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kTm90aWZ5VGV4dE1lc3NhZ2U6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNlbmROb3RpZnlUZXh0TWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kTm90aWZ5Vm9pY2VNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZE5vdGlmeVZvaWNlTWVzc2FnZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2VuZE5vdGlmeVZvaWNlTWVzc2FnZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZW5kUmNzTWVzc2FnZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNlbmRSY3NNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kUmNzTWVzc2FnZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2VuZFRleHRNZXNzYWdlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZFRleHRNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVGV4dE1lc3NhZ2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNlbmRWb2ljZU1lc3NhZ2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kVm9pY2VNZXNzYWdlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpTZW5kVm9pY2VNZXNzYWdlXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRBY2NvdW50RGVmYXVsdFByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldERlZmF1bHRNZXNzYWdlRmVlZGJhY2tFbmFibGVkIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZUZlZWRiYWNrRW5hYmxlZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdE1lc3NhZ2VGZWVkYmFja0VuYWJsZWRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0RGVmYXVsdE1lc3NhZ2VUeXBlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXREZWZhdWx0TWVzc2FnZVR5cGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldERlZmF1bHRNZXNzYWdlVHlwZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXREZWZhdWx0U2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcFNldERlZmF1bHRTZW5kZXJJZDogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0RGVmYXVsdFNlbmRlcklkXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldE1lZGlhTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0TWVkaWFNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRNZWRpYU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wU2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0Tm90aWZ5TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlOiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpTZXRSY3NNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFNldFRleHRNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRUZXh0TWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZTogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U2V0VGV4dE1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGVcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgU2V0Vm9pY2VNZXNzYWdlU3BlbmRMaW1pdE92ZXJyaWRlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BTZXRWb2ljZU1lc3NhZ2VTcGVuZExpbWl0T3ZlcnJpZGU6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlNldFZvaWNlTWVzc2FnZVNwZW5kTGltaXRPdmVycmlkZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBTdWJtaXRSZWdpc3RyYXRpb25WZXJzaW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJzbXMtdm9pY2U6U3VibWl0UmVnaXN0cmF0aW9uVmVyc2lvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcInNtcy12b2ljZTpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wic21zLXZvaWNlOlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29uZmlndXJhdGlvblNldEV2ZW50RGVzdGluYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUNvbmZpZ3VyYXRpb25TZXRFdmVudERlc3RpbmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUV2ZW50RGVzdGluYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFdmVudERlc3RpbmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRcdFwic21zLXZvaWNlOlVwZGF0ZUV2ZW50RGVzdGluYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlTm90aWZ5Q29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUGhvbmVOdW1iZXIgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQaG9uZU51bWJlcjogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQaG9uZU51bWJlclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVQb29sIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUG9vbDogc3RyaW5nW10gPSBbXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQb29sXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUHJvdGVjdENvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVByb3RlY3RDb25maWd1cmF0aW9uQ291bnRyeVJ1bGVTZXQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0OiBzdHJpbmdbXSA9IFtcblx0XHRcInNtcy12b2ljZTpVcGRhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvdW50cnlSdWxlU2V0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZVJjc0FnZW50IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlUmNzQWdlbnQ6IHN0cmluZ1tdID0gW1xuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJzbXMtdm9pY2U6VXBkYXRlUmNzQWdlbnRcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU2VuZGVySWQgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTZW5kZXJJZDogc3RyaW5nW10gPSBbXCJzbXMtdm9pY2U6VXBkYXRlU2VuZGVySWRcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFZlcmlmeURlc3RpbmF0aW9uTnVtYmVyIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVmVyaWZ5RGVzdGluYXRpb25OdW1iZXI6IHN0cmluZ1tdID0gW1xuXHRcdFwic21zLXZvaWNlOlZlcmlmeURlc3RpbmF0aW9uTnVtYmVyXCIsXG5cdF07XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBzbXMtdm9pY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBTTVNWb2ljZUNvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29uZmlndXJhdGlvblNldCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25maWd1cmF0aW9uU2V0Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVOb3RpZnlDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZU5vdGlmeUNvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZU9wdE91dExpc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlT3B0T3V0TGlzdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUG9vbCBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQb29sQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQcm90ZWN0Q29uZmlndXJhdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmNzQWdlbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmNzQWdlbnRDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZWdpc3RyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVJlZ2lzdHJhdGlvbkF0dGFjaG1lbnQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVnaXN0cmF0aW9uQXR0YWNobWVudENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlVmVyaWZpZWREZXN0aW5hdGlvbk51bWJlciBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVWZXJpZmllZERlc3RpbmF0aW9uTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0UGhvbmVOdW1iZXIgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFBob25lTnVtYmVyQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZXF1ZXN0U2VuZGVySWQgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVxdWVzdFNlbmRlcklkQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=