@cdk_utils/iam 1.14.0 → 1.15.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 +3402 -2323
- 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.d.ts +6 -0
- package/lib/generated/services/agent-registry.js +13 -5
- 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.js +4 -4
- 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.js +4 -4
- 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 +4 -4
- 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 +67 -0
- package/lib/generated/services/connect.js +92 -9
- 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.js +4 -4
- 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 +4 -4
- 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.js +4 -4
- 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.d.ts +2 -0
- package/lib/generated/services/kafkaconnect.js +7 -5
- package/lib/generated/services/kendra-ranking.js +4 -4
- package/lib/generated/services/kendra.js +4 -4
- package/lib/generated/services/kinesis.d.ts +10 -0
- package/lib/generated/services/kinesis.js +18 -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.js +4 -4
- 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/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 +4 -4
- package/lib/generated/services/observabilityadmin.js +4 -4
- 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.d.ts +14 -0
- package/lib/generated/services/profile.js +33 -5
- 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.d.ts +12 -0
- package/lib/generated/services/quicksight.js +21 -5
- 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.d.ts +9 -1
- package/lib/generated/services/support.js +25 -5
- 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.js +4 -4
- 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 IqActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.IqActions = IqActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
IqActions[_a] = { fqn: "@cdk_utils/iam.iq.IqActions", version: "1.
|
|
19
|
+
IqActions[_a] = { fqn: "@cdk_utils/iam.iq.IqActions", version: "1.15.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
IqActions.SERVICE_PREFIX = "iq";
|
|
22
22
|
/** [Write] iq:AcceptCall */
|
|
@@ -637,5 +637,5 @@ class IqResources {
|
|
|
637
637
|
}
|
|
638
638
|
exports.IqResources = IqResources;
|
|
639
639
|
_b = JSII_RTTI_SYMBOL_1;
|
|
640
|
-
IqResources[_b] = { fqn: "@cdk_utils/iam.iq.IqResources", version: "1.
|
|
640
|
+
IqResources[_b] = { fqn: "@cdk_utils/iam.iq.IqResources", version: "1.15.0" };
|
|
641
641
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL3NlcnZpY2VzL2lxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsZ0ZBQWdGO0FBQ2hGLDZDQUE2QztBQUM3QywwREFBMEQ7QUFDMUQseUNBQXlDO0FBQ3pDLG9EQUFvRDtBQUNwRCxnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFhLFNBQVM7O0FBQXRCLDhCQStNQzs7O0FBOU1BLDhCQUE4QjtBQUNkLHdCQUFjLEdBQUcsSUFBSSxDQUFDO0FBRXRDLDRCQUE0QjtBQUNaLG9CQUFVLEdBQUcsZUFBZSxDQUFDO0FBQzdDLHVDQUF1QztBQUN2QiwrQkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQUNuRSxpQ0FBaUM7QUFDakIseUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2RCxxQ0FBcUM7QUFDckIsNkJBQW1CLEdBQUcsd0JBQXdCLENBQUM7QUFDL0Qsa0NBQWtDO0FBQ2xCLDBCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pELG9DQUFvQztBQUNwQiw0QkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3RCw4QkFBOEI7QUFDZCxzQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pELCtCQUErQjtBQUNmLHVCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQseUNBQXlDO0FBQ3pCLGlDQUF1QixHQUFHLDRCQUE0QixDQUFDO0FBQ3ZFLHNDQUFzQztBQUN0Qiw4QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRSwrQkFBK0I7QUFDZix1QkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25ELCtCQUErQjtBQUNmLHVCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkQseUNBQXlDO0FBQ3pCLGlDQUF1QixHQUFHLDRCQUE0QixDQUFDO0FBQ3ZFLDhCQUE4QjtBQUNkLHNCQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakQsdUNBQXVDO0FBQ3ZCLCtCQUFxQixHQUFH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LE1BQU0sQ0FBQyxNQUFNO1lBQzNCLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDN0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsT0FBTztTQUM5QixDQUFDO0lBQ0gsQ0FBQzs7QUF0YkYsa0NBdWJDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2UvaXEuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGlxIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBJcUFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJpcVwiO1xuXG5cdC8qKiBbV3JpdGVdIGlxOkFjY2VwdENhbGwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFjY2VwdENhbGwgPSBcImlxOkFjY2VwdENhbGxcIjtcblx0LyoqIFtXcml0ZV0gaXE6QXBwcm92ZVBheW1lbnRSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBBcHByb3ZlUGF5bWVudFJlcXVlc3QgPSBcImlxOkFwcHJvdmVQYXltZW50UmVxdWVzdFwiO1xuXHQvKiogW1dyaXRlXSBpcTpBcHByb3ZlUHJvcG9zYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFwcHJvdmVQcm9wb3NhbCA9IFwiaXE6QXBwcm92ZVByb3Bvc2FsXCI7XG5cdC8qKiBbV3JpdGVdIGlxOkFyY2hpdmVDb252ZXJzYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFyY2hpdmVDb252ZXJzYXRpb24gPSBcImlxOkFyY2hpdmVDb252ZXJzYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gaXE6Q29tcGxldGVQcm9wb3NhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29tcGxldGVQcm9wb3NhbCA9IFwiaXE6Q29tcGxldGVQcm9wb3NhbFwiO1xuXHQvKiogW1dyaXRlXSBpcTpDcmVhdGVDb252ZXJzYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbnZlcnNhdGlvbiA9IFwiaXE6Q3JlYXRlQ29udmVyc2F0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGlxOkNyZWF0ZUV4cGVydCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlRXhwZXJ0ID0gXCJpcTpDcmVhdGVFeHBlcnRcIjtcblx0LyoqIFtXcml0ZV0gaXE6Q3JlYXRlTGlzdGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTGlzdGluZyA9IFwiaXE6Q3JlYXRlTGlzdGluZ1wiO1xuXHQvKiogW1dyaXRlXSBpcTpDcmVhdGVNaWxlc3RvbmVQcm9wb3NhbCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlTWlsZXN0b25lUHJvcG9zYWwgPSBcImlxOkNyZWF0ZU1pbGVzdG9uZVByb3Bvc2FsXCI7XG5cdC8qKiBbV3JpdGVdIGlxOkNyZWF0ZVBheW1lbnRSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVQYXltZW50UmVxdWVzdCA9IFwiaXE6Q3JlYXRlUGF5bWVudFJlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gaXE6Q3JlYXRlUHJvamVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlUHJvamVjdCA9IFwiaXE6Q3JlYXRlUHJvamVjdFwiO1xuXHQvKiogW1dyaXRlXSBpcTpDcmVhdGVSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVSZXF1ZXN0ID0gXCJpcTpDcmVhdGVSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGlxOkNyZWF0ZVNjaGVkdWxlZFByb3Bvc2FsICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTY2hlZHVsZWRQcm9wb3NhbCA9IFwiaXE6Q3JlYXRlU2NoZWR1bGVkUHJvcG9zYWxcIjtcblx0LyoqIFtXcml0ZV0gaXE6Q3JlYXRlU2VsbGVyICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVTZWxsZXIgPSBcImlxOkNyZWF0ZVNlbGxlclwiO1xuXHQvKiogW1dyaXRlXSBpcTpDcmVhdGVVcGZyb250UHJvcG9zYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVVwZnJvbnRQcm9wb3NhbCA9IFwiaXE6Q3JlYXRlVXBmcm9udFByb3Bvc2FsXCI7XG5cdC8qKiBbV3JpdGVdIGlxOkRlY2xpbmVDYWxsICovXG5cdHN0YXRpYyByZWFkb25seSBEZWNsaW5lQ2FsbCA9IFwiaXE6RGVjbGluZUNhbGxcIjtcblx0LyoqIFtXcml0ZV0gaXE6RGVsZXRlQXR0YWNobWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQXR0YWNobWVudCA9IFwiaXE6RGVsZXRlQXR0YWNobWVudFwiO1xuXHQvKiogW1dyaXRlXSBpcTpEaXNhYmxlSW5kaXZpZHVhbFB1YmxpY1Byb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IERpc2FibGVJbmRpdmlkdWFsUHVibGljUHJvZmlsZSA9XG5cdFx0XCJpcTpEaXNhYmxlSW5kaXZpZHVhbFB1YmxpY1Byb2ZpbGVcIjtcblx0LyoqIFtSZWFkXSBpcTpEb3dubG9hZEF0dGFjaG1lbnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IERvd25sb2FkQXR0YWNobWVudCA9IFwiaXE6RG93bmxvYWRBdHRhY2htZW50XCI7XG5cdC8qKiBbV3JpdGVdIGlxOkVuYWJsZUluZGl2aWR1YWxQdWJsaWNQcm9maWxlICovXG5cdHN0YXRpYyByZWFkb25seSBFbmFibGVJbmRpdmlkdWFsUHVibGljUHJvZmlsZSA9XG5cdFx0XCJpcTpFbmFibGVJbmRpdmlkdWFsUHVibGljUHJvZmlsZVwiO1xuXHQvKiogW1dyaXRlXSBpcTpFbmRDYWxsICovXG5cdHN0YXRpYyByZWFkb25seSBFbmRDYWxsID0gXCJpcTpFbmRDYWxsXCI7XG5cdC8qKiBbUmVhZF0gaXE6R2V0QnV5ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEJ1eWVyID0gXCJpcTpHZXRCdXllclwiO1xuXHQvKiogW1JlYWRdIGlxOkdldENhbGwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENhbGwgPSBcImlxOkdldENhbGxcIjtcblx0LyoqIFtSZWFkXSBpcTpHZXRDaGF0SW5mbyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2hhdEluZm8gPSBcImlxOkdldENoYXRJbmZvXCI7XG5cdC8qKiBbUmVhZF0gaXE6R2V0Q2hhdE1lc3NhZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDaGF0TWVzc2FnZXMgPSBcImlxOkdldENoYXRNZXNzYWdlc1wiO1xuXHQvKiogW1JlYWRdIGlxOkdldENoYXRUb2tlbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q2hhdFRva2VuID0gXCJpcTpHZXRDaGF0VG9rZW5cIjtcblx0LyoqIFtSZWFkXSBpcTpHZXRDb21wYW55Q2hhdE1lc3NhZ2VzICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRDb21wYW55Q2hhdE1lc3NhZ2VzID0gXCJpcTpHZXRDb21wYW55Q2hhdE1lc3NhZ2VzXCI7XG5cdC8qKiBbUmVhZF0gaXE6R2V0Q29tcGFueVByb2ZpbGUgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldENvbXBhbnlQcm9maWxlID0gXCJpcTpHZXRDb21wYW55UHJvZmlsZVwiO1xuXHQvKiogW1JlYWRdIGlxOkdldENvbnZlcnNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0Q29udmVyc2F0aW9uID0gXCJpcTpHZXRDb252ZXJzYXRpb25cIjtcblx0LyoqIFtSZWFkXSBpcTpHZXRFeHBlcnQgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldEV4cGVydCA9IFwiaXE6R2V0RXhwZXJ0XCI7XG5cdC8qKiBbUmVhZF0gaXE6R2V0TGlzdGluZyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0TGlzdGluZyA9IFwiaXE6R2V0TGlzdGluZ1wiO1xuXHQvKiogW1JlYWRdIGlxOkdldE1hcmtldHBsYWNlU2VsbGVyICovXG5cdHN0YXRpYyByZWFkb25seSBhY3Rpb25HZXRNYXJrZXRwbGFjZVNlbGxlciA9IFwiaXE6R2V0TWFya2V0cGxhY2VTZWxsZXJcIjtcblx0LyoqIFtSZWFkXSBpcTpHZXRQYXltZW50UmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgYWN0aW9uR2V0UGF5bWVudFJlcXVlc3QgPSBcImlxOkdldFBheW1lbnRSZXF1ZXN0XCI7XG5cdC8qKiBbUmVhZF0gaXE6R2V0UHJvcG9zYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFByb3Bvc2FsID0gXCJpcTpHZXRQcm9wb3NhbFwiO1xuXHQvKiogW1JlYWRdIGlxOkdldFJlcXVlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJlcXVlc3QgPSBcImlxOkdldFJlcXVlc3RcIjtcblx0LyoqIFtSZWFkXSBpcTpHZXRSZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IGFjdGlvbkdldFJldmlldyA9IFwiaXE6R2V0UmV2aWV3XCI7XG5cdC8qKiBbV3JpdGVdIGlxOkhpZGVSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBIaWRlUmVxdWVzdCA9IFwiaXE6SGlkZVJlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gaXE6SW5pdGlhdGVDYWxsICovXG5cdHN0YXRpYyByZWFkb25seSBJbml0aWF0ZUNhbGwgPSBcImlxOkluaXRpYXRlQ2FsbFwiO1xuXHQvKiogW1dyaXRlXSBpcTpMaW5rQXdzQ2VydGlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlua0F3c0NlcnRpZmljYXRpb24gPSBcImlxOkxpbmtBd3NDZXJ0aWZpY2F0aW9uXCI7XG5cdC8qKiBbTGlzdF0gaXE6TGlzdEF0dGFjaG1lbnRzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0QXR0YWNobWVudHMgPSBcImlxOkxpc3RBdHRhY2htZW50c1wiO1xuXHQvKiogW1JlYWRdIGlxOkxpc3RDb252ZXJzYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29udmVyc2F0aW9ucyA9IFwiaXE6TGlzdENvbnZlcnNhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBpcTpMaXN0RXhwZXJ0QWNjZXNzTG9ncyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEV4cGVydEFjY2Vzc0xvZ3MgPSBcImlxOkxpc3RFeHBlcnRBY2Nlc3NMb2dzXCI7XG5cdC8qKiBbUmVhZF0gaXE6TGlzdExpc3RpbmdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0TGlzdGluZ3MgPSBcImlxOkxpc3RMaXN0aW5nc1wiO1xuXHQvKiogW1JlYWRdIGlxOkxpc3RQYXltZW50UmVxdWVzdHMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RQYXltZW50UmVxdWVzdHMgPSBcImlxOkxpc3RQYXltZW50UmVxdWVzdHNcIjtcblx0LyoqIFtSZWFkXSBpcTpMaXN0UHJvcG9zYWxzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UHJvcG9zYWxzID0gXCJpcTpMaXN0UHJvcG9zYWxzXCI7XG5cdC8qKiBbUmVhZF0gaXE6TGlzdFJlcXVlc3RzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmVxdWVzdHMgPSBcImlxOkxpc3RSZXF1ZXN0c1wiO1xuXHQvKiogW1JlYWRdIGlxOkxpc3RSZXZpZXdzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0UmV2aWV3cyA9IFwiaXE6TGlzdFJldmlld3NcIjtcblx0LyoqIFtXcml0ZV0gaXE6TWFya0NoYXRNZXNzYWdlUmVhZCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTWFya0NoYXRNZXNzYWdlUmVhZCA9IFwiaXE6TWFya0NoYXRNZXNzYWdlUmVhZFwiO1xuXHQvKiogW1dyaXRlXSBpcTpSZWplY3RQYXltZW50UmVxdWVzdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVqZWN0UGF5bWVudFJlcXVlc3QgPSBcImlxOlJlamVjdFBheW1lbnRSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGlxOlJlamVjdFByb3Bvc2FsICovXG5cdHN0YXRpYyByZWFkb25seSBSZWplY3RQcm9wb3NhbCA9IFwiaXE6UmVqZWN0UHJvcG9zYWxcIjtcblx0LyoqIFtXcml0ZV0gaXE6U2VuZENvbXBhbnlDaGF0TWVzc2FnZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgU2VuZENvbXBhbnlDaGF0TWVzc2FnZSA9IFwiaXE6U2VuZENvbXBhbnlDaGF0TWVzc2FnZVwiO1xuXHQvKiogW1dyaXRlXSBpcTpTZW5kSW5kaXZpZHVhbENoYXRNZXNzYWdlICovXG5cdHN0YXRpYyByZWFkb25seSBTZW5kSW5kaXZpZHVhbENoYXRNZXNzYWdlID0gXCJpcTpTZW5kSW5kaXZpZHVhbENoYXRNZXNzYWdlXCI7XG5cdC8qKiBbV3JpdGVdIGlxOlVuYXJjaGl2ZUNvbnZlcnNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5hcmNoaXZlQ29udmVyc2F0aW9uID0gXCJpcTpVbmFyY2hpdmVDb252ZXJzYXRpb25cIjtcblx0LyoqIFtXcml0ZV0gaXE6VW5saW5rQXdzQ2VydGlmaWNhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW5saW5rQXdzQ2VydGlmaWNhdGlvbiA9IFwiaXE6VW5saW5rQXdzQ2VydGlmaWNhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBpcTpVcGRhdGVDb21wYW55UHJvZmlsZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29tcGFueVByb2ZpbGUgPSBcImlxOlVwZGF0ZUNvbXBhbnlQcm9maWxlXCI7XG5cdC8qKiBbV3JpdGVdIGlxOlVwZGF0ZUNvbnZlcnNhdGlvbk1lbWJlcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbnZlcnNhdGlvbk1lbWJlcnMgPSBcImlxOlVwZGF0ZUNvbnZlcnNhdGlvbk1lbWJlcnNcIjtcblx0LyoqIFtXcml0ZV0gaXE6VXBkYXRlRXhwZXJ0ICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVFeHBlcnQgPSBcImlxOlVwZGF0ZUV4cGVydFwiO1xuXHQvKiogW1dyaXRlXSBpcTpVcGRhdGVMaXN0aW5nICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVMaXN0aW5nID0gXCJpcTpVcGRhdGVMaXN0aW5nXCI7XG5cdC8qKiBbV3JpdGVdIGlxOlVwZGF0ZVJlcXVlc3QgKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZVJlcXVlc3QgPSBcImlxOlVwZGF0ZVJlcXVlc3RcIjtcblx0LyoqIFtXcml0ZV0gaXE6VXBsb2FkQXR0YWNobWVudCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBsb2FkQXR0YWNobWVudCA9IFwiaXE6VXBsb2FkQXR0YWNobWVudFwiO1xuXHQvKiogW1dyaXRlXSBpcTpXaXRoZHJhd1BheW1lbnRSZXF1ZXN0ICovXG5cdHN0YXRpYyByZWFkb25seSBXaXRoZHJhd1BheW1lbnRSZXF1ZXN0ID0gXCJpcTpXaXRoZHJhd1BheW1lbnRSZXF1ZXN0XCI7XG5cdC8qKiBbV3JpdGVdIGlxOldpdGhkcmF3UHJvcG9zYWwgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdpdGhkcmF3UHJvcG9zYWwgPSBcImlxOldpdGhkcmF3UHJvcG9zYWxcIjtcblx0LyoqIFtXcml0ZV0gaXE6V3JpdGVSZXZpZXcgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdyaXRlUmV2aWV3ID0gXCJpcTpXcml0ZVJldmlld1wiO1xuXG5cdC8qKiBBbGwgcmVhZC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUmVhZEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdElxQWN0aW9ucy5Eb3dubG9hZEF0dGFjaG1lbnQsXG5cdFx0SXFBY3Rpb25zLmFjdGlvbkdldEJ1eWVyLFxuXHRcdElxQWN0aW9ucy5hY3Rpb25HZXRDYWxsLFxuXHRcdElxQWN0aW9ucy5hY3Rpb25HZXRDaGF0SW5mbyxcblx0XHRJcUFjdGlvbnMuYWN0aW9uR2V0Q2hhdE1lc3NhZ2VzLFxuXHRcdElxQWN0aW9ucy5hY3Rpb25HZXRDaGF0VG9rZW4sXG5cdFx0SXFBY3Rpb25zLmFjdGlvbkdldENvbXBhbnlDaGF0TWVzc2FnZXMsXG5cdFx0SXFBY3Rpb25zLmFjdGlvbkdldENvbXBhbnlQcm9maWxlLFxuXHRcdElxQWN0aW9ucy5hY3Rpb25HZXRDb252ZXJzYXRpb24sXG5cdFx0SXFBY3Rpb25zLmFjdGlvbkdldEV4cGVydCxcblx0XHRJcUFjdGlvbnMuYWN0aW9uR2V0TGlzdGluZyxcblx0XHRJcUFjdGlvbnMuYWN0aW9uR2V0TWFya2V0cGxhY2VTZWxsZXIsXG5cdFx0SXFBY3Rpb25zLmFjdGlvbkdldFBheW1lbnRSZXF1ZXN0LFxuXHRcdElxQWN0aW9ucy5hY3Rpb25HZXRQcm9wb3NhbCxcblx0XHRJcUFjdGlvbnMuYWN0aW9uR2V0UmVxdWVzdCxcblx0XHRJcUFjdGlvbnMuYWN0aW9uR2V0UmV2aWV3LFxuXHRcdElxQWN0aW9ucy5MaXN0Q29udmVyc2F0aW9ucyxcblx0XHRJcUFjdGlvbnMuTGlzdEV4cGVydEFjY2Vzc0xvZ3MsXG5cdFx0SXFBY3Rpb25zLkxpc3RMaXN0aW5ncyxcblx0XHRJcUFjdGlvbnMuTGlzdFBheW1lbnRSZXF1ZXN0cyxcblx0XHRJcUFjdGlvbnMuTGlzdFByb3Bvc2Fscyxcblx0XHRJcUFjdGlvbnMuTGlzdFJlcXVlc3RzLFxuXHRcdElxQWN0aW9ucy5MaXN0UmV2aWV3cyxcblx0XTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRJcUFjdGlvbnMuQWNjZXB0Q2FsbCxcblx0XHRJcUFjdGlvbnMuQXBwcm92ZVBheW1lbnRSZXF1ZXN0LFxuXHRcdElxQWN0aW9ucy5BcHByb3ZlUHJvcG9zYWwsXG5cdFx0SXFBY3Rpb25zLkFyY2hpdmVDb252ZXJzYXRpb24sXG5cdFx0SXFBY3Rpb25zLkNvbXBsZXRlUHJvcG9zYWwsXG5cdFx0SXFBY3Rpb25zLkNyZWF0ZUNvbnZlcnNhdGlvbixcblx0XHRJcUFjdGlvbnMuQ3JlYXRlRXhwZXJ0LFxuXHRcdElxQWN0aW9ucy5DcmVhdGVMaXN0aW5nLFxuXHRcdElxQWN0aW9ucy5DcmVhdGVNaWxlc3RvbmVQcm9wb3NhbCxcblx0XHRJcUFjdGlvbnMuQ3JlYXRlUGF5bWVudFJlcXVlc3QsXG5cdFx0SXFBY3Rpb25zLkNyZWF0ZVByb2plY3QsXG5cdFx0SXFBY3Rpb25zLkNyZWF0ZVJlcXVlc3QsXG5cdFx0SXFBY3Rpb25zLkNyZWF0ZVNjaGVkdWxlZFByb3Bvc2FsLFxuXHRcdElxQWN0aW9ucy5DcmVhdGVTZWxsZXIsXG5cdFx0SXFBY3Rpb25zLkNyZWF0ZVVwZnJvbnRQcm9wb3NhbCxcblx0XHRJcUFjdGlvbnMuRGVjbGluZUNhbGwsXG5cdFx0SXFBY3Rpb25zLkRlbGV0ZUF0dGFjaG1lbnQsXG5cdFx0SXFBY3Rpb25zLkRpc2FibGVJbmRpdmlkdWFsUHVibGljUHJvZmlsZSxcblx0XHRJcUFjdGlvbnMuRW5hYmxlSW5kaXZpZHVhbFB1YmxpY1Byb2ZpbGUsXG5cdFx0SXFBY3Rpb25zLkVuZENhbGwsXG5cdFx0SXFBY3Rpb25zLkhpZGVSZXF1ZXN0LFxuXHRcdElxQWN0aW9ucy5Jbml0aWF0ZUNhbGwsXG5cdFx0SXFBY3Rpb25zLkxpbmtBd3NDZXJ0aWZpY2F0aW9uLFxuXHRcdElxQWN0aW9ucy5NYXJrQ2hhdE1lc3NhZ2VSZWFkLFxuXHRcdElxQWN0aW9ucy5SZWplY3RQYXltZW50UmVxdWVzdCxcblx0XHRJcUFjdGlvbnMuUmVqZWN0UHJvcG9zYWwsXG5cdFx0SXFBY3Rpb25zLlNlbmRDb21wYW55Q2hhdE1lc3NhZ2UsXG5cdFx0SXFBY3Rpb25zLlNlbmRJbmRpdmlkdWFsQ2hhdE1lc3NhZ2UsXG5cdFx0SXFBY3Rpb25zLlVuYXJjaGl2ZUNvbnZlcnNhdGlvbixcblx0XHRJcUFjdGlvbnMuVW5saW5rQXdzQ2VydGlmaWNhdGlvbixcblx0XHRJcUFjdGlvbnMuVXBkYXRlQ29tcGFueVByb2ZpbGUsXG5cdFx0SXFBY3Rpb25zLlVwZGF0ZUNvbnZlcnNhdGlvbk1lbWJlcnMsXG5cdFx0SXFBY3Rpb25zLlVwZGF0ZUV4cGVydCxcblx0XHRJcUFjdGlvbnMuVXBkYXRlTGlzdGluZyxcblx0XHRJcUFjdGlvbnMuVXBkYXRlUmVxdWVzdCxcblx0XHRJcUFjdGlvbnMuVXBsb2FkQXR0YWNobWVudCxcblx0XHRJcUFjdGlvbnMuV2l0aGRyYXdQYXltZW50UmVxdWVzdCxcblx0XHRJcUFjdGlvbnMuV2l0aGRyYXdQcm9wb3NhbCxcblx0XHRJcUFjdGlvbnMuV3JpdGVSZXZpZXcsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW0lxQWN0aW9ucy5MaXN0QXR0YWNobWVudHNdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgYXR0YWNobWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFBdHRhY2htZW50QXJuUHJvcHMge1xuXHQvKiogVGhlIEF0dGFjaG1lbnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgYXR0YWNobWVudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgYXR0YWNobWVudCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFBdHRhY2htZW50QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBBdHRhY2htZW50SWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBhdHRhY2htZW50SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGJ1eWVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcUJ1eWVyQXJuUHJvcHMge1xuXHQvKiogVGhlIEJ1eWVySWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGJ1eWVySWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBidXllciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFCdXllckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQnV5ZXJJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGJ1eWVySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGNhbGwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxQ2FsbEFyblByb3BzIHtcblx0LyoqIFRoZSBDYWxsSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNhbGxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNhbGwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxQ2FsbEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2FsbElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY2FsbElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb21wYW55IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcUNvbXBhbnlBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29tcGFueUlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb21wYW55SWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb21wYW55IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcUNvbXBhbnlBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIENvbXBhbnlJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbXBhbnlJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29udmVyc2F0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcUNvbnZlcnNhdGlvbkFyblByb3BzIHtcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29udmVyc2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb252ZXJzYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxQ29udmVyc2F0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBleHBlcnQgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxRXhwZXJ0QXJuUHJvcHMge1xuXHQvKiogVGhlIEV4cGVydElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBleHBlcnRJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGV4cGVydCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFFeHBlcnRBcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEV4cGVydElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgZXhwZXJ0SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGxpc3RpbmcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxTGlzdGluZ0FyblByb3BzIHtcblx0LyoqIFRoZSBMaXN0aW5nSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGxpc3RpbmdJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGxpc3RpbmcgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxTGlzdGluZ0FybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgTGlzdGluZ0lkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgbGlzdGluZ0lkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBwYXltZW50UmVxdWVzdCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFQYXltZW50UmVxdWVzdEFyblByb3BzIHtcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29udmVyc2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9wb3NhbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9wb3NhbElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUGF5bWVudFJlcXVlc3RJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcGF5bWVudFJlcXVlc3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHBheW1lbnRSZXF1ZXN0IEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcVBheW1lbnRSZXF1ZXN0QXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvcG9zYWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3Bvc2FsSWQ6IHN0cmluZztcblx0LyoqIFRoZSBQYXltZW50UmVxdWVzdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGF5bWVudFJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcGF5bWVudFNjaGVkdWxlIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcVBheW1lbnRTY2hlZHVsZUFyblByb3BzIHtcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29udmVyc2F0aW9uSWQ6IHN0cmluZztcblx0LyoqIFRoZSBQcm9wb3NhbElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwcm9wb3NhbElkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVmVyc2lvbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uSWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBwYXltZW50U2NoZWR1bGUgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxUGF5bWVudFNjaGVkdWxlQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvcG9zYWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3Bvc2FsSWQ6IHN0cmluZztcblx0LyoqIFRoZSBWZXJzaW9uSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB2ZXJzaW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHBlcm1pc3Npb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxUGVybWlzc2lvbkFyblByb3BzIHtcblx0LyoqIFRoZSBQZXJtaXNzaW9uUmVxdWVzdElkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBwZXJtaXNzaW9uUmVxdWVzdElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgcGVybWlzc2lvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFQZXJtaXNzaW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBQZXJtaXNzaW9uUmVxdWVzdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcGVybWlzc2lvblJlcXVlc3RJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgcHJvcG9zYWwgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxUHJvcG9zYWxBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29udmVyc2F0aW9uSWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvcG9zYWxJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgcHJvcG9zYWxJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHByb3Bvc2FsIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcVByb3Bvc2FsQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb252ZXJzYXRpb25JZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbnZlcnNhdGlvbklkOiBzdHJpbmc7XG5cdC8qKiBUaGUgUHJvcG9zYWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHByb3Bvc2FsSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHJlcXVlc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxUmVxdWVzdEFyblByb3BzIHtcblx0LyoqIFRoZSBSZXF1ZXN0SWQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHJlcXVlc3RJZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHJlcXVlc3QgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxUmVxdWVzdEFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgUmVxdWVzdElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgcmVxdWVzdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBzZWxsZXIgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxU2VsbGVyQXJuUHJvcHMge1xuXHQvKiogVGhlIFNlbGxlckF3c0FjY291bnRJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgc2VsbGVyQVdTQWNjb3VudElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgc2VsbGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJcVNlbGxlckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgU2VsbGVyQXdzQWNjb3VudElkIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgc2VsbGVyQVdTQWNjb3VudElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSB0b2tlbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSXFUb2tlbkFyblByb3BzIHtcblx0LyoqIFRoZSBUb2tlbklkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB0b2tlbklkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdG9rZW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElxVG9rZW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIFRva2VuSWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB0b2tlbklkOiBzdHJpbmc7XG59XG5cbmNvbnN0IEF0dGFjaG1lbnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6YXR0YWNobWVudFxcLyg/PGF0dGFjaG1lbnRJZD5bXjovP10rKSQvO1xuY29uc3QgQnV5ZXJBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6YnV5ZXJcXC8oPzxidXllcklkPlteOi8/XSspJC87XG5jb25zdCBDYWxsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlxOig/PHJlZ2lvbj5bXjpdKik6OmNhbGxcXC8oPzxjYWxsSWQ+W146Lz9dKykkLztcbmNvbnN0IENvbXBhbnlBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6Y29tcGFueVxcLyg/PGNvbXBhbnlJZD5bXjovP10rKSQvO1xuY29uc3QgQ29udmVyc2F0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlxOig/PHJlZ2lvbj5bXjpdKik6OmNvbnZlcnNhdGlvblxcLyg/PGNvbnZlcnNhdGlvbklkPlteOi8/XSspJC87XG5jb25zdCBFeHBlcnRBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6ZXhwZXJ0XFwvKD88ZXhwZXJ0SWQ+W146Lz9dKykkLztcbmNvbnN0IExpc3RpbmdBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6bGlzdGluZ1xcLyg/PGxpc3RpbmdJZD5bXjovP10rKSQvO1xuY29uc3QgUGF5bWVudFJlcXVlc3RBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6cGF5bWVudFJlcXVlc3RcXC8oPzxjb252ZXJzYXRpb25JZD5bXjovP10rKVxcLyg/PHByb3Bvc2FsSWQ+W146Lz9dKylcXC8oPzxwYXltZW50UmVxdWVzdElkPlteOi8/XSspJC87XG5jb25zdCBQYXltZW50U2NoZWR1bGVBcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6aXE6KD88cmVnaW9uPlteOl0qKTo6cGF5bWVudFNjaGVkdWxlXFwvKD88Y29udmVyc2F0aW9uSWQ+W146Lz9dKylcXC8oPzxwcm9wb3NhbElkPlteOi8/XSspXFwvKD88dmVyc2lvbklkPlteOi8/XSspJC87XG5jb25zdCBQZXJtaXNzaW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlxLXBlcm1pc3Npb246KD88cmVnaW9uPlteOl0qKTo6cGVybWlzc2lvblxcLyg/PHBlcm1pc3Npb25SZXF1ZXN0SWQ+W146Lz9dKykkLztcbmNvbnN0IFByb3Bvc2FsQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlxOig/PHJlZ2lvbj5bXjpdKik6OnByb3Bvc2FsXFwvKD88Y29udmVyc2F0aW9uSWQ+W146Lz9dKylcXC8oPzxwcm9wb3NhbElkPlteOi8/XSspJC87XG5jb25zdCBSZXF1ZXN0QXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlxOig/PHJlZ2lvbj5bXjpdKik6OnJlcXVlc3RcXC8oPzxyZXF1ZXN0SWQ+W146Lz9dKykkLztcbmNvbnN0IFNlbGxlckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTppcTooPzxyZWdpb24+W146XSopOjpzZWxsZXJcXC8oPzxzZWxsZXJBV1NBY2NvdW50SWQ+W146Lz9dKykkLztcbmNvbnN0IFRva2VuQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmlxOig/PHJlZ2lvbj5bXjpdKik6OnRva2VuXFwvKD88dG9rZW5JZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGlxIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIElxUmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBhdHRhY2htZW50IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGF0dGFjaG1lbnQocHJvcHM6IElxQXR0YWNobWVudEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppcToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmF0dGFjaG1lbnQvJHtwcm9wcy5hdHRhY2htZW50SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGF0dGFjaG1lbnQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEF0dGFjaG1lbnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQXR0YWNobWVudEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBhdHRhY2htZW50IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUF0dGFjaG1lbnRBcm4oYXJuOiBzdHJpbmcpOiBJcUF0dGFjaG1lbnRBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEF0dGFjaG1lbnRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXR0YWNobWVudCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRhdHRhY2htZW50SWQ6IG1hdGNoLmdyb3VwcyEuYXR0YWNobWVudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGJ1eWVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGJ1eWVyKHByb3BzOiBJcUJ1eWVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlxOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6YnV5ZXIvJHtwcm9wcy5idXllcklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBidXllciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQnV5ZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQnV5ZXJBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgYnV5ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQnV5ZXJBcm4oYXJuOiBzdHJpbmcpOiBJcUJ1eWVyQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBCdXllckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBidXllciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRidXllcklkOiBtYXRjaC5ncm91cHMhLmJ1eWVySWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2FsbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjYWxsKHByb3BzOiBJcUNhbGxBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aXE6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpjYWxsLyR7cHJvcHMuY2FsbElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjYWxsIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDYWxsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENhbGxBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY2FsbCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDYWxsQXJuKGFybjogc3RyaW5nKTogSXFDYWxsQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBDYWxsQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNhbGwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y2FsbElkOiBtYXRjaC5ncm91cHMhLmNhbGxJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb21wYW55IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGNvbXBhbnkocHJvcHM6IElxQ29tcGFueUFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppcToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OmNvbXBhbnkvJHtwcm9wcy5jb21wYW55SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbXBhbnkgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbXBhbnlBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29tcGFueUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb21wYW55IEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbXBhbnlBcm4oYXJuOiBzdHJpbmcpOiBJcUNvbXBhbnlBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbXBhbnlBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29tcGFueSBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb21wYW55SWQ6IG1hdGNoLmdyb3VwcyEuY29tcGFueUlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbnZlcnNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb252ZXJzYXRpb24ocHJvcHM6IElxQ29udmVyc2F0aW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlxOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6Y29udmVyc2F0aW9uLyR7cHJvcHMuY29udmVyc2F0aW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbnZlcnNhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ29udmVyc2F0aW9uQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIENvbnZlcnNhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBjb252ZXJzYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29udmVyc2F0aW9uQXJuKGFybjogc3RyaW5nKTogSXFDb252ZXJzYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbnZlcnNhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb252ZXJzYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29udmVyc2F0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuY29udmVyc2F0aW9uSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgZXhwZXJ0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGV4cGVydChwcm9wczogSXFFeHBlcnRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aXE6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpleHBlcnQvJHtwcm9wcy5leHBlcnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZXhwZXJ0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRFeHBlcnRBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gRXhwZXJ0QXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGV4cGVydCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VFeHBlcnRBcm4oYXJuOiBzdHJpbmcpOiBJcUV4cGVydEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gRXhwZXJ0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGV4cGVydCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRleHBlcnRJZDogbWF0Y2guZ3JvdXBzIS5leHBlcnRJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBsaXN0aW5nIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGxpc3RpbmcocHJvcHM6IElxTGlzdGluZ0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppcToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06Omxpc3RpbmcvJHtwcm9wcy5saXN0aW5nSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGxpc3RpbmcgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZExpc3RpbmdBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gTGlzdGluZ0FyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBsaXN0aW5nIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUxpc3RpbmdBcm4oYXJuOiBzdHJpbmcpOiBJcUxpc3RpbmdBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IExpc3RpbmdBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbGlzdGluZyBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRsaXN0aW5nSWQ6IG1hdGNoLmdyb3VwcyEubGlzdGluZ0lkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBheW1lbnRSZXF1ZXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHBheW1lbnRSZXF1ZXN0KHByb3BzOiBJcVBheW1lbnRSZXF1ZXN0QXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlxOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6cGF5bWVudFJlcXVlc3QvJHtwcm9wcy5jb252ZXJzYXRpb25JZH0vJHtwcm9wcy5wcm9wb3NhbElkfS8ke3Byb3BzLnBheW1lbnRSZXF1ZXN0SWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBheW1lbnRSZXF1ZXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRQYXltZW50UmVxdWVzdEFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQYXltZW50UmVxdWVzdEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXltZW50UmVxdWVzdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VQYXltZW50UmVxdWVzdEFybihhcm46IHN0cmluZyk6IElxUGF5bWVudFJlcXVlc3RBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBheW1lbnRSZXF1ZXN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHBheW1lbnRSZXF1ZXN0IEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbnZlcnNhdGlvbklkOiBtYXRjaC5ncm91cHMhLmNvbnZlcnNhdGlvbklkLFxuXHRcdFx0cHJvcG9zYWxJZDogbWF0Y2guZ3JvdXBzIS5wcm9wb3NhbElkLFxuXHRcdFx0cGF5bWVudFJlcXVlc3RJZDogbWF0Y2guZ3JvdXBzIS5wYXltZW50UmVxdWVzdElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBheW1lbnRTY2hlZHVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwYXltZW50U2NoZWR1bGUocHJvcHM6IElxUGF5bWVudFNjaGVkdWxlQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlxOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6cGF5bWVudFNjaGVkdWxlLyR7cHJvcHMuY29udmVyc2F0aW9uSWR9LyR7cHJvcHMucHJvcG9zYWxJZH0vJHtwcm9wcy52ZXJzaW9uSWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIHBheW1lbnRTY2hlZHVsZSByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGF5bWVudFNjaGVkdWxlQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFBheW1lbnRTY2hlZHVsZUFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSBwYXltZW50U2NoZWR1bGUgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGF5bWVudFNjaGVkdWxlQXJuKGFybjogc3RyaW5nKTogSXFQYXltZW50U2NoZWR1bGVBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFBheW1lbnRTY2hlZHVsZUFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwYXltZW50U2NoZWR1bGUgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29udmVyc2F0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuY29udmVyc2F0aW9uSWQsXG5cdFx0XHRwcm9wb3NhbElkOiBtYXRjaC5ncm91cHMhLnByb3Bvc2FsSWQsXG5cdFx0XHR2ZXJzaW9uSWQ6IG1hdGNoLmdyb3VwcyEudmVyc2lvbklkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHBlcm1pc3Npb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgcGVybWlzc2lvbihwcm9wczogSXFQZXJtaXNzaW9uQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlxLXBlcm1pc3Npb246JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpwZXJtaXNzaW9uLyR7cHJvcHMucGVybWlzc2lvblJlcXVlc3RJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcGVybWlzc2lvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkUGVybWlzc2lvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBQZXJtaXNzaW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHBlcm1pc3Npb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlUGVybWlzc2lvbkFybihhcm46IHN0cmluZyk6IElxUGVybWlzc2lvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUGVybWlzc2lvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBwZXJtaXNzaW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHBlcm1pc3Npb25SZXF1ZXN0SWQ6IG1hdGNoLmdyb3VwcyEucGVybWlzc2lvblJlcXVlc3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBwcm9wb3NhbCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBwcm9wb3NhbChwcm9wczogSXFQcm9wb3NhbEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppcToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OnByb3Bvc2FsLyR7cHJvcHMuY29udmVyc2F0aW9uSWR9LyR7cHJvcHMucHJvcG9zYWxJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgcHJvcG9zYWwgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFByb3Bvc2FsQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFByb3Bvc2FsQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHByb3Bvc2FsIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVByb3Bvc2FsQXJuKGFybjogc3RyaW5nKTogSXFQcm9wb3NhbEFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gUHJvcG9zYWxBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcHJvcG9zYWwgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29udmVyc2F0aW9uSWQ6IG1hdGNoLmdyb3VwcyEuY29udmVyc2F0aW9uSWQsXG5cdFx0XHRwcm9wb3NhbElkOiBtYXRjaC5ncm91cHMhLnByb3Bvc2FsSWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgcmVxdWVzdCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyByZXF1ZXN0KHByb3BzOiBJcVJlcXVlc3RBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06aXE6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OjpyZXF1ZXN0LyR7cHJvcHMucmVxdWVzdElkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSByZXF1ZXN0IHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRSZXF1ZXN0QXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFJlcXVlc3RBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgcmVxdWVzdCBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VSZXF1ZXN0QXJuKGFybjogc3RyaW5nKTogSXFSZXF1ZXN0QXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBSZXF1ZXN0QXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHJlcXVlc3QgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0cmVxdWVzdElkOiBtYXRjaC5ncm91cHMhLnJlcXVlc3RJZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBzZWxsZXIgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgc2VsbGVyKHByb3BzOiBJcVNlbGxlckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTppcToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06OnNlbGxlci8ke3Byb3BzLnNlbGxlckFXU0FjY291bnRJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgc2VsbGVyIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRTZWxsZXJBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gU2VsbGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHNlbGxlciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VTZWxsZXJBcm4oYXJuOiBzdHJpbmcpOiBJcVNlbGxlckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gU2VsbGVyQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHNlbGxlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRzZWxsZXJBV1NBY2NvdW50SWQ6IG1hdGNoLmdyb3VwcyEuc2VsbGVyQVdTQWNjb3VudElkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRva2VuIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRva2VuKHByb3BzOiBJcVRva2VuQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmlxOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifTo6dG9rZW4vJHtwcm9wcy50b2tlbklkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB0b2tlbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVG9rZW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gVG9rZW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgdG9rZW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlVG9rZW5Bcm4oYXJuOiBzdHJpbmcpOiBJcVRva2VuQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUb2tlbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0b2tlbiBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHR0b2tlbklkOiBtYXRjaC5ncm91cHMhLnRva2VuSWQsXG5cdFx0fTtcblx0fVxufVxuIl19
|
|
@@ -16,7 +16,7 @@ class IvsActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.IvsActions = IvsActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
IvsActions[_a] = { fqn: "@cdk_utils/iam.ivs.IvsActions", version: "1.
|
|
19
|
+
IvsActions[_a] = { fqn: "@cdk_utils/iam.ivs.IvsActions", version: "1.15.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
IvsActions.SERVICE_PREFIX = "ivs";
|
|
22
22
|
/** [Read] ivs:BatchGetChannel */
|
|
@@ -619,7 +619,7 @@ class IvsResources {
|
|
|
619
619
|
}
|
|
620
620
|
exports.IvsResources = IvsResources;
|
|
621
621
|
_b = JSII_RTTI_SYMBOL_1;
|
|
622
|
-
IvsResources[_b] = { fqn: "@cdk_utils/iam.ivs.IvsResources", version: "1.
|
|
622
|
+
IvsResources[_b] = { fqn: "@cdk_utils/iam.ivs.IvsResources", version: "1.15.0" };
|
|
623
623
|
/**
|
|
624
624
|
* API operation to required IAM actions mapping for ivs.
|
|
625
625
|
*/
|
|
@@ -627,7 +627,7 @@ class IvsOperations {
|
|
|
627
627
|
}
|
|
628
628
|
exports.IvsOperations = IvsOperations;
|
|
629
629
|
_c = JSII_RTTI_SYMBOL_1;
|
|
630
|
-
IvsOperations[_c] = { fqn: "@cdk_utils/iam.ivs.IvsOperations", version: "1.
|
|
630
|
+
IvsOperations[_c] = { fqn: "@cdk_utils/iam.ivs.IvsOperations", version: "1.15.0" };
|
|
631
631
|
/** IAM actions required for the BatchGetChannel API call. */
|
|
632
632
|
IvsOperations.BatchGetChannel = ["ivs:BatchGetChannel"];
|
|
633
633
|
/** IAM actions required for the BatchGetStreamKey API call. */
|
|
@@ -899,7 +899,7 @@ class IvsConditions {
|
|
|
899
899
|
}
|
|
900
900
|
exports.IvsConditions = IvsConditions;
|
|
901
901
|
_d = JSII_RTTI_SYMBOL_1;
|
|
902
|
-
IvsConditions[_d] = { fqn: "@cdk_utils/iam.ivs.IvsConditions", version: "1.
|
|
902
|
+
IvsConditions[_d] = { fqn: "@cdk_utils/iam.ivs.IvsConditions", version: "1.15.0" };
|
|
903
903
|
/** Condition keys applicable to the CreateAdConfiguration action. */
|
|
904
904
|
IvsConditions.CreateAdConfigurationConditionKeys = [
|
|
905
905
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class IvschatActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.IvschatActions = IvschatActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
IvschatActions[_a] = { fqn: "@cdk_utils/iam.ivschat.IvschatActions", version: "1.
|
|
19
|
+
IvschatActions[_a] = { fqn: "@cdk_utils/iam.ivschat.IvschatActions", version: "1.15.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
IvschatActions.SERVICE_PREFIX = "ivschat";
|
|
22
22
|
/** [Write] ivschat:CreateChatToken */
|
|
@@ -149,7 +149,7 @@ class IvschatResources {
|
|
|
149
149
|
}
|
|
150
150
|
exports.IvschatResources = IvschatResources;
|
|
151
151
|
_b = JSII_RTTI_SYMBOL_1;
|
|
152
|
-
IvschatResources[_b] = { fqn: "@cdk_utils/iam.ivschat.IvschatResources", version: "1.
|
|
152
|
+
IvschatResources[_b] = { fqn: "@cdk_utils/iam.ivschat.IvschatResources", version: "1.15.0" };
|
|
153
153
|
/**
|
|
154
154
|
* API operation to required IAM actions mapping for ivschat.
|
|
155
155
|
*/
|
|
@@ -157,7 +157,7 @@ class IvschatOperations {
|
|
|
157
157
|
}
|
|
158
158
|
exports.IvschatOperations = IvschatOperations;
|
|
159
159
|
_c = JSII_RTTI_SYMBOL_1;
|
|
160
|
-
IvschatOperations[_c] = { fqn: "@cdk_utils/iam.ivschat.IvschatOperations", version: "1.
|
|
160
|
+
IvschatOperations[_c] = { fqn: "@cdk_utils/iam.ivschat.IvschatOperations", version: "1.15.0" };
|
|
161
161
|
/** IAM actions required for the CreateChatToken API call. */
|
|
162
162
|
IvschatOperations.CreateChatToken = ["ivschat:CreateChatToken"];
|
|
163
163
|
/** IAM actions required for the CreateLoggingConfiguration API call. */
|
|
@@ -233,7 +233,7 @@ class IvschatConditions {
|
|
|
233
233
|
}
|
|
234
234
|
exports.IvschatConditions = IvschatConditions;
|
|
235
235
|
_d = JSII_RTTI_SYMBOL_1;
|
|
236
|
-
IvschatConditions[_d] = { fqn: "@cdk_utils/iam.ivschat.IvschatConditions", version: "1.
|
|
236
|
+
IvschatConditions[_d] = { fqn: "@cdk_utils/iam.ivschat.IvschatConditions", version: "1.15.0" };
|
|
237
237
|
/** Condition keys applicable to the CreateChatToken action. */
|
|
238
238
|
IvschatConditions.CreateChatTokenConditionKeys = [
|
|
239
239
|
"aws:RequestTag/${TagKey}",
|
|
@@ -16,7 +16,7 @@ class KafkaClusterActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KafkaClusterActions = KafkaClusterActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KafkaClusterActions[_a] = { fqn: "@cdk_utils/iam.kafka_cluster.KafkaClusterActions", version: "1.
|
|
19
|
+
KafkaClusterActions[_a] = { fqn: "@cdk_utils/iam.kafka_cluster.KafkaClusterActions", version: "1.15.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KafkaClusterActions.SERVICE_PREFIX = "kafka-cluster";
|
|
22
22
|
/** [Write] kafka-cluster:AlterCluster */
|
|
@@ -217,7 +217,7 @@ class KafkaClusterResources {
|
|
|
217
217
|
}
|
|
218
218
|
exports.KafkaClusterResources = KafkaClusterResources;
|
|
219
219
|
_b = JSII_RTTI_SYMBOL_1;
|
|
220
|
-
KafkaClusterResources[_b] = { fqn: "@cdk_utils/iam.kafka_cluster.KafkaClusterResources", version: "1.
|
|
220
|
+
KafkaClusterResources[_b] = { fqn: "@cdk_utils/iam.kafka_cluster.KafkaClusterResources", version: "1.15.0" };
|
|
221
221
|
/**
|
|
222
222
|
* Condition key constants and builders for kafka-cluster.
|
|
223
223
|
*/
|
|
@@ -231,7 +231,7 @@ class KafkaClusterConditions {
|
|
|
231
231
|
}
|
|
232
232
|
exports.KafkaClusterConditions = KafkaClusterConditions;
|
|
233
233
|
_c = JSII_RTTI_SYMBOL_1;
|
|
234
|
-
KafkaClusterConditions[_c] = { fqn: "@cdk_utils/iam.kafka_cluster.KafkaClusterConditions", version: "1.
|
|
234
|
+
KafkaClusterConditions[_c] = { fqn: "@cdk_utils/iam.kafka_cluster.KafkaClusterConditions", version: "1.15.0" };
|
|
235
235
|
/** Condition key: aws:ResourceTag/${TagKey} (String) */
|
|
236
236
|
KafkaClusterConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
237
237
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2EtY2x1c3Rlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvc2VydmljZXMva2Fma2EtY2x1c3Rlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGdGQUFnRjtBQUNoRiw2Q0FBNkM7QUFDN0MsMERBQTBEO0FBQzFELG9EQUFvRDtBQUNwRCxvREFBb0Q7QUFDcEQsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBYSxtQkFBbUI7O0FBQWhDLGtEQThFQzs7O0FBN0VBLDhCQUE4QjtBQUNkLGtDQUFjLEdBQUcsZUFBZSxDQUFDO0FBRWpELHlDQUF5QztBQUN6QixnQ0FBWSxHQUFHLDRCQUE0QixDQUFDO0FBQzVELDZEQUE2RDtBQUM3QyxvREFBZ0MsR0FDL0MsZ0RBQWdELENBQUM7QUFDbEQsdUNBQXVDO0FBQ3ZCLDhCQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDeEQsdUNBQXVDO0FBQ3ZCLDhCQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDeEQsMkRBQTJEO0FBQzNDLGtEQUE4QixHQUM3Qyw4Q0FBOEMsQ0FBQztBQUNoRCxpREFBaUQ7QUFDakMsd0NBQW9CLEdBQUcsb0NBQW9DLENBQUM7QUFDNUUsb0NBQW9DO0FBQ3BCLDJCQUFPLEdBQUcsdUJBQXVCLENBQUM7QUFDbEQsd0NBQXdDO0FBQ3hCLCtCQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsd0NBQXdDO0FBQ3hCLCtCQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsd0NBQXdDO0FBQ3hCLCtCQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUQsMkNBQTJDO0FBQzNCLG1DQUFlLEdBQUcsK0JBQStCLENBQUM7QUFDbEUsK0RBQStEO0FBQy9DLHVEQUFtQyxHQUNsRCxtREFBbUQsQ0FBQztBQUNyRCx5Q0FBeUM7QUFDekIsaUNBQWEsR0FBRyw2QkFBNkIsQ0FBQztBQUM5RCx5Q0FBeUM7QUFDekIsaUNBQWEsR0FBRyw2QkFBNkIsQ0FB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Q0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLHlCQUF5QixDQUFDLEdBQVc7UUFDM0MsT0FBTyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyx1QkFBdUIsQ0FDN0IsR0FBVztRQUVYLE1BQU0sS0FBSyxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU87WUFDTixTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTO1lBQ2pDLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDM0IsT0FBTyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM3QixXQUFXLEVBQUUsS0FBSyxDQUFDLE1BQU8sQ0FBQyxXQUFXO1lBQ3RDLFdBQVcsRUFBRSxLQUFLLENBQUMsTUFBTyxDQUFDLFdBQVc7WUFDdEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxNQUFPLENBQUMsZUFBZTtTQUM5QyxDQUFDO0lBQ0gsQ0FBQzs7QUFwSUYsc0RBcUlDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsc0JBQXNCO0lBSWxDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFhO1FBQy9CLE9BQU8sRUFBRSxZQUFZLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO0lBQ2pFLENBQUM7O0FBVEYsd0RBVUM7OztBQVRBLHdEQUF3RDtBQUN4Qyx1Q0FBZ0IsR0FBRywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2thZmthLWNsdXN0ZXIuanNvblxuLy8gUnVuIGBucHggcHJvamVuIGdlbmVyYXRlLWNvbnN0YW50c2AgdG8gcmVnZW5lcmF0ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBJQU0gYWN0aW9uIGNvbnN0YW50cyBmb3IgdGhlIGthZmthLWNsdXN0ZXIgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthQ2x1c3RlckFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJrYWZrYS1jbHVzdGVyXCI7XG5cblx0LyoqIFtXcml0ZV0ga2Fma2EtY2x1c3RlcjpBbHRlckNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsdGVyQ2x1c3RlciA9IFwia2Fma2EtY2x1c3RlcjpBbHRlckNsdXN0ZXJcIjtcblx0LyoqIFtXcml0ZV0ga2Fma2EtY2x1c3RlcjpBbHRlckNsdXN0ZXJEeW5hbWljQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWx0ZXJDbHVzdGVyRHluYW1pY0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwia2Fma2EtY2x1c3RlcjpBbHRlckNsdXN0ZXJEeW5hbWljQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBrYWZrYS1jbHVzdGVyOkFsdGVyR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsdGVyR3JvdXAgPSBcImthZmthLWNsdXN0ZXI6QWx0ZXJHcm91cFwiO1xuXHQvKiogW1dyaXRlXSBrYWZrYS1jbHVzdGVyOkFsdGVyVG9waWMgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsdGVyVG9waWMgPSBcImthZmthLWNsdXN0ZXI6QWx0ZXJUb3BpY1wiO1xuXHQvKiogW1dyaXRlXSBrYWZrYS1jbHVzdGVyOkFsdGVyVG9waWNEeW5hbWljQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWx0ZXJUb3BpY0R5bmFtaWNDb25maWd1cmF0aW9uID1cblx0XHRcImthZmthLWNsdXN0ZXI6QWx0ZXJUb3BpY0R5bmFtaWNDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthLWNsdXN0ZXI6QWx0ZXJUcmFuc2FjdGlvbmFsSWQgKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsdGVyVHJhbnNhY3Rpb25hbElkID0gXCJrYWZrYS1jbHVzdGVyOkFsdGVyVHJhbnNhY3Rpb25hbElkXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthLWNsdXN0ZXI6Q29ubmVjdCAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ29ubmVjdCA9IFwia2Fma2EtY2x1c3RlcjpDb25uZWN0XCI7XG5cdC8qKiBbV3JpdGVdIGthZmthLWNsdXN0ZXI6Q3JlYXRlVG9waWMgKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZVRvcGljID0gXCJrYWZrYS1jbHVzdGVyOkNyZWF0ZVRvcGljXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthLWNsdXN0ZXI6RGVsZXRlR3JvdXAgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUdyb3VwID0gXCJrYWZrYS1jbHVzdGVyOkRlbGV0ZUdyb3VwXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthLWNsdXN0ZXI6RGVsZXRlVG9waWMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVRvcGljID0gXCJrYWZrYS1jbHVzdGVyOkRlbGV0ZVRvcGljXCI7XG5cdC8qKiBbTGlzdF0ga2Fma2EtY2x1c3RlcjpEZXNjcmliZUNsdXN0ZXIgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ2x1c3RlciA9IFwia2Fma2EtY2x1c3RlcjpEZXNjcmliZUNsdXN0ZXJcIjtcblx0LyoqIFtMaXN0XSBrYWZrYS1jbHVzdGVyOkRlc2NyaWJlQ2x1c3RlckR5bmFtaWNDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNsdXN0ZXJEeW5hbWljQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJrYWZrYS1jbHVzdGVyOkRlc2NyaWJlQ2x1c3RlckR5bmFtaWNDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbTGlzdF0ga2Fma2EtY2x1c3RlcjpEZXNjcmliZUdyb3VwICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUdyb3VwID0gXCJrYWZrYS1jbHVzdGVyOkRlc2NyaWJlR3JvdXBcIjtcblx0LyoqIFtMaXN0XSBrYWZrYS1jbHVzdGVyOkRlc2NyaWJlVG9waWMgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlVG9waWMgPSBcImthZmthLWNsdXN0ZXI6RGVzY3JpYmVUb3BpY1wiO1xuXHQvKiogW0xpc3RdIGthZmthLWNsdXN0ZXI6RGVzY3JpYmVUb3BpY0R5bmFtaWNDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRvcGljRHluYW1pY0NvbmZpZ3VyYXRpb24gPVxuXHRcdFwia2Fma2EtY2x1c3RlcjpEZXNjcmliZVRvcGljRHluYW1pY0NvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtMaXN0XSBrYWZrYS1jbHVzdGVyOkRlc2NyaWJlVHJhbnNhY3Rpb25hbElkICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVRyYW5zYWN0aW9uYWxJZCA9XG5cdFx0XCJrYWZrYS1jbHVzdGVyOkRlc2NyaWJlVHJhbnNhY3Rpb25hbElkXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2EtY2x1c3RlcjpSZWFkRGF0YSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgUmVhZERhdGEgPSBcImthZmthLWNsdXN0ZXI6UmVhZERhdGFcIjtcblx0LyoqIFtXcml0ZV0ga2Fma2EtY2x1c3RlcjpXcml0ZURhdGEgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdyaXRlRGF0YSA9IFwia2Fma2EtY2x1c3RlcjpXcml0ZURhdGFcIjtcblx0LyoqIFtXcml0ZV0ga2Fma2EtY2x1c3RlcjpXcml0ZURhdGFJZGVtcG90ZW50bHkgKi9cblx0c3RhdGljIHJlYWRvbmx5IFdyaXRlRGF0YUlkZW1wb3RlbnRseSA9IFwia2Fma2EtY2x1c3RlcjpXcml0ZURhdGFJZGVtcG90ZW50bHlcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtLYWZrYUNsdXN0ZXJBY3Rpb25zLlJlYWREYXRhXTtcblx0LyoqIEFsbCB3cml0ZS1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsV3JpdGVBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkFsdGVyQ2x1c3Rlcixcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkFsdGVyQ2x1c3RlckR5bmFtaWNDb25maWd1cmF0aW9uLFxuXHRcdEthZmthQ2x1c3RlckFjdGlvbnMuQWx0ZXJHcm91cCxcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkFsdGVyVG9waWMsXG5cdFx0S2Fma2FDbHVzdGVyQWN0aW9ucy5BbHRlclRvcGljRHluYW1pY0NvbmZpZ3VyYXRpb24sXG5cdFx0S2Fma2FDbHVzdGVyQWN0aW9ucy5BbHRlclRyYW5zYWN0aW9uYWxJZCxcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkNvbm5lY3QsXG5cdFx0S2Fma2FDbHVzdGVyQWN0aW9ucy5DcmVhdGVUb3BpYyxcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkRlbGV0ZUdyb3VwLFxuXHRcdEthZmthQ2x1c3RlckFjdGlvbnMuRGVsZXRlVG9waWMsXG5cdFx0S2Fma2FDbHVzdGVyQWN0aW9ucy5Xcml0ZURhdGEsXG5cdFx0S2Fma2FDbHVzdGVyQWN0aW9ucy5Xcml0ZURhdGFJZGVtcG90ZW50bHksXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEthZmthQ2x1c3RlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyLFxuXHRcdEthZmthQ2x1c3RlckFjdGlvbnMuRGVzY3JpYmVDbHVzdGVyRHluYW1pY0NvbmZpZ3VyYXRpb24sXG5cdFx0S2Fma2FDbHVzdGVyQWN0aW9ucy5EZXNjcmliZUdyb3VwLFxuXHRcdEthZmthQ2x1c3RlckFjdGlvbnMuRGVzY3JpYmVUb3BpYyxcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkRlc2NyaWJlVG9waWNEeW5hbWljQ29uZmlndXJhdGlvbixcblx0XHRLYWZrYUNsdXN0ZXJBY3Rpb25zLkRlc2NyaWJlVHJhbnNhY3Rpb25hbElkLFxuXHRdO1xuXHQvKiogQWxsIHBlcm1pc3Npb24tbWFuYWdlbWVudC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsUGVybWlzc2lvbk1hbmFnZW1lbnRBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogQWxsIHRhZ2dpbmctbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFRhZ2dpbmdBY3Rpb25zOiBzdHJpbmdbXSA9IFtdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY2x1c3RlciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FDbHVzdGVyQ2x1c3RlckFyblByb3BzIHtcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3Rlck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyVXVpZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY2x1c3RlclV1aWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjbHVzdGVyIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYUNsdXN0ZXJDbHVzdGVyQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclV1aWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQ2x1c3Rlckdyb3VwQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJVdWlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIEdyb3VwTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgZ3JvdXAgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQ2x1c3Rlckdyb3VwQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclV1aWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIEdyb3VwTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGdyb3VwTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdG9waWMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQ2x1c3RlclRvcGljQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJVdWlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIFRvcGljTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdG9waWNOYW1lOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdG9waWMgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthQ2x1c3RlclRvcGljQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclV1aWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIFRvcGljTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRvcGljTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgdHJhbnNhY3Rpb25hbC1pZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FDbHVzdGVyVHJhbnNhY3Rpb25hbElkQXJuUHJvcHMge1xuXHQvKiogVGhlIENsdXN0ZXJOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENsdXN0ZXJVdWlkIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYW5zYWN0aW9uYWxJZCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdHJhbnNhY3Rpb25hbElkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgdHJhbnNhY3Rpb25hbC1pZCBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2FDbHVzdGVyVHJhbnNhY3Rpb25hbElkQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDbHVzdGVyTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNsdXN0ZXJOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgQ2x1c3RlclV1aWQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjbHVzdGVyVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIFRyYW5zYWN0aW9uYWxJZCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHRyYW5zYWN0aW9uYWxJZDogc3RyaW5nO1xufVxuXG5jb25zdCBDbHVzdGVyQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmthZmthOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y2x1c3RlclxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88Y2x1c3RlclV1aWQ+W146Lz9dKykkLztcbmNvbnN0IEdyb3VwQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmthZmthOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Z3JvdXBcXC8oPzxjbHVzdGVyTmFtZT5bXjovP10rKVxcLyg/PGNsdXN0ZXJVdWlkPlteOi8/XSspXFwvKD88Z3JvdXBOYW1lPlteOi8/XSspJC87XG5jb25zdCBUb3BpY0FyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTprYWZrYTooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOnRvcGljXFwvKD88Y2x1c3Rlck5hbWU+W146Lz9dKylcXC8oPzxjbHVzdGVyVXVpZD5bXjovP10rKVxcLyg/PHRvcGljTmFtZT5bXjovP10rKSQvO1xuY29uc3QgVHJhbnNhY3Rpb25hbElkQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmthZmthOig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6dHJhbnNhY3Rpb25hbC1pZFxcLyg/PGNsdXN0ZXJOYW1lPlteOi8/XSspXFwvKD88Y2x1c3RlclV1aWQ+W146Lz9dKylcXC8oPzx0cmFuc2FjdGlvbmFsSWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBrYWZrYS1jbHVzdGVyIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthQ2x1c3RlclJlc291cmNlcyB7XG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjbHVzdGVyKHByb3BzOiBLYWZrYUNsdXN0ZXJDbHVzdGVyQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmthZmthOiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNsdXN0ZXIvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5jbHVzdGVyVXVpZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY2x1c3RlciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkQ2x1c3RlckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDbHVzdGVyQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNsdXN0ZXIgQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ2x1c3RlckFybihhcm46IHN0cmluZyk6IEthZmthQ2x1c3RlckNsdXN0ZXJBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENsdXN0ZXJBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY2x1c3RlciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGNsdXN0ZXJVdWlkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJVdWlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGdyb3VwIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGdyb3VwKHByb3BzOiBLYWZrYUNsdXN0ZXJHcm91cEFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTprYWZrYToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpncm91cC8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmNsdXN0ZXJVdWlkfS8ke3Byb3BzLmdyb3VwTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgZ3JvdXAgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEdyb3VwQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIEdyb3VwQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGdyb3VwIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUdyb3VwQXJuKGFybjogc3RyaW5nKTogS2Fma2FDbHVzdGVyR3JvdXBBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEdyb3VwQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGdyb3VwIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0Y2x1c3RlclV1aWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlclV1aWQsXG5cdFx0XHRncm91cE5hbWU6IG1hdGNoLmdyb3VwcyEuZ3JvdXBOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRvcGljIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHRvcGljKHByb3BzOiBLYWZrYUNsdXN0ZXJUb3BpY0FyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTprYWZrYToke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTp0b3BpYy8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmNsdXN0ZXJVdWlkfS8ke3Byb3BzLnRvcGljTmFtZX1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdG9waWMgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFRvcGljQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRvcGljQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHRvcGljIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRvcGljQXJuKGFybjogc3RyaW5nKTogS2Fma2FDbHVzdGVyVG9waWNBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFRvcGljQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHRvcGljIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNsdXN0ZXJOYW1lOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJOYW1lLFxuXHRcdFx0Y2x1c3RlclV1aWQ6IG1hdGNoLmdyb3VwcyEuY2x1c3RlclV1aWQsXG5cdFx0XHR0b3BpY05hbWU6IG1hdGNoLmdyb3VwcyEudG9waWNOYW1lLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHRyYW5zYWN0aW9uYWwtaWQgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgdHJhbnNhY3Rpb25hbElkKHByb3BzOiBLYWZrYUNsdXN0ZXJUcmFuc2FjdGlvbmFsSWRBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2Fma2E6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06dHJhbnNhY3Rpb25hbC1pZC8ke3Byb3BzLmNsdXN0ZXJOYW1lfS8ke3Byb3BzLmNsdXN0ZXJVdWlkfS8ke3Byb3BzLnRyYW5zYWN0aW9uYWxJZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgdHJhbnNhY3Rpb25hbC1pZCByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkVHJhbnNhY3Rpb25hbElkQXJuKGFybjogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIFRyYW5zYWN0aW9uYWxJZEFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB0cmFuc2FjdGlvbmFsLWlkIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVRyYW5zYWN0aW9uYWxJZEFybihcblx0XHRhcm46IHN0cmluZyxcblx0KTogS2Fma2FDbHVzdGVyVHJhbnNhY3Rpb25hbElkQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBUcmFuc2FjdGlvbmFsSWRBcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgdHJhbnNhY3Rpb25hbC1pZCBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjbHVzdGVyTmFtZTogbWF0Y2guZ3JvdXBzIS5jbHVzdGVyTmFtZSxcblx0XHRcdGNsdXN0ZXJVdWlkOiBtYXRjaC5ncm91cHMhLmNsdXN0ZXJVdWlkLFxuXHRcdFx0dHJhbnNhY3Rpb25hbElkOiBtYXRjaC5ncm91cHMhLnRyYW5zYWN0aW9uYWxJZCxcblx0XHR9O1xuXHR9XG59XG5cbi8qKlxuICogQ29uZGl0aW9uIGtleSBjb25zdGFudHMgYW5kIGJ1aWxkZXJzIGZvciBrYWZrYS1jbHVzdGVyLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2FDbHVzdGVyQ29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5OiBhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVTT1VSQ0VfVEFHID0gXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXNvdXJjZVRhZy8ke1RhZ0tleX1gLlxuXHQgKi9cblx0c3RhdGljIHJlc291cmNlVGFnKHZhbHVlOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG5cdFx0cmV0dXJuIHsgU3RyaW5nRXF1YWxzOiB7IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cbn1cbiJdfQ==
|
|
@@ -16,7 +16,7 @@ class KafkaActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KafkaActions = KafkaActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KafkaActions[_a] = { fqn: "@cdk_utils/iam.kafka.KafkaActions", version: "1.
|
|
19
|
+
KafkaActions[_a] = { fqn: "@cdk_utils/iam.kafka.KafkaActions", version: "1.15.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KafkaActions.SERVICE_PREFIX = "kafka";
|
|
22
22
|
/** [Write] kafka:BatchAssociateScramSecret */
|
|
@@ -479,7 +479,7 @@ class KafkaResources {
|
|
|
479
479
|
}
|
|
480
480
|
exports.KafkaResources = KafkaResources;
|
|
481
481
|
_b = JSII_RTTI_SYMBOL_1;
|
|
482
|
-
KafkaResources[_b] = { fqn: "@cdk_utils/iam.kafka.KafkaResources", version: "1.
|
|
482
|
+
KafkaResources[_b] = { fqn: "@cdk_utils/iam.kafka.KafkaResources", version: "1.15.0" };
|
|
483
483
|
/**
|
|
484
484
|
* API operation to required IAM actions mapping for kafka.
|
|
485
485
|
*/
|
|
@@ -487,7 +487,7 @@ class KafkaOperations {
|
|
|
487
487
|
}
|
|
488
488
|
exports.KafkaOperations = KafkaOperations;
|
|
489
489
|
_c = JSII_RTTI_SYMBOL_1;
|
|
490
|
-
KafkaOperations[_c] = { fqn: "@cdk_utils/iam.kafka.KafkaOperations", version: "1.
|
|
490
|
+
KafkaOperations[_c] = { fqn: "@cdk_utils/iam.kafka.KafkaOperations", version: "1.15.0" };
|
|
491
491
|
/** IAM actions required for the BatchAssociateScramSecret API call. */
|
|
492
492
|
KafkaOperations.BatchAssociateScramSecret = [
|
|
493
493
|
"kafka:BatchAssociateScramSecret",
|
|
@@ -726,7 +726,7 @@ class KafkaConditions {
|
|
|
726
726
|
}
|
|
727
727
|
exports.KafkaConditions = KafkaConditions;
|
|
728
728
|
_d = JSII_RTTI_SYMBOL_1;
|
|
729
|
-
KafkaConditions[_d] = { fqn: "@cdk_utils/iam.kafka.KafkaConditions", version: "1.
|
|
729
|
+
KafkaConditions[_d] = { fqn: "@cdk_utils/iam.kafka.KafkaConditions", version: "1.15.0" };
|
|
730
730
|
/** Condition keys applicable to the CreateChannel action. */
|
|
731
731
|
KafkaConditions.CreateChannelConditionKeys = [
|
|
732
732
|
"aws:RequestTag/${TagKey}",
|
|
@@ -266,6 +266,8 @@ export declare class KafkaconnectOperations {
|
|
|
266
266
|
static readonly ListTagsForResource: string[];
|
|
267
267
|
/** IAM actions required for the ListWorkerConfigurations API call. */
|
|
268
268
|
static readonly ListWorkerConfigurations: string[];
|
|
269
|
+
/** IAM actions required for the RestartConnector API call. */
|
|
270
|
+
static readonly RestartConnector: string[];
|
|
269
271
|
/** IAM actions required for the TagResource API call. */
|
|
270
272
|
static readonly TagResource: string[];
|
|
271
273
|
/** IAM actions required for the UntagResource API call. */
|
|
@@ -16,7 +16,7 @@ class KafkaconnectActions {
|
|
|
16
16
|
}
|
|
17
17
|
exports.KafkaconnectActions = KafkaconnectActions;
|
|
18
18
|
_a = JSII_RTTI_SYMBOL_1;
|
|
19
|
-
KafkaconnectActions[_a] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectActions", version: "1.
|
|
19
|
+
KafkaconnectActions[_a] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectActions", version: "1.15.0" };
|
|
20
20
|
/** The IAM service prefix. */
|
|
21
21
|
KafkaconnectActions.SERVICE_PREFIX = "kafkaconnect";
|
|
22
22
|
/** [Write] kafkaconnect:CreateConnector */
|
|
@@ -214,7 +214,7 @@ class KafkaconnectResources {
|
|
|
214
214
|
}
|
|
215
215
|
exports.KafkaconnectResources = KafkaconnectResources;
|
|
216
216
|
_b = JSII_RTTI_SYMBOL_1;
|
|
217
|
-
KafkaconnectResources[_b] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectResources", version: "1.
|
|
217
|
+
KafkaconnectResources[_b] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectResources", version: "1.15.0" };
|
|
218
218
|
/**
|
|
219
219
|
* API operation to required IAM actions mapping for kafkaconnect.
|
|
220
220
|
*/
|
|
@@ -222,7 +222,7 @@ class KafkaconnectOperations {
|
|
|
222
222
|
}
|
|
223
223
|
exports.KafkaconnectOperations = KafkaconnectOperations;
|
|
224
224
|
_c = JSII_RTTI_SYMBOL_1;
|
|
225
|
-
KafkaconnectOperations[_c] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectOperations", version: "1.
|
|
225
|
+
KafkaconnectOperations[_c] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectOperations", version: "1.15.0" };
|
|
226
226
|
/** IAM actions required for the CreateConnector API call. */
|
|
227
227
|
KafkaconnectOperations.CreateConnector = [
|
|
228
228
|
"kafkaconnect:CreateConnector",
|
|
@@ -284,6 +284,8 @@ KafkaconnectOperations.ListTagsForResource = [
|
|
|
284
284
|
KafkaconnectOperations.ListWorkerConfigurations = [
|
|
285
285
|
"kafkaconnect:ListWorkerConfigurations",
|
|
286
286
|
];
|
|
287
|
+
/** IAM actions required for the RestartConnector API call. */
|
|
288
|
+
KafkaconnectOperations.RestartConnector = [];
|
|
287
289
|
/** IAM actions required for the TagResource API call. */
|
|
288
290
|
KafkaconnectOperations.TagResource = ["kafkaconnect:TagResource"];
|
|
289
291
|
/** IAM actions required for the UntagResource API call. */
|
|
@@ -315,7 +317,7 @@ class KafkaconnectConditions {
|
|
|
315
317
|
}
|
|
316
318
|
exports.KafkaconnectConditions = KafkaconnectConditions;
|
|
317
319
|
_d = JSII_RTTI_SYMBOL_1;
|
|
318
|
-
KafkaconnectConditions[_d] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectConditions", version: "1.
|
|
320
|
+
KafkaconnectConditions[_d] = { fqn: "@cdk_utils/iam.kafkaconnect.KafkaconnectConditions", version: "1.15.0" };
|
|
319
321
|
/** Condition keys applicable to the TagResource action. */
|
|
320
322
|
KafkaconnectConditions.TagResourceConditionKeys = [
|
|
321
323
|
"aws:RequestTag/${TagKey}",
|
|
@@ -329,4 +331,4 @@ KafkaconnectConditions.AWS_REQUEST_TAG = "aws:RequestTag/${TagKey}";
|
|
|
329
331
|
KafkaconnectConditions.AWS_RESOURCE_TAG = "aws:ResourceTag/${TagKey}";
|
|
330
332
|
/** Condition key: aws:TagKeys (ArrayOfString) */
|
|
331
333
|
KafkaconnectConditions.AWS_TAG_KEYS = "aws:TagKeys";
|
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2Fjb25uZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9rYWZrYWNvbm5lY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxtREFBbUQ7QUFDbkQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsbUJBQW1COztBQUFoQyxrREE4RUM7OztBQTdFQSw4QkFBOEI7QUFDZCxrQ0FBYyxHQUFHLGNBQWMsQ0FBQztBQUVoRCwyQ0FBMkM7QUFDM0IsbUNBQWUsR0FBRyw4QkFBOEIsQ0FBQztBQUNqRSw4Q0FBOEM7QUFDOUIsc0NBQWtCLEdBQUcsaUNBQWlDLENBQUM7QUFDdkUscURBQXFEO0FBQ3JDLDZDQUF5QixHQUN4Qyx3Q0FBd0MsQ0FBQztBQUMxQywyQ0FBMkM7QUFDM0IsbUNBQWUsR0FBRyw4QkFBOEIsQ0FBQztBQUNqRSw4Q0FBOEM7QUFDOUIsc0NBQWtCLEdBQUcsaUNBQWlDLENBQUM7QUFDdkUscURBQXFEO0FBQ3JDLDZDQUF5QixHQUN4Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIscUNBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFDckUscURBQXFEO0FBQ3JDLDhDQUEwQixHQUN6Qyx5Q0FBeUMsQ0FBQztBQUMzQywrQ0FBK0M7QUFDL0Isd0NBQW9CLEdBQUcsbUNBQW1DLENBQUM7QUFDM0Usc0RBQXNEO0FBQ3RDLCtDQUEyQixHQUMxQywwQ0FBMEMsQ0FBQztBQUM1QyxrREFBa0Q7QUFDbEMsMkNBQXVCLEdBQ3RDLHNDQUFzQyxDQUFDO0FBQ3hDLHlDQUF5QztBQUN6QixrQ0FBYyxHQUFHLDZCQUE2QixDQUFDO0FBQy9ELDRDQUE0QztBQUM1QixxQ0FBaUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNyRSw4Q0FBOEM7QUFDOUIsdUNBQW1CLEdBQUcsa0NB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QUFFLENBQUM7SUFDakUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFnQjtRQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztJQUNuRSxDQUFDOztBQW5DRix3REFvQ0M7OztBQW5DQSwyREFBMkQ7QUFDM0MsK0NBQXdCLEdBQWE7SUFDcEQsMEJBQTBCO0lBQzFCLGFBQWE7Q0FDYixDQUFDO0FBQ0YsNkRBQTZEO0FBQzdDLGlEQUEwQixHQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7QUFFdkUsdURBQXVEO0FBQ3ZDLHNDQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFDN0Qsd0RBQXdEO0FBQ3hDLHVDQUFnQixHQUFHLDJCQUEyQixDQUFDO0FBQy9ELGlEQUFpRDtBQUNqQyxtQ0FBWSxHQUFHLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVVRPLUdFTkVSQVRFRCBGSUxFIOKAlCBETyBOT1QgRURJVCBNQU5VQUxMWVxuLy8gR2VuZXJhdGVkIGZyb20gQVdTIFNlcnZpY2UgQXV0aG9yaXphdGlvbiBSZWZlcmVuY2UgZGF0YVxuLy8gU291cmNlOiBkYXRhL3NlcnZpY2UtcmVmZXJlbmNlL2thZmthY29ubmVjdC5qc29uXG4vLyBSdW4gYG5weCBwcm9qZW4gZ2VuZXJhdGUtY29uc3RhbnRzYCB0byByZWdlbmVyYXRlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIElBTSBhY3Rpb24gY29uc3RhbnRzIGZvciB0aGUga2Fma2Fjb25uZWN0IHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYWNvbm5lY3RBY3Rpb25zIHtcblx0LyoqIFRoZSBJQU0gc2VydmljZSBwcmVmaXguICovXG5cdHN0YXRpYyByZWFkb25seSBTRVJWSUNFX1BSRUZJWCA9IFwia2Fma2Fjb25uZWN0XCI7XG5cblx0LyoqIFtXcml0ZV0ga2Fma2Fjb25uZWN0OkNyZWF0ZUNvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ29ubmVjdG9yID0gXCJrYWZrYWNvbm5lY3Q6Q3JlYXRlQ29ubmVjdG9yXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthY29ubmVjdDpDcmVhdGVDdXN0b21QbHVnaW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUN1c3RvbVBsdWdpbiA9IFwia2Fma2Fjb25uZWN0OkNyZWF0ZUN1c3RvbVBsdWdpblwiO1xuXHQvKiogW1dyaXRlXSBrYWZrYWNvbm5lY3Q6Q3JlYXRlV29ya2VyQ29uZmlndXJhdGlvbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2VyQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJrYWZrYWNvbm5lY3Q6Q3JlYXRlV29ya2VyQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1dyaXRlXSBrYWZrYWNvbm5lY3Q6RGVsZXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDb25uZWN0b3IgPSBcImthZmthY29ubmVjdDpEZWxldGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0ga2Fma2Fjb25uZWN0OkRlbGV0ZUN1c3RvbVBsdWdpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ3VzdG9tUGx1Z2luID0gXCJrYWZrYWNvbm5lY3Q6RGVsZXRlQ3VzdG9tUGx1Z2luXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthY29ubmVjdDpEZWxldGVXb3JrZXJDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZXJDb25maWd1cmF0aW9uID1cblx0XHRcImthZmthY29ubmVjdDpEZWxldGVXb3JrZXJDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0OkRlc2NyaWJlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbm5lY3RvciA9IFwia2Fma2Fjb25uZWN0OkRlc2NyaWJlQ29ubmVjdG9yXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0OkRlc2NyaWJlQ29ubmVjdG9yT3BlcmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUNvbm5lY3Rvck9wZXJhdGlvbiA9XG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDb25uZWN0b3JPcGVyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDdXN0b21QbHVnaW4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ3VzdG9tUGx1Z2luID0gXCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDdXN0b21QbHVnaW5cIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6RGVzY3JpYmVXb3JrZXJDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZVdvcmtlckNvbmZpZ3VyYXRpb24gPVxuXHRcdFwia2Fma2Fjb25uZWN0OkRlc2NyaWJlV29ya2VyQ29uZmlndXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGthZmthY29ubmVjdDpMaXN0Q29ubmVjdG9yT3BlcmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rvck9wZXJhdGlvbnMgPVxuXHRcdFwia2Fma2Fjb25uZWN0Okxpc3RDb25uZWN0b3JPcGVyYXRpb25zXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0Okxpc3RDb25uZWN0b3JzICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9ycyA9IFwia2Fma2Fjb25uZWN0Okxpc3RDb25uZWN0b3JzXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0Okxpc3RDdXN0b21QbHVnaW5zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q3VzdG9tUGx1Z2lucyA9IFwia2Fma2Fjb25uZWN0Okxpc3RDdXN0b21QbHVnaW5zXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0Okxpc3RUYWdzRm9yUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RUYWdzRm9yUmVzb3VyY2UgPSBcImthZmthY29ubmVjdDpMaXN0VGFnc0ZvclJlc291cmNlXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0Okxpc3RXb3JrZXJDb25maWd1cmF0aW9ucyAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFdvcmtlckNvbmZpZ3VyYXRpb25zID1cblx0XHRcImthZmthY29ubmVjdDpMaXN0V29ya2VyQ29uZmlndXJhdGlvbnNcIjtcblx0LyoqIFtUYWdnaW5nXSBrYWZrYWNvbm5lY3Q6VGFnUmVzb3VyY2UgKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlID0gXCJrYWZrYWNvbm5lY3Q6VGFnUmVzb3VyY2VcIjtcblx0LyoqIFtUYWdnaW5nXSBrYWZrYWNvbm5lY3Q6VW50YWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVW50YWdSZXNvdXJjZSA9IFwia2Fma2Fjb25uZWN0OlVudGFnUmVzb3VyY2VcIjtcblx0LyoqIFtXcml0ZV0ga2Fma2Fjb25uZWN0OlVwZGF0ZUNvbm5lY3RvciAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVXBkYXRlQ29ubmVjdG9yID0gXCJrYWZrYWNvbm5lY3Q6VXBkYXRlQ29ubmVjdG9yXCI7XG5cblx0LyoqIEFsbCByZWFkLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxSZWFkQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5EZXNjcmliZUNvbm5lY3Rvcixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkRlc2NyaWJlQ29ubmVjdG9yT3BlcmF0aW9uLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuRGVzY3JpYmVDdXN0b21QbHVnaW4sXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5EZXNjcmliZVdvcmtlckNvbmZpZ3VyYXRpb24sXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5MaXN0Q29ubmVjdG9yT3BlcmF0aW9ucyxcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkxpc3RDb25uZWN0b3JzLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuTGlzdEN1c3RvbVBsdWdpbnMsXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5MaXN0VGFnc0ZvclJlc291cmNlLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuTGlzdFdvcmtlckNvbmZpZ3VyYXRpb25zLFxuXHRdO1xuXHQvKiogQWxsIHdyaXRlLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxXcml0ZUFjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuQ3JlYXRlQ29ubmVjdG9yLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuQ3JlYXRlQ3VzdG9tUGx1Z2luLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuQ3JlYXRlV29ya2VyQ29uZmlndXJhdGlvbixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkRlbGV0ZUNvbm5lY3Rvcixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkRlbGV0ZUN1c3RvbVBsdWdpbixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkRlbGV0ZVdvcmtlckNvbmZpZ3VyYXRpb24sXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5VcGRhdGVDb25uZWN0b3IsXG5cdF07XG5cdC8qKiBBbGwgbGlzdC1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsTGlzdEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgcGVybWlzc2lvbi1tYW5hZ2VtZW50LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxQZXJtaXNzaW9uTWFuYWdlbWVudEFjdGlvbnM6IHN0cmluZ1tdID0gW107XG5cdC8qKiBBbGwgdGFnZ2luZy1sZXZlbCBhY3Rpb25zLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQWxsVGFnZ2luZ0FjdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuVGFnUmVzb3VyY2UsXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5VbnRhZ1Jlc291cmNlLFxuXHRdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29ubmVjdG9yIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYWNvbm5lY3RDb25uZWN0b3JBcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29ubmVjdG9yTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9yTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVVSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthY29ubmVjdENvbm5lY3RvckFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdG9yTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3Rvck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBVVUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXVpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgY29ubmVjdG9yIG9wZXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2Fjb25uZWN0Q29ubmVjdG9yT3BlcmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIENvbm5lY3Rvck5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbm5lY3Rvck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JVVUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JVdWlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXVpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbm5lY3RvciBvcGVyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthY29ubmVjdENvbm5lY3Rvck9wZXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ29ubmVjdG9yTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGNvbm5lY3Rvck5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JVVUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9yVXVpZDogc3RyaW5nO1xuXHQvKiogVGhlIFVVSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1dWlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjdXN0b20gcGx1Z2luIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYWNvbm5lY3RDdXN0b21QbHVnaW5Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ3VzdG9tUGx1Z2luTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY3VzdG9tUGx1Z2luTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVVSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSBjdXN0b20gcGx1Z2luIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYWNvbm5lY3RDdXN0b21QbHVnaW5Bcm5Db21wb25lbnRzIHtcblx0LyoqIEFXUyBwYXJ0aXRpb24uICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbjogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gKi9cblx0cmVhZG9ubHkgYWNjb3VudDogc3RyaW5nO1xuXHQvKiogVGhlIEN1c3RvbVBsdWdpbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjdXN0b21QbHVnaW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIHdvcmtlciBjb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYWNvbm5lY3RXb3JrZXJDb25maWd1cmF0aW9uQXJuUHJvcHMge1xuXHQvKiogVGhlIFdvcmtlckNvbmZpZ3VyYXRpb25OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB3b3JrZXJDb25maWd1cmF0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVVSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG5cdC8qKiBBV1MgYWNjb3VudCBJRC4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IGFjY291bnQ/OiBzdHJpbmc7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiBEZWZhdWx0cyB0byBcImF3c1wiLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2VkIGNvbXBvbmVudHMgb2YgYSB3b3JrZXIgY29uZmlndXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2Fjb25uZWN0V29ya2VyQ29uZmlndXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgV29ya2VyQ29uZmlndXJhdGlvbk5hbWUgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB3b3JrZXJDb25maWd1cmF0aW9uTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVVSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1dWlkOiBzdHJpbmc7XG59XG5cbmNvbnN0IENvbm5lY3RvckFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTprYWZrYWNvbm5lY3Q6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjb25uZWN0b3JcXC8oPzxjb25uZWN0b3JOYW1lPlteOi8/XSspXFwvKD88dXVpZD5bXjovP10rKSQvO1xuY29uc3QgQ29ubmVjdG9yT3BlcmF0aW9uQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmthZmthY29ubmVjdDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbm5lY3Rvci1vcGVyYXRpb25cXC8oPzxjb25uZWN0b3JOYW1lPlteOi8/XSspXFwvKD88Y29ubmVjdG9yVXVpZD5bXjovP10rKVxcLyg/PHV1aWQ+W146Lz9dKykkLztcbmNvbnN0IEN1c3RvbVBsdWdpbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTprYWZrYWNvbm5lY3Q6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTpjdXN0b20tcGx1Z2luXFwvKD88Y3VzdG9tUGx1Z2luTmFtZT5bXjovP10rKVxcLyg/PHV1aWQ+W146Lz9dKykkLztcbmNvbnN0IFdvcmtlckNvbmZpZ3VyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6a2Fma2Fjb25uZWN0Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6d29ya2VyLWNvbmZpZ3VyYXRpb25cXC8oPzx3b3JrZXJDb25maWd1cmF0aW9uTmFtZT5bXjovP10rKVxcLyg/PHV1aWQ+W146Lz9dKykkLztcblxuLyoqXG4gKiBBUk4gYnVpbGRlcnMsIHZhbGlkYXRvcnMsIGFuZCBwYXJzZXJzIGZvciBrYWZrYWNvbm5lY3QgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2Fjb25uZWN0UmVzb3VyY2VzIHtcblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjb25uZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdG9yKHByb3BzOiBLYWZrYWNvbm5lY3RDb25uZWN0b3JBcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2Fma2Fjb25uZWN0OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmNvbm5lY3Rvci8ke3Byb3BzLmNvbm5lY3Rvck5hbWV9LyR7cHJvcHMudXVpZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgY29ubmVjdG9yIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0b3JBcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdG9yQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbm5lY3RvciBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0b3JBcm4oYXJuOiBzdHJpbmcpOiBLYWZrYWNvbm5lY3RDb25uZWN0b3JBcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3RvckFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25uZWN0b3IgQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29ubmVjdG9yTmFtZTogbWF0Y2guZ3JvdXBzIS5jb25uZWN0b3JOYW1lLFxuXHRcdFx0dXVpZDogbWF0Y2guZ3JvdXBzIS51dWlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbm5lY3RvciBvcGVyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY29ubmVjdG9yT3BlcmF0aW9uKFxuXHRcdHByb3BzOiBLYWZrYWNvbm5lY3RDb25uZWN0b3JPcGVyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTprYWZrYWNvbm5lY3Q6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdG9yLW9wZXJhdGlvbi8ke3Byb3BzLmNvbm5lY3Rvck5hbWV9LyR7cHJvcHMuY29ubmVjdG9yVXVpZH0vJHtwcm9wcy51dWlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb25uZWN0b3Igb3BlcmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDb25uZWN0b3JPcGVyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ29ubmVjdG9yT3BlcmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGNvbm5lY3RvciBvcGVyYXRpb24gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ29ubmVjdG9yT3BlcmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBLYWZrYWNvbm5lY3RDb25uZWN0b3JPcGVyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IENvbm5lY3Rvck9wZXJhdGlvbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjb25uZWN0b3Igb3BlcmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGNvbm5lY3Rvck5hbWU6IG1hdGNoLmdyb3VwcyEuY29ubmVjdG9yTmFtZSxcblx0XHRcdGNvbm5lY3RvclV1aWQ6IG1hdGNoLmdyb3VwcyEuY29ubmVjdG9yVXVpZCxcblx0XHRcdHV1aWQ6IG1hdGNoLmdyb3VwcyEudXVpZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSBjdXN0b20gcGx1Z2luIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGN1c3RvbVBsdWdpbihwcm9wczogS2Fma2Fjb25uZWN0Q3VzdG9tUGx1Z2luQXJuUHJvcHMpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmthZmthY29ubmVjdDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjdXN0b20tcGx1Z2luLyR7cHJvcHMuY3VzdG9tUGx1Z2luTmFtZX0vJHtwcm9wcy51dWlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjdXN0b20gcGx1Z2luIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIGlzVmFsaWRDdXN0b21QbHVnaW5Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gQ3VzdG9tUGx1Z2luQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIGN1c3RvbSBwbHVnaW4gQVJOIGludG8gaXRzIGNvbXBvbmVudHMuXG5cdCAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIEFSTiBkb2VzIG5vdCBtYXRjaCB0aGUgZXhwZWN0ZWQgZm9ybWF0LlxuXHQgKi9cblx0c3RhdGljIHBhcnNlQ3VzdG9tUGx1Z2luQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBLYWZrYWNvbm5lY3RDdXN0b21QbHVnaW5Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IEN1c3RvbVBsdWdpbkFyblJlZ2V4LmV4ZWMoYXJuKTtcblx0XHRpZiAoIW1hdGNoPy5ncm91cHMpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjdXN0b20gcGx1Z2luIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdGN1c3RvbVBsdWdpbk5hbWU6IG1hdGNoLmdyb3VwcyEuY3VzdG9tUGx1Z2luTmFtZSxcblx0XHRcdHV1aWQ6IG1hdGNoLmdyb3VwcyEudXVpZCxcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEJ1aWxkcyBhbiBBUk4gZm9yIHRoZSB3b3JrZXIgY29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyB3b3JrZXJDb25maWd1cmF0aW9uKFxuXHRcdHByb3BzOiBLYWZrYWNvbm5lY3RXb3JrZXJDb25maWd1cmF0aW9uQXJuUHJvcHMsXG5cdCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2Fma2Fjb25uZWN0OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9Ondvcmtlci1jb25maWd1cmF0aW9uLyR7cHJvcHMud29ya2VyQ29uZmlndXJhdGlvbk5hbWV9LyR7cHJvcHMudXVpZH1gO1xuXHR9XG5cblx0LyoqXG5cdCAqIFZhbGlkYXRlcyB3aGV0aGVyIGEgc3RyaW5nIGlzIGEgdmFsaWQgQVJOIGZvciB0aGUgd29ya2VyIGNvbmZpZ3VyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZFdvcmtlckNvbmZpZ3VyYXRpb25Bcm4oYXJuOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gV29ya2VyQ29uZmlndXJhdGlvbkFyblJlZ2V4LnRlc3QoYXJuKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBQYXJzZXMgYSB3b3JrZXIgY29uZmlndXJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VXb3JrZXJDb25maWd1cmF0aW9uQXJuKFxuXHRcdGFybjogc3RyaW5nLFxuXHQpOiBLYWZrYWNvbm5lY3RXb3JrZXJDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdFx0Y29uc3QgbWF0Y2ggPSBXb3JrZXJDb25maWd1cmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHdvcmtlciBjb25maWd1cmF0aW9uIEFSTjogJHthcm59YCk7XG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHRwYXJ0aXRpb246IG1hdGNoLmdyb3Vwcy5wYXJ0aXRpb24sXG5cdFx0XHRyZWdpb246IG1hdGNoLmdyb3Vwcy5yZWdpb24sXG5cdFx0XHRhY2NvdW50OiBtYXRjaC5ncm91cHMuYWNjb3VudCxcblx0XHRcdHdvcmtlckNvbmZpZ3VyYXRpb25OYW1lOiBtYXRjaC5ncm91cHMhLndvcmtlckNvbmZpZ3VyYXRpb25OYW1lLFxuXHRcdFx0dXVpZDogbWF0Y2guZ3JvdXBzIS51dWlkLFxuXHRcdH07XG5cdH1cbn1cblxuLyoqXG4gKiBBUEkgb3BlcmF0aW9uIHRvIHJlcXVpcmVkIElBTSBhY3Rpb25zIG1hcHBpbmcgZm9yIGthZmthY29ubmVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthY29ubmVjdE9wZXJhdGlvbnMge1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0OkNyZWF0ZUNvbm5lY3RvclwiLFxuXHRcdFwiaWFtOlBhc3NSb2xlXCIsXG5cdFx0XCJrYWZrYWNvbm5lY3Q6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgQ3JlYXRlQ3VzdG9tUGx1Z2luIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tUGx1Z2luOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpDcmVhdGVDdXN0b21QbHVnaW5cIixcblx0XHRcImthZmthY29ubmVjdDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlV29ya2VyQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6Q3JlYXRlV29ya2VyQ29uZmlndXJhdGlvblwiLFxuXHRcdFwia2Fma2Fjb25uZWN0OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJrYWZrYWNvbm5lY3Q6RGVsZXRlQ29ubmVjdG9yXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVDdXN0b21QbHVnaW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21QbHVnaW46IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0OkRlbGV0ZUN1c3RvbVBsdWdpblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZWxldGVXb3JrZXJDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlV29ya2VyQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVsZXRlV29ya2VyQ29uZmlndXJhdGlvblwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpEZXNjcmliZUNvbm5lY3RvclwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBEZXNjcmliZUNvbm5lY3Rvck9wZXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdG9yT3BlcmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpEZXNjcmliZUNvbm5lY3RvclwiLFxuXHRcdFwia2Fma2Fjb25uZWN0OkRlc2NyaWJlQ29ubmVjdG9yT3BlcmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ3VzdG9tUGx1Z2luIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDdXN0b21QbHVnaW46IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0OkRlc2NyaWJlQ3VzdG9tUGx1Z2luXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlV29ya2VyQ29uZmlndXJhdGlvbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2VyQ29uZmlndXJhdGlvbjogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVXb3JrZXJDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0b3JPcGVyYXRpb25zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3Rvck9wZXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0Okxpc3RDb25uZWN0b3JPcGVyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDb25uZWN0b3JzIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdENvbm5lY3RvcnM6IHN0cmluZ1tdID0gW1wia2Fma2Fjb25uZWN0Okxpc3RDb25uZWN0b3JzXCJdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0Q3VzdG9tUGx1Z2lucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21QbHVnaW5zOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpMaXN0Q3VzdG9tUGx1Z2luc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0VGFnc0ZvclJlc291cmNlIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZTogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6TGlzdFRhZ3NGb3JSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBMaXN0V29ya2VyQ29uZmlndXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2VyQ29uZmlndXJhdGlvbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0Okxpc3RXb3JrZXJDb25maWd1cmF0aW9uc1wiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImthZmthY29ubmVjdDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wia2Fma2Fjb25uZWN0OlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJrYWZrYWNvbm5lY3Q6VXBkYXRlQ29ubmVjdG9yXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Iga2Fma2Fjb25uZWN0LlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2Fjb25uZWN0Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|
|
334
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2Fma2Fjb25uZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2dlbmVyYXRlZC9zZXJ2aWNlcy9rYWZrYWNvbm5lY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxnRkFBZ0Y7QUFDaEYsNkNBQTZDO0FBQzdDLDBEQUEwRDtBQUMxRCxtREFBbUQ7QUFDbkQsb0RBQW9EO0FBQ3BELGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQWEsbUJBQW1COztBQUFoQyxrREE4RUM7OztBQTdFQSw4QkFBOEI7QUFDZCxrQ0FBYyxHQUFHLGNBQWMsQ0FBQztBQUVoRCwyQ0FBMkM7QUFDM0IsbUNBQWUsR0FBRyw4QkFBOEIsQ0FBQztBQUNqRSw4Q0FBOEM7QUFDOUIsc0NBQWtCLEdBQUcsaUNBQWlDLENBQUM7QUFDdkUscURBQXFEO0FBQ3JDLDZDQUF5QixHQUN4Qyx3Q0FBd0MsQ0FBQztBQUMxQywyQ0FBMkM7QUFDM0IsbUNBQWUsR0FBRyw4QkFBOEIsQ0FBQztBQUNqRSw4Q0FBOEM7QUFDOUIsc0NBQWtCLEdBQUcsaUNBQWlDLENBQUM7QUFDdkUscURBQXFEO0FBQ3JDLDZDQUF5QixHQUN4Qyx3Q0FBd0MsQ0FBQztBQUMxQyw0Q0FBNEM7QUFDNUIscUNBQWlCLEdBQUcsZ0NBQWdDLENBQUM7QUFDckUscURBQXFEO0FBQ3JDLDhDQUEwQixHQUN6Qyx5Q0FBeUMsQ0FBQztBQUMzQywrQ0FBK0M7QUFDL0Isd0NBQW9CLEdBQUcsbUNBQW1DLENBQUM7QUFDM0Usc0RBQXNEO0FBQ3RDLCtDQUEyQixHQUMxQywwQ0FBMEMsQ0FBQztBQUM1QyxrREFBa0Q7QUFDbEMsMkNBQXVCLEdBQ3RDLHNDQUFzQyxDQUFDO0FBQ3hDLHlDQUF5QztBQUN6QixrQ0FBYyxHQUFHLDZCQUE2QixDQUFDO0FBQy9ELDRDQUE0QztBQUM1QixxQ0FBaUIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUNyRSw4Q0FBOEM7QUFDOUIsdUNBQW1CLEdBQUcsa0NB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QUUsWUFBWSxFQUFFLEVBQUUsMkJBQTJCLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWdCO1FBQzlCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO0lBQ25FLENBQUM7O0FBbkNGLHdEQW9DQzs7O0FBbkNBLDJEQUEyRDtBQUMzQywrQ0FBd0IsR0FBYTtJQUNwRCwwQkFBMEI7SUFDMUIsYUFBYTtDQUNiLENBQUM7QUFDRiw2REFBNkQ7QUFDN0MsaURBQTBCLEdBQWEsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RSx1REFBdUQ7QUFDdkMsc0NBQWUsR0FBRywwQkFBMEIsQ0FBQztBQUM3RCx3REFBd0Q7QUFDeEMsdUNBQWdCLEdBQUcsMkJBQTJCLENBQUM7QUFDL0QsaURBQWlEO0FBQ2pDLG1DQUFZLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFVVE8tR0VORVJBVEVEIEZJTEUg4oCUIERPIE5PVCBFRElUIE1BTlVBTExZXG4vLyBHZW5lcmF0ZWQgZnJvbSBBV1MgU2VydmljZSBBdXRob3JpemF0aW9uIFJlZmVyZW5jZSBkYXRhXG4vLyBTb3VyY2U6IGRhdGEvc2VydmljZS1yZWZlcmVuY2Uva2Fma2Fjb25uZWN0Lmpzb25cbi8vIFJ1biBgbnB4IHByb2plbiBnZW5lcmF0ZS1jb25zdGFudHNgIHRvIHJlZ2VuZXJhdGVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogSUFNIGFjdGlvbiBjb25zdGFudHMgZm9yIHRoZSBrYWZrYWNvbm5lY3Qgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEthZmthY29ubmVjdEFjdGlvbnMge1xuXHQvKiogVGhlIElBTSBzZXJ2aWNlIHByZWZpeC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFNFUlZJQ0VfUFJFRklYID0gXCJrYWZrYWNvbm5lY3RcIjtcblxuXHQvKiogW1dyaXRlXSBrYWZrYWNvbm5lY3Q6Q3JlYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDb25uZWN0b3IgPSBcImthZmthY29ubmVjdDpDcmVhdGVDb25uZWN0b3JcIjtcblx0LyoqIFtXcml0ZV0ga2Fma2Fjb25uZWN0OkNyZWF0ZUN1c3RvbVBsdWdpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQ3JlYXRlQ3VzdG9tUGx1Z2luID0gXCJrYWZrYWNvbm5lY3Q6Q3JlYXRlQ3VzdG9tUGx1Z2luXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthY29ubmVjdDpDcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uID1cblx0XHRcImthZmthY29ubmVjdDpDcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbV3JpdGVdIGthZmthY29ubmVjdDpEZWxldGVDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUNvbm5lY3RvciA9IFwia2Fma2Fjb25uZWN0OkRlbGV0ZUNvbm5lY3RvclwiO1xuXHQvKiogW1dyaXRlXSBrYWZrYWNvbm5lY3Q6RGVsZXRlQ3VzdG9tUGx1Z2luICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVDdXN0b21QbHVnaW4gPSBcImthZmthY29ubmVjdDpEZWxldGVDdXN0b21QbHVnaW5cIjtcblx0LyoqIFtXcml0ZV0ga2Fma2Fjb25uZWN0OkRlbGV0ZVdvcmtlckNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZVdvcmtlckNvbmZpZ3VyYXRpb24gPVxuXHRcdFwia2Fma2Fjb25uZWN0OkRlbGV0ZVdvcmtlckNvbmZpZ3VyYXRpb25cIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDb25uZWN0b3IgKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdG9yID0gXCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDb25uZWN0b3JcIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDb25uZWN0b3JPcGVyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlQ29ubmVjdG9yT3BlcmF0aW9uID1cblx0XHRcImthZmthY29ubmVjdDpEZXNjcmliZUNvbm5lY3Rvck9wZXJhdGlvblwiO1xuXHQvKiogW1JlYWRdIGthZmthY29ubmVjdDpEZXNjcmliZUN1c3RvbVBsdWdpbiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDdXN0b21QbHVnaW4gPSBcImthZmthY29ubmVjdDpEZXNjcmliZUN1c3RvbVBsdWdpblwiO1xuXHQvKiogW1JlYWRdIGthZmthY29ubmVjdDpEZXNjcmliZVdvcmtlckNvbmZpZ3VyYXRpb24gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlc2NyaWJlV29ya2VyQ29uZmlndXJhdGlvbiA9XG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVXb3JrZXJDb25maWd1cmF0aW9uXCI7XG5cdC8qKiBbUmVhZF0ga2Fma2Fjb25uZWN0Okxpc3RDb25uZWN0b3JPcGVyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yT3BlcmF0aW9ucyA9XG5cdFx0XCJrYWZrYWNvbm5lY3Q6TGlzdENvbm5lY3Rvck9wZXJhdGlvbnNcIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6TGlzdENvbm5lY3RvcnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDb25uZWN0b3JzID0gXCJrYWZrYWNvbm5lY3Q6TGlzdENvbm5lY3RvcnNcIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6TGlzdEN1c3RvbVBsdWdpbnMgKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RDdXN0b21QbHVnaW5zID0gXCJrYWZrYWNvbm5lY3Q6TGlzdEN1c3RvbVBsdWdpbnNcIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6TGlzdFRhZ3NGb3JSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdFRhZ3NGb3JSZXNvdXJjZSA9IFwia2Fma2Fjb25uZWN0Okxpc3RUYWdzRm9yUmVzb3VyY2VcIjtcblx0LyoqIFtSZWFkXSBrYWZrYWNvbm5lY3Q6TGlzdFdvcmtlckNvbmZpZ3VyYXRpb25zICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0V29ya2VyQ29uZmlndXJhdGlvbnMgPVxuXHRcdFwia2Fma2Fjb25uZWN0Okxpc3RXb3JrZXJDb25maWd1cmF0aW9uc1wiO1xuXHQvKiogW1RhZ2dpbmddIGthZmthY29ubmVjdDpUYWdSZXNvdXJjZSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgVGFnUmVzb3VyY2UgPSBcImthZmthY29ubmVjdDpUYWdSZXNvdXJjZVwiO1xuXHQvKiogW1RhZ2dpbmddIGthZmthY29ubmVjdDpVbnRhZ1Jlc291cmNlICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlID0gXCJrYWZrYWNvbm5lY3Q6VW50YWdSZXNvdXJjZVwiO1xuXHQvKiogW1dyaXRlXSBrYWZrYWNvbm5lY3Q6VXBkYXRlQ29ubmVjdG9yICovXG5cdHN0YXRpYyByZWFkb25seSBVcGRhdGVDb25uZWN0b3IgPSBcImthZmthY29ubmVjdDpVcGRhdGVDb25uZWN0b3JcIjtcblxuXHQvKiogQWxsIHJlYWQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFJlYWRBY3Rpb25zOiBzdHJpbmdbXSA9IFtcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkRlc2NyaWJlQ29ubmVjdG9yLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuRGVzY3JpYmVDb25uZWN0b3JPcGVyYXRpb24sXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5EZXNjcmliZUN1c3RvbVBsdWdpbixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkRlc2NyaWJlV29ya2VyQ29uZmlndXJhdGlvbixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkxpc3RDb25uZWN0b3JPcGVyYXRpb25zLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuTGlzdENvbm5lY3RvcnMsXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5MaXN0Q3VzdG9tUGx1Z2lucyxcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLkxpc3RUYWdzRm9yUmVzb3VyY2UsXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5MaXN0V29ya2VyQ29uZmlndXJhdGlvbnMsXG5cdF07XG5cdC8qKiBBbGwgd3JpdGUtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFdyaXRlQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5DcmVhdGVDb25uZWN0b3IsXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5DcmVhdGVDdXN0b21QbHVnaW4sXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5DcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuRGVsZXRlQ29ubmVjdG9yLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuRGVsZXRlQ3VzdG9tUGx1Z2luLFxuXHRcdEthZmthY29ubmVjdEFjdGlvbnMuRGVsZXRlV29ya2VyQ29uZmlndXJhdGlvbixcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLlVwZGF0ZUNvbm5lY3Rvcixcblx0XTtcblx0LyoqIEFsbCBsaXN0LWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxMaXN0QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCBwZXJtaXNzaW9uLW1hbmFnZW1lbnQtbGV2ZWwgYWN0aW9ucy4gKi9cblx0c3RhdGljIHJlYWRvbmx5IEFsbFBlcm1pc3Npb25NYW5hZ2VtZW50QWN0aW9uczogc3RyaW5nW10gPSBbXTtcblx0LyoqIEFsbCB0YWdnaW5nLWxldmVsIGFjdGlvbnMuICovXG5cdHN0YXRpYyByZWFkb25seSBBbGxUYWdnaW5nQWN0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0S2Fma2Fjb25uZWN0QWN0aW9ucy5UYWdSZXNvdXJjZSxcblx0XHRLYWZrYWNvbm5lY3RBY3Rpb25zLlVudGFnUmVzb3VyY2UsXG5cdF07XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25uZWN0b3IgQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthY29ubmVjdENvbm5lY3RvckFyblByb3BzIHtcblx0LyoqIFRoZSBDb25uZWN0b3JOYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JOYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXVpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGNvbm5lY3RvciBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2Fjb25uZWN0Q29ubmVjdG9yQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9yTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIFVVSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSB1dWlkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYnVpbGRpbmcgYSBjb25uZWN0b3Igb3BlcmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYWNvbm5lY3RDb25uZWN0b3JPcGVyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgQ29ubmVjdG9yTmFtZSBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9yTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3RvclVVSUQgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IGNvbm5lY3RvclV1aWQ6IHN0cmluZztcblx0LyoqIFRoZSBVVUlEIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSB1dWlkOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgcmVnaW9uPzogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuIERlZmF1bHRzIHRvIFwiKlwiLiAqL1xuXHRyZWFkb25seSBhY2NvdW50Pzogc3RyaW5nO1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gRGVmYXVsdHMgdG8gXCJhd3NcIi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcnNlZCBjb21wb25lbnRzIG9mIGEgY29ubmVjdG9yIG9wZXJhdGlvbiBBUk4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2Fma2Fjb25uZWN0Q29ubmVjdG9yT3BlcmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBDb25uZWN0b3JOYW1lIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgY29ubmVjdG9yTmFtZTogc3RyaW5nO1xuXHQvKiogVGhlIENvbm5lY3RvclVVSUQgY29tcG9uZW50LiAqL1xuXHRyZWFkb25seSBjb25uZWN0b3JVdWlkOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBidWlsZGluZyBhIGN1c3RvbSBwbHVnaW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthY29ubmVjdEN1c3RvbVBsdWdpbkFyblByb3BzIHtcblx0LyoqIFRoZSBDdXN0b21QbHVnaW5OYW1lIGNvbXBvbmVudCBvZiB0aGUgQVJOLiAqL1xuXHRyZWFkb25seSBjdXN0b21QbHVnaW5OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXVpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIGN1c3RvbSBwbHVnaW4gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthY29ubmVjdEN1c3RvbVBsdWdpbkFybkNvbXBvbmVudHMge1xuXHQvKiogQVdTIHBhcnRpdGlvbi4gKi9cblx0cmVhZG9ubHkgcGFydGl0aW9uOiBzdHJpbmc7XG5cdC8qKiBBV1MgcmVnaW9uLiAqL1xuXHRyZWFkb25seSByZWdpb246IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiAqL1xuXHRyZWFkb25seSBhY2NvdW50OiBzdHJpbmc7XG5cdC8qKiBUaGUgQ3VzdG9tUGx1Z2luTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IGN1c3RvbVBsdWdpbk5hbWU6IHN0cmluZztcblx0LyoqIFRoZSBVVUlEIGNvbXBvbmVudC4gKi9cblx0cmVhZG9ubHkgdXVpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGJ1aWxkaW5nIGEgd29ya2VyIGNvbmZpZ3VyYXRpb24gQVJOLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEthZmthY29ubmVjdFdvcmtlckNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyB7XG5cdC8qKiBUaGUgV29ya2VyQ29uZmlndXJhdGlvbk5hbWUgY29tcG9uZW50IG9mIHRoZSBBUk4uICovXG5cdHJlYWRvbmx5IHdvcmtlckNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQgb2YgdGhlIEFSTi4gKi9cblx0cmVhZG9ubHkgdXVpZDogc3RyaW5nO1xuXHQvKiogQVdTIHJlZ2lvbi4gRGVmYXVsdHMgdG8gXCIqXCIuICovXG5cdHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcblx0LyoqIEFXUyBhY2NvdW50IElELiBEZWZhdWx0cyB0byBcIipcIi4gKi9cblx0cmVhZG9ubHkgYWNjb3VudD86IHN0cmluZztcblx0LyoqIEFXUyBwYXJ0aXRpb24uIERlZmF1bHRzIHRvIFwiYXdzXCIuICovXG5cdHJlYWRvbmx5IHBhcnRpdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZWQgY29tcG9uZW50cyBvZiBhIHdvcmtlciBjb25maWd1cmF0aW9uIEFSTi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBLYWZrYWNvbm5lY3RXb3JrZXJDb25maWd1cmF0aW9uQXJuQ29tcG9uZW50cyB7XG5cdC8qKiBBV1MgcGFydGl0aW9uLiAqL1xuXHRyZWFkb25seSBwYXJ0aXRpb246IHN0cmluZztcblx0LyoqIEFXUyByZWdpb24uICovXG5cdHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXHQvKiogQVdTIGFjY291bnQgSUQuICovXG5cdHJlYWRvbmx5IGFjY291bnQ6IHN0cmluZztcblx0LyoqIFRoZSBXb3JrZXJDb25maWd1cmF0aW9uTmFtZSBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHdvcmtlckNvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmc7XG5cdC8qKiBUaGUgVVVJRCBjb21wb25lbnQuICovXG5cdHJlYWRvbmx5IHV1aWQ6IHN0cmluZztcbn1cblxuY29uc3QgQ29ubmVjdG9yQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmthZmthY29ubmVjdDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmNvbm5lY3RvclxcLyg/PGNvbm5lY3Rvck5hbWU+W146Lz9dKylcXC8oPzx1dWlkPlteOi8/XSspJC87XG5jb25zdCBDb25uZWN0b3JPcGVyYXRpb25Bcm5SZWdleCA9XG5cdC9eYXJuOig/PHBhcnRpdGlvbj5bXjpdKyk6a2Fma2Fjb25uZWN0Oig/PHJlZ2lvbj5bXjpdKik6KD88YWNjb3VudD5bXjpdKik6Y29ubmVjdG9yLW9wZXJhdGlvblxcLyg/PGNvbm5lY3Rvck5hbWU+W146Lz9dKylcXC8oPzxjb25uZWN0b3JVdWlkPlteOi8/XSspXFwvKD88dXVpZD5bXjovP10rKSQvO1xuY29uc3QgQ3VzdG9tUGx1Z2luQXJuUmVnZXggPVxuXHQvXmFybjooPzxwYXJ0aXRpb24+W146XSspOmthZmthY29ubmVjdDooPzxyZWdpb24+W146XSopOig/PGFjY291bnQ+W146XSopOmN1c3RvbS1wbHVnaW5cXC8oPzxjdXN0b21QbHVnaW5OYW1lPlteOi8/XSspXFwvKD88dXVpZD5bXjovP10rKSQvO1xuY29uc3QgV29ya2VyQ29uZmlndXJhdGlvbkFyblJlZ2V4ID1cblx0L15hcm46KD88cGFydGl0aW9uPlteOl0rKTprYWZrYWNvbm5lY3Q6KD88cmVnaW9uPlteOl0qKTooPzxhY2NvdW50PlteOl0qKTp3b3JrZXItY29uZmlndXJhdGlvblxcLyg/PHdvcmtlckNvbmZpZ3VyYXRpb25OYW1lPlteOi8/XSspXFwvKD88dXVpZD5bXjovP10rKSQvO1xuXG4vKipcbiAqIEFSTiBidWlsZGVycywgdmFsaWRhdG9ycywgYW5kIHBhcnNlcnMgZm9yIGthZmthY29ubmVjdCByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBLYWZrYWNvbm5lY3RSZXNvdXJjZXMge1xuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGNvbm5lY3RvciByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0b3IocHJvcHM6IEthZmthY29ubmVjdENvbm5lY3RvckFyblByb3BzKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTprYWZrYWNvbm5lY3Q6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06Y29ubmVjdG9yLyR7cHJvcHMuY29ubmVjdG9yTmFtZX0vJHtwcm9wcy51dWlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSBjb25uZWN0b3IgcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3RvckFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0b3JBcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29ubmVjdG9yIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZUNvbm5lY3RvckFybihhcm46IHN0cmluZyk6IEthZmthY29ubmVjdENvbm5lY3RvckFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdG9yQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbm5lY3RvciBBUk46ICR7YXJufWApO1xuXHRcdH1cblx0XHRyZXR1cm4ge1xuXHRcdFx0cGFydGl0aW9uOiBtYXRjaC5ncm91cHMucGFydGl0aW9uLFxuXHRcdFx0cmVnaW9uOiBtYXRjaC5ncm91cHMucmVnaW9uLFxuXHRcdFx0YWNjb3VudDogbWF0Y2guZ3JvdXBzLmFjY291bnQsXG5cdFx0XHRjb25uZWN0b3JOYW1lOiBtYXRjaC5ncm91cHMhLmNvbm5lY3Rvck5hbWUsXG5cdFx0XHR1dWlkOiBtYXRjaC5ncm91cHMhLnV1aWQsXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBCdWlsZHMgYW4gQVJOIGZvciB0aGUgY29ubmVjdG9yIG9wZXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBjb25uZWN0b3JPcGVyYXRpb24oXG5cdFx0cHJvcHM6IEthZmthY29ubmVjdENvbm5lY3Rvck9wZXJhdGlvbkFyblByb3BzLFxuXHQpOiBzdHJpbmcge1xuXHRcdHJldHVybiBgYXJuOiR7cHJvcHMucGFydGl0aW9uID8/IFwiYXdzXCJ9OmthZmthY29ubmVjdDoke3Byb3BzLnJlZ2lvbiA/PyBcIipcIn06JHtwcm9wcy5hY2NvdW50ID8/IFwiKlwifTpjb25uZWN0b3Itb3BlcmF0aW9uLyR7cHJvcHMuY29ubmVjdG9yTmFtZX0vJHtwcm9wcy5jb25uZWN0b3JVdWlkfS8ke3Byb3BzLnV1aWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGNvbm5lY3RvciBvcGVyYXRpb24gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZENvbm5lY3Rvck9wZXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDb25uZWN0b3JPcGVyYXRpb25Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY29ubmVjdG9yIG9wZXJhdGlvbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDb25uZWN0b3JPcGVyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEthZmthY29ubmVjdENvbm5lY3Rvck9wZXJhdGlvbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ29ubmVjdG9yT3BlcmF0aW9uQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbm5lY3RvciBvcGVyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y29ubmVjdG9yTmFtZTogbWF0Y2guZ3JvdXBzIS5jb25uZWN0b3JOYW1lLFxuXHRcdFx0Y29ubmVjdG9yVXVpZDogbWF0Y2guZ3JvdXBzIS5jb25uZWN0b3JVdWlkLFxuXHRcdFx0dXVpZDogbWF0Y2guZ3JvdXBzIS51dWlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIGN1c3RvbSBwbHVnaW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgY3VzdG9tUGx1Z2luKHByb3BzOiBLYWZrYWNvbm5lY3RDdXN0b21QbHVnaW5Bcm5Qcm9wcyk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIGBhcm46JHtwcm9wcy5wYXJ0aXRpb24gPz8gXCJhd3NcIn06a2Fma2Fjb25uZWN0OiR7cHJvcHMucmVnaW9uID8/IFwiKlwifToke3Byb3BzLmFjY291bnQgPz8gXCIqXCJ9OmN1c3RvbS1wbHVnaW4vJHtwcm9wcy5jdXN0b21QbHVnaW5OYW1lfS8ke3Byb3BzLnV1aWR9YDtcblx0fVxuXG5cdC8qKlxuXHQgKiBWYWxpZGF0ZXMgd2hldGhlciBhIHN0cmluZyBpcyBhIHZhbGlkIEFSTiBmb3IgdGhlIGN1c3RvbSBwbHVnaW4gcmVzb3VyY2UuXG5cdCAqL1xuXHRzdGF0aWMgaXNWYWxpZEN1c3RvbVBsdWdpbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBDdXN0b21QbHVnaW5Bcm5SZWdleC50ZXN0KGFybik7XG5cdH1cblxuXHQvKipcblx0ICogUGFyc2VzIGEgY3VzdG9tIHBsdWdpbiBBUk4gaW50byBpdHMgY29tcG9uZW50cy5cblx0ICogQHRocm93cyBFcnJvciBpZiB0aGUgQVJOIGRvZXMgbm90IG1hdGNoIHRoZSBleHBlY3RlZCBmb3JtYXQuXG5cdCAqL1xuXHRzdGF0aWMgcGFyc2VDdXN0b21QbHVnaW5Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEthZmthY29ubmVjdEN1c3RvbVBsdWdpbkFybkNvbXBvbmVudHMge1xuXHRcdGNvbnN0IG1hdGNoID0gQ3VzdG9tUGx1Z2luQXJuUmVnZXguZXhlYyhhcm4pO1xuXHRcdGlmICghbWF0Y2g/Lmdyb3Vwcykge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGN1c3RvbSBwbHVnaW4gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0Y3VzdG9tUGx1Z2luTmFtZTogbWF0Y2guZ3JvdXBzIS5jdXN0b21QbHVnaW5OYW1lLFxuXHRcdFx0dXVpZDogbWF0Y2guZ3JvdXBzIS51dWlkLFxuXHRcdH07XG5cdH1cblxuXHQvKipcblx0ICogQnVpbGRzIGFuIEFSTiBmb3IgdGhlIHdvcmtlciBjb25maWd1cmF0aW9uIHJlc291cmNlLlxuXHQgKi9cblx0c3RhdGljIHdvcmtlckNvbmZpZ3VyYXRpb24oXG5cdFx0cHJvcHM6IEthZmthY29ubmVjdFdvcmtlckNvbmZpZ3VyYXRpb25Bcm5Qcm9wcyxcblx0KTogc3RyaW5nIHtcblx0XHRyZXR1cm4gYGFybjoke3Byb3BzLnBhcnRpdGlvbiA/PyBcImF3c1wifTprYWZrYWNvbm5lY3Q6JHtwcm9wcy5yZWdpb24gPz8gXCIqXCJ9OiR7cHJvcHMuYWNjb3VudCA/PyBcIipcIn06d29ya2VyLWNvbmZpZ3VyYXRpb24vJHtwcm9wcy53b3JrZXJDb25maWd1cmF0aW9uTmFtZX0vJHtwcm9wcy51dWlkfWA7XG5cdH1cblxuXHQvKipcblx0ICogVmFsaWRhdGVzIHdoZXRoZXIgYSBzdHJpbmcgaXMgYSB2YWxpZCBBUk4gZm9yIHRoZSB3b3JrZXIgY29uZmlndXJhdGlvbiByZXNvdXJjZS5cblx0ICovXG5cdHN0YXRpYyBpc1ZhbGlkV29ya2VyQ29uZmlndXJhdGlvbkFybihhcm46IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBXb3JrZXJDb25maWd1cmF0aW9uQXJuUmVnZXgudGVzdChhcm4pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFBhcnNlcyBhIHdvcmtlciBjb25maWd1cmF0aW9uIEFSTiBpbnRvIGl0cyBjb21wb25lbnRzLlxuXHQgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBBUk4gZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdC5cblx0ICovXG5cdHN0YXRpYyBwYXJzZVdvcmtlckNvbmZpZ3VyYXRpb25Bcm4oXG5cdFx0YXJuOiBzdHJpbmcsXG5cdCk6IEthZmthY29ubmVjdFdvcmtlckNvbmZpZ3VyYXRpb25Bcm5Db21wb25lbnRzIHtcblx0XHRjb25zdCBtYXRjaCA9IFdvcmtlckNvbmZpZ3VyYXRpb25Bcm5SZWdleC5leGVjKGFybik7XG5cdFx0aWYgKCFtYXRjaD8uZ3JvdXBzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgd29ya2VyIGNvbmZpZ3VyYXRpb24gQVJOOiAke2Fybn1gKTtcblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHBhcnRpdGlvbjogbWF0Y2guZ3JvdXBzLnBhcnRpdGlvbixcblx0XHRcdHJlZ2lvbjogbWF0Y2guZ3JvdXBzLnJlZ2lvbixcblx0XHRcdGFjY291bnQ6IG1hdGNoLmdyb3Vwcy5hY2NvdW50LFxuXHRcdFx0d29ya2VyQ29uZmlndXJhdGlvbk5hbWU6IG1hdGNoLmdyb3VwcyEud29ya2VyQ29uZmlndXJhdGlvbk5hbWUsXG5cdFx0XHR1dWlkOiBtYXRjaC5ncm91cHMhLnV1aWQsXG5cdFx0fTtcblx0fVxufVxuXG4vKipcbiAqIEFQSSBvcGVyYXRpb24gdG8gcmVxdWlyZWQgSUFNIGFjdGlvbnMgbWFwcGluZyBmb3Iga2Fma2Fjb25uZWN0LlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2Fjb25uZWN0T3BlcmF0aW9ucyB7XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IENyZWF0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6Q3JlYXRlQ29ubmVjdG9yXCIsXG5cdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcImthZmthY29ubmVjdDpUYWdSZXNvdXJjZVwiLFxuXHRdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBDcmVhdGVDdXN0b21QbHVnaW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVDdXN0b21QbHVnaW46IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0OkNyZWF0ZUN1c3RvbVBsdWdpblwiLFxuXHRcdFwia2Fma2Fjb25uZWN0OlRhZ1Jlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIENyZWF0ZVdvcmtlckNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBDcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpDcmVhdGVXb3JrZXJDb25maWd1cmF0aW9uXCIsXG5cdFx0XCJrYWZrYWNvbm5lY3Q6VGFnUmVzb3VyY2VcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVsZXRlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVsZXRlQ29ubmVjdG9yOiBzdHJpbmdbXSA9IFtcImthZmthY29ubmVjdDpEZWxldGVDb25uZWN0b3JcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZUN1c3RvbVBsdWdpbiBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IERlbGV0ZUN1c3RvbVBsdWdpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVsZXRlQ3VzdG9tUGx1Z2luXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlbGV0ZVdvcmtlckNvbmZpZ3VyYXRpb24gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZWxldGVXb3JrZXJDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpEZWxldGVXb3JrZXJDb25maWd1cmF0aW9uXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29ubmVjdG9yIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0b3I6IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0OkRlc2NyaWJlQ29ubmVjdG9yXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIERlc2NyaWJlQ29ubmVjdG9yT3BlcmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVDb25uZWN0b3JPcGVyYXRpb246IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0OkRlc2NyaWJlQ29ubmVjdG9yXCIsXG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDb25uZWN0b3JPcGVyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVDdXN0b21QbHVnaW4gQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBEZXNjcmliZUN1c3RvbVBsdWdpbjogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6RGVzY3JpYmVDdXN0b21QbHVnaW5cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgRGVzY3JpYmVXb3JrZXJDb25maWd1cmF0aW9uIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgRGVzY3JpYmVXb3JrZXJDb25maWd1cmF0aW9uOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpEZXNjcmliZVdvcmtlckNvbmZpZ3VyYXRpb25cIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3Rvck9wZXJhdGlvbnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yT3BlcmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6TGlzdENvbm5lY3Rvck9wZXJhdGlvbnNcIixcblx0XTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgTGlzdENvbm5lY3RvcnMgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0Q29ubmVjdG9yczogc3RyaW5nW10gPSBbXCJrYWZrYWNvbm5lY3Q6TGlzdENvbm5lY3RvcnNcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RDdXN0b21QbHVnaW5zIEFQSSBjYWxsLiAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgTGlzdEN1c3RvbVBsdWdpbnM6IHN0cmluZ1tdID0gW1xuXHRcdFwia2Fma2Fjb25uZWN0Okxpc3RDdXN0b21QbHVnaW5zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RUYWdzRm9yUmVzb3VyY2UgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBMaXN0VGFnc0ZvclJlc291cmNlOiBzdHJpbmdbXSA9IFtcblx0XHRcImthZmthY29ubmVjdDpMaXN0VGFnc0ZvclJlc291cmNlXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIExpc3RXb3JrZXJDb25maWd1cmF0aW9ucyBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IExpc3RXb3JrZXJDb25maWd1cmF0aW9uczogc3RyaW5nW10gPSBbXG5cdFx0XCJrYWZrYWNvbm5lY3Q6TGlzdFdvcmtlckNvbmZpZ3VyYXRpb25zXCIsXG5cdF07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFJlc3RhcnRDb25uZWN0b3IgQVBJIGNhbGwuICovXG5cdHN0YXRpYyByZWFkb25seSBSZXN0YXJ0Q29ubmVjdG9yOiBzdHJpbmdbXSA9IFtdO1xuXHQvKiogSUFNIGFjdGlvbnMgcmVxdWlyZWQgZm9yIHRoZSBUYWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFRhZ1Jlc291cmNlOiBzdHJpbmdbXSA9IFtcImthZmthY29ubmVjdDpUYWdSZXNvdXJjZVwiXTtcblx0LyoqIElBTSBhY3Rpb25zIHJlcXVpcmVkIGZvciB0aGUgVW50YWdSZXNvdXJjZSBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVudGFnUmVzb3VyY2U6IHN0cmluZ1tdID0gW1wia2Fma2Fjb25uZWN0OlVudGFnUmVzb3VyY2VcIl07XG5cdC8qKiBJQU0gYWN0aW9ucyByZXF1aXJlZCBmb3IgdGhlIFVwZGF0ZUNvbm5lY3RvciBBUEkgY2FsbC4gKi9cblx0c3RhdGljIHJlYWRvbmx5IFVwZGF0ZUNvbm5lY3Rvcjogc3RyaW5nW10gPSBbXCJrYWZrYWNvbm5lY3Q6VXBkYXRlQ29ubmVjdG9yXCJdO1xufVxuXG4vKipcbiAqIENvbmRpdGlvbiBrZXkgY29uc3RhbnRzIGFuZCBidWlsZGVycyBmb3Iga2Fma2Fjb25uZWN0LlxuICovXG5leHBvcnQgY2xhc3MgS2Fma2Fjb25uZWN0Q29uZGl0aW9ucyB7XG5cdC8qKiBDb25kaXRpb24ga2V5cyBhcHBsaWNhYmxlIHRvIHRoZSBUYWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBUYWdSZXNvdXJjZUNvbmRpdGlvbktleXM6IHN0cmluZ1tdID0gW1xuXHRcdFwiYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9XCIsXG5cdFx0XCJhd3M6VGFnS2V5c1wiLFxuXHRdO1xuXHQvKiogQ29uZGl0aW9uIGtleXMgYXBwbGljYWJsZSB0byB0aGUgVW50YWdSZXNvdXJjZSBhY3Rpb24uICovXG5cdHN0YXRpYyByZWFkb25seSBVbnRhZ1Jlc291cmNlQ29uZGl0aW9uS2V5czogc3RyaW5nW10gPSBbXCJhd3M6VGFnS2V5c1wiXTtcblxuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlcXVlc3RUYWcvJHtUYWdLZXl9IChTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfUkVRVUVTVF9UQUcgPSBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fSAoU3RyaW5nKSAqL1xuXHRzdGF0aWMgcmVhZG9ubHkgQVdTX1JFU09VUkNFX1RBRyA9IFwiYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fVwiO1xuXHQvKiogQ29uZGl0aW9uIGtleTogYXdzOlRhZ0tleXMgKEFycmF5T2ZTdHJpbmcpICovXG5cdHN0YXRpYyByZWFkb25seSBBV1NfVEFHX0tFWVMgPSBcImF3czpUYWdLZXlzXCI7XG5cblx0LyoqXG5cdCAqIEdlbmVyYXRlcyBhIGNvbmRpdGlvbiBibG9jayBmb3IgYGF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVxdWVzdFRhZyh2YWx1ZTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nPj4ge1xuXHRcdHJldHVybiB7IFN0cmluZ0VxdWFsczogeyBcImF3czpSZXF1ZXN0VGFnLyR7VGFnS2V5fVwiOiB2YWx1ZSB9IH07XG5cdH1cblxuXHQvKipcblx0ICogR2VuZXJhdGVzIGEgY29uZGl0aW9uIGJsb2NrIGZvciBgYXdzOlJlc291cmNlVGFnLyR7VGFnS2V5fWAuXG5cdCAqL1xuXHRzdGF0aWMgcmVzb3VyY2VUYWcodmFsdWU6IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcblx0XHRyZXR1cm4geyBTdHJpbmdFcXVhbHM6IHsgXCJhd3M6UmVzb3VyY2VUYWcvJHtUYWdLZXl9XCI6IHZhbHVlIH0gfTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZW5lcmF0ZXMgYSBjb25kaXRpb24gYmxvY2sgZm9yIGBhd3M6VGFnS2V5c2AuXG5cdCAqL1xuXHRzdGF0aWMgdGFnS2V5cyh2YWx1ZXM6IHN0cmluZ1tdKTogUmVjb3JkPHN0cmluZywgUmVjb3JkPHN0cmluZywgc3RyaW5nW10+PiB7XG5cdFx0cmV0dXJuIHsgXCJGb3JBbGxWYWx1ZXM6U3RyaW5nRXF1YWxzXCI6IHsgXCJhd3M6VGFnS2V5c1wiOiB2YWx1ZXMgfSB9O1xuXHR9XG59XG4iXX0=
|