@cdk_utils/iam 1.28.0 → 1.30.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.
- package/.jsii +2 -2
- package/lib/generated/index.d.ts +1 -0
- package/lib/generated/index.js +7 -6
- package/lib/generated/services/a2c.js +1 -1
- package/lib/generated/services/a4b.js +3 -3
- package/lib/generated/services/access-analyzer.js +4 -4
- package/lib/generated/services/account-access.js +4 -4
- package/lib/generated/services/account.js +4 -4
- package/lib/generated/services/acm-pca.js +4 -4
- package/lib/generated/services/acm.js +4 -4
- package/lib/generated/services/aco-automation.js +4 -4
- package/lib/generated/services/action-recommendations.js +1 -1
- package/lib/generated/services/activate.js +1 -1
- package/lib/generated/services/agent-registry.js +4 -4
- package/lib/generated/services/agentaccess-mcp.js +2 -2
- package/lib/generated/services/aidevops.js +4 -4
- package/lib/generated/services/aiops.js +4 -4
- package/lib/generated/services/airflow-serverless.js +4 -4
- package/lib/generated/services/airflow.js +4 -4
- package/lib/generated/services/amplify.js +4 -4
- package/lib/generated/services/amplifybackend.js +3 -3
- package/lib/generated/services/amplifyuibuilder.js +4 -4
- package/lib/generated/services/aoss.js +4 -4
- package/lib/generated/services/apigateway.js +4 -4
- package/lib/generated/services/app-integrations.js +4 -4
- package/lib/generated/services/appconfig.js +4 -4
- package/lib/generated/services/appfabric.js +4 -4
- package/lib/generated/services/appflow.js +4 -4
- package/lib/generated/services/application-autoscaling.js +4 -4
- package/lib/generated/services/application-signals-mcp.js +3 -3
- package/lib/generated/services/application-signals.js +4 -4
- package/lib/generated/services/application-transformation.js +1 -1
- package/lib/generated/services/applicationinsights.js +3 -3
- package/lib/generated/services/appmesh-preview.js +2 -2
- package/lib/generated/services/appmesh.js +4 -4
- package/lib/generated/services/apprunner.js +4 -4
- package/lib/generated/services/appstream.js +4 -4
- package/lib/generated/services/appstudio.js +2 -2
- package/lib/generated/services/appsync.js +4 -4
- package/lib/generated/services/apptest.js +3 -3
- package/lib/generated/services/aps.js +4 -4
- package/lib/generated/services/arc-region-switch.js +4 -4
- package/lib/generated/services/arc-zonal-shift.js +4 -4
- package/lib/generated/services/arsenal.js +1 -1
- package/lib/generated/services/artifact.js +4 -4
- package/lib/generated/services/athena.js +4 -4
- package/lib/generated/services/auditmanager.js +4 -4
- package/lib/generated/services/autoscaling-plans.js +2 -2
- package/lib/generated/services/autoscaling.js +4 -4
- package/lib/generated/services/aws-external-anthropic.js +3 -3
- package/lib/generated/services/aws-marketplace-management.js +1 -1
- package/lib/generated/services/aws-marketplace.js +4 -4
- package/lib/generated/services/aws-portal.js +1 -1
- package/lib/generated/services/awsconnector.js +1 -1
- package/lib/generated/services/b2bi.js +4 -4
- package/lib/generated/services/backup-gateway.js +4 -4
- package/lib/generated/services/backup-search.js +4 -4
- package/lib/generated/services/backup-storage.js +1 -1
- package/lib/generated/services/backup.js +4 -4
- package/lib/generated/services/batch.js +4 -4
- package/lib/generated/services/bcm-dashboards.js +4 -4
- package/lib/generated/services/bcm-data-exports.js +4 -4
- package/lib/generated/services/bcm-pricing-calculator.js +4 -4
- package/lib/generated/services/bcm-recommended-actions.js +2 -2
- package/lib/generated/services/bedrock-agentcore.js +4 -4
- package/lib/generated/services/bedrock-mantle.js +3 -3
- package/lib/generated/services/bedrock-websearch.js +2 -2
- package/lib/generated/services/bedrock.js +4 -4
- package/lib/generated/services/billing.d.ts +4 -0
- package/lib/generated/services/billing.js +12 -5
- package/lib/generated/services/billingconductor.js +4 -4
- package/lib/generated/services/braket.js +4 -4
- package/lib/generated/services/budgets.js +4 -4
- package/lib/generated/services/bugbust.js +3 -3
- package/lib/generated/services/cases.js +4 -4
- package/lib/generated/services/cassandra.js +4 -4
- package/lib/generated/services/ce.js +4 -4
- package/lib/generated/services/chatbot.js +4 -4
- package/lib/generated/services/chime.js +4 -4
- package/lib/generated/services/cleanrooms-ml.js +4 -4
- package/lib/generated/services/cleanrooms.js +4 -4
- package/lib/generated/services/cloud9.js +4 -4
- package/lib/generated/services/clouddirectory.js +3 -3
- package/lib/generated/services/cloudformation.js +4 -4
- package/lib/generated/services/cloudfront-keyvaluestore.js +3 -3
- package/lib/generated/services/cloudfront.js +4 -4
- package/lib/generated/services/cloudhsm.js +4 -4
- package/lib/generated/services/cloudsearch.js +3 -3
- package/lib/generated/services/cloudshell.js +3 -3
- package/lib/generated/services/cloudtrail-data.js +4 -4
- package/lib/generated/services/cloudtrail.js +4 -4
- package/lib/generated/services/cloudwatch.d.ts +122 -0
- package/lib/generated/services/cloudwatch.js +217 -5
- package/lib/generated/services/codeartifact.js +4 -4
- package/lib/generated/services/codebuild.js +4 -4
- package/lib/generated/services/codecatalyst.js +4 -4
- package/lib/generated/services/codecommit.js +4 -4
- package/lib/generated/services/codeconnections.js +9 -6
- package/lib/generated/services/codedeploy-commands-secure.js +1 -1
- package/lib/generated/services/codedeploy.js +4 -4
- package/lib/generated/services/codeguru-profiler.js +4 -4
- package/lib/generated/services/codeguru-reviewer.js +4 -4
- package/lib/generated/services/codeguru-security.js +4 -4
- package/lib/generated/services/codeguru.js +1 -1
- package/lib/generated/services/codepipeline.js +4 -4
- package/lib/generated/services/codestar-connections.js +4 -4
- package/lib/generated/services/codestar-notifications.js +4 -4
- package/lib/generated/services/codestar.js +3 -3
- package/lib/generated/services/codewhisperer.js +3 -3
- package/lib/generated/services/cognito-identity.js +4 -4
- package/lib/generated/services/cognito-idp.js +4 -4
- package/lib/generated/services/cognito-sync.js +3 -3
- package/lib/generated/services/comprehend.js +4 -4
- package/lib/generated/services/comprehendmedical.js +3 -3
- package/lib/generated/services/compute-optimizer.js +3 -3
- package/lib/generated/services/config.js +4 -4
- package/lib/generated/services/connect-campaigns.js +4 -4
- package/lib/generated/services/connect.d.ts +43 -0
- package/lib/generated/services/connect.js +45 -6
- package/lib/generated/services/consoleapp.js +2 -2
- package/lib/generated/services/consolidatedbilling.js +1 -1
- package/lib/generated/services/controlcatalog.js +3 -3
- package/lib/generated/services/controltower.js +4 -4
- package/lib/generated/services/cost-optimization-hub.js +2 -2
- package/lib/generated/services/cur.js +4 -4
- package/lib/generated/services/customer-verification.js +1 -1
- package/lib/generated/services/databrew.js +4 -4
- package/lib/generated/services/dataexchange.js +4 -4
- package/lib/generated/services/datapipeline.js +4 -4
- package/lib/generated/services/datasync.js +4 -4
- package/lib/generated/services/datazone.js +4 -4
- package/lib/generated/services/dax.js +4 -4
- package/lib/generated/services/dbqms.js +1 -1
- package/lib/generated/services/deadline.js +4 -4
- package/lib/generated/services/detective.js +4 -4
- package/lib/generated/services/devicefarm.js +4 -4
- package/lib/generated/services/devops-guru.js +4 -4
- package/lib/generated/services/directconnect.js +4 -4
- package/lib/generated/services/discovery.js +3 -3
- package/lib/generated/services/dlm.js +4 -4
- package/lib/generated/services/dms.js +4 -4
- package/lib/generated/services/docdb-elastic.js +4 -4
- package/lib/generated/services/drs.js +4 -4
- package/lib/generated/services/ds-data.js +4 -4
- package/lib/generated/services/ds.js +4 -4
- package/lib/generated/services/dsql.js +4 -4
- package/lib/generated/services/dynamodb.js +4 -4
- package/lib/generated/services/ebs.js +4 -4
- package/lib/generated/services/ec2-instance-connect.js +4 -4
- package/lib/generated/services/ec2.d.ts +4 -0
- package/lib/generated/services/ec2.js +11 -5
- package/lib/generated/services/ec2messages.js +2 -2
- package/lib/generated/services/ecr-public.js +4 -4
- package/lib/generated/services/ecr.js +4 -4
- package/lib/generated/services/ecs-mcp.js +1 -1
- package/lib/generated/services/ecs.js +4 -4
- package/lib/generated/services/eks-auth.js +4 -4
- package/lib/generated/services/eks-mcp.js +1 -1
- package/lib/generated/services/eks.js +4 -4
- package/lib/generated/services/elasticache.js +6 -5
- package/lib/generated/services/elasticbeanstalk.js +4 -4
- package/lib/generated/services/elasticfilesystem.js +4 -4
- package/lib/generated/services/elasticloadbalancing.js +4 -4
- package/lib/generated/services/elasticmapreduce.js +4 -4
- package/lib/generated/services/elastictranscoder.js +2 -2
- package/lib/generated/services/elemental-activations.js +1 -1
- package/lib/generated/services/elemental-appliances-software.js +2 -2
- package/lib/generated/services/elemental-inference.js +4 -4
- package/lib/generated/services/elemental-support-cases.js +3 -3
- package/lib/generated/services/elemental-support-content.js +1 -1
- package/lib/generated/services/emr-containers.js +4 -4
- package/lib/generated/services/emr-serverless.js +4 -4
- package/lib/generated/services/entityresolution.js +4 -4
- package/lib/generated/services/es.js +4 -4
- package/lib/generated/services/events.d.ts +219 -0
- package/lib/generated/services/events.js +243 -5
- package/lib/generated/services/eventsbilltoaws.js +3 -3
- package/lib/generated/services/evidently.js +3 -3
- package/lib/generated/services/evs.js +4 -4
- package/lib/generated/services/execute-api.js +4 -4
- package/lib/generated/services/finops-agent.js +1 -1
- package/lib/generated/services/finspace-api.js +3 -3
- package/lib/generated/services/finspace.js +4 -4
- package/lib/generated/services/firehose.js +4 -4
- package/lib/generated/services/fis.js +4 -4
- package/lib/generated/services/fms.js +4 -4
- package/lib/generated/services/forecast.js +4 -4
- package/lib/generated/services/frauddetector.js +4 -4
- package/lib/generated/services/freertos.js +3 -3
- package/lib/generated/services/freetier.js +2 -2
- package/lib/generated/services/fsx.js +4 -4
- package/lib/generated/services/gamelift.js +4 -4
- package/lib/generated/services/gameliftstreams.js +4 -4
- package/lib/generated/services/geo-maps.js +3 -3
- package/lib/generated/services/geo-places.js +3 -3
- package/lib/generated/services/geo-routes.js +3 -3
- package/lib/generated/services/geo.js +4 -4
- package/lib/generated/services/glacier.js +4 -4
- package/lib/generated/services/globalaccelerator.js +4 -4
- package/lib/generated/services/glue.js +4 -4
- package/lib/generated/services/grafana.js +4 -4
- package/lib/generated/services/greengrass.js +4 -4
- package/lib/generated/services/groundstation.js +4 -4
- package/lib/generated/services/groundtruthlabeling.js +1 -1
- package/lib/generated/services/guardduty.js +4 -4
- package/lib/generated/services/health-agent.js +4 -4
- package/lib/generated/services/health.js +4 -4
- package/lib/generated/services/healthlake.js +4 -4
- package/lib/generated/services/honeycode.js +2 -2
- package/lib/generated/services/iam.js +4 -4
- package/lib/generated/services/identity-sync.js +2 -2
- package/lib/generated/services/identitystore-auth.js +1 -1
- package/lib/generated/services/identitystore.js +4 -4
- package/lib/generated/services/imagebuilder.js +4 -4
- package/lib/generated/services/importexport.js +2 -2
- package/lib/generated/services/inspector-scan.js +2 -2
- package/lib/generated/services/inspector.js +2 -2
- package/lib/generated/services/inspector2-telemetry.js +1 -1
- package/lib/generated/services/inspector2.js +4 -4
- package/lib/generated/services/interconnect.js +4 -4
- package/lib/generated/services/internetmonitor.js +4 -4
- package/lib/generated/services/invoicing.js +4 -4
- package/lib/generated/services/iot-device-tester.js +1 -1
- package/lib/generated/services/iot.js +4 -4
- package/lib/generated/services/iotanalytics.js +3 -3
- package/lib/generated/services/iotdeviceadvisor.js +4 -4
- package/lib/generated/services/iotevents.js +3 -3
- package/lib/generated/services/iotfleethub.js +3 -3
- package/lib/generated/services/iotfleetwise.js +4 -4
- package/lib/generated/services/iotjobsdata.js +4 -4
- package/lib/generated/services/iotmanagedintegrations.js +4 -4
- package/lib/generated/services/iotsitewise.js +4 -4
- package/lib/generated/services/iottwinmaker.js +4 -4
- package/lib/generated/services/iotwireless.js +4 -4
- package/lib/generated/services/iq-permission.js +2 -2
- package/lib/generated/services/iq.js +2 -2
- package/lib/generated/services/ivs.js +4 -4
- package/lib/generated/services/ivschat.js +4 -4
- package/lib/generated/services/kafka-cluster.js +3 -3
- package/lib/generated/services/kafka.js +4 -4
- package/lib/generated/services/kafkaconnect.js +4 -4
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.d.ts +4 -0
- package/lib/generated/services/kinesis.js +12 -5
- package/lib/generated/services/kinesisanalytics.js +4 -4
- package/lib/generated/services/kinesisvideo.js +4 -4
- package/lib/generated/services/kms.js +4 -4
- package/lib/generated/services/lakeformation.js +3 -3
- package/lib/generated/services/lambda.js +4 -4
- package/lib/generated/services/launchwizard.js +4 -4
- package/lib/generated/services/lex.js +4 -4
- package/lib/generated/services/license-manager-linux-subscriptions.js +4 -4
- package/lib/generated/services/license-manager-user-subscriptions.js +4 -4
- package/lib/generated/services/license-manager.js +4 -4
- package/lib/generated/services/lightsail.js +4 -4
- package/lib/generated/services/logs.d.ts +2 -0
- package/lib/generated/services/logs.js +8 -5
- package/lib/generated/services/lookoutequipment.js +4 -4
- package/lib/generated/services/lookoutmetrics.js +3 -3
- package/lib/generated/services/lookoutvision.js +3 -3
- package/lib/generated/services/m2.js +4 -4
- package/lib/generated/services/machinelearning.js +3 -3
- package/lib/generated/services/macie2.js +4 -4
- package/lib/generated/services/managedblockchain-query.js +2 -2
- package/lib/generated/services/managedblockchain.js +4 -4
- package/lib/generated/services/mapcredits.js +2 -2
- package/lib/generated/services/marketplacecommerceanalytics.js +2 -2
- package/lib/generated/services/mechanicalturk.js +2 -2
- package/lib/generated/services/mediaconnect.js +4 -4
- package/lib/generated/services/mediaconvert.js +4 -4
- package/lib/generated/services/mediaimport.js +1 -1
- package/lib/generated/services/medialive.js +4 -4
- package/lib/generated/services/mediapackage-vod.js +4 -4
- package/lib/generated/services/mediapackage.js +4 -4
- package/lib/generated/services/mediapackagev2.js +4 -4
- package/lib/generated/services/mediastore.js +4 -4
- package/lib/generated/services/mediatailor.js +4 -4
- package/lib/generated/services/medical-imaging.js +4 -4
- package/lib/generated/services/memorydb.js +4 -4
- package/lib/generated/services/mgh.js +4 -4
- package/lib/generated/services/mgn.js +4 -4
- package/lib/generated/services/migrationhub-orchestrator.js +4 -4
- package/lib/generated/services/migrationhub-strategy.js +2 -2
- package/lib/generated/services/mobileanalytics.js +1 -1
- package/lib/generated/services/mobiletargeting.js +4 -4
- package/lib/generated/services/monitron.js +3 -3
- package/lib/generated/services/mpa.js +4 -4
- package/lib/generated/services/mq.js +4 -4
- package/lib/generated/services/neptune-db.js +4 -4
- package/lib/generated/services/neptune-graph.js +4 -4
- package/lib/generated/services/network-firewall.js +4 -4
- package/lib/generated/services/network-security-director.js +1 -1
- package/lib/generated/services/network-security-manager.d.ts +674 -0
- package/lib/generated/services/network-security-manager.js +778 -0
- package/lib/generated/services/networkflowmonitor.js +4 -4
- package/lib/generated/services/networkmanager-chat.js +1 -1
- package/lib/generated/services/networkmanager.js +4 -4
- package/lib/generated/services/networkmonitor.js +4 -4
- package/lib/generated/services/nimble.js +3 -3
- package/lib/generated/services/notifications-contacts.js +4 -4
- package/lib/generated/services/notifications.js +4 -4
- package/lib/generated/services/nova-act.js +3 -3
- package/lib/generated/services/oam.js +37 -20
- package/lib/generated/services/observabilityadmin.d.ts +61 -0
- package/lib/generated/services/observabilityadmin.js +77 -8
- package/lib/generated/services/odb.js +4 -4
- package/lib/generated/services/omics.js +4 -4
- package/lib/generated/services/one.js +3 -3
- package/lib/generated/services/opensearch.js +3 -3
- package/lib/generated/services/opsworks-cm.js +2 -2
- package/lib/generated/services/opsworks.js +2 -2
- package/lib/generated/services/organizations.js +4 -4
- package/lib/generated/services/osis.js +4 -4
- package/lib/generated/services/outposts.js +4 -4
- package/lib/generated/services/panorama.js +3 -3
- package/lib/generated/services/partnercentral-account-management.js +2 -2
- package/lib/generated/services/partnercentral.js +4 -4
- package/lib/generated/services/payment-cryptography.js +4 -4
- package/lib/generated/services/payments.js +3 -3
- package/lib/generated/services/pca-connector-ad.js +4 -4
- package/lib/generated/services/pca-connector-scep.js +4 -4
- package/lib/generated/services/pcs.js +4 -4
- package/lib/generated/services/personalize.js +4 -4
- package/lib/generated/services/pi.js +4 -4
- package/lib/generated/services/pipes.js +4 -4
- package/lib/generated/services/polly.js +3 -3
- package/lib/generated/services/pricing.js +2 -2
- package/lib/generated/services/pricingplanmanager.js +3 -3
- package/lib/generated/services/private-networks.js +3 -3
- package/lib/generated/services/profile.js +4 -4
- package/lib/generated/services/proton.js +4 -4
- package/lib/generated/services/purchase-orders.js +3 -3
- package/lib/generated/services/q.js +3 -3
- package/lib/generated/services/qapps.js +4 -4
- package/lib/generated/services/qbusiness.js +4 -4
- package/lib/generated/services/qdeveloper.js +3 -3
- package/lib/generated/services/qldb.js +3 -3
- package/lib/generated/services/quicksight.js +4 -4
- package/lib/generated/services/ram.js +4 -4
- package/lib/generated/services/rbin.js +4 -4
- package/lib/generated/services/rds-data.js +4 -4
- package/lib/generated/services/rds-db.js +2 -2
- package/lib/generated/services/rds.js +4 -4
- package/lib/generated/services/redshift-data.js +4 -4
- package/lib/generated/services/redshift-serverless.js +4 -4
- package/lib/generated/services/redshift.js +4 -4
- package/lib/generated/services/refactor-spaces.js +4 -4
- package/lib/generated/services/rekognition.js +4 -4
- package/lib/generated/services/repostspace.js +4 -4
- package/lib/generated/services/researchstudio.js +1 -1
- package/lib/generated/services/resiliencehub.js +4 -4
- package/lib/generated/services/resource-explorer-2.js +4 -4
- package/lib/generated/services/resource-explorer.js +1 -1
- package/lib/generated/services/resource-groups.js +4 -4
- package/lib/generated/services/rhelkb.js +1 -1
- package/lib/generated/services/robomaker.js +3 -3
- package/lib/generated/services/rolesanywhere.js +4 -4
- package/lib/generated/services/route53-recovery-cluster.js +4 -4
- package/lib/generated/services/route53-recovery-control-config.js +4 -4
- package/lib/generated/services/route53-recovery-readiness.js +4 -4
- package/lib/generated/services/route53.js +4 -4
- package/lib/generated/services/route53domains.js +2 -2
- package/lib/generated/services/route53globalresolver.js +4 -4
- package/lib/generated/services/route53profiles.js +4 -4
- package/lib/generated/services/route53resolver.js +4 -4
- package/lib/generated/services/rtbfabric.js +4 -4
- package/lib/generated/services/rum.js +4 -4
- package/lib/generated/services/s3-object-lambda.js +3 -3
- package/lib/generated/services/s3-outposts.js +4 -4
- package/lib/generated/services/s3.js +4 -4
- package/lib/generated/services/s3express.js +3 -3
- package/lib/generated/services/s3files.js +4 -4
- package/lib/generated/services/s3tables.js +4 -4
- package/lib/generated/services/s3vectors.js +4 -4
- package/lib/generated/services/sagemaker-data-science-assistant.js +1 -1
- package/lib/generated/services/sagemaker-geospatial.js +4 -4
- package/lib/generated/services/sagemaker-mlflow.js +3 -3
- package/lib/generated/services/sagemaker-unified-studio-mcp.js +1 -1
- package/lib/generated/services/sagemaker.js +4 -4
- package/lib/generated/services/savingsplans.js +4 -4
- package/lib/generated/services/scheduler.js +4 -4
- package/lib/generated/services/schemas.js +4 -4
- package/lib/generated/services/scn.js +4 -4
- package/lib/generated/services/sdb.js +3 -3
- package/lib/generated/services/secretsmanager.js +4 -4
- package/lib/generated/services/security-ir.js +4 -4
- package/lib/generated/services/securityagent.js +4 -4
- package/lib/generated/services/securityhub.js +4 -4
- package/lib/generated/services/securitylake.js +4 -4
- package/lib/generated/services/serverlessrepo.js +4 -4
- package/lib/generated/services/servicecatalog.js +4 -4
- package/lib/generated/services/servicediscovery.js +4 -4
- package/lib/generated/services/serviceextract.js +1 -1
- package/lib/generated/services/servicequotas.js +4 -4
- package/lib/generated/services/ses.js +4 -4
- package/lib/generated/services/shield.js +4 -4
- package/lib/generated/services/signer.js +4 -4
- package/lib/generated/services/signin.js +4 -4
- package/lib/generated/services/simspaceweaver.js +3 -3
- package/lib/generated/services/sms-voice.js +4 -4
- package/lib/generated/services/sms.js +1 -1
- package/lib/generated/services/snow-device-management.js +4 -4
- package/lib/generated/services/snowball.js +2 -2
- package/lib/generated/services/sns.js +4 -4
- package/lib/generated/services/social-messaging.js +4 -4
- package/lib/generated/services/sqlworkbench.js +3 -3
- package/lib/generated/services/sqs.js +4 -4
- package/lib/generated/services/ssm-contacts.js +4 -4
- package/lib/generated/services/ssm-guiconnect.js +2 -2
- package/lib/generated/services/ssm-incidents.js +4 -4
- package/lib/generated/services/ssm-quicksetup.js +4 -4
- package/lib/generated/services/ssm-sap.js +4 -4
- package/lib/generated/services/ssm.js +4 -4
- package/lib/generated/services/ssmmessages.js +2 -2
- package/lib/generated/services/sso-directory.js +1 -1
- package/lib/generated/services/sso-oauth.js +3 -3
- package/lib/generated/services/sso.js +4 -4
- package/lib/generated/services/states.js +4 -4
- package/lib/generated/services/storagegateway.js +4 -4
- package/lib/generated/services/sts.js +4 -4
- package/lib/generated/services/support-console.js +1 -1
- package/lib/generated/services/support.js +2 -2
- package/lib/generated/services/supportapp.js +2 -2
- package/lib/generated/services/supportauthz.js +4 -4
- package/lib/generated/services/supportplans.js +1 -1
- package/lib/generated/services/sustainability.js +2 -2
- package/lib/generated/services/swf.js +4 -4
- package/lib/generated/services/synthetics.js +4 -4
- package/lib/generated/services/tag.js +2 -2
- package/lib/generated/services/tax.js +2 -2
- package/lib/generated/services/textract.js +4 -4
- package/lib/generated/services/thinclient.js +4 -4
- package/lib/generated/services/timestream-influxdb.js +4 -4
- package/lib/generated/services/timestream.js +4 -4
- package/lib/generated/services/tiros.js +1 -1
- package/lib/generated/services/tnb.js +4 -4
- package/lib/generated/services/transcribe.js +4 -4
- package/lib/generated/services/transfer.js +4 -4
- package/lib/generated/services/transform-custom.js +3 -3
- package/lib/generated/services/transform.js +3 -3
- package/lib/generated/services/translate.js +4 -4
- package/lib/generated/services/trustedadvisor.js +3 -3
- package/lib/generated/services/ts.js +3 -3
- package/lib/generated/services/user-subscriptions.js +2 -2
- package/lib/generated/services/uxc.js +2 -2
- package/lib/generated/services/vendor-insights.js +3 -3
- package/lib/generated/services/verified-access.js +1 -1
- package/lib/generated/services/verifiedpermissions.js +4 -4
- package/lib/generated/services/voiceid.js +4 -4
- package/lib/generated/services/vpc-lattice-svcs.js +3 -3
- package/lib/generated/services/vpc-lattice.js +4 -4
- package/lib/generated/services/vpce.js +2 -2
- package/lib/generated/services/waf-regional.js +4 -4
- package/lib/generated/services/waf.js +4 -4
- package/lib/generated/services/wafv2.d.ts +4 -0
- package/lib/generated/services/wafv2.js +11 -5
- package/lib/generated/services/wam.js +1 -1
- package/lib/generated/services/wellarchitected.js +4 -4
- package/lib/generated/services/wickr.js +4 -4
- package/lib/generated/services/wisdom.js +4 -4
- package/lib/generated/services/workdocs.js +3 -3
- package/lib/generated/services/worklink.js +3 -3
- package/lib/generated/services/workmail.js +4 -4
- package/lib/generated/services/workmailmessageflow.js +3 -3
- package/lib/generated/services/workspaces-instances.js +4 -4
- package/lib/generated/services/workspaces-web.js +4 -4
- package/lib/generated/services/workspaces.js +4 -4
- package/lib/generated/services/xray.js +4 -4
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ class CodeArtifactActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeArtifactActions = CodeArtifactActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeArtifactActions[_a] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactActions", version: "1.
|
|
19
|
+
CodeArtifactActions[_a] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeArtifactActions.SERVICE_PREFIX = "codeartifact";
|
|
22
22
|
/** [Write] codeartifact:AssociateExternalConnection */
|
|
@@ -316,7 +316,7 @@ class CodeArtifactResources {
|
|
|
316
316
|
}
|
|
317
317
|
exports.CodeArtifactResources = CodeArtifactResources;
|
|
318
318
|
_b = JSII_RTTI_SYMBOL_1;
|
|
319
|
-
CodeArtifactResources[_b] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactResources", version: "1.
|
|
319
|
+
CodeArtifactResources[_b] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactResources", version: "1.30.0" };
|
|
320
320
|
/**
|
|
321
321
|
* API operation to required IAM actions mapping for codeartifact.
|
|
322
322
|
*/
|
|
@@ -324,7 +324,7 @@ class CodeArtifactOperations {
|
|
|
324
324
|
}
|
|
325
325
|
exports.CodeArtifactOperations = CodeArtifactOperations;
|
|
326
326
|
_c = JSII_RTTI_SYMBOL_1;
|
|
327
|
-
CodeArtifactOperations[_c] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactOperations", version: "1.
|
|
327
|
+
CodeArtifactOperations[_c] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactOperations", version: "1.30.0" };
|
|
328
328
|
/** IAM actions required for the AssociateExternalConnection API call. */
|
|
329
329
|
CodeArtifactOperations.AssociateExternalConnection = [];
|
|
330
330
|
/** IAM actions required for the CopyPackageVersions API call. */
|
|
@@ -446,7 +446,7 @@ class CodeArtifactConditions {
|
|
|
446
446
|
}
|
|
447
447
|
exports.CodeArtifactConditions = CodeArtifactConditions;
|
|
448
448
|
_d = JSII_RTTI_SYMBOL_1;
|
|
449
|
-
CodeArtifactConditions[_d] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactConditions", version: "1.
|
|
449
|
+
CodeArtifactConditions[_d] = { fqn: "@cdk_utils/iam.codeartifact.CodeArtifactConditions", version: "1.30.0" };
|
|
450
450
|
/** Condition keys applicable to the CreateDomain action. */
|
|
451
451
|
CodeArtifactConditions.CreateDomainConditionKeys = [
|
|
452
452
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeBuildActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeBuildActions = CodeBuildActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeBuildActions[_a] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildActions", version: "1.
|
|
19
|
+
CodeBuildActions[_a] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeBuildActions.SERVICE_PREFIX = "codebuild";
|
|
22
22
|
/** [Write] codebuild:BatchDeleteBuilds */
|
|
@@ -446,7 +446,7 @@ class CodeBuildResources {
|
|
|
446
446
|
}
|
|
447
447
|
exports.CodeBuildResources = CodeBuildResources;
|
|
448
448
|
_b = JSII_RTTI_SYMBOL_1;
|
|
449
|
-
CodeBuildResources[_b] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildResources", version: "1.
|
|
449
|
+
CodeBuildResources[_b] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildResources", version: "1.30.0" };
|
|
450
450
|
/**
|
|
451
451
|
* API operation to required IAM actions mapping for codebuild.
|
|
452
452
|
*/
|
|
@@ -454,7 +454,7 @@ class CodeBuildOperations {
|
|
|
454
454
|
}
|
|
455
455
|
exports.CodeBuildOperations = CodeBuildOperations;
|
|
456
456
|
_c = JSII_RTTI_SYMBOL_1;
|
|
457
|
-
CodeBuildOperations[_c] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildOperations", version: "1.
|
|
457
|
+
CodeBuildOperations[_c] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildOperations", version: "1.30.0" };
|
|
458
458
|
/** IAM actions required for the BatchDeleteBuilds API call. */
|
|
459
459
|
CodeBuildOperations.BatchDeleteBuilds = ["codebuild:BatchDeleteBuilds"];
|
|
460
460
|
/** IAM actions required for the BatchGetBuildBatches API call. */
|
|
@@ -1389,7 +1389,7 @@ class CodeBuildConditions {
|
|
|
1389
1389
|
}
|
|
1390
1390
|
exports.CodeBuildConditions = CodeBuildConditions;
|
|
1391
1391
|
_d = JSII_RTTI_SYMBOL_1;
|
|
1392
|
-
CodeBuildConditions[_d] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildConditions", version: "1.
|
|
1392
|
+
CodeBuildConditions[_d] = { fqn: "@cdk_utils/iam.codebuild.CodeBuildConditions", version: "1.30.0" };
|
|
1393
1393
|
/** Condition keys applicable to the CreateFleet action. */
|
|
1394
1394
|
CodeBuildConditions.CreateFleetConditionKeys = [
|
|
1395
1395
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeCatalystActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeCatalystActions = CodeCatalystActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeCatalystActions[_a] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystActions", version: "1.
|
|
19
|
+
CodeCatalystActions[_a] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeCatalystActions.SERVICE_PREFIX = "codecatalyst";
|
|
22
22
|
/** [Write] codecatalyst:AcceptConnection */
|
|
@@ -247,7 +247,7 @@ class CodeCatalystResources {
|
|
|
247
247
|
}
|
|
248
248
|
exports.CodeCatalystResources = CodeCatalystResources;
|
|
249
249
|
_b = JSII_RTTI_SYMBOL_1;
|
|
250
|
-
CodeCatalystResources[_b] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystResources", version: "1.
|
|
250
|
+
CodeCatalystResources[_b] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystResources", version: "1.30.0" };
|
|
251
251
|
/**
|
|
252
252
|
* API operation to required IAM actions mapping for codecatalyst.
|
|
253
253
|
*/
|
|
@@ -255,7 +255,7 @@ class CodeCatalystOperations {
|
|
|
255
255
|
}
|
|
256
256
|
exports.CodeCatalystOperations = CodeCatalystOperations;
|
|
257
257
|
_c = JSII_RTTI_SYMBOL_1;
|
|
258
|
-
CodeCatalystOperations[_c] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystOperations", version: "1.
|
|
258
|
+
CodeCatalystOperations[_c] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystOperations", version: "1.30.0" };
|
|
259
259
|
/** IAM actions required for the CreateAccessToken API call. */
|
|
260
260
|
CodeCatalystOperations.CreateAccessToken = [];
|
|
261
261
|
/** IAM actions required for the CreateDevEnvironment API call. */
|
|
@@ -357,7 +357,7 @@ class CodeCatalystConditions {
|
|
|
357
357
|
}
|
|
358
358
|
exports.CodeCatalystConditions = CodeCatalystConditions;
|
|
359
359
|
_d = JSII_RTTI_SYMBOL_1;
|
|
360
|
-
CodeCatalystConditions[_d] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystConditions", version: "1.
|
|
360
|
+
CodeCatalystConditions[_d] = { fqn: "@cdk_utils/iam.codecatalyst.CodeCatalystConditions", version: "1.30.0" };
|
|
361
361
|
/** Condition keys applicable to the AcceptConnection action. */
|
|
362
362
|
CodeCatalystConditions.AcceptConnectionConditionKeys = [
|
|
363
363
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeCommitActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeCommitActions = CodeCommitActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeCommitActions[_a] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitActions", version: "1.
|
|
19
|
+
CodeCommitActions[_a] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeCommitActions.SERVICE_PREFIX = "codecommit";
|
|
22
22
|
/** [Write] codecommit:AssociateApprovalRuleTemplateWithRepository */
|
|
@@ -342,7 +342,7 @@ class CodeCommitResources {
|
|
|
342
342
|
}
|
|
343
343
|
exports.CodeCommitResources = CodeCommitResources;
|
|
344
344
|
_b = JSII_RTTI_SYMBOL_1;
|
|
345
|
-
CodeCommitResources[_b] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitResources", version: "1.
|
|
345
|
+
CodeCommitResources[_b] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitResources", version: "1.30.0" };
|
|
346
346
|
/**
|
|
347
347
|
* API operation to required IAM actions mapping for codecommit.
|
|
348
348
|
*/
|
|
@@ -350,7 +350,7 @@ class CodeCommitOperations {
|
|
|
350
350
|
}
|
|
351
351
|
exports.CodeCommitOperations = CodeCommitOperations;
|
|
352
352
|
_c = JSII_RTTI_SYMBOL_1;
|
|
353
|
-
CodeCommitOperations[_c] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitOperations", version: "1.
|
|
353
|
+
CodeCommitOperations[_c] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitOperations", version: "1.30.0" };
|
|
354
354
|
/** IAM actions required for the AssociateApprovalRuleTemplateWithRepository API call. */
|
|
355
355
|
CodeCommitOperations.AssociateApprovalRuleTemplateWithRepository = [
|
|
356
356
|
"codecommit:AssociateApprovalRuleTemplateWithRepository",
|
|
@@ -650,7 +650,7 @@ class CodeCommitConditions {
|
|
|
650
650
|
}
|
|
651
651
|
exports.CodeCommitConditions = CodeCommitConditions;
|
|
652
652
|
_d = JSII_RTTI_SYMBOL_1;
|
|
653
|
-
CodeCommitConditions[_d] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitConditions", version: "1.
|
|
653
|
+
CodeCommitConditions[_d] = { fqn: "@cdk_utils/iam.codecommit.CodeCommitConditions", version: "1.30.0" };
|
|
654
654
|
/** Condition keys applicable to the CreateBranch action. */
|
|
655
655
|
CodeCommitConditions.CreateBranchConditionKeys = [
|
|
656
656
|
"codecommit:References",
|
|
@@ -16,7 +16,7 @@ class CodeconnectionsActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeconnectionsActions = CodeconnectionsActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeconnectionsActions[_a] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsActions", version: "1.
|
|
19
|
+
CodeconnectionsActions[_a] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeconnectionsActions.SERVICE_PREFIX = "codeconnections";
|
|
22
22
|
/** [Write] codeconnections:CreateConnection */
|
|
@@ -241,7 +241,7 @@ class CodeconnectionsResources {
|
|
|
241
241
|
}
|
|
242
242
|
exports.CodeconnectionsResources = CodeconnectionsResources;
|
|
243
243
|
_b = JSII_RTTI_SYMBOL_1;
|
|
244
|
-
CodeconnectionsResources[_b] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsResources", version: "1.
|
|
244
|
+
CodeconnectionsResources[_b] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsResources", version: "1.30.0" };
|
|
245
245
|
/**
|
|
246
246
|
* API operation to required IAM actions mapping for codeconnections.
|
|
247
247
|
*/
|
|
@@ -249,7 +249,7 @@ class CodeconnectionsOperations {
|
|
|
249
249
|
}
|
|
250
250
|
exports.CodeconnectionsOperations = CodeconnectionsOperations;
|
|
251
251
|
_c = JSII_RTTI_SYMBOL_1;
|
|
252
|
-
CodeconnectionsOperations[_c] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsOperations", version: "1.
|
|
252
|
+
CodeconnectionsOperations[_c] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsOperations", version: "1.30.0" };
|
|
253
253
|
/** IAM actions required for the CreateConnection API call. */
|
|
254
254
|
CodeconnectionsOperations.CreateConnection = [
|
|
255
255
|
"codeconnections:CreateConnection",
|
|
@@ -354,7 +354,10 @@ CodeconnectionsOperations.ListRepositoryLinks = [
|
|
|
354
354
|
"codestar-connections:ListRepositoryLinks",
|
|
355
355
|
];
|
|
356
356
|
/** IAM actions required for the ListRepositorySyncDefinitions API call. */
|
|
357
|
-
CodeconnectionsOperations.ListRepositorySyncDefinitions = [
|
|
357
|
+
CodeconnectionsOperations.ListRepositorySyncDefinitions = [
|
|
358
|
+
"codeconnections:ListRepositorySyncDefinitions",
|
|
359
|
+
"codestar-connections:ListRepositorySyncDefinitions",
|
|
360
|
+
];
|
|
358
361
|
/** IAM actions required for the ListSyncConfigurations API call. */
|
|
359
362
|
CodeconnectionsOperations.ListSyncConfigurations = [
|
|
360
363
|
"codeconnections:ListSyncConfigurations",
|
|
@@ -507,7 +510,7 @@ class CodeconnectionsConditions {
|
|
|
507
510
|
}
|
|
508
511
|
exports.CodeconnectionsConditions = CodeconnectionsConditions;
|
|
509
512
|
_d = JSII_RTTI_SYMBOL_1;
|
|
510
|
-
CodeconnectionsConditions[_d] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsConditions", version: "1.
|
|
513
|
+
CodeconnectionsConditions[_d] = { fqn: "@cdk_utils/iam.codeconnections.CodeconnectionsConditions", version: "1.30.0" };
|
|
511
514
|
/** Condition keys applicable to the CreateConnection action. */
|
|
512
515
|
CodeconnectionsConditions.CreateConnectionConditionKeys = [
|
|
513
516
|
"aws:RequestTag/${TagKey}",
|
|
@@ -628,4 +631,4 @@ CodeconnectionsConditions.PROVIDER_TYPE_FILTER = "codeconnections:ProviderTypeFi
|
|
|
628
631
|
CodeconnectionsConditions.REPOSITORY_NAME = "codeconnections:RepositoryName";
|
|
629
632
|
/** Condition key: codeconnections:VpcId (String) */
|
|
630
633
|
CodeconnectionsConditions.VPC_ID = "codeconnections:VpcId";
|
|
631
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNvbm5lY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9jb2RlY29ubmVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxzREFBc0Q7QUFDdEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsc0JBQXNCOztBQUFuQyx3REFvSkM7OztBQW5KQSw4QkFBOEI7QUFDZCxxQ0FBYyxHQUFHLGlCQUFpQixDQUFDO0FBRW5ELCtDQUErQztBQUMvQix1Q0FBZ0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN0RSx5Q0FBeUM7QUFDekIsaUNBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUMxRCxtREFBbUQ7QUFDbkMsMkNBQW9CLEdBQUcsc0NBQXNDLENBQUM7QUFDOUUsc0RBQXNEO0FBQ3RDLDhDQUF1QixHQUN0Qyx5Q0FBeUMsQ0FBQztBQUMzQywrQ0FBK0M7QUFDL0IsdUNBQWdCLEdBQUcsa0NBQWtDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFVLEdBQUcsNEJBQTRCLENBQUM7QUFDMUQsbURBQW1EO0FBQ25DLDJDQUFvQixHQUFHLHNDQUFzQyxDQUFDO0FBQzlFLHNEQUFzRDtBQUN0Qyw4Q0FBdUIsR0FDdEMseUNBQXlDLENBQUM7QUFDM0MsMkNBQTJDO0FBQzNCLDBDQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLGdEQUFnRDtBQUNoQywrQ0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMscUNBQXFDO0FBQ3JCLG9DQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsc0RBQXNEO0FBQ3RDLHFEQUE4QixHQUM3QywwQ0FBMEMsQ0FBQztBQUM1QyxnREFBZ0Q7QUFDaEMsK0NBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQiw4Q0FBdUIs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R0FBRyxnQ0FBZ0MsQ0FBQztBQUNuRSxzREFBc0Q7QUFDdEMsa0NBQVEsR0FBRyx5QkFBeUIsQ0FBQztBQUNyRCw4REFBOEQ7QUFDOUMsMkNBQWlCLEdBQUcsaUNBQWlDLENBQUM7QUFDdEUsNkRBQTZEO0FBQzdDLHlDQUFlLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkUsMEVBQTBFO0FBQzFELHVEQUE2QixHQUM1Qyw2Q0FBNkMsQ0FBQztBQUMvQywyREFBMkQ7QUFDM0MsdUNBQWEsR0FBRyw4QkFBOEIsQ0FBQztBQUMvRCxpRUFBaUU7QUFDakQsOENBQW9CLEdBQUcsb0NBQW9DLENBQUM7QUFDNUUsNkRBQTZEO0FBQzdDLHlDQUFlLEdBQUcsZ0NBQWdDLENBQUM7QUFDbkUsb0RBQW9EO0FBQ3BDLGdDQUFNLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQVVUTy1HRU5FUkFURUQgRklMRSDigJQgRE8gTk9UIEVESVQgTUFOVUFMTFlcbi8vIEdlbmVyYXRlZCBmcm9tIEFXUyBTZXJ2aWNlIEF1dGhvcml6YXRpb24gUmVmZXJlbmNlIGRhdGFcbi8vIFNvdXJjZTogZGF0YS9zZXJ2aWNlLXJlZmVyZW5jZS9jb2RlY29ubmVjdGlvbnMuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGNvZGVjb25uZWN0aW9ucyBzZXJ2aWNlLlxuICovXG5leHBvcnQgY2xhc3MgQ29kZWNvbm5lY3Rpb25zQWN0aW9ucyB7XG5cdC8qKiBUaGUgSUFNIHNlcnZpY2UgcHJlZml4LiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU0VSVklDRV9QUkVGSVggPSBcImNvZGVjb25uZWN0aW9uc1wiO1xuXG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpDcmVhdGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uID0gXCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6Q3JlYXRlSG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSG9zdCA9IFwiY29kZWNvbm5lY3Rpb25zOkNyZWF0ZUhvc3RcIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOkNyZWF0ZVJlcG9zaXRvcnlMaW5rICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBvc2l0b3J5TGluayA9IFwiY29kZWNvbm5lY3Rpb25zOkNyZWF0ZVJlcG9zaXRvcnlMaW5rXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpDcmVhdGVTeW5jQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3luY0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkNyZWF0ZVN5bmNDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpEZWxldGVDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0aW9uID0gXCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlQ29ubmVjdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6RGVsZXRlSG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSG9zdCA9IFwiY29kZWNvbm5lY3Rpb25zOkRlbGV0ZUhvc3RcIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOkRlbGV0ZVJlcG9zaXRvcnlMaW5rICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVSZXBvc2l0b3J5TGluayA9IFwiY29kZWNvbm5lY3Rpb25zOkRlbGV0ZVJlcG9zaXRvcnlMaW5rXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpEZWxldGVTeW5jQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlU3luY0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkRlbGV0ZVN5bmNDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldENvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbm5lY3Rpb24gPSBcImNvZGVjb25uZWN0aW9uczpHZXRDb25uZWN0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldENvbm5lY3Rpb25Ub2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvblRva2VuID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRDb25uZWN0aW9uVG9rZW5cIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0SG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SG9zdCA9IFwiY29kZWNvbm5lY3Rpb25zOkdldEhvc3RcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0SW5kaXZpZHVhbEFjY2Vzc1Rva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRJbmRpdmlkdWFsQWNjZXNzVG9rZW4gPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldEluZGl2aWR1YWxBY2Nlc3NUb2tlblwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpHZXRJbnN0YWxsYXRpb25VcmwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluc3RhbGxhdGlvblVybCA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0SW5zdGFsbGF0aW9uVXJsXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlMaW5rICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBvc2l0b3J5TGluayA9IFwiY29kZWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlMaW5rXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlTeW5jU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBvc2l0b3J5U3luY1N0YXR1cyA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0UmVwb3NpdG9yeVN5bmNTdGF0dXNcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0UmVzb3VyY2VTeW5jU3RhdHVzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXNvdXJjZVN5bmNTdGF0dXMgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldFJlc291cmNlU3luY1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpHZXRTeW5jQmxvY2tlclN1bW1hcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN5bmNCbG9ja2VyU3VtbWFyeSA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0U3luY0Jsb2NrZXJTdW1tYXJ5XCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldFN5bmNDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRTeW5jQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0U3luY0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBjb2RlY29ubmVjdGlvbnM6TGlzdENvbm5lY3Rpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdGlvbnMgPSBcImNvZGVjb25uZWN0aW9uczpMaXN0Q29ubmVjdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjb2RlY29ubmVjdGlvbnM6TGlzdEhvc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SG9zdHMgPSBcImNvZGVjb25uZWN0aW9uczpMaXN0SG9zdHNcIjtcblx0LyoqIFtMaXN0XSBjb2RlY29ubmVjdGlvbnM6TGlzdEluc3RhbGxhdGlvblRhcmdldHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RJbnN0YWxsYXRpb25UYXJnZXRzID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpMaXN0SW5zdGFsbGF0aW9uVGFyZ2V0c1wiO1xuXHQvKiogW0xpc3RdIGNvZGVjb25uZWN0aW9uczpMaXN0UmVwb3NpdG9yeUxpbmtzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVwb3NpdG9yeUxpbmtzID0gXCJjb2RlY29ubmVjdGlvbnM6TGlzdFJlcG9zaXRvcnlMaW5rc1wiO1xuXHQvKiogW0xpc3RdIGNvZGVjb25uZWN0aW9uczpMaXN0UmVwb3NpdG9yeVN5bmNEZWZpbml0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9zaXRvcnlTeW5jRGVmaW5pdGlvbnMgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkxpc3RSZXBvc2l0b3J5U3luY0RlZmluaXRpb25zXCI7XG5cdC8qKiBbTGlzdF0gY29kZWNvbm5lY3Rpb25zOkxpc3RTeW5jQ29uZmlndXJhdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RTeW5jQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkxpc3RTeW5jQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjb2RlY29ubmVjdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwiY29kZWNvbm5lY3Rpb25zOkxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhc3NDb25uZWN0aW9uID0gXCJjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6UGFzc1JlcG9zaXRvcnkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhc3NSZXBvc2l0b3J5ID0gXCJjb2RlY29ubmVjdGlvbnM6UGFzc1JlcG9zaXRvcnlcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6UmVnaXN0ZXJBcHBDb2RlICovXG5cdHN0YXRpYyByZWFkb25seSBSZWdpc3RlckFwcENvZGUgPSBcImNvZGVjb25uZWN0aW9uczpSZWdpc3RlckFwcENvZGVcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6U3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0QXBwUmVnaXN0cmF0aW9uSGFuZHNoYWtlID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpTdGFydEFwcFJlZ2lzdHJhdGlvbkhhbmRzaGFrZVwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpTdGFydE9BdXRoSGFuZHNoYWtlICovXG5cdHN0YXRpYyByZWFkb25seSBTdGFydE9BdXRoSGFuZHNoYWtlID0gXCJjb2RlY29ubmVjdGlvbnM6U3RhcnRPQXV0aEhhbmRzaGFrZVwiO1xuXHQvKiogW1RhZ2dpbmddIGNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGNvZGVjb25uZWN0aW9uczpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJjb2RlY29ubmVjdGlvbnM6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6VXBkYXRlQ29ubmVjdGlvbkluc3RhbGxhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdGlvbkluc3RhbGxhdGlvbiA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VXBkYXRlQ29ubmVjdGlvbkluc3RhbGxhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6VXBkYXRlSG9zdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSG9zdCA9IFwiY29kZWNvbm5lY3Rpb25zOlVwZGF0ZUhvc3RcIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOlVwZGF0ZVJlcG9zaXRvcnlMaW5rICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBvc2l0b3J5TGluayA9IFwiY29kZWNvbm5lY3Rpb25zOlVwZGF0ZVJlcG9zaXRvcnlMaW5rXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQmxvY2tlciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3luY0Jsb2NrZXIgPSBcImNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQmxvY2tlclwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6VXBkYXRlU3luY0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5bmNDb25maWd1cmF0aW9uID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpVc2VDb25uZWN0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVc2VDb25uZWN0aW9uID0gXCJjb2RlY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLmFjdGlvbkdldENvbm5lY3Rpb25Ub2tlbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLmFjdGlvbkdldEhvc3QsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRJbmRpdmlkdWFsQWNjZXNzVG9rZW4sXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRJbnN0YWxsYXRpb25VcmwsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRSZXBvc2l0b3J5TGluayxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLmFjdGlvbkdldFJlcG9zaXRvcnlTeW5jU3RhdHVzLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0UmVzb3VyY2VTeW5jU3RhdHVzLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0U3luY0Jsb2NrZXJTdW1tYXJ5LFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0U3luY0NvbmZpZ3VyYXRpb24sXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5QYXNzQ29ubmVjdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlBhc3NSZXBvc2l0b3J5LFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuUmVnaXN0ZXJBcHBDb2RlLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuU3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2UsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5TdGFydE9BdXRoSGFuZHNoYWtlLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuVXNlQ29ubmVjdGlvbixcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb24sXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5DcmVhdGVIb3N0LFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuQ3JlYXRlUmVwb3NpdG9yeUxpbmssXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5DcmVhdGVTeW5jQ29uZmlndXJhdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkRlbGV0ZUNvbm5lY3Rpb24sXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5EZWxldGVIb3N0LFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuRGVsZXRlUmVwb3NpdG9yeUxpbmssXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5EZWxldGVTeW5jQ29uZmlndXJhdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25JbnN0YWxsYXRpb24sXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5VcGRhdGVIb3N0LFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuVXBkYXRlUmVwb3NpdG9yeUxpbmssXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5VcGRhdGVTeW5jQmxvY2tlcixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlVwZGF0ZVN5bmNDb25maWd1cmF0aW9uLFxuXHRdO1xuXHQvKiogQWxsIGxpc3QtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbExpc3RBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkxpc3RDb25uZWN0aW9ucyxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkxpc3RIb3N0cyxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkxpc3RJbnN0YWxsYXRpb25UYXJnZXRzLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdFJlcG9zaXRvcnlMaW5rcyxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkxpc3RSZXBvc2l0b3J5U3luY0RlZmluaXRpb25zLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdFN5bmNDb25maWd1cmF0aW9ucyxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdF07XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgQ29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWNvbm5lY3Rpb25zQ29ubmVjdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDb25uZWN0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbm5lY3Rpb25JZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIENvbm5lY3Rpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVjb25uZWN0aW9uc0Nvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3Rpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3Rpb25JZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgSG9zdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWNvbm5lY3Rpb25zSG9zdEFyblByb3BzIHtcblx0LyoqIFRoZSBIb3N0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGhvc3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIEhvc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVjb25uZWN0aW9uc0hvc3RBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEhvc3RJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGhvc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgUmVwb3NpdG9yeUxpbmsgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVjb25uZWN0aW9uc1JlcG9zaXRvcnlMaW5rQXJuUHJvcHMge1xuXHQvKiogVGhlIFJlcG9zaXRvcnlMaW5rSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlcG9zaXRvcnlMaW5rSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBSZXBvc2l0b3J5TGluayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWNvbm5lY3Rpb25zUmVwb3NpdG9yeUxpbmtBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFJlcG9zaXRvcnlMaW5rSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSByZXBvc2l0b3J5TGlua0lkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbm5lY3Rpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6Y29kZWNvbm5lY3Rpb25zOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdGlvblxcLyg/PGNvbm5lY3Rpb25JZD5bXjovP10rKSQvO1xuY29uc3QgSG9zdEFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb2RlY29ubmVjdGlvbnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpob3N0XFwvKD88aG9zdElkPlteOi8/XSspJC87XG5jb25zdCBSZXBvc2l0b3J5TGlua0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb2RlY29ubmVjdGlvbnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpyZXBvc2l0b3J5LWxpbmtcXC8oPzxyZXBvc2l0b3J5TGlua0lkPlteOi8/XSspJC87XG5cbi8qKlxuICogQVJOIGJ1aWxkZXJzLCB2YWxpZGF0b3JzLCBhbmQgcGFyc2VycyBmb3IgY29kZWNvbm5lY3Rpb25zIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVjb25uZWN0aW9uc1Jlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgQ29ubmVjdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0aW9uKHByb3BzOiBDb2RlY29ubmVjdGlvbnNDb25uZWN0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmNvZGVjb25uZWN0aW9uczoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25uZWN0aW9uLyR7cHJvcHMuY29ubmVjdGlvbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbm5lY3Rpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgQ29ubmVjdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb2RlY29ubmVjdGlvbnNDb25uZWN0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDb25uZWN0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIENvbm5lY3Rpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29ubmVjdGlvbklkOiBtYXRjaC5ncm91cHMhLmNvbm5lY3Rpb25JZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBIb3N0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGhvc3QocHJvcHM6IENvZGVjb25uZWN0aW9uc0hvc3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29kZWNvbm5lY3Rpb25zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Omhvc3QvJHtwcm9wcy5ob3N0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIEhvc3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEhvc3RBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gSG9zdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBIb3N0IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUhvc3RBcm4oYXJuOiBzdHJpbmcpOiBDb2RlY29ubmVjdGlvbnNIb3N0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBIb3N0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIEhvc3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0aG9zdElkOiBtYXRjaC5ncm91cHMhLmhvc3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBSZXBvc2l0b3J5TGluayByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXBvc2l0b3J5TGluayhwcm9wczogQ29kZWNvbm5lY3Rpb25zUmVwb3NpdG9yeUxpbmtBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29kZWNvbm5lY3Rpb25zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OnJlcG9zaXRvcnktbGluay8ke3Byb3BzLnJlcG9zaXRvcnlMaW5rSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIFJlcG9zaXRvcnlMaW5rIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXBvc2l0b3J5TGlua0Fybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBSZXBvc2l0b3J5TGlua0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBSZXBvc2l0b3J5TGluayBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXBvc2l0b3J5TGlua0Fybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogQ29kZWNvbm5lY3Rpb25zUmVwb3NpdG9yeUxpbmtBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFJlcG9zaXRvcnlMaW5rQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIFJlcG9zaXRvcnlMaW5rIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHJlcG9zaXRvcnlMaW5rSWQ6IG1hdGNoLmdyb3VwcyEucmVwb3NpdG9yeUxpbmtJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQVBJIG9wZXJhdGlvbiB0byByZXF1aXJlZCBJQU0gYWN0aW9ucyBtYXBwaW5nIGZvciBjb2RlY29ubmVjdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlY29ubmVjdGlvbnNPcGVyYXRpb25zIHtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkNyZWF0ZUNvbm5lY3Rpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkNyZWF0ZUNvbm5lY3Rpb25cIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlSG9zdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhvc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkNyZWF0ZUhvc3RcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkNyZWF0ZUhvc3RcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlUmVwb3NpdG9yeUxpbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXBvc2l0b3J5TGluazogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlUmVwb3NpdG9yeUxpbmtcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkNyZWF0ZVJlcG9zaXRvcnlMaW5rXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlBhc3NDb25uZWN0aW9uXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VGFnUmVzb3VyY2VcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlRhZ1Jlc291cmNlXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVTeW5jQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN5bmNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpDcmVhdGVTeW5jQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6Q3JlYXRlU3luY0NvbmZpZ3VyYXRpb25cIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzUmVwb3NpdG9yeVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6UGFzc1JlcG9zaXRvcnlcIixcblx0XHRcImlhbTpQYXNzUm9sZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6RGVsZXRlQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVIb3N0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlSG9zdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlSG9zdFwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6RGVsZXRlSG9zdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVSZXBvc2l0b3J5TGluayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcG9zaXRvcnlMaW5rOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpEZWxldGVSZXBvc2l0b3J5TGlua1wiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6RGVsZXRlUmVwb3NpdG9yeUxpbmtcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlU3luY0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTeW5jQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlU3luY0NvbmZpZ3VyYXRpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkRlbGV0ZVN5bmNDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldENvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldENvbm5lY3Rpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldENvbm5lY3Rpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkdldENvbm5lY3Rpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0SG9zdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0SG9zdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0SG9zdFwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6R2V0SG9zdFwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXBvc2l0b3J5TGluayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVwb3NpdG9yeUxpbms6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlMaW5rXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpHZXRSZXBvc2l0b3J5TGlua1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXBvc2l0b3J5U3luY1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVwb3NpdG9yeVN5bmNTdGF0dXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlTeW5jU3RhdHVzXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpHZXRSZXBvc2l0b3J5U3luY1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRSZXNvdXJjZVN5bmNTdGF0dXMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFJlc291cmNlU3luY1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0UmVzb3VyY2VTeW5jU3RhdHVzXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpHZXRSZXNvdXJjZVN5bmNTdGF0dXNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3luY0Jsb2NrZXJTdW1tYXJ5IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTeW5jQmxvY2tlclN1bW1hcnk6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldFN5bmNCbG9ja2VyU3VtbWFyeVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6R2V0U3luY0Jsb2NrZXJTdW1tYXJ5XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFN5bmNDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRTeW5jQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0U3luY0NvbmZpZ3VyYXRpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkdldFN5bmNDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdENvbm5lY3Rpb25zXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpMaXN0Q29ubmVjdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdEhvc3RzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEhvc3RzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpMaXN0SG9zdHNcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkxpc3RIb3N0c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVwb3NpdG9yeUxpbmtzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9zaXRvcnlMaW5rczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFJlcG9zaXRvcnlMaW5rc1wiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6TGlzdFJlcG9zaXRvcnlMaW5rc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0UmVwb3NpdG9yeVN5bmNEZWZpbml0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXBvc2l0b3J5U3luY0RlZmluaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3luY0NvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5bmNDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFN5bmNDb25maWd1cmF0aW9uc1wiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6TGlzdFN5bmNDb25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlVudGFnUmVzb3VyY2VcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSG9zdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUhvc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlVwZGF0ZUhvc3RcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlVwZGF0ZUhvc3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVwb3NpdG9yeUxpbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBvc2l0b3J5TGluazogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlBhc3NDb25uZWN0aW9uXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VXBkYXRlUmVwb3NpdG9yeUxpbmtcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlVwZGF0ZVJlcG9zaXRvcnlMaW5rXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTeW5jQmxvY2tlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5bmNCbG9ja2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQmxvY2tlclwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXBkYXRlU3luY0Jsb2NrZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTeW5jQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc1JlcG9zaXRvcnlcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlBhc3NSZXBvc2l0b3J5XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXBkYXRlU3luY0NvbmZpZ3VyYXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGNvZGVjb25uZWN0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVjb25uZWN0aW9uc0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIb3N0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhvc3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpWcGNJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwb3NpdG9yeUxpbmsgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwb3NpdG9yeUxpbmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVN5bmNDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN5bmNDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6QnJhbmNoXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRJbmRpdmlkdWFsQWNjZXNzVG9rZW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5kaXZpZHVhbEFjY2Vzc1Rva2VuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRJbnN0YWxsYXRpb25VcmwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFsbGF0aW9uVXJsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXBvc2l0b3J5U3luY1N0YXR1cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBvc2l0b3J5U3luY1N0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdENvbm5lY3Rpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEhvc3RzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIb3N0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUGFzc0Nvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFzc0Nvbm5lY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzZWRUb1NlcnZpY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFBhc3NSZXBvc2l0b3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhc3NSZXBvc2l0b3J5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc2VkVG9TZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckFwcENvZGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJBcHBDb2RlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6SG9zdEFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpIb3N0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydE9BdXRoSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T0F1dGhIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29ubmVjdGlvbkluc3RhbGxhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0aW9uSW5zdGFsbGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6SW5zdGFsbGF0aW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUhvc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSG9zdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiY29kZWNvbm5lY3Rpb25zOlZwY0lkXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpCcmFuY2hcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVzZUNvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXNlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaE5hbWVcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6T3duZXJJZFwiLFxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyQWN0aW9uXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJQZXJtaXNzaW9uc1JlcXVpcmVkXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UmVwb3NpdG9yeU5hbWVcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6QnJhbmNoIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBCUkFOQ0ggPSBcImNvZGVjb25uZWN0aW9uczpCcmFuY2hcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpCcmFuY2hOYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBCUkFOQ0hfTkFNRSA9IFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaE5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGVUxMX1JFUE9TSVRPUllfSUQgPSBcImNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6SG9zdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSE9TVF9BUk4gPSBcImNvZGVjb25uZWN0aW9uczpIb3N0QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6SW5zdGFsbGF0aW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOU1RBTExBVElPTl9JRCA9IFwiY29kZWNvbm5lY3Rpb25zOkluc3RhbGxhdGlvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6T3duZXJJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1dORVJfSUQgPSBcImNvZGVjb25uZWN0aW9uczpPd25lcklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6UGFzc2VkVG9TZXJ2aWNlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQQVNTRURfVE9fU0VSVklDRSA9IFwiY29kZWNvbm5lY3Rpb25zOlBhc3NlZFRvU2VydmljZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9WSURFUl9BQ1RJT04gPSBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlckFjdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyUGVybWlzc2lvbnNSZXF1aXJlZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfUEVSTUlTU0lPTlNfUkVRVUlSRUQgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyUGVybWlzc2lvbnNSZXF1aXJlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfVFlQRSA9IFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfVFlQRV9GSUxURVIgPSBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVGaWx0ZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpSZXBvc2l0b3J5TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVQT1NJVE9SWV9OQU1FID0gXCJjb2RlY29ubmVjdGlvbnM6UmVwb3NpdG9yeU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpWcGNJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX0lEID0gXCJjb2RlY29ubmVjdGlvbnM6VnBjSWRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOkJyYW5jaGAuXG5cdCAqL1xuXHRzdGF0aWMgYnJhbmNoKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOkJyYW5jaE5hbWVgLlxuXHQgKi9cblx0c3RhdGljIGJyYW5jaE5hbWUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJjb2RlY29ubmVjdGlvbnM6QnJhbmNoTmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOkZ1bGxSZXBvc2l0b3J5SWRgLlxuXHQgKi9cblx0c3RhdGljIGZ1bGxSZXBvc2l0b3J5SWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6SG9zdEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaG9zdEFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpIb3N0QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6SW5zdGFsbGF0aW9uSWRgLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbGxhdGlvbklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiY29kZWNvbm5lY3Rpb25zOkluc3RhbGxhdGlvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6T3duZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgb3duZXJJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpPd25lcklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6UGFzc2VkVG9TZXJ2aWNlYC5cblx0ICovXG5cdHN0YXRpYyBwYXNzZWRUb1NlcnZpY2UoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpQYXNzZWRUb1NlcnZpY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlckFjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdmlkZXJBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlclBlcm1pc3Npb25zUmVxdWlyZWRgLlxuXHQgKi9cblx0c3RhdGljIHByb3ZpZGVyUGVybWlzc2lvbnNSZXF1aXJlZChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclBlcm1pc3Npb25zUmVxdWlyZWRcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHByb3ZpZGVyVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVGaWx0ZXJgLlxuXHQgKi9cblx0c3RhdGljIHByb3ZpZGVyVHlwZUZpbHRlcihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlclwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOlJlcG9zaXRvcnlOYW1lYC5cblx0ICovXG5cdHN0YXRpYyByZXBvc2l0b3J5TmFtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpSZXBvc2l0b3J5TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOlZwY0lkYC5cblx0ICovXG5cdHN0YXRpYyB2cGNJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpWcGNJZFwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
634
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWNvbm5lY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9jb2RlY29ubmVjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxzREFBc0Q7QUFDdEQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsc0JBQXNCOztBQUFuQyx3REFvSkM7OztBQW5KQSw4QkFBOEI7QUFDZCxxQ0FBYyxHQUFHLGlCQUFpQixDQUFDO0FBRW5ELCtDQUErQztBQUMvQix1Q0FBZ0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUN0RSx5Q0FBeUM7QUFDekIsaUNBQVUsR0FBRyw0QkFBNEIsQ0FBQztBQUMxRCxtREFBbUQ7QUFDbkMsMkNBQW9CLEdBQUcsc0NBQXNDLENBQUM7QUFDOUUsc0RBQXNEO0FBQ3RDLDhDQUF1QixHQUN0Qyx5Q0FBeUMsQ0FBQztBQUMzQywrQ0FBK0M7QUFDL0IsdUNBQWdCLEdBQUcsa0NBQWtDLENBQUM7QUFDdEUseUNBQXlDO0FBQ3pCLGlDQUFVLEdBQUcsNEJBQTRCLENBQUM7QUFDMUQsbURBQW1EO0FBQ25DLDJDQUFvQixHQUFHLHNDQUFzQyxDQUFDO0FBQzlFLHNEQUFzRDtBQUN0Qyw4Q0FBdUIsR0FDdEMseUNBQXlDLENBQUM7QUFDM0MsMkNBQTJDO0FBQzNCLDBDQUFtQixHQUFHLCtCQUErQixDQUFDO0FBQ3RFLGdEQUFnRDtBQUNoQywrQ0FBd0IsR0FDdkMsb0NBQW9DLENBQUM7QUFDdEMscUNBQXFDO0FBQ3JCLG9DQUFhLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsc0RBQXNEO0FBQ3RDLHFEQUE4QixHQUM3QywwQ0FBMEMsQ0FBQztBQUM1QyxnREFBZ0Q7QUFDaEMsK0NBQXdCLEdBQ3ZDLG9DQUFvQyxDQUFDO0FBQ3RDLCtDQUErQztBQUMvQiw4Q0FBdUIs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O0FBQ3JELDZEQUE2RDtBQUM3Qyx5Q0FBZSxHQUFHLGdDQUFnQyxDQUFDO0FBQ25FLHNEQUFzRDtBQUN0QyxrQ0FBUSxHQUFHLHlCQUF5QixDQUFDO0FBQ3JELDhEQUE4RDtBQUM5QywyQ0FBaUIsR0FBRyxpQ0FBaUMsQ0FBQztBQUN0RSw2REFBNkQ7QUFDN0MseUNBQWUsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNuRSwwRUFBMEU7QUFDMUQsdURBQTZCLEdBQzVDLDZDQUE2QyxDQUFDO0FBQy9DLDJEQUEyRDtBQUMzQyx1Q0FBYSxHQUFHLDhCQUE4QixDQUFDO0FBQy9ELGlFQUFpRTtBQUNqRCw4Q0FBb0IsR0FBRyxvQ0FBb0MsQ0FBQztBQUM1RSw2REFBNkQ7QUFDN0MseUNBQWUsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNuRSxvREFBb0Q7QUFDcEMsZ0NBQU0sR0FBRyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2NvZGVjb25uZWN0aW9ucy5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUgY29kZWNvbm5lY3Rpb25zIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlY29ubmVjdGlvbnNBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwiY29kZWNvbm5lY3Rpb25zXCI7XG5cblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOkNyZWF0ZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rpb24gPSBcImNvZGVjb25uZWN0aW9uczpDcmVhdGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpDcmVhdGVIb3N0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVIb3N0ID0gXCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlSG9zdFwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6Q3JlYXRlUmVwb3NpdG9yeUxpbmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcG9zaXRvcnlMaW5rID0gXCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlUmVwb3NpdG9yeUxpbmtcIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOkNyZWF0ZVN5bmNDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTeW5jQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlU3luY0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOkRlbGV0ZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rpb24gPSBcImNvZGVjb25uZWN0aW9uczpEZWxldGVDb25uZWN0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpEZWxldGVIb3N0ICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIb3N0ID0gXCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlSG9zdFwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6RGVsZXRlUmVwb3NpdG9yeUxpbmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVJlcG9zaXRvcnlMaW5rID0gXCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlUmVwb3NpdG9yeUxpbmtcIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOkRlbGV0ZVN5bmNDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVTeW5jQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6RGVsZXRlU3luY0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0Q29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29ubmVjdGlvbiA9IFwiY29kZWNvbm5lY3Rpb25zOkdldENvbm5lY3Rpb25cIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0Q29ubmVjdGlvblRva2VuICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb25uZWN0aW9uVG9rZW4gPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkdldENvbm5lY3Rpb25Ub2tlblwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpHZXRIb3N0ICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRIb3N0ID0gXCJjb2RlY29ubmVjdGlvbnM6R2V0SG9zdFwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpHZXRJbmRpdmlkdWFsQWNjZXNzVG9rZW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEluZGl2aWR1YWxBY2Nlc3NUb2tlbiA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0SW5kaXZpZHVhbEFjY2Vzc1Rva2VuXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldEluc3RhbGxhdGlvblVybCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFsbGF0aW9uVXJsID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRJbnN0YWxsYXRpb25VcmxcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0UmVwb3NpdG9yeUxpbmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlcG9zaXRvcnlMaW5rID0gXCJjb2RlY29ubmVjdGlvbnM6R2V0UmVwb3NpdG9yeUxpbmtcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0UmVwb3NpdG9yeVN5bmNTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlcG9zaXRvcnlTeW5jU3RhdHVzID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRSZXBvc2l0b3J5U3luY1N0YXR1c1wiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpHZXRSZXNvdXJjZVN5bmNTdGF0dXMgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlc291cmNlU3luY1N0YXR1cyA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0UmVzb3VyY2VTeW5jU3RhdHVzXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOkdldFN5bmNCbG9ja2VyU3VtbWFyeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0U3luY0Jsb2NrZXJTdW1tYXJ5ID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRTeW5jQmxvY2tlclN1bW1hcnlcIjtcblx0LyoqIFtSZWFkXSBjb2RlY29ubmVjdGlvbnM6R2V0U3luY0NvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFN5bmNDb25maWd1cmF0aW9uID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRTeW5jQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW0xpc3RdIGNvZGVjb25uZWN0aW9uczpMaXN0Q29ubmVjdGlvbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9ucyA9IFwiY29kZWNvbm5lY3Rpb25zOkxpc3RDb25uZWN0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNvZGVjb25uZWN0aW9uczpMaXN0SG9zdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIb3N0cyA9IFwiY29kZWNvbm5lY3Rpb25zOkxpc3RIb3N0c1wiO1xuXHQvKiogW0xpc3RdIGNvZGVjb25uZWN0aW9uczpMaXN0SW5zdGFsbGF0aW9uVGFyZ2V0cyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEluc3RhbGxhdGlvblRhcmdldHMgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkxpc3RJbnN0YWxsYXRpb25UYXJnZXRzXCI7XG5cdC8qKiBbTGlzdF0gY29kZWNvbm5lY3Rpb25zOkxpc3RSZXBvc2l0b3J5TGlua3MgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RSZXBvc2l0b3J5TGlua3MgPSBcImNvZGVjb25uZWN0aW9uczpMaXN0UmVwb3NpdG9yeUxpbmtzXCI7XG5cdC8qKiBbTGlzdF0gY29kZWNvbm5lY3Rpb25zOkxpc3RSZXBvc2l0b3J5U3luY0RlZmluaXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVwb3NpdG9yeVN5bmNEZWZpbml0aW9ucyA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFJlcG9zaXRvcnlTeW5jRGVmaW5pdGlvbnNcIjtcblx0LyoqIFtMaXN0XSBjb2RlY29ubmVjdGlvbnM6TGlzdFN5bmNDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5bmNDb25maWd1cmF0aW9ucyA9XG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFN5bmNDb25maWd1cmF0aW9uc1wiO1xuXHQvKiogW0xpc3RdIGNvZGVjb25uZWN0aW9uczpMaXN0VGFnc0ZvclJlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlID0gXCJjb2RlY29ubmVjdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFzc0Nvbm5lY3Rpb24gPSBcImNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvblwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpQYXNzUmVwb3NpdG9yeSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFzc1JlcG9zaXRvcnkgPSBcImNvZGVjb25uZWN0aW9uczpQYXNzUmVwb3NpdG9yeVwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpSZWdpc3RlckFwcENvZGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IFJlZ2lzdGVyQXBwQ29kZSA9IFwiY29kZWNvbm5lY3Rpb25zOlJlZ2lzdGVyQXBwQ29kZVwiO1xuXHQvKiogW1JlYWRdIGNvZGVjb25uZWN0aW9uczpTdGFydEFwcFJlZ2lzdHJhdGlvbkhhbmRzaGFrZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2UgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlN0YXJ0QXBwUmVnaXN0cmF0aW9uSGFuZHNoYWtlXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOlN0YXJ0T0F1dGhIYW5kc2hha2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T0F1dGhIYW5kc2hha2UgPSBcImNvZGVjb25uZWN0aW9uczpTdGFydE9BdXRoSGFuZHNoYWtlXCI7XG5cdC8qKiBbVGFnZ2luZ10gY29kZWNvbm5lY3Rpb25zOlRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZSA9IFwiY29kZWNvbm5lY3Rpb25zOlRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbVGFnZ2luZ10gY29kZWNvbm5lY3Rpb25zOlVudGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2UgPSBcImNvZGVjb25uZWN0aW9uczpVbnRhZ1Jlc291cmNlXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpVcGRhdGVDb25uZWN0aW9uSW5zdGFsbGF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0aW9uSW5zdGFsbGF0aW9uID1cblx0XHRcImNvZGVjb25uZWN0aW9uczpVcGRhdGVDb25uZWN0aW9uSW5zdGFsbGF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpVcGRhdGVIb3N0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVIb3N0ID0gXCJjb2RlY29ubmVjdGlvbnM6VXBkYXRlSG9zdFwiO1xuXHQvKiogW1dyaXRlXSBjb2RlY29ubmVjdGlvbnM6VXBkYXRlUmVwb3NpdG9yeUxpbmsgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcG9zaXRvcnlMaW5rID0gXCJjb2RlY29ubmVjdGlvbnM6VXBkYXRlUmVwb3NpdG9yeUxpbmtcIjtcblx0LyoqIFtXcml0ZV0gY29kZWNvbm5lY3Rpb25zOlVwZGF0ZVN5bmNCbG9ja2VyICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTeW5jQmxvY2tlciA9IFwiY29kZWNvbm5lY3Rpb25zOlVwZGF0ZVN5bmNCbG9ja2VyXCI7XG5cdC8qKiBbV3JpdGVdIGNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlVwZGF0ZVN5bmNDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0gY29kZWNvbm5lY3Rpb25zOlVzZUNvbm5lY3Rpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVzZUNvbm5lY3Rpb24gPSBcImNvZGVjb25uZWN0aW9uczpVc2VDb25uZWN0aW9uXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRDb25uZWN0aW9uLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0Q29ubmVjdGlvblRva2VuLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0SG9zdCxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLmFjdGlvbkdldEluZGl2aWR1YWxBY2Nlc3NUb2tlbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLmFjdGlvbkdldEluc3RhbGxhdGlvblVybCxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLmFjdGlvbkdldFJlcG9zaXRvcnlMaW5rLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuYWN0aW9uR2V0UmVwb3NpdG9yeVN5bmNTdGF0dXMsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRSZXNvdXJjZVN5bmNTdGF0dXMsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRTeW5jQmxvY2tlclN1bW1hcnksXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5hY3Rpb25HZXRTeW5jQ29uZmlndXJhdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlBhc3NDb25uZWN0aW9uLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuUGFzc1JlcG9zaXRvcnksXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5SZWdpc3RlckFwcENvZGUsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5TdGFydEFwcFJlZ2lzdHJhdGlvbkhhbmRzaGFrZSxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlN0YXJ0T0F1dGhIYW5kc2hha2UsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5Vc2VDb25uZWN0aW9uLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkNyZWF0ZUhvc3QsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5DcmVhdGVSZXBvc2l0b3J5TGluayxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkNyZWF0ZVN5bmNDb25maWd1cmF0aW9uLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuRGVsZXRlQ29ubmVjdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkRlbGV0ZUhvc3QsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5EZWxldGVSZXBvc2l0b3J5TGluayxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLkRlbGV0ZVN5bmNDb25maWd1cmF0aW9uLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuVXBkYXRlQ29ubmVjdGlvbkluc3RhbGxhdGlvbixcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlVwZGF0ZUhvc3QsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5VcGRhdGVSZXBvc2l0b3J5TGluayxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlVwZGF0ZVN5bmNCbG9ja2VyLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuVXBkYXRlU3luY0NvbmZpZ3VyYXRpb24sXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdENvbm5lY3Rpb25zLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdEhvc3RzLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdEluc3RhbGxhdGlvblRhcmdldHMsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5MaXN0UmVwb3NpdG9yeUxpbmtzLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdFJlcG9zaXRvcnlTeW5jRGVmaW5pdGlvbnMsXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5MaXN0U3luY0NvbmZpZ3VyYXRpb25zLFxuXHRcdENvZGVjb25uZWN0aW9uc0FjdGlvbnMuTGlzdFRhZ3NGb3JSZXNvdXJjZSxcblx0XTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0Q29kZWNvbm5lY3Rpb25zQWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRDb2RlY29ubmVjdGlvbnNBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBDb25uZWN0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlY29ubmVjdGlvbnNDb25uZWN0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3Rpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29ubmVjdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgQ29ubmVjdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWNvbm5lY3Rpb25zQ29ubmVjdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdGlvbklkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29ubmVjdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBIb3N0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlY29ubmVjdGlvbnNIb3N0QXJuUHJvcHMge1xuXHQvKiogVGhlIEhvc3RJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgaG9zdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgSG9zdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWNvbm5lY3Rpb25zSG9zdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgSG9zdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgaG9zdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBSZXBvc2l0b3J5TGluayBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZWNvbm5lY3Rpb25zUmVwb3NpdG9yeUxpbmtBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgUmVwb3NpdG9yeUxpbmtJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcmVwb3NpdG9yeUxpbmtJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIFJlcG9zaXRvcnlMaW5rIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlY29ubmVjdGlvbnNSZXBvc2l0b3J5TGlua0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVwb3NpdG9yeUxpbmtJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHJlcG9zaXRvcnlMaW5rSWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ29ubmVjdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTpjb2RlY29ubmVjdGlvbnM6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25uZWN0aW9uXFwvKD88Y29ubmVjdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBIb3N0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvZGVjb25uZWN0aW9uczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmhvc3RcXC8oPzxob3N0SWQ+W146Lz9dKykkLztcbmNvbnN0IFJlcG9zaXRvcnlMaW5rQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmNvZGVjb25uZWN0aW9uczooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnJlcG9zaXRvcnktbGlua1xcLyg/PHJlcG9zaXRvcnlMaW5rSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBjb2RlY29ubmVjdGlvbnMgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgQ29kZWNvbm5lY3Rpb25zUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBDb25uZWN0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbm5lY3Rpb24ocHJvcHM6IENvZGVjb25uZWN0aW9uc0Nvbm5lY3Rpb25Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06Y29kZWNvbm5lY3Rpb25zOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbm5lY3Rpb24vJHtwcm9wcy5jb25uZWN0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIENvbm5lY3Rpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3Rpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBDb25uZWN0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3Rpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IENvZGVjb25uZWN0aW9uc0Nvbm5lY3Rpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ29ubmVjdGlvbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25uZWN0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuY29ubmVjdGlvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIEhvc3QgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaG9zdChwcm9wczogQ29kZWNvbm5lY3Rpb25zSG9zdEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb2RlY29ubmVjdGlvbnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06aG9zdC8ke3Byb3BzLmhvc3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgSG9zdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkSG9zdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBIb3N0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIEhvc3QgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlSG9zdEFybihhcm46IHN0cmluZyk6IENvZGVjb25uZWN0aW9uc0hvc3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEhvc3RBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSG9zdCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRob3N0SWQ6IG1hdGNoLmdyb3VwcyEuaG9zdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIFJlcG9zaXRvcnlMaW5rIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHJlcG9zaXRvcnlMaW5rKHByb3BzOiBDb2RlY29ubmVjdGlvbnNSZXBvc2l0b3J5TGlua0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTpjb2RlY29ubmVjdGlvbnM6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06cmVwb3NpdG9yeS1saW5rLyR7cHJvcHMucmVwb3NpdG9yeUxpbmtJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgUmVwb3NpdG9yeUxpbmsgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFJlcG9zaXRvcnlMaW5rQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcG9zaXRvcnlMaW5rQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIFJlcG9zaXRvcnlMaW5rIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVJlcG9zaXRvcnlMaW5rQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBDb2RlY29ubmVjdGlvbnNSZXBvc2l0b3J5TGlua0FybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUmVwb3NpdG9yeUxpbmtBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgUmVwb3NpdG9yeUxpbmsgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVwb3NpdG9yeUxpbmtJZDogbWF0Y2guZ3JvdXBzIS5yZXBvc2l0b3J5TGlua0lkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGNvZGVjb25uZWN0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVjb25uZWN0aW9uc09wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25uZWN0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6Q3JlYXRlQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlRhZ1Jlc291cmNlXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVIb3N0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlSG9zdDogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6Q3JlYXRlSG9zdFwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6Q3JlYXRlSG9zdFwiLFxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlRhZ1Jlc291cmNlXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVSZXBvc2l0b3J5TGluayBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVJlcG9zaXRvcnlMaW5rOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpDcmVhdGVSZXBvc2l0b3J5TGlua1wiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6Q3JlYXRlUmVwb3NpdG9yeUxpbmtcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VGFnUmVzb3VyY2VcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpVc2VDb25uZWN0aW9uXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpVc2VDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVN5bmNDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlU3luY0NvbmZpZ3VyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkNyZWF0ZVN5bmNDb25maWd1cmF0aW9uXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpDcmVhdGVTeW5jQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlBhc3NSZXBvc2l0b3J5XCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpQYXNzUmVwb3NpdG9yeVwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3Rpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpEZWxldGVDb25uZWN0aW9uXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpEZWxldGVDb25uZWN0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUhvc3QgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVIb3N0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpEZWxldGVIb3N0XCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpEZWxldGVIb3N0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVJlcG9zaXRvcnlMaW5rIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlUmVwb3NpdG9yeUxpbms6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkRlbGV0ZVJlcG9zaXRvcnlMaW5rXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpEZWxldGVSZXBvc2l0b3J5TGlua1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVTeW5jQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVN5bmNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpEZWxldGVTeW5jQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6RGVsZXRlU3luY0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0Q29ubmVjdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0Q29ubmVjdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0Q29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6R2V0Q29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRIb3N0IEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRIb3N0OiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRIb3N0XCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpHZXRIb3N0XCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlcG9zaXRvcnlMaW5rIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBvc2l0b3J5TGluazogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0UmVwb3NpdG9yeUxpbmtcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlMaW5rXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlcG9zaXRvcnlTeW5jU3RhdHVzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgb3BHZXRSZXBvc2l0b3J5U3luY1N0YXR1czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0UmVwb3NpdG9yeVN5bmNTdGF0dXNcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkdldFJlcG9zaXRvcnlTeW5jU3RhdHVzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIEdldFJlc291cmNlU3luY1N0YXR1cyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IG9wR2V0UmVzb3VyY2VTeW5jU3RhdHVzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRSZXNvdXJjZVN5bmNTdGF0dXNcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkdldFJlc291cmNlU3luY1N0YXR1c1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBHZXRTeW5jQmxvY2tlclN1bW1hcnkgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFN5bmNCbG9ja2VyU3VtbWFyeTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6R2V0U3luY0Jsb2NrZXJTdW1tYXJ5XCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpHZXRTeW5jQmxvY2tlclN1bW1hcnlcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgR2V0U3luY0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBvcEdldFN5bmNDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpHZXRTeW5jQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6R2V0U3luY0NvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3Rpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpMaXN0Q29ubmVjdGlvbnNcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOkxpc3RDb25uZWN0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0SG9zdHMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0SG9zdHM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkxpc3RIb3N0c1wiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6TGlzdEhvc3RzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXBvc2l0b3J5TGlua3MgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVwb3NpdG9yeUxpbmtzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpMaXN0UmVwb3NpdG9yeUxpbmtzXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpMaXN0UmVwb3NpdG9yeUxpbmtzXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RSZXBvc2l0b3J5U3luY0RlZmluaXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFJlcG9zaXRvcnlTeW5jRGVmaW5pdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkxpc3RSZXBvc2l0b3J5U3luY0RlZmluaXRpb25zXCIsXG5cdFx0XCJjb2Rlc3Rhci1jb25uZWN0aW9uczpMaXN0UmVwb3NpdG9yeVN5bmNEZWZpbml0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0U3luY0NvbmZpZ3VyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFN5bmNDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFN5bmNDb25maWd1cmF0aW9uc1wiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6TGlzdFN5bmNDb25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpUYWdSZXNvdXJjZVwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlVudGFnUmVzb3VyY2VcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlVudGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlSG9zdCBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUhvc3Q6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlVwZGF0ZUhvc3RcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlVwZGF0ZUhvc3RcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlUmVwb3NpdG9yeUxpbmsgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVSZXBvc2l0b3J5TGluazogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc0Nvbm5lY3Rpb25cIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlBhc3NDb25uZWN0aW9uXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VXBkYXRlUmVwb3NpdG9yeUxpbmtcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlVwZGF0ZVJlcG9zaXRvcnlMaW5rXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXNlQ29ubmVjdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBVcGRhdGVTeW5jQmxvY2tlciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVN5bmNCbG9ja2VyOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQmxvY2tlclwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXBkYXRlU3luY0Jsb2NrZXJcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVTeW5jQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc1JlcG9zaXRvcnlcIixcblx0XHRcImNvZGVzdGFyLWNvbm5lY3Rpb25zOlBhc3NSZXBvc2l0b3J5XCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpVcGRhdGVTeW5jQ29uZmlndXJhdGlvblwiLFxuXHRcdFwiY29kZXN0YXItY29ubmVjdGlvbnM6VXBkYXRlU3luY0NvbmZpZ3VyYXRpb25cIixcblx0XTtcbn1cblxuLyoqXG4gKiBDb25kaXRpb24ga2V5IGNvbnN0YW50cyBhbmQgYnVpbGRlcnMgZm9yIGNvZGVjb25uZWN0aW9ucy5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVjb25uZWN0aW9uc0NvbmRpdGlvbnMge1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlQ29ubmVjdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBDcmVhdGVIb3N0IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUhvc3RDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpWcGNJZFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgQ3JlYXRlUmVwb3NpdG9yeUxpbmsgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUmVwb3NpdG9yeUxpbmtDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiLFxuXHRcdFwiYXdzOlRhZ0tleXNcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIENyZWF0ZVN5bmNDb25maWd1cmF0aW9uIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVN5bmNDb25maWd1cmF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6QnJhbmNoXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRJbmRpdmlkdWFsQWNjZXNzVG9rZW4gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5kaXZpZHVhbEFjY2Vzc1Rva2VuQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRJbnN0YWxsYXRpb25VcmwgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0SW5zdGFsbGF0aW9uVXJsQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJUeXBlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBHZXRSZXBvc2l0b3J5U3luY1N0YXR1cyBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRSZXBvc2l0b3J5U3luY1N0YXR1c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaFwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdENvbm5lY3Rpb25zIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0aW9uc0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgTGlzdEhvc3RzIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RIb3N0c0NvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlclwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgUGFzc0Nvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUGFzc0Nvbm5lY3Rpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpQYXNzZWRUb1NlcnZpY2VcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFBhc3NSZXBvc2l0b3J5IGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFBhc3NSZXBvc2l0b3J5Q29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UGFzc2VkVG9TZXJ2aWNlXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBSZWdpc3RlckFwcENvZGUgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVnaXN0ZXJBcHBDb2RlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6SG9zdEFyblwiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgU3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2UgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU3RhcnRBcHBSZWdpc3RyYXRpb25IYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpIb3N0QXJuXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBTdGFydE9BdXRoSGFuZHNoYWtlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFN0YXJ0T0F1dGhIYW5kc2hha2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJhd3M6UmVxdWVzdFRhZy8ke1RhZ0tleX1cIixcblx0XHRcImF3czpUYWdLZXlzXCIsXG5cdF07XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBVbnRhZ1Jlc291cmNlIGFjdGlvbi4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2VDb25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcImF3czpUYWdLZXlzXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlQ29ubmVjdGlvbkluc3RhbGxhdGlvbiBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0aW9uSW5zdGFsbGF0aW9uQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6SW5zdGFsbGF0aW9uSWRcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVwZGF0ZUhvc3QgYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlSG9zdENvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1wiY29kZWNvbm5lY3Rpb25zOlZwY0lkXCJdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlU3luY0NvbmZpZ3VyYXRpb25Db25kaXRpb25LZXlzOiBzdHJpbmdbXSA9IFtcblx0XHRcImNvZGVjb25uZWN0aW9uczpCcmFuY2hcIixcblx0XTtcblx0LyoqIENvbmRpdGlvbiBrZXlzIGFwcGxpY2FibGUgdG8gdGhlIFVzZUNvbm5lY3Rpb24gYWN0aW9uLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXNlQ29ubmVjdGlvbkNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaE5hbWVcIixcblx0XHRcImNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6T3duZXJJZFwiLFxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyQWN0aW9uXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJQZXJtaXNzaW9uc1JlcXVpcmVkXCIsXG5cdFx0XCJjb2RlY29ubmVjdGlvbnM6UmVwb3NpdG9yeU5hbWVcIixcblx0XTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6QnJhbmNoIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBCUkFOQ0ggPSBcImNvZGVjb25uZWN0aW9uczpCcmFuY2hcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpCcmFuY2hOYW1lIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBCUkFOQ0hfTkFNRSA9IFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaE5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBGVUxMX1JFUE9TSVRPUllfSUQgPSBcImNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6SG9zdEFybiAoQVJOKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgSE9TVF9BUk4gPSBcImNvZGVjb25uZWN0aW9uczpIb3N0QXJuXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6SW5zdGFsbGF0aW9uSWQgKFN0cmluZykgKi9cblx0c3RhdGljIHJlYWRvbmx5IElOU1RBTExBVElPTl9JRCA9IFwiY29kZWNvbm5lY3Rpb25zOkluc3RhbGxhdGlvbklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6T3duZXJJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgT1dORVJfSUQgPSBcImNvZGVjb25uZWN0aW9uczpPd25lcklkXCI7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBjb2RlY29ubmVjdGlvbnM6UGFzc2VkVG9TZXJ2aWNlIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQQVNTRURfVE9fU0VSVklDRSA9IFwiY29kZWNvbm5lY3Rpb25zOlBhc3NlZFRvU2VydmljZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyQWN0aW9uIChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBQUk9WSURFUl9BQ1RJT04gPSBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlckFjdGlvblwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyUGVybWlzc2lvbnNSZXF1aXJlZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfUEVSTUlTU0lPTlNfUkVRVUlSRUQgPVxuXHRcdFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyUGVybWlzc2lvbnNSZXF1aXJlZFwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfVFlQRSA9IFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlciAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfVFlQRV9GSUxURVIgPSBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVGaWx0ZXJcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpSZXBvc2l0b3J5TmFtZSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUkVQT1NJVE9SWV9OQU1FID0gXCJjb2RlY29ubmVjdGlvbnM6UmVwb3NpdG9yeU5hbWVcIjtcblx0LyoqIENvbmRpdGlvbiBrZXk6IGNvZGVjb25uZWN0aW9uczpWcGNJZCAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVlBDX0lEID0gXCJjb2RlY29ubmVjdGlvbnM6VnBjSWRcIjtcblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0VGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9YC5cblx0ICovXG5cdHN0YXRpYyByZXNvdXJjZVRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpUYWdLZXlzYC5cblx0ICovXG5cdHN0YXRpYyB0YWdLZXlzKHZhbHVlczogc3RyaW5nW10pOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4+IHtcblx0XHRyZXR1cm4geyBcIkZvckFsbFZhbHVlczpTdHJpbmdFcXVhbHNcIjogeyBcImF3czpUYWdLZXlzXCI6IHZhbHVlcyB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOkJyYW5jaGAuXG5cdCAqL1xuXHRzdGF0aWMgYnJhbmNoKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiY29kZWNvbm5lY3Rpb25zOkJyYW5jaFwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOkJyYW5jaE5hbWVgLlxuXHQgKi9cblx0c3RhdGljIGJyYW5jaE5hbWUodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJjb2RlY29ubmVjdGlvbnM6QnJhbmNoTmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOkZ1bGxSZXBvc2l0b3J5SWRgLlxuXHQgKi9cblx0c3RhdGljIGZ1bGxSZXBvc2l0b3J5SWQoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpGdWxsUmVwb3NpdG9yeUlkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6SG9zdEFybmAuXG5cdCAqL1xuXHRzdGF0aWMgaG9zdEFSTih2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IEFybkVxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpIb3N0QXJuXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6SW5zdGFsbGF0aW9uSWRgLlxuXHQgKi9cblx0c3RhdGljIGluc3RhbGxhdGlvbklkKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiY29kZWNvbm5lY3Rpb25zOkluc3RhbGxhdGlvbklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6T3duZXJJZGAuXG5cdCAqL1xuXHRzdGF0aWMgb3duZXJJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpPd25lcklkXCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBjb2RlY29ubmVjdGlvbnM6UGFzc2VkVG9TZXJ2aWNlYC5cblx0ICovXG5cdHN0YXRpYyBwYXNzZWRUb1NlcnZpY2UoXG5cdFx0dmFsdWU6IHN0cmluZyxcblx0KTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpQYXNzZWRUb1NlcnZpY2VcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlckFjdGlvbmAuXG5cdCAqL1xuXHRzdGF0aWMgcHJvdmlkZXJBY3Rpb24odmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJjb2RlY29ubmVjdGlvbnM6UHJvdmlkZXJBY3Rpb25cIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlclBlcm1pc3Npb25zUmVxdWlyZWRgLlxuXHQgKi9cblx0c3RhdGljIHByb3ZpZGVyUGVybWlzc2lvbnNSZXF1aXJlZChcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclBlcm1pc3Npb25zUmVxdWlyZWRcIjogdmFsdWUgfSxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVgLlxuXHQgKi9cblx0c3RhdGljIHByb3ZpZGVyVHlwZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVcIjogdmFsdWUgfSB9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGNvZGVjb25uZWN0aW9uczpQcm92aWRlclR5cGVGaWx0ZXJgLlxuXHQgKi9cblx0c3RhdGljIHByb3ZpZGVyVHlwZUZpbHRlcihcblx0XHR2YWx1ZTogc3RyaW5nLFxuXHQpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiY29kZWNvbm5lY3Rpb25zOlByb3ZpZGVyVHlwZUZpbHRlclwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOlJlcG9zaXRvcnlOYW1lYC5cblx0ICovXG5cdHN0YXRpYyByZXBvc2l0b3J5TmFtZSh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpSZXBvc2l0b3J5TmFtZVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgY29kZWNvbm5lY3Rpb25zOlZwY0lkYC5cblx0ICovXG5cdHN0YXRpYyB2cGNJZCh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImNvZGVjb25uZWN0aW9uczpWcGNJZFwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
@@ -16,7 +16,7 @@ class CodedeployCommandsSecureActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodedeployCommandsSecureActions = CodedeployCommandsSecureActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodedeployCommandsSecureActions[_a] = { fqn: "@cdk_utils/iam.codedeploy_commands_secure.CodedeployCommandsSecureActions", version: "1.
|
|
19
|
+
CodedeployCommandsSecureActions[_a] = { fqn: "@cdk_utils/iam.codedeploy_commands_secure.CodedeployCommandsSecureActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodedeployCommandsSecureActions.SERVICE_PREFIX = "codedeploy-commands-secure";
|
|
22
22
|
/** [Read] codedeploy-commands-secure:GetDeploymentSpecification */
|
|
@@ -16,7 +16,7 @@ class CodeDeployActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeDeployActions = CodeDeployActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeDeployActions[_a] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployActions", version: "1.
|
|
19
|
+
CodeDeployActions[_a] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeDeployActions.SERVICE_PREFIX = "codedeploy";
|
|
22
22
|
/** [Tagging] codedeploy:AddTagsToOnPremisesInstances */
|
|
@@ -301,7 +301,7 @@ class CodeDeployResources {
|
|
|
301
301
|
}
|
|
302
302
|
exports.CodeDeployResources = CodeDeployResources;
|
|
303
303
|
_b = JSII_RTTI_SYMBOL_1;
|
|
304
|
-
CodeDeployResources[_b] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployResources", version: "1.
|
|
304
|
+
CodeDeployResources[_b] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployResources", version: "1.30.0" };
|
|
305
305
|
/**
|
|
306
306
|
* API operation to required IAM actions mapping for codedeploy.
|
|
307
307
|
*/
|
|
@@ -309,7 +309,7 @@ class CodeDeployOperations {
|
|
|
309
309
|
}
|
|
310
310
|
exports.CodeDeployOperations = CodeDeployOperations;
|
|
311
311
|
_c = JSII_RTTI_SYMBOL_1;
|
|
312
|
-
CodeDeployOperations[_c] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployOperations", version: "1.
|
|
312
|
+
CodeDeployOperations[_c] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployOperations", version: "1.30.0" };
|
|
313
313
|
/** IAM actions required for the AddTagsToOnPremisesInstances API call. */
|
|
314
314
|
CodeDeployOperations.AddTagsToOnPremisesInstances = [
|
|
315
315
|
"codedeploy:AddTagsToOnPremisesInstances",
|
|
@@ -523,7 +523,7 @@ class CodeDeployConditions {
|
|
|
523
523
|
}
|
|
524
524
|
exports.CodeDeployConditions = CodeDeployConditions;
|
|
525
525
|
_d = JSII_RTTI_SYMBOL_1;
|
|
526
|
-
CodeDeployConditions[_d] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployConditions", version: "1.
|
|
526
|
+
CodeDeployConditions[_d] = { fqn: "@cdk_utils/iam.codedeploy.CodeDeployConditions", version: "1.30.0" };
|
|
527
527
|
/** Condition keys applicable to the CreateApplication action. */
|
|
528
528
|
CodeDeployConditions.CreateApplicationConditionKeys = [
|
|
529
529
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeguruProfilerActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeguruProfilerActions = CodeguruProfilerActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeguruProfilerActions[_a] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerActions", version: "1.
|
|
19
|
+
CodeguruProfilerActions[_a] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeguruProfilerActions.SERVICE_PREFIX = "codeguru-profiler";
|
|
22
22
|
/** [Write] codeguru-profiler:AddNotificationChannels */
|
|
@@ -139,7 +139,7 @@ class CodeguruProfilerResources {
|
|
|
139
139
|
}
|
|
140
140
|
exports.CodeguruProfilerResources = CodeguruProfilerResources;
|
|
141
141
|
_b = JSII_RTTI_SYMBOL_1;
|
|
142
|
-
CodeguruProfilerResources[_b] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerResources", version: "1.
|
|
142
|
+
CodeguruProfilerResources[_b] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerResources", version: "1.30.0" };
|
|
143
143
|
/**
|
|
144
144
|
* API operation to required IAM actions mapping for codeguru-profiler.
|
|
145
145
|
*/
|
|
@@ -147,7 +147,7 @@ class CodeguruProfilerOperations {
|
|
|
147
147
|
}
|
|
148
148
|
exports.CodeguruProfilerOperations = CodeguruProfilerOperations;
|
|
149
149
|
_c = JSII_RTTI_SYMBOL_1;
|
|
150
|
-
CodeguruProfilerOperations[_c] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerOperations", version: "1.
|
|
150
|
+
CodeguruProfilerOperations[_c] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerOperations", version: "1.30.0" };
|
|
151
151
|
/** IAM actions required for the AddNotificationChannels API call. */
|
|
152
152
|
CodeguruProfilerOperations.AddNotificationChannels = [
|
|
153
153
|
"codeguru-profiler:AddNotificationChannels",
|
|
@@ -256,7 +256,7 @@ class CodeguruProfilerConditions {
|
|
|
256
256
|
}
|
|
257
257
|
exports.CodeguruProfilerConditions = CodeguruProfilerConditions;
|
|
258
258
|
_d = JSII_RTTI_SYMBOL_1;
|
|
259
|
-
CodeguruProfilerConditions[_d] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerConditions", version: "1.
|
|
259
|
+
CodeguruProfilerConditions[_d] = { fqn: "@cdk_utils/iam.codeguru_profiler.CodeguruProfilerConditions", version: "1.30.0" };
|
|
260
260
|
/** Condition keys applicable to the CreateProfilingGroup action. */
|
|
261
261
|
CodeguruProfilerConditions.CreateProfilingGroupConditionKeys = [
|
|
262
262
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeguruReviewerActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeguruReviewerActions = CodeguruReviewerActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeguruReviewerActions[_a] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerActions", version: "1.
|
|
19
|
+
CodeguruReviewerActions[_a] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeguruReviewerActions.SERVICE_PREFIX = "codeguru-reviewer";
|
|
22
22
|
/** [Write] codeguru-reviewer:AssociateRepository */
|
|
@@ -150,7 +150,7 @@ class CodeguruReviewerResources {
|
|
|
150
150
|
}
|
|
151
151
|
exports.CodeguruReviewerResources = CodeguruReviewerResources;
|
|
152
152
|
_b = JSII_RTTI_SYMBOL_1;
|
|
153
|
-
CodeguruReviewerResources[_b] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerResources", version: "1.
|
|
153
|
+
CodeguruReviewerResources[_b] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerResources", version: "1.30.0" };
|
|
154
154
|
/**
|
|
155
155
|
* API operation to required IAM actions mapping for codeguru-reviewer.
|
|
156
156
|
*/
|
|
@@ -158,7 +158,7 @@ class CodeguruReviewerOperations {
|
|
|
158
158
|
}
|
|
159
159
|
exports.CodeguruReviewerOperations = CodeguruReviewerOperations;
|
|
160
160
|
_c = JSII_RTTI_SYMBOL_1;
|
|
161
|
-
CodeguruReviewerOperations[_c] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerOperations", version: "1.
|
|
161
|
+
CodeguruReviewerOperations[_c] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerOperations", version: "1.30.0" };
|
|
162
162
|
/** IAM actions required for the AssociateRepository API call. */
|
|
163
163
|
CodeguruReviewerOperations.AssociateRepository = [
|
|
164
164
|
"codeguru-reviewer:AssociateRepository",
|
|
@@ -237,7 +237,7 @@ class CodeguruReviewerConditions {
|
|
|
237
237
|
}
|
|
238
238
|
exports.CodeguruReviewerConditions = CodeguruReviewerConditions;
|
|
239
239
|
_d = JSII_RTTI_SYMBOL_1;
|
|
240
|
-
CodeguruReviewerConditions[_d] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerConditions", version: "1.
|
|
240
|
+
CodeguruReviewerConditions[_d] = { fqn: "@cdk_utils/iam.codeguru_reviewer.CodeguruReviewerConditions", version: "1.30.0" };
|
|
241
241
|
/** Condition keys applicable to the AssociateRepository action. */
|
|
242
242
|
CodeguruReviewerConditions.AssociateRepositoryConditionKeys = [
|
|
243
243
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeguruSecurityActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeguruSecurityActions = CodeguruSecurityActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeguruSecurityActions[_a] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityActions", version: "1.
|
|
19
|
+
CodeguruSecurityActions[_a] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeguruSecurityActions.SERVICE_PREFIX = "codeguru-security";
|
|
22
22
|
/** [Read] codeguru-security:BatchGetFindings */
|
|
@@ -114,7 +114,7 @@ class CodeguruSecurityResources {
|
|
|
114
114
|
}
|
|
115
115
|
exports.CodeguruSecurityResources = CodeguruSecurityResources;
|
|
116
116
|
_b = JSII_RTTI_SYMBOL_1;
|
|
117
|
-
CodeguruSecurityResources[_b] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityResources", version: "1.
|
|
117
|
+
CodeguruSecurityResources[_b] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityResources", version: "1.30.0" };
|
|
118
118
|
/**
|
|
119
119
|
* API operation to required IAM actions mapping for codeguru-security.
|
|
120
120
|
*/
|
|
@@ -122,7 +122,7 @@ class CodeguruSecurityOperations {
|
|
|
122
122
|
}
|
|
123
123
|
exports.CodeguruSecurityOperations = CodeguruSecurityOperations;
|
|
124
124
|
_c = JSII_RTTI_SYMBOL_1;
|
|
125
|
-
CodeguruSecurityOperations[_c] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityOperations", version: "1.
|
|
125
|
+
CodeguruSecurityOperations[_c] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityOperations", version: "1.30.0" };
|
|
126
126
|
/** IAM actions required for the BatchGetFindings API call. */
|
|
127
127
|
CodeguruSecurityOperations.BatchGetFindings = [
|
|
128
128
|
"codeguru-security:BatchGetFindings",
|
|
@@ -191,7 +191,7 @@ class CodeguruSecurityConditions {
|
|
|
191
191
|
}
|
|
192
192
|
exports.CodeguruSecurityConditions = CodeguruSecurityConditions;
|
|
193
193
|
_d = JSII_RTTI_SYMBOL_1;
|
|
194
|
-
CodeguruSecurityConditions[_d] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityConditions", version: "1.
|
|
194
|
+
CodeguruSecurityConditions[_d] = { fqn: "@cdk_utils/iam.codeguru_security.CodeguruSecurityConditions", version: "1.30.0" };
|
|
195
195
|
/** Condition keys applicable to the CreateScan action. */
|
|
196
196
|
CodeguruSecurityConditions.CreateScanConditionKeys = [
|
|
197
197
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class CodeguruActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.CodeguruActions = CodeguruActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
CodeguruActions[_a] = { fqn: "@cdk_utils/iam.codeguru.CodeguruActions", version: "1.
|
|
19
|
+
CodeguruActions[_a] = { fqn: "@cdk_utils/iam.codeguru.CodeguruActions", version: "1.30.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
CodeguruActions.SERVICE_PREFIX = "codeguru";
|
|
22
22
|
/** [Read] codeguru:GetCodeGuruFreeTrialSummary */
|